getRevokedMessage static method

RevokedMessageInfo? getRevokedMessage(
  1. NIMMessage message
)

Implementation

static RevokedMessageInfo? getRevokedMessage(NIMMessage message) {
  RevokedMessageInfo? revokedMessageInfo;
  var textMsg =
      message.messageType == NIMMessageType.text ? message.text : null;
  var multiMap = MessageHelper.parseMultiLineMessage(message);
  if (textMsg?.isNotEmpty == true || multiMap?.isNotEmpty == true) {
    revokedMessageInfo = RevokedMessageInfo(
        reeditMessage: textMsg, multiLineMessage: multiMap);
    Map<String, dynamic>? ext;
    if (message.serverExtension?.isNotEmpty == true) {
      ext = jsonDecode(message.serverExtension!);
    }
    var replyMessageInfoMap = ext?[ChatMessage.keyReplyMsgKey] as Map?;
    if (replyMessageInfoMap != null) {
      revokedMessageInfo.replyMsgId = ReplyMessageInfo.fromMap(
              replyMessageInfoMap.cast<String, dynamic>())
          .idClient;
    }
    if (message.threadReply != null) {
      final refer = message.threadReply!;
      revokedMessageInfo.replyMsgId = refer.messageClientId;
    }
    var aitInfo = ext?[ChatMessage.keyAitMsg] as Map?;
    if (aitInfo != null) {
      revokedMessageInfo.aitContactsModel =
          AitContactsModel.fromMap(aitInfo.cast<String, dynamic>());
    }
  }
  return revokedMessageInfo;
}