ChatTheme
Our theme that provides all the important properties for styling to the user.
Parameters
If we're currently in the dark mode or not. Affects only the default color palette that's provided. If you customize colors, make sure to add your own logic for dark/light colors.
Whether messages auto translation is enabled or not.
Whether the option to show the original translation is enabled or not.
Whether the composer link preview is enabled or not.
Flag that determines which attachment picker should be used. If true, the system attachments picker which doesn't use storage permissions will be used. If false, the default attachments picker which requires storage permissions will be used.
Configuration for the system attachments picker.
The set of colors we provide, wrapped in StreamColors.
The set of dimens we provide, wrapped in StreamDimens.
The set of typography styles we provide, wrapped in StreamTypography.
The set of shapes we provide, wrapped in StreamShapes.
Defines the appearance for ripples.
The user presence display configuration.
Provide to customize the stateless components that are used throughout the UI
Attachment factories that we provide.
Attachment preview handlers we provide.
Quoted attachment factories that we provide.
Used to create an icon Painter for the given reaction type.
Used to create an emoji code for a given reaction type (used for push notifications).
ReactionOptionsTheme Theme for the reaction option list in the selected message menu. For theming the message option list in the same menu, use messageOptionsTheme.
Used to create a preview icon for the given message type.
Allow to simulate ui automation with given test tags.
DateFormatter Used throughout the app for date and time information.
TimeProvider Used throughout the app for time information.
DurationFormatter Used to format durations in the app.
ChannelNameFormatter Used throughout the app for channel names.
MessagePreviewFormatter Used to generate a string preview for the given message.
A factory that creates new Coil ImageLoader instances. If used in combination with asyncImageHeadersProvider you must override the StreamCoilImageLoaderFactory.imageLoader method accepting the interceptors parameter.
ImageAssetTransformer Used to transform image assets.
ImageHeadersProvider Deprecated. Use asyncImageHeadersProvider instead. Headers provided here are injected synchronously on the main thread, which blocks the UI for any non-trivial work.
AsyncImageHeadersProvider Used to provide headers for image requests. Invoked on IO Dispatcher inside Coil's interceptor pipeline, making it safe for blocking or suspending operations such as reading an auth token. Prefer this over imageHeadersProvider. If you are using this in combination with a custom StreamCoilImageLoaderFactory you must override the StreamCoilImageLoaderFactory.imageLoader method accepting the interceptors parameter.
DownloadAttachmentUriGenerator Used to generate download URIs for attachments.
DownloadRequestInterceptor Used to intercept download requests.
MessageAlignmentProvider Used to provide message alignment for the given message.
MessageOptionsTheme Theme for the message option list in the selected message menu. For theming the reaction option list in the same menu, use reactionOptionsTheme.
Alignment of the user reaction inside the message options.
Attachments picker tab factories that we provide.
Dictates whether video thumbnails will be displayed inside video previews.
Sets the strategy for resizing images hosted on Stream's CDN. Disabled by default, set StreamCdnImageResizing.imageResizingEnabled to true if you wish to enable resizing images. Note that resizing applies only to images hosted on Stream's CDN which contain the original height (oh) and width (ow) query parameters.
Theme of the current user messages.
Theme of the other users messages.
Theme of the message date separator.
Theme of the message unread separator.
Theme of the message composer.
Theme of the attachment picker.
Used for recording audio messages.
Configuration for different keyboard behaviours.
Configuration for the media gallery screen.
The content shown within the theme wrapper.