From 1e6b4bce3193a0f8e3b773a28515b9bf00a61e2a Mon Sep 17 00:00:00 2001 From: Darcy Wong Date: Wed, 9 Mar 2022 10:05:21 +0700 Subject: [PATCH] fix(oem/fv/android): Check keyboard exists before registering a model --- .../firstvoices/keyboards/FVKeyboardSettingsActivity.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/oem/firstvoices/android/app/src/main/java/com/firstvoices/keyboards/FVKeyboardSettingsActivity.java b/oem/firstvoices/android/app/src/main/java/com/firstvoices/keyboards/FVKeyboardSettingsActivity.java index 7942d881f3..6b844f0fd5 100644 --- a/oem/firstvoices/android/app/src/main/java/com/firstvoices/keyboards/FVKeyboardSettingsActivity.java +++ b/oem/firstvoices/android/app/src/main/java/com/firstvoices/keyboards/FVKeyboardSettingsActivity.java @@ -22,6 +22,7 @@ import com.tavultesoft.kmea.cloud.CloudDownloadMgr; import com.tavultesoft.kmea.cloud.impl.CloudLexicalModelMetaDataDownloadCallback; import com.tavultesoft.kmea.data.CloudRepository; import com.tavultesoft.kmea.data.Dataset; +import com.tavultesoft.kmea.data.Keyboard; import com.tavultesoft.kmea.data.KeyboardController; import com.tavultesoft.kmea.util.BCP47; import com.tavultesoft.kmea.util.KMLog; @@ -88,8 +89,8 @@ public final class FVKeyboardSettingsActivity extends AppCompatActivity { } // If the active keyboard is for this language, immediately enact the new pref setting. - String kbdLgCode = KMManager.getCurrentKeyboardInfo(context).getLanguageID(); - if (BCP47.languageEquals(kbdLgCode, lgCode)) { + Keyboard currentKeyboard = KMManager.getCurrentKeyboardInfo(context); + if (currentKeyboard != null && BCP47.languageEquals(currentKeyboard.getLanguageID(), lgCode)) { // Not only registers the model but also applies our modeling preferences. KMManager.registerAssociatedLexicalModel(lgCode); }