cometchat-android-v6-kotlin-placement
Ground truth: catalog
android-v6.json+contracts.android-v6.json(core-chat-surface,chat-experience) + the live recipes (conversation-message-view,tab-based-chat,one-to-one-chat). Signatures below were verified against the INSTALLED 6.0.5 source. Fetch anything else from docs (core→references/docs-map.md).⚠️ Kotlin XML Views cohort. Screens are Activities/Fragments hosting kit Views. The Compose cohort (NavHost + composables) is a separate skill.
Companion skills (read first)
cometchat-android-v6-core— install, credentials,initFromSettings → login → render, andreferences/layout.md(the ONE sizing standard). Sizing rules live THERE; this skill places screens.cometchat-android-v6-kotlin-components— what exists in this cohort.
Use this skill when
"put chat behind a tab", "build the full chat app", "open a chat screen for this user/group", "embed the conversation list in an existing screen", "how should I navigate between the list and the messages".
Prerequisites & install
Same kit + initFromSettings → login gate as core — no chat Activity is started before login resolves. Every Activity below must be lifecycle-aware (AppCompatActivity/ComponentActivity/FragmentActivity) — the kit hooks lifecycle events — and registered in AndroidManifest.xml.
The rule that governs every layout: one screen per Activity
Android composes by navigation, not by side-by-side panes. The list, the message screen, the thread and search are separate destinations with a real back stack. Never build a web-style two-pane split or a "side panel" on a phone.
Placement 1 — conversations → messages (the default)
The core-chat-surface contract. core carries the full code; the structure: