Skip to main content

Where It Fits

CometChatConversations is a list component. It renders recent conversations and emits the selected Conversation via setOnItemClick. Wire it to CometChatMessageHeader, CometChatMessageList, and CometChatMessageComposer to build a standard chat layout.
ChatActivity.kt
On phones, you’d typically use separate Activities instead of a side-by-side layout — see the Conversation List + Message View getting started guide.

Quick Start

Add the component to your layout XML:
layout_activity.xml
Prerequisites: CometChat SDK initialized with CometChatUIKit.init(), a user logged in, and the cometchat-chat-uikit-android dependency added. To add programmatically in an Activity:
YourActivity.kt
Or in a Fragment:
YourFragment.kt

Filtering Conversations

Pass a ConversationsRequest.ConversationsRequestBuilder to setConversationsRequestBuilder. Pass the builder instance — not the result of .build().

Filter Recipes

RecipeCode
Only user conversationsbuilder.setConversationType(CometChatConstants.CONVERSATION_TYPE_USER)
Only group conversationsbuilder.setConversationType(CometChatConstants.CONVERSATION_TYPE_GROUP)
Limit to 10 per pagebuilder.setLimit(10)
With specific tagsbuilder.setTags(Arrays.asList("vip"))
Filter by user tagsbuilder.withUserAndGroupTags(true); builder.setUserTags(Arrays.asList("premium"))
Filter by group tagsbuilder.withUserAndGroupTags(true); builder.setGroupTags(Arrays.asList("support"))
Default page size is 30. The component uses infinite scroll — the next page loads as the user scrolls to the bottom. Refer to ConversationsRequestBuilder for the full builder API.

Actions and Events

Callback Methods

setOnItemClick

Fires when a conversation row is tapped. Primary navigation hook — set the active conversation and render the message view.
YourActivity.kt
What this does: Replaces the default item-click behavior. When a user taps a conversation, your custom lambda executes instead of the built-in navigation.

setOnItemLongClick

Fires when a conversation row is long-pressed. Use for additional actions like delete or select.
YourActivity.kt
What this does: Replaces the default long-press behavior. When a user long-presses a conversation, your custom lambda executes.

setOnBackPressListener

Fires when the user presses the back button in the app bar. Default: navigates to the previous activity.
YourActivity.kt
What this does: Overrides the default back-press navigation. When the user taps the back button, your custom logic runs instead.

setOnSelect

Fires when a conversation is checked/unchecked in multi-select mode. Requires setSelectionMode to be set.
YourActivity.kt
What this does: Registers a callback that fires when the user selects one or more conversations. The callback receives the list of selected Conversation objects.

setOnError

Fires on internal errors (network failure, auth issue, SDK exception).
YourActivity.kt
What this does: Registers an error listener. If the component encounters an error (e.g., network failure), your callback receives the CometChatException.

setOnLoad

Fires when the list is successfully fetched and loaded.
YourActivity.kt
What this does: Registers a callback that fires after the conversation list is fetched and rendered. The callback receives the list of loaded Conversation objects.

setOnEmpty

Fires when the list is empty, enabling custom handling such as showing a placeholder.
YourActivity.kt
What this does: Registers a callback that fires when the conversation list has no items. Use this to show a custom empty-state message or trigger other logic.

setOnSearchClickListener

Fires when the user taps the search icon in the toolbar.
YourActivity.kt
What this does: Overrides the default search icon tap behavior. When the user taps the search icon, your custom logic runs instead.
  • Verify: After setting an action callback, trigger the corresponding user interaction (tap, long-press, back, select, search) and confirm your custom logic executes instead of the default behavior.

Global UI Events

CometChatConversationEvents emits events subscribable from anywhere in the application. Add a listener and remove it when no longer needed.
EventFires whenPayload
ccConversationDeletedA conversation is deleted from the listConversation
Add Listener
Remove Listener

SDK Events (Real-Time, Automatic)

