Fix broken previews

This commit is contained in:
Benoit Marty 2024-10-08 11:23:27 +02:00 committed by Benoit Marty
parent 9b7a9b2183
commit d9627337fc
2 changed files with 8 additions and 1 deletions

View file

@ -33,10 +33,12 @@ class TimelineItemEventContentProvider : PreviewParameterProvider<TimelineItemEv
aTimelineItemTextContent(), aTimelineItemTextContent(),
aTimelineItemUnknownContent(), aTimelineItemUnknownContent(),
aTimelineItemTextContent().copy(isEdited = true), aTimelineItemTextContent().copy(isEdited = true),
aTimelineItemTextContent(body = "😁") aTimelineItemTextContent(body = AN_EMOJI_ONLY_TEXT)
) )
} }
const val AN_EMOJI_ONLY_TEXT = "😁"
class TimelineItemTextBasedContentProvider : PreviewParameterProvider<TimelineItemTextBasedContent> { class TimelineItemTextBasedContentProvider : PreviewParameterProvider<TimelineItemTextBasedContent> {
private fun buildSpanned(text: String) = buildSpannedString { private fun buildSpanned(text: String) = buildSpannedString {
inSpans(StyleSpan(Typeface.BOLD)) { inSpans(StyleSpan(Typeface.BOLD)) {

View file

@ -7,15 +7,20 @@
package io.element.android.features.messages.impl.utils 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.EMOJI
import com.sigpwned.emoji4j.core.Grapheme.Type.PICTOGRAPHIC import com.sigpwned.emoji4j.core.Grapheme.Type.PICTOGRAPHIC
import com.sigpwned.emoji4j.core.GraphemeMatchResult import com.sigpwned.emoji4j.core.GraphemeMatchResult
import com.sigpwned.emoji4j.core.GraphemeMatcher 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". * Returns true if the string consists exclusively of "emoji or pictographic graphemes".
*/ */
@Composable
fun String.containsOnlyEmojis(): Boolean { fun String.containsOnlyEmojis(): Boolean {
if (LocalInspectionMode.current) return this == AN_EMOJI_ONLY_TEXT
if (isEmpty()) return false if (isEmpty()) return false
val matcher = GraphemeMatcher(this) val matcher = GraphemeMatcher(this)