Merge pull request #907 from SimonMarquis/replace-instant-serializer

Replace identical `InstantSerializer` with KotlinX datetime default serializer
pull/925/head
Adetunji Dahunsi 11 months ago committed by GitHub
commit b989d3a243
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -17,7 +17,6 @@
package com.google.samples.apps.nowinandroid.core.network.model
import com.google.samples.apps.nowinandroid.core.model.data.NewsResource
import com.google.samples.apps.nowinandroid.core.network.model.util.InstantSerializer
import kotlinx.datetime.Instant
import kotlinx.serialization.Serializable
@ -31,7 +30,6 @@ data class NetworkNewsResource(
val content: String,
val url: String,
val headerImageUrl: String,
@Serializable(InstantSerializer::class)
val publishDate: Instant,
val type: String,
val topics: List<String> = listOf(),
@ -47,7 +45,6 @@ data class NetworkNewsResourceExpanded(
val content: String,
val url: String,
val headerImageUrl: String,
@Serializable(InstantSerializer::class)
val publishDate: Instant,
val type: String,
val topics: List<NetworkTopic> = listOf(),

@ -1,39 +0,0 @@
/*
* Copyright 2022 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.google.samples.apps.nowinandroid.core.network.model.util
import kotlinx.datetime.Instant
import kotlinx.datetime.toInstant
import kotlinx.serialization.KSerializer
import kotlinx.serialization.descriptors.PrimitiveKind.STRING
import kotlinx.serialization.descriptors.PrimitiveSerialDescriptor
import kotlinx.serialization.descriptors.SerialDescriptor
import kotlinx.serialization.encoding.Decoder
import kotlinx.serialization.encoding.Encoder
object InstantSerializer : KSerializer<Instant> {
override fun deserialize(decoder: Decoder): Instant =
decoder.decodeString().toInstant()
override val descriptor: SerialDescriptor = PrimitiveSerialDescriptor(
serialName = "Instant",
kind = STRING,
)
override fun serialize(encoder: Encoder, value: Instant) =
encoder.encodeString(value.toString())
}
Loading…
Cancel
Save