Skip to main content

Introduction

The CometChat v5 Android UI Kit streamlines the integration of in-app chat functionality into your applications. Packed with prebuilt, modular UI components, it supports essential messaging features for both one-to-one and group conversations. With built-in theming options, including light and dark modes, customizable fonts, colors, and extensive configuration possibilities, developers can create chat experiences tailored to their application’s needs.

Integration

In v4, integration was straightforward due to the availability of composite components like CometChatConversationsWithMessages. This single component provided end-to-end functionality, including listing conversations, handling conversation clicks, loading messages (message header, list, composer), displaying user or group details, and supporting threaded messages. Developers could achieve all these features with minimal setup. However, customization posed significant challenges. Customizing the UI or adding custom views required a deep understanding of the internal flow of the composite component. Additionally, configurations were a mix of custom view props, behavioural props, and style props, which often led to confusion. Styling deeply nested components also proved cumbersome, limiting the developer’s ability to make meaningful changes.
With v5, composite components have been replaced with smaller, modular components, such as Conversations, Message Header, Message List, and Message Composer. This modular approach makes integration more flexible and easier to understand. Each component has a well-defined purpose, allowing developers to use them in ways that suit their specific requirements. The need for complex configurations has been eliminated, as developers can now customize behavior and styling directly via props. Styling has been significantly simplified, with every component carefully assigned, enabling developers to customize styles globally or at the component level effortlessly. To support the transition from v4 to v5, CometChat has built a sample app that replicates the functionality of v4’s composite components. This sample app serves as a reference for developers looking to build additional features such as user/group details, call log details, threaded messages, and advanced messaging capabilities. By following this approach, developers can take full advantage of v5’s modular design while implementing complex functionality in an organized manner.
Learn how to build a complete messaging UI using the v5 UI Kit by following the step-by-step guide here.

Components

The v4 UI Kit provided composite components like CometChatConversationsWithMessages, which offered end-to-end functionality. These components integrated features such as conversation lists, message views (header, list, composer), user/group details, and threaded messages into a single unit. However, customization of deeply nested components through configuration was challenging and resulted in a suboptimal developer experience.
Components in v4 UI Kit:
CometChatConversationsWithMessagesCometChatUsersWithMessagesCometChatGroupsWithMessages
CometChatMessagesCometChatMessageHeaderCometChatMessageList
CometChatMessageComposerCometChatThreadedMessagesCometChatConversations
CometChatUsersCometChatGroupsCometChatContacts
CometChatDetailsCometChatGroupMembersCometChatAddMembers
CometChatBannedMembersCometChatTransferOwnershipCometChatMessageInformation
CometChatIncomingCallCometChatOngoingCallCometChatOutgoingCall
CometChatCallButtonsCometChatCallLogsCometChatCallLogDetails
CometChatCallLogHistoryCometChatCallLogRecordingsCometChatCallLogParticipants
CometChatCallLogsWithDetails
In v5, the composite approach is replaced with smaller, modular components like Conversations, Message Header, Message List, and Message Composer. Developers now need to stitch these components together to build the desired functionality. This change allows for greater flexibility and easier customization via props, significantly improving the developer experience while maintaining functionality.
Components in v5 UI Kit:
CometChatConversationsCometChatUsersCometChatGroups
CometChatGroupMembersCometChatMessageHeaderCometChatMessageList
CometChatMessageComposerCometChatThreadedHeaderCometChatIncomingCall
CometChatOutgoingCallCometChatCallButtonsCometChatCallLogs

Theming

In v4, theming was managed using the Palette and Typography classes. The Palette class provided methods like background, mode, primary, secondary, and similar setters for configuring colors and themes. While this approach worked, it required instantiating multiple objects and passing them through constructors, which added complexity to the theming process. Developers had to create palette and typography instances, configure them with various color and font settings, and then pass them to create a theme object. The reliance on Context for theming introduced several challenges. Customizing themes often required developers to consume the theme from the context and then explicitly update values programmatically, which added unnecessary complexity. For example, switching between light and dark modes required interacting with the theme’s context and invoking specific methods like mode. This process was less straightforward compared to the traditional approach to define themes dynamically.
Palette palette = Palette.getInstance();
palette.primary(Color.parseColor("#YourPrimaryColor"));
palette.secondary(Color.parseColor("#YourSecondaryColor"));
palette.accent(Color.parseColor("#YourAccentColor"));
palette.mode(CometChatTheme.MODE.DARK);

Typography typography = Typography.getInstance();
typography.setName(R.style.font);
In v5, theming has been completely revamped to align with standard Android development practices. The complex theming classes and programmatic object instantiation have been replaced with XML-based theme attributes in themes.xml. This approach leverages Android’s native theming system built on Material Components, specifically using CometChatTheme.DayNight as the parent theme. The new theming system is declarative, XML-based, and follows Android conventions. Developers now define themes in themes.xml by extending CometChatTheme.DayNight and overriding specific attributes. For example, changing the primary color is as simple as overriding the cometchatPrimaryColor attribute — no need to instantiate objects or write programmatic theming logic. themes.xml:
<resources>
    <style name="AppTheme" parent="CometChatTheme.DayNight">
        <!-- Override primary color -->
        <item name="cometchatPrimaryColor">#F76808</item>
        
        <!-- Override other theme attributes as needed -->
        <item name="cometchatBackgroundColor">#FFFFFF</item>
        <item name="cometchatTextPrimaryColor">#141414</item>
        
        <!-- Typography customization -->
        <item name="android:fontFamily">@font/your_custom_font</item>
    </style>
</resources>
Key Benefits:
  • Native Android approach: Uses standard XML theme attributes and Material Components
  • Automatic light/dark mode support: Built on Theme.MaterialComponents.DayNight.NoActionBar, providing seamless theme switching based on system settings
  • No programmatic complexity: No need to instantiate Palette or Typography objects
  • Centralized configuration: All theme properties defined in one place (themes.xml)
This architectural redesign makes theming more intuitive and aligns perfectly with modern Android development practices. Developers now have a simpler, more powerful, and more standardized toolset to customize and manage themes effectively.
For detailed guidance on theming and customizing colors in the CometChat React UI Kit, refer to the following resources:

Properties

In v5, the approach to component properties has been significantly refined to improve clarity and ease of use. All style-related properties have been streamlined to work seamlessly with the new theming system based on direct property access. This change ensures a more efficient and flexible styling process without the need for verbose or redundant configuration within the component properties. Configuration properties, which were prominent in v4, have also been simplified. With v5’s modular design, components are no longer deeply nested, making complex configurations unnecessary. Developers now have direct control over each component through clearly defined properties, reducing complexity and increasing flexibility in how components are used and styled. Custom view properties have undergone a comprehensive overhaul to ensure consistency across all components. For example, components that are represented as list items now share a uniform set of customizable properties, enabling a standardized approach to customization. These properties include:
  • itemView - Custom view for the entire item
  • leadingView - Custom view for the leading section
  • trailingView - Custom view for the trailing section
  • subtitleView - Custom view for the subtitle
  • titleView - Custom view for the title
This consistent naming convention makes it easier for developers to understand and apply customizations across various components, streamlining the development process.

Additional Resources


Property Changes

Below is a detailed reference of new, updated, and removed properties across all UI Kit components in the V4-to-V5 migration.

Conversations

New Properties

