From 2ce7a421eafc4573c53dcd09712a1995514aa95e Mon Sep 17 00:00:00 2001 From: machiav3lli Date: Thu, 31 Mar 2022 11:10:33 +0200 Subject: [PATCH] Fix: (De)serializing releases --- .../com/looker/droidify/database/Converters.kt | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/main/kotlin/com/looker/droidify/database/Converters.kt b/src/main/kotlin/com/looker/droidify/database/Converters.kt index ae5030b0..2feb4fd8 100644 --- a/src/main/kotlin/com/looker/droidify/database/Converters.kt +++ b/src/main/kotlin/com/looker/droidify/database/Converters.kt @@ -5,7 +5,9 @@ import com.looker.droidify.database.entity.Release import com.looker.droidify.database.entity.Release.Companion.deserializeIncompatibilities import com.looker.droidify.entity.Donate import com.looker.droidify.entity.Screenshot +import com.looker.droidify.utility.extension.json.collectList import com.looker.droidify.utility.extension.json.writeDictionary +import com.looker.droidify.utility.extension.json.writeList import com.looker.droidify.utility.jsonGenerate import com.looker.droidify.utility.jsonParse @@ -34,17 +36,16 @@ object Converters { @TypeConverter @JvmStatic - fun toReleases(byteArray: ByteArray): List { - val string = byteArray.toString() - return if (string == "") emptyList() - else string.split(",").map { byteArray.jsonParse { Release.deserialize(it) } } + fun toReleases(byteArray: ByteArray): List = byteArray.jsonParse { + it.collectList("releases") { Release.deserialize(it) } } @JvmName("releasesToByteArray") @TypeConverter @JvmStatic - fun toByteArray(releases: List) = - jsonGenerate { releases.forEach { item -> item.serialize(it) }.toString().toByteArray() } + fun toByteArray(releases: List) = jsonGenerate { generator -> + generator.writeList("releases", releases) { serialize(generator) } + } @TypeConverter @JvmStatic