Sfoglia il codice sorgente

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.
Two-Ai 2 anni fa
parent
commit
779df32e98

+ 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

@@ -28,9 +28,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
 
     @Transient
     private val _statusFlow = MutableStateFlow(State.NOT_DOWNLOADED)