diff --git a/src/com/android/settings/IccLockSettings.java b/src/com/android/settings/IccLockSettings.java index b6fe9d3d7b1..dea915aad0b 100644 --- a/src/com/android/settings/IccLockSettings.java +++ b/src/com/android/settings/IccLockSettings.java @@ -31,6 +31,7 @@ import android.os.Message; import android.os.PersistableBundle; import android.telephony.CarrierConfigManager; import android.telephony.SubscriptionInfo; +import android.telephony.SubscriptionManager; import android.telephony.TelephonyManager; import android.text.TextUtils; import android.util.Log; @@ -230,13 +231,16 @@ public class IccLockSettings extends SettingsPreferenceFragment for (int i = 0; i < numSims; ++i) { final SubscriptionInfo subInfo = getActiveSubscriptionInfoForSimSlotIndex(subInfoList, i); - final CarrierConfigManager carrierConfigManager = getContext().getSystemService( - CarrierConfigManager.class); - final PersistableBundle bundle = carrierConfigManager.getConfigForSubId( - subInfo.getSubscriptionId()); - if (bundle != null - && !bundle.getBoolean(CarrierConfigManager.KEY_HIDE_SIM_LOCK_SETTINGS_BOOL)) { - componenterList.add(subInfo); + if (subInfo != null) { + final CarrierConfigManager carrierConfigManager = getContext().getSystemService( + CarrierConfigManager.class); + final PersistableBundle bundle = carrierConfigManager.getConfigForSubId( + subInfo.getSubscriptionId()); + if (bundle != null + && !bundle.getBoolean(CarrierConfigManager + .KEY_HIDE_SIM_LOCK_SETTINGS_BOOL)) { + componenterList.add(subInfo); + } } } @@ -291,7 +295,8 @@ public class IccLockSettings extends SettingsPreferenceFragment final List subInfoList = mProxySubscriptionMgr.getActiveSubscriptionsInfo(); final SubscriptionInfo sir = getActiveSubscriptionInfoForSimSlotIndex(subInfoList, mSlotId); - mSubId = sir.getSubscriptionId(); + mSubId = (sir == null) ? SubscriptionManager.INVALID_SUBSCRIPTION_ID + : sir.getSubscriptionId(); if (mPinDialog != null) { mPinDialog.setEnabled(sir != null); @@ -677,8 +682,6 @@ public class IccLockSettings extends SettingsPreferenceFragment @Override public void onTabChanged(String tabId) { mSlotId = Integer.parseInt(tabId); - final SubscriptionInfo sir = getActiveSubscriptionInfoForSimSlotIndex( - mProxySubscriptionMgr.getActiveSubscriptionsInfo(), mSlotId); // The User has changed tab; update the body. updatePreferences();