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

Commit 2c45cdc9 authored by Ling Ma's avatar Ling Ma
Browse files

Fix disableGroup

Root cause being SubscriptionInfo.getGroupUuid is type of UUID while SubscriptionInfoInternal.getGroupUuid is type of String, which are unequal hence causing the issue.

Fix: 319163260
Test: manual reproduce and verify and Unit test
Change-Id: I5f4090bf033b923a553701f04ae004abec5ad8d1
parent a214f372
Loading
Loading
Loading
Loading
+2 −1
Original line number Original line Diff line number Diff line
@@ -4276,9 +4276,10 @@ public class SubscriptionManagerService extends ISub.Stub {
     */
     */
    @VisibleForTesting
    @VisibleForTesting
    public void updateGroupDisabled() {
    public void updateGroupDisabled() {
        List<SubscriptionInfoInternal> activeSubscriptions = mSubscriptionDatabaseManager
        List<SubscriptionInfo> activeSubscriptions = mSubscriptionDatabaseManager
                .getAllSubscriptions().stream()
                .getAllSubscriptions().stream()
                .filter(SubscriptionInfoInternal::isActive)
                .filter(SubscriptionInfoInternal::isActive)
                .map(SubscriptionInfoInternal::toSubscriptionInfo)
                .collect(Collectors.toList());
                .collect(Collectors.toList());
        for (SubscriptionInfo oppSubInfo : getOpportunisticSubscriptions(
        for (SubscriptionInfo oppSubInfo : getOpportunisticSubscriptions(
                mContext.getOpPackageName(), mContext.getFeatureId())) {
                mContext.getOpPackageName(), mContext.getFeatureId())) {
+13 −1
Original line number Original line Diff line number Diff line
@@ -2957,7 +2957,6 @@ public class SubscriptionManagerServiceTest extends TelephonyTest {
        assertThat(subInfo.getNativeAccessRules()).isEqualTo(new byte[]{});
        assertThat(subInfo.getNativeAccessRules()).isEqualTo(new byte[]{});
    }
    }



    @Test
    @Test
    public void testGetActiveSubscriptionInfoListNoSecurityException() {
    public void testGetActiveSubscriptionInfoListNoSecurityException() {
        // Grant MODIFY_PHONE_STATE permission for insertion.
        // Grant MODIFY_PHONE_STATE permission for insertion.
@@ -2983,4 +2982,17 @@ public class SubscriptionManagerServiceTest extends TelephonyTest {
        assertThat(mSubscriptionManagerServiceUT.getActiveSubscriptionInfoList(
        assertThat(mSubscriptionManagerServiceUT.getActiveSubscriptionInfoList(
                CALLING_PACKAGE, CALLING_FEATURE, true)).isEmpty();
                CALLING_PACKAGE, CALLING_FEATURE, true)).isEmpty();
    }
    }

    @Test
    public void testUpdateGroupDisabled() {
        insertSubscription(FAKE_SUBSCRIPTION_INFO1);
        insertSubscription(new SubscriptionInfoInternal
                .Builder(FAKE_SUBSCRIPTION_INFO2).setGroupUuid(FAKE_UUID1).build());

        mSubscriptionManagerServiceUT.updateGroupDisabled();

        SubscriptionInfoInternal subInfo = mSubscriptionManagerServiceUT
                .getSubscriptionInfoInternal(2);
        assertThat(subInfo.isGroupDisabled()).isFalse();
    }
}
}