summaryrefslogtreecommitdiff
path: root/core/src/main
diff options
context:
space:
mode:
authorByteHamster <info@bytehamster.com>2018-05-05 14:32:04 +0200
committerByteHamster <info@bytehamster.com>2018-05-05 14:32:04 +0200
commit7a768e9809dafc7e6f5944e26ebf2f1cb0e786aa (patch)
tree78b084f2b8b434947fa112affa3cd0f102ab8a51 /core/src/main
parent7107819a6aa61c6f171e43fe582133302d5f260b (diff)
downloadAntennaPod-7a768e9809dafc7e6f5944e26ebf2f1cb0e786aa.zip
Fixed widget if service is not running
Diffstat (limited to 'core/src/main')
-rw-r--r--core/src/main/java/de/danoeh/antennapod/core/service/playback/PlaybackService.java13
1 files changed, 13 insertions, 0 deletions
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 9643b9cd3..dc67c0758 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
@@ -515,6 +515,8 @@ public class PlaybackService extends MediaBrowserServiceCompat {
} else if (status == PlayerStatus.INITIALIZED) {
mediaPlayer.setStartWhenPrepared(true);
mediaPlayer.prepare();
+ } else if (mediaPlayer.getPlayable() == null) {
+ startPlayingFromPreferences();
}
return true;
case KeyEvent.KEYCODE_MEDIA_PLAY:
@@ -523,6 +525,8 @@ public class PlaybackService extends MediaBrowserServiceCompat {
} else if (status == PlayerStatus.INITIALIZED) {
mediaPlayer.setStartWhenPrepared(true);
mediaPlayer.prepare();
+ } else if (mediaPlayer.getPlayable() == null) {
+ startPlayingFromPreferences();
}
return true;
case KeyEvent.KEYCODE_MEDIA_PAUSE:
@@ -576,6 +580,15 @@ public class PlaybackService extends MediaBrowserServiceCompat {
return false;
}
+ private void startPlayingFromPreferences() {
+ Playable playable = Playable.PlayableUtils.createInstanceFromPreferences(getApplicationContext());
+ if (playable != null) {
+ mediaPlayer.playMediaObject(playable, false, true, true);
+ started = true;
+ PlaybackService.this.updateMediaSessionMetadata(playable);
+ }
+ }
+
/**
* Called by a mediaplayer Activity as soon as it has prepared its
* mediaplayer.