The component listens to these SDK events internally. No manual attachment needed unless additional side effects are required.
SDK ListenerInternal behavior
onTextMessageReceived / onMediaMessageReceived / onCustomMessageReceivedMoves conversation to top, updates last message preview and unread count
onTypingStarted / onTypingEndedShows/hides typing indicator in the subtitle
onMessagesDelivered / onMessagesRead / onMessagesDeliveredToAll / onMessagesReadByAllUpdates receipt ticks (unless setReceiptsVisibility(View.GONE))
onUserOnline / onUserOfflineUpdates online/offline status dot (unless setUserStatusVisibility(View.GONE))
onGroupMemberJoined / onGroupMemberLeft / onGroupMemberKicked / onGroupMemberBanned / onMemberAddedToGroupUpdates group conversation metadata
Automatic: new messages, typing indicators, receipts, user presence, group membership changes. Manual: deleting a conversation via the SDK directly (not through the component’s context menu) requires emitting CometChatConversationEvents.ccConversationDeleted for the UI to update.

Functionality

Small functional customizations such as toggling visibility of UI elements, setting custom sounds, and configuring selection modes.
MethodsDescriptionCode
setBackIconVisibilityToggles visibility for the back button in the app bar.setBackIconVisibility(View.VISIBLE);
setToolbarVisibilityToggles visibility for the toolbar in the app bar.setToolbarVisibility(View.GONE);
setLoadingStateVisibilityHides the loading state while fetching conversations.setLoadingStateVisibility(View.GONE);
setDeleteConversationOptionVisibilityToggles visibility for the delete option on long press.setDeleteConversationOptionVisibility(View.GONE);
setErrorStateVisibilityHides the error state on fetching conversations.setErrorStateVisibility(View.GONE);
setEmptyStateVisibilityHides the empty state on fetching conversations.setEmptyStateVisibility(View.GONE);
setSeparatorVisibilityControls visibility of separators in the list view.setSeparatorVisibility(View.GONE);
setUserStatusVisibilityControls visibility of the online status indicator.setUserStatusVisibility(View.GONE);
setGroupTypeVisibilityControls visibility of the group type indicator.setGroupTypeVisibility(View.GONE);
setReceiptsVisibilityHides receipts shown in the subtitle without disabling read/delivered marking.setReceiptsVisibility(View.GONE);
setSearchBoxVisibilityControls visibility of the search box in the toolbar.setSearchBoxVisibility(View.GONE);
setSearchInputEndIconVisibilityControls visibility of the end icon in the search bar.setSearchInputEndIconVisibility(View.GONE);
hideReceiptsHides read receipts in the conversation list (adapter-level).hideReceipts(true);
disableSoundForMessagesDisables sound notifications for incoming messages.disableSoundForMessages(true);
setCustomSoundForMessagesSets a custom sound file for incoming message notifications.setCustomSoundForMessages(com.cometchat.chatuikit.R.raw.cometchat_beep2);
setSelectionModeDetermines the selection mode (single or multiple).setSelectionMode(UIKitConstants.SelectionMode.MULTIPLE);
setSearchInputTextSets the text in the search input field.setSearchInputText("Sample Text");
setSearchPlaceholderTextSets the placeholder text for the search input field.setSearchPlaceholderText("Enter search term");
  • Verify: After calling a visibility method, confirm the corresponding UI element is shown or hidden. After calling disableSoundForMessages(true), confirm no sound plays on incoming messages.

Custom View Slots

Each slot replaces a section of the default UI. Slots that accept a Conversation parameter receive the conversation object for that row via the ConversationsViewHolderListener pattern (createView + bindView).
SlotMethodReplaces
Leading viewsetLeadingView(ConversationsViewHolderListener)Avatar / left section
Title viewsetTitleView(ConversationsViewHolderListener)Name / title text
Subtitle viewsetSubtitleView(ConversationsViewHolderListener)Last message preview
Trailing viewsetTrailingView(ConversationsViewHolderListener)Timestamp / badge / right section
Item viewsetItemView(ConversationsViewHolderListener)Entire list item row
Loading viewsetLoadingView(@LayoutRes int)Loading spinner
Empty viewsetEmptyView(@LayoutRes int)Empty state
Error viewsetErrorView(@LayoutRes int)Error state
Overflow menusetOverflowMenu(View)Toolbar menu
Options (replace)setOptions(Function2)Long-press context menu (replaces defaults)
Options (append)addOptions(Function2)Long-press context menu (appends to defaults)

setLeadingView

Replace the avatar / left section. Typing-aware avatar example.
What this does: Registers a ConversationsViewHolderListener that provides a custom view for the leading (left) area of each conversation item. createView inflates your layout, and bindView populates it with conversation data.
The following example shows a custom leading view with a chat-dots icon for typing indicators and an avatar with status indicator:
drawable/chat_dots.xml
What this does: Defines a vector drawable of a chat bubble with three dots, used as a typing indicator icon in the custom leading view.
Create a leading_view.xml custom layout:
Inflate and bind with typing indicator tracking:

