diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/util/MessagePreviewFormatter.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/util/MessagePreviewFormatter.kt index 3e861c35d23..d1d7080d128 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/util/MessagePreviewFormatter.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/util/MessagePreviewFormatter.kt @@ -255,6 +255,7 @@ private class DefaultMessagePreviewFormatter( } val videos = attachments.filter { it.type == AttachmentType.VIDEO } val files = attachments.filter { it.type == AttachmentType.FILE } + val giphy = attachments.filter { it.type == AttachmentType.GIPHY } when { images.isNotEmpty() -> { @@ -290,6 +291,12 @@ private class DefaultMessagePreviewFormatter( ) } + giphy.isNotEmpty() -> { + appendInlineContent(DefaultMessagePreviewIconFactory.GIPHY) + append(SPACE) + append(context.getString(R.string.stream_compose_giphy_preview)) + } + links.isNotEmpty() -> { appendInlineContent(DefaultMessagePreviewIconFactory.LINK) append(SPACE) diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/util/MessagePreviewIconFactory.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/util/MessagePreviewIconFactory.kt index a0372820cc0..aac36a3fc76 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/util/MessagePreviewIconFactory.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/util/MessagePreviewIconFactory.kt @@ -63,6 +63,7 @@ internal class DefaultMessagePreviewIconFactory : MessagePreviewIconFactory { internal const val LOCATION = "location" internal const val POLL = "poll" internal const val DELETED = "deleted" + internal const val GIPHY = "giphy" } @Suppress("LongMethod") @@ -106,6 +107,14 @@ internal class DefaultMessagePreviewIconFactory : MessagePreviewIconFactory { tint = ChatTheme.colors.textSecondary, ) }, + GIPHY to InlineTextContent(placeholder) { + Icon( + modifier = iconModifier, + painter = painterResource(id = R.drawable.stream_compose_ic_giphy), + contentDescription = null, + tint = ChatTheme.colors.textSecondary, + ) + }, LINK to InlineTextContent(placeholder) { Icon( modifier = iconModifier, diff --git a/stream-chat-android-compose/src/main/res/drawable/stream_compose_ic_giphy.xml b/stream-chat-android-compose/src/main/res/drawable/stream_compose_ic_giphy.xml new file mode 100644 index 00000000000..9d8a818667d --- /dev/null +++ b/stream-chat-android-compose/src/main/res/drawable/stream_compose_ic_giphy.xml @@ -0,0 +1,28 @@ + + + + + diff --git a/stream-chat-android-compose/src/main/res/values/strings.xml b/stream-chat-android-compose/src/main/res/values/strings.xml index 8486385edc1..1b1e73648c2 100644 --- a/stream-chat-android-compose/src/main/res/values/strings.xml +++ b/stream-chat-android-compose/src/main/res/values/strings.xml @@ -181,6 +181,7 @@ Photo Video File + Giphy Link Message deleted No messages yet