Procházet zdrojové kódy

fix: 本地导入没有包含在数组内的单个书源时无法解析

Xwite před 3 roky
rodič
revize
311932d303

+ 3 - 3
app/src/main/java/io/legado/app/help/source/SourceAnalyzer.kt

@@ -50,7 +50,7 @@ object SourceAnalyzer {
         return kotlin.runCatching {
         return kotlin.runCatching {
             val bookSources = mutableListOf<BookSource>()
             val bookSources = mutableListOf<BookSource>()
             val documentContext = jsonPath.parse(inputStream)
             val documentContext = jsonPath.parse(inputStream)
-            kotlin.runCatching {
+            try {
                 val items: List<Map<String, Any>> = documentContext.read("$")
                 val items: List<Map<String, Any>> = documentContext.read("$")
                 for (item in items) {
                 for (item in items) {
                     val jsonItem = jsonPath.parse(item)
                     val jsonItem = jsonPath.parse(item)
@@ -58,13 +58,13 @@ object SourceAnalyzer {
                         bookSources.add(it)
                         bookSources.add(it)
                     }
                     }
                 }
                 }
-            }.onFailure {
+            } catch {
                 val item: Map<String, Any> = documentContext.read("$")
                 val item: Map<String, Any> = documentContext.read("$")
                 val jsonItem = jsonPath.parse(item)
                 val jsonItem = jsonPath.parse(item)
                 jsonToBookSource(jsonItem.jsonString()).getOrThrow().let {
                 jsonToBookSource(jsonItem.jsonString()).getOrThrow().let {
                      bookSources.add(it)
                      bookSources.add(it)
                 }
                 }
-            }.onFailure {
+            } catch {
                 throw NoStackTraceException(appCtx.getString(R.string.wrong_format))
                 throw NoStackTraceException(appCtx.getString(R.string.wrong_format))
             }
             }
             bookSources
             bookSources