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

Commit 984430a0 authored by Arun Voddu's avatar Arun Voddu Committed by Android (Google) Code Review
Browse files

Merge "Make provisioning profile and NTN profile invisbile" into 24D1-dev

parents 55f9314b d9c9213d
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();
    }
}