Эх сурвалжийг харах

Minor download icon optimizations

arkon 4 жил өмнө
parent
commit
7a373fb43a

+ 13 - 6
app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaPresenter.kt

@@ -316,19 +316,26 @@ class MangaPresenter(
     private fun observeDownloads() {
         observeDownloadsStatusSubscription?.let { remove(it) }
         observeDownloadsStatusSubscription = downloadManager.queue.getStatusObservable()
-            .observeOn(AndroidSchedulers.mainThread())
+            .observeOn(Schedulers.io())
             .onBackpressureLatest()
             .filter { download -> download.manga.id == manga.id }
-            .doOnNext { onDownloadStatusChange(it) }
-            .subscribeLatestCache(MangaController::onChapterDownloadUpdate) { _, error ->
-                Timber.e(error)
-            }
+            .observeOn(AndroidSchedulers.mainThread())
+            .subscribeLatestCache(
+                { view, it ->
+                    onDownloadStatusChange(it)
+                    view.onChapterDownloadUpdate(it)
+                },
+                { _, error ->
+                    Timber.e(error)
+                }
+            )
 
         observeDownloadsPageSubscription?.let { remove(it) }
         observeDownloadsPageSubscription = downloadManager.queue.getProgressObservable()
-            .observeOn(AndroidSchedulers.mainThread())
+            .observeOn(Schedulers.io())
             .onBackpressureLatest()
             .filter { download -> download.manga.id == manga.id }
+            .observeOn(AndroidSchedulers.mainThread())
             .subscribeLatestCache(MangaController::onChapterDownloadUpdate) { _, error ->
                 Timber.e(error)
             }

+ 13 - 4
app/src/main/java/eu/kanade/tachiyomi/ui/recent/updates/UpdatesPresenter.kt

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