From f46063eba1f660f4bf5af1f43714abb60eea8baa Mon Sep 17 00:00:00 2001 From: Rune Dyselinck Date: Tue, 25 Apr 2023 20:58:14 +0200 Subject: [PATCH] isSession vervangend door null waaarden --- .../session/InvisibleSessionManager.kt | 34 +++++++++++++++++++ .../studeez/screens/session/SessionScreen.kt | 31 ++--------------- app/src/main/res/values/strings.xml | 1 + 3 files changed, 37 insertions(+), 29 deletions(-) create mode 100644 app/src/main/java/be/ugent/sel/studeez/screens/session/InvisibleSessionManager.kt diff --git a/app/src/main/java/be/ugent/sel/studeez/screens/session/InvisibleSessionManager.kt b/app/src/main/java/be/ugent/sel/studeez/screens/session/InvisibleSessionManager.kt new file mode 100644 index 0000000..c6def28 --- /dev/null +++ b/app/src/main/java/be/ugent/sel/studeez/screens/session/InvisibleSessionManager.kt @@ -0,0 +1,34 @@ +package be.ugent.sel.studeez.screens.session + +import android.media.MediaPlayer +import kotlinx.coroutines.delay +import javax.inject.Singleton +import kotlin.time.Duration.Companion.seconds + +@Singleton +object InvisibleSessionManager { + private var viewModel: SessionViewModel? = null + private var mediaplayer: MediaPlayer? = null + + fun setParameters(viewModel: SessionViewModel, mediaplayer: MediaPlayer) { + this.viewModel = viewModel + this.mediaplayer = mediaplayer + } + + suspend fun updateTimer() { + if (viewModel != null) { + while (true) { + delay(1.seconds) + viewModel!!.getTimer().tick() + if (viewModel!!.getTimer().hasCurrentCountdownEnded() && !viewModel!!.getTimer().hasEnded()) { + mediaplayer?.start() + } + } + } + } + + fun removeParameters() { + viewModel = null + mediaplayer = null + } +} \ No newline at end of file diff --git a/app/src/main/java/be/ugent/sel/studeez/screens/session/SessionScreen.kt b/app/src/main/java/be/ugent/sel/studeez/screens/session/SessionScreen.kt index 3a32b37..4f9ada5 100644 --- a/app/src/main/java/be/ugent/sel/studeez/screens/session/SessionScreen.kt +++ b/app/src/main/java/be/ugent/sel/studeez/screens/session/SessionScreen.kt @@ -35,7 +35,6 @@ import be.ugent.sel.studeez.data.local.models.timer_functional.FunctionalTimer import be.ugent.sel.studeez.data.local.models.timer_functional.FunctionalTimer.StudyState import be.ugent.sel.studeez.resources import kotlinx.coroutines.delay -import javax.inject.Singleton import kotlin.time.Duration.Companion.seconds data class SessionActions( @@ -99,7 +98,7 @@ fun SessionScreen( TextButton( onClick = { sessionActions.releaseMediaPlayer - + InvisibleSessionManager.removeParameters() open(StudeezDestinations.HOME_SCREEN) // Vanaf hier ook naar report gaan als "end session" knop word ingedrukt }, @@ -109,7 +108,7 @@ fun SessionScreen( .background(Color.Transparent) ) { Text( - text = "End session", + text = resources().getString(R.string.end_session), color = Color.Red, fontWeight = FontWeight.Bold, fontSize = 18.sp, @@ -190,32 +189,6 @@ private fun Timer( } } - -@Singleton -object InvisibleSessionManager { - private lateinit var viewModel: SessionViewModel - private lateinit var mediaplayer: MediaPlayer - var isSession: Boolean = false - - fun setParameters(viewModel: SessionViewModel, mediaplayer: MediaPlayer) { - isSession = true - this.viewModel = viewModel - this.mediaplayer = mediaplayer - } - - suspend fun updateTimer() { - if (isSession) { - while (true) { - delay(1.seconds) - viewModel.getTimer().tick() - if (viewModel.getTimer().hasCurrentCountdownEnded() && !viewModel.getTimer().hasEnded()) { - mediaplayer.start() - } - } - } - } -} - @Preview @Composable fun TimerPreview() { diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 39abda6..03900b3 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -44,6 +44,7 @@ Sessions + End session Profile