SubscriptionsPreferenceController shows the unique sim description.
Bug: 148303118 Bug: 150370656 Test: atest -c SubscriptionsPreferenceControllerTest Change-Id: I041536fe0148087a068c6000383b382b0ff4e17c
This commit is contained in:
@@ -56,6 +56,7 @@ import androidx.preference.Preference;
|
|||||||
import androidx.preference.SwitchPreference;
|
import androidx.preference.SwitchPreference;
|
||||||
|
|
||||||
import com.android.settings.network.ProxySubscriptionManager;
|
import com.android.settings.network.ProxySubscriptionManager;
|
||||||
|
import com.android.settings.network.SubscriptionUtil;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -310,7 +311,8 @@ public class IccLockSettings extends SettingsPreferenceFragment
|
|||||||
mTabHost.addTab(buildTabSpec(tag,
|
mTabHost.addTab(buildTabSpec(tag,
|
||||||
String.valueOf(subInfo == null
|
String.valueOf(subInfo == null
|
||||||
? getContext().getString(R.string.sim_editor_title, slot + 1)
|
? getContext().getString(R.string.sim_editor_title, slot + 1)
|
||||||
: subInfo.getDisplayName())));
|
: SubscriptionUtil.getUniqueSubscriptionDisplayName(
|
||||||
|
subInfo, getContext()))));
|
||||||
}
|
}
|
||||||
|
|
||||||
mTabHost.setCurrentTabByTag(getTagForSlotId(mSlotId));
|
mTabHost.setCurrentTabByTag(getTagForSlotId(mSlotId));
|
||||||
|
@@ -47,6 +47,7 @@ import androidx.annotation.VisibleForTesting;
|
|||||||
import com.android.settings.core.InstrumentedFragment;
|
import com.android.settings.core.InstrumentedFragment;
|
||||||
import com.android.settings.core.SubSettingLauncher;
|
import com.android.settings.core.SubSettingLauncher;
|
||||||
import com.android.settings.enterprise.ActionDisabledByAdminDialogHelper;
|
import com.android.settings.enterprise.ActionDisabledByAdminDialogHelper;
|
||||||
|
import com.android.settings.network.SubscriptionUtil;
|
||||||
import com.android.settings.password.ChooseLockSettingsHelper;
|
import com.android.settings.password.ChooseLockSettingsHelper;
|
||||||
import com.android.settings.password.ConfirmLockPattern;
|
import com.android.settings.password.ConfirmLockPattern;
|
||||||
import com.android.settingslib.RestrictedLockUtils.EnforcedAdmin;
|
import com.android.settingslib.RestrictedLockUtils.EnforcedAdmin;
|
||||||
@@ -194,7 +195,8 @@ public class ResetNetwork extends InstrumentedFragment {
|
|||||||
// Set the first selected value to the default
|
// Set the first selected value to the default
|
||||||
selectedIndex = subscriptionNames.size();
|
selectedIndex = subscriptionNames.size();
|
||||||
}
|
}
|
||||||
String name = record.getDisplayName().toString();
|
String name = SubscriptionUtil.getUniqueSubscriptionDisplayName(
|
||||||
|
record, getContext()).toString();
|
||||||
if (TextUtils.isEmpty(name)) {
|
if (TextUtils.isEmpty(name)) {
|
||||||
name = record.getNumber();
|
name = record.getNumber();
|
||||||
}
|
}
|
||||||
|
@@ -36,6 +36,7 @@ import androidx.preference.PreferenceViewHolder;
|
|||||||
import com.android.settings.R;
|
import com.android.settings.R;
|
||||||
import com.android.settings.network.MobileDataEnabledListener;
|
import com.android.settings.network.MobileDataEnabledListener;
|
||||||
import com.android.settings.network.ProxySubscriptionManager;
|
import com.android.settings.network.ProxySubscriptionManager;
|
||||||
|
import com.android.settings.network.SubscriptionUtil;
|
||||||
import com.android.settings.overlay.FeatureFactory;
|
import com.android.settings.overlay.FeatureFactory;
|
||||||
import com.android.settingslib.CustomDialogPreferenceCompat;
|
import com.android.settingslib.CustomDialogPreferenceCompat;
|
||||||
|
|
||||||
@@ -200,12 +201,14 @@ public class CellDataPreference extends CustomDialogPreferenceCompat
|
|||||||
|
|
||||||
final String previousName = (nextSir == null)
|
final String previousName = (nextSir == null)
|
||||||
? getContext().getResources().getString(R.string.sim_selection_required_pref)
|
? getContext().getResources().getString(R.string.sim_selection_required_pref)
|
||||||
: nextSir.getDisplayName().toString();
|
: SubscriptionUtil.getUniqueSubscriptionDisplayName(
|
||||||
|
nextSir, getContext()).toString();
|
||||||
|
|
||||||
builder.setTitle(R.string.sim_change_data_title);
|
builder.setTitle(R.string.sim_change_data_title);
|
||||||
builder.setMessage(getContext().getString(R.string.sim_change_data_message,
|
builder.setMessage(getContext().getString(R.string.sim_change_data_message,
|
||||||
String.valueOf(currentSir != null ? currentSir.getDisplayName() : null),
|
String.valueOf(currentSir != null
|
||||||
previousName));
|
? SubscriptionUtil.getUniqueSubscriptionDisplayName(currentSir, getContext())
|
||||||
|
: null), previousName));
|
||||||
|
|
||||||
builder.setPositiveButton(R.string.okay, listener);
|
builder.setPositiveButton(R.string.okay, listener);
|
||||||
builder.setNegativeButton(R.string.cancel, null);
|
builder.setNegativeButton(R.string.cancel, null);
|
||||||
|
@@ -35,6 +35,7 @@ import androidx.preference.PreferenceScreen;
|
|||||||
import com.android.settings.R;
|
import com.android.settings.R;
|
||||||
import com.android.settings.datausage.lib.DataUsageLib;
|
import com.android.settings.datausage.lib.DataUsageLib;
|
||||||
import com.android.settings.network.ProxySubscriptionManager;
|
import com.android.settings.network.ProxySubscriptionManager;
|
||||||
|
import com.android.settings.network.SubscriptionUtil;
|
||||||
import com.android.settingslib.NetworkPolicyEditor;
|
import com.android.settingslib.NetworkPolicyEditor;
|
||||||
import com.android.settingslib.core.AbstractPreferenceController;
|
import com.android.settingslib.core.AbstractPreferenceController;
|
||||||
|
|
||||||
@@ -170,9 +171,11 @@ public class DataUsageSummary extends DataUsageBaseFragment implements DataUsage
|
|||||||
category.setTemplate(DataUsageLib.getMobileTemplate(getContext(), subId),
|
category.setTemplate(DataUsageLib.getMobileTemplate(getContext(), subId),
|
||||||
subId, services);
|
subId, services);
|
||||||
category.pushTemplates(services);
|
category.pushTemplates(services);
|
||||||
if (subInfo != null && !TextUtils.isEmpty(subInfo.getDisplayName())) {
|
final CharSequence displayName = SubscriptionUtil.getUniqueSubscriptionDisplayName(
|
||||||
|
subInfo, getContext());
|
||||||
|
if (subInfo != null && !TextUtils.isEmpty(displayName)) {
|
||||||
Preference title = category.findPreference(KEY_MOBILE_USAGE_TITLE);
|
Preference title = category.findPreference(KEY_MOBILE_USAGE_TITLE);
|
||||||
title.setTitle(subInfo.getDisplayName());
|
title.setTitle(displayName);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -26,6 +26,12 @@ import android.telephony.SubscriptionInfo;
|
|||||||
import android.telephony.SubscriptionManager;
|
import android.telephony.SubscriptionManager;
|
||||||
import android.util.ArrayMap;
|
import android.util.ArrayMap;
|
||||||
|
|
||||||
|
import androidx.lifecycle.Lifecycle;
|
||||||
|
import androidx.lifecycle.LifecycleObserver;
|
||||||
|
import androidx.lifecycle.OnLifecycleEvent;
|
||||||
|
import androidx.preference.Preference;
|
||||||
|
import androidx.preference.PreferenceScreen;
|
||||||
|
|
||||||
import com.android.internal.annotations.VisibleForTesting;
|
import com.android.internal.annotations.VisibleForTesting;
|
||||||
import com.android.settings.R;
|
import com.android.settings.R;
|
||||||
import com.android.settings.network.telephony.MobileNetworkActivity;
|
import com.android.settings.network.telephony.MobileNetworkActivity;
|
||||||
@@ -35,12 +41,6 @@ import com.android.settingslib.core.AbstractPreferenceController;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
import androidx.lifecycle.Lifecycle;
|
|
||||||
import androidx.lifecycle.LifecycleObserver;
|
|
||||||
import androidx.lifecycle.OnLifecycleEvent;
|
|
||||||
import androidx.preference.Preference;
|
|
||||||
import androidx.preference.PreferenceScreen;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This populates the entries on a page which lists all available mobile subscriptions. Each entry
|
* This populates the entries on a page which lists all available mobile subscriptions. Each entry
|
||||||
* has the name of the subscription with some subtext giving additional detail, and clicking on the
|
* has the name of the subscription with some subtext giving additional detail, and clicking on the
|
||||||
@@ -106,7 +106,9 @@ public class MobileNetworkListController extends AbstractPreferenceController im
|
|||||||
pref = new Preference(mPreferenceScreen.getContext());
|
pref = new Preference(mPreferenceScreen.getContext());
|
||||||
mPreferenceScreen.addPreference(pref);
|
mPreferenceScreen.addPreference(pref);
|
||||||
}
|
}
|
||||||
pref.setTitle(info.getDisplayName());
|
final CharSequence displayName = SubscriptionUtil.getUniqueSubscriptionDisplayName(
|
||||||
|
info, mContext);
|
||||||
|
pref.setTitle(displayName);
|
||||||
|
|
||||||
if (info.isEmbedded()) {
|
if (info.isEmbedded()) {
|
||||||
if (mSubscriptionManager.isActiveSubscriptionId(subId)) {
|
if (mSubscriptionManager.isActiveSubscriptionId(subId)) {
|
||||||
@@ -121,7 +123,7 @@ public class MobileNetworkListController extends AbstractPreferenceController im
|
|||||||
pref.setSummary(mContext.getString(R.string.mobile_network_inactive_sim));
|
pref.setSummary(mContext.getString(R.string.mobile_network_inactive_sim));
|
||||||
} else {
|
} else {
|
||||||
pref.setSummary(mContext.getString(R.string.mobile_network_tap_to_activate,
|
pref.setSummary(mContext.getString(R.string.mobile_network_tap_to_activate,
|
||||||
SubscriptionUtil.getDisplayName(info)));
|
displayName));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -116,13 +116,14 @@ public class MobileNetworkSummaryController extends AbstractPreferenceController
|
|||||||
return null;
|
return null;
|
||||||
} else if (subs.size() == 1) {
|
} else if (subs.size() == 1) {
|
||||||
final SubscriptionInfo info = subs.get(0);
|
final SubscriptionInfo info = subs.get(0);
|
||||||
|
final CharSequence displayName = SubscriptionUtil.getUniqueSubscriptionDisplayName(
|
||||||
|
info, mContext);
|
||||||
final int subId = info.getSubscriptionId();
|
final int subId = info.getSubscriptionId();
|
||||||
if (!info.isEmbedded() && !mSubscriptionManager.isActiveSubscriptionId(subId)
|
if (!info.isEmbedded() && !mSubscriptionManager.isActiveSubscriptionId(subId)
|
||||||
&& !SubscriptionUtil.showToggleForPhysicalSim(mSubscriptionManager)) {
|
&& !SubscriptionUtil.showToggleForPhysicalSim(mSubscriptionManager)) {
|
||||||
return mContext.getString(R.string.mobile_network_tap_to_activate,
|
return mContext.getString(R.string.mobile_network_tap_to_activate, displayName);
|
||||||
SubscriptionUtil.getDisplayName(info));
|
|
||||||
} else {
|
} else {
|
||||||
return subs.get(0).getDisplayName();
|
return displayName;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (com.android.settings.Utils.isProviderModelEnabled(mContext)) {
|
if (com.android.settings.Utils.isProviderModelEnabled(mContext)) {
|
||||||
@@ -135,8 +136,9 @@ public class MobileNetworkSummaryController extends AbstractPreferenceController
|
|||||||
}
|
}
|
||||||
|
|
||||||
private CharSequence getSummaryForProviderModel(List<SubscriptionInfo> subs) {
|
private CharSequence getSummaryForProviderModel(List<SubscriptionInfo> subs) {
|
||||||
return String.join(", ", subs.stream().map(SubscriptionInfo::getDisplayName)
|
return String.join(", ", subs.stream().map(subInfo -> {
|
||||||
.collect(Collectors.toList()));
|
return SubscriptionUtil.getUniqueSubscriptionDisplayName(subInfo, mContext);
|
||||||
|
}).collect(Collectors.toList()));
|
||||||
}
|
}
|
||||||
|
|
||||||
private void startAddSimFlow() {
|
private void startAddSimFlow() {
|
||||||
|
@@ -91,20 +91,22 @@ public class NetworkProviderCallsSmsController extends AbstractPreferenceControl
|
|||||||
final StringBuilder summary = new StringBuilder();
|
final StringBuilder summary = new StringBuilder();
|
||||||
for (SubscriptionInfo subInfo : subs) {
|
for (SubscriptionInfo subInfo : subs) {
|
||||||
int subsSize = subs.size();
|
int subsSize = subs.size();
|
||||||
|
final CharSequence displayName = SubscriptionUtil.getUniqueSubscriptionDisplayName(
|
||||||
|
subInfo, mContext);
|
||||||
|
|
||||||
// Set displayName as summary if there is only one valid SIM.
|
// Set displayName as summary if there is only one valid SIM.
|
||||||
if (subsSize == 1
|
if (subsSize == 1
|
||||||
&& SubscriptionManager.isValidSubscriptionId(subInfo.getSubscriptionId())) {
|
&& SubscriptionManager.isValidSubscriptionId(subInfo.getSubscriptionId())) {
|
||||||
return subInfo.getDisplayName();
|
return displayName;
|
||||||
}
|
}
|
||||||
|
|
||||||
CharSequence status = getPreferredStatus(subInfo);
|
CharSequence status = getPreferredStatus(subInfo);
|
||||||
if (status.toString().isEmpty()) {
|
if (status.toString().isEmpty()) {
|
||||||
// If there are 2 or more SIMs and one of these has no preferred status,
|
// If there are 2 or more SIMs and one of these has no preferred status,
|
||||||
// set only its displayName as summary.
|
// set only its displayName as summary.
|
||||||
summary.append(subInfo.getDisplayName());
|
summary.append(displayName);
|
||||||
} else {
|
} else {
|
||||||
summary.append(subInfo.getDisplayName())
|
summary.append(displayName)
|
||||||
.append(" (")
|
.append(" (")
|
||||||
.append(status)
|
.append(status)
|
||||||
.append(")");
|
.append(")");
|
||||||
|
@@ -261,7 +261,8 @@ public class ProviderModelSliceHelper {
|
|||||||
final SubscriptionInfo defaultSubscription = mSubscriptionManager.getActiveSubscriptionInfo(
|
final SubscriptionInfo defaultSubscription = mSubscriptionManager.getActiveSubscriptionInfo(
|
||||||
mSubscriptionManager.getDefaultDataSubscriptionId());
|
mSubscriptionManager.getDefaultDataSubscriptionId());
|
||||||
if (defaultSubscription != null) {
|
if (defaultSubscription != null) {
|
||||||
title = defaultSubscription.getDisplayName().toString();
|
title = SubscriptionUtil.getUniqueSubscriptionDisplayName(
|
||||||
|
defaultSubscription, mContext).toString();
|
||||||
}
|
}
|
||||||
return title;
|
return title;
|
||||||
}
|
}
|
||||||
|
@@ -241,7 +241,8 @@ public class SubscriptionsPreferenceController extends AbstractPreferenceControl
|
|||||||
startMobileNetworkActivity(mContext, subInfo.getSubscriptionId()));
|
startMobileNetworkActivity(mContext, subInfo.getSubscriptionId()));
|
||||||
}
|
}
|
||||||
|
|
||||||
mSubsGearPref.setTitle(subInfo.getDisplayName());
|
mSubsGearPref.setTitle(SubscriptionUtil.getUniqueSubscriptionDisplayName(
|
||||||
|
subInfo, mContext));
|
||||||
mSubsGearPref.setOrder(mStartOrder);
|
mSubsGearPref.setOrder(mStartOrder);
|
||||||
mSubsGearPref.setSummary(getMobilePreferenceSummary(subInfo.getSubscriptionId()));
|
mSubsGearPref.setSummary(getMobilePreferenceSummary(subInfo.getSubscriptionId()));
|
||||||
mSubsGearPref.setIcon(getIcon(subInfo.getSubscriptionId()));
|
mSubsGearPref.setIcon(getIcon(subInfo.getSubscriptionId()));
|
||||||
@@ -322,7 +323,7 @@ public class SubscriptionsPreferenceController extends AbstractPreferenceControl
|
|||||||
pref = new Preference(mPreferenceGroup.getContext());
|
pref = new Preference(mPreferenceGroup.getContext());
|
||||||
mPreferenceGroup.addPreference(pref);
|
mPreferenceGroup.addPreference(pref);
|
||||||
}
|
}
|
||||||
pref.setTitle(info.getDisplayName());
|
pref.setTitle(SubscriptionUtil.getUniqueSubscriptionDisplayName(info, mContext));
|
||||||
final boolean isDefaultForData = (subId == dataDefaultSubId);
|
final boolean isDefaultForData = (subId == dataDefaultSubId);
|
||||||
pref.setSummary(getSummary(subId, isDefaultForData));
|
pref.setSummary(getSummary(subId, isDefaultForData));
|
||||||
setIcon(pref, subId, isDefaultForData);
|
setIcon(pref, subId, isDefaultForData);
|
||||||
@@ -584,4 +585,4 @@ public class SubscriptionsPreferenceController extends AbstractPreferenceControl
|
|||||||
NO_CELL_DATA_TYPE_ICON, cutOut);
|
NO_CELL_DATA_TYPE_ICON, cutOut);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -145,7 +145,7 @@ public class ContactDiscoveryPreferenceController extends TelephonyTogglePrefere
|
|||||||
|
|
||||||
for (SubscriptionInfo info : SubscriptionUtil.getAvailableSubscriptions(context)) {
|
for (SubscriptionInfo info : SubscriptionUtil.getAvailableSubscriptions(context)) {
|
||||||
if (mSubId == info.getSubscriptionId()) {
|
if (mSubId == info.getSubscriptionId()) {
|
||||||
result = info.getDisplayName();
|
result = SubscriptionUtil.getUniqueSubscriptionDisplayName(info, context);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -126,7 +126,7 @@ public abstract class DefaultSubscriptionController extends TelephonyBasePrefere
|
|||||||
final SubscriptionInfo info = getDefaultSubscriptionInfo();
|
final SubscriptionInfo info = getDefaultSubscriptionInfo();
|
||||||
if (info != null) {
|
if (info != null) {
|
||||||
// display subscription based account
|
// display subscription based account
|
||||||
return info.getDisplayName();
|
return SubscriptionUtil.getUniqueSubscriptionDisplayName(info, mContext);
|
||||||
} else {
|
} else {
|
||||||
if (isAskEverytimeSupported()) {
|
if (isAskEverytimeSupported()) {
|
||||||
return mContext.getString(R.string.calls_and_sms_ask_every_time);
|
return mContext.getString(R.string.calls_and_sms_ask_every_time);
|
||||||
@@ -160,7 +160,8 @@ public abstract class DefaultSubscriptionController extends TelephonyBasePrefere
|
|||||||
|
|
||||||
if (Utils.isProviderModelEnabled(mContext) && subs.size() == 1) {
|
if (Utils.isProviderModelEnabled(mContext) && subs.size() == 1) {
|
||||||
mPreference.setEnabled(false);
|
mPreference.setEnabled(false);
|
||||||
mPreference.setSummary(subs.get(0).getDisplayName());
|
mPreference.setSummary(SubscriptionUtil.getUniqueSubscriptionDisplayName(
|
||||||
|
subs.get(0), mContext));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -171,7 +172,7 @@ public abstract class DefaultSubscriptionController extends TelephonyBasePrefere
|
|||||||
if (sub.isOpportunistic()) {
|
if (sub.isOpportunistic()) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
displayNames.add(sub.getDisplayName());
|
displayNames.add(SubscriptionUtil.getUniqueSubscriptionDisplayName(sub, mContext));
|
||||||
final int subId = sub.getSubscriptionId();
|
final int subId = sub.getSubscriptionId();
|
||||||
subscriptionIds.add(Integer.toString(subId));
|
subscriptionIds.add(Integer.toString(subId));
|
||||||
if (subId == serviceDefaultSubId) {
|
if (subId == serviceDefaultSubId) {
|
||||||
|
@@ -16,7 +16,6 @@
|
|||||||
|
|
||||||
package com.android.settings.network.telephony;
|
package com.android.settings.network.telephony;
|
||||||
|
|
||||||
import android.app.AlertDialog;
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
@@ -141,7 +140,9 @@ public class DeleteEuiccSubscriptionDialogActivity extends SubscriptionActionDia
|
|||||||
DIALOG_TAG_DELETE_SIM_CONFIRMATION,
|
DIALOG_TAG_DELETE_SIM_CONFIRMATION,
|
||||||
getString(R.string.erase_sim_dialog_title),
|
getString(R.string.erase_sim_dialog_title),
|
||||||
getString(
|
getString(
|
||||||
R.string.erase_sim_dialog_text, mSubscriptionToBeDeleted.getDisplayName()),
|
R.string.erase_sim_dialog_text,
|
||||||
|
SubscriptionUtil.getUniqueSubscriptionDisplayName(
|
||||||
|
mSubscriptionToBeDeleted, this)),
|
||||||
getString(R.string.erase_sim_confirm_button),
|
getString(R.string.erase_sim_confirm_button),
|
||||||
getString(R.string.cancel));
|
getString(R.string.cancel));
|
||||||
}
|
}
|
||||||
|
@@ -28,6 +28,7 @@ import androidx.appcompat.app.AlertDialog;
|
|||||||
|
|
||||||
import com.android.settings.R;
|
import com.android.settings.R;
|
||||||
import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
|
import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
|
||||||
|
import com.android.settings.network.SubscriptionUtil;
|
||||||
import com.android.settings.wifi.WifiPickerTrackerHelper;
|
import com.android.settings.wifi.WifiPickerTrackerHelper;
|
||||||
|
|
||||||
|
|
||||||
@@ -97,12 +98,14 @@ public class MobileDataDialogFragment extends InstrumentedDialogFragment impleme
|
|||||||
final String previousName = (nextSubInfo == null)
|
final String previousName = (nextSubInfo == null)
|
||||||
? getContext().getResources().getString(
|
? getContext().getResources().getString(
|
||||||
R.string.sim_selection_required_pref)
|
R.string.sim_selection_required_pref)
|
||||||
: nextSubInfo.getDisplayName().toString();
|
: SubscriptionUtil.getUniqueSubscriptionDisplayName(
|
||||||
|
nextSubInfo, getContext()).toString();
|
||||||
|
|
||||||
final String newName = (currentSubInfo == null)
|
final String newName = (currentSubInfo == null)
|
||||||
? getContext().getResources().getString(
|
? getContext().getResources().getString(
|
||||||
R.string.sim_selection_required_pref)
|
R.string.sim_selection_required_pref)
|
||||||
: currentSubInfo.getDisplayName().toString();
|
: SubscriptionUtil.getUniqueSubscriptionDisplayName(
|
||||||
|
currentSubInfo, getContext()).toString();
|
||||||
|
|
||||||
return new AlertDialog.Builder(context)
|
return new AlertDialog.Builder(context)
|
||||||
.setTitle(context.getString(R.string.sim_change_data_title, newName))
|
.setTitle(context.getString(R.string.sim_change_data_title, newName))
|
||||||
|
@@ -167,7 +167,7 @@ public class MobileDataSlice implements CustomSliceable {
|
|||||||
return null; // no summary text
|
return null; // no summary text
|
||||||
}
|
}
|
||||||
|
|
||||||
return defaultSubscription.getDisplayName();
|
return SubscriptionUtil.getUniqueSubscriptionDisplayName(defaultSubscription, mContext);
|
||||||
}
|
}
|
||||||
|
|
||||||
private PendingIntent getPrimaryAction() {
|
private PendingIntent getPrimaryAction() {
|
||||||
|
@@ -207,7 +207,7 @@ public class MobileNetworkActivity extends SettingsBaseActivity
|
|||||||
// title will just default to the label for this activity that's already specified in
|
// title will just default to the label for this activity that's already specified in
|
||||||
// AndroidManifest.xml.
|
// AndroidManifest.xml.
|
||||||
if (subscription != null) {
|
if (subscription != null) {
|
||||||
setTitle(subscription.getDisplayName());
|
setTitle(SubscriptionUtil.getUniqueSubscriptionDisplayName(subscription, this));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -299,7 +299,7 @@ public class MobileNetworkActivity extends SettingsBaseActivity
|
|||||||
CharSequence carrierName = "";
|
CharSequence carrierName = "";
|
||||||
if (info != null) {
|
if (info != null) {
|
||||||
subId = info.getSubscriptionId();
|
subId = info.getSubscriptionId();
|
||||||
carrierName = info.getDisplayName();
|
carrierName = SubscriptionUtil.getUniqueSubscriptionDisplayName(info, this);
|
||||||
}
|
}
|
||||||
// If this activity was launched using ACTION_SHOW_CAPABILITY_DISCOVERY_OPT_IN, show the
|
// If this activity was launched using ACTION_SHOW_CAPABILITY_DISCOVERY_OPT_IN, show the
|
||||||
// associated dialog only if the opt-in has not been granted yet.
|
// associated dialog only if the opt-in has not been granted yet.
|
||||||
|
@@ -32,13 +32,11 @@ import android.telephony.SubscriptionManager;
|
|||||||
import android.telephony.TelephonyManager;
|
import android.telephony.TelephonyManager;
|
||||||
import android.util.ArrayMap;
|
import android.util.ArrayMap;
|
||||||
import android.util.ArraySet;
|
import android.util.ArraySet;
|
||||||
import android.util.Log;
|
|
||||||
|
|
||||||
import androidx.annotation.VisibleForTesting;
|
import androidx.annotation.VisibleForTesting;
|
||||||
import androidx.lifecycle.LifecycleObserver;
|
import androidx.lifecycle.LifecycleObserver;
|
||||||
import androidx.lifecycle.OnLifecycleEvent;
|
import androidx.lifecycle.OnLifecycleEvent;
|
||||||
import androidx.preference.Preference;
|
import androidx.preference.Preference;
|
||||||
import androidx.preference.PreferenceCategory;
|
|
||||||
import androidx.preference.PreferenceGroup;
|
import androidx.preference.PreferenceGroup;
|
||||||
import androidx.preference.PreferenceScreen;
|
import androidx.preference.PreferenceScreen;
|
||||||
|
|
||||||
@@ -194,7 +192,7 @@ public class NetworkProviderWifiCallingGroup extends
|
|||||||
mPreferenceGroup.addPreference(pref);
|
mPreferenceGroup.addPreference(pref);
|
||||||
}
|
}
|
||||||
|
|
||||||
CharSequence title = info.getDisplayName();
|
CharSequence title = SubscriptionUtil.getUniqueSubscriptionDisplayName(info, mContext);
|
||||||
if (getPhoneAccountHandleForSubscriptionId(subId) != null) {
|
if (getPhoneAccountHandleForSubscriptionId(subId) != null) {
|
||||||
final Intent intent = MobileNetworkUtils.buildPhoneAccountConfigureIntent(mContext,
|
final Intent intent = MobileNetworkUtils.buildPhoneAccountConfigureIntent(mContext,
|
||||||
getPhoneAccountHandleForSubscriptionId(subId));
|
getPhoneAccountHandleForSubscriptionId(subId));
|
||||||
|
@@ -47,6 +47,7 @@ import androidx.appcompat.app.AlertDialog;
|
|||||||
|
|
||||||
import com.android.settings.R;
|
import com.android.settings.R;
|
||||||
import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
|
import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
|
||||||
|
import com.android.settings.network.SubscriptionUtil;
|
||||||
import com.android.settingslib.DeviceInfoUtils;
|
import com.android.settingslib.DeviceInfoUtils;
|
||||||
|
|
||||||
import com.google.common.collect.ImmutableMap;
|
import com.google.common.collect.ImmutableMap;
|
||||||
@@ -163,7 +164,8 @@ public class RenameMobileNetworkDialogFragment extends InstrumentedDialogFragmen
|
|||||||
Log.w(TAG, "got null SubscriptionInfo for mSubId:" + mSubId);
|
Log.w(TAG, "got null SubscriptionInfo for mSubId:" + mSubId);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
final CharSequence displayName = info.getDisplayName();
|
final CharSequence displayName = SubscriptionUtil.getUniqueSubscriptionDisplayName(
|
||||||
|
info, getContext());
|
||||||
mNameView.setText(displayName);
|
mNameView.setText(displayName);
|
||||||
if (!TextUtils.isEmpty(displayName)) {
|
if (!TextUtils.isEmpty(displayName)) {
|
||||||
mNameView.setSelection(displayName.length());
|
mNameView.setSelection(displayName.length());
|
||||||
|
@@ -201,7 +201,8 @@ public class ToggleSubscriptionDialogActivity extends SubscriptionActionDialogAc
|
|||||||
showProgressDialog(
|
showProgressDialog(
|
||||||
getString(
|
getString(
|
||||||
R.string.sim_action_switch_sub_dialog_progress,
|
R.string.sim_action_switch_sub_dialog_progress,
|
||||||
mSubInfo.getDisplayName()));
|
SubscriptionUtil.getUniqueSubscriptionDisplayName(
|
||||||
|
mSubInfo, this)));
|
||||||
mSwitchToEuiccSubscriptionSidecar.run(mSubInfo.getSubscriptionId());
|
mSwitchToEuiccSubscriptionSidecar.run(mSubInfo.getSubscriptionId());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -345,13 +346,14 @@ public class ToggleSubscriptionDialogActivity extends SubscriptionActionDialogAc
|
|||||||
|
|
||||||
/* Displays the SIM toggling confirmation dialog. */
|
/* Displays the SIM toggling confirmation dialog. */
|
||||||
private void showDisableSimConfirmDialog() {
|
private void showDisableSimConfirmDialog() {
|
||||||
|
final CharSequence displayName = SubscriptionUtil.getUniqueSubscriptionDisplayName(
|
||||||
|
mSubInfo, this);
|
||||||
String title =
|
String title =
|
||||||
mSubInfo == null || TextUtils.isEmpty(mSubInfo.getDisplayName())
|
mSubInfo == null || TextUtils.isEmpty(displayName)
|
||||||
? getString(
|
? getString(
|
||||||
R.string.privileged_action_disable_sub_dialog_title_without_carrier)
|
R.string.privileged_action_disable_sub_dialog_title_without_carrier)
|
||||||
: getString(
|
: getString(
|
||||||
R.string.privileged_action_disable_sub_dialog_title,
|
R.string.privileged_action_disable_sub_dialog_title, displayName);
|
||||||
mSubInfo.getDisplayName());
|
|
||||||
|
|
||||||
ConfirmDialogFragment.show(
|
ConfirmDialogFragment.show(
|
||||||
this,
|
this,
|
||||||
@@ -402,40 +404,48 @@ public class ToggleSubscriptionDialogActivity extends SubscriptionActionDialogAc
|
|||||||
private String getSwitchDialogPosBtnText() {
|
private String getSwitchDialogPosBtnText() {
|
||||||
return mIsEsimOperation
|
return mIsEsimOperation
|
||||||
? getString(
|
? getString(
|
||||||
R.string.sim_action_switch_sub_dialog_confirm, mSubInfo.getDisplayName())
|
R.string.sim_action_switch_sub_dialog_confirm,
|
||||||
|
SubscriptionUtil.getUniqueSubscriptionDisplayName(mSubInfo, this))
|
||||||
: getString(R.string.sim_switch_button);
|
: getString(R.string.sim_switch_button);
|
||||||
}
|
}
|
||||||
|
|
||||||
private String getEnableSubscriptionTitle() {
|
private String getEnableSubscriptionTitle() {
|
||||||
if (mSubInfo == null || TextUtils.isEmpty(mSubInfo.getDisplayName())) {
|
final CharSequence displayName = SubscriptionUtil.getUniqueSubscriptionDisplayName(
|
||||||
|
mSubInfo, this);
|
||||||
|
if (mSubInfo == null || TextUtils.isEmpty(displayName)) {
|
||||||
return getString(R.string.sim_action_enable_sub_dialog_title_without_carrier_name);
|
return getString(R.string.sim_action_enable_sub_dialog_title_without_carrier_name);
|
||||||
}
|
}
|
||||||
return getString(R.string.sim_action_enable_sub_dialog_title, mSubInfo.getDisplayName());
|
return getString(R.string.sim_action_enable_sub_dialog_title, displayName);
|
||||||
}
|
}
|
||||||
|
|
||||||
private String getSwitchSubscriptionTitle() {
|
private String getSwitchSubscriptionTitle() {
|
||||||
if (mIsEsimOperation) {
|
if (mIsEsimOperation) {
|
||||||
return getString(
|
return getString(
|
||||||
R.string.sim_action_switch_sub_dialog_title, mSubInfo.getDisplayName());
|
R.string.sim_action_switch_sub_dialog_title,
|
||||||
|
SubscriptionUtil.getUniqueSubscriptionDisplayName(mSubInfo, this));
|
||||||
}
|
}
|
||||||
return getString(R.string.sim_action_switch_psim_dialog_title);
|
return getString(R.string.sim_action_switch_psim_dialog_title);
|
||||||
}
|
}
|
||||||
|
|
||||||
private String getSwitchDialogBodyMsg(SubscriptionInfo activeSub, boolean betweenEsim) {
|
private String getSwitchDialogBodyMsg(SubscriptionInfo activeSub, boolean betweenEsim) {
|
||||||
|
final CharSequence subInfoName = SubscriptionUtil.getUniqueSubscriptionDisplayName(
|
||||||
|
mSubInfo, this);
|
||||||
|
final CharSequence activeSubName = SubscriptionUtil.getUniqueSubscriptionDisplayName(
|
||||||
|
activeSub, this);
|
||||||
if (betweenEsim && mIsEsimOperation) {
|
if (betweenEsim && mIsEsimOperation) {
|
||||||
return getString(
|
return getString(
|
||||||
R.string.sim_action_switch_sub_dialog_text_downloaded,
|
R.string.sim_action_switch_sub_dialog_text_downloaded,
|
||||||
mSubInfo.getDisplayName(),
|
subInfoName,
|
||||||
activeSub.getDisplayName());
|
activeSubName);
|
||||||
} else if (mIsEsimOperation) {
|
} else if (mIsEsimOperation) {
|
||||||
return getString(
|
return getString(
|
||||||
R.string.sim_action_switch_sub_dialog_text,
|
R.string.sim_action_switch_sub_dialog_text,
|
||||||
mSubInfo.getDisplayName(),
|
subInfoName,
|
||||||
activeSub.getDisplayName());
|
activeSubName);
|
||||||
} else {
|
} else {
|
||||||
return getString(
|
return getString(
|
||||||
R.string.sim_action_switch_sub_dialog_text_single_sim,
|
R.string.sim_action_switch_sub_dialog_text_single_sim,
|
||||||
activeSub.getDisplayName());
|
activeSubName);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -30,6 +30,7 @@ import androidx.annotation.VisibleForTesting;
|
|||||||
import androidx.appcompat.app.AlertDialog;
|
import androidx.appcompat.app.AlertDialog;
|
||||||
|
|
||||||
import com.android.settings.R;
|
import com.android.settings.R;
|
||||||
|
import com.android.settings.network.SubscriptionUtil;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Presents a dialog asking the user if they want to update all services to use a given "preferred"
|
* Presents a dialog asking the user if they want to update all services to use a given "preferred"
|
||||||
@@ -86,7 +87,9 @@ public class PreferredSimDialogFragment extends SimDialogFragment implements
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
final String message =
|
final String message =
|
||||||
getContext().getString(R.string.sim_preferred_message, info.getDisplayName());
|
getContext().getString(
|
||||||
|
R.string.sim_preferred_message,
|
||||||
|
SubscriptionUtil.getUniqueSubscriptionDisplayName(info, getContext()));
|
||||||
dialog.setMessage(message);
|
dialog.setMessage(message);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -117,10 +117,12 @@ public class SimActivationNotifier {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
CharSequence displayName = SubscriptionUtil.getUniqueSubscriptionDisplayName(
|
||||||
|
activeRemovableSub, mContext);
|
||||||
String carrierName =
|
String carrierName =
|
||||||
TextUtils.isEmpty(activeRemovableSub.getDisplayName())
|
TextUtils.isEmpty(displayName)
|
||||||
? mContext.getString(R.string.sim_card_label)
|
? mContext.getString(R.string.sim_card_label)
|
||||||
: activeRemovableSub.getDisplayName().toString();
|
: displayName.toString();
|
||||||
String title =
|
String title =
|
||||||
mContext.getString(
|
mContext.getString(
|
||||||
R.string.post_dsds_reboot_notification_title_with_carrier, carrierName);
|
R.string.post_dsds_reboot_notification_title_with_carrier, carrierName);
|
||||||
|
@@ -38,6 +38,7 @@ import androidx.appcompat.app.AlertDialog;
|
|||||||
|
|
||||||
import com.android.settings.R;
|
import com.android.settings.R;
|
||||||
import com.android.settings.Utils;
|
import com.android.settings.Utils;
|
||||||
|
import com.android.settings.network.SubscriptionUtil;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -179,7 +180,7 @@ public class SimListDialogFragment extends SimDialogFragment implements
|
|||||||
icon.setImageTintList(
|
icon.setImageTintList(
|
||||||
Utils.getColorAttr(mContext, android.R.attr.textColorSecondary));
|
Utils.getColorAttr(mContext, android.R.attr.textColorSecondary));
|
||||||
} else {
|
} else {
|
||||||
title.setText(sub.getDisplayName());
|
title.setText(SubscriptionUtil.getUniqueSubscriptionDisplayName(sub, mContext));
|
||||||
summary.setText(isMdnProvisioned(sub.getNumber()) ? sub.getNumber() : "");
|
summary.setText(isMdnProvisioned(sub.getNumber()) ? sub.getNumber() : "");
|
||||||
icon.setImageBitmap(sub.createIconBitmap(mContext));
|
icon.setImageBitmap(sub.createIconBitmap(mContext));
|
||||||
|
|
||||||
|
@@ -139,7 +139,8 @@ public class SimSelectNotification extends BroadcastReceiver {
|
|||||||
}
|
}
|
||||||
|
|
||||||
CharSequence notificationSummary = context.getResources().getString(
|
CharSequence notificationSummary = context.getResources().getString(
|
||||||
R.string.enable_mms_notification_summary, SubscriptionUtil.getDisplayName(info));
|
R.string.enable_mms_notification_summary,
|
||||||
|
SubscriptionUtil.getUniqueSubscriptionDisplayName(info, context));
|
||||||
|
|
||||||
cancelEnableMmsNotification(context);
|
cancelEnableMmsNotification(context);
|
||||||
|
|
||||||
|
@@ -69,6 +69,7 @@ import androidx.annotation.VisibleForTesting;
|
|||||||
|
|
||||||
import com.android.settings.ProxySelector;
|
import com.android.settings.ProxySelector;
|
||||||
import com.android.settings.R;
|
import com.android.settings.R;
|
||||||
|
import com.android.settings.network.SubscriptionUtil;
|
||||||
import com.android.settings.wifi.dpp.WifiDppUtils;
|
import com.android.settings.wifi.dpp.WifiDppUtils;
|
||||||
import com.android.settingslib.Utils;
|
import com.android.settingslib.Utils;
|
||||||
import com.android.settingslib.utils.ThreadUtils;
|
import com.android.settingslib.utils.ThreadUtils;
|
||||||
@@ -1473,8 +1474,8 @@ public class WifiConfigController implements TextWatcher,
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Shows display name of each active subscription.
|
// Shows display name of each active subscription.
|
||||||
final String[] displayNames = mActiveSubscriptionInfos.stream().map(
|
final String[] displayNames = SubscriptionUtil.getUniqueSubscriptionDisplayNames(
|
||||||
SubscriptionInfo::getDisplayName).toArray(String[]::new);
|
mContext).values().stream().toArray(String[]::new);
|
||||||
mEapSimSpinner.setAdapter(getSpinnerAdapter(displayNames));
|
mEapSimSpinner.setAdapter(getSpinnerAdapter(displayNames));
|
||||||
mEapSimSpinner.setSelection(0 /* position */);
|
mEapSimSpinner.setSelection(0 /* position */);
|
||||||
if (displayNames.length == 1) {
|
if (displayNames.length == 1) {
|
||||||
|
@@ -67,6 +67,7 @@ import androidx.annotation.VisibleForTesting;
|
|||||||
|
|
||||||
import com.android.settings.ProxySelector;
|
import com.android.settings.ProxySelector;
|
||||||
import com.android.settings.R;
|
import com.android.settings.R;
|
||||||
|
import com.android.settings.network.SubscriptionUtil;
|
||||||
import com.android.settings.wifi.details2.WifiPrivacyPreferenceController2;
|
import com.android.settings.wifi.details2.WifiPrivacyPreferenceController2;
|
||||||
import com.android.settings.wifi.dpp.WifiDppUtils;
|
import com.android.settings.wifi.dpp.WifiDppUtils;
|
||||||
import com.android.settingslib.Utils;
|
import com.android.settingslib.Utils;
|
||||||
@@ -1437,8 +1438,8 @@ public class WifiConfigController2 implements TextWatcher,
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Shows display name of each active subscription.
|
// Shows display name of each active subscription.
|
||||||
final String[] displayNames = mActiveSubscriptionInfos.stream().map(
|
final String[] displayNames = SubscriptionUtil.getUniqueSubscriptionDisplayNames(
|
||||||
SubscriptionInfo::getDisplayName).toArray(String[]::new);
|
mContext).values().stream().toArray(String[]::new);
|
||||||
mEapSimSpinner.setAdapter(getSpinnerAdapter(displayNames));
|
mEapSimSpinner.setAdapter(getSpinnerAdapter(displayNames));
|
||||||
mEapSimSpinner.setSelection(0 /* position */);
|
mEapSimSpinner.setSelection(0 /* position */);
|
||||||
if (displayNames.length == 1) {
|
if (displayNames.length == 1) {
|
||||||
|
@@ -163,7 +163,8 @@ public class WifiCallingSettings extends InstrumentedFragment implements HelpRes
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public CharSequence getPageTitle(int position) {
|
public CharSequence getPageTitle(int position) {
|
||||||
return String.valueOf(mSil.get(position).getDisplayName());
|
return String.valueOf(SubscriptionUtil.getUniqueSubscriptionDisplayName(
|
||||||
|
mSil.get(position), getContext()));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@@ -69,6 +69,7 @@ import com.android.settings.Utils;
|
|||||||
import com.android.settings.core.FeatureFlags;
|
import com.android.settings.core.FeatureFlags;
|
||||||
import com.android.settings.core.PreferenceControllerMixin;
|
import com.android.settings.core.PreferenceControllerMixin;
|
||||||
import com.android.settings.datausage.WifiDataUsageSummaryPreferenceController;
|
import com.android.settings.datausage.WifiDataUsageSummaryPreferenceController;
|
||||||
|
import com.android.settings.network.SubscriptionUtil;
|
||||||
import com.android.settings.widget.EntityHeaderController;
|
import com.android.settings.widget.EntityHeaderController;
|
||||||
import com.android.settings.wifi.WifiDialog2;
|
import com.android.settings.wifi.WifiDialog2;
|
||||||
import com.android.settings.wifi.WifiDialog2.WifiDialog2Listener;
|
import com.android.settings.wifi.WifiDialog2.WifiDialog2Listener;
|
||||||
@@ -696,8 +697,10 @@ public class WifiDetailPreferenceController2 extends AbstractPreferenceControlle
|
|||||||
final int defaultDataSubscriptionId = SubscriptionManager.getDefaultDataSubscriptionId();
|
final int defaultDataSubscriptionId = SubscriptionManager.getDefaultDataSubscriptionId();
|
||||||
if (activeSubscriptionInfos != null) {
|
if (activeSubscriptionInfos != null) {
|
||||||
for (SubscriptionInfo subscriptionInfo : activeSubscriptionInfos) {
|
for (SubscriptionInfo subscriptionInfo : activeSubscriptionInfos) {
|
||||||
|
final CharSequence displayName = SubscriptionUtil.getUniqueSubscriptionDisplayName(
|
||||||
|
subscriptionInfo, mContext);
|
||||||
if (config.carrierId == subscriptionInfo.getCarrierId()) {
|
if (config.carrierId == subscriptionInfo.getCarrierId()) {
|
||||||
mEapSimSubscriptionPref.setSummary(subscriptionInfo.getDisplayName());
|
mEapSimSubscriptionPref.setSummary(displayName);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -705,7 +708,7 @@ public class WifiDetailPreferenceController2 extends AbstractPreferenceControlle
|
|||||||
// defaultDataSubscriptionId.
|
// defaultDataSubscriptionId.
|
||||||
if (config.carrierId == TelephonyManager.UNKNOWN_CARRIER_ID
|
if (config.carrierId == TelephonyManager.UNKNOWN_CARRIER_ID
|
||||||
&& defaultDataSubscriptionId == subscriptionInfo.getSubscriptionId()) {
|
&& defaultDataSubscriptionId == subscriptionInfo.getSubscriptionId()) {
|
||||||
mEapSimSubscriptionPref.setSummary(subscriptionInfo.getDisplayName());
|
mEapSimSubscriptionPref.setSummary(displayName);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -155,6 +155,7 @@ public class MobileNetworkSummaryControllerTest {
|
|||||||
when(sub1.getSubscriptionId()).thenReturn(1);
|
when(sub1.getSubscriptionId()).thenReturn(1);
|
||||||
when(sub1.getDisplayName()).thenReturn("sub1");
|
when(sub1.getDisplayName()).thenReturn("sub1");
|
||||||
SubscriptionUtil.setAvailableSubscriptionsForTesting(Arrays.asList(sub1));
|
SubscriptionUtil.setAvailableSubscriptionsForTesting(Arrays.asList(sub1));
|
||||||
|
SubscriptionUtil.setActiveSubscriptionsForTesting(Arrays.asList(sub1));
|
||||||
mController.displayPreference(mPreferenceScreen);
|
mController.displayPreference(mPreferenceScreen);
|
||||||
mController.onResume();
|
mController.onResume();
|
||||||
assertThat(mController.getSummary()).isEqualTo("sub1");
|
assertThat(mController.getSummary()).isEqualTo("sub1");
|
||||||
@@ -194,6 +195,7 @@ public class MobileNetworkSummaryControllerTest {
|
|||||||
when(sub1.getSubscriptionId()).thenReturn(1);
|
when(sub1.getSubscriptionId()).thenReturn(1);
|
||||||
when(sub1.getDisplayName()).thenReturn("sub1");
|
when(sub1.getDisplayName()).thenReturn("sub1");
|
||||||
SubscriptionUtil.setAvailableSubscriptionsForTesting(Arrays.asList(sub1));
|
SubscriptionUtil.setAvailableSubscriptionsForTesting(Arrays.asList(sub1));
|
||||||
|
SubscriptionUtil.setActiveSubscriptionsForTesting(Arrays.asList(sub1));
|
||||||
when(mSubscriptionManager.isActiveSubscriptionId(eq(1))).thenReturn(false);
|
when(mSubscriptionManager.isActiveSubscriptionId(eq(1))).thenReturn(false);
|
||||||
when(mSubscriptionManager.canDisablePhysicalSubscription()).thenReturn(true);
|
when(mSubscriptionManager.canDisablePhysicalSubscription()).thenReturn(true);
|
||||||
|
|
||||||
@@ -238,6 +240,7 @@ public class MobileNetworkSummaryControllerTest {
|
|||||||
when(sub2.getDisplayName()).thenReturn("sub2");
|
when(sub2.getDisplayName()).thenReturn("sub2");
|
||||||
|
|
||||||
SubscriptionUtil.setAvailableSubscriptionsForTesting(Arrays.asList(sub1, sub2));
|
SubscriptionUtil.setAvailableSubscriptionsForTesting(Arrays.asList(sub1, sub2));
|
||||||
|
SubscriptionUtil.setActiveSubscriptionsForTesting(Arrays.asList(sub1, sub2));
|
||||||
mController.displayPreference(mPreferenceScreen);
|
mController.displayPreference(mPreferenceScreen);
|
||||||
mController.onResume();
|
mController.onResume();
|
||||||
assertThat(mController.getSummary()).isEqualTo("2 SIMs");
|
assertThat(mController.getSummary()).isEqualTo("2 SIMs");
|
||||||
@@ -267,6 +270,7 @@ public class MobileNetworkSummaryControllerTest {
|
|||||||
when(sub2.getDisplayName()).thenReturn("sub2");
|
when(sub2.getDisplayName()).thenReturn("sub2");
|
||||||
|
|
||||||
SubscriptionUtil.setAvailableSubscriptionsForTesting(Arrays.asList(sub1));
|
SubscriptionUtil.setAvailableSubscriptionsForTesting(Arrays.asList(sub1));
|
||||||
|
SubscriptionUtil.setActiveSubscriptionsForTesting(Arrays.asList(sub1));
|
||||||
mController.displayPreference(mPreferenceScreen);
|
mController.displayPreference(mPreferenceScreen);
|
||||||
mController.onResume();
|
mController.onResume();
|
||||||
assertThat(mController.getSummary()).isEqualTo("sub1");
|
assertThat(mController.getSummary()).isEqualTo("sub1");
|
||||||
@@ -295,6 +299,7 @@ public class MobileNetworkSummaryControllerTest {
|
|||||||
when(sub2.getDisplayName()).thenReturn("sub2");
|
when(sub2.getDisplayName()).thenReturn("sub2");
|
||||||
|
|
||||||
SubscriptionUtil.setAvailableSubscriptionsForTesting(Arrays.asList(sub1, sub2));
|
SubscriptionUtil.setAvailableSubscriptionsForTesting(Arrays.asList(sub1, sub2));
|
||||||
|
SubscriptionUtil.setActiveSubscriptionsForTesting(Arrays.asList(sub1, sub2));
|
||||||
FeatureFlagUtils.setEnabled(mContext, FeatureFlagUtils.SETTINGS_PROVIDER_MODEL, true);
|
FeatureFlagUtils.setEnabled(mContext, FeatureFlagUtils.SETTINGS_PROVIDER_MODEL, true);
|
||||||
mController.displayPreference(mPreferenceScreen);
|
mController.displayPreference(mPreferenceScreen);
|
||||||
mController.onResume();
|
mController.onResume();
|
||||||
|
@@ -33,6 +33,7 @@ import android.content.DialogInterface;
|
|||||||
|
|
||||||
import androidx.appcompat.app.AlertDialog;
|
import androidx.appcompat.app.AlertDialog;
|
||||||
|
|
||||||
|
import com.android.settings.network.SubscriptionUtil;
|
||||||
import com.android.settings.testutils.shadow.ShadowAlertDialogCompat;
|
import com.android.settings.testutils.shadow.ShadowAlertDialogCompat;
|
||||||
|
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
@@ -40,6 +41,8 @@ import org.junit.runner.RunWith;
|
|||||||
import org.robolectric.RobolectricTestRunner;
|
import org.robolectric.RobolectricTestRunner;
|
||||||
import org.robolectric.annotation.Config;
|
import org.robolectric.annotation.Config;
|
||||||
|
|
||||||
|
import java.util.Arrays;
|
||||||
|
|
||||||
@RunWith(RobolectricTestRunner.class)
|
@RunWith(RobolectricTestRunner.class)
|
||||||
@Config(shadows = ShadowAlertDialogCompat.class)
|
@Config(shadows = ShadowAlertDialogCompat.class)
|
||||||
public class PreferredSimDialogFragmentTest extends
|
public class PreferredSimDialogFragmentTest extends
|
||||||
@@ -72,6 +75,7 @@ public class PreferredSimDialogFragmentTest extends
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void onCreateDialog_twoSimsSelectFirst_correctMessage() {
|
public void onCreateDialog_twoSimsSelectFirst_correctMessage() {
|
||||||
|
SubscriptionUtil.setActiveSubscriptionsForTesting(Arrays.asList(mSim1, mSim2));
|
||||||
mIntent.putExtra(PREFERRED_SIM, 0);
|
mIntent.putExtra(PREFERRED_SIM, 0);
|
||||||
|
|
||||||
final AlertDialog alertDialog = startDialog();
|
final AlertDialog alertDialog = startDialog();
|
||||||
@@ -83,6 +87,7 @@ public class PreferredSimDialogFragmentTest extends
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void onCreateDialog_twoSimsSelectSecond_correctMessage() {
|
public void onCreateDialog_twoSimsSelectSecond_correctMessage() {
|
||||||
|
SubscriptionUtil.setActiveSubscriptionsForTesting(Arrays.asList(mSim1, mSim2));
|
||||||
mIntent.putExtra(PREFERRED_SIM, 1);
|
mIntent.putExtra(PREFERRED_SIM, 1);
|
||||||
|
|
||||||
final AlertDialog alertDialog = startDialog();
|
final AlertDialog alertDialog = startDialog();
|
||||||
|
@@ -62,6 +62,7 @@ import android.telephony.TelephonyManager;
|
|||||||
import android.util.DisplayMetrics;
|
import android.util.DisplayMetrics;
|
||||||
|
|
||||||
import com.android.settings.R;
|
import com.android.settings.R;
|
||||||
|
import com.android.settings.network.SubscriptionUtil;
|
||||||
import com.android.settings.testutils.shadow.ShadowAlertDialogCompat;
|
import com.android.settings.testutils.shadow.ShadowAlertDialogCompat;
|
||||||
|
|
||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
@@ -73,6 +74,8 @@ import org.mockito.MockitoAnnotations;
|
|||||||
import org.robolectric.RobolectricTestRunner;
|
import org.robolectric.RobolectricTestRunner;
|
||||||
import org.robolectric.annotation.Config;
|
import org.robolectric.annotation.Config;
|
||||||
|
|
||||||
|
import java.util.Arrays;
|
||||||
|
|
||||||
@RunWith(RobolectricTestRunner.class)
|
@RunWith(RobolectricTestRunner.class)
|
||||||
@Config(shadows = ShadowAlertDialogCompat.class)
|
@Config(shadows = ShadowAlertDialogCompat.class)
|
||||||
public class SimSelectNotificationTest {
|
public class SimSelectNotificationTest {
|
||||||
@@ -117,6 +120,7 @@ public class SimSelectNotificationTest {
|
|||||||
.thenReturn(mNotificationManager);
|
.thenReturn(mNotificationManager);
|
||||||
when(mContext.getSystemService(Context.TELEPHONY_SERVICE))
|
when(mContext.getSystemService(Context.TELEPHONY_SERVICE))
|
||||||
.thenReturn(mTelephonyManager);
|
.thenReturn(mTelephonyManager);
|
||||||
|
when(mContext.getSystemService(SubscriptionManager.class)).thenReturn(mSubscriptionManager);
|
||||||
when(mContext.getSystemService(Context.TELEPHONY_SUBSCRIPTION_SERVICE))
|
when(mContext.getSystemService(Context.TELEPHONY_SUBSCRIPTION_SERVICE))
|
||||||
.thenReturn(mSubscriptionManager);
|
.thenReturn(mSubscriptionManager);
|
||||||
when(mContext.getApplicationInfo()).thenReturn(new ApplicationInfo());
|
when(mContext.getApplicationInfo()).thenReturn(new ApplicationInfo());
|
||||||
@@ -126,8 +130,10 @@ public class SimSelectNotificationTest {
|
|||||||
|
|
||||||
when(mTelephonyManager.createForSubscriptionId(anyInt())).thenReturn(mTelephonyManager);
|
when(mTelephonyManager.createForSubscriptionId(anyInt())).thenReturn(mTelephonyManager);
|
||||||
when(mTelephonyManager.isDataEnabledForApn(TYPE_MMS)).thenReturn(false);
|
when(mTelephonyManager.isDataEnabledForApn(TYPE_MMS)).thenReturn(false);
|
||||||
|
SubscriptionUtil.setActiveSubscriptionsForTesting(Arrays.asList(mSubInfo));
|
||||||
when(mSubscriptionManager.isActiveSubscriptionId(mSubId)).thenReturn(true);
|
when(mSubscriptionManager.isActiveSubscriptionId(mSubId)).thenReturn(true);
|
||||||
when(mSubscriptionManager.getActiveSubscriptionInfo(mSubId)).thenReturn(mSubInfo);
|
when(mSubscriptionManager.getActiveSubscriptionInfo(mSubId)).thenReturn(mSubInfo);
|
||||||
|
when(mSubInfo.getSubscriptionId()).thenReturn(mSubId);
|
||||||
when(mSubInfo.getDisplayName()).thenReturn(mFakeDisplayName);
|
when(mSubInfo.getDisplayName()).thenReturn(mFakeDisplayName);
|
||||||
when(mContext.getResources()).thenReturn(mResources);
|
when(mContext.getResources()).thenReturn(mResources);
|
||||||
|
|
||||||
|
@@ -830,6 +830,8 @@ public class WifiConfigController2Test {
|
|||||||
when(mWifiEntry.getSecurity()).thenReturn(WifiEntry.SECURITY_EAP);
|
when(mWifiEntry.getSecurity()).thenReturn(WifiEntry.SECURITY_EAP);
|
||||||
final SubscriptionInfo subscriptionInfo = mock(SubscriptionInfo.class);
|
final SubscriptionInfo subscriptionInfo = mock(SubscriptionInfo.class);
|
||||||
final int carrierId = 6;
|
final int carrierId = 6;
|
||||||
|
when(subscriptionInfo.getSubscriptionId()).thenReturn(carrierId);
|
||||||
|
when(subscriptionInfo.getDisplayName()).thenReturn("FAKE-CARRIER");
|
||||||
when(subscriptionInfo.getCarrierId()).thenReturn(carrierId);
|
when(subscriptionInfo.getCarrierId()).thenReturn(carrierId);
|
||||||
when(subscriptionInfo.getCarrierName()).thenReturn("FAKE-CARRIER");
|
when(subscriptionInfo.getCarrierName()).thenReturn("FAKE-CARRIER");
|
||||||
mShadowSubscriptionManager.setActiveSubscriptionInfoList(Arrays.asList(subscriptionInfo));
|
mShadowSubscriptionManager.setActiveSubscriptionInfoList(Arrays.asList(subscriptionInfo));
|
||||||
|
@@ -625,6 +625,8 @@ public class WifiConfigControllerTest {
|
|||||||
when(mAccessPoint.getSecurity()).thenReturn(AccessPoint.SECURITY_EAP);
|
when(mAccessPoint.getSecurity()).thenReturn(AccessPoint.SECURITY_EAP);
|
||||||
final SubscriptionInfo subscriptionInfo = mock(SubscriptionInfo.class);
|
final SubscriptionInfo subscriptionInfo = mock(SubscriptionInfo.class);
|
||||||
final int carrierId = 6;
|
final int carrierId = 6;
|
||||||
|
when(subscriptionInfo.getSubscriptionId()).thenReturn(carrierId);
|
||||||
|
when(subscriptionInfo.getDisplayName()).thenReturn("FAKE-CARRIER");
|
||||||
when(subscriptionInfo.getCarrierId()).thenReturn(carrierId);
|
when(subscriptionInfo.getCarrierId()).thenReturn(carrierId);
|
||||||
when(subscriptionInfo.getCarrierName()).thenReturn("FAKE-CARRIER");
|
when(subscriptionInfo.getCarrierName()).thenReturn("FAKE-CARRIER");
|
||||||
mShadowSubscriptionManager.setActiveSubscriptionInfoList(Arrays.asList(subscriptionInfo));
|
mShadowSubscriptionManager.setActiveSubscriptionInfoList(Arrays.asList(subscriptionInfo));
|
||||||
|
@@ -54,6 +54,8 @@ import java.util.Collections;
|
|||||||
public class WifiCallingSettingsTest {
|
public class WifiCallingSettingsTest {
|
||||||
private static final int SUB_ID1 = 111;
|
private static final int SUB_ID1 = 111;
|
||||||
private static final int SUB_ID2 = 222;
|
private static final int SUB_ID2 = 222;
|
||||||
|
private static final CharSequence DISPLAY_NAME1 = "Carrier1";
|
||||||
|
private static final CharSequence DISPLAY_NAME2 = "Carrier2";
|
||||||
|
|
||||||
private Context mContext;
|
private Context mContext;
|
||||||
|
|
||||||
@@ -87,6 +89,7 @@ public class WifiCallingSettingsTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void setupFragment_noSubscriptions_noCrash() {
|
public void setupFragment_noSubscriptions_noCrash() {
|
||||||
|
SubscriptionUtil.setActiveSubscriptionsForTesting(null);
|
||||||
FragmentController.setupFragment(mFragment, FragmentActivity.class, 0 /* containerViewId*/,
|
FragmentController.setupFragment(mFragment, FragmentActivity.class, 0 /* containerViewId*/,
|
||||||
null /* bundle */);
|
null /* bundle */);
|
||||||
}
|
}
|
||||||
@@ -119,6 +122,8 @@ public class WifiCallingSettingsTest {
|
|||||||
final SubscriptionInfo info2 = mock(SubscriptionInfo.class);
|
final SubscriptionInfo info2 = mock(SubscriptionInfo.class);
|
||||||
when(info1.getSubscriptionId()).thenReturn(SUB_ID1);
|
when(info1.getSubscriptionId()).thenReturn(SUB_ID1);
|
||||||
when(info2.getSubscriptionId()).thenReturn(SUB_ID2);
|
when(info2.getSubscriptionId()).thenReturn(SUB_ID2);
|
||||||
|
when(info1.getDisplayName()).thenReturn(DISPLAY_NAME1);
|
||||||
|
when(info2.getDisplayName()).thenReturn(DISPLAY_NAME2);
|
||||||
|
|
||||||
SubscriptionUtil.setActiveSubscriptionsForTesting(new ArrayList<>(
|
SubscriptionUtil.setActiveSubscriptionsForTesting(new ArrayList<>(
|
||||||
Arrays.asList(info1, info2)));
|
Arrays.asList(info1, info2)));
|
||||||
|
@@ -61,10 +61,13 @@ import org.mockito.Mock;
|
|||||||
import org.mockito.MockitoAnnotations;
|
import org.mockito.MockitoAnnotations;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.Arrays;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@RunWith(AndroidJUnit4.class)
|
@RunWith(AndroidJUnit4.class)
|
||||||
public class ProviderModelSliceHelperTest {
|
public class ProviderModelSliceHelperTest {
|
||||||
|
private static final int DEFAULT_SUBID = 1;
|
||||||
|
|
||||||
private Context mContext;
|
private Context mContext;
|
||||||
private MockProviderModelSliceHelper mProviderModelSliceHelper;
|
private MockProviderModelSliceHelper mProviderModelSliceHelper;
|
||||||
private PersistableBundle mBundle;
|
private PersistableBundle mBundle;
|
||||||
@@ -168,10 +171,15 @@ public class ProviderModelSliceHelperTest {
|
|||||||
String expectDisplayName = "Name1";
|
String expectDisplayName = "Name1";
|
||||||
String expectedSubtitle = "5G";
|
String expectedSubtitle = "5G";
|
||||||
String networkType = "5G";
|
String networkType = "5G";
|
||||||
int defaultDataSubId = SubscriptionManager.getDefaultDataSubscriptionId();
|
|
||||||
|
final int defaultDataSubId = SubscriptionManager.getDefaultDataSubscriptionId();
|
||||||
|
when(mDefaultDataSubscriptionInfo.getSubscriptionId()).thenReturn(defaultDataSubId);
|
||||||
|
when(mDefaultDataSubscriptionInfo.getDisplayName()).thenReturn(expectDisplayName);
|
||||||
when(mSubscriptionManager.getActiveSubscriptionInfo(defaultDataSubId)).thenReturn(
|
when(mSubscriptionManager.getActiveSubscriptionInfo(defaultDataSubId)).thenReturn(
|
||||||
mDefaultDataSubscriptionInfo);
|
mDefaultDataSubscriptionInfo);
|
||||||
when(mDefaultDataSubscriptionInfo.getDisplayName()).thenReturn(expectDisplayName);
|
when(mSubscriptionManager.getActiveSubscriptionInfoList()).thenReturn(
|
||||||
|
Arrays.asList(mDefaultDataSubscriptionInfo));
|
||||||
|
|
||||||
when(mServiceState.getState()).thenReturn(ServiceState.STATE_IN_SERVICE);
|
when(mServiceState.getState()).thenReturn(ServiceState.STATE_IN_SERVICE);
|
||||||
mBundle.putBoolean(CarrierConfigManager.KEY_INFLATE_SIGNAL_STRENGTH_BOOL, false);
|
mBundle.putBoolean(CarrierConfigManager.KEY_INFLATE_SIGNAL_STRENGTH_BOOL, false);
|
||||||
addNetworkTransportType(NetworkCapabilities.TRANSPORT_WIFI);
|
addNetworkTransportType(NetworkCapabilities.TRANSPORT_WIFI);
|
||||||
@@ -194,10 +202,13 @@ public class ProviderModelSliceHelperTest {
|
|||||||
String expectedSubtitle = ResourcesUtils.getResourcesString(mContext,
|
String expectedSubtitle = ResourcesUtils.getResourcesString(mContext,
|
||||||
"preference_summary_default_combination", connectedText, networkType);
|
"preference_summary_default_combination", connectedText, networkType);
|
||||||
|
|
||||||
int defaultDataSubId = SubscriptionManager.getDefaultDataSubscriptionId();
|
final int defaultDataSubId = SubscriptionManager.getDefaultDataSubscriptionId();
|
||||||
|
when(mDefaultDataSubscriptionInfo.getSubscriptionId()).thenReturn(defaultDataSubId);
|
||||||
|
when(mDefaultDataSubscriptionInfo.getDisplayName()).thenReturn(expectDisplayName);
|
||||||
when(mSubscriptionManager.getActiveSubscriptionInfo(defaultDataSubId)).thenReturn(
|
when(mSubscriptionManager.getActiveSubscriptionInfo(defaultDataSubId)).thenReturn(
|
||||||
mDefaultDataSubscriptionInfo);
|
mDefaultDataSubscriptionInfo);
|
||||||
when(mDefaultDataSubscriptionInfo.getDisplayName()).thenReturn(expectDisplayName);
|
when(mSubscriptionManager.getActiveSubscriptionInfoList()).thenReturn(
|
||||||
|
Arrays.asList(mDefaultDataSubscriptionInfo));
|
||||||
when(mServiceState.getState()).thenReturn(ServiceState.STATE_IN_SERVICE);
|
when(mServiceState.getState()).thenReturn(ServiceState.STATE_IN_SERVICE);
|
||||||
mBundle.putBoolean(CarrierConfigManager.KEY_INFLATE_SIGNAL_STRENGTH_BOOL, false);
|
mBundle.putBoolean(CarrierConfigManager.KEY_INFLATE_SIGNAL_STRENGTH_BOOL, false);
|
||||||
addNetworkTransportType(NetworkCapabilities.TRANSPORT_CELLULAR);
|
addNetworkTransportType(NetworkCapabilities.TRANSPORT_CELLULAR);
|
||||||
|
Reference in New Issue
Block a user