Releases: sendbird/sendbird-uikit-android
Releases · sendbird/sendbird-uikit-android
v3.13.0
v3.13.0 (Feb 1, 2024) with Chat SDK v4.14.2
- A feedback feature has been added to give opinions on the message.
- Added
enableFeedback
inChannelConfig
. - Added
OnFeedbackRatingClickListener
which is a callback to be invoked when a feedback rating is clicked. - Added
getFeedbackRatingClickListener()
andsetFeedbackRatingClickListener(OnFeedbackRatingClickListener)
inBaseMessageListAdapter
. - Added
setOnFeedbackRatingClickListener(OnFeedbackRatingClickListener)
andonFeedbackRatingClicked(BaseMessage, FeedbackRating)
inBaseMessageListComponent
. - Added
onFeedbackRatingClicked(BaseMessage, FeedbackRating)
inChannelFragment
. - Added
submitFeedback(BaseMessage, FeedbackRating, String)
andremoveFeedback(BaseMessage)
inChannelViewModel
. - Added
onFeedbackSubmitted()
,onFeedbackUpdated()
andonFeedbackDelete
inChannelViewModel
. They allow you to observe feedback events for submitting, updating and deleting feedback.
- Added
v3.12.1
v3.12.1 (Jan 18, 2024) with Chat SDK v4.14.1
- Fix memory leaks in UIKit.
v3.12.0
v3.12.0 (Jan, 2024) with Chat SDK v4.13.0
- Added
sendLogImpression(List<BaseMessage>)
inFeedNotificationChannelViewModel
. - Improved performance of scrolling in Message List.
MyMessageViewHolder and OtherMessageViewHolder:
- Added
MyMessageViewHolder
andOtherMessageViewHolder
to provide a basic UI frame for single message. - These ViewHolders include UI elements such as 'message sent time,' 'nickname,' 'profile,' and 'sending status,' excluding the content area.
- Customers can now customize only the content area. Note: This feature is currently experimental.
BaseMessageListViewModel.buildMessageList():
- Added
BaseMessageListViewModel.buildMessageList()
to allow customers to customize the message list before delivering it to the view.
class CustomChannelViewModel(
channelUrl: String
) : ChannelViewModel(channelUrl, null) {
override fun buildMessageList(): List<BaseMessage> {
return super.buildMessageList().map { message ->
// Customize the message here
message
}
}
}
v3.11.0
v3.11.0 (Nov 29, 2023) with Chat SDK v4.13.0
VIEW_TYPE_TYPING_INDICATOR
is a new typing indicator UI that can be turned on throughtypingIndicatorTypes
option. When turned on, it will be displayed inChannelFragment
upon receiving typing event in real time.- Added
typingIndicatorTypes
inChannelConfig
.
- Added
v3.10.1
v3.10.1 (Nov 9, 2023) with Chat SDK v4.13.0
- Added
uikit-samples
project to demonstrate the usage ofUIKit
. - Added
resetToDefault()
inFragmentProviders
,ModuleProviders
,AdapterProviders
andViewModelProviders
to reset the providers to default.
v3.10.0
v3.10.0 (Nov 3, 2023) with Chat SDK v4.13.0
- Added the
Suggested Replies
feature to enable quick and effective question asking to the bot.- Added
ChannelConfig.enableSuggestedReplies
configuration to enable/disableSuggested Replies
feature.
- Added
- Added the
Form type message
feature to enable the user to submit a form type message received by the bot.- Added
ChannelConfig.enableFormTypeMessage
configuration to enable/disableForm type message
feature.
- Added
v3.9.3
v3.9.3 (Oct 26, 2023) with Chat SDK v4.13.0
- Improve stability.
v3.9.2
v3.9.2 (Oct 12, 2023) with Chat SDK v4.12.3
- Added
setVoiceRecorderConfig(VoiceRecorderConfig)
andgetVoiceRecorderConfig()
inSendbirdUIKit
. - Added
setOnEmojiReactionUserListProfileClickListener(OnItemClickListener<User>)
inChannelFragment.Builder
andMessageThreadFragment.Builder
. - Improved stability.
v3.9.1
v3.9.1 (Sep 26, 2023) with Chat SDK v4.12.1
- Fixed a problem with the user mentions feature in ThreadFragment
- Filter deactivated users from the user mentions list.
v3.9.0
v3.9.0 (Sep 22, 2023) with Chat SDK v4.12.1
- Support Multiple files message
- Added
setEnableMultipleFilesMessage(boolean)
,getEnableMultipleFilesMessage()
inChannelConfig
. - Added
isMultipleMediaEnabled()
,onMultipleMediaResult(List<Uri>)
, andonSingleMediaResult(Uri)
inChannelFragment
andMessageThreadFragment
. - Added
sendMultipleFilesMessage(List<FileInfo>, MultipleFilesMessageCreateParams)
inChannelViewModel
andMessageThreadViewModel
. - Added
onBeforeSendMultipleFilesMessage(MultipleFilesMessageCreateParams)
inChannelFragment
,MessageThreadFragment
, andCustomParamsHandler
.
- Added
- Added
clone()
inChannelConfig
,ChannelListConfig
,ChannelSettingConfig
, andOpenChannelConfig
.
Custom Providers are supported to create and customize various components used in UIKit. Each Provider plays a role in generating key components used in UIKit. You can customize each Provider to easily use and customize UIKit's main components.
- Support custom providers
- ModuleProviders
- AdapterProviders
- FragmentProviders
- ViewModelProviders
- Simple example of using each Provider to work with custom data.
ModuleProviders
ModuleProviders.channel = ChannelModuleProvider { context, args ->
ChannelModule(context).apply {
setHeaderComponent(CustomHeaderComponent())
}
}
AdapterProviders
AdapterProviders.channelList = ChannelListAdapterProvider { uiParams ->
CustomChannelListAdapter()
}
FragmentProviders
FragmentProviders.channel = ChannelFragmentProvider { channelUrl, args ->
ChannelFragment.Builder(channelUrl)
.setUseHeader(true)
.setCustomFragment(CustomChannelFragment())
.withArguments(args)
.build()
}
ViewModelProviders
ViewModelProviders.channel = ChannelViewModelProvider { owner, channelUrl, params, config ->
ViewModelProvider(
owner,
CustomViewModelFactory(channelUrl, params, config)
)[channelUrl, CustomChannelViewModel::class.java]
}
All Providers must be configured before use, and it's recommended to configure them in the Application class.