v3.9.0
·
54 commits
to main
since this release
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.