From ae5edbc491bba030184f0776c408ca41c6ddcb73 Mon Sep 17 00:00:00 2001 From: Oliver Zimmerman <oezimmerman@gmail.com> Date: Tue, 6 Oct 2020 16:47:00 +0100 Subject: [PATCH] Add option to skip Symptoms Screens from Test Result (EXPOSUREAPP-3075) (#1334) * Added button in layout for continuing without symptoms. Adjusted existing button text * Added new button, tweaked navigation and logic * Changed symptom indication to no indication appropriately * code style changes * added navigation related boolean to method rather than predefined * code style Co-authored-by: Ralf Gehrer <ralfgehrer@users.noreply.github.com> --- .../fragment/SubmissionTestResultFragment.kt | 24 ++++++++++++++----- .../fragment_submission_test_result.xml | 16 +++++++++++-- .../src/main/res/navigation/nav_graph.xml | 3 +++ 3 files changed, 35 insertions(+), 8 deletions(-) diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/fragment/SubmissionTestResultFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/fragment/SubmissionTestResultFragment.kt index 4e70213b3..98187e8c8 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/fragment/SubmissionTestResultFragment.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/fragment/SubmissionTestResultFragment.kt @@ -132,7 +132,12 @@ class SubmissionTestResultFragment : Fragment(R.layout.fragment_submission_test_ } binding.submissionTestResultButtonPositiveContinue.setOnClickListener { - continueIfTracingEnabled() + continueIfTracingEnabled(false) + } + + binding.submissionTestResultButtonPositiveContinueWithoutSymptoms.setOnClickListener { + submissionViewModel.onNoInformationSymptomIndication() + continueIfTracingEnabled(true) } binding.submissionTestResultButtonInvalidRemoveTest.setOnClickListener { @@ -146,7 +151,7 @@ class SubmissionTestResultFragment : Fragment(R.layout.fragment_submission_test_ } } - private fun continueIfTracingEnabled() { + private fun continueIfTracingEnabled(skipSymptomSubmission: Boolean) { if (tracingViewModel.isTracingEnabled.value != true) { val tracingRequiredDialog = DialogHelper.DialogInstance( requireActivity(), @@ -158,10 +163,17 @@ class SubmissionTestResultFragment : Fragment(R.layout.fragment_submission_test_ return } - findNavController().doNavigate( - SubmissionTestResultFragmentDirections - .actionSubmissionResultFragmentToSubmissionSymptomIntroductionFragment() - ) + if (skipSymptomSubmission) { + findNavController().doNavigate( + SubmissionTestResultFragmentDirections + .actionSubmissionResultFragmentToSubmissionResultPositiveOtherWarningFragment() + ) + } else { + findNavController().doNavigate( + SubmissionTestResultFragmentDirections + .actionSubmissionResultFragmentToSubmissionSymptomIntroductionFragment() + ) + } } private fun removeTestAfterConfirmation() { diff --git a/Corona-Warn-App/src/main/res/layout/fragment_submission_test_result.xml b/Corona-Warn-App/src/main/res/layout/fragment_submission_test_result.xml index d7bcd4594..a1b0cf12e 100644 --- a/Corona-Warn-App/src/main/res/layout/fragment_submission_test_result.xml +++ b/Corona-Warn-App/src/main/res/layout/fragment_submission_test_result.xml @@ -105,12 +105,24 @@ style="@style/buttonPrimary" android:layout_width="@dimen/match_constraint" android:layout_height="wrap_content" - android:text="@string/submission_test_result_positive_continue_button" + android:text="@string/submission_test_result_positive_continue_button_with_symptoms" + android:visibility="@{FormatterSubmissionHelper.formatTestResultPositiveStepsVisible(submissionViewModel.deviceUiState)}" + app:layout_constraintBottom_toTopOf="@+id/submission_test_result_button_positive_continue_without_symptoms" + app:layout_constraintEnd_toStartOf="@+id/guideline_end" + app:layout_constraintStart_toStartOf="@id/guideline_start" + app:layout_constraintTop_toBottomOf="@+id/guideline_action_large" /> + + <Button + android:id="@+id/submission_test_result_button_positive_continue_without_symptoms" + style="@style/buttonPrimary" + android:layout_width="@dimen/match_constraint" + android:layout_height="wrap_content" + android:text="@string/submission_test_result_positive_continue_button_wo_symptoms" android:visibility="@{FormatterSubmissionHelper.formatTestResultPositiveStepsVisible(submissionViewModel.deviceUiState)}" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toStartOf="@+id/guideline_end" app:layout_constraintStart_toStartOf="@id/guideline_start" - app:layout_constraintTop_toTopOf="@id/guideline_action" /> + app:layout_constraintTop_toBottomOf="@+id/submission_test_result_button_positive_continue" /> <Button android:id="@+id/submission_test_result_button_negative_remove_test" diff --git a/Corona-Warn-App/src/main/res/navigation/nav_graph.xml b/Corona-Warn-App/src/main/res/navigation/nav_graph.xml index ac0bff96c..b8cdefde7 100644 --- a/Corona-Warn-App/src/main/res/navigation/nav_graph.xml +++ b/Corona-Warn-App/src/main/res/navigation/nav_graph.xml @@ -261,6 +261,9 @@ <action android:id="@+id/action_submissionResultFragment_to_submissionSymptomIntroductionFragment" app:destination="@id/submissionSymptomIntroductionFragment" /> + <action + android:id="@+id/action_submissionResultFragment_to_submissionResultPositiveOtherWarningFragment" + app:destination="@id/submissionResultPositiveOtherWarningFragment" /> </fragment> <fragment -- GitLab