From 2a18f860512b4bb4d81aa448988d932f964ca4e9 Mon Sep 17 00:00:00 2001 From: Matthew Simpson Date: Sun, 9 Mar 2025 16:31:42 +0000 Subject: [PATCH] Add "Add to queue" menu button to Playlist Page --- .../ui/fragment/PlaylistPageFragment.java | 19 ++++++++++++------- app/src/main/res/menu/playlist_page_menu.xml | 7 +++++++ app/src/main/res/values/strings.xml | 1 + 3 files changed, 20 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/com/cappielloantonio/tempo/ui/fragment/PlaylistPageFragment.java b/app/src/main/java/com/cappielloantonio/tempo/ui/fragment/PlaylistPageFragment.java index 39c72468..3be81781 100644 --- a/app/src/main/java/com/cappielloantonio/tempo/ui/fragment/PlaylistPageFragment.java +++ b/app/src/main/java/com/cappielloantonio/tempo/ui/fragment/PlaylistPageFragment.java @@ -129,17 +129,22 @@ public class PlaylistPageFragment extends Fragment implements ClickCallback { playlistPageViewModel.getPlaylistSongLiveList().observe(getViewLifecycleOwner(), songs -> { if (isVisible() && getActivity() != null) { DownloadUtil.getDownloadTracker(requireContext()).download( - MappingUtil.mapDownloads(songs), - songs.stream().map(child -> { - Download toDownload = new Download(child); - toDownload.setPlaylistId(playlistPageViewModel.getPlaylist().getId()); - toDownload.setPlaylistName(playlistPageViewModel.getPlaylist().getName()); - return toDownload; - }).collect(Collectors.toList()) + MappingUtil.mapDownloads(songs), + songs.stream().map(child -> { + Download toDownload = new Download(child); + toDownload.setPlaylistId(playlistPageViewModel.getPlaylist().getId()); + toDownload.setPlaylistName(playlistPageViewModel.getPlaylist().getName()); + return toDownload; + }).collect(Collectors.toList()) ); } }); return true; + } else if (item.getItemId() == R.id.action_add_to_queue) { + playlistPageViewModel.getPlaylistSongLiveList().observe(getViewLifecycleOwner(), songs -> { + MediaManager.enqueue(mediaBrowserListenableFuture, songs, false); + }); + return true; } else if (item.getItemId() == R.id.action_pin_playlist) { playlistPageViewModel.setPinned(true); return true; diff --git a/app/src/main/res/menu/playlist_page_menu.xml b/app/src/main/res/menu/playlist_page_menu.xml index 6164be98..55c179ad 100644 --- a/app/src/main/res/menu/playlist_page_menu.xml +++ b/app/src/main/res/menu/playlist_page_menu.xml @@ -13,6 +13,13 @@ android:icon="@drawable/ic_file_download" android:title="@string/menu_download_all_button" app:showAsAction="never" /> + + + Subsonic servers Subsonic servers Cast + Add to queue Add Download all Download -- 2.49.1