瀏覽代碼

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)
Two-Ai 2 年之前
父節點
當前提交
08e6487a9a

+ 0 - 2
app/src/main/java/eu/kanade/tachiyomi/data/download/Downloader.kt

@@ -339,7 +339,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
@@ -403,7 +402,6 @@ class Downloader(
                 }
                 page.uri = file.uri
                 page.progress = 100
-                download.downloadedImages++
                 page.status = Page.State.READY
             }
             .map { page }

+ 2 - 3
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