NameTypeDescription
dateTimeFormatterDateTimeFormatterCallbackCallback for custom date/time formatting in conversations
toolbarVisibilityintControls visibility of the toolbar in conversations view
deleteConversationOptionVisibilityintControls visibility of delete conversation option
backIconVisibilityintControls visibility of back icon in toolbar
userStatusVisibilityintControls visibility of user status indicators
groupTypeVisibilityintControls visibility of group type indicators
receiptsVisibilityintControls visibility of read receipts
errorStateVisibilityintControls visibility of error state view
loadingStateVisibilityintControls visibility of loading state view
emptyStateVisibilityintControls visibility of empty state view
separatorHeight@Dimension intHeight of separator between conversation items
separatorColor@ColorInt intColor of separator between conversation items
separatorVisibilityintControls visibility of separator
deleteOptionIconDrawableIcon for delete option in popup menu
deleteOptionIconTint@ColorInt intTint color for delete option icon
deleteOptionTextColor@ColorInt intText color for delete option
deleteOptionTextAppearance@StyleRes intText appearance for delete option
discardSelectionIconDrawableIcon for discarding selection
discardSelectionIconTint@ColorInt intTint color for discard selection icon
submitSelectionIconDrawableIcon for submitting selection
submitSelectionIconTint@ColorInt intTint color for submit selection icon
checkBoxStrokeWidth@Dimension intStroke width for selection checkboxes
checkBoxCornerRadius@Dimension intCorner radius for selection checkboxes
checkBoxStrokeColor@ColorInt intStroke color for selection checkboxes
checkBoxBackgroundColor@ColorInt intBackground color for selection checkboxes
checkBoxCheckedBackgroundColor@ColorInt intBackground color for checked checkboxes
checkBoxSelectIconDrawableIcon for selected checkboxes
checkBoxSelectIconTint@ColorInt intTint color for checkbox select icon
itemSelectedBackgroundColor@ColorInt intBackground color for selected items
itemBackgroundColor@ColorInt intBackground color for conversation items
optionListStyle@StyleRes intStyle for popup menu options
mentionsStyle@StyleRes intStyle for mentions in conversations
typingIndicatorStyle@StyleRes intStyle for typing indicators
receiptStyle@StyleRes intStyle for message receipts
badgeStyle@StyleRes intStyle for conversation badges
dateStyle@StyleRes intStyle for conversation dates
statusIndicatorStyle@StyleRes intStyle for status indicators
avatarStyle@StyleRes intStyle for conversation avatars
emptyView@LayoutRes intLayout resource for empty state
errorView@LayoutRes intLayout resource for error state
loadingView@LayoutRes intLayout resource for loading state
additionParameterAdditionParameterAdditional parameters for conversations
onBackPressOnBackPressCallback for back button press
addOptionsFunction2< Context, Conversation, List< CometChatPopupMenu.MenuItem >>Function to add options to popup menu
optionsFunction2< Context, Conversation, List< CometChatPopupMenu.MenuItem >>Function to replace popup menu options
overflowMenuViewCustom overflow menu view
onLoadOnLoad< Conversation >Callback when conversations are loaded
onEmptyOnEmptyCallback when conversation list is empty
onSelectionOnSelection< Conversation >Callback for conversation selection
onItemClickOnItemClick< Conversation >Callback for conversation item clicks
onItemLongClickOnItemLongClick< Conversation >Callback for conversation item long clicks

Renamed Properties

V4 NameV5 NameTypeDescription
setItemClickListenersetOnItemClickMethodSets click listener for conversation items
setOnSelectionsetOnSelectMethodSets selection listener for conversations
setSubtitlesetSubtitleViewMethodSets custom subtitle view
setTailViewsetTrailingViewMethodSets custom trailing view
setListItemViewsetItemViewMethodSets custom item view
setDatePatternsetDateTimeFormatterMethodSets date formatting for conversations

Removed Properties

NameTypeDescription
hideErrorbooleanFlag to hide error messages
errorTextStringCustom error message text
errorStateTextAppearanceintText appearance for error state
errorMessageColorintColor for error messages
palettePaletteColor palette instance
typographyTypographyTypography instance
swipeHelperRecyclerViewSwipeListenerSwipe gesture helper
progressDialogProgressDialogProgress dialog for operations
conversationTempConversationTemporary conversation reference
loadingIconImageViewLoading icon view
disableMentionsbooleanFlag to disable mentions
cometChatMentionsFormatterCometChatMentionsFormatterMentions formatter instance
setStyle(ConversationsStyle)MethodSets conversation style using ConversationsStyle object
emptyStateTextMethodSets empty state text
emptyStateTextColorMethodSets empty state text color
emptyStateTextFontMethodSets empty state text font
emptyStateTextAppearanceMethodSets empty state text appearance
errorStateTextAppearanceMethodSets error state text appearance
errorStateTextColorMethodSets error state text color
errorStateTextMethodSets error state text
setEmptyStateViewMethodSets empty state view
setErrorStateViewMethodSets error state view
setLoadingStateViewMethodSets loading state view
setLoadingIconTintColorMethodSets loading icon tint
disableUsersPresenceMethodDisables user presence
disableReceiptMethodDisables receipts
hideReceiptMethodHides receipts
disableTypingMethodDisables typing indicators
setProtectedGroupIconMethodSets protected group icon
setPrivateGroupIconMethodSets private group icon
setReadIconMethodSets read status icon
setDeliveredIconMethodSets delivered status icon
setSentIconMethodSets sent status icon
hideSeparatorMethodHides item separators

Users

New Properties

NameTypeDescription
toolbarVisibilityintControls visibility of the toolbar in users view
loadingStateVisibilityintControls visibility of loading state view
searchBoxVisibilityintControls visibility of search box
backIconVisibilityintControls visibility of back icon in toolbar
stickyHeaderVisibilityintControls visibility of sticky header
emptyStateVisibilityintControls visibility of empty state view
errorStateVisibilityintControls visibility of error state view
separatorVisibilityintControls visibility of separator between items
titleVisibilityintControls visibility of title
userStatusVisibilityintControls visibility of user status indicators
showShimmerbooleanFlag to control shimmer loading animation
isUserListEmptybooleanFlag indicating if user list is empty
isFurtherSelectionEnabledbooleanFlag to control further selection capability
searchPlaceholderTextStringPlaceholder text for search input
customLoadingViewViewCustom view for loading state
overflowMenuViewCustom overflow menu view
onLoadOnLoad< User >Callback when users are loaded
onEmptyOnEmptyCallback when user list is empty
onBackPressOnBackPressCallback for back button press
backgroundColor@ColorInt intBackground color for the view
titleTextColor@ColorInt intText color for title
titleTextAppearance@StyleRes intText appearance for title
strokeWidth@Dimension intStroke width for card border
strokeColor@ColorInt intStroke color for card border
cornerRadius@Dimension intCorner radius for card
backIconDrawableBack icon drawable
backIconTint@ColorInt intTint color for back icon
separatorColor@ColorInt intColor of separator between items
discardSelectionIconDrawableIcon for discarding selection
discardSelectionIconTint@ColorInt intTint color for discard selection icon
submitSelectionIconDrawableIcon for submitting selection
submitSelectionIconTint@ColorInt intTint color for submit selection icon
searchInputEndIconDrawableEnd icon for search input
searchInputEndIconTint@ColorInt intTint color for search input end icon
searchInputStrokeWidth@Dimension intStroke width for search input
searchInputStrokeColor@ColorInt intStroke color for search input
searchInputCornerRadius@Dimension intCorner radius for search input
searchInputBackgroundColor@ColorInt intBackground color for search input
searchInputTextAppearance@StyleRes intText appearance for search input
searchInputTextColor@ColorInt intText color for search input
searchInputPlaceHolderTextAppearance@StyleRes intPlaceholder text appearance for search input
searchInputPlaceHolderTextColor@ColorInt intPlaceholder text color for search input
searchInputIconTint@ColorInt intTint color for search input icon
searchInputIconDrawableIcon for search input
stickyTitleColor@ColorInt intColor for sticky title
stickyTitleAppearance@StyleRes intText appearance for sticky title
stickyTitleBackgroundColor@ColorInt intBackground color for sticky title
avatar@StyleRes intStyle resource for avatar
itemTitleTextAppearance@StyleRes intText appearance for item title
itemTitleTextColor@ColorInt intText color for item title
itemBackgroundColor@ColorInt intBackground color for items
statusIndicatorStyle@StyleRes intStyle for status indicators
itemSelectedBackgroundColor@ColorInt intBackground color for selected items
checkBoxStrokeWidth@Dimension intStroke width for selection checkboxes
checkBoxCornerRadius@Dimension intCorner radius for selection checkboxes
checkBoxStrokeColor@ColorInt intStroke color for selection checkboxes
checkBoxBackgroundColor@ColorInt intBackground color for selection checkboxes
checkBoxCheckedBackgroundColor@ColorInt intBackground color for checked checkboxes
checkBoxSelectIconTint@ColorInt intTint color for checkbox select icon
checkBoxSelectIconDrawableIcon for selected checkboxes
emptyStateTextAppearance@StyleRes intText appearance for empty state
emptyStateTextColor@ColorInt intText color for empty state
emptyStateSubTitleTextAppearance@StyleRes intSubtitle text appearance for empty state
emptyStateSubtitleTextColor@ColorInt intSubtitle text color for empty state
errorStateTextAppearance@StyleRes intText appearance for error state
errorStateTextColor@ColorInt intText color for error state
errorStateSubtitleTextAppearance@StyleRes intSubtitle text appearance for error state
errorStateSubtitleColor@ColorInt intSubtitle text color for error state
retryButtonTextColor@ColorInt intText color for retry button
retryButtonTextAppearance@StyleRes intText appearance for retry button
retryButtonBackgroundColor@ColorInt intBackground color for retry button
retryButtonStrokeColor@ColorInt intStroke color for retry button
retryButtonStrokeWidth@Dimension intStroke width for retry button
retryButtonCornerRadius@Dimension intCorner radius for retry button
emptyViewId@LayoutRes intLayout resource for empty view
errorViewId@LayoutRes intLayout resource for error view
loadingViewId@LayoutRes intLayout resource for loading view
submitSelectionIconVisibilityintControls visibility of submit selection icon
addOptionsFunction2< Context, User, List< CometChatPopupMenu.MenuItem >>Function to add options to popup menu
optionsFunction2< Context, User, List< CometChatPopupMenu.MenuItem >>Function to replace popup menu options
cometchatPopUpMenuCometChatPopupMenuPopup menu for user actions

