From 06c3ae5e82724345c253302f99010686807fcb35 Mon Sep 17 00:00:00 2001 From: tom hsu Date: Thu, 25 May 2023 22:29:55 +0800 Subject: [PATCH] [Settings] Avoid settings crash from NPE of TelephonyManager. Bug: 233783567 Test: atest passed Change-Id: Ie0ed8fa3b87b8e130396cf4d918295403ae43501 --- .../telephony/PreferredNetworkModePreferenceController.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/com/android/settings/network/telephony/PreferredNetworkModePreferenceController.java b/src/com/android/settings/network/telephony/PreferredNetworkModePreferenceController.java index feeed91910c..bdfeace1be6 100644 --- a/src/com/android/settings/network/telephony/PreferredNetworkModePreferenceController.java +++ b/src/com/android/settings/network/telephony/PreferredNetworkModePreferenceController.java @@ -21,6 +21,7 @@ import android.os.PersistableBundle; import android.telephony.CarrierConfigManager; import android.telephony.SubscriptionManager; import android.telephony.TelephonyManager; +import android.util.Log; import androidx.preference.ListPreference; import androidx.preference.Preference; @@ -34,6 +35,7 @@ import com.android.settings.network.telephony.TelephonyConstants.TelephonyManage */ public class PreferredNetworkModePreferenceController extends TelephonyBasePreferenceController implements ListPreference.OnPreferenceChangeListener { + private static final String TAG = "PrefNetworkModeCtrl"; private CarrierConfigCache mCarrierConfigCache; private TelephonyManager mTelephonyManager; @@ -99,6 +101,10 @@ public class PreferredNetworkModePreferenceController extends TelephonyBasePrefe } private int getPreferredNetworkMode() { + if (mTelephonyManager == null) { + Log.w(TAG, "TelephonyManager is null"); + return TelephonyManagerConstants.NETWORK_MODE_UNKNOWN; + } return MobileNetworkUtils.getNetworkTypeFromRaf( (int) mTelephonyManager.getAllowedNetworkTypesForReason( TelephonyManager.ALLOWED_NETWORK_TYPES_REASON_USER));