From 8e25719b7b9fb7b7a4496f6ac455f1b78a617c47 Mon Sep 17 00:00:00 2001 From: Rashad Sookram Date: Fri, 18 Feb 2022 12:12:45 -0500 Subject: [PATCH] Fix layout loop while ellipsizing. --- .../thoughtcrime/securesms/components/emoji/EmojiTextView.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/emoji/EmojiTextView.java b/app/src/main/java/org/thoughtcrime/securesms/components/emoji/EmojiTextView.java index 207c07247..c0d126ca5 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/emoji/EmojiTextView.java +++ b/app/src/main/java/org/thoughtcrime/securesms/components/emoji/EmojiTextView.java @@ -283,7 +283,8 @@ public class EmojiTextView extends AppCompatTextView { int lineCount = getLineCount(); if (lineCount > maxLines) { int overflowStart = getLayout().getLineStart(maxLines - 1); - CharSequence overflow = getText().subSequence(overflowStart, getText().length()); + int overflowEnd = getLayout().getLineEnd(maxLines - 1); + CharSequence overflow = getText().subSequence(overflowStart, overflowEnd); float adjust = overflowText != null ? getPaint().measureText(overflowText, 0, overflowText.length()) : 0f; CharSequence ellipsized = TextUtils.ellipsize(overflow, getPaint(), getWidth() - adjust, TextUtils.TruncateAt.END);