Providers and renderers are the extension points that control what is drawn, as opposed to formatters which control what text is displayed. A provider maps an input data object to a visual output — aDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/sceyt/sceyt-chat-android-uikit/llms.txt
Use this file to discover all available pages before exploring further.
Drawable, a color integer, or a string label — while a renderer takes full ownership of painting an avatar view for a given data object. Both are fully replaceable on SceytChatUIKit.providers and SceytChatUIKit.renderers, giving you fine-grained control over icons, avatar fallbacks, presence indicators, and more.
Core Interfaces
VisualProvider<From, To>
A provider maps a typed input to a typed visual output through a Context:
context— AndroidContextfor resolving drawables, colors, or dimensions.from— the input data (a user, attachment, presence state, etc.).- Returns — the visual output, commonly
Drawable?,Int(color), orString.
AvatarRenderer<T>
A renderer takes full control of populating an AvatarView with content:
from— the data object (e.g.,SceytChannelorSceytUser).style— theAvatarStyleresolved for this avatar (size, corner radius, border color, etc.).avatarView— the targetAvatarViewto populate. Use itsappearanceBuilder()API to set the image URL, default avatar, and other properties.
SceytChatUIKit.providers
The SceytChatUIKit.providers property holds a mutable SceytChatUIKitProviders instance. Replace any property to change the default behavior. Assignments should be made in Application.onCreate() before any UI is inflated.
Provider Reference
Returns the icon shown on the message type badge (e.g., file, image, voice). Default:
DefaultMessageTypeIconProvider.Returns the icon shown for a file attachment in the message bubble. Default:
DefaultAttachmentIconProvider.Returns the icon shown for an attachment in the channel list subtitle row. Default:
DefaultChannelListAttachmentIconProvider.Returns the validation message string for a channel URI field, keyed by validation result type. Default:
DefaultChannelURIValidationMessageProvider.Returns the fallback drawable for a user with no profile photo. Receives the full
SceytUser object so the fallback can react to UserState (e.g., a “deleted user” icon). Default: DefaultUserAvatarProvider.Returns a
@ColorInt for the sender name label displayed above incoming messages in group channels. Default: DefaultSenderNameColorProvider.This property is
val in the source — override only via subclassing DefaultSenderNameColorProvider and reassigning the field.Returns a
@ColorInt for the presence indicator dot. Receives PresenceState (Online, Away, etc.). Default: DefaultPresenceStateColorProvider.Returns a human-readable label for a message marker type (e.g., “Delivered”, “Read”). Default:
DefaultMarkerTitleProvider.Replacing userDefaultAvatarProvider
The default provider returns R.drawable.sceyt_ic_default_avatar for active/inactive users and R.drawable.sceyt_ic_deleted_user for deleted users. Replace it to use your own placeholders:
Replacing presenceStateColorProvider
SceytChatUIKit.renderers
The SceytChatUIKit.renderers property holds a mutable SceytChatUIKitRenderers instance. Replacing a renderer gives you complete control over how a specific avatar slot is drawn.
Renderer Reference
Renders avatar images for channels in the channel list, thread headers, and channel info. Handles direct messages (uses peer user’s avatar), self-channel (notes icon), and group channels (uses
iconUrl or initials fallback). Default: DefaultChannelAvatarRenderer.Renders avatar images for users in member lists, message senders, and search results. Default:
DefaultUserAvatarRenderer.Renders the avatar in the “Notes to self” channel row and direct message threads. Default:
DefaultUserAndNotesAvatarRenderer.Renders the avatar shown next to each voter in poll results. Receives
VoterAvatarRendererAttributes which bundles the user and any relevant poll context. Default: DefaultVoterAvatarRenderer.Renders the avatar in the
@mention autocomplete suggestion list while the user types. Default: DefaultSuggestionUserAvatarRenderer.Replacing channelAvatarRenderer
Use appearanceBuilder() on the provided AvatarView to set the remote image URL and a local fallback: