diff --git a/android/KMEA/app/src/main/java/com/tavultesoft/kmea/data/CloudRepository.java b/android/KMEA/app/src/main/java/com/tavultesoft/kmea/data/CloudRepository.java index 6fc1febed6..2492ba2136 100644 --- a/android/KMEA/app/src/main/java/com/tavultesoft/kmea/data/CloudRepository.java +++ b/android/KMEA/app/src/main/java/com/tavultesoft/kmea/data/CloudRepository.java @@ -358,8 +358,9 @@ public class CloudRepository { protected List processKeyboardJSON(JSONObject query, boolean fromKMP) { List keyboardsList = new ArrayList<>(); - //keyboardModifiedDates = new HashMap(); - + if (query.length() == 0) { + return keyboardsList; + } String isCustom = fromKMP ? "Y" : "N"; try { @@ -376,6 +377,7 @@ public class CloudRepository { int kbLength = langKeyboards.length(); for (int j = 0; j < kbLength; j++) { JSONObject keyboardJSON = langKeyboards.getJSONObject(j); + String pkgID = keyboardJSON.optString(KMManager.KMKey_PackageID, KMManager.KMDefault_UndefinedPackageID); String kbID = keyboardJSON.getString(KMManager.KMKey_ID); String kbName = keyboardJSON.getString(KMManager.KMKey_Name); String kbVersion = keyboardJSON.optString(KMManager.KMKey_KeyboardVersion, "1.0"); @@ -384,6 +386,7 @@ public class CloudRepository { //String kbKey = String.format("%s_%s", langID, kbID); HashMap hashMap = new HashMap(); hashMap.put(KMManager.KMKey_KeyboardName, kbName); + hashMap.put(KMManager.KMKey_PackageID, pkgID); hashMap.put(KMManager.KMKey_KeyboardID, kbID); hashMap.put(KMManager.KMKey_LanguageName, langName); hashMap.put(KMManager.KMKey_LanguageID, langID); @@ -440,7 +443,8 @@ public class CloudRepository { String modelID = model.getString(KMManager.KMKey_ID); String modelName = model.getString(KMManager.KMKey_Name); - String modelVersion = model.getString(KMManager.KMKey_LexicalModelVersion); + String version = model.optString(KMManager.KMKey_KeyboardVersion, "1.0"); + String modelVersion = model.optString(KMManager.KMKey_LexicalModelVersion, version); String isCustom = model.optString(KMManager.KMKey_CustomModel, "N"); String icon = "0"; diff --git a/android/KMEA/app/src/main/java/com/tavultesoft/kmea/packages/JSONUtils.java b/android/KMEA/app/src/main/java/com/tavultesoft/kmea/packages/JSONUtils.java index e7aca31936..df48f4779a 100644 --- a/android/KMEA/app/src/main/java/com/tavultesoft/kmea/packages/JSONUtils.java +++ b/android/KMEA/app/src/main/java/com/tavultesoft/kmea/packages/JSONUtils.java @@ -33,6 +33,9 @@ public class JSONUtils { * Will need to swap kmp.json (keyboards : languages) to cloud order (languages : keyboards) */ public static JSONArray getLanguages() { + if (resourceRoot == null) { + return new JSONArray(); + } File[] packages = resourceRoot.listFiles(); JSONArray languagesArray = new JSONArray(); JSONParser parser = new JSONParser();