aboutsummaryrefslogtreecommitdiff
path: root/app/src/main/java/github/daneren2005/dsub/fragments/NowPlayingFragment.java
diff options
context:
space:
mode:
authorScott Jackson <daneren2005@gmail.com>2015-06-25 17:46:37 -0700
committerScott Jackson <daneren2005@gmail.com>2015-06-25 17:46:37 -0700
commitc90da12d795ad13d538a85a3c7fa11f5d5bc1e1b (patch)
treea2dba274a902fe44f2d0b3c11ba61a3906672080 /app/src/main/java/github/daneren2005/dsub/fragments/NowPlayingFragment.java
parent03da89a7a0a3dd2c642bc8c5a7f12ed04d1ffc46 (diff)
downloaddsub-c90da12d795ad13d538a85a3c7fa11f5d5bc1e1b.tar.gz
dsub-c90da12d795ad13d538a85a3c7fa11f5d5bc1e1b.tar.bz2
dsub-c90da12d795ad13d538a85a3c7fa11f5d5bc1e1b.zip
#517 Replace ContextMenu with PopupMenu
Diffstat (limited to 'app/src/main/java/github/daneren2005/dsub/fragments/NowPlayingFragment.java')
-rw-r--r--app/src/main/java/github/daneren2005/dsub/fragments/NowPlayingFragment.java59
1 files changed, 14 insertions, 45 deletions
diff --git a/app/src/main/java/github/daneren2005/dsub/fragments/NowPlayingFragment.java b/app/src/main/java/github/daneren2005/dsub/fragments/NowPlayingFragment.java
index 0f9d9f68..1b652f57 100644
--- a/app/src/main/java/github/daneren2005/dsub/fragments/NowPlayingFragment.java
+++ b/app/src/main/java/github/daneren2005/dsub/fragments/NowPlayingFragment.java
@@ -541,7 +541,6 @@ public class NowPlayingFragment extends SubsonicFragment implements OnGestureLis
}
}
});
- registerForContextMenu(playlistView);
if(Build.MODEL.equals("Nexus 4") || Build.MODEL.equals("GT-I9100")) {
View slider = rootView.findViewById(R.id.download_slider);
@@ -602,42 +601,25 @@ public class NowPlayingFragment extends SubsonicFragment implements OnGestureLis
}
@Override
- public void onCreateContextMenu(android.view.ContextMenu menu, View view, ContextMenu.ContextMenuInfo menuInfo) {
- super.onCreateContextMenu(menu, view, menuInfo);
- if(!primaryFragment) {
- return;
+ public void onCreateContextMenu(Menu menu, MenuInflater menuInflater, UpdateView<DownloadFile> updateView, DownloadFile downloadFile) {
+ if(Util.isOffline(context)) {
+ menuInflater.inflate(R.menu.nowplaying_context_offline, menu);
+ } else {
+ menuInflater.inflate(R.menu.nowplaying_context, menu);
+ menu.findItem(R.id.menu_star).setTitle(downloadFile.getSong().isStarred() ? R.string.common_unstar : R.string.common_star);
}
- UpdateView targetView = songListAdapter.getContextView();
- menuInfo = new AdapterView.AdapterContextMenuInfo(targetView, 0, 0);
-
- if (view == playlistView) {
- DownloadFile downloadFile = songListAdapter.getContextItem();
-
- android.view.MenuInflater inflater = context.getMenuInflater();
- if(Util.isOffline(context)) {
- inflater.inflate(R.menu.nowplaying_context_offline, menu);
- } else {
- inflater.inflate(R.menu.nowplaying_context, menu);
- menu.findItem(R.id.menu_star).setTitle(downloadFile.getSong().isStarred() ? R.string.common_unstar : R.string.common_star);
- }
- if (downloadFile.getSong().getParent() == null) {
- menu.findItem(R.id.menu_show_album).setVisible(false);
- menu.findItem(R.id.menu_show_artist).setVisible(false);
- }
-
- hideMenuItems(menu, (AdapterView.AdapterContextMenuInfo) menuInfo);
+ if (downloadFile.getSong().getParent() == null) {
+ menu.findItem(R.id.menu_show_album).setVisible(false);
+ menu.findItem(R.id.menu_show_artist).setVisible(false);
}
+
+ hideMenuItems(menu, updateView);
}
@Override
- public boolean onContextItemSelected(android.view.MenuItem menuItem) {
- if(!primaryFragment) {
- return false;
- }
-
- DownloadFile downloadFile = songListAdapter.getContextItem();
- return menuItemSelected(menuItem.getItemId(), downloadFile) || super.onContextItemSelected(menuItem);
+ public boolean onContextItemSelected(MenuItem menuItem, UpdateView<DownloadFile> updateView, DownloadFile downloadFile) {
+ return menuItemSelected(menuItem.getItemId(), downloadFile);
}
private boolean menuItemSelected(int menuItemId, final DownloadFile song) {
@@ -705,20 +687,7 @@ public class NowPlayingFragment extends SubsonicFragment implements OnGestureLis
replaceFragment(fragment);
return true;
- } case R.id.menu_remove:
- new SilentBackgroundTask<Void>(context) {
- @Override
- protected Void doInBackground() throws Throwable {
- getDownloadService().remove(song);
- return null;
- }
-
- @Override
- protected void done(Void result) {
- onDownloadListChanged();
- }
- }.execute();
- return true;
+ }
case R.id.menu_delete:
List<Entry> songs = new ArrayList<Entry>(1);
songs.add(song.getSong());