From 2b8bde162f173b09633bb90624cfc093b16fd44c Mon Sep 17 00:00:00 2001 From: Treehugger Robot Date: Mon, 23 Mar 2020 07:08:39 +0000 Subject: [PATCH] Merge "Fixed NullPointerException" am: 5fb16be925 am: cbe5bbdcd5 am: 456b2bf87b am: b301288cd7 am: 036496e2d0 Bug: 150258187 Change-Id: I6b363bd609d580d547cb59851f5bfaba57ef7154 (cherry picked from commit 7c62cbd97ea9263167fd4520055dd09ef5b81350) Merged-In: I6b363bd609d580d547cb59851f5bfaba57ef7154 --- src/com/android/settings/IccLockSettings.java | 23 +++++++++++-------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/src/com/android/settings/IccLockSettings.java b/src/com/android/settings/IccLockSettings.java index a9b496a834d..4340039cf3e 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; @@ -231,13 +232,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); + } } } @@ -292,7 +296,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); @@ -679,8 +684,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();