diff --git a/Corona-Warn-App/build.gradle b/Corona-Warn-App/build.gradle
index 89dce2971ae418754d9a64535590705274ecc2ff..25be009f467df291bb66c886d5c653ec3b92bff2 100644
--- a/Corona-Warn-App/build.gradle
+++ b/Corona-Warn-App/build.gradle
@@ -173,7 +173,8 @@ android {
                     "-Xno-kotlin-nothing-value-exception",
                     "-Xuse-experimental=kotlinx.coroutines.ExperimentalCoroutinesApi",
                     "-Xuse-experimental=kotlinx.coroutines.FlowPreview",
-                    "-Xuse-experimental=kotlin.time.ExperimentalTime"
+                    "-Xuse-experimental=kotlin.time.ExperimentalTime",
+                    "-Xopt-in=kotlin.RequiresOptIn"
             ]
         }
     }
diff --git a/Corona-Warn-App/src/deviceForTesters/java/de/rki/coronawarnapp/test/appconfig/ui/AppConfigTestFragment.kt b/Corona-Warn-App/src/deviceForTesters/java/de/rki/coronawarnapp/test/appconfig/ui/AppConfigTestFragment.kt
index 9aa9ce21df5fb36f43c569af882b517ca8751ff5..c151d90a77c3853a014e640c38a5dce0d7f5305e 100644
--- a/Corona-Warn-App/src/deviceForTesters/java/de/rki/coronawarnapp/test/appconfig/ui/AppConfigTestFragment.kt
+++ b/Corona-Warn-App/src/deviceForTesters/java/de/rki/coronawarnapp/test/appconfig/ui/AppConfigTestFragment.kt
@@ -28,6 +28,7 @@ class AppConfigTestFragment : Fragment(R.layout.fragment_test_appconfig), AutoIn
     private val timeFormatter = ISODateTimeFormat.dateTime()
         .withZone(DateTimeZone.forID("Europe/Berlin"))
 
+    @Suppress("DEPRECATION")
     override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
         super.onViewCreated(view, savedInstanceState)
 
