diff options
author | Scott Jackson <daneren2005@gmail.com> | 2015-07-22 20:03:30 -0700 |
---|---|---|
committer | Scott Jackson <daneren2005@gmail.com> | 2015-07-22 20:03:30 -0700 |
commit | fbd1a68042dfc3601eaa0a9e37b3957bbdd51420 (patch) | |
tree | 3e96009d06e032ae266f5787dc6cf592b6ae504f /app/src/main/java/github/daneren2005/dsub/adapter/SectionAdapter.java | |
parent | 569281e423b93cf67db2141b49f04103036d4db5 (diff) | |
download | dsub-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.java | 29 |
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) { |