Merge changes If41d957f,I5c49d195 into 24D1-dev
* changes:
Fix empty network scan result
Create NetworkScanRepository
diff --git a/src/com/android/settings/network/telephony/MobileNetworkUtils.java b/src/com/android/settings/network/telephony/MobileNetworkUtils.java
index 603d915..db95d70 100644
--- a/src/com/android/settings/network/telephony/MobileNetworkUtils.java
+++ b/src/com/android/settings/network/telephony/MobileNetworkUtils.java
@@ -708,12 +708,13 @@
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()];
diff --git a/tests/unit/src/com/android/settings/network/telephony/MobileNetworkUtilsTest.java b/tests/unit/src/com/android/settings/network/telephony/MobileNetworkUtilsTest.java
index 947ba75..570a320 100644
--- a/tests/unit/src/com/android/settings/network/telephony/MobileNetworkUtilsTest.java
+++ b/tests/unit/src/com/android/settings/network/telephony/MobileNetworkUtilsTest.java
@@ -240,6 +240,33 @@
}
@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,
true);