diff options
author | daniel oeh <daniel.oeh@gmail.com> | 2012-06-20 16:29:26 +0200 |
---|---|---|
committer | daniel oeh <daniel.oeh@gmail.com> | 2012-06-20 16:29:26 +0200 |
commit | 409fcee753d4cee83f67ff66d1ed85974825bc55 (patch) | |
tree | 13493f6570047d1ad84bfa6b61d8530580cfcde6 /src/de/podfetcher/fragment/FeedItemlistFragment.java | |
parent | 8f9344fbe74a6922f949ddffbc1779f539fcef3f (diff) | |
download | AntennaPod-409fcee753d4cee83f67ff66d1ed85974825bc55.zip |
Made feeditem menu usable across different contexts
Diffstat (limited to 'src/de/podfetcher/fragment/FeedItemlistFragment.java')
-rw-r--r-- | src/de/podfetcher/fragment/FeedItemlistFragment.java | 61 |
1 files changed, 4 insertions, 57 deletions
diff --git a/src/de/podfetcher/fragment/FeedItemlistFragment.java b/src/de/podfetcher/fragment/FeedItemlistFragment.java index a11966f53..9354934db 100644 --- a/src/de/podfetcher/fragment/FeedItemlistFragment.java +++ b/src/de/podfetcher/fragment/FeedItemlistFragment.java @@ -21,6 +21,7 @@ import de.podfetcher.adapter.FeedItemlistAdapter; import de.podfetcher.feed.FeedItem; import de.podfetcher.feed.FeedManager; import de.podfetcher.storage.DownloadRequester; +import de.podfetcher.syndication.util.FeedItemMenuHandler; public class FeedItemlistFragment extends SherlockListFragment { private static final String TAG = "FeedItemlistFragment"; @@ -96,7 +97,7 @@ public class FeedItemlistFragment extends SherlockListFragment { @Override public boolean onPrepareActionMode(ActionMode mode, Menu menu) { - return false; + return FeedItemMenuHandler.onPrepareMenu(menu, selectedItem); } @Override @@ -107,67 +108,13 @@ public class FeedItemlistFragment extends SherlockListFragment { @Override public boolean onCreateActionMode(ActionMode mode, Menu menu) { - MenuInflater inflater = mode.getMenuInflater(); - inflater.inflate(R.menu.feeditemlist, menu); - mode.setTitle(selectedItem.getTitle()); - - if (selectedItem.getMedia().isDownloaded()) { - menu.findItem(R.id.play_item).setVisible(true); - menu.findItem(R.id.remove_item).setVisible(true); - } else if (selectedItem.getMedia().getFile_url() == null) { - menu.findItem(R.id.download_item).setVisible(true); - } else { - menu.findItem(R.id.cancel_download_item).setVisible(true); - } - - if (selectedItem.isRead()) { - menu.findItem(R.id.mark_unread_item).setVisible(true); - } else { - menu.findItem(R.id.mark_read_item).setVisible(true); - } - - if (manager.isInQueue(selectedItem)) { - menu.findItem(R.id.remove_from_queue_item).setVisible(true); - } else { - menu.findItem(R.id.add_to_queue_item).setVisible(true); - } - - return true; + return FeedItemMenuHandler.onCreateMenu(mode.getMenuInflater(), menu); } @Override public boolean onActionItemClicked(ActionMode mode, MenuItem item) { - switch (item.getItemId()) { - case R.id.download_item: - requester.downloadMedia(getSherlockActivity(), - selectedItem.getMedia()); - break; - case R.id.play_item: - manager.playMedia(getSherlockActivity(), - selectedItem.getMedia()); - break; - case R.id.remove_item: - manager.deleteFeedMedia(getSherlockActivity(), - selectedItem.getMedia()); - break; - case R.id.cancel_download_item: - requester.cancelDownload(getSherlockActivity(), selectedItem - .getMedia().getDownloadId()); - break; - case R.id.mark_read_item: - manager.markItemRead(getSherlockActivity(), selectedItem, true); - break; - case R.id.mark_unread_item: - manager.markItemRead(getSherlockActivity(), selectedItem, false); - break; - case R.id.add_to_queue_item: - manager.addQueueItem(getSherlockActivity(), selectedItem); - break; - case R.id.remove_from_queue_item: - manager.removeQueueItem(getSherlockActivity(), selectedItem); - break; - } + FeedItemMenuHandler.onMenuItemClicked(getSherlockActivity(), item, selectedItem); fila.notifyDataSetChanged(); mode.finish(); return true; |