Use active instead of available subscriptions in 2 places

In a couple of places we were showing DSDS UI using the list of
*available* subscriptions instead of the list of *active* ones. This
difference is relevant for instance if you have multiple eSIM profiles -
in typical hardware only one of those can be active at one time. This CL
fixes that problem in two places:

1) The header at the top of the Network & internet page

2) The ListPreference's on the mobile network detail page for selecting
   the default subscription for Calls / SMS.

Fixes: 129673046
Test: make RunSettingsRoboTests
Change-Id: I891c856bdd4516286fcee1067684d9161ceaca80
This commit is contained in:
Antony Sargent
2019-04-08 13:42:14 -07:00
parent 81f31ef4d3
commit 4646fe8e63
6 changed files with 86 additions and 40 deletions

View File

@@ -75,7 +75,7 @@ public abstract class DefaultSubscriptionController extends BasePreferenceContro
@Override
public int getAvailabilityStatus() {
final List<SubscriptionInfo> subs = SubscriptionUtil.getAvailableSubscriptions(mManager);
final List<SubscriptionInfo> subs = SubscriptionUtil.getActiveSubscriptions(mManager);
if (subs.size() > 1) {
return AVAILABLE;
} else {
@@ -121,7 +121,7 @@ public abstract class DefaultSubscriptionController extends BasePreferenceContro
}
mPreference.setVisible(true);
final List<SubscriptionInfo> subs = SubscriptionUtil.getAvailableSubscriptions(mManager);
final List<SubscriptionInfo> subs = SubscriptionUtil.getActiveSubscriptions(mManager);
// We'll have one entry for each available subscription, plus one for a "ask me every
// time" entry at the end.