Renamed Properties

V4 NameV5 NameTypeDescription
setItemClickListenersetOnItemClickMethodSets click listener for user items
setOnSelectionsetOnSelectMethodSets selection listener for users
setSubtitlesetSubtitleViewMethodSets custom subtitle view
setTailsetTailViewMethodSets custom tail view (renamed to setTrailingView)
setListItemViewsetItemViewMethodSets custom item view
getConversationsAdaptergetUsersAdapterMethodGets the users adapter

Removed Properties

NameTypeDescription
hideErrorbooleanFlag to hide error messages
emptyStateTextTextViewTextView for empty state message
errorStateTextAppearanceintText appearance for error state
errorMessageColorintColor for error messages
errorTextStringCustom error message text
palettePaletteColor palette instance
typographyTypographyTypography instance
swipeHelperRecyclerViewSwipeListenerSwipe gesture helper
loadingIconImageViewLoading icon view
submitIcon@DrawableRes intSubmit icon resource
iconImageViewIcon view for submit
setStyle(UsersStyle)MethodSets users style using UsersStyle object
emptyStateText(String)MethodSets empty state text
emptyStateTextColor(int)MethodSets empty state text color
emptyStateTextFont(String)MethodSets empty state text font
emptyStateTextAppearance(int)MethodSets empty state text appearance
errorStateTextAppearance(int)MethodSets error state text appearance
errorStateTextColor(int)MethodSets error state text color
errorStateText(String)MethodSets error state text
setEmptyStateView(@LayoutRes int)MethodSets empty state view layout
setLoadingIconTintColor(@ColorInt int)MethodSets loading icon tint color
setErrorStateView(@LayoutRes int)MethodSets error state view layout
setLoadingStateView(@LayoutRes int)MethodSets loading state view layout
setBackground(int[], GradientDrawable.Orientation)MethodSets gradient background
disableUsersPresence(boolean)MethodDisables user presence indicators
setSubmitIcon(@DrawableRes int)MethodSets submit icon
setSelectionIcon(@DrawableRes int)MethodSets selection icon
setFurtherSelectionEnabled(boolean)MethodSets further selection capability
hideError(boolean)MethodHides error messages
hideSeparator(boolean)MethodHides separators (replaced with setStickyHeaderVisibility)

Groups

New Properties

NameTypeDescription
showShimmerbooleanFlag to control shimmer loading animation
isGroupListEmptybooleanFlag indicating if group list is empty
isFurtherSelectionEnabledbooleanFlag to control further selection capability
searchPlaceholderTextStringPlaceholder text for search input
customEmptyViewViewCustom view for empty state
customErrorViewViewCustom view for error state
customLoadingViewViewCustom view for loading state
overflowMenuViewCustom overflow menu view
onLoadOnLoad< Group >Callback when groups are loaded
onEmptyOnEmptyCallback when group list is empty
onBackPressOnBackPressCallback for back button press
backgroundColor@ColorInt intBackground color for the view
titleTextColor@ColorInt intText color for title
titleTextAppearance@StyleRes intText appearance for title
strokeWidth@Dimension intStroke width for card border
strokeColor@ColorInt intStroke color for card border
cornerRadius@Dimension intCorner radius for card
backIconDrawableBack icon drawable
backIconTint@ColorInt intTint color for back icon
separatorColor@ColorInt intColor of separator between items
discardSelectionIconDrawableIcon for discarding selection
discardSelectionIconTint@ColorInt intTint color for discard selection icon
submitSelectionIconDrawableIcon for submitting selection
submitSelectionIconTint@ColorInt intTint color for submit selection icon
subtitleTextAppearance@StyleRes intText appearance for subtitle
subtitleTextColor@ColorInt intText color for subtitle
searchInputEndIconDrawableEnd icon for search input
searchInputEndIconTint@ColorInt intTint color for search input end icon
searchInputStrokeWidth@Dimension intStroke width for search input
searchInputStrokeColor@ColorInt intStroke color for search input
searchInputCornerRadius@Dimension intCorner radius for search input
searchInputBackgroundColor@ColorInt intBackground color for search input
searchInputTextAppearance@StyleRes intText appearance for search input
searchInputTextColor@ColorInt intText color for search input
searchInputPlaceHolderTextAppearance@StyleRes intPlaceholder text appearance for search input
searchInputPlaceHolderTextColor@ColorInt intPlaceholder text color for search input
searchInputIconTint@ColorInt intTint color for search input icon
searchInputIconDrawableIcon for search input
avatar@StyleRes intStyle resource for avatar
itemTitleTextAppearance@StyleRes intText appearance for item title
itemTitleTextColor@ColorInt intText color for item title
itemBackgroundColor@ColorInt intBackground color for items
statusIndicatorStyle@StyleRes intStyle for status indicators
itemSelectedBackgroundColor@ColorInt intBackground color for selected items
checkBoxStrokeWidth@Dimension intStroke width for selection checkboxes
checkBoxCornerRadius@Dimension intCorner radius for selection checkboxes
checkBoxStrokeColor@ColorInt intStroke color for selection checkboxes
checkBoxBackgroundColor@ColorInt intBackground color for selection checkboxes
checkBoxCheckedBackgroundColor@ColorInt intBackground color for checked checkboxes
checkBoxSelectIconTint@ColorInt intTint color for checkbox select icon
checkBoxSelectIconDrawableIcon for selected checkboxes
emptyStateTextAppearance@StyleRes intText appearance for empty state
emptyStateTextColor@ColorInt intText color for empty state
emptyStateSubTitleTextAppearance@StyleRes intSubtitle text appearance for empty state
emptyStateSubtitleTextColor@ColorInt intSubtitle text color for empty state
errorStateTextAppearance@StyleRes intText appearance for error state
errorStateTextColor@ColorInt intText color for error state
errorStateSubtitleTextAppearance@StyleRes intSubtitle text appearance for error state
errorStateSubtitleColor@ColorInt intSubtitle text color for error state
retryButtonTextColor@ColorInt intText color for retry button
retryButtonTextAppearance@StyleRes intText appearance for retry button
retryButtonBackgroundColor@ColorInt intBackground color for retry button
retryButtonStrokeColor@ColorInt intStroke color for retry button
retryButtonStrokeWidth@Dimension intStroke width for retry button
retryButtonCornerRadius@Dimension intCorner radius for retry button
loadingViewId@LayoutRes intLayout resource for loading view
emptyViewId@LayoutRes intLayout resource for empty view
errorViewId@LayoutRes intLayout resource for error view
toolbarVisibilityintControls visibility of toolbar
searchBoxVisibilityintControls visibility of search box
backIconVisibilityintControls visibility of back icon
emptyStateVisibilityintControls visibility of empty state view
loadingStateVisibilityintControls visibility of loading state view
errorStateVisibilityintControls visibility of error state view
groupTypeVisibilityintControls visibility of group type indicators
separatorVisibilityintControls visibility of separator
titleVisibilityintControls visibility of title
addOptionsFunction2< Context, Group, List< CometChatPopupMenu.MenuItem >>Function to add options to popup menu
optionsFunction2< Context, Group, List< CometChatPopupMenu.MenuItem >>Function to replace popup menu options
cometchatPopUpMenuCometChatPopupMenuPopup menu for group actions

