summaryrefslogtreecommitdiff
path: root/src/de/danoeh/antennapod/service
diff options
context:
space:
mode:
Diffstat (limited to 'src/de/danoeh/antennapod/service')
-rw-r--r--src/de/danoeh/antennapod/service/playback/PlaybackService.java2
-rw-r--r--src/de/danoeh/antennapod/service/playback/PlaybackServiceMediaPlayer.java29
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() {