setTrailingView

Replace the timestamp / badge / right section.
Relative time badge example: Create a custom_tail_view.xml custom layout file:
What this does: Defines a custom trailing view layout with a MaterialCardView containing two TextView elements for displaying the time value and unit (e.g., “5” and “Min ago”).
Inflate and bind with color-coded time badges:

setTitleView

Replace the name / title text.
Inline user status example: Create a custom_title_view.xml layout:
custom_title_view.xml
What this does: Defines a custom title layout with the conversation name and an inline user status message.
What this does: Registers a ConversationsViewHolderListener that provides a custom title view for each conversation item. The example inflates a layout with the conversation name and an inline user status message. For group conversations, the status is hidden.

setSubtitleView

Replace the last message preview text.
Example with last-active timestamp:
What this does: Registers a ConversationsViewHolderListener that provides a custom subtitle view for each conversation item. The example creates a TextView showing the last active timestamp formatted as “dd/MM/yyyy, HH:mm:ss”.

setItemView

Replace the entire list item row.
Example with compact layout:
Create an item_converation_list.xml custom layout file:
What this does: Defines a custom list item layout with a CometChatAvatar, status indicator, conversation name, and date — providing a compact, single-line conversation item design.
Inflate the XML and bind:
What this does: Registers a ConversationsViewHolderListener that replaces the entire list item row. The example inflates a compact layout with an avatar, name, and date — replacing the default multi-line conversation item.

setDateTimeFormatter

Custom date/time formatting for conversation timestamps. Implement the DateTimeFormatterCallback interface to control how each time range is displayed:
MethodCalled when
time(long timestamp)Custom full timestamp format
today(long timestamp)Message is from today
yesterday(long timestamp)Message is from yesterday
lastWeek(long timestamp)Message is from the past week
otherDays(long timestamp)Message is older than a week
minute(long timestamp)Exactly 1 minute ago
minutes(long diffInMinutesFromNow, long timestamp)Multiple minutes ago (e.g., “5 minutes ago”)
hour(long timestamp)Exactly 1 hour ago
hours(long diffInHourFromNow, long timestamp)Multiple hours ago (e.g., “2 hours ago”)

setOptions

Replace the long-press context menu entirely. Generic signature:
Example with a custom delete option:

addOptions

Append to the long-press context menu without removing defaults. Generic signature:
Example with archive, pin, and mark-as-read options:

setTextFormatters

Custom text formatters for the conversation subtitle. See the MentionsFormatter Guide for details.
themes.xml

setLoadingView

Sets a custom loading view displayed when data is being fetched.
What this does: Replaces the default loading spinner with your custom layout resource. The custom view displays while conversations are being fetched.

setEmptyView

Configures a custom view displayed when there are no conversations in the list.
What this does: Replaces the default empty state with your custom layout resource. The custom view displays when the conversation list has no items.

setErrorView

Defines a custom error state view that appears when an issue occurs while loading conversations.
What this does: Replaces the default error state with your custom layout resource. The custom view displays when the component encounters an error during data fetching.

setDateFormat

Customizes the date format used for displaying timestamps in conversations. Generic signature:
Example:
What this does: Sets the conversation date format to “dd MMM, hh:mm a” (e.g., “10 Jul, 02:30 PM”) using the device’s default locale.

setOverflowMenu

Replace the toolbar overflow menu. Generic signature:
Example with a user profile popup menu:
Create a user_profile_popup_menu_layout.xml custom view file:
user_profile_popup_menu_layout.xml
What this does: Defines a popup menu layout with options for creating a conversation, viewing the user profile, logging out, and displaying the app version.
Inflate the view and pass it to setOverflowMenu:
What this does: Creates a complete overflow menu implementation. An avatar of the logged-in user is set as the overflow menu view. When tapped, it shows a popup window with options for creating a conversation, viewing the user profile, logging out, and displaying the app version.
  • Verify: After setting any custom view slot, confirm the custom view renders in the correct position within the conversation list item, and the data binding populates correctly for each conversation.

Common Patterns

Custom empty state with action button

layout/empty_conversations.xml

Hide all chrome — minimal list

Filter to user conversations only

Advanced Methods

Programmatic Selection

selectConversation

