@@ -787,6 +787,11 @@ class PersistentEmojiState : PersistentActionState {
787
787
if (loadedTranslations.contains(language)) return
788
788
loadedTranslations.put(language, EmojiTranslations (hashMapOf()))
789
789
790
+ if (language == " en" ) {
791
+ // Shortcuts are sourced from gemoji
792
+ GlobalScope .launch(Dispatchers .IO ) { loadEmojis(context) }
793
+ }
794
+
790
795
GlobalScope .launch(Dispatchers .IO ) {
791
796
val inputStream = GZIPInputStream (context.resources.openRawResource(R .raw.emoji_i18n))
792
797
@@ -832,7 +837,7 @@ class PersistentEmojiState : PersistentActionState {
832
837
}
833
838
}.reversed().toMap()
834
839
835
- loadedTranslatedShortcuts.put(language, aliases)
840
+ if (language != " en " ) loadedTranslatedShortcuts.put(language, aliases)
836
841
}
837
842
}
838
843
@@ -852,7 +857,8 @@ class PersistentEmojiState : PersistentActionState {
852
857
.toList()
853
858
854
859
val englishShortcuts = hashMapOf<String , String >()
855
- val englishTranslations = hashMapOf<String , EmojiNames >()
860
+ val englishLooseShortcuts = hashMapOf<String , String >()
861
+ // val englishTranslations = hashMapOf<String, EmojiNames>()
856
862
857
863
emojis.value = (emojiData + supplementalEmoteData).mapNotNull {
858
864
val emoji = it.jsonObject[" emoji" ]!! .jsonPrimitive.content
@@ -869,12 +875,10 @@ class PersistentEmojiState : PersistentActionState {
869
875
if (! supported) {
870
876
null
871
877
} else {
872
- englishTranslations.put(emoji, EmojiNames ((tags + aliases)
873
- .flatMap { listOf (it) + it.split(" _" ) }
874
- .toSet().toList()))
878
+ // englishTranslations.put(emoji, EmojiNames((tags + aliases)
879
+ // .flatMap { listOf(it) + it.split("_") }
880
+ // .toSet().toList()))
875
881
876
- // Add absolute alias matches first (e.g. "joy") and only later put first-word
877
- // tag/alias matches (e.g. "joy_cat")
878
882
aliases.forEach { x ->
879
883
if (! englishShortcuts.containsKey(x)) {
880
884
englishShortcuts.put(x, emoji)
@@ -883,8 +887,8 @@ class PersistentEmojiState : PersistentActionState {
883
887
884
888
(tags + aliases).forEach { x ->
885
889
val v = x.split(" _" ).first()
886
- if (! englishShortcuts .containsKey(v)) {
887
- englishShortcuts .put(v, emoji)
890
+ if (! englishLooseShortcuts .containsKey(v)) {
891
+ englishLooseShortcuts .put(v, emoji)
888
892
}
889
893
}
890
894
@@ -905,6 +909,12 @@ class PersistentEmojiState : PersistentActionState {
905
909
put(it.emoji, it)
906
910
}
907
911
}
912
+
913
+ loadedTranslatedShortcuts[" en" ] = englishShortcuts.apply {
914
+ englishLooseShortcuts.forEach {
915
+ if (! containsKey(it.key)) put(it.key, it.value)
916
+ }
917
+ }
908
918
}
909
919
}
910
920
}
0 commit comments