From 114c25e3791b996b1fc01850983c7f760bfe8115 Mon Sep 17 00:00:00 2001 From: Luna712 <142361265+Luna712@users.noreply.github.com> Date: Thu, 18 Jun 2026 13:39:14 -0600 Subject: [PATCH 1/3] Keep all JsonProperty for now --- .../lagradost/cloudstream3/plugins/PluginManager.kt | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/com/lagradost/cloudstream3/plugins/PluginManager.kt b/app/src/main/java/com/lagradost/cloudstream3/plugins/PluginManager.kt index 2b252e46536..39fcec4625e 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/plugins/PluginManager.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/plugins/PluginManager.kt @@ -18,6 +18,7 @@ import androidx.core.app.ActivityCompat import androidx.core.app.NotificationCompat import androidx.core.app.NotificationManagerCompat import androidx.fragment.app.FragmentActivity +import com.fasterxml.jackson.annotation.JsonProperty import com.lagradost.cloudstream3.APIHolder import com.lagradost.cloudstream3.APIHolder.removePluginMapping import com.lagradost.cloudstream3.AllLanguagesName @@ -76,11 +77,11 @@ const val EXTENSIONS_CHANNEL_DESCRIPT = "Extension notification channel" // Data class for internal storage @Serializable data class PluginData( - @SerialName("internalName") val internalName: String, - @SerialName("url") val url: String?, - @SerialName("isOnline") val isOnline: Boolean, - @SerialName("filePath") val filePath: String, - @SerialName("version") val version: Int, + @JsonProperty("internalName") @SerialName("internalName") val internalName: String, + @JsonProperty("url") @SerialName("url") val url: String?, + @JsonProperty("isOnline") @SerialName("isOnline") val isOnline: Boolean, + @JsonProperty("filePath") @SerialName("filePath") val filePath: String, + @JsonProperty("version") @SerialName("version") val version: Int, ) { @WorkerThread fun toSitePlugin(): SitePlugin { From 0479db2526e534fc95d6d5587324eaf124aa5a09 Mon Sep 17 00:00:00 2001 From: Luna712 <142361265+Luna712@users.noreply.github.com> Date: Thu, 18 Jun 2026 13:41:18 -0600 Subject: [PATCH 2/3] Keep all JsonProperty for now --- .../cloudstream3/plugins/RepositoryManager.kt | 39 ++++++++++--------- 1 file changed, 20 insertions(+), 19 deletions(-) diff --git a/app/src/main/java/com/lagradost/cloudstream3/plugins/RepositoryManager.kt b/app/src/main/java/com/lagradost/cloudstream3/plugins/RepositoryManager.kt index f7ca0f20235..4455a1d5e5e 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/plugins/RepositoryManager.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/plugins/RepositoryManager.kt @@ -2,6 +2,7 @@ package com.lagradost.cloudstream3.plugins import android.content.Context import androidx.annotation.WorkerThread +import com.fasterxml.jackson.annotation.JsonProperty import com.lagradost.cloudstream3.CloudStreamApp.Companion.context import com.lagradost.cloudstream3.CloudStreamApp.Companion.getKey import com.lagradost.cloudstream3.CloudStreamApp.Companion.setKey @@ -32,11 +33,11 @@ import java.util.concurrent.atomic.AtomicInteger */ @Serializable data class Repository( - @SerialName("iconUrl") val iconUrl: String?, - @SerialName("name") val name: String, - @SerialName("description") val description: String?, - @SerialName("manifestVersion") val manifestVersion: Int, - @SerialName("pluginLists") val pluginLists: List, + @JsonProperty("iconUrl") @SerialName("iconUrl") val iconUrl: String?, + @JsonProperty("name") @SerialName("name") val name: String, + @JsonProperty("description") @SerialName("description") val description: String?, + @JsonProperty("manifestVersion") @SerialName("manifestVersion") val manifestVersion: Int, + @JsonProperty("pluginLists") @SerialName("pluginLists") val pluginLists: List, ) /** @@ -49,30 +50,30 @@ data class Repository( @Serializable data class SitePlugin( // Url to the .cs3 file - @SerialName("url") val url: String, + @JsonProperty("url") @SerialName("url") val url: String, // Status to remotely disable the provider - @SerialName("status") val status: Int, + @JsonProperty("status") @SerialName("status") val status: Int, // Integer over 0, any change of this will trigger an auto update - @SerialName("version") val version: Int, + @JsonProperty("version") @SerialName("version") val version: Int, // Unused currently, used to make the api backwards compatible? // Set to 1 - @SerialName("apiVersion") val apiVersion: Int, + @JsonProperty("apiVersion") @SerialName("apiVersion") val apiVersion: Int, // Name to be shown in app - @SerialName("name") val name: String, + @JsonProperty("name") @SerialName("name") val name: String, // Name to be referenced internally. Separate to make name and url changes possible - @SerialName("internalName") val internalName: String, - @SerialName("authors") val authors: List, - @SerialName("description") val description: String?, + @JsonProperty("internalName") @SerialName("internalName") val internalName: String, + @JsonProperty("authors") @SerialName("authors") val authors: List, + @JsonProperty("description") @SerialName("description") val description: String?, // Might be used to go directly to the plugin repo in the future - @SerialName("repositoryUrl") val repositoryUrl: String?, + @JsonProperty("repositoryUrl") @SerialName("repositoryUrl") val repositoryUrl: String?, // These types are yet to be mapped and used, ignore for now - @SerialName("tvTypes") val tvTypes: List?, + @JsonProperty("tvTypes") @SerialName("tvTypes") val tvTypes: List?, // Most often a language tag like "en" or "zh-TW" - @SerialName("language") val language: String?, - @SerialName("iconUrl") val iconUrl: String?, + @JsonProperty("language") @SerialName("language") val language: String?, + @JsonProperty("iconUrl") @SerialName("iconUrl") val iconUrl: String?, // Automatically generated by the gradle plugin - @SerialName("fileSize") val fileSize: Long?, - @SerialName("fileHash") val fileHash: String?, + @JsonProperty("fileSize") @SerialName("fileSize") val fileSize: Long?, + @JsonProperty("fileHash") @SerialName("fileHash") val fileHash: String?, ) object RepositoryManager { From d18885917ed2ef64f69c639de0c7a0198b466066 Mon Sep 17 00:00:00 2001 From: Luna712 <142361265+Luna712@users.noreply.github.com> Date: Thu, 18 Jun 2026 13:42:10 -0600 Subject: [PATCH 3/3] Keep all JsonProperty for now --- .../java/com/lagradost/cloudstream3/plugins/VotingApi.kt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/com/lagradost/cloudstream3/plugins/VotingApi.kt b/app/src/main/java/com/lagradost/cloudstream3/plugins/VotingApi.kt index a6f30267a37..0ceaa77e566 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/plugins/VotingApi.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/plugins/VotingApi.kt @@ -2,6 +2,7 @@ package com.lagradost.cloudstream3.plugins import android.util.Log import android.widget.Toast +import com.fasterxml.jackson.annotation.JsonProperty import com.lagradost.cloudstream3.CloudStreamApp.Companion.context import com.lagradost.cloudstream3.CloudStreamApp.Companion.getKey import com.lagradost.cloudstream3.CloudStreamApp.Companion.setKey @@ -15,7 +16,6 @@ import kotlinx.serialization.SerialName import kotlinx.serialization.Serializable object VotingApi { - private const val LOGKEY = "VotingApi" private const val API_DOMAIN = "https://api.countify.xyz" @@ -95,7 +95,7 @@ object VotingApi { @Serializable private data class CountifyResult( - @SerialName("id") val id: String? = null, - @SerialName("count") val count: Int? = null, + @JsonProperty("id") @SerialName("id") val id: String? = null, + @JsonProperty("count") @SerialName("count") val count: Int? = null, ) }