diff --git a/CHANGELOG.md b/CHANGELOG.md
index 07db0858..77b9c15f 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,26 +1,24 @@
-
-
-## [1.2.0] - 2023-09-26
+
+## [Unreleased]
-
-## [1.2.0-alpha04] - 2023-09-22
+
+## [1.2.1]
### Bug Fixes
-- Remove messages with duplicate id from thread
+- Fix minification issues with ChatInstanceProvider
-
-## [1.2.0-alpha03] - 2023-09-14
+### Features
+- Improve Java compatiblity for 1.2.1
-
-## [1.2.0-alpha02] - 2023-09-13
+
+## [1.2.0] - 2023-09-26
-
-## [1.2.0-alpha01] - 2023-09-01
### Bug Fixes
+- Remove messages with duplicate id from thread
- reenable tests depending on android.util.Patterns
- Successful thread-archived event will trigger thread list refresh
- Persist deviceToken until the value is updated
@@ -55,29 +53,9 @@
## [1.1.0] - 2023-06-26
-
-
-## [1.1.0-alpha04] - 2023-05-31
-
### Bug Fixes
- Allow lenient parsing of UUID type
-
-
-## [1.1.0-alpha03] - 2023-05-26
-
-### Bug Fixes
- Successful thread-archived event will trigger thread list refresh
-
-
-## [1.1.0-alpha02] - 2023-05-22
-
-### Features
-- Increase targetSdk 31 -> 33
-
-
-## [1.1.0-alpha01] - 2023-05-15
-
-### Bug Fixes
- Update thread agent correctly
- Allow application to respond to the websocket session state & reconnect
- Use OkHttp for WebSocket communication
@@ -89,6 +67,7 @@
- Bump org.jetbrains.dokka from 1.6.10 to 1.8.10
- Bump org.jetbrains.kotlin.android from 1.6.10 to 1.8.10
### Features
+- Increase targetSdk 31 -> 33
- implement/fix LoadThreadMetadata and add loadMetadata entry to ChatThreadEventHandlerActions
- Dynamic pre contact survey
- Documentation update
@@ -108,10 +87,6 @@
## [1.0.1] - 2023-03-07
-
-
-## [1.0.1-alpha01] - 2023-03-06
-
### Bug Fixes
- Use OkHttp for WebSocket communication
- Add missing consumer ProGuard rule for GSON classes
@@ -180,16 +155,8 @@
- failure
- typing start/end
-[Unreleased]: https://github.com/nice-devone/nice-cxone-mobile-sdk-android/compare/1.2.0...HEAD
-[1.2.0]: https://github.com/nice-devone/nice-cxone-mobile-sdk-android/compare/1.2.0-alpha04...1.2.0
-[1.2.0-alpha04]: https://github.com/nice-devone/nice-cxone-mobile-sdk-android/compare/1.2.0-alpha03...1.2.0-alpha04
-[1.2.0-alpha03]: https://github.com/nice-devone/nice-cxone-mobile-sdk-android/compare/1.2.0-alpha02...1.2.0-alpha03
-[1.2.0-alpha02]: https://github.com/nice-devone/nice-cxone-mobile-sdk-android/compare/1.2.0-alpha01...1.2.0-alpha02
-[1.2.0-alpha01]: https://github.com/nice-devone/nice-cxone-mobile-sdk-android/compare/1.1.0...1.2.0-alpha01
-[1.1.0]: https://github.com/nice-devone/nice-cxone-mobile-sdk-android/compare/1.1.0-alpha04...1.1.0
-[1.1.0-alpha04]: https://github.com/nice-devone/nice-cxone-mobile-sdk-android/compare/1.1.0-alpha03...1.1.0-alpha04
-[1.1.0-alpha03]: https://github.com/nice-devone/nice-cxone-mobile-sdk-android/compare/1.1.0-alpha02...1.1.0-alpha03
-[1.1.0-alpha02]: https://github.com/nice-devone/nice-cxone-mobile-sdk-android/compare/1.1.0-alpha01...1.1.0-alpha02
-[1.1.0-alpha01]: https://github.com/nice-devone/nice-cxone-mobile-sdk-android/compare/1.0.1...1.1.0-alpha01
-[1.0.1]: https://github.com/nice-devone/nice-cxone-mobile-sdk-android/compare/1.0.1-alpha01...1.0.1
-[1.0.1-alpha01]: https://github.com/nice-devone/nice-cxone-mobile-sdk-android/compare/1.0.0...1.0.1-alpha01
+[Unreleased]: https://github.com/nice-devone/nice-cxone-mobile-sdk-android/compare/1.2.1...HEAD
+[1.2.1]: https://github.com/nice-devone/nice-cxone-mobile-sdk-android/compare/1.2.1...1.2.0
+[1.2.0]: https://github.com/nice-devone/nice-cxone-mobile-sdk-android/compare/1.1.0...1.2.0
+[1.1.0]: https://github.com/nice-devone/nice-cxone-mobile-sdk-android/compare/1.0.1...1.1.0
+[1.0.1]: https://github.com/nice-devone/nice-cxone-mobile-sdk-android/compare/1.0.0...1.0.1
diff --git a/chat-sdk-core/build.gradle b/chat-sdk-core/build.gradle
index 9ce21209..74395542 100644
--- a/chat-sdk-core/build.gradle
+++ b/chat-sdk-core/build.gradle
@@ -34,8 +34,12 @@ android {
}
}
+ kotlinOptions {
+ freeCompilerArgs = ['-Xjvm-default=all']
+ }
+
buildFeatures {
- buildConfig true // Library version is used for device fingerpint
+ buildConfig true // Library version is used for device fingerprint
}
}
diff --git a/chat-sdk-core/src/main/java/com/nice/cxonechat/Authorization.kt b/chat-sdk-core/src/main/java/com/nice/cxonechat/Authorization.kt
index 5a37183f..3d82bebc 100644
--- a/chat-sdk-core/src/main/java/com/nice/cxonechat/Authorization.kt
+++ b/chat-sdk-core/src/main/java/com/nice/cxonechat/Authorization.kt
@@ -34,6 +34,7 @@ interface Authorization {
@Public
companion object {
+ @JvmSynthetic
internal val None = Authorization("", "")
/**
diff --git a/chat-sdk-core/src/main/java/com/nice/cxonechat/ChatBuilder.kt b/chat-sdk-core/src/main/java/com/nice/cxonechat/ChatBuilder.kt
index 30a35ace..c6013200 100644
--- a/chat-sdk-core/src/main/java/com/nice/cxonechat/ChatBuilder.kt
+++ b/chat-sdk-core/src/main/java/com/nice/cxonechat/ChatBuilder.kt
@@ -129,6 +129,7 @@ interface ChatBuilder {
)
}
+ @JvmSynthetic
internal operator fun invoke(
entrails: ChatEntrails,
factory: SocketFactory,
diff --git a/chat-sdk-core/src/main/java/com/nice/cxonechat/ChatInstanceProvider.kt b/chat-sdk-core/src/main/java/com/nice/cxonechat/ChatInstanceProvider.kt
index ee8beff7..c4726427 100644
--- a/chat-sdk-core/src/main/java/com/nice/cxonechat/ChatInstanceProvider.kt
+++ b/chat-sdk-core/src/main/java/com/nice/cxonechat/ChatInstanceProvider.kt
@@ -45,6 +45,7 @@ class ChatInstanceProvider(
deviceTokenProvider: DeviceTokenProvider? = null,
) : ChatStateListener {
/** those interested in ChatInstanceProvider updates. */
+ @Public
interface Listener {
/**
* Invoked when the chat object changes.
@@ -62,6 +63,7 @@ class ChatInstanceProvider(
}
/** Defines provider of device token for push notifications, typically this will [Firebase.messaging.token]. */
+ @Public
fun interface DeviceTokenProvider {
/**
* Create or retrieve a device token for push messages, if it is unavailable, the provider should return
@@ -72,6 +74,7 @@ class ChatInstanceProvider(
}
/** Configuration scope used to reconfigure and restart the chat session. */
+ @Public
interface ConfigurationScope {
/** True if authorization is required. */
val authenticationRequired: Boolean
@@ -357,6 +360,7 @@ class ChatInstanceProvider(
chatState = CONNECTION_LOST
}
+ @Public
companion object {
@Suppress("LateinitUsage")
private lateinit var instance: ChatInstanceProvider
@@ -374,6 +378,7 @@ class ChatInstanceProvider(
* @param deviceTokenProvider Provider of device tokens for push messages.
* @return the newly created ChatInstanceProvider singleton.
*/
+ @JvmOverloads
fun create(
configuration: SocketFactoryConfiguration?,
authorization: Authorization? = null,
diff --git a/chat-sdk-core/src/main/java/com/nice/cxonechat/ChatState.kt b/chat-sdk-core/src/main/java/com/nice/cxonechat/ChatState.kt
index 5aa0805d..ba1395cc 100644
--- a/chat-sdk-core/src/main/java/com/nice/cxonechat/ChatState.kt
+++ b/chat-sdk-core/src/main/java/com/nice/cxonechat/ChatState.kt
@@ -18,6 +18,7 @@ package com.nice.cxonechat
/**
* Definition of possible Chat states from application point-of-view.
*/
+@Public
enum class ChatState {
/** Not yet configured enough to connect. */
INITIAL,
diff --git a/chat-sdk-core/src/main/java/com/nice/cxonechat/SocketFactoryConfiguration.kt b/chat-sdk-core/src/main/java/com/nice/cxonechat/SocketFactoryConfiguration.kt
index 075b03ab..8c8a2526 100644
--- a/chat-sdk-core/src/main/java/com/nice/cxonechat/SocketFactoryConfiguration.kt
+++ b/chat-sdk-core/src/main/java/com/nice/cxonechat/SocketFactoryConfiguration.kt
@@ -48,6 +48,7 @@ interface SocketFactoryConfiguration {
*/
@JvmName("create")
@JvmStatic
+ @JvmOverloads
operator fun invoke(
environment: Environment,
brandId: Long,