summaryrefslogtreecommitdiff
path: root/core/src/main
diff options
context:
space:
mode:
authorByteHamster <info@bytehamster.com>2020-05-27 11:47:42 +0200
committerByteHamster <info@bytehamster.com>2020-05-29 09:32:15 +0200
commit1fc7352702e4df1a67c1362d23f34b139e254936 (patch)
tree981bcc2bab1d3a950f7732c1b6c8f6f30bbc6b9a /core/src/main
parent77b69340a93466ec5b4fe9fd1f5aea78cb3d1f40 (diff)
downloadAntennaPod-1fc7352702e4df1a67c1362d23f34b139e254936.zip
Load queue in background
Diffstat (limited to 'core/src/main')
-rw-r--r--core/src/main/java/de/danoeh/antennapod/core/service/playback/PlaybackService.java11
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);