feat: 优化代码

pull/159/head
kunfei 5 years ago
parent 8cffb48c5a
commit f2c223a978
  1. 17
      app/src/main/java/io/legado/app/service/help/ReadBook.kt
  2. 8
      app/src/main/java/io/legado/app/ui/book/read/ReadBookViewModel.kt

@ -36,7 +36,7 @@ object ReadBook {
var webBook: WebBook? = null
private val loadingChapters = arrayListOf<Int>()
fun resetData(book: Book) {
fun resetData(book: Book, noSource: () -> Unit) {
this.book = book
titleDate.postValue(book.name)
durChapterIndex = book.durChapterIndex
@ -46,12 +46,21 @@ object ReadBook {
prevTextChapter = null
curTextChapter = null
nextTextChapter = null
upWebBook(book.origin)
upWebBook(book.origin, noSource)
}
fun upWebBook(origin: String) {
fun upWebBook(origin: String, noSource: () -> Unit) {
if (origin == BookType.local) {
webBook = null
} else {
val bookSource = App.db.bookSourceDao().getBookSource(origin)
webBook = if (bookSource != null) WebBook(bookSource) else null
if (bookSource != null) {
webBook = WebBook(bookSource)
} else {
webBook = null
noSource.invoke()
}
}
}
fun moveToNextPage() {

@ -39,7 +39,9 @@ class ReadBookViewModel(application: Application) : BaseViewModel(application) {
private fun initBook(book: Book) {
if (ReadBook.book?.bookUrl != book.bookUrl) {
ReadBook.resetData(book)
ReadBook.resetData(book) {
autoChangeSource()
}
isInitFinish = true
ReadBook.chapterSize = App.db.bookChapterDao().getChapterCount(book.bookUrl)
if (ReadBook.chapterSize == 0) {
@ -60,7 +62,9 @@ class ReadBookViewModel(application: Application) : BaseViewModel(application) {
} else {
isInitFinish = true
ReadBook.titleDate.postValue(book.name)
ReadBook.upWebBook(book.origin)
ReadBook.upWebBook(book.origin) {
autoChangeSource()
}
ReadBook.chapterSize = App.db.bookChapterDao().getChapterCount(book.bookUrl)
if (ReadBook.chapterSize == 0) {
if (book.tocUrl.isEmpty()) {

Loading…
Cancel
Save