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

Commit 2f8b5916 authored by Nazanin Bakhshi's avatar Nazanin Bakhshi Committed by Gerrit Code Review
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"
parents 694ea86d 0bfc6cec
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