diff options
Diffstat (limited to 'src/de/danoeh/antennapod/service')
-rw-r--r-- | src/de/danoeh/antennapod/service/playback/PlaybackService.java | 2 | ||||
-rw-r--r-- | src/de/danoeh/antennapod/service/playback/PlaybackServiceMediaPlayer.java | 29 |
2 files changed, 22 insertions, 9 deletions
diff --git a/src/de/danoeh/antennapod/service/playback/PlaybackService.java b/src/de/danoeh/antennapod/service/playback/PlaybackService.java index 68034ceb9..21aca915e 100644 --- a/src/de/danoeh/antennapod/service/playback/PlaybackService.java +++ b/src/de/danoeh/antennapod/service/playback/PlaybackService.java @@ -899,7 +899,7 @@ public class PlaybackService extends Service { intent.getAction().equals(ACTION_SKIP_CURRENT_EPISODE)) { if (AppConfig.DEBUG) Log.d(TAG, "Received SKIP_CURRENT_EPISODE intent"); - endPlayback(true); + mediaPlayer.endPlayback(); } } }; diff --git a/src/de/danoeh/antennapod/service/playback/PlaybackServiceMediaPlayer.java b/src/de/danoeh/antennapod/service/playback/PlaybackServiceMediaPlayer.java index da273cc0e..52cde2718 100644 --- a/src/de/danoeh/antennapod/service/playback/PlaybackServiceMediaPlayer.java +++ b/src/de/danoeh/antennapod/service/playback/PlaybackServiceMediaPlayer.java @@ -737,6 +737,26 @@ public class PlaybackServiceMediaPlayer { } }; + public void endPlayback() { + executor.submit(new Runnable() { + @Override + public void run() { + playerLock.lock(); + + if (playerStatus != PlayerStatus.INDETERMINATE) { + setPlayerStatus(PlayerStatus.INDETERMINATE, media); + } + if (mediaPlayer != null) { + mediaPlayer.reset(); + + } + callback.endPlayback(true); + + playerLock.unlock(); + } + }); + } + /** * Holds information about a PSMP object. */ @@ -808,14 +828,7 @@ public class PlaybackServiceMediaPlayer { }; private void genericOnCompletion() { - executor.submit(new Runnable() { - @Override - public void run() { - audioManager.abandonAudioFocus(audioFocusChangeListener); - callback.endPlayback(true); - } - }); - + endPlayback(); } private final com.aocate.media.MediaPlayer.OnBufferingUpdateListener audioBufferingUpdateListener = new com.aocate.media.MediaPlayer.OnBufferingUpdateListener() { |