mediaplayer from SessionScreen.kt instead of MainActivity.kt

This commit is contained in:
Rune Dyselinck 2023-04-25 09:37:50 +02:00
parent addfb7e126
commit 9c105f96a9
2 changed files with 9 additions and 9 deletions

View file

@ -48,7 +48,7 @@ class MainActivity : ComponentActivity() {
override fun onStop() {
onTimerInvisible = lifecycleScope.launch {
InvisibleSessionManager.updateTimer(mediaPlayer)
InvisibleSessionManager.updateTimer()
}
super.onStop()
}

View file

@ -47,7 +47,7 @@ fun SessionScreen(
mediaplayer.isLooping = false
// evt mediaplayer meegeven vanaf hier als reserve oplossing
InvisibleSessionManager.setNewViewModel(viewModel = viewModel)
InvisibleSessionManager.setParameters(viewModel = viewModel, mediaplayer = mediaplayer)
Column(
modifier = Modifier.padding(10.dp)
@ -153,25 +153,25 @@ private fun Timer(viewModel: SessionViewModel = hiltViewModel(), mediaplayer: Me
}
object InvisibleSessionManager {
lateinit var viewModel: SessionViewModel
private lateinit var viewModel: SessionViewModel
private lateinit var mediaplayer: MediaPlayer
var isSession: Boolean = false
fun setNewViewModel(viewModel: SessionViewModel) {
fun setParameters(viewModel: SessionViewModel, mediaplayer: MediaPlayer) {
isSession = true
this.viewModel = viewModel
this.mediaplayer = mediaplayer
}
suspend fun updateTimer(mediaPlayer: MediaPlayer?) {
suspend fun updateTimer() {
if (isSession) {
while (true) {
delay(1.seconds)
viewModel.getTimer().tick()
if (viewModel.getTimer().hasCurrentCountdownEnded() && !viewModel.getTimer().hasEnded()) {
mediaPlayer?.start()
mediaplayer.start()
}
}
}
}
}
}