From 5d92fb1cc4f36a2296ec1bd5e525e743266c454a Mon Sep 17 00:00:00 2001 From: Cody Henthorne Date: Tue, 10 Mar 2026 15:10:27 -0400 Subject: [PATCH] Apply body text max length in V2 conversation item to prevent ANR. --- .../v2/items/V2ConversationItemTextOnlyViewHolder.kt | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/items/V2ConversationItemTextOnlyViewHolder.kt b/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/items/V2ConversationItemTextOnlyViewHolder.kt index 14ff93fd03..f682517bca 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/items/V2ConversationItemTextOnlyViewHolder.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/items/V2ConversationItemTextOnlyViewHolder.kt @@ -49,6 +49,7 @@ import org.thoughtcrime.securesms.recipients.Recipient import org.thoughtcrime.securesms.recipients.RecipientId import org.thoughtcrime.securesms.util.InterceptableLongClickCopyLinkSpan import org.thoughtcrime.securesms.util.LongClickMovementMethod +import org.thoughtcrime.securesms.util.MAX_BODY_DISPLAY_LENGTH import org.thoughtcrime.securesms.util.PlaceholderURLSpan import org.thoughtcrime.securesms.util.Projection import org.thoughtcrime.securesms.util.ProjectionList @@ -417,8 +418,11 @@ open class V2ConversationItemTextOnlyViewHolder>( styledText = SearchUtil.getHighlightedSpan(Locale.getDefault(), STYLE_FACTORY, styledText, conversationContext.searchQuery, SearchUtil.MATCH_ALL) if (record.hasExtraText()) { binding.body.setOverflowText(getLongMessageSpan()) + val trimmedLength = StringUtil.trim(styledText).length + binding.body.setMaxLength(minOf(MAX_BODY_DISPLAY_LENGTH, trimmedLength - 2)) } else { binding.body.setOverflowText(null) + binding.body.setMaxLength(-1) } if (isContentCondensed()) {