From 1fc7352702e4df1a67c1362d23f34b139e254936 Mon Sep 17 00:00:00 2001 From: ByteHamster Date: Wed, 27 May 2020 11:47:42 +0200 Subject: Load queue in background --- .../antennapod/core/service/playback/PlaybackService.java | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) (limited to 'core/src/main') 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 queueItems = new ArrayList<>(); - try { + Single.>create(emitter -> { + List 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); -- cgit v1.2.3