Don't show hidden Cellular subscription in Settings.

Replace getActiveSubscriptionInfoList() with
getActiveSubscriptionInfoList(true) so that settings will not show
hidden subscriptions to the user in various pages.

Bug: 121396526
Test: manual
Change-Id: I717999fed7d3a5a037914239694bef52df7c6207
This commit is contained in:
Malcolm Chen
2019-01-14 15:13:10 -08:00
parent de324b9b70
commit 14dde50c3a
19 changed files with 34 additions and 26 deletions

View File

@@ -161,7 +161,8 @@ public class ResetNetwork extends InstrumentedFragment {
mEsimContainer = mContentView.findViewById(R.id.erase_esim_container);
mEsimCheckbox = mContentView.findViewById(R.id.erase_esim);
mSubscriptions = SubscriptionManager.from(getActivity()).getActiveSubscriptionInfoList();
mSubscriptions = SubscriptionManager.from(getActivity())
.getActiveSubscriptionInfoList(true);
if (mSubscriptions != null && mSubscriptions.size() > 0) {
// Get the default subscription in the order of data, voice, sms, first up.
int defaultSubscription = SubscriptionManager.getDefaultDataSubscriptionId();

View File

@@ -232,7 +232,8 @@ public class CellDataPreference extends CustomDialogPreferenceCompat implements
}
private void disableDataForOtherSubscriptions(int subId) {
List<SubscriptionInfo> subInfoList = mSubscriptionManager.getActiveSubscriptionInfoList();
List<SubscriptionInfo> subInfoList = mSubscriptionManager
.getActiveSubscriptionInfoList(true);
if (subInfoList != null) {
for (SubscriptionInfo subInfo : subInfoList) {
if (subInfo.getSubscriptionId() != subId) {

View File

@@ -106,7 +106,7 @@ public final class DataUsageUtils {
return SystemProperties.get(DataUsageUtils.TEST_RADIOS_PROP).contains("mobile");
}
final List<SubscriptionInfo> subInfoList =
SubscriptionManager.from(context).getActiveSubscriptionInfoList();
SubscriptionManager.from(context).getActiveSubscriptionInfoList(true);
// No activated Subscriptions
if (subInfoList == null) {
if (LOGD) {

View File

@@ -111,7 +111,7 @@ public class PhoneNumberPreferenceController extends BasePreferenceController im
private CharSequence getFirstPhoneNumber() {
final List<SubscriptionInfo> subscriptionInfoList =
mSubscriptionManager.getActiveSubscriptionInfoList();
mSubscriptionManager.getActiveSubscriptionInfoList(true);
if (subscriptionInfoList == null) {
return mContext.getText(R.string.device_info_default);
}
@@ -138,7 +138,7 @@ public class PhoneNumberPreferenceController extends BasePreferenceController im
@VisibleForTesting
SubscriptionInfo getSubscriptionInfo(int simSlot) {
final List<SubscriptionInfo> subscriptionInfoList =
mSubscriptionManager.getActiveSubscriptionInfoList();
mSubscriptionManager.getActiveSubscriptionInfoList(true);
if (subscriptionInfoList != null) {
for (SubscriptionInfo info : subscriptionInfoList) {
if (info.getSimSlotIndex() == simSlot) {

View File

@@ -127,7 +127,7 @@ public class ImeiInfoDialogController {
private SubscriptionInfo getSubscriptionInfo(Context context, int slotId) {
final List<SubscriptionInfo> subscriptionInfoList = SubscriptionManager.from(context)
.getActiveSubscriptionInfoList();
.getActiveSubscriptionInfoList(true);
if (subscriptionInfoList == null || subscriptionInfoList.isEmpty()) {
return null;
}

View File

@@ -404,7 +404,7 @@ public class SimStatusDialogController implements LifecycleObserver, OnResume, O
private SubscriptionInfo getPhoneSubscriptionInfo(int slotId) {
final List<SubscriptionInfo> subscriptionInfoList = SubscriptionManager.from(
mContext).getActiveSubscriptionInfoList();
mContext).getActiveSubscriptionInfoList(true);
if (subscriptionInfoList != null && subscriptionInfoList.size() > slotId) {
return subscriptionInfoList.get(slotId);
} else {

View File

@@ -107,7 +107,7 @@ public class SimStatusPreferenceController extends
private CharSequence getCarrierName(int simSlot) {
final List<SubscriptionInfo> subscriptionInfoList =
mSubscriptionManager.getActiveSubscriptionInfoList();
mSubscriptionManager.getActiveSubscriptionInfoList(true);
if (subscriptionInfoList != null) {
for (SubscriptionInfo info : subscriptionInfoList) {
if (info.getSimSlotIndex() == simSlot) {

View File

@@ -113,7 +113,7 @@ public class DeviceInfoSlice implements CustomSliceable {
@VisibleForTesting
SubscriptionInfo getFirstSubscriptionInfo() {
final List<SubscriptionInfo> subscriptionInfoList =
mSubscriptionManager.getActiveSubscriptionInfoList();
mSubscriptionManager.getActiveSubscriptionInfoList(true);
if (subscriptionInfoList == null || subscriptionInfoList.isEmpty()) {
return null;
}

View File

@@ -67,7 +67,7 @@ public class MobileNetworkActivity extends SettingsBaseActivity {
@Override
public void onSubscriptionsChanged() {
if (!Objects.equals(mSubscriptionInfos,
mSubscriptionManager.getActiveSubscriptionInfoList())) {
mSubscriptionManager.getActiveSubscriptionInfoList(true))) {
updateSubscriptions(null);
}
}
@@ -81,7 +81,7 @@ public class MobileNetworkActivity extends SettingsBaseActivity {
setActionBar(findViewById(R.id.mobile_action_bar));
mPhoneChangeReceiver = new PhoneChangeReceiver();
mSubscriptionManager = getSystemService(SubscriptionManager.class);
mSubscriptionInfos = mSubscriptionManager.getActiveSubscriptionInfoList();
mSubscriptionInfos = mSubscriptionManager.getActiveSubscriptionInfoList(true);
mCurSubscriptionId = savedInstanceState != null
? savedInstanceState.getInt(Settings.EXTRA_SUB_ID, SUB_ID_NULL)
: SUB_ID_NULL;
@@ -130,7 +130,7 @@ public class MobileNetworkActivity extends SettingsBaseActivity {
@VisibleForTesting
void updateSubscriptions(Bundle savedInstanceState) {
mSubscriptionInfos = mSubscriptionManager.getActiveSubscriptionInfoList();
mSubscriptionInfos = mSubscriptionManager.getActiveSubscriptionInfoList(true);
updateBottomNavigationView();

View File

@@ -227,7 +227,7 @@ public class MobileNetworkUtils {
if (disableOtherSubscriptions) {
List<SubscriptionInfo> subInfoList =
subscriptionManager.getActiveSubscriptionInfoList();
subscriptionManager.getActiveSubscriptionInfoList(true);
if (subInfoList != null) {
for (SubscriptionInfo subInfo : subInfoList) {
// We never disable mobile data for opportunistic subscriptions.

View File

@@ -77,7 +77,7 @@ public class SimLockPreferenceController extends BasePreferenceController {
*/
private boolean isSimReady() {
final List<SubscriptionInfo> subInfoList =
mSubscriptionManager.getActiveSubscriptionInfoList();
mSubscriptionManager.getActiveSubscriptionInfoList(true);
if (subInfoList != null) {
for (SubscriptionInfo subInfo : subInfoList) {
final int simState = mTelephonyManager.getSimState(subInfo.getSimSlotIndex());
@@ -95,7 +95,7 @@ public class SimLockPreferenceController extends BasePreferenceController {
*/
private boolean isSimIccReady() {
final List<SubscriptionInfo> subInfoList =
mSubscriptionManager.getActiveSubscriptionInfoList();
mSubscriptionManager.getActiveSubscriptionInfoList(true);
if (subInfoList != null) {
for (SubscriptionInfo subInfo : subInfoList) {

View File

@@ -153,7 +153,7 @@ public class SimDialogActivity extends Activity {
final ArrayList<String> list = new ArrayList<String>();
final SubscriptionManager subscriptionManager = SubscriptionManager.from(context);
final List<SubscriptionInfo> subInfoList =
subscriptionManager.getActiveSubscriptionInfoList();
subscriptionManager.getActiveSubscriptionInfoList(true);
final int selectableSubInfoLength = subInfoList == null ? 0 : subInfoList.size();
final DialogInterface.OnClickListener selectionListener =

View File

@@ -80,7 +80,7 @@ public class SimSelectNotification extends BroadcastReceiver {
}
}
List<SubscriptionInfo> sil = subscriptionManager.getActiveSubscriptionInfoList();
List<SubscriptionInfo> sil = subscriptionManager.getActiveSubscriptionInfoList(true);
if (sil == null || sil.size() < 1) {
Log.d(TAG, "Subscription list is empty");
return;

View File

@@ -114,7 +114,7 @@ public class SimSettings extends RestrictedSettingsFragment implements Indexable
};
private void updateSubscriptions() {
mSubInfoList = mSubscriptionManager.getActiveSubscriptionInfoList();
mSubInfoList = mSubscriptionManager.getActiveSubscriptionInfoList(true);
for (int i = 0; i < mNumSlots; ++i) {
Preference pref = mSimCards.findPreference("sim" + i);
if (pref instanceof SimPreference) {

View File

@@ -147,7 +147,7 @@ public class WifiCallingSettings extends InstrumentedFragment implements HelpRes
}
private void updateSubList() {
mSil = SubscriptionManager.from(getActivity()).getActiveSubscriptionInfoList();
mSil = SubscriptionManager.from(getActivity()).getActiveSubscriptionInfoList(true);
// Only config Wfc if it's enabled by platform.
if (mSil == null) {

View File

@@ -21,6 +21,7 @@ import static android.content.Context.CLIPBOARD_SERVICE;
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.doReturn;
import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.verify;
@@ -140,7 +141,7 @@ public class PhoneNumberPreferenceControllerTest {
@Test
public void getSummary_cannotGetActiveSubscriptionInfo_shouldShowUnknown() {
when(mSubscriptionManager.getActiveSubscriptionInfoList()).thenReturn(null);
when(mSubscriptionManager.getActiveSubscriptionInfoList(eq(true))).thenReturn(null);
CharSequence primaryNumber = mController.getSummary();
@@ -157,7 +158,7 @@ public class PhoneNumberPreferenceControllerTest {
public void copy_shouldCopyPhoneNumberToClipboard() {
final List<SubscriptionInfo> list = new ArrayList<>();
list.add(mSubscriptionInfo);
when(mSubscriptionManager.getActiveSubscriptionInfoList()).thenReturn(list);
when(mSubscriptionManager.getActiveSubscriptionInfoList(eq(true))).thenReturn(list);
final String phoneNumber = "1111111111";
doReturn(phoneNumber).when(mController).getFormattedPhoneNumber(mSubscriptionInfo);

View File

@@ -20,6 +20,7 @@ import static com.android.settings.network.telephony.MobileNetworkActivity.MOBIL
import static com.google.common.truth.Truth.assertThat;
import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.verify;
@@ -108,7 +109,8 @@ public class MobileNetworkActivityTest {
@Test
public void updateBottomNavigationView_oneSubscription_shouldBeGone() {
mSubscriptionInfos.add(mSubscriptionInfo);
doReturn(mSubscriptionInfos).when(mSubscriptionManager).getActiveSubscriptionInfoList();
doReturn(mSubscriptionInfos).when(mSubscriptionManager).getActiveSubscriptionInfoList(
eq(true));
mMobileNetworkActivity.updateBottomNavigationView();
@@ -120,7 +122,8 @@ public class MobileNetworkActivityTest {
final Menu menu = new ContextMenuBuilder(mContext);
mSubscriptionInfos.add(mSubscriptionInfo);
mSubscriptionInfos.add(mSubscriptionInfo);
doReturn(mSubscriptionInfos).when(mSubscriptionManager).getActiveSubscriptionInfoList();
doReturn(mSubscriptionInfos).when(mSubscriptionManager).getActiveSubscriptionInfoList(
eq(true));
doReturn(menu).when(mBottomNavigationView).getMenu();
mMobileNetworkActivity.updateBottomNavigationView();

View File

@@ -20,6 +20,7 @@ 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.eq;
import static org.mockito.ArgumentMatchers.nullable;
import static org.mockito.Mockito.never;
import static org.mockito.Mockito.spy;
@@ -104,7 +105,7 @@ public class MobileNetworkUtilsTest {
when(mSubscriptionInfo1.getSubscriptionId()).thenReturn(SUB_ID_1);
when(mSubscriptionInfo2.getSubscriptionId()).thenReturn(SUB_ID_2);
when(mSubscriptionManager.getActiveSubscriptionInfoList()).thenReturn(
when(mSubscriptionManager.getActiveSubscriptionInfoList(eq(true))).thenReturn(
Arrays.asList(mSubscriptionInfo1, mSubscriptionInfo2));
}

View File

@@ -21,6 +21,7 @@ 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;
@@ -141,7 +142,7 @@ public class SimLockPreferenceControllerTest {
SubscriptionInfo info = mock(SubscriptionInfo.class);
subscriptionInfoList.add(info);
when(mTelephonyManager.hasIccCard(anyInt())).thenReturn(true);
when(mSubscriptionManager.getActiveSubscriptionInfoList())
when(mSubscriptionManager.getActiveSubscriptionInfoList(eq(true)))
.thenReturn(subscriptionInfoList);
}
@@ -150,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())
when(mSubscriptionManager.getActiveSubscriptionInfoList(eq(true)))
.thenReturn(subscriptionInfoList);
}
}