preview + visitor refactor
This commit is contained in:
parent
351547f111
commit
9a18bcc414
2 changed files with 22 additions and 12 deletions
|
@ -15,8 +15,10 @@ import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.graphics.Color
|
import androidx.compose.ui.graphics.Color
|
||||||
import androidx.compose.ui.text.font.FontWeight
|
import androidx.compose.ui.text.font.FontWeight
|
||||||
import androidx.compose.ui.text.style.TextAlign
|
import androidx.compose.ui.text.style.TextAlign
|
||||||
|
import androidx.compose.ui.tooling.preview.Preview
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import androidx.compose.ui.unit.sp
|
import androidx.compose.ui.unit.sp
|
||||||
|
import be.ugent.sel.studeez.data.local.models.timer_functional.FunctionalEndlessTimer
|
||||||
import be.ugent.sel.studeez.navigation.StudeezDestinations
|
import be.ugent.sel.studeez.navigation.StudeezDestinations
|
||||||
import be.ugent.sel.studeez.screens.session.SessionActions
|
import be.ugent.sel.studeez.screens.session.SessionActions
|
||||||
import kotlinx.coroutines.delay
|
import kotlinx.coroutines.delay
|
||||||
|
@ -66,7 +68,7 @@ abstract class AbstractSessionScreen {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
private fun Timer(
|
fun Timer(
|
||||||
sessionActions: SessionActions,
|
sessionActions: SessionActions,
|
||||||
) {
|
) {
|
||||||
var tikker by remember { mutableStateOf(false) }
|
var tikker by remember { mutableStateOf(false) }
|
||||||
|
@ -85,8 +87,8 @@ abstract class AbstractSessionScreen {
|
||||||
|
|
||||||
if (!timerEnd && sessionActions.getTimer().hasEnded()) {
|
if (!timerEnd && sessionActions.getTimer().hasEnded()) {
|
||||||
// sessionActions.prepareMediaPlayer()
|
// sessionActions.prepareMediaPlayer()
|
||||||
timerEnd =
|
timerEnd =
|
||||||
true // Placeholder, vanaf hier moet het report opgestart worden en de sessie afgesloten
|
true // Placeholder, vanaf hier moet het report opgestart worden en de sessie afgesloten
|
||||||
}
|
}
|
||||||
|
|
||||||
val hms = sessionActions.getTimer().getHoursMinutesSeconds()
|
val hms = sessionActions.getTimer().getHoursMinutesSeconds()
|
||||||
|
@ -135,4 +137,15 @@ abstract class AbstractSessionScreen {
|
||||||
@Composable
|
@Composable
|
||||||
abstract fun motivationString(): String
|
abstract fun motivationString(): String
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Preview
|
||||||
|
@Composable
|
||||||
|
fun TimerPreview() {
|
||||||
|
val sessionScreen = object : AbstractSessionScreen() {
|
||||||
|
@Composable
|
||||||
|
override fun motivationString(): String = "Test"
|
||||||
|
|
||||||
|
}
|
||||||
|
sessionScreen.Timer(sessionActions = SessionActions({ FunctionalEndlessTimer() }, { "Preview" }, {}, {}))
|
||||||
}
|
}
|
|
@ -6,15 +6,12 @@ import be.ugent.sel.studeez.data.local.models.timer_functional.FunctionalPomodor
|
||||||
import be.ugent.sel.studeez.data.local.models.timer_functional.FunctionalTimerVisitor
|
import be.ugent.sel.studeez.data.local.models.timer_functional.FunctionalTimerVisitor
|
||||||
|
|
||||||
class GetSessionScreen : FunctionalTimerVisitor<AbstractSessionScreen> {
|
class GetSessionScreen : FunctionalTimerVisitor<AbstractSessionScreen> {
|
||||||
override fun visitFunctionalCustomTimer(functionalCustomTimer: FunctionalCustomTimer): AbstractSessionScreen {
|
override fun visitFunctionalCustomTimer(functionalCustomTimer: FunctionalCustomTimer): AbstractSessionScreen =
|
||||||
return CustomSessionScreen(functionalCustomTimer)
|
CustomSessionScreen(functionalCustomTimer)
|
||||||
}
|
|
||||||
|
|
||||||
override fun visitFunctionalEndlessTimer(functionalEndlessTimer: FunctionalEndlessTimer): AbstractSessionScreen {
|
override fun visitFunctionalEndlessTimer(functionalEndlessTimer: FunctionalEndlessTimer): AbstractSessionScreen =
|
||||||
return EndlessSessionScreen()
|
EndlessSessionScreen()
|
||||||
}
|
|
||||||
|
|
||||||
override fun visitFunctionalBreakTimer(functionalPomodoroTimer: FunctionalPomodoroTimer): AbstractSessionScreen {
|
override fun visitFunctionalBreakTimer(functionalPomodoroTimer: FunctionalPomodoroTimer): AbstractSessionScreen =
|
||||||
return BreakSessionScreen(functionalPomodoroTimer)
|
BreakSessionScreen(functionalPomodoroTimer)
|
||||||
}
|
|
||||||
}
|
}
|
Reference in a new issue