Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 16 additions & 9 deletions build.gradle
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
buildscript {
ext.kotlin_version = '1.9.0'
ext.kotlin_version = '2.0.20'
if (!project.hasProperty('version') || project.version.equals('unspecified')) {
project.version = '+'
}
Expand All @@ -9,16 +9,18 @@ buildscript {
mavenLocal()
mavenCentral()
}

dependencies {
classpath 'com.android.tools.build:gradle:7.4.1'
classpath 'com.android.tools.build:gradle:8.1.4'
classpath 'com.mparticle:android-kit-plugin:' + project.version
classpath 'org.jetbrains.kotlin:kotlin-gradle-plugin:1.9.0'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
}
}

plugins {
id "org.sonarqube" version "3.5.0.2730"
id "org.jlleitschuh.gradle.ktlint" version "11.2.0"
id "org.jlleitschuh.gradle.ktlint" version "13.0.0"
id "org.jetbrains.kotlin.plugin.compose" version "2.0.20"
}

sonarqube {
Expand All @@ -29,8 +31,8 @@ sonarqube {
}
}


apply plugin: "kotlin-android"
apply plugin: 'org.jlleitschuh.gradle.ktlint'
apply plugin: 'kotlin-android'
apply plugin: 'com.mparticle.kit'

android {
Expand All @@ -42,6 +44,13 @@ android {
lint {
disable "NullSafeMutableLiveData"
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_17
targetCompatibility JavaVersion.VERSION_17
}
kotlinOptions {
jvmTarget = '17'
}
testOptions {
unitTests.returnDefaultValues = true
unitTests.all {
Expand All @@ -50,11 +59,9 @@ android {
}
}
buildFeatures {
buildConfig = true
compose true
}
composeOptions {
kotlinCompilerExtensionVersion = "1.5.0"
}
}

repositories {
Expand Down
2 changes: 1 addition & 1 deletion gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.5.1-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-8.0.2-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
2 changes: 1 addition & 1 deletion src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
@@ -1 +1 @@
<manifest package="com.mparticle.kits.rokt"/>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"/>
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
package com.mparticle.kits

import com.mparticle.rokt.RoktConfig
import com.mparticle.rokt.CacheConfig as MpCacheConfig
import com.rokt.roktsdk.CacheConfig
import com.mparticle.rokt.CacheConfig as MpCacheConfig
import com.rokt.roktsdk.RoktConfig as RoktSdkConfig

fun MpCacheConfig.toRoktSdkCacheConfig(): CacheConfig = CacheConfig(
Expand Down
21 changes: 10 additions & 11 deletions src/main/kotlin/com/mparticle/kits/RoktKit.kt
Original file line number Diff line number Diff line change
Expand Up @@ -234,17 +234,18 @@ class RoktKit :
return finalAttributes
}

private fun convertValueToString(value: Any?): String {
return when (value) {
is Double -> BigDecimal.valueOf(value).toPlainString()
is Long -> BigDecimal.valueOf(value).toPlainString()
is Int -> BigDecimal.valueOf(value.toLong()).toPlainString()
is Number -> BigDecimal(value.toString()).toPlainString()
else -> value.toString()
}
private fun convertValueToString(value: Any?): String = when (value) {
is Double -> BigDecimal.valueOf(value).toPlainString()
is Long -> BigDecimal.valueOf(value).toPlainString()
is Int -> BigDecimal.valueOf(value.toLong()).toPlainString()
is Number -> BigDecimal(value.toString()).toPlainString()
else -> value.toString()
}

private fun filterAttributes(attributes: Map<String, String>, kitConfiguration: KitConfiguration): MutableMap<String, String> {
private fun filterAttributes(
attributes: Map<String, String>,
kitConfiguration: KitConfiguration,
): MutableMap<String, String> {
val userAttributes = mutableMapOf<String, String>()
for ((key, value) in attributes) {
val hashKey = KitUtils.hashForFiltering(key)
Expand Down Expand Up @@ -334,8 +335,6 @@ class RoktKit :
}
}



private fun addIdentityAttributes(
attributes: MutableMap<String, String>?,
filterUser: FilteredMParticleUser?,
Expand Down
3 changes: 2 additions & 1 deletion src/main/kotlin/com/mparticle/kits/RoktLayout.kt
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,8 @@ fun RoktLayout(
if (sdkTriggered) {
LaunchedEffect(Unit) {
instance?.runComposableWithCallback(
HashMap(attributes), mpRoktEventCallback,
HashMap(attributes),
mpRoktEventCallback,
{ resultMap, callback ->
resultMapState.value = RoktResult(resultMap, callback)
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,12 @@ package com.mparticle.kits

import com.mparticle.rokt.CacheConfig
import com.mparticle.rokt.RoktConfig
import com.rokt.roktsdk.RoktConfig as SdkRoktConfig
import io.mockk.every
import io.mockk.mockk
import org.junit.Assert.assertEquals
import org.junit.Test
import org.junit.Assert.assertNotNull
import org.junit.Test
import com.rokt.roktsdk.RoktConfig as SdkRoktConfig

class RoktConfigExtensionsTest {

Expand Down
5 changes: 1 addition & 4 deletions src/test/kotlin/com/mparticle/kits/RoktKitTests.kt
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,6 @@ class RoktKitTests {
val json = JSONObject()
json.put("ua", jsonObject)


roktKit.configuration = MockKitConfiguration.createKitConfiguration(JSONObject().put("hs", json))
val method: Method = RoktKit::class.java.getDeclaredMethod(
"prepareFinalAttributes",
Expand Down Expand Up @@ -326,7 +325,6 @@ class RoktKitTests {
unmockkObject(Rokt)
}


@Test
fun test_prepareFinalAttributes_handlesSameKeysInAttributesAndUserAttributes() {
// Arrange
Expand Down Expand Up @@ -371,7 +369,7 @@ class RoktKitTests {
"key2" to "value2",
"key3" to "value3",
"user_key" to "2223333",
"ShouldFilter" to "testData"
"ShouldFilter" to "testData",
)
// Act
roktKit.execute(
Expand All @@ -387,7 +385,6 @@ class RoktKitTests {
// Assert
val capturedAttributes = capturedAttributesSlot.captured


assertEquals(7, capturedAttributes.size)
assertEquals("value", capturedAttributes["attr_non_null_string"])
assertEquals("123", capturedAttributes["attr_non_string"])
Expand Down