diff --git a/Corona-Warn-App/build.gradle b/Corona-Warn-App/build.gradle
index 2905048422caf64055c2ae6e9852cdd7eb6f8533..ea075f218b9c71caa3f7efb719a3bb8ea9c8d574 100644
--- a/Corona-Warn-App/build.gradle
+++ b/Corona-Warn-App/build.gradle
@@ -127,7 +127,7 @@ android {
             applicationIdSuffix '.test'
 
             ext {
-                envTypeDefault = [debug: "INT", release: "WRU-XD"]
+                envTypeDefault = [debug: "INT", release: "WRU"]
             }
 
             if (signingPropFile.canRead()) {
diff --git a/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/onboarding/OnboardingTracingFragmentTest.kt b/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/onboarding/OnboardingTracingFragmentTest.kt
index a0362781c44750b755b88ca6f51228a89fd8d598..61922e75255197b0c1ac393c21c0d9fc44b55765 100644
--- a/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/onboarding/OnboardingTracingFragmentTest.kt
+++ b/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/onboarding/OnboardingTracingFragmentTest.kt
@@ -3,6 +3,7 @@ package de.rki.coronawarnapp.ui.onboarding
 import androidx.test.ext.junit.runners.AndroidJUnit4
 import dagger.Module
 import dagger.android.ContributesAndroidInjector
+import de.rki.coronawarnapp.nearby.ENFClient
 import de.rki.coronawarnapp.nearby.TracingPermissionHelper
 import de.rki.coronawarnapp.storage.TracingSettings
 import de.rki.coronawarnapp.storage.interoperability.InteroperabilityRepository
@@ -33,6 +34,7 @@ class OnboardingTracingFragmentTest : BaseUITest() {
     @MockK lateinit var interopRepo: InteroperabilityRepository
     @MockK lateinit var factory: TracingPermissionHelper.Factory
     @MockK lateinit var tracingSettings: TracingSettings
+    @MockK lateinit var enfClient: ENFClient
 
     @Rule
     @JvmField
@@ -50,7 +52,8 @@ class OnboardingTracingFragmentTest : BaseUITest() {
                 interoperabilityRepository = interopRepo,
                 tracingPermissionHelperFactory = factory,
                 dispatcherProvider = TestDispatcherProvider(),
-                tracingSettings = tracingSettings
+                tracingSettings = tracingSettings,
+                enfClient = enfClient,
             )
         )
 
diff --git a/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/submission/SubmissionTestResultNoConsentGivenFragmentTest.kt b/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/submission/SubmissionTestResultNoConsentGivenFragmentTest.kt
index 8ccf0d97fc63042291fae1d597143cff30ddea52..a1c88a8f2c3c0ff446a66b7ddf02a3010b69630f 100644
--- a/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/submission/SubmissionTestResultNoConsentGivenFragmentTest.kt
+++ b/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/submission/SubmissionTestResultNoConsentGivenFragmentTest.kt
@@ -27,6 +27,7 @@ import org.junit.runner.RunWith
 import testhelpers.BaseUITest
 import testhelpers.Screenshot
 import testhelpers.SystemUIDemoModeRule
+import testhelpers.TestDispatcherProvider
 import testhelpers.captureScreenshot
 import tools.fastlane.screengrab.locale.LocaleTestRule
 
@@ -55,6 +56,7 @@ class SubmissionTestResultNoConsentGivenFragmentTest : BaseUITest() {
         viewModel =
             spyk(
                 SubmissionTestResultNoConsentViewModel(
+                    TestDispatcherProvider(),
                     submissionRepository,
                     testResultAvailableNotificationService,
                     analyticsKeySubmissionCollector,
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/exception/http/CwaWebException.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/exception/http/CwaWebException.kt
index 7f8d7b4ae755482bc1d80ca7a1d4ce85bd243010..2f69c10266f4ca45208b7ff4062bf674fd5887ee 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/exception/http/CwaWebException.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/exception/http/CwaWebException.kt
@@ -1,7 +1,11 @@
 package de.rki.coronawarnapp.exception.http
 
+import android.content.Context
+import de.rki.coronawarnapp.R
 import de.rki.coronawarnapp.exception.reporting.ErrorCodes
 import de.rki.coronawarnapp.exception.reporting.ReportedIOException
+import de.rki.coronawarnapp.util.HasHumanReadableError
+import de.rki.coronawarnapp.util.HumanReadableError
 
 open class CwaWebException(
     val statusCode: Int,
@@ -21,12 +25,19 @@ open class CwaServerError(
     statusCode = statusCode,
     message = message,
     cause = cause
-) {
+),
+    HasHumanReadableError {
     init {
         if (statusCode !in 500..599) {
             throw IllegalArgumentException("Invalid HTTP server error code $statusCode (!= 5xx)")
         }
     }
+
+    override fun toHumanReadableError(context: Context): HumanReadableError {
+        return HumanReadableError(
+            description = context.getString(R.string.submission_error_dialog_web_generic_network_error_body)
+        )
+    }
 }
 
 open class CwaClientError(
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/nearby/InternalExposureNotificationClient.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/nearby/InternalExposureNotificationClient.kt
deleted file mode 100644
index 7229fda0a8ad3809edf317bfa0eaaf3f401daf06..0000000000000000000000000000000000000000
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/nearby/InternalExposureNotificationClient.kt
+++ /dev/null
@@ -1,43 +0,0 @@
-package de.rki.coronawarnapp.nearby
-
-import de.rki.coronawarnapp.util.di.AppInjector
-import kotlinx.coroutines.flow.first
-import timber.log.Timber
-import kotlin.coroutines.resume
-import kotlin.coroutines.resumeWithException
-import kotlin.coroutines.suspendCoroutine
-
-/**
- * Wrapper class for the Exposure Notification Client in the com.google.android.gms.nearby.Nearby
- * implementing all Exposure Notification related APIs
- */
-object InternalExposureNotificationClient {
-
-    // reference to the client from the Google framework with the given application context
-    private val enfClient by lazy {
-        AppInjector.component.enfClient
-    }
-
-    /**
-     * Disables broadcasting and scanning. You can call this directly, and it is also called when
-     * users uninstall the app. When it’s called as part of the uninstallation process, the
-     * database and keys are deleted from the device.
-     *
-     * @return
-     */
-    suspend fun asyncStop() = suspendCoroutine<Unit> { cont ->
-        enfClient.setTracing(
-            false,
-            onSuccess = { cont.resume(Unit) },
-            onError = { cont.resumeWithException(it) },
-            onPermissionRequired = { Timber.e("Permission was required to disable tracing?") }
-        )
-    }
-
-    /**
-     * Indicates if exposure notifications are running
-     *
-     * @return
-     */
-    suspend fun asyncIsEnabled(): Boolean = enfClient.isTracingEnabled.first()
-}
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/nearby/modules/tracing/TracingStatus.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/nearby/modules/tracing/TracingStatus.kt
index d98223148d89af4d909c2a6723c820a7d7713e54..47ae9c4df79425937e50c7890b83a2ad7c8d65a1 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/nearby/modules/tracing/TracingStatus.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/nearby/modules/tracing/TracingStatus.kt
@@ -2,6 +2,11 @@ package de.rki.coronawarnapp.nearby.modules.tracing
 
 import com.google.android.gms.common.api.Status
 import kotlinx.coroutines.flow.Flow
+import kotlinx.coroutines.flow.first
+import timber.log.Timber
+import kotlin.coroutines.resume
+import kotlin.coroutines.resumeWithException
+import kotlin.coroutines.suspendCoroutine
 
 interface TracingStatus {
     val isTracingEnabled: Flow<Boolean>
@@ -13,3 +18,22 @@ interface TracingStatus {
         onPermissionRequired: (Status) -> Unit
     )
 }
+
+/**
+ * Returns true if tracing was disabled.
+ */
+suspend fun TracingStatus.disableTracingIfEnabled(): Boolean {
+    if (!isTracingEnabled.first()) {
+        Timber.d("Tracing was already disabled.")
+        return false
+    }
+
+    return suspendCoroutine { cont ->
+        setTracing(
+            enable = false,
+            onSuccess = { cont.resume(true) },
+            onError = { cont.resumeWithException(it) },
+            onPermissionRequired = { Timber.e("Permission was required to disable tracing?") }
+        )
+    }
+}
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/storage/TracingRepository.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/storage/TracingRepository.kt
index 7a80372f1eb61ddb8dc1bd4c175bf4efae1d9c53..7ca4411fa7d03804e156cae6a64486abb7f9075c 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/storage/TracingRepository.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/storage/TracingRepository.kt
@@ -3,7 +3,6 @@ package de.rki.coronawarnapp.storage
 import android.annotation.SuppressLint
 import de.rki.coronawarnapp.diagnosiskeys.download.DownloadDiagnosisKeysTask
 import de.rki.coronawarnapp.nearby.ENFClient
-import de.rki.coronawarnapp.nearby.InternalExposureNotificationClient
 import de.rki.coronawarnapp.nearby.modules.detectiontracker.ExposureDetectionTracker
 import de.rki.coronawarnapp.nearby.modules.detectiontracker.lastSubmission
 import de.rki.coronawarnapp.presencetracing.risk.execution.PresenceTracingRiskWorkScheduler
@@ -34,8 +33,6 @@ import javax.inject.Singleton
 /**
  * The Tracing Repository refreshes and triggers all tracing relevant data. Some functions get their
  * data directly from the Exposure Notification, others consume the shared preferences.
- *
- * @see InternalExposureNotificationClient
  */
 @Singleton
 class TracingRepository @Inject constructor(
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/tracing/ui/settings/SettingsTracingFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/tracing/ui/settings/SettingsTracingFragment.kt
index e6c4f67d8b7e00f2d1c690da682d74cf9ec0b6fa..d4fabbb857abca5d5c780a85bc4228a8c9115449 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/tracing/ui/settings/SettingsTracingFragment.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/tracing/ui/settings/SettingsTracingFragment.kt
@@ -8,7 +8,6 @@ import androidx.fragment.app.Fragment
 import de.rki.coronawarnapp.R
 import de.rki.coronawarnapp.bugreporting.ui.toErrorDialogBuilder
 import de.rki.coronawarnapp.databinding.FragmentSettingsTracingBinding
-import de.rki.coronawarnapp.nearby.InternalExposureNotificationClient
 import de.rki.coronawarnapp.tracing.ui.TracingConsentDialog
 import de.rki.coronawarnapp.tracing.ui.settings.SettingsTracingFragmentViewModel.Event
 import de.rki.coronawarnapp.util.DialogHelper
@@ -24,8 +23,6 @@ import javax.inject.Inject
 
 /**
  * The user can start/stop tracing and is informed about tracing.
- *
- * @see InternalExposureNotificationClient
  */
 class SettingsTracingFragment : Fragment(R.layout.fragment_settings_tracing), AutoInject {
 
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/tracing/ui/settings/SettingsTracingFragmentViewModel.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/tracing/ui/settings/SettingsTracingFragmentViewModel.kt
index 3ec86a0a71c21b36e1b2abb6f63d27f99f56b2ef..bb83ecf881dc231a987b01d19f75972f91d6f351 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/tracing/ui/settings/SettingsTracingFragmentViewModel.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/tracing/ui/settings/SettingsTracingFragmentViewModel.kt
@@ -11,8 +11,9 @@ import dagger.assisted.AssistedInject
 import de.rki.coronawarnapp.exception.ExceptionCategory
 import de.rki.coronawarnapp.exception.reporting.report
 import de.rki.coronawarnapp.installTime.InstallTimeProvider
-import de.rki.coronawarnapp.nearby.InternalExposureNotificationClient
+import de.rki.coronawarnapp.nearby.ENFClient
 import de.rki.coronawarnapp.nearby.TracingPermissionHelper
+import de.rki.coronawarnapp.nearby.modules.tracing.disableTracingIfEnabled
 import de.rki.coronawarnapp.risk.execution.ExposureWindowRiskWorkScheduler
 import de.rki.coronawarnapp.tracing.GeneralTracingStatus
 import de.rki.coronawarnapp.tracing.ui.details.items.periodlogged.PeriodLoggedBox
@@ -35,7 +36,8 @@ class SettingsTracingFragmentViewModel @AssistedInject constructor(
     installTimeProvider: InstallTimeProvider,
     private val backgroundStatus: BackgroundModeStatus,
     tracingPermissionHelperFactory: TracingPermissionHelper.Factory,
-    private val exposureWindowRiskWorkScheduler: ExposureWindowRiskWorkScheduler
+    private val exposureWindowRiskWorkScheduler: ExposureWindowRiskWorkScheduler,
+    private val enfClient: ENFClient,
 ) : CWAViewModel(dispatcherProvider = dispatcherProvider) {
 
     val loggingPeriod: LiveData<PeriodLoggedBox.Item> =
@@ -120,8 +122,7 @@ class SettingsTracingFragmentViewModel @AssistedInject constructor(
         isTracingSwitchChecked.postValue(false)
         launch {
             try {
-                if (InternalExposureNotificationClient.asyncIsEnabled()) {
-                    InternalExposureNotificationClient.asyncStop()
+                if (enfClient.disableTracingIfEnabled()) {
                     exposureWindowRiskWorkScheduler.setPeriodicRiskCalculation(enabled = false)
                 }
             } catch (exception: Exception) {
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/onboarding/OnboardingTracingFragmentViewModel.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/onboarding/OnboardingTracingFragmentViewModel.kt
index 94f0dadf744b212591c86373f78601061d79f012..d629c1267c72337575951e99d478175a7e4ef6ea 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/onboarding/OnboardingTracingFragmentViewModel.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/onboarding/OnboardingTracingFragmentViewModel.kt
@@ -7,8 +7,9 @@ import dagger.assisted.AssistedFactory
 import dagger.assisted.AssistedInject
 import de.rki.coronawarnapp.exception.ExceptionCategory
 import de.rki.coronawarnapp.exception.reporting.report
-import de.rki.coronawarnapp.nearby.InternalExposureNotificationClient
+import de.rki.coronawarnapp.nearby.ENFClient
 import de.rki.coronawarnapp.nearby.TracingPermissionHelper
+import de.rki.coronawarnapp.nearby.modules.tracing.disableTracingIfEnabled
 import de.rki.coronawarnapp.storage.TracingSettings
 import de.rki.coronawarnapp.storage.interoperability.InteroperabilityRepository
 import de.rki.coronawarnapp.util.coroutine.DispatcherProvider
@@ -22,6 +23,7 @@ class OnboardingTracingFragmentViewModel @AssistedInject constructor(
     tracingPermissionHelperFactory: TracingPermissionHelper.Factory,
     dispatcherProvider: DispatcherProvider,
     private val tracingSettings: TracingSettings,
+    private val enfClient: ENFClient,
 ) : CWAViewModel(dispatcherProvider = dispatcherProvider) {
 
     val countryList = interoperabilityRepository.countryList
@@ -63,8 +65,7 @@ class OnboardingTracingFragmentViewModel @AssistedInject constructor(
     fun resetTracing() {
         launch {
             try {
-                if (InternalExposureNotificationClient.asyncIsEnabled()) {
-                    InternalExposureNotificationClient.asyncStop()
+                if (enfClient.disableTracingIfEnabled()) {
                     tracingSettings.isConsentGiven = false
                 }
             } catch (exception: Exception) {
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/settings/SettingsResetViewModel.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/settings/SettingsResetViewModel.kt
index 9260aefa17d5e884a7986acd9ee4ea6a2b77bd13..0c3b5dbb542d11d19dd1ffcffafc4daefb6cb265 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/settings/SettingsResetViewModel.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/settings/SettingsResetViewModel.kt
@@ -5,7 +5,8 @@ import dagger.assisted.AssistedFactory
 import dagger.assisted.AssistedInject
 import de.rki.coronawarnapp.exception.ExceptionCategory
 import de.rki.coronawarnapp.exception.reporting.report
-import de.rki.coronawarnapp.nearby.InternalExposureNotificationClient
+import de.rki.coronawarnapp.nearby.ENFClient
+import de.rki.coronawarnapp.nearby.modules.tracing.disableTracingIfEnabled
 import de.rki.coronawarnapp.util.DataReset
 import de.rki.coronawarnapp.util.coroutine.DispatcherProvider
 import de.rki.coronawarnapp.util.shortcuts.AppShortcutsHelper
@@ -17,6 +18,7 @@ class SettingsResetViewModel @AssistedInject constructor(
     dispatcherProvider: DispatcherProvider,
     private val dataReset: DataReset,
     private val shortcutsHelper: AppShortcutsHelper,
+    private val enfClient: ENFClient,
 ) : CWAViewModel(dispatcherProvider = dispatcherProvider) {
 
     val clickEvent: SingleLiveEvent<SettingsEvents> = SingleLiveEvent()
@@ -32,18 +34,9 @@ class SettingsResetViewModel @AssistedInject constructor(
     fun deleteAllAppContent() {
         launch {
             try {
-                // TODO Remove static access
-                val isTracingEnabled = InternalExposureNotificationClient.asyncIsEnabled()
-                // only stop tracing if it is currently enabled
-                if (isTracingEnabled) {
-                    InternalExposureNotificationClient.asyncStop()
-                }
+                enfClient.disableTracingIfEnabled()
             } catch (apiException: ApiException) {
-                apiException.report(
-                    ExceptionCategory.EXPOSURENOTIFICATION,
-                    TAG,
-                    null
-                )
+                apiException.report(ExceptionCategory.EXPOSURENOTIFICATION, TAG, null)
             }
 
             dataReset.clearAllLocalData()
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/testresult/positive/SubmissionTestResultNoConsentViewModel.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/testresult/positive/SubmissionTestResultNoConsentViewModel.kt
index 3c21410fa9787dbdac4c8bd81cf3dbf53e9b582c..1b69fd6861f8e2f8e7e8221e9c0519b519cd88f7 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/testresult/positive/SubmissionTestResultNoConsentViewModel.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/testresult/positive/SubmissionTestResultNoConsentViewModel.kt
@@ -12,6 +12,7 @@ import de.rki.coronawarnapp.datadonation.analytics.modules.keysubmission.Analyti
 import de.rki.coronawarnapp.datadonation.analytics.modules.keysubmission.Screen
 import de.rki.coronawarnapp.submission.SubmissionRepository
 import de.rki.coronawarnapp.ui.submission.testresult.TestResultUIState
+import de.rki.coronawarnapp.util.coroutine.DispatcherProvider
 import de.rki.coronawarnapp.util.viewmodel.CWAViewModel
 import de.rki.coronawarnapp.util.viewmodel.CWAViewModelFactory
 import kotlinx.coroutines.Dispatchers
@@ -20,11 +21,12 @@ import kotlinx.coroutines.flow.map
 import timber.log.Timber
 
 class SubmissionTestResultNoConsentViewModel @AssistedInject constructor(
+    dispatcherProvider: DispatcherProvider,
     private val submissionRepository: SubmissionRepository,
     private val testResultAvailableNotificationService: PCRTestResultAvailableNotificationService,
     private val analyticsKeySubmissionCollector: AnalyticsKeySubmissionCollector,
     @Assisted private val testType: CoronaTest.Type
-) : CWAViewModel() {
+) : CWAViewModel(dispatcherProvider = dispatcherProvider) {
     init {
         Timber.v("init() coronaTestType=%s", testType)
     }
diff --git a/Corona-Warn-App/src/main/res/drawable/ic_country_be.xml b/Corona-Warn-App/src/main/res/drawable/ic_country_be.xml
index 58e34fc7783cfd92b9efc76e3fb9ca75c1f9c4e6..acb35d687f163e1d1301c34d321438f59332da55 100644
--- a/Corona-Warn-App/src/main/res/drawable/ic_country_be.xml
+++ b/Corona-Warn-App/src/main/res/drawable/ic_country_be.xml
@@ -21,7 +21,7 @@
     <path
         android:pathData="M-0,0l8.1818,0l0,16l-8.1818,0z"
         android:strokeWidth="1"
-        android:fillColor="#424242"
+        android:fillColor="#000000"
         android:fillType="nonZero"
         android:strokeColor="#00000000"/>
   </group>
diff --git a/Corona-Warn-App/src/main/res/drawable/ic_country_de.xml b/Corona-Warn-App/src/main/res/drawable/ic_country_de.xml
index d47f4299d446e9529719e292eaf6730d2f839b41..ae835aea6739d229f5aa384ea1674b6621021398 100644
--- a/Corona-Warn-App/src/main/res/drawable/ic_country_de.xml
+++ b/Corona-Warn-App/src/main/res/drawable/ic_country_de.xml
@@ -21,7 +21,7 @@
     <path
         android:pathData="M0,-0l24,0l0,5.3333l-24,0z"
         android:strokeWidth="1"
-        android:fillColor="#424242"
+        android:fillColor="#000000"
         android:fillType="nonZero"
         android:strokeColor="#00000000"/>
   </group>
diff --git a/Corona-Warn-App/src/main/res/layout/fragment_ppa_more_info.xml b/Corona-Warn-App/src/main/res/layout/fragment_ppa_more_info.xml
index 02379b9dd847711461895979192a3a02f555ee2b..8cad19e8c0f2c6c020a191bec39787912b5af8b4 100644
--- a/Corona-Warn-App/src/main/res/layout/fragment_ppa_more_info.xml
+++ b/Corona-Warn-App/src/main/res/layout/fragment_ppa_more_info.xml
@@ -324,6 +324,7 @@
                         <TextView
                             android:id="@+id/rki_data_point_5_text"
                             style="@style/subtitle"
+                            android:layout_weight="1"
                             android:layout_marginStart="13dp"
                             android:focusable="true"
                             android:text="@string/onboarding_ppa_more_info_rki_data_point_5_text" />
@@ -673,4 +674,4 @@
         </ScrollView>
 
     </LinearLayout>
-</layout>
\ No newline at end of file
+</layout>
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 82866751eb6e62ea7b1ae2e9215bb74b010d2d9a..fe4d6ca4dfd5b4d399688b0f7cdc2bf79ac444c4 100644
--- a/Corona-Warn-App/src/main/res/values-de/strings.xml
+++ b/Corona-Warn-App/src/main/res/values-de/strings.xml
@@ -1994,7 +1994,7 @@
     <!-- XHED: Trace location check-ins consent screen title -->
     <string name="trace_location_attendee_consent_title">Check-ins für diese Orte teilen?</string>
     <!-- XTXT: Trace location check-ins consent screen header description -->
-    <string name="trace_location_attendee_consent_header_description">Teilen Sie Ihre Check-ins, um andere zu warnen, die in Ihrer Nähe waren. Ihre Identität bleibt geheim.</string>
+    <string name="trace_location_attendee_consent_header_description">Teilen Sie Ihre Check-ins, um andere zu warnen, die mit Ihnen eingecheckt waren. Ihre Identität bleibt geheim.</string>
     <!-- XBUT: Trace location check-ins consent screen header button -->
     <string name="trace_location_attendee_consent_header_button">Alle auswählen</string>
     <!-- XBUT: Trace location check-ins consent screen continue button -->
@@ -2004,7 +2004,7 @@
     <!-- XHED: Trace location check-ins consent screen dialog title -->
     <string name="trace_location_attendee_consent_dialog_title">Sind Sie sicher, dass Sie Ihre Check-ins nicht teilen wollen?</string>
     <!-- XTXT: Trace location check-ins consent screen dialog message -->
-    <string name="trace_location_attendee_consent_dialog_message">Dadurch werden andere, die in Ihrer Nähe waren, nicht gewarnt.</string>
+    <string name="trace_location_attendee_consent_dialog_message">Dadurch werden andere nicht gewarnt, die mit Ihnen eingecheckt waren.</string>
     <!-- XBUT: Trace location check-ins consent screen dialog positive button -->
     <string name="trace_location_attendee_consent_dialog_positive_button">Teilen</string>
     <!-- XBUT: Trace location check-ins consent screen dialog negative button -->
diff --git a/Corona-Warn-App/src/main/res/values-en/event_registration_strings.xml b/Corona-Warn-App/src/main/res/values-en/event_registration_strings.xml
index 5c5c18dfeed7053489d00d31ed5824149ff60271..d9f0dc83a800398cf87792021e69dde6d84cd552 100644
--- a/Corona-Warn-App/src/main/res/values-en/event_registration_strings.xml
+++ b/Corona-Warn-App/src/main/res/values-en/event_registration_strings.xml
@@ -4,7 +4,7 @@
     ###################################### -->
 
     <!-- XHED: My check-ins: screen title -->
-    <string name="trace_location_checkins_title">"My Check-Ins"</string>
+    <string name="trace_location_checkins_title">"My Check-ins"</string>
     <!-- XHED: My check-ins: Title for list explanation when there are no check-ins -->
     <string name="trace_location_checkins_empty_label">"No entries yet"</string>
     <!-- XTXT: My check-ins: Description for list explanation when there are no check-ins -->
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 4bbb1ce9fdbbb819cec2cc3d6a885618facb370d..0a6390eab222b00f94e6b5df38551cdf9b3793d4 100644
--- a/Corona-Warn-App/src/main/res/values-en/strings.xml
+++ b/Corona-Warn-App/src/main/res/values-en/strings.xml
@@ -1038,7 +1038,7 @@
     <!-- YTXT: Body for consent main section second point  -->
     <string name="submission_consent_main_second_point">"Your identity will remain secret. Other users will not find out who has shared a test result."</string>
     <!-- YTXT: Body for consent main section third point  -->
-    <string name="submission_consent_main_third_point">"Under “My Check-Ins”, you can see the events and places whose checked-in guests will be warned. You can remove individual check-ins from the list to exclude them from the warning process."</string>
+    <string name="submission_consent_main_third_point">"Under “My Check-ins”, you can see the events and places whose checked-in guests will be warned. You can remove individual check-ins from the list to exclude them from the warning process."</string>
     <!-- YTXT: Body for consent main section fourth point  -->
     <string name="submission_consent_main_fourth_point">"You must be at least 16 years old to grant your consent."</string>
     <!-- YTXT: Body for consent main section final id consent  -->
@@ -1053,7 +1053,7 @@
     <!-- YTXT: Body for no consent section third point  -->
     <string name="submission_no_consent_third_point">"Your identity will remain secret. Other users will not find out who has shared a test result."</string>
     <!-- YTXT: Body for no consent section fourth point  -->
-    <string name="submission_no_consent_fourth_point">"Under “My Check-Ins”, you can see the events and places whose checked-in guests will be warned. You can remove individual check-ins from the list to exclude them from the warning process."</string>
+    <string name="submission_no_consent_fourth_point">"Under “My Check-ins”, you can see the events and places whose checked-in guests will be warned. You can remove individual check-ins from the list to exclude them from the warning process."</string>
     <!-- YTXT: Body for no consent section fifth point  -->
     <string name="submission_no_consent_fifth_point">"You must be at least 16 years old to grant your consent."</string>
 
@@ -1815,7 +1815,7 @@
     <!-- XHED: Title for BottomNav diary screen title -->
     <string name="bottom_nav_diary_title">"Journal"</string>
     <!-- XHED: Title for BottomNav check-in screen title -->
-    <string name="bottom_nav_check_ins_title">"Check In"</string>
+    <string name="bottom_nav_check_ins_title">"Check-in"</string>
 
     <!-- ####################################
            Data Donation & Survey
@@ -1954,7 +1954,7 @@
        Trace Location
     ###################################### -->
     <!-- XHED: Title for the trace location onboarding -->
-    <string name="trace_location_onboarding_title">"Check In"</string>
+    <string name="trace_location_onboarding_title">"Check-in"</string>
     <!-- XTXT: subtitle for the trace location onboarding -->
     <string name="trace_location_onboarding_title2">"Interrupt chains of infection quickly and reliably"</string>
     <!-- YMSG: Onboarding trace location intro section -->
@@ -1980,7 +1980,7 @@
     <!-- XHED: Trace location poster title -->
     <string name="trace_location_organiser_poster_title">"Print Version"</string>
     <!-- XHED: Trace location check-ins consent screen title -->
-    <string name="trace_location_attendee_consent_title">"Share Location Check-Ins?"</string>
+    <string name="trace_location_attendee_consent_title">"Share location check-ins?"</string>
     <!-- XTXT: Trace location check-ins consent screen header description -->
     <string name="trace_location_attendee_consent_header_description">"Warn others who checked in near you. Your personal data will not be shared."</string>
     <!-- XBUT: Trace location check-ins consent screen header button -->
diff --git a/Corona-Warn-App/src/main/res/values/event_registration_strings.xml b/Corona-Warn-App/src/main/res/values/event_registration_strings.xml
index 5c5c18dfeed7053489d00d31ed5824149ff60271..d9f0dc83a800398cf87792021e69dde6d84cd552 100644
--- a/Corona-Warn-App/src/main/res/values/event_registration_strings.xml
+++ b/Corona-Warn-App/src/main/res/values/event_registration_strings.xml
@@ -4,7 +4,7 @@
     ###################################### -->
 
     <!-- XHED: My check-ins: screen title -->
-    <string name="trace_location_checkins_title">"My Check-Ins"</string>
+    <string name="trace_location_checkins_title">"My Check-ins"</string>
     <!-- XHED: My check-ins: Title for list explanation when there are no check-ins -->
     <string name="trace_location_checkins_empty_label">"No entries yet"</string>
     <!-- XTXT: My check-ins: Description for list explanation when there are no check-ins -->
diff --git a/Corona-Warn-App/src/main/res/values/strings.xml b/Corona-Warn-App/src/main/res/values/strings.xml
index 8eddb23913eae2c0abceb2a68e612f23b1cea707..d6960f218530ae063b89c99eaabce5005c74b542 100644
--- a/Corona-Warn-App/src/main/res/values/strings.xml
+++ b/Corona-Warn-App/src/main/res/values/strings.xml
@@ -1039,7 +1039,7 @@
     <!-- YTXT: Body for consent main section second point  -->
     <string name="submission_consent_main_second_point">"Your identity will remain secret. Other users will not find out who has shared a test result."</string>
     <!-- YTXT: Body for consent main section third point  -->
-    <string name="submission_consent_main_third_point">"Under “My Check-Ins”, you can see the events and places whose checked-in guests will be warned. You can remove individual check-ins from the list to exclude them from the warning process."</string>
+    <string name="submission_consent_main_third_point">"Under “My Check-ins”, you can see the events and places whose checked-in guests will be warned. You can remove individual check-ins from the list to exclude them from the warning process."</string>
     <!-- YTXT: Body for consent main section fourth point  -->
     <string name="submission_consent_main_fourth_point">"You must be at least 16 years old to grant your consent."</string>
     <!-- YTXT: Body for consent main section final id consent  -->
@@ -1054,7 +1054,7 @@
     <!-- YTXT: Body for no consent section third point  -->
     <string name="submission_no_consent_third_point">"Your identity will remain secret. Other users will not find out who has shared a test result."</string>
     <!-- YTXT: Body for no consent section fourth point  -->
-    <string name="submission_no_consent_fourth_point">"Under “My Check-Ins”, you can see the events and places whose checked-in guests will be warned. You can remove individual check-ins from the list to exclude them from the warning process."</string>
+    <string name="submission_no_consent_fourth_point">"Under “My Check-ins”, you can see the events and places whose checked-in guests will be warned. You can remove individual check-ins from the list to exclude them from the warning process."</string>
     <!-- YTXT: Body for no consent section fifth point  -->
     <string name="submission_no_consent_fifth_point">"You must be at least 16 years old to grant your consent."</string>
 
diff --git a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/environment/BuildConfigWrapTest.kt b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/environment/BuildConfigWrapTest.kt
index cded06c92cf5f0f3783bcc1bb2c3f4684d72e03e..9d9acada74110fd369e72517698533533862a493 100644
--- a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/environment/BuildConfigWrapTest.kt
+++ b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/environment/BuildConfigWrapTest.kt
@@ -1,13 +1,24 @@
 package de.rki.coronawarnapp.environment
 
-import io.kotest.matchers.collections.shouldBeIn
+import de.rki.coronawarnapp.BuildConfig
+import io.kotest.matchers.shouldBe
 import org.junit.jupiter.api.Test
 import testhelpers.BaseTest
 
 class BuildConfigWrapTest : BaseTest() {
 
     @Test
-    fun `default environment type should be DEV`() {
-        BuildConfigWrap.ENVIRONMENT_TYPE_DEFAULT shouldBeIn listOf("DEV", "INT", "WRU-XD", "PROD")
+    fun `default environment type `() {
+        if (BuildConfig.FLAVOR == "deviceForTesters" && BuildConfig.BUILD_TYPE == "debug") {
+            BuildConfigWrap.ENVIRONMENT_TYPE_DEFAULT shouldBe "INT"
+        } else if (BuildConfig.FLAVOR == "deviceForTesters" && BuildConfig.BUILD_TYPE == "release") {
+            BuildConfigWrap.ENVIRONMENT_TYPE_DEFAULT shouldBe "WRU"
+        } else if (BuildConfig.FLAVOR == "device" && BuildConfig.BUILD_TYPE == "debug") {
+            BuildConfigWrap.ENVIRONMENT_TYPE_DEFAULT shouldBe "INT"
+        } else if (BuildConfig.FLAVOR == "device" && BuildConfig.BUILD_TYPE == "release") {
+            BuildConfigWrap.ENVIRONMENT_TYPE_DEFAULT shouldBe "PROD"
+        } else {
+            throw IllegalStateException("Unknown flavor/build combination.")
+        }
     }
 }
diff --git a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/nearby/modules/tracing/DefaultTracingStatusTest.kt b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/nearby/modules/tracing/DefaultTracingStatusTest.kt
index b8d6def71692b477eaceed3955e68d459d4a02e1..4c4b84d92987e7922f6f1a2cab308433012d5895 100644
--- a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/nearby/modules/tracing/DefaultTracingStatusTest.kt
+++ b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/nearby/modules/tracing/DefaultTracingStatusTest.kt
@@ -9,12 +9,15 @@ import io.mockk.Called
 import io.mockk.MockKAnnotations
 import io.mockk.every
 import io.mockk.impl.annotations.MockK
+import io.mockk.mockk
 import io.mockk.verify
 import kotlinx.coroutines.CoroutineScope
 import kotlinx.coroutines.delay
+import kotlinx.coroutines.flow.MutableStateFlow
 import kotlinx.coroutines.flow.first
 import kotlinx.coroutines.flow.take
 import kotlinx.coroutines.flow.toList
+import kotlinx.coroutines.runBlocking
 import org.junit.jupiter.api.BeforeEach
 import org.junit.jupiter.api.Test
 import testhelpers.BaseTest
@@ -129,4 +132,32 @@ class DefaultTracingStatusTest : BaseTest() {
 
         thrownError shouldBe ourError
     }
+
+    @Test
+    fun `extension for disabling tracing if enabled`() {
+        val enabledFlow = MutableStateFlow(false)
+        val tracingStatus = mockk<TracingStatus>().apply {
+            every { isTracingEnabled } returns enabledFlow
+            every { setTracing(any(), any(), any(), any()) } answers {
+                val enabled = arg<Boolean>(0)
+                val onSuccess = arg<(Boolean) -> Unit>(1)
+                val onError = arg<(Throwable) -> Unit>(2)
+                val onPermissionRequired = arg<(Status) -> Unit>(3)
+
+                onSuccess(false)
+            }
+        }
+
+        runBlocking {
+            tracingStatus.disableTracingIfEnabled()
+            verify(exactly = 0) { tracingStatus.setTracing(any(), any(), any(), any()) }
+        }
+
+        enabledFlow.value = true
+
+        runBlocking {
+            tracingStatus.disableTracingIfEnabled() shouldBe true
+            verify(exactly = 1) { tracingStatus.setTracing(any(), any(), any(), any()) }
+        }
+    }
 }
diff --git a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/ui/presencetracing/checkin/ConfirmCheckInViewModelTest.kt b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/ui/presencetracing/checkin/ConfirmCheckInViewModelTest.kt
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/ui/submission/testresult/positive/SubmissionTestResultNoConsentViewModelTest.kt b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/ui/submission/testresult/positive/SubmissionTestResultNoConsentViewModelTest.kt
index e47dff84d152db22ddc2028f65cc75d6f2e8c8af..3df56fff1a258564a259477c29f40b23ca718cff 100644
--- a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/ui/submission/testresult/positive/SubmissionTestResultNoConsentViewModelTest.kt
+++ b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/ui/submission/testresult/positive/SubmissionTestResultNoConsentViewModelTest.kt
@@ -13,6 +13,7 @@ import io.mockk.verify
 import org.junit.jupiter.api.BeforeEach
 import org.junit.jupiter.api.Test
 import testhelpers.BaseTest
+import testhelpers.TestDispatcherProvider
 
 internal class SubmissionTestResultNoConsentViewModelTest : BaseTest() {
 
@@ -26,6 +27,7 @@ internal class SubmissionTestResultNoConsentViewModelTest : BaseTest() {
     }
 
     private fun createInstance(testType: Type) = SubmissionTestResultNoConsentViewModel(
+        TestDispatcherProvider(),
         submissionRepository,
         testResultAvailableNotificationService,
         analyticsKeySubmissionCollector,