diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/model/event/TimelineItemEventContentProvider.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/model/event/TimelineItemEventContentProvider.kt index 1663ea292d..0a2a189e56 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/model/event/TimelineItemEventContentProvider.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/model/event/TimelineItemEventContentProvider.kt @@ -33,10 +33,12 @@ class TimelineItemEventContentProvider : PreviewParameterProvider { private fun buildSpanned(text: String) = buildSpannedString { inSpans(StyleSpan(Typeface.BOLD)) { diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/utils/Emoji.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/utils/Emoji.kt index 8780bcd145..1e959ded7b 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/utils/Emoji.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/utils/Emoji.kt @@ -7,15 +7,20 @@ package io.element.android.features.messages.impl.utils +import androidx.compose.runtime.Composable +import androidx.compose.ui.platform.LocalInspectionMode import com.sigpwned.emoji4j.core.Grapheme.Type.EMOJI import com.sigpwned.emoji4j.core.Grapheme.Type.PICTOGRAPHIC import com.sigpwned.emoji4j.core.GraphemeMatchResult import com.sigpwned.emoji4j.core.GraphemeMatcher +import io.element.android.features.messages.impl.timeline.model.event.AN_EMOJI_ONLY_TEXT /** * Returns true if the string consists exclusively of "emoji or pictographic graphemes". */ +@Composable fun String.containsOnlyEmojis(): Boolean { + if (LocalInspectionMode.current) return this == AN_EMOJI_ONLY_TEXT if (isEmpty()) return false val matcher = GraphemeMatcher(this)