diff --git a/res/values/strings.xml b/res/values/strings.xml index 9d5072d3ea4..e71fcf4d7b4 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -11778,10 +11778,10 @@ Try turning on the SIM again. If the problem continues, restart your device. - - Set up your SIM - - Set your mobile network preferences to use multiple SIMs on this device + + Set your SIM preferences + + Set your mobile network preferences to use multiple SIMs on this device Label your SIMs @@ -11822,7 +11822,9 @@ Data only - Set up + Get started + + Close Next diff --git a/src/com/android/settings/network/SimOnboardingActivity.kt b/src/com/android/settings/network/SimOnboardingActivity.kt index 350f5b8f9c1..f97822a7847 100644 --- a/src/com/android/settings/network/SimOnboardingActivity.kt +++ b/src/com/android/settings/network/SimOnboardingActivity.kt @@ -31,16 +31,12 @@ import androidx.compose.material.icons.Icons import androidx.compose.material.icons.outlined.SignalCellularAlt import androidx.compose.material3.AlertDialogDefaults import androidx.compose.material3.BasicAlertDialog -import androidx.compose.material3.Button import androidx.compose.material3.CircularProgressIndicator import androidx.compose.material3.ExperimentalMaterial3Api import androidx.compose.material3.Icon import androidx.compose.material3.MaterialTheme -import androidx.compose.material3.ModalBottomSheet -import androidx.compose.material3.SheetState import androidx.compose.material3.Surface import androidx.compose.material3.Text -import androidx.compose.material3.rememberModalBottomSheetState import androidx.compose.runtime.Composable import androidx.compose.runtime.LaunchedEffect import androidx.compose.runtime.MutableState @@ -52,7 +48,6 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.platform.LocalLifecycleOwner import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.style.TextAlign -import androidx.compose.ui.text.style.TextOverflow import com.android.settings.R import com.android.settings.SidecarFragment import com.android.settings.network.telephony.SubscriptionActionDialogActivity @@ -63,6 +58,7 @@ import com.android.settingslib.spa.SpaBaseDialogActivity import com.android.settingslib.spa.framework.theme.SettingsDimension import com.android.settingslib.spa.framework.util.collectLatestWithLifecycle import com.android.settingslib.spa.widget.dialog.AlertDialogButton +import com.android.settingslib.spa.widget.dialog.SettingsAlertDialogWithIcon import com.android.settingslib.spa.widget.dialog.getDialogWidth import com.android.settingslib.spa.widget.dialog.rememberAlertDialogPresenter import com.android.settingslib.spa.widget.ui.SettingsTitle @@ -77,7 +73,7 @@ import kotlinx.coroutines.launch class SimOnboardingActivity : SpaBaseDialogActivity() { lateinit var scope: CoroutineScope - lateinit var showBottomSheet: MutableState + lateinit var showStartingDialog: MutableState lateinit var showError: MutableState lateinit var showProgressDialog: MutableState lateinit var showDsdsProgressDialog: MutableState @@ -138,7 +134,7 @@ class SimOnboardingActivity : SpaBaseDialogActivity() { } CallbackType.CALLBACK_ONBOARDING_COMPLETE -> { - showBottomSheet.value = false + showStartingDialog.value = false setProgressDialog(true) scope.launch { // TODO: refactor the Sidecar @@ -181,7 +177,7 @@ class SimOnboardingActivity : SpaBaseDialogActivity() { @OptIn(ExperimentalMaterial3Api::class) @Composable override fun Content() { - showBottomSheet = remember { mutableStateOf(false) } + showStartingDialog = remember { mutableStateOf(false) } showError = remember { mutableStateOf(ErrorType.ERROR_NONE) } showProgressDialog = remember { mutableStateOf(false) } showDsdsProgressDialog = remember { mutableStateOf(false) } @@ -194,14 +190,12 @@ class SimOnboardingActivity : SpaBaseDialogActivity() { RestartDialogImpl() LaunchedEffect(Unit) { if (onboardingService.activeSubInfoList.isNotEmpty()) { - showBottomSheet.value = true + showStartingDialog.value = true } } - if (showBottomSheet.value) { - var sheetState = rememberModalBottomSheetState() - BottomSheetImpl( - sheetState = sheetState, + if (showStartingDialog.value) { + StartingDialogImpl( nextAction = { if (onboardingService.isDsdsConditionSatisfied()) { // TODO: if the phone is SS mode and the isDsdsConditionSatisfied is true, @@ -468,48 +462,39 @@ class SimOnboardingActivity : SpaBaseDialogActivity() { } @Composable - fun BottomSheetBody(nextAction: () -> Unit) { - Column(horizontalAlignment = Alignment.CenterHorizontally, - modifier = Modifier.padding(bottom = SettingsDimension.itemPaddingVertical)) { - Icon( - imageVector = Icons.Outlined.SignalCellularAlt, - contentDescription = null, - modifier = Modifier - .size(SettingsDimension.iconLarge), - tint = MaterialTheme.colorScheme.primary, - ) - SettingsTitle(stringResource(R.string.sim_onboarding_bottomsheets_title)) - Column(Modifier.padding(SettingsDimension.itemPadding)) { - Text( - text = stringResource(R.string.sim_onboarding_bottomsheets_msg), - color = MaterialTheme.colorScheme.onSurfaceVariant, - style = MaterialTheme.typography.bodyMedium, - overflow = TextOverflow.Ellipsis, - textAlign = TextAlign.Center - ) - } - Button(onClick = nextAction) { - Text(stringResource(R.string.sim_onboarding_setup)) - } - } - } - - @OptIn(ExperimentalMaterial3Api::class) - @Composable - fun BottomSheetImpl( - sheetState: SheetState, + fun StartingDialogImpl( nextAction: () -> Unit, cancelAction: () -> Unit, ) { - ModalBottomSheet( + SettingsAlertDialogWithIcon( onDismissRequest = cancelAction, - sheetState = sheetState, - ) { - BottomSheetBody(nextAction = nextAction) - } - LaunchedEffect(Unit) { - sheetState.show() - } + confirmButton = AlertDialogButton( + getString(R.string.sim_onboarding_setup), + nextAction + ), + dismissButton = + AlertDialogButton( + getString(R.string.sim_onboarding_close), + cancelAction + ), + title = stringResource(R.string.sim_onboarding_dialog_starting_title), + icon = { + Icon( + imageVector = Icons.Outlined.SignalCellularAlt, + contentDescription = null, + modifier = Modifier + .size(SettingsDimension.iconLarge), + tint = MaterialTheme.colorScheme.primary, + ) + }, + text = { + Text( + stringResource(R.string.sim_onboarding_dialog_starting_msg), + modifier = Modifier.fillMaxWidth(), + textAlign = TextAlign.Center + ) + }) + } fun setProgressState(state: Int) {