Fix favorite toggling
This commit is contained in:
parent
c77e6f132a
commit
1f37982536
4 changed files with 57 additions and 40 deletions
|
|
@ -6,6 +6,7 @@ import android.support.annotation.NonNull;
|
|||
import android.support.annotation.Nullable;
|
||||
import android.support.v4.app.DialogFragment;
|
||||
import android.text.InputType;
|
||||
import android.widget.Toast;
|
||||
|
||||
import com.afollestad.materialdialogs.MaterialDialog;
|
||||
import com.kabouzeid.gramophone.R;
|
||||
|
|
@ -19,6 +20,8 @@ import java.util.ArrayList;
|
|||
*/
|
||||
public class CreatePlaylistDialog extends DialogFragment {
|
||||
|
||||
private static final String SONGS = "songs";
|
||||
|
||||
@NonNull
|
||||
public static CreatePlaylistDialog create() {
|
||||
return create((Song) null);
|
||||
|
|
@ -36,7 +39,7 @@ public class CreatePlaylistDialog extends DialogFragment {
|
|||
public static CreatePlaylistDialog create(ArrayList<Song> songs) {
|
||||
CreatePlaylistDialog dialog = new CreatePlaylistDialog();
|
||||
Bundle args = new Bundle();
|
||||
args.putParcelableArrayList("songs", songs);
|
||||
args.putParcelableArrayList(SONGS, songs);
|
||||
dialog.setArguments(args);
|
||||
return dialog;
|
||||
}
|
||||
|
|
@ -53,20 +56,27 @@ public class CreatePlaylistDialog extends DialogFragment {
|
|||
InputType.TYPE_TEXT_FLAG_CAP_WORDS)
|
||||
.input(R.string.playlist_name_empty, 0, false, new MaterialDialog.InputCallback() {
|
||||
@Override
|
||||
public void onInput(MaterialDialog materialDialog, @NonNull CharSequence charSequence) {
|
||||
public void onInput(@NonNull MaterialDialog materialDialog, @NonNull CharSequence charSequence) {
|
||||
if (getActivity() == null)
|
||||
return;
|
||||
if (!charSequence.toString().trim().isEmpty()) {
|
||||
final int playlistId = PlaylistsUtil.createPlaylist(getActivity(), charSequence.toString());
|
||||
if (playlistId != -1 && getActivity() != null) {
|
||||
//noinspection unchecked
|
||||
ArrayList<Song> songs = getArguments().getParcelableArrayList("songs");
|
||||
if (songs != null) {
|
||||
PlaylistsUtil.addToPlaylist(getActivity(), songs, playlistId, true);
|
||||
final String name = charSequence.toString().trim();
|
||||
if (!name.isEmpty()) {
|
||||
if (!PlaylistsUtil.doesPlaylistExist(getActivity(), name)) {
|
||||
final int playlistId = PlaylistsUtil.createPlaylist(getActivity(), name);
|
||||
if (getActivity() != null) {
|
||||
//noinspection unchecked
|
||||
ArrayList<Song> songs = getArguments().getParcelableArrayList(SONGS);
|
||||
if (songs != null && !songs.isEmpty()) {
|
||||
PlaylistsUtil.addToPlaylist(getActivity(), songs, playlistId, true);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
Toast.makeText(getActivity(), getActivity().getResources().getString(
|
||||
R.string.playlist_exists, name), Toast.LENGTH_SHORT).show();
|
||||
}
|
||||
}
|
||||
}
|
||||
}).build();
|
||||
})
|
||||
.build();
|
||||
}
|
||||
}
|
||||
|
|
@ -15,11 +15,13 @@ import com.kabouzeid.gramophone.util.PlaylistsUtil;
|
|||
*/
|
||||
public class RenamePlaylistDialog extends DialogFragment {
|
||||
|
||||
private static final String PLAYLIST_ID = "playlist_id";
|
||||
|
||||
@NonNull
|
||||
public static RenamePlaylistDialog create(long playlistId) {
|
||||
RenamePlaylistDialog dialog = new RenamePlaylistDialog();
|
||||
Bundle args = new Bundle();
|
||||
args.putLong("playlist_id", playlistId);
|
||||
args.putLong(PLAYLIST_ID, playlistId);
|
||||
dialog.setArguments(args);
|
||||
return dialog;
|
||||
}
|
||||
|
|
@ -27,7 +29,7 @@ public class RenamePlaylistDialog extends DialogFragment {
|
|||
@NonNull
|
||||
@Override
|
||||
public Dialog onCreateDialog(Bundle savedInstanceState) {
|
||||
long playlistId = getArguments().getLong("playlist_id");
|
||||
long playlistId = getArguments().getLong(PLAYLIST_ID);
|
||||
return new MaterialDialog.Builder(getActivity())
|
||||
.title(R.string.rename_playlist_title)
|
||||
.positiveText(R.string.rename_action)
|
||||
|
|
@ -38,10 +40,11 @@ public class RenamePlaylistDialog extends DialogFragment {
|
|||
.input(getString(R.string.playlist_name_empty), PlaylistsUtil.getNameForPlaylist(getActivity(), playlistId), false,
|
||||
new MaterialDialog.InputCallback() {
|
||||
@Override
|
||||
public void onInput(MaterialDialog materialDialog, @NonNull CharSequence charSequence) {
|
||||
if (!charSequence.toString().trim().equals("")) {
|
||||
long playlistId = getArguments().getLong("playlist_id");
|
||||
PlaylistsUtil.renamePlaylist(getActivity(), playlistId, charSequence.toString());
|
||||
public void onInput(@NonNull MaterialDialog materialDialog, @NonNull CharSequence charSequence) {
|
||||
final String name = charSequence.toString().trim();
|
||||
if (!name.isEmpty()) {
|
||||
long playlistId = getArguments().getLong(PLAYLIST_ID);
|
||||
PlaylistsUtil.renamePlaylist(getActivity(), playlistId, name);
|
||||
}
|
||||
}
|
||||
})
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue