summaryrefslogtreecommitdiff
path: root/core/src/main/java/de/danoeh/antennapod
diff options
context:
space:
mode:
authorByteHamster <info@bytehamster.com>2019-04-16 22:50:25 +0200
committerByteHamster <info@bytehamster.com>2019-04-16 22:50:59 +0200
commit1fe33fb35141bb718a8123cfc9e66d13d10e404f (patch)
tree2cc3e489605c3fc1c100812dd7a1fca20cecd364 /core/src/main/java/de/danoeh/antennapod
parent99c5e9dc395f52f78c1c6aafdc678763e12545ca (diff)
downloadAntennaPod-1fe33fb35141bb718a8123cfc9e66d13d10e404f.zip
Fixed NetworkOnMainThreadException
Diffstat (limited to 'core/src/main/java/de/danoeh/antennapod')
-rw-r--r--core/src/main/java/de/danoeh/antennapod/core/service/playback/PlaybackServiceTaskManager.java24
1 files changed, 12 insertions, 12 deletions
diff --git a/core/src/main/java/de/danoeh/antennapod/core/service/playback/PlaybackServiceTaskManager.java b/core/src/main/java/de/danoeh/antennapod/core/service/playback/PlaybackServiceTaskManager.java
index bfc75a902..0c0ee23c6 100644
--- a/core/src/main/java/de/danoeh/antennapod/core/service/playback/PlaybackServiceTaskManager.java
+++ b/core/src/main/java/de/danoeh/antennapod/core/service/playback/PlaybackServiceTaskManager.java
@@ -19,6 +19,9 @@ import de.danoeh.antennapod.core.feed.FeedItem;
import de.danoeh.antennapod.core.storage.DBReader;
import de.danoeh.antennapod.core.util.playback.Playable;
import de.greenrobot.event.EventBus;
+import io.reactivex.Completable;
+import io.reactivex.android.schedulers.AndroidSchedulers;
+import io.reactivex.schedulers.Schedulers;
/**
@@ -262,18 +265,15 @@ public class PlaybackServiceTaskManager {
cancelChapterLoader();
}
- Runnable chapterLoader = () -> {
- Log.d(TAG, "Chapter loader started");
- if (media.getChapters() == null) {
- media.loadChapterMarks();
- if (!Thread.currentThread().isInterrupted() && media.getChapters() != null) {
- callback.onChapterLoaded(media);
- }
- }
- Log.d(TAG, "Chapter loader stopped");
- };
- chapterLoader = useMainThreadIfNecessary(chapterLoader);
- chapterLoaderFuture = schedExecutor.submit(chapterLoader);
+ if (media.getChapters() == null) {
+ Completable.create(emitter -> {
+ media.loadChapterMarks();
+ emitter.onComplete();
+ })
+ .subscribeOn(Schedulers.io())
+ .observeOn(AndroidSchedulers.mainThread())
+ .subscribe(() -> callback.onChapterLoaded(media));
+ }
}