diff --git a/src/com/android/settings/IccLockSettings.java b/src/com/android/settings/IccLockSettings.java index b906a737383..6bb75a50914 100644 --- a/src/com/android/settings/IccLockSettings.java +++ b/src/com/android/settings/IccLockSettings.java @@ -123,6 +123,7 @@ public class IccLockSettings extends SettingsPreferenceFragment // @see android.widget.Toast$TN private static final long LONG_DURATION_TIMEOUT = 7000; + private int mSlotId; private int mSubId; private TelephonyManager mTelephonyManager; @@ -219,6 +220,7 @@ public class IccLockSettings extends SettingsPreferenceFragment Bundle savedInstanceState) { final int numSims = mProxySubscriptionMgr.getActiveSubscriptionInfoCountMax(); + mSlotId = 0; if (numSims > 1) { final View view = inflater.inflate(R.layout.icc_lock_tabs, container, false); final ViewGroup prefs_container = (ViewGroup) view.findViewById(R.id.prefs_container); @@ -244,7 +246,8 @@ public class IccLockSettings extends SettingsPreferenceFragment ? getContext().getString(R.string.sim_editor_title, i + 1) : subInfo.getDisplayName()))); } - final SubscriptionInfo sir = getActiveSubscriptionInfoForSimSlotIndex(subInfoList, 0); + final SubscriptionInfo sir = getActiveSubscriptionInfoForSimSlotIndex( + subInfoList, mSlotId); mSubId = sir.getSubscriptionId(); if (savedInstanceState != null && savedInstanceState.containsKey(CURRENT_TAB)) { @@ -266,7 +269,7 @@ public class IccLockSettings extends SettingsPreferenceFragment final List subInfoList = mProxySubscriptionMgr.getActiveSubscriptionsInfo(); - final SubscriptionInfo sir = getActiveSubscriptionInfoForSimSlotIndex(subInfoList, 0); + final SubscriptionInfo sir = getActiveSubscriptionInfoForSimSlotIndex(subInfoList, mSlotId); mSubId = sir.getSubscriptionId(); if (mPinDialog != null) { @@ -653,9 +656,9 @@ public class IccLockSettings extends SettingsPreferenceFragment private OnTabChangeListener mTabListener = new OnTabChangeListener() { @Override public void onTabChanged(String tabId) { - final int slotId = Integer.parseInt(tabId); + mSlotId = Integer.parseInt(tabId); final SubscriptionInfo sir = getActiveSubscriptionInfoForSimSlotIndex( - mProxySubscriptionMgr.getActiveSubscriptionsInfo(), slotId); + mProxySubscriptionMgr.getActiveSubscriptionsInfo(), mSlotId); // The User has changed tab; update the body. updatePreferences();