From 77c89803ee9a51fd0b876a9901add28a9915a716 Mon Sep 17 00:00:00 2001 From: songferngwang Date: Wed, 10 Apr 2024 08:15:29 +0000 Subject: [PATCH] After rotating the screen, lost the progress bar dialog state Fix: 333646302 Fix: 333645488 Test: build pass. manually verify the UI Change-Id: Ib68de902526ccb77bf19cbace4c596b1ecedaea5 --- .../settings/network/SimOnboardingActivity.kt | 22 ++++++++++++++----- 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/src/com/android/settings/network/SimOnboardingActivity.kt b/src/com/android/settings/network/SimOnboardingActivity.kt index f97822a7847..0160f2c88ba 100644 --- a/src/com/android/settings/network/SimOnboardingActivity.kt +++ b/src/com/android/settings/network/SimOnboardingActivity.kt @@ -43,6 +43,7 @@ import androidx.compose.runtime.MutableState import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember import androidx.compose.runtime.rememberCoroutineScope +import androidx.compose.runtime.saveable.rememberSaveable import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.platform.LocalLifecycleOwner @@ -177,11 +178,11 @@ class SimOnboardingActivity : SpaBaseDialogActivity() { @OptIn(ExperimentalMaterial3Api::class) @Composable override fun Content() { - showStartingDialog = remember { mutableStateOf(false) } - showError = remember { mutableStateOf(ErrorType.ERROR_NONE) } - showProgressDialog = remember { mutableStateOf(false) } - showDsdsProgressDialog = remember { mutableStateOf(false) } - showRestartDialog = remember { mutableStateOf(false) } + showStartingDialog = rememberSaveable { mutableStateOf(false) } + showError = rememberSaveable { mutableStateOf(ErrorType.ERROR_NONE) } + showProgressDialog = rememberSaveable { mutableStateOf(false) } + showDsdsProgressDialog = rememberSaveable { mutableStateOf(false) } + showRestartDialog = rememberSaveable { mutableStateOf(false) } scope = rememberCoroutineScope() registerSidecarReceiverFlow() @@ -189,7 +190,16 @@ class SimOnboardingActivity : SpaBaseDialogActivity() { ErrorDialogImpl() RestartDialogImpl() LaunchedEffect(Unit) { - if (onboardingService.activeSubInfoList.isNotEmpty()) { + if (showError.value != ErrorType.ERROR_NONE + || showProgressDialog.value + || showDsdsProgressDialog.value + || showRestartDialog.value) { + Log.d(TAG, "status: showError:${showError.value}, " + + "showProgressDialog:${showProgressDialog.value}, " + + "showDsdsProgressDialog:${showDsdsProgressDialog.value}, " + + "showRestartDialog:${showRestartDialog.value}") + showStartingDialog.value = false + } else if (onboardingService.activeSubInfoList.isNotEmpty()) { showStartingDialog.value = true } }