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