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 index 948c4c4..8a7c405 100644 --- 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 @@ -1,9 +1,6 @@ package be.ugent.sel.studeez.screens.session -import android.content.Context import android.media.MediaPlayer -import android.media.RingtoneManager -import android.net.Uri import kotlinx.coroutines.delay import javax.inject.Singleton import kotlin.time.Duration.Companion.seconds @@ -13,10 +10,8 @@ object InvisibleSessionManager { private var viewModel: SessionViewModel? = null private lateinit var mediaPlayer: MediaPlayer - fun setParameters(viewModel: SessionViewModel, context: Context) { - val uri: Uri = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION) - this.mediaPlayer = MediaPlayer.create(context, uri) - this.mediaPlayer.isLooping = false + fun setParameters(viewModel: SessionViewModel, mediaPlayer: MediaPlayer) { + this.mediaPlayer = mediaPlayer this.viewModel = viewModel } diff --git a/app/src/main/java/be/ugent/sel/studeez/screens/session/SessionRoute.kt b/app/src/main/java/be/ugent/sel/studeez/screens/session/SessionRoute.kt index aeaf544..6ca8a96 100644 --- a/app/src/main/java/be/ugent/sel/studeez/screens/session/SessionRoute.kt +++ b/app/src/main/java/be/ugent/sel/studeez/screens/session/SessionRoute.kt @@ -1,5 +1,8 @@ package be.ugent.sel.studeez.screens.session +import android.media.MediaPlayer +import android.media.RingtoneManager +import android.net.Uri import androidx.compose.runtime.Composable import androidx.compose.ui.platform.LocalContext import be.ugent.sel.studeez.data.local.models.timer_functional.FunctionalTimer @@ -28,8 +31,11 @@ fun SessionRoute( openAndPopUp: (String, String) -> Unit, viewModel: SessionViewModel, ) { + val uri: Uri = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION) + val mediaPlayer = MediaPlayer.create(LocalContext.current, uri) + mediaPlayer.isLooping = false - InvisibleSessionManager.setParameters(viewModel = viewModel, context = LocalContext.current) + InvisibleSessionManager.setParameters(viewModel = viewModel, mediaPlayer = mediaPlayer) val soundPlayer = SoundPlayer(LocalContext.current) val sessionActions = getSessionActions(viewModel, openAndPopUp) diff --git a/app/src/test/java/be/ugent/sel/studeez/timer_functional/FunctionalPomodoroTimerUnitTest.kt b/app/src/test/java/be/ugent/sel/studeez/timer_functional/FunctionalPomodoroTimerUnitTest.kt index 4b259c8..89a9b17 100644 --- a/app/src/test/java/be/ugent/sel/studeez/timer_functional/FunctionalPomodoroTimerUnitTest.kt +++ b/app/src/test/java/be/ugent/sel/studeez/timer_functional/FunctionalPomodoroTimerUnitTest.kt @@ -7,13 +7,14 @@ import org.junit.Test class FunctionalPomodoroTimerUnitTest : FunctionalTimerUnitTest() { private val breakTime = 10 private val breaks = 2 + private val repeats = 3 // = breaks + 1 override val hours = 0 override val minutes = 0 override val seconds = 10 private lateinit var pomodoroTimer: FunctionalPomodoroTimer override fun setTimer() { - pomodoroTimer = FunctionalPomodoroTimer(time, breakTime, breaks) + pomodoroTimer = FunctionalPomodoroTimer(time, breakTime, repeats) } @Test diff --git a/app/src/test/java/be/ugent/sel/studeez/timer_functional/InvisibleSessionManagerTest.kt b/app/src/test/java/be/ugent/sel/studeez/timer_functional/InvisibleSessionManagerTest.kt index 8f1cca7..891c379 100644 --- a/app/src/test/java/be/ugent/sel/studeez/timer_functional/InvisibleSessionManagerTest.kt +++ b/app/src/test/java/be/ugent/sel/studeez/timer_functional/InvisibleSessionManagerTest.kt @@ -22,6 +22,7 @@ class InvisibleSessionManagerTest { private var selectedTimer: SelectedTimer = SelectedTimer() private lateinit var viewModel: SessionViewModel + @Test fun InvisibleEndlessTimerTest() = runTest { selectedTimer.set(FunctionalEndlessTimer()) @@ -45,7 +46,7 @@ class InvisibleSessionManagerTest { fun InvisiblePomodoroTimerTest() = runTest { val studyTime = 10 val breakTime = 5 - val repeats = 1 + val repeats = 2 selectedTimer.set(FunctionalPomodoroTimer(studyTime, breakTime, repeats)) viewModel = SessionViewModel(selectedTimer, SelectedSessionReport(), SelectedTask(), LogServiceImpl()) InvisibleSessionManager.setParameters(viewModel, mock())