Package-level declarations

Types

Link copied to clipboard

Data class that holds information about a giphy attachment click event.

Link copied to clipboard

Data class that holds information about a link attachment click event.

Link copied to clipboard

Data class that holds all the information required to handle media attachment clicks.

Functions

Link copied to clipboard
fun AudioRecordAttachmentContent(modifier: Modifier = Modifier, attachmentState: AttachmentState, viewModelFactory: AudioPlayerViewModelFactory, getCurrentUserId: () -> String? = { null })

Represents the audio recording attachment content.

fun AudioRecordAttachmentContent(modifier: Modifier = Modifier, attachment: Attachment, playerState: AudioPlayerState, onPlayToggleClick: (Attachment) -> Unit, onPlaySpeedClick: (Attachment) -> Unit, onScrubberDragStart: (Attachment) -> Unit = {}, onScrubberDragStop: (Attachment, Float) -> Unit = { _, _ -> })

Represents the audio recording attachment content item.

Link copied to clipboard
fun AudioRecordAttachmentContentItem(modifier: Modifier = Modifier, attachment: Attachment, playerState: AudioPlayerState, isMine: Boolean = false, onPlayToggleClick: (Attachment) -> Unit = {}, onPlaySpeedClick: (Attachment) -> Unit = {}, onThumbDragStart: (Attachment) -> Unit = {}, onThumbDragStop: (Attachment, Float) -> Unit = { _, _ -> })

Represents the audio recording attachment content item.

Link copied to clipboard
fun AudioRecordAttachmentPreviewContent(attachments: List<Attachment>, onAttachmentRemoved: (Attachment) -> Unit, modifier: Modifier = Modifier, viewModelFactory: AudioPlayerViewModelFactory)
Link copied to clipboard
fun AudioRecordAttachmentPreviewContentItem(modifier: Modifier = Modifier, attachment: Attachment, playerState: AudioPlayerState, onPlayToggleClick: (Attachment) -> Unit = {}, onThumbDragStart: (Attachment) -> Unit = {}, onThumbDragStop: (Attachment, Float) -> Unit = { _, _ -> }, onAttachmentRemoved: (Attachment) -> Unit = {})

Represents fallback content for unsupported attachments.

Link copied to clipboard
fun AudioRecordAttachmentQuotedContent(attachment: Attachment, modifier: Modifier = Modifier)

Builds an audio record attachment quoted message which shows a single audio in the attachments list.

Link copied to clipboard
fun AudioRecordGroupContent(modifier: Modifier = Modifier, attachmentState: AttachmentState, viewModelFactory: AudioPlayerViewModelFactory)

Represents the audio recording attachment content.

Link copied to clipboard
fun FileAttachmentContent(attachmentState: AttachmentState, modifier: Modifier = Modifier, showFileSize: (Attachment) -> Boolean = { true }, onItemClick: (previewHandlers: List<AttachmentPreviewHandler>, attachment: Attachment) -> Unit = ::onFileAttachmentContentItemClick)

Builds a file attachment message which shows a list of files.

Link copied to clipboard

Represents the image that's shown in file attachments. This can be either an image/icon that represents the file type or a thumbnail in case the file type is an image.

Link copied to clipboard
fun FileAttachmentItem(attachment: Attachment, isMine: Boolean, showFileSize: (Attachment) -> Boolean, modifier: Modifier = Modifier)

Represents each file item in the list of file attachments.

Link copied to clipboard
fun FileAttachmentPreviewContent(attachments: List<Attachment>, onAttachmentRemoved: (Attachment) -> Unit, modifier: Modifier = Modifier)

UI for currently selected file attachments, within the MessageInput.

Link copied to clipboard
fun FileAttachmentQuotedContent(attachment: Attachment, modifier: Modifier = Modifier)

Builds a file attachment quoted message which shows a single file in the attachments list.

Link copied to clipboard
fun FileUploadContent(attachmentState: AttachmentState, modifier: Modifier = Modifier, onItemClick: (Attachment, List<AttachmentPreviewHandler>) -> Unit = ::onFileUploadContentItemClick)

Represents the content when files are being uploaded.

Link copied to clipboard
fun FileUploadItem(attachment: Attachment, modifier: Modifier = Modifier)

Represents each uploading item, with its upload progress.

