Normalized playlist menus

This commit is contained in:
Karim Abou Zeid 2017-09-09 14:13:10 +02:00
commit abb9518d14
7 changed files with 84 additions and 15 deletions

View file

@ -3,8 +3,8 @@ package com.kabouzeid.gramophone.helper;
import android.content.Context;
import com.kabouzeid.gramophone.loader.PlaylistSongLoader;
import com.kabouzeid.gramophone.model.AbsCustomPlaylist;
import com.kabouzeid.gramophone.model.Playlist;
import com.kabouzeid.gramophone.model.PlaylistSong;
import com.kabouzeid.gramophone.model.Song;
import java.io.BufferedWriter;
@ -21,7 +21,12 @@ public class M3UWriter implements M3UConstants {
dir.mkdirs();
File file = new File(dir, playlist.name.concat("." + EXTENSION));
ArrayList<PlaylistSong> songs = PlaylistSongLoader.getPlaylistSongList(context, playlist.id);
ArrayList<? extends Song> songs;
if (playlist instanceof AbsCustomPlaylist) {
songs = ((AbsCustomPlaylist) playlist).getSongs(context);
} else {
songs = PlaylistSongLoader.getPlaylistSongList(context, playlist.id);
}
if (songs.size() > 0) {
BufferedWriter bw = new BufferedWriter(new FileWriter(file));

View file

@ -10,6 +10,7 @@ import android.view.MenuItem;
import android.widget.Toast;
import com.kabouzeid.gramophone.R;
import com.kabouzeid.gramophone.dialogs.AddToPlaylistDialog;
import com.kabouzeid.gramophone.dialogs.DeletePlaylistDialog;
import com.kabouzeid.gramophone.dialogs.RenamePlaylistDialog;
import com.kabouzeid.gramophone.helper.MusicPlayerRemote;
@ -33,9 +34,15 @@ public class PlaylistMenuHelper {
case R.id.action_play:
MusicPlayerRemote.openQueue(new ArrayList<>(getPlaylistSongs(activity, playlist)), 0, true);
return true;
case R.id.action_play_next:
MusicPlayerRemote.playNext(new ArrayList<>(getPlaylistSongs(activity, playlist)));
return true;
case R.id.action_add_to_current_playing:
MusicPlayerRemote.enqueue(new ArrayList<>(getPlaylistSongs(activity, playlist)));
return true;
case R.id.action_add_to_playlist:
AddToPlaylistDialog.create(new ArrayList<>(getPlaylistSongs(activity, playlist))).show(activity.getSupportFragmentManager(), "ADD_PLAYLIST");
return true;
case R.id.action_rename_playlist:
RenamePlaylistDialog.create(playlist.id).show(activity.getSupportFragmentManager(), "RENAME_PLAYLIST");
return true;