Просмотр исходного кода

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 лет назад
Родитель
Сommit
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)