Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 83289908 authored by Lorenzo Colitti's avatar Lorenzo Colitti
Browse files

Change NetworkFactory to NetworkProvider in telephony.

This is needed to transition from NetworkFactory (which will
not be a public or system API) to NetworkProvider (which is
@SystemApi).

Bug: 138306002
Test: atest FrameworksTelephonyTests, no new failures
Change-Id: I7a662e2cc065e429d5435e81e255d8f1c6603754
Merged-In: I7a662e2cc065e429d5435e81e255d8f1c6603754
Exempt-From-Owner-Approval: already approved by OWNERS as ag/10054133
parent 973706d1
Loading
Loading
Loading
Loading
+4 −3
Original line number Diff line number Diff line
@@ -32,6 +32,7 @@ import android.net.NetworkCapabilities;
import android.net.NetworkFactory;
import android.net.NetworkInfo;
import android.net.NetworkMisc;
import android.net.NetworkProvider;
import android.net.NetworkRequest;
import android.net.ProxyInfo;
import android.net.RouteInfo;
@@ -2106,13 +2107,13 @@ public class DataConnection extends StateMachine {
                mScore = calculateScore();
                final NetworkFactory factory = PhoneFactory.getNetworkFactory(
                        mPhone.getPhoneId());
                final int factorySerialNumber = (null == factory)
                        ? NetworkFactory.SerialNumber.NONE : factory.getSerialNumber();
                final int providerId = (null == factory)
                        ? NetworkProvider.ID_NONE : factory.getProviderId();

                mDisabledApnTypeBitMask |= getDisallowedApnTypes();

                mNetworkAgent = new DcNetworkAgent(DataConnection.this,
                        mPhone, mNetworkInfo, mScore, misc, factorySerialNumber, mTransportType);
                        mPhone, mNetworkInfo, mScore, misc, providerId, mTransportType);
            }

            if (mTransportType == AccessNetworkConstants.TRANSPORT_TYPE_WWAN) {
+14 −12
Original line number Diff line number Diff line
@@ -47,6 +47,7 @@ import android.content.Context;
import android.content.Intent;
import android.net.ConnectivityManager;
import android.net.NetworkCapabilities;
import android.net.NetworkProvider;
import android.net.NetworkRequest;
import android.net.StringNetworkSpecifier;
import android.os.AsyncResult;
@@ -112,7 +113,7 @@ public class PhoneSwitcherTest extends TelephonyTest {
    private SubscriptionManager.OnSubscriptionsChangedListener mSubChangedListener;
    private ConnectivityManager mConnectivityManager;
    // The messenger of PhoneSwitcher used to receive network requests.
    private Messenger mNetworkFactoryMessenger = null;
    private Messenger mNetworkProviderMessenger = null;
    private int mDefaultDataSub = SubscriptionManager.INVALID_SUBSCRIPTION_ID;
    private int[][] mSlotIndexToSubId;
    private boolean[] mDataAllowed;
@@ -343,7 +344,7 @@ public class PhoneSwitcherTest extends TelephonyTest {
    }

    /**
     * Verify we don't send spurious DATA_ALLOWED calls when another NetworkFactory
     * Verify we don't send spurious DATA_ALLOWED calls when another NetworkProvider
     * wins (ie, switch to wifi).
     */
    @Test
@@ -1095,7 +1096,7 @@ public class PhoneSwitcherTest extends TelephonyTest {
    }

    /**
     * Capture mNetworkFactoryMessenger so that testing can request or release
     * Capture mNetworkProviderMessenger so that testing can request or release
     * network requests on PhoneSwitcher.
     */
    private void initializeConnManagerMock() {
@@ -1103,13 +1104,14 @@ public class PhoneSwitcherTest extends TelephonyTest {
                mContext.getSystemService(Context.CONNECTIVITY_SERVICE);

        doAnswer(invocation -> {
            mNetworkFactoryMessenger = invocation.getArgument(0);
            mNetworkProviderMessenger =
                    ((NetworkProvider) invocation.getArgument(0)).getMessenger();
            return null;
        }).when(mConnectivityManager).registerNetworkFactory(any(), any());
        }).when(mConnectivityManager).registerNetworkProvider(any());
    }

    /**
     * Capture mNetworkFactoryMessenger so that testing can request or release
     * Capture mNetworkProviderMessenger so that testing can request or release
     * network requests on PhoneSwitcher.
     */
    private void initializeSubControllerMock() {
@@ -1170,10 +1172,10 @@ public class PhoneSwitcherTest extends TelephonyTest {
                0, NetworkRequest.Type.REQUEST);

        Message message = Message.obtain();
        message.what = android.net.NetworkFactory.CMD_REQUEST_NETWORK;
        message.what = android.net.NetworkProvider.CMD_REQUEST_NETWORK;
        message.arg1 = score;
        message.obj = networkRequest;
        mNetworkFactoryMessenger.send(message);
        mNetworkProviderMessenger.send(message);
        processAllMessages();

        return networkRequest;
@@ -1195,10 +1197,10 @@ public class PhoneSwitcherTest extends TelephonyTest {
                1, NetworkRequest.Type.REQUEST);

        Message message = Message.obtain();
        message.what = android.net.NetworkFactory.CMD_REQUEST_NETWORK;
        message.what = android.net.NetworkProvider.CMD_REQUEST_NETWORK;
        message.arg1 = 50; // Score
        message.obj = networkRequest;
        mNetworkFactoryMessenger.send(message);
        mNetworkProviderMessenger.send(message);
        processAllMessages();

        return networkRequest;
@@ -1209,9 +1211,9 @@ public class PhoneSwitcherTest extends TelephonyTest {
     */
    private void releaseNetworkRequest(NetworkRequest networkRequest) throws Exception {
        Message message = Message.obtain();
        message.what = android.net.NetworkFactory.CMD_CANCEL_REQUEST;
        message.what = android.net.NetworkProvider.CMD_CANCEL_REQUEST;
        message.obj = networkRequest;
        mNetworkFactoryMessenger.send(message);
        mNetworkProviderMessenger.send(message);
        processAllMessages();
    }
}
+1 −1
Original line number Diff line number Diff line
@@ -174,7 +174,7 @@ public class TelephonyNetworkFactoryTest extends TelephonyTest {
        replaceInstance(PhoneSwitcher.class, "sPhoneSwitcher", null, mPhoneSwitcher);

        mTelephonyNetworkFactoryUT = new TelephonyNetworkFactory(Looper.myLooper(), mPhone);
        verify(mConnectivityManager).registerNetworkFactory(any(), anyString());
        verify(mConnectivityManager).registerNetworkProvider(any());
        verify(mPhoneSwitcher).registerForActivePhoneSwitch(any(), anyInt(), any());
    }