3 Commits

4 changed files with 21 additions and 8 deletions

View File

@@ -101,7 +101,7 @@ public class PlaylistChooserDialog extends DialogFragment implements ClickCallba
Playlist playlist = bundle.getParcelable(Constants.PLAYLIST_OBJECT); Playlist playlist = bundle.getParcelable(Constants.PLAYLIST_OBJECT);
playlistChooserViewModel.isSongInPlaylist(Objects.requireNonNull(playlist).getId(), requireActivity()).observe(requireActivity(), songInPlaylist -> { playlistChooserViewModel.isSongInPlaylist(Objects.requireNonNull(playlist).getId(), requireActivity()).observe(requireActivity(), songInPlaylist -> {
if (songInPlaylist) { if (!songInPlaylist) {
playlistChooserViewModel.addSongToPlaylist(playlist.getId()); playlistChooserViewModel.addSongToPlaylist(playlist.getId());
dismiss(); dismiss();
} else { } else {

View File

@@ -140,6 +140,11 @@ public class PlaylistPageFragment extends Fragment implements ClickCallback {
} }
}); });
return true; 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) { } else if (item.getItemId() == R.id.action_pin_playlist) {
playlistPageViewModel.setPinned(true); playlistPageViewModel.setPinned(true);
return true; return true;

View File

@@ -13,6 +13,13 @@
android:icon="@drawable/ic_file_download" android:icon="@drawable/ic_file_download"
android:title="@string/menu_download_all_button" android:title="@string/menu_download_all_button"
app:showAsAction="never" /> app:showAsAction="never" />
<item
android:id="@+id/action_add_to_queue"
android:icon="@drawable/ic_add"
android:title="@string/menu_add_to_queue_button"
app:showAsAction="never" />
<item <item
android:id="@+id/action_pin_playlist" android:id="@+id/action_pin_playlist"
android:icon="@drawable/ic_add" android:icon="@drawable/ic_add"

View File

@@ -157,6 +157,7 @@
<string name="login_title">Subsonic servers</string> <string name="login_title">Subsonic servers</string>
<string name="login_title_expanded">Subsonic servers</string> <string name="login_title_expanded">Subsonic servers</string>
<string name="media_route_menu_title">Cast</string> <string name="media_route_menu_title">Cast</string>
<string name="menu_add_to_queue_button">Add to queue</string>
<string name="menu_add_button">Add</string> <string name="menu_add_button">Add</string>
<string name="menu_download_all_button">Download all</string> <string name="menu_download_all_button">Download all</string>
<string name="menu_download_label">Download</string> <string name="menu_download_label">Download</string>