LibreTube/app/src/main/java/com/github/libretube/extensions/Player.kt
2023-10-23 17:55:09 +02:00

23 lines
610 B
Kotlin

package com.github.libretube.extensions
import androidx.media3.common.Player
import com.github.libretube.helpers.PlayerHelper
fun Player.togglePlayPauseState() {
val minBufferingReached = totalBufferedDuration >= PlayerHelper.MINIMUM_BUFFER_DURATION ||
currentPosition + PlayerHelper.MINIMUM_BUFFER_DURATION >= duration
when {
playerError != null -> {
prepare()
play()
}
!isPlaying && playbackState == Player.STATE_ENDED -> {
seekTo(0)
}
!isPlaying && minBufferingReached -> play()
else -> pause()
}
}