[Android] Fix resume playback paused when play queue was finished
Nicolas Pomepuy
git at videolan.org
Fri Apr 25 06:07:52 UTC 2025
vlc-android | branch: master | Nicolas Pomepuy <nicolas at videolabs.io> | Thu Apr 17 07:29:35 2025 +0200| [afeab55a6a9d823dec39ee74b903d15ea98bb82d] | committer: Nicolas Pomepuy
Fix resume playback paused when play queue was finished
Fixes #3192
> https://code.videolan.org/videolan/vlc-android/commit/afeab55a6a9d823dec39ee74b903d15ea98bb82d
---
application/vlc-android/src/org/videolan/vlc/PlaybackService.kt | 6 +++++-
.../src/org/videolan/vlc/gui/video/VideoPlayerActivity.kt | 2 +-
2 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/application/vlc-android/src/org/videolan/vlc/PlaybackService.kt b/application/vlc-android/src/org/videolan/vlc/PlaybackService.kt
index 60b1412db2..daf8ea96ad 100644
--- a/application/vlc-android/src/org/videolan/vlc/PlaybackService.kt
+++ b/application/vlc-android/src/org/videolan/vlc/PlaybackService.kt
@@ -229,6 +229,7 @@ class PlaybackService : MediaBrowserServiceCompat(), LifecycleOwner, CoroutineSc
var resetOnInteraction = false
var sleepTimerInterval = 0L
private var mediaEndReached = false
+ var playQueueFinished = false
var isInPiPMode: MutableLiveData<Boolean> = MutableLiveData(false)
@@ -365,7 +366,10 @@ class PlaybackService : MediaBrowserServiceCompat(), LifecycleOwner, CoroutineSc
updateMetadata()
}
MediaPlayer.Event.MediaChanged -> if (BuildConfig.DEBUG) Log.d(TAG, "onEvent: MediaChanged")
- MediaPlayer.Event.EndReached -> mediaEndReached = true
+ MediaPlayer.Event.EndReached -> {
+ mediaEndReached = true
+ playQueueFinished = !playlistManager.hasNext() || playlistManager.stopAfter == currentMediaPosition
+ }
}
cbActor.trySend(CbMediaPlayerEvent(event))
}
diff --git a/application/vlc-android/src/org/videolan/vlc/gui/video/VideoPlayerActivity.kt b/application/vlc-android/src/org/videolan/vlc/gui/video/VideoPlayerActivity.kt
index 79a6d1d30b..902814478d 100644
--- a/application/vlc-android/src/org/videolan/vlc/gui/video/VideoPlayerActivity.kt
+++ b/application/vlc-android/src/org/videolan/vlc/gui/video/VideoPlayerActivity.kt
@@ -1105,7 +1105,7 @@ open class VideoPlayerActivity : AppCompatActivity(), PlaybackService.Callback,
val tv = Settings.showTvUi
val interactive = isInteractive
wasPaused = !isPlaying || (!tv && !interactive)
- if (wasPaused) settings.putSingle(VIDEO_PAUSED, true)
+ if (wasPaused && !playQueueFinished) settings.putSingle(VIDEO_PAUSED, true)
if (!isFinishing) {
currentAudioTrack = audioTrack
currentSpuTrack = spuTrack
More information about the Android
mailing list