From 7e4396ae3f9f2bba67bf33c1300dd11a76480df4 Mon Sep 17 00:00:00 2001 From: Greyson Parrelli Date: Mon, 26 Jul 2021 08:56:20 -0400 Subject: [PATCH] Use custom emoji for avatars. --- .../thoughtcrime/securesms/avatar/TextAvatarDrawable.kt | 1 + .../securesms/components/emoji/EmojiTextView.java | 9 ++++++++- app/src/main/res/layout/avatar_picker_fragment.xml | 1 + app/src/main/res/layout/avatar_picker_item.xml | 3 ++- ..._avatar_creation_fragment_content_hidden_recycler.xml | 1 + 5 files changed, 13 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/avatar/TextAvatarDrawable.kt b/app/src/main/java/org/thoughtcrime/securesms/avatar/TextAvatarDrawable.kt index 07bbcf3e834..d41e010b561 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/avatar/TextAvatarDrawable.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/avatar/TextAvatarDrawable.kt @@ -30,6 +30,7 @@ class TextAvatarDrawable( textView.text = avatar.text textView.gravity = Gravity.CENTER textView.setTextColor(if (inverted) avatar.color.backgroundColor else avatar.color.foregroundColor) + textView.setForceCustomEmoji(true) layout.addView(textView) 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 8449ea88d97..568ac8961c5 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 @@ -33,10 +33,10 @@ public class EmojiTextView extends AppCompatTextView { private final boolean scaleEmojis; - private final boolean forceCustom; private static final char ELLIPSIS = '…'; + private boolean forceCustom; private CharSequence previousText; private BufferType previousBufferType; private float originalFontSize; @@ -144,6 +144,13 @@ public void setOverflowText(@Nullable CharSequence overflowText) { setText(previousText, BufferType.SPANNABLE); } + public void setForceCustomEmoji(boolean forceCustom) { + if (this.forceCustom != forceCustom) { + this.forceCustom = forceCustom; + setText(previousText, BufferType.SPANNABLE); + } + } + private void ellipsizeAnyTextForMaxLength() { if (maxLength > 0 && getText().length() > maxLength + 1) { SpannableStringBuilder newContent = new SpannableStringBuilder(); diff --git a/app/src/main/res/layout/avatar_picker_fragment.xml b/app/src/main/res/layout/avatar_picker_fragment.xml index 14a631aeb3b..195272c40b2 100644 --- a/app/src/main/res/layout/avatar_picker_fragment.xml +++ b/app/src/main/res/layout/avatar_picker_fragment.xml @@ -37,6 +37,7 @@ app:layout_constraintEnd_toEndOf="@id/avatar_picker_item_image" app:layout_constraintStart_toStartOf="@id/avatar_picker_item_image" app:layout_constraintTop_toTopOf="@id/avatar_picker_item_image" + app:emoji_forceCustom="true" tools:ignore="SpUsage" tools:text="AF" /> diff --git a/app/src/main/res/layout/avatar_picker_item.xml b/app/src/main/res/layout/avatar_picker_item.xml index 2c220a635a3..96d4ece635a 100644 --- a/app/src/main/res/layout/avatar_picker_item.xml +++ b/app/src/main/res/layout/avatar_picker_item.xml @@ -22,7 +22,8 @@ android:layout_height="match_parent" android:fontFamily="sans-serif-medium" android:gravity="center" - tools:text="AF" /> + tools:text="AF" + app:emoji_forceCustom="true"/>