From 8b3d2368ef5c23ec2662f8ed74ac4b63702ccd64 Mon Sep 17 00:00:00 2001
From: Chilja Gossow <49635654+chiljamgossow@users.noreply.github.com>
Date: Thu, 26 Nov 2020 19:05:55 +0100
Subject: [PATCH] Create submission consent screen (QR code flow)
 (EXPOSUREAPP-3676) (#1712)

* create fragment, viewmodel, layout

* remove info fragment

* clean up

* navigation change

* navigate to data privacy
review comments

* move text to legal_strings.xml
test code

* legal_strings.xml

* remove lifecycle assignment as it is redundant
---
 .../SubmissionQrCodeInfoFragmentTest.kt       |   58 -
 .../ui/main/home/HomeFragment.kt              |    8 +-
 .../fragment/SubmissionDispatcherFragment.kt  |   27 +-
 .../consent/SubmissionConsentFragment.kt      |   46 +
 .../SubmissionConsentModule.kt}               |   10 +-
 .../consent/SubmissionConsentViewModel.kt     |   36 +
 .../info/SubmissionQRCodeInfoFragment.kt      |   45 -
 .../scan/SubmissionQRCodeScanFragment.kt      |    2 +-
 .../scan/SubmissionQRCodeScanViewModel.kt     |    2 +-
 .../SubmissionDispatcherViewModel.kt          |    8 +-
 .../viewmodel/SubmissionFragmentModule.kt     |    8 +-
 .../viewmodel/SubmissionNavigationEvents.kt   |    3 +-
 .../res/drawable/ic_illustration_consent.xml  | 1479 +++++++++++++++++
 .../layout/fragment_submission_consent.xml    |  147 ++
 .../layout/fragment_submission_dispatcher.xml |    4 +-
 ...ment_submission_positive_other_warning.xml |    4 +-
 .../fragment_submission_qr_code_info.xml      |   57 -
 .../main/res/layout/include_bullet_point.xml  |   14 +
 .../include_submission_consent_body.xml       |  152 ++
 .../include_submission_consent_intro.xml      |  116 ++
 .../include_submission_qr_code_info.xml       |  219 ---
 .../main/res/layout/merge_guidelines_side.xml |    2 +-
 .../res/layout/view_bullet_point_text.xml     |   40 +
 .../src/main/res/navigation/nav_graph.xml     |   32 +-
 .../src/main/res/values-bg/strings.xml        |   25 +-
 .../src/main/res/values-de/legal_strings.xml  |   18 +
 .../src/main/res/values-de/strings.xml        |   45 +-
 .../src/main/res/values-en/strings.xml        |   25 +-
 .../src/main/res/values-pl/strings.xml        |   25 +-
 .../src/main/res/values-ro/strings.xml        |   25 +-
 .../src/main/res/values-tr/legal_strings.xml  |   18 +
 .../src/main/res/values-tr/strings.xml        |   25 +-
 .../src/main/res/values/dimens.xml            |    2 +
 .../src/main/res/values/legal_strings.xml     |   19 +
 .../src/main/res/values/strings.xml           |   42 +-
 .../consent/SubmissionConsentViewModelTest.kt |   61 +
 ...bmissionQRCodeInfoFragmentViewModelTest.kt |   30 -
 37 files changed, 2211 insertions(+), 668 deletions(-)
 delete mode 100644 Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/submission/SubmissionQrCodeInfoFragmentTest.kt
 create mode 100644 Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/qrcode/consent/SubmissionConsentFragment.kt
 rename Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/qrcode/{info/SubmissionQRCodeInfoModule.kt => consent/SubmissionConsentModule.kt} (56%)
 create mode 100644 Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/qrcode/consent/SubmissionConsentViewModel.kt
 delete mode 100644 Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/qrcode/info/SubmissionQRCodeInfoFragment.kt
 create mode 100644 Corona-Warn-App/src/main/res/drawable/ic_illustration_consent.xml
 create mode 100644 Corona-Warn-App/src/main/res/layout/fragment_submission_consent.xml
 delete mode 100644 Corona-Warn-App/src/main/res/layout/fragment_submission_qr_code_info.xml
 create mode 100644 Corona-Warn-App/src/main/res/layout/include_bullet_point.xml
 create mode 100644 Corona-Warn-App/src/main/res/layout/include_submission_consent_body.xml
 create mode 100644 Corona-Warn-App/src/main/res/layout/include_submission_consent_intro.xml
 delete mode 100644 Corona-Warn-App/src/main/res/layout/include_submission_qr_code_info.xml
 create mode 100644 Corona-Warn-App/src/main/res/layout/view_bullet_point_text.xml
 create mode 100644 Corona-Warn-App/src/test/java/de/rki/coronawarnapp/ui/submission/qrcode/consent/SubmissionConsentViewModelTest.kt
 delete mode 100644 Corona-Warn-App/src/test/java/de/rki/coronawarnapp/ui/submission/qrcode/info/SubmissionQRCodeInfoFragmentViewModelTest.kt

diff --git a/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/submission/SubmissionQrCodeInfoFragmentTest.kt b/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/submission/SubmissionQrCodeInfoFragmentTest.kt
deleted file mode 100644
index 5e2b2ceaf..000000000
--- a/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/submission/SubmissionQrCodeInfoFragmentTest.kt
+++ /dev/null
@@ -1,58 +0,0 @@
-package de.rki.coronawarnapp.ui.submission
-
-import androidx.fragment.app.testing.launchFragment
-import androidx.fragment.app.testing.launchFragmentInContainer
-import androidx.test.espresso.Espresso.onView
-import androidx.test.espresso.action.ViewActions.click
-import androidx.test.espresso.matcher.ViewMatchers.withId
-import androidx.test.ext.junit.runners.AndroidJUnit4
-import dagger.Module
-import dagger.android.ContributesAndroidInjector
-import de.rki.coronawarnapp.R
-import de.rki.coronawarnapp.ui.submission.qrcode.info.SubmissionQRCodeInfoFragment
-import de.rki.coronawarnapp.ui.submission.qrcode.info.SubmissionQRCodeInfoFragmentViewModel
-import io.mockk.MockKAnnotations
-import io.mockk.impl.annotations.MockK
-import org.junit.After
-import org.junit.Before
-import org.junit.Test
-import org.junit.runner.RunWith
-import testhelpers.BaseUITest
-
-@RunWith(AndroidJUnit4::class)
-class SubmissionQrCodeInfoFragmentTest : BaseUITest() {
-
-    @MockK lateinit var viewModel: SubmissionQRCodeInfoFragmentViewModel
-
-    @Before
-    fun setup() {
-        MockKAnnotations.init(this, relaxed = true)
-        setupMockViewModel(object : SubmissionQRCodeInfoFragmentViewModel.Factory {
-            override fun create(): SubmissionQRCodeInfoFragmentViewModel = viewModel
-        })
-    }
-
-    @After
-    fun teardown() {
-        clearAllViewModels()
-    }
-
-    @Test
-    fun launch_fragment() {
-        launchFragment<SubmissionQRCodeInfoFragment>()
-    }
-
-    @Test fun testQRInfoNextClicked() {
-        val scenario = launchFragmentInContainer<SubmissionQRCodeInfoFragment>()
-        onView(withId(R.id.submission_qr_info_button_next))
-            .perform(click())
-
-        // TODO verify result
-    }
-}
-
-@Module
-abstract class SubmissionQRInfoFragmentModule {
-    @ContributesAndroidInjector
-    abstract fun submissionQRInfoScreen(): SubmissionQRCodeInfoFragment
-}
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/main/home/HomeFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/main/home/HomeFragment.kt
index af99a6380..872806720 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/main/home/HomeFragment.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/main/home/HomeFragment.kt
@@ -145,11 +145,11 @@ class HomeFragment : Fragment(R.layout.fragment_home), AutoInject {
                 doNavigate(HomeFragmentDirections.actionMainFragmentToSubmissionResultFragment())
             }
             mainTestUnregistered.apply {
-                val toSubmissionIntro = {
-                    doNavigate(HomeFragmentDirections.actionMainFragmentToSubmissionIntroFragment())
+                val toSubmissionDispatcher = {
+                    doNavigate(HomeFragmentDirections.actionMainFragmentToSubmissionDispatcher())
                 }
-                submissionStatusCardUnregistered.setOnClickListener { toSubmissionIntro() }
-                submissionStatusCardUnregisteredButton.setOnClickListener { toSubmissionIntro() }
+                submissionStatusCardUnregistered.setOnClickListener { toSubmissionDispatcher() }
+                submissionStatusCardUnregisteredButton.setOnClickListener { toSubmissionDispatcher() }
             }
 
             mainTestDone.submissionStatusCardDone.setOnClickListener {
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/fragment/SubmissionDispatcherFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/fragment/SubmissionDispatcherFragment.kt
index 68b0d6ddc..9589db368 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/fragment/SubmissionDispatcherFragment.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/fragment/SubmissionDispatcherFragment.kt
@@ -9,7 +9,6 @@ import de.rki.coronawarnapp.R
 import de.rki.coronawarnapp.databinding.FragmentSubmissionDispatcherBinding
 import de.rki.coronawarnapp.ui.submission.viewmodel.SubmissionDispatcherViewModel
 import de.rki.coronawarnapp.ui.submission.viewmodel.SubmissionNavigationEvents
-import de.rki.coronawarnapp.util.DialogHelper
 import de.rki.coronawarnapp.util.di.AutoInject
 import de.rki.coronawarnapp.util.ui.doNavigate
 import de.rki.coronawarnapp.util.ui.observe2
@@ -42,10 +41,10 @@ class SubmissionDispatcherFragment : Fragment(R.layout.fragment_submission_dispa
                         SubmissionDispatcherFragmentDirections
                             .actionSubmissionDispatcherFragmentToSubmissionContactFragment()
                     )
-                is SubmissionNavigationEvents.NavigateToQRInfo ->
+                is SubmissionNavigationEvents.NavigateToConsent ->
                     doNavigate(
                         SubmissionDispatcherFragmentDirections
-                            .actionSubmissionDispatcherFragmentToSubmissionQRCodeInfoFragment()
+                            .actionSubmissionDispatcherFragmentToSubmissionConsentFragment()
                     )
             }
         }
@@ -61,7 +60,7 @@ class SubmissionDispatcherFragment : Fragment(R.layout.fragment_submission_dispa
             viewModel.onBackPressed()
         }
         binding.submissionDispatcherContent.submissionDispatcherQr.dispatcherCard.setOnClickListener {
-            checkForDataPrivacyPermission()
+            viewModel.onQRCodePressed()
         }
         binding.submissionDispatcherContent.submissionDispatcherTanCode.dispatcherCard.setOnClickListener {
             viewModel.onTanPressed()
@@ -70,24 +69,4 @@ class SubmissionDispatcherFragment : Fragment(R.layout.fragment_submission_dispa
             viewModel.onTeleTanPressed()
         }
     }
-
-    private fun checkForDataPrivacyPermission() {
-        val cameraPermissionRationaleDialogInstance = DialogHelper.DialogInstance(
-            requireActivity(),
-            R.string.submission_dispatcher_qr_privacy_dialog_headline,
-            R.string.submission_dispatcher_qr_privacy_dialog_body,
-            R.string.submission_dispatcher_qr_privacy_dialog_button_positive,
-            R.string.submission_dispatcher_qr_privacy_dialog_button_negative,
-            true,
-            positiveButtonFunction = {
-                onPrivacyPermissionGranted()
-            }
-        )
-
-        DialogHelper.showDialog(cameraPermissionRationaleDialogInstance)
-    }
-
-    private fun onPrivacyPermissionGranted() {
-        viewModel.onQRScanPressed()
-    }
 }
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
new file mode 100644
index 000000000..8d0b2a7b1
--- /dev/null
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/qrcode/consent/SubmissionConsentFragment.kt
@@ -0,0 +1,46 @@
+package de.rki.coronawarnapp.ui.submission.qrcode.consent
+
+import android.os.Bundle
+import android.view.View
+import androidx.fragment.app.Fragment
+import de.rki.coronawarnapp.R
+import de.rki.coronawarnapp.databinding.FragmentSubmissionConsentBinding
+import de.rki.coronawarnapp.ui.submission.viewmodel.SubmissionNavigationEvents
+import de.rki.coronawarnapp.util.di.AutoInject
+import de.rki.coronawarnapp.util.ui.doNavigate
+import de.rki.coronawarnapp.util.ui.observe2
+import de.rki.coronawarnapp.util.ui.viewBindingLazy
+import de.rki.coronawarnapp.util.viewmodel.CWAViewModelFactoryProvider
+import de.rki.coronawarnapp.util.viewmodel.cwaViewModels
+import javax.inject.Inject
+
+class SubmissionConsentFragment : Fragment(R.layout.fragment_submission_consent), AutoInject {
+
+    @Inject lateinit var viewModelFactory: CWAViewModelFactoryProvider.Factory
+    private val viewModel: SubmissionConsentViewModel by cwaViewModels { viewModelFactory }
+    private val binding: FragmentSubmissionConsentBinding by viewBindingLazy()
+
+    override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
+        super.onViewCreated(view, savedInstanceState)
+        binding.viewModel = viewModel
+        binding.submissionConsentHeader.headerButtonBack.buttonIcon.setOnClickListener {
+            viewModel.onBackButtonClick()
+        }
+        viewModel.routeToScreen.observe2(this) {
+            when (it) {
+                is SubmissionNavigationEvents.NavigateToQRCodeScan -> doNavigate(
+                    SubmissionConsentFragmentDirections.actionSubmissionConsentFragmentToSubmissionQRCodeScanFragment()
+                )
+                is SubmissionNavigationEvents.NavigateToDispatcher -> doNavigate(
+                    SubmissionConsentFragmentDirections.actionSubmissionConsentFragmentToHomeFragment()
+                )
+                is SubmissionNavigationEvents.NavigateToDataPrivacy -> doNavigate(
+                    SubmissionConsentFragmentDirections.actionSubmissionConsentFragmentToInformationPrivacyFragment()
+                )
+            }
+        }
+        viewModel.countries.observe2(this) {
+            binding.countries = it
+        }
+    }
+}
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/qrcode/info/SubmissionQRCodeInfoModule.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/qrcode/consent/SubmissionConsentModule.kt
similarity index 56%
rename from Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/qrcode/info/SubmissionQRCodeInfoModule.kt
rename to Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/qrcode/consent/SubmissionConsentModule.kt
index 437fc64b2..40064c3b0 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/qrcode/info/SubmissionQRCodeInfoModule.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/qrcode/consent/SubmissionConsentModule.kt
@@ -1,4 +1,4 @@
-package de.rki.coronawarnapp.ui.submission.qrcode.info
+package de.rki.coronawarnapp.ui.submission.qrcode.consent
 
 import dagger.Binds
 import dagger.Module
@@ -8,11 +8,11 @@ import de.rki.coronawarnapp.util.viewmodel.CWAViewModelFactory
 import de.rki.coronawarnapp.util.viewmodel.CWAViewModelKey
 
 @Module
-abstract class SubmissionQRCodeInfoModule {
+abstract class SubmissionConsentModule {
     @Binds
     @IntoMap
-    @CWAViewModelKey(SubmissionQRCodeInfoFragmentViewModel::class)
-    abstract fun infoQRFragment(
-        factory: SubmissionQRCodeInfoFragmentViewModel.Factory
+    @CWAViewModelKey(SubmissionConsentViewModel::class)
+    abstract fun submissionConsentFragment(
+        factory: SubmissionConsentViewModel.Factory
     ): CWAViewModelFactory<out CWAViewModel>
 }
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
new file mode 100644
index 000000000..e720c062a
--- /dev/null
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/qrcode/consent/SubmissionConsentViewModel.kt
@@ -0,0 +1,36 @@
+package de.rki.coronawarnapp.ui.submission.qrcode.consent
+
+import androidx.lifecycle.asLiveData
+import com.squareup.inject.assisted.AssistedInject
+import de.rki.coronawarnapp.storage.SubmissionRepository
+import de.rki.coronawarnapp.storage.interoperability.InteroperabilityRepository
+import de.rki.coronawarnapp.ui.submission.viewmodel.SubmissionNavigationEvents
+import de.rki.coronawarnapp.util.ui.SingleLiveEvent
+import de.rki.coronawarnapp.util.viewmodel.CWAViewModel
+import de.rki.coronawarnapp.util.viewmodel.SimpleCWAViewModelFactory
+
+class SubmissionConsentViewModel @AssistedInject constructor(
+    private val submissionRepository: SubmissionRepository,
+    interoperabilityRepository: InteroperabilityRepository
+) : CWAViewModel() {
+
+    val routeToScreen: SingleLiveEvent<SubmissionNavigationEvents> = SingleLiveEvent()
+
+    val countries = interoperabilityRepository.countryListFlow.asLiveData()
+
+    fun onConsentButtonClick() {
+        submissionRepository.giveConsentToSubmission()
+        routeToScreen.postValue(SubmissionNavigationEvents.NavigateToQRCodeScan)
+    }
+
+    fun onBackButtonClick() {
+        routeToScreen.postValue(SubmissionNavigationEvents.NavigateToDispatcher)
+    }
+
+    fun onDataPrivacyClick() {
+        routeToScreen.postValue(SubmissionNavigationEvents.NavigateToDataPrivacy)
+    }
+
+    @AssistedInject.Factory
+    interface Factory : SimpleCWAViewModelFactory<SubmissionConsentViewModel>
+}
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/qrcode/info/SubmissionQRCodeInfoFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/qrcode/info/SubmissionQRCodeInfoFragment.kt
deleted file mode 100644
index c98d506a0..000000000
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/qrcode/info/SubmissionQRCodeInfoFragment.kt
+++ /dev/null
@@ -1,45 +0,0 @@
-package de.rki.coronawarnapp.ui.submission.qrcode.info
-
-import android.os.Bundle
-import android.view.View
-import androidx.fragment.app.Fragment
-import androidx.navigation.fragment.findNavController
-import de.rki.coronawarnapp.R
-import de.rki.coronawarnapp.databinding.FragmentSubmissionQrCodeInfoBinding
-import de.rki.coronawarnapp.util.di.AutoInject
-import de.rki.coronawarnapp.util.ui.doNavigate
-import de.rki.coronawarnapp.util.ui.observe2
-import de.rki.coronawarnapp.util.ui.viewBindingLazy
-import de.rki.coronawarnapp.util.viewmodel.CWAViewModelFactoryProvider
-import de.rki.coronawarnapp.util.viewmodel.cwaViewModels
-import javax.inject.Inject
-
-class SubmissionQRCodeInfoFragment : Fragment(R.layout.fragment_submission_qr_code_info), AutoInject {
-
-    @Inject lateinit var viewModelFactory: CWAViewModelFactoryProvider.Factory
-    private val viewModel: SubmissionQRCodeInfoFragmentViewModel by cwaViewModels { viewModelFactory }
-    private val binding: FragmentSubmissionQrCodeInfoBinding by viewBindingLazy()
-
-    override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
-        super.onViewCreated(view, savedInstanceState)
-
-        binding.submissionQrCodeInfoHeader.headerButtonBack.buttonIcon.setOnClickListener {
-            viewModel.onBackPressed()
-        }
-
-        binding.submissionQrInfoButtonNext.setOnClickListener {
-            viewModel.onNextPressed()
-        }
-
-        viewModel.navigateToDispatcher.observe2(this) {
-            findNavController().popBackStack()
-        }
-
-        viewModel.navigateToQRScan.observe2(this) {
-            doNavigate(
-                SubmissionQRCodeInfoFragmentDirections
-                    .actionSubmissionQRCodeInfoFragmentToSubmissionQRCodeScanFragment()
-            )
-        }
-    }
-}
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/qrcode/scan/SubmissionQRCodeScanFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/qrcode/scan/SubmissionQRCodeScanFragment.kt
index b9b618c30..28b89d5b7 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/qrcode/scan/SubmissionQRCodeScanFragment.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/qrcode/scan/SubmissionQRCodeScanFragment.kt
@@ -97,7 +97,7 @@ class SubmissionQRCodeScanFragment : Fragment(R.layout.fragment_submission_qr_co
             when (it) {
                 is SubmissionNavigationEvents.NavigateToDispatcher ->
                     navigateToDispatchScreen()
-                is SubmissionNavigationEvents.NavigateToQRInfo ->
+                is SubmissionNavigationEvents.NavigateToConsent ->
                     goBack()
             }
         }
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/qrcode/scan/SubmissionQRCodeScanViewModel.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/qrcode/scan/SubmissionQRCodeScanViewModel.kt
index 77ea20599..0a282b83e 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/qrcode/scan/SubmissionQRCodeScanViewModel.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/qrcode/scan/SubmissionQRCodeScanViewModel.kt
@@ -85,7 +85,7 @@ class SubmissionQRCodeScanViewModel @AssistedInject constructor(
     }
 
     fun onBackPressed() {
-        routeToScreen.postValue(SubmissionNavigationEvents.NavigateToQRInfo)
+        routeToScreen.postValue(SubmissionNavigationEvents.NavigateToConsent)
     }
 
     fun onClosePressed() {
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/viewmodel/SubmissionDispatcherViewModel.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/viewmodel/SubmissionDispatcherViewModel.kt
index 6e22fbdba..0bb7e7ff1 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/viewmodel/SubmissionDispatcherViewModel.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/viewmodel/SubmissionDispatcherViewModel.kt
@@ -13,10 +13,6 @@ class SubmissionDispatcherViewModel @AssistedInject constructor() : CWAViewModel
         routeToScreen.postValue(SubmissionNavigationEvents.NavigateToMainActivity)
     }
 
-    fun onQRScanPressed() {
-        routeToScreen.postValue(SubmissionNavigationEvents.NavigateToQRInfo)
-    }
-
     fun onTanPressed() {
         routeToScreen.postValue(SubmissionNavigationEvents.NavigateToTAN)
     }
@@ -25,6 +21,10 @@ class SubmissionDispatcherViewModel @AssistedInject constructor() : CWAViewModel
         routeToScreen.postValue(SubmissionNavigationEvents.NavigateToContact)
     }
 
+    fun onQRCodePressed() {
+        routeToScreen.postValue(SubmissionNavigationEvents.NavigateToConsent)
+    }
+
     @AssistedInject.Factory
     interface Factory : SimpleCWAViewModelFactory<SubmissionDispatcherViewModel>
 }
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/viewmodel/SubmissionFragmentModule.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/viewmodel/SubmissionFragmentModule.kt
index 07cdfe2f9..667755dd4 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/viewmodel/SubmissionFragmentModule.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/viewmodel/SubmissionFragmentModule.kt
@@ -6,8 +6,8 @@ import de.rki.coronawarnapp.ui.submission.fragment.SubmissionContactFragment
 import de.rki.coronawarnapp.ui.submission.fragment.SubmissionDispatcherFragment
 import de.rki.coronawarnapp.ui.submission.fragment.SubmissionDoneFragment
 import de.rki.coronawarnapp.ui.submission.fragment.SubmissionIntroFragment
