From cf33e51a55570847b1c4ce89b828bc13f0534cf4 Mon Sep 17 00:00:00 2001 From: zoey chen Date: Tue, 10 Mar 2020 18:00:24 +0800 Subject: [PATCH] Fix Card 2's pin shows ON when only turn on card 1's pin Bug: 150258187 Test: manual Change-Id: Ifc54090da6737d31a2eb71eeabe6846592ff32fc Merged-In: Ifc54090da6737d31a2eb71eeabe6846592ff32fc --- src/com/android/settings/IccLockSettings.java | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) 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();