From a3389490bbc17fdf7001b0f6625621448e13c47c Mon Sep 17 00:00:00 2001 From: orionlee Date: Wed, 27 Feb 2019 14:59:31 -0800 Subject: [PATCH] ensure the service continues to run in the event it takes a long time for the service to load the media to play, e.g., streaming over a slow network. --- .../antennapod/core/service/playback/PlaybackService.java | 8 ++++++++ 1 file changed, 8 insertions(+) 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 a0b368f86..baa7a032f 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 @@ -1932,6 +1932,14 @@ public class PlaybackService extends MediaBrowserServiceCompat { try { // Manage the started state of this service. switch (state.getState()) { + case PlaybackStateCompat.STATE_CONNECTING: + // move the service to started, aka, making it foreground + // upon STATE_CONNECTING, i.e., in preparing to play a media. + // This is done so that in case the preparation takes a long time, e.g., + // streaming over a slow network, + // the service won't be killed by the system prematurely. + moveServiceToStartedState(state); + break; case PlaybackStateCompat.STATE_PLAYING: moveServiceToStartedState(state); break;