From 8a78d52e80efeaab03caebcfeeb5a6da49a9efb8 Mon Sep 17 00:00:00 2001 From: Ephraim Kigamba Date: Fri, 27 Oct 2017 17:03:02 +0300 Subject: [PATCH 1/4] Fix Logging-in dialog called after activity destroyed --- .../java/org/smartregister/path/activity/LoginActivity.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/opensrp-path/src/main/java/org/smartregister/path/activity/LoginActivity.java b/opensrp-path/src/main/java/org/smartregister/path/activity/LoginActivity.java index 34a2860a..3cfca548 100644 --- a/opensrp-path/src/main/java/org/smartregister/path/activity/LoginActivity.java +++ b/opensrp-path/src/main/java/org/smartregister/path/activity/LoginActivity.java @@ -521,8 +521,10 @@ protected LoginResponse doInBackground(Void... params) { @Override protected void onPostExecute(LoginResponse loginResponse) { super.onPostExecute(loginResponse); - progressDialog.dismiss(); - afterLoginCheck.onEvent(loginResponse); + if (!isDestroyed()) { + progressDialog.dismiss(); + afterLoginCheck.onEvent(loginResponse); + } } } From 6836b0529db3bb911f0750a21c1d27cdbf207a5e Mon Sep 17 00:00:00 2001 From: Ephraim Kigamba Date: Mon, 30 Oct 2017 12:33:24 +0300 Subject: [PATCH 2/4] Add check for valid integer string --- .../smartregister/path/activity/PathJsonFormActivity.java | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/opensrp-path/src/main/java/org/smartregister/path/activity/PathJsonFormActivity.java b/opensrp-path/src/main/java/org/smartregister/path/activity/PathJsonFormActivity.java index 682ca2d0..6ac02b75 100644 --- a/opensrp-path/src/main/java/org/smartregister/path/activity/PathJsonFormActivity.java +++ b/opensrp-path/src/main/java/org/smartregister/path/activity/PathJsonFormActivity.java @@ -437,12 +437,8 @@ private void stockVialsenteredinReceivedForm(String key, String value) { } } - if (StringUtils.isNotBlank(value)) { + if (StringUtils.isNotBlank(value) && StringUtils.isNumeric(value)) { displaybalance = currentBalance + Integer.parseInt(value); -// if (balancetextview != null) { -// balancetextview.setErrorColor(Color.BLACK); -// balancetextview.setError("New balance : " + displaybalance); -// } pathJsonFormFragment.getLabelViewFromTag("Balance", "New balance: " + displaybalance); } else { From cdffd2691d332e478a2703b934dd382efae4528b Mon Sep 17 00:00:00 2001 From: Ephraim Kigamba Date: Mon, 30 Oct 2017 18:27:16 +0300 Subject: [PATCH 3/4] Fix multiple dialog fragments opennable simultaneously --- .../activity/ChildImmunizationActivity.java | 48 +++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/opensrp-path/src/main/java/org/smartregister/path/activity/ChildImmunizationActivity.java b/opensrp-path/src/main/java/org/smartregister/path/activity/ChildImmunizationActivity.java index e4a24e61..00f68159 100644 --- a/opensrp-path/src/main/java/org/smartregister/path/activity/ChildImmunizationActivity.java +++ b/opensrp-path/src/main/java/org/smartregister/path/activity/ChildImmunizationActivity.java @@ -4,6 +4,7 @@ import android.app.FragmentTransaction; import android.content.ContentValues; import android.content.Context; +import android.content.DialogInterface; import android.content.Intent; import android.graphics.drawable.ColorDrawable; import android.os.AsyncTask; @@ -135,6 +136,7 @@ public class ChildImmunizationActivity extends BaseActivity private CommonPersonObjectClient childDetails; private RegisterClickables registerClickables; private DetailsRepository detailsRepository; + private boolean dialogOpen = false; @Override protected void onCreate(Bundle savedInstanceState) { @@ -384,12 +386,20 @@ private void updateServiceViews(Map> serviceTypeMap, L @Override public void onClick(ServiceGroup serviceGroup, ServiceWrapper serviceWrapper) { + if (dialogOpen) { + return; + } + dialogOpen = true; addServiceDialogFragment(serviceWrapper, serviceGroup); } }); curGroup.setOnServiceUndoClickListener(new ServiceGroup.OnServiceUndoClickListener() { @Override public void onUndoClick(ServiceGroup serviceGroup, ServiceWrapper serviceWrapper) { + if (dialogOpen) { + return; + } + dialogOpen = true; addServiceUndoDialogFragment(serviceGroup, serviceWrapper); } }); @@ -462,12 +472,20 @@ private void addVaccineGroup(int canvasId, JSONObject vaccineGroupData, List dueVaccines) { + if (dialogOpen) { + return; + } + dialogOpen = true; addVaccinationDialogFragment(dueVaccines, vaccineGroup); } }); curGroup.setOnVaccineClickedListener(new VaccineGroup.OnVaccineClickedListener() { @Override public void onClick(VaccineGroup vaccineGroup, VaccineWrapper vaccine) { + if (dialogOpen) { + return; + } + dialogOpen = true; ArrayList vaccineWrappers = new ArrayList<>(); vaccineWrappers.add(vaccine); addVaccinationDialogFragment(vaccineWrappers, vaccineGroup); @@ -476,6 +494,11 @@ public void onClick(VaccineGroup vaccineGroup, VaccineWrapper vaccine) { curGroup.setOnVaccineUndoClickListener(new VaccineGroup.OnVaccineUndoClickListener() { @Override public void onUndoClick(VaccineGroup vaccineGroup, VaccineWrapper vaccine) { + if (dialogOpen) { + return; + } + + dialogOpen = true; addVaccineUndoDialogFragment(vaccineGroup, vaccine); } }); @@ -510,6 +533,12 @@ private void addVaccineUndoDialogFragment(VaccineGroup vaccineGroup, VaccineWrap UndoVaccinationDialogFragment undoVaccinationDialogFragment = UndoVaccinationDialogFragment.newInstance(vaccineWrapper); undoVaccinationDialogFragment.show(ft, DIALOG_TAG); + undoVaccinationDialogFragment.setOnDismissListener(new DialogInterface.OnDismissListener() { + @Override + public void onDismiss(DialogInterface dialog) { + dialogOpen = false; + } + }); } private void addServiceUndoDialogFragment(ServiceGroup serviceGroup, ServiceWrapper serviceWrapper) { @@ -524,6 +553,12 @@ private void addServiceUndoDialogFragment(ServiceGroup serviceGroup, ServiceWrap UndoServiceDialogFragment undoServiceDialogFragment = UndoServiceDialogFragment.newInstance(serviceWrapper); undoServiceDialogFragment.show(ft, DIALOG_TAG); + undoServiceDialogFragment.setOnDismissListener(new DialogInterface.OnDismissListener() { + @Override + public void onDismiss(DialogInterface dialog) { + dialogOpen = false; + } + }); } private void updateWeightViews(Weight lastUnsyncedWeight) { @@ -795,6 +830,13 @@ private void addVaccinationDialogFragment(ArrayList vaccineWrapp VaccinationDialogFragment vaccinationDialogFragment = VaccinationDialogFragment.newInstance(dob, vaccineList, vaccineWrappers, true); vaccinationDialogFragment.show(ft, DIALOG_TAG); + vaccinationDialogFragment.setOnDismissListener(new DialogInterface.OnDismissListener() { + @Override + public void onDismiss(DialogInterface dialog) { + dialogOpen = false; + } + }); + } private void addServiceDialogFragment(ServiceWrapper serviceWrapper, ServiceGroup serviceGroup) { @@ -818,6 +860,12 @@ private void addServiceDialogFragment(ServiceWrapper serviceWrapper, ServiceGrou ServiceDialogFragment serviceDialogFragment = ServiceDialogFragment.newInstance(dob, serviceRecordList, serviceWrapper, true); serviceDialogFragment.show(ft, DIALOG_TAG); + serviceDialogFragment.setOnDismissListener(new DialogInterface.OnDismissListener() { + @Override + public void onDismiss(DialogInterface dialog) { + dialogOpen = false; + } + }); } private void performRegisterActions() { From 43f884be7b1383c511c50001e6bb92bc5ce30974 Mon Sep 17 00:00:00 2001 From: Ephraim Kigamba Date: Tue, 31 Oct 2017 09:19:02 +0300 Subject: [PATCH 4/4] Update immunization dependency to v1.1.3 --- opensrp-path/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/opensrp-path/build.gradle b/opensrp-path/build.gradle index 675393ae..66a3c212 100644 --- a/opensrp-path/build.gradle +++ b/opensrp-path/build.gradle @@ -106,7 +106,7 @@ dependencies { transitive = true exclude group: 'com.github.bmelnychuk', module: 'atv' } - compile('org.smartregister:opensrp-client-immunization:1.1.2-SNAPSHOT@aar') { + compile('org.smartregister:opensrp-client-immunization:1.1.3-SNAPSHOT@aar') { transitive = true } compile('org.smartregister:opensrp-client-growth-monitoring:1.0.2-SNAPSHOT@aar') {