getMessageOptions method

  1. @override
List<CometChatMessageOption> getMessageOptions(
  1. User loggedInUser,
  2. BaseMessage messageObject,
  3. BuildContext context,
  4. Group? group,
)
override

override this to alter options for messages of given type in messageObject

Implementation

@override
List<CometChatMessageOption> getMessageOptions(User loggedInUser,
    BaseMessage messageObject, BuildContext context, Group? group) {
  List<CometChatMessageOption> optionList = [];

  if (messageObject.category == MessageCategoryConstants.message) {
    switch (messageObject.type) {
      case MessageTypeConstants.text:
        optionList = CometChatUIKit.getDataSource().getTextMessageOptions(
            loggedInUser, messageObject, context, group);
        break;
      case MessageTypeConstants.image:
        optionList = CometChatUIKit.getDataSource().getImageMessageOptions(
            loggedInUser, messageObject, context, group);
        break;
      case MessageTypeConstants.video:
        optionList = CometChatUIKit.getDataSource().getVideoMessageOptions(
            loggedInUser, messageObject, context, group);
        break;
      case MessageTypeConstants.groupActions:
        optionList = [];
        break;
      case MessageTypeConstants.file:
        optionList = CometChatUIKit.getDataSource().getFileMessageOptions(
            loggedInUser, messageObject, context, group);
        break;
      case MessageTypeConstants.audio:
        optionList = CometChatUIKit.getDataSource().getAudioMessageOptions(
            loggedInUser, messageObject, context, group);
        break;
    }
  } else if (messageObject.category == MessageCategoryConstants.custom) {
    optionList = CometChatUIKit.getDataSource()
        .getCommonOptions(loggedInUser, messageObject, context, group);
  }
  return optionList;
}