Unique display name util uses available, rather than active, subscriptions.
Test: atest -c SettingsUnitTest
Bug: 178560175
Change-Id: Ief035cf3de3ac03fe348095f36bfb78a41f93d2c
(cherry picked from commit c14e3b3115
)
Merged-In: Ief035cf3de3ac03fe348095f36bfb78a41f93d2c
This commit is contained in:
@@ -177,6 +177,7 @@ public class InternetPreferenceController extends AbstractPreferenceController i
|
||||
if (subInfo == null) {
|
||||
return;
|
||||
}
|
||||
mPreference.setSummary(subInfo.getDisplayName());
|
||||
mPreference.setSummary(SubscriptionUtil.getUniqueSubscriptionDisplayName(
|
||||
subInfo, mContext));
|
||||
}
|
||||
}
|
||||
|
@@ -182,8 +182,9 @@ public class ProviderModelSlice extends WifiSlice {
|
||||
}
|
||||
final int defaultSubId = subscriptionManager.getDefaultDataSubscriptionId();
|
||||
log("defaultSubId:" + defaultSubId);
|
||||
if (!SubscriptionManager.isUsableSubscriptionId(defaultSubId)) {
|
||||
return; // No subscription - do nothing.
|
||||
|
||||
if (!defaultSubscriptionIsUsable(defaultSubId)) {
|
||||
return;
|
||||
}
|
||||
|
||||
boolean isToggleAction = intent.hasExtra(EXTRA_TOGGLE_STATE);
|
||||
@@ -258,4 +259,12 @@ public class ProviderModelSlice extends WifiSlice {
|
||||
.setTitle(mContext.getText(R.string.ethernet))
|
||||
.setSubtitle(mContext.getText(R.string.cannot_switch_networks_while_connected));
|
||||
}
|
||||
|
||||
/**
|
||||
* Wrap the subscriptionManager call for test mocking.
|
||||
*/
|
||||
@VisibleForTesting
|
||||
protected boolean defaultSubscriptionIsUsable(int defaultSubId) {
|
||||
return SubscriptionManager.isUsableSubscriptionId(defaultSubId);
|
||||
}
|
||||
}
|
||||
|
@@ -242,12 +242,14 @@ public class SubscriptionUtil {
|
||||
public CharSequence uniqueName;
|
||||
}
|
||||
|
||||
final SubscriptionManager subscriptionManager =
|
||||
context.getSystemService(SubscriptionManager.class);
|
||||
// Map of SubscriptionId to DisplayName
|
||||
final Supplier<Stream<DisplayInfo>> originalInfos =
|
||||
() -> getActiveSubscriptions(subscriptionManager)
|
||||
() -> getAvailableSubscriptions(context)
|
||||
.stream()
|
||||
.filter(i -> {
|
||||
// Filter out null values.
|
||||
return (i != null && i.getDisplayName() != null);
|
||||
})
|
||||
.map(i -> {
|
||||
DisplayInfo info = new DisplayInfo();
|
||||
info.subscriptionInfo = i;
|
||||
|
@@ -30,6 +30,7 @@ import androidx.preference.Preference;
|
||||
import androidx.preference.SwitchPreference;
|
||||
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.network.SubscriptionUtil;
|
||||
|
||||
import java.util.Objects;
|
||||
|
||||
@@ -119,7 +120,8 @@ public class BackupCallingPreferenceController extends TelephonyTogglePreference
|
||||
|
||||
private String getLatestSummary() {
|
||||
SubscriptionInfo subInfo = getSubscriptionInfo();
|
||||
return Objects.toString((subInfo == null) ? null : subInfo.getDisplayName(), "");
|
||||
return Objects.toString((subInfo == null) ? null
|
||||
: SubscriptionUtil.getUniqueSubscriptionDisplayName(subInfo, mContext), "");
|
||||
}
|
||||
|
||||
private void updateSummary(String displayName) {
|
||||
|
@@ -104,7 +104,7 @@ public class NetworkProviderBackupCallingPreferenceController extends
|
||||
}
|
||||
SwitchPreference pref = new SwitchPreference(mContext);
|
||||
prefCtrl.updateState(pref);
|
||||
pref.setTitle(subInfo.getDisplayName());
|
||||
pref.setTitle(SubscriptionUtil.getUniqueSubscriptionDisplayName(subInfo, mContext));
|
||||
return pref;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user