summaryrefslogtreecommitdiff
path: root/app/src/main
diff options
context:
space:
mode:
authorByteHamster <info@bytehamster.com>2020-05-25 21:30:12 +0200
committerByteHamster <info@bytehamster.com>2020-05-25 21:30:12 +0200
commitac87f204ecd8eb56690d91fe91f8208a2298f302 (patch)
treeb612be66519c72eb1a53130e594c52620cbea66b /app/src/main
parent382a54028029fe6297ebab405010d7e5229331d4 (diff)
downloadAntennaPod-ac87f204ecd8eb56690d91fe91f8208a2298f302.zip
Removed unnecessary buttons for local episodes
Diffstat (limited to 'app/src/main')
-rw-r--r--app/src/main/java/de/danoeh/antennapod/adapter/actionbutton/DownloadActionButton.java3
-rw-r--r--app/src/main/java/de/danoeh/antennapod/adapter/actionbutton/ItemActionButton.java2
-rw-r--r--app/src/main/java/de/danoeh/antennapod/adapter/actionbutton/PlayLocalActionButton.java51
-rw-r--r--app/src/main/java/de/danoeh/antennapod/fragment/ItemFragment.java3
4 files changed, 57 insertions, 2 deletions
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 {