[Android] Update PlaylistManager.kt to clear leaked resume time on enforced starts

Prateek Shukla git at videolan.org
Tue Jul 21 04:55:52 UTC 2026


vlc-android | branch: master | Prateek Shukla <prateek at prateekshukla.com> | Sun Sep  7 13:42:48 2025 +0000| [2cc107533137f9fd78c6e142b692a10cf44fd399] | committer: Duncan McNamara

Update PlaylistManager.kt to clear leaked resume time on enforced starts

> https://code.videolan.org/videolan/vlc-android/commit/2cc107533137f9fd78c6e142b692a10cf44fd399
---

 .../vlc-android/src/org/videolan/vlc/media/PlaylistManager.kt       | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/application/vlc-android/src/org/videolan/vlc/media/PlaylistManager.kt b/application/vlc-android/src/org/videolan/vlc/media/PlaylistManager.kt
index 3772b122e7..f424cfa9fb 100644
--- a/application/vlc-android/src/org/videolan/vlc/media/PlaylistManager.kt
+++ b/application/vlc-android/src/org/videolan/vlc/media/PlaylistManager.kt
@@ -527,6 +527,8 @@ class PlaylistManager(val service: PlaybackService) : MediaWrapperList.EventList
             if (isVideoPlaying) {
                 start = if (forceRestart
                     || videoResumeStatus == ResumeStatus.NEVER) 0L else getStartTime(mw)
+                // If we explicitly restart or NEVER resume is set, ensure any leftover savedTime is cleared
+                if (start == 0L && (forceRestart || videoResumeStatus == ResumeStatus.NEVER)) savedTime = 0L
                 if (!forceResume && videoResumeStatus == ResumeStatus.ASK && start > 0 && isAppStarted()) {
                     waitForConfirmation.postValue(WaitConfirmation(mw.title, index, flags))
                     return
@@ -534,6 +536,8 @@ class PlaylistManager(val service: PlaybackService) : MediaWrapperList.EventList
             } else {
                 start = if (forceRestart
                     || audioResumeStatus == ResumeStatus.NEVER) 0L else getStartTime(mw)
+                // If we explicitly restart or NEVER resume is set, ensure any leftover savedTime is cleared
+                if (start == 0L && (forceRestart || audioResumeStatus == ResumeStatus.NEVER)) savedTime = 0L
                 if (!forceResume && audioResumeStatus == ResumeStatus.ASK && start > 0 && isAppStarted()) {
                     val confirmation = WaitConfirmation(mw.title, index, flags)
                     waitForConfirmationAudio.postValue(confirmation)
@@ -1342,4 +1346,4 @@ class DelayValues(var start: Long = -1L, var stop: Long = -1L)
 class WaitConfirmation(val title: String, val index: Int, val flags: Int, var used: Boolean = false)
 enum class ResumeStatus {
     ALWAYS, ASK, NEVER
-}
\ No newline at end of file
+}



More information about the Android mailing list