From 932f24c892306ece534a0027472b6939b5b85c91 Mon Sep 17 00:00:00 2001 From: ByteHamster Date: Tue, 18 Apr 2017 10:50:47 +0200 Subject: Allow sharing feed file, as suggested in #2236 --- .../java/de/danoeh/antennapod/activity/MediaplayerActivity.java | 6 ++++++ .../java/de/danoeh/antennapod/menuhandler/FeedItemMenuHandler.java | 5 +++++ app/src/main/res/menu/allepisodes_context.xml | 4 ++++ app/src/main/res/menu/feeditem_options.xml | 4 ++++ app/src/main/res/menu/feeditemlist_context.xml | 4 ++++ app/src/main/res/menu/mediaplayer.xml | 4 ++++ app/src/main/res/menu/queue_context.xml | 4 ++++ 7 files changed, 31 insertions(+) (limited to 'app') 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 818864f79..4f41f8a63 100644 --- a/app/src/main/java/de/danoeh/antennapod/activity/MediaplayerActivity.java +++ b/app/src/main/java/de/danoeh/antennapod/activity/MediaplayerActivity.java @@ -328,6 +328,7 @@ public abstract class MediaplayerActivity extends CastEnabledActivity implements 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_file).setVisible(((FeedMedia) media).fileExists()); menu.findItem(R.id.share_item).setVisible(hasWebsiteLink || isItemAndHasLink || isItemHasDownloadLink); @@ -574,6 +575,11 @@ public abstract class MediaplayerActivity extends CastEnabledActivity implements ShareUtils.shareFeedItemDownloadLink(this, ((FeedMedia) media).getItem(), true); } break; + case R.id.share_file: + if (media instanceof FeedMedia) { + ShareUtils.shareFeedItemFile(this, ((FeedMedia) media)); + } + break; default: return false; } diff --git a/app/src/main/java/de/danoeh/antennapod/menuhandler/FeedItemMenuHandler.java b/app/src/main/java/de/danoeh/antennapod/menuhandler/FeedItemMenuHandler.java index 6799114f7..27eb2d9bb 100644 --- a/app/src/main/java/de/danoeh/antennapod/menuhandler/FeedItemMenuHandler.java +++ b/app/src/main/java/de/danoeh/antennapod/menuhandler/FeedItemMenuHandler.java @@ -101,6 +101,8 @@ public class FeedItemMenuHandler { mi.setItemVisibility(R.id.share_download_url_with_position_item, false); } + mi.setItemVisibility(R.id.share_file, selectedItem.getMedia().fileExists()); + if (selectedItem.isPlayed()) { mi.setItemVisibility(R.id.mark_read_item, false); } else { @@ -239,6 +241,9 @@ public class FeedItemMenuHandler { case R.id.share_download_url_with_position_item: ShareUtils.shareFeedItemDownloadLink(context, selectedItem, true); break; + case R.id.share_file: + ShareUtils.shareFeedItemFile(context, selectedItem.getMedia()); + break; default: Log.d(TAG, "Unknown menuItemId: " + menuItemId); return false; diff --git a/app/src/main/res/menu/allepisodes_context.xml b/app/src/main/res/menu/allepisodes_context.xml index c5356535c..7398b9118 100644 --- a/app/src/main/res/menu/allepisodes_context.xml +++ b/app/src/main/res/menu/allepisodes_context.xml @@ -71,6 +71,10 @@ android:id="@+id/share_download_url_with_position_item" android:menuCategory="container" android:title="@string/share_item_url_with_position_label" /> + diff --git a/app/src/main/res/menu/feeditem_options.xml b/app/src/main/res/menu/feeditem_options.xml index 511758c2e..7e111d816 100644 --- a/app/src/main/res/menu/feeditem_options.xml +++ b/app/src/main/res/menu/feeditem_options.xml @@ -84,6 +84,10 @@ android:id="@+id/share_download_url_with_position_item" android:menuCategory="container" android:title="@string/share_item_url_with_position_label" /> + diff --git a/app/src/main/res/menu/feeditemlist_context.xml b/app/src/main/res/menu/feeditemlist_context.xml index 271cb96a7..d3ec88bc7 100644 --- a/app/src/main/res/menu/feeditemlist_context.xml +++ b/app/src/main/res/menu/feeditemlist_context.xml @@ -73,6 +73,10 @@ android:id="@+id/share_download_url_with_position_item" android:menuCategory="container" android:title="@string/share_item_url_with_position_label" /> + diff --git a/app/src/main/res/menu/mediaplayer.xml b/app/src/main/res/menu/mediaplayer.xml index c4086bf5e..530eb3400 100644 --- a/app/src/main/res/menu/mediaplayer.xml +++ b/app/src/main/res/menu/mediaplayer.xml @@ -64,6 +64,10 @@ android:id="@+id/share_download_url_with_position_item" android:menuCategory="container" android:title="@string/share_item_url_with_position_label" /> + + Date: Wed, 3 May 2017 20:46:19 +0200 Subject: Added null and instanceof checks --- .../de/danoeh/antennapod/activity/MediaplayerActivity.java | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) (limited to 'app') 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 4f41f8a63..21a0fa66f 100644 --- a/app/src/main/java/de/danoeh/antennapod/activity/MediaplayerActivity.java +++ b/app/src/main/java/de/danoeh/antennapod/activity/MediaplayerActivity.java @@ -309,10 +309,9 @@ public abstract class MediaplayerActivity extends CastEnabledActivity implements return false; } Playable media = controller.getMedia(); + boolean isFeedMedia = media != null && (media instanceof FeedMedia); - menu.findItem(R.id.support_item).setVisible( - media != null && media.getPaymentLink() != null && - (media instanceof FeedMedia) && + menu.findItem(R.id.support_item).setVisible(isFeedMedia && media.getPaymentLink() != null && ((FeedMedia) media).getItem() != null && ((FeedMedia) media).getItem().getFlattrStatus().flattrable() ); @@ -320,21 +319,21 @@ public abstract class MediaplayerActivity extends CastEnabledActivity implements boolean hasWebsiteLink = media != null && media.getWebsiteLink() != null; menu.findItem(R.id.visit_website_item).setVisible(hasWebsiteLink); - boolean isItemAndHasLink = media != null && (media instanceof FeedMedia) && + boolean isItemAndHasLink = isFeedMedia && ((FeedMedia) media).getItem() != null && ((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; + boolean isItemHasDownloadLink = isFeedMedia && ((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_file).setVisible(((FeedMedia) media).fileExists()); + menu.findItem(R.id.share_file).setVisible(isFeedMedia && ((FeedMedia) media).fileExists()); menu.findItem(R.id.share_item).setVisible(hasWebsiteLink || isItemAndHasLink || isItemHasDownloadLink); menu.findItem(R.id.add_to_favorites_item).setVisible(false); menu.findItem(R.id.remove_from_favorites_item).setVisible(false); - if(media != null && media instanceof FeedMedia) { + if (isFeedMedia) { menu.findItem(R.id.add_to_favorites_item).setVisible(!isFavorite); menu.findItem(R.id.remove_from_favorites_item).setVisible(isFavorite); } -- cgit v1.2.3 From 75ece930e92704749664198de06c85a793f2c6b9 Mon Sep 17 00:00:00 2001 From: ByteHamster Date: Sun, 4 Jun 2017 14:22:45 +0200 Subject: Review changes --- .../main/java/de/danoeh/antennapod/menuhandler/FeedItemMenuHandler.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'app') diff --git a/app/src/main/java/de/danoeh/antennapod/menuhandler/FeedItemMenuHandler.java b/app/src/main/java/de/danoeh/antennapod/menuhandler/FeedItemMenuHandler.java index 27eb2d9bb..57b7c359c 100644 --- a/app/src/main/java/de/danoeh/antennapod/menuhandler/FeedItemMenuHandler.java +++ b/app/src/main/java/de/danoeh/antennapod/menuhandler/FeedItemMenuHandler.java @@ -101,7 +101,7 @@ public class FeedItemMenuHandler { mi.setItemVisibility(R.id.share_download_url_with_position_item, false); } - mi.setItemVisibility(R.id.share_file, selectedItem.getMedia().fileExists()); + mi.setItemVisibility(R.id.share_file, hasMedia && selectedItem.getMedia().fileExists()); if (selectedItem.isPlayed()) { mi.setItemVisibility(R.id.mark_read_item, false); -- cgit v1.2.3