pull/32/head
kunfei 5 years ago
parent 428061ec3c
commit b7798d8910
  1. 50
      app/src/main/java/io/legado/app/ui/bookinfo/BookInfoViewModel.kt

@ -46,35 +46,39 @@ class BookInfoViewModel(application: Application) : BaseViewModel(application) {
}
fun loadBookInfo(book: Book) {
isLoadingData.postValue(true)
App.db.bookSourceDao().getBookSource(book.origin)?.let { bookSource ->
WebBook(bookSource).getBookInfo(book, this)
.onSuccess {
it?.let { loadChapter(it) }
}.onError {
toast(R.string.error_get_book_info)
}
} ?: toast(R.string.error_no_source)
execute {
isLoadingData.postValue(true)
App.db.bookSourceDao().getBookSource(book.origin)?.let { bookSource ->
WebBook(bookSource).getBookInfo(book, this)
.onSuccess {
it?.let { loadChapter(it) }
}.onError {
toast(R.string.error_get_book_info)
}
} ?: toast(R.string.error_no_source)
}
}
fun loadChapter(book: Book) {
isLoadingData.postValue(true)
App.db.bookSourceDao().getBookSource(book.origin)?.let { bookSource ->
WebBook(bookSource).getChapterList(book, this)
.onSuccess(IO) {
it?.let {
if (it.isNotEmpty()) {
if (inBookshelf) {
App.db.bookChapterDao().insert(*it.toTypedArray())
execute {
isLoadingData.postValue(true)
App.db.bookSourceDao().getBookSource(book.origin)?.let { bookSource ->
WebBook(bookSource).getChapterList(book, this)
.onSuccess(IO) {
it?.let {
if (it.isNotEmpty()) {
if (inBookshelf) {
App.db.bookChapterDao().insert(*it.toTypedArray())
}
chapterListData.postValue(it)
isLoadingData.postValue(false)
}
chapterListData.postValue(it)
isLoadingData.postValue(false)
}
}.onError {
toast(R.string.error_get_chapter_list)
}
}.onError {
toast(R.string.error_get_chapter_list)
}
} ?: toast(R.string.error_no_source)
} ?: toast(R.string.error_no_source)
}
}
fun saveBook(success: (() -> Unit)?) {

Loading…
Cancel
Save