diff options
author | ByteHamster <info@bytehamster.com> | 2020-05-27 11:47:42 +0200 |
---|---|---|
committer | ByteHamster <info@bytehamster.com> | 2020-05-29 09:32:15 +0200 |
commit | 1fc7352702e4df1a67c1362d23f34b139e254936 (patch) | |
tree | 981bcc2bab1d3a950f7732c1b6c8f6f30bbc6b9a /core/src/main/java/de/danoeh/antennapod | |
parent | 77b69340a93466ec5b4fe9fd1f5aea78cb3d1f40 (diff) | |
download | AntennaPod-1fc7352702e4df1a67c1362d23f34b139e254936.zip |
Load queue in background
Diffstat (limited to 'core/src/main/java/de/danoeh/antennapod')
-rw-r--r-- | core/src/main/java/de/danoeh/antennapod/core/service/playback/PlaybackService.java | 11 |
1 files changed, 5 insertions, 6 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 bd17ff383..3257e2eea 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 @@ -79,6 +79,7 @@ import de.danoeh.antennapod.core.util.playback.ExternalMedia; import de.danoeh.antennapod.core.util.playback.Playable; import de.danoeh.antennapod.core.util.playback.PlaybackServiceStarter; import io.reactivex.Observable; +import io.reactivex.Single; import io.reactivex.android.schedulers.AndroidSchedulers; import io.reactivex.disposables.Disposable; import org.greenrobot.eventbus.EventBus; @@ -304,18 +305,16 @@ public class PlaybackService extends MediaBrowserServiceCompat { npe.printStackTrace(); } - List<MediaSessionCompat.QueueItem> queueItems = new ArrayList<>(); - try { + Single.<List<MediaSessionCompat.QueueItem>>create(emitter -> { + List<MediaSessionCompat.QueueItem> queueItems = new ArrayList<>(); for (FeedItem feedItem : taskManager.getQueue()) { if (feedItem.getMedia() != null) { MediaDescriptionCompat mediaDescription = feedItem.getMedia().getMediaItem().getDescription(); queueItems.add(new MediaSessionCompat.QueueItem(mediaDescription, feedItem.getId())); } } - mediaSession.setQueue(queueItems); - } catch (InterruptedException e) { - e.printStackTrace(); - } + emitter.onSuccess(queueItems); + }).subscribe(queueItems -> mediaSession.setQueue(queueItems), Throwable::printStackTrace); flavorHelper.initializeMediaPlayer(PlaybackService.this); mediaSession.setActive(true); |