From 768de7e2dc7b7dc4c6ab95f243a44c2f7d290a61 Mon Sep 17 00:00:00 2001 From: Rifat Azad Date: Wed, 8 Jan 2025 13:54:43 +0600 Subject: [PATCH] manager: added warning dialog --- .../com/rifsxd/ksunext/ui/screen/Settings.kt | 36 ++++++++++++++++--- manager/app/src/main/res/values/strings.xml | 4 +++ 2 files changed, 36 insertions(+), 4 deletions(-) diff --git a/manager/app/src/main/java/com/rifsxd/ksunext/ui/screen/Settings.kt b/manager/app/src/main/java/com/rifsxd/ksunext/ui/screen/Settings.kt index 427607b5..2c795bac 100644 --- a/manager/app/src/main/java/com/rifsxd/ksunext/ui/screen/Settings.kt +++ b/manager/app/src/main/java/com/rifsxd/ksunext/ui/screen/Settings.kt @@ -163,6 +163,8 @@ fun SettingScreen(navigator: DestinationsNavigator) { val prefs = context.getSharedPreferences("settings", Context.MODE_PRIVATE) + val hasShownWarning = rememberSaveable { mutableStateOf(prefs.getBoolean("has_shown_warning", false)) } + var useOverlayFs by rememberSaveable { mutableStateOf( prefs.getBoolean("use_overlay_fs", false) @@ -173,16 +175,41 @@ fun SettingScreen(navigator: DestinationsNavigator) { var showRebootDialog by remember { mutableStateOf(false) } + var showWarningDialog by remember { mutableStateOf(false) } + SwitchItem( icon = Icons.Filled.Build, title = stringResource(id = R.string.use_overlay_fs), summary = stringResource(id = R.string.use_overlay_fs_summary), checked = useOverlayFs ) { - prefs.edit().putBoolean("use_overlay_fs", it).apply() - useOverlayFs = it - if (isManager) install() - showRebootDialog = true + if (!hasShownWarning.value) { + showWarningDialog = true + } + } + + if (showWarningDialog) { + AlertDialog( + onDismissRequest = { showWarningDialog = false }, + title = { Text(stringResource(R.string.warning)) }, + text = { Text(stringResource(R.string.warning_message)) }, + confirmButton = { + TextButton(onClick = { + showWarningDialog = false + prefs.edit().putBoolean("use_overlay_fs", !useOverlayFs).apply() + useOverlayFs = !useOverlayFs + if (isManager) install() + showRebootDialog = true + }) { + Text(stringResource(R.string.proceed)) + } + }, + dismissButton = { + TextButton(onClick = { showWarningDialog = false }) { + Text(stringResource(R.string.cancel)) + } + } + ) } if (showRebootDialog) { @@ -206,6 +233,7 @@ fun SettingScreen(navigator: DestinationsNavigator) { ) } + var checkUpdate by rememberSaveable { mutableStateOf( prefs.getBoolean("check_update", true) diff --git a/manager/app/src/main/res/values/strings.xml b/manager/app/src/main/res/values/strings.xml index 4c4a172e..d5ac49fe 100644 --- a/manager/app/src/main/res/values/strings.xml +++ b/manager/app/src/main/res/values/strings.xml @@ -69,6 +69,10 @@ Toggle between using OverlayFS over Magic Mount for KernelSU Next\'s mount system. Reboot Required Changes will take effect after rebooting the system. Would you like to reboot now? + Warning + This feature is still in beta and under development. Please ensure you backup your modules before proceeding. Use this feature only if you understand the potential risks. Proceed with caution. + Proceed + Cancel Later 🔥 Next build https://github.com/rifsxd/KernelSU-Next