package com.naman14.timber.dialogs;
import android.app.Dialog;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.v4.app.DialogFragment;
import android.view.View;
import com.afollestad.materialdialogs.MaterialDialog;
import com.naman14.timber.MusicPlayer;
import com.naman14.timber.dataloaders.PlaylistLoader;
import com.naman14.timber.models.Playlist;
import com.naman14.timber.models.Song;
import java.util.List;
/**
* Created by naman on 20/12/15.
*/
public class AddPlaylistDialog extends DialogFragment {
public static AddPlaylistDialog newInstance(Song song) {
long[] songs = new long[1];
songs[0] = song.id;
return newInstance(songs);
}
public static AddPlaylistDialog newInstance(long[] songList) {
AddPlaylistDialog dialog = new AddPlaylistDialog();
Bundle bundle = new Bundle();
bundle.putLongArray("songs", songList);
dialog.setArguments(bundle);
return dialog;
}
@NonNull
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
final List<Playlist> playlists = PlaylistLoader.getPlaylists(getActivity(), false);
CharSequence[] chars = new CharSequence[playlists.size() + 1];
chars[0] = "Create new playlist";
for (int i = 0; i < playlists.size(); i++) {
chars[i + 1] = playlists.get(i).name;
}
return new MaterialDialog.Builder(getActivity()).title("Add to playlist").items(chars).itemsCallback(new MaterialDialog.ListCallback() {
@Override
public void onSelection(MaterialDialog dialog, View itemView, int which, CharSequence text) {
long[] songs = getArguments().getLongArray("songs");
if (which == 0) {
CreatePlaylistDialog.newInstance(songs).show(getActivity().getSupportFragmentManager(), "CREATE_PLAYLIST");
return;
}
MusicPlayer.addToPlaylist(getActivity(), songs, playlists.get(which - 1).id);
dialog.dismiss();
}
}).build();
}
}