Renamed Properties

V4 NameV5 NameTypeDescription
setItemClickListenersetOnItemClickMethodSets click listener for group items
setOnSelectionsetOnSelectionMethodSets selection listener for groups (signature changed)
setSubtitlesetSubtitleViewMethodSets custom subtitle view
setTailsetTailViewMethodSets custom tail view (renamed to setTrailingView)
setListItemViewsetItemViewMethodSets custom item view
getAdaptergetAdapterMethodGets the groups adapter (return type changed)
setPasswordGroupIconN/AMethodMethod for password group icon (removed)

Removed Properties

NameTypeDescription
hideErrorbooleanFlag to hide error messages
emptyStateTextTextViewTextView for empty state message
errorStateTextAppearanceintText appearance for error state (moved to styled attributes)
errorMessageColorintColor for error messages
errorTextStringCustom error message text
palettePaletteColor palette instance
typographyTypographyTypography instance
swipeHelperRecyclerViewSwipeListenerSwipe gesture helper
iconImageViewIcon view for submit
submitIcon@DrawableRes intSubmit icon resource
loadingIconImageViewLoading icon view
setStyle(GroupsStyle)MethodSets groups style using GroupsStyle object
emptyStateText(String)MethodSets empty state text
emptyStateTextColor(int)MethodSets empty state text color
emptyStateTextFont(String)MethodSets empty state text font
emptyStateTextAppearance(int)MethodSets empty state text appearance
errorStateTextAppearance(int)MethodSets error state text appearance
errorStateTextColor(int)MethodSets error state text color
errorStateText(String)MethodSets error state text
setEmptyStateView(@LayoutRes int)MethodSets empty state view layout
setLoadingIconTintColor(@ColorInt int)MethodSets loading icon tint color
setErrorStateView(@LayoutRes int)MethodSets error state view layout
setLoadingStateView(@LayoutRes int)MethodSets loading state view layout
setBackground(int[], GradientDrawable.Orientation)MethodSets gradient background
setSubmitIcon(@DrawableRes int)MethodSets submit icon
hideError(boolean)MethodHides error messages
hideSeparator(boolean)MethodHides separators (replaced with visibility controls)
setOverflowMenuOptionsMethodSets overflow menu options (replaced with setOptions)
showError()MethodShows error state
getOption(Group, List< UnderlayButton >)MethodGets swipe options

GroupMembers

New Properties

NameTypeDescription
deleteAlertDialogCometChatConfirmDialogDialog for confirming member deletion actions
customEmptyStateViewViewCustom view for empty state
customErrorStateViewViewCustom view for error state
customLoadingViewViewCustom view for loading state
onLoadOnLoad< GroupMember >Callback when group members are loaded
onEmptyOnEmptyCallback when group member list is empty
userStatusVisibilityintControls visibility of user status indicators
toolbarVisibilityintControls visibility of toolbar
searchBoxVisibilityintControls visibility of search box
kickMemberOptionVisibilityintControls visibility of kick member option
banMemberOptionVisibilityintControls visibility of ban member option
scopeChangeOptionVisibilityintControls visibility of scope change option
emptyStateVisibilityintControls visibility of empty state view
loadingStateVisibilityintControls visibility of loading state view
errorStateVisibilityintControls visibility of error state view
addOptionsFunction3< Context, GroupMember, Group, List< CometChatPopupMenu.MenuItem >>Function to add options to popup menu
cometchatPopUpMenuCometChatPopupMenuPopup menu for member actions
searchInputStrokeColor@ColorInt intStroke color for search input
searchInputBackgroundColor@ColorInt intBackground color for search input
searchInputTextColor@ColorInt intText color for search input
searchInputPlaceHolderTextColor@ColorInt intPlaceholder text color for search input
backIconTint@ColorInt intTint color for back icon
strokeColor@ColorInt intStroke color for card border
backgroundColor@ColorInt intBackground color for the view
titleTextColor@ColorInt intText color for title
emptyStateTitleTextColor@ColorInt intText color for empty state title
emptyStateSubtitleTextColor@ColorInt intText color for empty state subtitle
errorStateTitleTextColor@ColorInt intText color for error state title
errorStateSubtitleTextColor@ColorInt intText color for error state subtitle
itemTitleTextColor@ColorInt intText color for item title
separatorColor@ColorInt intColor of separator between items
strokeWidth@Dimension intStroke width for card border
cornerRadius@Dimension intCorner radius for card
separatorHeight@Dimension intHeight of separator between items
searchInputStrokeWidth@Dimension intStroke width for search input
searchInputCornerRadius@Dimension intCorner radius for search input
checkBoxStrokeWidth@Dimension intStroke width for selection checkboxes
checkBoxCornerRadius@Dimension intCorner radius for selection checkboxes
searchInputTextAppearance@StyleRes intText appearance for search input
titleTextAppearance@StyleRes intText appearance for title
emptyStateTitleTextAppearance@StyleRes intText appearance for empty state title
emptyStateSubtitleTextAppearance@StyleRes intText appearance for empty state subtitle
errorStateTitleTextAppearance@StyleRes intText appearance for error state title
errorStateSubtitleTextAppearance@StyleRes intText appearance for error state subtitle
itemTitleTextAppearance@StyleRes intText appearance for item title
avatarStyle@StyleRes intStyle resource for avatar
statusIndicatorStyle@StyleRes intStyle resource for status indicator
style@StyleRes intOverall style resource
discardSelectionIconDrawableIcon for discarding selection
discardSelectionIconTint@ColorInt intTint color for discard selection icon
submitSelectionIconDrawableIcon for submitting selection
submitSelectionIconTint@ColorInt intTint color for submit selection icon
searchInputStartIconDrawableStart icon for search input
searchInputEndIconDrawableEnd icon for search input
searchInputStartIconTint@ColorInt intTint color for search input start icon
searchInputEndIconTint@ColorInt intTint color for search input end icon
backIconDrawableBack icon drawable
backgroundDrawableDrawableBackground drawable
selectIconDrawableSelection icon drawable
selectIconTint@ColorInt intTint color for selection icon
checkBoxStrokeColor@ColorInt intStroke color for selection checkboxes
checkBoxBackgroundColor@ColorInt intBackground color for selection checkboxes
checkBoxCheckedBackgroundColor@ColorInt intBackground color for checked checkboxes
emptyViewId@LayoutRes intLayout resource for empty view
errorViewId@LayoutRes intLayout resource for error view
loadingViewId@LayoutRes intLayout resource for loading view
overflowMenuViewCustom overflow menu view

