Merge pull request #3121 from ByteHamster/network-main-thread

Fixed NetworkOnMainThreadException
This commit is contained in:
H. Lehmann 2019-04-16 23:03:56 +02:00 committed by GitHub
commit 09e7f60db8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -19,6 +19,9 @@ import de.danoeh.antennapod.core.feed.FeedItem;
import de.danoeh.antennapod.core.storage.DBReader; import de.danoeh.antennapod.core.storage.DBReader;
import de.danoeh.antennapod.core.util.playback.Playable; import de.danoeh.antennapod.core.util.playback.Playable;
import de.greenrobot.event.EventBus; 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(); cancelChapterLoader();
} }
Runnable chapterLoader = () -> { if (media.getChapters() == null) {
Log.d(TAG, "Chapter loader started"); Completable.create(emitter -> {
if (media.getChapters() == null) { media.loadChapterMarks();
media.loadChapterMarks(); emitter.onComplete();
if (!Thread.currentThread().isInterrupted() && media.getChapters() != null) { })
callback.onChapterLoaded(media); .subscribeOn(Schedulers.io())
} .observeOn(AndroidSchedulers.mainThread())
} .subscribe(() -> callback.onChapterLoaded(media));
Log.d(TAG, "Chapter loader stopped"); }
};
chapterLoader = useMainThreadIfNecessary(chapterLoader);
chapterLoaderFuture = schedExecutor.submit(chapterLoader);
} }