summaryrefslogtreecommitdiff
path: root/app/src/main
diff options
context:
space:
mode:
authorJonas Kalderstam <jonas@cowboyprogrammer.org>2019-09-13 00:16:22 +0200
committerJonas Kalderstam <jonas@cowboyprogrammer.org>2019-09-13 00:31:09 +0200
commit4746b16b12b1a8b70e0fcad6c381e5f4d66f491a (patch)
tree8597f2166f7fe3d646eec5634b021ce096d58223 /app/src/main
parent00c1e7a3d360f6470168d29f9296715831cd388d (diff)
downloadAntennaPod-4746b16b12b1a8b70e0fcad6c381e5f4d66f491a.zip
Changed type of media last playback speed to float from string
Also sets default to "magic" -1 value
Diffstat (limited to 'app/src/main')
-rw-r--r--app/src/main/java/de/danoeh/antennapod/activity/AudioplayerActivity.java6
-rw-r--r--app/src/main/java/de/danoeh/antennapod/activity/MediaplayerActivity.java13
-rw-r--r--app/src/main/java/de/danoeh/antennapod/dialog/PlaybackControlsDialog.java11
-rw-r--r--app/src/main/java/de/danoeh/antennapod/fragment/QueueFragment.java4
4 files changed, 28 insertions, 6 deletions
diff --git a/app/src/main/java/de/danoeh/antennapod/activity/AudioplayerActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/AudioplayerActivity.java
index 5e81295b1..d2e929d20 100644
--- a/app/src/main/java/de/danoeh/antennapod/activity/AudioplayerActivity.java
+++ b/app/src/main/java/de/danoeh/antennapod/activity/AudioplayerActivity.java
@@ -152,7 +152,11 @@ public class AudioplayerActivity extends MediaplayerInfoActivity {
private void storeNewMediaPlaybackSpeed(String speed) {
Playable media = controller.getMedia();
if (media instanceof FeedMedia) {
- ((FeedMedia) media).updateLastPlaybackSpeed(speed);
+ try {
+ ((FeedMedia) media).updateLastPlaybackSpeed(Float.parseFloat(speed));
+ } catch (NumberFormatException e) {
+ // Well this was awkward...
+ }
}
}
}
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 b6697ef52..d5801265f 100644
--- a/app/src/main/java/de/danoeh/antennapod/activity/MediaplayerActivity.java
+++ b/app/src/main/java/de/danoeh/antennapod/activity/MediaplayerActivity.java
@@ -64,6 +64,8 @@ import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.disposables.Disposable;
import io.reactivex.schedulers.Schedulers;
+import static de.danoeh.antennapod.core.feed.FeedPreferences.SPEED_USE_GLOBAL;
+
/**
* Provides general features which are both needed for playing audio and video
@@ -873,16 +875,21 @@ public abstract class MediaplayerActivity extends CastEnabledActivity implements
}
}
- protected float getPlaybackSpeedForMedia() {
+ float getPlaybackSpeedForMedia() {
+ float playbackSpeed = SPEED_USE_GLOBAL;
if (controller != null) {
Playable media = controller.getMedia();
boolean isFeedMedia = media instanceof FeedMedia;
if (isFeedMedia) {
- return ((FeedMedia) media).getMediaPlaybackSpeed();
+ playbackSpeed = ((FeedMedia) media).getMediaPlaybackSpeed();
}
}
- return UserPreferences.getPlaybackSpeed();
+ if (playbackSpeed == SPEED_USE_GLOBAL) {
+ playbackSpeed = UserPreferences.getPlaybackSpeed();
+ }
+
+ return playbackSpeed;
}
}
diff --git a/app/src/main/java/de/danoeh/antennapod/dialog/PlaybackControlsDialog.java b/app/src/main/java/de/danoeh/antennapod/dialog/PlaybackControlsDialog.java
index 86720f40a..5afebb22e 100644
--- a/app/src/main/java/de/danoeh/antennapod/dialog/PlaybackControlsDialog.java
+++ b/app/src/main/java/de/danoeh/antennapod/dialog/PlaybackControlsDialog.java
@@ -20,6 +20,8 @@ import de.danoeh.antennapod.core.util.Converter;
import de.danoeh.antennapod.core.util.playback.Playable;
import de.danoeh.antennapod.core.util.playback.PlaybackController;
+import static de.danoeh.antennapod.core.feed.FeedPreferences.SPEED_USE_GLOBAL;
+
public class PlaybackControlsDialog extends DialogFragment {
private static final float PLAYBACK_SPEED_STEP = 0.05f;
private static final float DEFAULT_MIN_PLAYBACK_SPEED = 0.5f;
@@ -214,15 +216,20 @@ public class PlaybackControlsDialog extends DialogFragment {
return UserPreferences.getVideoPlaybackSpeed();
}
+ float playbackSpeed = SPEED_USE_GLOBAL;
if (controller != null) {
Playable media = controller.getMedia();
boolean isFeedMedia = media instanceof FeedMedia;
if (isFeedMedia) {
- return ((FeedMedia) media).getMediaPlaybackSpeed();
+ playbackSpeed = ((FeedMedia) media).getMediaPlaybackSpeed();
}
}
- return UserPreferences.getPlaybackSpeed();
+ if (playbackSpeed == SPEED_USE_GLOBAL) {
+ playbackSpeed = UserPreferences.getPlaybackSpeed();
+ }
+
+ return playbackSpeed;
}
}
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/QueueFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/QueueFragment.java
index 902708e9a..238d9c7ca 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/QueueFragment.java
+++ b/app/src/main/java/de/danoeh/antennapod/fragment/QueueFragment.java
@@ -63,6 +63,7 @@ import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe;
import org.greenrobot.eventbus.ThreadMode;
+import static de.danoeh.antennapod.core.feed.FeedPreferences.SPEED_USE_GLOBAL;
import static de.danoeh.antennapod.dialog.EpisodesApplyActionFragment.ACTION_DELETE;
import static de.danoeh.antennapod.dialog.EpisodesApplyActionFragment.ACTION_REMOVE_FROM_QUEUE;
@@ -600,6 +601,9 @@ public class QueueFragment extends Fragment {
long timeLeft = 0;
for(FeedItem item : queue) {
float playbackSpeed = item.getFeedPlaybackSpeed();
+ if (playbackSpeed == SPEED_USE_GLOBAL) {
+ playbackSpeed = UserPreferences.getPlaybackSpeed();
+ }
if(item.getMedia() != null) {
timeLeft +=
(long) ((item.getMedia().getDuration() - item.getMedia().getPosition())