Skip to content

Commit 0511e5e

Browse files
feat: Add RoktConfig in MP layer
1 parent 6243d3c commit 0511e5e

8 files changed

Lines changed: 68 additions & 20 deletions

File tree

android-core/src/main/java/com/mparticle/MParticle.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@
5252
import com.mparticle.media.MediaCallbacks;
5353
import com.mparticle.messaging.MPMessagingAPI;
5454
import com.mparticle.messaging.ProviderCloudMessage;
55+
import com.mparticle.rokt.RoktConfig;
5556
import com.mparticle.rokt.RoktEmbeddedView;
5657

5758
import org.jetbrains.annotations.NotNull;
@@ -1880,13 +1881,15 @@ public void selectPlacements(@NonNull String viewName,
18801881
@NonNull Map<String, String> attributes,
18811882
@Nullable MpRoktEventCallback callbacks,
18821883
@Nullable Map<String, WeakReference<RoktEmbeddedView>> placeHolders,
1883-
@Nullable Map<String, WeakReference<Typeface>> fontTypefaces) {
1884+
@Nullable Map<String, WeakReference<Typeface>> fontTypefaces,
1885+
@Nullable RoktConfig config) {
18841886
if (mConfigManager.isEnabled()) {
18851887
mKitManager.execute(viewName,
18861888
attributes,
18871889
callbacks,
18881890
placeHolders,
1889-
fontTypefaces);
1891+
fontTypefaces,
1892+
config);
18901893
}
18911894
}
18921895
public void selectPlacements(@NonNull String viewName,
@@ -1896,6 +1899,7 @@ public void selectPlacements(@NonNull String viewName,
18961899
attributes,
18971900
null,
18981901
null,
1902+
null,
18991903
null
19001904
);
19011905
}

android-core/src/main/java/com/mparticle/internal/KitFrameworkWrapper.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
import com.mparticle.identity.IdentityApiRequest;
2121
import com.mparticle.identity.MParticleUser;
2222
import com.mparticle.internal.listeners.InternalListenerManager;
23+
import com.mparticle.rokt.RoktConfig;
2324
import com.mparticle.rokt.RoktEmbeddedView;
2425

2526
import org.json.JSONArray;
@@ -653,13 +654,15 @@ public void execute(String viewName,
653654
Map<String, String> attributes,
654655
MParticle.MpRoktEventCallback mpRoktEventCallback,
655656
Map<String, WeakReference<RoktEmbeddedView>> placeHolders,
656-
Map<String, WeakReference<Typeface>> fontTypefaces) {
657+
Map<String, WeakReference<Typeface>> fontTypefaces,
658+
RoktConfig config) {
657659
if (mKitManager != null) {
658660
mKitManager.execute(viewName,
659661
attributes,
660662
mpRoktEventCallback,
661663
placeHolders,
662-
fontTypefaces);
664+
fontTypefaces,
665+
config);
663666
}
664667
}
665668

android-core/src/main/java/com/mparticle/internal/KitManager.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
import com.mparticle.consent.ConsentState;
1919
import com.mparticle.identity.IdentityApiRequest;
2020
import com.mparticle.identity.MParticleUser;
21+
import com.mparticle.rokt.RoktConfig;
2122
import com.mparticle.rokt.RoktEmbeddedView;
2223

2324
import org.json.JSONArray;
@@ -126,7 +127,8 @@ void execute(String viewName,
126127
Map<String, String> attributes,
127128
MParticle.MpRoktEventCallback mpRoktEventCallback,
128129
Map<String, WeakReference<RoktEmbeddedView>> placeHolders,
129-
Map<String, WeakReference<Typeface>> fontTypefaces);
130+
Map<String, WeakReference<Typeface>> fontTypefaces,
131+
RoktConfig config);
130132

