getGroupsInfo method

Future<V2TimValueCallback<List<V2TimGroupInfoResult>>> getGroupsInfo({
  1. required List<String> groupIDList,
})

Implementation

Future<V2TimValueCallback<List<V2TimGroupInfoResult>>> getGroupsInfo({
  required List<String> groupIDList,
}) async {
  if (!TIMManager.instance.isInitSDK()) {
    return V2TimValueCallback<List<V2TimGroupInfoResult>>(code: TIMErrCode.ERR_SDK_NOT_INITIALIZED.value, desc: "sdk not init");
  }

  String userData = Tools.generateUserData('getGroupsInfo');
  Completer<V2TimValueCallback<List<V2TimGroupInfoResult>>> completer = Completer();
  // 打断点测试
  // void handleApiCallback(Map jsonResult) {
  //   V2TimValueCallback<List<V2TimGroupInfoResult>> result = V2TimValueCallback<List<V2TimGroupInfoResult>>.fromJson(jsonResult);
  //   completer.complete(result);
  // }
  // NativeLibraryManager.timApiValueCallback2Future(userData, handleApiCallback);

  NativeLibraryManager.timValueCallback2Future<List<V2TimGroupInfoResult>>(userData, completer);

  String jsonGroupIDList = json.encode(groupIDList);
  Pointer<Char> pGroupIDList = Tools.string2PointerChar(jsonGroupIDList);
  Pointer<Void> pUserData = Tools.string2PointerVoid(userData);
  NativeLibraryManager.bindings.DartGetGroupsInfo(pGroupIDList, pUserData);

  return completer.future;
}