From 4876068c54693ad0d174041d07ce683eb63aba58 Mon Sep 17 00:00:00 2001 From: Isira Seneviratne Date: Thu, 19 Jan 2023 08:57:16 +0530 Subject: [PATCH] Use Kotlinx Serialization with instances. --- .../com/github/libretube/api/obj/Instances.kt | 21 ++++++++++--------- .../ui/preferences/InstanceSettings.kt | 4 ++-- 2 files changed, 13 insertions(+), 12 deletions(-) diff --git a/app/src/main/java/com/github/libretube/api/obj/Instances.kt b/app/src/main/java/com/github/libretube/api/obj/Instances.kt index 053cb8b63..a25777be7 100644 --- a/app/src/main/java/com/github/libretube/api/obj/Instances.kt +++ b/app/src/main/java/com/github/libretube/api/obj/Instances.kt @@ -1,15 +1,16 @@ package com.github.libretube.api.obj -import com.fasterxml.jackson.annotation.JsonIgnoreProperties +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable -@JsonIgnoreProperties(ignoreUnknown = true) +@Serializable data class Instances( - var name: String? = null, - var api_url: String? = null, - var locations: String? = null, - var version: String? = null, - var up_to_date: Boolean? = null, - var cdn: Boolean? = null, - var registered: Long? = null, - var last_checked: Long? = null + val name: String, + @SerialName("api_url") val apiUrl: String, + val locations: String, + val version: String, + @SerialName("up_to_date") val upToDate: Boolean, + val cdn: Boolean, + val registered: Long, + @SerialName("last_checked") val lastChecked: Long ) diff --git a/app/src/main/java/com/github/libretube/ui/preferences/InstanceSettings.kt b/app/src/main/java/com/github/libretube/ui/preferences/InstanceSettings.kt index a7931a840..d42d7da5e 100644 --- a/app/src/main/java/com/github/libretube/ui/preferences/InstanceSettings.kt +++ b/app/src/main/java/com/github/libretube/ui/preferences/InstanceSettings.kt @@ -137,8 +137,8 @@ class InstanceSettings : BasePreferenceFragment() { response?.sortBy { it.name } - instanceNames.addAll(response.orEmpty().map { it.name ?: "" }) - instanceValues.addAll(response.orEmpty().map { it.api_url ?: "" }) + instanceNames.addAll(response.orEmpty().map { it.name }) + instanceValues.addAll(response.orEmpty().map { it.apiUrl }) customInstances.forEach { instance -> instanceNames += instance.name