diff options
Diffstat (limited to 'app/src/main/java/de/danoeh/antennapod/adapter')
-rw-r--r-- | app/src/main/java/de/danoeh/antennapod/adapter/NavListAdapter.java | 2 | ||||
-rw-r--r-- | app/src/main/java/de/danoeh/antennapod/adapter/SubscriptionsRecyclerAdapter.java | 21 |
2 files changed, 13 insertions, 10 deletions
diff --git a/app/src/main/java/de/danoeh/antennapod/adapter/NavListAdapter.java b/app/src/main/java/de/danoeh/antennapod/adapter/NavListAdapter.java index 7854f7aa9..34eb48b6b 100644 --- a/app/src/main/java/de/danoeh/antennapod/adapter/NavListAdapter.java +++ b/app/src/main/java/de/danoeh/antennapod/adapter/NavListAdapter.java @@ -194,10 +194,10 @@ public class NavListAdapter extends RecyclerView.Adapter<NavListAdapter.Holder> bindListItem(item, (FeedHolder) holder); if (item.type == NavDrawerData.DrawerItem.Type.FEED) { bindFeedView((NavDrawerData.FeedDrawerItem) item, (FeedHolder) holder); - holder.itemView.setOnCreateContextMenuListener(itemAccess); } else { bindTagView((NavDrawerData.TagDrawerItem) item, (FeedHolder) holder); } + holder.itemView.setOnCreateContextMenuListener(itemAccess); } if (viewType != VIEW_TYPE_SECTION_DIVIDER) { TypedValue typedValue = new TypedValue(); diff --git a/app/src/main/java/de/danoeh/antennapod/adapter/SubscriptionsRecyclerAdapter.java b/app/src/main/java/de/danoeh/antennapod/adapter/SubscriptionsRecyclerAdapter.java index eb2239177..21c5e1897 100644 --- a/app/src/main/java/de/danoeh/antennapod/adapter/SubscriptionsRecyclerAdapter.java +++ b/app/src/main/java/de/danoeh/antennapod/adapter/SubscriptionsRecyclerAdapter.java @@ -47,7 +47,7 @@ public class SubscriptionsRecyclerAdapter extends SelectableAdapter<Subscription private final WeakReference<MainActivity> mainActivityRef; private List<NavDrawerData.DrawerItem> listItems; - private Feed selectedFeed = null; + private NavDrawerData.DrawerItem selectedItem = null; int longPressedPosition = 0; // used to init actionMode public SubscriptionsRecyclerAdapter(MainActivity mainActivity) { @@ -61,8 +61,8 @@ public class SubscriptionsRecyclerAdapter extends SelectableAdapter<Subscription return listItems.get(position); } - public Feed getSelectedFeed() { - return selectedFeed; + public NavDrawerData.DrawerItem getSelectedItem() { + return selectedItem; } @NonNull @@ -113,11 +113,9 @@ public class SubscriptionsRecyclerAdapter extends SelectableAdapter<Subscription holder.itemView.setOnLongClickListener(v -> { if (!inActionMode()) { if (isFeed) { - selectedFeed = ((NavDrawerData.FeedDrawerItem) getItem(holder.getBindingAdapterPosition())).feed; longPressedPosition = holder.getBindingAdapterPosition(); - } else { - selectedFeed = null; } + selectedItem = (NavDrawerData.DrawerItem) getItem(holder.getBindingAdapterPosition()); } return false; }); @@ -151,12 +149,17 @@ public class SubscriptionsRecyclerAdapter extends SelectableAdapter<Subscription @Override public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) { - if (selectedFeed != null && !inActionMode()) { - MenuInflater inflater = mainActivityRef.get().getMenuInflater(); + if (inActionMode() || selectedItem == null) { + return; + } + MenuInflater inflater = mainActivityRef.get().getMenuInflater(); + if (selectedItem.type == NavDrawerData.DrawerItem.Type.FEED) { inflater.inflate(R.menu.nav_feed_context, menu); - menu.setHeaderTitle(selectedFeed.getTitle()); menu.findItem(R.id.multi_select).setVisible(true); + } else { + inflater.inflate(R.menu.nav_folder_context, menu); } + menu.setHeaderTitle(selectedItem.getTitle()); } public boolean onContextItemSelected(MenuItem item) { |