Skip to content

Commit 2674b81

Browse files
committed
Merge branch 'development' into feat/SQDSDKS-7388-framework-type
2 parents 2b87bf5 + 28336cd commit 2674b81

File tree

1 file changed

+34
-3
lines changed

1 file changed

+34
-3
lines changed

src/main/kotlin/com/mparticle/kits/RoktKit.kt

Lines changed: 34 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,9 @@ import com.mparticle.internal.Logger
1717
import com.mparticle.kits.KitIntegration.CommerceListener
1818
import com.mparticle.kits.KitIntegration.IdentityListener
1919
import com.mparticle.kits.KitIntegration.RoktListener
20+
import com.mparticle.rokt.RoktConfig
2021
import com.mparticle.rokt.RoktEmbeddedView
22+
import com.rokt.roktsdk.CacheConfig
2123
import com.rokt.roktsdk.Rokt
2224
import com.rokt.roktsdk.Rokt.SdkFrameworkType.*
2325
import com.rokt.roktsdk.RoktWidgetDimensionCallBack
@@ -141,7 +143,8 @@ class RoktKit : KitIntegration(), CommerceListener, IdentityListener, RoktListen
141143
mpRoktEventCallback: MParticle.MpRoktEventCallback?,
142144
placeHolders: MutableMap<String, WeakReference<RoktEmbeddedView>>?,
143145
fontTypefaces: MutableMap<String, WeakReference<Typeface>>?,
144-
filterUser: FilteredMParticleUser?
146+
filterUser: FilteredMParticleUser?,
147+
mpRoktConfig: RoktConfig?
145148
) {
146149
val placeholders: Map<String, WeakReference<Widget>>? = placeHolders?.mapNotNull { entry ->
147150
val widget = Widget(entry.value.get()?.context as Context)
@@ -186,14 +189,15 @@ class RoktKit : KitIntegration(), CommerceListener, IdentityListener, RoktListen
186189
attributes?.get(SANDBOX_MODE_ROKT)?.let { value ->
187190
finalAttributes.put(SANDBOX_MODE_ROKT, value)
188191
}
189-
192+
val roktConfig = mpRoktConfig?.let { mapToRoktConfig(it) }
190193
Rokt.execute(
191194
viewName,
192195
finalAttributes,
193196
this,
194197
// Pass placeholders and fontTypefaces only if they are not empty or null
195198
placeholders.takeIf { it?.isNotEmpty() == true },
196-
fontTypefaces.takeIf { it?.isNotEmpty() == true }
199+
fontTypefaces.takeIf { it?.isNotEmpty() == true },
200+
roktConfig
197201
)
198202
}
199203

@@ -207,6 +211,33 @@ class RoktKit : KitIntegration(), CommerceListener, IdentityListener, RoktListen
207211
Rokt.setFrameworkType(sdkFrameworkType)
208212
}
209213

214+
public fun mapToRoktConfig(config: RoktConfig): com.rokt.roktsdk.RoktConfig {
215+
val colorMode = when (config.colorMode) {
216+
RoktConfig.ColorMode.LIGHT -> com.rokt.roktsdk.RoktConfig.ColorMode.LIGHT
217+
RoktConfig.ColorMode.DARK -> com.rokt.roktsdk.RoktConfig.ColorMode.DARK
218+
RoktConfig.ColorMode.SYSTEM -> com.rokt.roktsdk.RoktConfig.ColorMode.SYSTEM
219+
else -> com.rokt.roktsdk.RoktConfig.ColorMode.SYSTEM
220+
}
221+
222+
val cacheConfig = config.cacheConfig?.cacheDurationInSeconds?.let {
223+
CacheConfig(
224+
cacheDurationInSeconds = it,
225+
cacheAttributes = config.cacheConfig?.cacheAttributes
226+
)
227+
}
228+
229+
val edgeToEdgeDisplay = config.edgeToEdgeDisplay
230+
231+
val builder = com.rokt.roktsdk.RoktConfig.Builder()
232+
.colorMode(colorMode)
233+
.edgeToEdgeDisplay(edgeToEdgeDisplay)
234+
235+
cacheConfig?.let {
236+
builder.cacheConfig(it)
237+
}
238+
return builder.build()
239+
}
240+
210241
private fun addIdentityAttributes(attributes: MutableMap<String, String>?, filterUser: FilteredMParticleUser?): MutableMap<String, String> {
211242
val identityAttributes = mutableMapOf<String, String>()
212243
if (filterUser != null) {

0 commit comments

Comments
 (0)