diff options
author | daniel oeh <daniel.oeh@gmail.com> | 2012-07-18 11:23:04 +0200 |
---|---|---|
committer | daniel oeh <daniel.oeh@gmail.com> | 2012-07-18 11:23:04 +0200 |
commit | c76beb2d9f685ebb1d36bfd19a2bbe30ac6ff394 (patch) | |
tree | 671c962b1ab309bdb9de8abb21d361a383dfb8c9 | |
parent | 532a167a482083b34d4d9ed57de50c2d38f1d3c3 (diff) | |
download | AntennaPod-c76beb2d9f685ebb1d36bfd19a2bbe30ac6ff394.zip |
improved visibility handling + order of items
-rw-r--r-- | res/menu/feeditem.xml | 23 | ||||
-rw-r--r-- | src/de/danoeh/antennapod/util/FeedItemMenuHandler.java | 15 |
2 files changed, 25 insertions, 13 deletions
diff --git a/res/menu/feeditem.xml b/res/menu/feeditem.xml index d10fde605..7fb4089a4 100644 --- a/res/menu/feeditem.xml +++ b/res/menu/feeditem.xml @@ -8,22 +8,32 @@ android:title="@string/download_label" android:visible="false"> </item> - <item android:id="@+id/stream_item" android:icon="@drawable/action_stream" android:showAsAction="ifRoom" android:title="@string/stream_label" android:visible="false"> - </item><item android:id="@+id/play_item" android:icon="@drawable/av_play" android:showAsAction="ifRoom" android:title="@string/play_label" android:visible="false"> - </item><item + <item + android:id="@+id/stream_item" + android:icon="@drawable/action_stream" + android:showAsAction="ifRoom" + android:title="@string/stream_label" + android:visible="false"> + </item> + <item + android:id="@+id/play_item" + android:icon="@drawable/av_play" + android:showAsAction="ifRoom" + android:title="@string/play_label" + android:visible="false"> + </item> + <item android:id="@+id/remove_item" android:icon="@drawable/content_discard" android:showAsAction="collapseActionView" android:title="@string/remove_label" android:visible="false"> </item> - <item android:id="@+id/cancel_download_item" android:icon="@drawable/navigation_cancel" android:showAsAction="ifRoom" - android:title="@string/cancel_download_label" - android:visible="false"> + android:title="@string/cancel_download_label"> </item> <item android:id="@+id/mark_read_item" @@ -49,7 +59,6 @@ android:title="@string/remove_from_queue_label" android:visible="false"> </item> - <item android:id="@+id/share_link_item" android:showAsAction="collapseActionView" diff --git a/src/de/danoeh/antennapod/util/FeedItemMenuHandler.java b/src/de/danoeh/antennapod/util/FeedItemMenuHandler.java index b97bf35b3..db99399d6 100644 --- a/src/de/danoeh/antennapod/util/FeedItemMenuHandler.java +++ b/src/de/danoeh/antennapod/util/FeedItemMenuHandler.java @@ -21,6 +21,7 @@ public class FeedItemMenuHandler { public static boolean onPrepareMenu(Menu menu, FeedItem selectedItem) { FeedManager manager = FeedManager.getInstance(); + DownloadRequester requester = DownloadRequester.getInstance(); if (selectedItem.getMedia() != null) { if (selectedItem.getMedia().isDownloaded()) { @@ -29,17 +30,19 @@ public class FeedItemMenuHandler { } else if (selectedItem.getMedia().getFile_url() == null) { menu.findItem(R.id.download_item).setVisible(true); menu.findItem(R.id.stream_item).setVisible(true); - } else { - menu.findItem(R.id.cancel_download_item).setVisible(true); } + boolean isDownloading = requester.isDownloadingFile(selectedItem.getMedia()); + menu.findItem(R.id.cancel_download_item).setVisible(isDownloading); + 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); } - - menu.findItem(R.id.share_link_item).setVisible(selectedItem.getLink() != null); + + menu.findItem(R.id.share_link_item).setVisible( + selectedItem.getLink() != null); } if (selectedItem.isRead()) { @@ -51,11 +54,11 @@ public class FeedItemMenuHandler { if (selectedItem.getLink() != null) { menu.findItem(R.id.visit_website_item).setVisible(true); } - + if (selectedItem.getPaymentLink() != null) { menu.findItem(R.id.support_item).setVisible(true); } - + return true; } |