summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authordaniel oeh <daniel.oeh@gmail.com>2012-09-13 12:40:31 +0200
committerdaniel oeh <daniel.oeh@gmail.com>2012-09-13 12:40:31 +0200
commit7ae8c906c3b843d87dfc5e994c8711d04ff1eba7 (patch)
treee509b2ca92fcd80e9c0d67a1a8c4d8c9e335ab59 /src
parentc97c21990af582c5f315d767db5c4914c07bbf11 (diff)
downloadAntennaPod-7ae8c906c3b843d87dfc5e994c8711d04ff1eba7.zip
Fixed menu item visibility in feeditemmenu
Diffstat (limited to 'src')
-rw-r--r--src/de/danoeh/antennapod/util/menuhandler/FeedItemMenuHandler.java22
1 files changed, 10 insertions, 12 deletions
diff --git a/src/de/danoeh/antennapod/util/menuhandler/FeedItemMenuHandler.java b/src/de/danoeh/antennapod/util/menuhandler/FeedItemMenuHandler.java
index 5de484922..f1dd13dab 100644
--- a/src/de/danoeh/antennapod/util/menuhandler/FeedItemMenuHandler.java
+++ b/src/de/danoeh/antennapod/util/menuhandler/FeedItemMenuHandler.java
@@ -25,19 +25,17 @@ public class FeedItemMenuHandler {
FeedManager manager = FeedManager.getInstance();
DownloadRequester requester = DownloadRequester.getInstance();
boolean hasMedia = selectedItem.getMedia() != null;
- if (hasMedia) {
- if (selectedItem.getMedia().isDownloaded()) {
- menu.findItem(R.id.play_item).setVisible(true);
- menu.findItem(R.id.remove_item).setVisible(true);
- } else {
- menu.findItem(R.id.download_item).setVisible(true);
- menu.findItem(R.id.stream_item).setVisible(true);
- }
- }
-
- boolean isDownloading = hasMedia
+ boolean downloaded = hasMedia && selectedItem.getMedia().isDownloaded();
+ boolean downloading = hasMedia
&& requester.isDownloadingFile(selectedItem.getMedia());
- menu.findItem(R.id.cancel_download_item).setVisible(isDownloading);
+ boolean notLoadedAndNotLoading = hasMedia && (!downloaded) && (!downloading);
+
+ menu.findItem(R.id.play_item).setVisible(downloaded);
+ menu.findItem(R.id.remove_item).setVisible(downloaded);
+ menu.findItem(R.id.download_item).setVisible(notLoadedAndNotLoading);
+ menu.findItem(R.id.stream_item).setVisible(
+ notLoadedAndNotLoading | downloading);
+ menu.findItem(R.id.cancel_download_item).setVisible(downloading);
boolean isInQueue = manager.isInQueue(selectedItem);