From 7ae8c906c3b843d87dfc5e994c8711d04ff1eba7 Mon Sep 17 00:00:00 2001 From: daniel oeh Date: Thu, 13 Sep 2012 12:40:31 +0200 Subject: Fixed menu item visibility in feeditemmenu --- .../util/menuhandler/FeedItemMenuHandler.java | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) (limited to 'src') 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); -- cgit v1.2.3