diff --git a/build.gradle b/build.gradle
index 94d641a..63a7f4c 100644
--- a/build.gradle
+++ b/build.gradle
@@ -1,5 +1,5 @@
buildscript {
- ext.kotlin_version = '1.8.10'
+ ext.kotlin_version = '2.0.20'
if (!project.hasProperty('version') || project.version.equals('unspecified')) {
project.version = '+'
}
@@ -9,8 +9,9 @@ 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:$kotlin_version"
}
@@ -18,7 +19,7 @@ buildscript {
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"
}
sonarqube {
@@ -30,13 +31,29 @@ sonarqube {
}
apply plugin: 'org.jlleitschuh.gradle.ktlint'
-apply plugin: 'com.mparticle.kit'
apply plugin: 'kotlin-android'
+apply plugin: 'com.mparticle.kit'
android {
+ namespace 'com.mparticle.kits.wootric'
+ buildFeatures {
+ buildConfig = true
+ }
defaultConfig {
minSdkVersion 16
}
+ compileOptions {
+ sourceCompatibility JavaVersion.VERSION_17
+ targetCompatibility JavaVersion.VERSION_17
+ }
+ kotlinOptions {
+ jvmTarget = '17'
+ }
+ testOptions {
+ unitTests.all {
+ jvmArgs += ['--add-opens', 'java.base/java.lang=ALL-UNNAMED']
+ }
+ }
}
dependencies {
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 1a9bda4..c4e6c98 100644
--- a/src/main/AndroidManifest.xml
+++ b/src/main/AndroidManifest.xml
@@ -1 +1 @@
-
+
diff --git a/src/main/kotlin/com/mparticle/kits/WootricKit.kt b/src/main/kotlin/com/mparticle/kits/WootricKit.kt
index 0f50351..08ec6ee 100644
--- a/src/main/kotlin/com/mparticle/kits/WootricKit.kt
+++ b/src/main/kotlin/com/mparticle/kits/WootricKit.kt
@@ -5,7 +5,9 @@ import com.mparticle.MParticle.IdentityType
import com.mparticle.kits.KitIntegration.AttributeListener
import com.wootric.androidsdk.Wootric
-class WootricKit : KitIntegration(), AttributeListener {
+class WootricKit :
+ KitIntegration(),
+ AttributeListener {
private var endUserEmail: String? = null
private var endUserCustomerId: String? = null
private var endUserProperties: HashMap? = null
@@ -16,11 +18,12 @@ class WootricKit : KitIntegration(), AttributeListener {
if (activityWeakReference != null) {
val activity = activityWeakReference.get()
if (activity != null) {
- wootric = Wootric.init(
- activity,
- settings[CLIENT_ID],
- settings[ACCOUNT_TOKEN]
- )
+ wootric =
+ Wootric.init(
+ activity,
+ settings[CLIENT_ID],
+ settings[ACCOUNT_TOKEN],
+ )
wootric?.setProperties(endUserProperties)
setWootricIdentity(wootric)
}
@@ -33,21 +36,26 @@ class WootricKit : KitIntegration(), AttributeListener {
override fun onKitCreate(
settings: Map,
- context: Context
+ context: Context,
): List {
- //it's important the Wootric is not initialized until the hosting app calls getInstance, with
- //the correct Activity
+ // it's important the Wootric is not initialized until the hosting app calls getInstance, with
+ // the correct Activity
require(
- !(KitUtils.isEmpty(settings[CLIENT_ID]) ||
+ !(
+ KitUtils.isEmpty(settings[CLIENT_ID]) ||
KitUtils.isEmpty(CLIENT_SECRET) ||
- KitUtils.isEmpty(ACCOUNT_TOKEN))
+ KitUtils.isEmpty(ACCOUNT_TOKEN)
+ ),
) { WOOTRIC_MISSING_REQUIRED_SETTINGS_MESSAGE }
return emptyList()
}
override fun setOptOut(optedOut: Boolean): List = emptyList()
- override fun setUserIdentity(identityType: IdentityType, id: String) {
+ override fun setUserIdentity(
+ identityType: IdentityType,
+ id: String,
+ ) {
if (IdentityType.Email == identityType) {
endUserEmail = id
} else if (IdentityType.CustomerId == identityType) {
@@ -77,19 +85,26 @@ class WootricKit : KitIntegration(), AttributeListener {
wootric?.setEndUserEmail(endUserIdentifier)
}
- override fun setUserAttribute(key: String, value: String) {
+ override fun setUserAttribute(
+ key: String,
+ value: String,
+ ) {
prepareEndUserProperties(key, value)
if (wootric != null) {
wootric?.setProperties(endUserProperties)
}
}
- override fun setUserAttributeList(s: String, list: List) {}
+ override fun setUserAttributeList(
+ s: String,
+ list: List,
+ ) {}
+
override fun supportsAttributeLists(): Boolean = false
override fun setAllUserAttributes(
attributes: Map,
- attributeLists: Map>
+ attributeLists: Map>,
) {
endUserProperties = HashMap()
for ((key, value) in attributes) {
@@ -101,17 +116,22 @@ class WootricKit : KitIntegration(), AttributeListener {
}
override fun removeUserAttribute(key: String) {
- if (wootric != null && endUserProperties != null && endUserProperties?.remove(
+ if (wootric != null &&
+ endUserProperties != null &&
+ endUserProperties?.remove(
KitUtils.sanitizeAttributeKey(
- key
- )
+ key,
+ ),
) != null
) {
wootric?.setProperties(endUserProperties)
}
}
- private fun prepareEndUserProperties(key: String, value: String) {
+ private fun prepareEndUserProperties(
+ key: String,
+ value: String,
+ ) {
endUserProperties?.let { it[KitUtils.sanitizeAttributeKey(key)] = value }
if (endUserProperties == null) {
endUserProperties = HashMap()
@@ -126,4 +146,4 @@ class WootricKit : KitIntegration(), AttributeListener {
private const val WOOTRIC_MISSING_REQUIRED_SETTINGS_MESSAGE =
"Wootric missing required settings and will not start."
}
-}
\ No newline at end of file
+}
diff --git a/src/test/kotlin/com/mparticle/kits/WootricKitTest.kt b/src/test/kotlin/com/mparticle/kits/WootricKitTests.kt
similarity index 97%
rename from src/test/kotlin/com/mparticle/kits/WootricKitTest.kt
rename to src/test/kotlin/com/mparticle/kits/WootricKitTests.kt
index de9eaba..21ac404 100644
--- a/src/test/kotlin/com/mparticle/kits/WootricKitTest.kt
+++ b/src/test/kotlin/com/mparticle/kits/WootricKitTests.kt
@@ -8,7 +8,7 @@ import org.mockito.Mockito
class WootricKitTests {
private val kit: KitIntegration
- get() = WootricKit()
+ get() = WootricKit()
@Test
@Throws(Exception::class)
@@ -50,4 +50,4 @@ class WootricKitTests {
}
Assert.fail("$className not found as a known integration.")
}
-}
\ No newline at end of file
+}