MindMachine: add immersive fullscreen and tap-to-reveal bars

This commit is contained in:
Tretzi
2026-03-10 23:51:55 -05:00
parent fecd29ac3d
commit a4d81f41b0
3 changed files with 89 additions and 1 deletions

View File

@@ -1,7 +1,9 @@
package com.mindmachine.mvp
import com.mindmachine.mvp.domain.RuntimeState
import com.mindmachine.mvp.session.shouldRevealSystemBarsOnTap
import com.mindmachine.mvp.session.shouldShowActiveControlsByDefault
import com.mindmachine.mvp.session.shouldUseImmersiveFullscreen
import org.junit.Assert.assertFalse
import org.junit.Assert.assertTrue
import org.junit.Test
@@ -21,4 +23,25 @@ class ActiveSessionUiTest {
assertTrue(shouldShowActiveControlsByDefault(RuntimeState.COMPLETED))
assertTrue(shouldShowActiveControlsByDefault(RuntimeState.STOPPED))
}
@Test
fun immersive_fullscreen_applies_only_to_visual_countdown_and_running_states() {
assertTrue(shouldUseImmersiveFullscreen(isVisualMode = true, runtimeState = RuntimeState.COUNTDOWN))
assertTrue(shouldUseImmersiveFullscreen(isVisualMode = true, runtimeState = RuntimeState.RUNNING))
assertFalse(shouldUseImmersiveFullscreen(isVisualMode = false, runtimeState = RuntimeState.COUNTDOWN))
assertFalse(shouldUseImmersiveFullscreen(isVisualMode = false, runtimeState = RuntimeState.RUNNING))
assertFalse(shouldUseImmersiveFullscreen(isVisualMode = true, runtimeState = RuntimeState.PAUSED))
assertFalse(shouldUseImmersiveFullscreen(isVisualMode = true, runtimeState = RuntimeState.INTERRUPTED))
}
@Test
fun tap_to_reveal_system_bars_is_only_enabled_during_active_visual_stimulation() {
assertTrue(shouldRevealSystemBarsOnTap(isVisualMode = true, runtimeState = RuntimeState.COUNTDOWN))
assertTrue(shouldRevealSystemBarsOnTap(isVisualMode = true, runtimeState = RuntimeState.RUNNING))
assertFalse(shouldRevealSystemBarsOnTap(isVisualMode = false, runtimeState = RuntimeState.RUNNING))
assertFalse(shouldRevealSystemBarsOnTap(isVisualMode = true, runtimeState = RuntimeState.PAUSED))
assertFalse(shouldRevealSystemBarsOnTap(isVisualMode = true, runtimeState = RuntimeState.COMPLETED))
}
}