From 99d3f9918f3d9abc3c17473f018fcb38fcd93232 Mon Sep 17 00:00:00 2001 From: Cody Henthorne Date: Wed, 17 May 2023 13:35:27 -0400 Subject: [PATCH] Fix crash and bug with ellipsizing 'About' in Settings screen. Fixes #12895 Closes #12905 --- .../securesms/components/emoji/EmojiTextView.java | 4 +++- .../components/settings/app/AppSettingsFragment.kt | 7 ++++++- 2 files changed, 9 insertions(+), 2 deletions(-) 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 90ee60130c..914e43411a 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 @@ -366,7 +366,9 @@ public class EmojiTextView extends AppCompatTextView { newContent.append(getText().subSequence(0, overflowStart).toString()) .append(ellipsized.subSequence(0, ellipsized.length()).toString()); - TextUtils.copySpansFrom(getText(newContent.length() - 1), 0, newContent.length() - 1, Object.class, newContent, 0); + if (newContent.length() > 0) { + TextUtils.copySpansFrom(getText(newContent.length() - 1), 0, newContent.length() - 1, Object.class, newContent, 0); + } newContent.append(Optional.ofNullable(overflowText).orElse("")); diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/AppSettingsFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/AppSettingsFragment.kt index 279a78163b..e487d00c7f 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/AppSettingsFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/AppSettingsFragment.kt @@ -13,6 +13,7 @@ import org.greenrobot.eventbus.ThreadMode import org.thoughtcrime.securesms.R import org.thoughtcrime.securesms.badges.BadgeImageView import org.thoughtcrime.securesms.components.AvatarImageView +import org.thoughtcrime.securesms.components.emoji.EmojiTextView import org.thoughtcrime.securesms.components.reminder.ExpiredBuildReminder import org.thoughtcrime.securesms.components.reminder.Reminder import org.thoughtcrime.securesms.components.reminder.ReminderView @@ -321,10 +322,14 @@ class AppSettingsFragment : DSLSettingsFragment( private class BioPreferenceViewHolder(itemView: View) : PreferenceViewHolder(itemView) { private val avatarView: AvatarImageView = itemView.findViewById(R.id.icon) - private val aboutView: TextView = itemView.findViewById(R.id.about) + private val aboutView: EmojiTextView = itemView.findViewById(R.id.about) private val badgeView: BadgeImageView = itemView.findViewById(R.id.badge) private val qrButton: View = itemView.findViewById(R.id.qr_button) + init { + aboutView.setOverflowText(" ") + } + override fun bind(model: BioPreference) { super.bind(model)