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); mEsimContainer = mContentView.findViewById(R.id.erase_esim_container);
mEsimCheckbox = mContentView.findViewById(R.id.erase_esim); mEsimCheckbox = mContentView.findViewById(R.id.erase_esim);
mSubscriptions = SubscriptionManager.from(getActivity()).getActiveSubscriptionInfoList(); mSubscriptions = SubscriptionManager.from(getActivity())
.getActiveSubscriptionInfoList(true);
if (mSubscriptions != null && mSubscriptions.size() > 0) { if (mSubscriptions != null && mSubscriptions.size() > 0) {
// Get the default subscription in the order of data, voice, sms, first up. // Get the default subscription in the order of data, voice, sms, first up.
int defaultSubscription = SubscriptionManager.getDefaultDataSubscriptionId(); int defaultSubscription = SubscriptionManager.getDefaultDataSubscriptionId();

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -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(); mSubscriptionManager.getActiveSubscriptionInfoList(true);
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(); mSubscriptionManager.getActiveSubscriptionInfoList(true);
if (subInfoList != null) { if (subInfoList != null) {
for (SubscriptionInfo subInfo : subInfoList) { for (SubscriptionInfo subInfo : subInfoList) {

View File

@@ -153,7 +153,7 @@ public class SimDialogActivity extends Activity {
final ArrayList<String> list = new ArrayList<String>(); final ArrayList<String> list = new ArrayList<String>();
final SubscriptionManager subscriptionManager = SubscriptionManager.from(context); final SubscriptionManager subscriptionManager = SubscriptionManager.from(context);
final List<SubscriptionInfo> subInfoList = final List<SubscriptionInfo> subInfoList =
subscriptionManager.getActiveSubscriptionInfoList(); subscriptionManager.getActiveSubscriptionInfoList(true);
final int selectableSubInfoLength = subInfoList == null ? 0 : subInfoList.size(); final int selectableSubInfoLength = subInfoList == null ? 0 : subInfoList.size();
final DialogInterface.OnClickListener selectionListener = 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) { if (sil == null || sil.size() < 1) {
Log.d(TAG, "Subscription list is empty"); Log.d(TAG, "Subscription list is empty");
return; return;

View File

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

View File

@@ -147,7 +147,7 @@ public class WifiCallingSettings extends InstrumentedFragment implements HelpRes
} }
private void updateSubList() { private void updateSubList() {
mSil = SubscriptionManager.from(getActivity()).getActiveSubscriptionInfoList(); mSil = SubscriptionManager.from(getActivity()).getActiveSubscriptionInfoList(true);
// Only config Wfc if it's enabled by platform. // Only config Wfc if it's enabled by platform.
if (mSil == null) { 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 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.doReturn; import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.spy; import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.verify; import static org.mockito.Mockito.verify;
@@ -140,7 +141,7 @@ public class PhoneNumberPreferenceControllerTest {
@Test @Test
public void getSummary_cannotGetActiveSubscriptionInfo_shouldShowUnknown() { public void getSummary_cannotGetActiveSubscriptionInfo_shouldShowUnknown() {
when(mSubscriptionManager.getActiveSubscriptionInfoList()).thenReturn(null); when(mSubscriptionManager.getActiveSubscriptionInfoList(eq(true))).thenReturn(null);
CharSequence primaryNumber = mController.getSummary(); CharSequence primaryNumber = mController.getSummary();
@@ -157,7 +158,7 @@ public class PhoneNumberPreferenceControllerTest {
public void copy_shouldCopyPhoneNumberToClipboard() { public void copy_shouldCopyPhoneNumberToClipboard() {
final List<SubscriptionInfo> list = new ArrayList<>(); final List<SubscriptionInfo> list = new ArrayList<>();
list.add(mSubscriptionInfo); list.add(mSubscriptionInfo);
when(mSubscriptionManager.getActiveSubscriptionInfoList()).thenReturn(list); when(mSubscriptionManager.getActiveSubscriptionInfoList(eq(true))).thenReturn(list);
final String phoneNumber = "1111111111"; final String phoneNumber = "1111111111";
doReturn(phoneNumber).when(mController).getFormattedPhoneNumber(mSubscriptionInfo); 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 com.google.common.truth.Truth.assertThat;
import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.spy; import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.verify; import static org.mockito.Mockito.verify;
@@ -108,7 +109,8 @@ public class MobileNetworkActivityTest {
@Test @Test
public void updateBottomNavigationView_oneSubscription_shouldBeGone() { public void updateBottomNavigationView_oneSubscription_shouldBeGone() {
mSubscriptionInfos.add(mSubscriptionInfo); mSubscriptionInfos.add(mSubscriptionInfo);
doReturn(mSubscriptionInfos).when(mSubscriptionManager).getActiveSubscriptionInfoList(); doReturn(mSubscriptionInfos).when(mSubscriptionManager).getActiveSubscriptionInfoList(
eq(true));
mMobileNetworkActivity.updateBottomNavigationView(); mMobileNetworkActivity.updateBottomNavigationView();
@@ -120,7 +122,8 @@ public class MobileNetworkActivityTest {
final Menu menu = new ContextMenuBuilder(mContext); final Menu menu = new ContextMenuBuilder(mContext);
mSubscriptionInfos.add(mSubscriptionInfo); mSubscriptionInfos.add(mSubscriptionInfo);
mSubscriptionInfos.add(mSubscriptionInfo); mSubscriptionInfos.add(mSubscriptionInfo);
doReturn(mSubscriptionInfos).when(mSubscriptionManager).getActiveSubscriptionInfoList(); doReturn(mSubscriptionInfos).when(mSubscriptionManager).getActiveSubscriptionInfoList(
eq(true));
doReturn(menu).when(mBottomNavigationView).getMenu(); doReturn(menu).when(mBottomNavigationView).getMenu();
mMobileNetworkActivity.updateBottomNavigationView(); 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.anyBoolean;
import static org.mockito.ArgumentMatchers.anyInt; import static org.mockito.ArgumentMatchers.anyInt;
import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.ArgumentMatchers.nullable; import static org.mockito.ArgumentMatchers.nullable;
import static org.mockito.Mockito.never; import static org.mockito.Mockito.never;
import static org.mockito.Mockito.spy; import static org.mockito.Mockito.spy;
@@ -104,7 +105,7 @@ public class MobileNetworkUtilsTest {
when(mSubscriptionInfo1.getSubscriptionId()).thenReturn(SUB_ID_1); when(mSubscriptionInfo1.getSubscriptionId()).thenReturn(SUB_ID_1);
when(mSubscriptionInfo2.getSubscriptionId()).thenReturn(SUB_ID_2); when(mSubscriptionInfo2.getSubscriptionId()).thenReturn(SUB_ID_2);
when(mSubscriptionManager.getActiveSubscriptionInfoList()).thenReturn( when(mSubscriptionManager.getActiveSubscriptionInfoList(eq(true))).thenReturn(
Arrays.asList(mSubscriptionInfo1, mSubscriptionInfo2)); 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 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;
@@ -141,7 +142,7 @@ public class SimLockPreferenceControllerTest {
SubscriptionInfo info = mock(SubscriptionInfo.class); SubscriptionInfo info = mock(SubscriptionInfo.class);
subscriptionInfoList.add(info); subscriptionInfoList.add(info);
when(mTelephonyManager.hasIccCard(anyInt())).thenReturn(true); when(mTelephonyManager.hasIccCard(anyInt())).thenReturn(true);
when(mSubscriptionManager.getActiveSubscriptionInfoList()) when(mSubscriptionManager.getActiveSubscriptionInfoList(eq(true)))
.thenReturn(subscriptionInfoList); .thenReturn(subscriptionInfoList);
} }
@@ -150,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()) when(mSubscriptionManager.getActiveSubscriptionInfoList(eq(true)))
.thenReturn(subscriptionInfoList); .thenReturn(subscriptionInfoList);
} }
} }