From 9a67c60b4e3c255c3699e2947f69e5cc55a4a11c Mon Sep 17 00:00:00 2001 From: Lucio Maciel Date: Tue, 17 Aug 2021 20:04:59 -0300 Subject: [PATCH] Don't inline jumbomoji timestamps. --- .../securesms/components/emoji/EmojiTextView.java | 9 +++++++-- .../securesms/conversation/ConversationItem.java | 1 + 2 files changed, 8 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 a0d8757cdb..7134d55e90 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 @@ -1,6 +1,5 @@ package org.thoughtcrime.securesms.components.emoji; -import android.annotation.SuppressLint; import android.content.Context; import android.content.res.TypedArray; import android.graphics.Canvas; @@ -23,7 +22,6 @@ import androidx.appcompat.widget.AppCompatTextView; import androidx.core.content.ContextCompat; import androidx.core.widget.TextViewCompat; -import org.signal.core.util.logging.Log; import org.thoughtcrime.securesms.R; import org.thoughtcrime.securesms.components.emoji.parsing.EmojiParser; import org.thoughtcrime.securesms.components.mention.MentionAnnotation; @@ -54,6 +52,7 @@ public class EmojiTextView extends AppCompatTextView { private boolean measureLastLine; private int lastLineWidth = -1; private TextDirectionHeuristic textDirection; + private boolean isJumbomoji; private MentionRendererDelegate mentionRendererDelegate; @@ -114,8 +113,10 @@ public class EmojiTextView extends AppCompatTextView { if (emojis <= 4) scale += 0.25f; if (emojis <= 2) scale += 0.25f; + isJumbomoji = scale > 1.0f; super.setTextSize(TypedValue.COMPLEX_UNIT_PX, originalFontSize * scale); } else if (scaleEmojis) { + isJumbomoji = false; super.setTextSize(TypedValue.COMPLEX_UNIT_PX, originalFontSize); } @@ -178,6 +179,10 @@ public class EmojiTextView extends AppCompatTextView { return getLayout() != null && getLayout().getLineCount() == 1; } + public boolean isJumbomoji() { + return isJumbomoji; + } + public void setOverflowText(@Nullable CharSequence overflowText) { this.overflowText = overflowText; setText(previousText, BufferType.SPANNABLE); diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationItem.java b/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationItem.java index 59098c964c..99ef9ca21d 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationItem.java +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationItem.java @@ -394,6 +394,7 @@ public final class ConversationItem extends RelativeLayout implements BindableCo !isViewOnceMessage(messageRecord) && !hasAudio(messageRecord) && isFooterVisible(messageRecord, nextMessageRecord, groupThread) && + !bodyText.isJumbomoji() && bodyText.getLastLineWidth() > 0) { TextView dateView = footer.getDateView();