diff options
author | Scott Jackson <daneren2005@gmail.com> | 2015-07-29 17:32:30 -0700 |
---|---|---|
committer | Scott Jackson <daneren2005@gmail.com> | 2015-07-29 17:32:30 -0700 |
commit | 526dc8793697688bd65cda974716ba114161c70a (patch) | |
tree | bdbf1611c803cd1e5e4d74c3e75bd75d5a02523e /app/src/main/java/github/daneren2005/dsub/adapter | |
parent | c613b6474970000495057121e44abbdc913a8b2a (diff) | |
download | dsub-526dc8793697688bd65cda974716ba114161c70a.tar.gz dsub-526dc8793697688bd65cda974716ba114161c70a.tar.bz2 dsub-526dc8793697688bd65cda974716ba114161c70a.zip |
Update Multi selection to work from different fragments
Diffstat (limited to 'app/src/main/java/github/daneren2005/dsub/adapter')
-rw-r--r-- | app/src/main/java/github/daneren2005/dsub/adapter/EntryGridAdapter.java | 22 | ||||
-rw-r--r-- | app/src/main/java/github/daneren2005/dsub/adapter/SectionAdapter.java | 5 |
2 files changed, 26 insertions, 1 deletions
diff --git a/app/src/main/java/github/daneren2005/dsub/adapter/EntryGridAdapter.java b/app/src/main/java/github/daneren2005/dsub/adapter/EntryGridAdapter.java index a0008a73..78ef13ed 100644 --- a/app/src/main/java/github/daneren2005/dsub/adapter/EntryGridAdapter.java +++ b/app/src/main/java/github/daneren2005/dsub/adapter/EntryGridAdapter.java @@ -17,15 +17,19 @@ package github.daneren2005.dsub.adapter; import android.content.Context; import android.util.Log; +import android.view.Menu; +import android.view.MenuInflater; import android.view.View; import android.view.ViewGroup; import java.util.ArrayList; import java.util.List; +import github.daneren2005.dsub.R; import github.daneren2005.dsub.domain.MusicDirectory; import github.daneren2005.dsub.domain.MusicDirectory.Entry; import github.daneren2005.dsub.util.ImageLoader; +import github.daneren2005.dsub.util.Util; import github.daneren2005.dsub.view.AlbumView; import github.daneren2005.dsub.view.SongView; import github.daneren2005.dsub.view.UpdateView; @@ -41,6 +45,7 @@ public class EntryGridAdapter extends SectionAdapter<Entry> { private ImageLoader imageLoader; private boolean largeAlbums; private boolean showArtist = false; + private boolean removeFromPlaylist = false; private View header; public EntryGridAdapter(Context context, List<Entry> entries, ImageLoader imageLoader, boolean largeCell) { @@ -120,4 +125,21 @@ public class EntryGridAdapter extends SectionAdapter<Entry> { sections.get(0).remove(index); notifyItemRemoved(index); } + + public void setRemoveFromPlaylist(boolean removeFromPlaylist) { + this.removeFromPlaylist = removeFromPlaylist; + } + + @Override + public void onCreateActionModeMenu(Menu menu, MenuInflater menuInflater) { + if(Util.isOffline(context)) { + menuInflater.inflate(R.menu.multiselect_media_offline, menu); + } else { + menuInflater.inflate(R.menu.multiselect_media, menu); + } + + if(!removeFromPlaylist) { + menu.removeItem(R.id.menu_remove_playlist); + } + } } 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 3f6086d5..75f4a053 100644 --- a/app/src/main/java/github/daneren2005/dsub/adapter/SectionAdapter.java +++ b/app/src/main/java/github/daneren2005/dsub/adapter/SectionAdapter.java @@ -39,6 +39,7 @@ import java.util.List; import github.daneren2005.dsub.R; import github.daneren2005.dsub.activity.SubsonicFragmentActivity; +import github.daneren2005.dsub.util.MenuUtil; import github.daneren2005.dsub.view.BasicHeaderView; import github.daneren2005.dsub.view.UpdateView; import github.daneren2005.dsub.view.UpdateView.UpdateViewHolder; @@ -383,6 +384,7 @@ public abstract class SectionAdapter<T> extends RecyclerView.Adapter<UpdateViewH public void setChecked(UpdateView updateView, boolean checked) { updateView.setChecked(checked); } + public void onCreateActionModeMenu(Menu menu, MenuInflater menuInflater) {} private void startActionMode(final UpdateView.UpdateViewHolder<T> holder) { final UpdateView<T> updateView = holder.getUpdateView(); @@ -394,7 +396,8 @@ public abstract class SectionAdapter<T> extends RecyclerView.Adapter<UpdateViewH @Override public boolean onCreateActionMode(ActionMode mode, Menu menu) { currentActionMode = mode; - fragmentActivity.onCreateOptionsMenu(menu); + onCreateActionModeMenu(menu, mode.getMenuInflater()); + MenuUtil.hideMenuItems(context, menu); T item = holder.getItem(); selected.add(item); |