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 b04ebebf802dc9bb0c0522f3e1a84b44f3a5e1d5..0115a1991787f7576b0d9987a26e1cd1d7d05892 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 c5a874e10bc9d3b3c3db8409b9e7c1d85d97bb37..bf801e3ca2e99c3ccb022df477f671c1c7946329 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 607dde7401e656e7c3d8d05c122aecfd7d3cb883..a7298cf45ea322eaf8e5656dbed334d72710f0cc 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) }