summaryrefslogtreecommitdiff
path: root/app/src/main/java/de/danoeh/antennapod/actionbutton/PlayLocalActionButton.java
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/main/java/de/danoeh/antennapod/actionbutton/PlayLocalActionButton.java')
-rw-r--r--app/src/main/java/de/danoeh/antennapod/actionbutton/PlayLocalActionButton.java46
1 files changed, 46 insertions, 0 deletions
diff --git a/app/src/main/java/de/danoeh/antennapod/actionbutton/PlayLocalActionButton.java b/app/src/main/java/de/danoeh/antennapod/actionbutton/PlayLocalActionButton.java
new file mode 100644
index 000000000..62a965494
--- /dev/null
+++ b/app/src/main/java/de/danoeh/antennapod/actionbutton/PlayLocalActionButton.java
@@ -0,0 +1,46 @@
+package de.danoeh.antennapod.actionbutton;
+
+import android.content.Context;
+import androidx.annotation.DrawableRes;
+import androidx.annotation.StringRes;
+import de.danoeh.antennapod.R;
+import de.danoeh.antennapod.model.feed.FeedItem;
+import de.danoeh.antennapod.model.feed.FeedMedia;
+import de.danoeh.antennapod.model.playback.MediaType;
+import de.danoeh.antennapod.playback.service.PlaybackService;
+import de.danoeh.antennapod.playback.service.PlaybackServiceStarter;
+
+public class PlayLocalActionButton extends ItemActionButton {
+
+ public PlayLocalActionButton(FeedItem item) {
+ super(item);
+ }
+
+ @Override
+ @StringRes
+ public int getLabel() {
+ return R.string.play_label;
+ }
+
+ @Override
+ @DrawableRes
+ public int getDrawable() {
+ return R.drawable.ic_play_24dp;
+ }
+
+ @Override
+ public void onClick(Context context) {
+ final FeedMedia media = item.getMedia();
+ if (media == null) {
+ return;
+ }
+
+ new PlaybackServiceStarter(context, media)
+ .callEvenIfRunning(true)
+ .start();
+
+ if (media.getMediaType() == MediaType.VIDEO) {
+ context.startActivity(PlaybackService.getPlayerActivityIntent(context, media));
+ }
+ }
+}