From 050f7a765793f550a602be2347591ef613176a9f Mon Sep 17 00:00:00 2001 From: Jeremy Goldman Date: Mon, 3 May 2021 16:16:21 +0800 Subject: [PATCH] If the CarrierConfigManager is still null, return that the preference is not available. Test: atest -c VideoCallingPreferenceControllerTest Bug: 186594185 Change-Id: I4650d9f77f6a4a0cb84d6e20f02e4ab1d1841131 --- .../telephony/VideoCallingPreferenceController.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/com/android/settings/network/telephony/VideoCallingPreferenceController.java b/src/com/android/settings/network/telephony/VideoCallingPreferenceController.java index b3421f43bdf..46e13857890 100644 --- a/src/com/android/settings/network/telephony/VideoCallingPreferenceController.java +++ b/src/com/android/settings/network/telephony/VideoCallingPreferenceController.java @@ -19,7 +19,6 @@ package com.android.settings.network.telephony; import android.content.Context; import android.os.PersistableBundle; import android.telephony.CarrierConfigManager; -import android.telephony.PhoneStateListener; import android.telephony.SubscriptionManager; import android.telephony.TelephonyCallback; import android.telephony.TelephonyManager; @@ -143,6 +142,16 @@ public class VideoCallingPreferenceController extends TelephonyTogglePreferenceC return false; } + // When called within Settings Search, this variable may still be null. + if (mCarrierConfigManager == null) { + Log.e(TAG, "CarrierConfigManager set to null."); + mCarrierConfigManager = mContext.getSystemService(CarrierConfigManager.class); + if (mCarrierConfigManager == null) { + Log.e(TAG, "Unable to reinitialize CarrierConfigManager."); + return false; + } + } + final PersistableBundle carrierConfig = mCarrierConfigManager.getConfigForSubId(subId); if (carrierConfig == null) { return false;