diff options
author | Tom Hennen <TomHennen@users.noreply.github.com> | 2015-08-26 17:41:48 -0400 |
---|---|---|
committer | Tom Hennen <TomHennen@users.noreply.github.com> | 2015-08-26 17:41:48 -0400 |
commit | c4926bb6c9f3d8d126d38e417284a90da3e9a3a1 (patch) | |
tree | 87a63b9135aaa399171b9cd533d1a1e9e19184e6 | |
parent | 634d66bab6e2966319daf0d7f8f2b97c768d7fae (diff) | |
parent | d02931e0c470f76d949c813cf851d0c9133e4ca4 (diff) | |
download | AntennaPod-c4926bb6c9f3d8d126d38e417284a90da3e9a3a1.zip |
Merge pull request #1127 from TomHennen/fix1111
Properly check if we should show links share items.
-rw-r--r-- | app/src/main/java/de/danoeh/antennapod/activity/MediaplayerActivity.java | 37 |
1 files changed, 27 insertions, 10 deletions
diff --git a/app/src/main/java/de/danoeh/antennapod/activity/MediaplayerActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/MediaplayerActivity.java index b83e9bc15..ef798f5b7 100644 --- a/app/src/main/java/de/danoeh/antennapod/activity/MediaplayerActivity.java +++ b/app/src/main/java/de/danoeh/antennapod/activity/MediaplayerActivity.java @@ -255,10 +255,20 @@ public abstract class MediaplayerActivity extends ActionBarActivity (media instanceof FeedMedia) && ((FeedMedia) media).getItem().getFlattrStatus().flattrable() ); - menu.findItem(R.id.share_link_item).setVisible( - media != null && media.getWebsiteLink() != null); - menu.findItem(R.id.visit_website_item).setVisible( - media != null && media.getWebsiteLink() != null); + + boolean hasWebsiteLink = media.getWebsiteLink() != null; + menu.findItem(R.id.visit_website_item).setVisible(hasWebsiteLink); + + boolean isItemAndHasLink = media != null && (media instanceof FeedMedia) && ((FeedMedia) media).getItem().getLink() != null; + menu.findItem(R.id.share_link_item).setVisible(isItemAndHasLink); + menu.findItem(R.id.share_link_with_position_item).setVisible(isItemAndHasLink); + + boolean isItemHasDownloadLink = media != null && (media instanceof FeedMedia) && ((FeedMedia) media).getDownload_url() != null; + menu.findItem(R.id.share_download_url_item).setVisible(isItemHasDownloadLink); + menu.findItem(R.id.share_download_url_with_position_item).setVisible(isItemHasDownloadLink); + + menu.findItem(R.id.share_item).setVisible(hasWebsiteLink || isItemAndHasLink || isItemHasDownloadLink); + menu.findItem(R.id.skip_episode_item).setVisible(media != null); boolean sleepTimerSet = controller.sleepTimerActive(); boolean sleepTimerNotSet = controller.sleepTimerNotActive(); @@ -278,7 +288,6 @@ public abstract class MediaplayerActivity extends ActionBarActivity startActivity(intent); return true; } else if (media != null) { - FeedItem feedItem = ((FeedMedia) media).getItem(); switch (item.getItemId()) { case R.id.disable_sleeptimer_item: if (controller.serviceAvailable()) { @@ -334,20 +343,28 @@ public abstract class MediaplayerActivity extends ActionBarActivity break; case R.id.support_item: if (media instanceof FeedMedia) { - DBTasks.flattrItemIfLoggedIn(this, feedItem); + DBTasks.flattrItemIfLoggedIn(this, ((FeedMedia) media).getItem()); } break; case R.id.share_link_item: - ShareUtils.shareFeedItemLink(this, feedItem); + if (media instanceof FeedMedia) { + ShareUtils.shareFeedItemLink(this, ((FeedMedia) media).getItem()); + } break; case R.id.share_download_url_item: - ShareUtils.shareFeedItemDownloadLink(this, feedItem); + if (media instanceof FeedMedia) { + ShareUtils.shareFeedItemDownloadLink(this, ((FeedMedia) media).getItem()); + } break; case R.id.share_link_with_position_item: - ShareUtils.shareFeedItemLink(this, feedItem, true); + if (media instanceof FeedMedia) { + ShareUtils.shareFeedItemLink(this, ((FeedMedia) media).getItem(), true); + } break; case R.id.share_download_url_with_position_item: - ShareUtils.shareFeedItemDownloadLink(this, feedItem, true); + if (media instanceof FeedMedia) { + ShareUtils.shareFeedItemDownloadLink(this, ((FeedMedia) media).getItem(), true); + } break; case R.id.skip_episode_item: sendBroadcast(new Intent( |