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,