Remove end-session confirmation dialog

This commit is contained in:
Tretzi
2026-04-09 20:40:46 -05:00
parent f10df4813f
commit 38c9291db4
3 changed files with 3 additions and 68 deletions

View File

@@ -104,7 +104,6 @@ import com.mindmachine.mvp.session.flashIntervalMsToSeconds
import com.mindmachine.mvp.session.flashIntervalSecondsToMs
import com.mindmachine.mvp.session.formatDuration
import com.mindmachine.mvp.session.sessionProgressFraction
import com.mindmachine.mvp.session.shouldRequireStopConfirmation
import com.mindmachine.mvp.session.shouldShowActiveControlsByDefault
import com.mindmachine.mvp.session.shouldUseImmersiveFullscreen
import kotlinx.coroutines.delay
@@ -114,11 +113,6 @@ import java.util.Locale
private const val SESSION_ENTRY_HOME = "home"
private const val SESSION_ENTRY_SETUP = "setup"
private enum class StopConfirmationAction {
BACK,
STOP_BUTTON,
}
private val MindMachineColors = darkColorScheme(
primary = Color(0xFF8AB4FF),
onPrimary = Color(0xFF001B3D),
@@ -489,14 +483,8 @@ fun ActiveSessionScreen(vm: MainViewModel, onFinish: () -> Unit, onBackToEntry:
val ui by vm.ui.collectAsStateWithLifecycle()
if (ui.runtimeState == RuntimeState.COMPLETED) onFinish()
var stopConfirmationAction by remember { mutableStateOf<StopConfirmationAction?>(null) }
BackHandler {
if (shouldRequireStopConfirmation(ui.runtimeState)) {
stopConfirmationAction = StopConfirmationAction.BACK
} else {
onBackToEntry()
}
onBackToEntry()
}
val isVisualMode = true
@@ -647,12 +635,8 @@ fun ActiveSessionScreen(vm: MainViewModel, onFinish: () -> Unit, onBackToEntry:
}
OutlinedButton(
onClick = {
if (shouldRequireStopConfirmation(ui.runtimeState)) {
stopConfirmationAction = StopConfirmationAction.STOP_BUTTON
} else {
vm.stop()
onFinish()
}
vm.stop()
onFinish()
},
modifier = Modifier.fillMaxWidth()
) { Text("Stop") }
@@ -667,36 +651,6 @@ fun ActiveSessionScreen(vm: MainViewModel, onFinish: () -> Unit, onBackToEntry:
}
}
}
if (stopConfirmationAction != null) {
AlertDialog(
onDismissRequest = { stopConfirmationAction = null },
title = { Text("End session?") },
text = { Text("Your current session will stop and return to the previous screen.") },
confirmButton = {
TextButton(
onClick = {
when (stopConfirmationAction) {
StopConfirmationAction.BACK -> onBackToEntry()
StopConfirmationAction.STOP_BUTTON -> {
vm.stop()
onFinish()
}
null -> Unit
}
stopConfirmationAction = null
}
) {
Text("End session", color = Color(0xFFFF5252))
}
},
dismissButton = {
TextButton(onClick = { stopConfirmationAction = null }) {
Text("Keep running")
}
}
)
}
}
@Composable

View File

@@ -11,10 +11,3 @@ fun sessionProgressFraction(durationSec: Int, remainingSec: Int): Float {
val elapsed = (total - remainingSec).coerceIn(0, total)
return elapsed.toFloat() / total.toFloat()
}
fun shouldRequireStopConfirmation(runtimeState: RuntimeState): Boolean {
return runtimeState == RuntimeState.COUNTDOWN ||
runtimeState == RuntimeState.RUNNING ||
runtimeState == RuntimeState.PAUSED ||
runtimeState == RuntimeState.INTERRUPTED
}