diff --git a/app/src/main/java/io/legado/app/ui/association/FileAssociationViewModel.kt b/app/src/main/java/io/legado/app/ui/association/FileAssociationViewModel.kt index 5e90e51dc..403412fd9 100644 --- a/app/src/main/java/io/legado/app/ui/association/FileAssociationViewModel.kt +++ b/app/src/main/java/io/legado/app/ui/association/FileAssociationViewModel.kt @@ -35,29 +35,33 @@ class FileAssociationViewModel(application: Application) : BaseAssociationViewMo } else { val file = DocumentFile.fromSingleUri(context, uri) content = file?.readText(context) ?: throw NoStackTraceException("文件不存在") - fileName = file!!.name ?: "" + fileName = file.name ?: "" } - if (content.isJson()) { - //暂时根据文件内容判断属于什么 - when { - content.contains("bookSourceUrl") -> - importBookSourceLive.postValue(content) - content.contains("sourceUrl") -> - importRssSourceLive.postValue(content) - content.contains("pattern") -> - importReplaceRuleLive.postValue(content) - content.contains("themeName") -> - importTheme(content, finally) - content.contains("name") && content.contains("rule") -> - importTextTocRule(content, finally) - content.contains("name") && content.contains("url") -> - importHttpTTS(content, finally) - else -> errorLiveData.postValue("格式不对") + when { + content.isJson() -> { + //暂时根据文件内容判断属于什么 + when { + content.contains("bookSourceUrl") -> + importBookSourceLive.postValue(content) + content.contains("sourceUrl") -> + importRssSourceLive.postValue(content) + content.contains("pattern") -> + importReplaceRuleLive.postValue(content) + content.contains("themeName") -> + importTheme(content, finally) + content.contains("name") && content.contains("rule") -> + importTextTocRule(content, finally) + content.contains("name") && content.contains("url") -> + importHttpTTS(content, finally) + else -> errorLiveData.postValue("格式不对") + } + } + fileName.matches(bookFileRegex) -> { + importBookLiveData.postValue(uri) + } + else -> { + throw NoStackTraceException("$fileName 暂未支持的本地书籍格式(TXT/UMD/EPUB)") } - } else if (fileName.matches(bookFileRegex)) { - importBookLiveData.postValue(uri) - } else { - throw NoStackTraceException("$fileName 暂未支持的本地书籍格式(TXT/UMD/EPUB)") } } else { onLineImportLive.postValue(uri)