Programmatically selects or deselects a conversation. Works with both SINGLE and MULTIPLE selection modes.
In SINGLE mode, selecting a new conversation replaces the previous selection. In MULTIPLE mode, calling this on an already-selected conversation deselects it (toggle behavior).

clearSelection

Clears all selected conversations and resets the selection UI.

getSelectedConversations

Returns the list of currently selected Conversation objects.

Selected Conversations List

When using multi-select mode, a horizontal list of selected conversations can be shown above the main list.
MethodTypeDescription
setSelectedConversationsListVisibilityint (View.VISIBLE / View.GONE)Show or hide the selected conversations strip
setSelectedConversationAvatarStyle@StyleRes intAvatar style for selected conversation chips
setSelectedConversationItemTextColor@ColorInt intText color for selected conversation names
setSelectedConversationItemTextAppearance@StyleRes intText appearance for selected conversation names
setSelectedConversationItemRemoveIconDrawableIcon for the remove button on each chip
setSelectedConversationItemRemoveIconTint@ColorInt intTint color for the remove icon

Search Input Customization

The built-in search box can be customized programmatically:
MethodTypeDescription
setSearchInputTextStringSets the search input text programmatically
setSearchPlaceholderTextStringSets the placeholder text for the search input
setSearchInputTextColor@ColorInt intText color of the search input
setSearchInputTextAppearance@StyleRes intText appearance of the search input
setSearchInputPlaceHolderTextColor@ColorInt intPlaceholder text color
setSearchInputPlaceHolderTextAppearance@StyleRes intPlaceholder text appearance
setSearchInputStartIconDrawableLeading icon in the search box
setSearchInputStartIconTint@ColorInt intTint for the leading icon
setSearchInputEndIconDrawableTrailing icon in the search box
setSearchInputEndIconTint@ColorInt intTint for the trailing icon
setSearchInputEndIconVisibilityintVisibility of the trailing icon
setSearchInputStrokeWidth@Dimension intStroke width of the search box border
setSearchInputStrokeColor@ColorInt intStroke color of the search box border
setSearchInputBackgroundColor@ColorInt intBackground color of the search box
setSearchInputCornerRadius@Dimension intCorner radius of the search box

Internal Access

These methods provide direct access to internal components for advanced use cases.
MethodReturnsDescription
getRecyclerView()RecyclerViewThe underlying RecyclerView displaying conversations
getViewModel()ConversationsViewModelThe ViewModel managing conversation data and state
getConversationsAdapter()ConversationsAdapterThe adapter powering the RecyclerView
setAdapter(ConversationsAdapter)voidReplaces the default adapter with a custom one
getBinding()CometchatConversationsListViewBindingThe ViewBinding for the component’s root layout
Use these only when the standard API is insufficient. Directly manipulating the adapter or ViewModel may conflict with the component’s internal state management.

Other Methods

MethodTypeDescription
setMentionAllLabelId(String id, String mentionAllLabel)voidSets the label used for “mention all” in conversation subtitles
setDateStyle(@StyleRes int)voidSets the style for the date label in conversation items
setOptionListStyle(@StyleRes int)voidSets the style for the long-press popup menu

Style

The component uses XML theme styles. Define a custom style with parent CometChatConversationsStyle in themes.xml, then apply with setStyle().
themes.xml
To know more such attributes, visit the attributes file.

Programmatic Style Properties

