From fbf1ce37ed96f660f67cd740e3aae8d07e0f321b Mon Sep 17 00:00:00 2001 From: Mansi Pandya Date: Mon, 9 Jun 2025 13:21:22 -0400 Subject: [PATCH 1/2] fix: correct rendering issue with Rokt placement holder --- src/main/kotlin/com/mparticle/kits/RoktKit.kt | 39 ++++++++++++++----- 1 file changed, 29 insertions(+), 10 deletions(-) diff --git a/src/main/kotlin/com/mparticle/kits/RoktKit.kt b/src/main/kotlin/com/mparticle/kits/RoktKit.kt index 79e710e..7511c09 100644 --- a/src/main/kotlin/com/mparticle/kits/RoktKit.kt +++ b/src/main/kotlin/com/mparticle/kits/RoktKit.kt @@ -16,6 +16,7 @@ import com.mparticle.kits.KitIntegration.IdentityListener import com.mparticle.kits.KitIntegration.RoktListener import com.mparticle.rokt.RoktEmbeddedView import com.rokt.roktsdk.Rokt +import com.rokt.roktsdk.RoktWidgetDimensionCallBack import com.rokt.roktsdk.Widget import java.lang.ref.WeakReference import java.math.BigDecimal @@ -38,7 +39,8 @@ class RoktKit : KitIntegration(), CommerceListener, IdentityListener, RoktListen ctx: Context ): List { applicationContext = ctx.applicationContext - val roktTagId = settings[ROKT_ACCOUNT_ID] + // val roktTagId = settings[ROKT_ACCOUNT_ID] + val roktTagId = "2754655826098840951" if (KitUtils.isEmpty(roktTagId)) { throwOnKitCreateError(NO_ROKT_ACCOUNT_ID) } @@ -127,12 +129,30 @@ class RoktKit : KitIntegration(), CommerceListener, IdentityListener, RoktListen fontTypefaces: MutableMap>?, filterUser: FilteredMParticleUser? ) { - // Converting the placeholders to a Map> by filtering and casting each entry val placeholders: Map>? = placeHolders?.mapNotNull { entry -> - val weakRef = entry.value - val widget = weakRef.get() as? Widget // Safe cast to Widget - widget?.let { entry.key to weakRef as WeakReference } // Only include if it's a Widget + val widget = Widget(entry.value.get()?.context as Context) + entry.value.get()?.removeAllViews() + entry.value.get()?.addView(widget) + entry.value.get()?.dimensionCallBack?.let { + widget.registerDimensionListener(object: RoktWidgetDimensionCallBack { + override fun onHeightChanged(height: Int) { + it.onHeightChanged(height) + } + + override fun onMarginChanged( + start: Int, + top: Int, + end: Int, + bottom: Int + ) { + it.onMarginChanged(start, top, end, bottom) + } + + }) + } + entry.key to WeakReference(widget) }?.toMap() + this.mpRoktEventCallback = mpRoktEventCallback val finalAttributes: HashMap = HashMap() filterUser?.userAttributes?.let { userAttrs -> @@ -141,11 +161,10 @@ class RoktKit : KitIntegration(), CommerceListener, IdentityListener, RoktListen } } - filterUser?.id?.let { mpid -> - finalAttributes.put(MPID, mpid.toString()) - } ?: run { - Logger.warning("RoktKit: No user ID available for placement") - } + filterUser?.id?.toString()?.let { mpid -> + finalAttributes[MPID] = mpid + } ?: Logger.warning("RoktKit: No user ID available for placement") + addIdentityAttributes(finalAttributes, filterUser) Rokt.execute( From 80db0b982673825dcb17115531914be1bcd8ba09 Mon Sep 17 00:00:00 2001 From: Mansi Pandya Date: Mon, 9 Jun 2025 13:25:32 -0400 Subject: [PATCH 2/2] Removed testing Rokt-ID --- src/main/kotlin/com/mparticle/kits/RoktKit.kt | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/main/kotlin/com/mparticle/kits/RoktKit.kt b/src/main/kotlin/com/mparticle/kits/RoktKit.kt index 7511c09..8040b2c 100644 --- a/src/main/kotlin/com/mparticle/kits/RoktKit.kt +++ b/src/main/kotlin/com/mparticle/kits/RoktKit.kt @@ -39,8 +39,7 @@ class RoktKit : KitIntegration(), CommerceListener, IdentityListener, RoktListen ctx: Context ): List { applicationContext = ctx.applicationContext - // val roktTagId = settings[ROKT_ACCOUNT_ID] - val roktTagId = "2754655826098840951" + val roktTagId = settings[ROKT_ACCOUNT_ID] if (KitUtils.isEmpty(roktTagId)) { throwOnKitCreateError(NO_ROKT_ACCOUNT_ID) }