summaryrefslogtreecommitdiffstats
path: root/src/com/android/settings
diff options
context:
space:
mode:
authorWink Saville <wink@google.com>2014-11-20 20:27:34 +0000
committerWink Saville <wink@google.com>2014-11-20 20:27:34 +0000
commit9aa0dd69c53fabfbd4e894e5eca6c9b6d879fdd3 (patch)
treea97b5a13a8e108189f806fc02f77dd3807be0cda /src/com/android/settings
parent1285f74fcb6a8bf080c224e5a36db00ab1167d4c (diff)
downloadpackages_apps_Settings-9aa0dd69c53fabfbd4e894e5eca6c9b6d879fdd3.zip
packages_apps_Settings-9aa0dd69c53fabfbd4e894e5eca6c9b6d879fdd3.tar.gz
packages_apps_Settings-9aa0dd69c53fabfbd4e894e5eca6c9b6d879fdd3.tar.bz2
Revert "Additional changes to SubscriptionManager API as per API council."
This reverts commit 1285f74fcb6a8bf080c224e5a36db00ab1167d4c. Change-Id: I366556368a9c429d8c356bcdb8e29af9c6c4c71e
Diffstat (limited to 'src/com/android/settings')
-rw-r--r--src/com/android/settings/DataUsageSummary.java17
-rw-r--r--src/com/android/settings/IccLockSettings.java4
-rw-r--r--src/com/android/settings/SecuritySettings.java6
-rw-r--r--src/com/android/settings/Utils.java38
-rw-r--r--src/com/android/settings/deviceinfo/ImeiInformation.java13
-rw-r--r--src/com/android/settings/deviceinfo/SimStatus.java6
-rw-r--r--src/com/android/settings/sim/SimBootReceiver.java19
-rw-r--r--src/com/android/settings/sim/SimSettings.java68
8 files changed, 82 insertions, 89 deletions
diff --git a/src/com/android/settings/DataUsageSummary.java b/src/com/android/settings/DataUsageSummary.java
index cb9c54b..a625b47 100644
--- a/src/com/android/settings/DataUsageSummary.java
+++ b/src/com/android/settings/DataUsageSummary.java
@@ -195,7 +195,6 @@ public class DataUsageSummary extends HighlightingFragment implements Indexable
private INetworkStatsService mStatsService;
private NetworkPolicyManager mPolicyManager;
private TelephonyManager mTelephonyManager;
- private SubscriptionManager mSubscriptionManager;
private INetworkStatsSession mStatsSession;
@@ -287,14 +286,13 @@ public class DataUsageSummary extends HighlightingFragment implements Indexable
ServiceManager.getService(Context.NETWORK_STATS_SERVICE));
mPolicyManager = NetworkPolicyManager.from(context);
mTelephonyManager = TelephonyManager.from(context);
- mSubscriptionManager = SubscriptionManager.from(context);
mPrefs = getActivity().getSharedPreferences(PREF_FILE, Context.MODE_PRIVATE);
mPolicyEditor = new NetworkPolicyEditor(mPolicyManager);
mPolicyEditor.read();
- mSubInfoList = mSubscriptionManager.getActiveSubscriptionInfoList();
+ mSubInfoList = SimSettings.getSortedSubInfoList(getActivity());
mMobileTagMap = initMobileTabTag(mSubInfoList);
try {
@@ -944,7 +942,7 @@ public class DataUsageSummary extends HighlightingFragment implements Indexable
} else {
//SUB SELECT
isEnable = mTelephonyManager.getDataEnabled()
- && (subId == mSubscriptionManager.getDefaultDataSubId());
+ && (subId == SubscriptionManager.getDefaultDataSubId());
}
return isEnable;
}
@@ -1133,8 +1131,8 @@ public class DataUsageSummary extends HighlightingFragment implements Indexable
private void handleMultiSimDataDialog() {
final SubscriptionInfo currentSir = getCurrentTabSubInfo(getActivity());
- final SubscriptionInfo nextSir = mSubscriptionManager.getActiveSubscriptionInfo(
- mSubscriptionManager.getDefaultDataSubId());
+ final SubscriptionInfo nextSir = SubscriptionManager.getSubscriptionInfoForSubscriber(
+ SubscriptionManager.getDefaultDataSubId());
if (currentSir.getSubscriptionId() == nextSir.getSubscriptionId()) {
setMobileDataEnabled(true);
@@ -1151,7 +1149,7 @@ public class DataUsageSummary extends HighlightingFragment implements Indexable
builder.setPositiveButton(R.string.okay, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int id) {
- mSubscriptionManager.setDefaultDataSubId(currentSir.getSubscriptionId());
+ SubscriptionManager.setDefaultDataSubId(currentSir.getSubscriptionId());
setMobileDataEnabled(true);
updateBody();
}
@@ -2248,7 +2246,7 @@ public class DataUsageSummary extends HighlightingFragment implements Indexable
final NetworkTemplate template = intent.getParcelableExtra(EXTRA_NETWORK_TEMPLATE);
if (template == null) {
final int subId = intent.getIntExtra(PhoneConstants.SUBSCRIPTION_KEY,
- SubscriptionManager.INVALID_SUBSCRIPTION_ID);
+ SubscriptionManager.INVALID_SUB_ID);
if (SubscriptionManager.isValidSubId(subId)) {
return TAB_MOBILE + String.valueOf(subId);
}
@@ -2341,8 +2339,7 @@ public class DataUsageSummary extends HighlightingFragment implements Indexable
final ConnectivityManager conn = ConnectivityManager.from(context);
final TelephonyManager tele = TelephonyManager.from(context);
- final List<SubscriptionInfo> subInfoList =
- SubscriptionManager.from(context).getActiveSubscriptionInfoList();
+ final List<SubscriptionInfo> subInfoList = SubscriptionManager.getActiveSubscriptionInfoList();
// No activated Subscription
if (subInfoList == null) {
return false;
diff --git a/src/com/android/settings/IccLockSettings.java b/src/com/android/settings/IccLockSettings.java
index cfe27bb..d8744cc 100644
--- a/src/com/android/settings/IccLockSettings.java
+++ b/src/com/android/settings/IccLockSettings.java
@@ -215,7 +215,7 @@ public class IccLockSettings extends PreferenceActivity
mTabHost.clearAllTabs();
for (int i = 0; i < numSims; ++i) {
- final SubscriptionInfo subInfo = Utils.findRecordBySlotId(this, i);
+ final SubscriptionInfo subInfo = Utils.findRecordBySlotId(i);
mTabHost.addTab(buildTabSpec(String.valueOf(i),
String.valueOf(subInfo == null
? context.getString(R.string.sim_editor_title, i + 1)
@@ -469,7 +469,7 @@ public class IccLockSettings extends PreferenceActivity
@Override
public void onTabChanged(String tabId) {
final int slotId = Integer.parseInt(tabId);
- final SubscriptionInfo sir = Utils.findRecordBySlotId(getBaseContext(), slotId);
+ final SubscriptionInfo sir = Utils.findRecordBySlotId(slotId);
mPhone = (sir == null) ? null
: PhoneFactory.getPhone(SubscriptionManager.getPhoneId(sir.getSubscriptionId()));
diff --git a/src/com/android/settings/SecuritySettings.java b/src/com/android/settings/SecuritySettings.java
index 9b7b0cf..ab39689 100644
--- a/src/com/android/settings/SecuritySettings.java
+++ b/src/com/android/settings/SecuritySettings.java
@@ -111,7 +111,6 @@ public class SecuritySettings extends SettingsPreferenceFragment
private static final boolean ONLY_ONE_TRUST_AGENT = true;
private DevicePolicyManager mDPM;
- private SubscriptionManager mSubscriptionManager;
private ChooseLockSettingsHelper mChooseLockSettingsHelper;
private LockPatternUtils mLockPatternUtils;
@@ -371,10 +370,9 @@ public class SecuritySettings extends SettingsPreferenceFragment
/* Return true if a SIM is ready for locking.
* TODO: consider adding to TelephonyManager or SubscritpionManasger.
*/
- private boolean isSimReady() {
+ private static boolean isSimReady() {
int simState = TelephonyManager.SIM_STATE_UNKNOWN;
- final List<SubscriptionInfo> subInfoList =
- mSubscriptionManager.getActiveSubscriptionInfoList();
+ final List<SubscriptionInfo> subInfoList = SubscriptionManager.getActiveSubscriptionInfoList();
if (subInfoList != null) {
for (SubscriptionInfo subInfo : subInfoList) {
simState = TelephonyManager.getDefault().getSimState(subInfo.getSimSlotIndex());
diff --git a/src/com/android/settings/Utils.java b/src/com/android/settings/Utils.java
index f7aa566..e687beb 100644
--- a/src/com/android/settings/Utils.java
+++ b/src/com/android/settings/Utils.java
@@ -988,17 +988,15 @@ public final class Utils {
* finds a record with subId.
* Since the number of SIMs are few, an array is fine.
*/
- public static SubscriptionInfo findRecordBySubId(Context context, final int subId) {
+ public static SubscriptionInfo findRecordBySubId(final int subId) {
final List<SubscriptionInfo> subInfoList =
- SubscriptionManager.from(context).getActiveSubscriptionInfoList();
- if (subInfoList != null) {
- final int subInfoLength = subInfoList.size();
-
- for (int i = 0; i < subInfoLength; ++i) {
- final SubscriptionInfo sir = subInfoList.get(i);
- if (sir != null && sir.getSubscriptionId() == subId) {
- return sir;
- }
+ SubscriptionManager.getActiveSubscriptionInfoList();
+ final int subInfoLength = subInfoList.size();
+
+ for (int i = 0; i < subInfoLength; ++i) {
+ final SubscriptionInfo sir = subInfoList.get(i);
+ if (sir != null && sir.getSubscriptionId() == subId) {
+ return sir;
}
}
@@ -1009,18 +1007,16 @@ public final class Utils {
* finds a record with slotId.
* Since the number of SIMs are few, an array is fine.
*/
- public static SubscriptionInfo findRecordBySlotId(Context context, final int slotId) {
+ public static SubscriptionInfo findRecordBySlotId(final int slotId) {
final List<SubscriptionInfo> subInfoList =
- SubscriptionManager.from(context).getActiveSubscriptionInfoList();
- if (subInfoList != null) {
- final int subInfoLength = subInfoList.size();
-
- for (int i = 0; i < subInfoLength; ++i) {
- final SubscriptionInfo sir = subInfoList.get(i);
- if (sir.getSimSlotIndex() == slotId) {
- //Right now we take the first subscription on a SIM.
- return sir;
- }
+ SubscriptionManager.getActiveSubscriptionInfoList();
+ final int subInfoLength = subInfoList.size();
+
+ for (int i = 0; i < subInfoLength; ++i) {
+ final SubscriptionInfo sir = subInfoList.get(i);
+ if (sir.getSimSlotIndex() == slotId) {
+ //Right now we take the first subscription on a SIM.
+ return sir;
}
}
diff --git a/src/com/android/settings/deviceinfo/ImeiInformation.java b/src/com/android/settings/deviceinfo/ImeiInformation.java
index 72d3158..921ef8e 100644
--- a/src/com/android/settings/deviceinfo/ImeiInformation.java
+++ b/src/com/android/settings/deviceinfo/ImeiInformation.java
@@ -42,12 +42,9 @@ public class ImeiInformation extends PreferenceActivity {
private static final String KEY_IMEI = "imei";
private static final String KEY_IMEI_SV = "imei_sv";
- private SubscriptionManager mSubscriptionManager;
-
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
- mSubscriptionManager = SubscriptionManager.from(this);
final TelephonyManager telephonyManager =
(TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
initPreferenceScreen(telephonyManager.getSimCount());
@@ -103,17 +100,17 @@ public class ImeiInformation extends PreferenceActivity {
}
}
- private Phone getPhoneFromSlotId(int slotIdx) {
- final SubscriptionInfo subInfo =
- mSubscriptionManager.getActiveSubscriptionInfoForSimSlotIndex(slotIdx);
+ private Phone getPhoneFromSlotId(int slotId) {
+ final List<SubscriptionInfo> subInfos = SubscriptionManager.getSubscriptionInfoUsingSlotId(slotId);
- if (subInfo == null) {
+ if (subInfos == null || subInfos.size() < 1) {
return null;
}
final Phone[] phones = PhoneFactory.getPhones();
for (int i = 0; i < phones.length; i++) {
- if (phones[i].getSubId() == subInfo.getSubscriptionId()) {
+ // Currently we only operate with the first subscription of a SIM.
+ if (phones[i].getSubId() == subInfos.get(0).getSubscriptionId()) {
return phones[i];
}
}
diff --git a/src/com/android/settings/deviceinfo/SimStatus.java b/src/com/android/settings/deviceinfo/SimStatus.java
index 11daf0c..46addf3 100644
--- a/src/com/android/settings/deviceinfo/SimStatus.java
+++ b/src/com/android/settings/deviceinfo/SimStatus.java
@@ -11,7 +11,7 @@
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
- * limitations under the License.
+* limitations under the License.
*/
package com.android.settings.deviceinfo;
@@ -143,7 +143,7 @@ public class SimStatus extends PreferenceActivity {
mSignalStrength = findPreference(KEY_SIGNAL_STRENGTH);
for (int i = 0; i < mTelephonyManager.getSimCount(); i++) {
- final SubscriptionInfo sir = Utils.findRecordBySlotId(this, i);
+ final SubscriptionInfo sir = Utils.findRecordBySlotId(i);
if (sir != null) {
mSelectableSubInfos.add(sir);
}
@@ -355,7 +355,7 @@ public class SimStatus extends PreferenceActivity {
final Phone phone = PhoneFactory.getPhone(SubscriptionManager.getPhoneId(
mSir.getSubscriptionId()));
if (UserHandle.myUserId() == UserHandle.USER_OWNER
- && mSir.getSubscriptionId() != SubscriptionManager.INVALID_SUBSCRIPTION_ID) {
+ && mSir.getSubscriptionId() != SubscriptionManager.INVALID_SUB_ID) {
if (phone == null) {
Log.e(TAG, "Unable to locate a phone object for the given Subscription ID.");
return;
diff --git a/src/com/android/settings/sim/SimBootReceiver.java b/src/com/android/settings/sim/SimBootReceiver.java
index f8d7106..2d9d15e 100644
--- a/src/com/android/settings/sim/SimBootReceiver.java
+++ b/src/com/android/settings/sim/SimBootReceiver.java
@@ -19,6 +19,8 @@ package com.android.settings.sim;
import com.android.settings.R;
import com.android.settings.Settings.SimSettingsActivity;
+import java.util.List;
+
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.BroadcastReceiver;
@@ -29,9 +31,10 @@ import android.content.SharedPreferences.Editor;
import android.content.res.Resources;
import android.support.v4.app.NotificationCompat;
import android.telephony.SubscriptionInfo;
+import android.telephony.SubscriptionListener;
import android.telephony.SubscriptionManager;
import android.telephony.TelephonyManager;
-import android.telephony.SubscriptionManager.OnSubscriptionsChangedListener;
+import android.util.Log;
import com.android.settings.Utils;
@@ -44,17 +47,16 @@ public class SimBootReceiver extends BroadcastReceiver {
private SharedPreferences mSharedPreferences = null;
private TelephonyManager mTelephonyManager;
private Context mContext;
- private SubscriptionManager mSubscriptionManager;
@Override
public void onReceive(Context context, Intent intent) {
mTelephonyManager = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
mContext = context;
- mSubscriptionManager = SubscriptionManager.from(mContext);
mSharedPreferences = mContext.getSharedPreferences(SHARED_PREFERENCES_NAME,
Context.MODE_PRIVATE);
- mSubscriptionManager.registerOnSubscriptionsChangedListener(mSubscriptionListener);
+ SubscriptionManager.register(mContext, mSubscriptionListener,
+ SubscriptionListener.LISTEN_SUBSCRIPTION_INFO_LIST_CHANGED);
}
private void detectChangeAndNotify() {
@@ -69,12 +71,12 @@ public class SimBootReceiver extends BroadcastReceiver {
// by checking if the list is empty.
// This is not completely correct, but works for most cases.
// See Bug: 18377252
- if (mSubscriptionManager.getActiveSubscriptionInfoList().size() < 1) {
+ if (SubscriptionManager.getActiveSubscriptionInfoList().size() < 1) {
return;
}
for (int i = 0; i < numSlots; i++) {
- final SubscriptionInfo sir = Utils.findRecordBySlotId(mContext, i);
+ final SubscriptionInfo sir = Utils.findRecordBySlotId(i);
final String key = SLOT_PREFIX+i;
final int lastSubId = getLastSubId(key);
@@ -131,10 +133,9 @@ public class SimBootReceiver extends BroadcastReceiver {
notificationManager.cancel(NOTIFICATION_ID);
}
- private final OnSubscriptionsChangedListener mSubscriptionListener =
- new OnSubscriptionsChangedListener() {
+ private final SubscriptionListener mSubscriptionListener = new SubscriptionListener() {
@Override
- public void onSubscriptionsChanged() {
+ public void onSubscriptionInfoChanged() {
detectChangeAndNotify();
}
};
diff --git a/src/com/android/settings/sim/SimSettings.java b/src/com/android/settings/sim/SimSettings.java
index e0d26b0..e2f56cb 100644
--- a/src/com/android/settings/sim/SimSettings.java
+++ b/src/com/android/settings/sim/SimSettings.java
@@ -69,7 +69,6 @@ import java.util.List;
public class SimSettings extends RestrictedSettingsFragment implements Indexable {
private static final String TAG = "SimSettings";
- private static final boolean DBG = false;
private static final String DISALLOW_CONFIG_SIM = "no_config_sim";
private static final String SIM_CARD_CATEGORY = "sim_cards";
@@ -119,9 +118,6 @@ public class SimSettings extends RestrictedSettingsFragment implements Indexable
private PreferenceCategory mSimCards = null;
- private SubscriptionManager mSubscriptionManager;
- private Utils mUtils;
-
public SimSettings() {
super(DISALLOW_CONFIG_SIM);
}
@@ -130,13 +126,9 @@ public class SimSettings extends RestrictedSettingsFragment implements Indexable
public void onCreate(final Bundle bundle) {
super.onCreate(bundle);
- mSubscriptionManager = SubscriptionManager.from(getActivity());
-
if (mSubInfoList == null) {
- mSubInfoList = mSubscriptionManager.getActiveSubscriptionInfoList();
- // FIXME: b/18385348, SimSettings.java needs to handle null from getActiveSubscription
+ mSubInfoList = SubscriptionManager.getActiveSubscriptionInfoList();
}
- if (DBG) log("[onCreate] mSubInfoList=" + mSubInfoList);
createPreferences();
updateAllOptions();
@@ -156,7 +148,7 @@ public class SimSettings extends RestrictedSettingsFragment implements Indexable
mAvailableSubInfos = new ArrayList<SubscriptionInfo>(numSlots);
mSelectableSubInfos = new ArrayList<SubscriptionInfo>();
for (int i = 0; i < numSlots; ++i) {
- final SubscriptionInfo sir = Utils.findRecordBySlotId(getActivity(), i);
+ final SubscriptionInfo sir = Utils.findRecordBySlotId(i);
mSimCards.addPreference(new SimPreference(getActivity(), sir, i));
mAvailableSubInfos.add(sir);
if (sir != null) {
@@ -174,7 +166,7 @@ public class SimSettings extends RestrictedSettingsFragment implements Indexable
mAvailableSubInfos = new ArrayList<SubscriptionInfo>(numSlots);
for (int i = 0; i < numSlots; ++i) {
- final SubscriptionInfo sir = Utils.findRecordBySlotId(getActivity(), i);
+ final SubscriptionInfo sir = Utils.findRecordBySlotId(i);
mAvailableSubInfos.add(sir);
if (sir != null) {
}
@@ -187,7 +179,7 @@ public class SimSettings extends RestrictedSettingsFragment implements Indexable
}
private void updateSimSlotValues() {
- mSubscriptionManager.getAllSubscriptionInfoList();
+ SubscriptionManager.getAllSubscriptionInfoList();
final int prefSize = mSimCards.getPreferenceCount();
for (int i = 0; i < prefSize; ++i) {
@@ -206,11 +198,9 @@ public class SimSettings extends RestrictedSettingsFragment implements Indexable
private void updateSmsValues() {
final Preference simPref = findPreference(KEY_SMS);
- final SubscriptionInfo sir = Utils.findRecordBySubId(getActivity(),
- mSubscriptionManager.getDefaultSmsSubId());
+ final SubscriptionInfo sir = Utils.findRecordBySubId(SubscriptionManager.getDefaultSmsSubId());
simPref.setTitle(R.string.sms_messages_title);
- if (DBG) log("[updateSmsValues] mSubInfoList=" + mSubInfoList);
- if (mSubInfoList != null && mSubInfoList.size() == 1) {
+ if (mSubInfoList.size() == 1) {
simPref.setSummary(mSubInfoList.get(0).getDisplayName());
} else if (sir != null) {
simPref.setSummary(sir.getDisplayName());
@@ -222,12 +212,9 @@ public class SimSettings extends RestrictedSettingsFragment implements Indexable
private void updateCellularDataValues() {
final Preference simPref = findPreference(KEY_CELLULAR_DATA);
- final SubscriptionInfo sir = Utils.findRecordBySubId(getActivity(),
- mSubscriptionManager.getDefaultDataSubId());
+ final SubscriptionInfo sir = Utils.findRecordBySubId(SubscriptionManager.getDefaultDataSubId());
simPref.setTitle(R.string.cellular_data_title);
- if (DBG) log("[updateCellularDataValues] mSubInfoList=" + mSubInfoList);
-
- if (mSubInfoList != null && mSubInfoList.size() == 1) {
+ if (mSubInfoList.size() == 1) {
simPref.setSummary(mSubInfoList.get(0).getDisplayName());
} else if (sir != null) {
simPref.setSummary(sir.getDisplayName());
@@ -253,9 +240,7 @@ public class SimSettings extends RestrictedSettingsFragment implements Indexable
public void onResume() {
super.onResume();
- mSubInfoList = mSubscriptionManager.getActiveSubscriptionInfoList();
- if (DBG) log("[onResme] mSubInfoList=" + mSubInfoList);
-
+ mSubInfoList = SubscriptionManager.getActiveSubscriptionInfoList();
updateAvailableSubInfos();
updateAllOptions();
}
@@ -290,7 +275,7 @@ public class SimSettings extends RestrictedSettingsFragment implements Indexable
if (id == DATA_PICK) {
sir = mSelectableSubInfos.get(value);
- mSubscriptionManager.setDefaultDataSubId(sir.getSubscriptionId());
+ SubscriptionManager.setDefaultDataSubId(sir.getSubscriptionId());
} else if (id == CALLS_PICK) {
final TelecomManager telecomManager =
TelecomManager.from(getActivity());
@@ -300,7 +285,7 @@ public class SimSettings extends RestrictedSettingsFragment implements Indexable
value < 1 ? null : phoneAccountsList.get(value - 1));
} else if (id == SMS_PICK) {
sir = mSelectableSubInfos.get(value);
- mSubscriptionManager.setDefaultSmsSubId(sir.getSubscriptionId());
+ SubscriptionManager.setDefaultSmsSubId(sir.getSubscriptionId());
}
updateActivitesCategory();
@@ -514,16 +499,16 @@ public class SimSettings extends RestrictedSettingsFragment implements Indexable
String displayName = nameText.getText().toString();
int subId = mSubInfoRecord.getSubscriptionId();
mSubInfoRecord.setDisplayName(displayName);
- mSubscriptionManager.setDisplayName(displayName, subId,
+ SubscriptionManager.setDisplayName(displayName, subId,
SubscriptionManager.NAME_SOURCE_USER_INPUT);
- Utils.findRecordBySubId(getActivity(), subId).setDisplayName(displayName);
+ Utils.findRecordBySubId(subId).setDisplayName(displayName);
final int tintSelected = tintSpinner.getSelectedItemPosition();
int subscriptionId = mSubInfoRecord.getSubscriptionId();
int tint = mTintArr[tintSelected];
mSubInfoRecord.setIconTint(tint);
- mSubscriptionManager.setIconTint(tint, subscriptionId);
- Utils.findRecordBySubId(getActivity(), subscriptionId).setIconTint(tint);
+ SubscriptionManager.setIconTint(tint, subscriptionId);
+ Utils.findRecordBySubId(subscriptionId).setIconTint(tint);
updateAllOptions();
update();
@@ -611,8 +596,27 @@ public class SimSettings extends RestrictedSettingsFragment implements Indexable
}
- private void log(String s) {
- Log.d(TAG, s);
+ /**
+ * Sort Subscription List in SIM Id, Subscription Id
+ * @param context The Context
+ * @return Sorted Subscription List or NULL if no activated Subscription
+ */
+ public static List<SubscriptionInfo> getSortedSubInfoList(Context context) {
+ List<SubscriptionInfo> infoList = SubscriptionManager.getActiveSubscriptionInfoList();
+ if (infoList != null) {
+ Collections.sort(infoList, new Comparator<SubscriptionInfo>() {
+
+ @Override
+ public int compare(SubscriptionInfo arg0, SubscriptionInfo arg1) {
+ int flag = arg0.getSimSlotIndex() - arg1.getSimSlotIndex();
+ if (flag == 0) {
+ return arg0.getSubscriptionId() - arg1.getSubscriptionId();
+ }
+ return flag;
+ }
+ });
+ }
+ return infoList;
}
/**