This commit is contained in:
kunfei 2022-11-06 00:21:11 +08:00
parent 71f4d3db0c
commit 05472a9c71

View File

@ -10,6 +10,7 @@ import androidx.lifecycle.MutableLiveData
import io.legado.app.R
import io.legado.app.base.BaseDialogFragment
import io.legado.app.base.BaseViewModel
import io.legado.app.constant.AppLog
import io.legado.app.data.appDb
import io.legado.app.data.entities.Book
import io.legado.app.databinding.DialogAddToBookshelfBinding
@ -54,6 +55,9 @@ class AddToBookshelfDialog() : BaseDialogFragment(R.layout.dialog_add_to_bookshe
viewModel.loadStateLiveData.observe(this) {
//todo
}
viewModel.loadErrorLiveData.observe(this) {
//todo
}
viewModel.load(bookUrl) {
//todo
}
@ -62,6 +66,7 @@ class AddToBookshelfDialog() : BaseDialogFragment(R.layout.dialog_add_to_bookshe
class ViewModel(application: Application) : BaseViewModel(application) {
val loadStateLiveData = MutableLiveData<Boolean>()
val loadErrorLiveData = MutableLiveData<String>()
fun load(bookUrl: String, success: (book: Book) -> Unit) {
execute {
@ -90,6 +95,9 @@ class AddToBookshelfDialog() : BaseDialogFragment(R.layout.dialog_add_to_bookshe
book.order = appDb.bookDao.minOrder - 1
return@execute book
} ?: throw NoStackTraceException("未找到匹配书源")
}.onError {
AppLog.put("添加书籍 ${bookUrl} 出错", it)
loadErrorLiveData.postValue(it.localizedMessage)
}.onSuccess {
success.invoke(it)
}.onStart {