insertGroupMessageToLocalStorage method

Future<V2TimValueCallback<V2TimMessage>> insertGroupMessageToLocalStorage(
  1. {required String data,
  2. required String groupID,
  3. required String sender}
)

Implementation

Future<V2TimValueCallback<V2TimMessage>> insertGroupMessageToLocalStorage({
  required String data,
  required String groupID,
  required String sender,
}) async {
  if (!TIMManager.instance.isInitSDK()) {
    return V2TimValueCallback<V2TimMessage>(code: TIMErrCode.ERR_SDK_NOT_INITIALIZED.value, desc: "sdk not init");
  }

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

  V2TimMessage message = createCustomMessage(data: data).messageInfo!;
  message.groupID = groupID;
  message.sender = sender;

  Pointer<Char> pGroupID = Tools.string2PointerChar(groupID);
  Pointer<Char> pMessage = Tools.string2PointerChar(json.encode(message.toJson()));
  Pointer<Void> pUserData = Tools.string2PointerVoid(userData);
  NativeLibraryManager.bindings.DartSaveMessage(pGroupID, TIMConvType.kTIMConv_Group, pMessage, pUserData);

  return completer.future;
}