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.widget.Toast;
import com.afollestad.materialdialogs.MaterialDialog;
import com.naman14.timber.MusicPlayer;
import com.naman14.timber.fragments.PlaylistFragment;
import com.naman14.timber.models.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()).positiveText("Create").negativeText("Cancel").input("Enter 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(), "Created playlist", Toast.LENGTH_SHORT).show();
if (getParentFragment() instanceof PlaylistFragment) {
((PlaylistFragment) getParentFragment()).updatePlaylists(playistId);
}
} else {
Toast.makeText(getActivity(), "Unable to create playlist", Toast.LENGTH_SHORT).show();
}
}
}).build();
}
}