LibreTube/app/src/main/java/com/github/libretube/extensions/Player.kt

23 lines
614 B
Kotlin
Raw Normal View History

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()
}
2023-09-10 18:06:29 +05:30
!isPlaying && playbackState == Player.STATE_ENDED -> {
seekTo(0)
}
!isPlaying && minBufferingReached -> play()
else -> pause()
}
2023-09-10 18:06:29 +05:30
}