From 377a7a3054d29fc886830395919697a249382a45 Mon Sep 17 00:00:00 2001 From: Chaohui Wang Date: Tue, 30 Apr 2024 16:25:00 +0800 Subject: [PATCH] Check isActivationChangeableFlow in SimPreference Fix: 336209156 Test: manual - SimPreference Change-Id: I8745e05dbab9701b9c046137fe76d98880a7b20a --- src/com/android/settings/spa/network/SimsSection.kt | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/com/android/settings/spa/network/SimsSection.kt b/src/com/android/settings/spa/network/SimsSection.kt index 5f6810d9f5d..59e63dfd8ee 100644 --- a/src/com/android/settings/spa/network/SimsSection.kt +++ b/src/com/android/settings/spa/network/SimsSection.kt @@ -37,6 +37,7 @@ import com.android.settings.R import com.android.settings.Utils import com.android.settings.network.SubscriptionUtil import com.android.settings.network.telephony.MobileNetworkUtils +import com.android.settings.network.telephony.SubscriptionActivationRepository import com.android.settings.network.telephony.isSubscriptionEnabledFlow import com.android.settings.network.telephony.phoneNumberFlow import com.android.settingslib.spa.widget.preference.PreferenceModel @@ -70,6 +71,9 @@ private fun SimPreference(subInfo: SubscriptionInfo) { emit(SubscriptionUtil.isConvertedPsimSubscription(subInfo)) } }.collectAsStateWithLifecycle(initialValue = false) + val isActivationChangeable by remember { + SubscriptionActivationRepository(context).isActivationChangeableFlow() + }.collectAsStateWithLifecycle(initialValue = false) RestrictedTwoTargetSwitchPreference( model = object : SwitchPreferenceModel { override val title = subInfo.displayName.toString() @@ -81,7 +85,7 @@ private fun SimPreference(subInfo: SubscriptionInfo) { } } override val icon = @Composable { SimIcon(subInfo.isEmbedded) } - override val changeable = { !isConvertedPsim } + override val changeable = { isActivationChangeable && !isConvertedPsim } override val checked = { checked.value } override val onCheckedChange = { newChecked: Boolean -> SubscriptionUtil.startToggleSubscriptionDialogActivity(