Merge "[Settings] Avoid settings crash from NPE of TelephonyManager." into udc-dev am: 69caf6fbe4

Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/23429462

Change-Id: I1e017f609ba8f2ccca41d257350ee77a5c78083a
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Tom Hsu
2023-05-26 02:44:52 +00:00
committed by Automerger Merge Worker

View File

@@ -21,6 +21,7 @@ import android.os.PersistableBundle;
import android.telephony.CarrierConfigManager; import android.telephony.CarrierConfigManager;
import android.telephony.SubscriptionManager; import android.telephony.SubscriptionManager;
import android.telephony.TelephonyManager; import android.telephony.TelephonyManager;
import android.util.Log;
import androidx.preference.ListPreference; import androidx.preference.ListPreference;
import androidx.preference.Preference; import androidx.preference.Preference;
@@ -34,6 +35,7 @@ import com.android.settings.network.telephony.TelephonyConstants.TelephonyManage
*/ */
public class PreferredNetworkModePreferenceController extends TelephonyBasePreferenceController public class PreferredNetworkModePreferenceController extends TelephonyBasePreferenceController
implements ListPreference.OnPreferenceChangeListener { implements ListPreference.OnPreferenceChangeListener {
private static final String TAG = "PrefNetworkModeCtrl";
private CarrierConfigCache mCarrierConfigCache; private CarrierConfigCache mCarrierConfigCache;
private TelephonyManager mTelephonyManager; private TelephonyManager mTelephonyManager;
@@ -99,6 +101,10 @@ public class PreferredNetworkModePreferenceController extends TelephonyBasePrefe
} }
private int getPreferredNetworkMode() { private int getPreferredNetworkMode() {
if (mTelephonyManager == null) {
Log.w(TAG, "TelephonyManager is null");
return TelephonyManagerConstants.NETWORK_MODE_UNKNOWN;
}
return MobileNetworkUtils.getNetworkTypeFromRaf( return MobileNetworkUtils.getNetworkTypeFromRaf(
(int) mTelephonyManager.getAllowedNetworkTypesForReason( (int) mTelephonyManager.getAllowedNetworkTypesForReason(
TelephonyManager.ALLOWED_NETWORK_TYPES_REASON_USER)); TelephonyManager.ALLOWED_NETWORK_TYPES_REASON_USER));