pull/416/head
gedoor 5 years ago
parent 3ff960bd39
commit 8992d5b027
  1. 56
      app/src/main/java/io/legado/app/ui/book/read/ReadBookViewModel.kt

@ -102,15 +102,13 @@ class ReadBookViewModel(application: Application) : BaseViewModel(application) {
book: Book, book: Book,
changeDruChapterIndex: ((chapters: List<BookChapter>) -> Unit)? = null, changeDruChapterIndex: ((chapters: List<BookChapter>) -> Unit)? = null,
) { ) {
execute { if (book.isLocalBook()) {
if (book.isLocalBook()) { loadChapterList(book, changeDruChapterIndex)
loadChapterList(book, changeDruChapterIndex) } else {
} else { ReadBook.webBook?.getBookInfo(book, this, canReName = false)
ReadBook.webBook?.getBookInfo(book, this, canReName = false) ?.onSuccess {
?.onSuccess { loadChapterList(book, changeDruChapterIndex)
loadChapterList(book, changeDruChapterIndex) }
}
}
} }
} }
@ -118,8 +116,8 @@ class ReadBookViewModel(application: Application) : BaseViewModel(application) {
book: Book, book: Book,
changeDruChapterIndex: ((chapters: List<BookChapter>) -> Unit)? = null, changeDruChapterIndex: ((chapters: List<BookChapter>) -> Unit)? = null,
) { ) {
execute { if (book.isLocalBook()) {
if (book.isLocalBook()) { execute {
LocalBook.getChapterList(book).let { LocalBook.getChapterList(book).let {
App.db.bookChapterDao().delByBook(book.bookUrl) App.db.bookChapterDao().delByBook(book.bookUrl)
App.db.bookChapterDao().insert(*it.toTypedArray()) App.db.bookChapterDao().insert(*it.toTypedArray())
@ -132,28 +130,28 @@ class ReadBookViewModel(application: Application) : BaseViewModel(application) {
ReadBook.loadContent(resetPageOffset = true) ReadBook.loadContent(resetPageOffset = true)
} }
} }
} else { }.onError {
ReadBook.webBook?.getChapterList(book, this) ReadBook.upMsg("LoadTocError:${it.localizedMessage}")
?.onSuccess(IO) { cList -> }
if (cList.isNotEmpty()) { } else {
if (changeDruChapterIndex == null) { ReadBook.webBook?.getChapterList(book, this)
App.db.bookChapterDao().insert(*cList.toTypedArray()) ?.onSuccess(IO) { cList ->
App.db.bookDao().update(book) if (cList.isNotEmpty()) {
ReadBook.chapterSize = cList.size if (changeDruChapterIndex == null) {
ReadBook.upMsg(null) App.db.bookChapterDao().insert(*cList.toTypedArray())
ReadBook.loadContent(resetPageOffset = true) App.db.bookDao().update(book)
} else { ReadBook.chapterSize = cList.size
changeDruChapterIndex(cList) ReadBook.upMsg(null)
} ReadBook.loadContent(resetPageOffset = true)
} else { } else {
ReadBook.upMsg(context.getString(R.string.error_load_toc)) changeDruChapterIndex(cList)
} }
}?.onError { } else {
ReadBook.upMsg(context.getString(R.string.error_load_toc)) ReadBook.upMsg(context.getString(R.string.error_load_toc))
} }
} }?.onError {
}.onError { ReadBook.upMsg(context.getString(R.string.error_load_toc))
ReadBook.upMsg("LoadTocError:${it.localizedMessage}") }
} }
} }

Loading…
Cancel
Save