Don't download completely read chapter if it was in queue (#8113)

This commit is contained in:
AntsyLich 2022-10-01 20:58:13 +06:00 committed by GitHub
parent 42b0e3e438
commit 00f442b77e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -132,7 +132,7 @@ class ReaderPresenter(
private val imageSaver: ImageSaver by injectLazy()
private var chapterDownload: Download? = null
private var chapterToDownload: Download? = null
/**
* Chapter list for the active manga. It's retrieved lazily and should be accessed for the first
@ -206,7 +206,7 @@ class ReaderPresenter(
if (currentChapters != null) {
currentChapters.unref()
saveReadingProgress(currentChapters.currChapter)
chapterDownload?.let {
chapterToDownload?.let {
downloadManager.addDownloadsToStartOfQueue(listOf(it))
}
}
@ -336,7 +336,7 @@ class ReaderPresenter(
newChapters.ref()
oldChapters?.unref()
chapterDownload = deleteChapterFromDownloadQueue(newChapters.currChapter)
chapterToDownload = deleteChapterFromDownloadQueue(newChapters.currChapter)
viewerChaptersRelay.call(newChapters)
}
}
@ -511,11 +511,9 @@ class ReaderPresenter(
val removeAfterReadSlots = downloadPreferences.removeAfterReadSlots().get()
val chapterToDelete = chapterList.getOrNull(currentChapterPosition - removeAfterReadSlots)
if (removeAfterReadSlots != 0 && chapterDownload != null) {
downloadManager.addDownloadsToStartOfQueue(listOf(chapterDownload!!))
} else {
chapterDownload = null
}
// If chapter is completely read no need to download it
chapterToDownload = null
// Check if deleting option is enabled and chapter exists
if (removeAfterReadSlots != -1 && chapterToDelete != null) {
enqueueDeleteReadChapters(chapterToDelete)