SubwayTooter-Android-App/app/src/main/java/jp/juggler/util/UriSerializer.kt

21 lines
741 B
Kotlin
Raw Normal View History

package jp.juggler.util
import android.net.Uri
import kotlinx.serialization.KSerializer
import kotlinx.serialization.descriptors.PrimitiveKind
import kotlinx.serialization.descriptors.PrimitiveSerialDescriptor
import kotlinx.serialization.descriptors.SerialDescriptor
import kotlinx.serialization.encoding.Decoder
import kotlinx.serialization.encoding.Encoder
2021-06-23 06:14:25 +02:00
object UriSerializer : KSerializer<Uri> {
override val descriptor: SerialDescriptor =
2021-06-23 06:14:25 +02:00
PrimitiveSerialDescriptor("Uri", PrimitiveKind.STRING)
2021-06-23 06:14:25 +02:00
override fun serialize(encoder: Encoder, value: Uri) =
encoder.encodeString(value.toString())
2021-06-23 06:14:25 +02:00
override fun deserialize(decoder: Decoder): Uri =
Uri.parse(decoder.decodeString())
}