Minor download icon optimizations

(cherry picked from commit 7a373fb43a2d3f736c032d88b31a4a3bffd8dc5b)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaPresenter.kt
This commit is contained in:
arkon 2021-02-12 12:27:06 -05:00 committed by Jobobby04
parent 16f9ca381e
commit 33d0507f98
2 changed files with 26 additions and 10 deletions

View File

@ -712,19 +712,26 @@ class MangaPresenter(
// SY <-- // SY <--
observeDownloadsStatusSubscription?.let { remove(it) } observeDownloadsStatusSubscription?.let { remove(it) }
observeDownloadsStatusSubscription = downloadManager.queue.getStatusObservable() observeDownloadsStatusSubscription = downloadManager.queue.getStatusObservable()
.observeOn(AndroidSchedulers.mainThread()) .observeOn(Schedulers.io())
.onBackpressureLatest() .onBackpressureLatest()
.filter { download -> /* SY --> */ if (isMergedSource) download.manga.id in mergedIds else /* SY <-- */ download.manga.id == manga.id } .filter { download -> /* SY --> */ if (isMergedSource) download.manga.id in mergedIds else /* SY <-- */ download.manga.id == manga.id }
.doOnNext { onDownloadStatusChange(it) } .observeOn(AndroidSchedulers.mainThread())
.subscribeLatestCache(MangaController::onChapterDownloadUpdate) { _, error -> .subscribeLatestCache(
Timber.e(error) { view, it ->
} onDownloadStatusChange(it)
view.onChapterDownloadUpdate(it)
},
{ _, error ->
Timber.e(error)
}
)
observeDownloadsPageSubscription?.let { remove(it) } observeDownloadsPageSubscription?.let { remove(it) }
observeDownloadsPageSubscription = downloadManager.queue.getProgressObservable() observeDownloadsPageSubscription = downloadManager.queue.getProgressObservable()
.observeOn(AndroidSchedulers.mainThread()) .observeOn(Schedulers.io())
.onBackpressureLatest() .onBackpressureLatest()
.filter { download -> /* SY --> */ if (isMergedSource) download.manga.id in mergedIds else /* SY <-- */ download.manga.id == manga.id } .filter { download -> /* SY --> */ if (isMergedSource) download.manga.id in mergedIds else /* SY <-- */ download.manga.id == manga.id }
.observeOn(AndroidSchedulers.mainThread())
.subscribeLatestCache(MangaController::onChapterDownloadUpdate) { _, error -> .subscribeLatestCache(MangaController::onChapterDownloadUpdate) { _, error ->
Timber.e(error) Timber.e(error)
} }

View File

@ -40,13 +40,22 @@ class UpdatesPresenter(
.subscribeLatestCache(UpdatesController::onNextRecentChapters) .subscribeLatestCache(UpdatesController::onNextRecentChapters)
downloadManager.queue.getStatusObservable() downloadManager.queue.getStatusObservable()
.observeOn(Schedulers.io())
.onBackpressureLatest()
.observeOn(AndroidSchedulers.mainThread()) .observeOn(AndroidSchedulers.mainThread())
.doOnNext { onDownloadStatusChange(it) } .subscribeLatestCache(
.subscribeLatestCache(UpdatesController::onChapterDownloadUpdate) { _, error -> { view, it ->
Timber.e(error) onDownloadStatusChange(it)
} view.onChapterDownloadUpdate(it)
},
{ _, error ->
Timber.e(error)
}
)
downloadManager.queue.getProgressObservable() downloadManager.queue.getProgressObservable()
.observeOn(Schedulers.io())
.onBackpressureLatest()
.observeOn(AndroidSchedulers.mainThread()) .observeOn(AndroidSchedulers.mainThread())
.subscribeLatestCache(UpdatesController::onChapterDownloadUpdate) { _, error -> .subscribeLatestCache(UpdatesController::onChapterDownloadUpdate) { _, error ->
Timber.e(error) Timber.e(error)