feat:压缩文件调用系统处理

pull/1882/head
Xwite 3 years ago
parent d921d8f6f1
commit 5c2867963b
  1. 6
      app/src/main/java/io/legado/app/ui/association/ImportOnLineBookFileDialog.kt
  2. 16
      app/src/main/java/io/legado/app/ui/association/ImportOnLineBookFileViewModel.kt

@ -139,7 +139,7 @@ class ImportOnLineBookFileDialog() : BaseDialogFragment(R.layout.dialog_recycler
if (selectFile.third) { if (selectFile.third) {
viewModel.selectStatus[holder.layoutPosition] = isChecked viewModel.selectStatus[holder.layoutPosition] = isChecked
} else { } else {
toastOnUi("不支持直接导入") toastOnUi("不支持直接导入,点击打开后解压")
} }
upSelectText() upSelectText()
} }
@ -152,8 +152,8 @@ class ImportOnLineBookFileDialog() : BaseDialogFragment(R.layout.dialog_recycler
tvOpen.setOnClickListener { tvOpen.setOnClickListener {
val bookFile = viewModel.allBookFiles[holder.layoutPosition] val bookFile = viewModel.allBookFiles[holder.layoutPosition]
//intent解压 //intent解压
viewModel.downloadUrl(bookFile.first, bookFile.second) { viewModel.downloadUrl(bookFile.first, bookFile.second).let {
//openFileUri(it) openFileUri(it)
} }
} }
} }

@ -84,11 +84,7 @@ class ImportOnLineBookFileViewModel(app: Application) : BaseViewModel(app) {
val fileName: String = selectedFile.second val fileName: String = selectedFile.second
when { when {
isSupportedFile -> importOnLineBookFile(fileUrl, fileName) isSupportedFile -> importOnLineBookFile(fileUrl, fileName)
else -> { else -> downloadUrl(fileUrl, fileName)
downloadUrl(fileUrl, fileName) {
// AppLog.putDebug("下载文件路径: ${it.toString()}")
}
}
} }
} }
} }
@ -100,14 +96,8 @@ class ImportOnLineBookFileViewModel(app: Application) : BaseViewModel(app) {
} }
fun downloadUrl(url: String, fileName: String, success: () -> Unit) { fun downloadUrl(url: String, fileName: String): Uri {
execute { return LocalBook.saveBookFile(url, fileName)
LocalBook.saveBookFile(url, fileName)
}.onSuccess {
success.invoke()
}.onError {
context.toastOnUi("下载书籍文件失败\n${it.localizedMessage}")
}
} }
fun importOnLineBookFile(url: String, fileName: String) { fun importOnLineBookFile(url: String, fileName: String) {

Loading…
Cancel
Save