sendVideoMessage method
Implementation
sendVideoMessage(
String videoPath, String caption, String replyMessageID) async {
if (!availableFeatures.value.isVideoAttachmentAvailable.checkNull()) {
DialogUtils.showFeatureUnavailable();
return;
}
var busyStatus = !profile.isGroupProfile.checkNull()
? await Mirrorfly.isBusyStatusEnabled()
: false;
if (!busyStatus.checkNull()) {
if (isReplying.value) {
replyMessageID = replyChatMessage.messageId;
}
isReplying(false);
Platform.isIOS
? DialogUtils.showLoading(
message: getTranslated("compressingVideo"),
dialogStyle: AppStyleConfig.dialogStyle)
: null;
return Mirrorfly.sendMessage(
messageParams: MessageParams.video(
toJid: profile.jid.checkNull(),
replyMessageId: replyMessageID,
topicId: topicId,
fileMessageParams:
FileMessageParams(file: File(videoPath), caption: caption)),
flyCallback: (response) {
if (response.isSuccess) {
LogMessage.d("video message", response.data.toString());
messageController.text = "";
Platform.isIOS ? DialogUtils.hideLoading() : null;
ChatMessageModel chatMessageModel =
sendMessageModelFromJson(response.data);
scrollToBottom();
updateLastMessage(response.data);
return chatMessageModel;
} else {
LogMessage.d("sendMessage", response.errorMessage);
showError(response.exception);
}
});
} else {
messageObject = MessageObject(
toJid: profile.jid.toString(),
replyMessageId: (isReplying.value) ? replyChatMessage.messageId : "",
messageType: Constants.mVideo,
file: videoPath,
caption: caption);
showBusyStatusAlert(disableBusyChatAndSend);
}
}