Skip to content

Commit 371d27a

Browse files
feat: Add Rokt close implementation (#596)
* Add Rokt close implementation * Correct log Co-authored-by: Thomson Thomas <125323226+thomson-t@users.noreply.github.com> Signed-off-by: James Newman <james.newman@rokt.com> --------- Signed-off-by: James Newman <james.newman@rokt.com> Co-authored-by: Thomson Thomas <125323226+thomson-t@users.noreply.github.com>
1 parent 07cb459 commit 371d27a

6 files changed

Lines changed: 36 additions & 0 deletions

File tree

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

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -708,6 +708,13 @@ public void purchaseFinalized(@NonNull String placementId, @NonNull String catal
708708
}
709709
}
710710

711+
@Override
712+
public void close() {
713+
if (mKitManager != null) {
714+
mKitManager.close();
715+
}
716+
}
717+
711718
static class CoreCallbacksImpl implements CoreCallbacks {
712719
KitFrameworkWrapper mKitFrameworkWrapper;
713720
ConfigManager mConfigManager;

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -146,6 +146,8 @@ void execute(@NonNull String identifier,
146146

147147
void purchaseFinalized(@NonNull String placementId, @NonNull String catalogItemId, boolean status);
148148

149+
void close();
150+
149151
enum KitStatus {
150152
NOT_CONFIGURED,
151153
STOPPED,

android-core/src/main/kotlin/com/mparticle/Rokt.kt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,4 +43,10 @@ class Rokt internal constructor(
4343
mKitManager.purchaseFinalized(placementId, catalogItemId, status)
4444
}
4545
}
46+
47+
fun close() {
48+
if (mConfigManager.isEnabled) {
49+
mKitManager.close()
50+
}
51+
}
4652
}

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -637,5 +637,7 @@ void execute(@NonNull String viewName,
637637
void setWrapperSdkVersion(@NonNull WrapperSdkVersion wrapperSdkVersion);
638638

639639
void purchaseFinalized(@NonNull String placementId, @NonNull String catalogItemId, boolean status);
640+
641+
void close();
640642
}
641643
}

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

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1421,12 +1421,14 @@ public Flow<RoktEvent> events(@NonNull String identifier) {
14211421
for (KitIntegration provider : providers.values()) {
14221422
try {
14231423
if (provider instanceof KitIntegration.RoktListener && !provider.isDisabled()) {
1424+
Logger.verbose("Calling events for kit: " + provider.getName() + " with identifier: " + identifier);
14241425
return ((KitIntegration.RoktListener) provider).events(identifier);
14251426
}
14261427
} catch (Exception e) {
14271428
Logger.warning("Failed to call setWrapperSdkVersion for kit: " + provider.getName() + ": " + e.getMessage());
14281429
}
14291430
}
1431+
Logger.warning("No RoktListener found");
14301432
return flowOf();
14311433
}
14321434

@@ -1456,6 +1458,19 @@ public void purchaseFinalized(@NonNull String placementId, @NonNull String catal
14561458
}
14571459
}
14581460

1461+
@Override
1462+
public void close() {
1463+
for (final KitIntegration provider : providers.values()) {
1464+
try {
1465+
if (provider instanceof KitIntegration.RoktListener && !provider.isDisabled()) {
1466+
((KitIntegration.RoktListener) provider).close();
1467+
}
1468+
} catch (final Exception e) {
1469+
Logger.warning("Failed to call close for kit: " + provider.getName() + ": " + e.getMessage());
1470+
}
1471+
}
1472+
}
1473+
14591474
private void confirmEmail(
14601475
@Nullable String email,
14611476
@Nullable MParticleUser user,

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

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1702,6 +1702,10 @@ class KitManagerImplTest {
17021702
override fun purchaseFinalized(placementId: String, catalogItemId: String, status: Boolean) {
17031703
println("purchaseFinalized with placementId: $placementId catalogItemId : $catalogItemId status : $status ")
17041704
}
1705+
1706+
override fun close() {
1707+
println("close called")
1708+
}
17051709
}
17061710

17071711
internal inner class KitManagerEventCounter : MockKitManagerImpl() {

0 commit comments

Comments
 (0)