Correct the way settings deals with subscriptions.
Change-Id: I19e9dfaf248fce7376b124ee91de7e73fdc99fb3
diff --git a/src/com/android/settings/DataUsageSummary.java b/src/com/android/settings/DataUsageSummary.java
index 6e72ef7..27a486c 100644
--- a/src/com/android/settings/DataUsageSummary.java
+++ b/src/com/android/settings/DataUsageSummary.java
@@ -717,9 +717,9 @@
int simCount = mTelephonyManager.getSimCount();
- for (int i = 0; i < simCount; i++) {
- final SubscriptionInfo sir = Utils.findRecordBySlotId(context, i);
- if (sir != null) {
+ List<SubscriptionInfo> sirs = mSubscriptionManager.getActiveSubscriptionInfoList();
+ if (sirs != null) {
+ for (SubscriptionInfo sir : sirs) {
addMobileTab(context, sir, (simCount > 1));
}
}
@@ -880,8 +880,8 @@
if (mCurrentTab != null && mCurrentTab.length() > TAB_MOBILE.length() ){
final int slotId = Integer.parseInt(mCurrentTab.substring(TAB_MOBILE.length(),
mCurrentTab.length()));
- final SubscriptionInfo sir = com.android.settings.Utils.findRecordBySlotId(context,
- slotId);
+ final SubscriptionInfo sir = mSubscriptionManager
+ .getActiveSubscriptionInfoForSimSlotIndex(slotId);
if (sir != null) {
seriesColor = sir.getIconTint();
@@ -1245,8 +1245,7 @@
return;
}
- final SubscriptionInfo nextSir = mSubscriptionManager.getActiveSubscriptionInfo(
- mSubscriptionManager.getDefaultDataSubId());
+ final SubscriptionInfo nextSir = mSubscriptionManager.getDefaultDataSubscriptionInfo();
// If the device is single SIM or is enabling data on the active data SIM then forgo
// the pop-up.
@@ -2784,22 +2783,7 @@
return -1;
}
- //SUB SELECT
- private boolean isMobileDataAvailable(long subId) {
- int[] subIds = SubscriptionManager.getSubId(PhoneConstants.SUB1);
- if (subIds != null && subIds[0] == subId) {
- return true;
- }
-
- subIds = SubscriptionManager.getSubId(PhoneConstants.SUB2);
- if (subIds != null && subIds[0] == subId) {
- return true;
- }
-
- subIds = SubscriptionManager.getSubId(PhoneConstants.SUB3);
- if (subIds != null && subIds[0] == subId) {
- return true;
- }
- return false;
+ private boolean isMobileDataAvailable(int subId) {
+ return mSubscriptionManager.getActiveSubscriptionInfo(subId) != null;
}
}