mediaplayer from SessionScreen.kt instead of MainActivity.kt
This commit is contained in:
		
							parent
							
								
									addfb7e126
								
							
						
					
					
						commit
						9c105f96a9
					
				
					 2 changed files with 9 additions and 9 deletions
				
			
		| 
						 | 
				
			
			@ -48,7 +48,7 @@ class MainActivity : ComponentActivity() {
 | 
			
		|||
 | 
			
		||||
    override fun onStop() {
 | 
			
		||||
        onTimerInvisible = lifecycleScope.launch {
 | 
			
		||||
            InvisibleSessionManager.updateTimer(mediaPlayer)
 | 
			
		||||
            InvisibleSessionManager.updateTimer()
 | 
			
		||||
        }
 | 
			
		||||
        super.onStop()
 | 
			
		||||
    }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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()
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Reference in a new issue