From ac87f204ecd8eb56690d91fe91f8208a2298f302 Mon Sep 17 00:00:00 2001 From: ByteHamster Date: Mon, 25 May 2020 21:30:12 +0200 Subject: Removed unnecessary buttons for local episodes --- .../adapter/actionbutton/DownloadActionButton.java | 3 +- .../adapter/actionbutton/ItemActionButton.java | 2 + .../actionbutton/PlayLocalActionButton.java | 51 ++++++++++++++++++++++ .../danoeh/antennapod/fragment/ItemFragment.java | 3 ++ 4 files changed, 57 insertions(+), 2 deletions(-) create mode 100644 app/src/main/java/de/danoeh/antennapod/adapter/actionbutton/PlayLocalActionButton.java (limited to 'app/src/main/java/de') diff --git a/app/src/main/java/de/danoeh/antennapod/adapter/actionbutton/DownloadActionButton.java b/app/src/main/java/de/danoeh/antennapod/adapter/actionbutton/DownloadActionButton.java index 3e210c822..0f7c2bdd0 100644 --- a/app/src/main/java/de/danoeh/antennapod/adapter/actionbutton/DownloadActionButton.java +++ b/app/src/main/java/de/danoeh/antennapod/adapter/actionbutton/DownloadActionButton.java @@ -40,8 +40,7 @@ public class DownloadActionButton extends ItemActionButton { @Override public int getVisibility() { - return (item.getMedia() != null && DownloadRequester.getInstance().isDownloadingFile(item.getMedia())) - ? View.INVISIBLE : View.VISIBLE; + return item.getFeed().isLocalFeed() ? View.INVISIBLE : View.VISIBLE; } @Override diff --git a/app/src/main/java/de/danoeh/antennapod/adapter/actionbutton/ItemActionButton.java b/app/src/main/java/de/danoeh/antennapod/adapter/actionbutton/ItemActionButton.java index 527ac3ec1..5d95d3775 100644 --- a/app/src/main/java/de/danoeh/antennapod/adapter/actionbutton/ItemActionButton.java +++ b/app/src/main/java/de/danoeh/antennapod/adapter/actionbutton/ItemActionButton.java @@ -42,6 +42,8 @@ public abstract class ItemActionButton { final boolean isDownloadingMedia = DownloadRequester.getInstance().isDownloadingFile(media); if (media.isCurrentlyPlaying()) { return new PauseActionButton(item); + } else if (item.getFeed().isLocalFeed()) { + return new PlayLocalActionButton(item); } else if (media.isDownloaded()) { return new PlayActionButton(item); } else if (isDownloadingMedia) { diff --git a/app/src/main/java/de/danoeh/antennapod/adapter/actionbutton/PlayLocalActionButton.java b/app/src/main/java/de/danoeh/antennapod/adapter/actionbutton/PlayLocalActionButton.java new file mode 100644 index 000000000..31dfe15da --- /dev/null +++ b/app/src/main/java/de/danoeh/antennapod/adapter/actionbutton/PlayLocalActionButton.java @@ -0,0 +1,51 @@ +package de.danoeh.antennapod.adapter.actionbutton; + +import android.content.Context; +import androidx.annotation.AttrRes; +import androidx.annotation.StringRes; +import de.danoeh.antennapod.R; +import de.danoeh.antennapod.core.feed.FeedItem; +import de.danoeh.antennapod.core.feed.FeedMedia; +import de.danoeh.antennapod.core.feed.MediaType; +import de.danoeh.antennapod.core.preferences.UsageStatistics; +import de.danoeh.antennapod.core.service.playback.PlaybackService; +import de.danoeh.antennapod.core.util.NetworkUtils; +import de.danoeh.antennapod.core.util.playback.PlaybackServiceStarter; +import de.danoeh.antennapod.dialog.StreamingConfirmationDialog; + +public class PlayLocalActionButton extends ItemActionButton { + + public PlayLocalActionButton(FeedItem item) { + super(item); + } + + @Override + @StringRes + public int getLabel() { + return R.string.play_label; + } + + @Override + @AttrRes + public int getDrawable() { + return R.attr.av_play; + } + + @Override + public void onClick(Context context) { + final FeedMedia media = item.getMedia(); + if (media == null) { + return; + } + + new PlaybackServiceStarter(context, media) + .callEvenIfRunning(true) + .startWhenPrepared(true) + .shouldStream(true) + .start(); + + if (media.getMediaType() == MediaType.VIDEO) { + context.startActivity(PlaybackService.getPlayerActivityIntent(context, media)); + } + } +} diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/ItemFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/ItemFragment.java index aaf0fc7d4..814dbc74e 100644 --- a/app/src/main/java/de/danoeh/antennapod/fragment/ItemFragment.java +++ b/app/src/main/java/de/danoeh/antennapod/fragment/ItemFragment.java @@ -39,6 +39,7 @@ import de.danoeh.antennapod.adapter.actionbutton.ItemActionButton; import de.danoeh.antennapod.adapter.actionbutton.MarkAsPlayedActionButton; import de.danoeh.antennapod.adapter.actionbutton.PauseActionButton; import de.danoeh.antennapod.adapter.actionbutton.PlayActionButton; +import de.danoeh.antennapod.adapter.actionbutton.PlayLocalActionButton; import de.danoeh.antennapod.adapter.actionbutton.StreamActionButton; import de.danoeh.antennapod.adapter.actionbutton.VisitWebsiteActionButton; import de.danoeh.antennapod.core.event.DownloadEvent; @@ -328,6 +329,8 @@ public class ItemFragment extends Fragment { } if (media.isCurrentlyPlaying()) { actionButton1 = new PauseActionButton(item); + } else if (item.getFeed().isLocalFeed()) { + actionButton1 = new PlayLocalActionButton(item); } else if (media.isDownloaded()) { actionButton1 = new PlayActionButton(item); } else { -- cgit v1.2.3