Files
tai/research/tui-framework-design/telegram-android-dialog-cell.md
T
2026-10-12 00:53:52 +02:00

2.6 KiB

Telegram Android DialogCell — chat-list row rendering

Metadata

Field Value
Institute Molodetz Institute — Research & Retrieval Division
Subject tui-framework-design
Document type Source Dossier
Tier 1
Source title DialogCell.java (Telegram Android chat-list row cell)
Source URL https://raw.githubusercontent.com/DrKLO/Telegram/master/TMessagesProj/src/main/java/org/telegram/ui/Cells/DialogCell.java
Source publisher / author Telegram (DrKLO/Telegram, official Android client)
Source type repository
Source date (published) Unknown — not stated
Date researched 2026-10-11
Researched by tai (agent), model: Muse Spark, on behalf of retoor
Research method direct page fetch
Confidence High
Status Active

Summary

The actual Android implementation of a chat-list row: circular avatar, bold name with time at right, second-line snippet with sender/service prefixes and own-message checks or clock, unread pill with pin/mute overlays, red Draft: prefix, and typing status rendered in action blue over the snippet.

Key findings

  • Circular avatar with radius 26dp; bold chat name on the left, time on the right.
  • Second line is a snippet with group-sender or service-message prefixes; own latest message is preceded by its checks or clock icon.
  • Unread count renders as a pill at the right; the pin icon replaces or overlaps the count area; a mute (bell-off) icon sits after the name.
  • Typing or voice-recording status replaces the snippet in action blue (key_chats_actionMessage).
  • Unsent draft text is prefixed with Draft: in red (key_chats_draft).

Pros / strengths

  • Real shipped implementation, not a design mock: every element's presence and relative placement is ground truth for Android.
  • Theme-key references (key_chats_actionMessage, key_chats_draft) tie each element to the theming system.

Cons / limitations / caveats

  • Android only; Desktop and iOS row geometry was not verified against this class.
  • Chat-list time/date formatting rules and snippet truncation logic were not captured from this source (open gap).
  • One class of a large client: surrounding list behavior (grouping, archives, folders) was not mined.

Relevance to tai

The element inventory for tai's sidebar rows: avatar slot, name plus time, snippet with status prefixes, unread pill, pin/mute markers, draft-red and typing-blue overrides — the rich-row target tai's plain-name list must grow into.

Changelog

Date Change
2026-10-11 Initial dossier created.