11package com.mparticle.kits
22
3- import android.graphics.Typeface
4- import androidx.annotation.NonNull
5- import androidx.annotation.Nullable
6- import androidx.compose.foundation.layout.padding
7- import androidx.compose.foundation.layout.wrapContentHeight
8- import androidx.compose.foundation.layout.wrapContentWidth
9- import androidx.compose.material.MaterialTheme.typography
10- import androidx.compose.material.Text
113import androidx.compose.runtime.Composable
124import androidx.compose.runtime.LaunchedEffect
135import androidx.compose.runtime.mutableStateOf
146import androidx.compose.runtime.remember
157import androidx.compose.ui.Modifier
16- import androidx.compose.ui.graphics.Color
17- import androidx.compose.ui.unit.dp
188import com.mparticle.MpRoktEventCallback
19- import com.mparticle.rokt.RoktConfig
20- import com.mparticle.rokt.RoktEmbeddedView
219import com.rokt.roktsdk.Rokt
22- import java.lang.ref.WeakReference
2310
2411@Composable
2512fun RoktLayout (
2613 sdkTriggered : Boolean ,
2714 viewName : String ,
28- modifier : Modifier ,
2915 attributes : Map <String , String >,
3016 location : String ,
31- mpRoktEventCallback : MpRoktEventCallback ?
17+ modifier : Modifier = Modifier ,
18+ mpRoktEventCallback : MpRoktEventCallback ? = null,
3219) {
33- val instance = RoktKit .get()
34-
35- data class RoktResult (val attributes : Map <String , String >, val callback : Rokt .RoktCallback )
36-
20+ val instance = RoktKit .instance
3721 val resultMapState = remember { mutableStateOf<RoktResult ?>(null ) }
38- val trigger = remember { mutableStateOf(0 ) }
39- LaunchedEffect (trigger.value) {
40- instance?.ComposableTest (attributes, mpRoktEventCallback, { resultMap, callback ->
22+ LaunchedEffect (Unit ) {
23+ instance?.runComposableWithCallback(attributes, mpRoktEventCallback, { resultMap, callback ->
4124 resultMapState.value = RoktResult (resultMap, callback)
4225 })
4326 }
4427
4528 resultMapState.value?.let { resultMap ->
46- com.rokt.roktsdk.RoktLayout (sdkTriggered, viewName, modifier, resultMap.attributes, location)
29+ com.rokt.roktsdk.RoktLayout (
30+ sdkTriggered, viewName, modifier, resultMap.attributes, location,
31+ onLoad = { resultMap.callback.onLoad() },
32+ onShouldShowLoadingIndicator = { resultMap.callback.onShouldShowLoadingIndicator() },
33+ onShouldHideLoadingIndicator = { resultMap.callback.onShouldHideLoadingIndicator() },
34+ onUnload = { reason -> resultMap.callback.onUnload(reason) })
4735 }
48- }
36+ }
37+
38+ data class RoktResult (val attributes : Map <String , String >, val callback : Rokt .RoktCallback )
0 commit comments