diff --git a/Corona-Warn-App/src/deviceForTesters/java/de/rki/coronawarnapp/test/debugoptions/ui/DebugOptionsFragment.kt b/Corona-Warn-App/src/deviceForTesters/java/de/rki/coronawarnapp/test/debugoptions/ui/DebugOptionsFragment.kt
index 47f43dae0edf5cf59621975f0923cd8b83f15cee..07bfd4404b3f7c606c6a15b1c64b415fd6f15063 100644
--- a/Corona-Warn-App/src/deviceForTesters/java/de/rki/coronawarnapp/test/debugoptions/ui/DebugOptionsFragment.kt
+++ b/Corona-Warn-App/src/deviceForTesters/java/de/rki/coronawarnapp/test/debugoptions/ui/DebugOptionsFragment.kt
@@ -2,20 +2,19 @@ package de.rki.coronawarnapp.test.debugoptions.ui
 
 import android.annotation.SuppressLint
 import android.os.Bundle
-import android.text.format.Formatter
 import android.view.View
 import android.widget.RadioButton
 import android.widget.RadioGroup
 import androidx.core.view.ViewCompat
 import androidx.core.view.children
 import androidx.fragment.app.Fragment
+import androidx.navigation.fragment.findNavController
 import com.google.android.material.snackbar.Snackbar
 import de.rki.coronawarnapp.R
 import de.rki.coronawarnapp.databinding.FragmentTestDebugoptionsBinding
 import de.rki.coronawarnapp.test.menu.ui.TestMenuItem
 import de.rki.coronawarnapp.util.di.AutoInject
 import de.rki.coronawarnapp.util.ui.observe2
-import de.rki.coronawarnapp.util.ui.setGone
 import de.rki.coronawarnapp.util.ui.viewBindingLazy
 import de.rki.coronawarnapp.util.viewmodel.CWAViewModelFactoryProvider
 import de.rki.coronawarnapp.util.viewmodel.cwaViewModels
@@ -32,19 +31,9 @@ class DebugOptionsFragment : Fragment(R.layout.fragment_test_debugoptions), Auto
     override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
         super.onViewCreated(view, savedInstanceState)
 
