fix(android/engine): Only get keyboard version for cloud/

This commit is contained in:
Darcy Wong 2020-10-22 13:42:23 +07:00
parent 9f3ce40d11
commit e3af12daf7

View file

@ -466,8 +466,13 @@ final class KMKeyboard extends WebView {
}
boolean retVal = true;
String keyboardVersion = KMManager.getLatestKeyboardFileVersion(getContext(), packageID, keyboardID);
if (!KMManager.shouldAllowSetKeyboard() || keyboardVersion == null) {
// keyboardVersion only needed for legacy cloud/ keyboards.
// Otherwise, no need for the JSON overhead of determining the keyboard version from kmp.json
String keyboardVersion = packageID.equals(KMManager.KMDefault_UndefinedPackageID) ?
KMManager.getLatestKeyboardFileVersion(getContext(), packageID, keyboardID) : null;
if (!KMManager.shouldAllowSetKeyboard() ||
(packageID.equals(KMManager.KMDefault_UndefinedPackageID) && keyboardVersion == null)) {
sendError(packageID, keyboardID, languageID);
Keyboard kbInfo = KeyboardController.getInstance().getKeyboardInfo(0);
packageID = kbInfo.getPackageID();
@ -478,13 +483,13 @@ final class KMKeyboard extends WebView {
kFont = kbInfo.getFont();
kOskFont = kbInfo.getOSKFont();
retVal = false;
// Keyboard changed, so determine version again
keyboardVersion = packageID.equals(KMManager.KMDefault_UndefinedPackageID) ?
KMManager.getLatestKeyboardFileVersion(getContext(), packageID, keyboardID) : null;
}
String kbKey = String.format("%s_%s", languageID, keyboardID);
//if (kbKey.equals(currentKeyboard))
// return false;
keyboardVersion = KMManager.getLatestKeyboardFileVersion(getContext(), packageID, keyboardID);
setKeyboardRoot(packageID);
String keyboardPath = makeKeyboardPath(packageID, keyboardID, keyboardVersion);