package io.hefuyi.listener.ui.dialogs;
import android.app.Dialog;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.v4.app.DialogFragment;
import android.widget.Toast;
import com.afollestad.materialdialogs.MaterialDialog;
import io.hefuyi.listener.MusicPlayer;
import io.hefuyi.listener.R;
import io.hefuyi.listener.RxBus;
import io.hefuyi.listener.event.PlaylistUpdateEvent;
import io.hefuyi.listener.mvp.model.Song;
/**
* Created by naman on 20/12/15.
*/
public class CreatePlaylistDialog extends DialogFragment {
public static CreatePlaylistDialog newInstance() {
return newInstance((Song) null);
}
public static CreatePlaylistDialog newInstance(Song song) {
long[] songs;
if (song == null) {
songs = new long[0];
} else {
songs = new long[1];
songs[0] = song.id;
}
return newInstance(songs);
}
public static CreatePlaylistDialog newInstance(long[] songList) {
CreatePlaylistDialog dialog = new CreatePlaylistDialog();
Bundle bundle = new Bundle();
bundle.putLongArray("songs", songList);
dialog.setArguments(bundle);
return dialog;
}
@NonNull
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
return new MaterialDialog.Builder(getActivity())
.title(R.string.create_new_playlist)
.positiveText(R.string.create)
.negativeText(R.string.cancel)
.input(getString(R.string.playlist_name), "", false, new MaterialDialog.InputCallback() {
@Override
public void onInput(@NonNull MaterialDialog dialog, CharSequence input) {
long[] songs = getArguments().getLongArray("songs");
long playistId = MusicPlayer.createPlaylist(getActivity(), input.toString());
if (playistId != -1) {
if (songs != null && songs.length != 0) {
MusicPlayer.addToPlaylist(getActivity(), songs, playistId);
} else {
Toast.makeText(getActivity(), R.string.create_playlist_success, Toast.LENGTH_SHORT).show();
}
RxBus.getInstance().post(new PlaylistUpdateEvent());
} else {
Toast.makeText(getActivity(), R.string.create_playlist_fail, Toast.LENGTH_SHORT).show();
}
}
}).build();
}
}