ursus
06/13/2018, 9:24 PMursus
06/13/2018, 9:24 PMmyanmarking
06/14/2018, 9:24 AMclass NullPrimitiveTypeAdapter {
@FromJson
fun intFromJson(@NullableInt @Nullable value: Int?): Int = value ?: 0
@ToJson
@NullableInt
fun toFromJson(value: Int): Int? = throw UnsupportedOperationException()
@FromJson
fun floatFromJson(@NullableFloat @Nullable value: Float?): Float = value ?: 0f
@ToJson
@NullableFloat fun floattoJson(value: Float): Float? = throw UnsupportedOperationException()
}
@MustBeDocumented
@Retention(AnnotationRetention.RUNTIME)
annotation class Nullable
@Retention(AnnotationRetention.RUNTIME)
@JsonQualifier
annotation class NullableInt
@Retention(AnnotationRetention.RUNTIME)
@JsonQualifier
annotation class NullableFloat
myanmarking
06/14/2018, 9:24 AMopen class MeasureBodyDto(
val manualMode: Boolean,
@NullableFloat val skeletalMuscleRate: Float = 0f
myanmarking
06/14/2018, 9:24 AMmyanmarking
06/14/2018, 9:24 AMNo JsonAdapter for class java.lang.Float annotated [@com.x.core.network.retrofit.moshi_converters.nullable.NullableFloat()]
myanmarking
06/14/2018, 9:25 AMmyanmarking
06/14/2018, 9:25 AMmyanmarking
06/14/2018, 9:28 AM.add(NullPrimitiveTypeAdapter())
.add(KotlinJsonAdapterFactory())
nikolay
06/14/2018, 9:28 AMval skeletalMuscleRate: Float
is not Nullable
🤔myanmarking
06/14/2018, 9:28 AMedwardwongtl
06/14/2018, 9:28 AM@ToJson
should also be taking Float?
?nikolay
06/14/2018, 9:28 AMmyanmarking
06/14/2018, 9:29 AMmyanmarking
06/14/2018, 9:29 AMmyanmarking
06/14/2018, 9:29 AMmyanmarking
06/14/2018, 9:30 AMmyanmarking
06/14/2018, 9:30 AMnikolay
06/14/2018, 9:30 AMedwardwongtl
06/14/2018, 9:30 AMmyanmarking
06/14/2018, 9:30 AMmyanmarking
06/14/2018, 9:31 AMedwardwongtl
06/14/2018, 9:32 AMInt
to Int
, Int?
to Int?
nikolay
06/14/2018, 9:32 AMFloat
- then adapter should be for Float
nikolay
06/14/2018, 9:32 AMFloat?
-> adapter Float?
nikolay
06/14/2018, 9:32 AMmyanmarking
06/14/2018, 9:33 AMnikolay
06/14/2018, 9:33 AMnull
- make it nullablemyanmarking
06/14/2018, 9:33 AMmyanmarking
06/14/2018, 9:33 AM