diff --git a/manager/app/src/main/java/com/rifsxd/ksunext/ui/screen/BackupRestore.kt b/manager/app/src/main/java/com/rifsxd/ksunext/ui/screen/BackupRestore.kt index f487204b..9633939f 100644 --- a/manager/app/src/main/java/com/rifsxd/ksunext/ui/screen/BackupRestore.kt +++ b/manager/app/src/main/java/com/rifsxd/ksunext/ui/screen/BackupRestore.kt @@ -165,7 +165,9 @@ fun BackupRestoreScreen(navigator: DestinationsNavigator) { val prefs = context.getSharedPreferences("settings", Context.MODE_PRIVATE) var useOverlayFs by rememberSaveable { - mutableStateOf(readMountSystemFile()) + mutableStateOf( + prefs.getBoolean("use_overlay_fs", false) + ) } val moduleRestore = stringResource(id = R.string.module_restore) 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 44d63d53..e186583a 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 @@ -224,11 +224,9 @@ fun SettingScreen(navigator: DestinationsNavigator) { } var useOverlayFs by rememberSaveable { - mutableStateOf(readMountSystemFile()) - } - - LaunchedEffect(Unit) { - useOverlayFs = readMountSystemFile() + mutableStateOf( + prefs.getBoolean("use_overlay_fs", false) + ) } var showRebootDialog by remember { mutableStateOf(false) } @@ -246,10 +244,8 @@ fun SettingScreen(navigator: DestinationsNavigator) { useOverlayFs = it if (useOverlayFs) { moduleBackup() - updateMountSystemFile(true) } else { moduleMigration() - updateMountSystemFile(false) } if (isManager) install() showRebootDialog = true diff --git a/manager/app/src/main/java/com/rifsxd/ksunext/ui/util/KsuCli.kt b/manager/app/src/main/java/com/rifsxd/ksunext/ui/util/KsuCli.kt index a75f0bdd..c71cbd8f 100644 --- a/manager/app/src/main/java/com/rifsxd/ksunext/ui/util/KsuCli.kt +++ b/manager/app/src/main/java/com/rifsxd/ksunext/ui/util/KsuCli.kt @@ -37,16 +37,10 @@ private fun ksuDaemonOverlayfsPath(): String { return ksuApp.applicationInfo.nativeLibraryDir + File.separator + "libksud_overlayfs.so" } -fun readMountSystemFile(): Boolean { - val shell = getRootShell() - val filePath = "/data/adb/ksu/mount_system" - val result = ShellUtils.fastCmd(shell, "cat $filePath").trim() - return result == "OVERLAYFS" -} - // Get the path based on the user's choice fun getKsuDaemonPath(): String { - val useOverlayFs = readMountSystemFile() + val prefs = ksuApp.getSharedPreferences("settings", Context.MODE_PRIVATE) + val useOverlayFs = prefs.getBoolean("use_overlay_fs", false) return if (useOverlayFs) { ksuDaemonOverlayfsPath() @@ -55,16 +49,6 @@ fun getKsuDaemonPath(): String { } } -fun updateMountSystemFile(useOverlayFs: Boolean) { - val shell = getRootShell() - val filePath = "/data/adb/ksu/mount_system" - if (useOverlayFs) { - ShellUtils.fastCmd(shell, "echo -n OVERLAYFS > $filePath") - } else { - ShellUtils.fastCmd(shell, "echo -n MAGIC_MOUNT > $filePath") - } -} - data class FlashResult(val code: Int, val err: String, val showReboot: Boolean) { constructor(result: Shell.Result, showReboot: Boolean) : this(result.code, result.err.joinToString("\n"), showReboot) constructor(result: Shell.Result) : this(result, result.isSuccess)