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

Commit caea62f8 authored by Ling Ma's avatar Ling Ma Committed by Android (Google) Code Review
Browse files

Merge "Record sub absent event" into main

parents f5a02123 21747a2c
Loading
Loading
Loading
Loading
+7 −6
Original line number Diff line number Diff line
@@ -444,14 +444,15 @@ public class MultiSimSettingController extends Handler {
            return;
        }

        CarrierConfigManager cm = mContext.getSystemService(CarrierConfigManager.class);
        if (cm != null) {
            if (CarrierConfigManager.isConfigForIdentifiedCarrier(cm.getConfigForSubId(subId))) {
        CarrierConfigManager cm;
        if (!SubscriptionManager.isValidSubscriptionId(subId) // record SIM absent.
                || ((cm = mContext.getSystemService(CarrierConfigManager.class)) != null
                && CarrierConfigManager.isConfigForIdentifiedCarrier(
                        cm.getConfigForSubId(subId)))) {
            mCarrierConfigLoadedSubIds[phoneId] = subId;
            reEvaluateAll();
        }
    }
    }

    /**
     * Check whether carrier config loaded for all subs
+22 −0
Original line number Diff line number Diff line
@@ -911,6 +911,28 @@ public class MultiSimSettingControllerTest extends TelephonyTest {
        // This time user data should be disabled on phone1.
        verify(mDataSettingsManagerMock2).setDataEnabled(
                TelephonyManager.DATA_ENABLED_REASON_USER, false, PHONE_PACKAGE);

        // Remove and insert back SIM before it's loaded.
        clearInvocations(mSubscriptionManagerService);
        markSubscriptionInactive(1/*subid*/);
        sendCarrierConfigChanged(0/*phoneid*/, SubscriptionManager.INVALID_SUBSCRIPTION_ID);

        verify(mSubscriptionManagerService).setDefaultDataSubId(
                SubscriptionManager.INVALID_SUBSCRIPTION_ID);

        // insert it back, but carrier config not loaded yet
        clearInvocations(mSubscriptionManagerService);
        setSimSlotIndex(1/*subid*/, 0/*phoneid*/);
        mMultiSimSettingControllerUT.notifySubscriptionInfoChanged();
        sendCarrierConfigChanged(0/*phoneid*/, SubscriptionManager.INVALID_SUBSCRIPTION_ID);

        verify(mSubscriptionManagerService, never()).setDefaultDataSubId(
                SubscriptionManager.INVALID_SUBSCRIPTION_ID);

        // carrier config loaded
        clearInvocations(mContext);
        sendCarrierConfigChanged(0/*phoneid*/, 1/*subid*/);
        verify(mContext).sendBroadcast(any());
    }

    @Test