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:
Jeremy Goldman
2021-01-28 10:35:22 +08:00
parent 3717d5feda
commit 9e949b1920
19 changed files with 111 additions and 46 deletions

View File

@@ -177,6 +177,7 @@ public class InternetPreferenceController extends AbstractPreferenceController i
if (subInfo == null) {
return;
}
mPreference.setSummary(subInfo.getDisplayName());
mPreference.setSummary(SubscriptionUtil.getUniqueSubscriptionDisplayName(
subInfo, mContext));
}
}

View File

@@ -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);
}
}

View File

@@ -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;

View File

@@ -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) {

View File

@@ -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;
}