From 833f92a53c8a46f098dadc010381d3c87f56cb25 Mon Sep 17 00:00:00 2001 From: Shubham Goyal Date: Thu, 5 Sep 2024 12:49:10 +0530 Subject: [PATCH 1/2] Do not save read only forms again --- app/src/org/commcare/activities/FormEntryActivity.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/app/src/org/commcare/activities/FormEntryActivity.java b/app/src/org/commcare/activities/FormEntryActivity.java index 02eff5482..0ca63f64a 100644 --- a/app/src/org/commcare/activities/FormEntryActivity.java +++ b/app/src/org/commcare/activities/FormEntryActivity.java @@ -820,6 +820,10 @@ private void saveDataToDisk(boolean exit, boolean complete, String updatedSaveNa return; } + if (mFormController.isFormReadOnly()) { + return; + } + // save current answer; if headless, don't evaluate the constraints // before doing so. boolean wasScreenSaved = From 199b1fa87f6261cebf5ea34fb7d08927cc57bde4 Mon Sep 17 00:00:00 2001 From: Shubham Goyal Date: Thu, 5 Sep 2024 13:22:31 +0530 Subject: [PATCH 2/2] Reword Finish to Exit for read only forms --- app/assets/locales/android_translatable_strings.txt | 1 + .../commcare/activities/FormEntryActivityUIController.java | 7 ++++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/app/assets/locales/android_translatable_strings.txt b/app/assets/locales/android_translatable_strings.txt index 588441a27..932d7b29b 100644 --- a/app/assets/locales/android_translatable_strings.txt +++ b/app/assets/locales/android_translatable_strings.txt @@ -167,6 +167,7 @@ form.entry.incomplete.save.success=Form saved as incomplete form.entry.save.error=Sorry, form save failed. Please contact CommCare Support to look into the issue. form.entry.save.invalid.unicode=Could not save '${0}' text in form. form.entry.finish.button=FINISH +form.entry.exit.button=EXIT form.entry.restart.after.expiration=You were logged out due to session expiration. The form you were in the middle of has been saved and resumed. login.attempt.badcred=Username or password are incorrect. Please try again. diff --git a/app/src/org/commcare/activities/FormEntryActivityUIController.java b/app/src/org/commcare/activities/FormEntryActivityUIController.java index f917a6254..e7388a975 100644 --- a/app/src/org/commcare/activities/FormEntryActivityUIController.java +++ b/app/src/org/commcare/activities/FormEntryActivityUIController.java @@ -82,6 +82,7 @@ public class FormEntryActivityUIController implements CommCareActivityUIControll private boolean formRelevanciesUpdateInProgress = false; private static final String KEY_LAST_CHANGED_WIDGET = "index-of-last-changed-widget"; + private TextView finishText; enum AnimationType { LEFT, RIGHT, FADE @@ -103,7 +104,7 @@ public void setupUI() { View finishButton = activity.findViewById(R.id.nav_btn_finish); - TextView finishText = finishButton.findViewById(R.id.nav_btn_finish_text); + finishText = finishButton.findViewById(R.id.nav_btn_finish_text); finishText.setText(Localization.get("form.entry.finish.button").toUpperCase()); nextButton.setOnClickListener(v -> { @@ -199,6 +200,10 @@ protected void refreshCurrentView(boolean animateLastView) { QuestionsView current = createView(); showView(current, AnimationType.FADE, animateLastView); } + + if (finishText != null && FormEntryActivity.mFormController.isFormReadOnly()) { + finishText.setText(Localization.get("form.entry.exit.button").toUpperCase()); + } } /**