diff --git a/build.gradle b/build.gradle
index 18852c2..96154a7 100644
--- a/build.gradle
+++ b/build.gradle
@@ -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 = '+'
}
@@ -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 {
@@ -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 {
@@ -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 {
@@ -50,11 +59,9 @@ android {
}
}
buildFeatures {
+ buildConfig = true
compose true
}
- composeOptions {
- kotlinCompilerExtensionVersion = "1.5.0"
- }
}
repositories {
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
index ae04661..e1bef7e 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -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
diff --git a/src/main/AndroidManifest.xml b/src/main/AndroidManifest.xml
index 536aed1..c4e6c98 100755
--- a/src/main/AndroidManifest.xml
+++ b/src/main/AndroidManifest.xml
@@ -1 +1 @@
-
+
diff --git a/src/main/kotlin/com/mparticle/kits/RoktConfigExtensions.kt b/src/main/kotlin/com/mparticle/kits/RoktConfigExtensions.kt
index c072919..a5492a4 100644
--- a/src/main/kotlin/com/mparticle/kits/RoktConfigExtensions.kt
+++ b/src/main/kotlin/com/mparticle/kits/RoktConfigExtensions.kt
@@ -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(
diff --git a/src/main/kotlin/com/mparticle/kits/RoktKit.kt b/src/main/kotlin/com/mparticle/kits/RoktKit.kt
index 26c78a2..1a92b2e 100644
--- a/src/main/kotlin/com/mparticle/kits/RoktKit.kt
+++ b/src/main/kotlin/com/mparticle/kits/RoktKit.kt
@@ -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, kitConfiguration: KitConfiguration): MutableMap {
+ private fun filterAttributes(
+ attributes: Map,
+ kitConfiguration: KitConfiguration,
+ ): MutableMap {
val userAttributes = mutableMapOf()
for ((key, value) in attributes) {
val hashKey = KitUtils.hashForFiltering(key)
@@ -334,8 +335,6 @@ class RoktKit :
}
}
-
-
private fun addIdentityAttributes(
attributes: MutableMap?,
filterUser: FilteredMParticleUser?,
diff --git a/src/main/kotlin/com/mparticle/kits/RoktLayout.kt b/src/main/kotlin/com/mparticle/kits/RoktLayout.kt
index c18fd53..a088573 100644
--- a/src/main/kotlin/com/mparticle/kits/RoktLayout.kt
+++ b/src/main/kotlin/com/mparticle/kits/RoktLayout.kt
@@ -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)
},
diff --git a/src/test/kotlin/com/mparticle/kits/RoktConfigExtensionsTest.kt b/src/test/kotlin/com/mparticle/kits/RoktConfigExtensionsTest.kt
index 0d95c4d..14a407c 100644
--- a/src/test/kotlin/com/mparticle/kits/RoktConfigExtensionsTest.kt
+++ b/src/test/kotlin/com/mparticle/kits/RoktConfigExtensionsTest.kt
@@ -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 {
diff --git a/src/test/kotlin/com/mparticle/kits/RoktKitTests.kt b/src/test/kotlin/com/mparticle/kits/RoktKitTests.kt
index 5dd583e..a02b2b0 100644
--- a/src/test/kotlin/com/mparticle/kits/RoktKitTests.kt
+++ b/src/test/kotlin/com/mparticle/kits/RoktKitTests.kt
@@ -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",
@@ -326,7 +325,6 @@ class RoktKitTests {
unmockkObject(Rokt)
}
-
@Test
fun test_prepareFinalAttributes_handlesSameKeysInAttributesAndUserAttributes() {
// Arrange
@@ -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(
@@ -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"])