From 4e38dcf9f36f8cc52dd865625ecfbf8783f25ea3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Herculano?= Date: Thu, 11 Sep 2025 14:48:19 +0200 Subject: [PATCH 1/2] make GDPRLegacyConsent.gcmStatus optional When migrating from legacy versions, some properties don't have gcm configured and thus this value is null. If not optional, the transfer from legacy data would fail causing the SDK to start from a new State. --- .../com/sourcepoint/cmplibrary/legacy/TransferFromNativeSDK.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmplibrary/src/main/java/com/sourcepoint/cmplibrary/legacy/TransferFromNativeSDK.kt b/cmplibrary/src/main/java/com/sourcepoint/cmplibrary/legacy/TransferFromNativeSDK.kt index b3d057df3..3ac183e5e 100644 --- a/cmplibrary/src/main/java/com/sourcepoint/cmplibrary/legacy/TransferFromNativeSDK.kt +++ b/cmplibrary/src/main/java/com/sourcepoint/cmplibrary/legacy/TransferFromNativeSDK.kt @@ -254,7 +254,7 @@ data class GDPRLegacyConsent( val vendorListId: String, val webConsentPayload: JsonObject?, val expirationDate: String, - val gcmStatus: GDPRConsent.GCMStatus + val gcmStatus: GDPRConsent.GCMStatus? ) { companion object { const val PREFS_KEY = "sp.gdpr.key.consent.status" From c6f2919e590289ad05f14d03888dd2982fb86156 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Herculano?= Date: Thu, 11 Sep 2025 14:48:29 +0200 Subject: [PATCH 2/2] remove unused keys from legacy state --- .../cmplibrary/legacy/TransferFromNativeSDK.kt | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/cmplibrary/src/main/java/com/sourcepoint/cmplibrary/legacy/TransferFromNativeSDK.kt b/cmplibrary/src/main/java/com/sourcepoint/cmplibrary/legacy/TransferFromNativeSDK.kt index 3ac183e5e..c661ba731 100644 --- a/cmplibrary/src/main/java/com/sourcepoint/cmplibrary/legacy/TransferFromNativeSDK.kt +++ b/cmplibrary/src/main/java/com/sourcepoint/cmplibrary/legacy/TransferFromNativeSDK.kt @@ -50,6 +50,7 @@ fun removeLegacyData(preferences: SharedPreferences) { remove(LegacyGDPRChildPmId.PREFS_KEY) remove(LegacyCCPAChildPmId.PREFS_KEY) remove(LegacyUSNATChildPmId.PREFS_KEY) + unusedSPKeys.forEach { remove(it) } commit() } } @@ -420,3 +421,13 @@ class LegacyUSNATChildPmId { const val PREFS_KEY = "sp.usnat.key.childPmId" } } + +private val unusedSPKeys = listOf( + "sp.gdpr.key.expiration.date", + "sp.ccpa.key.expiration.date", + "sp.usnat.key.expiration.date", + "sp.gdpr.consentUUID", + "sp.ccpa.consentUUID", + "sp.usnat.consentUUID", + "sp.key.config.propertyId" +)