diff options
author | ByteHamster <info@bytehamster.com> | 2021-05-14 20:42:15 +0200 |
---|---|---|
committer | ByteHamster <info@bytehamster.com> | 2021-05-14 21:03:35 +0200 |
commit | f56ce1ea529e90637b80f4f20853d63ccbbff5fd (patch) | |
tree | 8e5f5220774ca8067421e5078ccbbe89938604a2 /core/src/main/java/de/danoeh | |
parent | 74dcf09b3b9aec0d1fe9bd5f530bc54bfe2e0f23 (diff) | |
download | AntennaPod-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/main/java/de/danoeh')
7 files changed, 4 insertions, 65 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; } |