fix(settings): 重启应用提示框可以关闭

This commit is contained in:
Super12138 2025-03-29 20:32:11 +08:00
parent d2d1911170
commit b06bea2cbe
2 changed files with 16 additions and 8 deletions

View file

@ -27,6 +27,7 @@ fun ConfirmDialog(
title: String = stringResource(R.string.title_warning), title: String = stringResource(R.string.title_warning),
text: String, text: String,
confirmButtonText: String = stringResource(R.string.action_confirm), confirmButtonText: String = stringResource(R.string.action_confirm),
showDismissButton: Boolean = true,
dismissButtonText: String = stringResource(R.string.action_cancel), dismissButtonText: String = stringResource(R.string.action_cancel),
properties: DialogProperties = DialogProperties(), properties: DialogProperties = DialogProperties(),
onConfirm: () -> Unit, onConfirm: () -> Unit,
@ -38,7 +39,7 @@ fun ConfirmDialog(
title = title, title = title,
text = { Text(text) }, // 已经实现好滚动了 text = { Text(text) }, // 已经实现好滚动了
confirmButton = confirmButtonText, confirmButton = confirmButtonText,
dismissButton = dismissButtonText, dismissButton = if (showDismissButton) dismissButtonText else null,
onConfirm = { onConfirm = {
onConfirm() onConfirm()
onDismiss() onDismiss()
@ -57,7 +58,7 @@ fun BasicDialog(
title: String, title: String,
text: @Composable (() -> Unit)? = null, text: @Composable (() -> Unit)? = null,
confirmButton: String, confirmButton: String,
dismissButton: String, dismissButton: String? = null,
onConfirm: () -> Unit, onConfirm: () -> Unit,
onDismiss: () -> Unit, onDismiss: () -> Unit,
properties: DialogProperties = DialogProperties() properties: DialogProperties = DialogProperties()
@ -88,13 +89,15 @@ fun BasicDialog(
} }
}, },
dismissButton = { dismissButton = {
TextButton( dismissButton?.let {
onClick = { TextButton(
VibrationUtils.performHapticFeedback(view) onClick = {
onDismiss() VibrationUtils.performHapticFeedback(view)
onDismiss()
}
) {
Text(it)
} }
) {
Text(dismissButton)
} }
}, },
onDismissRequest = onDismiss, onDismissRequest = onDismiss,

View file

@ -139,12 +139,17 @@ fun SettingsData(
icon = Icons.Outlined.RestartAlt, icon = Icons.Outlined.RestartAlt,
title = stringResource(R.string.tip_tips), title = stringResource(R.string.tip_tips),
text = stringResource(R.string.tip_restore_success), text = stringResource(R.string.tip_restore_success),
showDismissButton = false,
onConfirm = { restartApp(context) }, onConfirm = { restartApp(context) },
onDismiss = { showRestoreDialog = false }, onDismiss = { showRestoreDialog = false },
properties = DialogProperties(dismissOnBackPress = false, dismissOnClickOutside = false) properties = DialogProperties(dismissOnBackPress = false, dismissOnClickOutside = false)
) )
} }
/**
* 重启应用
* @param context 上下文
*/
private fun restartApp(context: Context) { private fun restartApp(context: Context) {
val intent = Intent( val intent = Intent(
context, context,