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

Commit d9c9213d authored by Jayachandran C's avatar Jayachandran C
Browse files

Make provisioning profile and NTN profile invisbile

Bug: 330946361
Test: Manually verified bootstrap profile and NTN profiles are
      not showing in quick settings. Other use cases of bootstrap
      is working fine.

Change-Id: I71c6c53dfd1131b3a7b13ceb61889b42d8e425f6
parent f18e5a00
Loading
Loading
Loading
Loading
+16 −1
Original line number Diff line number Diff line
@@ -1217,7 +1217,22 @@ public class SubscriptionInfoInternal {
     * @return {@code true} if the subscription is visible to the user.
     */
    public boolean isVisible() {
        return !isOpportunistic() || TextUtils.isEmpty(mGroupUuid);
        // Provisioning profile
        if (getProfileClass() == SubscriptionManager.PROFILE_CLASS_PROVISIONING) {
            return false;
        }

        // Satellite profile
        if (getOnlyNonTerrestrialNetwork() == 1) {
            return false;
        }

        // Opportunistic profile
        if (isOpportunistic() && !TextUtils.isEmpty(mGroupUuid)) {
            return false;
        }

        return true;
    }

    /**
+65 −0
Original line number Diff line number Diff line
@@ -341,4 +341,69 @@ public class SubscriptionInfoInternalTest {
        assertThat(subInfoNull.getCountryIso()).isEqualTo("");
        assertThat(subInfoNull.getGroupOwner()).isEqualTo("");
    }

    @Test
    public void testIsVisible() {
        // Regular profile
        SubscriptionInfoInternal regularSub =
                new SubscriptionInfoInternal.Builder()
                    .setId(2)
                    .setIccId(SubscriptionDatabaseManagerTest.FAKE_ICCID1)
                    .setSimSlotIndex(0)
                    .setProfileClass(SubscriptionManager.PROFILE_CLASS_OPERATIONAL)
                    .setOnlyNonTerrestrialNetwork(0)
                    .setOpportunistic(0)
                    .setGroupUuid(SubscriptionDatabaseManagerTest.FAKE_UUID1)
                    .build();
        assertThat(regularSub.isVisible()).isTrue();

        // Provisioning profile
        SubscriptionInfoInternal provSub =
                new SubscriptionInfoInternal.Builder()
                    .setId(2)
                    .setIccId(SubscriptionDatabaseManagerTest.FAKE_ICCID1)
                    .setSimSlotIndex(0)
                    .setProfileClass(SubscriptionManager.PROFILE_CLASS_PROVISIONING)
                    .setOnlyNonTerrestrialNetwork(0)
                    .setOpportunistic(0)
                    .build();
        assertThat(provSub.isVisible()).isFalse();

        // NTN profile
        SubscriptionInfoInternal ntnSub =
                new SubscriptionInfoInternal.Builder()
                    .setId(2)
                    .setIccId(SubscriptionDatabaseManagerTest.FAKE_ICCID1)
                    .setSimSlotIndex(0)
                    .setOnlyNonTerrestrialNetwork(1)
                    .setProfileClass(SubscriptionManager.PROFILE_CLASS_OPERATIONAL)
                    .setOpportunistic(0)
                    .build();
        assertThat(ntnSub.isVisible()).isFalse();

        // Opportunistic profile without group UUID
        SubscriptionInfoInternal opportunisticSub =
                new SubscriptionInfoInternal.Builder()
                    .setId(2)
                    .setIccId(SubscriptionDatabaseManagerTest.FAKE_ICCID1)
                    .setSimSlotIndex(0)
                    .setOnlyNonTerrestrialNetwork(0)
                    .setProfileClass(SubscriptionManager.PROFILE_CLASS_OPERATIONAL)
                    .setOpportunistic(1)
                    .build();
        assertThat(opportunisticSub.isVisible()).isTrue();

        // Opportunistic profile with group UUID
        SubscriptionInfoInternal opportunisticSubUuid =
                new SubscriptionInfoInternal.Builder()
                    .setId(2)
                    .setIccId(SubscriptionDatabaseManagerTest.FAKE_ICCID1)
                    .setSimSlotIndex(0)
                    .setOnlyNonTerrestrialNetwork(0)
                    .setProfileClass(SubscriptionManager.PROFILE_CLASS_OPERATIONAL)
                    .setOpportunistic(1)
                    .setGroupUuid(SubscriptionDatabaseManagerTest.FAKE_UUID1)
                    .build();
        assertThat(opportunisticSubUuid.isVisible()).isFalse();
    }
}