diff --git a/app/src/main/java/com/github/libretube/services/AbstractPlayerService.kt b/app/src/main/java/com/github/libretube/services/AbstractPlayerService.kt index cba1fd41b..7b3c5655e 100644 --- a/app/src/main/java/com/github/libretube/services/AbstractPlayerService.kt +++ b/app/src/main/java/com/github/libretube/services/AbstractPlayerService.kt @@ -327,7 +327,7 @@ abstract class AbstractPlayerService : MediaLibraryService(), MediaLibrarySessio } private fun saveWatchPosition() { - if (isTransitioning || !watchPositionsEnabled) return + if (isTransitioning || !watchPositionsEnabled || !::videoId.isInitialized) return exoPlayer?.let { PlayerHelper.saveWatchPosition(it, videoId) } } diff --git a/app/src/main/java/com/github/libretube/ui/fragments/AudioPlayerFragment.kt b/app/src/main/java/com/github/libretube/ui/fragments/AudioPlayerFragment.kt index 25ee039cb..5b4cfba8a 100644 --- a/app/src/main/java/com/github/libretube/ui/fragments/AudioPlayerFragment.kt +++ b/app/src/main/java/com/github/libretube/ui/fragments/AudioPlayerFragment.kt @@ -12,6 +12,7 @@ import androidx.activity.BackEventCompat import androidx.activity.OnBackPressedCallback import androidx.constraintlayout.motion.widget.MotionLayout import androidx.constraintlayout.motion.widget.TransitionAdapter +import androidx.core.math.MathUtils.clamp import androidx.core.os.bundleOf import androidx.core.view.isGone import androidx.core.view.isVisible @@ -397,8 +398,9 @@ class AudioPlayerFragment : Fragment(R.layout.fragment_audio_player), AudioPlaye // update the time bar current value and maximum value binding.timeBar.valueTo = (duration / 1000).toFloat() - binding.timeBar.value = minOf( + binding.timeBar.value = clamp( currentPosition / 1000, + binding.timeBar.valueFrom, binding.timeBar.valueTo )