replyMessage method
Future<Map>
replyMessage(
- dynamic message,
- dynamic toOriginalMessage,
- dynamic config,
- int messageID,
- int? messageAttachedCallbackID,
- int? mediaUploadingCallbackID,
- int? multipleMediaUploadingCallbackID,
)
Implementation
Future<Map<dynamic, dynamic>> replyMessage(
dynamic message,
dynamic toOriginalMessage,
dynamic config,
int messageID,
int? messageAttachedCallbackID,
int? mediaUploadingCallbackID,
int? multipleMediaUploadingCallbackID) async {
Map notification = {
'onMessageAttached':
allowInterop((message, currentFileSize, totalFileSize) {
ZIMMessageAttachedCallback? callback = ZIMCommonData
.zimMessageAttachedCallbackMap[messageAttachedCallbackID];
if (callback != null) {
callback(
ZIMDataUtils.parseZIMMessageFromMap(_jsObjectToMap(message)));
}
}),
'onMediaUploadingProgress':
allowInterop((message, currentFileSize, totalFileSize) {
ZIMMediaUploadingProgress? progress =
ZIMCommonData.mediaUploadingProgressMap[mediaUploadingCallbackID];
if (progress != null) {
progress(
ZIMDataUtils.parseZIMMessageFromMap(_jsObjectToMap(message))
as ZIMMediaMessage,
currentFileSize,
totalFileSize);
}
}),
'onMultipleMediaUploadingProgress': allowInterop((message,
currentFileSize,
totalFileSize,
messageInfoIndex,
currentIndexFileSize,
totalIndexFileSize) {
ZIMMultipleMediaUploadingProgress? progress =
ZIMCommonData.multipleMediaUploadingProgressMap[
multipleMediaUploadingCallbackID];
if (progress != null) {
progress(
ZIMDataUtils.parseZIMMessageFromMap(_jsObjectToMap(message))
as ZIMMultipleMessage,
currentFileSize,
totalFileSize,
messageInfoIndex,
currentIndexFileSize,
totalIndexFileSize);
}
})
};
final result = await promiseToFuture(ZIM.getInstance()!.replyMessage(
_mapToJSObject(message),
_mapToJSObject(toOriginalMessage),
_mapToJSObject(config),
_mapToJSObject(notification)))
.catchError(_handleError);
return _jsObjectToMap(result);
}