From d54d112e17c6ed63638d22d69ed6bfdb4775f61d Mon Sep 17 00:00:00 2001 From: Chaohui Wang Date: Fri, 30 Aug 2024 15:23:17 +0800 Subject: [PATCH] Fix WifiCallingPreferenceController crash When sub id is invalid. Bug: 325956182 Flag: EXEMPT bug fix Test: adb shell am start -a android.settings.NETWORK_OPERATOR_SETTINGS Change-Id: I09995095e2f38030eca0c9b5898d910530ee6237 --- .../network/telephony/WifiCallingPreferenceController.kt | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/com/android/settings/network/telephony/WifiCallingPreferenceController.kt b/src/com/android/settings/network/telephony/WifiCallingPreferenceController.kt index e04763a88c1..9b68970d750 100644 --- a/src/com/android/settings/network/telephony/WifiCallingPreferenceController.kt +++ b/src/com/android/settings/network/telephony/WifiCallingPreferenceController.kt @@ -81,6 +81,12 @@ open class WifiCallingPreferenceController @JvmOverloads constructor( } override fun onViewCreated(viewLifecycleOwner: LifecycleOwner) { + if (!SubscriptionManager.isValidSubscriptionId(subId)) { + // Sub id could invalid, if this page is opened from external action and no sim is + // active. + // Ignore this case, since this page will be finished soon. + return + } wifiCallingRepositoryFactory(subId).wifiCallingReadyFlow() .collectLatestWithLifecycle(viewLifecycleOwner) { isReady -> preference.isVisible = isReady