From 664eca08d6923a4f1f5dc0708673b79918307281 Mon Sep 17 00:00:00 2001 From: 821938089 <821938089@qq.com> Date: Sun, 10 Jul 2022 07:37:34 +0800 Subject: [PATCH] fix preUpdateJs rule --- .../java/io/legado/app/ui/book/info/BookInfoViewModel.kt | 5 +++++ .../java/io/legado/app/ui/book/read/ReadBookViewModel.kt | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/app/src/main/java/io/legado/app/ui/book/info/BookInfoViewModel.kt b/app/src/main/java/io/legado/app/ui/book/info/BookInfoViewModel.kt index a7df33ffe..73a737bb1 100644 --- a/app/src/main/java/io/legado/app/ui/book/info/BookInfoViewModel.kt +++ b/app/src/main/java/io/legado/app/ui/book/info/BookInfoViewModel.kt @@ -18,6 +18,7 @@ import io.legado.app.help.BookHelp import io.legado.app.help.coroutine.Coroutine import io.legado.app.model.BookCover import io.legado.app.model.ReadBook +import io.legado.app.model.analyzeRule.AnalyzeRule import io.legado.app.model.localBook.LocalBook import io.legado.app.model.webBook.WebBook import io.legado.app.utils.postEvent @@ -153,6 +154,10 @@ class BookInfoViewModel(application: Application) : BaseViewModel(application) { chapterListData.postValue(emptyList()) } else { bookSource?.let { bookSource -> + val preUpdateJs = bookSource.ruleToc?.preUpdateJs + if (!preUpdateJs.isNullOrBlank()) { + AnalyzeRule(book, bookSource).evalJS(preUpdateJs) + } WebBook.getChapterList(this, bookSource, book) .onSuccess(IO) { if (inBookshelf) { diff --git a/app/src/main/java/io/legado/app/ui/book/read/ReadBookViewModel.kt b/app/src/main/java/io/legado/app/ui/book/read/ReadBookViewModel.kt index eee1250eb..f1e58f667 100644 --- a/app/src/main/java/io/legado/app/ui/book/read/ReadBookViewModel.kt +++ b/app/src/main/java/io/legado/app/ui/book/read/ReadBookViewModel.kt @@ -21,6 +21,7 @@ import io.legado.app.help.config.AppConfig import io.legado.app.help.coroutine.Coroutine import io.legado.app.model.ReadAloud import io.legado.app.model.ReadBook +import io.legado.app.model.analyzeRule.AnalyzeRule import io.legado.app.model.localBook.LocalBook import io.legado.app.model.webBook.WebBook import io.legado.app.service.BaseReadAloudService @@ -144,6 +145,10 @@ class ReadBookViewModel(application: Application) : BaseViewModel(application) { } } else { ReadBook.bookSource?.let { + val preUpdateJs = it.ruleToc?.preUpdateJs + if (!preUpdateJs.isNullOrBlank()) { + AnalyzeRule(book, it).evalJS(preUpdateJs) + } WebBook.getChapterList(viewModelScope, it, book) .onSuccess(IO) { cList -> appDb.bookChapterDao.insert(*cList.toTypedArray())