This commit is contained in:
kunfei
2022-11-06 18:24:34 +08:00
parent 00c65dd7e6
commit 4b46e17022
3 changed files with 72 additions and 17 deletions
@@ -53,13 +53,26 @@ class AddToBookshelfDialog() : BaseDialogFragment(R.layout.dialog_add_to_bookshe
return
}
viewModel.loadStateLiveData.observe(this) {
//todo
if (it) {
binding.rotateLoading.show()
} else {
binding.rotateLoading.hide()
}
}
viewModel.loadErrorLiveData.observe(this) {
//todo
toastOnUi(it)
dismiss()
}
viewModel.load(bookUrl) {
//todo
binding.tvMessage
}
binding.tvCancel.setOnClickListener {
dismiss()
}
binding.tvOk.setOnClickListener {
viewModel.saveBook {
dismiss()
}
}
}
@@ -67,6 +80,7 @@ class AddToBookshelfDialog() : BaseDialogFragment(R.layout.dialog_add_to_bookshe
val loadStateLiveData = MutableLiveData<Boolean>()
val loadErrorLiveData = MutableLiveData<String>()
var book: Book? = null
fun load(bookUrl: String, success: (book: Book) -> Unit) {
execute {
@@ -99,6 +113,7 @@ class AddToBookshelfDialog() : BaseDialogFragment(R.layout.dialog_add_to_bookshe
AppLog.put("添加书籍 ${bookUrl} 出错", it)
loadErrorLiveData.postValue(it.localizedMessage)
}.onSuccess {
book = it
success.invoke(it)
}.onStart {
loadStateLiveData.postValue(true)
@@ -107,6 +122,14 @@ class AddToBookshelfDialog() : BaseDialogFragment(R.layout.dialog_add_to_bookshe
}
}
fun saveBook(finally: () -> Unit) {
execute {
book?.save()
}.onFinally {
finally.invoke()
}
}
}
}
@@ -74,7 +74,7 @@ class OnLineImportActivity :
viewModel.importReadConfig(bytes, this::finallyDialog)
}
"/addToBookshelf" -> showDialogFragment(
AddToBookshelfDialog(url)
AddToBookshelfDialog(url, true)
)
"/importonline" -> when (it.host) {
"booksource" -> showDialogFragment(