From c3916cd8f267546a51fb72dd6d2dd10ee4ef41ee Mon Sep 17 00:00:00 2001 From: Bnyro Date: Sun, 7 Jul 2024 22:27:40 +0200 Subject: [PATCH] fix: respect sort order when playing private playlist --- .../ui/fragments/PlaylistFragment.kt | 20 ++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/com/github/libretube/ui/fragments/PlaylistFragment.kt b/app/src/main/java/com/github/libretube/ui/fragments/PlaylistFragment.kt index 6398fddc1..e44568b0e 100644 --- a/app/src/main/java/com/github/libretube/ui/fragments/PlaylistFragment.kt +++ b/app/src/main/java/com/github/libretube/ui/fragments/PlaylistFragment.kt @@ -208,17 +208,19 @@ class PlaylistFragment : DynamicLayoutManagerFragment() { if (playlistFeed.isEmpty()) { binding.nothingHere.isVisible = true - } - - if (playlistFeed.isEmpty()) { binding.playAll.isGone = true } else { binding.playAll.setOnClickListener { if (playlistFeed.isEmpty()) return@setOnClickListener + + val sortedStreams = getSortedVideos() + PlayingQueue.setStreams(sortedStreams) + NavigationHelper.navigateVideo( requireContext(), - response.relatedStreams.first().url, - playlistId + sortedStreams.first().url, + playlistId, + keepQueue = true ) } } @@ -299,8 +301,8 @@ class PlaylistFragment : DynamicLayoutManagerFragment() { } } - private fun showPlaylistVideos(playlist: Playlist) { - val videos = when { + private fun getSortedVideos(): List { + return when { selectedSortOrder in listOf(0, 1) || playlistType == PlaylistType.PUBLIC -> { playlistFeed } @@ -317,6 +319,10 @@ class PlaylistFragment : DynamicLayoutManagerFragment() { }.let { if (selectedSortOrder % 2 == 0) it else it.reversed() } + } + + private fun showPlaylistVideos(playlist: Playlist) { + val videos = getSortedVideos() playlistAdapter = PlaylistAdapter( playlistFeed,