diff --git a/opensrp-anc/src/main/java/org/smartregister/anc/library/interactor/CharacteristicsInteractor.java b/opensrp-anc/src/main/java/org/smartregister/anc/library/interactor/CharacteristicsInteractor.java index 9ceef705e..c8c1ab5fb 100644 --- a/opensrp-anc/src/main/java/org/smartregister/anc/library/interactor/CharacteristicsInteractor.java +++ b/opensrp-anc/src/main/java/org/smartregister/anc/library/interactor/CharacteristicsInteractor.java @@ -52,8 +52,10 @@ public void saveSiteCharacteristics(Map siteCharacteristicsSetti if (localSettings != null) { for (int i = 0; i < localSettings.length(); i++) { JSONObject localSetting = localSettings.getJSONObject(i); + String valueObject = siteCharacteristicsSettingsMap.get(localSetting.getString(ConstantsUtils.KeyUtils.KEY)); + valueObject = org.smartregister.anc.library.util.Utils.extractValuefromJSONObject(valueObject); localSetting.put(ConstantsUtils.KeyUtils.VALUE, - "1".equals(siteCharacteristicsSettingsMap.get(localSetting.getString(ConstantsUtils.KeyUtils.KEY)))); + "1".equals(valueObject)); } } diff --git a/opensrp-anc/src/main/java/org/smartregister/anc/library/util/Utils.java b/opensrp-anc/src/main/java/org/smartregister/anc/library/util/Utils.java index b60836396..82842d428 100644 --- a/opensrp-anc/src/main/java/org/smartregister/anc/library/util/Utils.java +++ b/opensrp-anc/src/main/java/org/smartregister/anc/library/util/Utils.java @@ -1163,4 +1163,23 @@ public static String getLocationLocalizedName(Location location, JsonFormActivit } return locationName; } + + public static String extractValuefromJSONObject(String jsonString) + { + if(jsonString == null) + return ""; + if(jsonString.startsWith("{") && jsonString.endsWith("}")) { + try { + + JSONObject valueObject = new JSONObject(jsonString); + return valueObject.getString(ConstantsUtils.KeyUtils.VALUE); + } + catch (JSONException e) + { + Timber.e(e); + return ""; + } + } + return jsonString; + } } \ No newline at end of file