131133
enum KitStatus {
132134
NOT_CONFIGURED,
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
package com.mparticle.rokt
2+
3+
class RoktConfig private constructor(
4+
val colorMode: ColorMode?,
5+
val cacheConfig: CacheConfig?,
6+
val edgeToEdgeDisplay: Boolean,
7+
) {
8+
data class Builder(
9+
private var colorMode: ColorMode? = null,
10+
private var cacheConfig: CacheConfig? = null,
11+
private var edgeToEdgeDisplay: Boolean = true,
12+
) {
13+
fun colorMode(mode: ColorMode) = apply { this.colorMode = mode }
14+
fun cacheConfig(cacheConfig: CacheConfig) = apply { this.cacheConfig = cacheConfig }
15+
fun edgeToEdgeDisplay(edgeToEdgeDisplay: Boolean) = apply { this.edgeToEdgeDisplay = edgeToEdgeDisplay }
16+
fun build(): RoktConfig = RoktConfig(colorMode, cacheConfig, edgeToEdgeDisplay)
17+
}
18+
19+
enum class ColorMode { LIGHT, DARK, SYSTEM }
20+
}
21+
22+
class CacheConfig(
23+
val cacheDurationInSeconds: Long = DEFAULT_CACHE_DURATION_SECS,
24+
val cacheAttributes: Map<String, String>? = null,
25+
) {
26+
companion object {
27+
const val DEFAULT_CACHE_DURATION_SECS: Long = 90 * 60
28+
}
29+
}

android-core/src/test/kotlin/com/mparticle/MParticleTest.kt

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ import com.mparticle.internal.MessageManager
1818
import com.mparticle.media.MPMediaAPI
1919
import com.mparticle.messaging.MPMessagingAPI
2020
import com.mparticle.mock.MockContext
21+
import com.mparticle.rokt.RoktConfig
2122
import com.mparticle.rokt.RoktEmbeddedView
2223
import com.mparticle.testutils.AndroidUtils
2324
import com.mparticle.testutils.RandomUtils
@@ -481,6 +482,8 @@ class MParticleTest {
481482
val placeholders: Map<String, WeakReference<RoktEmbeddedView>> = HashMap()
482483
val fonts: Map<String, WeakReference<Typeface>> = HashMap()
483484

485+
val config = RoktConfig.Builder().colorMode(RoktConfig.ColorMode.DARK).build()
486+
484487
val callbacks = object : MParticle.MpRoktEventCallback {
485488
override fun onLoad() {
486489
println("View loaded")
@@ -498,9 +501,9 @@ class MParticleTest {
498501
println("Hide loading indicator")
499502
}
500503
}
501-
instance.rokt!!.selectPlacements("testView", attributes, callbacks, placeholders, fonts)
504+
instance.rokt!!.selectPlacements("testView", attributes, callbacks, placeholders, fonts, config)
502505

503-
verify(instance.mKitManager)?.execute("testView", attributes, callbacks, placeholders, fonts)
506+
verify(instance.mKitManager)?.execute("testView", attributes, callbacks, placeholders, fonts, config)
504507
}
505508

506509
@Test
@@ -514,7 +517,7 @@ class MParticleTest {
514517

515518
instance.rokt.selectPlacements("basicView", attributes)
516519

517-
verify(instance.mKitManager).execute("basicView", attributes, null, null, null)
520+
verify(instance.mKitManager).execute("basicView", attributes, null, null, null, null)
518521
}
519522

520523
@Test
@@ -525,7 +528,7 @@ class MParticleTest {
525528

526529
instance.rokt.selectPlacements("basicView", HashMap())
527530

528-
verify(instance.mKitManager, never()).execute(any(), any(), any(), any(), any())
531+
verify(instance.mKitManager, never()).execute(any(), any(), any(), any(), any(), any())
529532
}
530533

531534
inner class InnerMockMParticle : MParticle() {

android-kit-base/src/main/java/com/mparticle/kits/KitIntegration.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
import com.mparticle.commerce.CommerceEvent;
1919
import com.mparticle.consent.ConsentState;
2020
import com.mparticle.identity.MParticleUser;
21+
import com.mparticle.rokt.RoktConfig;
2122
import com.mparticle.rokt.RoktEmbeddedView;
2223

2324
import org.json.JSONObject;
@@ -617,6 +618,7 @@ void execute(String viewName,
617618
MParticle.MpRoktEventCallback mpRoktEventCallback,
618619
Map<String, WeakReference<RoktEmbeddedView>> placeHolders,
619620
Map<String, WeakReference<Typeface>> fontTypefaces,
620-
FilteredMParticleUser user);
621+
FilteredMParticleUser user,
622+
RoktConfig config);
621623
}
622624
}

android-kit-base/src/main/java/com/mparticle/kits/KitManagerImpl.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@
4646
import com.mparticle.internal.MPUtility;
4747
import com.mparticle.internal.ReportingManager;
4848
import com.mparticle.kits.mappings.CustomMapping;
49+
import com.mparticle.rokt.RoktConfig;
4950
import com.mparticle.rokt.RoktEmbeddedView;
5051

