aboutsummaryrefslogtreecommitdiff
path: root/app/src/main/java/github/daneren2005/dsub/adapter/SectionAdapter.java
diff options
context:
space:
mode:
authorScott Jackson <daneren2005@gmail.com>2015-07-22 20:03:30 -0700
committerScott Jackson <daneren2005@gmail.com>2015-07-22 20:03:30 -0700
commitfbd1a68042dfc3601eaa0a9e37b3957bbdd51420 (patch)
tree3e96009d06e032ae266f5787dc6cf592b6ae504f /app/src/main/java/github/daneren2005/dsub/adapter/SectionAdapter.java
parent569281e423b93cf67db2141b49f04103036d4db5 (diff)
downloaddsub-fbd1a68042dfc3601eaa0a9e37b3957bbdd51420.tar.gz
dsub-fbd1a68042dfc3601eaa0a9e37b3957bbdd51420.tar.bz2
dsub-fbd1a68042dfc3601eaa0a9e37b3957bbdd51420.zip
Update details dialogs, remove play/cache/delete from more menus to keep context menus smaller
Diffstat (limited to 'app/src/main/java/github/daneren2005/dsub/adapter/SectionAdapter.java')
-rw-r--r--app/src/main/java/github/daneren2005/dsub/adapter/SectionAdapter.java29
1 files changed, 23 insertions, 6 deletions
diff --git a/app/src/main/java/github/daneren2005/dsub/adapter/SectionAdapter.java b/app/src/main/java/github/daneren2005/dsub/adapter/SectionAdapter.java
index 9d577409..3f6086d5 100644
--- a/app/src/main/java/github/daneren2005/dsub/adapter/SectionAdapter.java
+++ b/app/src/main/java/github/daneren2005/dsub/adapter/SectionAdapter.java
@@ -178,9 +178,7 @@ public abstract class SectionAdapter<T> extends RecyclerView.Adapter<UpdateViewH
if(sections.size() == 1 && !singleSectionHeader) {
T item = sections.get(0).get(position);
onBindViewHolder(holder, item, getItemViewType(position));
- if(updateView.isCheckable()) {
- setChecked(updateView, selected.contains(item));
- }
+ postBindView(updateView, item);
holder.setItem(item);
return;
}
@@ -199,9 +197,7 @@ public abstract class SectionAdapter<T> extends RecyclerView.Adapter<UpdateViewH
T item = section.get(position - subPosition - headerOffset);
onBindViewHolder(holder, item, getItemViewType(item));
- if(updateView.isCheckable()) {
- setChecked(updateView, selected.contains(item));
- }
+ postBindView(updateView, item);
holder.setItem(item);
return;
}
@@ -214,6 +210,27 @@ public abstract class SectionAdapter<T> extends RecyclerView.Adapter<UpdateViewH
}
}
+ private void postBindView(UpdateView updateView, T item) {
+ if(updateView.isCheckable()) {
+ setChecked(updateView, selected.contains(item));
+ }
+
+ View moreButton = updateView.findViewById(R.id.more_button);
+ if(moreButton == null) {
+ moreButton = updateView.findViewById(R.id.item_more);
+ }
+ if(moreButton != null) {
+ PopupMenu popup = new PopupMenu(context, moreButton);
+ Menu menu = popup.getMenu();
+ onItemClickedListener.onCreateContextMenu(popup.getMenu(), popup.getMenuInflater(), updateView, item);
+ if(menu.size() == 0) {
+ moreButton.setVisibility(View.GONE);
+ } else {
+ moreButton.setVisibility(View.VISIBLE);
+ }
+ }
+ }
+
@Override
public int getItemCount() {
if(sections.size() == 1 && !singleSectionHeader) {