Package io.rong.imkit.config

## Class ConversationConfig

- All Implemented Interfaces:

      public class ConversationConfig

  会话页面总配置项

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class | Description
    --- | --- | ---

  - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `public static String` | `SP_NAME_READ_RECEIPT_CONFIG` |
    `public static boolean` | `enableMultiDeviceSync` |
    `public boolean` | `rc_enable_recall_message` |
    `public boolean` | `rc_enable_resend_message` |
    `public int` | `rc_message_recall_interval` |
    `public int` | `rc_message_recall_edit_interval` |
    `public int` | `rc_chatroom_first_pull_message_count` |
    `public boolean` | `rc_is_show_warning_notification` |
    `public boolean` | `rc_play_audio_continuous` |
    `public boolean` | `rc_enable_mentioned_message` |
    `public int` | `rc_read_receipt_request_interval` |
    `public boolean` | `rc_media_selector_contain_video` |
    `public boolean` | `rc_enable_automatic_download_voice_msg` |
    `public int` | `rc_gifmsg_auto_download_size` |
    `public int` | `rc_max_message_selected_count` |
    `public boolean` | `rc_enable_send_combine_message` |
    `public int` | `conversationHistoryMessageCount` |
    `public int` | `conversationRemoteMessageCount` |
    `public int` | `conversationShowUnreadMessageCount` |
    `public ConversationLoadMessageType` | `conversationLoadMessageType` |

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---

  - ### Enum Constant Summary

    Enum Constants
    Enum Constant | Description
    --- | ---

  - ### Method Summary

    Modifier and Type | Method | Description
    --- | --- | ---
    `int` | `getConversationHistoryMessageCount()` |
    `void` | `setConversationHistoryMessageCount(int conversationHistoryMessageCount)` |
    `int` | `getConversationRemoteMessageCount()` |
    `void` | `setConversationRemoteMessageCount(int conversationRemoteMessageCount)` |
    `int` | `getConversationShowUnreadMessageCount()` |
    `void` | `setConversationShowUnreadMessageCount(int conversationShowUnreadMessageCount)` |
    `ConversationLoadMessageType` | `getConversationLoadMessageType()` |
    `void` | `setConversationLoadMessageType(ConversationLoadMessageType conversationLoadMessageType)` |
    `void` | `initConfig(Context context)` |
    `void` | `addMoreClickAction(int index, IClickActions action)` |
    `void` | `removeMoreClickAction(IClickActions action)` | 移除点击事件
    `void` | `addViewProcessor(IConversationUIRenderer processor)` | ConversationFragment 处理器
    `List<IConversationUIRenderer>` | `getViewProcessors()` |
    `void` | `addMessageProvider(IMessageProvider provider)` |
    `void` | `replaceMessageProvider(Class oldProviderClass, IMessageProvider provider)` | 替换已有的模板
    `ProviderManager<UiMessage>` | `getMessageListProvider()` |
    `Spannable` | `getMessageSummary(Context context, MessageContent messageContent)` | 获得消息展示信息
    `Spannable` | `getMessageSummary(Context context, Conversation conversation)` | 获得消息展示信息
    `boolean` | `showSummaryWithName(MessageContent messageContent)` | 是否在消息列表显示名称
    `boolean` | `isShowReceiverUserTitle(ConversationType type)` | 单聊是否显示用户昵称 仅支持配置单聊属性
    `boolean` | `isShowMoreClickAction()` |
    `boolean` | `isShowHistoryDividerMessage()` |
    `boolean` | `isShowNewMessageBar(ConversationType type)` | 新消息是否显示未读气泡，目前仅支持单群聊
    `boolean` | `isShowNewMentionMessageBar(ConversationType type)` | 会话页面右上角的未读 @ 消息数提示，目前仅支持群聊
    `boolean` | `isShowHistoryMessageBar(ConversationType type)` | 是否显示历史未读消息气泡，仅支持设置私聊，群组
    `ConversationClickListener` | `getConversationClickListener()` |
    `void` | `setConversationClickListener(ConversationClickListener conversationClickListener)` |
    `List<IClickActions>` | `getMoreClickActions()` | 获取会话页面长按消息，弹出框里点击"更多"选项时，底部需要显示的条目。 可以通过对此列表的增删，进行自定义显示。
    `IMessageViewModelProcessor` | `getViewModelProcessor()` |
    `void` | `setViewModelProcessor(IMessageViewModelProcessor viewModelProcessor)` |
    `void` | `setEnableReadReceipt(boolean enable)` | 设置已读回执，仅支持单聊，群聊，讨论组，密聊，其余不生效
    `boolean` | `isEnableReadReceipt()` | 已读回执是否生效，仅支持单聊，群聊，讨论组，密聊，其余不生效
    `void` | `setSupportReadReceiptConversationType(Array<ConversationType> types)` |
    `Set<ConversationType>` | `getSupportReadReceiptConversationType()` |
    `boolean` | `isShowReadReceipt(ConversationType type)` | 仅适用单聊和加密
    `boolean` | `isShowReadReceiptRequest(ConversationType type)` | 仅适用群聊和讨论组
    `boolean` | `isEnableMultiDeviceSync(ConversationType type)` | 是否打开多端阅读状态同步功能。 开启之后，在其它端阅读过的消息，当前客户端会同步清掉未读数。
    `void` | `setEnableMultiDeviceSync(boolean enableMultiDeviceSync)` |
    `boolean` | `isNeedDeleteRemoteMessage()` | 是否删除远端消息
    `boolean` | `isNeedRefreshWhenListIsEmptyAfterDelete()` | 获取当会话页面删除消息后列表消息为空时，设置是否重新刷新页面
    `void` | `registerFileSuffixTypes(HashMap<String, Integer> map)` | 注册文件消息后缀类型对应的ICON配置列表
    `HashMap<String, Integer>` | `getFileSuffixTypes()` | 内部使用，客户不需要调用
    `void` | `setShowReceiverUserTitle(boolean showReceiverUserTitle)` |
    `void` | `setShowMoreClickAction(boolean showMoreClickAction)` |
    `void` | `setShowHistoryDividerMessage(boolean showHistoryDividerMessage)` |
    `void` | `setShowNewMessageBar(boolean showNewMessageBar)` |
    `void` | `setShowNewMentionMessageBar(boolean showNewMentionMessageBar)` |
    `void` | `setShowHistoryMessageBar(boolean showHistoryMessageBar)` |
    `void` | `setNeedDeleteRemoteMessage(boolean needDeleteRemoteMessage)` | 设置是否删除远端消息
    `void` | `setNeedRefreshWhenListIsEmptyAfterDelete(boolean needRefreshWhenListIsEmptyAfterDelete)` | 当会话页面删除消息后列表消息为空时，设置是否重新刷新页面

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

  - ### Method Detail

    - #### 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:

        获得消息模板列表

    - #### 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` - 是否重新刷新页面