My application uses EmojiCompat with font download (not included), and a large number of my users report the following error:
Non-fatal Exception: java.lang.RuntimeException: fetchFonts result is not OK. (2)
at android.support.text.emoji.FontRequestEmojiCompatConfig$FontRequestMetadataLoader.createMetadata(FontRequestEmojiCompatConfig.java:307)
at android.support.text.emoji.FontRequestEmojiCompatConfig$FontRequestMetadataLoader.access$100(FontRequestEmojiCompatConfig.java:164)
at android.support.text.emoji.FontRequestEmojiCompatConfig$FontRequestMetadataLoader$1.run(FontRequestEmojiCompatConfig.java:218)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:158)
at android.os.HandlerThread.run(HandlerThread.java:61)
I could not find links to this error message, and I have no idea what causes it. I assume this is an internal issue when downloading Google Play Services fonts.
Edit in 2017-11-13: still happening in support library 27.0.0.
Edit in 2017-11-15: My configuration.
In my Application class on onCreate ():
val fontRequest = FontRequest(
"com.google.android.gms.fonts",
"com.google.android.gms",
"Noto Color Emoji Compat",
R.array.com_google_android_gms_fonts_certs)
val config = FontRequestEmojiCompatConfig(this, fontRequest)
config.setReplaceAll(true)
EmojiCompat.init(config)
Text Analysis with Emoji:
EmojiCompat.get().registerInitCallback(object : EmojiCompat.InitCallback() {
override fun onInitialized() {
text = EmojiCompat.get().process(charSequence)
}
override fun onFailed(throwable: Throwable?) {
throwable?.let { Crashlytics.logException(throwable) }
}
})
The above exception is logged in Crashlytics.logException ()
source
share