diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/qrcode/consent/SubmissionConsentFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/qrcode/consent/SubmissionConsentFragment.kt index 3423316e4783ec40651d668214bef499ba4880cc..6c5384b49dc6b328b67a05eb293109ce9f05cbdd 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/qrcode/consent/SubmissionConsentFragment.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/qrcode/consent/SubmissionConsentFragment.kt @@ -55,15 +55,18 @@ class SubmissionConsentFragment : Fragment(R.layout.fragment_submission_consent) requireActivity(), REQUEST_USER_RESOLUTION ) - is SubmissionNavigationEvents.NavigateToDeletionWarningFragmentFromQrCode -> { - doNavigate( - NavGraphDirections - .actionToSubmissionDeletionWarningFragment( - testRegistrationRequest = it.coronaTestQRCode, - isConsentGiven = it.consentGiven, - ) + is SubmissionNavigationEvents.NavigateToDeletionWarningFragmentFromQrCode -> doNavigate( + NavGraphDirections.actionToSubmissionDeletionWarningFragment( + testRegistrationRequest = it.coronaTestQRCode, + isConsentGiven = it.consentGiven, ) - } + ) + is SubmissionNavigationEvents.NavigateToRequestDccFragment -> doNavigate( + NavGraphDirections.actionRequestCovidCertificateFragment( + testRegistrationRequest = it.coronaTestQRCode, + coronaTestConsent = it.consentGiven + ) + ) } } viewModel.countries.observe2(this) { diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/qrcode/consent/SubmissionConsentViewModel.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/qrcode/consent/SubmissionConsentViewModel.kt index 4bd68d5045e1c50daba3de2ac99f2ab086d84fdd..643028c08ebfdd80dd2992c326020d243adc3031 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/qrcode/consent/SubmissionConsentViewModel.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/qrcode/consent/SubmissionConsentViewModel.kt @@ -83,17 +83,26 @@ class SubmissionConsentViewModel @AssistedInject constructor( val coronaTest = submissionRepository.testForType(coronaTestQRCode.type).first() - if (coronaTest != null) { - SubmissionNavigationEvents.NavigateToDeletionWarningFragmentFromQrCode( - coronaTestQRCode, - consentGiven = true - ).run { routeToScreen.postValue(this) } - } else { - registrationStateProcessor.startRegistration( - request = coronaTestQRCode, - isSubmissionConsentGiven = true, - allowReplacement = false - ) + when { + coronaTest != null -> { + SubmissionNavigationEvents.NavigateToDeletionWarningFragmentFromQrCode( + coronaTestQRCode, + consentGiven = true + ).run { routeToScreen.postValue(this) } + } + coronaTestQRCode.isDccSupportedByPoc && !coronaTestQRCode.isDccConsentGiven -> { + SubmissionNavigationEvents.NavigateToRequestDccFragment( + coronaTestQRCode = coronaTestQRCode, + consentGiven = true, + ).run { routeToScreen.postValue(this) } + } + else -> { + registrationStateProcessor.startRegistration( + request = coronaTestQRCode, + isSubmissionConsentGiven = true, + allowReplacement = false + ) + } } }