Loading src/com/android/settings/network/telephony/MobileNetworkUtils.java +4 −3 Original line number Diff line number Diff line Loading @@ -708,12 +708,13 @@ public class MobileNetworkUtils { return tm.getNetworkOperatorName(); } private static int[] getActiveSubscriptionIdList(Context context) { @VisibleForTesting static int[] getActiveSubscriptionIdList(Context context) { final SubscriptionManager subscriptionManager = context.getSystemService( SubscriptionManager.class).createForAllUserProfiles(); final List<SubscriptionInfo> subInfoList = subscriptionManager.getActiveSubscriptionInfoList(); if (subInfoList == null) { SubscriptionUtil.getActiveSubscriptions(subscriptionManager); if (subInfoList == null || subInfoList.isEmpty()) { return new int[0]; } int[] activeSubIds = new int[subInfoList.size()]; Loading tests/unit/src/com/android/settings/network/telephony/MobileNetworkUtilsTest.java +27 −0 Original line number Diff line number Diff line Loading @@ -239,6 +239,33 @@ public class MobileNetworkUtilsTest { .isEqualTo(SubscriptionManager.INVALID_SUBSCRIPTION_ID); } @Test public void getActiveSubscriptionIdList_nonActive_returnEmptyArray() { int[] expectedList = new int[0]; when(mSubscriptionManager.getActiveSubscriptionInfoList()).thenReturn(new ArrayList<>()); assertThat(MobileNetworkUtils.getActiveSubscriptionIdList(mContext)) .isEqualTo(expectedList); } @Test public void getActiveSubscriptionIdList_normalCaseTwoActiveSims_returnValidSubId() { int[] expectedList = {SUB_ID_1, SUB_ID_2}; assertThat(MobileNetworkUtils.getActiveSubscriptionIdList(mContext)) .isEqualTo(expectedList); } @Test public void getActiveSubscriptionIdList_TwoActiveSimsAndOneIsNtn_returnOneSubId() { int[] expectedList = {SUB_ID_2}; when(mSubscriptionInfo1.isEmbedded()).thenReturn(true); when(mSubscriptionInfo1.isOnlyNonTerrestrialNetwork()).thenReturn(true); assertThat(MobileNetworkUtils.getActiveSubscriptionIdList(mContext)) .isEqualTo(expectedList); } @Test public void shouldDisplayNetworkSelectOptions_HideCarrierNetwork_returnFalse() { mCarrierConfig.putBoolean(CarrierConfigManager.KEY_HIDE_CARRIER_NETWORK_SETTINGS_BOOL, Loading Loading
src/com/android/settings/network/telephony/MobileNetworkUtils.java +4 −3 Original line number Diff line number Diff line Loading @@ -708,12 +708,13 @@ public class MobileNetworkUtils { return tm.getNetworkOperatorName(); } private static int[] getActiveSubscriptionIdList(Context context) { @VisibleForTesting static int[] getActiveSubscriptionIdList(Context context) { final SubscriptionManager subscriptionManager = context.getSystemService( SubscriptionManager.class).createForAllUserProfiles(); final List<SubscriptionInfo> subInfoList = subscriptionManager.getActiveSubscriptionInfoList(); if (subInfoList == null) { SubscriptionUtil.getActiveSubscriptions(subscriptionManager); if (subInfoList == null || subInfoList.isEmpty()) { return new int[0]; } int[] activeSubIds = new int[subInfoList.size()]; Loading
tests/unit/src/com/android/settings/network/telephony/MobileNetworkUtilsTest.java +27 −0 Original line number Diff line number Diff line Loading @@ -239,6 +239,33 @@ public class MobileNetworkUtilsTest { .isEqualTo(SubscriptionManager.INVALID_SUBSCRIPTION_ID); } @Test public void getActiveSubscriptionIdList_nonActive_returnEmptyArray() { int[] expectedList = new int[0]; when(mSubscriptionManager.getActiveSubscriptionInfoList()).thenReturn(new ArrayList<>()); assertThat(MobileNetworkUtils.getActiveSubscriptionIdList(mContext)) .isEqualTo(expectedList); } @Test public void getActiveSubscriptionIdList_normalCaseTwoActiveSims_returnValidSubId() { int[] expectedList = {SUB_ID_1, SUB_ID_2}; assertThat(MobileNetworkUtils.getActiveSubscriptionIdList(mContext)) .isEqualTo(expectedList); } @Test public void getActiveSubscriptionIdList_TwoActiveSimsAndOneIsNtn_returnOneSubId() { int[] expectedList = {SUB_ID_2}; when(mSubscriptionInfo1.isEmbedded()).thenReturn(true); when(mSubscriptionInfo1.isOnlyNonTerrestrialNetwork()).thenReturn(true); assertThat(MobileNetworkUtils.getActiveSubscriptionIdList(mContext)) .isEqualTo(expectedList); } @Test public void shouldDisplayNetworkSelectOptions_HideCarrierNetwork_returnFalse() { mCarrierConfig.putBoolean(CarrierConfigManager.KEY_HIDE_CARRIER_NETWORK_SETTINGS_BOOL, Loading