From ea0483e4aa6d2e1b927f1a8dc88e5e37cc614479 Mon Sep 17 00:00:00 2001 From: Two-Ai <81279822+Two-Ai@users.noreply.github.com> Date: Tue, 21 Feb 2023 18:21:00 -0500 Subject: [PATCH] Fix download queue page count display bug (#9126) When restarting a download, the page count would display as 0 until the first page download completion, after all the existing pages were rechecked. To fix, calculate downloadedImages from pages instead of relying on the downloader to reset and increment the count. (cherry picked from commit 779df32e98f2a020ca6a4f79c0748dd9f5b16873) (cherry picked from commit acef44f55cd276ede9e5435ab9ed96062c526a79) --- .../java/eu/kanade/tachiyomi/data/download/Downloader.kt | 2 -- .../java/eu/kanade/tachiyomi/data/download/model/Download.kt | 5 ++--- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/download/Downloader.kt b/app/src/main/java/eu/kanade/tachiyomi/data/download/Downloader.kt index 514b46492..54989e646 100755 --- a/app/src/main/java/eu/kanade/tachiyomi/data/download/Downloader.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/download/Downloader.kt @@ -351,7 +351,6 @@ class Downloader( ?.filter { it.name!!.endsWith(".tmp") } ?.forEach { it.delete() } - download.downloadedImages = 0 download.status = Download.State.DOWNLOADING } // Get all the URLs to the source images, fetch pages if necessary @@ -415,7 +414,6 @@ class Downloader( } page.uri = file.uri page.progress = 100 - download.downloadedImages++ page.status = Page.State.READY } .map { page } diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/download/model/Download.kt b/app/src/main/java/eu/kanade/tachiyomi/data/download/model/Download.kt index 38ddacddb..86eef25c4 100755 --- a/app/src/main/java/eu/kanade/tachiyomi/data/download/model/Download.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/download/model/Download.kt @@ -21,9 +21,8 @@ data class Download( val totalProgress: Int get() = pages?.sumOf(Page::progress) ?: 0 - @Volatile - @Transient - var downloadedImages: Int = 0 + val downloadedImages: Int + get() = pages?.count { it.status == Page.State.READY } ?: 0 @Volatile @Transient