diff --git a/app/src/main/java/io/legado/app/ui/association/ImportOnLineBookFileDialog.kt b/app/src/main/java/io/legado/app/ui/association/ImportOnLineBookFileDialog.kt index bfe435c0d..5414daf68 100644 --- a/app/src/main/java/io/legado/app/ui/association/ImportOnLineBookFileDialog.kt +++ b/app/src/main/java/io/legado/app/ui/association/ImportOnLineBookFileDialog.kt @@ -74,8 +74,20 @@ class ImportOnLineBookFileDialog() : BaseDialogFragment(R.layout.dialog_recycler adapter.notifyDataSetChanged() upSelectText() } - adapter.setItems(viewModel.allBookFiles) - upSelectText() + viewModel.errorLiveData.observe(this) { + binding.rotateLoading.hide() + binding.tvMsg.apply { + text = it + visible() + } + } + viewModel.successLiveData.observe(this) { + binding.rotateLoading.hide() + if (it > 0) { + adapter.setItems(viewModel.allBookFiles) + upSelectText() + } + } } private fun upSelectText() { diff --git a/app/src/main/java/io/legado/app/ui/association/ImportOnLineBookFileViewModel.kt b/app/src/main/java/io/legado/app/ui/association/ImportOnLineBookFileViewModel.kt index a05c34e93..7422d8b47 100644 --- a/app/src/main/java/io/legado/app/ui/association/ImportOnLineBookFileViewModel.kt +++ b/app/src/main/java/io/legado/app/ui/association/ImportOnLineBookFileViewModel.kt @@ -19,6 +19,8 @@ class ImportOnLineBookFileViewModel(app: Application) : BaseViewModel(app) { val allBookFiles = arrayListOf>() val selectStatus = arrayListOf() + val errorLiveData = MutableLiveData() + val successLiveData = MutableLiveData() fun initData(bookUrl: String?, infoHtml: String?) { execute { @@ -42,7 +44,10 @@ class ImportOnLineBookFileViewModel(app: Application) : BaseViewModel(app) { selectStatus.add(isSupportedFile) } } ?: throw NoStackTraceException("下载链接规则解析为空") + }.onSuccess { + successLiveData.postValue(allBookFiles.size) }.onError { + errorLiveData.postValue(it.localizedMessage ?: "") context.toastOnUi("获取书籍下载链接失败\n${it.localizedMessage}") }