summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
authorH. Lehmann <ByteHamster@users.noreply.github.com>2019-05-28 15:52:54 +0200
committerGitHub <noreply@github.com>2019-05-28 15:52:54 +0200
commitd81cb2ff398229024f71ca719ba2fbb708899fcb (patch)
treedbae988e2dc895b136fc1a3b9386702e145d2940 /app
parentf563fe48b5dd49c8b9305b75ed8a598b83294739 (diff)
parent60771673dc4300f102da5e364d2980369742fef1 (diff)
downloadAntennaPod-d81cb2ff398229024f71ca719ba2fbb708899fcb.zip
Merge pull request #3043 from CedricCabessa/remaining_time_playback_speed
Fixes #2197: Remaining time playback speed
Diffstat (limited to 'app')
-rw-r--r--app/src/main/java/de/danoeh/antennapod/activity/AudioplayerActivity.java1
-rw-r--r--app/src/main/java/de/danoeh/antennapod/activity/MediaplayerActivity.java21
-rw-r--r--app/src/main/res/xml/preferences_playback.xml7
3 files changed, 22 insertions, 7 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 67dda01cf..2bcd7a461 100644
--- a/app/src/main/java/de/danoeh/antennapod/activity/AudioplayerActivity.java
+++ b/app/src/main/java/de/danoeh/antennapod/activity/AudioplayerActivity.java
@@ -129,6 +129,7 @@ public class AudioplayerActivity extends MediaplayerInfoActivity {
}
UserPreferences.setPlaybackSpeed(newSpeed);
controller.setPlaybackSpeed(Float.parseFloat(newSpeed));
+ onPositionObserverUpdate();
} else {
VariableSpeedDialog.showGetPluginDialog(this);
}
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 154c7c148..3d5c59a4a 100644
--- a/app/src/main/java/de/danoeh/antennapod/activity/MediaplayerActivity.java
+++ b/app/src/main/java/de/danoeh/antennapod/activity/MediaplayerActivity.java
@@ -55,6 +55,7 @@ import de.danoeh.antennapod.core.util.IntentUtils;
import de.danoeh.antennapod.core.util.ShareUtils;
import de.danoeh.antennapod.core.util.StorageUtils;
import de.danoeh.antennapod.core.util.Supplier;
+import de.danoeh.antennapod.core.util.TimeSpeedConverter;
import de.danoeh.antennapod.core.util.gui.PictureInPictureUtil;
import de.danoeh.antennapod.core.util.playback.ExternalMedia;
import de.danoeh.antennapod.core.util.playback.MediaPlayerError;
@@ -674,8 +675,11 @@ public abstract class MediaplayerActivity extends CastEnabledActivity implements
if (controller == null || txtvPosition == null || txtvLength == null) {
return;
}
- int currentPosition = controller.getPosition();
- int duration = controller.getDuration();
+
+ int currentPosition = TimeSpeedConverter.convert(controller.getPosition());
+ int duration = TimeSpeedConverter.convert(controller.getDuration());
+ int remainingTime = TimeSpeedConverter.convert(
+ controller.getDuration() - controller.getPosition());
Log.d(TAG, "currentPosition " + Converter.getDurationStringLong(currentPosition));
if (currentPosition == PlaybackService.INVALID_TIME ||
duration == PlaybackService.INVALID_TIME) {
@@ -684,7 +688,7 @@ public abstract class MediaplayerActivity extends CastEnabledActivity implements
}
txtvPosition.setText(Converter.getDurationStringLong(currentPosition));
if (showTimeLeft) {
- txtvLength.setText("-" + Converter.getDurationStringLong(duration - currentPosition));
+ txtvLength.setText("-" + Converter.getDurationStringLong(remainingTime));
} else {
txtvLength.setText(Converter.getDurationStringLong(duration));
}
@@ -832,9 +836,13 @@ public abstract class MediaplayerActivity extends CastEnabledActivity implements
String length;
if (showTimeLeft) {
- length = "-" + Converter.getDurationStringLong(media.getDuration() - media.getPosition());
+ int remainingTime = TimeSpeedConverter.convert(
+ media.getDuration() - media.getPosition());
+
+ length = "-" + Converter.getDurationStringLong(remainingTime);
} else {
- length = Converter.getDurationStringLong(media.getDuration());
+ int duration = TimeSpeedConverter.convert(media.getDuration());
+ length = Converter.getDurationStringLong(duration);
}
txtvLength.setText(length);
@@ -937,7 +945,8 @@ public abstract class MediaplayerActivity extends CastEnabledActivity implements
prog = controller.onSeekBarProgressChanged(seekBar, progress, fromUser, txtvPosition);
if (showTimeLeft && prog != 0) {
int duration = controller.getDuration();
- String length = "-" + Converter.getDurationStringLong(duration - (int) (prog * duration));
+ int timeLeft = TimeSpeedConverter.convert(duration - (int) (prog * duration));
+ String length = "-" + Converter.getDurationStringLong(timeLeft);
txtvLength.setText(length);
}
}
diff --git a/app/src/main/res/xml/preferences_playback.xml b/app/src/main/res/xml/preferences_playback.xml
index 9182df600..8b8efa023 100644
--- a/app/src/main/res/xml/preferences_playback.xml
+++ b/app/src/main/res/xml/preferences_playback.xml
@@ -46,7 +46,7 @@
app:useStockLayout="true"/>
</PreferenceCategory>
- <PreferenceCategory android:title="@string/buttons">
+ <PreferenceCategory android:title="@string/playback_control">
<SwitchPreference
android:defaultValue="false"
android:enabled="true"
@@ -71,6 +71,11 @@
android:key="prefPlaybackSpeedLauncher"
android:summary="@string/pref_playback_speed_sum"
android:title="@string/pref_playback_speed_title"/>
+ <SwitchPreference
+ android:defaultValue="false"
+ android:key="prefPlaybackTimeRespectsSpeed"
+ android:summary="@string/pref_playback_time_respects_speed_sum"
+ android:title="@string/pref_playback_time_respects_speed_title"/>
</PreferenceCategory>
<PreferenceCategory android:title="@string/queue_label">