From bc6ee61b520f36be82f8a40a7a146f352d841b0d Mon Sep 17 00:00:00 2001
From: Fabian-K <fabian.kajzar@sap.com>
Date: Sun, 7 Jun 2020 18:22:40 +0200
Subject: [PATCH] Submission Changes (#258)

* - ask for confirmation before removing a test from the app

* - fix wrong number "(0)" when calling via submission contact fragment

* - remove old string from translations
---
 .../submission/SubmissionContactFragment.kt   |  2 +-
 .../SubmissionTestResultFragment.kt           | 35 ++++++++++++-------
 .../res/layout/include_submission_contact.xml |  2 +-
 .../src/main/res/values-de/strings.xml        |  2 --
 .../src/main/res/values-en/strings.xml        |  2 --
 .../src/main/res/values/strings.xml           | 12 ++++++-
 6 files changed, 36 insertions(+), 19 deletions(-)

diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/SubmissionContactFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/SubmissionContactFragment.kt
index 27886c702..93bd99e04 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/SubmissionContactFragment.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/SubmissionContactFragment.kt
@@ -51,7 +51,7 @@ class SubmissionContactFragment : BaseFragment() {
     }
 
     private fun dial() = context?.let {
-        val number = getString(R.string.submission_contact_number)
+        val number = getString(R.string.submission_contact_number_dial)
         CallHelper.call(this, "tel:$number")
     }
 }
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/SubmissionTestResultFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/SubmissionTestResultFragment.kt
index ca4d2d67f..85c53fead 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/SubmissionTestResultFragment.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/SubmissionTestResultFragment.kt
@@ -1,5 +1,6 @@
 package de.rki.coronawarnapp.ui.submission
 
+import android.app.AlertDialog
 import android.os.Bundle
 import android.view.LayoutInflater
 import android.view.View
@@ -110,17 +111,11 @@ class SubmissionTestResultFragment : BaseFragment() {
         }
 
         binding.submissionTestResultButtonPendingRemoveTest.setOnClickListener {
-            submissionViewModel.deregisterTestFromDevice()
-            doNavigate(
-                SubmissionTestResultFragmentDirections.actionSubmissionResultFragmentToMainFragment()
-            )
+            removeTestAfterConfirmation()
         }
 
         binding.submissionTestResultButtonNegativeRemoveTest.setOnClickListener {
-            submissionViewModel.deregisterTestFromDevice()
-            doNavigate(
-                SubmissionTestResultFragmentDirections.actionSubmissionResultFragmentToMainFragment()
-            )
+            removeTestAfterConfirmation()
         }
 
         binding.submissionTestResultButtonPositiveContinue.setOnClickListener {
@@ -128,10 +123,7 @@ class SubmissionTestResultFragment : BaseFragment() {
         }
 
         binding.submissionTestResultButtonInvalidRemoveTest.setOnClickListener {
-            submissionViewModel.deregisterTestFromDevice()
-            doNavigate(
-                SubmissionTestResultFragmentDirections.actionSubmissionResultFragmentToMainFragment()
-            )
+            removeTestAfterConfirmation()
         }
 
         binding.submissionTestResultHeader.headerToolbar.setNavigationOnClickListener {
@@ -158,4 +150,23 @@ class SubmissionTestResultFragment : BaseFragment() {
                 .actionSubmissionResultFragmentToSubmissionResultPositiveOtherWarningFragment()
         )
     }
+
+    private fun removeTestAfterConfirmation() {
+        val removeTestDialog = DialogHelper.DialogInstance(
+            requireActivity(),
+            R.string.submission_test_result_dialog_remove_test_title,
+            R.string.submission_test_result_dialog_remove_test_message,
+            R.string.submission_test_result_dialog_remove_test_button_positive,
+            R.string.submission_test_result_dialog_remove_test_button_negative,
+            positiveButtonFunction = {
+                submissionViewModel.deregisterTestFromDevice()
+                doNavigate(
+                    SubmissionTestResultFragmentDirections.actionSubmissionResultFragmentToMainFragment()
+                )
+            }
+        )
+        DialogHelper.showDialog(removeTestDialog).apply {
+            getButton(AlertDialog.BUTTON_POSITIVE).setTextColor(context.getColor(R.color.colorTextSemanticRed))
+        }
+    }
 }
diff --git a/Corona-Warn-App/src/main/res/layout/include_submission_contact.xml b/Corona-Warn-App/src/main/res/layout/include_submission_contact.xml
index 504cd1c50..70a040bcc 100644
--- a/Corona-Warn-App/src/main/res/layout/include_submission_contact.xml
+++ b/Corona-Warn-App/src/main/res/layout/include_submission_contact.xml
@@ -75,7 +75,7 @@
                         android:layout_width="@dimen/match_constraint"
                         android:layout_height="wrap_content"
                         android:layout_marginTop="@dimen/spacing_small"
