From 17ee826e0e9454a27e693abe5deb945464945ea6 Mon Sep 17 00:00:00 2001 From: Kolya Opahle <k.opahle@sap.com> Date: Tue, 1 Jun 2021 15:52:26 +0200 Subject: [PATCH] Added deletion warning dialog to RATResultNegativeFragment (#3336) Co-authored-by: harambasicluka <64483219+harambasicluka@users.noreply.github.com> Co-authored-by: I502720 <axel.herbstreith@sap.com> Co-authored-by: AlexanderAlferov <64849422+AlexanderAlferov@users.noreply.github.com> --- .../negative/RATResultNegativeFragment.kt | 22 ++++++++++++++++--- .../negative/RATResultNegativeNavigation.kt | 1 + .../negative/RATResultNegativeViewModel.kt | 6 ++++- 3 files changed, 25 insertions(+), 4 deletions(-) diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/submission/ui/testresults/negative/RATResultNegativeFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/submission/ui/testresults/negative/RATResultNegativeFragment.kt index b04ebebf8..0115a1991 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/submission/ui/testresults/negative/RATResultNegativeFragment.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/submission/ui/testresults/negative/RATResultNegativeFragment.kt @@ -7,6 +7,7 @@ import androidx.core.text.buildSpannedString import androidx.fragment.app.Fragment import de.rki.coronawarnapp.R import de.rki.coronawarnapp.databinding.FragmentSubmissionAntigenTestResultNegativeBinding +import de.rki.coronawarnapp.util.DialogHelper import de.rki.coronawarnapp.util.TimeAndDateExtensions.toUserTimeZone import de.rki.coronawarnapp.util.di.AutoInject import de.rki.coronawarnapp.util.ui.popBackStack @@ -26,7 +27,7 @@ class RATResultNegativeFragment : Fragment(R.layout.fragment_submission_antigen_ override fun onViewCreated(view: View, savedInstanceState: Bundle?) = with(binding) { - coronatestNegativeAntigenResultButton.setOnClickListener { viewModel.deleteTest() } + coronatestNegativeAntigenResultButton.setOnClickListener { viewModel.onDeleteTestClicked() } toolbar.setNavigationOnClickListener { viewModel.onClose() } viewModel.testAge.observe(viewLifecycleOwner) { @@ -35,6 +36,8 @@ class RATResultNegativeFragment : Fragment(R.layout.fragment_submission_antigen_ viewModel.events.observe(viewLifecycleOwner) { when (it) { + RATResultNegativeNavigation.ShowDeleteWarning -> + DialogHelper.showDialog(deleteRatTestConfirmationDialog) RATResultNegativeNavigation.Back -> popBackStack() } } @@ -68,8 +71,21 @@ class RATResultNegativeFragment : Fragment(R.layout.fragment_submission_antigen_ val localTime = testAge.test.testedAt.toUserTimeZone() resultReceivedTimeAndDate.text = getString( R.string.coronatest_negative_antigen_result_time_date_placeholder, - localTime?.toString(DATE_FORMAT), - localTime?.toString(shortTime) + localTime.toString(DATE_FORMAT), + localTime.toString(shortTime) + ) + } + + private val deleteRatTestConfirmationDialog by lazy { + 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 = { + viewModel.onDeleteTestConfirmed() + } ) } diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/submission/ui/testresults/negative/RATResultNegativeNavigation.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/submission/ui/testresults/negative/RATResultNegativeNavigation.kt index c5a874e10..bf801e3ca 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/submission/ui/testresults/negative/RATResultNegativeNavigation.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/submission/ui/testresults/negative/RATResultNegativeNavigation.kt @@ -2,4 +2,5 @@ package de.rki.coronawarnapp.submission.ui.testresults.negative sealed class RATResultNegativeNavigation { object Back : RATResultNegativeNavigation() + object ShowDeleteWarning : RATResultNegativeNavigation() } diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/submission/ui/testresults/negative/RATResultNegativeViewModel.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/submission/ui/testresults/negative/RATResultNegativeViewModel.kt index 607dde740..a7298cf45 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/submission/ui/testresults/negative/RATResultNegativeViewModel.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/submission/ui/testresults/negative/RATResultNegativeViewModel.kt @@ -53,7 +53,7 @@ class RATResultNegativeViewModel @AssistedInject constructor( return TestAge(test = this, ageText) } - fun deleteTest() { + fun onDeleteTestConfirmed() { try { Timber.d("deleteTest") submissionRepository.removeTestFromDevice(CoronaTest.Type.RAPID_ANTIGEN) @@ -64,6 +64,10 @@ class RATResultNegativeViewModel @AssistedInject constructor( } } + fun onDeleteTestClicked() { + events.postValue(RATResultNegativeNavigation.ShowDeleteWarning) + } + fun onClose() { events.postValue(RATResultNegativeNavigation.Back) } -- GitLab