Revert "Disable clear menu item on NotRecentlyPlayed (#620)"

This reverts commit 93bb9cf7fc.
This commit is contained in:
Karim Abou Zeid 2019-04-16 23:15:45 +02:00
commit 2cf8fe3d89
3 changed files with 13 additions and 30 deletions

View file

@ -30,6 +30,7 @@ import com.kabouzeid.gramophone.model.AbsCustomPlaylist;
import com.kabouzeid.gramophone.model.Playlist; import com.kabouzeid.gramophone.model.Playlist;
import com.kabouzeid.gramophone.model.Song; import com.kabouzeid.gramophone.model.Song;
import com.kabouzeid.gramophone.model.smartplaylist.AbsSmartPlaylist; import com.kabouzeid.gramophone.model.smartplaylist.AbsSmartPlaylist;
import com.kabouzeid.gramophone.model.smartplaylist.LastAddedPlaylist;
import com.kabouzeid.gramophone.util.MusicUtil; import com.kabouzeid.gramophone.util.MusicUtil;
import com.kabouzeid.gramophone.util.NavigationUtil; import com.kabouzeid.gramophone.util.NavigationUtil;
import com.kabouzeid.gramophone.util.PlaylistsUtil; import com.kabouzeid.gramophone.util.PlaylistsUtil;
@ -155,9 +156,7 @@ public class PlaylistAdapter extends AbsMultiSelectAdapter<PlaylistAdapter.ViewH
Playlist playlist = selection.get(i); Playlist playlist = selection.get(i);
if (playlist instanceof AbsSmartPlaylist) { if (playlist instanceof AbsSmartPlaylist) {
AbsSmartPlaylist absSmartPlaylist = (AbsSmartPlaylist) playlist; AbsSmartPlaylist absSmartPlaylist = (AbsSmartPlaylist) playlist;
if (absSmartPlaylist.isClearable()) { ClearSmartPlaylistDialog.create(absSmartPlaylist).show(activity.getSupportFragmentManager(), "CLEAR_PLAYLIST_" + absSmartPlaylist.name);
ClearSmartPlaylistDialog.create(absSmartPlaylist).show(activity.getSupportFragmentManager(), "CLEAR_PLAYLIST_" + absSmartPlaylist.name);
}
selection.remove(playlist); selection.remove(playlist);
i--; i--;
} }
@ -254,28 +253,20 @@ public class PlaylistAdapter extends AbsMultiSelectAdapter<PlaylistAdapter.ViewH
menu.setOnClickListener(view -> { menu.setOnClickListener(view -> {
final Playlist playlist = dataSet.get(getAdapterPosition()); final Playlist playlist = dataSet.get(getAdapterPosition());
final PopupMenu popupMenu = new PopupMenu(activity, view); final PopupMenu popupMenu = new PopupMenu(activity, view);
if (playlist instanceof AbsSmartPlaylist) { popupMenu.inflate(getItemViewType() == SMART_PLAYLIST ? R.menu.menu_item_smart_playlist : R.menu.menu_item_playlist);
popupMenu.inflate(R.menu.menu_item_smart_playlist); if (playlist instanceof LastAddedPlaylist) {
final AbsSmartPlaylist smartPlaylist = (AbsSmartPlaylist) playlist; popupMenu.getMenu().findItem(R.id.action_clear_playlist).setVisible(false);
if (!smartPlaylist.isClearable()) { }
popupMenu.getMenu().findItem(R.id.action_clear_playlist).setVisible(false); popupMenu.setOnMenuItemClickListener(item -> {
} if (item.getItemId() == R.id.action_clear_playlist) {
popupMenu.setOnMenuItemClickListener(item -> { if (playlist instanceof AbsSmartPlaylist) {
if (item.getItemId() == R.id.action_clear_playlist) { ClearSmartPlaylistDialog.create((AbsSmartPlaylist) playlist).show(activity.getSupportFragmentManager(), "CLEAR_SMART_PLAYLIST_" + playlist.name);
ClearSmartPlaylistDialog.create(smartPlaylist).show(activity.getSupportFragmentManager(), "CLEAR_SMART_PLAYLIST_" + smartPlaylist.name);
return true; return true;
} }
return PlaylistMenuHelper.handleMenuClick( }
return PlaylistMenuHelper.handleMenuClick(
activity, dataSet.get(getAdapterPosition()), item); activity, dataSet.get(getAdapterPosition()), item);
}); });
}
else {
popupMenu.inflate(R.menu.menu_item_playlist);
popupMenu.setOnMenuItemClickListener(item -> {
return PlaylistMenuHelper.handleMenuClick(
activity, dataSet.get(getAdapterPosition()), item);
});
}
popupMenu.show(); popupMenu.show();
}); });
} }

View file

@ -27,10 +27,6 @@ public abstract class AbsSmartPlaylist extends AbsCustomPlaylist {
public abstract void clear(Context context); public abstract void clear(Context context);
public boolean isClearable() {
return true;
}
@Override @Override
public int hashCode() { public int hashCode() {
final int prime = 31; final int prime = 31;

View file

@ -42,10 +42,6 @@ public class LastAddedPlaylist extends AbsSmartPlaylist {
public void clear(@NonNull Context context) { public void clear(@NonNull Context context) {
} }
@Override
public boolean isClearable() {
return false;
}
@Override @Override
public int describeContents() { public int describeContents() {