Browse Source

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.
merge-requests/1594/merge
Duncan McNamara 1 year ago
committed by Nicolas Pomepuy
parent
commit
bc0818e98e
  1. 7
      application/vlc-android/src/org/videolan/vlc/gui/video/VideoPlayerActivity.kt

7
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)

Loading…
Cancel
Save