[Android] VideoPlayer: fix wrong index when starting cast
Duncan McNamara
git at videolan.org
Tue Apr 1 05:24:18 UTC 2025
vlc-android | branch: master | Duncan McNamara <dcn.mcnamara at gmail.com> | Mon Mar 31 18:25:13 2025 +0200| [bc0818e98e1b51b12b4f0dabe3a9648355e00abe] | committer: Nicolas Pomepuy
VideoPlayer: fix wrong index when starting cast
In onSaveInstanceState, without a currentMediaList we would default to
savedMediaList, but without a currentIndex, we would default to 0 and
not to savedMediaIndex.
When restarting the videoplayer, we do have a savedInstanceState in the
on create that is used to reload the previous medialist, but it only
reloaded 0.
> https://code.videolan.org/videolan/vlc-android/commit/bc0818e98e1b51b12b4f0dabe3a9648355e00abe
---
.../src/org/videolan/vlc/gui/video/VideoPlayerActivity.kt | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
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 795e4830aa..b0bd67ccde 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
@@ -820,7 +820,7 @@ open class VideoPlayerActivity : AppCompatActivity(), PlaybackService.Callback,
if (playlistModel == null) outState.putParcelable(KEY_URI, videoUri)
}
val mediaList = service?.playlistManager?.getMediaList() ?: savedMediaList
- val mediaIndex = service?.playlistManager?.currentIndex ?: 0
+ val mediaIndex = service?.playlistManager?.currentIndex ?: savedMediaIndex
if (mediaList != null) {
outState.putParcelableArrayList(KEY_MEDIA_LIST, ArrayList(mediaList))
outState.putInt(KEY_MEDIA_INDEX, mediaIndex)
@@ -960,8 +960,9 @@ open class VideoPlayerActivity : AppCompatActivity(), PlaybackService.Callback,
@TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR1)
override fun onStop() {
super.onStop()
- service?.playlistManager?.getMediaList()?.let {
- savedMediaList = ArrayList(it)
+ service?.playlistManager?.let {
+ savedMediaList = ArrayList(it.getMediaList())
+ savedMediaIndex = it.currentIndex
}
startedScope.cancel()
LocalBroadcastManager.getInstance(this).unregisterReceiver(serviceReceiver)
More information about the Android
mailing list