Renamed Properties

V4 NameV5 NameTypeDescription
setItemClickListenersetOnItemClickMethodSets click listener for group member items
setOnSelectionsetOnSelectionMethodSets selection listener (signature changed)
setSubtitleViewsetSubtitleViewMethodSets custom subtitle view (signature changed)
setTailViewsetTrailingViewMethodSets custom trailing view
setListItemViewsetItemViewMethodSets custom item view
getConversationsAdaptergetAdapterMethodGets the group members adapter
disableUsersPresencesetUserStatusVisibilityMethodControls user presence visibility

Removed Properties

NameTypeDescription
hideErrorbooleanFlag to hide error messages
emptyStateTextTextViewTextView for empty state message
errorStateTextAppearanceintText appearance for error state (moved to styled attributes)
errorMessageColorintColor for error messages
errorTextStringCustom error message text
palettePaletteColor palette instance
typographyTypographyTypography instance
swipeHelperRecyclerViewSwipeListenerSwipe gesture helper
loadingIconImageViewLoading icon view
submitIcon@DrawableRes intSubmit icon resource
iconImageViewIcon view for submit
setStyle(GroupMembersStyle)MethodSets group members style using GroupMembersStyle object
emptyStateText(String)MethodSets empty state text
emptyStateTextColor(int)MethodSets empty state text color
emptyStateTextFont(String)MethodSets empty state text font
emptyStateTextAppearance(int)MethodSets empty state text appearance
errorStateTextAppearance(int)MethodSets error state text appearance
errorStateTextColor(int)MethodSets error state text color
errorStateText(String)MethodSets error state text
setEmptyStateView(@LayoutRes int)MethodSets empty state view layout (renamed to setEmptyView)
setLoadingIconTintColor(@ColorInt int)MethodSets loading icon tint color
setErrorStateView(@LayoutRes int)MethodSets error state view layout (renamed to setErrorView)
setLoadingStateView(@LayoutRes int)MethodSets loading state view layout (renamed to setLoadingView)
setBackground(int[], GradientDrawable.Orientation)MethodSets gradient background
setSubmitIcon(@DrawableRes int)MethodSets submit icon
setSelectionIcon(@DrawableRes int)MethodSets selection icon (replaced with setSelectIcon)
hideError(boolean)MethodHides error messages
hideSeparator(boolean)MethodHides separators (replaced with visibility controls)
showError()MethodShows error state
getOption(GroupMember, Group, List< UnderlayButton >)MethodGets swipe options

MessageHeader

New Properties

NameTypeDescription
backButtonViewViewCustom view for the back button
onBackPressOnBackPressCallback for back button press events
trailingViewFunction3< Context, User, Group, View >Function to create custom trailing view
auxiliaryButtonViewFunction3< Context, User, Group, View >Function to create auxiliary button view
titleViewFunction3< Context, User, Group, View >Function to create custom title view
leadingViewFunction3< Context, User, Group, View >Function to create custom leading view
itemViewFunction3< Context, User, Group, View >Function to create custom item view
customLastSeenTextFunction2< Context, User, String >Function to customize last seen text
titleTextColor@ColorInt intText color for the title
subtitleTextColor@ColorInt intText color for the subtitle
backIconTint@ColorInt intTint color for the back icon
backgroundColor@ColorInt intBackground color for the header
strokeColor@ColorInt intStroke color for the card border
cornerRadius@Dimension intCorner radius for the card
strokeWidth@Dimension intStroke width for the card border
titleTextAppearance@StyleRes intText appearance style for the title
subtitleTextAppearance@StyleRes intText appearance style for the subtitle
avatarStyle@StyleRes intStyle resource for the avatar
statusIndicatorStyle@StyleRes intStyle resource for status indicator
typingIndicatorStyle@StyleRes intStyle resource for typing indicator
callButtonsStyle@StyleRes intStyle resource for call buttons
backIconDrawableDrawable for the back icon
additionParameterAdditionParameterAdditional parameters for configuration
onErrorOnErrorCallback for error handling
backButtonVisibilityintControls visibility of back button
userStatusVisibilityintControls visibility of user status
groupStatusVisibilityintControls visibility of group status
videoCallButtonVisibilityintControls visibility of video call button
voiceCallButtonVisibilityintControls visibility of voice call button
dateTimeFormatterDateTimeFormatterCallbackCustom date/time formatter

Renamed Properties

V4 NameV5 NameTypeDescription
subtitlesubtitleViewFunction3< Context, User, Group, View >Function to create custom subtitle view
menutrailingViewFunction3< Context, User, Group, View >Function to create custom menu/trailing view
setMenusetTrailingViewMethodSets custom trailing view
setSubtitleViewsetSubtitleViewMethodSets custom subtitle view (signature changed)
disableUsersPresencesetUserStatusVisibilityMethodControls user presence visibility
hideStatusIndicatorsetUserStatusVisibilityMethodControls status indicator visibility
setOnBackButtonPressedsetOnBackPressMethodSets back button callback

Removed Properties

NameTypeDescription
palettePaletteColor palette instance
typographyTypographyTypography instance
toolbarToolbarToolbar component
listItemCometChatListItemList item component
layoutLinearLayoutLayout container
disableTypingbooleanFlag to disable typing indicator
disableUsersPresencebooleanFlag to disable user presence
protectedGroupIcon@DrawableRes intIcon for protected groups
privateGroupIcon@DrawableRes intIcon for private groups
onlineStatusColor@ColorInt intColor for online status
backIconImageViewBack icon view (replaced with Drawable)
subtitleViewSubtitleViewSubtitle view component
offlineSubtitleTextColor@ColorInt intText color for offline subtitle
onlineSubtitleTextColor@ColorInt intText color for online subtitle
memberCountSubtitleTextColor@ColorInt intText color for member count subtitle
typingIndicatorColor@ColorInt intColor for typing indicator
listItemStyleListItemStyleStyle for list item
subtitleTextFontStringFont for subtitle text
typingIndicatorTextFontStringFont for typing indicator text
titleTextFontStringFont for title text
typingIndicatorTextAppearanceintText appearance for typing indicator
setStyle(MessageHeaderStyle)MethodSets header style using MessageHeaderStyle object
setProtectedGroupIcon(@DrawableRes int)MethodSets protected group icon
setPrivateGroupIcon(@DrawableRes int)MethodSets private group icon
setOnlineStatusColor(int)MethodSets online status color
setSubtitleTextColor(int)MethodSets subtitle text color (replaced with styled approach)
setSubtitleTextFont(String)MethodSets subtitle text font
setTitleTextColor(int)MethodSets title text color (replaced with styled approach)
setTitleTextFont(String)MethodSets title text font
setTypingIndicatorFont(String)MethodSets typing indicator font
setTypingIndicatorTextAppearance(int)MethodSets typing indicator text appearance
setTypingIndicatorColor(int)MethodSets typing indicator color
setAvatarStyle(AvatarStyle)MethodSets avatar style using AvatarStyle object
setStatusIndicatorStyle(StatusIndicatorStyle)MethodSets status indicator style using StatusIndicatorStyle object
setListItemStyle(ListItemStyle)MethodSets list item style using ListItemStyle object
setListItemView(View)MethodSets list item view (replaced with setItemView)
hideBackIcon(boolean)MethodHides back icon (replaced with visibility control)
getSubtitle(User, Group)MethodGets subtitle view
getMenu(User, Group)MethodGets menu view
disableTyping(boolean)MethodDisables typing indicator

