From 904020da3ce651f50cee0562202257811c7d7ea3 Mon Sep 17 00:00:00 2001 From: Jeena Date: Thu, 15 Oct 2026 14:20:44 +0000 Subject: [PATCH] player: no spinner over the last frame when a video ends (#33) STATE_ENDED counted as "not ready", so finishing a video brought the thumbnail and the spinner back over the picture. Only STATE_BUFFERING drives the overlay now; the initial load is already covered by the first-frame guard, so the video simply stops on its last frame with the paused controls. Co-Authored-By: Claude Opus 5 --- .../main/java/net/jeena/jtubetv/ui/screens/PlayerScreen.kt | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/net/jeena/jtubetv/ui/screens/PlayerScreen.kt b/app/src/main/java/net/jeena/jtubetv/ui/screens/PlayerScreen.kt index d11778a..34b8b40 100644 --- a/app/src/main/java/net/jeena/jtubetv/ui/screens/PlayerScreen.kt +++ b/app/src/main/java/net/jeena/jtubetv/ui/screens/PlayerScreen.kt @@ -438,7 +438,10 @@ private fun PlayerSurface( } override fun onPlaybackStateChanged(playbackState: Int) { - bufferingPending = playbackState != Player.STATE_READY + // Only real buffering shows the overlay (issue #33): STATE_ENDED used + // to count as "not ready" and brought the thumbnail + spinner back + // over the last frame. The initial load is covered by !firstFrame. + bufferingPending = playbackState == Player.STATE_BUFFERING } override fun onRenderedFirstFrame() {