Documentation Index
Fetch the complete documentation index at: https://cometchat-22654f5b-docs-android-v6-beta2.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
MessageTemplateUtils is the central registry that defines how each message type is rendered, what options appear on message bubbles, and what text formatters are applied. It replaces the DataSource / ChatConfigurator pattern used in the Android UI Kit.
How It Works
In V6,MessageTemplateUtils is a static utility class that provides:
- Message templates (how each message type is rendered as a bubble)
- Message options (long-press actions per message type)
- Text formatters (text processing for mentions, links, etc.)
- Message type/category lists (for request builder filtering)
MessageTemplateUtils internally to get defaults. You override behavior by passing custom templates, options, or formatters directly to the component.
Getting Default Templates
- Dart
Available Template Methods
| Method | Returns |
|---|---|
getTextMessageTemplate() | Template for text messages |
getImageMessageTemplate() | Template for image messages |
getVideoMessageTemplate() | Template for video messages |
getAudioMessageTemplate() | Template for audio messages |
getFileMessageTemplate() | Template for file messages |
getGroupActionTemplate() | Template for group action messages |
getFormMessageTemplate() | Template for form messages |
getCardMessageTemplate() | Template for card messages |
getSchedulerMessageTemplate() | Template for scheduler messages |
getPollMessageTemplate() | Template for poll messages |
getStickerMessageTemplate() | Template for sticker messages |
getCollaborativeDocumentTemplate() | Template for collaborative document messages |
getCollaborativeWhiteboardTemplate() | Template for collaborative whiteboard messages |
getAllMessageTemplates() | All templates combined |
getMessageTemplate(messageType, messageCategory) | Template for a specific type/category |
Overriding Templates
Replace All Templates
Pass a complete list of templates toCometChatMessageList:
- Dart
Add or Override Specific Templates
UseaddTemplate to merge custom templates with defaults. Templates are keyed by category_type — if your template matches an existing key, it overrides the default:
- Dart
Message Options
Getting Default Options
- Dart
Option Methods by Message Type
| Method | Message Type |
|---|---|
getTextMessageOptions(...) | Text |
getImageMessageOptions(...) | Image |
getVideoMessageOptions(...) | Video |
getAudioMessageOptions(...) | Audio |
getFileMessageOptions(...) | File |
getCommonOptions(...) | Shared across all types |
getMessageOptions(...) | Dispatches to the correct type-specific method |
Text Formatters
- Dart
Type and Category Lists
Used when building customMessagesRequestBuilder instances:
- Dart
Comparison with Android’s DataSource
| Android | Flutter V6 | Notes |
|---|---|---|
ChatConfigurator.getDataSource() | MessageTemplateUtils (static) | Flutter uses static methods instead of a decorator chain |
DataSourceDecorator pattern | Template overrides via templates / addTemplate props | Flutter overrides at the component level, not globally |
CometChatUIKit.getDataSource() | MessageTemplateUtils | Same functionality, different access pattern |
| Global decorator chain | Per-component template lists | Flutter’s approach is more explicit but less global |
Unlike Android’s
DataSourceDecorator which applies globally, Flutter’s template overrides are scoped to the component instance. To apply the same customization everywhere, pass the same template list to each CometChatMessageList instance.Related
- Message Template — Full template structure and examples.
- Menu & Options — Component-level option customization.
- Text Formatters — Custom text processing.
- Customization Overview — See all customization categories.