diff options
author | daniel oeh <daniel.oeh@gmail.com> | 2012-09-13 12:40:31 +0200 |
---|---|---|
committer | daniel oeh <daniel.oeh@gmail.com> | 2012-09-13 12:40:31 +0200 |
commit | 7ae8c906c3b843d87dfc5e994c8711d04ff1eba7 (patch) | |
tree | e509b2ca92fcd80e9c0d67a1a8c4d8c9e335ab59 /src/de/danoeh/antennapod/util | |
parent | c97c21990af582c5f315d767db5c4914c07bbf11 (diff) | |
download | AntennaPod-7ae8c906c3b843d87dfc5e994c8711d04ff1eba7.zip |
Fixed menu item visibility in feeditemmenu
Diffstat (limited to 'src/de/danoeh/antennapod/util')
-rw-r--r-- | src/de/danoeh/antennapod/util/menuhandler/FeedItemMenuHandler.java | 22 |
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); |