MessageList

New Properties

NameTypeDescription
enableConversationStarterbooleanFlag to enable AI conversation starter feature
enableSmartRepliesbooleanFlag to enable AI smart replies feature
replyInThreadOptionVisibilityintControls visibility of reply in thread option
translateMessageOptionVisibilityintControls visibility of translate message option
copyMessageOptionVisibilityintControls visibility of copy message option
editMessageOptionVisibilityintControls visibility of edit message option
shareMessageOptionVisibilityintControls visibility of share message option
messagePrivatelyOptionVisibilityintControls visibility of message privately option
deleteMessageOptionVisibilityintControls visibility of delete message option
messageInfoOptionVisibilityintControls visibility of message info option
groupActionMessageVisibilityintControls visibility of group action messages
messageReactionOptionVisibilityintControls visibility of message reaction options
avatarVisibilityintControls visibility of avatars in messages
receiptsVisibilityintControls visibility of read receipts
badgeCometChatBadgeBadge component for new message indicator
customEmptyViewViewCustom view for empty state
customErrorViewViewCustom view for error state
customLoadingViewViewCustom view for loading state
errorStateVisibilityintControls visibility of error state
incomingMessageBubbleStyle@StyleRes intStyle resource for incoming message bubbles
outgoingMessageBubbleStyle@StyleRes intStyle resource for outgoing message bubbles
dateSeparatorStyle@StyleRes intStyle resource for date separators
deleteDialogStyle@StyleRes intStyle resource for delete confirmation dialog
messageInformationStyle@StyleRes intStyle resource for message information
messageOptionSheetStyle@StyleRes intStyle resource for message option sheet
reactionListStyle@StyleRes intStyle resource for reaction list
smartRepliesStyle@StyleRes intStyle resource for AI smart replies
conversationStarterStyle@StyleRes intStyle resource for conversation starter
dateTimeFormatterDateTimeFormatterCallbackCallback for custom date/time formatting
onLoadOnLoad< BaseMessage >Callback when messages are loaded
onEmptyOnEmptyCallback when message list is empty

Renamed Properties

V4 NameV5 NameTypeDescription
setAlignmentsetMessageAlignmentMethodSets alignment of messages
showAvatarsetAvatarVisibilityMethodControls avatar visibility
hideReceiptsetReceiptsVisibilityMethodControls receipt visibility
setDatePatternsetTimeFormatMethodSets time format for messages
setDateSeparatorPatternsetDateFormatMethodSets date format for separators
hideErrorsetErrorStateVisibilityMethodControls error state visibility
setParentMessagesetParentMessageMethodSets parent message (parameter type changed from int to long)
getMessageAdaptergetAdapterMethodGets message adapter
setMessageAdaptersetAdapterMethodSets message adapter

Removed Properties

NameTypeDescription
errorStateTextStringText for error state messages
newMessageIndicatorTextStringText for new message indicator
cometChatActionSheetCometChatActionSheetAction sheet component (replaced)
actionSheetStyleActionSheetStyleStyle for action sheet (replaced)
newMessageLayoutTextTextViewText view for new message layout (replaced with badge)
actionSheetModeStringMode for action sheet layout (removed)
palettePaletteColor palette instance (removed)
typographyTypographyTypography instance (removed)
hideErrorbooleanFlag to hide errors (replaced with visibility control)
templateBubbleStyleMessageBubbleStyleTemplate bubble style (removed)
disableReactionsbooleanFlag to disable reactions (removed)
hideAddReactionsIconbooleanFlag to hide add reactions icon (removed)
messageReactionsStyleMessageReactionsStyleStyle for message reactions (removed)
setStyle(MessageListStyle)MethodSets style using MessageListStyle object (removed)
setAvatarStyle(AvatarStyle)MethodSets avatar style using AvatarStyle object (removed)
setActionSheetStyle(ActionSheetStyle)MethodSets action sheet style (removed)
setDateSeparatorStyle(DateStyle)MethodSets date separator style using DateStyle object (removed)
setWrapperMessageBubbleStyle(MessageBubbleStyle)MethodSets wrapper message bubble style (removed)
hideDeletedMessages(boolean)MethodHides deleted messages (removed)
disableReactions(boolean)MethodDisables reactions (removed)

MessageComposer

New Properties

NameTypeDescription
imageAttachmentOptionVisibilityintControls visibility of image attachment option
cameraAttachmentOptionVisibilityintControls visibility of camera attachment option
videoAttachmentOptionVisibilityintControls visibility of video attachment option
audioAttachmentOptionVisibilityintControls visibility of audio attachment option
fileAttachmentOptionVisibilityintControls visibility of file attachment option
pollAttachmentOptionVisibilityintControls visibility of poll attachment option
collaborativeDocumentOptionVisibilityintControls visibility of collaborative document option
collaborativeWhiteboardOptionVisibilityintControls visibility of collaborative whiteboard option
attachmentButtonVisibilityintControls visibility of attachment button
voiceNoteButtonVisibilityintControls visibility of voice note button
stickersButtonVisibilityintControls visibility of stickers button
sendButtonVisibilityintControls visibility of send button
auxiliaryButtonVisibilityintControls visibility of auxiliary button
attachmentIconDrawableDrawable for attachment icon
attachmentIconTint@ColorInt intTint color for attachment icon
voiceRecordingIconDrawableDrawable for voice recording icon
voiceRecordingIconTint@ColorInt intTint color for voice recording icon
AIIconDrawableDrawable for AI icon
AIIconTint@ColorInt intTint color for AI icon
messageInputStyle@StyleRes intStyle resource for message input
mentionsStyle@StyleRes intStyle resource for mentions
composeBoxBackgroundColor@ColorInt intBackground color for compose box
composeBoxStrokeWidth@Dimension intStroke width for compose box
composeBoxStrokeColor@ColorInt intStroke color for compose box
composeBoxCornerRadius@Dimension intCorner radius for compose box
mediaRecorderStyle@StyleRes intStyle resource for media recorder
aiOptionSheetStyle@StyleRes intStyle resource for AI option sheet
attachmentOptionSheetStyle@StyleRes intStyle resource for attachment option sheet
suggestionListStyle@StyleRes intStyle resource for suggestion list

Renamed Properties

V4 NameV5 NameTypeDescription
setParentMessageId(int)setParentMessageId(long)MethodSets parent message ID (parameter type changed)
setText(String)setInitialComposerText(String)MethodSets initial composer text
setVoiceRecordingVisibility(int)setVoiceNoteButtonVisibility(int)MethodSets voice note button visibility
setTagListVisibility(int)setSuggestionListVisibility(int)MethodSets suggestion list visibility

Removed Properties

NameTypeDescription
cometChatThemeCometChatThemeTheme instance
liveReactionImageViewImageViewLive reaction button image view
liveReactionIcon@DrawableRes intLive reaction icon resource
hideLiveReactionbooleanFlag to hide live reaction
sendButtonIcon@DrawableRes intSend button icon resource
sendButtonTintColor@ColorInt intSend button tint color
mediaRecorderStyleMediaRecorderStyleMedia recorder style object (replaced with style resource)
aiOptionsStyleAIOptionsStyleAI options style object (replaced with style resource)
suggestionListStyleSuggestionListStyleSuggestion list style object (replaced with style resource)
setSendButtonIcon(@DrawableRes int)MethodSets send button icon
setSendButtonIconTint(@ColorInt int)MethodSets send button icon tint
setLiveReactionIcon(@DrawableRes int)MethodSets live reaction icon
hideLiveReaction(boolean)MethodHides live reaction
setStyle(MessageComposerStyle)MethodSets style using MessageComposerStyle object
setMessageInputStyle(MessageInputStyle)MethodSets message input style using MessageInputStyle object
setActionSheetStyle(ActionSheetStyle)MethodSets action sheet style using ActionSheetStyle object

