From 5cdec242ebaf21d3d77b805d090aeb18ae6102d0 Mon Sep 17 00:00:00 2001 From: rifsxd Date: Thu, 22 May 2025 00:27:31 +0600 Subject: [PATCH] manager: keep screen on when isActionRunning (#341) --- .../rifsxd/ksunext/ui/screen/ExecuteModuleAction.kt | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/manager/app/src/main/java/com/rifsxd/ksunext/ui/screen/ExecuteModuleAction.kt b/manager/app/src/main/java/com/rifsxd/ksunext/ui/screen/ExecuteModuleAction.kt index e7b4582d..a11f9d2f 100644 --- a/manager/app/src/main/java/com/rifsxd/ksunext/ui/screen/ExecuteModuleAction.kt +++ b/manager/app/src/main/java/com/rifsxd/ksunext/ui/screen/ExecuteModuleAction.kt @@ -27,6 +27,7 @@ import androidx.compose.material3.SnackbarHost import androidx.compose.material3.Text import androidx.compose.material3.TopAppBar import androidx.compose.runtime.Composable +import androidx.compose.runtime.DisposableEffect import androidx.compose.runtime.LaunchedEffect import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf @@ -36,6 +37,7 @@ import androidx.compose.runtime.setValue import androidx.compose.ui.Modifier import androidx.compose.ui.input.key.Key import androidx.compose.ui.input.key.key +import androidx.compose.ui.platform.LocalView import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.font.FontFamily import androidx.compose.ui.unit.dp @@ -67,6 +69,14 @@ fun ExecuteModuleActionScreen(navigator: DestinationsNavigator, moduleId: String var actionResult: Boolean var isActionRunning by rememberSaveable { mutableStateOf(true) } + val view = LocalView.current + DisposableEffect(isActionRunning) { + view.keepScreenOn = isActionRunning + onDispose { + view.keepScreenOn = false + } + } + BackHandler(enabled = isActionRunning) { // Disable back button if action is running }