summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app/src/androidTest/java/de/test/antennapod/service/playback/CancelablePSMPCallback.java8
-rw-r--r--app/src/androidTest/java/de/test/antennapod/service/playback/DefaultPSMPCallback.java5
-rw-r--r--app/src/main/java/de/danoeh/antennapod/activity/MediaplayerActivity.java19
-rw-r--r--app/src/main/java/de/danoeh/antennapod/dialog/VariableSpeedDialog.java11
-rw-r--r--app/src/main/java/de/danoeh/antennapod/fragment/AudioPlayerFragment.java28
-rw-r--r--app/src/main/java/de/danoeh/antennapod/fragment/ChaptersFragment.java2
-rw-r--r--app/src/main/java/de/danoeh/antennapod/fragment/ExternalPlayerFragment.java13
-rw-r--r--app/src/main/java/de/danoeh/antennapod/view/PlaybackSpeedSeekBar.java6
-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
18 files changed, 32 insertions, 174 deletions
diff --git a/app/src/androidTest/java/de/test/antennapod/service/playback/CancelablePSMPCallback.java b/app/src/androidTest/java/de/test/antennapod/service/playback/CancelablePSMPCallback.java
index 82670b41b..ae38fd5e7 100644
--- a/app/src/androidTest/java/de/test/antennapod/service/playback/CancelablePSMPCallback.java
+++ b/app/src/androidTest/java/de/test/antennapod/service/playback/CancelablePSMPCallback.java
@@ -43,14 +43,6 @@ public class CancelablePSMPCallback implements PlaybackServiceMediaPlayer.PSMPCa
}
@Override
- public void setSpeedAbilityChanged() {
- if (isCancelled) {
- return;
- }
- originalCallback.setSpeedAbilityChanged();
- }
-
- @Override
public void onBufferingUpdate(int percent) {
if (isCancelled) {
return;
diff --git a/app/src/androidTest/java/de/test/antennapod/service/playback/DefaultPSMPCallback.java b/app/src/androidTest/java/de/test/antennapod/service/playback/DefaultPSMPCallback.java
index 4fbf49096..29a854f20 100644
--- a/app/src/androidTest/java/de/test/antennapod/service/playback/DefaultPSMPCallback.java
+++ b/app/src/androidTest/java/de/test/antennapod/service/playback/DefaultPSMPCallback.java
@@ -23,11 +23,6 @@ public class DefaultPSMPCallback implements PlaybackServiceMediaPlayer.PSMPCallb
}
@Override
- public void setSpeedAbilityChanged() {
-
- }
-
- @Override
public void onBufferingUpdate(int percent) {
}
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 a5bdb5554..4b5822ac7 100644
--- a/app/src/main/java/de/danoeh/antennapod/activity/MediaplayerActivity.java
+++ b/app/src/main/java/de/danoeh/antennapod/activity/MediaplayerActivity.java
@@ -17,6 +17,7 @@ import android.widget.TextView;
import com.bumptech.glide.Glide;
+import de.danoeh.antennapod.core.event.ServiceEvent;
import de.danoeh.antennapod.view.PlayButton;
import org.apache.commons.lang3.StringUtils;
import org.greenrobot.eventbus.EventBus;
@@ -139,11 +140,6 @@ public abstract class MediaplayerActivity extends CastEnabledActivity implements
}
@Override
- public void onShutdownNotification() {
- finish();
- }
-
- @Override
public void onPlaybackEnd() {
finish();
}
@@ -158,11 +154,6 @@ public abstract class MediaplayerActivity extends CastEnabledActivity implements
super.setScreenOn(enable);
MediaplayerActivity.this.setScreenOn(enable);
}
-
- @Override
- public void onSetSpeedAbilityChanged() {
- MediaplayerActivity.this.onSetSpeedAbilityChanged();
- }
};
}
@@ -171,9 +162,11 @@ public abstract class MediaplayerActivity extends CastEnabledActivity implements
onPositionObserverUpdate();
}
- private void onSetSpeedAbilityChanged() {
- Log.d(TAG, "onSetSpeedAbilityChanged()");
- updatePlaybackSpeedButton();
+ @Subscribe(threadMode = ThreadMode.MAIN)
+ public void onPlaybackServiceChanged(ServiceEvent event) {
+ if (event.action == ServiceEvent.Action.SERVICE_SHUT_DOWN) {
+ finish();
+ }
}
private void onPlaybackSpeedChange() {
diff --git a/app/src/main/java/de/danoeh/antennapod/dialog/VariableSpeedDialog.java b/app/src/main/java/de/danoeh/antennapod/dialog/VariableSpeedDialog.java
index cd6f006ac..c6927c69f 100644
--- a/app/src/main/java/de/danoeh/antennapod/dialog/VariableSpeedDialog.java
+++ b/app/src/main/java/de/danoeh/antennapod/dialog/VariableSpeedDialog.java
@@ -1,7 +1,6 @@
package de.danoeh.antennapod.dialog;
import android.app.Dialog;
-import android.content.Context;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
@@ -41,16 +40,6 @@ public class VariableSpeedDialog extends DialogFragment {
selectedSpeeds = new ArrayList<>(UserPreferences.getPlaybackSpeedArray());
}
- public static void showGetPluginDialog(final Context context) {
- AlertDialog.Builder builder = new AlertDialog.Builder(context);
- builder.setTitle(R.string.no_playback_plugin_title);
- builder.setMessage(R.string.no_playback_plugin_or_sonic_msg);
- builder.setPositiveButton(R.string.enable_sonic, (dialog, which) ->
- UserPreferences.enableSonic());
- builder.setNeutralButton(R.string.close_label, null);
- builder.show();
- }
-
@Override
public void onStart() {
super.onStart();
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/AudioPlayerFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/AudioPlayerFragment.java
index d54ea566b..64cbaa023 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/AudioPlayerFragment.java
+++ b/app/src/main/java/de/danoeh/antennapod/fragment/AudioPlayerFragment.java
@@ -38,6 +38,7 @@ import de.danoeh.antennapod.activity.CastEnabledActivity;
import de.danoeh.antennapod.activity.MainActivity;
import de.danoeh.antennapod.core.event.FavoritesEvent;
import de.danoeh.antennapod.core.event.PlaybackPositionEvent;
+import de.danoeh.antennapod.core.event.ServiceEvent;
import de.danoeh.antennapod.model.feed.Chapter;
import de.danoeh.antennapod.core.event.UnreadItemsUpdateEvent;
import de.danoeh.antennapod.model.feed.FeedItem;
@@ -223,6 +224,13 @@ public class AudioPlayerFragment extends Fragment implements
controller.getDuration()));
}
+ @Subscribe(threadMode = ThreadMode.MAIN)
+ public void onPlaybackServiceChanged(ServiceEvent event) {
+ if (event.action == ServiceEvent.Action.SERVICE_SHUT_DOWN) {
+ ((MainActivity) getActivity()).getBottomSheet().setState(BottomSheetBehavior.STATE_COLLAPSED);
+ }
+ }
+
private void setupLengthTextView() {
showTimeLeft = UserPreferences.shouldShowRemainingTime();
txtvLength.setOnClickListener(v -> {
@@ -241,10 +249,6 @@ public class AudioPlayerFragment extends Fragment implements
if (controller == null) {
return;
}
- if (!controller.canSetPlaybackSpeed()) {
- VariableSpeedDialog.showGetPluginDialog(getContext());
- return;
- }
List<Float> availableSpeeds = UserPreferences.getPlaybackSpeedArray();
float currentSpeed = controller.getCurrentPlaybackSpeedMultiplier();
@@ -278,14 +282,10 @@ public class AudioPlayerFragment extends Fragment implements
if (butPlaybackSpeed == null || controller == null) {
return;
}
- float speed = 1.0f;
- if (controller.canSetPlaybackSpeed()) {
- speed = PlaybackSpeedUtils.getCurrentPlaybackSpeed(media);
- }
+ float speed = PlaybackSpeedUtils.getCurrentPlaybackSpeed(media);
String speedStr = new DecimalFormat("0.00").format(speed);
txtvPlaybackSpeed.setText(speedStr);
butPlaybackSpeed.setSpeed(speed);
- butPlaybackSpeed.setAlpha(controller.canSetPlaybackSpeed() ? 1.0f : 0.5f);
butPlaybackSpeed.setVisibility(View.VISIBLE);
txtvPlaybackSpeed.setVisibility(View.VISIBLE);
}
@@ -364,11 +364,6 @@ public class AudioPlayerFragment extends Fragment implements
}
@Override
- public void onShutdownNotification() {
- ((MainActivity) getActivity()).getBottomSheet().setState(BottomSheetBehavior.STATE_COLLAPSED);
- }
-
- @Override
public void onPlaybackEnd() {
((MainActivity) getActivity()).getBottomSheet().setState(BottomSheetBehavior.STATE_COLLAPSED);
}
@@ -377,11 +372,6 @@ public class AudioPlayerFragment extends Fragment implements
public void onPlaybackSpeedChange() {
updatePlaybackSpeedButton(getMedia());
}
-
- @Override
- public void onSetSpeedAbilityChanged() {
- updatePlaybackSpeedButton(getMedia());
- }
};
}
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/ChaptersFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/ChaptersFragment.java
index 6a8d648ad..de14f220e 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/ChaptersFragment.java
+++ b/app/src/main/java/de/danoeh/antennapod/fragment/ChaptersFragment.java
@@ -70,7 +70,7 @@ public class ChaptersFragment extends AppCompatDialogFragment {
controller.playPause();
}
Chapter chapter = adapter.getItem(pos);
- controller.seekToChapter(chapter);
+ controller.seekTo((int) chapter.getStart());
updateChapterSelection(pos);
});
recyclerView.setAdapter(adapter);
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/ExternalPlayerFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/ExternalPlayerFragment.java
index fe7787bc9..370c4c301 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/ExternalPlayerFragment.java
+++ b/app/src/main/java/de/danoeh/antennapod/fragment/ExternalPlayerFragment.java
@@ -16,6 +16,7 @@ import com.google.android.material.bottomsheet.BottomSheetBehavior;
import de.danoeh.antennapod.R;
import de.danoeh.antennapod.activity.MainActivity;
import de.danoeh.antennapod.core.event.PlaybackPositionEvent;
+import de.danoeh.antennapod.core.event.ServiceEvent;
import de.danoeh.antennapod.model.playback.MediaType;
import de.danoeh.antennapod.core.feed.util.ImageResourceUtils;
import de.danoeh.antennapod.core.glide.ApGlideSettings;
@@ -113,11 +114,6 @@ public class ExternalPlayerFragment extends Fragment {
}
@Override
- public void onShutdownNotification() {
- ((MainActivity) getActivity()).setPlayerVisible(false);
- }
-
- @Override
public void onPlaybackEnd() {
((MainActivity) getActivity()).setPlayerVisible(false);
}
@@ -148,6 +144,13 @@ public class ExternalPlayerFragment extends Fragment {
onPositionObserverUpdate();
}
+ @Subscribe(threadMode = ThreadMode.MAIN)
+ public void onPlaybackServiceChanged(ServiceEvent event) {
+ if (event.action == ServiceEvent.Action.SERVICE_SHUT_DOWN) {
+ ((MainActivity) getActivity()).setPlayerVisible(false);
+ }
+ }
+
@Override
public void onDestroy() {
super.onDestroy();
diff --git a/app/src/main/java/de/danoeh/antennapod/view/PlaybackSpeedSeekBar.java b/app/src/main/java/de/danoeh/antennapod/view/PlaybackSpeedSeekBar.java
index 47797e4a4..c75164a74 100644
--- a/app/src/main/java/de/danoeh/antennapod/view/PlaybackSpeedSeekBar.java
+++ b/app/src/main/java/de/danoeh/antennapod/view/PlaybackSpeedSeekBar.java
@@ -10,7 +10,6 @@ import androidx.annotation.Nullable;
import androidx.core.util.Consumer;
import de.danoeh.antennapod.R;
import de.danoeh.antennapod.core.util.playback.PlaybackController;
-import de.danoeh.antennapod.dialog.VariableSpeedDialog;
public class PlaybackSpeedSeekBar extends FrameLayout {
private SeekBar seekBar;
@@ -41,7 +40,7 @@ public class PlaybackSpeedSeekBar extends FrameLayout {
seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
- if (controller != null && controller.canSetPlaybackSpeed()) {
+ if (controller != null) {
float playbackSpeed = (progress + 10) / 20.0f;
controller.setPlaybackSpeed(playbackSpeed);
@@ -55,9 +54,6 @@ public class PlaybackSpeedSeekBar extends FrameLayout {
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
- if (controller != null && !controller.canSetPlaybackSpeed()) {
- VariableSpeedDialog.showGetPluginDialog(getContext());
- }
}
@Override
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