diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/presencetracing/attendee/checkins/consent/CheckInsConsentFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/presencetracing/attendee/checkins/consent/CheckInsConsentFragment.kt index 8b014f565b08ae7e37cf3b95f3fd656701dde8c9..509c638328ff2aeeb7b3fec897bbf35d89d3dfc7 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/presencetracing/attendee/checkins/consent/CheckInsConsentFragment.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/presencetracing/attendee/checkins/consent/CheckInsConsentFragment.kt @@ -81,6 +81,11 @@ class CheckInsConsentFragment : Fragment(R.layout.check_ins_consent_fragment), A } } + override fun onStop() { + super.onStop() + viewModel.setAutoSubmission() + } + private fun showSkipDialog() { MaterialAlertDialogBuilder(requireContext()) .setTitle(R.string.trace_location_attendee_consent_dialog_title) diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/presencetracing/attendee/checkins/consent/CheckInsConsentViewModel.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/presencetracing/attendee/checkins/consent/CheckInsConsentViewModel.kt index ee398a8155056d60b6dc033cf8fb1b988707a2ba..6d131177005f045d4140cee2e8e60e0f135bbab5 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/presencetracing/attendee/checkins/consent/CheckInsConsentViewModel.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/presencetracing/attendee/checkins/consent/CheckInsConsentViewModel.kt @@ -51,8 +51,6 @@ class CheckInsConsentViewModel @AssistedInject constructor( resetPreviousSubmissionConsents() Timber.d("Navigate to shareSelectedCheckIns") - autoSubmission.updateMode(AutoSubmission.Mode.MONITOR) - // Update CheckIns for new submission val idsWithConsent = selectedSetFlow.value checkInRepository.updateSubmissionConsents( @@ -75,7 +73,6 @@ class CheckInsConsentViewModel @AssistedInject constructor( resetPreviousSubmissionConsents() Timber.d("Navigate to doNotShareCheckIns") - autoSubmission.updateMode(AutoSubmission.Mode.MONITOR) val event = if (coronaTest.first().isViewed) { Timber.d("Navigate to SubmissionResultReadyFragment") CheckInsConsentNavigation.ToSubmissionResultReadyFragment @@ -86,6 +83,11 @@ class CheckInsConsentViewModel @AssistedInject constructor( events.postValue(event) } + fun setAutoSubmission() { + Timber.d("setAutoSubmission") + autoSubmission.updateMode(AutoSubmission.Mode.MONITOR) + } + fun onCloseClick() = launch { val event = if (coronaTest.first().isViewed) { Timber.d("openSkipDialog") diff --git a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/ui/presencetracing/attendee/checkins/consent/CheckInsConsentViewModelTest.kt b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/ui/presencetracing/attendee/checkins/consent/CheckInsConsentViewModelTest.kt index bf5f2ee7a8c334051ded1733d6587b9b58b2f83f..d2e41bd456f9c6542916b339a4cf2d241e07f818 100644 --- a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/ui/presencetracing/attendee/checkins/consent/CheckInsConsentViewModelTest.kt +++ b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/ui/presencetracing/attendee/checkins/consent/CheckInsConsentViewModelTest.kt @@ -15,6 +15,7 @@ import io.mockk.every import io.mockk.impl.annotations.MockK import io.mockk.just import io.mockk.mockk +import io.mockk.verify import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.flowOf import okio.ByteString.Companion.decodeBase64 @@ -288,7 +289,6 @@ class CheckInsConsentViewModelTest : BaseTest() { coVerify { checkInRepository.updateSubmissionConsents(any(), false) - autoSubmission.updateMode(AutoSubmission.Mode.MONITOR) checkInRepository.updateSubmissionConsents(any(), true) } } @@ -303,7 +303,6 @@ class CheckInsConsentViewModelTest : BaseTest() { coVerify { checkInRepository.updateSubmissionConsents(any(), false) - autoSubmission.updateMode(AutoSubmission.Mode.MONITOR) checkInRepository.updateSubmissionConsents(any(), true) } } @@ -318,7 +317,6 @@ class CheckInsConsentViewModelTest : BaseTest() { coVerify { checkInRepository.updateSubmissionConsents(any(), false) - autoSubmission.updateMode(AutoSubmission.Mode.MONITOR) } } @@ -332,10 +330,15 @@ class CheckInsConsentViewModelTest : BaseTest() { coVerify { checkInRepository.updateSubmissionConsents(any(), false) - autoSubmission.updateMode(AutoSubmission.Mode.MONITOR) } } + @Test + fun setAutoSubmission() { + createViewModel().setAutoSubmission() + verify { autoSubmission.updateMode(AutoSubmission.Mode.MONITOR) } + } + private fun createViewModel() = CheckInsConsentViewModel( savedState = savedState, dispatcherProvider = TestDispatcherProvider(),