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() { override fun onStop() {
onTimerInvisible = lifecycleScope.launch { onTimerInvisible = lifecycleScope.launch {
InvisibleSessionManager.updateTimer(mediaPlayer) InvisibleSessionManager.updateTimer()
} }
super.onStop() super.onStop()
} }

View file

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