insertC2CMessageToLocalStorageV2 method

Future<V2TimValueCallback<V2TimMessage>> insertC2CMessageToLocalStorageV2(
  1. {required String userID,
  2. required String senderID,
  3. required String createdMsgID}
)

Implementation

Future<V2TimValueCallback<V2TimMessage>> insertC2CMessageToLocalStorageV2({
  required String userID,
  required String senderID,
  required String createdMsgID,
}) async {
  if (!TIMManager.instance.isInitSDK()) {
    return V2TimValueCallback<V2TimMessage>(code: TIMErrCode.ERR_SDK_NOT_INITIALIZED.value, desc: "sdk not init");
  }

  V2TimMessage? v2timMessage = messageIDMap[createdMsgID];
  if (v2timMessage == null) {
    print("insertC2CMessageToLocalStorageV2, message not found");
    return V2TimValueCallback<V2TimMessage>.fromBool(false, 'message not found');
  }

  v2timMessage.userID = userID;
  v2timMessage.sender = senderID;

  String userData = Tools.generateUserData('insertC2CMessageToLocalStorageV2');
  Completer<V2TimValueCallback<V2TimMessage>> completer = Completer();
  NativeLibraryManager.timValueCallback2Future<V2TimMessage>(userData, completer);

  Pointer<Char> pUserID = Tools.string2PointerChar(userID);
  Pointer<Char> pMessage = Tools.string2PointerChar(json.encode(v2timMessage.toJson()));
  Pointer<Void> pUserData = Tools.string2PointerVoid(userData);
  NativeLibraryManager.bindings.DartSaveMessage(pUserID, TIMConvType.kTIMConv_C2C, pMessage, pUserData);

  return completer.future;
}