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

Commit 4f78774b authored by Nazanin Bakhshi's avatar Nazanin Bakhshi Committed by Automerger Merge Worker
Browse files

Merge "Wipe carrier certificates in SubscriptionInfoUpdater so that when...

Merge "Wipe carrier certificates in SubscriptionInfoUpdater so that when certificates are wiped, we also wipe them from accessRules" am: 2f8b5916

Original change: https://android-review.googlesource.com/c/platform/frameworks/opt/telephony/+/1469907

Change-Id: I4a39504b76cc6d03a4dfb476744a467127994076
parents 29601271 2f8b5916
Loading
Loading
Loading
Loading
+4 −3
Original line number Diff line number Diff line
@@ -1067,15 +1067,16 @@ public class SubscriptionInfoUpdater extends Handler {
        // this current package is not a CarrierServicePackage
        String[] certs = config.getStringArray(
            CarrierConfigManager.KEY_CARRIER_CERTIFICATE_STRING_ARRAY);
        UiccAccessRule[] carrierConfigAccessRules = null;
        if (certs != null) {
            UiccAccessRule[] carrierConfigAccessRules = new UiccAccessRule[certs.length];
            carrierConfigAccessRules = new UiccAccessRule[certs.length];
            for (int i = 0; i < certs.length; i++) {
                carrierConfigAccessRules[i] = new UiccAccessRule(IccUtils.hexStringToBytes(
                    certs[i]), null, 0);
            }
        }
        cv.put(SubscriptionManager.ACCESS_RULES_FROM_CARRIER_CONFIGS,
                UiccAccessRule.encodeRules(carrierConfigAccessRules));
        }

        if (!isCarrierServicePackage(phoneId, configPackageName)) {
            loge("Cannot manage subId=" + currentSubId + ", carrierPackage=" + configPackageName);
+10 −6
Original line number Diff line number Diff line
@@ -753,9 +753,10 @@ public class SubscriptionInfoUpdaterTest extends TelephonyTest {
        mUpdater.updateSubscriptionByCarrierConfig(mPhone.getPhoneId(),
                carrierPackageName, new PersistableBundle());

        verify(mContentProvider, never()).update(any(), any(), any(), any());
        verify(mSubscriptionController, never()).refreshCachedActiveSubscriptionInfoList();
        verify(mSubscriptionController, never()).notifySubscriptionInfoChanged();
        //at each call to updateSubscriptionByCarrierConfig, only carrier certs are updated
        verify(mContentProvider, times(1)).update(any(), any(), any(), any());
        verify(mSubscriptionController, times(1)).notifySubscriptionInfoChanged();
        verify(mSubscriptionController, times(1)).refreshCachedActiveSubscriptionInfoList();
    }

    @Test
@@ -784,7 +785,8 @@ public class SubscriptionInfoUpdaterTest extends TelephonyTest {
                cvCaptor.capture(), eq(null), eq(null));
        assertEquals(1, cvCaptor.getValue().getAsInteger(
                SubscriptionManager.IS_OPPORTUNISTIC).intValue());
        assertEquals(1, cvCaptor.getValue().size());
        // 2 updates: isOpportunistic, and carrier certs:
        assertEquals(2, cvCaptor.getValue().size());
        verify(mSubscriptionController, times(1)).refreshCachedActiveSubscriptionInfoList();
        verify(mSubscriptionController, times(1)).notifySubscriptionInfoChanged();
    }
@@ -820,7 +822,8 @@ public class SubscriptionInfoUpdaterTest extends TelephonyTest {
                cvCaptor.getValue().getAsString(SubscriptionManager.GROUP_UUID));
        assertEquals(carrierPackageName,
                cvCaptor.getValue().getAsString(SubscriptionManager.GROUP_OWNER));
        assertEquals(3, cvCaptor.getValue().size());
        // 4 updates: isOpportunistic, groupUuid, groupOwner, and carrier certs:
        assertEquals(4, cvCaptor.getValue().size());
    }

    @Test
@@ -853,7 +856,8 @@ public class SubscriptionInfoUpdaterTest extends TelephonyTest {
        assertEquals(1, cvCaptor.getValue().getAsInteger(
                SubscriptionManager.IS_OPPORTUNISTIC).intValue());
        assertNull(cvCaptor.getValue().getAsString(SubscriptionManager.GROUP_UUID));
        assertEquals(2, cvCaptor.getValue().size());
        // 3 updates: isOpportunistic, groupUuid, and carrier certs:
        assertEquals(3, cvCaptor.getValue().size());
    }

    @Test