diff --git a/manager/app/src/main/java/com/rifsxd/ksunext/ui/screen/AppProfile.kt b/manager/app/src/main/java/com/rifsxd/ksunext/ui/screen/AppProfile.kt index 1b0ca3ca..13fc4689 100644 --- a/manager/app/src/main/java/com/rifsxd/ksunext/ui/screen/AppProfile.kt +++ b/manager/app/src/main/java/com/rifsxd/ksunext/ui/screen/AppProfile.kt @@ -55,6 +55,7 @@ import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.DpOffset import androidx.compose.ui.unit.dp +import androidx.lifecycle.compose.dropUnlessResumed import coil.compose.AsyncImage import coil.request.ImageRequest import com.ramcosta.composedestinations.annotation.Destination @@ -109,7 +110,7 @@ fun AppProfileScreen( Scaffold( topBar = { TopBar( - onBack = { navigator.popBackStack() }, + onBack = dropUnlessResumed { navigator.popBackStack() }, scrollBehavior = scrollBehavior ) }, 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 0ca7f06e..35cafcfd 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 @@ -55,6 +55,7 @@ import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.dp import androidx.core.content.FileProvider +import androidx.lifecycle.compose.dropUnlessResumed import com.maxkeppeker.sheets.core.models.base.Header import com.maxkeppeker.sheets.core.models.base.IconSource import com.maxkeppeker.sheets.core.models.base.rememberUseCaseState @@ -102,7 +103,9 @@ fun BackupRestoreScreen(navigator: DestinationsNavigator) { Scaffold( topBar = { TopBar( - onBack = { navigator.popBackStack() }, + onBack = dropUnlessResumed { + navigator.popBackStack() + }, scrollBehavior = scrollBehavior ) }, 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 43bf5dd3..e7b4582d 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 @@ -39,6 +39,7 @@ import androidx.compose.ui.input.key.key import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.font.FontFamily import androidx.compose.ui.unit.dp +import androidx.lifecycle.compose.dropUnlessResumed import com.ramcosta.composedestinations.annotation.Destination import com.ramcosta.composedestinations.annotation.RootGraph import com.ramcosta.composedestinations.navigation.DestinationsNavigator @@ -100,7 +101,7 @@ fun ExecuteModuleActionScreen(navigator: DestinationsNavigator, moduleId: String topBar = { TopBar( isActionRunning = isActionRunning, - onBack = { + onBack = dropUnlessResumed { navigator.popBackStack() }, onSave = { diff --git a/manager/app/src/main/java/com/rifsxd/ksunext/ui/screen/Flash.kt b/manager/app/src/main/java/com/rifsxd/ksunext/ui/screen/Flash.kt index b30d2839..4694c6ac 100644 --- a/manager/app/src/main/java/com/rifsxd/ksunext/ui/screen/Flash.kt +++ b/manager/app/src/main/java/com/rifsxd/ksunext/ui/screen/Flash.kt @@ -48,6 +48,7 @@ import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.font.FontFamily import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp +import androidx.lifecycle.compose.dropUnlessResumed import com.ramcosta.composedestinations.annotation.Destination import com.ramcosta.composedestinations.annotation.RootGraph import com.ramcosta.composedestinations.navigation.DestinationsNavigator @@ -152,7 +153,7 @@ fun FlashScreen(navigator: DestinationsNavigator, flashIt: FlashIt) { topBar = { TopBar( flashing, - onBack = { + onBack = dropUnlessResumed { navigator.popBackStack() }, onSave = { diff --git a/manager/app/src/main/java/com/rifsxd/ksunext/ui/screen/Install.kt b/manager/app/src/main/java/com/rifsxd/ksunext/ui/screen/Install.kt index f19a6f65..8a5e61c4 100644 --- a/manager/app/src/main/java/com/rifsxd/ksunext/ui/screen/Install.kt +++ b/manager/app/src/main/java/com/rifsxd/ksunext/ui/screen/Install.kt @@ -47,6 +47,7 @@ import androidx.compose.ui.res.stringResource import androidx.compose.ui.semantics.Role import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp +import androidx.lifecycle.compose.dropUnlessResumed import com.maxkeppeker.sheets.core.models.base.Header import com.maxkeppeker.sheets.core.models.base.rememberUseCaseState import com.maxkeppeler.sheets.list.ListDialog @@ -133,7 +134,7 @@ fun InstallScreen(navigator: DestinationsNavigator) { Scaffold( topBar = { TopBar( - onBack = { navigator.popBackStack() }, + onBack = dropUnlessResumed { navigator.popBackStack() }, onLkmUpload = onLkmUpload, scrollBehavior = scrollBehavior ) diff --git a/manager/app/src/main/java/com/rifsxd/ksunext/ui/screen/Template.kt b/manager/app/src/main/java/com/rifsxd/ksunext/ui/screen/Template.kt index 9c54f923..4b5d819d 100644 --- a/manager/app/src/main/java/com/rifsxd/ksunext/ui/screen/Template.kt +++ b/manager/app/src/main/java/com/rifsxd/ksunext/ui/screen/Template.kt @@ -49,6 +49,7 @@ import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.AnnotatedString import androidx.compose.ui.unit.dp +import androidx.lifecycle.compose.dropUnlessResumed import androidx.lifecycle.viewmodel.compose.viewModel import com.ramcosta.composedestinations.annotation.Destination import com.ramcosta.composedestinations.annotation.RootGraph @@ -100,7 +101,7 @@ fun AppProfileTemplateScreen( } } TopBar( - onBack = { navigator.popBackStack() }, + onBack = dropUnlessResumed { navigator.popBackStack() }, onSync = { scope.launch { viewModel.fetchTemplates(true) } }, diff --git a/manager/app/src/main/java/com/rifsxd/ksunext/ui/screen/TemplateEditor.kt b/manager/app/src/main/java/com/rifsxd/ksunext/ui/screen/TemplateEditor.kt index 4850927b..6a893906 100644 --- a/manager/app/src/main/java/com/rifsxd/ksunext/ui/screen/TemplateEditor.kt +++ b/manager/app/src/main/java/com/rifsxd/ksunext/ui/screen/TemplateEditor.kt @@ -44,6 +44,7 @@ import androidx.compose.ui.platform.LocalSoftwareKeyboardController import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.input.ImeAction import androidx.compose.ui.text.input.KeyboardType +import androidx.lifecycle.compose.dropUnlessResumed import com.ramcosta.composedestinations.annotation.Destination import com.ramcosta.composedestinations.annotation.RootGraph import com.ramcosta.composedestinations.result.ResultBackNavigator @@ -105,7 +106,7 @@ fun TemplateEditorScreen( }, readOnly = readOnly, summary = titleSummary, - onBack = { navigator.navigateBack(result = !readOnly) }, + onBack = dropUnlessResumed { navigator.navigateBack(result = !readOnly) }, onDelete = { if (deleteAppProfileTemplate(template.id)) { navigator.navigateBack(result = true)