-                        android:text="@string/submission_contact_number"
+                        android:text="@string/submission_contact_number_display"
                         android:textColor="@color/colorTextTint"
                         app:layout_constraintEnd_toEndOf="parent"
                         app:layout_constraintStart_toStartOf="parent"
diff --git a/Corona-Warn-App/src/main/res/values-de/strings.xml b/Corona-Warn-App/src/main/res/values-de/strings.xml
index c99937b62..2daec59e5 100644
--- a/Corona-Warn-App/src/main/res/values-de/strings.xml
+++ b/Corona-Warn-App/src/main/res/values-de/strings.xml
@@ -698,8 +698,6 @@
     <string name="submission_contact_button_enter">"TAN eingeben"</string>
     <!-- YTXT: Body text for step 1 of contact page -->
     <string name="submission_contact_step_1_body">"Hotline anrufen &amp; TAN erfragen:"</string>
-    <!-- XLNK: Button / hyperlink to phone call for TAN contact page -->
-    <string name="submission_contact_number">"+49 (0)800 7540002"</string>
     <!-- YTXT: Body text for step 2 of contact page-->
     <string name="submission_contact_step_2_body">"Test per TAN-Eingabe in der App registrieren"</string>
     <!-- YTXT: Body text for operating hours in contact page-->
diff --git a/Corona-Warn-App/src/main/res/values-en/strings.xml b/Corona-Warn-App/src/main/res/values-en/strings.xml
index c3c7d28e0..5c3e95b0d 100644
--- a/Corona-Warn-App/src/main/res/values-en/strings.xml
+++ b/Corona-Warn-App/src/main/res/values-en/strings.xml
@@ -700,8 +700,6 @@
     <string name="submission_contact_button_enter">"Enter TAN"</string>
     <!-- YTXT: Body text for step 1 of contact page -->
     <string name="submission_contact_step_1_body">"Call the hotline and request a TAN:\n"</string>
-    <!-- XLNK: Button / hyperlink to phone call for TAN contact page -->
-    <string name="submission_contact_number">"+49 (0)800 7540002"</string>
     <!-- YTXT: Body text for step 2 of contact page-->
     <string name="submission_contact_step_2_body">"Register the test by entering the TAN in the app."</string>
     <!-- YTXT: Body text for operating hours in contact page-->
diff --git a/Corona-Warn-App/src/main/res/values/strings.xml b/Corona-Warn-App/src/main/res/values/strings.xml
index 1a25cb401..d920ef01a 100644
--- a/Corona-Warn-App/src/main/res/values/strings.xml
+++ b/Corona-Warn-App/src/main/res/values/strings.xml
@@ -2647,6 +2647,14 @@ as modifying the License.
     <string name="submission_test_result_dialog_tracing_required_message">Bitte aktivieren Sie die Risiko-Ermittlung um andere zu warnen.</string>
     <!-- XBUT: tracing required : OK button -->
     <string name="submission_test_result_dialog_tracing_required_button">OK</string>
+    <!-- XHED: Dialog title for test removal  -->
+    <string name="submission_test_result_dialog_remove_test_title">Test entfernen?</string>
+    <!-- YTXT: Dialog text for test removal -->
+    <string name="submission_test_result_dialog_remove_test_message">Der Test wird endgültig aus der Corona-Warn-App entfernt und kann nicht wieder hinzugefügt werden. Dieser Vorgang kann nicht widerrufen werden.</string>
+    <!-- XBUT: Positive button for test removal -->
+    <string name="submission_test_result_dialog_remove_test_button_positive">Entfernen</string>
+    <!-- XBUT: Negative button for test removal -->
+    <string name="submission_test_result_dialog_remove_test_button_negative">Abbrechen</string>
     <!-- XHED: Title for test result card positive -->
     <string name="submission_test_result_card_positive_title">SARS-CoV-2 Positiv</string>
     <!-- YTXT: Body text for test result card positive -->
@@ -2770,7 +2778,9 @@ as modifying the License.
     <!-- YTXT: Body text for step 1 of contact page -->
     <string name="submission_contact_step_1_body"><![CDATA[Hotline anrufen & TAN erfragen:]]></string>
     <!-- XLNK: Button / hyperlink to phone call for TAN contact page -->
-    <string name="submission_contact_number">+49 (0) 800 7540002</string>
+    <string name="submission_contact_number_display">+49 (0) 800 7540002</string>
+    <!-- NOTR -->
+    <string name="submission_contact_number_dial">+49 800 7540002</string>
     <!-- YTXT: Body text for step 2 of contact page-->
     <string name="submission_contact_step_2_body">Test per TAN-Eingabe in der App registrieren</string>
     <!-- YTXT: Body text for operating hours in contact page-->
-- 
GitLab