createMessage method
Implementation
createMessage(BaseMessage copyFromMessage, User? user, Group? group) async {
if (copyFromMessage is TextMessage) {
TextMessage message = TextMessage(
text: copyFromMessage.text,
receiverUid: user?.uid ?? group?.guid ?? "",
type: MessageTypeConstants.text,
category: MessageCategoryConstants.message,
receiverType: user != null
? ReceiverTypeConstants.user
: ReceiverTypeConstants.group,
muid: DateTime.now().microsecondsSinceEpoch.toString(),
sender: loggedInUser,
parentMessageId: 0,
);
await CometChatUIKit.sendTextMessage(message,
onSuccess: (BaseMessage returnedMessage) {},
onError: (CometChatException excep) {});
} else if (copyFromMessage is MediaMessage) {
if (copyFromMessage.attachment == null) return;
String fileUrl = copyFromMessage.attachment!.fileUrl;
String fileName = copyFromMessage.attachment!.fileName;
String fileExtension = copyFromMessage.attachment!.fileExtension;
String fileMimeType = copyFromMessage.attachment!.fileMimeType;
Attachment attachment =
Attachment(fileUrl, fileName, fileExtension, fileMimeType, null);
MediaMessage message = MediaMessage(
receiverUid: user?.uid ?? group?.guid ?? "",
type: copyFromMessage.type,
category: MessageCategoryConstants.message,
receiverType: user != null
? ReceiverTypeConstants.user
: ReceiverTypeConstants.group,
muid: DateTime.now().microsecondsSinceEpoch.toString(),
sender: loggedInUser,
parentMessageId: 0,
attachment: attachment);
await CometChatUIKit.sendMediaMessage(message,
onSuccess: (BaseMessage returnedMessage) {},
onError: (CometChatException excep) {});
} else if (copyFromMessage is CustomMessage) {
CustomMessage message = CustomMessage(
customData: copyFromMessage.customData,
receiverUid: user?.uid ?? group?.guid ?? "",
type: copyFromMessage.type,
category: MessageCategoryConstants.custom,
receiverType: user != null
? ReceiverTypeConstants.user
: ReceiverTypeConstants.group,
muid: DateTime.now().microsecondsSinceEpoch.toString(),
sender: loggedInUser,
parentMessageId: 0,
);
await CometChatUIKit.sendCustomMessage(message,
onSuccess: (BaseMessage returnedMessage) {},
onError: (CometChatException excep) {});
}
}