Skip to main content

Introduction

The CometChat V5 Android UI Kit was a single Java module (com.cometchat:chatuikit-kotlin-android) that shipped all UI components, ViewModels, and resources in one artifact under the com.cometchat.chatuikit package. V6 splits the UI Kit into three modules built entirely in Kotlin: Choose the UI module that fits your project — both depend on chatuikit-core automatically.

Key Migration Changes

The following table summarizes the most impactful changes when migrating from V5 to V6:

Dependency Changes

V5 (before)

build.gradle

V6 — Kotlin XML Views (after)

build.gradle

V6 — Jetpack Compose (after)

build.gradle
V6 raises the minimum SDK from 24 to 28. Update minSdk in your build.gradle accordingly.

Component Renames

Most components keep the same class name but move to a new package. The following were also renamed: All other components (CometChatUsers, CometChatGroups, CometChatMessageHeader, CometChatMessageList, CometChatMessageComposer, CometChatIncomingCall, CometChatOutgoingCall, CometChatCallButtons, CometChatCallLogs, CometChatGroupMembers) retain their names but live under the new V6 package paths.

Import Path Changes

CometChatUIKit & UIKitSettings

V5 (Java)
V6 (Kotlin)

UI Components

V5 (Java)
V6 — Kotlin XML
V6 — Jetpack Compose

Events Migration

In V5, events used the addListener / removeListener pattern with unique string IDs:
V5 (Java)
In V6, events use the CometChatEvents singleton with Kotlin SharedFlow. Collect in a coroutine scope:
V6 (Kotlin)

State Management Migration

V5 — LiveData observers (Java)

V5

V6 — StateFlow collectors (Kotlin)

V6

Styling Migration

V5 — Style objects (Java)

V5

V6 — Kotlin XML: Theme attributes in themes.xml

V6 — themes.xml

V6 — Jetpack Compose: Style data classes

V6 — Compose

Component-by-Component Migration

Conversations

V5 — CometChatConversations (Java)
V6 — CometChatConversations (Kotlin)

Users

V5 — CometChatUsers (Java)
V6 — CometChatUsers (Kotlin)

Groups

V5 — CometChatGroups (Java)
V6 — CometChatGroups (Kotlin)

Message Header

V5 — CometChatMessageHeader (Java)
V6 — CometChatMessageHeader (Kotlin)

Message List

V5 — CometChatMessageList (Java)
V6 — CometChatMessageList (Kotlin)

Message Composer

V5 — CometChatMessageComposer (Java)
V6 — CometChatMessageComposer (Kotlin)

Call Components

Call components (CometChatIncomingCall, CometChatOutgoingCall, CometChatCallButtons, CometChatCallLogs) keep the same class names in V6. Update the import paths:
V5 (Java)
V6 — Kotlin XML

Architecture Changes

V6 introduces a 4-layer Clean Architecture that replaces V5’s 2-layer View + ViewModel pattern:

ViewModel Access

V5 (Java)
V6 (Kotlin)

List Operations

V5 required direct adapter manipulation. V6 provides a ListOperations<T> interface:
V6 — ListOperations

Custom Repository

V6 exposes the repository layer, allowing you to swap data sources:
V6 — Custom Repository

Property Changes

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

Conversations (now CometChatConversations)

New Properties

Renamed Properties

Removed Properties

Users

New Properties

Renamed Properties

Removed Properties

Groups

Renamed Properties

Removed Properties

GroupMembers

Renamed Properties

Removed Properties

MessageHeader

Renamed Properties

Removed Properties

MessageList

Renamed Properties

Removed Properties

MessageComposer

Renamed Properties

Removed Properties

IncomingCall

Renamed Properties

Removed Properties

OutgoingCall

Renamed Properties

Removed Properties

CallButtons

Renamed Properties

Removed Properties

CallLogs

Renamed Properties

Removed Properties


Next Steps

Getting Started

Fresh V6 setup guide for Android.

Components Overview

Explore all V6 prebuilt UI components.

Theming

XML-based and Compose theming system.

Methods

Init, login, logout, and other UI Kit methods.