[Android] Revert "Fix "opened_position" intent extra, to use for index based playlist opening"

Duncan McNamara git at videolan.org
Wed Jan 22 13:40:55 UTC 2025


vlc-android | branch: master | Duncan McNamara <dcn.mcnamara at gmail.com> | Wed Jan 22 11:27:16 2025 +0100| [e422489ba1fccb8d2b0a0d8a7604befa84b00af3] | committer: Nicolas Pomepuy

Revert "Fix "opened_position" intent extra, to use for index based playlist opening"

This reverts commit 8880ccca3bae2b39d0f0ae3185fe78b3a1841611.

Reverts the MR !1720
This MR was not finished, and made unecessary additions, causing
playqueues of one file to play twice sometimes. I should not have merged
it ...

Fixes #3116

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

 .../src/org/videolan/vlc/PlaybackService.kt           |  2 +-
 .../org/videolan/vlc/gui/video/VideoPlayerActivity.kt |  2 +-
 .../src/org/videolan/vlc/media/PlaylistManager.kt     | 19 +++----------------
 3 files changed, 5 insertions(+), 18 deletions(-)

diff --git a/application/vlc-android/src/org/videolan/vlc/PlaybackService.kt b/application/vlc-android/src/org/videolan/vlc/PlaybackService.kt
index 8f3e4ac2d3..f9a609bdcb 100644
--- a/application/vlc-android/src/org/videolan/vlc/PlaybackService.kt
+++ b/application/vlc-android/src/org/videolan/vlc/PlaybackService.kt
@@ -1608,7 +1608,7 @@ class PlaybackService : MediaBrowserServiceCompat(), LifecycleOwner, CoroutineSc
     }
 
     @MainThread
-    fun load(media: MediaWrapper, position: Int = 0) = load(listOf(media), position)
+    fun load(media: MediaWrapper) = load(listOf(media), 0)
 
     /**
      * Play a media from the media list (playlist)
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 948bd845e3..728abaa960 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
@@ -2233,7 +2233,7 @@ open class VideoPlayerActivity : AppCompatActivity(), PlaybackService.Callback,
                         if (displayManager.isPrimary) service.flush()
                         onPlaying()
                     } else service.playIndex(positionInPlaylist)
-                } else service.load(media, positionInPlaylist)
+                } else service.load(media)
 
                 // Get the title
                 if (itemTitle == null && "content" != uri.scheme) title = uri.lastPathSegment
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 d1e94f4ed2..bab4dd43c2 100644
--- a/application/vlc-android/src/org/videolan/vlc/media/PlaylistManager.kt
+++ b/application/vlc-android/src/org/videolan/vlc/media/PlaylistManager.kt
@@ -131,7 +131,6 @@ class PlaylistManager(val service: PlaybackService) : MediaWrapperList.EventList
         }
     private var nextIndex = -1
     private var prevIndex = -1
-    var startupIndex = -1    
     private var previous = Stack<Int>()
     var stopAfter = -1
     var shuffling = false
@@ -249,12 +248,7 @@ class PlaylistManager(val service: PlaybackService) : MediaWrapperList.EventList
             Log.w(TAG, "Warning: empty media list, nothing to play !")
             return
         }
-        if (isValidPosition(position)) {
-            currentIndex = position
-        } else {
-            currentIndex = 0
-            startupIndex = if(position >= 0) position else 0
-        }
+        currentIndex = if (isValidPosition(position)) position else 0
 
         // Add handler after loading the list
         mediaList.addEventListener(this at PlaylistManager)
@@ -361,14 +355,7 @@ class PlaylistManager(val service: PlaybackService) : MediaWrapperList.EventList
         val size = mediaList.size()
         if (force || repeating.value != PlaybackStateCompat.REPEAT_MODE_ONE) {
             previous.push(currentIndex)
-            //startup index given?
-            if (startupIndex != -1) {
-                currentIndex = startupIndex
-                startupIndex = -1
-            } else {
-                //no startup index given, use next
-                currentIndex = nextIndex
-            }
+            currentIndex = nextIndex
             if (size == 0 || currentIndex < 0 || currentIndex >= size) {
                 Log.w(TAG, "Warning: invalid next index, aborted !")
                 stop()
@@ -1280,4 +1267,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