From 5073e5cb224c8a77d0d67a3309558403dd7aa9cf Mon Sep 17 00:00:00 2001 From: lbarraga Date: Mon, 15 May 2023 12:54:07 +0200 Subject: [PATCH] #118 subclass of AbstractSessionScreen -> this file --- .../composables/BreakTimerScreenComposable.kt | 36 +++++++++++++++++++ .../CustomTimerSessionScreenComposable.kt | 27 ++++++++++++++ .../EndlessTimerSessionScreenComposable.kt | 22 +++++++++++- 3 files changed, 84 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/be/ugent/sel/studeez/screens/session/sessionScreens/composables/BreakTimerScreenComposable.kt b/app/src/main/java/be/ugent/sel/studeez/screens/session/sessionScreens/composables/BreakTimerScreenComposable.kt index da72fe0..11cce8d 100644 --- a/app/src/main/java/be/ugent/sel/studeez/screens/session/sessionScreens/composables/BreakTimerScreenComposable.kt +++ b/app/src/main/java/be/ugent/sel/studeez/screens/session/sessionScreens/composables/BreakTimerScreenComposable.kt @@ -1,2 +1,38 @@ package be.ugent.sel.studeez.screens.session.sessionScreens.composables +import androidx.compose.runtime.Composable +import be.ugent.sel.studeez.R +import be.ugent.sel.studeez.data.local.models.timer_functional.FunctionalPomodoroTimer +import be.ugent.sel.studeez.resources +import be.ugent.sel.studeez.screens.session.SessionActions + +@Composable +fun BreakSessionScreenComposable( + open: (String) -> Unit, + sessionActions: SessionActions, + pomodoroTimer: FunctionalPomodoroTimer +) { + SessionScreen( + open = open, + sessionActions = sessionActions + ) { + motivationString(pomodoroTimer = pomodoroTimer) + } +} + +@Composable +private fun motivationString(pomodoroTimer: FunctionalPomodoroTimer): String { + if (pomodoroTimer.isInBreak) { + return resources().getString(R.string.state_take_a_break) + } + + if (pomodoroTimer.hasEnded()) { + return resources().getString(R.string.state_done) + } + + return resources().getQuantityString( + R.plurals.state_focus_remaining, + pomodoroTimer.breaksRemaining, + pomodoroTimer.breaksRemaining + ) +} \ No newline at end of file diff --git a/app/src/main/java/be/ugent/sel/studeez/screens/session/sessionScreens/composables/CustomTimerSessionScreenComposable.kt b/app/src/main/java/be/ugent/sel/studeez/screens/session/sessionScreens/composables/CustomTimerSessionScreenComposable.kt index da72fe0..bafcb19 100644 --- a/app/src/main/java/be/ugent/sel/studeez/screens/session/sessionScreens/composables/CustomTimerSessionScreenComposable.kt +++ b/app/src/main/java/be/ugent/sel/studeez/screens/session/sessionScreens/composables/CustomTimerSessionScreenComposable.kt @@ -1,2 +1,29 @@ package be.ugent.sel.studeez.screens.session.sessionScreens.composables +import androidx.compose.runtime.Composable +import be.ugent.sel.studeez.R +import be.ugent.sel.studeez.data.local.models.timer_functional.FunctionalCustomTimer +import be.ugent.sel.studeez.resources +import be.ugent.sel.studeez.screens.session.SessionActions + +@Composable +fun CustomTimerSessionScreenComposable( + open: (String) -> Unit, + sessionActions: SessionActions, + customTimer: FunctionalCustomTimer +) { + SessionScreen( + open = open, + sessionActions = sessionActions + ) { + motivationString(customTimer = customTimer) + } +} + +@Composable +private fun motivationString(customTimer: FunctionalCustomTimer): String { + if (customTimer.hasEnded()) { + return resources().getString(R.string.state_done) + } + return resources().getString(R.string.state_focus) +} \ No newline at end of file diff --git a/app/src/main/java/be/ugent/sel/studeez/screens/session/sessionScreens/composables/EndlessTimerSessionScreenComposable.kt b/app/src/main/java/be/ugent/sel/studeez/screens/session/sessionScreens/composables/EndlessTimerSessionScreenComposable.kt index 683b284..b223f52 100644 --- a/app/src/main/java/be/ugent/sel/studeez/screens/session/sessionScreens/composables/EndlessTimerSessionScreenComposable.kt +++ b/app/src/main/java/be/ugent/sel/studeez/screens/session/sessionScreens/composables/EndlessTimerSessionScreenComposable.kt @@ -1,4 +1,24 @@ package be.ugent.sel.studeez.screens.session.sessionScreens.composables -class EndlessTimerSessionScreenComposable { +import androidx.compose.runtime.Composable +import be.ugent.sel.studeez.R +import be.ugent.sel.studeez.resources +import be.ugent.sel.studeez.screens.session.SessionActions + +@Composable +fun EndlessTimerSessionScreenComposable( + open: (String) -> Unit, + sessionActions: SessionActions, +) { + SessionScreen( + open = open, + sessionActions = sessionActions + ) { + motivationString() + } +} + +@Composable +private fun motivationString(): String { + return resources().getString(R.string.state_focus) } \ No newline at end of file