Merge pull request #6346 from keymanapp/fix/fv/android/prediction-toggle-crash

fix(oem/fv/android): Check keyboard exists before registering a model
This commit is contained in:
Darcy Wong 2022-03-10 07:29:29 +07:00 committed by GitHub
commit e0992a49fa
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -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);
}