Merge "Use active instead of available subscriptions in 2 places" into qt-dev

am: e4669acc91

Change-Id: Id0c2d5b231bdbcda06cd99172783f8c23df61401
This commit is contained in:
Antony Sargent
2019-04-09 11:41:26 -07:00
committed by android-build-merger
6 changed files with 86 additions and 40 deletions

View File

@@ -27,16 +27,33 @@ import java.util.Iterator;
import java.util.List;
public class SubscriptionUtil {
private static List<SubscriptionInfo> sResultsForTesting;
private static List<SubscriptionInfo> sAvailableResultsForTesting;
private static List<SubscriptionInfo> sActiveResultsForTesting;
@VisibleForTesting
public static void setAvailableSubscriptionsForTesting(List<SubscriptionInfo> results) {
sResultsForTesting = results;
sAvailableResultsForTesting = results;
}
@VisibleForTesting
public static void setActiveSubscriptionsForTesting(List<SubscriptionInfo> results) {
sActiveResultsForTesting = results;
}
public static List<SubscriptionInfo> getActiveSubscriptions(SubscriptionManager manager) {
if (sActiveResultsForTesting != null) {
return sActiveResultsForTesting;
}
List<SubscriptionInfo> subscriptions = manager.getActiveSubscriptionInfoList(true);
if (subscriptions == null) {
return new ArrayList<>();
}
return subscriptions;
}
public static List<SubscriptionInfo> getAvailableSubscriptions(SubscriptionManager manager) {
if (sResultsForTesting != null) {
return sResultsForTesting;
if (sAvailableResultsForTesting != null) {
return sAvailableResultsForTesting;
}
List<SubscriptionInfo> subscriptions = manager.getSelectableSubscriptionInfoList();
if (subscriptions == null) {

View File

@@ -129,7 +129,7 @@ public class SubscriptionsPreferenceController extends AbstractPreferenceControl
mSubscriptionPreferences = new ArrayMap<>();
int order = mStartOrder;
for (SubscriptionInfo info : SubscriptionUtil.getAvailableSubscriptions(mManager)) {
for (SubscriptionInfo info : SubscriptionUtil.getActiveSubscriptions(mManager)) {
final int subId = info.getSubscriptionId();
Preference pref = existingPrefs.remove(subId);
if (pref == null) {
@@ -216,7 +216,7 @@ public class SubscriptionsPreferenceController extends AbstractPreferenceControl
if (mSubscriptionsListener.isAirplaneModeOn()) {
return false;
}
return SubscriptionUtil.getAvailableSubscriptions(mManager).size() >= 2;
return SubscriptionUtil.getActiveSubscriptions(mManager).size() >= 2;
}
@Override

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.