Skip to content
Snippets Groups Projects
Unverified Commit 17ee826e authored by Kolya Opahle's avatar Kolya Opahle Committed by GitHub
Browse files

Added deletion warning dialog to RATResultNegativeFragment (#3336)

parent ed311567
No related branches found
No related tags found
No related merge requests found
...@@ -7,6 +7,7 @@ import androidx.core.text.buildSpannedString ...@@ -7,6 +7,7 @@ import androidx.core.text.buildSpannedString
import androidx.fragment.app.Fragment import androidx.fragment.app.Fragment
import de.rki.coronawarnapp.R import de.rki.coronawarnapp.R
import de.rki.coronawarnapp.databinding.FragmentSubmissionAntigenTestResultNegativeBinding import de.rki.coronawarnapp.databinding.FragmentSubmissionAntigenTestResultNegativeBinding
import de.rki.coronawarnapp.util.DialogHelper
import de.rki.coronawarnapp.util.TimeAndDateExtensions.toUserTimeZone import de.rki.coronawarnapp.util.TimeAndDateExtensions.toUserTimeZone
import de.rki.coronawarnapp.util.di.AutoInject import de.rki.coronawarnapp.util.di.AutoInject
import de.rki.coronawarnapp.util.ui.popBackStack import de.rki.coronawarnapp.util.ui.popBackStack
...@@ -26,7 +27,7 @@ class RATResultNegativeFragment : Fragment(R.layout.fragment_submission_antigen_ ...@@ -26,7 +27,7 @@ class RATResultNegativeFragment : Fragment(R.layout.fragment_submission_antigen_
override fun onViewCreated(view: View, savedInstanceState: Bundle?) = override fun onViewCreated(view: View, savedInstanceState: Bundle?) =
with(binding) { with(binding) {
coronatestNegativeAntigenResultButton.setOnClickListener { viewModel.deleteTest() } coronatestNegativeAntigenResultButton.setOnClickListener { viewModel.onDeleteTestClicked() }
toolbar.setNavigationOnClickListener { viewModel.onClose() } toolbar.setNavigationOnClickListener { viewModel.onClose() }
viewModel.testAge.observe(viewLifecycleOwner) { viewModel.testAge.observe(viewLifecycleOwner) {
...@@ -35,6 +36,8 @@ class RATResultNegativeFragment : Fragment(R.layout.fragment_submission_antigen_ ...@@ -35,6 +36,8 @@ class RATResultNegativeFragment : Fragment(R.layout.fragment_submission_antigen_
viewModel.events.observe(viewLifecycleOwner) { viewModel.events.observe(viewLifecycleOwner) {
when (it) { when (it) {
RATResultNegativeNavigation.ShowDeleteWarning ->
DialogHelper.showDialog(deleteRatTestConfirmationDialog)
RATResultNegativeNavigation.Back -> popBackStack() RATResultNegativeNavigation.Back -> popBackStack()
} }
} }
...@@ -68,8 +71,21 @@ class RATResultNegativeFragment : Fragment(R.layout.fragment_submission_antigen_ ...@@ -68,8 +71,21 @@ class RATResultNegativeFragment : Fragment(R.layout.fragment_submission_antigen_
val localTime = testAge.test.testedAt.toUserTimeZone() val localTime = testAge.test.testedAt.toUserTimeZone()
resultReceivedTimeAndDate.text = getString( resultReceivedTimeAndDate.text = getString(
R.string.coronatest_negative_antigen_result_time_date_placeholder, R.string.coronatest_negative_antigen_result_time_date_placeholder,
localTime?.toString(DATE_FORMAT), localTime.toString(DATE_FORMAT),
localTime?.toString(shortTime) 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()
}
) )
} }
......
...@@ -2,4 +2,5 @@ package de.rki.coronawarnapp.submission.ui.testresults.negative ...@@ -2,4 +2,5 @@ package de.rki.coronawarnapp.submission.ui.testresults.negative
sealed class RATResultNegativeNavigation { sealed class RATResultNegativeNavigation {
object Back : RATResultNegativeNavigation() object Back : RATResultNegativeNavigation()
object ShowDeleteWarning : RATResultNegativeNavigation()
} }
...@@ -53,7 +53,7 @@ class RATResultNegativeViewModel @AssistedInject constructor( ...@@ -53,7 +53,7 @@ class RATResultNegativeViewModel @AssistedInject constructor(
return TestAge(test = this, ageText) return TestAge(test = this, ageText)
} }
fun deleteTest() { fun onDeleteTestConfirmed() {
try { try {
Timber.d("deleteTest") Timber.d("deleteTest")
submissionRepository.removeTestFromDevice(CoronaTest.Type.RAPID_ANTIGEN) submissionRepository.removeTestFromDevice(CoronaTest.Type.RAPID_ANTIGEN)
...@@ -64,6 +64,10 @@ class RATResultNegativeViewModel @AssistedInject constructor( ...@@ -64,6 +64,10 @@ class RATResultNegativeViewModel @AssistedInject constructor(
} }
} }
fun onDeleteTestClicked() {
events.postValue(RATResultNegativeNavigation.ShowDeleteWarning)
}
fun onClose() { fun onClose() {
events.postValue(RATResultNegativeNavigation.Back) events.postValue(RATResultNegativeNavigation.Back)
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment