Loading src/com/android/settings/spa/network/NetworkCellularGroupProvider.kt +16 −0 Original line number Diff line number Diff line Loading @@ -19,6 +19,7 @@ package com.android.settings.spa.network import android.content.Context import android.content.IntentFilter import android.os.Bundle import android.provider.Settings import android.telephony.SubscriptionInfo import android.telephony.SubscriptionManager import android.telephony.TelephonyManager Loading Loading @@ -57,6 +58,7 @@ import com.android.settingslib.spa.widget.preference.PreferenceModel import com.android.settingslib.spa.widget.scaffold.RegularScaffold import com.android.settingslib.spa.widget.ui.Category import com.android.settingslib.spaprivileged.framework.common.broadcastReceiverFlow import com.android.settingslib.spaprivileged.settingsprovider.settingsGlobalBooleanFlow import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.flow.Flow Loading Loading @@ -110,6 +112,8 @@ object NetworkCellularGroupProvider : SettingsPageProvider { val subscriptionViewModel = viewModel<SubscriptionInfoListViewModel>() CollectAirplaneModeAndFinishIfOn() remember { allOfFlows(context, subscriptionViewModel.selectableSubscriptionInfoListFlow) }.collectLatestWithLifecycle(LocalLifecycleOwner.current) { Loading Loading @@ -327,6 +331,17 @@ fun PrimarySimSectionImpl( } } @Composable fun CollectAirplaneModeAndFinishIfOn() { val context = LocalContext.current context.settingsGlobalBooleanFlow(Settings.Global.AIRPLANE_MODE_ON) .collectLatestWithLifecycle(LocalLifecycleOwner.current) { isAirplaneModeOn -> if (isAirplaneModeOn) { context.getActivity()?.finish() } } } private fun getWifiPickerTrackerHelper( context: Context, lifecycleOwner: LifecycleOwner Loading @@ -336,6 +351,7 @@ private fun getWifiPickerTrackerHelper( null /* WifiPickerTrackerCallback */ ) } private fun Context.defaultVoiceSubscriptionFlow(): Flow<Int> = merge( flowOf(null), // kick an initial value Loading src/com/android/settings/spa/network/SimOnboardingPageProvider.kt +1 −1 Original line number Diff line number Diff line Loading @@ -83,7 +83,7 @@ object SimOnboardingPageProvider : SettingsPageProvider { ): String = "${name}/$subId" } private fun Context.getActivity(): Activity? = when (this) { fun Context.getActivity(): Activity? = when (this) { is Activity -> this is ContextWrapper -> baseContext.getActivity() else -> null Loading Loading
src/com/android/settings/spa/network/NetworkCellularGroupProvider.kt +16 −0 Original line number Diff line number Diff line Loading @@ -19,6 +19,7 @@ package com.android.settings.spa.network import android.content.Context import android.content.IntentFilter import android.os.Bundle import android.provider.Settings import android.telephony.SubscriptionInfo import android.telephony.SubscriptionManager import android.telephony.TelephonyManager Loading Loading @@ -57,6 +58,7 @@ import com.android.settingslib.spa.widget.preference.PreferenceModel import com.android.settingslib.spa.widget.scaffold.RegularScaffold import com.android.settingslib.spa.widget.ui.Category import com.android.settingslib.spaprivileged.framework.common.broadcastReceiverFlow import com.android.settingslib.spaprivileged.settingsprovider.settingsGlobalBooleanFlow import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.flow.Flow Loading Loading @@ -110,6 +112,8 @@ object NetworkCellularGroupProvider : SettingsPageProvider { val subscriptionViewModel = viewModel<SubscriptionInfoListViewModel>() CollectAirplaneModeAndFinishIfOn() remember { allOfFlows(context, subscriptionViewModel.selectableSubscriptionInfoListFlow) }.collectLatestWithLifecycle(LocalLifecycleOwner.current) { Loading Loading @@ -327,6 +331,17 @@ fun PrimarySimSectionImpl( } } @Composable fun CollectAirplaneModeAndFinishIfOn() { val context = LocalContext.current context.settingsGlobalBooleanFlow(Settings.Global.AIRPLANE_MODE_ON) .collectLatestWithLifecycle(LocalLifecycleOwner.current) { isAirplaneModeOn -> if (isAirplaneModeOn) { context.getActivity()?.finish() } } } private fun getWifiPickerTrackerHelper( context: Context, lifecycleOwner: LifecycleOwner Loading @@ -336,6 +351,7 @@ private fun getWifiPickerTrackerHelper( null /* WifiPickerTrackerCallback */ ) } private fun Context.defaultVoiceSubscriptionFlow(): Flow<Int> = merge( flowOf(null), // kick an initial value Loading
src/com/android/settings/spa/network/SimOnboardingPageProvider.kt +1 −1 Original line number Diff line number Diff line Loading @@ -83,7 +83,7 @@ object SimOnboardingPageProvider : SettingsPageProvider { ): String = "${name}/$subId" } private fun Context.getActivity(): Activity? = when (this) { fun Context.getActivity(): Activity? = when (this) { is Activity -> this is ContextWrapper -> baseContext.getActivity() else -> null Loading