Keep the iPhone screen awake for the whole app session

Move the idle-timer disable out of ExerciseView/ExerciseProgressView and
up to the app scene, re-asserting it whenever the scene becomes active
(iOS clears the flag on background). A propped-up phone now stays lit for
the entire workout, not just while an exercise is open.

Claude-Session: https://claude.ai/code/session_01SCv7zvGFcKy47KSTnTLxRe
This commit is contained in:
2026-06-20 21:48:03 -04:00
parent a16e8ec270
commit b911818587
4 changed files with 9 additions and 10 deletions
@@ -181,8 +181,6 @@ struct ExerciseProgressView: View {
}
}
.onAppear {
// Keep the screen lit while logging a mid-workout sleep is annoying.
UIApplication.shared.isIdleTimerDisabled = true
guard !didRestorePage else { return }
if startsResumed {
// Resume on the first unfinished set. A paged TabView can settle on page 0
@@ -199,9 +197,6 @@ struct ExerciseProgressView: View {
didRestorePage = true
}
}
.onDisappear {
UIApplication.shared.isIdleTimerDisabled = false
}
}
/// Move to the resume page without animation, only if we're not already there