feat: 修复崩溃bug

pull/238/head
gedoor 5 years ago
parent 1d292eb97a
commit dc6efbb514
  1. 15
      app/src/main/java/io/legado/app/ui/config/FileAssociationViewModel.kt

@ -13,7 +13,9 @@ import io.legado.app.utils.readText
import java.io.File import java.io.File
class FileAssociationViewModel(application: Application) : BaseViewModel(application) { class FileAssociationViewModel(application: Application) : BaseViewModel(application) {
fun dispatchIndent(uri: Uri): Intent? { fun dispatchIndent(uri: Uri): Intent? {
try {
val url: String val url: String
//如果是普通的url,需要根据返回的内容判断是什么 //如果是普通的url,需要根据返回的内容判断是什么
if (uri.scheme == "file" || uri.scheme == "content") { if (uri.scheme == "file" || uri.scheme == "content") {
@ -45,9 +47,9 @@ class FileAssociationViewModel(application: Application) : BaseViewModel(applica
} }
if (TextUtils.isEmpty(scheme)) { if (TextUtils.isEmpty(scheme)) {
execute { execute {
if (uri.scheme == "content"){ if (uri.scheme == "content") {
LocalBook.importFile(uri.toString()) LocalBook.importFile(uri.toString())
}else{ } else {
LocalBook.importFile(uri.path.toString()) LocalBook.importFile(uri.path.toString())
} }
toast("添加本地文件成功${uri.path}") toast("添加本地文件成功${uri.path}")
@ -59,9 +61,9 @@ class FileAssociationViewModel(application: Application) : BaseViewModel(applica
return null return null
} }
// content模式下,需要传递完整的路径,方便后续解析 // content模式下,需要传递完整的路径,方便后续解析
url = if (uri.scheme == "content"){ url = if (uri.scheme == "content") {
"yuedu://${scheme}/importonline?src=$uri" "yuedu://${scheme}/importonline?src=$uri"
}else{ } else {
"yuedu://${scheme}/importonline?src=${uri.path}" "yuedu://${scheme}/importonline?src=${uri.path}"
} }
@ -74,5 +76,10 @@ class FileAssociationViewModel(application: Application) : BaseViewModel(applica
val newIndent = Intent(Intent.ACTION_VIEW) val newIndent = Intent(Intent.ACTION_VIEW)
newIndent.data = data newIndent.data = data
return newIndent return newIndent
} catch (e: Exception) {
e.printStackTrace()
toast(e.localizedMessage)
return null
}
} }
} }
Loading…
Cancel
Save