5152
import org.json.JSONArray;
@@ -1338,7 +1339,8 @@ public void execute(String viewName,
13381339
Map<String, String> attributes,
13391340
MParticle.MpRoktEventCallback mpRoktEventCallback,
13401341
Map<String, WeakReference<RoktEmbeddedView>> placeHolders,
1341-
Map<String, WeakReference<Typeface>> fontTypefaces) {
1342+
Map<String, WeakReference<Typeface>> fontTypefaces,
1343+
RoktConfig config) {
13421344
for (KitIntegration provider : providers.values()) {
13431345
try {
13441346
if (provider instanceof KitIntegration.RoktListener && !provider.isDisabled()) {
@@ -1389,7 +1391,8 @@ public void execute(String viewName,
13891391
mpRoktEventCallback,
13901392
placeHolders,
13911393
fontTypefaces,
1392-
FilteredMParticleUser.getInstance(user.getId(), provider));
1394+
FilteredMParticleUser.getInstance(user.getId(), provider),
1395+
config);
13931396
});
13941397
}
13951398
} catch (Exception e) {

android-kit-base/src/test/kotlin/com/mparticle/kits/KitManagerImplTest.kt

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ import com.mparticle.mock.MockContext
2424
import com.mparticle.mock.MockKitConfiguration
2525
import com.mparticle.mock.MockKitManagerImpl
2626
import com.mparticle.mock.MockMParticle
27+
import com.mparticle.rokt.RoktConfig
2728
import com.mparticle.rokt.RoktEmbeddedView
2829
import com.mparticle.testutils.TestingUtils
2930
import junit.framework.TestCase
@@ -845,7 +846,7 @@ class KitManagerImplTest {
845846
Pair("country", "US")
846847
)
847848

848-
manager.execute("Test", attributes, null, null, null)
849+
manager.execute("Test", attributes, null, null, null, null)
849850
Assert.assertEquals(6, attributes.size)
850851
Assert.assertEquals("(123) 456-9898", attributes["no"])
851852
Assert.assertEquals("55555", attributes["minorcatid"])
@@ -910,7 +911,7 @@ class KitManagerImplTest {
910911
Pair("country", "US")
911912
)
912913

913-
manager.execute("Test", attributes, null, null, null)
914+
manager.execute("Test", attributes, null, null, null, null)
914915
Assert.assertEquals(6, attributes.size)
915916

916917
Assert.assertEquals("(123) 456-9898", attributes["call"])
@@ -976,7 +977,7 @@ class KitManagerImplTest {
976977
Pair("country", "US")
977978
)
978979

979-
manager.execute("Test", attributes, null, null, null)
980+
manager.execute("Test", attributes, null, null, null, null)
980981
Assert.assertEquals(6, attributes.size)
981982
Assert.assertEquals("(123) 456-9898", attributes["no"])
982983
Assert.assertEquals("5-45555", attributes["minorcatid"])
@@ -1040,7 +1041,7 @@ class KitManagerImplTest {
10401041
Pair("country", "US")
10411042
)
10421043

1043-
manager.execute("Test", attributes, null, null, null)
1044+
manager.execute("Test", attributes, null, null, null, null)
10441045
Assert.assertEquals(6, attributes.size)
10451046
Assert.assertEquals("(123) 456-9898", attributes["number"])
10461047
Assert.assertEquals("55555", attributes["customerId"])
@@ -1289,7 +1290,7 @@ class KitManagerImplTest {
12891290
Pair("customerId", "55555"),
12901291
Pair("country", "US")
12911292
)
1292-
manager.execute("Test", attributes, null, null, null)
1293+
manager.execute("Test", attributes, null, null, null, null)
12931294
Assert.assertEquals(6, attributes.size)
12941295
Assert.assertEquals("(123) 456-9898", attributes["number"])
12951296
Assert.assertEquals("55555", attributes["customerId"])
@@ -1351,7 +1352,7 @@ class KitManagerImplTest {
13511352
Pair("customerId", "55555"),
13521353
Pair("country", "US")
13531354
)
1354-
manager.execute("Test", attributes, null, null, null)
1355+
manager.execute("Test", attributes, null, null, null, null)
13551356
Assert.assertEquals(6, attributes.size)
13561357
Assert.assertEquals("(123) 456-9898", attributes["number"])
13571358
Assert.assertEquals("55555", attributes["customerId"])
@@ -1414,7 +1415,7 @@ class KitManagerImplTest {
14141415
Pair("country", "US"),
14151416
Pair("sandbox", "false")
14161417
)
1417-
manager.execute("Test", attributes, null, null, null)
1418+
manager.execute("Test", attributes, null, null, null, null)
14181419
Assert.assertEquals(6, attributes.size)
14191420
Assert.assertEquals("(123) 456-9898", attributes["number"])
14201421
Assert.assertEquals("55555", attributes["customerId"])
@@ -1445,7 +1446,8 @@ class KitManagerImplTest {
14451446
mpRoktEventCallback: MParticle.MpRoktEventCallback?,
14461447
placeHolders: MutableMap<String, WeakReference<RoktEmbeddedView>>?,
14471448
fontTypefaces: MutableMap<String, WeakReference<Typeface>>?,
1448-
user: FilteredMParticleUser?
1449+
user: FilteredMParticleUser?,
1450+
config: RoktConfig
14491451
) {
14501452
println("Executed with $attributes")
14511453
}

0 commit comments

Comments
 (0)