-import de.rki.coronawarnapp.ui.submission.qrcode.info.SubmissionQRCodeInfoFragment
-import de.rki.coronawarnapp.ui.submission.qrcode.info.SubmissionQRCodeInfoModule
+import de.rki.coronawarnapp.ui.submission.qrcode.consent.SubmissionConsentFragment
+import de.rki.coronawarnapp.ui.submission.qrcode.consent.SubmissionConsentModule
 import de.rki.coronawarnapp.ui.submission.qrcode.scan.SubmissionQRCodeScanFragment
 import de.rki.coronawarnapp.ui.submission.qrcode.scan.SubmissionQRCodeScanModule
 import de.rki.coronawarnapp.ui.submission.symptoms.calendar.SubmissionSymptomCalendarFragment
@@ -60,6 +60,6 @@ internal abstract class SubmissionFragmentModule {
     @ContributesAndroidInjector(modules = [SubmissionSymptomCalendarModule::class])
     abstract fun submissionSymptomCalendarScreen(): SubmissionSymptomCalendarFragment
 
-    @ContributesAndroidInjector(modules = [SubmissionQRCodeInfoModule::class])
-    abstract fun submissionQRCodeInfoScreen(): SubmissionQRCodeInfoFragment
+    @ContributesAndroidInjector(modules = [SubmissionConsentModule::class])
+    abstract fun submissionConsentScreen(): SubmissionConsentFragment
 }
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/viewmodel/SubmissionNavigationEvents.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/viewmodel/SubmissionNavigationEvents.kt
index 5a0fe235f..4db51a3fc 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/viewmodel/SubmissionNavigationEvents.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/viewmodel/SubmissionNavigationEvents.kt
@@ -8,6 +8,7 @@ sealed class SubmissionNavigationEvents {
     object NavigateToSubmissionDone : SubmissionNavigationEvents()
     object NavigateToSubmissionIntro : SubmissionNavigationEvents()
     object NavigateToQRCodeScan : SubmissionNavigationEvents()
+    object NavigateToDataPrivacy : SubmissionNavigationEvents()
 
     data class NavigateToResultPositiveOtherWarning(
         val symptoms: Symptoms
@@ -21,7 +22,7 @@ sealed class SubmissionNavigationEvents {
     object NavigateToSymptomIntroduction : SubmissionNavigationEvents()
     object NavigateToTAN : SubmissionNavigationEvents()
     object NavigateToTestResult : SubmissionNavigationEvents()
-    object NavigateToQRInfo : SubmissionNavigationEvents()
+    object NavigateToConsent : SubmissionNavigationEvents()
     object NavigateToMainActivity : SubmissionNavigationEvents()
     object ShowCancelDialog : SubmissionNavigationEvents()
 }
diff --git a/Corona-Warn-App/src/main/res/drawable/ic_illustration_consent.xml b/Corona-Warn-App/src/main/res/drawable/ic_illustration_consent.xml
new file mode 100644
index 000000000..98fac7d4b
--- /dev/null
+++ b/Corona-Warn-App/src/main/res/drawable/ic_illustration_consent.xml
@@ -0,0 +1,1479 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="357dp"
+    android:height="212dp"
+    android:viewportWidth="357"
+    android:viewportHeight="212">
+  <path
+      android:pathData="M182.943,186.428C230.263,186.428 268.623,149.171 268.623,103.212C268.623,57.253 230.263,19.995 182.943,19.995C135.624,19.995 97.263,57.253 97.263,103.212C97.263,149.171 135.624,186.428 182.943,186.428Z"
+      android:fillColor="#F6FBFF"
+      android:fillType="evenOdd"/>
+  <group>
+    <clip-path
+        android:pathData="M97.264,103.212C97.264,149.171 135.624,186.428 182.944,186.428C230.264,186.428 268.624,149.171 268.624,103.212C268.624,57.253 230.264,19.995 182.944,19.995C135.624,19.995 97.264,57.253 97.264,103.212Z"
+        android:fillType="evenOdd"/>
+    <path
+        android:pathData="M91.589,191.94H274.298V14.484H91.589V191.94Z"
+        android:fillColor="#F6FBFF"
+        android:fillType="evenOdd"/>
+  </group>
+  <group>
+    <clip-path
+        android:pathData="M116.303,103.212C116.303,138.958 146.14,167.936 182.944,167.936C219.748,167.936 249.584,138.958 249.584,103.212C249.584,67.467 219.748,38.488 182.944,38.488C146.14,38.488 116.303,67.467 116.303,103.212Z"
+        android:fillType="evenOdd"/>
+    <path
+        android:pathData="M111.891,172.222H253.997V34.202H111.891V172.222Z"
+        android:fillColor="#E9F6FF"
+        android:fillType="evenOdd"/>
+  </group>
+  <path
+      android:pathData="M110.646,109.217C110.646,110.661 111.506,111.917 112.782,112.591V116.894C112.782,117.46 113.284,117.918 113.905,117.918H115.931C116.551,117.918 117.053,117.46 117.053,116.894V112.591C118.329,111.917 119.191,110.661 119.191,109.217C119.191,107.063 117.278,105.316 114.917,105.316C112.559,105.316 110.646,107.063 110.646,109.217Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <group>
+    <clip-path
+        android:pathData="M184.617,46.118L183.215,56.289H192.735L192.366,46.118H184.617Z"
+        android:fillType="evenOdd"/>
+    <path
+        android:pathData="M178.456,60.912H197.496V41.495H178.456V60.912Z"
+        android:fillColor="#B7846A"
+        android:fillType="evenOdd"/>
+  </group>
+  <group>
+    <clip-path
+        android:pathData="M180.398,38.737C180.358,55.023 197.288,52.906 197.779,36.563C197.797,28.954 194.11,25.362 190.127,25.361C185.585,25.36 180.658,30.03 180.398,38.737Z"
+        android:fillType="evenOdd"/>
+    <path
+        android:pathData="M175.637,54.562H202.54V20.738H175.637V54.562Z"
+        android:fillColor="#B7846A"
+        android:fillType="evenOdd"/>
+  </group>
+  <group>
+    <clip-path
+        android:pathData="M176.921,100.962C171.143,120.311 171.573,132.867 170.371,143.455C170.354,143.476 174.236,191.711 174.232,191.723L180.627,191.875C181.407,175.777 182.19,159.678 182.969,143.579C185.013,132.831 188.136,124.146 190.408,116.138L191.11,121.861L195.559,191.458L200.313,191.307C202.338,161.553 210.444,135.866 203.123,100.204L176.921,100.962Z"
+        android:fillType="evenOdd"/>
+    <path
+        android:pathData="M165.611,196.499H210.888V95.581H165.611V196.499Z"
+        android:fillColor="#DEA8A3"
+        android:fillType="evenOdd"/>
+  </group>
+  <group>
+    <clip-path
+        android:pathData="M169.313,101.365L166.838,98.64C152.845,117.212 172.257,114.582 169.313,101.365Z"
+        android:fillType="evenOdd"/>
+    <path
+        android:pathData="M156.952,116.547H174.382V94.017H156.952V116.547Z"
+        android:fillColor="#B7846A"
+        android:fillType="evenOdd"/>
+  </group>
+  <group>
+    <clip-path
+        android:pathData="M167.675,79.717C166.518,84.96 166.133,92.616 165.413,97.623C165.318,98.279 164.715,100.947 166.319,101.514C168.193,102.15 169.578,102.912 170.123,101.152C171.91,95.384 174.876,83.192 176.537,75.544C176.896,73.886 177.693,70.992 177.693,71.751C177.693,72.599 175.649,98.789 176.921,100.962C177.58,102.087 181.523,102.581 186.191,102.597H186.689C193.246,102.574 201.024,101.638 203.123,100.204C203.64,99.851 203.376,95.006 202.703,89.145C202.588,89.038 202.471,88.932 202.353,88.823C200.521,87.131 196.189,84.27 193.411,83.076C194.152,81.217 195.062,80.438 195.802,78.579C195.802,78.579 200.05,81.543 200.812,81.994C201.157,82.197 201.503,82.388 201.837,82.567C201.635,81.212 201.42,79.873 201.196,78.579C200.165,72.609 200.041,67.198 200.041,67.198C200.041,67.198 201.417,74.072 202.353,77.062C203.894,81.994 204.665,83.89 204.665,83.89C204.665,83.89 203.367,83.379 201.837,82.567C202.167,84.782 202.463,87.03 202.703,89.145C208.672,94.597 212.619,96.702 215.455,92.237C215.645,91.937 215.735,91.496 215.746,90.94V90.729C215.68,86.83 212.092,77.974 210.445,72.129C208.599,65.591 204.665,54.298 192.923,54.258C192.053,54.257 191.079,54.39 190.092,54.523C187.721,54.843 185.278,55.164 184.062,53.593C171.913,56.575 169.601,70.992 167.675,79.717Z"
+        android:fillType="evenOdd"/>
+    <path
+        android:pathData="M160.463,107.22H220.506V48.97H160.463V107.22Z"
+        android:fillColor="#B2DBF0"
+        android:fillType="evenOdd"/>
+  </group>
+  <group>
+    <clip-path
+        android:pathData="M195.221,203.308C197.055,205.13 198.395,204.256 200.123,203.308C204.509,201.419 200.943,193.023 200.475,191.054L195.821,189.916C195.718,191.509 191.258,200.951 195.221,203.308Z"
+        android:fillType="evenOdd"/>
+    <path
+        android:pathData="M188.822,208.996H207.045V185.293H188.822V208.996Z"
+        android:fillColor="#4A4A4A"
+        android:fillType="evenOdd"/>
+  </group>
+  <group>
+    <clip-path
+        android:pathData="M162.167,201.373C167.671,201.362 173.949,201.352 179.453,201.341C179.643,201.281 180.05,201.123 180.402,200.732C181.47,200.081 180.478,192.884 180.627,191.874C178.495,191.824 176.364,191.774 174.232,191.723C174.489,197.126 159.109,198.063 162.167,201.373Z"
+        android:fillType="evenOdd"/>
+    <path
+        android:pathData="M157.004,205.997H185.664V187.101H157.004V205.997Z"
+        android:fillColor="#4A4A4A"
+        android:fillType="evenOdd"/>
+  </group>
+  <group>
+    <clip-path
+        android:pathData="M181.711,68.119C181.021,68.119 180.51,68.671 180.571,69.35L181.685,81.897C181.745,82.577 182.355,83.128 183.046,83.128H188.304C188.996,83.128 189.506,82.577 189.446,81.897L188.331,69.35C188.27,68.671 187.661,68.119 186.971,68.119H181.711Z"
+        android:fillType="evenOdd"/>
+    <path
+        android:pathData="M175.805,87.751H194.21V63.496H175.805V87.751Z"
+        android:fillColor="#4A4A4A"
+        android:fillType="evenOdd"/>
+  </group>
+  <group>
+    <clip-path
+        android:pathData="M184.456,78.517C186.174,80.656 190.121,82.796 193.713,82.46L194.646,80.761L195.459,79.006C193.453,77.563 191.303,75.505 188.509,74.569C188.161,74.547 187.833,74.538 187.526,74.538C183.19,74.538 182.859,76.528 184.456,78.517Z"
+        android:fillType="evenOdd"/>
+    <path
+        android:pathData="M178.816,87.119H200.218V69.914H178.816V87.119Z"
+        android:fillColor="#B7846A"
+        android:fillType="evenOdd"/>
+  </group>
+  <group>
+    <clip-path
+        android:pathData="M179.415,13.95C179.13,14.261 178.706,14.408 178.284,14.354C173.412,13.715 172.636,15.174 172.317,16.634C171.999,18.092 172.14,19.549 169.114,18.916C162.918,17.616 163.835,22.276 163.519,24.226C163.205,26.173 161.022,26.478 161.022,26.478C159.168,26.993 161.113,30.087 159.049,31.664C157.374,32.942 157.896,34.506 158.154,35.053C158.209,35.171 158.285,35.278 158.374,35.374C160.874,38.072 159.053,38.989 159.053,38.989C157.944,39.843 157.526,40.645 157.511,41.362V41.446C157.54,42.719 158.821,43.723 159.724,44.273C160.175,44.547 160.4,45.073 160.302,45.588C159.956,47.435 161.801,48.443 163.807,48.227C166.1,47.981 165.963,50.026 165.963,50.026C165.186,53.013 168.156,53.043 169.704,52.865C170.205,52.809 170.702,53.048 170.953,53.478C171.583,54.565 172.389,54.94 173.183,54.959H173.311C174.253,54.937 175.16,54.439 175.713,54.065C176.054,53.833 176.489,53.775 176.877,53.918C178.757,54.613 179.779,53.92 180.242,53.405C180.474,53.145 180.82,53 181.171,53.007C184.719,53.074 186.301,47.034 185.49,45.496L181.806,40.215C181.344,39.181 179.657,34.426 182.074,33.019C183.886,31.965 185.357,33.698 188.179,30.559C190.752,27.697 190.751,27.467 192.021,27.249C192.91,27.094 193.303,29.201 196.011,30.664C196.39,30.869 196.411,31.775 196.458,32.101C197.652,40.192 192.597,44.985 190.979,46.162C190.699,46.365 190.518,46.668 190.467,47.007C189.285,54.758 197.232,54.472 198.869,54.333C199.068,54.317 199.263,54.35 199.45,54.415C201.777,55.23 203.087,53.688 203.664,52.689C203.915,52.255 204.411,52.018 204.915,52.064C207.955,52.341 208.8,50.511 209.034,49.449C209.13,49.015 209.446,48.66 209.872,48.517C212.825,47.534 212.816,45.275 212.645,44.26C212.588,43.92 212.684,43.57 212.895,43.294C213.712,42.23 214.01,41.34 214.015,40.607V40.561C214.007,39.532 213.419,38.824 212.897,38.397C212.487,38.061 212.353,37.519 212.504,37.016C213.176,34.777 210.78,33.216 209.407,32.525C208.932,32.287 208.646,31.776 208.718,31.257C208.997,29.29 207.723,28.23 206.827,27.739C206.365,27.485 206.107,26.979 206.177,26.463C206.774,22.023 203.416,21.17 202.016,21.005C201.651,20.963 201.329,20.764 201.108,20.472C199.413,18.234 196.421,19.665 196.421,19.665C196.421,19.665 195.048,20.424 195.57,18.131C195.975,16.365 194.351,15.865 193.411,15.723C193.024,15.664 192.707,15.417 192.527,15.075C191.041,12.245 187.239,12.688 185.871,12.951C185.553,13.012 185.226,12.948 184.948,12.784C184.221,12.352 183.534,12.183 182.901,12.183C181.29,12.183 180.033,13.281 179.415,13.95Z"
+        android:fillType="evenOdd"/>
+    <path
+        android:pathData="M152.751,59.583H218.776V7.56H152.751V59.583Z"
+        android:fillColor="#000000"
+        android:fillType="evenOdd"/>
+  </group>
+  <group>
+    <clip-path
+        android:pathData="M192.833,83.895L203.265,94.708L201.617,81.733L195.577,78.489L192.833,83.895Z"
+        android:fillType="evenOdd"/>
+    <path
+        android:pathData="M188.072,99.331H208.025V73.866H188.072V99.331Z"
+        android:fillColor="#B2DBF0"
+        android:fillType="evenOdd"/>
+  </group>
+  <group>
+    <clip-path
+        android:pathData="M0,0.162h357v211.74h-357z"/>
+  </group>
+  <path
+      android:pathData="M31.534,49.894L114.633,31.261A3.974,4.025 121.996,0 1,119.461 34.277L144.808,140.912A3.974,4.025 121.996,0 1,141.83 145.679L58.731,164.312A3.974,4.025 121.996,0 1,53.903 161.296L28.556,54.661A3.974,4.025 121.996,0 1,31.534 49.894z"
+      android:fillColor="#E7E7E7"/>
+  <path
+      android:pathData="M56.347,131.659L130.579,115.014A0.46,0.466 121.993,0 1,131.138 115.363L131.138,115.363A0.46,0.466 121.993,0 1,130.794 115.915L56.561,132.56A0.46,0.466 121.993,0 1,56.003 132.21L56.003,132.21A0.46,0.466 121.993,0 1,56.347 131.659z"
+      android:fillColor="#657888"/>
+  <path
+      android:pathData="M58.197,138.699L112.949,126.422A0.46,0.466 121.996,0 1,113.508 126.771L113.508,126.771A0.46,0.466 121.996,0 1,113.163 127.322L58.411,139.6A0.46,0.466 121.996,0 1,57.852 139.25L57.852,139.25A0.46,0.466 121.996,0 1,58.197 138.699z"
+      android:fillColor="#657888"/>
+  <path
+      android:pathData="M60.247,145.494L126.131,130.721A0.46,0.466 121.993,0 1,126.69 131.07L126.69,131.07A0.46,0.466 121.993,0 1,126.345 131.622L60.461,146.395A0.46,0.466 121.993,0 1,59.902 146.045L59.902,146.045A0.46,0.466 121.993,0 1,60.247 145.494z"
+      android:fillColor="#657888"/>
+  <path
+      android:pathData="M92.269,63.081L91.012,63.358L90.727,62.137L91.985,61.86L92.269,63.081Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M93.526,62.805L92.27,63.08L91.984,61.861L93.241,61.584L93.526,62.805Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M94.783,62.528L93.526,62.805L93.241,61.585L94.499,61.308L94.783,62.528Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M96.04,62.252L94.783,62.528L94.498,61.308L95.755,61.031L96.04,62.252Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M97.297,61.975L96.04,62.252L95.755,61.031L97.013,60.754L97.297,61.975Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M98.554,61.699L97.297,61.975L97.012,60.756L98.27,60.479L98.554,61.699Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M99.812,61.422L98.555,61.699L98.27,60.478L99.526,60.201L99.812,61.422Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M100.096,62.644L98.839,62.919L98.554,61.7L99.812,61.423L100.096,62.644Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M100.381,63.864L99.124,64.14L98.839,62.919L100.096,62.644L100.381,63.864Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M100.666,65.085L99.409,65.362L99.123,64.141L100.382,63.864L100.666,65.085Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M100.95,66.306L99.693,66.581L99.408,65.362L100.666,65.085L100.95,66.306Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M101.235,67.526L99.978,67.803L99.693,66.583L100.95,66.306L101.235,67.526Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M101.519,68.748L100.262,69.024L99.977,67.804L101.235,67.527L101.519,68.748Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M67.756,68.473L69.013,68.196L68.728,66.976L67.471,67.253L67.756,68.473Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M66.499,68.75L67.756,68.474L67.471,67.252L66.215,67.529L66.499,68.75Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M65.243,69.026L66.5,68.749L66.214,67.528L64.957,67.805L65.243,69.026Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M63.985,69.302L65.242,69.027L64.957,67.805L63.7,68.082L63.985,69.302Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M62.728,69.58L63.985,69.303L63.7,68.082L62.444,68.359L62.728,69.58Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M61.471,69.855L62.728,69.579L62.443,68.357L61.186,68.634L61.471,69.855Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M60.214,70.132L61.471,69.855L61.186,68.635L59.93,68.912L60.214,70.132Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M60.499,71.353L61.756,71.077L61.471,69.855L60.214,70.132L60.499,71.353Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M60.783,72.574L62.04,72.297L61.755,71.076L60.5,71.353L60.783,72.574Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M61.068,73.795L62.325,73.519L62.04,72.297L60.783,72.574L61.068,73.795Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M61.353,75.016L62.61,74.741L62.324,73.519L61.069,73.796L61.353,75.016Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M61.637,76.237L62.894,75.96L62.61,74.739L61.354,75.016L61.637,76.237Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M61.922,77.458L63.179,77.182L62.894,75.96L61.637,76.237L61.922,77.458Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M100.739,99.403L99.482,99.68L99.766,100.901L101.023,100.624L100.739,99.403Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M101.996,99.127L100.739,99.403L101.024,100.625L102.281,100.348L101.996,99.127Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M103.253,98.85L101.996,99.127L102.281,100.347L103.537,100.07L103.253,98.85Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M104.509,98.573L103.252,98.849L103.538,100.071L104.794,99.794L104.509,98.573Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M105.767,98.297L104.51,98.574L104.795,99.795L106.052,99.518L105.767,98.297Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M107.024,98.021L105.767,98.296L106.052,99.518L107.308,99.241L107.024,98.021Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M108.281,97.744L107.024,98.02L107.309,99.242L108.566,98.965L108.281,97.744Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M107.996,96.523L106.739,96.799L107.024,98.021L108.28,97.744L107.996,96.523Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M107.711,95.302L106.455,95.579L106.74,96.799L107.997,96.522L107.711,95.302Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M107.427,94.082L106.17,94.358L106.455,95.58L107.711,95.303L107.427,94.082Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M107.142,92.86L105.885,93.137L106.17,94.358L107.427,94.081L107.142,92.86Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M106.857,91.64L105.601,91.915L105.886,93.137L107.141,92.86L106.857,91.64Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M106.572,90.419L105.315,90.695L105.601,91.917L106.857,91.64L106.572,90.419Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M76.226,104.796L77.482,104.519L77.768,105.739L76.511,106.016L76.226,104.796Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M74.969,105.072L76.226,104.796L76.511,106.017L75.253,106.292L74.969,105.072Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M73.712,105.348L74.969,105.071L75.254,106.292L73.997,106.569L73.712,105.348Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M72.455,105.624L73.712,105.349L73.997,106.568L72.739,106.845L72.455,105.624Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M71.198,105.901L72.455,105.624L72.74,106.845L71.482,107.122L71.198,105.901Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M69.94,106.177L71.197,105.901L71.482,107.121L70.226,107.398L69.94,106.177Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M68.684,106.455L69.941,106.178L70.226,107.398L68.968,107.675L68.684,106.455Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M68.399,105.233L69.656,104.957L69.941,106.176L68.684,106.453L68.399,105.233Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M68.115,104.012L69.372,103.735L69.657,104.956L68.399,105.233L68.115,104.012Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M67.83,102.792L69.086,102.515L69.372,103.735L68.115,104.012L67.83,102.792Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M67.545,101.571L68.802,101.295L69.087,102.514L67.829,102.791L67.545,101.571Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M67.26,100.35L68.517,100.073L68.802,101.294L67.546,101.571L67.26,100.35Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M66.976,99.128L68.232,98.853L68.518,100.072L67.259,100.349L66.976,99.128Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M77.831,70.589L76.574,70.866L76.289,69.645L77.547,69.368L77.831,70.589Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M81.602,69.76L80.345,70.035L80.06,68.816L81.318,68.539L81.602,69.76Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M79.373,71.533L78.116,71.81L77.831,70.59L79.089,70.313L79.373,71.533Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M83.144,70.704L81.887,70.981L81.602,69.76L82.86,69.483L83.144,70.704Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M85.658,70.15L84.401,70.427L84.116,69.207L85.374,68.93L85.658,70.15Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M80.914,72.479L79.657,72.754L79.372,71.534L80.63,71.258L80.914,72.479Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M85.943,71.372L84.686,71.648L84.401,70.428L85.658,70.151L85.943,71.372Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M78.685,74.252L77.428,74.529L77.143,73.308L78.4,73.031L78.685,74.252Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M81.199,73.698L79.942,73.975L79.657,72.755L80.914,72.478L81.199,73.698Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M83.713,73.146L82.456,73.423L82.171,72.202L83.429,71.925L83.713,73.146Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M84.97,72.869L83.713,73.145L83.428,71.925L84.685,71.648L84.97,72.869Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M78.969,75.473L77.713,75.748L77.427,74.529L78.685,74.252L78.969,75.473Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M80.227,75.196L78.97,75.473L78.685,74.253L79.941,73.976L80.227,75.196Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M80.511,76.417L79.255,76.693L78.969,75.473L80.227,75.196L80.511,76.417Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M81.769,76.141L80.512,76.418L80.227,75.197L81.483,74.92L81.769,76.141Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M85.54,75.311L84.283,75.586L83.998,74.367L85.254,74.09L85.54,75.311Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M86.796,75.035L85.54,75.311L85.254,74.09L86.513,73.814L86.796,75.035Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M79.539,77.914L78.282,78.19L77.997,76.97L79.255,76.693L79.539,77.914Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M83.31,77.085L82.053,77.361L81.768,76.14L83.025,75.864L83.31,77.085Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M79.824,79.136L78.567,79.411L78.282,78.191L79.539,77.915L79.824,79.136Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M81.081,78.858L79.824,79.135L79.539,77.915L80.797,77.638L81.081,78.858Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M83.595,78.306L82.338,78.583L82.053,77.362L83.311,77.085L83.595,78.306Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M86.109,77.753L84.853,78.03L84.567,76.809L85.824,76.532L86.109,77.753Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M87.366,77.477L86.109,77.752L85.824,76.533L87.082,76.256L87.366,77.477Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M87.887,68.377L86.63,68.653L86.345,67.432L87.603,67.156L87.887,68.377Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M88.172,69.598L86.916,69.875L86.63,68.654L87.887,68.377L88.172,69.598Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M88.457,70.819L87.2,71.095L86.915,69.876L88.173,69.599L88.457,70.819Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M90.971,70.266L89.714,70.541L89.429,69.322L90.687,69.045L90.971,70.266Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M92.228,69.989L90.971,70.266L90.686,69.046L91.943,68.769L92.228,69.989Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M93.484,69.713L92.228,69.989L91.942,68.769L93.201,68.492L93.484,69.713Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M94.742,69.436L93.485,69.713L93.2,68.492L94.458,68.215L94.742,69.436Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M88.742,72.039L87.485,72.316L87.2,71.095L88.456,70.818L88.742,72.039Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M91.255,71.486L89.999,71.763L89.713,70.543L90.97,70.266L91.255,71.486Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M92.512,71.21L91.255,71.486L90.97,70.266L92.228,69.989L92.512,71.21Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M93.77,70.934L92.513,71.211L92.228,69.99L93.484,69.713L93.77,70.934Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M95.027,70.657L93.77,70.933L93.485,69.714L94.742,69.437L95.027,70.657Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M89.026,73.261L87.769,73.536L87.484,72.317L88.742,72.04L89.026,73.261Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M91.54,72.708L90.283,72.985L89.998,71.764L91.256,71.487L91.54,72.708Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M92.797,72.432L91.541,72.707L91.255,71.487L92.512,71.211L92.797,72.432Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M94.054,72.154L92.797,72.431L92.512,71.211L93.77,70.934L94.054,72.154Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M95.312,71.878L94.055,72.154L93.77,70.933L95.028,70.657L95.312,71.878Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M89.311,74.481L88.054,74.757L87.769,73.536L89.027,73.261L89.311,74.481Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M91.825,73.929L90.568,74.204L90.283,72.985L91.54,72.708L91.825,73.929Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M93.082,73.652L91.825,73.929L91.54,72.709L92.798,72.432L93.082,73.652Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M94.339,73.376L93.082,73.652L92.797,72.432L94.054,72.155L94.339,73.376Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M95.596,73.099L94.339,73.376L94.054,72.155L95.312,71.878L95.596,73.099Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M89.596,75.702L88.339,75.979L88.054,74.758L89.311,74.481L89.596,75.702Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M89.145,68.101L87.888,68.378L87.603,67.157L88.859,66.88L89.145,68.101Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M90.401,67.824L89.145,68.1L88.859,66.879L90.118,66.604L90.401,67.824Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M91.658,67.547L90.401,67.824L90.116,66.603L91.373,66.326L91.658,67.547Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M92.916,67.271L91.659,67.547L91.373,66.328L92.63,66.051L92.916,67.271Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M94.172,66.994L92.916,67.271L92.63,66.05L93.888,65.773L94.172,66.994Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M95.43,66.718L94.173,66.993L93.888,65.774L95.145,65.497L95.43,66.718Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M96.687,66.441L95.43,66.718L95.145,65.498L96.403,65.221L96.687,66.441Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M96.971,67.662L95.714,67.938L95.429,66.718L96.686,66.441L96.971,67.662Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M97.256,68.884L95.999,69.16L95.714,67.939L96.972,67.663L97.256,68.884Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M97.541,70.104L96.284,70.381L95.999,69.16L97.256,68.883L97.541,70.104Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M97.825,71.325L96.568,71.601L96.283,70.382L97.541,70.104L97.825,71.325Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M98.11,72.546L96.854,72.823L96.568,71.602L97.825,71.325L98.11,72.546Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M98.395,73.767L97.138,74.042L96.853,72.823L98.111,72.546L98.395,73.767Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M89.88,76.924L88.623,77.2L88.338,75.98L89.596,75.703L89.88,76.924Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M91.137,76.646L89.88,76.924L89.595,75.703L90.853,75.426L91.137,76.646Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M92.395,76.37L91.138,76.646L90.853,75.426L92.109,75.149L92.395,76.37Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M93.651,76.094L92.395,76.371L92.109,75.15L93.368,74.873L93.651,76.094Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M94.908,75.817L93.651,76.093L93.366,74.874L94.623,74.597L94.908,75.817Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M96.165,75.54L94.908,75.817L94.623,74.596L95.881,74.319L96.165,75.54Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M97.422,75.265L96.166,75.54L95.88,74.321L97.138,74.044L97.422,75.265Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M98.68,74.988L97.423,75.264L97.138,74.043L98.395,73.768L98.68,74.988Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M66.518,73.078L65.261,73.354L64.976,72.133L66.232,71.857L66.518,73.078Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M67.774,72.801L66.517,73.078L66.232,71.857L67.49,71.58L67.774,72.801Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M69.031,72.524L67.774,72.8L67.489,71.579L68.747,71.304L69.031,72.524Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M70.289,72.248L69.032,72.525L68.747,71.304L70.003,71.027L70.289,72.248Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M71.546,71.972L70.289,72.247L70.003,71.027L71.262,70.751L71.546,71.972Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M72.803,71.695L71.546,71.972L71.261,70.752L72.518,70.475L72.803,71.695Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M74.06,71.419L72.803,71.695L72.518,70.475L73.776,70.198L74.06,71.419Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M75.316,71.142L74.06,71.419L73.774,70.198L75.033,69.921L75.316,71.142Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M66.802,74.299L65.545,74.576L65.26,73.355L66.518,73.078L66.802,74.299Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M75.602,72.363L74.345,72.639L74.06,71.42L75.316,71.143L75.602,72.363Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M67.087,75.52L65.83,75.795L65.545,74.576L66.802,74.299L67.087,75.52Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M69.601,74.967L68.344,75.243L68.059,74.023L69.317,73.746L69.601,74.967Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M70.858,74.689L69.601,74.966L69.316,73.746L70.573,73.469L70.858,74.689Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M72.115,74.413L70.858,74.689L70.573,73.469L71.831,73.192L72.115,74.413Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M73.372,74.137L72.115,74.414L71.83,73.193L73.087,72.916L73.372,74.137Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M75.886,73.584L74.63,73.861L74.344,72.64L75.602,72.363L75.886,73.584Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M67.371,76.74L66.114,77.017L65.829,75.797L67.087,75.52L67.371,76.74Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M69.885,76.188L68.629,76.465L68.343,75.244L69.601,74.967L69.885,76.188Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M71.143,75.911L69.886,76.187L69.601,74.967L70.859,74.69L71.143,75.911Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M72.4,75.634L71.143,75.911L70.858,74.69L72.115,74.413L72.4,75.634Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M73.656,75.357L72.399,75.633L72.114,74.414L73.372,74.137L73.656,75.357Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M76.171,74.805L74.914,75.082L74.629,73.861L75.886,73.584L76.171,74.805Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M67.656,77.961L66.399,78.237L66.114,77.017L67.371,76.74L67.656,77.961Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M70.171,77.408L68.914,77.684L68.628,76.465L69.885,76.188L70.171,77.408Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M71.428,77.132L70.171,77.408L69.886,76.187L71.143,75.911L71.428,77.132Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M72.684,76.855L71.427,77.132L71.142,75.912L72.4,75.635L72.684,76.855Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M73.941,76.579L72.685,76.855L72.399,75.634L73.656,75.358L73.941,76.579Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M76.456,76.025L75.199,76.301L74.914,75.082L76.172,74.805L76.456,76.025Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M67.94,79.183L66.684,79.458L66.398,78.238L67.657,77.962L67.94,79.183Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M70.455,78.63L69.198,78.906L68.913,77.685L70.171,77.409L70.455,78.63Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M71.712,78.353L70.455,78.63L70.17,77.409L71.428,77.132L71.712,78.353Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M72.969,78.076L71.713,78.352L71.427,77.132L72.684,76.855L72.969,78.076Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M74.226,77.8L72.969,78.077L72.684,76.856L73.942,76.579L74.226,77.8Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M76.74,77.246L75.483,77.523L75.198,76.302L76.456,76.025L76.74,77.246Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M68.226,80.403L66.969,80.68L66.684,79.46L67.94,79.183L68.226,80.403Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M77.025,78.468L75.768,78.743L75.483,77.524L76.74,77.247L77.025,78.468Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M68.51,81.624L67.254,81.9L66.968,80.68L68.226,80.403L68.51,81.624Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M69.768,81.348L68.511,81.625L68.226,80.404L69.482,80.127L69.768,81.348Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M71.024,81.071L69.767,81.347L69.482,80.128L70.74,79.851L71.024,81.071Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M72.281,80.794L71.024,81.071L70.739,79.85L71.996,79.573L72.281,80.794Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M73.539,80.518L72.282,80.793L71.997,79.574L73.253,79.297L73.539,80.518Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M74.796,80.241L73.539,80.518L73.253,79.298L74.512,79.021L74.796,80.241Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M76.053,79.965L74.796,80.241L74.511,79.021L75.768,78.744L76.053,79.965Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M77.309,79.688L76.052,79.965L75.767,78.745L77.025,78.468L77.309,79.688Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M71.357,93.833L70.101,94.109L69.815,92.889L71.072,92.612L71.357,93.833Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M72.614,93.557L71.357,93.834L71.072,92.613L72.33,92.336L72.614,93.557Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M73.871,93.28L72.614,93.556L72.329,92.337L73.587,92.06L73.871,93.28Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M75.129,93.003L73.872,93.28L73.586,92.059L74.843,91.782L75.129,93.003Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M76.385,92.728L75.129,93.003L74.843,91.784L76.101,91.507L76.385,92.728Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M77.643,92.45L76.386,92.727L76.101,91.507L77.357,91.229L77.643,92.45Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M78.899,92.174L77.643,92.45L77.357,91.23L78.616,90.953L78.899,92.174Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M80.157,91.897L78.9,92.174L78.615,90.954L79.873,90.677L80.157,91.897Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M71.642,95.054L70.385,95.331L70.1,94.11L71.358,93.833L71.642,95.054Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M80.441,93.118L79.185,93.395L78.899,92.174L80.156,91.897L80.441,93.118Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M71.927,96.274L70.67,96.55L70.385,95.331L71.642,95.054L71.927,96.274Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M74.441,95.722L73.184,95.997L72.899,94.778L74.156,94.501L74.441,95.722Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M75.698,95.445L74.441,95.721L74.156,94.5L75.413,94.225L75.698,95.445Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M76.955,95.169L75.698,95.446L75.413,94.225L76.671,93.948L76.955,95.169Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M78.212,94.893L76.955,95.168L76.67,93.948L77.927,93.672L78.212,94.893Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M80.726,94.34L79.469,94.616L79.184,93.396L80.442,93.119L80.726,94.34Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M72.211,97.496L70.954,97.772L70.669,96.551L71.927,96.275L72.211,97.496Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M74.725,96.943L73.468,97.219L73.183,95.998L74.441,95.723L74.725,96.943Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M75.982,96.666L74.726,96.943L74.44,95.722L75.699,95.445L75.982,96.666Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M77.24,96.39L75.983,96.665L75.698,95.446L76.955,95.169L77.24,96.39Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M78.497,96.113L77.24,96.39L76.955,95.17L78.213,94.893L78.497,96.113Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M81.01,95.56L79.754,95.837L79.468,94.616L80.726,94.339L81.01,95.56Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M72.496,98.717L71.239,98.994L70.954,97.773L72.211,97.496L72.496,98.717Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M75.01,98.163L73.754,98.44L73.468,97.219L74.725,96.942L75.01,98.163Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M76.267,97.888L75.01,98.163L74.725,96.944L75.983,96.667L76.267,97.888Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M77.524,97.61L76.267,97.887L75.982,96.667L77.24,96.39L77.524,97.61Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M78.781,97.334L77.524,97.61L77.239,96.39L78.496,96.113L78.781,97.334Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M81.296,96.781L80.039,97.057L79.753,95.838L81.01,95.561L81.296,96.781Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M72.781,99.938L71.524,100.213L71.239,98.994L72.497,98.717L72.781,99.938Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M75.295,99.385L74.038,99.66L73.752,98.441L75.011,98.164L75.295,99.385Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M76.552,99.107L75.295,99.384L75.01,98.164L76.267,97.887L76.552,99.107Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M77.809,98.832L76.552,99.108L76.267,97.888L77.524,97.611L77.809,98.832Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M79.066,98.555L77.809,98.832L77.524,97.611L78.782,97.334L79.066,98.555Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M81.58,98.002L80.323,98.279L80.038,97.058L81.296,96.781L81.58,98.002Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M73.065,101.158L71.809,101.435L71.523,100.215L72.78,99.938L73.065,101.158Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M81.865,99.223L80.608,99.5L80.323,98.279L81.58,98.002L81.865,99.223Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M73.35,102.379L72.093,102.655L71.808,101.435L73.066,101.158L73.35,102.379Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M74.607,102.103L73.351,102.379L73.065,101.159L74.322,100.883L74.607,102.103Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M75.864,101.826L74.607,102.103L74.322,100.882L75.58,100.605L75.864,101.826Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M77.121,101.55L75.864,101.826L75.579,100.605L76.836,100.329L77.121,101.55Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M78.378,101.273L77.121,101.55L76.836,100.33L78.094,100.053L78.378,101.273Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M79.635,100.997L78.379,101.273L78.093,100.052L79.351,99.776L79.635,100.997Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M80.893,100.721L79.636,100.998L79.351,99.777L80.607,99.5L80.893,100.721Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M82.149,100.444L80.893,100.72L80.607,99.501L81.866,99.224L82.149,100.444Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M82.623,79.803L81.366,80.08L81.081,78.859L82.339,78.582L82.623,79.803Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M83.879,79.527L82.623,79.803L82.337,78.584L83.594,78.307L83.879,79.527Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M85.136,79.25L83.88,79.527L83.594,78.306L84.852,78.029L85.136,79.25Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M87.651,78.697L86.394,78.974L86.109,77.754L87.366,77.477L87.651,78.697Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M69.08,84.065L67.823,84.341L67.538,83.122L68.796,82.845L69.08,84.065Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M71.594,83.513L70.337,83.788L70.052,82.569L71.31,82.292L71.594,83.513Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M72.851,83.236L71.594,83.512L71.309,82.291L72.565,82.016L72.851,83.236Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M74.107,82.96L72.851,83.237L72.565,82.016L73.824,81.739L74.107,82.96Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M76.622,82.406L75.365,82.683L75.08,81.463L76.337,81.186L76.622,82.406Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M80.394,81.577L79.137,81.853L78.852,80.633L80.108,80.356L80.394,81.577Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M81.65,81.301L80.393,81.578L80.108,80.357L81.366,80.08L81.65,81.301Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M82.907,81.024L81.65,81.3L81.365,80.081L82.622,79.804L82.907,81.024Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M85.421,80.471L84.165,80.746L83.879,79.527L85.136,79.25L85.421,80.471Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M86.679,80.194L85.422,80.471L85.137,79.251L86.394,78.974L86.679,80.194Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M87.935,79.918L86.678,80.194L86.393,78.974L87.651,78.697L87.935,79.918Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M89.192,79.642L87.936,79.919L87.65,78.698L88.907,78.421L89.192,79.642Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M94.221,78.536L92.964,78.812L92.679,77.591L93.937,77.315L94.221,78.536Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M97.992,77.706L96.735,77.983L96.45,76.762L97.706,76.485L97.992,77.706Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M99.249,77.43L97.992,77.705L97.707,76.486L98.964,76.209L99.249,77.43Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M70.621,85.01L69.364,85.287L69.079,84.066L70.337,83.789L70.621,85.01Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M73.135,84.457L71.879,84.734L71.593,83.513L72.851,83.236L73.135,84.457Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M78.164,83.351L76.907,83.628L76.622,82.407L77.878,82.13L78.164,83.351Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M80.678,82.798L79.421,83.075L79.136,81.854L80.394,81.577L80.678,82.798Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M85.706,81.691L84.449,81.968L84.164,80.748L85.422,80.471L85.706,81.691Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M88.22,81.14L86.963,81.415L86.678,80.195L87.935,79.919L88.22,81.14Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M90.734,80.586L89.478,80.862L89.192,79.641L90.449,79.365L90.734,80.586Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M94.505,79.757L93.249,80.034L92.963,78.813L94.22,78.536L94.505,79.757Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M95.762,79.48L94.505,79.756L94.22,78.537L95.478,78.26L95.762,79.48Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M98.276,78.927L97.02,79.202L96.734,77.983L97.993,77.706L98.276,78.927Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M69.649,86.508L68.392,86.785L68.107,85.564L69.365,85.287L69.649,86.508Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M70.906,86.231L69.649,86.507L69.364,85.288L70.621,85.011L70.906,86.231Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M72.163,85.954L70.906,86.231L70.621,85.01L71.879,84.733L72.163,85.954Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M74.677,85.401L73.42,85.678L73.135,84.458L74.393,84.181L74.677,85.401Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M79.706,84.295L78.449,84.572L78.164,83.351L79.42,83.074L79.706,84.295Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M82.22,83.742L80.963,84.019L80.678,82.799L81.936,82.521L82.22,83.742Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M85.991,82.913L84.734,83.19L84.449,81.969L85.706,81.692L85.991,82.913Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M91.019,81.807L89.762,82.084L89.477,80.863L90.735,80.586L91.019,81.807Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M93.533,81.254L92.276,81.531L91.991,80.31L93.249,80.033L93.533,81.254Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M96.047,80.701L94.791,80.978L94.505,79.757L95.762,79.48L96.047,80.701Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M72.448,87.176L71.191,87.451L70.906,86.232L72.163,85.955L72.448,87.176Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M78.733,85.793L77.477,86.07L77.191,84.849L78.448,84.572L78.733,85.793Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M79.99,85.517L78.733,85.792L78.448,84.573L79.706,84.296L79.99,85.517Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M81.247,85.24L79.99,85.516L79.705,84.295L80.962,84.02L81.247,85.24Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M85.019,84.41L83.762,84.687L83.477,83.466L84.733,83.189L85.019,84.41Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M87.532,83.857L86.275,84.134L85.99,82.914L87.247,82.637L87.532,83.857Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M88.79,83.581L87.533,83.857L87.248,82.637L88.504,82.36L88.79,83.581Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M92.561,82.751L91.304,83.028L91.019,81.807L92.277,81.53L92.561,82.751Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M93.818,82.475L92.561,82.75L92.276,81.531L93.533,81.254L93.818,82.475Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M100.103,81.093L98.846,81.368L98.561,80.148L99.818,79.872L100.103,81.093Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M71.476,88.673L70.219,88.949L69.934,87.729L71.19,87.452L71.476,88.673Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M72.732,88.396L71.476,88.674L71.19,87.453L72.449,87.176L72.732,88.396Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M75.247,87.843L73.99,88.12L73.705,86.899L74.963,86.622L75.247,87.843Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M79.018,87.014L77.761,87.291L77.476,86.07L78.734,85.793L79.018,87.014Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M81.532,86.461L80.275,86.738L79.99,85.517L81.248,85.24L81.532,86.461Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M82.789,86.185L81.532,86.46L81.247,85.241L82.505,84.964L82.789,86.185Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M85.303,85.632L84.046,85.908L83.761,84.688L85.019,84.411L85.303,85.632Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M97.874,82.866L96.617,83.143L96.331,81.923L97.59,81.646L97.874,82.866Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M99.131,82.59L97.874,82.866L97.589,81.645L98.846,81.369L99.131,82.59Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M73.018,89.617L71.761,89.893L71.476,88.674L72.732,88.396L73.018,89.617Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M76.788,88.788L75.531,89.064L75.246,87.843L76.504,87.567L76.788,88.788Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M78.046,88.511L76.789,88.788L76.503,87.567L77.762,87.29L78.046,88.511Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M83.073,87.405L81.816,87.682L81.531,86.462L82.789,86.185L83.073,87.405Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M90.616,85.746L89.359,86.023L89.074,84.802L90.332,84.525L90.616,85.746Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M93.13,85.193L91.873,85.469L91.588,84.248L92.846,83.973L93.13,85.193Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M94.387,84.917L93.13,85.194L92.845,83.973L94.102,83.696L94.387,84.917Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M96.901,84.363L95.644,84.64L95.359,83.42L96.617,83.143L96.901,84.363Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M72.045,91.114L70.788,91.391L70.502,90.171L71.761,89.894L72.045,91.114Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M74.559,90.562L73.302,90.839L73.017,89.618L74.274,89.341L74.559,90.562Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M75.816,90.285L74.559,90.561L74.274,89.341L75.532,89.064L75.816,90.285Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M79.587,89.455L78.33,89.732L78.045,88.511L79.303,88.234L79.587,89.455Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M83.358,88.626L82.102,88.902L81.816,87.682L83.073,87.405L83.358,88.626Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M84.616,88.35L83.359,88.627L83.074,87.406L84.331,87.129L84.616,88.35Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M87.129,87.796L85.873,88.073L85.587,86.852L86.844,86.575L87.129,87.796Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M89.644,87.244L88.387,87.52L88.102,86.299L89.358,86.023L89.644,87.244Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M90.901,86.967L89.644,87.244L89.359,86.023L90.616,85.746L90.901,86.967Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M95.929,85.861L94.672,86.138L94.387,84.918L95.644,84.641L95.929,85.861Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M97.186,85.585L95.929,85.861L95.644,84.641L96.901,84.364L97.186,85.585Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M84.9,89.57L83.643,89.846L83.358,88.627L84.616,88.35L84.9,89.57Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M87.414,89.018L86.157,89.295L85.872,88.074L87.13,87.797L87.414,89.018Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M88.671,88.741L87.415,89.017L87.129,87.796L88.386,87.521L88.671,88.741Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M92.442,87.911L91.186,88.188L90.9,86.967L92.157,86.69L92.442,87.911Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M93.699,87.635L92.442,87.91L92.157,86.691L93.415,86.414L93.699,87.635Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M98.728,86.529L97.471,86.805L97.186,85.586L98.443,85.309L98.728,86.529Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M101.242,85.976L99.985,86.251L99.7,85.032L100.957,84.755L101.242,85.976Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M82.671,91.345L81.414,91.62L81.128,90.4L82.387,90.124L82.671,91.345Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M83.928,91.068L82.671,91.345L82.386,90.125L83.643,89.848L83.928,91.068Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M88.956,89.962L87.699,90.239L87.414,89.018L88.672,88.741L88.956,89.962Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M90.213,89.686L88.956,89.961L88.671,88.742L89.928,88.465L90.213,89.686Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M92.727,89.133L91.47,89.409L91.185,88.189L92.443,87.912L92.727,89.133Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M96.498,88.303L95.241,88.58L94.956,87.359L96.213,87.082L96.498,88.303Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M99.012,87.75L97.755,88.027L97.47,86.806L98.728,86.529L99.012,87.75Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M89.241,91.183L87.984,91.458L87.699,90.239L88.956,89.962L89.241,91.183Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M83.24,93.786L81.983,94.062L81.698,92.842L82.956,92.565L83.24,93.786Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M84.497,93.51L83.24,93.787L82.955,92.566L84.212,92.289L84.497,93.51Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M87.011,92.956L85.755,93.233L85.469,92.012L86.727,91.735L87.011,92.956Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M90.782,92.127L89.525,92.403L89.24,91.183L90.497,90.906L90.782,92.127Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M92.039,91.851L90.782,92.128L90.497,90.907L91.755,90.63L92.039,91.851Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M93.296,91.574L92.04,91.85L91.754,90.631L93.013,90.354L93.296,91.574Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M95.811,91.021L94.554,91.299L94.269,90.078L95.527,89.801L95.811,91.021Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M99.582,90.191L98.325,90.467L98.04,89.248L99.298,88.971L99.582,90.191Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M102.096,89.639L100.839,89.914L100.554,88.695L101.812,88.418L102.096,89.639Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M83.525,95.007L82.268,95.284L81.983,94.063L83.24,93.786L83.525,95.007Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M88.553,93.9L87.296,94.177L87.011,92.957L88.269,92.68L88.553,93.9Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M89.81,93.625L88.553,93.901L88.268,92.681L89.525,92.404L89.81,93.625Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M93.581,92.795L92.324,93.071L92.039,91.85L93.297,91.574L93.581,92.795Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M85.066,95.951L83.81,96.228L83.524,95.007L84.781,94.73L85.066,95.951Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M87.581,95.398L86.324,95.674L86.039,94.453L87.295,94.178L87.581,95.398Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M91.352,94.568L90.095,94.845L89.81,93.625L91.067,93.348L91.352,94.568Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M92.608,94.293L91.352,94.569L91.066,93.349L92.325,93.072L92.608,94.293Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M96.38,93.463L95.123,93.74L94.838,92.519L96.096,92.242L96.38,93.463Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M98.894,92.91L97.637,93.187L97.352,91.966L98.61,91.689L98.894,92.91Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M95.408,94.96L94.151,95.237L93.866,94.016L95.124,93.739L95.408,94.96Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M100.436,93.854L99.179,94.132L98.894,92.911L100.152,92.634L100.436,93.854Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M101.693,93.578L100.436,93.854L100.151,92.634L101.409,92.357L101.693,93.578Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M102.95,93.302L101.693,93.577L101.408,92.357L102.665,92.081L102.95,93.302Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M84.379,98.67L83.122,98.947L82.837,97.726L84.095,97.449L84.379,98.67Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M85.636,98.394L84.38,98.669L84.094,97.45L85.351,97.173L85.636,98.394Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M88.15,97.841L86.893,98.117L86.608,96.897L87.865,96.62L88.15,97.841Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M99.463,95.352L98.207,95.627L97.921,94.407L99.179,94.131L99.463,95.352Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M100.721,95.075L99.464,95.352L99.179,94.132L100.436,93.854L100.721,95.075Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M87.178,99.338L85.921,99.614L85.636,98.394L86.893,98.117L87.178,99.338Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M89.692,98.785L88.435,99.061L88.15,97.841L89.407,97.564L89.692,98.785Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M94.72,97.679L93.463,97.954L93.178,96.735L94.436,96.458L94.72,97.679Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M103.52,95.743L102.263,96.019L101.978,94.799L103.234,94.522L103.52,95.743Z"
+      android:fillColor="#657888"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M146.138,91.139L144.138,91.13L146.138,91.139Z"
+      android:fillColor="#FF395A"
+      android:fillType="evenOdd"/>
+</vector>
diff --git a/Corona-Warn-App/src/main/res/layout/fragment_submission_consent.xml b/Corona-Warn-App/src/main/res/layout/fragment_submission_consent.xml
new file mode 100644
index 000000000..e21c93b44
--- /dev/null
+++ b/Corona-Warn-App/src/main/res/layout/fragment_submission_consent.xml
@@ -0,0 +1,147 @@
+<?xml version="1.0" encoding="utf-8"?>
+<layout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto">
+
+    <data>
+        <variable
+            name="countries"
+            type="java.util.List&lt;de.rki.coronawarnapp.ui.Country&gt;" />
+
+        <variable
+            name="viewModel"
+            type="de.rki.coronawarnapp.ui.submission.qrcode.consent.SubmissionConsentViewModel" />
+
+    </data>
+
+    <androidx.constraintlayout.widget.ConstraintLayout
+        android:layout_width="match_parent"
+        android:layout_height="match_parent">
+
+        <include
+            android:id="@+id/submission_consent_header"
+            layout="@layout/include_header"
+            android:layout_width="@dimen/match_constraint"
+            android:layout_height="wrap_content"
+            app:icon="@{@drawable/ic_close}"
+            app:layout_constraintEnd_toEndOf="parent"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintTop_toTopOf="parent"
+            app:title="@{@string/submission_consent_main_headline}" />
+
+        <ScrollView
+            android:layout_width="@dimen/match_constraint"
+            android:layout_height="@dimen/match_constraint"
+            app:layout_constraintEnd_toEndOf="parent"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintTop_toBottomOf="@id/submission_consent_header"
+            app:layout_constraintBottom_toTopOf="@+id/guideline_action">
+
+            <androidx.constraintlayout.widget.ConstraintLayout
+                 android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:paddingBottom="@dimen/spacing_normal">
+
+                <ImageView
+                    android:id="@+id/submission_consent_illustration"
+                    android:layout_width="@dimen/match_constraint"
+                    android:layout_height="wrap_content"
+                    android:src="@drawable/ic_illustration_consent"
+                    app:layout_constraintTop_toTopOf="parent"
+                    app:layout_constraintStart_toStartOf="parent"
+                    app:layout_constraintEnd_toEndOf="parent"
+                    android:importantForAccessibility="no"/>
+
+                <include layout="@layout/include_submission_consent_intro"
+                    android:id="@+id/include_submission_consent_intro"
+                    android:layout_width="@dimen/match_constraint"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="@dimen/spacing_normal"
+                    app:layout_constraintStart_toStartOf="parent"
+                    app:layout_constraintEnd_toEndOf="parent"
+                    app:layout_constraintTop_toBottomOf="@id/submission_consent_illustration"/>
+
+                <de.rki.coronawarnapp.ui.view.CountryListView
+                    android:id="@+id/countryList"
+                    android:layout_width="@dimen/match_constraint"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="@dimen/spacing_normal"
+                    android:layout_marginHorizontal="@dimen/spacing_normal"
+                    app:layout_constraintTop_toBottomOf="@+id/include_submission_consent_intro"
+                    app:layout_constraintEnd_toEndOf="parent"
+                    app:layout_constraintStart_toStartOf="parent"
+                    app:countryList="@{countries}"/>
+
+                <include layout="@layout/include_submission_consent_body"
+                    android:id="@+id/include_submission_consent_body"
+                    android:layout_width="@dimen/match_constraint"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="@dimen/spacing_normal"
+                    android:layout_marginHorizontal="@dimen/guideline_card"
+                    app:layout_constraintStart_toStartOf="parent"
+                    app:layout_constraintEnd_toEndOf="parent"
+                    app:layout_constraintTop_toBottomOf="@id/countryList"/>
+
+                <FrameLayout
+                    android:id="@+id/divider"
+                    android:layout_width="@dimen/match_constraint"
+                    android:layout_height="@dimen/card_divider"
+                    android:layout_marginTop="@dimen/spacing_normal"
+                    android:background="@color/colorHairline"
+                    app:layout_constraintTop_toBottomOf="@id/include_submission_consent_body"
+                    app:layout_constraintStart_toStartOf="@id/guideline_start"
+                    app:layout_constraintEnd_toEndOf="@id/guideline_end"/>
+
+                <TextView
+                    android:id="@+id/submission_consent_main_bottom_body"
+                    android:layout_width="@dimen/match_constraint"
+                    android:layout_height="wrap_content"
+                    android:paddingVertical="@dimen/spacing_tiny"
+                    android:text="@string/submission_consent_main_bottom_body"
+                    android:focusable="true"
+                    android:clickable="true"
+                    android:onClick="@{ () -> viewModel.onDataPrivacyClick() }"
+                    android:background="?selectableItemBackground"
+                    app:layout_constraintTop_toBottomOf="@id/divider"
+                    app:layout_constraintStart_toStartOf="@id/guideline_start"
+                    app:layout_constraintEnd_toEndOf="@id/guideline_end"
+                    style="@style/subtitle"/>
+
+                <FrameLayout
+                    android:layout_width="@dimen/match_constraint"
+                    android:layout_height="@dimen/card_divider"
+                    android:background="@color/colorHairline"
+                    app:layout_constraintTop_toBottomOf="@id/submission_consent_main_bottom_body"
+                    app:layout_constraintStart_toStartOf="@id/guideline_start"
+                    app:layout_constraintEnd_toEndOf="@id/guideline_end"/>
+
+                <include layout="@layout/merge_guidelines_side" />
+
+            </androidx.constraintlayout.widget.ConstraintLayout>
+
+        </ScrollView>
+
+        <Button
+            android:id="@+id/submission_consent_button"
+            style="@style/buttonPrimary"
+            android:layout_width="@dimen/match_constraint"
+            android:layout_height="wrap_content"
+            android:text="@string/submission_accept_button"
+            android:textAllCaps="true"
+            android:onClick="@{ () -> viewModel.onConsentButtonClick()}"
+            app:layout_constraintBottom_toBottomOf="parent"
+            app:layout_constraintEnd_toEndOf="@id/guideline_end"
+            app:layout_constraintStart_toStartOf="@id/guideline_start"
+            app:layout_constraintTop_toBottomOf="@id/guideline_action" />
+
+        <androidx.constraintlayout.widget.Guideline
+            android:id="@+id/guideline_action"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:orientation="horizontal"
+            app:layout_constraintGuide_end="@dimen/guideline_action" />
+
+        <include layout="@layout/merge_guidelines_side" />
+
+    </androidx.constraintlayout.widget.ConstraintLayout>
+
+</layout>
diff --git a/Corona-Warn-App/src/main/res/layout/fragment_submission_dispatcher.xml b/Corona-Warn-App/src/main/res/layout/fragment_submission_dispatcher.xml
index bd6ecad1b..63a28f062 100644
--- a/Corona-Warn-App/src/main/res/layout/fragment_submission_dispatcher.xml
+++ b/Corona-Warn-App/src/main/res/layout/fragment_submission_dispatcher.xml
@@ -16,7 +16,7 @@
             layout="@layout/include_header"
             android:layout_width="@dimen/match_constraint"
             android:layout_height="wrap_content"
-            app:icon="@{@drawable/ic_back}"
+            app:icon="@{@drawable/ic_close}"
             app:layout_constraintEnd_toEndOf="parent"
             app:layout_constraintStart_toStartOf="parent"
             app:layout_constraintTop_toTopOf="parent"
@@ -34,4 +34,4 @@
 
     </androidx.constraintlayout.widget.ConstraintLayout>
 
-</layout>
\ No newline at end of file
+</layout>
diff --git a/Corona-Warn-App/src/main/res/layout/fragment_submission_positive_other_warning.xml b/Corona-Warn-App/src/main/res/layout/fragment_submission_positive_other_warning.xml
index fcf4c4a83..b09583be3 100644
--- a/Corona-Warn-App/src/main/res/layout/fragment_submission_positive_other_warning.xml
+++ b/Corona-Warn-App/src/main/res/layout/fragment_submission_positive_other_warning.xml
@@ -47,7 +47,7 @@
             android:layout_width="@dimen/match_constraint"
             android:layout_height="wrap_content"
             android:enabled="@{uiState != null &amp;&amp; uiState.isSubmitButtonEnabled()}"
-            android:text="@string/submission_positive_other_warning_button"
+            android:text="@string/submission_accept_button"
             android:textAllCaps="true"
             app:layout_constraintBottom_toBottomOf="parent"
             app:layout_constraintEnd_toEndOf="@id/guideline_end"
@@ -78,4 +78,4 @@
 
     </androidx.constraintlayout.widget.ConstraintLayout>
 
-</layout>
\ No newline at end of file
+</layout>
diff --git a/Corona-Warn-App/src/main/res/layout/fragment_submission_qr_code_info.xml b/Corona-Warn-App/src/main/res/layout/fragment_submission_qr_code_info.xml
deleted file mode 100644
index 1c9774776..000000000
--- a/Corona-Warn-App/src/main/res/layout/fragment_submission_qr_code_info.xml
+++ /dev/null
@@ -1,57 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<layout xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:app="http://schemas.android.com/apk/res-auto"
-    xmlns:tools="http://schemas.android.com/tools">
-
-    <androidx.constraintlayout.widget.ConstraintLayout
-        android:id="@+id/submission_done_container"
-        android:layout_width="match_parent"
-        android:layout_height="match_parent"
-        android:contentDescription="@string/submission_done_title"
-        android:fillViewport="true"
-        tools:context=".ui.submission.fragment.SubmissionQRCodeInfo">
-
-        <include
-            android:id="@+id/submission_qr_code_info_header"
-            layout="@layout/include_header"
-            android:layout_width="@dimen/match_constraint"
-            android:layout_height="wrap_content"
-            app:icon="@{@drawable/ic_back}"
-            app:layout_constraintEnd_toEndOf="parent"
-            app:layout_constraintStart_toStartOf="parent"
-            app:layout_constraintTop_toTopOf="parent"
-            app:title="@string/submission_qr_info_headline" />
-
-        <include
-            android:id="@+id/include_submission_qr_code_info"
-            layout="@layout/include_submission_qr_code_info"
-            android:layout_width="@dimen/match_constraint"
-            android:layout_height="@dimen/match_constraint"
-            app:layout_constraintBottom_toTopOf="@id/guideline_action"
-            app:layout_constraintEnd_toEndOf="parent"
-            app:layout_constraintStart_toStartOf="parent"
-            app:layout_constraintTop_toBottomOf="@+id/submission_qr_code_info_header" />
-
-        <Button
-            android:id="@+id/submission_qr_info_button_next"
-            style="@style/buttonPrimary"
-            android:layout_width="@dimen/match_constraint"
-            android:layout_height="wrap_content"
-            android:layout_marginVertical="@dimen/spacing_normal"
-            android:text="@string/submission_intro_button_next"
-            app:layout_constraintBottom_toBottomOf="parent"
-            app:layout_constraintEnd_toEndOf="@id/guideline_end"
-            app:layout_constraintStart_toStartOf="@id/guideline_start"
-            app:layout_constraintTop_toBottomOf="@+id/guideline_action" />
-
-        <androidx.constraintlayout.widget.Guideline
-            android:id="@+id/guideline_action"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:orientation="horizontal"
-            app:layout_constraintGuide_end="@dimen/guideline_action" />
-
-        <include layout="@layout/merge_guidelines_side" />
-
-    </androidx.constraintlayout.widget.ConstraintLayout>
-</layout>
\ No newline at end of file
diff --git a/Corona-Warn-App/src/main/res/layout/include_bullet_point.xml b/Corona-Warn-App/src/main/res/layout/include_bullet_point.xml
new file mode 100644
index 000000000..099185c7e
--- /dev/null
+++ b/Corona-Warn-App/src/main/res/layout/include_bullet_point.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="utf-8"?>
+<layout xmlns:tools="http://schemas.android.com/tools"
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto">
+    <ImageView
+        android:id="@+id/bullet_point"
+        android:layout_width="@dimen/bullet_point_size"
+        android:layout_height="@dimen/bullet_point_size"
+        android:baseline="@dimen/bullet_point_baseline_offset"
+        android:src="@drawable/bullet_point"
+        android:importantForAccessibility="no"
+        app:layout_constraintStart_toStartOf="parent"
+        tools:showIn="@layout/include_submission_consent_body" />
+</layout>
diff --git a/Corona-Warn-App/src/main/res/layout/include_submission_consent_body.xml b/Corona-Warn-App/src/main/res/layout/include_submission_consent_body.xml
new file mode 100644
index 000000000..2531e8dc1
--- /dev/null
+++ b/Corona-Warn-App/src/main/res/layout/include_submission_consent_body.xml
@@ -0,0 +1,152 @@
+<?xml version="1.0" encoding="utf-8"?>
+<layout xmlns:tools="http://schemas.android.com/tools"
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto">
+
+    <data/>
+
+    <androidx.constraintlayout.widget.ConstraintLayout
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content">
+        
+    <FrameLayout
+        android:layout_width="@dimen/match_constraint"
+        android:layout_height="@dimen/match_constraint"
+        app:layout_constraintEnd_toEndOf="parent"
+        app:layout_constraintStart_toStartOf="parent"
+        app:layout_constraintTop_toTopOf="@id/submission_consent_your_consent_subsection_headline"
+        app:layout_constraintBottom_toBottomOf="@id/submission_consent_main_fourth_point"
+        style="@style/cardGrey"/>
+
+    <TextView
+        android:id="@+id/submission_consent_your_consent_subsection_headline"
+        android:layout_width="@dimen/match_constraint"
+        android:layout_height="wrap_content"
+        android:text="@string/submission_consent_your_consent_subsection_headline"
+        android:paddingTop="@dimen/spacing_normal"
+        app:layout_constraintEnd_toEndOf="@id/guideline_end"
+        app:layout_constraintStart_toStartOf="@id/guideline_start"
+        app:layout_constraintTop_toTopOf="parent"
+        style="@style/headline6"/>
+
+    <TextView
+        android:id="@+id/submission_consent_your_consent_subsection_tapping_agree"
+        android:layout_width="@dimen/match_constraint"
+        android:layout_height="wrap_content"
+        android:layout_marginTop="@dimen/spacing_normal"
+        app:layout_constraintTop_toBottomOf="@+id/submission_consent_your_consent_subsection_headline"
+        app:layout_constraintEnd_toEndOf="@id/guideline_end"
+        app:layout_constraintStart_toStartOf="@id/guideline_start"
+        android:text="@string/submission_consent_your_consent_subsection_tapping_agree"
+        style="@style/subtitle" />
+
+    <androidx.constraintlayout.widget.ConstraintLayout
+        android:id="@+id/submission_consent_your_consent_subsection_first_point"
+        android:layout_width="@dimen/match_constraint"
+        android:layout_height="wrap_content"
+        android:paddingVertical="@dimen/spacing_normal"
+        app:layout_constraintTop_toBottomOf="@id/submission_consent_your_consent_subsection_tapping_agree"
+        app:layout_constraintEnd_toEndOf="@id/guideline_end"
+        app:layout_constraintStart_toStartOf="@id/guideline_start">
+
+        <include layout="@layout/include_bullet_point"
+            android:layout_width="@dimen/bullet_point_size"
+            android:layout_height="@dimen/bullet_point_size"
+            app:layout_constraintBaseline_toBaselineOf="@id/submission_consent_your_consent_subsection_first_point_text"/>
+
+        <TextView
+            android:id="@+id/submission_consent_your_consent_subsection_first_point_text"
+            style="@style/subtitle"
+            android:layout_width="@dimen/match_constraint"
+            android:layout_height="wrap_content"
+            android:layout_marginStart="@dimen/bullet_point_spacing_after"
+            app:layout_constraintEnd_toEndOf="parent"
+            app:layout_constraintStart_toEndOf="@id/bullet_point"
+            app:layout_constraintTop_toTopOf="parent"
+            android:text="@string/submission_consent_your_consent_subsection_first_point" />
+
+    </androidx.constraintlayout.widget.ConstraintLayout>
+
+        <androidx.constraintlayout.widget.ConstraintLayout
+            android:id="@+id/submission_consent_your_consent_subsection_second_point"
+            android:layout_width="@dimen/match_constraint"
+            android:layout_height="wrap_content"
+            android:paddingBottom="@dimen/spacing_normal"
+            app:layout_constraintTop_toBottomOf="@id/submission_consent_your_consent_subsection_first_point"
+            app:layout_constraintEnd_toEndOf="@id/guideline_end"
+            app:layout_constraintStart_toStartOf="@id/guideline_start">
+
+            <include layout="@layout/include_bullet_point"
+                android:layout_width="@dimen/bullet_point_size"
+                android:layout_height="@dimen/bullet_point_size"
+                app:layout_constraintBaseline_toBaselineOf="@id/submission_consent_your_consent_subsection_second_point_text"/>
+
+            <TextView
+                android:id="@+id/submission_consent_your_consent_subsection_second_point_text"
+                style="@style/subtitle"
+                android:layout_width="@dimen/match_constraint"
+                android:layout_height="wrap_content"
+                android:layout_marginStart="@dimen/bullet_point_spacing_after"
+                app:layout_constraintEnd_toEndOf="parent"
+                app:layout_constraintStart_toEndOf="@id/bullet_point"
+                app:layout_constraintTop_toTopOf="parent"
+                android:text="@string/submission_consent_your_consent_subsection_second_point" />
+
+        </androidx.constraintlayout.widget.ConstraintLayout>
+
+    <TextView
+        android:id="@+id/submission_consent_your_consent_subsection_third_point"
+        style="@style/subtitle"
+        android:layout_width="@dimen/match_constraint"
+        android:layout_height="wrap_content"
+        android:layout_marginStart="@dimen/bullet_point_size"
+        android:paddingStart="@dimen/spacing_normal"
+        app:layout_constraintEnd_toEndOf="@id/guideline_end"
+        app:layout_constraintStart_toStartOf="@id/guideline_start"
+        app:layout_constraintTop_toBottomOf="@id/submission_consent_your_consent_subsection_second_point"
+        android:text="@string/submission_consent_your_consent_subsection_third_point"
+        tools:ignore="RtlSymmetry" />
+
+    <include layout="@layout/view_bullet_point_text"
+        android:id="@+id/submission_consent_main_first_point"
+        android:layout_width="@dimen/match_constraint"
+        android:layout_height="wrap_content"
+        android:layout_marginTop="@dimen/spacing_normal"
+        app:layout_constraintEnd_toEndOf="@id/guideline_end"
+        app:layout_constraintStart_toStartOf="@id/guideline_start"
+        app:layout_constraintTop_toBottomOf="@id/submission_consent_your_consent_subsection_third_point"
+        app:itemText="@{@string/submission_consent_main_first_point}" />
+
+    <include layout="@layout/view_bullet_point_text"
+        android:id="@+id/submission_consent_main_second_point"
+        android:layout_width="@dimen/match_constraint"
+        android:layout_height="wrap_content"
+        app:layout_constraintEnd_toEndOf="@id/guideline_end"
+        app:layout_constraintStart_toStartOf="@id/guideline_start"
+        app:layout_constraintTop_toBottomOf="@id/submission_consent_main_first_point"
+        app:itemText="@{@string/submission_consent_main_second_point}" />
+
+    <include layout="@layout/view_bullet_point_text"
+        android:id="@+id/submission_consent_main_third_point"
+        android:layout_width="@dimen/match_constraint"
+        android:layout_height="wrap_content"
+        app:layout_constraintTop_toBottomOf="@id/submission_consent_main_second_point"
+        app:layout_constraintEnd_toEndOf="@id/guideline_end"
+        app:layout_constraintStart_toStartOf="@id/guideline_start"
+        app:itemText="@{@string/submission_consent_main_third_point}"
+        style="@style/subtitle" />
+
+    <include layout="@layout/view_bullet_point_text"
+        android:id="@+id/submission_consent_main_fourth_point"
+        android:layout_width="@dimen/match_constraint"
+        android:layout_height="wrap_content"
+        app:layout_constraintTop_toBottomOf="@id/submission_consent_main_third_point"
+        app:layout_constraintEnd_toEndOf="@id/guideline_end"
+        app:layout_constraintStart_toStartOf="@id/guideline_start"
+        app:itemText="@{@string/submission_consent_main_fourth_point}"
+        style="@style/subtitle" />
+
+    <include layout="@layout/merge_guidelines_side" />
+
+</androidx.constraintlayout.widget.ConstraintLayout>
+</layout>
diff --git a/Corona-Warn-App/src/main/res/layout/include_submission_consent_intro.xml b/Corona-Warn-App/src/main/res/layout/include_submission_consent_intro.xml
new file mode 100644
index 000000000..dc5097c2c
--- /dev/null
+++ b/Corona-Warn-App/src/main/res/layout/include_submission_consent_intro.xml
@@ -0,0 +1,116 @@
+<?xml version="1.0" encoding="utf-8"?>
+<layout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto">
+
+    <androidx.constraintlayout.widget.ConstraintLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content">
+
+        <TextView
+            android:id="@+id/submission_consent_main_headline_body"
+            android:layout_width="@dimen/match_constraint"
+            android:layout_height="wrap_content"
+            app:layout_constraintTop_toBottomOf="@+id/submission_consent_illustration"
+            app:layout_constraintStart_toStartOf="@id/guideline_start"
+            app:layout_constraintEnd_toEndOf="@id/guideline_end"
+            android:text="@string/submission_consent_main_headline_body"
+            style="@style/subtitle" />
+
+        <TextView
+            android:id="@+id/submission_consent_call_test_result"
+            android:layout_width="@dimen/match_constraint"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="@dimen/spacing_normal"
+            app:layout_constraintTop_toBottomOf="@+id/submission_consent_main_headline_body"
+            app:layout_constraintStart_toStartOf="@id/guideline_start"
+            app:layout_constraintEnd_toEndOf="@id/guideline_end"
+            android:text="@string/submission_consent_call_test_result"
+            style="@style/headline6" />
+
+        <TextView
+            android:id="@+id/submission_consent_call_test_result_body"
+            android:layout_width="@dimen/match_constraint"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="@dimen/spacing_normal"
+            app:layout_constraintTop_toBottomOf="@+id/submission_consent_call_test_result"
+            app:layout_constraintStart_toStartOf="@id/guideline_start"
+            app:layout_constraintEnd_toEndOf="@id/guideline_end"
+            android:text="@string/submission_consent_call_test_result_body"
+            style="@style/subtitle" />
+
+        <ImageView
+            android:id="@+id/submission_consent_icon_scan"
+            android:layout_width="@dimen/circle_icon"
+            android:layout_height="@dimen/circle_icon"
+            android:layout_marginTop="@dimen/spacing_normal"
+            android:src="@drawable/ic_qr_icon_personal_result"
+            android:background="@drawable/circle"
+            android:backgroundTint="@color/card_dark"
+            android:padding="@dimen/circle_icon_padding"
+            android:importantForAccessibility="no"
+            app:layout_constraintTop_toBottomOf="@+id/submission_consent_call_test_result_body"
+            app:layout_constraintStart_toStartOf="@id/guideline_start"/>
+
+        <TextView
+            android:id="@+id/submission_consent_call_test_result_scan_your_test_only"
+            android:layout_width="@dimen/match_constraint"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="@dimen/spacing_normal"
+            android:layout_marginStart="@dimen/spacing_tiny"
+            app:layout_constraintTop_toBottomOf="@+id/submission_consent_call_test_result_body"
+            app:layout_constraintStart_toEndOf="@id/submission_consent_icon_scan"
+            app:layout_constraintEnd_toEndOf="@id/guideline_end"
+            android:text="@string/submission_consent_call_test_result_scan_your_test_only"
+            style="@style/subtitle" />
+
+        <ImageView
+            android:id="@+id/submission_consent_icon_single_test"
+            android:layout_width="@dimen/circle_icon"
+            android:layout_height="@dimen/circle_icon"
+            android:layout_marginTop="@dimen/spacing_normal"
+            android:background="@drawable/circle"
+            android:backgroundTint="@color/card_dark"
+            android:src="@drawable/ic_qr_icon_test_scan"
+            android:importantForAccessibility="no"
+            android:padding="@dimen/circle_icon_padding"
+            app:layout_constraintTop_toBottomOf="@+id/submission_consent_call_test_result_scan_your_test_only"
+            app:layout_constraintStart_toStartOf="@id/guideline_start"/>
+
+        <TextView
+            android:id="@+id/submission_consent_call_test_result_scan_test_only_once"
+            android:layout_width="@dimen/match_constraint"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="@dimen/spacing_normal"
+            android:layout_marginStart="@dimen/spacing_tiny"
+            app:layout_constraintTop_toBottomOf="@+id/submission_consent_call_test_result_scan_your_test_only"
+            app:layout_constraintStart_toEndOf="@id/submission_consent_icon_single_test"
+            app:layout_constraintEnd_toEndOf="@id/guideline_end"
+            android:text="@string/submission_consent_call_test_result_scan_test_only_once"
+            style="@style/subtitle" />
+
+        <TextView
+            android:id="@+id/submission_consent_help_by_warning_others_headline"
+            android:layout_width="@dimen/match_constraint"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="@dimen/spacing_normal"
+            app:layout_constraintTop_toBottomOf="@+id/submission_consent_call_test_result_scan_test_only_once"
+            app:layout_constraintStart_toStartOf="@id/guideline_start"
+            app:layout_constraintEnd_toEndOf="@id/guideline_end"
+            android:text="@string/submission_consent_help_by_warning_others_headline"
+            style="@style/headline6" />
+
+        <TextView
+            android:id="@+id/submission_consent_help_by_warning_others_body"
+            android:layout_width="@dimen/match_constraint"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="@dimen/spacing_normal"
+            app:layout_constraintTop_toBottomOf="@+id/submission_consent_help_by_warning_others_headline"
+            app:layout_constraintStart_toStartOf="@id/guideline_start"
+            app:layout_constraintEnd_toEndOf="@id/guideline_end"
+            android:text="@string/submission_consent_help_by_warning_others_body"
+            style="@style/subtitle" />
+
+        <include layout="@layout/merge_guidelines_side" />
+
+    </androidx.constraintlayout.widget.ConstraintLayout>
+</layout>
diff --git a/Corona-Warn-App/src/main/res/layout/include_submission_qr_code_info.xml b/Corona-Warn-App/src/main/res/layout/include_submission_qr_code_info.xml
deleted file mode 100644
index 2f68632b6..000000000
--- a/Corona-Warn-App/src/main/res/layout/include_submission_qr_code_info.xml
+++ /dev/null
@@ -1,219 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<layout xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:app="http://schemas.android.com/apk/res-auto">
-
-    <ScrollView
-        android:id="@+id/submission_qr_code_info_scrollview"
-        android:layout_width="match_parent"
-        android:layout_height="match_parent">
-
-        <androidx.constraintlayout.widget.ConstraintLayout
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:focusable="true">
-
-            <ImageView
-                android:id="@+id/submission_qr_info_illustration"
-                android:layout_width="@dimen/match_constraint"
-                android:layout_height="wrap_content"
-                android:focusable="true"
-                android:src="@drawable/ic_illustrations_qr_code_scan_info"
-                app:layout_constraintEnd_toEndOf="parent"
-                app:layout_constraintStart_toStartOf="parent"
-                app:layout_constraintTop_toTopOf="parent" />
-
-            <androidx.constraintlayout.widget.ConstraintLayout
-                android:id="@+id/qr_info_step_1"
-                android:layout_width="@dimen/match_constraint"
-                android:layout_height="wrap_content"
-                android:layout_marginHorizontal="@dimen/guideline_card"
-                android:layout_marginTop="@dimen/bullet_point_spacing_after"
-                android:focusable="true"
-                app:layout_constraintEnd_toEndOf="parent"
-                app:layout_constraintStart_toStartOf="parent"
-                app:layout_constraintTop_toBottomOf="@id/submission_qr_info_illustration">
-
-                <androidx.constraintlayout.widget.ConstraintLayout
-                    android:id="@+id/qr_info_step_1_icon"
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    android:background="@drawable/circle"
-                    android:backgroundTint="@color/card_dark"
-                    app:layout_constraintBottom_toBottomOf="parent"
-                    app:layout_constraintStart_toStartOf="parent"
-                    app:layout_constraintTop_toTopOf="parent">
-
-                    <ImageView
-                        style="@style/icon"
-                        android:layout_width="@dimen/icon_size_risk_details_behavior"
-                        android:layout_height="@dimen/icon_size_risk_details_behavior"
-                        android:layout_margin="@dimen/icon_margin_risk_details_behavior"
-                        android:focusable="false"
-                        android:importantForAccessibility="no"
-                        android:src="@drawable/ic_qr_icon_personal_result"
-                        android:tint="@color/button_primary"
-                        app:layout_constraintBottom_toBottomOf="parent"
-                        app:layout_constraintEnd_toEndOf="parent"
-                        app:layout_constraintStart_toStartOf="parent"
-                        app:layout_constraintTop_toTopOf="parent" />
-                </androidx.constraintlayout.widget.ConstraintLayout>
-
-                <TextView
-                    style="@style/subtitle"
-                    android:layout_width="@dimen/match_constraint"
-                    android:layout_height="wrap_content"
-                    android:layout_marginStart="@dimen/spacing_small"
-                    android:text="@string/submission_qr_info_point_1_body"
-                    app:layout_constraintBottom_toBottomOf="parent"
-                    app:layout_constraintEnd_toEndOf="parent"
-                    app:layout_constraintStart_toEndOf="@+id/qr_info_step_1_icon"
-                    app:layout_constraintTop_toTopOf="parent" />
-            </androidx.constraintlayout.widget.ConstraintLayout>
-
-            <androidx.constraintlayout.widget.ConstraintLayout
-                android:id="@+id/qr_info_step_2"
-                android:layout_width="@dimen/match_constraint"
-                android:layout_height="wrap_content"
-                android:layout_marginHorizontal="@dimen/guideline_card"
-                android:layout_marginTop="@dimen/bullet_point_spacing_after"
-                android:focusable="true"
-                app:layout_constraintEnd_toEndOf="parent"
-                app:layout_constraintStart_toStartOf="parent"
-                app:layout_constraintTop_toBottomOf="@id/qr_info_step_1">
-
-                <androidx.constraintlayout.widget.ConstraintLayout
-                    android:id="@+id/qr_info_step_2_icon"
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    android:background="@drawable/circle"
-                    android:backgroundTint="@color/card_dark"
-                    app:layout_constraintBottom_toBottomOf="parent"
-                    app:layout_constraintStart_toStartOf="parent"
-                    app:layout_constraintTop_toTopOf="parent">
-
-                    <ImageView
-                        style="@style/icon"
-                        android:layout_width="@dimen/icon_size_risk_details_behavior"
-                        android:layout_height="@dimen/icon_size_risk_details_behavior"
-                        android:layout_margin="@dimen/icon_margin_risk_details_behavior"
-                        android:focusable="false"
-                        android:importantForAccessibility="no"
-                        android:src="@drawable/ic_qr_icon_test_scan"
-                        android:tint="@color/button_primary"
-                        app:layout_constraintBottom_toBottomOf="parent"
-                        app:layout_constraintEnd_toEndOf="parent"
-                        app:layout_constraintStart_toStartOf="parent"
-                        app:layout_constraintTop_toTopOf="parent" />
-                </androidx.constraintlayout.widget.ConstraintLayout>
-
-                <TextView
-                    style="@style/subtitle"
-                    android:layout_width="@dimen/match_constraint"
-                    android:layout_height="wrap_content"
-                    android:layout_marginStart="@dimen/spacing_small"
-                    android:text="@string/submission_qr_info_point_2_body"
-                    app:layout_constraintBottom_toBottomOf="parent"
-                    app:layout_constraintEnd_toEndOf="parent"
-                    app:layout_constraintStart_toEndOf="@+id/qr_info_step_2_icon"
-                    app:layout_constraintTop_toTopOf="parent" />
-            </androidx.constraintlayout.widget.ConstraintLayout>
-
-            <androidx.constraintlayout.widget.ConstraintLayout
-                android:id="@+id/qr_info_step_3"
-                android:layout_width="@dimen/match_constraint"
-                android:layout_height="wrap_content"
-                android:layout_marginHorizontal="@dimen/guideline_card"
-                android:layout_marginTop="@dimen/bullet_point_spacing_after"
-                android:focusable="true"
-                app:layout_constraintEnd_toEndOf="parent"
-                app:layout_constraintStart_toStartOf="parent"
-                app:layout_constraintTop_toBottomOf="@id/qr_info_step_2">
-
-                <androidx.constraintlayout.widget.ConstraintLayout
-                    android:id="@+id/qr_info_step_3_icon"
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    android:background="@drawable/circle"
-                    android:backgroundTint="@color/card_dark"
-                    app:layout_constraintBottom_toBottomOf="parent"
-                    app:layout_constraintStart_toStartOf="parent"
-                    app:layout_constraintTop_toTopOf="parent">
-
-                    <ImageView
-                        style="@style/icon"
-                        android:layout_width="@dimen/icon_size_risk_details_behavior"
-                        android:layout_height="@dimen/icon_size_risk_details_behavior"
-                        android:layout_margin="@dimen/icon_margin_risk_details_behavior"
-                        android:focusable="false"
-                        android:importantForAccessibility="no"
-                        android:src="@drawable/ic_qr_icon_multiple_tests"
-                        android:tint="@color/button_primary"
-                        app:layout_constraintBottom_toBottomOf="parent"
-                        app:layout_constraintEnd_toEndOf="parent"
-                        app:layout_constraintStart_toStartOf="parent"
-                        app:layout_constraintTop_toTopOf="parent" />
-                </androidx.constraintlayout.widget.ConstraintLayout>
-
-                <TextView
-                    style="@style/subtitle"
-                    android:layout_width="@dimen/match_constraint"
-                    android:layout_height="wrap_content"
-                    android:layout_marginStart="@dimen/spacing_small"
-                    android:text="@string/submission_qr_info_point_3_body"
-                    app:layout_constraintBottom_toBottomOf="parent"
-                    app:layout_constraintEnd_toEndOf="parent"
-                    app:layout_constraintStart_toEndOf="@+id/qr_info_step_3_icon"
-                    app:layout_constraintTop_toTopOf="parent" />
-            </androidx.constraintlayout.widget.ConstraintLayout>
-
-            <androidx.constraintlayout.widget.ConstraintLayout
-                android:id="@+id/qr_info_step_4"
-                android:layout_width="@dimen/match_constraint"
-                android:layout_height="wrap_content"
-                android:layout_marginHorizontal="@dimen/guideline_card"
-                android:layout_marginTop="@dimen/bullet_point_spacing_after"
-                android:focusable="true"
-                app:layout_constraintEnd_toEndOf="parent"
-                app:layout_constraintStart_toStartOf="parent"
-                app:layout_constraintTop_toBottomOf="@id/qr_info_step_3">
-
-                <androidx.constraintlayout.widget.ConstraintLayout
-                    android:id="@+id/qr_info_step_4_icon"
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    android:background="@drawable/circle"
-                    android:backgroundTint="@color/card_dark"
-                    app:layout_constraintBottom_toBottomOf="parent"
-                    app:layout_constraintStart_toStartOf="parent"
-                    app:layout_constraintTop_toTopOf="parent">
-
-                    <ImageView
-                        style="@style/icon"
-                        android:layout_width="@dimen/icon_size_risk_details_behavior"
-                        android:layout_height="@dimen/icon_size_risk_details_behavior"
-                        android:layout_margin="@dimen/icon_margin_risk_details_behavior"
-                        android:focusable="false"
-                        android:importantForAccessibility="no"
-                        android:src="@drawable/ic_qr_icon_info"
-                        android:tint="@color/button_primary"
-                        app:layout_constraintBottom_toBottomOf="parent"
-                        app:layout_constraintEnd_toEndOf="parent"
-                        app:layout_constraintStart_toStartOf="parent"
-                        app:layout_constraintTop_toTopOf="parent" />
-                </androidx.constraintlayout.widget.ConstraintLayout>
-
-                <TextView
-                    style="@style/subtitle"
-                    android:layout_width="@dimen/match_constraint"
-                    android:layout_height="wrap_content"
-                    android:layout_marginStart="@dimen/spacing_small"
-                    android:text="@string/submission_qr_info_point_4_body"
-                    app:layout_constraintBottom_toBottomOf="parent"
-                    app:layout_constraintEnd_toEndOf="parent"
-                    app:layout_constraintStart_toEndOf="@+id/qr_info_step_4_icon"
-                    app:layout_constraintTop_toTopOf="parent" />
-            </androidx.constraintlayout.widget.ConstraintLayout>
-        </androidx.constraintlayout.widget.ConstraintLayout>
-
-    </ScrollView>
-</layout>
\ No newline at end of file
diff --git a/Corona-Warn-App/src/main/res/layout/merge_guidelines_side.xml b/Corona-Warn-App/src/main/res/layout/merge_guidelines_side.xml
index ffeeb8a4e..de836a048 100644
--- a/Corona-Warn-App/src/main/res/layout/merge_guidelines_side.xml
+++ b/Corona-Warn-App/src/main/res/layout/merge_guidelines_side.xml
@@ -4,7 +4,7 @@
     <merge xmlns:android="http://schemas.android.com/apk/res/android"
         xmlns:app="http://schemas.android.com/apk/res-auto">
 
-    <androidx.constraintlayout.widget.Guideline
+        <androidx.constraintlayout.widget.Guideline
             android:id="@+id/guideline_start"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
diff --git a/Corona-Warn-App/src/main/res/layout/view_bullet_point_text.xml b/Corona-Warn-App/src/main/res/layout/view_bullet_point_text.xml
new file mode 100644
index 000000000..1a679cd56
--- /dev/null
+++ b/Corona-Warn-App/src/main/res/layout/view_bullet_point_text.xml
@@ -0,0 +1,40 @@
+<layout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    xmlns:tools="http://schemas.android.com/tools">
+
+    <data>
+        <variable
+            name="itemText"
+            type="String" />
+
+    </data>
+
+    <androidx.constraintlayout.widget.ConstraintLayout
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:paddingBottom="@dimen/spacing_normal">
+
+        <ImageView
+            android:id="@+id/bullet_point"
+            android:layout_width="@dimen/bullet_point_size"
+            android:layout_height="@dimen/bullet_point_size"
+            android:baseline="@dimen/bullet_point_baseline_offset"
+            android:src="@drawable/bullet_point"
+            android:importantForAccessibility="no"
+            app:layout_constraintBaseline_toBaselineOf="@+id/bullet_point_content"
+            app:layout_constraintStart_toStartOf="parent" />
+    
+        <TextView
+            android:id="@+id/bullet_point_content"
+            style="@style/subtitle"
+            android:layout_width="@dimen/match_constraint"
+            android:layout_height="wrap_content"
+            android:layout_marginStart="@dimen/bullet_point_spacing_after"
+            app:layout_constraintEnd_toEndOf="parent"
+            app:layout_constraintStart_toEndOf="@id/bullet_point"
+            app:layout_constraintTop_toTopOf="parent"
+            android:text="@{itemText}"
+            tools:text="@tools:sample/lorem" />
+    
+    </androidx.constraintlayout.widget.ConstraintLayout>
+</layout>
diff --git a/Corona-Warn-App/src/main/res/navigation/nav_graph.xml b/Corona-Warn-App/src/main/res/navigation/nav_graph.xml
index 44aea7e8c..6504b4320 100644
--- a/Corona-Warn-App/src/main/res/navigation/nav_graph.xml
+++ b/Corona-Warn-App/src/main/res/navigation/nav_graph.xml
@@ -38,8 +38,8 @@
             android:id="@+id/action_mainFragment_to_mainOverviewFragment"
             app:destination="@id/mainOverviewFragment" />
         <action
-            android:id="@+id/action_mainFragment_to_submissionIntroFragment"
-            app:destination="@id/submissionIntroFragment" />
+            android:id="@+id/action_mainFragment_to_submissionDispatcher"
+            app:destination="@id/submissionDispatcherFragment" />
         <action
             android:id="@+id/action_mainFragment_to_onboardingDeltaInteroperabilityFragment"
             app:destination="@id/onboardingDeltaInteroperabilityFragment" />
@@ -219,8 +219,8 @@
             android:id="@+id/action_submissionDispatcherFragment_to_submissionContactFragment"
             app:destination="@id/submissionContactFragment" />
         <action
-            android:id="@+id/action_submissionDispatcherFragment_to_submissionQRCodeInfoFragment"
-            app:destination="@id/submissionQRCodeInfoFragment" />
+            android:id="@+id/action_submissionDispatcherFragment_to_submissionConsentFragment"
+            app:destination="@id/submissionConsentFragment" />
     </fragment>
     <fragment
         android:id="@+id/submissionResultPositiveOtherWarningFragment"
@@ -312,14 +312,6 @@
             android:id="@+id/deepLink"
             app:uri="coronawarnapp://launch" />
     </activity>
-    <fragment
-        android:id="@+id/submissionQRCodeInfoFragment"
-        android:name="de.rki.coronawarnapp.ui.submission.qrcode.info.SubmissionQRCodeInfoFragment"
-        android:label="SubmissionQRCodeInfoFragment">
-        <action
-            android:id="@+id/action_submissionQRCodeInfoFragment_to_submissionQRCodeScanFragment"
-            app:destination="@id/submissionQRCodeScanFragment" />
-    </fragment>
 
     <fragment
         android:id="@+id/submissionQRCodeScanFragment"
@@ -387,6 +379,20 @@
             android:name="symptomIndication"
             app:argType="de.rki.coronawarnapp.submission.Symptoms$Indication" />
     </fragment>
-
+    <fragment
+        android:id="@+id/submissionConsentFragment"
+        android:name="de.rki.coronawarnapp.ui.submission.qrcode.consent.SubmissionConsentFragment"
+        android:label="SubmissionConsentFragment" >
+        <action
+            android:id="@+id/action_submissionConsentFragment_to_submissionQRCodeScanFragment"
+            app:destination="@id/submissionQRCodeScanFragment" />
+        <action
+            android:id="@+id/action_submissionConsentFragment_to_homeFragment"
+            app:popUpTo="@id/mainFragment"
+            app:popUpToInclusive="false"/>
+        <action
+            android:id="@+id/action_submissionConsentFragment_to_informationPrivacyFragment"
+            app:destination="@id/informationPrivacyFragment" />
+    </fragment>
 
 </navigation>
diff --git a/Corona-Warn-App/src/main/res/values-bg/strings.xml b/Corona-Warn-App/src/main/res/values-bg/strings.xml
index 5e76436e3..6a1be5431 100644
--- a/Corona-Warn-App/src/main/res/values-bg/strings.xml
+++ b/Corona-Warn-App/src/main/res/values-bg/strings.xml
@@ -835,19 +835,6 @@
     <!-- XBUT: Dialog(Invalid QR code) - negative button (left) -->
     <string name="submission_qr_code_scan_invalid_dialog_button_negative">"Отказ"</string>
 
-    <!-- QR Code Scan Info Screen -->
-    <!-- XHED: Page headline for QR Scan info screen -->
-    <string name="submission_qr_info_headline">"Сканиране на QR код"</string>
-    <!-- YTXT: Body text for for QR Scan info point 1  -->
-    <string name="submission_qr_info_point_1_body">"Сканирайте само Вашия собствен тест."</string>
-    <!-- YTXT: Body text for for QR Scan info point 2  -->
-    <string name="submission_qr_info_point_2_body">"Тестът може да се сканира само "<b>"веднъж"</b>"."</string>
-    <!-- YTXT: Body text for for QR Scan info point 3  -->
-    <string name="submission_qr_info_point_3_body">"В приложението "<b>"не може"</b>" да се обработват няколко теста едновременно."</string>
-    <!-- YTXT:Body text for for QR Scan info point 4 -->
-    <string name="submission_qr_info_point_4_body">"Ако съществува нов тест, изтрийте съществуващия и сканирайте QR кода на най-новия тест."</string>
-
-
     <!-- QR Code Scan Screen -->
     <string name="submission_qr_code_scan_title">"Позиционирайте QR кода в рамката."</string>
     <!-- YTXT: instruction text for QR code scanning  -->
@@ -959,14 +946,6 @@
     <string name="submission_dispatcher_card_qr">"Документ с QR код"</string>
     <!-- YTXT: Body text for QR code dispatcher option -->
     <string name="submission_dispatcher_qr_card_text">"Регистрирайте теста си, като сканирате QR кода на документа."</string>
-    <!-- XHED: Dialog headline for dispatcher QR prviacy dialog  -->
-    <string name="submission_dispatcher_qr_privacy_dialog_headline">"Поверителност"</string>
-    <!-- YTXT: Dialog Body text for dispatcher QR privacy dialog -->
-    <string name="submission_dispatcher_qr_privacy_dialog_body">"By tapping “Accept”, you consent to the App querying the status of your coronavirus test and displaying it in the App. This feature is available to you if you have received a QR code and have consented to your test result being transmitted to the App’s server system. As soon as the testing lab has stored your test result on the server, you will be able to see the result in the App. If you have enabled notifications, you will also receive a notification outside the App telling you that your test result has been received. However, for privacy reasons, the test result itself will only be displayed in the App. You can withdraw this consent at any time by deleting your test registration in the App. Withdrawing your consent will not affect the lawfulness of processing before its withdrawal. Further information can be found in the menu under “Data Privacy”."</string>
-    <!-- XBUT: submission(dispatcher QR Dialog) - positive button (right) -->
-    <string name="submission_dispatcher_qr_privacy_dialog_button_positive">"Разрешавам"</string>
-    <!-- XBUT: submission(dispatcher QR Dialog) - negative button (left) -->
-    <string name="submission_dispatcher_qr_privacy_dialog_button_negative">"Не разрешавам"</string>
     <!-- YTXT: Dispatcher text for TAN code option -->
     <string name="submission_dispatcher_card_tan_code">"ТАН код"</string>
     <!-- YTXT: Body text for TAN code dispatcher option -->
@@ -986,7 +965,7 @@
     <!-- YTXT: Body text for the positive result additional warning page-->
     <string name="submission_positive_other_warning_body">"Ако желаете, вече можете да помогнете и околните да бъдат предупредени за възможно заразяване.\n\nЗа целта трябва да споделите своите случайни идентификатори от последните 14 дни на сървъра, използван съвместно от участващите държави. По желание може да споделите също кога за пръв път сте забелязали симптомите на коронавирусната инфекция. От там Вашите уникални ИД и всяка допълнителна информация се разпращат до потребителите на съответните официални приложения за борба с коронавируса. По този начин и чуждестранните потребители, с които сте били в контакт, ще бъдат предупредени за възможно заразяване.\n\nСподелят се единствено Вашите случайни идентификатори и информацията за развитието на симптомите, която доброволно сте споделили. Не се разкриват лични данни като име, адрес или местоположение."</string>
     <!-- XBUT: other warning continue button -->
-    <string name="submission_positive_other_warning_button">"Приемам"</string>
+    <string name="submission_accept_button">"Приемам"</string>
     <!-- XACT: other warning - illustration description, explanation image -->
     <string name="submission_positive_other_illustration_description">"Смартфонът предава на системата информация за положителен резултат от тест."</string>
     <!-- XHED: Title for the interop country list-->
@@ -1392,4 +1371,4 @@
     <!-- XBUT: Title for the interoperability onboarding Settings-Button if no network is available -->
     <string name="interoperability_onboarding_list_button_title_no_network">"Към настройките на устройството"</string>
 
-</resources>
\ No newline at end of file
+</resources>
diff --git a/Corona-Warn-App/src/main/res/values-de/legal_strings.xml b/Corona-Warn-App/src/main/res/values-de/legal_strings.xml
index aea9b0a5a..d2c64ea7f 100644
--- a/Corona-Warn-App/src/main/res/values-de/legal_strings.xml
+++ b/Corona-Warn-App/src/main/res/values-de/legal_strings.xml
@@ -12,4 +12,22 @@
     <string name="onboarding_tracing_headline_consent">"Einverständnis"</string>
     <!-- YTXT: onboarding(tracing) - body for consent information -->
     <string name="onboarding_tracing_body_consent">"Um zu erfahren, ob Sie Risiko-Begegnungen mit App-Nutzern der teilnehmenden Länder hatten und für Sie ein Infektionsrisiko besteht, müssen Sie die Risiko-Ermittlung aktivieren. Der Aktivierung der Risiko-Ermittlung und der damit im Zusammenhang stehenden Datenverarbeitung durch die App stimmen Sie mit Antippen des Buttons „Risiko-Ermittlung aktivieren“ zu.\n\nUm die Risiko-Ermittlung nutzen zu können, müssen Sie zudem auf Ihrem Android-Smartphone die von Google bereitgestellte Funktion „COVID-19-Benachrichtigungen“ aktivieren und für die Corona-Warn-App freigeben.\n\nBei aktiviertem COVID-19-Benachrichtigungssystem erzeugt Ihr Android-Smartphone kontinuierlich Zufalls-IDs und versendet diese per Bluetooth, damit diese von Smartphones in Ihrer Umgebung empfangen werden können. Umgekehrt empfängt Ihr Android-Smartphone die Zufalls-IDs von anderen Smartphones. Die eigenen und die von anderen Smartphones empfangenen Zufalls-IDs werden von Ihrem Android-Smartphone aufgezeichnet und dort für 14 Tage gespeichert.\n\nFür die Risiko-Ermittlung lädt die App täglich eine aktuelle Liste mit den Zufalls-IDs aller Nutzer herunter, die diese über ihre offizielle Corona-App geteilt haben. Diese Liste wird dann mit den von Ihrem Smartphone aufgezeichneten Zufalls-IDs anderer Nutzer verglichen.\n\nWenn dabei eine Risiko-Begegnung festgestellt wird, werden Sie von der App informiert. In diesem Fall erhält die App Zugriff auf die von Ihrem Smartphone zu der Risiko-Begegnung aufgezeichneten Daten (Datum, Dauer und Bluetooth-Signalstärke des Kontakts). Aus der Bluetooth-Signalstärke wird der räumliche Abstand zu dem anderen Nutzer abgeleitet (je stärker das Signal, desto geringer der Abstand). Diese Angaben werden von der App ausgewertet, um Ihr Infektionsrisiko zu berechnen und Ihnen Verhaltensempfehlungen zu geben. Diese Auswertung wird ausschließlich lokal auf Ihrem Smartphone durchgeführt.\n\nAußer Ihnen erfährt niemand (auch nicht das RKI oder die Gesundheitsbehörden teilnehmender Länder), ob Sie eine Risiko-Begegnung hatten und welches Infektionsrisiko für Sie ermittelt wird.\n\nZum Widerruf Ihrer Einwilligung in die Risiko-Ermittlung können Sie die Funktion über den Schieberegler innerhalb der App deaktivieren oder die App löschen. Wenn Sie die Risiko-Ermittlung wieder nutzen möchten, können Sie den Schieberegler erneut aktivieren oder die App erneut installieren. Wenn Sie die Risiko-Ermittlung deaktivieren, prüft die App nicht mehr, ob Sie Risiko-Begegnungen hatten. Um auch das Aussenden und den Empfang der Zufalls-IDs anzuhalten, müssen Sie das COVID-19-Benachrichtigungssystem in den Einstellungen Ihres Android-Smartphones deaktivieren. Bitte beachten Sie, dass die vom COVID-19-Benachrichtigungssystem Ihres Android-Smartphones aufgezeichneten fremden und eigenen Zufalls-IDs nicht von der App gelöscht werden. Diese können Sie nur in den Einstellungen Ihres Android-Smartphones dauerhaft löschen.\n\nDie Datenschutzerklärung der App (einschließlich Informationen zur Datenverarbeitung für die länderübergreifende Risiko-Ermittlung) finden Sie unter dem Menüpunkt „App-Informationen“ > „Datenschutz“."</string>
+    <!-- XHED: Page subheadline for consent sub section your consent  -->
+    <string name="submission_consent_your_consent_subsection_headline">"Ihr Einverständnis"</string>
+    <!-- YTXT: Body for consent sub section your consent subtext -->
+    <string name="submission_consent_your_consent_subsection_tapping_agree">"Durch Antippen von „Einverstanden“ willigen Sie wie folgt ein:"</string>
+    <!-- YTXT: Body for consent sub section your consent subtext first point  -->
+    <string name="submission_consent_your_consent_subsection_first_point">"<b>Die App ruft Ihr Testergebnis ab.</b> Wenn Sie es sich später anders überlegen, können Sie den Test in der App entfernen."</string>
+    <!-- YTXT: Body for consent sub section your consent subtext second point  -->
+    <string name="submission_consent_your_consent_subsection_second_point">"<b>Wenn Sie positiv auf Corona getestet wurden, teilt die App Ihr Testergebnis, um Nutzer, denen Sie begegnet sind, zu warnen. Dies betrifft Nutzer von offiziellen Corona-Apps der oben genannten Länder. Wenn Sie zusätzlich Angaben zum Beginn Ihrer Symptome machen, werden auch diese geteilt.</b>"</string>
+    <!-- YTXT: Body for consent sub section your consent subtext third point  -->
+    <string name="submission_consent_your_consent_subsection_third_point">"Sie können Ihr Einverständnis jederzeit zurücknehmen. Die Einstellung hierfür finden Sie unter „Test anzeigen“. Vor dem Teilen werden Sie nochmal auf Ihr Einverständnis hingewiesen und um Freigabe Ihres Testergebnisses gebeten."</string>
+    <!-- YTXT: Body for consent main section first point  -->
+    <string name="submission_consent_main_first_point">"Ihr Einverständnis ist freiwillig."</string>
+    <!-- YTXT: Body for consent main section second point  -->
+    <string name="submission_consent_main_second_point">"Sie können Ihr Testergebnis auch abrufen, wenn Sie dies nicht teilen. Wenn Sie ihr Testergebnis teilen, helfen Sie jedoch mit, Ihre Mitmenschen vor Ansteckungen zu schützen."</string>
+    <!-- YTXT: Body for consent main section third point  -->
+    <string name="submission_consent_main_third_point">"Ihre Identität bleibt geheim. Andere Nutzer erfahren nicht, wer sein Testergebnis geteilt hat."</string>
+    <!-- YTXT: Body for consent main section fourth point  -->
+    <string name="submission_consent_main_fourth_point">"Sie können Ihr Einverständnis abgeben, wenn Sie mindestens 16 Jahre alt sind."</string>
 </resources>
diff --git a/Corona-Warn-App/src/main/res/values-de/strings.xml b/Corona-Warn-App/src/main/res/values-de/strings.xml
index b8174bdd6..33b44e377 100644
--- a/Corona-Warn-App/src/main/res/values-de/strings.xml
+++ b/Corona-Warn-App/src/main/res/values-de/strings.xml
@@ -836,19 +836,6 @@
     <!-- XBUT: Dialog(Invalid QR code) - negative button (left) -->
     <string name="submission_qr_code_scan_invalid_dialog_button_negative">"Abbrechen"</string>
 
-    <!-- QR Code Scan Info Screen -->
-    <!-- XHED: Page headline for QR Scan info screen -->
-    <string name="submission_qr_info_headline">"QR-Code Scan"</string>
-    <!-- YTXT: Body text for for QR Scan info point 1  -->
-    <string name="submission_qr_info_point_1_body">"Scannen Sie nur Ihren eigenen Test."</string>
-    <!-- YTXT: Body text for for QR Scan info point 2  -->
-    <string name="submission_qr_info_point_2_body">"Jeder Test kann <b>nur einmal</b> gescannt werden."</string>
-    <!-- YTXT: Body text for for QR Scan info point 3  -->
-    <string name="submission_qr_info_point_3_body">"Die App kann <b>nicht</b> gleichzeitig mehrere Tests verwalten."</string>
-    <!-- YTXT:Body text for for QR Scan info point 4 -->
-    <string name="submission_qr_info_point_4_body">"Wenn Ihnen ein aktuellerer Test vorliegt, löschen Sie den vorhandenen Test und scannen Sie den QR-Code des aktuellen Tests ein."</string>
-
-
     <!-- QR Code Scan Screen -->
     <string name="submission_qr_code_scan_title">"Positionieren Sie den QR-Code in den Rahmen."</string>
     <!-- YTXT: instruction text for QR code scanning  -->
@@ -858,37 +845,19 @@
     <!-- XHED: Page headline for Submission consent  -->
     <string name="submission_consent_main_headline">"Ihr Einverständnis"</string>
     <!-- YTXT: Body for Submissionconsent  -->
-    <string name="submission_consent_main_headline_body">"Bevor Sie Ihr Testergebnis abrufen und andere warnen können, ist Ihr Einverständnis erforderlich.."</string>
+    <string name="submission_consent_main_headline_body">"Bevor Sie Ihr Testergebnis abrufen und andere warnen können, ist Ihr Einverständnis erforderlich."</string>
     <!-- XHED: Page subheadline for consent call test result  -->
     <string name="submission_consent_call_test_result">"Testergebnis abrufen"</string>
     <!-- YTXT: Body for Submission Consent call test result body  -->
     <string name="submission_consent_call_test_result_body">"Scannen Sie im nächsten Schritt den QR-Code auf Ihrem Test und rufen Sie Ihr Testergebnis ab."</string>
     <!-- YTXT:  Body sub text 1 for Submission Consent call test result   -->
-    <string name="submission_consent_call_test_result_scan_your_test_only">"Scannen Sie nur Ihren eigenen Test"</string>
+    <string name="submission_consent_call_test_result_scan_your_test_only">"Scannen Sie nur Ihren eigenen Test."</string>
     <!-- YTXT:  Body sub text 2 for Submission Consent call test result   -->
     <string name="submission_consent_call_test_result_scan_test_only_once">"Ihr Test kann nur einmal gescannt werden. Die App kann nicht gleichzeitig mehrere Tests verwalten."</string>
     <!-- XHED: Page subheadline for consent help by warning others  -->
     <string name="submission_consent_help_by_warning_others_headline">"Helfen Sie mit, indem Sie andere warnen, denen Sie begegnet sind!"</string>
     <!-- YTXT: Body for consent help by warning others -->
     <string name="submission_consent_help_by_warning_others_body">"Wenn Sie positiv auf Corona getestet wurden, können Sie Ihre Mitmenschen über die App warnen. Die Warnung funktioniert in mehreren Ländern. Derzeit nehmen folgende Länder teil:"</string>
-    <!-- XHED: Page subheadline for consent sub section your consent  -->
-    <string name="submission_consent_your_consent_subsection_headline">"Ihr Einverständnis"</string>
-    <!-- YTXT: Body for consent sub section your consent subtext -->
-    <string name="submission_consent_your_consent_subsection_tapping_agree">"Durch Antippen von „Einverstanden“ willigen Sie wie folgt ein:"</string>
-   <!-- YTXT: Body for consent sub section your consent subtext first point  -->
-    <string name="submission_consent_your_consent_subsection_first_point">"Die App ruft Ihr Testergebnis ab. Wenn Sie es sich später anders überlegen, können Sie den Test in der App entfernen."</string>
-  <!-- YTXT: Body for consent sub section your consent subtext second point  -->
-    <string name="submission_consent_your_consent_subsection_second_point">"Wenn Sie positiv auf Corona getestet wurden, teilt die App Ihr Testergebnis, um Nutzer, denen Sie begegnet sind, zu warnen. Dies betrifft Nutzer von offiziellen Corona-Apps der oben genannten Länder. Wenn Sie zusätzlich Angaben zum Beginn Ihrer Symptome machen, werden auch diese geteilt."</string>
-  <!-- YTXT: Body for consent sub section your consent subtext third point  -->
-    <string name="submission_consent_your_consent_subsection_third_point">"Sie können Ihr Einverständnis jederzeit zurücknehmen. Die Einstellung hierfür finden Sie unter „Test anzeigen“. Vor dem Teilen werden Sie nochmal auf Ihr Einverständnis hingewiesen und um Freigabe Ihres Testergebnisses gebeten."</string>
-    <!-- YTXT: Body for consent main section first point  -->
-    <string name="submission_consent_main_first_point">"Ihr Einverständnis ist freiwillig."</string>
-    <!-- YTXT: Body for consent main section second point  -->
-    <string name="submission_consent_main_second_point">"Sie können Ihr Testergebnis auch abrufen, wenn Sie dies nicht teilen. Wenn Sie ihr Testergebnis teilen, helfen Sie jedoch mit, Ihre Mitmenschen vor Ansteckungen zu schützen."</string>
-    <!-- YTXT: Body for consent main section third point  -->
-    <string name="submission_consent_main_third_point">"Ihre Identität bleibt geheim. Andere Nutzer erfahren nicht, wer sein Testergebnis geteilt hat."</string>
-    <!-- YTXT: Body for consent main section fourth point  -->
-    <string name="submission_consent_main_fourth_point">"Sie können Ihr Einverständnis abgeben, wenn Sie mindestens 16 Jahre alt sind."</string>
     <!-- YTXT: Page bottom text for consent screen -->
     <string name="submission_consent_main_bottom_body">"Ausführliche Informationen zur Datenverarbeitung und Ihrem Einverständnis"</string>
 
@@ -998,14 +967,6 @@
     <string name="submission_dispatcher_card_qr">"Test mit QR-Code"</string>
     <!-- YTXT: Body text for QR code dispatcher option -->
     <string name="submission_dispatcher_qr_card_text">"Registrieren Sie Ihren Test, indem Sie den QR-Code ihres Test-Dokuments scannen."</string>
-    <!-- XHED: Dialog headline for dispatcher QR prviacy dialog  -->
-    <string name="submission_dispatcher_qr_privacy_dialog_headline">"Einwilligungserklärung"</string>
-    <!-- YTXT: Dialog Body text for dispatcher QR privacy dialog -->
-    <string name="submission_dispatcher_qr_privacy_dialog_body">"Durch Antippen von „Erlauben“ willigen Sie ein, dass die App den Status Ihres Corona-Virus-Tests abfragen und in der App anzeigen darf. Diese Funktion steht Ihnen zur Verfügung, wenn Sie einen QR-Code erhalten und eingewilligt haben, dass Ihr Testergebnis an das Serversystem der App übermittelt werden darf. Sobald das Testlabor Ihr Testergebnis auf dem Server hinterlegt hat, können Sie das Ergebnis in der App sehen. Falls Sie Mitteilungen aktiviert haben, werden Sie auch außerhalb der App über den Eingang des Testergebnis informiert. Das Testergebnis selbst wird aus Datenschutzgründen jedoch nur in der App angezeigt. Sie können diese Einwilligung jederzeit widerrufen, indem Sie die Testregistrierung in der App löschen. Durch den Widerruf der Einwilligung wird die Rechtmäßigkeit der bis zum Widerruf erfolgten Verarbeitung nicht berührt. Weitere Informationen finden Sie unter dem Menüpunkt „Datenschutz“."</string>
-    <!-- XBUT: submission(dispatcher QR Dialog) - positive button (right) -->
-    <string name="submission_dispatcher_qr_privacy_dialog_button_positive">"Erlauben"</string>
-    <!-- XBUT: submission(dispatcher QR Dialog) - negative button (left) -->
-    <string name="submission_dispatcher_qr_privacy_dialog_button_negative">"Nicht erlauben"</string>
     <!-- YTXT: Dispatcher text for TAN code option -->
     <string name="submission_dispatcher_card_tan_code">"TAN-Eingabe"</string>
     <!-- YTXT: Body text for TAN code dispatcher option -->
@@ -1026,7 +987,7 @@
     <string name="submission_positive_other_warning_body">"Als Nächstes können Sie dafür sorgen, dass Ihre Mitmenschen vor einer möglichen Infektion gewarnt werden.\n\nHierfür können Sie Ihre eigenen Zufalls-IDs der letzten 14 Tage und optional auch Angaben zum ersten Auftreten von eventuellen Corona-Symptomen an den von den teilnehmenden Ländern gemeinsam betriebenen 
         Server übertragen. Von dort werden Ihre Zufalls-IDs und eventuelle weitere Angaben an die Nutzer der jeweiligen offiziellen Corona-Apps verteilt. So können die anderen Nutzer, mit denen Sie Kontakt hatten, vor einer eventuellen Ansteckung gewarnt werden.\n\nEs werden nur Zufalls-IDs und eventuelle Angaben zum Symptombeginn übertragen. Es werden keine persönlichen Daten wie Ihr Name, Ihre Adresse oder Ihr Aufenthaltsort mitgeteilt."</string>
     <!-- XBUT: other warning continue button -->
-    <string name="submission_positive_other_warning_button">"Einverstanden"</string>
+    <string name="submission_accept_button">"Einverstanden"</string>
     <!-- XACT: other warning - illustration description, explanation image -->
     <string name="submission_positive_other_illustration_description">"Ein Smartphone übermittelt einen positiven Testbefund verschlüsselt ins System."</string>
     <!-- XHED: Title for the interop country list-->
diff --git a/Corona-Warn-App/src/main/res/values-en/strings.xml b/Corona-Warn-App/src/main/res/values-en/strings.xml
index c84d50665..1b5a8d634 100644
--- a/Corona-Warn-App/src/main/res/values-en/strings.xml
+++ b/Corona-Warn-App/src/main/res/values-en/strings.xml
@@ -835,19 +835,6 @@
     <!-- XBUT: Dialog(Invalid QR code) - negative button (left) -->
     <string name="submission_qr_code_scan_invalid_dialog_button_negative">"Cancel"</string>
 
-    <!-- QR Code Scan Info Screen -->
-    <!-- XHED: Page headline for QR Scan info screen -->
-    <string name="submission_qr_info_headline">"QR Code Scan"</string>
-    <!-- YTXT: Body text for for QR Scan info point 1  -->
-    <string name="submission_qr_info_point_1_body">"Only scan your own test."</string>
-    <!-- YTXT: Body text for for QR Scan info point 2  -->
-    <string name="submission_qr_info_point_2_body">"The test can only be scanned "<b>"once"</b>"."</string>
-    <!-- YTXT: Body text for for QR Scan info point 3  -->
-    <string name="submission_qr_info_point_3_body">"The app "<b>"cannot"</b>" manage multiple tests at the same time."</string>
-    <!-- YTXT:Body text for for QR Scan info point 4 -->
-    <string name="submission_qr_info_point_4_body">"If a more current test is available, delete the existing test and scan the QR code of the current test."</string>
-
-
     <!-- QR Code Scan Screen -->
     <string name="submission_qr_code_scan_title">"Position the QR code in the frame."</string>
     <!-- YTXT: instruction text for QR code scanning  -->
@@ -959,14 +946,6 @@
     <string name="submission_dispatcher_card_qr">"Document with QR code"</string>
     <!-- YTXT: Body text for QR code dispatcher option -->
     <string name="submission_dispatcher_qr_card_text">"Register your test by scanning the QR code of your test document."</string>
-    <!-- XHED: Dialog headline for dispatcher QR prviacy dialog  -->
-    <string name="submission_dispatcher_qr_privacy_dialog_headline">"Declaration of Consent"</string>
-    <!-- YTXT: Dialog Body text for dispatcher QR privacy dialog -->
-    <string name="submission_dispatcher_qr_privacy_dialog_body">"By tapping “Accept”, you consent to the App querying the status of your coronavirus test and displaying it in the App. This feature is available to you if you have received a QR code and have consented to your test result being transmitted to the App’s server system. As soon as the testing lab has stored your test result on the server, you will be able to see the result in the App. If you have enabled notifications, you will also receive a notification outside the App telling you that your test result has been received. However, for privacy reasons, the test result itself will only be displayed in the App. You can withdraw this consent at any time by deleting your test registration in the App. Withdrawing your consent will not affect the lawfulness of processing before its withdrawal. Further information can be found in the menu under “Data Privacy”."</string>
-    <!-- XBUT: submission(dispatcher QR Dialog) - positive button (right) -->
-    <string name="submission_dispatcher_qr_privacy_dialog_button_positive">"Allow"</string>
-    <!-- XBUT: submission(dispatcher QR Dialog) - negative button (left) -->
-    <string name="submission_dispatcher_qr_privacy_dialog_button_negative">"Do Not Allow"</string>
     <!-- YTXT: Dispatcher text for TAN code option -->
     <string name="submission_dispatcher_card_tan_code">"TAN"</string>
     <!-- YTXT: Body text for TAN code dispatcher option -->
@@ -986,7 +965,7 @@
     <!-- YTXT: Body text for the positive result additional warning page-->
     <string name="submission_positive_other_warning_body">"If you wish, you can now ensure that others are warned of possible infection.\n\nTo do so, you can transmit your own random IDs from the last 14 days – and, optionally, information about when you first noticed coronavirus symptoms – to the server operated jointly by the participating countries. From there, your random IDs and any additional information will be distributed to the users of the relevant official coronavirus apps. In this way, any other users with whom you have had contact can be warned of a possible infection.\n\nThe only information transmitted will be your random IDs and any optional information you provide about the onset of your symptoms. No personal data such as your name, address or location will be disclosed."</string>
     <!-- XBUT: other warning continue button -->
-    <string name="submission_positive_other_warning_button">"Accept"</string>
+    <string name="submission_accept_button">"Accept"</string>
     <!-- XACT: other warning - illustration description, explanation image -->
     <string name="submission_positive_other_illustration_description">"A smartphone transmits an encrypted positive test diagnosis to the system."</string>
     <!-- XHED: Title for the interop country list-->
@@ -1392,4 +1371,4 @@
     <!-- XBUT: Title for the interoperability onboarding Settings-Button if no network is available -->
     <string name="interoperability_onboarding_list_button_title_no_network">"Open Device Settings"</string>
 
-</resources>
\ No newline at end of file
+</resources>
diff --git a/Corona-Warn-App/src/main/res/values-pl/strings.xml b/Corona-Warn-App/src/main/res/values-pl/strings.xml
index 59ab0e027..dca95af4a 100644
--- a/Corona-Warn-App/src/main/res/values-pl/strings.xml
+++ b/Corona-Warn-App/src/main/res/values-pl/strings.xml
@@ -835,19 +835,6 @@
     <!-- XBUT: Dialog(Invalid QR code) - negative button (left) -->
     <string name="submission_qr_code_scan_invalid_dialog_button_negative">"Anuluj"</string>
 
-    <!-- QR Code Scan Info Screen -->
-    <!-- XHED: Page headline for QR Scan info screen -->
-    <string name="submission_qr_info_headline">"Skan kodu QR"</string>
-    <!-- YTXT: Body text for for QR Scan info point 1  -->
-    <string name="submission_qr_info_point_1_body">"Zeskanuj tylko swój własny test."</string>
-    <!-- YTXT: Body text for for QR Scan info point 2  -->
-    <string name="submission_qr_info_point_2_body">"Test można zeskanować tylko "<b>"raz"</b>"."</string>
-    <!-- YTXT: Body text for for QR Scan info point 3  -->
-    <string name="submission_qr_info_point_3_body">"Aplikacja "<b>"nie może"</b>" zarządzać wieloma testami jednocześnie."</string>
-    <!-- YTXT:Body text for for QR Scan info point 4 -->
-    <string name="submission_qr_info_point_4_body">"Jeśli dostępny jest bardziej aktualny test, usuń dotychczasowy test i zeskanuj kod QR aktualnego testu."</string>
-
-
     <!-- QR Code Scan Screen -->
     <string name="submission_qr_code_scan_title">"Ustaw kod QR w ramce."</string>
     <!-- YTXT: instruction text for QR code scanning  -->
@@ -959,14 +946,6 @@
     <string name="submission_dispatcher_card_qr">"Dokument z kodem QR"</string>
     <!-- YTXT: Body text for QR code dispatcher option -->
     <string name="submission_dispatcher_qr_card_text">"Zarejestruj test poprzez zeskanowanie kodu QR dokumentu testu."</string>
-    <!-- XHED: Dialog headline for dispatcher QR prviacy dialog  -->
-    <string name="submission_dispatcher_qr_privacy_dialog_headline">"Oświadczenia o wyrażeniu zgody"</string>
-    <!-- YTXT: Dialog Body text for dispatcher QR privacy dialog -->
-    <string name="submission_dispatcher_qr_privacy_dialog_body">"By tapping “Accept”, you consent to the App querying the status of your coronavirus test and displaying it in the App. This feature is available to you if you have received a QR code and have consented to your test result being transmitted to the App’s server system. As soon as the testing lab has stored your test result on the server, you will be able to see the result in the App. If you have enabled notifications, you will also receive a notification outside the App telling you that your test result has been received. However, for privacy reasons, the test result itself will only be displayed in the App. You can withdraw this consent at any time by deleting your test registration in the App. Withdrawing your consent will not affect the lawfulness of processing before its withdrawal. Further information can be found in the menu under “Data Privacy”."</string>
-    <!-- XBUT: submission(dispatcher QR Dialog) - positive button (right) -->
-    <string name="submission_dispatcher_qr_privacy_dialog_button_positive">"Zezwól"</string>
-    <!-- XBUT: submission(dispatcher QR Dialog) - negative button (left) -->
-    <string name="submission_dispatcher_qr_privacy_dialog_button_negative">"Nie zezwalaj"</string>
     <!-- YTXT: Dispatcher text for TAN code option -->
     <string name="submission_dispatcher_card_tan_code">"TAN"</string>
     <!-- YTXT: Body text for TAN code dispatcher option -->
@@ -986,7 +965,7 @@
     <!-- YTXT: Body text for the positive result additional warning page-->
     <string name="submission_positive_other_warning_body">"Jeśli chcesz, możesz teraz zapewnić, by inni otrzymali ostrzeżenie dotyczące potencjalnego zakażenia.\n\nW tym celu możesz wysłać losowe identyfikatory z ostatnich 14 dni – oraz opcjonalnie informację o dostrzeżeniu objawów koronawirusa u siebie – na serwer obsługiwany wspólnie przez uczestniczące kraje. Z tego serwera Twoje losowe identyfikatory i wszelkie dodatkowe informacje będą przesyłane do użytkowników odpowiednich oficjalnych aplikacji koronawirusowych. Dzięki temu inni użytkownicy, z którymi miałeś(-łaś) kontakt, otrzymają ostrzeżenie dotyczące ewentualnego zakażenia.\n\nJedynymi przesyłanymi informacjami są Twoje losowe identyfikatory oraz wszelkie opcjonalnie podane przez Ciebie informacje o wystąpieniu u Ciebie objawów. Nie są udostępniane żadne dane osobowe, takie jak imię i nazwisko, adres czy lokalizacja."</string>
     <!-- XBUT: other warning continue button -->
-    <string name="submission_positive_other_warning_button">"Akceptuj"</string>
+    <string name="submission_accept_button">"Akceptuj"</string>
     <!-- XACT: other warning - illustration description, explanation image -->
     <string name="submission_positive_other_illustration_description">"Zaszyfrowana diagnoza zakażenia jest przesyłana do systemu."</string>
     <!-- XHED: Title for the interop country list-->
@@ -1392,4 +1371,4 @@
     <!-- XBUT: Title for the interoperability onboarding Settings-Button if no network is available -->
     <string name="interoperability_onboarding_list_button_title_no_network">"Otwórz ustawienia urządzenia"</string>
 
-</resources>
\ No newline at end of file
+</resources>
diff --git a/Corona-Warn-App/src/main/res/values-ro/strings.xml b/Corona-Warn-App/src/main/res/values-ro/strings.xml
index e819e0e88..1ac7c15af 100644
--- a/Corona-Warn-App/src/main/res/values-ro/strings.xml
+++ b/Corona-Warn-App/src/main/res/values-ro/strings.xml
@@ -835,19 +835,6 @@
     <!-- XBUT: Dialog(Invalid QR code) - negative button (left) -->
     <string name="submission_qr_code_scan_invalid_dialog_button_negative">"Anulare"</string>
 
-    <!-- QR Code Scan Info Screen -->
-    <!-- XHED: Page headline for QR Scan info screen -->
-    <string name="submission_qr_info_headline">"Scanare cod QR"</string>
-    <!-- YTXT: Body text for for QR Scan info point 1  -->
-    <string name="submission_qr_info_point_1_body">"Scanați doar codul propriului dvs. test."</string>
-    <!-- YTXT: Body text for for QR Scan info point 2  -->
-    <string name="submission_qr_info_point_2_body">"Testul poate fi scanat "<b>"o singură dată"</b>"."</string>
-    <!-- YTXT: Body text for for QR Scan info point 3  -->
-    <string name="submission_qr_info_point_3_body">"Aplicația "<b>"nu poate"</b>" gestiona mai multe teste simultan.."</string>
-    <!-- YTXT:Body text for for QR Scan info point 4 -->
-    <string name="submission_qr_info_point_4_body">"Dacă este disponibil un test mai recent, ștergeți testul existent și scanați codul QR al testului curent."</string>
-
-
     <!-- QR Code Scan Screen -->
     <string name="submission_qr_code_scan_title">"Poziționați codul QR în cadru."</string>
     <!-- YTXT: instruction text for QR code scanning  -->
@@ -959,14 +946,6 @@
     <string name="submission_dispatcher_card_qr">"Document cu cod QR"</string>
     <!-- YTXT: Body text for QR code dispatcher option -->
     <string name="submission_dispatcher_qr_card_text">"Înregistrați-vă testul scanând codul QR al documentului de testare."</string>
-    <!-- XHED: Dialog headline for dispatcher QR prviacy dialog  -->
-    <string name="submission_dispatcher_qr_privacy_dialog_headline">"Declarație de consimțământ"</string>
-    <!-- YTXT: Dialog Body text for dispatcher QR privacy dialog -->
-    <string name="submission_dispatcher_qr_privacy_dialog_body">"By tapping “Accept”, you consent to the App querying the status of your coronavirus test and displaying it in the App. This feature is available to you if you have received a QR code and have consented to your test result being transmitted to the App’s server system. As soon as the testing lab has stored your test result on the server, you will be able to see the result in the App. If you have enabled notifications, you will also receive a notification outside the App telling you that your test result has been received. However, for privacy reasons, the test result itself will only be displayed in the App. You can withdraw this consent at any time by deleting your test registration in the App. Withdrawing your consent will not affect the lawfulness of processing before its withdrawal. Further information can be found in the menu under “Data Privacy”."</string>
-    <!-- XBUT: submission(dispatcher QR Dialog) - positive button (right) -->
-    <string name="submission_dispatcher_qr_privacy_dialog_button_positive">"Permiteți"</string>
-    <!-- XBUT: submission(dispatcher QR Dialog) - negative button (left) -->
-    <string name="submission_dispatcher_qr_privacy_dialog_button_negative">"Nu permiteți"</string>
     <!-- YTXT: Dispatcher text for TAN code option -->
     <string name="submission_dispatcher_card_tan_code">"TAN"</string>
     <!-- YTXT: Body text for TAN code dispatcher option -->
@@ -986,7 +965,7 @@
     <!-- YTXT: Body text for the positive result additional warning page-->
     <string name="submission_positive_other_warning_body">"Dacă doriți, acum puteți să vă asigurați că alte persoane sunt avertizate de posibila infectare.\n\nPentru aceasta, puteți transmite ID-urile dvs. aleatorii din ultimele 14 zile – și, opțional, informații despre momentul în care ați observat prima dată simptomele de coronavirus – către serverul operat în comun de țările participante. De aici, ID-urile aleatorii și informațiile suplimentare vor fi distribuite către utilizatorii aplicațiilor oficiale relevante împotriva coronavirusului. În acest mod, orice alt utilizator cu care ați avut contact poate fi avertizat de o posibilă infectare.\n\nSingurele informații transmise vor fi doar ID-urile aleatorii și orice informații opționale pe care le furnizați despre debutul simptomelor. Nu vor fi dezvăluite niciun fel de date personale, cum ar fi numele, adresa sau locația dvs."</string>
     <!-- XBUT: other warning continue button -->
-    <string name="submission_positive_other_warning_button">"Accept"</string>
+    <string name="submission_accept_button">"Accept"</string>
     <!-- XACT: other warning - illustration description, explanation image -->
     <string name="submission_positive_other_illustration_description">"Un smartphone transmite un diagnostic de test pozitiv criptat către sistem."</string>
     <!-- XHED: Title for the interop country list-->
@@ -1392,4 +1371,4 @@
     <!-- XBUT: Title for the interoperability onboarding Settings-Button if no network is available -->
     <string name="interoperability_onboarding_list_button_title_no_network">"Deschideți setările dispozitivului"</string>
 
-</resources>
\ No newline at end of file
+</resources>
diff --git a/Corona-Warn-App/src/main/res/values-tr/legal_strings.xml b/Corona-Warn-App/src/main/res/values-tr/legal_strings.xml
index d8dac17e2..87ba63dbe 100644
--- a/Corona-Warn-App/src/main/res/values-tr/legal_strings.xml
+++ b/Corona-Warn-App/src/main/res/values-tr/legal_strings.xml
@@ -12,4 +12,22 @@
     <string name="onboarding_tracing_headline_consent">"Onay beyanı"</string>
     <!-- YTXT: onboarding(tracing) - body for consent information -->
     <string name="onboarding_tracing_body_consent">"Diğer katılımcı ülkelerdeki uygulama kullanıcılarıyla bir riskli temasa maruz kalıp kalmadığınızı ve bu nedenle bir enfeksiyon riski olup olmadığını öğrenmek için, maruz kalma günlüğünü etkinleştirmeniz gerekmektedir. “Maruz kalma günlüğünü etkinleştir” tuşuna  tıkladığınızda, uygulamanızdaki maruz kalma günlüğünü ve ilgili veri işlemenin etkinleştirilmesini kabul etmiş olursunuz.\n\n Maruz kalma günlüğünü kullanabilmek için, ayrıca Android akıllı telefonunuzdaki Google tarafından sağlanan “COVID-19 bildirimleri” işlevini de etkinleştirmeniz ve Corona-Warn-App’ı kullanıma açmanız gerekir.\n\n COVID-19 bildirim sistemi etkinleştirildiğinde, Android akıllı telefonunuz sürekli olarak rastgele kimlik no’ları oluşturur ve bunları Bluetooth aracılığıyla göndererek çevrenizdeki akıllı telefonlar tarafından alınabilmelerini sağlar. Öte yandan, kendi Android akıllı telefonunuz da diğer akıllı telefonlardan rastgele kimlik no’ları alır. Kendi rastgele kimlik no’larınız ve diğer akıllı telefonlardan alınan kimlik no’ları, Android akıllı telefonunuz tarafından kaydedilir ve orada 14 gün boyunca saklanır.\n\nMaruz kalma günlüğü için uygulama, böyle bir teması bu uygulama üzerinden paylaşan tüm kullanıcıların rastgele kimlik no'larını içeren ve günlük olarak güncellenen bir liste indirir. Daha sonra bu liste, akıllı telefonunuz tarafından kaydedilen rastgele kimlik no’ları ile karşılaştırılır.\n\nBir riske maruz kalma tespit edilirse, Korona uygulaması sizi bu konuda bilgilendirir. Böyle bir durumda uygulama, akıllı telefonunuz tarafından kaydedilen maruz kalma verilerine (temasın tarihi, süresi ve Bluetooth sinyal gücü) erişir. Diğer kullanıcıya olan mekânsal mesafe, Bluetooth sinyal gücü üzerinden elde edilir (sinyal ne kadar güçlüyse, mesafe o kadar kısadır). Bu veriler, enfeksiyon riskinizi hesaplamak ve nasıl davranmanız gerektiği konusunda size önerilerde bulunmak üzere uygulama tarafından değerlendirilir. Bu değerlendirme işlemi, sadece kendi akıllı telefonunuzda gerçekleştirilir.\n\nSizden başka hiç kimse (RKI (Robert Koch Enstitüsü) veya katılımcı ülkelerin sağlık kurumu yetkilileri bile), enfeksiyon riskine maruz kalıp kalmadığınızı ve sizin için nasıl bir enfeksiyon riskinin saptandığını öğrenemez.\n\nMaruz kalma günlüğüne vermiş olduğunuz onayı iptal etmek için, uygulamadaki kaydırıcıyı kullanarak, işlevi devre dışı bırakabilir veya uygulamayı silebilirsiniz. Maruz kalma günlüğünü tekrar kullanmak isterseniz, kaydırıcıyı yeniden etkinleştirebilir veya uygulamayı yeniden yükleyebilirsiniz. Maruz kalma günlüğünü devre dışı bırakırsanız, uygulama, artık riskle karşılaşıp karşılaşmadığınızı denetleyemez. Rastgele kimlik no’larının gönderilmesini ve tarafınızdan alınmasını durdurmak için, Android akıllı telefonunuzdaki COVID-19 bildirim sistemini devre dışı bırakmanız gerekir. Android akıllı telefonunuzun COVID-19 bildirim sistemi tarafından kaydedilen kendinize ait ve dışarıdan gelen rastgele kimlik no’larının uygulama tarafından silinmediğini unutmayın. Bunları, sadece Android akıllı telefonunuzun ayarlarından kalıcı olarak silebilirsiniz.\n\nUygulamanın veri gizliliği beyanını (sınır ötesi maruz kalma günlüğü için veri işlemeye ilişkin bilgiler de dahil) „Uygulama bilgileri“ > „Veri gizliliği“ menü öğeleri altında bulabilirsiniz."</string>
+    <!-- XHED: Page subheadline for consent sub section your consent  -->
+    <string name="submission_consent_your_consent_subsection_headline"></string>
+    <!-- YTXT: Body for consent sub section your consent subtext -->
+    <string name="submission_consent_your_consent_subsection_tapping_agree"></string>
+    <!-- YTXT: Body for consent sub section your consent subtext first point  -->
+    <string name="submission_consent_your_consent_subsection_first_point"></string>
+    <!-- YTXT: Body for consent sub section your consent subtext second point  -->
+    <string name="submission_consent_your_consent_subsection_second_point"></string>
+    <!-- YTXT: Body for consent sub section your consent subtext third point  -->
+    <string name="submission_consent_your_consent_subsection_third_point"></string>
+    <!-- YTXT: Body for consent main section first point  -->
+    <string name="submission_consent_main_first_point"></string>
+    <!-- YTXT: Body for consent main section second point  -->
+    <string name="submission_consent_main_second_point"></string>
+    <!-- YTXT: Body for consent main section third point  -->
+    <string name="submission_consent_main_third_point"></string>
+    <!-- YTXT: Body for consent main section fourth point  -->
+    <string name="submission_consent_main_fourth_point"></string>
 </resources>
diff --git a/Corona-Warn-App/src/main/res/values-tr/strings.xml b/Corona-Warn-App/src/main/res/values-tr/strings.xml
index 42e37f2e4..a21fb29d3 100644
--- a/Corona-Warn-App/src/main/res/values-tr/strings.xml
+++ b/Corona-Warn-App/src/main/res/values-tr/strings.xml
@@ -835,19 +835,6 @@
     <!-- XBUT: Dialog(Invalid QR code) - negative button (left) -->
     <string name="submission_qr_code_scan_invalid_dialog_button_negative">"Ä°ptal"</string>
 
-    <!-- QR Code Scan Info Screen -->
-    <!-- XHED: Page headline for QR Scan info screen -->
-    <string name="submission_qr_info_headline">"QR Kod Tarama"</string>
-    <!-- YTXT: Body text for for QR Scan info point 1  -->
-    <string name="submission_qr_info_point_1_body">"Yalnızca kendi testinizi tarayın."</string>
-    <!-- YTXT: Body text for for QR Scan info point 2  -->
-    <string name="submission_qr_info_point_2_body">"Test yalnızca "<b>"bir kez"</b>" taranabilir."</string>
-    <!-- YTXT: Body text for for QR Scan info point 3  -->
-    <string name="submission_qr_info_point_3_body">"Uygulama aynı anda birden çok testi "<b>"yönetemez"</b>"."</string>
-    <!-- YTXT:Body text for for QR Scan info point 4 -->
-    <string name="submission_qr_info_point_4_body">"Daha yakın zamanlı bir test varsa mevcut testi silin ve yakın zamanlı testin QR kodunu tarayın."</string>
-
-
     <!-- QR Code Scan Screen -->
     <string name="submission_qr_code_scan_title">"QR kodu çerçeveye sığdırın."</string>
     <!-- YTXT: instruction text for QR code scanning  -->
@@ -959,14 +946,6 @@
     <string name="submission_dispatcher_card_qr">"QR kod ile belgeleyin"</string>
     <!-- YTXT: Body text for QR code dispatcher option -->
     <string name="submission_dispatcher_qr_card_text">"Test belgenizin QR kodunu tarayarak testinizi kaydedin."</string>
-    <!-- XHED: Dialog headline for dispatcher QR prviacy dialog  -->
-    <string name="submission_dispatcher_qr_privacy_dialog_headline">"Kabul Beyanı"</string>
-    <!-- YTXT: Dialog Body text for dispatcher QR privacy dialog -->
-    <string name="submission_dispatcher_qr_privacy_dialog_body">"\"Kabul Et\" seçeneğine dokunarak Uygulamanın koronavirüs testinizin durumunu sorgulamasına ve Uygulamada görüntülemesine izin verirsiniz. Bu özelliği, QR kod aldıysanız ve test sonucunuzun Uygulamanın sunucu sistemine aktarılmasına onay verdiyseniz kullanabilirsiniz. Testi yapan laboratuvar test sonucunuzu sunucuya kaydettiği anda sonucu Uygulamada görüntüleyebilirsiniz. Ayrıca bildirimleri etkinleştirirseniz Uygulama, kullanmadığınız sırada test sonucunuzun alındığını belirten bir bildirim gönderir. Ancak gizlilik nedenleriyle testin sonucu yalnızca Uygulamada görüntülenecektir. Uygulamada test kaydınızı silerek dilediğiniz zaman bu onayı geri çekebilirsiniz. Onayınızı geri çekmeniz, onayınızı geri çekmeden önce testi işlemenin hukuki niteliğini etkilemeyecektir. Menüde \"Veri Gizliliği\" başlığında daha fazla bilgiye erişebilirsiniz."</string>
-    <!-- XBUT: submission(dispatcher QR Dialog) - positive button (right) -->
-    <string name="submission_dispatcher_qr_privacy_dialog_button_positive">"Ä°zin Ver"</string>
-    <!-- XBUT: submission(dispatcher QR Dialog) - negative button (left) -->
-    <string name="submission_dispatcher_qr_privacy_dialog_button_negative">"Ä°zin Verme"</string>
     <!-- YTXT: Dispatcher text for TAN code option -->
     <string name="submission_dispatcher_card_tan_code">"TAN"</string>
     <!-- YTXT: Body text for TAN code dispatcher option -->
@@ -986,7 +965,7 @@
     <!-- YTXT: Body text for the positive result additional warning page-->
     <string name="submission_positive_other_warning_body">"Dilerseniz diğer kullanıcıların olası enfeksiyonlar konusunda uyarılmasını sağlayabilirsiniz.\n\nBunun için son 14 güne ait rastgele kimliklerinizi ve isteğe bağlı olarak koronavirüs semptomlarını ne zaman ilk kez fark ettiğinizi katılımcı ülkeler tarafından ortak olarak işletilen sunucuya aktarabilirsiniz. Rastgele kimlikleriniz ve tüm ek bilgiler, bu sunucudan ilgili resmi koronavirüs uygulamalarının kullanıcılarına dağıtılacaktır. Bu sayede, temasta bulunduğunuz diğer tüm kullanıcılar olası enfeksiyon konusunda uyarılabilir.\n\nYalnızca rastgele kimlikleriniz ve semptomlarınızın başlangıcına ilişkin verdiğiniz isteğe bağlı bilgiler aktarılacaktır. Adınız, adresiniz veya konumunuz gibi hiçbir kişisel veri açıklanmayacaktır."</string>
     <!-- XBUT: other warning continue button -->
-    <string name="submission_positive_other_warning_button">"Kabul Et"</string>
+    <string name="submission_accept_button">"Kabul Et"</string>
     <!-- XACT: other warning - illustration description, explanation image -->
     <string name="submission_positive_other_illustration_description">"Bir akıllı telefon şifrelenmiş pozitif test tanısını sisteme aktarır."</string>
     <!-- XHED: Title for the interop country list-->
@@ -1392,4 +1371,4 @@
     <!-- XBUT: Title for the interoperability onboarding Settings-Button if no network is available -->
     <string name="interoperability_onboarding_list_button_title_no_network">"Cihaz Ayarlarını Aç"</string>
 
-</resources>
\ No newline at end of file
+</resources>
diff --git a/Corona-Warn-App/src/main/res/values/dimens.xml b/Corona-Warn-App/src/main/res/values/dimens.xml
index a411731f9..cc98ddb78 100644
--- a/Corona-Warn-App/src/main/res/values/dimens.xml
+++ b/Corona-Warn-App/src/main/res/values/dimens.xml
@@ -76,6 +76,8 @@
     <dimen name="circle_small">23dp</dimen>
     <dimen name="circle_large_width">10</dimen>
     <dimen name="circle_small_width">5</dimen>
+    <dimen name="circle_icon">32dp</dimen>
+    <dimen name="circle_icon_padding">6dp</dimen>
 
     <!-- todo illustration sizes -->
 
diff --git a/Corona-Warn-App/src/main/res/values/legal_strings.xml b/Corona-Warn-App/src/main/res/values/legal_strings.xml
index 244c58b9a..60b166747 100644
--- a/Corona-Warn-App/src/main/res/values/legal_strings.xml
+++ b/Corona-Warn-App/src/main/res/values/legal_strings.xml
@@ -13,4 +13,23 @@
     <string name="onboarding_tracing_headline_consent" translatable="false">"Declaration of consent"</string>
     <!-- YTXT: onboarding(tracing) - body for consent information -->
     <string name="onboarding_tracing_body_consent" translatable="false">"You need to enable exposure logging to find out whether you have had possible exposures involving app users in the participating countries and are therefore at risk of infection yourself. By tapping on the “Activate exposure logging” button, you agree to enabling the exposure logging feature and to the associated data processing by the app.\n\nIn order to use the exposure logging feature, you will also have to enable the “COVID-19 Exposure Notifications” functionality provided by Google on your Android smartphone and grant the Corona-Warn-App permission to use this.\n\nWhen COVID-19 Exposure Notifications are enabled, your Android smartphone continuously generates random IDs and sends them via Bluetooth so that they can be received by other smartphones near you. Your Android smartphone, in turn, receives the random IDs of other smartphones. Your own random IDs and those received from other smartphones are recorded by your Android smartphone and stored there for 14 days.\n\nFor exposure logging, the app downloads a list, which is updated daily, of the random IDs of all users who have shared their random IDs via their official coronavirus app. This list is then compared with the random IDs of other users which have been recorded by your smartphone.\n\nThe app will inform you if it detects a possible exposure. In this case, the app gains access to the data recorded by your smartphone about the possible exposure (date, duration and Bluetooth signal strength of the contact). The Bluetooth signal strength is used to derive the physical distance to the other user (the stronger the signal, the smaller the distance). The app analyses this information in order to calculate your risk of infection and to give you recommendations for what to do next. This analysis is only performed locally on your smartphone.\n\nApart from you, nobody (not even the RKI or the health authorities of participating countries) will know whether a possible exposure has been detected and what risk of infection has been identified for you.\n\nTo withdraw your consent to the exposure logging feature, you can disable the feature by using the toggle switch in the app or delete the app. If you would like to use the exposure logging feature again, you can toggle the feature back on or reinstall the app. If you disable the exposure logging feature, the app will no longer check for possible exposures. If you also wish to stop your device sending and receiving random IDs, you will need to disable COVID-19 Exposure Notifications in your Android smartphone settings. Please note that your own random IDs and those received from other smartphones which are stored by your Android smartphone’s COVID-19 Exposure Notification functionality will not be deleted by the app. You can only permanently delete these in your Android smartphone settings.\n\nThe app’s privacy notice (including information about the data processing carried out for the transnational exposure logging feature) can be found in the menu under „App Information“ > „Data Privacy“."</string>
+    <!-- XHED: Page subheadline for consent sub section your consent  -->
+    <string name="submission_consent_your_consent_subsection_headline" translatable="false"></string>
+    <!-- YTXT: Body for consent sub section your consent subtext -->
+    <string name="submission_consent_your_consent_subsection_tapping_agree" translatable="false"></string>
+    <!-- YTXT: Body for consent sub section your consent subtext first point  -->
+    <string name="submission_consent_your_consent_subsection_first_point" translatable="false"></string>
+    <!-- YTXT: Body for consent sub section your consent subtext second point  -->
+    <string name="submission_consent_your_consent_subsection_second_point" translatable="false"></string>
+    <!-- YTXT: Body for consent sub section your consent subtext third point  -->
+    <string name="submission_consent_your_consent_subsection_third_point" translatable="false"></string>
+    <!-- YTXT: Body for consent main section first point  -->
+    <string name="submission_consent_main_first_point" translatable="false"></string>
+    <!-- YTXT: Body for consent main section second point  -->
+    <string name="submission_consent_main_second_point" translatable="false"></string>
+    <!-- YTXT: Body for consent main section third point  -->
+    <string name="submission_consent_main_third_point" translatable="false"></string>
+    <!-- YTXT: Body for consent main section fourth point  -->
+    <string name="submission_consent_main_fourth_point" translatable="false"></string>
+
 </resources>
diff --git a/Corona-Warn-App/src/main/res/values/strings.xml b/Corona-Warn-App/src/main/res/values/strings.xml
index 7ce347f8f..c880b947c 100644
--- a/Corona-Warn-App/src/main/res/values/strings.xml
+++ b/Corona-Warn-App/src/main/res/values/strings.xml
@@ -840,18 +840,6 @@
     <!-- XBUT: Dialog(Invalid QR code) - negative button (left) -->
     <string name="submission_qr_code_scan_invalid_dialog_button_negative">"Cancel"</string>
 
-    <!-- QR Code Scan Info Screen -->
-    <!-- XHED: Page headline for QR Scan info screen -->
-    <string name="submission_qr_info_headline">"QR Code Scan"</string>
-    <!-- YTXT: Body text for for QR Scan info point 1  -->
-    <string name="submission_qr_info_point_1_body">"Only scan your own test."</string>
-    <!-- YTXT: Body text for for QR Scan info point 2  -->
-    <string name="submission_qr_info_point_2_body">"The test can only be scanned "<b>"once"</b>"."</string>
-    <!-- YTXT: Body text for for QR Scan info point 3  -->
-    <string name="submission_qr_info_point_3_body">"The app "<b>"cannot"</b>" manage multiple tests at the same time."</string>
-    <!-- YTXT:Body text for for QR Scan info point 4 -->
-    <string name="submission_qr_info_point_4_body">"If a more current test is available, delete the existing test and scan the QR code of the current test."</string>
-
     <!-- QR Code Scan Screen -->
     <string name="submission_qr_code_scan_title">"Position the QR code in the frame."</string>
     <!-- YTXT: instruction text for QR code scanning  -->
@@ -874,24 +862,6 @@
     <string name="submission_consent_help_by_warning_others_headline"></string>
     <!-- YTXT: Body for consent help by warning others -->
     <string name="submission_consent_help_by_warning_others_body"></string>
-    <!-- XHED: Page subheadline for consent sub section your consent  -->
-    <string name="submission_consent_your_consent_subsection_headline"></string>
-    <!-- YTXT: Body for consent sub section your consent subtext -->
-    <string name="submission_consent_your_consent_subsection_tapping_agree"></string>
-    <!-- YTXT: Body for consent sub section your consent subtext first point  -->
-    <string name="submission_consent_your_consent_subsection_first_point"></string>
-    <!-- YTXT: Body for consent sub section your consent subtext second point  -->
-    <string name="submission_consent_your_consent_subsection_second_point"></string>
-    <!-- YTXT: Body for consent sub section your consent subtext third point  -->
-    <string name="submission_consent_your_consent_subsection_third_point"></string>
-    <!-- YTXT: Body for consent main section first point  -->
-    <string name="submission_consent_main_first_point"></string>
-    <!-- YTXT: Body for consent main section second point  -->
-    <string name="submission_consent_main_second_point"></string>
-    <!-- YTXT: Body for consent main section third point  -->
-    <string name="submission_consent_main_third_point"></string>
-    <!-- YTXT: Body for consent main section fourth point  -->
-    <string name="submission_consent_main_fourth_point"></string>
     <!-- YTXT: Page bottom text for consent screen -->
     <string name="submission_consent_main_bottom_body"></string>
 
@@ -1001,14 +971,6 @@
     <string name="submission_dispatcher_card_qr">"Document with QR code"</string>
     <!-- YTXT: Body text for QR code dispatcher option -->
     <string name="submission_dispatcher_qr_card_text">"Register your test by scanning the QR code of your test document."</string>
-    <!-- XHED: Dialog headline for dispatcher QR prviacy dialog  -->
-    <string name="submission_dispatcher_qr_privacy_dialog_headline">"Declaration of Consent"</string>
-    <!-- YTXT: Dialog Body text for dispatcher QR privacy dialog -->
-    <string name="submission_dispatcher_qr_privacy_dialog_body">"By tapping “Accept”, you consent to the App querying the status of your coronavirus test and displaying it in the App. This feature is available to you if you have received a QR code and have consented to your test result being transmitted to the App’s server system. As soon as the testing lab has stored your test result on the server, you will be able to see the result in the App. If you have enabled notifications, you will also receive a notification outside the App telling you that your test result has been received. However, for privacy reasons, the test result itself will only be displayed in the App. You can withdraw this consent at any time by deleting your test registration in the App. Withdrawing your consent will not affect the lawfulness of processing before its withdrawal. Further information can be found in the menu under “Data Privacy”."</string>
-    <!-- XBUT: submission(dispatcher QR Dialog) - positive button (right) -->
-    <string name="submission_dispatcher_qr_privacy_dialog_button_positive">"Allow"</string>
-    <!-- XBUT: submission(dispatcher QR Dialog) - negative button (left) -->
-    <string name="submission_dispatcher_qr_privacy_dialog_button_negative">"Do Not Allow"</string>
     <!-- YTXT: Dispatcher text for TAN code option -->
     <string name="submission_dispatcher_card_tan_code">"TAN"</string>
     <!-- YTXT: Body text for TAN code dispatcher option -->
@@ -1028,7 +990,7 @@
     <!-- YTXT: Body text for the positive result additional warning page-->
     <string name="submission_positive_other_warning_body">"If you wish, you can now ensure that others are warned of possible infection.\n\nTo do so, you can transmit your own random IDs from the last 14 days – and, optionally, information about when you first noticed coronavirus symptoms – to the server operated jointly by the participating countries. From there, your random IDs and any additional information will be distributed to the users of the relevant official coronavirus apps. In this way, any other users with whom you have had contact can be warned of a possible infection.\n\nThe only information transmitted will be your random IDs and any optional information you provide about the onset of your symptoms. No personal data such as your name, address or location will be disclosed."</string>
     <!-- XBUT: other warning continue button -->
-    <string name="submission_positive_other_warning_button">"Accept"</string>
+    <string name="submission_accept_button">"Accept"</string>
     <!-- XACT: other warning - illustration description, explanation image -->
     <string name="submission_positive_other_illustration_description">"A smartphone transmits an encrypted positive test diagnosis to the system."</string>
     <!-- XHED: Title for the interop country list-->
@@ -1436,4 +1398,4 @@
     <string name="interoperability_onboarding_list_button_title_no_network">"Open Device Settings"</string>
 
 
-</resources>
\ No newline at end of file
+</resources>
diff --git a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/ui/submission/qrcode/consent/SubmissionConsentViewModelTest.kt b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/ui/submission/qrcode/consent/SubmissionConsentViewModelTest.kt
new file mode 100644
index 000000000..4ee0455ff
--- /dev/null
+++ b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/ui/submission/qrcode/consent/SubmissionConsentViewModelTest.kt
@@ -0,0 +1,61 @@
+package de.rki.coronawarnapp.ui.submission.qrcode.consent
+
+import de.rki.coronawarnapp.storage.SubmissionRepository
+import de.rki.coronawarnapp.storage.interoperability.InteroperabilityRepository
+import de.rki.coronawarnapp.ui.Country
+import de.rki.coronawarnapp.ui.submission.viewmodel.SubmissionNavigationEvents
+import io.kotest.matchers.shouldBe
+import io.mockk.MockKAnnotations
+import io.mockk.Runs
+import io.mockk.every
+import io.mockk.impl.annotations.MockK
+import io.mockk.just
+import io.mockk.verify
+import kotlinx.coroutines.flow.MutableStateFlow
+import org.junit.jupiter.api.BeforeEach
+import org.junit.jupiter.api.Test
+import org.junit.jupiter.api.extension.ExtendWith
+import testhelpers.extensions.InstantExecutorExtension
+
+@ExtendWith(InstantExecutorExtension::class)
+class SubmissionConsentViewModelTest {
+
+    @MockK lateinit var submissionRepository: SubmissionRepository
+    @MockK lateinit var interoperabilityRepository: InteroperabilityRepository
+
+    lateinit var viewModel: SubmissionConsentViewModel
+
+    private val countryList = Country.values().toList()
+
+    @BeforeEach
+    fun setUp() {
+        MockKAnnotations.init(this)
+        every { interoperabilityRepository.countryListFlow } returns MutableStateFlow(countryList)
+        every { submissionRepository.giveConsentToSubmission() } just Runs
+        viewModel =  SubmissionConsentViewModel(submissionRepository, interoperabilityRepository)
+    }
+
+    @Test
+    fun testOnConsentButtonClick() {
+        viewModel.onConsentButtonClick()
+        verify(exactly = 1) { submissionRepository.giveConsentToSubmission() }
+    }
+
+    @Test
+    fun testOnDataPrivacyClick() {
+        viewModel.onDataPrivacyClick()
+        viewModel.routeToScreen.value shouldBe SubmissionNavigationEvents.NavigateToDataPrivacy
+    }
+
+    @Test
+    fun testOnBackButtonClick() {
+        viewModel.onBackButtonClick()
+        viewModel.routeToScreen.value shouldBe SubmissionNavigationEvents.NavigateToDispatcher
+    }
+
+    @Test
+    fun testCountryList() {
+        viewModel.countries.observeForever { }
+        viewModel.countries.value shouldBe countryList
+    }
+}
diff --git a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/ui/submission/qrcode/info/SubmissionQRCodeInfoFragmentViewModelTest.kt b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/ui/submission/qrcode/info/SubmissionQRCodeInfoFragmentViewModelTest.kt
deleted file mode 100644
index d42ae7c1d..000000000
--- a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/ui/submission/qrcode/info/SubmissionQRCodeInfoFragmentViewModelTest.kt
+++ /dev/null
@@ -1,30 +0,0 @@
-package de.rki.coronawarnapp.ui.submission.qrcode.info
-
-import io.kotest.matchers.shouldBe
-import org.junit.jupiter.api.Test
-import org.junit.jupiter.api.extension.ExtendWith
-import testhelpers.extensions.InstantExecutorExtension
-import testhelpers.extensions.getOrAwaitValue
-
-@ExtendWith(InstantExecutorExtension::class)
-class SubmissionQRCodeInfoFragmentViewModelTest {
-
-    private fun createViewModel() =
-        SubmissionQRCodeInfoFragmentViewModel()
-
-    @Test
-    fun testBackPressButton() {
-        val vm = createViewModel()
-        vm.onBackPressed()
-
-        vm.navigateToDispatcher.getOrAwaitValue() shouldBe Unit
-    }
-
-    @Test
-    fun testNextButton() {
-        val vm = createViewModel()
-        vm.onNextPressed()
-
-        vm.navigateToQRScan.getOrAwaitValue() shouldBe Unit
-    }
-}
-- 
GitLab