feat: 优化代码

pull/173/head
kunfei 5 years ago
parent 77c3263ddb
commit 00c757582f
  1. 76
      app/src/main/java/io/legado/app/ui/config/FileAssociationViewModel.kt

@ -11,53 +11,49 @@ import io.legado.app.utils.isJsonObject
import java.io.File
class FileAssociationViewModel(application: Application) : BaseViewModel(application) {
fun dispatchIndent(uri:Uri):Intent?{
val url:String
//如果是普通的url,需要根据返回的内容判断是什么
if(uri.scheme == "file" || uri.scheme == "content"){
val file = File(uri.path.toString())
var scheme = ""
if (file.exists()) {
val content = file.readText()
if (content.isJsonObject() || content.isJsonArray()){
//暂时根据文件内容判断属于什么
when {
content.contains("bookSourceUrl") -> {
scheme = "booksource"
}
content.contains("sourceUrl") -> {
scheme = "rsssource"
}
content.contains("pattern") -> {
scheme = "replace"
}
fun dispatchIndent(uri: Uri): Intent? {
val url: String
//如果是普通的url,需要根据返回的内容判断是什么
if (uri.scheme == "file" || uri.scheme == "content") {
val file = File(uri.path.toString())
var scheme = ""
if (file.exists()) {
val content = file.readText()
if (content.isJsonObject() || content.isJsonArray()) {
//暂时根据文件内容判断属于什么
when {
content.contains("bookSourceUrl") -> {
scheme = "booksource"
}
}
if (TextUtils.isEmpty(scheme)){
execute{
LocalBook.importFile(uri.path.toString())
toast("添加本地文件成功${uri.path}")
content.contains("sourceUrl") -> {
scheme = "rsssource"
}
content.contains("pattern") -> {
scheme = "replace"
}
return null
}
}
else{
toast("文件不存在")
if (TextUtils.isEmpty(scheme)) {
execute {
LocalBook.importFile(uri.path.toString())
toast("添加本地文件成功${uri.path}")
}
return null
}
url = "yuedu://${scheme}/importonline?src=${uri.path}"
}
else if (uri.scheme == "yuedu"){
url = uri.toString()
} else {
toast("文件不存在")
return null
}
else{
url = "yuedu://booksource/importonline?src=${uri.path}"
}
val data = Uri.parse(url)
val newIndent = Intent(Intent.ACTION_VIEW)
url = "yuedu://${scheme}/importonline?src=${uri.path}"
} else if (uri.scheme == "yuedu") {
url = uri.toString()
} else {
url = "yuedu://booksource/importonline?src=${uri.path}"
}
val data = Uri.parse(url)
val newIndent = Intent(Intent.ACTION_VIEW)
newIndent.data = data
return newIndent
return newIndent
}
}
Loading…
Cancel
Save