IncomingCall

New Properties

NameTypeDescription
callSettingsBuilderCometChatCalls.CallSettingsBuilderBuilder for configuring call settings
onAcceptClickOnClickCustom click listener for accept button
onRejectClickOnClickCustom click listener for reject button
itemViewViewCustom view for the entire item
leadingViewViewCustom view for the leading section
titleViewViewCustom view for the title section
subtitleViewViewCustom view for the subtitle section
trailingViewViewCustom view for the trailing section
titleTextColor@ColorInt intText color for the caller name
subtitleTextColor@ColorInt intText color for the call type subtitle
titleTextAppearance@StyleRes intText appearance for the caller name
subtitleTextAppearance@StyleRes intText appearance for the call type
iconTint@ColorInt intTint color for the call type icon
voiceCallIconDrawableIcon drawable for voice calls
videoCallIconDrawableIcon drawable for video calls
avatarStyle@StyleRes intStyle resource for the avatar
rejectCallButtonBackgroundColor@ColorInt intBackground color for reject button
acceptCallButtonBackgroundColor@ColorInt intBackground color for accept button
backgroundColor@ColorInt intBackground color for the component
cornerRadius@Dimension intCorner radius for the component
strokeWidth@Dimension intStroke width for the component border
strokeColor@ColorInt intStroke color for the component border
acceptButtonTextColor@ColorInt intText color for accept button
rejectButtonTextColor@ColorInt intText color for reject button
acceptButtonTextAppearance@StyleRes intText appearance for accept button
rejectButtonTextAppearance@StyleRes intText appearance for reject button
style@StyleRes intOverall style resource for the component
disableSoundForCallsbooleanFlag to disable sound for incoming calls
customSoundForCalls@RawRes intCustom sound resource for incoming calls

Renamed Properties

V4 NameV5 NameTypeDescription
onDeclineCallClickonRejectClickOnClickClick listener for decline/reject button
onAcceptCallClickonAcceptClickOnClickClick listener for accept button
disableSoundForCalldisableSoundForCallsbooleanFlag to disable sound for calls
setOnDeclineCallClicksetOnRejectClickMethodSets decline/reject click listener
setOnAcceptCallClicksetOnAcceptClickMethodSets accept click listener
disableSoundForCall(boolean)disableSoundForCalls(boolean)MethodDisables sound for calls

Removed Properties

NameTypeDescription
cometChatThemeCometChatThemeTheme instance
cometChatCardCometChatCardCard component for displaying call info
ongoingCallCometChatOngoingCallOngoing call component
declineCallButtonCometChatButtonDecline button component
acceptCallButtonCometChatButtonAccept button component
userUserUser object for the caller
subtitleTextViewSubtitle text view
setUser(User)MethodSets the user making the call
setAvatarStyle(AvatarStyle)MethodSets avatar style using AvatarStyle object
setDeclineButtonText(String)MethodSets text for decline button
setDeclineButtonIcon(@DrawableRes int)MethodSets icon for decline button
setDeclineButtonStyle(ButtonStyle)MethodSets style for decline button
setAcceptButtonText(String)MethodSets text for accept button
setAcceptButtonIcon(@DrawableRes int)MethodSets icon for accept button
setAcceptButtonStyle(ButtonStyle)MethodSets style for accept button
setStyle(IncomingCallStyle)MethodSets style using IncomingCallStyle object
setSubtitleTextColor(@ColorInt int)MethodSets subtitle text color
setSubtitleTextAppearance(@StyleRes int)MethodSets subtitle text appearance
setOngoingCallConfiguration(OngoingCallConfiguration)MethodSets ongoing call configuration
launchOnGoingScreen(String, String, String)MethodLaunches ongoing call screen
showError(CometChatException)MethodShows error (replaced with throwError)

OutgoingCall

New Properties

NameTypeDescription
onEndCallClickOnClickCustom click listener for end call button
onBackPressOnBackPressCustom back press handler
callSettingsBuilderCometChatCalls.CallSettingsBuilderBuilder for configuring call settings
endCallIconDrawableIcon drawable for end call button
style@StyleRes intOverall style resource for the component
titleTextColor@ColorInt intText color for the caller name
subtitleTextColor@ColorInt intText color for the call status
titleTextAppearance@StyleRes intText appearance for the caller name
subtitleTextAppearance@StyleRes intText appearance for the call status
endCallIconTint@ColorInt intTint color for end call icon
avatarStyle@StyleRes intStyle resource for the avatar
endCallButtonBackgroundColor@ColorInt intBackground color for end call button
backgroundColor@ColorInt intBackground color for the component
cornerRadius@Dimension intCorner radius for the component
strokeWidth@Dimension intStroke width for the component border
strokeColor@ColorInt intStroke color for the component border
titleViewFunction2< Context, Call, View >Custom view function for title
subtitleViewFunction2< Context, Call, View >Custom view function for subtitle
avatarViewFunction2< Context, Call, View >Custom view function for avatar
endCallViewFunction2< Context, Call, View >Custom view function for end call button

Renamed Properties

V4 NameV5 NameTypeDescription
onDeclineCallClickonEndCallClickOnClickClick listener for decline/end call button
setOnDeclineCallClicksetOnEndCallClickMethodSets end call click listener
getOnDeclineCallClickgetOnEndCallClickMethodGets end call click listener

Removed Properties

NameTypeDescription
cometChatThemeCometChatThemeTheme instance for styling
cometChatCardCometChatCardCard component for displaying call info
ongoingCallCometChatOngoingCallOngoing call component (replaced with binding)
declineButtonCometChatButtonDecline button component
subtitleTextViewSubtitle text view (replaced with binding)
showError(CometChatException)MethodShows error (replaced with triggerError)
setAvatarStyle(AvatarStyle)MethodSets avatar style using AvatarStyle object
setDeclineButtonText(String)MethodSets text for decline button
setDeclineButtonIcon(@DrawableRes int)MethodSets icon for decline button
setDeclineButtonStyle(ButtonStyle)MethodSets style for decline button
setStyle(OutgoingCallStyle)MethodSets style using OutgoingCallStyle object
setOngoingCallConfiguration(OngoingCallConfiguration)MethodSets ongoing call configuration

CallButtons

New Properties

NameTypeDescription
style@StyleRes intOverall style resource for the component
voiceCallIconDrawableDrawable for voice call icon
videoCallIconDrawableDrawable for video call icon
voiceCallIconTint@ColorInt intTint color for voice call icon
videoCallIconTint@ColorInt intTint color for video call icon
voiceCallTextColor@ColorInt intText color for voice call button
videoCallTextColor@ColorInt intText color for video call button
voiceCallTextAppearance@StyleRes intText appearance for voice call button
videoCallTextAppearance@StyleRes intText appearance for video call button
voiceCallBackgroundColor@ColorInt intBackground color for voice call button
videoCallBackgroundColor@ColorInt intBackground color for video call button
voiceCallCornerRadius@Dimension intCorner radius for voice call button
videoCallCornerRadius@Dimension intCorner radius for video call button
voiceCallIconSize@Dimension intIcon size for voice call button
videoCallIconSize@Dimension intIcon size for video call button
voiceCallStrokeWidth@Dimension intStroke width for voice call button
videoCallStrokeWidth@Dimension intStroke width for video call button
voiceCallStrokeColor@ColorInt intStroke color for voice call button
videoCallStrokeColor@ColorInt intStroke color for video call button
voiceCallButtonPadding@Dimension intPadding for voice call button
videoCallButtonPadding@Dimension intPadding for video call button
callSettingsBuilderCallbackFunction3< User, Group, Boolean, CometChatCalls.CallSettingsBuilder >Callback for call settings configuration
callSettingsBuilderCometChatCalls.CallSettingsBuilderBuilder for call settings
videoCallButtonVisibilityintVisibility state for video call button
voiceCallButtonVisibilityintVisibility state for voice call button

