From c239d1767b09ea37a4594ef1dcfacd1cf3a3a842 Mon Sep 17 00:00:00 2001 From: Matthieu Baerts Date: Mon, 24 Dec 2018 09:21:50 +0100 Subject: [PATCH] emoji: only the init can be sync I applied @cpfeiffer suggestion, then I saw it was already done :) Here only the init part is set as 'synchronized', very small optimisation but because this change is ready, why not sharing it :) --- .../gadgetbridge/util/EmojiConverter.java | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/util/EmojiConverter.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/util/EmojiConverter.java index c46613246..79dce69dd 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/util/EmojiConverter.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/util/EmojiConverter.java @@ -61,7 +61,7 @@ public class EmojiConverter { {"\u2764", "<3"}, // heart }; - private static boolean isInitialised = false; + private static boolean isEmojiDataInitialised = false; private static String convertSimpleEmojiToAscii(String text) { for (String[] emojiMap : simpleEmojiMapping) { @@ -70,12 +70,16 @@ public class EmojiConverter { return text; } - private static synchronized String convertAdvancedEmojiToAscii(String text, Context context) { + private static synchronized void initEmojiData(Context context) { // Do a lazy initialisation not to slowdown the startup and when it is needed - if (!isInitialised) { + if (!isEmojiDataInitialised) { EmojiManager.initEmojiData(context); - isInitialised = true; + isEmojiDataInitialised = true; } + } + + private static String convertAdvancedEmojiToAscii(String text, Context context) { + initEmojiData(context); return EmojiUtils.shortCodify(text); }