summaryrefslogtreecommitdiff
path: root/core/src
diff options
context:
space:
mode:
authorByteHamster <ByteHamster@users.noreply.github.com>2021-05-14 21:22:22 +0200
committerGitHub <noreply@github.com>2021-05-14 21:22:22 +0200
commitfcb75fc38202e6f93e787955a330f333724b3081 (patch)
tree4d357f530b2e26a11c6fa653fec5d8a187216e94 /core/src
parent292c9bf15136f76fea8928ed7abb2b55fb316678 (diff)
parentf56ce1ea529e90637b80f4f20853d63ccbbff5fd (diff)
downloadAntennaPod-fcb75fc38202e6f93e787955a330f333724b3081.zip
Merge pull request #5161 from ByteHamster/reduce-playback-controller
Remove some unnecessary code from playback controller
Diffstat (limited to 'core/src')
-rw-r--r--core/src/main/java/de/danoeh/antennapod/core/event/ServiceEvent.java3
-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.java14
-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.java46
-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
10 files changed, 7 insertions, 107 deletions
diff --git a/core/src/main/java/de/danoeh/antennapod/core/event/ServiceEvent.java b/core/src/main/java/de/danoeh/antennapod/core/event/ServiceEvent.java
index b3241a8b6..2230ee84f 100644
--- a/core/src/main/java/de/danoeh/antennapod/core/event/ServiceEvent.java
+++ b/core/src/main/java/de/danoeh/antennapod/core/event/ServiceEvent.java
@@ -2,7 +2,8 @@ package de.danoeh.antennapod.core.event;
public class ServiceEvent {
public enum Action {
- SERVICE_STARTED
+ SERVICE_STARTED,
+ SERVICE_SHUT_DOWN
}
public final Action action;
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 77c40f32a..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);
@@ -1604,6 +1595,7 @@ public class PlaybackService extends MediaBrowserServiceCompat {
@Override
public void onReceive(Context context, Intent intent) {
if (TextUtils.equals(intent.getAction(), ACTION_SHUTDOWN_PLAYBACK_SERVICE)) {
+ EventBus.getDefault().post(new ServiceEvent(ServiceEvent.Action.SERVICE_SHUT_DOWN));
stateManager.stopService();
}
}
@@ -1705,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 c6166264b..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,9 +8,7 @@ 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.text.TextUtils;
import android.util.Log;
import android.util.Pair;
import android.view.SurfaceHolder;
@@ -18,7 +16,6 @@ import androidx.annotation.NonNull;
import de.danoeh.antennapod.core.R;
import de.danoeh.antennapod.core.event.MessageEvent;
import de.danoeh.antennapod.core.event.ServiceEvent;
-import de.danoeh.antennapod.model.feed.Chapter;
import de.danoeh.antennapod.model.playback.MediaType;
import de.danoeh.antennapod.core.feed.util.PlaybackSpeedUtils;
import de.danoeh.antennapod.core.preferences.PlaybackPreferences;
@@ -91,9 +88,6 @@ public abstract class PlaybackController {
activity.registerReceiver(notificationReceiver, new IntentFilter(
PlaybackService.ACTION_PLAYER_NOTIFICATION));
- activity.registerReceiver(shutdownReceiver, new IntentFilter(
- PlaybackService.ACTION_SHUTDOWN_PLAYBACK_SERVICE));
-
if (!released) {
bindToService();
} else {
@@ -121,12 +115,6 @@ public abstract class PlaybackController {
// ignore
}
unbind();
-
- try {
- activity.unregisterReceiver(shutdownReceiver);
- } catch (IllegalArgumentException e) {
- // ignore
- }
media = null;
released = true;
@@ -252,35 +240,16 @@ public abstract class PlaybackController {
case PlaybackService.NOTIFICATION_TYPE_PLAYBACK_SPEED_CHANGE:
onPlaybackSpeedChange();
break;
- case PlaybackService.NOTIFICATION_TYPE_SET_SPEED_ABILITY_CHANGED:
- onSetSpeedAbilityChanged();
- break;
}
}
};
- private final BroadcastReceiver shutdownReceiver = new BroadcastReceiver() {
- @Override
- public void onReceive(Context context, Intent intent) {
- if (playbackService != null) {
- if (TextUtils.equals(intent.getAction(), PlaybackService.ACTION_SHUTDOWN_PLAYBACK_SERVICE)) {
- unbind();
- onShutdownNotification();
- }
- }
- }
- };
-
public void onPositionObserverUpdate() {}
public void onPlaybackSpeedChange() {}
- public void onSetSpeedAbilityChanged() {}
-
- public void onShutdownNotification() {}
-
/**
* Called when the currently displayed information should be refreshed.
*/
@@ -488,12 +457,6 @@ public abstract class PlaybackController {
}
}
- public void seekToChapter(Chapter chapter) {
- if (playbackService != null) {
- playbackService.seekToChapter(chapter);
- }
- }
-
public void seekTo(int time) {
if (playbackService != null) {
playbackService.seekTo(time);
@@ -510,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) {
@@ -545,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 48f7f7c69..c8ec07292 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