In addition to XML theme styles, the component exposes programmatic setters for fine-grained control:
MethodTypeDescription
setBackgroundColor@ColorInt intBackground color of the component
setBackIconTint@ColorInt intTint color for the back icon
setBackIconDrawableCustom back icon drawable
setTitleTextColor@ColorInt intTitle text color in the toolbar
setTitleTextAppearance@StyleRes intTitle text appearance in the toolbar
setItemTitleTextColor@ColorInt intText color for conversation item titles
setItemTitleTextAppearance@StyleRes intText appearance for conversation item titles
setItemSubtitleTextColor@ColorInt intText color for conversation item subtitles
setItemSubtitleTextAppearance@StyleRes intText appearance for conversation item subtitles
setItemMessageTypeIconTint@ColorInt intTint for message type icons in subtitles
setSeparatorColor@ColorInt intColor of list item separators
setSeparatorHeight@Dimension intHeight of list item separators
setStrokeColor@ColorInt intStroke color of the component border
setStrokeWidth@Dimension intStroke width of the component border
setCornerRadius@Dimension intCorner radius of the component
setEmptyStateTitleTextColor@ColorInt intTitle text color for the empty state
setEmptyStateSubtitleTextColor@ColorInt intSubtitle text color for the empty state
setEmptyStateTextTitleAppearance@StyleRes intTitle text appearance for the empty state
setEmptyStateTextSubtitleAppearance@StyleRes intSubtitle text appearance for the empty state
setErrorStateTitleTextColor@ColorInt intTitle text color for the error state
setErrorStateSubtitleTextColor@ColorInt intSubtitle text color for the error state
setErrorStateTextTitleAppearance@StyleRes intTitle text appearance for the error state
setErrorStateTextSubtitleAppearance@StyleRes intSubtitle text appearance for the error state
setDeleteOptionIconDrawableIcon for the delete option in the context menu
setDeleteOptionIconTintintTint for the delete option icon
setDeleteOptionTextColorintText color for the delete option
setDeleteOptionTextAppearanceintText appearance for the delete option
setAvatarStyle@StyleRes intStyle for conversation avatars
setStatusIndicatorStyle@StyleRes intStyle for online/offline status indicators
setBadgeStyle@StyleRes intStyle for unread badge counts
setReceiptStyle@StyleRes intStyle for read/delivered receipt icons
setTypingIndicatorStyle@StyleRes intStyle for typing indicator text
setMentionsStyle@StyleRes intStyle for @mention text in subtitles
setItemBackgroundColor@ColorInt intBackground color for list items
setItemSelectedBackgroundColor@ColorInt intBackground color for selected list items

Checkbox Style Properties (Selection Mode)

When using SINGLE or MULTIPLE selection mode, checkboxes appear on each item:
MethodTypeDescription
setCheckBoxStrokeWidth@Dimension intStroke width of the checkbox border
setCheckBoxCornerRadius@Dimension intCorner radius of the checkbox
setCheckBoxStrokeColor@ColorInt intStroke color of the checkbox border
setCheckBoxBackgroundColor@ColorInt intBackground color of unchecked checkbox
setCheckBoxCheckedBackgroundColor@ColorInt intBackground color of checked checkbox
setCheckBoxSelectIconDrawableIcon shown when checkbox is checked
setCheckBoxSelectIconTint@ColorInt intTint for the checkbox select icon
setDiscardSelectionIconDrawableIcon for the discard selection button
setDiscardSelectionIconTint@ColorInt intTint for the discard selection icon
setSubmitSelectionIconDrawableIcon for the submit selection button
setSubmitSelectionIconTint@ColorInt intTint for the submit selection icon

Customization Matrix

