diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/SubmissionTestResultFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/SubmissionTestResultFragment.kt index c1ea49f3e609baba045c2529fdb7fab718033339..964b0feba9fd75fbceda74c59b6c5536fd616970 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/SubmissionTestResultFragment.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/SubmissionTestResultFragment.kt @@ -6,6 +6,7 @@ import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import android.view.accessibility.AccessibilityEvent +import androidx.activity.OnBackPressedCallback import androidx.fragment.app.Fragment import androidx.fragment.app.activityViewModels import androidx.navigation.fragment.findNavController @@ -34,6 +35,16 @@ class SubmissionTestResultFragment : Fragment() { private var _binding: FragmentSubmissionTestResultBinding? = null private val binding: FragmentSubmissionTestResultBinding get() = _binding!! + // Overrides default back behaviour + private val backCallback: OnBackPressedCallback = + object : OnBackPressedCallback(true) { + override fun handleOnBackPressed() { + findNavController().doNavigate( + SubmissionTestResultFragmentDirections.actionSubmissionResultFragmentToMainFragment() + ) + } + } + override fun onCreateView( inflater: LayoutInflater, container: ViewGroup?, @@ -43,6 +54,8 @@ class SubmissionTestResultFragment : Fragment() { _binding = FragmentSubmissionTestResultBinding.inflate(inflater) binding.submissionViewModel = submissionViewModel binding.lifecycleOwner = this + // registers callback when the os level back is pressed + requireActivity().onBackPressedDispatcher.addCallback(viewLifecycleOwner, backCallback) // Inflate the layout for this fragment return binding.root }