Loading src/com/android/settings/network/telephony/MobileNetworkUtils.java +23 −10 Original line number Diff line number Diff line Loading @@ -100,12 +100,12 @@ public class MobileNetworkUtils { * Returns true if Wifi calling is enabled for at least one subscription. */ public static boolean isWifiCallingEnabled(Context context) { final SubscriptionManager subManager = context.getSystemService(SubscriptionManager.class); if (subManager == null) { Log.e(TAG, "isWifiCallingEnabled: couldn't get system service."); final int[] subIds = getActiveSubscriptionIdList(context); if (ArrayUtils.isEmpty(subIds)) { Log.d(TAG, "isWifiCallingEnabled: subIds is empty"); return false; } for (int subId : subManager.getActiveSubscriptionIdList()) { for (int subId : subIds) { if (isWifiCallingEnabled(context, subId)) { return true; } Loading Loading @@ -466,9 +466,7 @@ public class MobileNetworkUtils { * otherwise return {@link SubscriptionManager#INVALID_SUBSCRIPTION_ID} */ public static int getSearchableSubscriptionId(Context context) { final SubscriptionManager subscriptionManager = context.getSystemService( SubscriptionManager.class); final int subIds[] = subscriptionManager.getActiveSubscriptionIdList(); final int[] subIds = getActiveSubscriptionIdList(context); return subIds.length >= 1 ? subIds[0] : SubscriptionManager.INVALID_SUBSCRIPTION_ID; } Loading @@ -485,14 +483,12 @@ public class MobileNetworkUtils { */ public static int getAvailability(Context context, int defSubId, TelephonyAvailabilityCallback callback) { final SubscriptionManager subscriptionManager = context.getSystemService( SubscriptionManager.class); if (defSubId != SubscriptionManager.INVALID_SUBSCRIPTION_ID) { // If subId has been set, return the corresponding status return callback.getAvailabilityStatus(defSubId); } else { // Otherwise, search whether there is one subId in device that support this preference final int[] subIds = subscriptionManager.getActiveSubscriptionIdList(); final int[] subIds = getActiveSubscriptionIdList(context); if (ArrayUtils.isEmpty(subIds)) { return callback.getAvailabilityStatus( SubscriptionManager.INVALID_SUBSCRIPTION_ID); Loading Loading @@ -640,4 +636,21 @@ public class MobileNetworkUtils { Arrays.asList(TextUtils.split(countriesListString.toLowerCase(), ",")); return unsupportedCountries.contains(country); } private static int[] getActiveSubscriptionIdList(Context context) { final SubscriptionManager subscriptionManager = context.getSystemService( SubscriptionManager.class); final List<SubscriptionInfo> subInfoList = subscriptionManager.getActiveSubscriptionInfoList(); if (subInfoList == null) { return new int[0]; } int[] activeSubIds = new int[subInfoList.size()]; int i = 0; for (SubscriptionInfo subInfo : subInfoList) { activeSubIds[i] = subInfo.getSubscriptionId(); i++; } return activeSubIds; } } src/com/android/settings/security/SimLockPreferenceController.java +2 −2 Original line number Diff line number Diff line Loading @@ -77,7 +77,7 @@ public class SimLockPreferenceController extends BasePreferenceController { */ private boolean isSimReady() { final List<SubscriptionInfo> subInfoList = mSubscriptionManager.getActiveSubscriptionInfoList(true); mSubscriptionManager.getActiveSubscriptionInfoList(); if (subInfoList != null) { for (SubscriptionInfo subInfo : subInfoList) { final int simState = mTelephonyManager.getSimState(subInfo.getSimSlotIndex()); Loading @@ -95,7 +95,7 @@ public class SimLockPreferenceController extends BasePreferenceController { */ private boolean isSimIccReady() { final List<SubscriptionInfo> subInfoList = mSubscriptionManager.getActiveSubscriptionInfoList(true); mSubscriptionManager.getActiveSubscriptionInfoList(); if (subInfoList != null) { for (SubscriptionInfo subInfo : subInfoList) { Loading tests/robotests/src/com/android/settings/network/telephony/MobileNetworkUtilsTest.java +3 −4 Original line number Diff line number Diff line Loading @@ -21,7 +21,6 @@ import static com.google.common.truth.Truth.assertThat; import static org.mockito.ArgumentMatchers.anyBoolean; import static org.mockito.ArgumentMatchers.anyInt; import static org.mockito.ArgumentMatchers.nullable; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.never; import static org.mockito.Mockito.spy; import static org.mockito.Mockito.verify; Loading Loading @@ -199,14 +198,14 @@ public class MobileNetworkUtilsTest { @Test public void getSearchableSubscriptionId_oneActive_returnValid() { when(mSubscriptionManager.getActiveSubscriptionIdList()).thenReturn(new int[]{SUB_ID_1}); when(mSubscriptionManager.getActiveSubscriptionInfoList()).thenReturn( Arrays.asList(mSubscriptionInfo1)); assertThat(MobileNetworkUtils.getSearchableSubscriptionId(mContext)).isEqualTo(SUB_ID_1); } @Test public void getSearchableSubscriptionId_nonActive_returnInvalid() { when(mSubscriptionManager.getActiveSubscriptionIdList()).thenReturn(new int[0]); when(mSubscriptionManager.getActiveSubscriptionInfoList()).thenReturn(new ArrayList<>()); assertThat(MobileNetworkUtils.getSearchableSubscriptionId(mContext)) .isEqualTo(SubscriptionManager.INVALID_SUBSCRIPTION_ID); Loading tests/robotests/src/com/android/settings/security/SimLockPreferenceControllerTest.java +2 −3 Original line number Diff line number Diff line Loading @@ -21,7 +21,6 @@ import static android.telephony.TelephonyManager.SIM_STATE_READY; import static com.google.common.truth.Truth.assertThat; import static org.mockito.ArgumentMatchers.anyInt; import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; Loading Loading @@ -143,7 +142,7 @@ public class SimLockPreferenceControllerTest { subscriptionInfoList.add(info); when(mTelephonyManager.createForSubscriptionId(anyInt())).thenReturn(mTelephonyManager); when(mTelephonyManager.hasIccCard()).thenReturn(true); when(mSubscriptionManager.getActiveSubscriptionInfoList(eq(true))) when(mSubscriptionManager.getActiveSubscriptionInfoList()) .thenReturn(subscriptionInfoList); } Loading @@ -152,7 +151,7 @@ public class SimLockPreferenceControllerTest { SubscriptionInfo info = mock(SubscriptionInfo.class); subscriptionInfoList.add(info); when(mTelephonyManager.getSimState(anyInt())).thenReturn(SIM_STATE_READY); when(mSubscriptionManager.getActiveSubscriptionInfoList(eq(true))) when(mSubscriptionManager.getActiveSubscriptionInfoList()) .thenReturn(subscriptionInfoList); } } Loading
src/com/android/settings/network/telephony/MobileNetworkUtils.java +23 −10 Original line number Diff line number Diff line Loading @@ -100,12 +100,12 @@ public class MobileNetworkUtils { * Returns true if Wifi calling is enabled for at least one subscription. */ public static boolean isWifiCallingEnabled(Context context) { final SubscriptionManager subManager = context.getSystemService(SubscriptionManager.class); if (subManager == null) { Log.e(TAG, "isWifiCallingEnabled: couldn't get system service."); final int[] subIds = getActiveSubscriptionIdList(context); if (ArrayUtils.isEmpty(subIds)) { Log.d(TAG, "isWifiCallingEnabled: subIds is empty"); return false; } for (int subId : subManager.getActiveSubscriptionIdList()) { for (int subId : subIds) { if (isWifiCallingEnabled(context, subId)) { return true; } Loading Loading @@ -466,9 +466,7 @@ public class MobileNetworkUtils { * otherwise return {@link SubscriptionManager#INVALID_SUBSCRIPTION_ID} */ public static int getSearchableSubscriptionId(Context context) { final SubscriptionManager subscriptionManager = context.getSystemService( SubscriptionManager.class); final int subIds[] = subscriptionManager.getActiveSubscriptionIdList(); final int[] subIds = getActiveSubscriptionIdList(context); return subIds.length >= 1 ? subIds[0] : SubscriptionManager.INVALID_SUBSCRIPTION_ID; } Loading @@ -485,14 +483,12 @@ public class MobileNetworkUtils { */ public static int getAvailability(Context context, int defSubId, TelephonyAvailabilityCallback callback) { final SubscriptionManager subscriptionManager = context.getSystemService( SubscriptionManager.class); if (defSubId != SubscriptionManager.INVALID_SUBSCRIPTION_ID) { // If subId has been set, return the corresponding status return callback.getAvailabilityStatus(defSubId); } else { // Otherwise, search whether there is one subId in device that support this preference final int[] subIds = subscriptionManager.getActiveSubscriptionIdList(); final int[] subIds = getActiveSubscriptionIdList(context); if (ArrayUtils.isEmpty(subIds)) { return callback.getAvailabilityStatus( SubscriptionManager.INVALID_SUBSCRIPTION_ID); Loading Loading @@ -640,4 +636,21 @@ public class MobileNetworkUtils { Arrays.asList(TextUtils.split(countriesListString.toLowerCase(), ",")); return unsupportedCountries.contains(country); } private static int[] getActiveSubscriptionIdList(Context context) { final SubscriptionManager subscriptionManager = context.getSystemService( SubscriptionManager.class); final List<SubscriptionInfo> subInfoList = subscriptionManager.getActiveSubscriptionInfoList(); if (subInfoList == null) { return new int[0]; } int[] activeSubIds = new int[subInfoList.size()]; int i = 0; for (SubscriptionInfo subInfo : subInfoList) { activeSubIds[i] = subInfo.getSubscriptionId(); i++; } return activeSubIds; } }
src/com/android/settings/security/SimLockPreferenceController.java +2 −2 Original line number Diff line number Diff line Loading @@ -77,7 +77,7 @@ public class SimLockPreferenceController extends BasePreferenceController { */ private boolean isSimReady() { final List<SubscriptionInfo> subInfoList = mSubscriptionManager.getActiveSubscriptionInfoList(true); mSubscriptionManager.getActiveSubscriptionInfoList(); if (subInfoList != null) { for (SubscriptionInfo subInfo : subInfoList) { final int simState = mTelephonyManager.getSimState(subInfo.getSimSlotIndex()); Loading @@ -95,7 +95,7 @@ public class SimLockPreferenceController extends BasePreferenceController { */ private boolean isSimIccReady() { final List<SubscriptionInfo> subInfoList = mSubscriptionManager.getActiveSubscriptionInfoList(true); mSubscriptionManager.getActiveSubscriptionInfoList(); if (subInfoList != null) { for (SubscriptionInfo subInfo : subInfoList) { Loading
tests/robotests/src/com/android/settings/network/telephony/MobileNetworkUtilsTest.java +3 −4 Original line number Diff line number Diff line Loading @@ -21,7 +21,6 @@ import static com.google.common.truth.Truth.assertThat; import static org.mockito.ArgumentMatchers.anyBoolean; import static org.mockito.ArgumentMatchers.anyInt; import static org.mockito.ArgumentMatchers.nullable; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.never; import static org.mockito.Mockito.spy; import static org.mockito.Mockito.verify; Loading Loading @@ -199,14 +198,14 @@ public class MobileNetworkUtilsTest { @Test public void getSearchableSubscriptionId_oneActive_returnValid() { when(mSubscriptionManager.getActiveSubscriptionIdList()).thenReturn(new int[]{SUB_ID_1}); when(mSubscriptionManager.getActiveSubscriptionInfoList()).thenReturn( Arrays.asList(mSubscriptionInfo1)); assertThat(MobileNetworkUtils.getSearchableSubscriptionId(mContext)).isEqualTo(SUB_ID_1); } @Test public void getSearchableSubscriptionId_nonActive_returnInvalid() { when(mSubscriptionManager.getActiveSubscriptionIdList()).thenReturn(new int[0]); when(mSubscriptionManager.getActiveSubscriptionInfoList()).thenReturn(new ArrayList<>()); assertThat(MobileNetworkUtils.getSearchableSubscriptionId(mContext)) .isEqualTo(SubscriptionManager.INVALID_SUBSCRIPTION_ID); Loading
tests/robotests/src/com/android/settings/security/SimLockPreferenceControllerTest.java +2 −3 Original line number Diff line number Diff line Loading @@ -21,7 +21,6 @@ import static android.telephony.TelephonyManager.SIM_STATE_READY; import static com.google.common.truth.Truth.assertThat; import static org.mockito.ArgumentMatchers.anyInt; import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; Loading Loading @@ -143,7 +142,7 @@ public class SimLockPreferenceControllerTest { subscriptionInfoList.add(info); when(mTelephonyManager.createForSubscriptionId(anyInt())).thenReturn(mTelephonyManager); when(mTelephonyManager.hasIccCard()).thenReturn(true); when(mSubscriptionManager.getActiveSubscriptionInfoList(eq(true))) when(mSubscriptionManager.getActiveSubscriptionInfoList()) .thenReturn(subscriptionInfoList); } Loading @@ -152,7 +151,7 @@ public class SimLockPreferenceControllerTest { SubscriptionInfo info = mock(SubscriptionInfo.class); subscriptionInfoList.add(info); when(mTelephonyManager.getSimState(anyInt())).thenReturn(SIM_STATE_READY); when(mSubscriptionManager.getActiveSubscriptionInfoList(eq(true))) when(mSubscriptionManager.getActiveSubscriptionInfoList()) .thenReturn(subscriptionInfoList); } }