What to changeWhereProperty/APIExample
Override behavior on user interactionActivity/FragmentsetOn<Event> callbackssetOnItemClick((v, pos, c) -> { ... })
Filter which conversations appearActivity/FragmentsetConversationsRequestBuildersetConversationsRequestBuilder(builder)
Toggle visibility of UI elementsActivity/Fragmentset<Feature>Visibility(int)setReceiptsVisibility(View.GONE)
Replace a section of the list itemActivity/Fragmentset<Slot>ViewsetLeadingView(listener)
Change colors, fonts, spacingthemes.xmlCometChatConversationsStyle<item name="cometchatConversationsBadgeStyle">@style/...</item>
Avatar style (corner radius, background)themes.xmlcometchatConversationsAvatarStyle<item name="cometchatAvatarStrokeRadius">8dp</item>
Badge count style (background, text color)themes.xmlcometchatConversationsBadgeStyle<item name="cometchatBadgeBackgroundColor">#F76808</item>
Apply a custom styleActivity/FragmentsetStyle(int styleRes)cometChatConversations.setStyle(R.style.CustomConversationsStyle);
Back button visibilityActivity/FragmentsetBackIconVisibility(int).setBackIconVisibility(View.VISIBLE);
Toolbar visibilityActivity/FragmentsetToolbarVisibility(int).setToolbarVisibility(View.GONE);
Loading state visibilityActivity/FragmentsetLoadingStateVisibility(int).setLoadingStateVisibility(View.GONE);
Delete option visibility on long pressActivity/FragmentsetDeleteConversationOptionVisibility(int).setDeleteConversationOptionVisibility(View.GONE);
Error state visibilityActivity/FragmentsetErrorStateVisibility(int).setErrorStateVisibility(View.GONE);
Empty state visibilityActivity/FragmentsetEmptyStateVisibility(int).setEmptyStateVisibility(View.GONE);
Separator visibilityActivity/FragmentsetSeparatorVisibility(int).setSeparatorVisibility(View.GONE);
User online status visibilityActivity/FragmentsetUserStatusVisibility(int).setUserStatusVisibility(View.GONE);
Group type indicator visibilityActivity/FragmentsetGroupTypeVisibility(int).setGroupTypeVisibility(View.GONE);
Read/delivered receipts visibilityActivity/FragmentsetReceiptsVisibility(int).setReceiptsVisibility(View.GONE);
Incoming message soundActivity/FragmentdisableSoundForMessages(boolean).disableSoundForMessages(true);
Custom message soundActivity/FragmentsetCustomSoundForMessages(int).setCustomSoundForMessages(R.raw.cometchat_beep2);
Selection mode (single/multiple)Activity/FragmentsetSelectionMode(SelectionMode).setSelectionMode(UIKitConstants.SelectionMode.MULTIPLE);
Date/time formattingActivity/FragmentsetDateTimeFormatter(DateTimeFormatterCallback)See setDateTimeFormatter code above
Date formatActivity/FragmentsetDateFormat(SimpleDateFormat).setDateFormat(new SimpleDateFormat("dd MMM, hh:mm a", Locale.getDefault()));
Long-press options (replace)Activity/FragmentsetOptions(Function2)See setOptions code above
Long-press options (append)Activity/FragmentaddOptions(Function2)See addOptions code above
Loading viewActivity/FragmentsetLoadingView(int).setLoadingView(R.layout.your_loading_view);
Empty viewActivity/FragmentsetEmptyView(int).setEmptyView(R.layout.your_empty_view);
Error viewActivity/FragmentsetErrorView(int).setErrorView(R.layout.your_error_view);
Leading view (avatar area)Activity/FragmentsetLeadingView(ConversationsViewHolderListener)See setLeadingView code above
Title viewActivity/FragmentsetTitleView(ConversationsViewHolderListener)See setTitleView code above
Trailing viewActivity/FragmentsetTrailingView(ConversationsViewHolderListener)See setTrailingView code above
Entire list itemActivity/FragmentsetItemView(ConversationsViewHolderListener)See setItemView code above
Subtitle viewActivity/FragmentsetSubtitleView(ConversationsViewHolderListener)See setSubtitleView code above
Text formatters (mentions)Activity/FragmentsetTextFormatters(List<CometChatTextFormatter>)See setTextFormatters code above
Overflow menuActivity/FragmentsetOverflowMenu(View)cometChatConversations.setOverflowMenu(view);
Filter conversationsActivity/FragmentsetConversationsRequestBuilder(ConversationsRequestBuilder)See Filters code above
Search box visibilityActivity/FragmentsetSearchBoxVisibility(int).setSearchBoxVisibility(View.GONE);
Search input textActivity/FragmentsetSearchInputText(String).setSearchInputText("search term");
Search placeholder textActivity/FragmentsetSearchPlaceholderText(String).setSearchPlaceholderText("Search...");
Search input colorsActivity/FragmentsetSearchInputTextColor, setSearchInputBackgroundColor.setSearchInputTextColor(Color.BLACK);
Search input iconsActivity/FragmentsetSearchInputStartIcon, setSearchInputEndIcon.setSearchInputStartIcon(drawable);
Hide receipts (adapter)Activity/FragmenthideReceipts(boolean).hideReceipts(true);
Programmatic selectionActivity/FragmentselectConversation(Conversation, SelectionMode).selectConversation(conv, SelectionMode.SINGLE);
Clear selectionActivity/FragmentclearSelection().clearSelection();
Selected conversations stripActivity/FragmentsetSelectedConversationsListVisibility(int).setSelectedConversationsListVisibility(View.VISIBLE);
Selected conversation avatar styleActivity/FragmentsetSelectedConversationAvatarStyle(int).setSelectedConversationAvatarStyle(R.style.CustomAvatarStyle);
Internal adapter accessActivity/FragmentgetConversationsAdapter() / setAdapter()Advanced use only
Internal ViewModel accessActivity/FragmentgetViewModel()Advanced use only
Mention-all labelActivity/FragmentsetMentionAllLabelId(String, String).setMentionAllLabelId("all", "Everyone");

Next Steps

Users

Browse and search available users

Groups

Browse and search available groups

Message List

Display messages in a conversation

Message Composer

Rich input for sending messages