From 2436cf1d997a94902127920e7c6e6b486ed406cd Mon Sep 17 00:00:00 2001 From: Daniil Fadeev Date: Tue, 4 Aug 2026 10:01:32 +0300 Subject: [PATCH] feat: expose frozen remote config assignments --- .../dto/QRemoteConfigurationAssignmentType.kt | 5 +++- .../QRemoteConfigurationAssignmentTypeTest.kt | 25 +++++++++++++++++++ 2 files changed, 29 insertions(+), 1 deletion(-) create mode 100644 sdk/src/test/java/com/qonversion/android/sdk/dto/QRemoteConfigurationAssignmentTypeTest.kt diff --git a/sdk/src/main/java/com/qonversion/android/sdk/dto/QRemoteConfigurationAssignmentType.kt b/sdk/src/main/java/com/qonversion/android/sdk/dto/QRemoteConfigurationAssignmentType.kt index 78c871100..b26fbe17d 100644 --- a/sdk/src/main/java/com/qonversion/android/sdk/dto/QRemoteConfigurationAssignmentType.kt +++ b/sdk/src/main/java/com/qonversion/android/sdk/dto/QRemoteConfigurationAssignmentType.kt @@ -3,13 +3,16 @@ package com.qonversion.android.sdk.dto enum class QRemoteConfigurationAssignmentType(val type: String) { Auto("auto"), Manual("manual"), - Unknown("unknown"); + Unknown("unknown"), + // Appended to preserve the ordinals of the existing public enum values. + Frozen("frozen"); companion object { fun fromType(type: String): QRemoteConfigurationAssignmentType { return when (type) { "auto" -> Auto "manual" -> Manual + "frozen" -> Frozen else -> Unknown } } diff --git a/sdk/src/test/java/com/qonversion/android/sdk/dto/QRemoteConfigurationAssignmentTypeTest.kt b/sdk/src/test/java/com/qonversion/android/sdk/dto/QRemoteConfigurationAssignmentTypeTest.kt new file mode 100644 index 000000000..f014aa613 --- /dev/null +++ b/sdk/src/test/java/com/qonversion/android/sdk/dto/QRemoteConfigurationAssignmentTypeTest.kt @@ -0,0 +1,25 @@ +package com.qonversion.android.sdk.dto + +import org.junit.Assert.assertEquals +import org.junit.Test + +class QRemoteConfigurationAssignmentTypeTest { + @Test + fun `frozen wire value preserves assignment provenance`() { + assertEquals( + QRemoteConfigurationAssignmentType.Frozen, + QRemoteConfigurationAssignmentType.fromType("frozen") + ) + } + + @Test + fun `existing enum ordinals and unknown fallback remain compatible`() { + assertEquals(0, QRemoteConfigurationAssignmentType.Auto.ordinal) + assertEquals(1, QRemoteConfigurationAssignmentType.Manual.ordinal) + assertEquals(2, QRemoteConfigurationAssignmentType.Unknown.ordinal) + assertEquals( + QRemoteConfigurationAssignmentType.Unknown, + QRemoteConfigurationAssignmentType.fromType("future") + ) + } +}