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()