diff --git a/Corona-Warn-App/build.gradle b/Corona-Warn-App/build.gradle
index d6470f8b2db4313fe720bcf7517f8a0ce818c2ad..b30614bd0b0f9e9775aab644ff9aae73a791d853 100644
--- a/Corona-Warn-App/build.gradle
+++ b/Corona-Warn-App/build.gradle
@@ -38,13 +38,13 @@ android {
     println("Current VERSION_PATCH: ${VERSION_PATCH}")
     println("Current VERSION_BUILD: ${VERSION_BUILD}")
 
-    compileSdkVersion 29
+    compileSdkVersion 30
     buildToolsVersion "29.0.3"
 
     defaultConfig {
         applicationId 'de.rki.coronawarnapp'
         minSdkVersion 23
-        targetSdkVersion 29
+        targetSdkVersion 30
 
         ndkVersion "21.2.6472646"
 
@@ -309,17 +309,16 @@ dependencies {
     implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:$coroutineVersion"
     implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:$coroutineVersion"
     testImplementation "org.jetbrains.kotlinx:kotlinx-coroutines-test:$coroutineVersion"
-    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
 
     // ANDROID STANDARD
-    implementation 'androidx.appcompat:appcompat:1.1.0'
-    implementation 'androidx.core:core-ktx:1.3.0'
-    implementation 'com.google.android.material:material:1.1.0'
-    implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
-    implementation 'androidx.navigation:navigation-fragment-ktx:2.2.2'
-    implementation 'androidx.navigation:navigation-ui-ktx:2.2.2'
+    implementation 'androidx.appcompat:appcompat:1.2.0'
+    implementation 'androidx.core:core-ktx:1.3.2'
+    implementation 'com.google.android.material:material:1.2.1'
+    implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
+    implementation 'androidx.navigation:navigation-fragment-ktx:2.3.2'
+    implementation 'androidx.navigation:navigation-ui-ktx:2.3.2'
     implementation 'androidx.legacy:legacy-support-v4:1.0.0'
-    implementation 'androidx.preference:preference:1.1.1'
+    implementation 'androidx.preference:preference-ktx:1.1.1'
     implementation 'androidx.work:work-runtime-ktx:2.5.0-beta02'
 
     implementation 'androidx.lifecycle:lifecycle-common-java8:2.2.0'
@@ -330,19 +329,21 @@ dependencies {
 
     implementation 'androidx.annotation:annotation:1.1.0'
     implementation "androidx.recyclerview:recyclerview:1.1.0"
-    implementation "androidx.recyclerview:recyclerview-selection:1.1.0-rc02"
+    implementation "androidx.recyclerview:recyclerview-selection:1.1.0-rc03"
 
     // DAGGER
-    implementation 'com.google.dagger:dagger:2.28.1'
-    implementation 'com.google.dagger:dagger-android:2.28.1'
-    implementation 'com.google.dagger:dagger-android-support:2.28.1'
-    kapt 'com.google.dagger:dagger-compiler:2.28.1'
-    kapt 'com.google.dagger:dagger-android-processor:2.28.1'
-    kaptTest 'com.google.dagger:dagger-compiler:2.28.1'
-    kaptAndroidTest 'com.google.dagger:dagger-compiler:2.28.1'
-
-    compileOnly 'com.squareup.inject:assisted-inject-annotations-dagger2:0.5.2'
-    kapt 'com.squareup.inject:assisted-inject-processor-dagger2:0.5.2'
+    def dagger_version = "2.30.1"
+    implementation "com.google.dagger:dagger:$dagger_version"
+    implementation "com.google.dagger:dagger-android:$dagger_version"
+    implementation "com.google.dagger:dagger-android-support:$dagger_version"
+    kapt "com.google.dagger:dagger-compiler:$dagger_version"
+    kapt "com.google.dagger:dagger-android-processor:$dagger_version"
+    kaptTest "com.google.dagger:dagger-compiler:$dagger_version"
+    kaptAndroidTest "com.google.dagger:dagger-compiler:$dagger_version"
+
+    def assisted_injection_version = "0.6.0"
+    compileOnly "com.squareup.inject:assisted-inject-annotations-dagger2:$assisted_injection_version"
+    kapt "com.squareup.inject:assisted-inject-processor-dagger2:$assisted_injection_version"
 
     // QR
     implementation('com.journeyapps:zxing-android-embedded:4.1.0') { transitive = false }
@@ -357,10 +358,9 @@ dependencies {
     testImplementation('org.robolectric:robolectric:4.4') {
         exclude group: 'com.google.protobuf'
     }
-    testImplementation "io.mockk:mockk:1.10.2"
+    testImplementation "io.mockk:mockk:1.10.4"
     testImplementation "com.squareup.okhttp3:mockwebserver:4.9.0"
     testImplementation 'org.hamcrest:hamcrest-library:2.2'
-    testImplementation 'org.jetbrains.kotlinx:kotlinx-coroutines-test:1.3.9'
 
     // Testing - jUnit4
     testImplementation 'junit:junit:4.13.1'
@@ -369,14 +369,17 @@ dependencies {
 
 
     // Testing - jUnit5
-    testImplementation "org.junit.jupiter:junit-jupiter-api:5.7.0"
-    testRuntimeOnly "org.junit.jupiter:junit-jupiter-engine:5.7.0"
-    testImplementation "org.junit.jupiter:junit-jupiter-params:5.7.0"
-    testImplementation "io.kotest:kotest-runner-junit5:4.3.0"
-    testImplementation "io.kotest:kotest-assertions-core-jvm:4.3.0"
-    testImplementation "io.kotest:kotest-property-jvm:4.3.0"
-    androidTestImplementation "io.kotest:kotest-assertions-core-jvm:4.3.0"
-    androidTestImplementation "io.kotest:kotest-property-jvm:4.3.0"
+    def jupiter_version = "5.7.0"
+    testImplementation "org.junit.jupiter:junit-jupiter-api:$jupiter_version"
+    testRuntimeOnly "org.junit.jupiter:junit-jupiter-engine:$jupiter_version"
+    testImplementation "org.junit.jupiter:junit-jupiter-params:$jupiter_version"
+
+    def kotest_version = "4.3.2"
+    testImplementation "io.kotest:kotest-runner-junit5:$kotest_version"
+    testImplementation "io.kotest:kotest-assertions-core-jvm:$kotest_version"
+    testImplementation "io.kotest:kotest-property-jvm:$kotest_version"
+    androidTestImplementation "io.kotest:kotest-assertions-core-jvm:$kotest_version"
+    androidTestImplementation "io.kotest:kotest-property-jvm:$kotest_version"
 
     testImplementation "io.github.classgraph:classgraph:4.8.90"
 
@@ -389,17 +392,17 @@ dependencies {
     androidTestImplementation 'androidx.test.ext:truth:1.3.0'
     androidTestImplementation 'androidx.test.ext:junit:1.1.2'
     androidTestImplementation 'androidx.work:work-testing:2.5.0-beta02'
-    androidTestImplementation "io.mockk:mockk-android:1.10.2"
+    androidTestImplementation "io.mockk:mockk-android:1.10.4"
     debugImplementation 'androidx.fragment:fragment-testing:1.2.5'
 
     androidTestImplementation 'tools.fastlane:screengrab:2.0.0'
 
     // Play Services
-    implementation 'com.google.android.play:core:1.7.3'
-    implementation 'com.google.android.gms:play-services-base:17.3.0'
-    implementation 'com.google.android.gms:play-services-basement:17.3.0'
+    implementation 'com.google.android.play:core:1.9.0'
+    implementation 'com.google.android.gms:play-services-base:17.5.0'
+    implementation 'com.google.android.gms:play-services-basement:17.5.0'
     implementation 'com.google.android.gms:play-services-safetynet:17.0.0'
-    implementation 'com.google.android.gms:play-services-tasks:17.1.0'
+    implementation 'com.google.android.gms:play-services-tasks:17.2.0'
 
     // HTTP
     implementation 'com.squareup.retrofit2:retrofit:2.9.0'
@@ -411,12 +414,12 @@ dependencies {
     implementation 'com.squareup.okhttp3:okhttp:4.9.0'
 
     // PERSISTENCE
-    def room_version = "2.2.5"
+    def room_version = "2.2.6"
+    implementation "androidx.sqlite:sqlite-ktx:2.1.0"
     implementation "androidx.room:room-runtime:$room_version"
     implementation "androidx.room:room-ktx:$room_version"
     implementation "androidx.room:room-guava:$room_version"
     kapt "androidx.room:room-compiler:$room_version"
-    implementation "androidx.sqlite:sqlite:2.1.0"
     androidTestImplementation "androidx.room:room-testing:$room_version"
 
     // UTILS
@@ -428,11 +431,11 @@ dependencies {
     // SECURITY
     implementation "androidx.security:security-crypto:1.0.0-rc03"
     implementation 'net.zetetic:android-database-sqlcipher:4.4.0'
-    implementation 'org.conscrypt:conscrypt-android:2.4.0'
+    implementation 'org.conscrypt:conscrypt-android:2.5.1'
 
     // LOGGING
-    implementation 'com.jakewharton.timber:timber:4.7.1@aar'
+    implementation 'com.jakewharton.timber:timber:4.7.1'
 
     // ANIMATIONS
-    implementation "com.airbnb.android:lottie:3.4.1"
+    implementation "com.airbnb.android:lottie:3.5.0"
 }
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/exception/reporting/ErrorReportReceiver.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/exception/reporting/ErrorReportReceiver.kt
index ae10898ca7053737daefa9f76076a0befcf509cd..a5f57cd1fe098506cf0b6a8ebcb89a8fc4f32113 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/exception/reporting/ErrorReportReceiver.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/exception/reporting/ErrorReportReceiver.kt
@@ -47,7 +47,7 @@ class ErrorReportReceiver(private val activity: Activity) : BroadcastReceiver()
         }
 
         val dialogTitle = if (intent.getStringExtra(ReportingConstants.ERROR_REPORT_TITLE_EXTRA) != null) {
-            intent.getStringExtra(ReportingConstants.ERROR_REPORT_TITLE_EXTRA)
+            intent.getStringExtra(ReportingConstants.ERROR_REPORT_TITLE_EXTRA).orEmpty()
         } else {
             val errorTitle = context.resources.getString(R.string.errors_generic_details_headline)
                 .toUpperCase(Locale.ROOT)
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/tracing/ui/settings/TracingSettingsState.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/tracing/ui/settings/TracingSettingsState.kt
index 5ccb79f417bf4017ad09c1cdc9ca4d3a8b6c2c01..798a19e773ed9fac3519cffb4fabf59a292714bf 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/tracing/ui/settings/TracingSettingsState.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/tracing/ui/settings/TracingSettingsState.kt
@@ -4,18 +4,19 @@ import android.content.Context
 import android.graphics.drawable.Drawable
 import de.rki.coronawarnapp.R
 import de.rki.coronawarnapp.tracing.GeneralTracingStatus
+import de.rki.coronawarnapp.util.ContextExtensions.getDrawableCompat
 
 sealed class TracingSettingsState {
 
     /**
      * Formats the settings tracing details illustration depending on tracing status
      */
-    abstract fun getTracingStatusImage(c: Context): Drawable?
+    abstract fun getTracingStatusImage(context: Context): Drawable?
 
     /**
      * Format the settings tracing content description for the header illustration
      */
-    abstract fun getTracingIllustrationText(c: Context): String
+    abstract fun getTracingIllustrationText(context: Context): String
 
     /**
      * Formats the tracing switch enabled status based on the tracing status
@@ -30,7 +31,7 @@ sealed class TracingSettingsState {
     /**
      * Change the tracing text in the row based on the tracing status.
      */
-    abstract fun getTracingStatusText(c: Context): String
+    abstract fun getTracingStatusText(context: Context): String
 
     /**
      * Change the visibility of the location card based on the tracing status.
@@ -48,18 +49,18 @@ sealed class TracingSettingsState {
     abstract fun isTracingStatusTextVisible(): Boolean
 
     object BluetoothDisabled : TracingSettingsState() {
-        override fun getTracingStatusImage(c: Context): Drawable? =
-            c.getDrawable(R.drawable.ic_settings_illustration_bluetooth_off)
+        override fun getTracingStatusImage(context: Context): Drawable? =
+            context.getDrawableCompat(R.drawable.ic_settings_illustration_bluetooth_off)
 
-        override fun getTracingIllustrationText(c: Context): String =
-            c.getString(R.string.settings_tracing_bluetooth_illustration_description_inactive)
+        override fun getTracingIllustrationText(context: Context): String =
+            context.getString(R.string.settings_tracing_bluetooth_illustration_description_inactive)
 
         override fun isTracingSwitchEnabled(): Boolean = false
 
         override fun isTracingSwitchChecked(): Boolean = false
 
-        override fun getTracingStatusText(c: Context): String =
-            c.getString(R.string.settings_tracing_status_restricted)
+        override fun getTracingStatusText(context: Context): String =
+            context.getString(R.string.settings_tracing_status_restricted)
 
         override fun isLocationCardVisible(): Boolean = false
 
@@ -69,18 +70,18 @@ sealed class TracingSettingsState {
     }
 
     object LocationDisabled : TracingSettingsState() {
-        override fun getTracingStatusImage(c: Context): Drawable? =
-            c.getDrawable(R.drawable.ic_settings_illustration_location_off)
+        override fun getTracingStatusImage(context: Context): Drawable? =
+            context.getDrawableCompat(R.drawable.ic_settings_illustration_location_off)
 
-        override fun getTracingIllustrationText(c: Context): String =
-            c.getString(R.string.settings_tracing_location_illustration_description_inactive)
+        override fun getTracingIllustrationText(context: Context): String =
+            context.getString(R.string.settings_tracing_location_illustration_description_inactive)
 
         override fun isTracingSwitchEnabled(): Boolean = false
 
         override fun isTracingSwitchChecked(): Boolean = false
 
-        override fun getTracingStatusText(c: Context): String =
-            c.getString(R.string.settings_tracing_status_inactive)
+        override fun getTracingStatusText(context: Context): String =
+            context.getString(R.string.settings_tracing_status_inactive)
 
         override fun isLocationCardVisible(): Boolean = true
 
@@ -90,18 +91,18 @@ sealed class TracingSettingsState {
     }
 
     object TracingInactive : TracingSettingsState() {
-        override fun getTracingStatusImage(c: Context): Drawable? =
-            c.getDrawable(R.drawable.ic_settings_illustration_tracing_off)
+        override fun getTracingStatusImage(context: Context): Drawable? =
+            context.getDrawableCompat(R.drawable.ic_settings_illustration_tracing_off)
 
-        override fun getTracingIllustrationText(c: Context): String =
-            c.getString(R.string.settings_tracing_illustration_description_inactive)
+        override fun getTracingIllustrationText(context: Context): String =
+            context.getString(R.string.settings_tracing_illustration_description_inactive)
 
         override fun isTracingSwitchEnabled(): Boolean = true
 
         override fun isTracingSwitchChecked(): Boolean = false
 
-        override fun getTracingStatusText(c: Context): String =
-            c.getString(R.string.settings_tracing_status_inactive)
+        override fun getTracingStatusText(context: Context): String =
+            context.getString(R.string.settings_tracing_status_inactive)
 
         override fun isLocationCardVisible(): Boolean = false
 
@@ -111,18 +112,18 @@ sealed class TracingSettingsState {
     }
 
     object TracingActive : TracingSettingsState() {
-        override fun getTracingStatusImage(c: Context): Drawable? =
-            c.getDrawable(R.drawable.ic_illustration_tracing_on)
+        override fun getTracingStatusImage(context: Context): Drawable? =
+            context.getDrawableCompat(R.drawable.ic_illustration_tracing_on)
 
-        override fun getTracingIllustrationText(c: Context): String =
-            c.getString(R.string.settings_tracing_illustration_description_active)
+        override fun getTracingIllustrationText(context: Context): String =
+            context.getString(R.string.settings_tracing_illustration_description_active)
 
         override fun isTracingSwitchEnabled(): Boolean = true
 
         override fun isTracingSwitchChecked(): Boolean = true
 
-        override fun getTracingStatusText(c: Context): String =
-            c.getString(R.string.settings_tracing_status_active)
+        override fun getTracingStatusText(context: Context): String =
+            context.getString(R.string.settings_tracing_status_active)
 
         override fun isLocationCardVisible(): Boolean = false
 
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/main/MainActivity.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/main/MainActivity.kt
index 33108fb54abd0b44f8ca33434cc709976e9f27cf..053520fcdf03846d17fb0fd564e4650806d80e12 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/main/MainActivity.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/main/MainActivity.kt
@@ -9,7 +9,6 @@ import android.widget.Toast
 import androidx.appcompat.app.AppCompatActivity
 import androidx.fragment.app.Fragment
 import androidx.fragment.app.FragmentManager
-import androidx.lifecycle.observe
 import dagger.android.AndroidInjector
 import dagger.android.DispatchingAndroidInjector
 import dagger.android.HasAndroidInjector
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/settings/notifications/NotificationSettingsState.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/settings/notifications/NotificationSettingsState.kt
index 212a286e514be7e014100374608469638d2259ed..18f5a4d0a24e6ab393df325b7a5f00837eb34083 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/settings/notifications/NotificationSettingsState.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/settings/notifications/NotificationSettingsState.kt
@@ -3,6 +3,7 @@ package de.rki.coronawarnapp.ui.settings.notifications
 import android.content.Context
 import android.graphics.drawable.Drawable
 import de.rki.coronawarnapp.R
+import de.rki.coronawarnapp.util.ContextExtensions.getDrawableCompat
 
 data class NotificationSettingsState(
     val isNotificationsEnabled: Boolean,
@@ -31,7 +32,7 @@ data class NotificationSettingsState(
     /**
      * Formats the settings notifications details illustration depending on notifications status
      */
-    fun getNotificationsImage(c: Context): Drawable? = c.getDrawable(
+    fun getNotificationsImage(context: Context): Drawable? = context.getDrawableCompat(
         if (isNotificationsEnabled) R.drawable.ic_illustration_notification_on
         else R.drawable.ic_settings_illustration_notification_off
     )
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/settings/start/SettingsBackgroundState.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/settings/start/SettingsBackgroundState.kt
index c484045725f8507569e35b2964e80a236fb5f34f..470cf323458ff6951634072f284800d2dbd6a843 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/settings/start/SettingsBackgroundState.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/settings/start/SettingsBackgroundState.kt
@@ -5,6 +5,7 @@ import android.graphics.drawable.Drawable
 import androidx.annotation.ColorInt
 import de.rki.coronawarnapp.R
 import de.rki.coronawarnapp.util.ContextExtensions.getColorCompat
+import de.rki.coronawarnapp.util.ContextExtensions.getDrawableCompat
 
 data class SettingsBackgroundState(
     val isEnabled: Boolean
@@ -22,7 +23,7 @@ data class SettingsBackgroundState(
     /**
      * Formats the settings icon for background priority
      */
-    fun getBackgroundPriorityIcon(c: Context): Drawable? = c.getDrawable(
+    fun getBackgroundPriorityIcon(context: Context): Drawable? = context.getDrawableCompat(
         if (isEnabled) R.drawable.ic_settings_background_priority_enabled
         else R.drawable.ic_settings_background_priority_disabled
     )
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/settings/start/SettingsNotificationState.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/settings/start/SettingsNotificationState.kt
index 7969efcada37560d624aa4d0a54629f5a8ff145c..316465ca9aacea0243c0ccddf6d926047b8b9314 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/settings/start/SettingsNotificationState.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/settings/start/SettingsNotificationState.kt
@@ -5,6 +5,7 @@ import android.graphics.drawable.Drawable
 import androidx.annotation.ColorInt
 import de.rki.coronawarnapp.R
 import de.rki.coronawarnapp.util.ContextExtensions.getColorCompat
+import de.rki.coronawarnapp.util.ContextExtensions.getDrawableCompat
 
 data class SettingsNotificationState(
     val isNotificationsEnabled: Boolean,
@@ -27,7 +28,7 @@ data class SettingsNotificationState(
     /**
      * Formats settings icon color for notifications depending on notification values
      */
-    fun getNotificationIcon(c: Context): Drawable? = c.getDrawable(
+    fun getNotificationIcon(context: Context): Drawable? = context.getDrawableCompat(
         if (isEnabled) R.drawable.ic_settings_notification_active
         else R.drawable.ic_settings_notification_inactive
     )
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/settings/start/SettingsTracingState.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/settings/start/SettingsTracingState.kt
index 3760ac4efe78d327d2351987b3a1b154b225a13d..b8be9cb6793a43e86522557f7d38327699bd0099 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/settings/start/SettingsTracingState.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/settings/start/SettingsTracingState.kt
@@ -6,6 +6,7 @@ import androidx.annotation.ColorInt
 import de.rki.coronawarnapp.R
 import de.rki.coronawarnapp.tracing.GeneralTracingStatus
 import de.rki.coronawarnapp.util.ContextExtensions.getColorCompat
+import de.rki.coronawarnapp.util.ContextExtensions.getDrawableCompat
 
 sealed class SettingsTracingState {
 
@@ -19,7 +20,7 @@ sealed class SettingsTracingState {
             context.getColorCompat(R.color.colorTextSemanticRed)
 
         override fun getTracingIcon(context: Context): Drawable? =
-            context.getDrawable(R.drawable.ic_settings_tracing_bluetooth_inactive)
+            context.getDrawableCompat(R.drawable.ic_settings_tracing_bluetooth_inactive)
 
         override fun getTracingStatusText(context: Context): String =
             context.getString(R.string.settings_tracing_status_restricted)
@@ -30,7 +31,7 @@ sealed class SettingsTracingState {
             context.getColorCompat(R.color.colorTextSemanticRed)
 
         override fun getTracingIcon(context: Context): Drawable? =
-            context.getDrawable(R.drawable.ic_settings_location_inactive_small)
+            context.getDrawableCompat(R.drawable.ic_settings_location_inactive_small)
 
         override fun getTracingStatusText(context: Context): String =
             context.getString(R.string.settings_tracing_status_inactive)
@@ -41,7 +42,7 @@ sealed class SettingsTracingState {
             context.getColorCompat(R.color.colorAccentTintIcon)
 
         override fun getTracingIcon(context: Context): Drawable? =
-            context.getDrawable(R.drawable.ic_settings_tracing_active_small)
+            context.getDrawableCompat(R.drawable.ic_settings_tracing_active_small)
 
         override fun getTracingStatusText(context: Context): String =
             context.getString(R.string.settings_tracing_status_active)
@@ -52,7 +53,7 @@ sealed class SettingsTracingState {
             context.getColorCompat(R.color.colorTextSemanticRed)
 
         override fun getTracingIcon(context: Context): Drawable? =
-            context.getDrawable(R.drawable.ic_settings_tracing_inactive_small)
+            context.getDrawableCompat(R.drawable.ic_settings_tracing_inactive_small)
 
         override fun getTracingStatusText(context: Context): String =
             context.getString(R.string.settings_tracing_status_inactive)
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/tan/TanInput.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/tan/TanInput.kt
index a83715de6529bde14c14a68240ad1381683859fa..70ceed8db075032a7a58a2900e5b42e549bfdfa7 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/tan/TanInput.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/tan/TanInput.kt
@@ -2,6 +2,7 @@ package de.rki.coronawarnapp.ui.submission.tan
 
 import android.content.Context
 import android.os.Handler
+import android.os.Looper
 import android.text.InputFilter
 import android.util.AttributeSet
 import android.view.ViewGroup
@@ -13,6 +14,7 @@ import androidx.annotation.DimenRes
 import androidx.core.view.children
 import androidx.core.widget.doOnTextChanged
 import de.rki.coronawarnapp.R
+import de.rki.coronawarnapp.util.getDrawableCompat
 import java.util.Locale
 import kotlin.math.max
 
@@ -65,7 +67,7 @@ class TanInput(context: Context, attrs: AttributeSet) : ViewGroup(context, attrs
         setOnClickListener { showKeyboard() }
 
         // initially show the keyboard
-        Handler().postDelayed(
+        Handler(Looper.getMainLooper()).postDelayed(
             { showKeyboard() },
             KEYBOARD_TRIGGER_DELAY
         )
@@ -98,12 +100,9 @@ class TanInput(context: Context, attrs: AttributeSet) : ViewGroup(context, attrs
         val text = digitAtIndex(i)
         tanDigit.text = text
         tanDigit.background = when {
-            text == EMPTY_STRING -> resources.getDrawable(R.drawable.tan_input_digit, null)
-            Tan.isTanCharacterValid(text) -> resources.getDrawable(
-                R.drawable.tan_input_digit_entered,
-                null
-            )
-            else -> resources.getDrawable(R.drawable.tan_input_digit_error, null)
+            text == EMPTY_STRING -> resources.getDrawableCompat(R.drawable.tan_input_digit)
+            Tan.isTanCharacterValid(text) -> resources.getDrawableCompat(R.drawable.tan_input_digit_entered)
+            else -> resources.getDrawableCompat(R.drawable.tan_input_digit_error)
         }
 
         tanDigit.setTextColor(
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/view/LocationTracingStatusCardBodyTextView.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/view/LocationTracingStatusCardBodyTextView.kt
index cf71bbc226196247918ebbada091a5a8887791b4..64d204a0c12a0b8c21ee28e95a735415c3271239 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/view/LocationTracingStatusCardBodyTextView.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/view/LocationTracingStatusCardBodyTextView.kt
@@ -6,25 +6,13 @@ import androidx.appcompat.widget.AppCompatTextView
 import de.rki.coronawarnapp.R
 import de.rki.coronawarnapp.util.setUrl
 
-class LocationTracingStatusCardBodyTextView : AppCompatTextView {
+class LocationTracingStatusCardBodyTextView @JvmOverloads constructor(
+    context: Context,
+    attrs: AttributeSet? = null,
+    defStyleAttr: Int = 0
+) : AppCompatTextView(context, attrs, defStyleAttr) {
 
-    constructor(context: Context?) : super(context) {
-        setUrl()
-    }
-
-    constructor(context: Context?, attrs: AttributeSet) : super(context, attrs) {
-        setUrl()
-    }
-
-    constructor(
-        context: Context?,
-        attrs: AttributeSet,
-        defStyleAttr: Int
-    ) : super(context, attrs, defStyleAttr) {
-        setUrl()
-    }
-
-    private fun setUrl() {
+    init {
         setUrl(
             R.string.settings_tracing_status_location_body,
             "FAQ",
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/view/TestResultSectionView.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/view/TestResultSectionView.kt
index f7432d233ea83e209bad8ffae5d61fa8f6a61bd5..2170fe780f40ff8847bb557fc3d63aaad4e3904f 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/view/TestResultSectionView.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/view/TestResultSectionView.kt
@@ -10,6 +10,7 @@ import androidx.constraintlayout.widget.ConstraintLayout
 import androidx.core.content.withStyledAttributes
 import de.rki.coronawarnapp.R
 import de.rki.coronawarnapp.databinding.ViewTestResultSectionBinding
+import de.rki.coronawarnapp.util.ContextExtensions.getDrawableCompat
 import de.rki.coronawarnapp.util.DeviceUIState
 import de.rki.coronawarnapp.util.NetworkRequestWrapper
 import de.rki.coronawarnapp.util.NetworkRequestWrapper.Companion.withSuccess
@@ -67,7 +68,7 @@ constructor(
                 DeviceUIState.PAIRED_REDEEMED -> R.drawable.ic_test_result_illustration_invalid
                 else -> R.drawable.ic_test_result_illustration_invalid
             }
-        }.let { context.getDrawable(it) }
+        }.let { context.getDrawableCompat(it) }
     }
 
     private fun formatTestResultRegisteredAtText(registeredAt: Date?): String {
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/ConnectivityHelper.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/ConnectivityHelper.kt
index f5531f590b831bcbccc3eca440bbe633f6377ea9..246ca1e5acfd8991fec7e8cb07c8e36d1d680584 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/ConnectivityHelper.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/ConnectivityHelper.kt
@@ -98,7 +98,7 @@ object ConnectivityHelper {
          */
         abstract fun onNetworkUnavailable()
 
-        override fun onAvailable(network: Network?) {
+        override fun onAvailable(network: Network) {
             onNetworkAvailable()
         }
 
@@ -106,7 +106,7 @@ object ConnectivityHelper {
             onNetworkUnavailable()
         }
 
-        override fun onLost(network: Network?) {
+        override fun onLost(network: Network) {
             onNetworkUnavailable()
         }
     }
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/ContextExtensions.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/ContextExtensions.kt
index 2c2ca6229c101c0094aa9d7d87adfcf77f8ceb8d..1360f7724c4703a700a3c2d5c9aa4520da84aabf 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/ContextExtensions.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/ContextExtensions.kt
@@ -1,8 +1,11 @@
 package de.rki.coronawarnapp.util
 
 import android.content.Context
+import android.content.res.Resources
 import androidx.annotation.ColorRes
+import androidx.annotation.DrawableRes
 import androidx.core.content.ContextCompat
+import androidx.core.content.res.ResourcesCompat
 
 /**
  * These context extensions provide easier access to the ContextCompat calls that we want
@@ -16,4 +19,10 @@ object ContextExtensions {
     fun Context.getColorCompat(@ColorRes id: Int) = ContextCompat.getColor(this, id)
 
     fun Context.getColorStateListCompat(@ColorRes id: Int) = ContextCompat.getColorStateList(this, id)
+
+    fun Context.getDrawableCompat(@DrawableRes id: Int) = ContextCompat.getDrawable(this, id)
 }
+
+@Throws(Resources.NotFoundException::class)
+fun Resources.getDrawableCompat(@DrawableRes id: Int, theme: Resources.Theme? = null) =
+    ResourcesCompat.getDrawable(this, id, theme)
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/DataBindingAdapters.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/DataBindingAdapters.kt
index 66e55ff3c21a93b75b4d9fe48302a8bf333de330..5147b479bd9c2cbd70fdd398953d726b5687afed 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/DataBindingAdapters.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/DataBindingAdapters.kt
@@ -1,13 +1,17 @@
 package de.rki.coronawarnapp.util
 
+import android.content.res.ColorStateList
 import android.graphics.PorterDuff
 import android.graphics.PorterDuffColorFilter
+import android.widget.ImageView
 import android.widget.Switch
+import androidx.core.widget.ImageViewCompat
 import androidx.databinding.BindingAdapter
 import com.airbnb.lottie.LottieAnimationView
 import com.airbnb.lottie.LottieDrawable
 import com.airbnb.lottie.LottieProperty
 import com.airbnb.lottie.model.KeyPath
+import de.rki.coronawarnapp.util.ContextExtensions.getDrawableCompat
 
 const val IGNORE_CHANGE_TAG = "ignore"
 const val DRAWABLE_TYPE = "drawable"
@@ -28,7 +32,7 @@ fun setAnimation(view: LottieAnimationView, animation: Int?) {
         val type = context.resources.getResourceTypeName(animation)
 
         if (type == DRAWABLE_TYPE) {
-            view.setImageDrawable(context.getDrawable(animation))
+            view.setImageDrawable(context.getDrawableCompat(animation))
         } else {
             view.setAnimation(animation)
             view.repeatCount = LottieDrawable.INFINITE
@@ -48,3 +52,8 @@ fun setAnimationColor(view: LottieAnimationView, color: Int?) {
         ) { PorterDuffColorFilter(color, PorterDuff.Mode.SRC_ATOP) }
     }
 }
+
+@BindingAdapter("app:tint")
+fun setTint(view: ImageView, color: Int) {
+    ImageViewCompat.setImageTintList(view, ColorStateList.valueOf(color))
+}
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/formatter/FormatterHelper.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/formatter/FormatterHelper.kt
index fe7a2558a06dcc4ed2f05e5a7b6b68c7c25c7f3a..d31fc126c6a18ec6f7e483a1075778eec457cde6 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/formatter/FormatterHelper.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/formatter/FormatterHelper.kt
@@ -45,7 +45,7 @@ fun formatVisibility(value: Boolean): Int {
  * @param drawable
  * @return
  */
-fun formatVisibilityIcon(drawable: Any?): Int? {
+fun formatVisibilityIcon(drawable: Any?): Int {
     return if (drawable != null) {
         View.VISIBLE
     } else {
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/formatter/FormatterSubmissionHelper.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/formatter/FormatterSubmissionHelper.kt
index 9202734af4d9b772ce35d1847f151aa8cc4e490a..9957c98680e872732a2d0bdde917a15bb0a8c5f6 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/formatter/FormatterSubmissionHelper.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/formatter/FormatterSubmissionHelper.kt
@@ -12,6 +12,7 @@ import android.view.View
 import de.rki.coronawarnapp.R
 import de.rki.coronawarnapp.submission.Symptoms
 import de.rki.coronawarnapp.util.ContextExtensions.getColorCompat
+import de.rki.coronawarnapp.util.ContextExtensions.getDrawableCompat
 import de.rki.coronawarnapp.util.DeviceUIState
 import de.rki.coronawarnapp.util.NetworkRequestWrapper
 import de.rki.coronawarnapp.util.NetworkRequestWrapper.Companion.withSuccess
@@ -132,7 +133,7 @@ fun formatTestStatusIcon(context: Context, uiState: NetworkRequestWrapper<Device
             DeviceUIState.PAIRED_REDEEMED -> R.drawable.ic_test_result_illustration_invalid
             else -> R.drawable.ic_test_result_illustration_invalid
         }
-    }.let { context.getDrawable(it) }
+    }.let { context.getDrawableCompat(it) }
 }
 
 fun formatTestResultRegisteredAtText(context: Context, registeredAt: Date?): String {
@@ -168,9 +169,9 @@ fun formatCountryIsoTagToFlagDrawable(context: Context, isoTag: String?): Drawab
         countryName?.let { resolveNameToDrawableId("ic_submission_country_flag_$it", context) }
 
     return if (countryId != null)
-        context.getDrawable(countryId)
+        context.getDrawableCompat(countryId)
     else
-        context.getDrawable(R.drawable.ic_submission_country_flag_ireland)
+        context.getDrawableCompat(R.drawable.ic_submission_country_flag_ireland)
 }
 
 fun formatCountrySelectCardColor(context: Context, isActive: Boolean?): Int =
diff --git a/Corona-Warn-App/src/main/res/layout/fragment_onboarding_notifications.xml b/Corona-Warn-App/src/main/res/layout/fragment_onboarding_notifications.xml
index 98934eed2f6aa477fb1d0ed4043f9428b21558cb..6d499f499fb8954bc69e14f0cd7f21b844d47f34 100644
--- a/Corona-Warn-App/src/main/res/layout/fragment_onboarding_notifications.xml
+++ b/Corona-Warn-App/src/main/res/layout/fragment_onboarding_notifications.xml
@@ -51,7 +51,7 @@
             app:layout_constraintBottom_toTopOf="@+id/onboarding_button_next"
             app:layout_constraintEnd_toEndOf="parent"
             app:layout_constraintStart_toStartOf="parent"
-            app:layout_constraintTop_toBottomOf="@+id/onboarding_button_back"
+            app:layout_constraintTop_toBottomOf="@id/onboarding_header"
             app:subtitle="@{@string/onboarding_notifications_subtitle}" />
 
         <Button
diff --git a/Corona-Warn-App/src/main/res/layout/fragment_onboarding_test.xml b/Corona-Warn-App/src/main/res/layout/fragment_onboarding_test.xml
index 5a73d2835b999dd33953235dd6e73b65d74cb462..9c6224677c0a2a189a2844c1370a5e0f7de65f24 100644
--- a/Corona-Warn-App/src/main/res/layout/fragment_onboarding_test.xml
+++ b/Corona-Warn-App/src/main/res/layout/fragment_onboarding_test.xml
@@ -50,7 +50,7 @@
             app:layout_constraintBottom_toTopOf="@+id/onboarding_button_next"
             app:layout_constraintEnd_toEndOf="parent"
             app:layout_constraintStart_toStartOf="parent"
-            app:layout_constraintTop_toBottomOf="@+id/onboarding_button_back"
+            app:layout_constraintTop_toBottomOf="@id/onboarding_header"
             app:subtitle="@{@string/onboarding_test_subtitle}" />
 
         <Button
diff --git a/Corona-Warn-App/src/main/res/layout/fragment_onboarding_tracing.xml b/Corona-Warn-App/src/main/res/layout/fragment_onboarding_tracing.xml
index 07f2ea6b9343f7a9d90235899e4e6fecea6a7e23..00f4baece7db030815615d59ed3036943e0a9f69 100644
--- a/Corona-Warn-App/src/main/res/layout/fragment_onboarding_tracing.xml
+++ b/Corona-Warn-App/src/main/res/layout/fragment_onboarding_tracing.xml
@@ -63,7 +63,7 @@
             app:countryData="@{countryData}"
             app:layout_constraintEnd_toEndOf="parent"
             app:layout_constraintStart_toStartOf="parent"
-            app:layout_constraintTop_toBottomOf="@+id/onboarding_button_back"
+            app:layout_constraintTop_toBottomOf="@id/onboarding_header"
             app:subtitle="@{@string/onboarding_tracing_subtitle}" />
 
         <Button
diff --git a/Corona-Warn-App/src/main/res/layout/fragment_submission_test_result_positive_no_consent.xml b/Corona-Warn-App/src/main/res/layout/fragment_submission_test_result_positive_no_consent.xml
index 55e6be3cdde6d85fbe12e3b331ca30562d136809..d320ca471a02a0d43ce56a4e6af72d956acdfcef 100644
--- a/Corona-Warn-App/src/main/res/layout/fragment_submission_test_result_positive_no_consent.xml
+++ b/Corona-Warn-App/src/main/res/layout/fragment_submission_test_result_positive_no_consent.xml
@@ -3,8 +3,6 @@
     xmlns:app="http://schemas.android.com/apk/res-auto"
     xmlns:tools="http://schemas.android.com/tools">
 
-    <data></data>
-
     <androidx.constraintlayout.widget.ConstraintLayout
         android:id="@+id/submission_test_result_layout"
         android:contentDescription="@string/submission_test_result_headline"
@@ -69,14 +67,14 @@
                     android:layout_width="@dimen/circle_icon_big"
                     android:layout_height="@dimen/circle_icon_big"
                     android:layout_marginTop="@dimen/spacing_normal"
-                    android:src="@drawable/ic_submission_share"
-                    android:tint="@color/colorStableLight"
                     android:background="@drawable/circle"
                     android:backgroundTint="@color/button_red"
-                    android:padding="@dimen/circle_icon_padding"
                     android:importantForAccessibility="no"
+                    android:padding="@dimen/circle_icon_padding"
+                    android:src="@drawable/ic_submission_share"
+                    app:layout_constraintStart_toStartOf="parent"
                     app:layout_constraintTop_toBottomOf="@+id/submission_test_result_positive_no_consent_subtitle"
-                    app:layout_constraintStart_toStartOf="parent"/>
+                    app:tint="@color/colorStableLight" />
 
                 <TextView
                     android:id="@+id/submission_test_result_positive_no_consent_text_1"
diff --git a/Corona-Warn-App/src/main/res/layout/include_dispatcher_card.xml b/Corona-Warn-App/src/main/res/layout/include_dispatcher_card.xml
index c5da5315daa951ae9073dc4b5a3cc783e98efd00..968a7b08957fc02c7274e65190138e541dcad47a 100644
--- a/Corona-Warn-App/src/main/res/layout/include_dispatcher_card.xml
+++ b/Corona-Warn-App/src/main/res/layout/include_dispatcher_card.xml
@@ -49,11 +49,11 @@
             android:layout_height="wrap_content"
             android:layout_marginTop="@dimen/spacing_small"
             android:layout_marginEnd="@dimen/spacing_normal"
-            android:src="@drawable/ic_forward"
-            android:tint="@color/colorTextPrimary1"
             android:importantForAccessibility="no"
+            android:src="@drawable/ic_forward"
             app:layout_constraintEnd_toEndOf="parent"
-            app:layout_constraintTop_toTopOf="parent" />
+            app:layout_constraintTop_toTopOf="parent"
+            app:tint="@color/colorTextPrimary1" />
 
         <TextView
             android:id="@+id/submission_dispatcher_card_text"
diff --git a/Corona-Warn-App/src/main/res/layout/include_main_overview_row.xml b/Corona-Warn-App/src/main/res/layout/include_main_overview_row.xml
index 92a9e4363fc18134c10ea4ef967818d137c7b164..3a88cdaf40194ff257286caeba17e56b8d88dd99 100644
--- a/Corona-Warn-App/src/main/res/layout/include_main_overview_row.xml
+++ b/Corona-Warn-App/src/main/res/layout/include_main_overview_row.xml
@@ -43,11 +43,11 @@
                 android:layout_height="@dimen/icon_size_main_card"
                 android:importantForAccessibility="no"
                 android:src="@{icon}"
-                android:tint="@{(iconTint != 0) ? iconTint : @color/colorAccentTintIcon}"
                 android:visibility="@{FormatterHelper.formatVisibilityIcon(icon)}"
                 app:layout_constraintBottom_toBottomOf="@+id/main_overview_row_subtitle"
                 app:layout_constraintStart_toStartOf="@+id/guideline_icon"
-                app:layout_constraintTop_toTopOf="@+id/main_overview_row_subtitle" />
+                app:layout_constraintTop_toTopOf="@+id/main_overview_row_subtitle"
+                app:tint="@{(iconTint != 0) ? iconTint : @color/colorAccentTintIcon}" />
 
             <TextView
                 android:id="@+id/main_overview_row_subtitle"
diff --git a/Corona-Warn-App/src/main/res/layout/include_setting_row.xml b/Corona-Warn-App/src/main/res/layout/include_setting_row.xml
index 518db34a13df01be350a5a6c9326d0b6ceb76a2b..ee5722cfd265f82dfcd75ce9058d8d6f1dd98ba8 100644
--- a/Corona-Warn-App/src/main/res/layout/include_setting_row.xml
+++ b/Corona-Warn-App/src/main/res/layout/include_setting_row.xml
@@ -50,7 +50,7 @@
                 android:layout_height="@dimen/icon_size_settings"
                 android:importantForAccessibility="no"
                 android:src="@{icon}"
-                android:tint="@{color}"
+                app:tint="@{color}"
                 app:layout_constraintBottom_toBottomOf="@id/settings_row_header"
                 app:layout_constraintStart_toStartOf="@+id/guideline_icon"
                 app:layout_constraintTop_toTopOf="@id/settings_row_header" />
diff --git a/Corona-Warn-App/src/main/res/layout/include_submission_behaviour_row.xml b/Corona-Warn-App/src/main/res/layout/include_submission_behaviour_row.xml
index f59cfeb3898ad9b22aa6755224230c808f4d9de3..fe0e972da7646460094ae25b08f9c9de09f94f95 100644
--- a/Corona-Warn-App/src/main/res/layout/include_submission_behaviour_row.xml
+++ b/Corona-Warn-App/src/main/res/layout/include_submission_behaviour_row.xml
@@ -34,7 +34,7 @@
                 android:focusable="false"
                 android:importantForAccessibility="no"
                 android:src="@{icon}"
-                android:tint="@color/colorStableLight"
+                app:tint="@color/colorStableLight"
                 app:layout_constraintBottom_toBottomOf="parent"
                 app:layout_constraintEnd_toEndOf="parent"
                 app:layout_constraintStart_toStartOf="parent"
diff --git a/Corona-Warn-App/src/main/res/layout/tracing_content_disabled_view.xml b/Corona-Warn-App/src/main/res/layout/tracing_content_disabled_view.xml
index 631d5d4495e2d6e4e19c71b60c24ef7d84e19b27..994e7984e880c49daa434ed96ed270726a9948f6 100644
--- a/Corona-Warn-App/src/main/res/layout/tracing_content_disabled_view.xml
+++ b/Corona-Warn-App/src/main/res/layout/tracing_content_disabled_view.xml
@@ -35,7 +35,7 @@
             android:layout_height="@dimen/icon_size_risk_card"
             android:importantForAccessibility="no"
             android:src="@drawable/ic_forward"
-            android:tint="@color/colorTextPrimary1"
+            app:tint="@color/colorTextPrimary1"
             app:layout_constraintEnd_toEndOf="parent"
             app:layout_constraintTop_toTopOf="parent" />
 
diff --git a/Corona-Warn-App/src/main/res/layout/tracing_content_failed_view.xml b/Corona-Warn-App/src/main/res/layout/tracing_content_failed_view.xml
index 162b1b20b361e236027044e501092736a21deb69..8cd918e4d5afa7f952fdf6b9251bbe8ccb7bee1d 100644
--- a/Corona-Warn-App/src/main/res/layout/tracing_content_failed_view.xml
+++ b/Corona-Warn-App/src/main/res/layout/tracing_content_failed_view.xml
@@ -34,7 +34,7 @@
             android:layout_height="@dimen/icon_size_risk_card"
             android:importantForAccessibility="no"
             android:src="@drawable/ic_forward"
-            android:tint="@color/colorTextPrimary1"
+            app:tint="@color/colorTextPrimary1"
             app:layout_constraintEnd_toEndOf="parent"
             app:layout_constraintTop_toTopOf="parent" />
 
diff --git a/Corona-Warn-App/src/main/res/layout/tracing_content_increased_view.xml b/Corona-Warn-App/src/main/res/layout/tracing_content_increased_view.xml
index e6407d6f255d3ff074d0db26a12a92e1fd0d4503..3041ca8fb3c8d9055420ab016a38d877407212be 100644
--- a/Corona-Warn-App/src/main/res/layout/tracing_content_increased_view.xml
+++ b/Corona-Warn-App/src/main/res/layout/tracing_content_increased_view.xml
@@ -36,7 +36,7 @@
             android:layout_height="@dimen/icon_size_risk_card"
             android:importantForAccessibility="no"
             android:src="@drawable/ic_forward"
-            android:tint="@color/colorStableLight"
+            app:tint="@color/colorStableLight"
             app:layout_constraintEnd_toEndOf="parent"
             app:layout_constraintTop_toTopOf="parent" />
 
diff --git a/Corona-Warn-App/src/main/res/layout/tracing_content_low_view.xml b/Corona-Warn-App/src/main/res/layout/tracing_content_low_view.xml
index 9f5ad6708776b2eb60851a5cee672f3c78ae0d31..8ef03ec4033370b19d1ce907975ed56d68da5092 100644
--- a/Corona-Warn-App/src/main/res/layout/tracing_content_low_view.xml
+++ b/Corona-Warn-App/src/main/res/layout/tracing_content_low_view.xml
@@ -38,7 +38,7 @@
             android:layout_height="@dimen/icon_size_risk_card"
             android:importantForAccessibility="no"
             android:src="@drawable/ic_forward"
-            android:tint="@color/colorStableLight"
+            app:tint="@color/colorStableLight"
             app:layout_constraintEnd_toEndOf="parent"
             app:layout_constraintTop_toTopOf="parent"
             tools:tint="@color/colorStableLight" />
diff --git a/Corona-Warn-App/src/main/res/layout/tracing_content_progress_view.xml b/Corona-Warn-App/src/main/res/layout/tracing_content_progress_view.xml
index f6c398a6bd0e82413f2c022b1ec23ccc452db04c..38c3404db2513f7c1ea1d4efcce80b3c3cb5cf0e 100644
--- a/Corona-Warn-App/src/main/res/layout/tracing_content_progress_view.xml
+++ b/Corona-Warn-App/src/main/res/layout/tracing_content_progress_view.xml
@@ -36,7 +36,7 @@
             android:layout_height="@dimen/icon_size_risk_card"
             android:importantForAccessibility="no"
             android:src="@drawable/ic_forward"
-            android:tint="@{state.getStableIconColor(context)}"
+            app:tint="@{state.getStableIconColor(context)}"
             app:layout_constraintEnd_toEndOf="parent"
             app:layout_constraintTop_toTopOf="parent" />
 
diff --git a/Corona-Warn-App/src/main/res/layout/tracing_details_fragment_layout.xml b/Corona-Warn-App/src/main/res/layout/tracing_details_fragment_layout.xml
index 454abe494ee28c82b0e87d90a40d175900a506c9..c63966995fdfbd07eb8d97d86473a9373a7bda16 100644
--- a/Corona-Warn-App/src/main/res/layout/tracing_details_fragment_layout.xml
+++ b/Corona-Warn-App/src/main/res/layout/tracing_details_fragment_layout.xml
@@ -43,7 +43,7 @@
                     android:layout_height="@dimen/icon_size_button"
                     bind:cwaContentDescription="@{@string/accessibility_back}"
                     android:src="@{@drawable/ic_close}"
-                    android:tint="@{tracingDetailsState.getStableTextColor(context)}"
+                    app:tint="@{tracingDetailsState.getStableTextColor(context)}"
                     app:layout_constraintBottom_toBottomOf="parent"
                     app:layout_constraintStart_toStartOf="parent"
                     app:layout_constraintTop_toTopOf="parent"
diff --git a/Corona-Warn-App/src/main/res/layout/tracing_details_item_behavior_increased_view.xml b/Corona-Warn-App/src/main/res/layout/tracing_details_item_behavior_increased_view.xml
index b74b3522c94a328b78efe37e219e238b263bca90..f26f124084a0c960d3c83c0665110af5faa7effc 100644
--- a/Corona-Warn-App/src/main/res/layout/tracing_details_item_behavior_increased_view.xml
+++ b/Corona-Warn-App/src/main/res/layout/tracing_details_item_behavior_increased_view.xml
@@ -69,7 +69,7 @@
                 android:layout_marginTop="@dimen/spacing_mega_tiny"
                 android:importantForAccessibility="no"
                 android:src="@drawable/bullet_point"
-                android:tint="@color/colorSemanticHighRisk"
+                app:tint="@color/colorSemanticHighRisk"
                 app:layout_constraintStart_toStartOf="parent"
                 app:layout_constraintTop_toTopOf="@id/risk_details_behavior_bullet_point_1" />
 
@@ -95,7 +95,7 @@
                 android:layout_marginTop="@dimen/spacing_mega_tiny"
                 android:importantForAccessibility="no"
                 android:src="@drawable/bullet_point"
-                android:tint="@color/colorSemanticHighRisk"
+                app:tint="@color/colorSemanticHighRisk"
                 app:layout_constraintStart_toStartOf="parent"
                 app:layout_constraintTop_toTopOf="@id/risk_details_behavior_bullet_point_2" />
 
@@ -122,7 +122,7 @@
                 android:layout_marginTop="@dimen/spacing_mega_tiny"
                 android:importantForAccessibility="no"
                 android:src="@drawable/bullet_point"
-                android:tint="@color/colorSemanticHighRisk"
+                app:tint="@color/colorSemanticHighRisk"
                 app:layout_constraintStart_toStartOf="parent"
                 app:layout_constraintTop_toTopOf="@id/risk_details_behavior_bullet_point_3" />
 
diff --git a/Corona-Warn-App/src/main/res/layout/tracing_details_item_behavior_row_view.xml b/Corona-Warn-App/src/main/res/layout/tracing_details_item_behavior_row_view.xml
index f438908c7c80b46d9fd52640acf020267c5c6d20..165523cf979ad30a34d38ccf95af5f5b1bce5d84 100644
--- a/Corona-Warn-App/src/main/res/layout/tracing_details_item_behavior_row_view.xml
+++ b/Corona-Warn-App/src/main/res/layout/tracing_details_item_behavior_row_view.xml
@@ -30,7 +30,7 @@
             android:layout_margin="@dimen/icon_margin_risk_details_behavior"
             android:focusable="false"
             android:importantForAccessibility="no"
-            android:tint="@color/colorStableLight"
+            app:tint="@color/colorStableLight"
             tools:src="@drawable/common_full_open_on_phone" />
     </FrameLayout>
 
diff --git a/Corona-Warn-App/src/main/res/layout/view_circle_progress.xml b/Corona-Warn-App/src/main/res/layout/view_circle_progress.xml
index 4858e8c18c740c96868177f5dcfc85e4f9854f7e..209542e7621e609b83451ce49d1c0ab4b3d1f4cf 100644
--- a/Corona-Warn-App/src/main/res/layout/view_circle_progress.xml
+++ b/Corona-Warn-App/src/main/res/layout/view_circle_progress.xml
@@ -23,7 +23,7 @@
             android:layout_height="wrap_content"
             android:importantForAccessibility="no"
             android:src="@drawable/ic_risk_card_saved_days"
-            android:tint="@color/colorAccentTintIcon"
+            app:tint="@color/colorAccentTintIcon"
             app:layout_constraintBottom_toBottomOf="parent"
             app:layout_constraintEnd_toEndOf="parent"
             app:layout_constraintStart_toStartOf="parent"
diff --git a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/tracing/ui/settings/TracingSettingsStateTest.kt b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/tracing/ui/settings/TracingSettingsStateTest.kt
index 86927d25a8718f370c94c7423b2670c6cd9918a6..61f9e453c8650a14cab6ece81fb9e71077605e82 100644
--- a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/tracing/ui/settings/TracingSettingsStateTest.kt
+++ b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/tracing/ui/settings/TracingSettingsStateTest.kt
@@ -3,6 +3,7 @@ package de.rki.coronawarnapp.tracing.ui.settings
 import android.content.Context
 import de.rki.coronawarnapp.R
 import de.rki.coronawarnapp.tracing.GeneralTracingStatus
+import de.rki.coronawarnapp.util.ContextExtensions.getDrawableCompat
 import io.kotest.matchers.shouldBe
 import io.mockk.MockKAnnotations
 import io.mockk.clearAllMocks
@@ -39,7 +40,7 @@ class TracingSettingsStateTest : BaseTest() {
     fun `bluetooth disabled`() {
         TracingSettingsState.BluetoothDisabled.apply {
             getTracingStatusImage(context)
-            verify { context.getDrawable(R.drawable.ic_settings_illustration_bluetooth_off) }
+            verify { context.getDrawableCompat(R.drawable.ic_settings_illustration_bluetooth_off) }
 
             getTracingIllustrationText(context)
             verify { context.getString(R.string.settings_tracing_bluetooth_illustration_description_inactive) }
@@ -60,7 +61,7 @@ class TracingSettingsStateTest : BaseTest() {
     fun `location disabled`() {
         TracingSettingsState.LocationDisabled.apply {
             getTracingStatusImage(context)
-            verify { context.getDrawable(R.drawable.ic_settings_illustration_location_off) }
+            verify { context.getDrawableCompat(R.drawable.ic_settings_illustration_location_off) }
 
             getTracingIllustrationText(context)
             verify { context.getString(R.string.settings_tracing_location_illustration_description_inactive) }
@@ -81,7 +82,7 @@ class TracingSettingsStateTest : BaseTest() {
     fun `tracing inactive`() {
         TracingSettingsState.TracingInactive.apply {
             getTracingStatusImage(context)
-            verify { context.getDrawable(R.drawable.ic_settings_illustration_tracing_off) }
+            verify { context.getDrawableCompat(R.drawable.ic_settings_illustration_tracing_off) }
 
             getTracingIllustrationText(context)
             verify { context.getString(R.string.settings_tracing_illustration_description_inactive) }
@@ -102,7 +103,7 @@ class TracingSettingsStateTest : BaseTest() {
     fun `tracing active`() {
         TracingSettingsState.TracingActive.apply {
             getTracingStatusImage(context)
-            verify { context.getDrawable(R.drawable.ic_illustration_tracing_on) }
+            verify { context.getDrawableCompat(R.drawable.ic_illustration_tracing_on) }
 
             getTracingIllustrationText(context)
             verify { context.getString(R.string.settings_tracing_illustration_description_active) }
diff --git a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/ui/settings/notification/NotificationSettingsStateTest.kt b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/ui/settings/notification/NotificationSettingsStateTest.kt
index caa6fe494550d8e43071be9955ebac7b94aa3524..0e1222d587c397957898758b31e65e8757ce0b4f 100644
--- a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/ui/settings/notification/NotificationSettingsStateTest.kt
+++ b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/ui/settings/notification/NotificationSettingsStateTest.kt
@@ -3,12 +3,15 @@ package de.rki.coronawarnapp.ui.settings.notification
 import android.content.Context
 import de.rki.coronawarnapp.R
 import de.rki.coronawarnapp.ui.settings.notifications.NotificationSettingsState
+import de.rki.coronawarnapp.util.ContextExtensions
+import de.rki.coronawarnapp.util.ContextExtensions.getDrawableCompat
 import io.kotest.matchers.shouldBe
 import io.mockk.MockKAnnotations
 import io.mockk.clearAllMocks
 import io.mockk.every
 import io.mockk.impl.annotations.MockK
 import io.mockk.mockk
+import io.mockk.mockkObject
 import io.mockk.verify
 import org.junit.jupiter.api.AfterEach
 import org.junit.jupiter.api.BeforeEach
@@ -22,9 +25,12 @@ class NotificationSettingsStateTest : BaseTest() {
     @BeforeEach
     fun setup() {
         MockKAnnotations.init(this)
-        every { context.getString(any()) } returns ""
-        every { context.getColor(any()) } returns 0
-        every { context.getDrawable(any()) } returns mockk()
+        mockkObject(ContextExtensions)
+        with(context) {
+            every { getString(any()) } returns ""
+            every { getColor(any()) } returns 0
+            every { getDrawableCompat(any()) } returns mockk()
+        }
     }
 
     @AfterEach
@@ -63,10 +69,10 @@ class NotificationSettingsStateTest : BaseTest() {
     @Test
     fun getNotificationsImage() {
         createInstance().getNotificationsImage(context)
-        verify(exactly = 1) { context.getDrawable(R.drawable.ic_illustration_notification_on) }
+        verify(exactly = 1) { context.getDrawableCompat(R.drawable.ic_illustration_notification_on) }
 
         createInstance(isNotificationsEnabled = false).getNotificationsImage(context)
-        verify(exactly = 1) { context.getDrawable(R.drawable.ic_settings_illustration_notification_off) }
+        verify(exactly = 1) { context.getDrawableCompat(R.drawable.ic_settings_illustration_notification_off) }
     }
 
     @Test
diff --git a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/ui/settings/start/SettingsBackgroundStateTest.kt b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/ui/settings/start/SettingsBackgroundStateTest.kt
index 078f63e2650143753a4b748d4a219a564b1ea272..2a461f487fdf7d39edb6fab0ed9c468f399aef47 100644
--- a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/ui/settings/start/SettingsBackgroundStateTest.kt
+++ b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/ui/settings/start/SettingsBackgroundStateTest.kt
@@ -3,6 +3,7 @@ package de.rki.coronawarnapp.ui.settings.start
 import android.content.Context
 import de.rki.coronawarnapp.R
 import de.rki.coronawarnapp.util.ContextExtensions.getColorCompat
+import de.rki.coronawarnapp.util.ContextExtensions.getDrawableCompat
 import io.mockk.MockKAnnotations
 import io.mockk.clearAllMocks
 import io.mockk.impl.annotations.MockK
@@ -46,11 +47,11 @@ class SettingsBackgroundStateTest : BaseTest() {
     fun getBackgroindPriorityIcon() {
         createInstance(isEnabled = true).apply {
             getBackgroundPriorityIcon(context)
-            verify { context.getDrawable(R.drawable.ic_settings_background_priority_enabled) }
+            verify { context.getDrawableCompat(R.drawable.ic_settings_background_priority_enabled) }
         }
         createInstance(isEnabled = false).apply {
             getBackgroundPriorityIcon(context)
-            verify { context.getDrawable(R.drawable.ic_settings_background_priority_disabled) }
+            verify { context.getDrawableCompat(R.drawable.ic_settings_background_priority_disabled) }
         }
     }
 
diff --git a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/ui/settings/start/SettingsNotificationStateTest.kt b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/ui/settings/start/SettingsNotificationStateTest.kt
index 10d4fcfc23922bfa7fa69004adc3a1c22920ccb7..69dcba26c940eabe5921a4efab80b66534373ad7 100644
--- a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/ui/settings/start/SettingsNotificationStateTest.kt
+++ b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/ui/settings/start/SettingsNotificationStateTest.kt
@@ -2,13 +2,16 @@ package de.rki.coronawarnapp.ui.settings.start
 
 import android.content.Context
 import de.rki.coronawarnapp.R
+import de.rki.coronawarnapp.util.ContextExtensions
 import de.rki.coronawarnapp.util.ContextExtensions.getColorCompat
+import de.rki.coronawarnapp.util.ContextExtensions.getDrawableCompat
 import io.kotest.matchers.shouldBe
 import io.mockk.MockKAnnotations
 import io.mockk.clearAllMocks
 import io.mockk.every
 import io.mockk.impl.annotations.MockK
 import io.mockk.mockk
+import io.mockk.mockkObject
 import io.mockk.verify
 import kotlinx.coroutines.test.runBlockingTest
 import org.junit.jupiter.api.AfterEach
@@ -23,9 +26,10 @@ class SettingsNotificationStateTest : BaseTest() {
     @BeforeEach
     fun setup() {
         MockKAnnotations.init(this)
+        mockkObject(ContextExtensions)
         every { context.getString(any()) } returns ""
         every { context.getColorCompat(any()) } returns 0
-        every { context.getDrawable(any()) } returns mockk()
+        every { context.getDrawableCompat(any()) } returns mockk()
     }
 
     @AfterEach
@@ -90,14 +94,18 @@ class SettingsNotificationStateTest : BaseTest() {
             isNotificationsRiskEnabled = true,
             isNotificationsTestEnabled = true
         ).getNotificationIcon(context)
-        verify { context.getDrawable(R.drawable.ic_settings_notification_active) }
+        verify { context.getDrawableCompat(R.drawable.ic_settings_notification_active) }
 
         SettingsNotificationState(
             isNotificationsEnabled = false,
             isNotificationsRiskEnabled = true,
             isNotificationsTestEnabled = true
         ).getNotificationIcon(context)
-        verify { context.getDrawable(R.drawable.ic_settings_notification_inactive) }
+        verify {
+            context.getDrawableCompat(
+                R.drawable.ic_settings_notification_inactive
+            )
+        }
     }
 
     @Test
diff --git a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/ui/settings/start/SettingsTracingStateTest.kt b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/ui/settings/start/SettingsTracingStateTest.kt
index 554a4bfb90a5d48eadef36d9956859dea2c07483..74c061f1428bb085ba96f02419e51979644e3a8e 100644
--- a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/ui/settings/start/SettingsTracingStateTest.kt
+++ b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/ui/settings/start/SettingsTracingStateTest.kt
@@ -4,6 +4,7 @@ import android.content.Context
 import de.rki.coronawarnapp.R
 import de.rki.coronawarnapp.tracing.GeneralTracingStatus
 import de.rki.coronawarnapp.util.ContextExtensions.getColorCompat
+import de.rki.coronawarnapp.util.ContextExtensions.getDrawableCompat
 import io.kotest.matchers.shouldBe
 import io.mockk.MockKAnnotations
 import io.mockk.clearAllMocks
@@ -43,7 +44,7 @@ class SettingsTracingStateTest : BaseTest() {
             verify { context.getColorCompat(R.color.colorTextSemanticRed) }
 
             getTracingIcon(context)
-            verify { context.getDrawable(R.drawable.ic_settings_tracing_bluetooth_inactive) }
+            verify { context.getDrawableCompat(R.drawable.ic_settings_tracing_bluetooth_inactive) }
 
             getTracingStatusText(context)
             verify { context.getString(R.string.settings_tracing_status_restricted) }
@@ -57,7 +58,7 @@ class SettingsTracingStateTest : BaseTest() {
             verify { context.getColorCompat(R.color.colorTextSemanticRed) }
 
             getTracingIcon(context)
-            verify { context.getDrawable(R.drawable.ic_settings_location_inactive_small) }
+            verify { context.getDrawableCompat(R.drawable.ic_settings_location_inactive_small) }
 
             getTracingStatusText(context)
             verify { context.getString(R.string.settings_tracing_status_inactive) }
@@ -71,7 +72,7 @@ class SettingsTracingStateTest : BaseTest() {
             verify { context.getColorCompat(R.color.colorTextSemanticRed) }
 
             getTracingIcon(context)
-            verify { context.getDrawable(R.drawable.ic_settings_tracing_inactive_small) }
+            verify { context.getDrawableCompat(R.drawable.ic_settings_tracing_inactive_small) }
 
             getTracingStatusText(context)
             verify { context.getString(R.string.settings_tracing_status_inactive) }
@@ -85,7 +86,7 @@ class SettingsTracingStateTest : BaseTest() {
             verify { context.getColorCompat(R.color.colorAccentTintIcon) }
 
             getTracingIcon(context)
-            verify { context.getDrawable(R.drawable.ic_settings_tracing_active_small) }
+            verify { context.getDrawableCompat(R.drawable.ic_settings_tracing_active_small) }
 
             getTracingStatusText(context)
             verify { context.getString(R.string.settings_tracing_status_active) }
diff --git a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/util/DataBindingAdaptersTest.kt b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/util/DataBindingAdaptersTest.kt
index 3612eb9a38fd3ff0e7952a1307bd26678d29291d..ef75a50d41ecb235fac8d6ebb2288293096b0a1a 100644
--- a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/util/DataBindingAdaptersTest.kt
+++ b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/util/DataBindingAdaptersTest.kt
@@ -7,10 +7,12 @@ import android.widget.Switch
 import com.airbnb.lottie.LottieAnimationView
 import com.airbnb.lottie.LottieDrawable
 import de.rki.coronawarnapp.R
+import de.rki.coronawarnapp.util.ContextExtensions.getDrawableCompat
 import io.mockk.MockKAnnotations
 import io.mockk.every
 import io.mockk.impl.annotations.MockK
 import io.mockk.mockk
+import io.mockk.mockkObject
 import io.mockk.spyk
 import io.mockk.verify
 import io.mockk.verifySequence
@@ -28,6 +30,7 @@ class DataBindingAdaptersTest {
     @Before
     fun setUp() {
         MockKAnnotations.init(this)
+        mockkObject(ContextExtensions)
     }
 
     private fun setChecked(status: Boolean?) {
@@ -114,7 +117,7 @@ class DataBindingAdaptersTest {
                 every { resources } returns mockk<Resources>().apply {
                     every { getResourceTypeName(any()) } returns DRAWABLE_TYPE
                 }
-                every { getDrawable(any()) } returns this@DataBindingAdaptersTest.drawable
+                every { getDrawableCompat(any()) } returns this@DataBindingAdaptersTest.drawable
             }
         }
 
diff --git a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/util/formatter/FormatterHelperTest.kt b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/util/formatter/FormatterHelperTest.kt
index ac20d28c39ea966cfd3843e785ff97e2a28ea1cf..96c471a63c55606f9dff4ca322b6de8b0d895457 100644
--- a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/util/formatter/FormatterHelperTest.kt
+++ b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/util/formatter/FormatterHelperTest.kt
@@ -10,7 +10,6 @@ import io.mockk.MockKAnnotations
 import io.mockk.every
 import io.mockk.impl.annotations.MockK
 import io.mockk.mockkObject
-import io.mockk.mockkStatic
 import io.mockk.unmockkAll
 import org.hamcrest.CoreMatchers.`is`
 import org.hamcrest.MatcherAssert.assertThat
@@ -30,7 +29,7 @@ class FormatterHelperTest {
     fun setUp() {
         MockKAnnotations.init(this)
         mockkObject(CoronaWarnApplication.Companion)
-        mockkStatic(ContextExtensions::class)
+        mockkObject(ContextExtensions)
 
         every { CoronaWarnApplication.getAppContext() } returns context
     }
diff --git a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/util/formatter/FormatterSubmissionHelperTest.kt b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/util/formatter/FormatterSubmissionHelperTest.kt
index 287e0f47d3fac08d6d14819c220e179d03a73ea4..320a4683509e3c54bd361490de1c1f90b1e2e8a9 100644
--- a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/util/formatter/FormatterSubmissionHelperTest.kt
+++ b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/util/formatter/FormatterSubmissionHelperTest.kt
@@ -10,6 +10,7 @@ import de.rki.coronawarnapp.CoronaWarnApplication
 import de.rki.coronawarnapp.R
 import de.rki.coronawarnapp.util.ContextExtensions
 import de.rki.coronawarnapp.util.ContextExtensions.getColorCompat
+import de.rki.coronawarnapp.util.ContextExtensions.getDrawableCompat
 import de.rki.coronawarnapp.util.DeviceUIState
 import de.rki.coronawarnapp.util.NetworkRequestWrapper
 import io.mockk.MockKAnnotations
@@ -38,9 +39,9 @@ class FormatterSubmissionHelperTest {
     fun setUp() {
         MockKAnnotations.init(this)
         mockkObject(CoronaWarnApplication.Companion)
+        mockkObject(ContextExtensions)
         mockkStatic(SpannableStringBuilder::class)
         mockkStatic(Spannable::class)
-        mockkStatic(ContextExtensions::class)
 
         every { CoronaWarnApplication.getAppContext() } returns context
 
@@ -51,13 +52,20 @@ class FormatterSubmissionHelperTest {
         every { context.getString(R.string.test_result_card_status_pending) } returns R.string.test_result_card_status_pending.toString()
         every { context.getString(R.string.test_result_card_status_invalid) } returns R.string.test_result_card_status_invalid.toString()
 
-        every { context.getColorCompat(R.color.colorTextSemanticGreen) } returns R.color.colorTextSemanticGreen
-        every { context.getColorCompat(R.color.colorTextSemanticRed) } returns R.color.colorTextSemanticRed
+        with(context) {
+            every { getColorCompat(R.color.colorTextSemanticGreen) } returns R.color.colorTextSemanticGreen
+            every { getColorCompat(R.color.colorTextSemanticRed) } returns R.color.colorTextSemanticRed
 
-        every { context.getDrawable(R.drawable.ic_test_result_illustration_invalid) } returns drawable
-        every { context.getDrawable(R.drawable.ic_test_result_illustration_pending) } returns drawable
-        every { context.getDrawable(R.drawable.ic_test_result_illustration_positive) } returns drawable
-        every { context.getDrawable(R.drawable.ic_main_illustration_negative) } returns drawable
+            every { getDrawableCompat(R.drawable.ic_test_result_illustration_invalid) } returns drawable
+            every { getDrawableCompat(R.drawable.ic_test_result_illustration_pending) } returns drawable
+            every { getDrawableCompat(R.drawable.ic_test_result_illustration_positive) } returns drawable
+            every { getDrawableCompat(R.drawable.ic_main_illustration_negative) } returns drawable
+            every { getDrawableCompat(R.drawable.ic_main_illustration_pending) } returns drawable
+            every { getDrawableCompat(R.drawable.ic_main_illustration_negative) } returns drawable
+            every { getDrawableCompat(R.drawable.ic_main_illustration_invalid) } returns drawable
+            every { getDrawableCompat(R.drawable.ic_main_illustration_invalid) } returns drawable
+            every { getDrawableCompat(R.drawable.ic_test_result_illustration_negative) } returns drawable
+        }
 
         every { context.getString(R.string.submission_status_card_title_available) } returns R.string.submission_status_card_title_available.toString()
         every { context.getString(R.string.submission_status_card_title_pending) } returns R.string.submission_status_card_title_pending.toString()
@@ -68,13 +76,6 @@ class FormatterSubmissionHelperTest {
         every { context.getString(R.string.submission_status_card_body_pending) } returns R.string.submission_status_card_body_pending.toString()
 
         every { context.getString(R.string.submission_status_card_button_show_results) } returns R.string.submission_status_card_button_show_results.toString()
-
-        every { context.getDrawable(R.drawable.ic_main_illustration_pending) } returns drawable
-        every { context.getDrawable(R.drawable.ic_main_illustration_negative) } returns drawable
-        every { context.getDrawable(R.drawable.ic_main_illustration_invalid) } returns drawable
-        every { context.getDrawable(R.drawable.ic_main_illustration_invalid) } returns drawable
-
-        every { context.getDrawable(R.drawable.ic_test_result_illustration_negative) } returns drawable
     }
 
     private fun formatTestResultStatusTextBase(
diff --git a/build.gradle b/build.gradle
index 74e5b5cc43eacb2f7d63db9d8b49c2df3d22cc77..c48f250a4ab7fd6f7da34de98dee174cff316c73 100644
--- a/build.gradle
+++ b/build.gradle
@@ -1,7 +1,7 @@
 // Top-level build file where you can add configuration options common to all sub-projects/modules.
 
 buildscript {
-    ext.kotlin_version = '1.4.20'
+    ext.kotlin_version = '1.4.21'
     ext.protobufVersion = '0.8.12'
     ext.navVersion = "2.2.2"