-        binding.testLogfileToggle.apply {
-            setOnClickListener { vm.setLoggerEnabled(isChecked) }
+        binding.showDebugLogScreen.setOnClickListener {
+            findNavController().navigate(R.id.debuglogFragment)
         }
-        vm.loggerState.observe2(this) { state ->
-            binding.apply {
-                testLogfileToggle.isChecked = state.isLogging
-                val logSize = Formatter.formatShortFileSize(requireContext(), state.logsize)
-                testLogfileToggle.text = "Logfile enabled ($logSize)"
-                testLogfileShare.setGone(!state.isLogging)
-            }
-        }
-        binding.testLogfileShare.setOnClickListener { vm.shareLogFile() }
-        vm.logShareEvent.observe2(this) { showSnackBar("Logfile copied to $it") }
 
         // Server environment card
         binding.environmentToggleGroup.apply {
diff --git a/Corona-Warn-App/src/deviceForTesters/java/de/rki/coronawarnapp/test/debugoptions/ui/DebugOptionsFragmentViewModel.kt b/Corona-Warn-App/src/deviceForTesters/java/de/rki/coronawarnapp/test/debugoptions/ui/DebugOptionsFragmentViewModel.kt
index 9f6bfb7ad391b69671ecd2448dfbe9a8102946d0..e9b4bda7f7e71be71c837acb467adb246991fadb 100644
--- a/Corona-Warn-App/src/deviceForTesters/java/de/rki/coronawarnapp/test/debugoptions/ui/DebugOptionsFragmentViewModel.kt
+++ b/Corona-Warn-App/src/deviceForTesters/java/de/rki/coronawarnapp/test/debugoptions/ui/DebugOptionsFragmentViewModel.kt
@@ -1,22 +1,16 @@
 package de.rki.coronawarnapp.test.debugoptions.ui
 
-import android.content.Context
 import com.squareup.inject.assisted.AssistedInject
 import de.rki.coronawarnapp.environment.EnvironmentSetup
 import de.rki.coronawarnapp.environment.EnvironmentSetup.Type.Companion.toEnvironmentType
 import de.rki.coronawarnapp.test.debugoptions.ui.EnvironmentState.Companion.toEnvironmentState
-import de.rki.coronawarnapp.util.CWADebug
 import de.rki.coronawarnapp.util.coroutine.DispatcherProvider
-import de.rki.coronawarnapp.util.debug.LoggerState.Companion.toLoggerState
-import de.rki.coronawarnapp.util.di.AppContext
 import de.rki.coronawarnapp.util.ui.SingleLiveEvent
 import de.rki.coronawarnapp.util.ui.smartLiveData
 import de.rki.coronawarnapp.util.viewmodel.CWAViewModel
 import de.rki.coronawarnapp.util.viewmodel.SimpleCWAViewModelFactory
-import java.io.File
 
 class DebugOptionsFragmentViewModel @AssistedInject constructor(
-    @AppContext private val context: Context,
     private val envSetup: EnvironmentSetup,
     dispatcherProvider: DispatcherProvider
 ) : CWAViewModel(dispatcherProvider = dispatcherProvider) {
@@ -34,36 +28,6 @@ class DebugOptionsFragmentViewModel @AssistedInject constructor(
         }
     }
 
-    val loggerState by smartLiveData {
-        CWADebug.toLoggerState()
-    }
-
-    fun setLoggerEnabled(enable: Boolean) {
-        CWADebug.fileLogger?.let {
-            if (enable) it.start() else it.stop()
-        }
-        loggerState.update { CWADebug.toLoggerState() }
-    }
-
-    val logShareEvent = SingleLiveEvent<File?>()
-
-    fun shareLogFile() {
-        CWADebug.fileLogger?.let {
-            launch {
-                if (!it.logFile.exists()) return@launch
-
-                val externalPath = File(
-                    context.getExternalFilesDir(null),
-                    "LogFile-${System.currentTimeMillis()}.log"
-                )
-
-                it.logFile.copyTo(externalPath)
-
-                logShareEvent.postValue(externalPath)
-            }
-        }
-    }
-
     @AssistedInject.Factory
     interface Factory : SimpleCWAViewModelFactory<DebugOptionsFragmentViewModel>
 }
diff --git a/Corona-Warn-App/src/deviceForTesters/res/layout/fragment_test_debugoptions.xml b/Corona-Warn-App/src/deviceForTesters/res/layout/fragment_test_debugoptions.xml
index 92afdbf89c73d87c4cff4ea27b794c145db9a5c9..cca12450d9fee3eafa2d51795b793186606cf4b7 100644
--- a/Corona-Warn-App/src/deviceForTesters/res/layout/fragment_test_debugoptions.xml
+++ b/Corona-Warn-App/src/deviceForTesters/res/layout/fragment_test_debugoptions.xml
@@ -32,27 +32,26 @@
                     app:layout_constraintStart_toStartOf="parent"
                     app:layout_constraintTop_toTopOf="parent" />
 
-                <Switch
-                    android:id="@+id/test_logfile_toggle"
-                    style="@style/body1"
+                <TextView
+                    android:id="@+id/new_debuglog_screen_explanation"
+                    style="@style/body2"
                     android:layout_width="0dp"
                     android:layout_height="wrap_content"
-                    android:layout_marginTop="@dimen/spacing_tiny"
+                    android:layout_marginTop="@dimen/spacing_small"
                     android:layout_weight="1"
-                    android:text="Logfile enabled"
-                    android:theme="@style/switchBase"
+                    android:text="The debuglog option has moved. It's now available for all builds. For test builds it's started automatically on each app start."
                     app:layout_constraintEnd_toEndOf="parent"
                     app:layout_constraintStart_toStartOf="parent"
                     app:layout_constraintTop_toBottomOf="@+id/debug_container_title" />
 
                 <Button
-                    android:id="@+id/test_logfile_share"
+                    android:id="@+id/show_debug_log_screen"
                     android:layout_width="wrap_content"
                     android:layout_height="wrap_content"
                     android:layout_marginTop="@dimen/spacing_tiny"
-                    android:text="Share log"
+                    android:text="Open new debug log screen"
                     app:layout_constraintEnd_toEndOf="parent"
-                    app:layout_constraintTop_toBottomOf="@+id/test_logfile_toggle" />
+                    app:layout_constraintTop_toBottomOf="@+id/new_debuglog_screen_explanation" />
             </androidx.constraintlayout.widget.ConstraintLayout>
 
             <androidx.constraintlayout.widget.ConstraintLayout
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/bugreporting/debuglog/DebugLogger.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/bugreporting/debuglog/DebugLogger.kt
index 2cdd042ea0c4f9e160ff32fb0896dd0ecc8e0653..da7e345ccacd4f4f88a8c5fd4a938f8dd7827fbb 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/bugreporting/debuglog/DebugLogger.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/bugreporting/debuglog/DebugLogger.kt
@@ -4,6 +4,7 @@ import android.annotation.SuppressLint
 import android.app.Application
 import android.content.Context
 import android.util.Log
+import de.rki.coronawarnapp.util.CWADebug
 import de.rki.coronawarnapp.util.di.ApplicationComponent
 import kotlinx.coroutines.CancellationException
 import kotlinx.coroutines.Job
@@ -44,8 +45,19 @@ object DebugLogger : DebugLoggerBase() {
         context = application
 
         try {
-            if (triggerFile.exists()) {
-                Timber.tag(TAG).i("Trigger file exists, starting debug log.")
+            val startLogger = when {
+                triggerFile.exists() -> {
+                    Timber.tag(TAG).i("Trigger file exists, starting debug log.")
+                    true
+                }
+                CWADebug.isDeviceForTestersBuild -> {
+                    Timber.tag(TAG).i("Trigger file does not exist, but it's a tester build, starting debug log.")
+                    true
+                }
+                else -> false
+            }
+
+            if (startLogger) {
                 runBlocking { start() }
             }
         } catch (e: Exception) {
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/symptoms/calendar/SubmissionSymptomCalendarFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/symptoms/calendar/SubmissionSymptomCalendarFragment.kt
index 3e8aa519347dcde3e817bfd6a15b3ff9e840126b..b19672226cdc2f0f6c55daf7ddfd36d286c8fbb3 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/symptoms/calendar/SubmissionSymptomCalendarFragment.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/symptoms/calendar/SubmissionSymptomCalendarFragment.kt
@@ -3,6 +3,7 @@ package de.rki.coronawarnapp.ui.submission.symptoms.calendar
 import android.content.res.ColorStateList
 import android.os.Bundle
 import android.view.View
+import android.widget.Button
 import androidx.fragment.app.Fragment
 import androidx.navigation.fragment.navArgs
 import de.rki.coronawarnapp.R
@@ -75,39 +76,21 @@ class SubmissionSymptomCalendarFragment : Fragment(R.layout.fragment_submission_
     private fun updateButtons(symptomStart: Symptoms.StartOf?) {
         binding.apply {
             calendarButtonSevenDays.apply {
-                setTextColor(
-                    formatSymptomButtonTextStyleByState(symptomStart, Symptoms.StartOf.LastSevenDays)
-                )
-                backgroundTintList = ColorStateList.valueOf(
-                    formatSymptomBackgroundButtonStyleByState(symptomStart, Symptoms.StartOf.LastSevenDays)
-                )
+                handleColors(symptomStart, Symptoms.StartOf.LastSevenDays)
                 setOnClickListener { viewModel.onLastSevenDaysStart() }
             }
 
             calendarButtonOneTwoWeeks.apply {
-                setTextColor(
-                    formatSymptomButtonTextStyleByState(symptomStart, Symptoms.StartOf.OneToTwoWeeksAgo)
-                )
-                backgroundTintList = ColorStateList.valueOf(
-                    formatSymptomBackgroundButtonStyleByState(symptomStart, Symptoms.StartOf.OneToTwoWeeksAgo)
-                )
+                handleColors(symptomStart, Symptoms.StartOf.OneToTwoWeeksAgo)
                 setOnClickListener { viewModel.onOneToTwoWeeksAgoStart() }
             }
 
             calendarButtonMoreThanTwoWeeks.apply {
-                setTextColor(
-                    formatSymptomButtonTextStyleByState(symptomStart, Symptoms.StartOf.MoreThanTwoWeeks)
-                )
-                backgroundTintList = ColorStateList.valueOf(
-                    formatSymptomBackgroundButtonStyleByState(symptomStart, Symptoms.StartOf.MoreThanTwoWeeks)
-                )
+                handleColors(symptomStart, Symptoms.StartOf.MoreThanTwoWeeks)
                 setOnClickListener { viewModel.onMoreThanTwoWeeksStart() }
             }
             targetButtonVerify.apply {
-                setTextColor(formatSymptomButtonTextStyleByState(symptomStart, Symptoms.StartOf.NoInformation))
-                backgroundTintList = ColorStateList.valueOf(
-                    formatSymptomBackgroundButtonStyleByState(symptomStart, Symptoms.StartOf.NoInformation)
-                )
+                handleColors(symptomStart, Symptoms.StartOf.NoInformation)
                 setOnClickListener { viewModel.onNoInformationStart() }
             }
 
@@ -118,6 +101,13 @@ class SubmissionSymptomCalendarFragment : Fragment(R.layout.fragment_submission_
         }
     }
 
+    private fun Button.handleColors(symptomStart: Symptoms.StartOf?, state: Symptoms.StartOf) {
+        setTextColor(formatSymptomButtonTextStyleByState(context, symptomStart, state))
+        backgroundTintList = ColorStateList.valueOf(
+            formatSymptomBackgroundButtonStyleByState(context, symptomStart, state)
+        )
+    }
+
     override fun onResume() {
         super.onResume()
         viewModel.onNewUserActivity()
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/symptoms/introduction/SubmissionSymptomIntroductionFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/symptoms/introduction/SubmissionSymptomIntroductionFragment.kt
index 849f519a166cc336c518914ef03ce0b88bcfb763..c44abf570ebfe4b3f044569e9294018bcec869c0 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/symptoms/introduction/SubmissionSymptomIntroductionFragment.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/symptoms/introduction/SubmissionSymptomIntroductionFragment.kt
@@ -3,6 +3,7 @@ package de.rki.coronawarnapp.ui.submission.symptoms.introduction
 import android.content.res.ColorStateList
 import android.os.Bundle
 import android.view.View
+import android.widget.Button
 import androidx.fragment.app.Fragment
 import de.rki.coronawarnapp.R
 import de.rki.coronawarnapp.databinding.FragmentSubmissionSymptomIntroBinding
@@ -59,26 +60,15 @@ class SubmissionSymptomIntroductionFragment : Fragment(R.layout.fragment_submiss
 
     private fun updateButtons(symptomIndication: Symptoms.Indication?) {
         binding.targetButtonApply.apply {
-            setTextColor(formatSymptomButtonTextStyleByState(symptomIndication, Symptoms.Indication.POSITIVE))
-            backgroundTintList = ColorStateList.valueOf(
-                formatSymptomBackgroundButtonStyleByState(symptomIndication, Symptoms.Indication.POSITIVE)
-            )
+            handleColors(symptomIndication, Symptoms.Indication.POSITIVE)
             setOnClickListener { viewModel.onPositiveSymptomIndication() }
         }
         binding.targetButtonReject.apply {
-            setTextColor(formatSymptomButtonTextStyleByState(symptomIndication, Symptoms.Indication.NEGATIVE))
-            backgroundTintList = ColorStateList.valueOf(
-                formatSymptomBackgroundButtonStyleByState(symptomIndication, Symptoms.Indication.NEGATIVE)
-            )
+            handleColors(symptomIndication, Symptoms.Indication.NEGATIVE)
             setOnClickListener { viewModel.onNegativeSymptomIndication() }
         }
         binding.targetButtonVerify.apply {
-            setTextColor(formatSymptomButtonTextStyleByState(symptomIndication, Symptoms.Indication.NO_INFORMATION))
-            backgroundTintList =
-                ColorStateList.valueOf(
-                    formatSymptomBackgroundButtonStyleByState(symptomIndication, Symptoms.Indication.NO_INFORMATION)
-                )
-
+            handleColors(symptomIndication, Symptoms.Indication.NO_INFORMATION)
             setOnClickListener { viewModel.onNoInformationSymptomIndication() }
         }
 
@@ -95,6 +85,12 @@ class SubmissionSymptomIntroductionFragment : Fragment(R.layout.fragment_submiss
         }
     }
 
+    private fun Button.handleColors(symptomIndication: Symptoms.Indication?, state: Symptoms.Indication) {
+        setTextColor(formatSymptomButtonTextStyleByState(context, symptomIndication, state))
+        backgroundTintList =
+            ColorStateList.valueOf(formatSymptomBackgroundButtonStyleByState(context, symptomIndication, state))
+    }
+
     override fun onResume() {
         super.onResume()
         viewModel.onNewUserActivity()
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 967fa630a6d859290095d9c66c4e9c44ce929f12..f7432d233ea83e209bad8ffae5d61fa8f6a61bd5 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
@@ -86,7 +86,7 @@ constructor(
 
                 DeviceUIState.PAIRED_POSITIVE,
                 DeviceUIState.PAIRED_POSITIVE_TELETAN,
-                DeviceUIState.PAIRED_NEGATIVE -> SpannableString(formatTestResult(uiState))
+                DeviceUIState.PAIRED_NEGATIVE -> SpannableString(formatTestResult(context, uiState))
                 else -> SpannableString("")
             }
         }
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/CWADebug.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/CWADebug.kt
index 15f4ffa545e810b2f56e68134bf624d9e9a60c47..c794c54b9521708e3cf4e11237e7f81d65ef935f 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/CWADebug.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/CWADebug.kt
@@ -5,13 +5,11 @@ import android.os.Build
 import androidx.annotation.VisibleForTesting
 import de.rki.coronawarnapp.BuildConfig
 import de.rki.coronawarnapp.bugreporting.debuglog.DebugLogger
-import de.rki.coronawarnapp.util.debug.FileLogger
 import de.rki.coronawarnapp.util.debug.UncaughtExceptionLogger
 import de.rki.coronawarnapp.util.di.ApplicationComponent
 import timber.log.Timber
 
 object CWADebug {
-    var fileLogger: FileLogger? = null
 
     fun init(application: Application) {
         if (isDebugBuildOrMode) System.setProperty("kotlinx.coroutines.debug", "on")
@@ -19,9 +17,6 @@ object CWADebug {
         if (isDeviceForTestersBuild) {
             Timber.plant(Timber.DebugTree())
         }
-        if (isDeviceForTestersBuild) {
-            fileLogger = FileLogger(application)
-        }
 
         setupExceptionHandler()
 
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/debug/FileLogger.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/debug/FileLogger.kt
deleted file mode 100644
index e8d283d9c7695095ffa9995d76aa3cb2c232873a..0000000000000000000000000000000000000000
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/debug/FileLogger.kt
+++ /dev/null
@@ -1,46 +0,0 @@
-package de.rki.coronawarnapp.util.debug
-
-import android.content.Context
-import de.rki.coronawarnapp.util.CWADebug
-import timber.log.Timber
-import java.io.File
-
-class FileLogger constructor(context: Context) {
-
-    val logFile = File(context.cacheDir, "FileLoggerTree.log")
-
-    private val blockerFile = File(context.filesDir, "FileLoggerTree.blocker")
-    private var loggerTree: FileLoggerTree? = null
-
-    val isLogging: Boolean
-        get() = loggerTree != null
-
-    init {
-        if (!blockerFile.exists()) {
-            start()
-        }
-    }
-
-    fun start() {
-        if (!CWADebug.isDeviceForTestersBuild) return
-
-        if (loggerTree != null) return
-
-        loggerTree = FileLoggerTree(logFile).also {
-            Timber.plant(it)
-            it.start()
-            blockerFile.delete()
-        }
-    }
-
-    fun stop() {
-        if (!CWADebug.isDeviceForTestersBuild) return
-
-        loggerTree?.let {
-            it.stop()
-            logFile.delete()
-            blockerFile.createNewFile()
-            loggerTree = null
-        }
-    }
-}
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/debug/FileLoggerTree.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/debug/FileLoggerTree.kt
deleted file mode 100644
index c3f50042c4c57701603af3c29fe10bf2782b6604..0000000000000000000000000000000000000000
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/debug/FileLoggerTree.kt
+++ /dev/null
@@ -1,87 +0,0 @@
-package de.rki.coronawarnapp.util.debug
-
-import android.annotation.SuppressLint
-import android.util.Log
-import org.joda.time.Instant
-import timber.log.Timber
-import java.io.File
-import java.io.FileOutputStream
-import java.io.IOException
-import java.io.OutputStreamWriter
-
-@SuppressLint("LogNotTimber")
-class FileLoggerTree(private val logFile: File) : Timber.DebugTree() {
-    private var logWriter: OutputStreamWriter? = null
-
-    @SuppressLint("SetWorldReadable")
-    @Synchronized
-    fun start() {
-        if (logWriter != null) return
-
-        logFile.parentFile.mkdirs()
-        if (logFile.createNewFile()) {
-            Log.i(TAG, "File logger writing to " + logFile.path)
-        }
-        if (logFile.setReadable(true, false)) {
-            Log.i(TAG, "Debug run log read permission set")
-        }
-
-        try {
-            logWriter = OutputStreamWriter(FileOutputStream(logFile, true))
-            logWriter!!.write("=== BEGIN ===\n")
-            logWriter!!.write("Logfile: $logFile\n")
-            logWriter!!.flush()
-            Log.i(TAG, "File logger started.")
-        } catch (e: IOException) {
-            e.printStackTrace()
-
-            logFile.delete()
-            if (logWriter != null) logWriter!!.close()
-        }
-    }
-
-    @Synchronized
-    fun stop() {
-        logWriter?.let {
-            logWriter = null
-            try {
-                it.write("=== END ===\n")
-                it.close()
-            } catch (ignore: IOException) {
-            }
-            Log.i(TAG, "File logger stopped.")
-        }
-    }
-
-    override fun log(priority: Int, tag: String?, message: String, t: Throwable?) {
-        logWriter?.let {
-            try {
-                it.write("${Instant.now()}  ${priorityToString(priority)}/$tag: $message\n")
-                it.flush()
-            } catch (e: IOException) {
-                Timber.tag(TAG).e(e)
-                try {
-                    it.close()
-                } catch (ignore: Exception) {
-                }
-                logWriter = null
-            }
-        }
-    }
-
-    override fun toString(): String {
-        return "FileLoggerTree(file=$logFile)"
-    }
-
-    companion object {
-        private const val TAG = "FileLoggerTree"
-        private fun priorityToString(priority: Int): String = when (priority) {
-            Log.ERROR -> "E"
-            Log.WARN -> "W"
-            Log.INFO -> "I"
-            Log.DEBUG -> "D"
-            Log.VERBOSE -> "V"
-            else -> priority.toString()
-        }
-    }
-}
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/debug/LoggerState.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/debug/LoggerState.kt
deleted file mode 100644
index 7f47800109c15da775967f2f25739361a3950406..0000000000000000000000000000000000000000
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/debug/LoggerState.kt
+++ /dev/null
@@ -1,15 +0,0 @@
-package de.rki.coronawarnapp.util.debug
-
-import de.rki.coronawarnapp.util.CWADebug
-
-data class LoggerState(
-    val isLogging: Boolean,
-    val logsize: Long
-) {
-    companion object {
-        internal fun CWADebug.toLoggerState() = LoggerState(
-            isLogging = fileLogger?.isLogging ?: false,
-            logsize = fileLogger?.logFile?.length() ?: 0L
-        )
-    }
-}
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 13fee0bf01ce9125776deb20f21dc625a8229dd3..fe7a2558a06dcc4ed2f05e5a7b6b68c7c25c7f3a 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
@@ -3,32 +3,12 @@
 package de.rki.coronawarnapp.util.formatter
 
 import android.content.Context
-import android.graphics.drawable.Drawable
 import android.text.Spanned
 import android.view.View
-import de.rki.coronawarnapp.CoronaWarnApplication
-import de.rki.coronawarnapp.R
 import de.rki.coronawarnapp.util.ContextExtensions.getColorCompat
 import de.rki.coronawarnapp.util.html.HtmlParser
 
 /*Style*/
-/**
- * Formats drawable resource of item to be displayed depending on flag provided
- *
- * @param value
- * @param drawableTrue
- * @param drawableFalse
- * @return
- */
-fun formatDrawable(value: Boolean, drawableTrue: Int, drawableFalse: Int): Drawable? {
-    val appContext = CoronaWarnApplication.getAppContext()
-    return if (value) {
-        appContext.getDrawable(drawableTrue)
-    } else {
-        appContext.getDrawable(drawableFalse)
-    }
-}
-
 /**
  * Formats color resource of item to be displayed depending on flag provided
  *
@@ -37,12 +17,11 @@ fun formatDrawable(value: Boolean, drawableTrue: Int, drawableFalse: Int): Drawa
  * @param colorFalse
  * @return
  */
-fun formatColor(value: Boolean, colorTrue: Int, colorFalse: Int): Int {
-    val appContext = CoronaWarnApplication.getAppContext()
+fun formatColor(context: Context, value: Boolean, colorTrue: Int, colorFalse: Int): Int {
     return if (value) {
-        appContext.getColorCompat(colorTrue)
+        context.getColorCompat(colorTrue)
     } else {
-        appContext.getColorCompat(colorFalse)
+        context.getColorCompat(colorFalse)
     }
 }
 
@@ -99,56 +78,6 @@ fun formatVisibilityText(text: String?): Int = formatVisibility(text != null &&
  */
 fun formatVisibilityText(text: CharSequence?): Int = formatVisibility(text != null && text != "")
 
-/*Text*/
-/**
- * Formats text resource to be displayed depending on flag provided
- *
- * @param value
- * @param stringTrue
- * @param stringFalse
- * @return
- */
-fun formatText(value: Boolean?, stringTrue: Int, stringFalse: Int?): String {
-    val appContext = CoronaWarnApplication.getAppContext()
-    return if (value == true) {
-        appContext.getString(stringTrue)
-    } else {
-        if (stringFalse != null) {
-            appContext.getString(stringFalse)
-        } else ""
-    }
-}
-
-/**
- * Formats color to be displayed depending on color id provided with default option
- *
- * @param color
- * @return
- */
-fun formatColorIcon(color: Int?): Int {
-    val appContext = CoronaWarnApplication.getAppContext()
-    return color ?: appContext.getColorCompat(R.color.colorAccentTintIcon)
-}
-
 fun parseHtmlFromAssets(context: Context, path: String): Spanned {
     return HtmlParser(context.assets).parseByAssetPath(path)
 }
-
-/**
- * Formats divider color depending on resource value
- * Returns colorHairline as default
- *
- * @param color
- * @return
- */
-fun formatColorDivider(context: Context, color: Int?): Int {
-    return color ?: context.getColorCompat(R.color.colorHairline)
-}
-
-/**
- * Returns string if it isn't null, otherwise it returns an empty String
- *
- * @param string
- * @return String
- */
-fun formatEmptyString(string: String?): String = string ?: ""
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 a7097681ebde17b1e9320dcc50066f7e93a8eefa..6a8e220b8486603651dae1ec54f7ad6f67ef1a33 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,8 +2,8 @@
 
 package de.rki.coronawarnapp.util.formatter
 
+import android.content.Context
 import android.view.View
-import de.rki.coronawarnapp.CoronaWarnApplication
 import de.rki.coronawarnapp.ui.information.InformationLegalPresentation
 import de.rki.coronawarnapp.util.device.DefaultSystemInfoProvider
 
@@ -15,9 +15,10 @@ import de.rki.coronawarnapp.util.device.DefaultSystemInfoProvider
  */
 
 fun formatVisibilityLanguageBased(
+    context: Context,
     isContactFormView: Boolean?
 ): Int {
-    InformationLegalPresentation(DefaultSystemInfoProvider(CoronaWarnApplication.getAppContext())).apply {
+    InformationLegalPresentation(DefaultSystemInfoProvider(context)).apply {
         if (!showBackupLinkToContactForm) {
             return if (isContactFormView == true) {
                 View.VISIBLE
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/formatter/FormatterSettingsHelper.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/formatter/FormatterSettingsHelper.kt
deleted file mode 100644
index a71078e1178a2079abe8471ea3e0226dcc4c8228..0000000000000000000000000000000000000000
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/formatter/FormatterSettingsHelper.kt
+++ /dev/null
@@ -1,11 +0,0 @@
-@file:JvmName("FormatterSettingsHelper")
-
-package de.rki.coronawarnapp.util.formatter
-
-import de.rki.coronawarnapp.R
-
-fun formatStatus(value: Boolean): String = formatText(
-    value,
-    R.string.settings_on,
-    R.string.settings_off
-)
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 469b2cd4d39d1655ac7342d1a68c02b606d58fdf..9202734af4d9b772ce35d1847f151aa8cc4e490a 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
@@ -9,7 +9,6 @@ import android.text.SpannableString
 import android.text.SpannableStringBuilder
 import android.text.style.ForegroundColorSpan
 import android.view.View
-import de.rki.coronawarnapp.CoronaWarnApplication
 import de.rki.coronawarnapp.R
 import de.rki.coronawarnapp.submission.Symptoms
 import de.rki.coronawarnapp.util.ContextExtensions.getColorCompat
@@ -21,38 +20,54 @@ import java.util.Date
 import java.util.Locale
 
 fun formatSymptomButtonTextStyleByState(
+    context: Context,
     currentState: Symptoms.Indication?,
     state: Symptoms.Indication?
 ): Int =
-    formatColor(currentState == state,
+    formatColor(
+        context,
+        currentState == state,
         R.color.colorCalendarTextSelected,
-        R.color.colorCalendarTextUnselected)
+        R.color.colorCalendarTextUnselected
+    )
 
 fun formatSymptomButtonTextStyleByState(
+    context: Context,
     currentState: Symptoms.StartOf?,
     state: Symptoms.StartOf?
 ): Int =
-    formatColor(currentState == state,
+    formatColor(
+        context,
+        currentState == state,
         R.color.colorCalendarTextSelected,
-        R.color.colorCalendarTextUnselected)
+        R.color.colorCalendarTextUnselected
+    )
 
 fun formatSymptomBackgroundButtonStyleByState(
+    context: Context,
     currentState: Symptoms.Indication?,
     state: Symptoms.Indication?
 ): Int =
-    formatColor(currentState == state,
+    formatColor(
+        context,
+        currentState == state,
         R.color.colorCalendarBackgroundSelected,
-        R.color.colorCalendarBackgroundUnselected)
+        R.color.colorCalendarBackgroundUnselected
+    )
 
 fun formatSymptomBackgroundButtonStyleByState(
+    context: Context,
     currentState: Symptoms.StartOf?,
     state: Symptoms.StartOf?
 ): Int =
-    formatColor(currentState == state,
+    formatColor(
+        context,
+        currentState == state,
         R.color.colorCalendarBackgroundSelected,
-        R.color.colorCalendarBackgroundUnselected)
+        R.color.colorCalendarBackgroundUnselected
+    )
 
-fun formatTestResultStatusText(uiState: NetworkRequestWrapper<DeviceUIState, Throwable>?): String =
+fun formatTestResultStatusText(context: Context, uiState: NetworkRequestWrapper<DeviceUIState, Throwable>?): String =
     uiState.withSuccess(R.string.test_result_card_status_invalid) {
         when (it) {
             DeviceUIState.PAIRED_NEGATIVE -> R.string.test_result_card_status_negative
@@ -60,9 +75,9 @@ fun formatTestResultStatusText(uiState: NetworkRequestWrapper<DeviceUIState, Thr
             DeviceUIState.PAIRED_POSITIVE_TELETAN -> R.string.test_result_card_status_positive
             else -> R.string.test_result_card_status_invalid
         }
-    }.let { CoronaWarnApplication.getAppContext().getString(it) }
+    }.let { context.getString(it) }
 
-fun formatTestResultStatusColor(uiState: NetworkRequestWrapper<DeviceUIState, Throwable>?): Int =
+fun formatTestResultStatusColor(context: Context, uiState: NetworkRequestWrapper<DeviceUIState, Throwable>?): Int =
     uiState.withSuccess(R.color.colorTextSemanticRed) {
         when (it) {
             DeviceUIState.PAIRED_NEGATIVE -> R.color.colorTextSemanticGreen
@@ -70,39 +85,43 @@ fun formatTestResultStatusColor(uiState: NetworkRequestWrapper<DeviceUIState, Th
             DeviceUIState.PAIRED_POSITIVE_TELETAN -> R.color.colorTextSemanticRed
             else -> R.color.colorTextSemanticRed
         }
-    }.let { CoronaWarnApplication.getAppContext().getColorCompat(it) }
+    }.let { context.getColorCompat(it) }
 
-fun formatTestResult(uiState: NetworkRequestWrapper<DeviceUIState, Throwable>?): Spannable {
-    val appContext = CoronaWarnApplication.getAppContext()
+fun formatTestResult(
+    context: Context,
+    uiState: NetworkRequestWrapper<DeviceUIState, Throwable>?
+): Spannable {
     return SpannableStringBuilder()
-        .append(appContext.getString(R.string.test_result_card_virus_name_text))
+        .append(context.getString(R.string.test_result_card_virus_name_text))
         .append("\n")
         .append(
-            formatTestResultStatusText(uiState),
-            ForegroundColorSpan(formatTestResultStatusColor(uiState)),
+            formatTestResultStatusText(context, uiState),
+            ForegroundColorSpan(formatTestResultStatusColor(context, uiState)),
             Spannable.SPAN_EXCLUSIVE_INCLUSIVE
         )
 }
 
-fun formatTestResultCardContent(uiState: NetworkRequestWrapper<DeviceUIState, Throwable>?): Spannable {
+fun formatTestResultCardContent(
+    context: Context,
+    uiState: NetworkRequestWrapper<DeviceUIState, Throwable>?
+): Spannable {
     return uiState.withSuccess(SpannableString("")) {
-        val appContext = CoronaWarnApplication.getAppContext()
         when (it) {
             DeviceUIState.PAIRED_NO_RESULT ->
-                SpannableString(appContext.getString(R.string.test_result_card_status_pending))
+                SpannableString(context.getString(R.string.test_result_card_status_pending))
             DeviceUIState.PAIRED_ERROR,
             DeviceUIState.PAIRED_REDEEMED ->
-                SpannableString(appContext.getString(R.string.test_result_card_status_invalid))
+                SpannableString(context.getString(R.string.test_result_card_status_invalid))
 
             DeviceUIState.PAIRED_POSITIVE,
             DeviceUIState.PAIRED_POSITIVE_TELETAN,
-            DeviceUIState.PAIRED_NEGATIVE -> SpannableString(formatTestResult(uiState))
+            DeviceUIState.PAIRED_NEGATIVE -> SpannableString(formatTestResult(context, uiState))
             else -> SpannableString("")
         }
     }
 }
 
-fun formatTestStatusIcon(uiState: NetworkRequestWrapper<DeviceUIState, Throwable>?): Drawable? {
+fun formatTestStatusIcon(context: Context, uiState: NetworkRequestWrapper<DeviceUIState, Throwable>?): Drawable? {
     return uiState.withSuccess(R.drawable.ic_test_result_illustration_invalid) {
         when (it) {
             DeviceUIState.PAIRED_NO_RESULT -> R.drawable.ic_test_result_illustration_pending
@@ -113,13 +132,12 @@ fun formatTestStatusIcon(uiState: NetworkRequestWrapper<DeviceUIState, Throwable
             DeviceUIState.PAIRED_REDEEMED -> R.drawable.ic_test_result_illustration_invalid
             else -> R.drawable.ic_test_result_illustration_invalid
         }
-    }.let { CoronaWarnApplication.getAppContext().getDrawable(it) }
+    }.let { context.getDrawable(it) }
 }
 
-fun formatTestResultRegisteredAtText(registeredAt: Date?): String {
-    val appContext = CoronaWarnApplication.getAppContext()
-    return appContext.getString(R.string.test_result_card_registered_at_text)
-        .format(registeredAt?.toUIFormat(appContext))
+fun formatTestResultRegisteredAtText(context: Context, registeredAt: Date?): String {
+    return context.getString(R.string.test_result_card_registered_at_text)
+        .format(registeredAt?.toUIFormat(context))
 }
 
 fun formatTestResultPendingStepsVisible(uiState: NetworkRequestWrapper<DeviceUIState, Throwable>?): Int =
@@ -141,24 +159,22 @@ private fun resolveNameToDrawableId(drawableName: String, ctx: Context): Int? {
     return if (drawableId == 0) null else drawableId
 }
 
-fun formatCountryIsoTagToFlagDrawable(isoTag: String?): Drawable? {
-    val appContext = CoronaWarnApplication.getAppContext()
-
+fun formatCountryIsoTagToFlagDrawable(context: Context, isoTag: String?): Drawable? {
     val countryName = isoTag?.let {
         Locale("", it).getDisplayCountry(Locale.ENGLISH).toLowerCase(Locale.ENGLISH)
     }
 
     val countryId =
-        countryName?.let { resolveNameToDrawableId("ic_submission_country_flag_$it", appContext) }
+        countryName?.let { resolveNameToDrawableId("ic_submission_country_flag_$it", context) }
 
     return if (countryId != null)
-        appContext.getDrawable(countryId)
+        context.getDrawable(countryId)
     else
-        appContext.getDrawable(R.drawable.ic_submission_country_flag_ireland)
+        context.getDrawable(R.drawable.ic_submission_country_flag_ireland)
 }
 
-fun formatCountrySelectCardColor(isActive: Boolean?): Int =
-    formatColor(isActive == true, R.color.colorTextSemanticNeutral, R.color.card_dark)
+fun formatCountrySelectCardColor(context: Context, isActive: Boolean?): Int =
+    formatColor(context, isActive == true, R.color.colorTextSemanticNeutral, R.color.card_dark)
 
-fun formatCountrySelectCardTextColor(isActive: Boolean?): Int =
-    formatColor(isActive == true, R.color.colorTextEmphasizedButton, R.color.colorTextPrimary1)
+fun formatCountrySelectCardTextColor(context: Context, isActive: Boolean?): Int =
+    formatColor(context, isActive == true, R.color.colorTextEmphasizedButton, R.color.colorTextPrimary1)
diff --git a/Corona-Warn-App/src/main/res/layout/fragment_settings.xml b/Corona-Warn-App/src/main/res/layout/fragment_settings.xml
index ef1a77ba6efac198d149805bdba3e126b46ae6fa..7ecd203b6b2a293e9cb0c33c4814f52fa3817d5b 100644
--- a/Corona-Warn-App/src/main/res/layout/fragment_settings.xml
+++ b/Corona-Warn-App/src/main/res/layout/fragment_settings.xml
@@ -3,9 +3,6 @@
     xmlns:app="http://schemas.android.com/apk/res-auto">
 
     <data>
-
-        <import type="de.rki.coronawarnapp.util.formatter.FormatterSettingsHelper" />
-
         <variable
             name="tracingState"
             type="de.rki.coronawarnapp.ui.settings.start.SettingsTracingState" />
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 0af8211cc6d358a0b26c03d88cbfbc6cf44749e9..0f3654c19de12d7e5f914941da5ed8361c447bc5 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(true)}"
+                android:visibility="@{FormatterInformationLegalHelper.formatVisibilityLanguageBased(context, 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(false)}"
+                android:visibility="@{FormatterInformationLegalHelper.formatVisibilityLanguageBased(context, false)}"
                 app:layout_constraintBottom_toBottomOf="parent"
                 app:layout_constraintStart_toStartOf="parent"
                 app:layout_constraintTop_toBottomOf="@+id/information_legal_contact_form" />
diff --git a/Corona-Warn-App/src/main/res/layout/include_divider.xml b/Corona-Warn-App/src/main/res/layout/include_divider.xml
index fdea557251fee9757db3ccdd8469cdaac4b6cd85..770870abacf64c27ec165242a20f2109b4e5484c 100644
--- a/Corona-Warn-App/src/main/res/layout/include_divider.xml
+++ b/Corona-Warn-App/src/main/res/layout/include_divider.xml
@@ -22,7 +22,7 @@
         <View
             android:layout_width="match_parent"
             android:layout_height="@dimen/card_divider"
-            android:background="@{FormatterHelper.formatColorDivider(context,dividerColor)}"
+            android:background="@{(dividerColor != 0) ? dividerColor : @color/colorHairline}"
             app:layout_constraintEnd_toEndOf="parent"
             app:layout_constraintStart_toStartOf="parent"
             app:layout_constraintTop_toTopOf="parent" />
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 15111ca19797157ffe7303882ca0aca139422a09..92a9e4363fc18134c10ea4ef967818d137c7b164 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,7 +43,7 @@
                 android:layout_height="@dimen/icon_size_main_card"
                 android:importantForAccessibility="no"
                 android:src="@{icon}"
-                android:tint="@{FormatterHelper.formatColorIcon(iconTint)}"
+                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"
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 dd85e35a4c939e073abb74aa730c2907a90a53ca..518db34a13df01be350a5a6c9326d0b6ceb76a2b 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
@@ -6,8 +6,6 @@
 
         <import type="de.rki.coronawarnapp.util.formatter.FormatterHelper" />
 
-        <import type="de.rki.coronawarnapp.util.formatter.FormatterSettingsHelper" />
-
         <variable
             name="icon"
             type="android.graphics.drawable.Drawable" />
diff --git a/Corona-Warn-App/src/main/res/layout/include_submission_country_item.xml b/Corona-Warn-App/src/main/res/layout/include_submission_country_item.xml
index c630f0f7d21e6b252d0b4598e27c6bc522567bad..473c57b56eab7fd70e9a7793f96867f174c974fd 100644
--- a/Corona-Warn-App/src/main/res/layout/include_submission_country_item.xml
+++ b/Corona-Warn-App/src/main/res/layout/include_submission_country_item.xml
@@ -25,7 +25,7 @@
             android:layout_marginStart="@dimen/spacing_small"
             android:importantForAccessibility="no"
             android:scaleType="centerInside"
-            android:src="@{FormatterSubmissionHelper.formatCountryIsoTagToFlagDrawable(submissionCountry.countryCode), default=@drawable/ic_submission_country_flag_ireland}"
+            android:src="@{FormatterSubmissionHelper.formatCountryIsoTagToFlagDrawable(context, submissionCountry.countryCode), default=@drawable/ic_submission_country_flag_ireland}"
             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/include_submission_country_no_selection.xml b/Corona-Warn-App/src/main/res/layout/include_submission_country_no_selection.xml
index f1738b390fb565cf7ed7d23029862877c22bb6b8..507fd3e07aecee13132e38de0c51749197550818 100644
--- a/Corona-Warn-App/src/main/res/layout/include_submission_country_no_selection.xml
+++ b/Corona-Warn-App/src/main/res/layout/include_submission_country_no_selection.xml
@@ -16,7 +16,7 @@
         style="@style/GreyCard"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
-        android:backgroundTint="@{FormatterSubmissionHelper.formatCountrySelectCardColor(active)}"
+        android:backgroundTint="@{FormatterSubmissionHelper.formatCountrySelectCardColor(context, active)}"
         android:focusable="true">
 
         <TextView
@@ -27,7 +27,7 @@
             android:layout_marginVertical="@dimen/spacing_normal"
             android:focusable="true"
             android:text="@string/submission_country_no_selection_headline"
-            android:textColor="@{FormatterSubmissionHelper.formatCountrySelectCardTextColor(active)}"
+            android:textColor="@{FormatterSubmissionHelper.formatCountrySelectCardTextColor(context, active)}"
             app:layout_constraintBottom_toBottomOf="parent"
             app:layout_constraintEnd_toStartOf="@+id/guideline_end"
             app:layout_constraintStart_toStartOf="@+id/guideline_start"
diff --git a/Corona-Warn-App/src/main/res/layout/include_submission_country_selector.xml b/Corona-Warn-App/src/main/res/layout/include_submission_country_selector.xml
index b083159cb27e52665c8df74144c4c52e73cf5393..b5d1e495d46834abe9f3916d67edbafbd7ca9bb5 100644
--- a/Corona-Warn-App/src/main/res/layout/include_submission_country_selector.xml
+++ b/Corona-Warn-App/src/main/res/layout/include_submission_country_selector.xml
@@ -24,7 +24,7 @@
         style="@style/GreyCard"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
-        android:backgroundTint="@{FormatterSubmissionHelper.formatCountrySelectCardColor(active)}"
+        android:backgroundTint="@{FormatterSubmissionHelper.formatCountrySelectCardColor(context, active)}"
         android:focusable="true">
 
         <TextView
@@ -35,7 +35,7 @@
             android:layout_marginTop="@dimen/spacing_normal"
             android:focusable="true"
             android:text="@string/submission_country_selector_headline"
-            android:textColor="@{FormatterSubmissionHelper.formatCountrySelectCardTextColor(active)}"
+            android:textColor="@{FormatterSubmissionHelper.formatCountrySelectCardTextColor(context, active)}"
             app:layout_constraintEnd_toStartOf="@+id/guideline_end"
             app:layout_constraintStart_toStartOf="@+id/guideline_start"
             app:layout_constraintTop_toTopOf="parent" />
diff --git a/Corona-Warn-App/src/main/res/layout/include_test_result_card.xml b/Corona-Warn-App/src/main/res/layout/include_test_result_card.xml
index 002e980085a85e252dbe1eef75ea392c8c09295c..54e8aaf5becc0597eb9667956d84bd4633243a29 100644
--- a/Corona-Warn-App/src/main/res/layout/include_test_result_card.xml
+++ b/Corona-Warn-App/src/main/res/layout/include_test_result_card.xml
@@ -41,7 +41,7 @@
             android:layout_height="wrap_content"
             android:layout_marginEnd="@dimen/spacing_small"
             android:layout_marginBottom="@dimen/spacing_normal"
-            android:text="@{FormatterSubmissionHelper.formatTestResultCardContent(deviceUIState)}"
+            android:text="@{FormatterSubmissionHelper.formatTestResultCardContent(context, deviceUIState)}"
             app:layout_constraintBottom_toTopOf="@id/test_result_card_registered_at_text"
             app:layout_constraintEnd_toStartOf="@id/test_result_card_status_icon"
             app:layout_constraintStart_toStartOf="parent"
@@ -52,7 +52,7 @@
             android:id="@+id/test_result_card_status_icon"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
-            android:background="@{FormatterSubmissionHelper.formatTestStatusIcon(deviceUIState)}"
+            android:background="@{FormatterSubmissionHelper.formatTestStatusIcon(context, deviceUIState)}"
             android:importantForAccessibility="no"
             app:layout_constraintEnd_toEndOf="parent"
             app:layout_constraintTop_toTopOf="parent"
@@ -65,7 +65,7 @@
             android:layout_height="wrap_content"
             android:layout_marginTop="@dimen/spacing_normal"
             android:layout_marginEnd="@dimen/spacing_small"
-            android:text="@{FormatterSubmissionHelper.formatTestResultRegisteredAtText(registerDate)}"
+            android:text="@{FormatterSubmissionHelper.formatTestResultRegisteredAtText(context, registerDate)}"
             app:layout_constraintBottom_toBottomOf="parent"
             app:layout_constraintEnd_toStartOf="@id/test_result_card_status_icon"
             app:layout_constraintStart_toStartOf="parent"
diff --git a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/bugreporting/debuglog/DebugLoggerTest.kt b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/bugreporting/debuglog/DebugLoggerTest.kt
index 99678b82732651514deb19468f0a5eb673214a3f..addaad19d1a7f7fad078a00a646082be36867d40 100644
--- a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/bugreporting/debuglog/DebugLoggerTest.kt
+++ b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/bugreporting/debuglog/DebugLoggerTest.kt
@@ -3,6 +3,7 @@ package de.rki.coronawarnapp.bugreporting.debuglog
 import android.app.Application
 import dagger.Lazy
 import de.rki.coronawarnapp.bugreporting.censors.RegistrationTokenCensor
+import de.rki.coronawarnapp.util.CWADebug
 import de.rki.coronawarnapp.util.di.ApplicationComponent
 import io.kotest.matchers.shouldBe
 import io.kotest.matchers.shouldNotBe
@@ -10,6 +11,7 @@ import io.mockk.MockKAnnotations
 import io.mockk.clearAllMocks
 import io.mockk.every
 import io.mockk.impl.annotations.MockK
+import io.mockk.mockkObject
 import kotlinx.coroutines.runBlocking
 import org.junit.jupiter.api.AfterEach
 import org.junit.jupiter.api.BeforeEach
@@ -36,6 +38,9 @@ class DebugLoggerTest : BaseIOTest() {
     @BeforeEach
     fun setup() {
         MockKAnnotations.init(this)
+        mockkObject(CWADebug)
+        every { CWADebug.isDeviceForTestersBuild } returns false
+
         testDir.mkdirs()
         testDir.exists() shouldBe true
 
@@ -80,6 +85,16 @@ class DebugLoggerTest : BaseIOTest() {
         runningLog.exists() shouldBe true
     }
 
+    @Test
+    fun `init calls start if it is a tester build`() {
+        every { CWADebug.isDeviceForTestersBuild } returns true
+        createInstance().apply {
+            init(application)
+            isLogging shouldBe true
+        }
+        runningLog.exists() shouldBe true
+    }
+
     @Test
     fun `start plants a tree and starts a logging coroutine`() {
         val instance = createInstance().apply {
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 dcd531d5c2b9bce3f5fda4566d322cf4850d16c9..f5ac06d0c7201774cf32cabedb31d2053f24ea96 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
@@ -56,27 +56,11 @@ class FormatterHelperTest {
         assertThat(result, `is`((formatVisibility(bValue))))
     }
 
-    private fun formatTextBase(bValue: Boolean?, iResult: Int) {
-        every { context.getString(1) } returns "true string"
-        every { context.getString(2) } returns "false string"
-
-        val result = formatText(value = bValue, stringTrue = 1, stringFalse = 2)
-        assertThat(result, `is`((CoronaWarnApplication.getAppContext().getString(iResult))))
-    }
-
-    private fun formatDrawableBase(bValue: Boolean) {
-        every { context.getDrawable(1) } returns drawable
-        every { context.getDrawable(2) } returns drawable
-
-        val result = formatDrawable(value = bValue, drawableTrue = 1, drawableFalse = 2)
-        assertThat(result, `is`((equalTo(drawable))))
-    }
-
     private fun formatColorBase(bValue: Boolean, iColor: Int) {
         every { context.getColorCompat(1) } returns 1
         every { context.getColorCompat(2) } returns 2
 
-        val result = formatColor(value = bValue, colorTrue = 1, colorFalse = 2)
+        val result = formatColor(context = context, value = bValue, colorTrue = 1, colorFalse = 2)
         assertThat(result, `is`((context.getColorCompat(iColor))))
     }
 
@@ -119,27 +103,6 @@ class FormatterHelperTest {
         formatVisibilityTextBase(bValue = false, sText = "")
     }
 
-    @Test
-    fun formatText() {
-        // Check  formatText when value true
-        formatTextBase(bValue = true, iResult = 1)
-
-        // Check  formatText when value false
-        formatTextBase(bValue = false, iResult = 2)
-
-        // Check  formatText when value false
-        formatTextBase(bValue = null, iResult = 2)
-    }
-
-    @Test
-    fun formatDrawable() {
-        // Check formatDrawable when value true
-        formatDrawableBase(bValue = true)
-
-        // Check formatDrawable when value false
-        formatDrawableBase(bValue = false)
-    }
-
     @Test
     fun formatColorFalse() {
         // Check formatColor when value true
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 cca5bb6e77e064daaf850a45e64b1c1301ff96d6..287e0f47d3fac08d6d14819c220e179d03a73ea4 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
@@ -81,7 +81,7 @@ class FormatterSubmissionHelperTest {
         oUiState: NetworkRequestWrapper<DeviceUIState, Throwable>?,
         iResult: String
     ) {
-        val result = formatTestResultStatusText(uiState = oUiState)
+        val result = formatTestResultStatusText(context = context, uiState = oUiState)
         assertThat(result, `is`(iResult))
     }
 
@@ -89,12 +89,12 @@ class FormatterSubmissionHelperTest {
         oUiState: NetworkRequestWrapper<DeviceUIState, Throwable>?,
         iResult: Int
     ) {
-        val result = formatTestResultStatusColor(uiState = oUiState)
+        val result = formatTestResultStatusColor(context = context, uiState = oUiState)
         assertThat(result, `is`(iResult))
     }
 
     private fun formatTestStatusIconBase(oUiState: NetworkRequestWrapper.RequestSuccessful<DeviceUIState, Throwable>?) {
-        val result = formatTestStatusIcon(uiState = oUiState)
+        val result = formatTestStatusIcon(context = context, uiState = oUiState)
         assertThat(result, `is`(drawable))
     }
 
@@ -134,7 +134,7 @@ class FormatterSubmissionHelperTest {
             )
         } returns spannableStringBuilder3
 
-        val result = formatTestResult(uiState = oUiState)
+        val result = formatTestResult(context = context, uiState = oUiState)
         assertThat(result, `is`(spannableStringBuilder3 as Spannable?))
     }
 
diff --git a/Corona-Warn-App/src/testDeviceForTesters/java/de/rki/coronawarnapp/test/debugoptions/ui/DebugOptionsFragmentViewModelTest.kt b/Corona-Warn-App/src/testDeviceForTesters/java/de/rki/coronawarnapp/test/debugoptions/ui/DebugOptionsFragmentViewModelTest.kt
index 7272bbc481705a1418c822223ce30cb48345000e..4883ed9049aadf384f6dbd79469f450eb464397b 100644
--- a/Corona-Warn-App/src/testDeviceForTesters/java/de/rki/coronawarnapp/test/debugoptions/ui/DebugOptionsFragmentViewModelTest.kt
+++ b/Corona-Warn-App/src/testDeviceForTesters/java/de/rki/coronawarnapp/test/debugoptions/ui/DebugOptionsFragmentViewModelTest.kt
@@ -55,7 +55,6 @@ class DebugOptionsFragmentViewModelTest : BaseTest() {
     }
 
     private fun createViewModel(): DebugOptionsFragmentViewModel = DebugOptionsFragmentViewModel(
-        context = context,
         envSetup = environmentSetup,
         dispatcherProvider = TestDispatcherProvider
     )