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 522657b28..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 @@ -139,7 +139,7 @@ class ImportOnLineBookFileDialog() : BaseDialogFragment(R.layout.dialog_recycler if (selectFile.third) { viewModel.selectStatus[holder.layoutPosition] = isChecked } else { - toastOnUi("不支持直接导入,点击打开后解压") + toastOnUi("不支持直接导入") } upSelectText() } @@ -152,8 +152,8 @@ class ImportOnLineBookFileDialog() : BaseDialogFragment(R.layout.dialog_recycler tvOpen.setOnClickListener { val bookFile = viewModel.allBookFiles[holder.layoutPosition] //intent解压 - viewModel.downloadUrl(bookFile.first, bookFile.second).let { - openFileUri(it) + viewModel.downloadUrl(bookFile.first, bookFile.second) { + //openFileUri(it) } } } 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 9b3812615..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 @@ -84,7 +84,11 @@ class ImportOnLineBookFileViewModel(app: Application) : BaseViewModel(app) { val fileName: String = selectedFile.second when { isSupportedFile -> importOnLineBookFile(fileUrl, fileName) - else -> downloadUrl(fileUrl, fileName) + else -> { + downloadUrl(fileUrl, fileName) { + // AppLog.putDebug("下载文件路径: ${it.toString()}") + } + } } } } @@ -96,8 +100,14 @@ class ImportOnLineBookFileViewModel(app: Application) : BaseViewModel(app) { } - fun downloadUrl(url: String, fileName: String): Uri { - return LocalBook.saveBookFile(url, fileName) + fun downloadUrl(url: String, fileName: String, success: () -> Unit) { + execute { + LocalBook.saveBookFile(url, fileName) + }.onSuccess { + success.invoke() + }.onError { + context.toastOnUi("下载书籍文件失败\n${it.localizedMessage}") + } } fun importOnLineBookFile(url: String, fileName: String) {