|
|
|
@ -11,6 +11,7 @@ import io.legado.app.data.entities.BookSource |
|
|
|
|
import io.legado.app.exception.ConcurrentException |
|
|
|
|
import io.legado.app.help.book.BookHelp |
|
|
|
|
import io.legado.app.help.book.isLocal |
|
|
|
|
import io.legado.app.help.coroutine.Coroutine |
|
|
|
|
import io.legado.app.model.webBook.WebBook |
|
|
|
|
import io.legado.app.service.CacheBookService |
|
|
|
|
import io.legado.app.utils.postEvent |
|
|
|
@ -247,12 +248,31 @@ object CacheBook { |
|
|
|
|
waitDownloadSet.remove(chapterIndex) |
|
|
|
|
return |
|
|
|
|
} |
|
|
|
|
if (BookHelp.hasContent(book, chapter)) { |
|
|
|
|
if (BookHelp.hasImageContent(book, chapter)) { |
|
|
|
|
waitDownloadSet.remove(chapterIndex) |
|
|
|
|
return |
|
|
|
|
} |
|
|
|
|
waitDownloadSet.remove(chapterIndex) |
|
|
|
|
onDownloadSet.add(chapterIndex) |
|
|
|
|
if (BookHelp.hasContent(book, chapter)) { |
|
|
|
|
Coroutine.async { |
|
|
|
|
BookHelp.getContent(book, chapter)?.let { |
|
|
|
|
BookHelp.saveImages(bookSource, book, chapter, it) |
|
|
|
|
} |
|
|
|
|
}.onSuccess { |
|
|
|
|
onSuccess(chapterIndex) |
|
|
|
|
}.onError { |
|
|
|
|
onPreError(chapterIndex, it) |
|
|
|
|
//出现错误等待一秒后重新加入待下载列表 |
|
|
|
|
delay(1000) |
|
|
|
|
onPostError(chapterIndex, it, chapter.title) |
|
|
|
|
}.onCancel { |
|
|
|
|
onCancel(chapterIndex) |
|
|
|
|
}.onFinally { |
|
|
|
|
onFinally() |
|
|
|
|
} |
|
|
|
|
return |
|
|
|
|
} |
|
|
|
|
WebBook.getContent( |
|
|
|
|
scope, |
|
|
|
|
bookSource, |
|
|
|
|