Package io.rong.imkit.handler

## Class EditMessageHandler

- All Implemented Interfaces:

      public class EditMessageHandler

  EditMessageHandler

  处理消息编辑相关的数据请求

  Since:

    5.26.0

- - ### Nested Class Summary

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

  - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `public final static DataKey<List<Message>>` | `KEY_ON_MESSAGE_MODIFIED` |
    `public final static DataKey<Message>` | `KEY_ON_MESSAGE_REFRESH` |
    `public final static DataKey<EditMessageConfig>` | `KEY_INPUT_PANEL_GET_DRAFT` |

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `EditMessageHandler()` |

  - ### Enum Constant Summary

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

  - ### Method Summary

    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `stop()` |
    `List<UiMessage>` | `processMessageEditStatusAndReferMsgStatus(List<Message> editMessageList, List<UiMessage> uiMessageList)` | 处理消息的编辑状态和引用了此消息的引用消息状态
    `List<UiMessage>` | `processMessageReferMsgStatus(Message message, ReferenceMessageStatus status, List<UiMessage> uiMessageList)` | 处理引用了此消息的引用消息状态
    `List<UiMessage>` | `processMessageReferMsgStatus(Array<Message> messages, ReferenceMessageStatus status, List<UiMessage> uiMessageList)` | 处理引用了此消息的引用消息状态
    `void` | `updateReferenceView(List<Message> messages, List<UiMessage> uiMessageList)` | 收到编辑消息事件后，更新引用消息UI
    `void` | `refreshReferenceMessage(String editMsgUid, ConversationIdentifier identifier)` | 刷新引用消息状态
    `void` | `saveEditedMessageDraft(ConversationIdentifier id, EditMessageConfig config)` | 保存编辑消息状态
    `void` | `checkEditedMessageDraftStatus(ConversationIdentifier id)` | 检查消息编辑草稿状态 用与 InputPanel 初始化后先获取编辑草稿，来决定是否获取普通草稿。
    `void` | `resumeEditMode(ConversationIdentifier id, ActiveType type)` | 恢复编辑消息输入UI。
    `void` | `clearEditedMessageDraft(ConversationIdentifier id)` | 清理草稿

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

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

- - ### Constructor Detail

    - #### EditMessageHandler

          EditMessageHandler()

  - ### Method Detail

    - #### stop

           void stop()

    - #### processMessageEditStatusAndReferMsgStatus

           List<UiMessage> processMessageEditStatusAndReferMsgStatus(List<Message> editMessageList, List<UiMessage> uiMessageList)

      处理消息的编辑状态和引用了此消息的引用消息状态

      Parameters:
        `editMessageList` - 编辑消息列表
        `uiMessageList` - 页面中的消息列表
      Returns:

        处理后的消息列表，用户UI刷新

    - #### processMessageReferMsgStatus

           List<UiMessage> processMessageReferMsgStatus(Message message, ReferenceMessageStatus status, List<UiMessage> uiMessageList)

      处理引用了此消息的引用消息状态

      Parameters:
        `message` - 消息
        `status` - 引用消息状态 撤回状态、删除状态
        `uiMessageList` - 页面中的消息列表
      Returns:

        处理后的消息列表，用户UI刷新

    - #### processMessageReferMsgStatus

           List<UiMessage> processMessageReferMsgStatus(Array<Message> messages, ReferenceMessageStatus status, List<UiMessage> uiMessageList)

      处理引用了此消息的引用消息状态

      Parameters:
        `messages` - 消息列表
        `status` - 引用消息状态 撤回状态、删除状态
        `uiMessageList` - 页面中的消息列表
      Returns:

        处理后的消息列表，用户UI刷新

    - #### updateReferenceView

           void updateReferenceView(List<Message> messages, List<UiMessage> uiMessageList)

      收到编辑消息事件后，更新引用消息UI

      Parameters:
        `messages` - 编辑的消息

    - #### refreshReferenceMessage

           void refreshReferenceMessage(String editMsgUid, ConversationIdentifier identifier)

      刷新引用消息状态

      Parameters:
        `editMsgUid` - 消息uid
        `identifier` - ConversationIdentifier

    - #### saveEditedMessageDraft

           void saveEditedMessageDraft(ConversationIdentifier id, EditMessageConfig config)

      保存编辑消息状态

    - #### checkEditedMessageDraftStatus

           void checkEditedMessageDraftStatus(ConversationIdentifier id)

      检查消息编辑草稿状态 用与 InputPanel 初始化后先获取编辑草稿，来决定是否获取普通草稿。

    - #### resumeEditMode

           void resumeEditMode(ConversationIdentifier id, ActiveType type)

      恢复编辑消息输入UI。

    - #### clearEditedMessageDraft

           void clearEditedMessageDraft(ConversationIdentifier id)

      清理草稿