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

Commit 38a0284a authored by Android Build Coastguard Worker's avatar Android Build Coastguard Worker
Browse files

Snap for 9504598 from 8caa16cb to tm-qpr3-release

Change-Id: I5c74435c4fbb4d3608ede74fd1b9d10bf7837f71
parents 1292d43e 8caa16cb
Loading
Loading
Loading
Loading
+1 −25
Original line number Diff line number Diff line
@@ -31,7 +31,6 @@ import android.os.Binder;
import android.os.Build;
import android.os.RemoteException;
import android.os.TelephonyServiceManager.ServiceRegisterer;
import android.os.UserHandle;
import android.telephony.ImsiEncryptionInfo;
import android.telephony.PhoneNumberUtils;
import android.telephony.SubscriptionManager;
@@ -147,8 +146,7 @@ public class PhoneSubInfoController extends IPhoneSubInfo.Stub {
    public String getSubscriberIdForSubscriber(int subId, String callingPackage,
            String callingFeatureId) {
        String message = "getSubscriberIdForSubscriber";

        enforceCallingPackage(callingPackage, Binder.getCallingUid(), message);
        mAppOps.checkPackage(Binder.getCallingUid(), callingPackage);

        long identity = Binder.clearCallingIdentity();
        boolean isActive;
@@ -316,28 +314,6 @@ public class PhoneSubInfoController extends IPhoneSubInfo.Stub {
                "Requires MODIFY_PHONE_STATE");
    }

    /**
     * Make sure the caller is the calling package itself
     *
     * @throws SecurityException if the caller is not the calling package
     */
    private void enforceCallingPackage(String callingPackage, int callingUid, String message) {
        int packageUid = -1;
        PackageManager pm = mContext.createContextAsUser(
                UserHandle.getUserHandleForUid(callingUid), 0).getPackageManager();
        if (pm != null) {
            try {
                packageUid = pm.getPackageUid(callingPackage, 0);
            } catch (PackageManager.NameNotFoundException e) {
                // packageUid is -1
            }
        }
        if (packageUid != callingUid) {
            throw new SecurityException(message + ": Package " + callingPackage
                    + " does not belong to " + callingUid);
        }
    }

    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.R, trackingBug = 170729553)
    private int getDefaultSubscription() {
        return  PhoneFactory.getDefaultSubscription();
+13 −5
Original line number Diff line number Diff line
@@ -545,6 +545,10 @@ public class DataNetwork extends StateMachine {
    /** Data network controller. */
    private final @NonNull DataNetworkController mDataNetworkController;

    /** Data network controller callback. */
    private final @NonNull DataNetworkController.DataNetworkControllerCallback
            mDataNetworkControllerCallback;

    /** Data config manager. */
    private final @NonNull DataConfigManager mDataConfigManager;

@@ -870,12 +874,14 @@ public class DataNetwork extends StateMachine {
        mAccessNetworksManager = phone.getAccessNetworksManager();
        mVcnManager = mPhone.getContext().getSystemService(VcnManager.class);
        mDataNetworkController = phone.getDataNetworkController();
        mDataNetworkController.registerDataNetworkControllerCallback(
                new DataNetworkController.DataNetworkControllerCallback(getHandler()::post) {
        mDataNetworkControllerCallback = new DataNetworkController.DataNetworkControllerCallback(
                getHandler()::post) {
            @Override
            public void onSubscriptionPlanOverride() {
                sendMessage(EVENT_SUBSCRIPTION_PLAN_OVERRIDE);
                    }});
            }};
        mDataNetworkController.registerDataNetworkControllerCallback(
                mDataNetworkControllerCallback);
        mDataConfigManager = mDataNetworkController.getDataConfigManager();
        mDataCallSessionStats = new DataCallSessionStats(mPhone);
        mDataNetworkCallback = callback;
@@ -1562,6 +1568,8 @@ public class DataNetwork extends StateMachine {
            }
            notifyPreciseDataConnectionState();
            mNetworkAgent.unregister();
            mDataNetworkController.unregisterDataNetworkControllerCallback(
                    mDataNetworkControllerCallback);
            mDataCallSessionStats.onDataCallDisconnected(mFailCause);

            if (mTransport == AccessNetworkConstants.TRANSPORT_TYPE_WLAN
+19 −3
Original line number Diff line number Diff line
@@ -1185,16 +1185,32 @@ public class DataNetworkControllerTest extends TelephonyTest {

    @Test
    public void testDataNetworkControllerCallback() throws Exception {
        Field field = DataNetworkController.class.getDeclaredField(
                "mDataNetworkControllerCallbacks");
        field.setAccessible(true);
        Set<DataNetworkControllerCallback> dataNetworkControllerCallbacks =
                (Set<DataNetworkControllerCallback>) field.get(mDataNetworkControllerUT);

        // Verify register callback
        mDataNetworkControllerUT.registerDataNetworkControllerCallback(
                mMockedDataNetworkControllerCallback);
        TelephonyNetworkRequest request = createNetworkRequest(
                NetworkCapabilities.NET_CAPABILITY_INTERNET);
        mDataNetworkControllerUT.addNetworkRequest(request);
        processAllMessages();
        testSetupDataNetwork();
        verify(mMockedDataNetworkControllerCallback).onAnyDataNetworkExistingChanged(eq(true));
        verify(mMockedDataNetworkControllerCallback).onInternetDataNetworkConnected(any());

        mDataNetworkControllerUT.unregisterDataNetworkControllerCallback(
                mMockedDataNetworkControllerCallback);
        int countOfCallbacks = dataNetworkControllerCallbacks.size();

        // Verify unregister callback
        mDataNetworkControllerUT.removeNetworkRequest(request);
        processAllMessages();
        getDataNetworks().get(0).tearDown(DataNetwork
                .TEAR_DOWN_REASON_CONNECTIVITY_SERVICE_UNWANTED);
        processAllFutureMessages();

        assertEquals(countOfCallbacks - 1, dataNetworkControllerCallbacks.size());
    }

    @Test