diff --git a/Corona-Warn-App/src/deviceForTesters/java/de/rki/coronawarnapp/test/crash.ui/SettingsCrashReportViewModel.kt b/Corona-Warn-App/src/deviceForTesters/java/de/rki/coronawarnapp/test/crash.ui/SettingsCrashReportViewModel.kt
index b02e7a18b31e5d7475a9e102204205ac43a1840c..0b43e0de5005ba6180632620c5f6ee808022fe16 100644
--- a/Corona-Warn-App/src/deviceForTesters/java/de/rki/coronawarnapp/test/crash.ui/SettingsCrashReportViewModel.kt
+++ b/Corona-Warn-App/src/deviceForTesters/java/de/rki/coronawarnapp/test/crash.ui/SettingsCrashReportViewModel.kt
@@ -31,7 +31,7 @@ class SettingsCrashReportViewModel @AssistedInject constructor(
 
     fun simulateException() {
         try {
-            val a = 2 / 0
+            throw RuntimeException("Test crash reporting")
         } catch (e: Exception) {
             Timber.e(e, "Msg: ${e.message}")
             e.reportProblem(SettingsCrashReportViewModel::class.java.simpleName, e.message)
diff --git a/Corona-Warn-App/src/deviceForTesters/java/de/rki/coronawarnapp/test/risklevel/ui/TestRiskLevelCalculationFragmentCWAViewModel.kt b/Corona-Warn-App/src/deviceForTesters/java/de/rki/coronawarnapp/test/risklevel/ui/TestRiskLevelCalculationFragmentCWAViewModel.kt
index ed246e65b60fc63a60c27263933ca1ee8315a5c0..d8968b77d5260df6292fb3eb131ad0e9685fa404 100644
--- a/Corona-Warn-App/src/deviceForTesters/java/de/rki/coronawarnapp/test/risklevel/ui/TestRiskLevelCalculationFragmentCWAViewModel.kt
+++ b/Corona-Warn-App/src/deviceForTesters/java/de/rki/coronawarnapp/test/risklevel/ui/TestRiskLevelCalculationFragmentCWAViewModel.kt
@@ -104,6 +104,7 @@ class TestRiskLevelCalculationFragmentCWAViewModel @AssistedInject constructor(
         .appendLine("Number of Days With Low Risk: $numberOfDaysWithLowRisk")
         .toString()
 
+    @Suppress("DEPRECATION")
     val backendParameters = appConfigProvider
         .currentConfig
         .map { it.rawConfig.riskCalculationParameters.toString() }
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/datadonation/safetynet/AttestationContainer.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/datadonation/safetynet/AttestationContainer.kt
index dcf91e1f6f93e69204fb752aacc52d38168133aa..c0d63aa1750ad9f55db3913d85c47c95356ff99b 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/datadonation/safetynet/AttestationContainer.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/datadonation/safetynet/AttestationContainer.kt
@@ -16,31 +16,31 @@ internal data class AttestationContainer(
             safetyNetJws = report.jwsResult
         }.build()
 
-    override fun requirePass(reqs: SafetyNetRequirements) {
-        Timber.v("requirePass(%s)", reqs)
+    override fun requirePass(requirements: SafetyNetRequirements) {
+        Timber.v("requirePass(%s)", requirements)
 
-        if (reqs.requireBasicIntegrity && !report.basicIntegrity) {
+        if (requirements.requireBasicIntegrity && !report.basicIntegrity) {
             throw SafetyNetException(
                 Type.BASIC_INTEGRITY_REQUIRED,
                 "Requirement 'basicIntegrity' not met (${report.advice})."
             )
         }
 
-        if (reqs.requireCTSProfileMatch && !report.ctsProfileMatch) {
+        if (requirements.requireCTSProfileMatch && !report.ctsProfileMatch) {
             throw SafetyNetException(
                 Type.CTS_PROFILE_MATCH_REQUIRED,
                 "Requirement 'ctsProfileMatch' not met (${report.advice})."
             )
         }
 
-        if (reqs.requireBasicIntegrity && !report.evaluationTypes.contains("BASIC")) {
+        if (requirements.requireBasicIntegrity && !report.evaluationTypes.contains("BASIC")) {
             throw SafetyNetException(
                 Type.EVALUATION_TYPE_BASIC_REQUIRED,
                 "Evaluation type 'BASIC' not met (${report.advice})."
             )
         }
 
-        if (reqs.requireEvaluationTypeHardwareBacked && !report.evaluationTypes.contains("HARDWARE_BACKED")) {
+        if (requirements.requireEvaluationTypeHardwareBacked && !report.evaluationTypes.contains("HARDWARE_BACKED")) {
             throw SafetyNetException(
                 Type.EVALUATION_TYPE_HARDWARE_BACKED_REQUIRED,
                 "Evaluation type 'HARDWARE_BACKED' not met (${report.advice})."
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/eventregistration/storage/repo/DefaultTraceLocationRepository.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/eventregistration/storage/repo/DefaultTraceLocationRepository.kt
index 56463d80c42ac0389e1f71d9868172ff2a14d6f4..b0c5f879dcdd3c5af499bdcce2593283cddef3db 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/eventregistration/storage/repo/DefaultTraceLocationRepository.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/eventregistration/storage/repo/DefaultTraceLocationRepository.kt
@@ -32,11 +32,15 @@ class DefaultTraceLocationRepository @Inject constructor(
         traceLocationDatabase.traceLocationDao()
     }
 
+    /**
+     * Reruns [TraceLocation] for [id]
+     * @throws [IllegalArgumentException] if location not found
+     */
     override suspend fun traceLocationForId(id: Long): TraceLocation {
-        val checkIn = traceLocationDao.entryForId(id)
+        val traceLocationEntity = traceLocationDao.entryForId(id)
             ?: throw IllegalArgumentException("No traceLocation found for ID=$id")
 
-        return checkIn.toTraceLocation()
+        return traceLocationEntity.toTraceLocation()
     }
 
     /**
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/receiver/ExposureStateUpdateReceiver.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/receiver/ExposureStateUpdateReceiver.kt
index 72a049c16999f42880d6a0d159cf2501ecda5088..6005f4f3c77ec5fff21ed95b590dc8bab43deeb8 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/receiver/ExposureStateUpdateReceiver.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/receiver/ExposureStateUpdateReceiver.kt
@@ -51,6 +51,7 @@ class ExposureStateUpdateReceiver : BroadcastReceiver() {
 
         scope.launch(context = scope.coroutineContext) {
             try {
+                @Suppress("DEPRECATION")
                 intent.getStringExtra(EXTRA_TOKEN)?.let {
                     Timber.tag(TAG).w("Received unknown token from ENF: %s", it)
                 }
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/eventregistration/organizer/category/adapter/category/TraceLocationCategory.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/eventregistration/organizer/category/adapter/category/TraceLocationCategory.kt
index 31f49804d9db7fed35bad84e2e5799f301b78d1d..ffcb22118b5d722e610c063325d14e7dd7b5120f 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/eventregistration/organizer/category/adapter/category/TraceLocationCategory.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/eventregistration/organizer/category/adapter/category/TraceLocationCategory.kt
@@ -19,6 +19,7 @@ import de.rki.coronawarnapp.server.protocols.internal.pt.TraceLocationOuterClass
 import de.rki.coronawarnapp.ui.eventregistration.organizer.category.adapter.CategoryItem
 import de.rki.coronawarnapp.ui.eventregistration.organizer.category.adapter.category.TraceLocationUIType.EVENT
 import de.rki.coronawarnapp.ui.eventregistration.organizer.category.adapter.category.TraceLocationUIType.LOCATION
+import kotlinx.parcelize.IgnoredOnParcel
 import kotlinx.parcelize.Parcelize
 
 @Parcelize
@@ -28,7 +29,7 @@ data class TraceLocationCategory(
     @StringRes val title: Int,
     @StringRes val subtitle: Int? = null
 ) : CategoryItem, Parcelable {
-    override val stableId = hashCode().toLong()
+    @IgnoredOnParcel override val stableId = hashCode().toLong()
 }
 
 enum class TraceLocationUIType {
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/eventregistration/organizer/create/TraceLocationCreateFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/eventregistration/organizer/create/TraceLocationCreateFragment.kt
index 8c2cee8834b8484a2c07c9ddfb4da790215195f8..385d826151839cd32662301c8d045d8eef15e153 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/eventregistration/organizer/create/TraceLocationCreateFragment.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/eventregistration/organizer/create/TraceLocationCreateFragment.kt
@@ -202,7 +202,7 @@ class TraceLocationCreateFragment : Fragment(R.layout.trace_location_create_frag
 
     private fun showDurationPicker() {
         DurationPicker.Builder()
-            .duration(viewModel.checkInLength?.toContactDiaryFormat() ?: "")
+            .duration(viewModel.checkInLength.toContactDiaryFormat())
             .title(getString(R.string.tracelocation_organizer_add_event_length_of_stay))
             .build()
             .apply {
@@ -216,7 +216,7 @@ class TraceLocationCreateFragment : Fragment(R.layout.trace_location_create_frag
     override fun onSaveInstanceState(outState: Bundle) {
         super.onSaveInstanceState(
             outState.apply {
-                putLong(LENGTH_OF_STAY, viewModel.checkInLength?.standardMinutes ?: 0L)
+                putLong(LENGTH_OF_STAY, viewModel.checkInLength.standardMinutes)
                 putSerializable(BEGIN, viewModel.begin)
                 putSerializable(END, viewModel.end)
             }
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/device/DefaultSystemInfoProvider.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/device/DefaultSystemInfoProvider.kt
index 5a8fccf5f9f309fadafdfb33c012833a41e394ad..8712735b3f2a5a97fb687de0711533f6c5a1dd18 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/device/DefaultSystemInfoProvider.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/device/DefaultSystemInfoProvider.kt
@@ -1,12 +1,11 @@
 package de.rki.coronawarnapp.util.device
 
-import android.content.Context
 import android.content.res.Resources
 import android.os.Build
 import java.util.Locale
 import javax.inject.Inject
 
-class DefaultSystemInfoProvider @Inject constructor(context: Context) : SystemInfoProvider {
+class DefaultSystemInfoProvider @Inject constructor() : SystemInfoProvider {
 
     override val locale: Locale
         get() = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/formatter/FormatterInformationLegalHelper.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/formatter/FormatterInformationLegalHelper.kt
index 6a8e220b8486603651dae1ec54f7ad6f67ef1a33..72bdddee2b38640b442ac4aee9d0cb728a6690d7 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/formatter/FormatterInformationLegalHelper.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/formatter/FormatterInformationLegalHelper.kt
@@ -2,7 +2,6 @@
 
 package de.rki.coronawarnapp.util.formatter
 
-import android.content.Context
 import android.view.View
 import de.rki.coronawarnapp.ui.information.InformationLegalPresentation
 import de.rki.coronawarnapp.util.device.DefaultSystemInfoProvider
@@ -15,10 +14,9 @@ import de.rki.coronawarnapp.util.device.DefaultSystemInfoProvider
  */
 
 fun formatVisibilityLanguageBased(
-    context: Context,
     isContactFormView: Boolean?
 ): Int {
-    InformationLegalPresentation(DefaultSystemInfoProvider(context)).apply {
+    InformationLegalPresentation(DefaultSystemInfoProvider()).apply {
         if (!showBackupLinkToContactForm) {
             return if (isContactFormView == true) {
                 View.VISIBLE
diff --git a/Corona-Warn-App/src/main/res/layout/include_contact_form.xml b/Corona-Warn-App/src/main/res/layout/include_contact_form.xml
index 0f3654c19de12d7e5f914941da5ed8361c447bc5..0af8211cc6d358a0b26c03d88cbfbc6cf44749e9 100644
--- a/Corona-Warn-App/src/main/res/layout/include_contact_form.xml
+++ b/Corona-Warn-App/src/main/res/layout/include_contact_form.xml
@@ -28,7 +28,7 @@
                 android:linksClickable="true"
                 android:text="@string/information_legal_subtitle_contact_label"
                 android:textColorLink="@color/colorTextTint"
-                android:visibility="@{FormatterInformationLegalHelper.formatVisibilityLanguageBased(context, true)}"
+                android:visibility="@{FormatterInformationLegalHelper.formatVisibilityLanguageBased(true)}"
                 app:layout_constraintStart_toStartOf="parent"
                 app:layout_constraintTop_toTopOf="parent" />
 
@@ -42,7 +42,7 @@
                 android:linksClickable="true"
                 android:text="@string/information_legal_subtitle_contact_form_non_en_de"
                 android:textColorLink="@color/colorTextTint"
-                android:visibility="@{FormatterInformationLegalHelper.formatVisibilityLanguageBased(context, false)}"
+                android:visibility="@{FormatterInformationLegalHelper.formatVisibilityLanguageBased(false)}"
                 app:layout_constraintBottom_toBottomOf="parent"
                 app:layout_constraintStart_toStartOf="parent"
                 app:layout_constraintTop_toBottomOf="@+id/information_legal_contact_form" />