CometChatMessageListController constructor
CometChatMessageListController({
- required MessagesBuilderProtocol messagesBuilderProtocol,
- User? user,
- Group? group,
- String? customIncomingMessageSound,
- String? customIncomingMessageSoundPackage,
- bool disableSoundForMessages = false,
- bool hideDeletedMessage = false,
- bool scrollToBottomOnNewMessage = false,
- ScrollController? scrollController,
- dynamic stateCallBack(
- CometChatMessageListController controller
- dynamic onError()?,
- dynamic onThreadRepliesClick(
- BaseMessage message,
- BuildContext context, {
- Widget bubbleView,
- List<
CometChatMessageTemplate> ? messageTypes, - bool? disableReceipt,
- bool? hideReceipt,
- CometChatTheme? theme,
- MessageInformationConfiguration? messageInformationConfiguration,
- EmojiKeyboardStyle? emojiKeyboardStyle,
- bool? disableReactions,
- List<
CometChatTextFormatter> ? textFormatters, - bool? disableMentions,
Implementation
CometChatMessageListController(
{required this.messagesBuilderProtocol,
this.user,
this.group,
this.customIncomingMessageSound,
this.customIncomingMessageSoundPackage,
this.disableSoundForMessages = false,
this.hideDeletedMessage = false,
this.scrollToBottomOnNewMessage = false,
ScrollController? scrollController,
this.stateCallBack,
super.onError,
this.onThreadRepliesClick,
this.messageTypes,
this.disableReceipt,
this.hideReceipt,
this.theme,
this.messageInformationConfiguration,
this.emojiKeyboardStyle,
this.disableReactions,
this.textFormatters,
this.disableMentions})
: super(
builderProtocol: user != null
? (messagesBuilderProtocol
..requestBuilder.uid = user.uid
..requestBuilder.guid = '')
: (messagesBuilderProtocol
..requestBuilder.guid = group!.guid
..requestBuilder.uid = '')) {
dateStamp = DateTime.now().microsecondsSinceEpoch.toString();
_messageListenerId = "${dateStamp}user_listener";
_groupListenerId = "${dateStamp}group_listener";
_uiGroupListener = "${dateStamp}UIGroupListener";
_uiMessageListener = "${dateStamp}UI_message_listener";
_uiEventListener = "${dateStamp}UI_Event_listener";
_uiCallListener = "${dateStamp}UI_Call_listener";
_sdkCallListenerId = "${dateStamp}sdk_Call_listener";
createTemplateMap();
if (user != null) {
conversationWithId = user!.uid;
conversationType = ReceiverTypeConstants.user;
} else {
conversationWithId = group!.guid;
conversationType = ReceiverTypeConstants.group;
}
if (scrollController != null) {
messageListScrollController = scrollController;
} else {
messageListScrollController = ScrollController();
}
messageListScrollController.addListener(_scrollControllerListener);
tag = "tag$counter";
counter++;
threadMessageParentId =
messagesBuilderProtocol.getRequest().parentMessageId ?? 0;
isThread = threadMessageParentId > 0;
messageListId = {};
if (user != null) {
messageListId['uid'] = user?.uid;
}
if (group != null) {
messageListId['guid'] = group?.guid;
}
if (threadMessageParentId > 0) {
messageListId['parentMessageId'] = threadMessageParentId;
}
initializeTextFormatters();
}