summaryrefslogtreecommitdiff
path: root/app/src/main/java/de/danoeh/antennapod/adapter
diff options
context:
space:
mode:
authorByteHamster <info@bytehamster.com>2020-02-28 14:04:08 +0100
committerByteHamster <info@bytehamster.com>2020-02-28 14:04:08 +0100
commit7adfbcf00330c0fe920ae15231fe492e94c455e3 (patch)
tree618fb8d98d46116024cadb98aa5f5918c543e8eb /app/src/main/java/de/danoeh/antennapod/adapter
parent37528452caa40335ddc712f969aad82beb94f06e (diff)
downloadAntennaPod-7adfbcf00330c0fe920ae15231fe492e94c455e3.zip
Show pause button for currently streamed episode
Diffstat (limited to 'app/src/main/java/de/danoeh/antennapod/adapter')
-rw-r--r--app/src/main/java/de/danoeh/antennapod/adapter/actionbutton/ItemActionButton.java4
-rw-r--r--app/src/main/java/de/danoeh/antennapod/adapter/actionbutton/PauseActionButton.java42
-rw-r--r--app/src/main/java/de/danoeh/antennapod/adapter/actionbutton/PlayActionButton.java34
3 files changed, 51 insertions, 29 deletions
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 47eab7d05..e5bb04391 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
@@ -41,7 +41,9 @@ public abstract class ItemActionButton {
}
final boolean isDownloadingMedia = DownloadRequester.getInstance().isDownloadingFile(media);
- if (media.isDownloaded()) {
+ if (media.isCurrentlyPlaying()) {
+ return new PauseActionButton(item);
+ } else if (media.isDownloaded()) {
return new PlayActionButton(item);
} else if (isDownloadingMedia) {
return new CancelDownloadActionButton(item);
diff --git a/app/src/main/java/de/danoeh/antennapod/adapter/actionbutton/PauseActionButton.java b/app/src/main/java/de/danoeh/antennapod/adapter/actionbutton/PauseActionButton.java
new file mode 100644
index 000000000..b839f7788
--- /dev/null
+++ b/app/src/main/java/de/danoeh/antennapod/adapter/actionbutton/PauseActionButton.java
@@ -0,0 +1,42 @@
+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.util.IntentUtils;
+
+import static de.danoeh.antennapod.core.service.playback.PlaybackService.ACTION_PAUSE_PLAY_CURRENT_EPISODE;
+
+class PauseActionButton extends ItemActionButton {
+
+ PauseActionButton(FeedItem item) {
+ super(item);
+ }
+
+ @Override
+ @StringRes
+ public int getLabel() {
+ return R.string.pause_label;
+ }
+
+ @Override
+ @AttrRes
+ public int getDrawable() {
+ return R.attr.av_pause;
+ }
+
+ @Override
+ public void onClick(Context context) {
+ FeedMedia media = item.getMedia();
+ if (media == null) {
+ return;
+ }
+
+ if (media.isCurrentlyPlaying()) {
+ IntentUtils.sendLocalBroadcast(context, ACTION_PAUSE_PLAY_CURRENT_EPISODE);
+ }
+ }
+}
diff --git a/app/src/main/java/de/danoeh/antennapod/adapter/actionbutton/PlayActionButton.java b/app/src/main/java/de/danoeh/antennapod/adapter/actionbutton/PlayActionButton.java
index 0d314b5eb..3432f1deb 100644
--- a/app/src/main/java/de/danoeh/antennapod/adapter/actionbutton/PlayActionButton.java
+++ b/app/src/main/java/de/danoeh/antennapod/adapter/actionbutton/PlayActionButton.java
@@ -3,16 +3,11 @@ 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.storage.DBTasks;
-import de.danoeh.antennapod.core.util.IntentUtils;
import de.danoeh.antennapod.core.util.playback.PlaybackServiceStarter;
-import static de.danoeh.antennapod.core.service.playback.PlaybackService.ACTION_PAUSE_PLAY_CURRENT_EPISODE;
-
class PlayActionButton extends ItemActionButton {
PlayActionButton(FeedItem item) {
@@ -28,12 +23,7 @@ class PlayActionButton extends ItemActionButton {
@Override
@AttrRes
public int getDrawable() {
- FeedMedia media = item.getMedia();
- if (media != null && media.isCurrentlyPlaying()) {
- return R.attr.av_pause;
- } else {
- return R.attr.av_play;
- }
+ return R.attr.av_play;
}
@Override
@@ -43,22 +33,10 @@ class PlayActionButton extends ItemActionButton {
return;
}
- if (media.isPlaying()) {
- togglePlayPause(context, media);
- } else {
- DBTasks.playMedia(context, media, false, true, false);
- }
- }
-
- private void togglePlayPause(Context context, FeedMedia media) {
- if (media.isCurrentlyPlaying()) {
- IntentUtils.sendLocalBroadcast(context, ACTION_PAUSE_PLAY_CURRENT_EPISODE);
- } else {
- new PlaybackServiceStarter(context, media)
- .callEvenIfRunning(true)
- .startWhenPrepared(true)
- .shouldStream(false)
- .start();
- }
+ new PlaybackServiceStarter(context, media)
+ .callEvenIfRunning(true)
+ .startWhenPrepared(true)
+ .shouldStream(false)
+ .start();
}
}