2021-05-22 11:07:23 +02:00
|
|
|
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> {
|
2021-05-22 11:07:23 +02:00
|
|
|
override val descriptor: SerialDescriptor =
|
2021-06-23 06:14:25 +02:00
|
|
|
PrimitiveSerialDescriptor("Uri", PrimitiveKind.STRING)
|
2021-05-22 11:07:23 +02:00
|
|
|
|
2021-06-23 06:14:25 +02:00
|
|
|
override fun serialize(encoder: Encoder, value: Uri) =
|
|
|
|
encoder.encodeString(value.toString())
|
2021-05-22 11:07:23 +02:00
|
|
|
|
2021-06-23 06:14:25 +02:00
|
|
|
override fun deserialize(decoder: Decoder): Uri =
|
|
|
|
Uri.parse(decoder.decodeString())
|
2021-05-22 11:07:23 +02:00
|
|
|
}
|