From 0d05c7ad08cbbb29c043e91804c022b8afd9a481 Mon Sep 17 00:00:00 2001 From: Rahul Patel Date: Tue, 27 May 2025 18:18:15 +0530 Subject: [PATCH] fix locale serialization issue --- .../data/serializers/LocaleSerializer.kt | 56 ------------------- .../data/serializers/PropertiesSerializer.kt | 32 ----------- .../com/aurora/store/module/CommonModule.kt | 4 +- 3 files changed, 2 insertions(+), 90 deletions(-) delete mode 100644 app/src/main/java/com/aurora/store/data/serializers/LocaleSerializer.kt delete mode 100644 app/src/main/java/com/aurora/store/data/serializers/PropertiesSerializer.kt diff --git a/app/src/main/java/com/aurora/store/data/serializers/LocaleSerializer.kt b/app/src/main/java/com/aurora/store/data/serializers/LocaleSerializer.kt deleted file mode 100644 index e05f7c1bf..000000000 --- a/app/src/main/java/com/aurora/store/data/serializers/LocaleSerializer.kt +++ /dev/null @@ -1,56 +0,0 @@ -/* - * SPDX-FileCopyrightText: 2025 The Calyx Institute - * SPDX-License-Identifier: GPL-3.0-or-later - */ - -package com.aurora.store.data.serializers - -import kotlinx.serialization.KSerializer -import kotlinx.serialization.descriptors.SerialDescriptor -import kotlinx.serialization.descriptors.buildClassSerialDescriptor -import kotlinx.serialization.descriptors.element -import kotlinx.serialization.encoding.CompositeDecoder -import kotlinx.serialization.encoding.Decoder -import kotlinx.serialization.encoding.Encoder -import kotlinx.serialization.encoding.decodeStructure -import kotlinx.serialization.encoding.encodeStructure -import java.util.Locale - -/** - * Serializer for [Locale] for working with Kotlin's Serialization library - */ -object LocaleSerializer : KSerializer { - override val descriptor: SerialDescriptor = buildClassSerialDescriptor("Locale") { - element("language") - element("region") - } - - override fun serialize(encoder: Encoder, value: Locale) { - return encoder.encodeStructure(descriptor) { - encodeStringElement(descriptor, 0, value.language) - encodeStringElement(descriptor, 1, value.country) - } - } - - override fun deserialize(decoder: Decoder): Locale { - return decoder.decodeStructure(descriptor) { - var language: String? = null - var region: String? = null - - while (true) { - when (val index = decodeElementIndex(descriptor)) { - 0 -> language = decodeStringElement(descriptor, 0) - 1 -> region = decodeStringElement(descriptor, 1) - CompositeDecoder.DECODE_DONE -> break - else -> error("Unexpected index: $index") - } - } - - require(!language.isNullOrBlank() && !region.isNullOrBlank()) - Locale.Builder() - .setLanguage(language) - .setRegion(region) - .build() - } - } -} diff --git a/app/src/main/java/com/aurora/store/data/serializers/PropertiesSerializer.kt b/app/src/main/java/com/aurora/store/data/serializers/PropertiesSerializer.kt deleted file mode 100644 index c92906e2c..000000000 --- a/app/src/main/java/com/aurora/store/data/serializers/PropertiesSerializer.kt +++ /dev/null @@ -1,32 +0,0 @@ -/* - * SPDX-FileCopyrightText: 2025 The Calyx Institute - * SPDX-License-Identifier: GPL-3.0-or-later - */ - -package com.aurora.store.data.serializers - -import kotlinx.serialization.KSerializer -import kotlinx.serialization.builtins.MapSerializer -import kotlinx.serialization.builtins.serializer -import kotlinx.serialization.descriptors.SerialDescriptor -import kotlinx.serialization.encoding.Decoder -import kotlinx.serialization.encoding.Encoder -import java.util.Properties - -/** - * Serializer for [Properties] for working with Kotlin's Serialization library - */ -object PropertiesSerializer : KSerializer { - override val descriptor: SerialDescriptor = - MapSerializer(String.serializer(), String.serializer()).descriptor - - override fun serialize(encoder: Encoder, value: Properties) { - val map = value.stringPropertyNames().associateWith { value.getProperty(it) } - MapSerializer(String.serializer(), String.serializer()).serialize(encoder, map) - } - - override fun deserialize(decoder: Decoder): Properties { - val map = MapSerializer(String.serializer(), String.serializer()).deserialize(decoder) - return Properties().apply { putAll(map) } - } -} diff --git a/app/src/main/java/com/aurora/store/module/CommonModule.kt b/app/src/main/java/com/aurora/store/module/CommonModule.kt index 34730000c..ede459367 100644 --- a/app/src/main/java/com/aurora/store/module/CommonModule.kt +++ b/app/src/main/java/com/aurora/store/module/CommonModule.kt @@ -1,7 +1,7 @@ package com.aurora.store.module -import com.aurora.store.data.serializers.LocaleSerializer -import com.aurora.store.data.serializers.PropertiesSerializer +import com.aurora.gplayapi.data.serializers.LocaleSerializer +import com.aurora.gplayapi.data.serializers.PropertiesSerializer import dagger.Module import dagger.Provides import dagger.hilt.InstallIn