- Templated-related code has been moved to a separate module.
- Fixed thumbs up reaction not working in chat messages.
- Changed the Form type message UI rendering due to the modification of the Form model from BaseMessage to MessageForm.
- Sendbird Business Messaging changes
- Changed behavior not to send viewed stats in case the message is fallback message.
- Fixed not collecting viewed stats when the category filter is changed.
- Added support for EmojiCategory. You can now filter emojis for different messages when adding Reactions to a message.
- New Interfaces
class BaseMessageListAdapter { fun getEmojiCategories(message: BaseMessage): List<Long>? { return null } }
- Note: You need to set your custom EmojiCategory using Sendbird Platform API in advance.
- New Interfaces
- Fixed a crash in the new version due to new fields not having default value.
- Added support for EmojiCategory. You can now filter emojis for different messages when adding Reactions to a message.
- New Interfaces
class BaseMessageListAdapter { fun getEmojiCategories(message: BaseMessage): List<Long>? { return null } }
- Note: You need to set your custom EmojiCategory using Sendbird Platform API in advance.
- New Interfaces
- Deprecated
authenticateFeed(AuthenticationHandler)
inSendbirdUIKit
, which is replaced byauthenticate(AuthenticationHandler)
. - Fixed the crash issue caused by the
bindingAdapterPosition
in the RecyclerView not being returned correctly. - Support Right-to-Left (RTL) languages.### v3.18.0 (Jun 20, 2024) with Chat SDK
v4.16.4
- Updated dependencies
- update compileSdkVersion to 34
- [Gradle Plugin] Gradle 8.6
- [Gradle Plugin] Android Gradle Plugin 8.4.1
- Deprecated
enableReactionsSupergroup(Boolean)
inChannelConfig
, which is not allowed by default. If you wish to use this feature, contact us. - Added a new set of
color
resources for UIKit.
-
Fixed an intermittent crash due to variable initialization when entering a notification channel.
-
Optimized ChatBot streaming message animation.### v3.17.0 (May 23, 2024) with Chat SDK
v4.16.3
-
Deprecated
notifyStatusUpdated(GroupChannel, StatusFrameView)
inMessageThreadInputComponent
-
Added a new interface to set the enable state of the message input field
- Added
boolean tryToChangeEnableInputView(boolean, String)
inChannelFragment
,MessageThreadFragment
,OpenChannelFragment
- Added
boolean tryToChangeEnableInputView(boolean, GroupChannel, String)
inMessageInputComponent
- Added
boolean tryToChangeEnableInputView(boolean, OpenChannel, String)
inOpenChannelMessageInputComponent
- Added
-
A new interface has been added to allow you to customise the items in the RecyclerView
- Added
String getActionContextMenuTitle(GroupChannel)
,List<DialogListItem> makeChannelContextMenu(GroupChannel)
, andboolean onChannelContextMenuItemClicked(GroupChannel, View, DialogListItem)
inChannelListFragment
- Added
-
Added a new interface to receive events when a message is clicked or long-clicked on the screen used in Sendbird Business Messaging
- Added
setOnItemClickListener(OnItemClickListener<BaseMessage>)
andsetOnItemLongClickListener(OnItemLongClickListener<BaseMessage>)
inChatNotificationChannelFragment.Builder
andFeedNotificationChannelFragment.Builder
- Added
-
Added a new feature to support markdown syntax in UserMessage
- Added
enableMarkdownForUserMessage: Boolean
inChannelConfig
. If you enable this feature, you can use markdown syntax in the UserMessage. - Currently, the following markdown syntax is supported:
- Bold:
**bold**
,__bold__
- Link:
[link](https://sendbird.com)
- Bold:
- Added
-
Options for Suggested Replies, Direction and Target, have been added.
- These two options only work when
ChannelConfig.enableSuggestedReplies
is enabled, and each flag operates independently. - Added
SuggestedRepliesDirection.VERTICAL
andSuggestedRepliesDirection.HORIZONTAL
which indicate the direction of the suggested replies inSuggestedRepliesView
. - Added
SuggestedRepliesFor.ALL_MESSAGES
andSuggestedRepliesFor.LAST_MESSAGE_ONLY
, which specify the target messages for suggested replies. - Added
suggestedRepliesFor
inChannelConfig
to set the target messages for suggested replies. - Added
suggestedRepliesDirection
inChannelConfig
to set the direction of the suggested replies.### v3.16.1 (May 3, 2024) with Chat SDKv4.16.2
- These two options only work when
-
Fixed timeline messages not showing up in the channel.
Support a way to customise the menu items in the ChannelSettingsMenuComponent
and OpenChannelSettingsMenuComponent
.
- Added
createMenuView(Context, String, String, SingleMenuType, int, int)
inChannelSettingsMenuComponent
- Added
setMenuList(List<Menu>, MenuViewProvider) in
ChannelSettingsMenuComponent.Params` - Added
MenuViewProvider
to ChannelSettings that allows you to create and make custom menus.
- Simple example for creating custom menu.
ModuleProviders.channelSettings = ChannelSettingsModuleProvider { context, _ ->
ChannelSettingsModule(context).apply {
val customMenuList = ChannelSettingsMenuComponent.defaultMenuSet.toMutableList().apply {
add(ChannelSettingsMenuComponent.Menu.CUSTOM)
}
val component = ChannelSettingsMenuComponent().apply {
// set the custom menu list.
params.setMenuList(customMenuList) { context, _ -> // create custom menu view.
createMenuView(
context,
"Go to Chat",
null,
SingleMenuType.NONE,
R.drawable.icon_chat,
0
)
}
}
setChannelSettingsMenuComponent(component)
}
}
- Added
getActionContextMenuTitle(Member, GroupChannel)
,makeActionContextMenu(Member, GroupChannel)
, andonActionContextMenuItemClicked(Member, DialogListItem, GroupChannel)
inMemberListFragment
- Added
getActionContextMenuTitle(User, OpenChannel)
,makeActionContextMenu(User, OpenChannel)
, andonActionContextMenuItemClicked(User, DialogListItem, OpenChannel)
inMemberListFragment
- Added
Message template
feature forGroupChannel
.
- Added
sendLogViewed(List<BaseMessage>)
inFeedNotificationChannelViewModel
. - Deprecated
sendLogImpression(List<BaseMessage>)
inFeedNotificationChannelViewModel
. - Supported reactions in super group channel.
Added
enableReactionsSupergroup
inChannelConfig
.
- Fixed issue where the position of the empty icon was displayed incorrectly.
- A feedback feature has been added to give opinions on the message.
- Added
setEmptyIcon(int)
,setEmptyIcon(int, ColorStateList)
,setEmptyText(int)
, andsetErrorText(int)
inChatNotificationChannelFragment
. - Added
setEmptyIcon(int)
,setEmptyIcon(int, ColorStateList)
,setEmptyText(int)
, andsetErrorText(int)
inFeedNotificationChannelFragment
.
- Added
- Simple example for creating
FeedNotificationChannelFragment
with empty icon and text.
val feedChannelFragment = FeedNotificationChannelFragment.Builder(channelUrl)
.withArguments(args)
.setEmptyIcon(R.drawable.icon_empty)
.setEmptyText(R.string.text_empty_notification)
.build()
- 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
- Fix memory leaks in UIKit.
- 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
}
}
}
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
- Added
uikit-samples
project to demonstrate the usage ofUIKit
. - Added
resetToDefault()
inFragmentProviders
,ModuleProviders
,AdapterProviders
andViewModelProviders
to reset the providers to default.
- 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
- Improve stability.
- Added
setVoiceRecorderConfig(VoiceRecorderConfig)
andgetVoiceRecorderConfig()
inSendbirdUIKit
. - Added
setOnEmojiReactionUserListProfileClickListener(OnItemClickListener<User>)
inChannelFragment.Builder
andMessageThreadFragment.Builder
. - Improved stability.
- Fixed a problem with the user mentions feature in ThreadFragment
- Filter deactivated users from the user mentions list.
- 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.
- Support category filtering in feed notification channel. Categories by which messages can be filtered can be created and edited in the dashboard.
- Added
startChatWithAiBot(Context, String, Boolean, CompletionHandler)
that initiates a group channel with AI Bot which is created in Sendbird dashboard and launchesChannelActivity
.SendbirdUIKit.init()
andSendbirdUIKit.connect()
must precede.
- Change the default authentication method for FeedChannel from WebSocket connection to API.
- Added
authenticatedFeed(AuthenticationHandler)
inSendbirdUIKit
- Added
moveToMessage(long, boolean)
inChannelFragment
- Improved stability
- Support feature configuration
- Added
UIKitConfig
object - Added
setChannelConfig(ChannelConfig)
inChannelFragment.Builder
,MessageThreadFragment.Builder
- Added
setChanneListConfig(ChannelListConfig)
inChannelListFragment.Builder
- Added
setChannelSettingConfig(ChannelSettingConfig)
inChannelSettingsFragment.Builder
- Added
setOpenChannelConfig(OpenChannelConfig)
inOpenChannelFragment.Builder
- Deprecated
setUseDefaultUserProfile(boolean)
,shouldUseDefaultUserProfile()
inSendbirdUIKit
- Deprecated
setUseChannelListTypingIndicators(boolean)
,isUsingChannelListTypingIndicators()
inSendbirdUIKit
- Deprecated
setUseChannelListMessageReceiptStatus(boolean)
,isUsingChannelListMessageReceiptStatus
inSendbirdUIKit
- Deprecated
setUseUserMention(boolean)
,isUsingUserMention()
inSendbirdUIKit
- Deprecated
setUseVoiceMessage(boolean)
,isUsingVoiceMessage()
inSendbirdUIKit
- Deprecated
setReplyType(ReplyType)
,getReplyType()
inSendbirdUIKit
- Deprecated
setThreadReplySelectType(ThreadReplySelectType)
,getThreadReplySelectType()
inSendbirdUIKit
- Deprecated
setUseTypingIndicator(boolean)
inChannelFragment.Builder
- Deprecated
ReactionUtils
- Added
- Improved voice recorder
- Improved stability
- An interface has been added to modify the data used for the Views displayed in the RecyclerView. Through each Provider, it is possible to change the data of the Views displayed in the RecyclerView.
- Added
setMessageListAdapter(MessageListAdapter, MessageDisplayDataProvider)
inChannelFragment.Builder
- Added
setThreadListAdapter(ThreadListAdapter, MessageDisplayDataProvider)
inMessageThreadFragment.Builder
- Added
setMessageSearchAdapter(MessageSearchAdapter, MessageDisplayDataProvider)
inMessageSearchFragment.Builder
- Added
setChannelListAdapter(ChannelListAdapter, MessageDisplayDataProvider)
inChannelListFragment.Builder
- Added
setMessageDisplayDataProvider(MessageDisplayDataProvider)
inMessageListAdapter
,ThreadListAdapter
,MessageSearchAdapter
andChannelListAdapter
- Added
- UIKit common
- Improved voice recognition
- Channel Notification
- Added interfaces to set custom theme resource on all Activities
- Improved stability
- UIKit common
- Updated Android Gradle Plugin to version
7.4.2
- Improved FileProvider compatibility
- Optimized Proguard rules
- Improved stability
- Updated Android Gradle Plugin to version
- Channel Notification
- Added function for collecting click events
- Added loading view while downloading template data
- Improved template view stability
- Added
setOnMessageMentionClickListener(OnItemClickListener<User>)
inChannelFragment.Builder
- Added
setOnMessageMentionClickListener(OnItemClickListener<User>)
inMessageThreadFragment.Builder
- Improved stability
- Added
setUseHeaderLeftButton(boolean)
inFeedNotificationChannelFragment.Builder
- Added
setUseHeaderLeftButton(boolean)
inChatNotificationChannelFragment.Builder
- Extended the maximum recording time of voice message to 10 minutes.
- Notifications
- Fixed bug that the theme is not applying when the notifications are empty
- Improved stability
We’re excited to announce the launch of Sendbird Notifications v1.0! It’s a powerful solutions that makes it easier for brands to send marketing, transactional, and operational messages to their users. We’ve introduced a new type of channel called the notification channel that’s specifically designed for these kinds of messages. Just a heads up, you’ll need to use notification channels with Sendbird Notifications, otherwise things might not work properly.
- Support Notification Channel
- Added
FeedNotificationChannelActivity
andFeedNotificationChannelFragment
- Added
ChatNotificationChannelActivity
andChatNotificationChannelFragment
- Added
- Support voice message in GroupChannel
- Added
setUseVoiceMessage(boolean)
inSendbirdUIKit
- Added
isUsingVoiceMessage()
inSendbirdUIKit
- Added
VIEW_TYPE_VOICE_MESSAGE_ME
,VIEW_TYPE_VOICE_MESSAGE_OTHER
inMessageType
- Added
takeVoiceRecorder(View, int, BaseMessage)
inChannelFragment
,MessageThreadFragment
- Added
sendVoiceFileMessage(VoiceMessageInfo)
inChannelFragment
,MessageThreadFragment
- Added
setOnVoiceRecorderButtonClickListener(OnClickListener)
inChannelFragment.Builder
,MessageThreadFragment.Builder
- Added
- Improved stability
- Support authenticated file caching
- Change the default value of
SendbirdUIKit.shouldUseImageCompression()
totrue
- Change the default value of
SendbirdUIKit.getCompressQuality()
to70
- Improved message input dialog mode
- Improved stability
- Fixed message update issue when an app is built with Proguard on
- Improved stability
- Support thread type in GroupChannel
- Added
THREAD
inReplyType
- Added
enum ThreadReplySelectType { PARENT, THREAD }
- Added
setThreadReplySelectType(threadReplySelectType)
inSendbirdUIKit
- Added
getThreadReplySelectType()
inSendbirdUIKit
- Added
MessageThreadActivity
,MessageThreadFragment
,MessageThreadModule
,MessageThreadViewModel
,MessageThreadHeaderComponent
,ThreadListComponent
,MessageThreadInputComponent
, andThreadListAdapter
- Added
newRedirectToMessageThreadIntent(Context, String, long)
inChannelActivity
- Added
VIEW_TYPE_PARENT_MESSAGE_INFO
inMessageType
- Added
ThreadInfo
,ParentMessageMenu
inClickableViewIdentifier
- Added
onThreadInfoClicked(View, int, BaseMessage)
inChannelFragment
- Added
setOnThreadInfoClickListener(OnItemClickListener<BaseMessage>)
inChannelFragment.Builder
- Added
- Added
MessageListUIParams
class - Added
bind(BaseChannel, BaseMessage, MessageListUIParams)
inMessageViewHolder
- Added
createViewHolder(LayoutInflater, ViewGroup, MessageType, MessageListUIParams)
inMessageViewHolderFactory
- Added
createOpenChannelViewHolder(LayoutInflater, ViewGroup, MessageType, MessageListUIParams)
inMessageViewHolderFactory
- Deprecated
bind(BaseChannel, BaseMessage, MessageGroupType)
inMessageViewHolder
- Deprecated
createViewHolder(LayoutInflater, ViewGroup, MessageType, boolean)
inMessageViewHolderFactory
- Deprecated
createOpenChannelViewHolder(LayoutInflater, ViewGroup, MessageType, boolean)
inMessageViewHolderFactory
- Added
setUseMessageListBanner(boolean)
inChannelFragment.Builder
- Added
setUseBanner(boolean)
inMessageListComponent.Params
- Added
setUseUserIdForNickname(boolean)
andisUsingUserIdForNickname()
inSendbirdUIKit
- Added
setOnScrollFirstButtonClickListener(OnConsumableClickListener)
inChannelFragment.Builder
andOpenChannelFragment.Builder
- Added
scrollToFirst()
,setOnScrollFirstButtonClickListener(OnConsumableClickListener)
, andonScrollFirstButtonClicked(View)
inMessageListComponent
andOpemChannelMessageListComponent
- Deprecated
setOnScrollBottomButtonClickListener(View.OnClickListener)
inChannelFragment.Builder
andOpenChannelFragment.Builder
- Deprecated
scrollToBottom()
,setOnScrollBottomButtonClickListener(View.OnClickListener)
, andonScrollBottomButtonClicked(View)
inMessageListComponent
andOpemChannelMessageListComponent
- Improved stability
- Added
takeVideo()
inChannelFragment
andOpenChannelFragment
- Support custom font in message bubble and input filed.
- Added
setRepliedMessageTextUIConfig(TextUIConfig)
, andsetMessageInputTextUIConfig(TextUIConfig)
inChannelFragment.Builder
- Added
setMessageInputTextUIConfig(TextUIConfig)
inOpenChannelFragment.Builder
- Added
setMessageInputTextUIConfig(TextUIConfig)
andgetMessageInputTextUIConfig()
inMessageInputComponent.Params
- Added
setMessageInputTextUIConfig(TextUIConfig)
andgetMessageInputTextUIConfig()
inOpenChannelMessageInputComponent.Params
- Added
setRepliedMessageTextUIConfig(TextUIConfig)
inMessageListComponent.Params
- Added
setCustomFontRes(int)
inTextUIConfig.Builder
- Added
- Support OpenChannel list
- Added
OpenChannelListActivity
,OpenChannelListFragment
,OpenChannelListModule
,OpenChannelListViewModel
,OpenChannelListComponent
, andOpenChannelListAdapter
- Added
CreateOpenChannelActivity
,CreateOpenChannelFragment
,CreateOpenChannelModule
,CreateOpenChannelViewModel
, andChannelProfileInputComponent
- Added
- Moved widgets class into internal package.
setCustomFragment()
functions have been added in the all Fragment.Builder class- Improved stability
- Added
setMessageTextUIConfig(TextUIConfig, TextUIConfig)
inChannelFragment.Builder
,OpenChannelFragment.Builder
,MessageListComponent.Params
,OpenChannelMessageListComponent.Params
- Added
setSentAtTextUIConfig(TextUIConfig, TextUIConfig)
inChannelFragment.Builder
,OpenChannelFragment.Builder
,MessageListComponent.Params
,OpenChannelMessageListComponent.Params
- Added
setNicknameTextUIConfig(TextUIConfig)
inChannelFragment.Builder
,MessageListComponent.Params
- Added
setNicknameTextUIConfig(TextUIConfig, TextUIConfig, TextUIConfig)
inOpenChannelFragment.Builder
,OpenChannelMessageListComponent.Params
- Added
setMessageBackground(int, int)
inChannelFragment.Builder
,OpenChannelFragment.Builder
- Added
setMessageBackground(Drawable, Drawable)
inMessageListComponent.Params
,OpenChannelMessageListComponent.Params
- Added
setReactionListBackground(int, int)
inChannelFragment.Builder
- Added
setReactionListBackground(Drawable, Drawable)
inMessageListComponent.Params
- Added
setOgtagBackground(int, int)
inChannelFragment.Builder
,OpenChannelFragment.Builder
- Added
setOgtagBackground(Drawable, Drawable)
inMessageListComponent.Params
,OpenChannelMessageListComponent.Params
- Added
setLinkedTextColor(int)
inChannelFragment.Builder
,OpenChannelFragment.Builder
- Added
setLinkedTextColor(ColorStateList)
inMessageListComponent.Params
,OpenChannelMessageListComponent.Params
- Support Android 13
- Set the
maxSdkVersion
ofandroid.permission.READ_EXTERNAL_STORAGE
to32
- Set the
- Removed
android.permission.REQUEST_INSTALL_PACKAGES
permission - Support moderation in OpenChannel
- Added
MODERATIONS
inOpenChannelSettingsMenuComponent.Menu
- Added
OpenChannelModerationActivity
,OpenChannelModerationFragment
,OpenChannelModerationModule
,OpenChannelModerationViewModel
- Added
OpenChannelOperatorListActivity
,OpenChannelOperatorListFragment
,OpenChannelOperatorListModule
,OpenChannelOperatorListViewModel
,OpenChannelOperatorListAdapter
- Added
OpenChannelRegisterOperatorActivity
,OpenChannelRegisterOperatorFragment
,OpenChannelRegisterOperatorModule
,OpenChannelRegisterOperatorViewModel
,OpenChannelRegisterOperatorAdapter
- Added
OpenChannelBannedUserListActivity
,OpenChannelBannedUserListFragment
,OpenChannelBannedUserListModule
,OpenChannelBannedUserListViewModel
,OpenChannelBannedUserListAdapter
- Added
OpenChannelMutedParticipantListActivity
,OpenChannelMutedParticipantListFragment
,OpenChannelMutedParticipantListModule
,OpenChannelMutedParticipantListViewModel
,OpenChannelMutedParticipantListAdapter
- Added
newOpenChannelModerationFragment()
,newOpenChannelOperatorListFragment()
,newOpenChannelRegisterOperatorFragment()
,newOpenChannelMutedParticipantListFragment()
,newOpenChannelBannedUserListFragment()
inUIKitFragmentFactory
- Added
- Improved stability
- Support
modules
andcomponents
in the UIKit - Added
setEditedTextMarkUIConfig(TextUIConfig, TextUIConfig)
inOpenChannelFragment.Builder
- Rename
PromoteOperator
toRegisterOperator
- Rename
PromoteOperatorActivity
toRegisterOperatorActivity
- Rename
PromoteOperatorFragment
toRegisterOperatorFragment
- Rename
PromoteOperatorModule
toRegisterOperatorModule
- Rename
PromoteOperatorListComponent
toRegisterOperatorListComponent
- Rename
PromoteOperatorListAdapter
toRegisterOperatorListAdapter
- Rename
PromoteOperatorViewModel
toRegisterOperatorViewModel
- Rename
newPromoteOperatorFragment()
tonewRegisterOperatorFragment()
inUIKitFragmentFactory
- Rename
onBindPromoteOperatorListComponent()
toonBindRegisterOperatorListComponent()
inRegisterOperatorFragment
- Rename
setPromoteOperatorListAdapter()
tosetRegisterOperatorListAdapter()
inRegisterOperatorFragment.Builder
- Rename
setMemberListComponent()
tosetRegisterOperatorListComponent()
inRegisterOperatorModule
- Rename
getPromoteOperatorListComponent()
togetRegisterOperatorListComponent()
inRegisterOperatorModule
- Rename
getOperatorDismissed()
togetOperatorUnregistered()
inPromoteOperatorViewModel
- Rename
- See more details and breaking changes. [details]
- See the Migration Guide for Converting V2 to V3. [details]
-
Synchronized Builder methods and Params methods
- Added
setErrorText()
inBannedUserListFragment.Builder
,ChannelListFragment.Builder
,MemberListFragment.Builder
,MutedMemberListFragment.Builder
,OperatorListFragment.Builder
- Added
setOnInputRightButtonClickListener()
,setOnEditModeCancelButtonClickListener()
,setOnEditModeSaveButtonClickListener()
,setOnQuoteReplyModeCloseButtonClickListener()
,setOnInputModeChangedListener()
,setUseSuggestedMentionListDivider()
,setOnTooltipClickListener()
,setOnScrollBottomButtonClickListener()
,setErrorText()
inChannelFragment.Builder
,OpenChannelFragment.Builder
- Added
setRightButtonText()
,setOnRightButtonClickListener()
inChannelSettings.Builder
- Added
setOnRightButtonClickListener()
,setOnUserSelectChangedListener()
,setOnUserSelectionCompleteListener()
,setErrorText()
inCreateChannelFragment.Builder
,PromoteOperatorFragment.Builder
- Added
setOnInputTextChangedListener()
,setOnClearButtonClickListener()
,setErrorText()
inMessageSearchFragment.Builder
- Added
setHeaderRightButtonIconResId()
,setHeaderRightButtonIcon()
,setUseHeaderRightButton()
,setOnHeaderRightButtonClickListener()
inModerationFragment.Builder
- Added
setOnInputRightButtonClickListener()
,setOnEditModeCancelButtonClickListener()
,setOnEditModeSaveButtonClickListener()
,setOnInputModeChangedListener()
,setOnScrollBottomButtonClickListener()
,setOnMessageProfileLongClickListener()
,setOnMessageInsertedListener()
,setErrorText()
inOpenChannelFragment.Builder
- Added
setHeaderRightButtonIconResId()
,setHeaderRightButtonIcon()
,setUseHeaderRightButton()
,setOnHeaderRightButtonClickListener()
,setOnActionItemClickListener()
,setErrorText()
inParticipantListFragment.Builder
- Added
-
Mention improvement
- Added
setStartingPoint(long, boolean)
inChannelFragment.Builder
- Removed
HighlightMessageInfo
class - Removed
setHighlightMessageInfo(HighlightMessageInfo)
inChannelFragment.Builder
- Removed
setHighlightMessageInfo(HighlightMessageInfo)
andgetHighlightMessageInfo()
inMessageListAdapter
- Removed
setHighlightMessageInfo(HighlightMessageInfo)
,getHighlightMessageInfo()
,setSearchedTextUIConfig(TextUIConfig)
, andsetSearchedTextUIConfig(TextUIConfig)
inMessageListComponent.Params
- Removed
setSearchedTextUIConfig(TextUIConfig)
inChannelFragment.Builder
- Added
-
Added channel push setting option for sent from mentioned only
-
Added
ChannelPushSettingFragment
andChannelPushSettingActivity
-
Added
ChannelPushSettingViewModel
,ChannelPushSettingModule
, andChannelPushSettingComponent
- Supported user mention in
GroupChannel
- Now you can send mentioning text to the other users in
GroupChannel
. These following functions are available- Added
setUseMention(boolean)
,setUserMentionConfig(UserMentionConfig)
,getUserMentionConfig()
andisUsingMention()
inSendbirdUIKit
- Added
setSuggestedMentionListAdapter(SuggestedMentionListAdapter)
inChannelFragment.Builder
- Added
setMentionUIConfig(TextUIConfig, TextUIConfig)
inChannelFragment.Builder
- Added
setEditedTextMarkUIConfig(TextUIConfig, TextUIConfig)
inChannelFragment.Builder
- Added
setSearchedTextUIConfig(TextUIConfig)
inChannelFragment.Builder
- Added
setMentionUIConfig(TextUIConfig, TextUIConfig)
inMessageListComponent.Params
- Added
setEditedTextMarkUIConfig(TextUIConfig, TextUIConfig)
inMessageListComponent.Params
- Added
setSearchedTextUIConfig(TextUIConfig)
inMessageListComponent.Params
- Added
setMessageUIConfig(MessageUIConfig)
andgetMessageUIConfig()
inMessageListAdapter
- Added
setMessageUIConfig(MessageUIConfig)
inMessageViewHolder
- Added
bindUserMention(UserMentionConfig, OnMentionEventListener)
inMessageInputComponent
- Added
setSuggestedMentionListAdapter(SuggestedMentionListAdapter)
inMessageInputComponent
- Added
setUseSuggestedMentionListDivider(boolean)
inMessageInputComponent
- Added
notifySuggestedMentionDataChanged(List<User>)
inMessageInputComponent
- Added
getMentionSuggestion()
inChannelViewModel
- Added
loadMemberList(String)
inChannelViewModel
- Added