From 5b6fce427b756ee0675ee0eccf47190e8458bb81 Mon Sep 17 00:00:00 2001 From: Tom Hennen Date: Mon, 21 Sep 2015 06:48:28 -0400 Subject: [PATCH] if it was skipped we shouldn't remove it, but otherwise we should --- .../PlaybackServiceMediaPlayerTest.java | 30 +++++----- .../core/preferences/UserPreferences.java | 2 +- .../service/playback/PlaybackService.java | 14 ++--- .../playback/PlaybackServiceMediaPlayer.java | 55 +++++++++--------- ic_launcher-web.png | Bin 40025 -> 0 bytes 5 files changed, 47 insertions(+), 54 deletions(-) delete mode 100644 ic_launcher-web.png diff --git a/app/src/androidTest/java/de/test/antennapod/service/playback/PlaybackServiceMediaPlayerTest.java b/app/src/androidTest/java/de/test/antennapod/service/playback/PlaybackServiceMediaPlayerTest.java index 133d4152a..96bcd6452 100644 --- a/app/src/androidTest/java/de/test/antennapod/service/playback/PlaybackServiceMediaPlayerTest.java +++ b/app/src/androidTest/java/de/test/antennapod/service/playback/PlaybackServiceMediaPlayerTest.java @@ -183,7 +183,7 @@ public class PlaybackServiceMediaPlayerTest extends InstrumentationTestCase { } @Override - public boolean endPlayback(boolean playNextEpisode) { + public boolean endPlayback(boolean playNextEpisode, boolean wasSkipped) { return false; } @@ -252,7 +252,7 @@ public class PlaybackServiceMediaPlayerTest extends InstrumentationTestCase { } @Override - public boolean endPlayback(boolean playNextEpisode) { + public boolean endPlayback(boolean playNextEpisode, boolean wasSkipped) { return false; } }; @@ -324,7 +324,7 @@ public class PlaybackServiceMediaPlayerTest extends InstrumentationTestCase { } @Override - public boolean endPlayback(boolean playNextEpisode) { + public boolean endPlayback(boolean playNextEpisode, boolean wasSkipped) { return false; } }; @@ -397,7 +397,7 @@ public class PlaybackServiceMediaPlayerTest extends InstrumentationTestCase { } @Override - public boolean endPlayback(boolean playNextEpisode) { + public boolean endPlayback(boolean playNextEpisode, boolean wasSkipped) { return false; } @@ -464,7 +464,7 @@ public class PlaybackServiceMediaPlayerTest extends InstrumentationTestCase { } @Override - public boolean endPlayback(boolean playNextEpisode) { + public boolean endPlayback(boolean playNextEpisode, boolean wasSkipped) { return false; } @@ -532,7 +532,7 @@ public class PlaybackServiceMediaPlayerTest extends InstrumentationTestCase { } @Override - public boolean endPlayback(boolean playNextEpisode) { + public boolean endPlayback(boolean playNextEpisode, boolean wasSkipped) { return false; } }; @@ -602,7 +602,7 @@ public class PlaybackServiceMediaPlayerTest extends InstrumentationTestCase { } @Override - public boolean endPlayback(boolean playNextEpisode) { + public boolean endPlayback(boolean playNextEpisode, boolean wasSkipped) { return false; } }; @@ -675,7 +675,7 @@ public class PlaybackServiceMediaPlayerTest extends InstrumentationTestCase { } @Override - public boolean endPlayback(boolean playNextEpisode) { + public boolean endPlayback(boolean playNextEpisode, boolean wasSkipped) { return false; } }; @@ -713,9 +713,7 @@ public class PlaybackServiceMediaPlayerTest extends InstrumentationTestCase { } @Override - public boolean onMediaPlayerInfo(int code) { - return false; - } + public boolean onMediaPlayerInfo(int code) { return false; } @Override public boolean onMediaPlayerError(Object inObj, int what, int extra) { @@ -723,7 +721,7 @@ public class PlaybackServiceMediaPlayerTest extends InstrumentationTestCase { } @Override - public boolean endPlayback(boolean playNextEpisode) { + public boolean endPlayback(boolean playNextEpisode, boolean wasSkipped) { return false; } }; @@ -795,7 +793,7 @@ public class PlaybackServiceMediaPlayerTest extends InstrumentationTestCase { } @Override - public boolean endPlayback(boolean playNextEpisode) { + public boolean endPlayback(boolean playNextEpisode, boolean wasSkipped) { return false; } }; @@ -901,7 +899,7 @@ public class PlaybackServiceMediaPlayerTest extends InstrumentationTestCase { } @Override - public boolean endPlayback(boolean playNextEpisode) { + public boolean endPlayback(boolean playNextEpisode, boolean wasSkipped) { return false; } }; @@ -982,7 +980,7 @@ public class PlaybackServiceMediaPlayerTest extends InstrumentationTestCase { } @Override - public boolean endPlayback(boolean playNextEpisode) { + public boolean endPlayback(boolean playNextEpisode, boolean wasSkipped) { return false; } }; @@ -1076,7 +1074,7 @@ public class PlaybackServiceMediaPlayerTest extends InstrumentationTestCase { } @Override - public boolean endPlayback(boolean playNextEpisode) { + public boolean endPlayback(boolean playNextEpisode, boolean wasSkipped) { return false; } }; diff --git a/core/src/main/java/de/danoeh/antennapod/core/preferences/UserPreferences.java b/core/src/main/java/de/danoeh/antennapod/core/preferences/UserPreferences.java index ca9fbb1ba..c4c7a9b0b 100644 --- a/core/src/main/java/de/danoeh/antennapod/core/preferences/UserPreferences.java +++ b/core/src/main/java/de/danoeh/antennapod/core/preferences/UserPreferences.java @@ -217,7 +217,7 @@ public class UserPreferences { return prefs.getBoolean(PREF_FOLLOW_QUEUE, false); } - public static boolean isSkipRemoveFromQueue() { return prefs.getBoolean(PREF_SKIP_REMOVES, false); } + public static boolean shouldSkipRemoveFromQueue() { return prefs.getBoolean(PREF_SKIP_REMOVES, false); } public static boolean isAutoDelete() { return prefs.getBoolean(PREF_AUTO_DELETE, false); 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 30c30a5bc..c3934ff01 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 @@ -14,7 +14,6 @@ import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.media.AudioManager; import android.media.MediaPlayer; -import android.media.RemoteControlClient; import android.os.Binder; import android.os.Build; import android.os.IBinder; @@ -164,7 +163,6 @@ public class PlaybackService extends Service { private static final int NOTIFICATION_ID = 1; - private RemoteControlClient remoteControlClient; private PlaybackServiceMediaPlayer mediaPlayer; private PlaybackServiceTaskManager taskManager; @@ -343,7 +341,7 @@ public class PlaybackService extends Service { break; case KeyEvent.KEYCODE_MEDIA_NEXT: - endPlayback(true); + endPlayback(true, true); break; case KeyEvent.KEYCODE_MEDIA_FAST_FORWARD: mediaPlayer.seekDelta(UserPreferences.getFastFowardSecs() * 1000); @@ -544,13 +542,13 @@ public class PlaybackService extends Service { } @Override - public boolean endPlayback(boolean playNextEpisode) { - PlaybackService.this.endPlayback(true); + public boolean endPlayback(boolean playNextEpisode, boolean wasSkipped) { + PlaybackService.this.endPlayback(playNextEpisode, wasSkipped); return true; } }; - private void endPlayback(boolean playNextEpisode) { + private void endPlayback(boolean playNextEpisode, boolean wasSkipped) { Log.d(TAG, "Playback ended"); final Playable playable = mediaPlayer.getPlayable(); @@ -577,7 +575,7 @@ public class PlaybackService extends Service { e.printStackTrace(); // isInQueue remains false } - if (isInQueue && UserPreferences.isSkipRemoveFromQueue()) { + if (isInQueue && (!wasSkipped || UserPreferences.shouldSkipRemoveFromQueue())) { DBWriter.removeQueueItem(PlaybackService.this, item, true); } DBWriter.addItemToPlaybackHistory(media); @@ -1094,7 +1092,7 @@ public class PlaybackService extends Service { public void onReceive(Context context, Intent intent) { if (StringUtils.equals(intent.getAction(), ACTION_SKIP_CURRENT_EPISODE)) { Log.d(TAG, "Received SKIP_CURRENT_EPISODE intent"); - mediaPlayer.endPlayback(); + mediaPlayer.endPlayback(true); } } }; 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 7cf7eb622..705cb987a 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 @@ -275,7 +275,7 @@ public class PlaybackServiceMediaPlayer implements SharedPreferences.OnSharedPre private void updateMediaSessionMetadata() { executor.execute(() -> { final Playable p = this.media; - if(p == null) { + if (p == null) { return; } MediaMetadataCompat.Builder builder = new MediaMetadataCompat.Builder(); @@ -930,25 +930,22 @@ public class PlaybackServiceMediaPlayer implements SharedPreferences.OnSharedPre }; - public void endPlayback() { - executor.submit(new Runnable() { - @Override - public void run() { - playerLock.lock(); - releaseWifiLockIfNecessary(); + public void endPlayback(final boolean wasSkipped) { + executor.submit(() -> { + playerLock.lock(); + releaseWifiLockIfNecessary(); - if (playerStatus != PlayerStatus.INDETERMINATE) { - setPlayerStatus(PlayerStatus.INDETERMINATE, media); - } - if (mediaPlayer != null) { - mediaPlayer.reset(); - - } - audioManager.abandonAudioFocus(audioFocusChangeListener); - callback.endPlayback(true); - - playerLock.unlock(); + if (playerStatus != PlayerStatus.INDETERMINATE) { + setPlayerStatus(PlayerStatus.INDETERMINATE, media); } + if (mediaPlayer != null) { + mediaPlayer.reset(); + + } + audioManager.abandonAudioFocus(audioFocusChangeListener); + callback.endPlayback(true, wasSkipped); + + playerLock.unlock(); }); } @@ -1006,20 +1003,20 @@ public class PlaybackServiceMediaPlayer implements SharedPreferences.OnSharedPre } } - public static interface PSMPCallback { - public void statusChanged(PSMPInfo newInfo); + public interface PSMPCallback { + void statusChanged(PSMPInfo newInfo); - public void shouldStop(); + void shouldStop(); - public void playbackSpeedChanged(float s); + void playbackSpeedChanged(float s); - public void onBufferingUpdate(int percent); + void onBufferingUpdate(int percent); - public boolean onMediaPlayerInfo(int code); + boolean onMediaPlayerInfo(int code); - public boolean onMediaPlayerError(Object inObj, int what, int extra); + boolean onMediaPlayerError(Object inObj, int what, int extra); - public boolean endPlayback(boolean playNextEpisode); + boolean endPlayback(boolean playNextEpisode, boolean wasSkipped); } private IPlayer setMediaPlayerListeners(IPlayer mp) { @@ -1062,7 +1059,7 @@ public class PlaybackServiceMediaPlayer implements SharedPreferences.OnSharedPre }; private void genericOnCompletion() { - endPlayback(); + endPlayback(false); } private final org.antennapod.audio.MediaPlayer.OnBufferingUpdateListener audioBufferingUpdateListener = new org.antennapod.audio.MediaPlayer.OnBufferingUpdateListener() { @@ -1177,7 +1174,7 @@ public class PlaybackServiceMediaPlayer implements SharedPreferences.OnSharedPre @Override public void onSkipToNext() { super.onSkipToNext(); - endPlayback(); + endPlayback(true); } @Override @@ -1266,7 +1263,7 @@ public class PlaybackServiceMediaPlayer implements SharedPreferences.OnSharedPre case KeyEvent.KEYCODE_MEDIA_NEXT: { Log.d(TAG, "Received next event from RemoteControlClient"); - endPlayback(); + endPlayback(true); return true; } default: diff --git a/ic_launcher-web.png b/ic_launcher-web.png deleted file mode 100644 index 7a7518d737c600eb1763cd6d02b1b07dca327085..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 40025 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