From b55df9e18615e24e0051abf32baf583dbf0dbfdc Mon Sep 17 00:00:00 2001 From: Jake McGinty Date: Mon, 21 Sep 2015 12:02:34 -0700 Subject: [PATCH] don't cache preference for emoji Closes #4098 // FREEBIE --- .../securesms/components/emoji/EmojiTextView.java | 12 +++++++----- .../preferences/AdvancedPreferenceFragment.java | 1 - 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/src/org/thoughtcrime/securesms/components/emoji/EmojiTextView.java b/src/org/thoughtcrime/securesms/components/emoji/EmojiTextView.java index 8f56e37357..31c2972206 100644 --- a/src/org/thoughtcrime/securesms/components/emoji/EmojiTextView.java +++ b/src/org/thoughtcrime/securesms/components/emoji/EmojiTextView.java @@ -17,7 +17,6 @@ import org.thoughtcrime.securesms.util.ViewUtil; public class EmojiTextView extends AppCompatTextView { private CharSequence source; private boolean needsEllipsizing; - private boolean useSystemEmoji; public EmojiTextView(Context context) { this(context, null); @@ -29,11 +28,10 @@ public class EmojiTextView extends AppCompatTextView { public EmojiTextView(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); - this.useSystemEmoji = TextSecurePreferences.isSystemEmojiPreferred(getContext()); } @Override public void setText(@Nullable CharSequence text, BufferType type) { - if (useSystemEmoji) { + if (useSystemEmoji()) { super.setText(text, type); return; } @@ -42,6 +40,10 @@ public class EmojiTextView extends AppCompatTextView { setTextEllipsized(source); } + private boolean useSystemEmoji() { + return TextSecurePreferences.isSystemEmojiPreferred(getContext()); + } + private void setTextEllipsized(final @Nullable CharSequence source) { super.setText(needsEllipsizing ? ViewUtil.ellipsize(source, this) : source, BufferType.SPANNABLE); } @@ -54,7 +56,7 @@ public class EmojiTextView extends AppCompatTextView { @Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { final int size = MeasureSpec.getSize(widthMeasureSpec); final int mode = MeasureSpec.getMode(widthMeasureSpec); - if (!useSystemEmoji && + if (!useSystemEmoji() && getEllipsize() == TruncateAt.END && !TextUtils.isEmpty(source) && (mode == MeasureSpec.AT_MOST || mode == MeasureSpec.EXACTLY) && @@ -71,7 +73,7 @@ public class EmojiTextView extends AppCompatTextView { } @Override protected void onLayout(boolean changed, int left, int top, int right, int bottom) { - if (changed && !useSystemEmoji) setTextEllipsized(source); + if (changed && !useSystemEmoji()) setTextEllipsized(source); super.onLayout(changed, left, top, right, bottom); } } diff --git a/src/org/thoughtcrime/securesms/preferences/AdvancedPreferenceFragment.java b/src/org/thoughtcrime/securesms/preferences/AdvancedPreferenceFragment.java index f8412447cb..684df211c7 100644 --- a/src/org/thoughtcrime/securesms/preferences/AdvancedPreferenceFragment.java +++ b/src/org/thoughtcrime/securesms/preferences/AdvancedPreferenceFragment.java @@ -40,7 +40,6 @@ public class AdvancedPreferenceFragment extends PreferenceFragment { private static final String PUSH_MESSAGING_PREF = "pref_toggle_push_messaging"; private static final String SUBMIT_DEBUG_LOG_PREF = "pref_submit_debug_logs"; - private static final String SYSTEM_EMOJI_PREF = TextSecurePreferences.SYSTEM_EMOJI_PREF; private static final int PICK_IDENTITY_CONTACT = 1;