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

Commit 2049f2aa 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 am: 4f78774b

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

Change-Id: I163b4b848c3b2762a940dea6065ce64c064a3beb
parents c7148e27 4f78774b
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