From 2bd81dce8a4a4a10e8c6c10b78203ba872f5b239 Mon Sep 17 00:00:00 2001 From: Constantin A <10349490+C1710@users.noreply.github.com> Date: Sat, 5 May 2018 15:19:46 +0200 Subject: [PATCH] Ability added to replace all emojis when using fallback --- .../filemojicompat/build.gradle | 6 +++--- .../filemojicompat/FileEmojiCompatConfig.java | 19 ++++++++++++++++++- 2 files changed, 21 insertions(+), 4 deletions(-) diff --git a/emojicompat/FileMojiCompat/filemojicompat/build.gradle b/emojicompat/FileMojiCompat/filemojicompat/build.gradle index 4bd4b34be..31742a2de 100644 --- a/emojicompat/FileMojiCompat/filemojicompat/build.gradle +++ b/emojicompat/FileMojiCompat/filemojicompat/build.gradle @@ -18,7 +18,7 @@ ext { libraryDescription = 'An EmojiCompat implementation using files from a local file or a file inside your assets directory' siteUrl = 'https://github.com/c1710/blobmoji' gitUrl = 'https://github.com/c1710/blobmoji.git' - libraryVersion = '1.0.5' + libraryVersion = '1.0.6' developerId = 'c1710' developerName = 'Constantin A.' developerEmail = 'c1710.apps@outlook.com' @@ -33,8 +33,8 @@ android { defaultConfig { minSdkVersion 14 targetSdkVersion 27 - versionCode 5 - versionName "1.0.5" + versionCode 6 + versionName "1.0.6" } diff --git a/emojicompat/FileMojiCompat/filemojicompat/src/main/java/de/c1710/filemojicompat/FileEmojiCompatConfig.java b/emojicompat/FileMojiCompat/filemojicompat/src/main/java/de/c1710/filemojicompat/FileEmojiCompatConfig.java index f531e0cf8..f23338ff4 100644 --- a/emojicompat/FileMojiCompat/filemojicompat/src/main/java/de/c1710/filemojicompat/FileEmojiCompatConfig.java +++ b/emojicompat/FileMojiCompat/filemojicompat/src/main/java/de/c1710/filemojicompat/FileEmojiCompatConfig.java @@ -34,6 +34,7 @@ import java.io.InputStream; import java.util.ArrayList; import java.util.HashMap; import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.locks.ReentrantLock; /** * A simple implementation of EmojiCompat.Config using typeface files. @@ -49,6 +50,10 @@ public class FileEmojiCompatConfig extends EmojiCompat.Config { * This boolean indicates whether the fallback solution is used. */ private boolean fallback; + /** + * Indicates whether all emojis should be replaced when the fallback font is used. + */ + private boolean replaceAllOnFallback = false; /** * Create a new configuration for this EmojiCompat @@ -107,7 +112,19 @@ public class FileEmojiCompatConfig extends EmojiCompat.Config { @Override public FileEmojiCompatConfig setReplaceAll(boolean replaceAll) { - if(!fallback) { + return setReplaceAll(replaceAll, replaceAllOnFallback); + } + + /** + * Replace all emojis + * @param replaceAll Whether all emojis should be replaced + * @param replaceAllOnFallback true if this is supposed to be the case even when using the fallback font. + * Useful if the NoEmojiCompat.ttf is overridden by a "real" EmojiCompat font. + * @return This EmojiCompat.Config + */ + public FileEmojiCompatConfig setReplaceAll(boolean replaceAll, boolean replaceAllOnFallback) { + this.replaceAllOnFallback = replaceAllOnFallback; + if(!fallback || replaceAllOnFallback) { super.setReplaceAll(replaceAll); } else {