[Mainline] Use public method in SubscriptionManager for mainline
- getActiveSubscriptionIdList To use getActiveSubscriptionInfoList to get subscription Id list - getActiveSubscriptionInfoList(Z) To use getActiveSubscriptionInfoList() instead Bug: 144478274 Test: make RunSettingsRoboTests ROBOTEST_FILTER=SimLockPreferenceControllerTest make RunSettingsRoboTests ROBOTEST_FILTER=MobileNetworkUtilsTest Change-Id: I4d6113561906af5c9e4ac7737aefac17c926059a Merged-In: I4d6113561906af5c9e4ac7737aefac17c926059a
This commit is contained in:
@@ -100,12 +100,12 @@ public class MobileNetworkUtils {
|
|||||||
* Returns true if Wifi calling is enabled for at least one subscription.
|
* Returns true if Wifi calling is enabled for at least one subscription.
|
||||||
*/
|
*/
|
||||||
public static boolean isWifiCallingEnabled(Context context) {
|
public static boolean isWifiCallingEnabled(Context context) {
|
||||||
final SubscriptionManager subManager = context.getSystemService(SubscriptionManager.class);
|
final int[] subIds = getActiveSubscriptionIdList(context);
|
||||||
if (subManager == null) {
|
if (ArrayUtils.isEmpty(subIds)) {
|
||||||
Log.e(TAG, "isWifiCallingEnabled: couldn't get system service.");
|
Log.d(TAG, "isWifiCallingEnabled: subIds is empty");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
for (int subId : subManager.getActiveSubscriptionIdList()) {
|
for (int subId : subIds) {
|
||||||
if (isWifiCallingEnabled(context, subId)) {
|
if (isWifiCallingEnabled(context, subId)) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@@ -466,9 +466,7 @@ public class MobileNetworkUtils {
|
|||||||
* otherwise return {@link SubscriptionManager#INVALID_SUBSCRIPTION_ID}
|
* otherwise return {@link SubscriptionManager#INVALID_SUBSCRIPTION_ID}
|
||||||
*/
|
*/
|
||||||
public static int getSearchableSubscriptionId(Context context) {
|
public static int getSearchableSubscriptionId(Context context) {
|
||||||
final SubscriptionManager subscriptionManager = context.getSystemService(
|
final int[] subIds = getActiveSubscriptionIdList(context);
|
||||||
SubscriptionManager.class);
|
|
||||||
final int subIds[] = subscriptionManager.getActiveSubscriptionIdList();
|
|
||||||
|
|
||||||
return subIds.length >= 1 ? subIds[0] : SubscriptionManager.INVALID_SUBSCRIPTION_ID;
|
return subIds.length >= 1 ? subIds[0] : SubscriptionManager.INVALID_SUBSCRIPTION_ID;
|
||||||
}
|
}
|
||||||
@@ -485,14 +483,12 @@ public class MobileNetworkUtils {
|
|||||||
*/
|
*/
|
||||||
public static int getAvailability(Context context, int defSubId,
|
public static int getAvailability(Context context, int defSubId,
|
||||||
TelephonyAvailabilityCallback callback) {
|
TelephonyAvailabilityCallback callback) {
|
||||||
final SubscriptionManager subscriptionManager = context.getSystemService(
|
|
||||||
SubscriptionManager.class);
|
|
||||||
if (defSubId != SubscriptionManager.INVALID_SUBSCRIPTION_ID) {
|
if (defSubId != SubscriptionManager.INVALID_SUBSCRIPTION_ID) {
|
||||||
// If subId has been set, return the corresponding status
|
// If subId has been set, return the corresponding status
|
||||||
return callback.getAvailabilityStatus(defSubId);
|
return callback.getAvailabilityStatus(defSubId);
|
||||||
} else {
|
} else {
|
||||||
// Otherwise, search whether there is one subId in device that support this preference
|
// 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)) {
|
if (ArrayUtils.isEmpty(subIds)) {
|
||||||
return callback.getAvailabilityStatus(
|
return callback.getAvailabilityStatus(
|
||||||
SubscriptionManager.INVALID_SUBSCRIPTION_ID);
|
SubscriptionManager.INVALID_SUBSCRIPTION_ID);
|
||||||
@@ -640,4 +636,21 @@ public class MobileNetworkUtils {
|
|||||||
Arrays.asList(TextUtils.split(countriesListString.toLowerCase(), ","));
|
Arrays.asList(TextUtils.split(countriesListString.toLowerCase(), ","));
|
||||||
return unsupportedCountries.contains(country);
|
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;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@@ -77,7 +77,7 @@ public class SimLockPreferenceController extends BasePreferenceController {
|
|||||||
*/
|
*/
|
||||||
private boolean isSimReady() {
|
private boolean isSimReady() {
|
||||||
final List<SubscriptionInfo> subInfoList =
|
final List<SubscriptionInfo> subInfoList =
|
||||||
mSubscriptionManager.getActiveSubscriptionInfoList(true);
|
mSubscriptionManager.getActiveSubscriptionInfoList();
|
||||||
if (subInfoList != null) {
|
if (subInfoList != null) {
|
||||||
for (SubscriptionInfo subInfo : subInfoList) {
|
for (SubscriptionInfo subInfo : subInfoList) {
|
||||||
final int simState = mTelephonyManager.getSimState(subInfo.getSimSlotIndex());
|
final int simState = mTelephonyManager.getSimState(subInfo.getSimSlotIndex());
|
||||||
@@ -95,7 +95,7 @@ public class SimLockPreferenceController extends BasePreferenceController {
|
|||||||
*/
|
*/
|
||||||
private boolean isSimIccReady() {
|
private boolean isSimIccReady() {
|
||||||
final List<SubscriptionInfo> subInfoList =
|
final List<SubscriptionInfo> subInfoList =
|
||||||
mSubscriptionManager.getActiveSubscriptionInfoList(true);
|
mSubscriptionManager.getActiveSubscriptionInfoList();
|
||||||
|
|
||||||
if (subInfoList != null) {
|
if (subInfoList != null) {
|
||||||
for (SubscriptionInfo subInfo : subInfoList) {
|
for (SubscriptionInfo subInfo : subInfoList) {
|
||||||
|
@@ -21,7 +21,6 @@ import static com.google.common.truth.Truth.assertThat;
|
|||||||
import static org.mockito.ArgumentMatchers.anyBoolean;
|
import static org.mockito.ArgumentMatchers.anyBoolean;
|
||||||
import static org.mockito.ArgumentMatchers.anyInt;
|
import static org.mockito.ArgumentMatchers.anyInt;
|
||||||
import static org.mockito.ArgumentMatchers.nullable;
|
import static org.mockito.ArgumentMatchers.nullable;
|
||||||
import static org.mockito.Mockito.doReturn;
|
|
||||||
import static org.mockito.Mockito.never;
|
import static org.mockito.Mockito.never;
|
||||||
import static org.mockito.Mockito.spy;
|
import static org.mockito.Mockito.spy;
|
||||||
import static org.mockito.Mockito.verify;
|
import static org.mockito.Mockito.verify;
|
||||||
@@ -199,14 +198,14 @@ public class MobileNetworkUtilsTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void getSearchableSubscriptionId_oneActive_returnValid() {
|
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);
|
assertThat(MobileNetworkUtils.getSearchableSubscriptionId(mContext)).isEqualTo(SUB_ID_1);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void getSearchableSubscriptionId_nonActive_returnInvalid() {
|
public void getSearchableSubscriptionId_nonActive_returnInvalid() {
|
||||||
when(mSubscriptionManager.getActiveSubscriptionIdList()).thenReturn(new int[0]);
|
when(mSubscriptionManager.getActiveSubscriptionInfoList()).thenReturn(new ArrayList<>());
|
||||||
|
|
||||||
assertThat(MobileNetworkUtils.getSearchableSubscriptionId(mContext))
|
assertThat(MobileNetworkUtils.getSearchableSubscriptionId(mContext))
|
||||||
.isEqualTo(SubscriptionManager.INVALID_SUBSCRIPTION_ID);
|
.isEqualTo(SubscriptionManager.INVALID_SUBSCRIPTION_ID);
|
||||||
|
@@ -21,7 +21,6 @@ import static android.telephony.TelephonyManager.SIM_STATE_READY;
|
|||||||
import static com.google.common.truth.Truth.assertThat;
|
import static com.google.common.truth.Truth.assertThat;
|
||||||
|
|
||||||
import static org.mockito.ArgumentMatchers.anyInt;
|
import static org.mockito.ArgumentMatchers.anyInt;
|
||||||
import static org.mockito.ArgumentMatchers.eq;
|
|
||||||
import static org.mockito.Mockito.mock;
|
import static org.mockito.Mockito.mock;
|
||||||
import static org.mockito.Mockito.when;
|
import static org.mockito.Mockito.when;
|
||||||
|
|
||||||
@@ -143,7 +142,7 @@ public class SimLockPreferenceControllerTest {
|
|||||||
subscriptionInfoList.add(info);
|
subscriptionInfoList.add(info);
|
||||||
when(mTelephonyManager.createForSubscriptionId(anyInt())).thenReturn(mTelephonyManager);
|
when(mTelephonyManager.createForSubscriptionId(anyInt())).thenReturn(mTelephonyManager);
|
||||||
when(mTelephonyManager.hasIccCard()).thenReturn(true);
|
when(mTelephonyManager.hasIccCard()).thenReturn(true);
|
||||||
when(mSubscriptionManager.getActiveSubscriptionInfoList(eq(true)))
|
when(mSubscriptionManager.getActiveSubscriptionInfoList())
|
||||||
.thenReturn(subscriptionInfoList);
|
.thenReturn(subscriptionInfoList);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -152,7 +151,7 @@ public class SimLockPreferenceControllerTest {
|
|||||||
SubscriptionInfo info = mock(SubscriptionInfo.class);
|
SubscriptionInfo info = mock(SubscriptionInfo.class);
|
||||||
subscriptionInfoList.add(info);
|
subscriptionInfoList.add(info);
|
||||||
when(mTelephonyManager.getSimState(anyInt())).thenReturn(SIM_STATE_READY);
|
when(mTelephonyManager.getSimState(anyInt())).thenReturn(SIM_STATE_READY);
|
||||||
when(mSubscriptionManager.getActiveSubscriptionInfoList(eq(true)))
|
when(mSubscriptionManager.getActiveSubscriptionInfoList())
|
||||||
.thenReturn(subscriptionInfoList);
|
.thenReturn(subscriptionInfoList);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user