From 0c2293b5afbbfa176c2c865ed87e8a8805153272 Mon Sep 17 00:00:00 2001 From: kunfei Date: Tue, 21 Mar 2023 23:57:50 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../io/legado/app/data/entities/BookSource.kt | 15 ++++++++++++--- .../java/io/legado/app/utils/GsonExtensions.kt | 6 ------ 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/app/src/main/java/io/legado/app/data/entities/BookSource.kt b/app/src/main/java/io/legado/app/data/entities/BookSource.kt index 0abab30ac..d731a8a94 100644 --- a/app/src/main/java/io/legado/app/data/entities/BookSource.kt +++ b/app/src/main/java/io/legado/app/data/entities/BookSource.kt @@ -222,16 +222,25 @@ data class BookSource( companion object { + private val gson = GSON.newBuilder() + .registerTypeAdapter(ExploreRule::class.java, ExploreRule.jsonDeserializer) + .registerTypeAdapter(SearchRule::class.java, SearchRule.jsonDeserializer) + .registerTypeAdapter(BookInfoRule::class.java, BookInfoRule.jsonDeserializer) + .registerTypeAdapter(TocRule::class.java, TocRule.jsonDeserializer) + .registerTypeAdapter(ContentRule::class.java, ContentRule.jsonDeserializer) + .registerTypeAdapter(ReviewRule::class.java, ReviewRule.jsonDeserializer) + .create() + fun fromJson(json: String): Result { - return GSON.fromJsonObject(json) + return gson.fromJsonObject(json) } fun fromJsonArray(json: String): Result> { - return GSON.fromJsonArray(json) + return gson.fromJsonArray(json) } fun fromJsonArray(inputStream: InputStream): Result> { - return GSON.fromJsonArray(inputStream) + return gson.fromJsonArray(inputStream) } } diff --git a/app/src/main/java/io/legado/app/utils/GsonExtensions.kt b/app/src/main/java/io/legado/app/utils/GsonExtensions.kt index 8946a2c99..b446f01a9 100644 --- a/app/src/main/java/io/legado/app/utils/GsonExtensions.kt +++ b/app/src/main/java/io/legado/app/utils/GsonExtensions.kt @@ -22,12 +22,6 @@ val GSON: Gson by lazy { ) .registerTypeAdapter(Int::class.java, IntJsonDeserializer()) .registerTypeAdapter(String::class.java, StringJsonDeserializer()) - .registerTypeAdapter(ExploreRule::class.java, ExploreRule.jsonDeserializer) -// .registerTypeAdapter(SearchRule::class.java, SearchRule.jsonDeserializer) -// .registerTypeAdapter(BookInfoRule::class.java, BookInfoRule.jsonDeserializer) -// .registerTypeAdapter(TocRule::class.java, TocRule.jsonDeserializer) -// .registerTypeAdapter(ContentRule::class.java, ContentRule.jsonDeserializer) -// .registerTypeAdapter(ReviewRule::class.java, ReviewRule.jsonDeserializer) .disableHtmlEscaping() .setPrettyPrinting() .create()