Loading src/java/com/android/internal/telephony/subscription/SubscriptionInfoInternal.java +16 −1 Original line number Diff line number Diff line Loading @@ -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; } /** Loading tests/telephonytests/src/com/android/internal/telephony/subscription/SubscriptionInfoInternalTest.java +65 −0 Original line number Diff line number Diff line Loading @@ -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(); } } Loading
src/java/com/android/internal/telephony/subscription/SubscriptionInfoInternal.java +16 −1 Original line number Diff line number Diff line Loading @@ -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; } /** Loading
tests/telephonytests/src/com/android/internal/telephony/subscription/SubscriptionInfoInternalTest.java +65 −0 Original line number Diff line number Diff line Loading @@ -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(); } }