Class ConversationConfig
-
- All Implemented Interfaces:
public class ConversationConfig会话页面总配置项
-
-
Field Summary
-
Method Summary
Modifier and Type Method Description MessageReactionDisplayModegetMessageReactionDisplayMode()获取消息回应展示模式。 voidsetMessageReactionDisplayMode(MessageReactionDisplayMode mode)设置消息回应展示模式。 intgetMessageReactionFrequentDisplayCount()获取消息回应「最近常用」区显示的表情个数。 voidsetMessageReactionFrequentDisplayCount(int count)设置消息回应「最近常用」区显示的表情个数。 有效范围 [1, 20]。传入值不在有效范围内时恢复默认值 14。 intgetConversationHistoryMessageCount()voidsetConversationHistoryMessageCount(int conversationHistoryMessageCount)intgetConversationRemoteMessageCount()voidsetConversationRemoteMessageCount(int conversationRemoteMessageCount)intgetConversationShowUnreadMessageCount()voidsetConversationShowUnreadMessageCount(int conversationShowUnreadMessageCount)ConversationLoadMessageTypegetConversationLoadMessageType()voidsetConversationLoadMessageType(ConversationLoadMessageType conversationLoadMessageType)voidinitConfig(Context context)voidaddMoreClickAction(int index, IClickActions action)voidremoveMoreClickAction(IClickActions action)移除点击事件 voidaddViewProcessor(IConversationUIRenderer processor)ConversationFragment 处理器 List<IConversationUIRenderer>getViewProcessors()voidaddMessageProvider(IMessageProvider provider)voidreplaceMessageProvider(Class oldProviderClass, IMessageProvider provider)替换已有的模板 ProviderManager<UiMessage>getMessageListProvider()voidsetReferenceMenuItemFilter(ReferenceMenuItemFilter filter)设置引用菜单准入回调。传 null 时恢复 SDK 默认准入逻辑。 ReferenceMenuItemFiltergetReferenceMenuItemFilter()获取引用菜单准入回调;未设置时返回 SDK 默认实现。 ReferenceMenuItemFiltergetDefaultReferenceMenuItemFilter()获取 SDK 默认引用菜单准入回调。业务自定义 filter 如需保留内置类型,可委托该实现。 voidaddReferenceContentMessageItemProvider(String objectName, ReferenceContentMessageItemProvider provider)注册消息列表引用展示区自定义 Provider。 ReferenceContentMessageItemProvidergetReferenceContentMessageItemProvider(String objectName, MessageContent content)查询消息列表引用展示区自定义 Provider。查询顺序:objectName 精确匹配 -> content 类型兜底。 voidaddReferenceContentInputBarProvider(String objectName, ReferenceContentInputBarProvider provider)注册输入框引用展示区自定义 Provider。 ReferenceContentInputBarProvidergetReferenceContentInputBarProvider(String objectName, MessageContent content)查询输入框引用展示区自定义 Provider。查询顺序:objectName 精确匹配 -> content 类型兜底。 SpannablegetMessageSummary(Context context, MessageContent messageContent)获得消息展示信息 SpannablegetMessageSummary(Context context, Conversation conversation)获得消息展示信息 booleanshowSummaryWithName(MessageContent messageContent)是否在消息列表显示名称 booleanisShowReceiverUserTitle(ConversationType type)单聊是否显示用户昵称 仅支持配置单聊属性 booleanisShowMoreClickAction()booleanisShowHistoryDividerMessage()booleanisShowNewMessageBar(ConversationType type)新消息是否显示未读气泡,目前仅支持单群聊 booleanisShowNewMentionMessageBar(ConversationType type)会话页面右上角的未读 @ 消息数提示,目前仅支持群聊 booleanisShowHistoryMessageBar(ConversationType type)是否显示历史未读消息气泡,仅支持设置私聊,群组 ConversationClickListenergetConversationClickListener()voidsetConversationClickListener(ConversationClickListener conversationClickListener)List<IClickActions>getMoreClickActions()获取会话页面长按消息,弹出框里点击"更多"选项时,底部需要显示的条目。 可以通过对此列表的增删,进行自定义显示。 IMessageViewModelProcessorgetViewModelProcessor()voidsetViewModelProcessor(IMessageViewModelProcessor viewModelProcessor)voidsetEnableReadReceipt(boolean enable)设置已读回执,仅支持单聊,群聊,讨论组,密聊,其余不生效 booleanisEnableReadReceipt()已读回执是否生效,仅支持单聊,群聊,讨论组,密聊,其余不生效 voidsetSupportReadReceiptConversationType(Array<ConversationType> types)Set<ConversationType>getSupportReadReceiptConversationType()booleanisShowReadReceipt(ConversationType type)仅适用单聊和加密 booleanisShowReadReceiptRequest(ConversationType type)仅适用群聊和讨论组 booleanisEnableMultiDeviceSync(ConversationType type)是否打开多端阅读状态同步功能。 开启之后,在其它端阅读过的消息,当前客户端会同步清掉未读数。 voidsetEnableMultiDeviceSync(boolean enableMultiDeviceSync)booleanisNeedDeleteRemoteMessage()是否删除远端消息 booleanisNeedRefreshWhenListIsEmptyAfterDelete()获取当会话页面删除消息后列表消息为空时,设置是否重新刷新页面 voidregisterFileSuffixTypes(HashMap<String, Integer> map)注册文件消息后缀类型对应的ICON配置列表 HashMap<String, Integer>getFileSuffixTypes()内部使用,客户不需要调用 voidsetShowReceiverUserTitle(boolean showReceiverUserTitle)voidsetShowMoreClickAction(boolean showMoreClickAction)voidsetShowHistoryDividerMessage(boolean showHistoryDividerMessage)voidsetShowNewMessageBar(boolean showNewMessageBar)voidsetShowNewMentionMessageBar(boolean showNewMentionMessageBar)voidsetShowHistoryMessageBar(boolean showHistoryMessageBar)voidsetNeedDeleteRemoteMessage(boolean needDeleteRemoteMessage)设置是否删除远端消息 voidsetNeedRefreshWhenListIsEmptyAfterDelete(boolean needRefreshWhenListIsEmptyAfterDelete)当会话页面删除消息后列表消息为空时,设置是否重新刷新页面 -
-
Method Detail
-
getMessageReactionDisplayMode
MessageReactionDisplayMode getMessageReactionDisplayMode()
获取消息回应展示模式。
- Returns:
当前展示模式。
- Since:
5.42.0
-
setMessageReactionDisplayMode
void setMessageReactionDisplayMode(MessageReactionDisplayMode mode)
设置消息回应展示模式。
- Parameters:
mode- COUNT_ONLY 仅显示数字(默认),DETAIL 显示用户名详情。- Since:
5.42.0
-
getMessageReactionFrequentDisplayCount
int getMessageReactionFrequentDisplayCount()
获取消息回应「最近常用」区显示的表情个数。
- Returns:
显示个数,默认 14,范围 [1, 20]。
- Since:
5.42.0
-
setMessageReactionFrequentDisplayCount
void setMessageReactionFrequentDisplayCount(int count)
设置消息回应「最近常用」区显示的表情个数。
有效范围 [1, 20]。传入值不在有效范围内时恢复默认值 14。
- Parameters:
count- 显示个数,默认 14。- Since:
5.42.0
-
getConversationHistoryMessageCount
int getConversationHistoryMessageCount()
-
setConversationHistoryMessageCount
void setConversationHistoryMessageCount(int conversationHistoryMessageCount)
-
getConversationRemoteMessageCount
int getConversationRemoteMessageCount()
-
setConversationRemoteMessageCount
void setConversationRemoteMessageCount(int conversationRemoteMessageCount)
-
getConversationShowUnreadMessageCount
int getConversationShowUnreadMessageCount()
-
setConversationShowUnreadMessageCount
void setConversationShowUnreadMessageCount(int conversationShowUnreadMessageCount)
-
getConversationLoadMessageType
ConversationLoadMessageType getConversationLoadMessageType()
-
setConversationLoadMessageType
void setConversationLoadMessageType(ConversationLoadMessageType conversationLoadMessageType)
-
initConfig
void initConfig(Context context)
-
addMoreClickAction
void addMoreClickAction(int index, IClickActions action)
- Parameters:
index- 添加位置action- 添加点击更多事件
-
removeMoreClickAction
void removeMoreClickAction(IClickActions action)
移除点击事件
- Parameters:
action- 移除的点击事件
-
addViewProcessor
void addViewProcessor(IConversationUIRenderer processor)
ConversationFragment 处理器
-
getViewProcessors
List<IConversationUIRenderer> getViewProcessors()
- Returns:
ConversationFragment 处理器
-
addMessageProvider
void addMessageProvider(IMessageProvider provider)
- Parameters:
provider- 消息列表 item 提供者
-
replaceMessageProvider
void replaceMessageProvider(Class oldProviderClass, IMessageProvider provider)
替换已有的模板
- Parameters:
oldProviderClass- 旧模板 class 类provider- 新模板
-
getMessageListProvider
ProviderManager<UiMessage> getMessageListProvider()
- Returns:
获得消息模板列表
-
setReferenceMenuItemFilter
void setReferenceMenuItemFilter(ReferenceMenuItemFilter filter)
设置引用菜单准入回调。传 null 时恢复 SDK 默认准入逻辑。
- Parameters:
filter- 引用菜单准入回调
-
getReferenceMenuItemFilter
ReferenceMenuItemFilter getReferenceMenuItemFilter()
获取引用菜单准入回调;未设置时返回 SDK 默认实现。
- Returns:
当前引用菜单准入回调
-
getDefaultReferenceMenuItemFilter
ReferenceMenuItemFilter getDefaultReferenceMenuItemFilter()
获取 SDK 默认引用菜单准入回调。业务自定义 filter 如需保留内置类型,可委托该实现。
- Returns:
SDK 默认引用菜单准入回调
-
addReferenceContentMessageItemProvider
void addReferenceContentMessageItemProvider(String objectName, ReferenceContentMessageItemProvider provider)
注册消息列表引用展示区自定义 Provider。
- Parameters:
objectName- 消息 objectName,非空时优先精确匹配;为空时仅参与 content 类型兜底provider- Provider 实例
-
getReferenceContentMessageItemProvider
ReferenceContentMessageItemProvider getReferenceContentMessageItemProvider(String objectName, MessageContent content)
查询消息列表引用展示区自定义 Provider。查询顺序:objectName 精确匹配 -> content 类型兜底。
- Parameters:
objectName- 被引用消息 objectNamecontent- 被引用消息内容- Returns:
命中的 Provider,未命中返回 null
-
addReferenceContentInputBarProvider
void addReferenceContentInputBarProvider(String objectName, ReferenceContentInputBarProvider provider)
注册输入框引用展示区自定义 Provider。
- Parameters:
objectName- 消息 objectName,非空时优先精确匹配;为空时仅参与 content 类型兜底provider- Provider 实例
-
getReferenceContentInputBarProvider
ReferenceContentInputBarProvider getReferenceContentInputBarProvider(String objectName, MessageContent content)
查询输入框引用展示区自定义 Provider。查询顺序:objectName 精确匹配 -> content 类型兜底。
- Parameters:
objectName- 被引用消息 objectNamecontent- 被引用消息内容- Returns:
命中的 Provider,未命中返回 null
-
getMessageSummary
Spannable getMessageSummary(Context context, MessageContent messageContent)
获得消息展示信息
- Parameters:
context- 上下文messageContent- 消息类型
-
getMessageSummary
Spannable getMessageSummary(Context context, Conversation conversation)
获得消息展示信息
- Parameters:
context- 上下文conversation- 消息内容- Since:
5.2.5
-
showSummaryWithName
boolean showSummaryWithName(MessageContent messageContent)
是否在消息列表显示名称
- Parameters:
messageContent- 消息类型
-
isShowReceiverUserTitle
boolean isShowReceiverUserTitle(ConversationType type)
单聊是否显示用户昵称 仅支持配置单聊属性
- Parameters:
type- 会话类型- Returns:
是否显示
-
isShowMoreClickAction
boolean isShowMoreClickAction()
- Returns:
长按是否显示更多选项
-
isShowHistoryDividerMessage
boolean isShowHistoryDividerMessage()
- Returns:
是否显示历史消息模板
-
isShowNewMessageBar
boolean isShowNewMessageBar(ConversationType type)
新消息是否显示未读气泡,目前仅支持单群聊
- Parameters:
type- 会话类型- Returns:
不支持类型返回false,支持类型返回 showHistoryMessageBar 值
-
isShowNewMentionMessageBar
boolean isShowNewMentionMessageBar(ConversationType type)
会话页面右上角的未读 @ 消息数提示,目前仅支持群聊
- Parameters:
type- 会话类型- Returns:
不支持类型返回 false,支持类型返回 showNewMentionMessageBar 值
-
isShowHistoryMessageBar
boolean isShowHistoryMessageBar(ConversationType type)
是否显示历史未读消息气泡,仅支持设置私聊,群组
- Parameters:
type- 会话类型- Returns:
不支持类型返回false,支持类型返回 showHistoryMessageBar 值
-
getConversationClickListener
ConversationClickListener getConversationClickListener()
-
setConversationClickListener
void setConversationClickListener(ConversationClickListener conversationClickListener)
-
getMoreClickActions
List<IClickActions> getMoreClickActions()
获取会话页面长按消息,弹出框里点击"更多"选项时,底部需要显示的条目。 可以通过对此列表的增删,进行自定义显示。
- Returns:
当前设置的点击"更多"时底部显示的条目列表。
-
getViewModelProcessor
IMessageViewModelProcessor getViewModelProcessor()
-
setViewModelProcessor
void setViewModelProcessor(IMessageViewModelProcessor viewModelProcessor)
-
setEnableReadReceipt
void setEnableReadReceipt(boolean enable)
设置已读回执,仅支持单聊,群聊,讨论组,密聊,其余不生效
- Parameters:
enable- 回执开关
-
isEnableReadReceipt
boolean isEnableReadReceipt()
已读回执是否生效,仅支持单聊,群聊,讨论组,密聊,其余不生效
- Returns:
回执开关
-
setSupportReadReceiptConversationType
void setSupportReadReceiptConversationType(Array<ConversationType> types)
-
getSupportReadReceiptConversationType
Set<ConversationType> getSupportReadReceiptConversationType()
-
isShowReadReceipt
boolean isShowReadReceipt(ConversationType type)
仅适用单聊和加密
- Parameters:
type- 会话类型- Returns:
不支持类型返回 false, 支持类型 enableReadReceipt 值
-
isShowReadReceiptRequest
boolean isShowReadReceiptRequest(ConversationType type)
仅适用群聊和讨论组
- Parameters:
type- 会话类型- Returns:
不支持类型返回 false, 支持类型返回 enableReadReceipt 值
-
isEnableMultiDeviceSync
boolean isEnableMultiDeviceSync(ConversationType type)
是否打开多端阅读状态同步功能。 开启之后,在其它端阅读过的消息,当前客户端会同步清掉未读数。
- Parameters:
type- 会话类型。该功能仅支持单聊、群聊。- Returns:
功能是否开启。
-
setEnableMultiDeviceSync
void setEnableMultiDeviceSync(boolean enableMultiDeviceSync)
-
isNeedDeleteRemoteMessage
boolean isNeedDeleteRemoteMessage()
是否删除远端消息
- Returns:
是否删除远端消息
-
isNeedRefreshWhenListIsEmptyAfterDelete
boolean isNeedRefreshWhenListIsEmptyAfterDelete()
获取当会话页面删除消息后列表消息为空时,设置是否重新刷新页面
- Returns:
是否重新刷新页面
-
registerFileSuffixTypes
void registerFileSuffixTypes(HashMap<String, Integer> map)
注册文件消息后缀类型对应的ICON配置列表
- Parameters:
map- String:文件后缀(例如:"png"、"pdf" 等),如果要替换默认文件图标, key 使用 "default" 进行配置即可 Integer:ICON的 Android 资源 id,需要把 ICON 添加到 drawable 资源目录中
-
getFileSuffixTypes
HashMap<String, Integer> getFileSuffixTypes()
内部使用,客户不需要调用
- Returns:
客户注册的文件消息后缀类型Map
-
setShowReceiverUserTitle
void setShowReceiverUserTitle(boolean showReceiverUserTitle)
- Parameters:
showReceiverUserTitle- 单聊是否显示用户昵称
-
setShowMoreClickAction
void setShowMoreClickAction(boolean showMoreClickAction)
- Parameters:
showMoreClickAction- 长按是否显示更多选项
-
setShowHistoryDividerMessage
void setShowHistoryDividerMessage(boolean showHistoryDividerMessage)
- Parameters:
showHistoryDividerMessage- 是否显示历史消息模板
-
setShowNewMessageBar
void setShowNewMessageBar(boolean showNewMessageBar)
- Parameters:
showNewMessageBar- 新消息是否显示未读气泡,目前仅支持单群聊(聊天室等,设置无效)
-
setShowNewMentionMessageBar
void setShowNewMentionMessageBar(boolean showNewMentionMessageBar)
- Parameters:
showNewMentionMessageBar- 是否显示会话页面右上角的未读 @ 消息数提示,仅支持设置群组
-
setShowHistoryMessageBar
void setShowHistoryMessageBar(boolean showHistoryMessageBar)
- Parameters:
showHistoryMessageBar- 是否显示历史未读消息气泡,仅支持设置私聊,群组
-
setNeedDeleteRemoteMessage
void setNeedDeleteRemoteMessage(boolean needDeleteRemoteMessage)
设置是否删除远端消息
- Parameters:
needDeleteRemoteMessage- 是否删除远端消息
-
setNeedRefreshWhenListIsEmptyAfterDelete
void setNeedRefreshWhenListIsEmptyAfterDelete(boolean needRefreshWhenListIsEmptyAfterDelete)
当会话页面删除消息后列表消息为空时,设置是否重新刷新页面
- Parameters:
needRefreshWhenListIsEmptyAfterDelete- 是否重新刷新页面
-
-
-
-