Renamed Properties

V4 NameV5 NameTypeDescription
setMarginForButtons(int)setMarginBetweenButtons(@Dimension int)MethodSets margin between buttons
hideVoiceCall(boolean)setVoiceCallButtonVisibility(int)MethodControls voice call button visibility
hideVideoCall(boolean)setVideoCallButtonVisibility(int)MethodControls video call button visibility
hideButtonText(boolean)setButtonTextVisibility(int)MethodControls button text visibility
hideButtonIcon(boolean)setButtonIconVisibility(int)MethodControls button icon visibility
setVoiceCallIcon(@DrawableRes int)setVoiceCallIcon(Drawable)MethodSets voice call icon (parameter type changed)
setVideoCallIcon(@DrawableRes int)setVideoCallIcon(Drawable)MethodSets video call icon (parameter type changed)

Removed Properties

NameTypeDescription
onErrorOnErrorError callback handler
errorDisplayedbooleanFlag to track error display state
themeCometChatThemeTheme instance for styling
showError(CometChatException)MethodShows error dialog
enableButton(Call)MethodEnables buttons with call parameter
enableButton()MethodEnables buttons without parameter
disableButton(Call)MethodDisables buttons with call parameter
disableButton()MethodDisables buttons without parameter
setButtonStyle(ButtonStyle)MethodSets button style using ButtonStyle object
setStyle(CallButtonsStyle)MethodSets style using CallButtonsStyle object
setOnError(OnError)MethodSets error callback handler

CallLogs

New Properties

NameTypeDescription
backgroundColor@ColorInt intBackground color for the call logs
strokeWidth@Dimension intStroke width for the component border
strokeColor@ColorInt intStroke color for the component border
cornerRadius@Dimension intCorner radius for the component
backIcon@Nullable DrawableDrawable for back icon
backIconTint@ColorInt intTint color for back icon
titleTextAppearance@StyleRes intText appearance for title
titleTextColor@ColorInt intText color for title
emptyStateTitleTextAppearance@StyleRes intText appearance for empty state title
emptyStateTitleTextColor@ColorInt intText color for empty state title
emptyStateSubtitleTextAppearance@StyleRes intText appearance for empty state subtitle
emptyStateSubtitleTextColor@ColorInt intText color for empty state subtitle
errorTitleTextAppearance@StyleRes intText appearance for error title
errorTitleTextColor@ColorInt intText color for error title
errorSubtitleTextAppearance@StyleRes intText appearance for error subtitle
errorSubtitleTextColor@ColorInt intText color for error subtitle
itemTitleTextAppearance@StyleRes intText appearance for item title
itemTitleTextColor@ColorInt intText color for item title
itemSubtitleTextAppearance@StyleRes intText appearance for item subtitle
itemSubtitleTextColor@ColorInt intText color for item subtitle
itemIncomingCallIcon@Nullable DrawableIcon for incoming calls
itemIncomingCallIconTint@ColorInt intTint color for incoming call icon
itemOutgoingCallIcon@Nullable DrawableIcon for outgoing calls
itemOutgoingCallIconTint@ColorInt intTint color for outgoing call icon
itemMissedCallTitleColor@ColorInt intText color for missed call titles
itemMissedCallIcon@Nullable DrawableIcon for missed calls
itemMissedCallIconTint@ColorInt intTint color for missed call icon
itemAudioCallIcon@Nullable DrawableIcon for audio calls
itemAudioCallIconTint@ColorInt intTint color for audio call icon
itemVideoCallIcon@Nullable DrawableIcon for video calls
itemVideoCallIconTint@ColorInt intTint color for video call icon
avatarStyle@StyleRes intStyle resource for avatar
dateStyle@StyleRes intStyle resource for date
separatorColor@ColorInt intColor for separators
onItemClickOnItemClick< CallLog >Click listener for items
onItemLongClickOnItemLongClick< CallLog >Long click listener for items
onCallIconClickListenerOnCallIconClickClick listener for call icons
customLoadingViewViewCustom view for loading state
customErrorViewViewCustom view for error state
customEmptyViewViewCustom view for empty state
loadingViewId@LayoutRes intResource ID for loading view layout
errorViewId@LayoutRes intResource ID for error view layout
emptyViewId@LayoutRes intResource ID for empty view layout
addOptionsFunction2< Context, CallLog, List< CometChatPopupMenu.MenuItem >>Function for additional popup menu options
optionsFunction2< Context, CallLog, List< CometChatPopupMenu.MenuItem >>Function for popup menu options
onLoadOnLoad< CallLog >Callback for load events
onEmptyOnEmptyCallback for empty state
onBackPressOnBackPressCallback for back press events
toolbarVisibilityintVisibility state for toolbar
backIconVisibilityintVisibility state for back icon
emptyStateVisibilityintVisibility state for empty state
loadingStateVisibilityintVisibility state for loading state
errorStateVisibilityintVisibility state for error state
separatorVisibilityintVisibility state for separator
titleVisibilityintVisibility state for title
dateTimeFormatterDateTimeFormatterCallbackCallback for custom date/time formatting

Renamed Properties

V4 NameV5 NameTypeDescription
OnErrorOnCallErrorInterfaceError callback interface
setOnError(OnError)setOnError(OnCallError)MethodSets error callback
setOnItemClickListener(OnItemClickListener< CallLog >)setOnItemClick(OnItemClick< CallLog >)MethodSets item click listener
setOnInfoIconClickListener(OnInfoIconClick)setOnCallIconClickListener(OnCallIconClick)MethodSets call icon click listener
setOptions(Function2< Context, CallLog, List< CometChatOption >>)setOptions(Function2< Context, CallLog, List< CometChatPopupMenu.MenuItem >>)MethodSets popup menu options
setSubtitleView(Function2< Context, CallLog, View >)setSubtitleView(CallLogsViewHolderListener)MethodSets subtitle view
setTail(Function2< Context, CallLog, View >)setTrailingView(CallLogsViewHolderListener)MethodSets trailing view
setListItemView(Function2< Context, CallLog, View >)setItemView(CallLogsViewHolderListener)MethodSets item view
setEmptyStateView(@LayoutRes int)setEmptyView(@LayoutRes int)MethodSets empty state view
setErrorStateView(@LayoutRes int)setErrorView(@LayoutRes int)MethodSets error state view
setLoadingStateView(@LayoutRes int)setLoadingView(@LayoutRes int)MethodSets loading state view

Removed Properties

NameTypeDescription
hideErrorbooleanFlag to hide error state
errorStateTextAppearanceintText appearance for error state
errorMessageColorintColor for error messages
errorTextStringCustom error text
themeCometChatThemeTheme instance
swipeHelperRecyclerViewSwipeListenerSwipe gesture helper
loadingIconImageViewLoading icon (replaced with shimmer)
stickyHeaderDecorationStickyHeaderDecorationSticky header decoration
outgoingCallConfigurationOutgoingCallConfigurationOutgoing call configuration
hideDateHeader(boolean)MethodHides date header
setStyle(CallLogsStyle)MethodSets style using CallLogsStyle object
setAvatarStyle(AvatarStyle)MethodSets avatar style using AvatarStyle object
setDateStyle(DateStyle)MethodSets date style using DateStyle object
setListItemStyle(ListItemStyle)MethodSets list item style
setHeaderDateStyle(DateStyle)MethodSets header date style
setInfoIcon(int)MethodSets info icon
setOutgoingCallConfiguration(OutgoingCallConfiguration)MethodSets outgoing call configuration

Next Steps