mirror of
https://github.com/mihonapp/mihon.git
synced 2024-11-21 20:47:03 -05:00
Ensure final download status is always set (#9453)
This commit is contained in:
parent
fce9cb820c
commit
cb2d43c0d1
1 changed files with 31 additions and 25 deletions
|
@ -526,9 +526,15 @@ class Downloader(
|
|||
dirname: String,
|
||||
) {
|
||||
// Page list hasn't been initialized
|
||||
val downloadPageCount = download.pages?.size ?: return
|
||||
// Ensure that all pages has been downloaded
|
||||
if (download.downloadedImages < downloadPageCount) return
|
||||
val downloadPageCount = download.pages?.size ?: run {
|
||||
download.status = Download.State.ERROR
|
||||
return
|
||||
}
|
||||
// Ensure that all pages have been downloaded
|
||||
if (download.downloadedImages != downloadPageCount) {
|
||||
download.status = Download.State.ERROR
|
||||
return
|
||||
}
|
||||
// Ensure that the chapter folder has all the pages
|
||||
val downloadedImagesCount = tmpDir.listFiles().orEmpty().count {
|
||||
val fileName = it.name.orEmpty()
|
||||
|
@ -540,8 +546,11 @@ class Downloader(
|
|||
else -> true
|
||||
}
|
||||
}
|
||||
if (downloadedImagesCount != downloadPageCount) {
|
||||
download.status = Download.State.ERROR
|
||||
return
|
||||
}
|
||||
|
||||
download.status = if (downloadedImagesCount == downloadPageCount) {
|
||||
createComicInfoFile(
|
||||
tmpDir,
|
||||
download.manga,
|
||||
|
@ -559,10 +568,7 @@ class Downloader(
|
|||
|
||||
DiskUtil.createNoMediaFile(tmpDir, context)
|
||||
|
||||
Download.State.DOWNLOADED
|
||||
} else {
|
||||
Download.State.ERROR
|
||||
}
|
||||
download.status = Download.State.DOWNLOADED
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
Loading…
Reference in a new issue