Use EmojiCompat.loadState to prevent crash
This commit is contained in:
parent
ae54179976
commit
f3a6480278
1 changed files with 7 additions and 2 deletions
|
@ -79,12 +79,12 @@ class AppUtils {
|
||||||
val split = displayName.uppercase(Locale.getDefault()).split(" ")
|
val split = displayName.uppercase(Locale.getDefault()).split(" ")
|
||||||
var initials = ""
|
var initials = ""
|
||||||
var characters = 0
|
var characters = 0
|
||||||
|
val emoji = emojiCompat
|
||||||
|
|
||||||
for (i in split.indices) {
|
for (i in split.indices) {
|
||||||
if (split[i].isNotEmpty()) {
|
if (split[i].isNotEmpty()) {
|
||||||
try {
|
try {
|
||||||
val emoji = emojiCompat
|
if (emoji?.loadState == EmojiCompat.LOAD_STATE_SUCCEEDED && emoji.hasEmojiGlyph(split[i])) {
|
||||||
if (emoji?.hasEmojiGlyph(split[i]) == true) {
|
|
||||||
val glyph = emoji.process(split[i])
|
val glyph = emoji.process(split[i])
|
||||||
if (characters > 0) { // Limit initial to 1 emoji only
|
if (characters > 0) { // Limit initial to 1 emoji only
|
||||||
Log.d("[App Utils] We limit initials to one emoji only")
|
Log.d("[App Utils] We limit initials to one emoji only")
|
||||||
|
@ -111,6 +111,11 @@ class AppUtils {
|
||||||
val emoji = emojiCompat
|
val emoji = emojiCompat
|
||||||
emoji ?: return false
|
emoji ?: return false
|
||||||
|
|
||||||
|
if (emoji.loadState != EmojiCompat.LOAD_STATE_SUCCEEDED) {
|
||||||
|
Log.w("[App Utils] Can't check emoji presence in text due to EmojiCompat library not loaded yet [${emoji.loadState}]")
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
for (split in text.split(" ")) {
|
for (split in text.split(" ")) {
|
||||||
// We only check the first and last chars of the split for commodity
|
// We only check the first and last chars of the split for commodity
|
||||||
|
|
Loading…
Reference in a new issue