Link copied to clipboard
fun GiphyAttachmentContent(state: AttachmentState, modifier: Modifier = Modifier, giphyInfoType: GiphyInfoType = GiphyInfoType.ORIGINAL, giphySizingMode: GiphySizingMode = GiphySizingMode.ADAPTIVE, contentScale: ContentScale = ContentScale.Crop, onItemClick: (GiphyAttachmentClickData) -> Unit = { onGiphyAttachmentContentClick(it.context, it.url) })
fun GiphyAttachmentContent(attachmentState: AttachmentState, modifier: Modifier = Modifier, giphyInfoType: GiphyInfoType = GiphyInfoType.ORIGINAL, giphySizingMode: GiphySizingMode = GiphySizingMode.ADAPTIVE, contentScale: ContentScale = ContentScale.Crop, onItemClick: (context: Context, previewUrl: String) -> Unit = ::onGiphyAttachmentContentClick)

Builds a Giphy attachment message.

Link copied to clipboard
fun ImageAttachmentPreviewContent(attachments: List<Attachment>, onAttachmentRemoved: (Attachment) -> Unit, modifier: Modifier = Modifier)

UI for currently selected image attachments, within the MessageInput.

Link copied to clipboard
fun LinkAttachmentContent(state: AttachmentState, linkDescriptionMaxLines: Int, modifier: Modifier = Modifier, onItemClick: (LinkAttachmentClickData) -> Unit = { onLinkAttachmentContentClick(it.context, it.url) })
fun LinkAttachmentContent(attachmentState: AttachmentState, linkDescriptionMaxLines: Int, modifier: Modifier = Modifier, onItemClick: (context: Context, url: String) -> Unit)

Builds a link attachment message, which shows the link image preview, the title of the link as well as its description.

Link copied to clipboard
fun MediaAttachmentContent(state: AttachmentState, modifier: Modifier = Modifier, maximumNumberOfPreviewedItems: Int = 4, skipEnrichUrl: Boolean = false, onItemClick: (MediaAttachmentClickData) -> Unit = { onMediaAttachmentContentItemClick( it.mediaGalleryPreviewLauncher, it.message, it.attachmentPosition, it.videoThumbnailsEnabled, it.downloadAttachmentUriGenerator, it.downloadRequestInterceptor, it.streamCdnImageResizing, it.skipEnrichUrl, ) }, itemOverlayContent: @Composable (attachmentType: String?) -> Unit = { attachmentType -> if (attachmentType == AttachmentType.VIDEO) { PlayButton() } })
fun MediaAttachmentContent(attachmentState: AttachmentState, modifier: Modifier = Modifier, maximumNumberOfPreviewedItems: Int = 4, skipEnrichUrl: Boolean = false, onItemClick: (mediaGalleryPreviewLauncher: ManagedActivityResultLauncher<MediaGalleryPreviewContract.Input, MediaGalleryPreviewResult?>, message: Message, attachmentPosition: Int, videoThumbnailsEnabled: Boolean, downloadAttachmentUriGenerator: DownloadAttachmentUriGenerator, downloadRequestInterceptor: DownloadRequestInterceptor, streamCdnImageResizing: StreamCdnImageResizing, skipEnrichUrl: Boolean) -> Unit = ::onMediaAttachmentContentItemClick, itemOverlayContent: @Composable (attachmentType: String?) -> Unit = { attachmentType -> if (attachmentType == AttachmentType.VIDEO) { PlayButton() } })

Displays a preview of single or multiple video or attachments.

Link copied to clipboard
fun MediaAttachmentPreviewContent(attachments: List<Attachment>, onAttachmentRemoved: (Attachment) -> Unit, modifier: Modifier = Modifier, previewItemOverlayContent: @Composable (attachmentType: String?) -> Unit = { attachmentType -> if (attachmentType == AttachmentType.VIDEO) { DefaultPreviewItemOverlayContent() } })

UI for currently selected image and video attachments, within the MessageInput.

Link copied to clipboard
fun MediaAttachmentQuotedContent(attachment: Attachment, modifier: Modifier = Modifier)

Builds an image attachment for a quoted message which is composed from a singe attachment previewing the attached image, link preview or giphy.

Link copied to clipboard
fun MessageAttachmentsContent(message: Message, currentUser: User?, onLongItemClick: (Message) -> Unit, onMediaGalleryPreviewResult: (MediaGalleryPreviewResult?) -> Unit = {})

Represents the content that's shown in message attachments. We decide if we need to show link previews or other attachments.

Link copied to clipboard
fun QuotedMessageAttachmentContent(message: Message, currentUser: User?, onLongItemClick: (Message) -> Unit, modifier: Modifier = Modifier, onMediaGalleryPreviewResult: (MediaGalleryPreviewResult?) -> Unit = {})

Represents the content that's shown in a quoted message if the attachments are not empty.

Link copied to clipboard

Represents fallback content for unsupported attachments.