From 707c8fa35cb79b22e3c8627140ce7afcec17fe5f Mon Sep 17 00:00:00 2001
From: Rituraj Sambherao <54317407+ritsam@users.noreply.github.com>
Date: Tue, 14 Jul 2020 11:07:06 +0100
Subject: [PATCH] Fix/submission error dialog  (#791)

* submission error dialog

* submission_error_dialog_german_strings_added

* submission error dialog unit test added

* pipeline related changes

* code review changes

* integration test added for No diagnosisKey available:

Test added for No Diagnosis key available

* No submission keys error sliently handled

* silently handled no key error submission

1. Removed  unceccesary strings
2. redirection to SubmissionDoneFragment when there are no keys available
3. removed navigation action for SubmissionResultPositiveOtherWarningFragment to MainFragment

* code ruse and test case removed at it was not needed

* removed unused import

* comment adjusted

Co-authored-by: harambasicluka <64483219+harambasicluka@users.noreply.github.com>
Co-authored-by: Philipp Woessner <64482866+pwoessner@users.noreply.github.com>
---
 ...ssionResultPositiveOtherWarningFragment.kt | 21 ++++++++++++++-----
 1 file changed, 16 insertions(+), 5 deletions(-)

diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/SubmissionResultPositiveOtherWarningFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/SubmissionResultPositiveOtherWarningFragment.kt
index 9a678f9af..901a01df5 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/SubmissionResultPositiveOtherWarningFragment.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/SubmissionResultPositiveOtherWarningFragment.kt
@@ -129,10 +129,7 @@ class SubmissionResultPositiveOtherWarningFragment : Fragment(),
 
         submissionViewModel.submissionState.observe(viewLifecycleOwner, Observer {
             if (it == ApiRequestState.SUCCESS) {
-                findNavController().doNavigate(
-                    SubmissionResultPositiveOtherWarningFragmentDirections
-                        .actionSubmissionResultPositiveOtherWarningFragmentToSubmissionDoneFragment()
-                )
+                navigateToSubmissionDoneFragment()
             }
         })
     }
@@ -152,6 +149,16 @@ class SubmissionResultPositiveOtherWarningFragment : Fragment(),
                 .actionSubmissionResultPositiveOtherWarningFragmentToSubmissionResultFragment()
         )
 
+    /**
+     * Navigate to submission done Fragment
+     * @see SubmissionDoneFragment
+     */
+    private fun navigateToSubmissionDoneFragment() =
+        findNavController().doNavigate(
+            SubmissionResultPositiveOtherWarningFragmentDirections
+                .actionSubmissionResultPositiveOtherWarningFragmentToSubmissionDoneFragment()
+        )
+
     private fun initiateWarningOthers() {
         if (tracingViewModel.isTracingEnabled.value != true) {
             val tracingRequiredDialog = DialogHelper.DialogInstance(
@@ -177,7 +184,11 @@ class SubmissionResultPositiveOtherWarningFragment : Fragment(),
     // InternalExposureNotificationPermissionHelper - callbacks
     override fun onKeySharePermissionGranted(keys: List<TemporaryExposureKey>) {
         super.onKeySharePermissionGranted(keys)
-        submissionViewModel.submitDiagnosisKeys(keys)
+        if (keys.isNotEmpty()) {
+            submissionViewModel.submitDiagnosisKeys(keys)
+        } else {
+            navigateToSubmissionDoneFragment()
+        }
     }
 
     override fun onFailure(exception: Exception?) {
-- 
GitLab