优化
This commit is contained in:
@@ -126,13 +126,17 @@ class TocActivity : VMBaseActivity<ActivityChapterListBinding, TocViewModel>(),
|
|||||||
}
|
}
|
||||||
|
|
||||||
override fun onTocRegexDialogResult(tocRegex: String) {
|
override fun onTocRegexDialogResult(tocRegex: String) {
|
||||||
ReadBook.book?.let { book ->
|
viewModel.bookData.value?.let { book ->
|
||||||
book.tocUrl = tocRegex
|
book.tocUrl = tocRegex
|
||||||
waitDialog.show()
|
waitDialog.show()
|
||||||
ReadBook.callBack?.loadChapterList(book) {
|
viewModel.upBookTocRule(book) {
|
||||||
viewModel.initBook(book.bookUrl)
|
|
||||||
waitDialog.dismiss()
|
waitDialog.dismiss()
|
||||||
}
|
}
|
||||||
|
ReadBook.book?.let { readBook ->
|
||||||
|
if (readBook == book) {
|
||||||
|
readBook.tocUrl = tocRegex
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -6,6 +6,8 @@ import androidx.lifecycle.MutableLiveData
|
|||||||
import io.legado.app.base.BaseViewModel
|
import io.legado.app.base.BaseViewModel
|
||||||
import io.legado.app.data.appDb
|
import io.legado.app.data.appDb
|
||||||
import io.legado.app.data.entities.Book
|
import io.legado.app.data.entities.Book
|
||||||
|
import io.legado.app.model.ReadBook
|
||||||
|
import io.legado.app.model.localBook.LocalBook
|
||||||
|
|
||||||
class TocViewModel(application: Application) : BaseViewModel(application) {
|
class TocViewModel(application: Application) : BaseViewModel(application) {
|
||||||
var bookUrl: String = ""
|
var bookUrl: String = ""
|
||||||
@@ -23,6 +25,25 @@ class TocViewModel(application: Application) : BaseViewModel(application) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fun upBookTocRule(book: Book, finally: () -> Unit) {
|
||||||
|
execute {
|
||||||
|
execute {
|
||||||
|
appDb.bookDao.update(book)
|
||||||
|
LocalBook.getChapterList(book).let {
|
||||||
|
book.latestChapterTime = System.currentTimeMillis()
|
||||||
|
appDb.bookChapterDao.delByBook(book.bookUrl)
|
||||||
|
appDb.bookChapterDao.insert(*it.toTypedArray())
|
||||||
|
appDb.bookDao.update(book)
|
||||||
|
ReadBook.chapterSize = it.size
|
||||||
|
ReadBook.upMsg(null)
|
||||||
|
ReadBook.loadContent(resetPageOffset = true)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}.onFinally {
|
||||||
|
finally.invoke()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
fun reverseToc(success: (book: Book) -> Unit) {
|
fun reverseToc(success: (book: Book) -> Unit) {
|
||||||
execute {
|
execute {
|
||||||
bookData.value?.apply {
|
bookData.value?.apply {
|
||||||
|
|||||||
Reference in New Issue
Block a user