summaryrefslogtreecommitdiff
path: root/core/src
diff options
context:
space:
mode:
authorByteHamster <info@bytehamster.com>2021-05-14 20:42:15 +0200
committerByteHamster <info@bytehamster.com>2021-05-14 21:03:35 +0200
commitf56ce1ea529e90637b80f4f20853d63ccbbff5fd (patch)
tree8e5f5220774ca8067421e5078ccbbe89938604a2 /core/src
parent74dcf09b3b9aec0d1fe9bd5f530bc54bfe2e0f23 (diff)
downloadAntennaPod-f56ce1ea529e90637b80f4f20853d63ccbbff5fd.zip
Just assume we can always set the playback speed
Our default ExoPlayer can always set the speed. All Android versions >23 also support it. So of the 2% of users with old devices, this only affects the ones who manually selected another player.
Diffstat (limited to 'core/src')
-rw-r--r--core/src/main/java/de/danoeh/antennapod/core/service/playback/ExoPlayerWrapper.java5
-rw-r--r--core/src/main/java/de/danoeh/antennapod/core/service/playback/LocalPSMP.java21
-rw-r--r--core/src/main/java/de/danoeh/antennapod/core/service/playback/PlaybackService.java13
-rw-r--r--core/src/main/java/de/danoeh/antennapod/core/service/playback/PlaybackServiceMediaPlayer.java7
-rw-r--r--core/src/main/java/de/danoeh/antennapod/core/util/playback/IPlayer.java3
-rw-r--r--core/src/main/java/de/danoeh/antennapod/core/util/playback/PlaybackController.java15
-rw-r--r--core/src/main/java/de/danoeh/antennapod/core/util/playback/VideoPlayer.java5
-rw-r--r--core/src/main/res/values/strings.xml3
-rw-r--r--core/src/play/java/de/danoeh/antennapod/core/service/playback/RemotePSMP.java7
9 files changed, 4 insertions, 75 deletions
diff --git a/core/src/main/java/de/danoeh/antennapod/core/service/playback/ExoPlayerWrapper.java b/core/src/main/java/de/danoeh/antennapod/core/service/playback/ExoPlayerWrapper.java
index 0d289bee6..0a9bf5f43 100644
--- a/core/src/main/java/de/danoeh/antennapod/core/service/playback/ExoPlayerWrapper.java
+++ b/core/src/main/java/de/danoeh/antennapod/core/service/playback/ExoPlayerWrapper.java
@@ -114,11 +114,6 @@ public class ExoPlayerWrapper implements IPlayer {
}
@Override
- public boolean canSetSpeed() {
- return true;
- }
-
- @Override
public boolean canDownmix() {
return false;
}
diff --git a/core/src/main/java/de/danoeh/antennapod/core/service/playback/LocalPSMP.java b/core/src/main/java/de/danoeh/antennapod/core/service/playback/LocalPSMP.java
index 1a9f472bb..dc29f53d4 100644
--- a/core/src/main/java/de/danoeh/antennapod/core/service/playback/LocalPSMP.java
+++ b/core/src/main/java/de/danoeh/antennapod/core/service/playback/LocalPSMP.java
@@ -608,23 +608,13 @@ public class LocalPSMP extends PlaybackServiceMediaPlayer {
}
/**
- * Returns true if the playback speed can be adjusted.
- */
- @Override
- public boolean canSetSpeed() {
- return mediaPlayer != null && mediaPlayer.canSetSpeed();
- }
-
- /**
* Sets the playback speed.
* This method is executed on the caller's thread.
*/
private void setSpeedSyncAndSkipSilence(float speed, boolean skipSilence) {
playerLock.lock();
- if (mediaPlayer.canSetSpeed()) {
- Log.d(TAG, "Playback speed was set to " + speed);
- callback.playbackSpeedChanged(speed);
- }
+ Log.d(TAG, "Playback speed was set to " + speed);
+ callback.playbackSpeedChanged(speed);
mediaPlayer.setPlaybackParams(speed, skipSilence);
playerLock.unlock();
}
@@ -651,7 +641,7 @@ public class LocalPSMP extends PlaybackServiceMediaPlayer {
if ((playerStatus == PlayerStatus.PLAYING
|| playerStatus == PlayerStatus.PAUSED
|| playerStatus == PlayerStatus.INITIALIZED
- || playerStatus == PlayerStatus.PREPARED) && mediaPlayer.canSetSpeed()) {
+ || playerStatus == PlayerStatus.PREPARED)) {
retVal = mediaPlayer.getCurrentSpeedMultiplier();
}
playerLock.unlock();
@@ -1048,7 +1038,6 @@ public class LocalPSMP extends PlaybackServiceMediaPlayer {
ap.setOnErrorListener(audioErrorListener);
ap.setOnBufferingUpdateListener(audioBufferingUpdateListener);
ap.setOnInfoListener(audioInfoListener);
- ap.setOnSpeedAdjustmentAvailableChangedListener(audioSetSpeedAbilityListener);
} else if (mp instanceof ExoPlayerWrapper) {
ExoPlayerWrapper ap = (ExoPlayerWrapper) mp;
ap.setOnCompletionListener(audioCompletionListener);
@@ -1092,10 +1081,6 @@ public class LocalPSMP extends PlaybackServiceMediaPlayer {
return callback.onMediaPlayerInfo(what, 0);
}
- private final MediaPlayer.OnSpeedAdjustmentAvailableChangedListener audioSetSpeedAbilityListener =
- (arg0, speedAdjustmentAvailable) -> callback.setSpeedAbilityChanged();
-
-
private final MediaPlayer.OnErrorListener audioErrorListener =
(mp, what, extra) -> {
if(mp != null && mp.canFallback()) {
diff --git a/core/src/main/java/de/danoeh/antennapod/core/service/playback/PlaybackService.java b/core/src/main/java/de/danoeh/antennapod/core/service/playback/PlaybackService.java
index e3f0fb88d..89a947fdc 100644
--- a/core/src/main/java/de/danoeh/antennapod/core/service/playback/PlaybackService.java
+++ b/core/src/main/java/de/danoeh/antennapod/core/service/playback/PlaybackService.java
@@ -189,11 +189,6 @@ public class PlaybackService extends MediaBrowserServiceCompat {
public static final int NOTIFICATION_TYPE_PLAYBACK_SPEED_CHANGE = 8;
/**
- * Ability to set the playback speed has changed
- */
- public static final int NOTIFICATION_TYPE_SET_SPEED_ABILITY_CHANGED = 9;
-
- /**
* Returned by getPositionSafe() or getDurationSafe() if the playbackService
* is in an invalid state.
*/
@@ -894,10 +889,6 @@ public class PlaybackService extends MediaBrowserServiceCompat {
sendNotificationBroadcast(NOTIFICATION_TYPE_PLAYBACK_SPEED_CHANGE, 0);
}
- public void setSpeedAbilityChanged() {
- sendNotificationBroadcast(NOTIFICATION_TYPE_SET_SPEED_ABILITY_CHANGED, 0);
- }
-
@Override
public void onBufferingUpdate(int percent) {
sendNotificationBroadcast(NOTIFICATION_TYPE_BUFFER_UPDATE, percent);
@@ -1706,10 +1697,6 @@ public class PlaybackService extends MediaBrowserServiceCompat {
return mediaPlayer.getPlayable();
}
- public boolean canSetSpeed() {
- return mediaPlayer.canSetSpeed();
- }
-
public void setSpeed(float speed) {
mediaPlayer.setPlaybackParams(speed, UserPreferences.isSkipSilence());
}
diff --git a/core/src/main/java/de/danoeh/antennapod/core/service/playback/PlaybackServiceMediaPlayer.java b/core/src/main/java/de/danoeh/antennapod/core/service/playback/PlaybackServiceMediaPlayer.java
index c393820b1..8d9135a3a 100644
--- a/core/src/main/java/de/danoeh/antennapod/core/service/playback/PlaybackServiceMediaPlayer.java
+++ b/core/src/main/java/de/danoeh/antennapod/core/service/playback/PlaybackServiceMediaPlayer.java
@@ -144,11 +144,6 @@ public abstract class PlaybackServiceMediaPlayer {
public abstract void setStartWhenPrepared(boolean startWhenPrepared);
/**
- * Returns true if the playback speed can be adjusted.
- */
- public abstract boolean canSetSpeed();
-
- /**
* Sets the playback parameters.
* - Speed
* - SkipSilence (ExoPlayer only)
@@ -349,8 +344,6 @@ public abstract class PlaybackServiceMediaPlayer {
void playbackSpeedChanged(float s);
- void setSpeedAbilityChanged();
-
void onBufferingUpdate(int percent);
void onMediaChanged(boolean reloadUI);
diff --git a/core/src/main/java/de/danoeh/antennapod/core/util/playback/IPlayer.java b/core/src/main/java/de/danoeh/antennapod/core/util/playback/IPlayer.java
index a511916fa..c726c5b5e 100644
--- a/core/src/main/java/de/danoeh/antennapod/core/util/playback/IPlayer.java
+++ b/core/src/main/java/de/danoeh/antennapod/core/util/playback/IPlayer.java
@@ -7,9 +7,6 @@ import java.io.IOException;
import java.util.List;
public interface IPlayer {
-
- boolean canSetSpeed();
-
boolean canDownmix();
int getCurrentPosition();
diff --git a/core/src/main/java/de/danoeh/antennapod/core/util/playback/PlaybackController.java b/core/src/main/java/de/danoeh/antennapod/core/util/playback/PlaybackController.java
index e24625ae0..717af4186 100644
--- a/core/src/main/java/de/danoeh/antennapod/core/util/playback/PlaybackController.java
+++ b/core/src/main/java/de/danoeh/antennapod/core/util/playback/PlaybackController.java
@@ -8,7 +8,6 @@ import android.content.Intent;
import android.content.IntentFilter;
import android.content.ServiceConnection;
import android.media.MediaPlayer;
-import android.os.Build;
import android.os.IBinder;
import android.util.Log;
import android.util.Pair;
@@ -241,9 +240,6 @@ public abstract class PlaybackController {
case PlaybackService.NOTIFICATION_TYPE_PLAYBACK_SPEED_CHANGE:
onPlaybackSpeedChange();
break;
- case PlaybackService.NOTIFICATION_TYPE_SET_SPEED_ABILITY_CHANGED:
- onSetSpeedAbilityChanged();
- break;
}
}
@@ -254,8 +250,6 @@ public abstract class PlaybackController {
public void onPlaybackSpeedChange() {}
- public void onSetSpeedAbilityChanged() {}
-
/**
* Called when the currently displayed information should be refreshed.
*/
@@ -479,13 +473,6 @@ public abstract class PlaybackController {
return status;
}
- public boolean canSetPlaybackSpeed() {
- return UserPreferences.useSonic()
- || UserPreferences.useExoplayer()
- || Build.VERSION.SDK_INT >= 23
- || (playbackService != null && playbackService.canSetSpeed());
- }
-
public void setPlaybackSpeed(float speed) {
PlaybackPreferences.setCurrentlyPlayingTemporaryPlaybackSpeed(speed);
if (getMedia() != null && getMedia().getMediaType() == MediaType.VIDEO) {
@@ -514,7 +501,7 @@ public abstract class PlaybackController {
}
public float getCurrentPlaybackSpeedMultiplier() {
- if (playbackService != null && canSetPlaybackSpeed()) {
+ if (playbackService != null) {
return playbackService.getCurrentPlaybackSpeed();
} else {
return PlaybackSpeedUtils.getCurrentPlaybackSpeed(getMedia());
diff --git a/core/src/main/java/de/danoeh/antennapod/core/util/playback/VideoPlayer.java b/core/src/main/java/de/danoeh/antennapod/core/util/playback/VideoPlayer.java
index 6728c027d..ecf47f8ae 100644
--- a/core/src/main/java/de/danoeh/antennapod/core/util/playback/VideoPlayer.java
+++ b/core/src/main/java/de/danoeh/antennapod/core/util/playback/VideoPlayer.java
@@ -11,11 +11,6 @@ public class VideoPlayer extends MediaPlayer implements IPlayer {
private static final String TAG = "VideoPlayer";
@Override
- public boolean canSetSpeed() {
- return false;
- }
-
- @Override
public boolean canDownmix() {
return false;
}
diff --git a/core/src/main/res/values/strings.xml b/core/src/main/res/values/strings.xml
index 7da4cf39c..faafe5abe 100644
--- a/core/src/main/res/values/strings.xml
+++ b/core/src/main/res/values/strings.xml
@@ -320,9 +320,6 @@
<string name="time_left_label">Time left:\u0020</string>
<!-- Variable Speed -->
- <string name="no_playback_plugin_title">Plugin Not Installed</string>
- <string name="no_playback_plugin_or_sonic_msg">For variable speed playback to work, we recommend to enable the built-in Sonic mediaplayer.</string>
- <string name="enable_sonic">Enable Sonic</string>
<string name="speed_presets">Presets</string>
<string name="preset_already_exists">%1$.2fx is already saved as a preset.</string>
diff --git a/core/src/play/java/de/danoeh/antennapod/core/service/playback/RemotePSMP.java b/core/src/play/java/de/danoeh/antennapod/core/service/playback/RemotePSMP.java
index b114663f0..9fd99f236 100644
--- a/core/src/play/java/de/danoeh/antennapod/core/service/playback/RemotePSMP.java
+++ b/core/src/play/java/de/danoeh/antennapod/core/service/playback/RemotePSMP.java
@@ -511,13 +511,6 @@ public class RemotePSMP extends PlaybackServiceMediaPlayer {
this.startWhenPrepared.set(startWhenPrepared);
}
- // As things are right now, changing the return value of this function is not enough to ensure
- // all other components recognize it.
- @Override
- public boolean canSetSpeed() {
- return false;
- }
-
@Override
public void setPlaybackParams(float speed, boolean skipSilence) {
//Can be safely ignored as neither set speed not skipSilence is supported