Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
cometchat avatar

Cometchat Android V6 Kotlin Components

  • 5 installs
  • 70 repo stars
  • Updated June 23, 2026
  • cometchat/cometchat-skills

Catalog of every CometChat Android UIKit v6 Kotlin Views component, its custom View class, properties, styles, and usage.

About

This skill is the complete catalog of CometChat v6 Kotlin Views components (conversations, messages, users, groups, calls) as custom View classes with their properties and styles. A developer uses it when adding a CometChat Views component to an Activity or Fragment.

  • All Views components as custom View classes in com.cometchat.uikit.kotlin.presentation
  • Property and method reference for each Views component

Cometchat Android V6 Kotlin Components by the numbers

  • 5 all-time installs (skills.sh)
  • Ranked #828 of 1,039 Mobile Development skills by installs in the Skillselion catalog
  • Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/cometchat/cometchat-skills --skill cometchat-android-v6-kotlin-components

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs5
repo stars70
Last updatedJune 23, 2026
Repositorycometchat/cometchat-skills

What it does

Catalog of every CometChat Android UIKit v6 Kotlin Views component, its custom View class, properties, styles, and usage.

Files

SKILL.mdMarkdownGitHub ↗
Companion skills: cometchat-android-v6-compose-components (Compose equivalent), cometchat-android-v6-kotlin-theming, cometchat-android-v6-kotlin-customization, cometchat-android-v6-kotlin-placement

Purpose

Complete catalog of all Kotlin Views components in CometChat UIKit v6. Each component is a custom View class in com.cometchat.uikit.kotlin.presentation.

Use this skill when

  • Adding a CometChat Views component to an Activity or Fragment
  • Looking up component properties and methods
  • Understanding which component to use for a specific chat feature
  • Finding the style class for a component

Do not use this skill when

  • Working with Compose components (use cometchat-android-v6-compose-components)
  • Customizing bubble rendering (use cometchat-android-v6-kotlin-customization)
  • Placing components in navigation (use cometchat-android-v6-kotlin-placement)

1. Component Catalog

1.1 List Components

ComponentPackageTypePurpose
CometChatConversationspresentation.conversations.uiViewRecent conversations list
CometChatUserspresentation.users.uiViewUser list
CometChatGroupspresentation.groups.uiViewGroup list
CometChatGroupMemberspresentation.groupmembers.uiViewMembers of a group
CometChatCallLogspresentation.calllogs.uiViewCall history

1.2 Messaging Components

ComponentPackageTypePurpose
CometChatMessageListpresentation.messagelist.uiViewMessage list with bubbles
CometChatMessageComposerpresentation.messagecomposer.uiViewMessage input with attachments
CometChatMessageHeaderpresentation.messageheader.uiViewChat header (name, status, actions)
CometChatMessageInformationpresentation.messageinformation.uiViewMessage delivery/read info
CometChatThreadHeaderpresentation.threadheader.uiViewThread parent message header

1.3 Call Components

ComponentPackageTypePurpose
CometChatCallButtonspresentation.callbuttonsViewAudio/video call buttons
CometChatIncomingCallpresentation.incomingcallViewIncoming call screen
CometChatOutgoingCallpresentation.outgoingcallViewOutgoing call screen
CometChatOngoingCallpresentation.ongoingcall.uiViewActive call screen
CometChatCallActivitycallsActivityActivity wrapper for calls

1.4 Utility Components

ComponentPackageTypePurpose
CometChatSearchpresentation.search.uiViewGlobal search
CometChatReactionListpresentation.reactionlist.uiViewReaction details
CometChatEmojiKeyboardpresentation.emojikeyboard.uiViewEmoji picker
CometChatStickerKeyboardpresentation.stickerkeyboard.uiViewSticker picker
CometChatFlagMessageDialogpresentation.reportDialogReport/flag message

1.5 Shared Elements

Located in presentation.shared/:

  • AI features: aiconversationstarter/, aiconversationsummary/, aismartreplies/
  • Base elements: baseelements/
  • Message bubble: messagebubble/ (BubbleFactory, CometChatMessageBubble, InternalContentRenderer)
  • Dialog: dialog/
  • Media: mediarecorder/, mediaselection/, mediaviewer/, inlineaudiorecorder/
  • Message preview: messagepreview/
  • Moderation: moderation/
  • Permissions: permission/
  • Popup menu: popupmenu/
  • Reactions: reaction/
  • Receipts: receipts/
  • Search box: searchbox/
  • Shimmer: shimmer/
  • Status indicator: statusindicator/
  • Suggestion list: suggestionlist/
  • Toolbar: toolbar/
  • Typing indicator: typingindicator/

1.6 Adapters

List components use RecyclerView adapters:

AdapterComponent
ConversationsAdapterCometChatConversations
MessageAdapterCometChatMessageList
Group/User adapters in respective packagesCometChatGroups, CometChatUsers

2. Basic Usage Examples

2.1 Conversations List in an Activity

import com.cometchat.uikit.kotlin.presentation.conversations.ui.CometChatConversations

class ConversationsActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)

        val conversations = CometChatConversations(this)
        conversations.setOnItemClick { conversation ->
            // Navigate to chat
        }
        setContentView(conversations)
    }
}

2.2 Message List in XML Layout

<com.cometchat.uikit.kotlin.presentation.messagelist.ui.CometChatMessageList
    android:id="@+id/messageList"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="1" />
val messageList = findViewById<CometChatMessageList>(R.id.messageList)
messageList.setUser(user)

2.3 Users List

val users = CometChatUsers(this)
users.setOnItemClick { user ->
    // Navigate to chat with user
}
setContentView(users)

2.4 Full Chat Screen

class MessagesActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_messages)

        val header = findViewById<CometChatMessageHeader>(R.id.messageHeader)
        val messageList = findViewById<CometChatMessageList>(R.id.messageList)
        val composer = findViewById<CometChatMessageComposer>(R.id.messageComposer)

        header.setUser(user)
        messageList.setUser(user)
        composer.setUser(user)
    }
}

3. Style Classes

Every component has a corresponding style class in its style/ subpackage:

ComponentStyle Class
CometChatConversationsCometChatConversationsStyle
CometChatUsersCometChatUsersStyle
CometChatGroupsCometChatGroupsStyle
CometChatGroupMembersCometChatGroupMembersStyle
CometChatMessageListCometChatMessageListStyle
CometChatMessageComposerCometChatMessageComposerStyle
CometChatMessageHeaderCometChatMessageHeaderStyle
CometChatCallLogsCometChatCallLogsStyle
CometChatThreadHeaderCometChatThreadHeaderStyle

Style classes resolve defaults from XML theme attributes and CometChatTheme singleton.

4. ViewModel Integration

Each component creates its own ViewModel internally via factories from chatuikit-core. ViewModels are shared with the Compose stack — the same CometChatConversationsViewModel powers both CometChatConversations (View) and CometChatConversations (@Composable).

Hard rules

  • Activity theme MUST inherit from CometChatTheme.DayNight (or .Light / .Dark) — Theme.AppCompat.*, Theme.MaterialComponents.*.Bridge, plain Theme.MaterialComponents.*, and Theme.Material3.* all crash at component inflation. See cometchat-android-v6-kotlin-placement "Activity theme" section.
  • Components create their own ViewModels internally — do NOT try to create or inject ViewModels manually
  • Use setUser(user) or setGroup(group) to configure messaging components — they need a target to load messages
  • For bubble customization, use setBubbleFactories() and set*ViewProvider() — see cometchat-android-v6-kotlin-customization

Related skills

Mobile Developmentfrontendintegrations

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.