From 2064bfc27dce953ece97e04cf3c4134c386f53bc Mon Sep 17 00:00:00 2001 From: kunfei Date: Sat, 1 Apr 2023 22:57:25 +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/utils/GsonExtensions.kt | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) 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 b08d49893..6b8862f9e 100644 --- a/app/src/main/java/io/legado/app/utils/GsonExtensions.kt +++ b/app/src/main/java/io/legado/app/utils/GsonExtensions.kt @@ -9,7 +9,6 @@ import java.io.InputStream import java.io.InputStreamReader import java.io.OutputStream import java.io.OutputStreamWriter -import java.lang.reflect.ParameterizedType import java.lang.reflect.Type import kotlin.math.ceil @@ -53,7 +52,10 @@ inline fun Gson.fromJsonArray(json: String?): Result> { if (json == null) { throw JsonSyntaxException("解析字符串为空") } - fromJson(json, ParameterizedTypeImpl(T::class.java)) as List + fromJson( + json, + TypeToken.getParameterized(List::class.java, T::class.java).type + ) as List } } @@ -73,7 +75,10 @@ inline fun Gson.fromJsonArray(inputStream: InputStream?): Result + fromJson( + reader, + TypeToken.getParameterized(List::class.java, T::class.java).type + ) as List } } @@ -94,14 +99,6 @@ fun Gson.writeToOutputStream(out: OutputStream, any: Any) { writer.close() } -class ParameterizedTypeImpl(private val clazz: Class<*>) : ParameterizedType { - override fun getRawType(): Type = List::class.java - - override fun getOwnerType(): Type? = null - - override fun getActualTypeArguments(): Array = arrayOf(clazz) -} - /** * */