This commit is contained in:
Horis
2023-12-18 18:21:52 +08:00
parent d8023474ed
commit 03af785add
@@ -18,7 +18,6 @@ import io.legado.app.ui.book.cache.CacheActivity
import io.legado.app.utils.activityPendingIntent import io.legado.app.utils.activityPendingIntent
import io.legado.app.utils.postEvent import io.legado.app.utils.postEvent
import io.legado.app.utils.servicePendingIntent import io.legado.app.utils.servicePendingIntent
import io.legado.app.utils.toastOnUi
import kotlinx.coroutines.Job import kotlinx.coroutines.Job
import kotlinx.coroutines.asCoroutineDispatcher import kotlinx.coroutines.asCoroutineDispatcher
import kotlinx.coroutines.delay import kotlinx.coroutines.delay
@@ -106,10 +105,19 @@ class CacheBookService : BaseService() {
val chapterCount = appDb.bookChapterDao.getChapterCount(bookUrl) val chapterCount = appDb.bookChapterDao.getChapterCount(bookUrl)
if (chapterCount == 0) { if (chapterCount == 0) {
val name = cacheBook.book.name val name = cacheBook.book.name
if (cacheBook.book.tocUrl.isEmpty()) {
kotlin.runCatching {
WebBook.getBookInfoAwait(cacheBook.bookSource, cacheBook.book)
}.onFailure {
val msg = "《$name》目录为空且加载详情页失败\n${it.localizedMessage}"
AppLog.put(msg, it, true)
return@execute
}
}
WebBook.getChapterListAwait(cacheBook.bookSource, cacheBook.book).onFailure { WebBook.getChapterListAwait(cacheBook.bookSource, cacheBook.book).onFailure {
cacheBook.book.totalChapterNum = 0 cacheBook.book.totalChapterNum = 0
AppLog.put("《$name》目录为空且加载目录失败\n${it.localizedMessage}", it) AppLog.put("《$name》目录为空且加载目录失败\n${it.localizedMessage}", it, true)
appCtx.toastOnUi("《$name》目录为空且加载目录失败\n${it.localizedMessage}") return@execute
}.getOrNull()?.let { toc -> }.getOrNull()?.let { toc ->
appDb.bookChapterDao.insert(*toc.toTypedArray()) appDb.bookChapterDao.insert(*toc.toTypedArray())
} }