@@ -7,7 +7,6 @@ import android.content.pm.PackageManager
7
7
import android.graphics.Typeface
8
8
import android.os.Build
9
9
import com.mparticle.BuildConfig
10
- import com.mparticle.MParticle
11
10
import com.mparticle.MParticle.IdentityType
12
11
import com.mparticle.MpRoktEventCallback
13
12
import com.mparticle.UnloadReasons
@@ -24,11 +23,15 @@ import com.mparticle.rokt.RoktEmbeddedView
24
23
import com.rokt.roktsdk.CacheConfig
25
24
import com.rokt.roktsdk.Rokt
26
25
import com.rokt.roktsdk.Rokt.SdkFrameworkType.*
26
+ import com.rokt.roktsdk.RoktEvent
27
27
import com.rokt.roktsdk.RoktWidgetDimensionCallBack
28
28
import com.rokt.roktsdk.Widget
29
29
import java.lang.ref.WeakReference
30
30
import java.math.BigDecimal
31
-
31
+ import kotlinx.coroutines.flow.Flow
32
+ import kotlinx.coroutines.flow.filter
33
+ import kotlinx.coroutines.flow.first
34
+ import kotlinx.coroutines.flow.map
32
35
33
36
/* *
34
37
* MParticle embedded implementation of the Rokt Library.
@@ -203,6 +206,45 @@ class RoktKit : KitIntegration(), CommerceListener, IdentityListener, RoktListen
203
206
)
204
207
}
205
208
209
+ override fun events (identifier : String ): Flow <com.mparticle.RoktEvent > {
210
+ return Rokt .events(identifier)
211
+ .map { event ->
212
+ when (event) {
213
+ is RoktEvent .HideLoadingIndicator -> com.mparticle.RoktEvent .HideLoadingIndicator
214
+ is RoktEvent .ShowLoadingIndicator -> com.mparticle.RoktEvent .ShowLoadingIndicator
215
+ is RoktEvent .FirstPositiveEngagement -> com.mparticle.RoktEvent .FirstPositiveEngagement (
216
+ event.id
217
+ )
218
+ is RoktEvent .PositiveEngagement -> com.mparticle.RoktEvent .PositiveEngagement (
219
+ event.id
220
+ )
221
+ is RoktEvent .OfferEngagement -> com.mparticle.RoktEvent .OfferEngagement (event.id)
222
+ is RoktEvent .OpenUrl -> com.mparticle.RoktEvent .OpenUrl (event.id, event.url)
223
+ is RoktEvent .PlacementClosed -> com.mparticle.RoktEvent .PlacementClosed (event.id)
224
+ is RoktEvent .PlacementCompleted -> com.mparticle.RoktEvent .PlacementCompleted (
225
+ event.id
226
+ )
227
+ is RoktEvent .PlacementFailure -> com.mparticle.RoktEvent .PlacementFailure (event.id)
228
+ is RoktEvent .PlacementInteractive -> com.mparticle.RoktEvent .PlacementInteractive (
229
+ event.id
230
+ )
231
+ is RoktEvent .PlacementReady -> com.mparticle.RoktEvent .PlacementReady (event.id)
232
+ is RoktEvent .CartItemInstantPurchase -> com.mparticle.RoktEvent .CartItemInstantPurchase (
233
+ placementId = event.placementId,
234
+ cartItemId = event.cartItemId,
235
+ catalogItemId = event.catalogItemId,
236
+ currency = event.currency,
237
+ description = event.description,
238
+ linkedProductId = event.linkedProductId,
239
+ totalPrice = event.totalPrice,
240
+ quantity = event.quantity,
241
+ unitPrice = event.unitPrice
242
+ )
243
+ is RoktEvent .InitComplete -> com.mparticle.RoktEvent .InitComplete (event.success)
244
+ }
245
+ }
246
+ }
247
+
206
248
override fun setWrapperSdkVersion (wrapperSdkVersion : WrapperSdkVersion ) {
207
249
val sdkFrameworkType = when (wrapperSdkVersion.sdk) {
208
250
WrapperSdk .WrapperFlutter -> Flutter
@@ -325,7 +367,6 @@ class RoktKit : KitIntegration(), CommerceListener, IdentityListener, RoktListen
325
367
}
326
368
}
327
369
328
-
329
370
fun PackageManager.getPackageInfoForApp (packageName : String , flags : Int = 0): PackageInfo =
330
371
if (Build .VERSION .SDK_INT >= Build .VERSION_CODES .TIRAMISU ) {
331
372
getPackageInfo(packageName, PackageManager .PackageInfoFlags .of(flags.toLong()))
0 commit comments