diff --git a/app/src/main/java/com/kabouzeid/gramophone/adapter/PlaylistAdapter.java b/app/src/main/java/com/kabouzeid/gramophone/adapter/PlaylistAdapter.java index 320f7797..e0b2b2ce 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/adapter/PlaylistAdapter.java +++ b/app/src/main/java/com/kabouzeid/gramophone/adapter/PlaylistAdapter.java @@ -30,6 +30,7 @@ import com.kabouzeid.gramophone.model.AbsCustomPlaylist; import com.kabouzeid.gramophone.model.Playlist; import com.kabouzeid.gramophone.model.Song; 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.NavigationUtil; import com.kabouzeid.gramophone.util.PlaylistsUtil; @@ -155,9 +156,7 @@ public class PlaylistAdapter extends AbsMultiSelectAdapter { final Playlist playlist = dataSet.get(getAdapterPosition()); final PopupMenu popupMenu = new PopupMenu(activity, view); - if (playlist instanceof AbsSmartPlaylist) { - popupMenu.inflate(R.menu.menu_item_smart_playlist); - final AbsSmartPlaylist smartPlaylist = (AbsSmartPlaylist) playlist; - if (!smartPlaylist.isClearable()) { - popupMenu.getMenu().findItem(R.id.action_clear_playlist).setVisible(false); - } - popupMenu.setOnMenuItemClickListener(item -> { - if (item.getItemId() == R.id.action_clear_playlist) { - ClearSmartPlaylistDialog.create(smartPlaylist).show(activity.getSupportFragmentManager(), "CLEAR_SMART_PLAYLIST_" + smartPlaylist.name); + popupMenu.inflate(getItemViewType() == SMART_PLAYLIST ? R.menu.menu_item_smart_playlist : R.menu.menu_item_playlist); + if (playlist instanceof LastAddedPlaylist) { + popupMenu.getMenu().findItem(R.id.action_clear_playlist).setVisible(false); + } + popupMenu.setOnMenuItemClickListener(item -> { + if (item.getItemId() == R.id.action_clear_playlist) { + if (playlist instanceof AbsSmartPlaylist) { + ClearSmartPlaylistDialog.create((AbsSmartPlaylist) playlist).show(activity.getSupportFragmentManager(), "CLEAR_SMART_PLAYLIST_" + playlist.name); return true; } - return PlaylistMenuHelper.handleMenuClick( + } + return PlaylistMenuHelper.handleMenuClick( 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(); }); } diff --git a/app/src/main/java/com/kabouzeid/gramophone/model/smartplaylist/AbsSmartPlaylist.java b/app/src/main/java/com/kabouzeid/gramophone/model/smartplaylist/AbsSmartPlaylist.java index 996931c2..09ccc2c5 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/model/smartplaylist/AbsSmartPlaylist.java +++ b/app/src/main/java/com/kabouzeid/gramophone/model/smartplaylist/AbsSmartPlaylist.java @@ -27,10 +27,6 @@ public abstract class AbsSmartPlaylist extends AbsCustomPlaylist { public abstract void clear(Context context); - public boolean isClearable() { - return true; - } - @Override public int hashCode() { final int prime = 31; diff --git a/app/src/main/java/com/kabouzeid/gramophone/model/smartplaylist/LastAddedPlaylist.java b/app/src/main/java/com/kabouzeid/gramophone/model/smartplaylist/LastAddedPlaylist.java index d0987c8b..3f3da9f0 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/model/smartplaylist/LastAddedPlaylist.java +++ b/app/src/main/java/com/kabouzeid/gramophone/model/smartplaylist/LastAddedPlaylist.java @@ -42,10 +42,6 @@ public class LastAddedPlaylist extends AbsSmartPlaylist { public void clear(@NonNull Context context) { } - @Override - public boolean isClearable() { - return false; - } @Override public int describeContents() {