kunfei 4 年 前
親
コミット
41bd73cbd7

+ 1 - 0
app/src/main/java/io/legado/app/model/localBook/LocalBook.kt

@@ -22,6 +22,7 @@ import javax.script.SimpleBindings
 object LocalBook {
 object LocalBook {
 
 
     private val nameAuthorPatterns = arrayOf(
     private val nameAuthorPatterns = arrayOf(
+        Pattern.compile("(.*?)《([^《》]+)》.*?作者:(.*)"),
         Pattern.compile("(.*?)《([^《》]+)》(.*)"),
         Pattern.compile("(.*?)《([^《》]+)》(.*)"),
         Pattern.compile("(^)(.+) 作者:(.+)$"),
         Pattern.compile("(^)(.+) 作者:(.+)$"),
         Pattern.compile("(^)(.+) by (.+)$")
         Pattern.compile("(^)(.+) by (.+)$")

+ 8 - 7
app/src/main/java/io/legado/app/ui/association/FileAssociationViewModel.kt

@@ -31,9 +31,8 @@ class FileAssociationViewModel(application: Application) : BaseAssociationViewMo
                 } else {
                 } else {
                     DocumentFile.fromSingleUri(context, uri)?.readText(context)
                     DocumentFile.fromSingleUri(context, uri)?.readText(context)
                 } ?: throw NoStackTraceException("文件不存在")
                 } ?: throw NoStackTraceException("文件不存在")
-                if (content.isJson()) {
-                    //暂时根据文件内容判断属于什么
-                    when {
+                when {
+                    content.isJson() -> when {
                         content.contains("bookSourceUrl") ->
                         content.contains("bookSourceUrl") ->
                             importBookSourceLive.postValue(content)
                             importBookSourceLive.postValue(content)
                         content.contains("sourceUrl") ->
                         content.contains("sourceUrl") ->
@@ -48,10 +47,12 @@ class FileAssociationViewModel(application: Application) : BaseAssociationViewMo
                             importHttpTTS(content, finally)
                             importHttpTTS(content, finally)
                         else -> errorLiveData.postValue("格式不对")
                         else -> errorLiveData.postValue("格式不对")
                     }
                     }
-                } else if (uri.toString().matches(bookFileRegex)) {
-                    importBookLiveData.postValue(uri)
-                } else {
-                    throw NoStackTraceException("暂未支持的本地书籍格式(TXT/UMD/EPUB)")
+                    uri.toString().matches(bookFileRegex) -> {
+                        importBookLiveData.postValue(uri)
+                    }
+                    else -> {
+                        throw NoStackTraceException("暂未支持的本地书籍格式(TXT/UMD/EPUB)")
+                    }
                 }
                 }
             } else {
             } else {
                 onLineImportLive.postValue(uri)
                 onLineImportLive.postValue(uri)