onReceiveMessageRecalled method

void onReceiveMessageRecalled(
  1. String msgID
)

Callback for receiving message was recalled function(V2TimMessage)

Implementation

void onReceiveMessageRecalled(String msgID) async {
  final findRes = await TencentCloudChat.instance.chatSDKInstance.messageSDK.findMessages(msgIds: [msgID]);
  if (findRes.code == 0 && findRes.data != null && findRes.data!.isNotEmpty && findRes.data?.first != null) {
    final V2TimMessage targetMessage = findRes.data!.first;
    targetMessage.status = MessageStatus.V2TIM_MSG_STATUS_LOCAL_REVOKED;

    String conversationID = TencentCloudChatUtils.checkString(targetMessage.groupID) ?? TencentCloudChatUtils.checkString(targetMessage.userID) ?? "";
    List<V2TimMessage> messageList = getMessageList(key: conversationID);
    // Check if the message list already contains the new message.
    int index = messageList.indexWhere((element) => element.msgID == targetMessage.msgID);
    if (index > -1) {
      messageList.replaceRange(index, index + 1, [targetMessage]);
      // Update the message list in the data store.
      updateMessageList(
        userID: targetMessage.userID,
        groupID: targetMessage.groupID,
        messageList: messageList,
        disableNotify: true,
      );
      messageNeedUpdate = targetMessage;
    }
  }
}