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)
This commit is contained in:
parent
5427b0e02d
commit
acef44f55c
@ -351,7 +351,6 @@ class Downloader(
|
|||||||
?.filter { it.name!!.endsWith(".tmp") }
|
?.filter { it.name!!.endsWith(".tmp") }
|
||||||
?.forEach { it.delete() }
|
?.forEach { it.delete() }
|
||||||
|
|
||||||
download.downloadedImages = 0
|
|
||||||
download.status = Download.State.DOWNLOADING
|
download.status = Download.State.DOWNLOADING
|
||||||
}
|
}
|
||||||
// Get all the URLs to the source images, fetch pages if necessary
|
// Get all the URLs to the source images, fetch pages if necessary
|
||||||
@ -415,7 +414,6 @@ class Downloader(
|
|||||||
}
|
}
|
||||||
page.uri = file.uri
|
page.uri = file.uri
|
||||||
page.progress = 100
|
page.progress = 100
|
||||||
download.downloadedImages++
|
|
||||||
page.status = Page.State.READY
|
page.status = Page.State.READY
|
||||||
}
|
}
|
||||||
.map { page }
|
.map { page }
|
||||||
|
@ -28,9 +28,8 @@ data class Download(
|
|||||||
val totalProgress: Int
|
val totalProgress: Int
|
||||||
get() = pages?.sumOf(Page::progress) ?: 0
|
get() = pages?.sumOf(Page::progress) ?: 0
|
||||||
|
|
||||||
@Volatile
|
val downloadedImages: Int
|
||||||
@Transient
|
get() = pages?.count { it.status == Page.State.READY } ?: 0
|
||||||
var downloadedImages: Int = 0
|
|
||||||
|
|
||||||
@Transient
|
@Transient
|
||||||
private val _statusFlow = MutableStateFlow(State.NOT_DOWNLOADED)
|
private val _statusFlow = MutableStateFlow(State.NOT_DOWNLOADED)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user