From 81524c89cca7a39d13a05b7818486f921089c77e Mon Sep 17 00:00:00 2001 From: Stanley Wang Date: Tue, 4 May 2021 20:31:27 +0800 Subject: [PATCH] Fix the "Video call" can be searched on unsupported device. The non-indexable does not work due to the NPE. Fixes: 186594185 Test: robo test and see the search result. Change-Id: Idc733b3521a774fa8b61a853aa078f50afc331cb --- .../network/telephony/Enable2gPreferenceController.java | 4 ++++ .../telephony/EnabledNetworkModePreferenceController.java | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/com/android/settings/network/telephony/Enable2gPreferenceController.java b/src/com/android/settings/network/telephony/Enable2gPreferenceController.java index d336cb47e47..5c7d22465ff 100644 --- a/src/com/android/settings/network/telephony/Enable2gPreferenceController.java +++ b/src/com/android/settings/network/telephony/Enable2gPreferenceController.java @@ -71,6 +71,10 @@ public class Enable2gPreferenceController extends TelephonyTogglePreferenceContr @Override public int getAvailabilityStatus(int subId) { final PersistableBundle carrierConfig = mCarrierConfigManager.getConfigForSubId(subId); + if (mTelephonyManager == null) { + Log.w(LOG_TAG, "Telephony manager not yet initialized"); + mTelephonyManager = mContext.getSystemService(TelephonyManager.class); + } boolean visible = SubscriptionManager.isUsableSubscriptionId(subId) && carrierConfig != null diff --git a/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceController.java b/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceController.java index 6952e7237f3..d39f6a4200c 100644 --- a/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceController.java +++ b/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceController.java @@ -63,6 +63,7 @@ public class EnabledNetworkModePreferenceController extends public EnabledNetworkModePreferenceController(Context context, String key) { super(context, key); mSubscriptionsListener = new SubscriptionsChangeListener(context, this); + mCarrierConfigManager = mContext.getSystemService(CarrierConfigManager.class); } @Override @@ -145,7 +146,6 @@ public class EnabledNetworkModePreferenceController extends mSubId = subId; mTelephonyManager = mContext.getSystemService(TelephonyManager.class) .createForSubscriptionId(mSubId); - mCarrierConfigManager = mContext.getSystemService(CarrierConfigManager.class); mBuilder = new PreferenceEntriesBuilder(mContext, mSubId); if (mAllowedNetworkTypesListener == null) {