pinConversation method
Implementation
Future<V2TimCallback> pinConversation({
required String conversationID,
required bool isPinned,
}) async {
if (!TIMManager.instance.isInitSDK()) {
return V2TimCallback(code: TIMErrCode.ERR_SDK_NOT_INITIALIZED.value, desc: "sdk not init");
}
String cConversationID = '';
TIMConvType cConversationType = TIMConvType.kTIMConv_Group;
if (conversationID.startsWith('c2c_')) {
cConversationType = TIMConvType.kTIMConv_C2C;
cConversationID = conversationID.substring(4);
} else if (conversationID.startsWith('group_')) {
cConversationType = TIMConvType.kTIMConv_Group;
cConversationID = conversationID.substring(6);
} else {
print('invalid conversation id: $conversationID');
}
if (cConversationID.isEmpty) {
return V2TimCallback(code: TIMErrCode.ERR_INVALID_PARAMETERS.value, desc: "invalid conversation id");
}
String userData = Tools.generateUserData('pinConversation');
Completer<V2TimCallback> completer = Completer();
NativeLibraryManager.timCallback2Future(userData, completer);
Pointer<Char> pConversationID = Tools.string2PointerChar(cConversationID);
Pointer<Void> pUserData = Tools.string2PointerVoid(userData);
NativeLibraryManager.bindings.DartPinConversation(pConversationID, cConversationType, isPinned, pUserData);
return completer.future;
}