From 12d62d55191277252653c5210bd955357692373c Mon Sep 17 00:00:00 2001 From: Domingos Lopes Date: Sat, 30 Apr 2016 02:02:00 -0400 Subject: only allow for endPlayback with wasSkipped==false internally --- .../java/de/danoeh/antennapod/core/service/playback/LocalPSMP.java | 4 ++-- .../de/danoeh/antennapod/core/service/playback/PlaybackService.java | 6 +++--- .../core/service/playback/PlaybackServiceMediaPlayer.java | 6 +++++- .../core/service/playback/PlaybackServiceFlavorHelper.java | 3 ++- .../java/de/danoeh/antennapod/core/service/playback/RemotePSMP.java | 2 +- 5 files changed, 13 insertions(+), 8 deletions(-) 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 6fbc722b6..62e028475 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 @@ -755,7 +755,7 @@ public class LocalPSMP extends PlaybackServiceMediaPlayer { @Override - public void endPlayback(final boolean wasSkipped, boolean switchingPlayers) { + protected void endPlayback(final boolean wasSkipped) { executor.submit(() -> { playerLock.lock(); releaseWifiLockIfNecessary(); @@ -870,7 +870,7 @@ public class LocalPSMP extends PlaybackServiceMediaPlayer { mp -> genericOnCompletion(); private void genericOnCompletion() { - endPlayback(false, false); + endPlayback(false); } private final MediaPlayer.OnBufferingUpdateListener audioBufferingUpdateListener = 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 14fa28eed..f674ae9dd 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 @@ -473,7 +473,7 @@ public class PlaybackService extends MediaBrowserServiceCompat { UserPreferences.shouldHardwareButtonSkip()) { // assume the skip command comes from a notification or the lockscreen // a >| skip button should actually skip - mediaPlayer.endPlayback(true, false); + mediaPlayer.endPlayback(); } else { // assume skip command comes from a (bluetooth) media button // user actually wants to fast-forward @@ -1424,7 +1424,7 @@ public class PlaybackService extends MediaBrowserServiceCompat { public void onReceive(Context context, Intent intent) { if (TextUtils.equals(intent.getAction(), ACTION_SKIP_CURRENT_EPISODE)) { Log.d(TAG, "Received SKIP_CURRENT_EPISODE intent"); - mediaPlayer.endPlayback(true, false); + mediaPlayer.endPlayback(); } } }; @@ -1656,7 +1656,7 @@ public class PlaybackService extends MediaBrowserServiceCompat { public void onSkipToNext() { Log.d(TAG, "onSkipToNext()"); if(UserPreferences.shouldHardwareButtonSkip()) { - mediaPlayer.endPlayback(true, false); + mediaPlayer.endPlayback(); } else { seekDelta(UserPreferences.getFastFowardSecs() * 1000); } 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 51742b27e..c76ea3889 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 @@ -233,7 +233,11 @@ public abstract class PlaybackServiceMediaPlayer { protected abstract void setPlayable(Playable playable); - public abstract void endPlayback(boolean wasSkipped, boolean switchingPlayers); + public void endPlayback() { + endPlayback(true); + } + + protected abstract void endPlayback(boolean wasSkipped); /** * Moves the PSMP into STOPPED state. This call is only valid if the player is currently in diff --git a/core/src/play/java/de/danoeh/antennapod/core/service/playback/PlaybackServiceFlavorHelper.java b/core/src/play/java/de/danoeh/antennapod/core/service/playback/PlaybackServiceFlavorHelper.java index 93431d466..234f27ef8 100644 --- a/core/src/play/java/de/danoeh/antennapod/core/service/playback/PlaybackServiceFlavorHelper.java +++ b/core/src/play/java/de/danoeh/antennapod/core/service/playback/PlaybackServiceFlavorHelper.java @@ -182,7 +182,8 @@ public class PlaybackServiceFlavorHelper { boolean wasLaunched) { PlaybackServiceMediaPlayer mediaPlayer = callback.getMediaPlayer(); if (mediaPlayer != null) { - mediaPlayer.endPlayback(true, true); + //TODO change implementation to new protocol +// mediaPlayer.endPlayback(true, true); mediaPlayer.shutdownQuietly(); } mediaPlayer = newPlayer; 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 4262b8a70..c051cc435 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 @@ -557,7 +557,7 @@ public class RemotePSMP extends PlaybackServiceMediaPlayer { } @Override - public void endPlayback(boolean wasSkipped, boolean switchingPlayers) { + protected void endPlayback(boolean wasSkipped) { Log.d(TAG, "endPlayback() called"); boolean isPlaying = playerStatus == PlayerStatus.PLAYING; try { -- cgit v1.2.3