From e6d0b4b5757e819fb404555ae18869594ed72935 Mon Sep 17 00:00:00 2001
From: Fabian-K <fabian.kajzar@sap.com>
Date: Sat, 6 Jun 2020 14:35:13 +0200
Subject: [PATCH] Text Styles and others (#223)

* - unused SubmissionSuccessDialogFragment.kt removed

* - remove merge_guidelines_common.xml
- fragment_submission_test_result.xml scrolling behavior

* - submission flow text styles replaced
- submission positive result card updated

* - submission status cards updated

* - remove old text styles
- lint error fixed
---
 .../SubmissionSuccessDialogFragment.kt        |  50 -------
 .../SubmissionTestResultFragment.kt           |   2 +-
 .../formatter/FormatterSubmissionHelper.kt    |  37 ++---
 .../layout/fragment_submission_contact.xml    |   2 +-
 .../res/layout/fragment_submission_dialog.xml |  36 -----
 .../layout/fragment_submission_dispatcher.xml |   2 +-
 .../res/layout/fragment_submission_done.xml   |   2 +-
 .../fragment_submission_qr_code_scan.xml      |  24 +---
 .../res/layout/fragment_submission_tan.xml    |   4 +-
 .../fragment_submission_test_result.xml       | 136 ++----------------
 .../res/layout/include_dispatcher_card.xml    |  16 ++-
 .../main/res/layout/include_further_info.xml  |   4 +-
 .../main/res/layout/include_privacy_card.xml  |   4 +-
 .../layout/include_step_entry_simple_body.xml |   3 +-
 .../res/layout/include_submission_contact.xml |  11 +-
 .../layout/include_submission_done_card.xml   |   3 +-
 .../include_submission_done_content.xml       |  12 +-
 .../res/layout/include_submission_intro.xml   |   7 +-
 ...lude_submission_positive_other_warning.xml |   5 +-
 ...include_submission_status_card_content.xml |  15 +-
 ...nclude_submission_status_card_fetching.xml |   4 +-
 ...nclude_submission_status_card_positive.xml |  40 +++---
 ...de_submission_status_card_unregistered.xml |   4 +-
 .../layout/include_submission_test_result.xml |  95 ++++++++++++
 .../res/layout/include_test_result_card.xml   |   6 +-
 .../include_test_result_card_positive.xml     |  43 ++++++
 .../res/layout/merge_guidelines_common.xml    |  30 ----
 .../src/main/res/navigation/nav_graph.xml     |  14 --
 .../src/main/res/values/dimens.xml            |   4 +-
 .../src/main/res/values/strings.xml           |  30 ++--
 .../src/main/res/values/styles.xml            |  40 +-----
 31 files changed, 282 insertions(+), 403 deletions(-)
 delete mode 100644 Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/SubmissionSuccessDialogFragment.kt
 delete mode 100644 Corona-Warn-App/src/main/res/layout/fragment_submission_dialog.xml
 create mode 100644 Corona-Warn-App/src/main/res/layout/include_submission_test_result.xml
 create mode 100644 Corona-Warn-App/src/main/res/layout/include_test_result_card_positive.xml
 delete mode 100644 Corona-Warn-App/src/main/res/layout/merge_guidelines_common.xml

diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/SubmissionSuccessDialogFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/SubmissionSuccessDialogFragment.kt
deleted file mode 100644
index 5b936c1ff..000000000
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/SubmissionSuccessDialogFragment.kt
+++ /dev/null
@@ -1,50 +0,0 @@
-package de.rki.coronawarnapp.ui.submission
-
-import android.os.Bundle
-import android.util.Log
-import android.view.LayoutInflater
-import android.view.View
-import android.view.ViewGroup
-import androidx.fragment.app.DialogFragment
-import androidx.navigation.fragment.findNavController
-import de.rki.coronawarnapp.databinding.FragmentSubmissionDialogBinding
-
-/**
- * A simple [SubmissionSuccessDialogFragment] subclass.
- */
-class SubmissionSuccessDialogFragment : DialogFragment() {
-
-    companion object {
-        private val TAG: String? = SubmissionSuccessDialogFragment::class.simpleName
-    }
-
-    private var _binding: FragmentSubmissionDialogBinding? = null
-    private val binding: FragmentSubmissionDialogBinding get() = _binding!!
-
-    override fun onCreateView(
-        inflater: LayoutInflater,
-        container: ViewGroup?,
-        savedInstanceState: Bundle?
-    ): View? {
-        // get the binding reference by inflating it with the current layout
-        _binding = FragmentSubmissionDialogBinding.inflate(inflater)
-
-        // Inflate the layout for this fragment
-        return binding.root
-    }
-
-    override fun onDestroyView() {
-        super.onDestroyView()
-        _binding = null
-    }
-
-    override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
-        binding.submissionVerificationSuccessButton.setOnClickListener {
-            Log.i(TAG, "button OK clicked")
-            dismiss()
-            findNavController().navigate(
-                SubmissionSuccessDialogFragmentDirections.actionSubmissionSuccessDialogFragmentToMainFragment()
-            )
-        }
-    }
-}
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/SubmissionTestResultFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/SubmissionTestResultFragment.kt
index 917c796df..c0b07dfed 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/SubmissionTestResultFragment.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/SubmissionTestResultFragment.kt
@@ -120,7 +120,7 @@ class SubmissionTestResultFragment : BaseFragment() {
             )
         }
 
-        binding.submissionTestResultHeader.informationHeader.headerButtonBack.buttonIcon.setOnClickListener {
+        binding.submissionTestResultHeader.headerButtonBack.buttonIcon.setOnClickListener {
             doNavigate(
                 SubmissionTestResultFragmentDirections.actionSubmissionResultFragmentToMainFragment()
             )
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 5f9c0139a..dbe3e29ed 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
@@ -98,13 +98,29 @@ fun formatTestResultPositiveStepsVisible(uiState: DeviceUIState?): Int =
 fun formatTestResultInvalidStepsVisible(uiState: DeviceUIState?): Int =
     formatVisibility(uiState == DeviceUIState.PAIRED_ERROR)
 
+fun formatSubmissionStatusCardSubtitleColor(uiState: DeviceUIState?): Int {
+    val appContext = CoronaWarnApplication.getAppContext()
+    return when (uiState) {
+        DeviceUIState.PAIRED_NEGATIVE -> appContext.getColor(R.color.colorTextSemanticGreen)
+        DeviceUIState.PAIRED_ERROR -> appContext.getColor(R.color.colorTextSemanticNeutral)
+        else -> appContext.getColor(R.color.colorTextPrimary1)
+    }
+}
+
+fun formatSubmissionStatusCardSubtitleText(uiState: DeviceUIState?): String {
+    val appContext = CoronaWarnApplication.getAppContext()
+    return when (uiState) {
+        DeviceUIState.PAIRED_NEGATIVE -> appContext.getString(R.string.submission_status_card_subtitle_negative)
+        DeviceUIState.PAIRED_ERROR -> appContext.getString(R.string.submission_status_card_subtitle_invalid)
+        else -> ""
+    }
+}
+
 fun formatSubmissionStatusCardContentTitleText(uiState: DeviceUIState?): String {
     val appContext = CoronaWarnApplication.getAppContext()
     return when (uiState) {
         DeviceUIState.PAIRED_ERROR,
-        DeviceUIState.PAIRED_NEGATIVE,
-        DeviceUIState.PAIRED_POSITIVE_TELETAN,
-        DeviceUIState.PAIRED_POSITIVE -> appContext.getString(R.string.submission_status_card_title_available)
+        DeviceUIState.PAIRED_NEGATIVE -> appContext.getString(R.string.submission_status_card_title_available)
         DeviceUIState.PAIRED_NO_RESULT -> appContext.getString(R.string.submission_status_card_title_pending)
         else -> appContext.getString(R.string.submission_status_card_title_pending)
     }
@@ -115,28 +131,13 @@ fun formatSubmissionStatusCardContentBodyText(uiState: DeviceUIState?): String {
     return when (uiState) {
         DeviceUIState.PAIRED_ERROR -> appContext.getString(R.string.submission_status_card_body_invalid)
         DeviceUIState.PAIRED_NEGATIVE -> appContext.getString(R.string.submission_status_card_body_negative)
-        DeviceUIState.PAIRED_POSITIVE,
-        DeviceUIState.PAIRED_POSITIVE_TELETAN -> appContext.getString(R.string.submission_status_card_body_positive)
         DeviceUIState.PAIRED_NO_RESULT -> appContext.getString(R.string.submission_status_card_body_pending)
         else -> appContext.getString(R.string.submission_status_card_body_pending)
     }
 }
 
-fun formatSubmissionStatusCardContentButtonText(uiState: DeviceUIState?): String {
-    val appContext = CoronaWarnApplication.getAppContext()
-    return when (uiState) {
-        DeviceUIState.PAIRED_ERROR,
-        DeviceUIState.PAIRED_NEGATIVE,
-        DeviceUIState.PAIRED_POSITIVE_TELETAN,
-        DeviceUIState.PAIRED_POSITIVE -> appContext.getString(R.string.submission_status_card_button_show_results)
-        else -> appContext.getString(R.string.submission_status_card_button_show_details)
-    }
-}
-
 fun formatSubmissionStatusCardContentStatusTextVisible(uiState: DeviceUIState?): Int {
     return when (uiState) {
-        DeviceUIState.PAIRED_POSITIVE,
-        DeviceUIState.PAIRED_POSITIVE_TELETAN,
         DeviceUIState.PAIRED_NEGATIVE,
         DeviceUIState.PAIRED_ERROR -> View.VISIBLE
         else -> View.GONE
diff --git a/Corona-Warn-App/src/main/res/layout/fragment_submission_contact.xml b/Corona-Warn-App/src/main/res/layout/fragment_submission_contact.xml
index cf0aed7d1..1c0e6016e 100644
--- a/Corona-Warn-App/src/main/res/layout/fragment_submission_contact.xml
+++ b/Corona-Warn-App/src/main/res/layout/fragment_submission_contact.xml
@@ -64,7 +64,7 @@
                 android:orientation="horizontal"
                 app:layout_constraintGuide_end="@dimen/guideline_action_large" />
 
-            <include layout="@layout/merge_guidelines_common" />
+            <include layout="@layout/merge_guidelines_side" />
 
         </androidx.constraintlayout.widget.ConstraintLayout>
 
diff --git a/Corona-Warn-App/src/main/res/layout/fragment_submission_dialog.xml b/Corona-Warn-App/src/main/res/layout/fragment_submission_dialog.xml
deleted file mode 100644
index 3c53847b3..000000000
--- a/Corona-Warn-App/src/main/res/layout/fragment_submission_dialog.xml
+++ /dev/null
@@ -1,36 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="wrap_content"
-    android:layout_height="wrap_content"
-    android:layout_gravity="center"
-    android:orientation="vertical"
-    android:padding="@dimen/spacing_normal">
-
-    <TextView
-        android:id="@+id/submission_verification_success_headline"
-        style="@style/textTitleCentered"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_gravity="center"
-        android:text="@string/submission_result_dialog_headline"
-        android:textAlignment="center" />
-
-    <TextView
-        android:id="@+id/submission_verification_success_body"
-        style="@style/textMultilineCentered"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_gravity="center"
-        android:layout_marginTop="@dimen/spacing_small"
-        android:text="@string/submission_result_dialog_body" />
-
-    <Button
-        android:id="@+id/submission_verification_success_button"
-        style="@style/buttonPrimary"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_gravity="center"
-        android:layout_marginTop="@dimen/spacing_normal"
-        android:text="@string/submission_result_button_dialog_close" />
-
-</LinearLayout>
\ No newline at end of file
diff --git a/Corona-Warn-App/src/main/res/layout/fragment_submission_dispatcher.xml b/Corona-Warn-App/src/main/res/layout/fragment_submission_dispatcher.xml
index c34516634..d4f5b84bc 100644
--- a/Corona-Warn-App/src/main/res/layout/fragment_submission_dispatcher.xml
+++ b/Corona-Warn-App/src/main/res/layout/fragment_submission_dispatcher.xml
@@ -26,7 +26,7 @@
 
             <TextView
                 android:id="@+id/submission_dispatcher_text"
-                style="@style/textMultiline"
+                style="@style/subtitle"
                 android:layout_width="@dimen/match_constraint"
                 android:layout_height="wrap_content"
                 android:layout_marginTop="@dimen/spacing_normal"
diff --git a/Corona-Warn-App/src/main/res/layout/fragment_submission_done.xml b/Corona-Warn-App/src/main/res/layout/fragment_submission_done.xml
index 2f825aaac..02d9686e2 100644
--- a/Corona-Warn-App/src/main/res/layout/fragment_submission_done.xml
+++ b/Corona-Warn-App/src/main/res/layout/fragment_submission_done.xml
@@ -36,7 +36,7 @@
 
             <TextView
                 android:id="@+id/submission_done_headline"
-                style="@style/textHeadline"
+                style="@style/headline4"
                 android:layout_width="@dimen/match_constraint"
                 android:layout_height="wrap_content"
                 android:layout_marginTop="@dimen/spacing_normal"
diff --git a/Corona-Warn-App/src/main/res/layout/fragment_submission_qr_code_scan.xml b/Corona-Warn-App/src/main/res/layout/fragment_submission_qr_code_scan.xml
index dc11a23c5..817eb12f8 100644
--- a/Corona-Warn-App/src/main/res/layout/fragment_submission_qr_code_scan.xml
+++ b/Corona-Warn-App/src/main/res/layout/fragment_submission_qr_code_scan.xml
@@ -48,8 +48,8 @@
             android:layout_height="wrap_content"
             app:icon="@{@drawable/ic_close}"
             app:layout_constraintBottom_toTopOf="@+id/submission_qr_code_scan_guideline_top"
-            app:layout_constraintEnd_toStartOf="@+id/submission_qr_code_scan_guideline_start"
-            app:layout_constraintStart_toStartOf="@+id/submission_qr_code_scan_guideline_start"
+            app:layout_constraintEnd_toStartOf="@+id/guideline_start"
+            app:layout_constraintStart_toStartOf="@+id/guideline_start"
             app:layout_constraintTop_toTopOf="@+id/submission_qr_code_scan_guideline_top" />
 
         <ToggleButton
@@ -61,18 +61,10 @@
             android:textOff=""
             android:textOn=""
             app:layout_constraintBottom_toTopOf="@+id/submission_qr_code_scan_guideline_top"
-            app:layout_constraintEnd_toStartOf="@+id/submission_qr_code_scan_guideline_end"
-            app:layout_constraintStart_toStartOf="@+id/submission_qr_code_scan_guideline_end"
+            app:layout_constraintEnd_toStartOf="@+id/guideline_end"
+            app:layout_constraintStart_toStartOf="@+id/guideline_end"
             app:layout_constraintTop_toTopOf="@+id/submission_qr_code_scan_guideline_top" />
 
-
-        <androidx.constraintlayout.widget.Guideline
-            android:id="@+id/submission_qr_code_scan_guideline_start"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:orientation="vertical"
-            app:layout_constraintGuide_begin="@dimen/guideline_start" />
-
         <androidx.constraintlayout.widget.Guideline
             android:id="@+id/submission_qr_code_scan_guideline_top"
             android:layout_width="wrap_content"
@@ -80,11 +72,7 @@
             android:orientation="horizontal"
             app:layout_constraintGuide_begin="@dimen/spacing_normal" />
 
-        <androidx.constraintlayout.widget.Guideline
-            android:id="@+id/submission_qr_code_scan_guideline_end"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:orientation="vertical"
-            app:layout_constraintGuide_end="@dimen/guideline_end" />
+        <include layout="@layout/merge_guidelines_side" />
+
     </androidx.constraintlayout.widget.ConstraintLayout>
 </layout>
\ No newline at end of file
diff --git a/Corona-Warn-App/src/main/res/layout/fragment_submission_tan.xml b/Corona-Warn-App/src/main/res/layout/fragment_submission_tan.xml
index 4e3707630..c940d7044 100644
--- a/Corona-Warn-App/src/main/res/layout/fragment_submission_tan.xml
+++ b/Corona-Warn-App/src/main/res/layout/fragment_submission_tan.xml
@@ -36,7 +36,7 @@
 
             <TextView
                 android:id="@+id/submission_tan_body"
-                style="@style/textMultiline"
+                style="@style/subtitle"
                 android:layout_width="@dimen/match_constraint"
                 android:layout_height="wrap_content"
                 android:layout_marginTop="@dimen/spacing_small"
@@ -74,7 +74,7 @@
                 android:orientation="horizontal"
                 app:layout_constraintGuide_end="@dimen/guideline_action" />
 
-            <include layout="@layout/merge_guidelines_common" />
+            <include layout="@layout/merge_guidelines_side" />
 
         </androidx.constraintlayout.widget.ConstraintLayout>
 
diff --git a/Corona-Warn-App/src/main/res/layout/fragment_submission_test_result.xml b/Corona-Warn-App/src/main/res/layout/fragment_submission_test_result.xml
index 7b89e45a3..3db21c478 100644
--- a/Corona-Warn-App/src/main/res/layout/fragment_submission_test_result.xml
+++ b/Corona-Warn-App/src/main/res/layout/fragment_submission_test_result.xml
@@ -17,7 +17,7 @@
 
         <include
             android:id="@+id/submission_test_result_header"
-            layout="@layout/include_information_details_header"
+            layout="@layout/include_header"
             android:layout_width="@dimen/match_constraint"
             android:layout_height="wrap_content"
             app:icon="@{@drawable/ic_close}"
@@ -32,104 +32,31 @@
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:visibility="@{FormatterSubmissionHelper.formatTestResultSpinnerVisible(submissionViewModel.uiStateState)}"
-            app:layout_constraintBottom_toBottomOf="@+id/submission_test_result_button_container"
-            app:layout_constraintEnd_toStartOf="@+id/submission_test_result_guideline_end"
-            app:layout_constraintStart_toStartOf="@+id/submission_test_result_guideline_start"
-            app:layout_constraintTop_toTopOf="@+id/submission_test_result_guideline_top" />
+            app:layout_constraintBottom_toBottomOf="parent"
+            app:layout_constraintEnd_toEndOf="parent"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintTop_toTopOf="parent" />
 
-        <ScrollView
-            style="@style/fadingScrollView"
+        <include
+            android:id="@+id/include"
+            layout="@layout/include_submission_test_result"
             android:layout_width="@dimen/match_constraint"
             android:layout_height="@dimen/match_constraint"
-            android:layout_marginBottom="@dimen/spacing_normal"
-            android:fillViewport="true"
             android:visibility="@{FormatterSubmissionHelper.formatTestResultVisible(submissionViewModel.uiStateState)}"
             app:layout_constraintBottom_toTopOf="@+id/submission_test_result_button_container"
             app:layout_constraintEnd_toEndOf="parent"
             app:layout_constraintStart_toStartOf="parent"
-            app:layout_constraintTop_toTopOf="@+id/submission_test_result_guideline_body">
-
-            <androidx.constraintlayout.widget.ConstraintLayout
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content">
-
-                <include
-                    android:id="@+id/submission_test_result_card"
-                    layout="@layout/include_test_result_card"
-                    android:layout_width="@dimen/match_constraint"
-                    android:layout_height="wrap_content"
-                    app:layout_constraintEnd_toEndOf="@+id/guideline_end"
-                    app:layout_constraintStart_toStartOf="@+id/guideline_start"
-                    app:layout_constraintTop_toTopOf="parent"
-                    app:registerDate="@{submissionViewModel.testResultReceivedDate}"
-                    app:deviceUIState="@{submissionViewModel.deviceUiState}" />
-
-                <TextView
-                    android:id="@+id/submission_test_result_subtitle"
-                    style="@style/textSubTitle"
-                    android:layout_width="@dimen/match_constraint"
-                    android:layout_height="wrap_content"
-                    android:layout_marginTop="@dimen/spacing_normal"
-                    android:text="@string/submission_test_result_subtitle"
-                    app:layout_constraintEnd_toEndOf="@+id/guideline_end"
-                    app:layout_constraintStart_toStartOf="@+id/guideline_start"
-                    app:layout_constraintTop_toBottomOf="@+id/submission_test_result_card" />
-
-                <include
-                    android:id="@+id/submission_test_result_pending_steps"
-                    layout="@layout/include_test_result_pending_steps"
-                    android:layout_width="@dimen/match_constraint"
-                    android:layout_height="wrap_content"
-                    android:layout_marginTop="@dimen/spacing_normal"
-                    android:visibility="@{FormatterSubmissionHelper.formatTestResultPendingStepsVisible(submissionViewModel.deviceUiState)}"
-                    app:layout_constraintEnd_toEndOf="@+id/guideline_end"
-                    app:layout_constraintStart_toStartOf="@+id/guideline_start"
-                    app:layout_constraintTop_toBottomOf="@+id/submission_test_result_subtitle" />
-
-                <include
-                    android:id="@+id/submission_test_result_negative_steps"
-                    layout="@layout/include_test_result_negative_steps"
-                    android:layout_width="@dimen/match_constraint"
-                    android:layout_height="wrap_content"
-                    android:layout_marginTop="@dimen/spacing_normal"
-                    android:visibility="@{FormatterSubmissionHelper.formatTestResultNegativeStepsVisible(submissionViewModel.deviceUiState)}"
-                    app:layout_constraintEnd_toEndOf="@+id/guideline_end"
-                    app:layout_constraintStart_toStartOf="@+id/guideline_start"
-                    app:layout_constraintTop_toBottomOf="@+id/submission_test_result_subtitle" />
-
-                <include
-                    android:id="@+id/submission_test_result_positive_steps"
-                    layout="@layout/include_test_result_positive_steps"
-                    android:layout_width="@dimen/match_constraint"
-                    android:layout_height="wrap_content"
-                    android:layout_marginTop="@dimen/spacing_normal"
-                    android:visibility="@{FormatterSubmissionHelper.formatTestResultPositiveStepsVisible(submissionViewModel.deviceUiState)}"
-                    app:layout_constraintEnd_toEndOf="@+id/guideline_end"
-                    app:layout_constraintStart_toStartOf="@+id/guideline_start"
-                    app:layout_constraintTop_toBottomOf="@+id/submission_test_result_subtitle" />
-
-                <include
-                    android:id="@+id/submission_test_result_invalid_steps"
-                    layout="@layout/include_test_result_invalid_steps"
-                    android:layout_width="@dimen/match_constraint"
-                    android:layout_height="wrap_content"
-                    android:layout_marginTop="@dimen/spacing_normal"
-                    android:visibility="@{FormatterSubmissionHelper.formatTestResultInvalidStepsVisible(submissionViewModel.deviceUiState)}"
-                    app:layout_constraintEnd_toEndOf="@+id/guideline_end"
-                    app:layout_constraintStart_toStartOf="@+id/guideline_start"
-                    app:layout_constraintTop_toBottomOf="@+id/submission_test_result_subtitle" />
-
-                <include layout="@layout/merge_guidelines_common" />
-
-            </androidx.constraintlayout.widget.ConstraintLayout>
-        </ScrollView>
+            app:layout_constraintTop_toBottomOf="@+id/submission_test_result_header"
+            app:submissionViewModel="@{submissionViewModel}" />
 
         <androidx.constraintlayout.widget.ConstraintLayout
             android:id="@+id/submission_test_result_button_container"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
             android:visibility="@{FormatterSubmissionHelper.formatTestResultVisible(submissionViewModel.uiStateState)}"
-            app:layout_constraintBottom_toBottomOf="@id/submission_test_result_guideline_bottom">
+            app:layout_constraintBottom_toBottomOf="parent"
+            app:layout_constraintEnd_toEndOf="parent"
+            app:layout_constraintStart_toStartOf="parent">
 
             <Button
                 android:id="@+id/submission_test_result_button_pending_refresh"
@@ -185,7 +112,7 @@
 
             <Button
                 android:id="@+id/submission_test_result_button_negative_remove_test"
-                style="@style/buttonLight"
+                style="@style/buttonPrimary"
                 android:layout_width="@dimen/match_constraint"
                 android:layout_height="wrap_content"
                 android:layout_marginHorizontal="@dimen/spacing_normal"
@@ -198,40 +125,7 @@
 
         </androidx.constraintlayout.widget.ConstraintLayout>
 
-        <androidx.constraintlayout.widget.Guideline
-            android:id="@+id/submission_test_result_guideline_start"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:orientation="vertical"
-            app:layout_constraintGuide_begin="@dimen/guideline_start" />
-
-        <androidx.constraintlayout.widget.Guideline
-            android:id="@+id/submission_test_result_guideline_top"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:orientation="horizontal"
-            app:layout_constraintGuide_begin="@dimen/guideline_top" />
-
-        <androidx.constraintlayout.widget.Guideline
-            android:id="@+id/submission_test_result_guideline_body"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:orientation="horizontal"
-            app:layout_constraintGuide_begin="@dimen/submission_test_result_guideline_body" />
-
-        <androidx.constraintlayout.widget.Guideline
-            android:id="@+id/submission_test_result_guideline_bottom"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:orientation="horizontal"
-            app:layout_constraintGuide_end="@dimen/guideline_bottom" />
-
-        <androidx.constraintlayout.widget.Guideline
-            android:id="@+id/submission_test_result_guideline_end"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:orientation="vertical"
-            app:layout_constraintGuide_end="@dimen/guideline_end" />
+        <include layout="@layout/merge_guidelines_side" />
 
     </androidx.constraintlayout.widget.ConstraintLayout>
 </layout>
\ No newline at end of file
diff --git a/Corona-Warn-App/src/main/res/layout/include_dispatcher_card.xml b/Corona-Warn-App/src/main/res/layout/include_dispatcher_card.xml
index 1acf04a23..99b7cac0c 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
@@ -1,6 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <layout xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:app="http://schemas.android.com/apk/res-auto">
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    xmlns:tools="http://schemas.android.com/tools">
 
     <data>
 
@@ -27,7 +28,7 @@
 
         <TextView
             android:id="@+id/dispatcher_card_title"
-            style="@style/textTitle"
+            style="@style/headline6"
             android:layout_width="@dimen/match_constraint"
             android:layout_height="wrap_content"
             android:layout_marginStart="@dimen/spacing_normal"
@@ -36,7 +37,8 @@
             android:text="@{headline}"
             app:layout_constraintEnd_toStartOf="@+id/dispatcher_card_icon"
             app:layout_constraintStart_toStartOf="parent"
-            app:layout_constraintTop_toTopOf="parent" />
+            app:layout_constraintTop_toTopOf="parent"
+            tools:text="@string/submission_dispatcher_card_qr" />
 
         <include
             android:id="@+id/dispatcher_card_icon"
@@ -51,7 +53,7 @@
 
         <TextView
             android:id="@+id/submission_dispatcher_card_text"
-            style="@style/textMultiline"
+            style="@style/subtitle"
             android:layout_width="@dimen/match_constraint"
             android:layout_height="wrap_content"
             android:layout_marginStart="@dimen/spacing_normal"
@@ -61,7 +63,8 @@
             app:layout_constraintBottom_toBottomOf="parent"
             app:layout_constraintEnd_toStartOf="@+id/dispatcher_card_illustration"
             app:layout_constraintStart_toStartOf="parent"
-            app:layout_constraintTop_toBottomOf="@+id/dispatcher_card_title" />
+            app:layout_constraintTop_toBottomOf="@+id/dispatcher_card_title"
+            tools:text="@string/submission_dispatcher_qr_card_text" />
 
         <ImageView
             android:id="@+id/dispatcher_card_illustration"
@@ -72,7 +75,8 @@
             android:src="@{illustration}"
             app:layout_constraintBottom_toBottomOf="parent"
             app:layout_constraintEnd_toEndOf="parent"
-            app:layout_constraintTop_toBottomOf="@+id/dispatcher_card_icon" />
+            app:layout_constraintTop_toBottomOf="@+id/dispatcher_card_icon"
+            tools:src="@drawable/ic_submission_illustration_qr_code_card" />
 
     </androidx.constraintlayout.widget.ConstraintLayout>
 
diff --git a/Corona-Warn-App/src/main/res/layout/include_further_info.xml b/Corona-Warn-App/src/main/res/layout/include_further_info.xml
index 993da849e..ca9c5f42b 100644
--- a/Corona-Warn-App/src/main/res/layout/include_further_info.xml
+++ b/Corona-Warn-App/src/main/res/layout/include_further_info.xml
@@ -12,7 +12,7 @@
 
         <TextView
             android:id="@+id/further_info_title"
-            style="@style/textTitleLarger"
+            style="@style/headline5"
             android:layout_width="@dimen/match_constraint"
             android:layout_height="wrap_content"
             android:text="@string/submission_done_further_info_title"
@@ -22,7 +22,7 @@
 
         <TextView
             android:id="@+id/further_info_text"
-            style="@style/textMultiline"
+            style="@style/subtitle"
             android:layout_width="@dimen/match_constraint"
             android:layout_height="wrap_content"
             android:layout_marginStart="@dimen/spacing_normal"
diff --git a/Corona-Warn-App/src/main/res/layout/include_privacy_card.xml b/Corona-Warn-App/src/main/res/layout/include_privacy_card.xml
index 843f6b476..fa592e659 100644
--- a/Corona-Warn-App/src/main/res/layout/include_privacy_card.xml
+++ b/Corona-Warn-App/src/main/res/layout/include_privacy_card.xml
@@ -12,7 +12,7 @@
 
         <TextView
             android:id="@+id/privacy_card_title"
-            style="@style/textTitle"
+            style="@style/headline6"
             android:layout_width="@dimen/match_constraint"
             android:layout_height="wrap_content"
             android:text="@string/submission_positive_other_warning_privacy_title"
@@ -22,7 +22,7 @@
 
         <TextView
             android:id="@+id/privacy_card_text"
-            style="@style/textMultiline"
+            style="@style/subtitle"
             android:layout_width="@dimen/match_constraint"
             android:layout_height="wrap_content"
             android:layout_marginTop="@dimen/spacing_normal"
diff --git a/Corona-Warn-App/src/main/res/layout/include_step_entry_simple_body.xml b/Corona-Warn-App/src/main/res/layout/include_step_entry_simple_body.xml
index 37b841fb0..f1b938eca 100644
--- a/Corona-Warn-App/src/main/res/layout/include_step_entry_simple_body.xml
+++ b/Corona-Warn-App/src/main/res/layout/include_step_entry_simple_body.xml
@@ -7,7 +7,7 @@
 
     <TextView
         android:id="@+id/simple_step_entry_title"
-        style="@style/textTitle"
+        style="@style/headline6"
         android:layout_width="@dimen/match_constraint"
         android:layout_height="wrap_content"
         app:layout_constraintEnd_toEndOf="parent"
@@ -17,6 +17,7 @@
 
     <TextView
         android:id="@+id/simple_step_entry_body"
+        style="@style/subtitle"
         android:layout_width="@dimen/match_constraint"
         android:layout_height="wrap_content"
         android:layout_marginTop="@dimen/spacing_small"
diff --git a/Corona-Warn-App/src/main/res/layout/include_submission_contact.xml b/Corona-Warn-App/src/main/res/layout/include_submission_contact.xml
index d92171dc9..6173a8279 100644
--- a/Corona-Warn-App/src/main/res/layout/include_submission_contact.xml
+++ b/Corona-Warn-App/src/main/res/layout/include_submission_contact.xml
@@ -22,7 +22,7 @@
 
             <TextView
                 android:id="@+id/submission_contact_body"
-                style="@style/textMultiline"
+                style="@style/subtitle"
                 android:layout_width="@dimen/match_constraint"
                 android:layout_height="wrap_content"
                 android:layout_marginTop="@dimen/spacing_small"
@@ -33,7 +33,7 @@
 
             <TextView
                 android:id="@+id/submission_contact_headline"
-                style="@style/textTitle"
+                style="@style/headline5"
                 android:layout_width="@dimen/match_constraint"
                 android:layout_height="wrap_content"
                 android:layout_marginTop="@dimen/spacing_normal"
@@ -60,6 +60,7 @@
 
                     <TextView
                         android:id="@+id/submission_contact_step_1_body"
+                        style="@style/subtitle"
                         android:layout_width="@dimen/match_constraint"
                         android:layout_height="wrap_content"
                         android:layout_marginTop="@dimen/button_icon_margin"
@@ -71,7 +72,7 @@
 
                     <TextView
                         android:id="@+id/submission_contact_step_1_number"
-                        style="@style/textTitle"
+                        style="@style/headline5"
                         android:layout_width="@dimen/match_constraint"
                         android:layout_height="wrap_content"
                         android:layout_marginTop="@dimen/spacing_small"
@@ -83,6 +84,7 @@
 
                     <TextView
                         android:id="@+id/submission_contact_operating_hours_body"
+                        style="@style/body2"
                         android:layout_width="@dimen/match_constraint"
                         android:layout_height="wrap_content"
                         android:layout_marginTop="@dimen/spacing_small"
@@ -106,13 +108,14 @@
                 app:step_entry_icon="@drawable/ic_step_2">
 
                 <TextView
+                    style="@style/subtitle"
                     android:layout_width="wrap_content"
                     android:layout_height="wrap_content"
                     android:text="@string/submission_contact_step_2_body" />
 
             </de.rki.coronawarnapp.ui.view.StepEntry>
 
-            <include layout="@layout/merge_guidelines_common" />
+            <include layout="@layout/merge_guidelines_side" />
 
         </androidx.constraintlayout.widget.ConstraintLayout>
 
diff --git a/Corona-Warn-App/src/main/res/layout/include_submission_done_card.xml b/Corona-Warn-App/src/main/res/layout/include_submission_done_card.xml
index fa69c4a3f..680fec8f6 100644
--- a/Corona-Warn-App/src/main/res/layout/include_submission_done_card.xml
+++ b/Corona-Warn-App/src/main/res/layout/include_submission_done_card.xml
@@ -8,7 +8,7 @@
 
         <TextView
             android:id="@+id/submission_done_card_title"
-            style="@style/textTitleLarger"
+            style="@style/headline5"
             android:layout_width="@dimen/match_constraint"
             android:layout_height="wrap_content"
             android:layout_marginStart="@dimen/spacing_normal"
@@ -48,6 +48,7 @@
             layout="@layout/include_submission_done_content"
             android:layout_width="@dimen/match_constraint"
             android:layout_height="wrap_content"
+            android:layout_marginTop="@dimen/spacing_normal"
             app:layout_constraintEnd_toEndOf="parent"
             app:layout_constraintStart_toStartOf="parent"
             app:layout_constraintTop_toBottomOf="@id/submission_done_card_illustration" />
diff --git a/Corona-Warn-App/src/main/res/layout/include_submission_done_content.xml b/Corona-Warn-App/src/main/res/layout/include_submission_done_content.xml
index a93ed5b0b..9946498cf 100644
--- a/Corona-Warn-App/src/main/res/layout/include_submission_done_content.xml
+++ b/Corona-Warn-App/src/main/res/layout/include_submission_done_content.xml
@@ -13,7 +13,7 @@
 
         <TextView
             android:id="@+id/submission_done_text"
-            style="@style/textMultiline"
+            style="@style/subtitle"
             android:layout_width="@dimen/match_constraint"
             android:layout_height="wrap_content"
             android:text="@string/submission_done_body"
@@ -23,7 +23,7 @@
 
         <TextView
             android:id="@+id/submission_done_subtitle"
-            style="@style/textTitleLarger"
+            style="@style/headline5"
             android:layout_width="@dimen/match_constraint"
             android:layout_height="wrap_content"
             android:layout_marginTop="@dimen/spacing_normal"
@@ -33,13 +33,13 @@
             app:layout_constraintTop_toBottomOf="@+id/submission_done_text" />
 
         <include
-            android:id="@+id/submission_done_contact"
+            android:id="@+id/submission_done_contagious"
             layout="@layout/include_risk_details_behavior_row"
             android:layout_width="@dimen/match_constraint"
             android:layout_height="wrap_content"
             android:layout_marginTop="@dimen/spacing_normal"
-            app:body="@{@string/submission_done_contact}"
-            app:icon="@{@drawable/ic_risk_details_contact}"
+            app:body="@{@string/submission_done_contagious}"
+            app:icon="@{@drawable/ic_risk_card_contact}"
             app:layout_constraintEnd_toEndOf="@+id/guideline_end"
             app:layout_constraintStart_toStartOf="@+id/guideline_start"
             app:layout_constraintTop_toBottomOf="@+id/submission_done_subtitle"
@@ -55,7 +55,7 @@
             app:icon="@{@drawable/ic_risk_details_home}"
             app:layout_constraintEnd_toEndOf="@+id/guideline_end"
             app:layout_constraintStart_toStartOf="@+id/guideline_start"
-            app:layout_constraintTop_toBottomOf="@+id/submission_done_contact"
+            app:layout_constraintTop_toBottomOf="@+id/submission_done_contagious"
             app:riskLevel="@{RiskLevelConstants.INCREASED_RISK}" />
 
         <include
diff --git a/Corona-Warn-App/src/main/res/layout/include_submission_intro.xml b/Corona-Warn-App/src/main/res/layout/include_submission_intro.xml
index 01df51d30..55360a3e7 100644
--- a/Corona-Warn-App/src/main/res/layout/include_submission_intro.xml
+++ b/Corona-Warn-App/src/main/res/layout/include_submission_intro.xml
@@ -23,9 +23,10 @@
 
             <TextView
                 android:id="@+id/submission_intro_headline"
-                style="@style/textHeadline"
+                style="@style/headline4"
                 android:layout_width="@dimen/match_constraint"
                 android:layout_height="wrap_content"
+                android:layout_marginTop="@dimen/spacing_normal"
                 android:text="@string/submission_intro_headline"
                 app:layout_constraintEnd_toEndOf="@id/guideline_end"
                 app:layout_constraintStart_toStartOf="@id/guideline_start"
@@ -33,7 +34,7 @@
 
             <TextView
                 android:id="@+id/submission_intro_text"
-                style="@style/textMultiline"
+                style="@style/subtitle"
                 android:layout_width="@dimen/match_constraint"
                 android:layout_height="wrap_content"
                 android:layout_marginTop="@dimen/spacing_normal"
@@ -44,7 +45,7 @@
 
             <TextView
                 android:id="@+id/submission_intro_text_enum"
-                style="@style/textMultiline"
+                style="@style/subtitle"
                 android:layout_width="@dimen/match_constraint"
                 android:layout_height="wrap_content"
                 android:layout_marginStart="@dimen/spacing_normal"
diff --git a/Corona-Warn-App/src/main/res/layout/include_submission_positive_other_warning.xml b/Corona-Warn-App/src/main/res/layout/include_submission_positive_other_warning.xml
index 9b839fb34..9faffe421 100644
--- a/Corona-Warn-App/src/main/res/layout/include_submission_positive_other_warning.xml
+++ b/Corona-Warn-App/src/main/res/layout/include_submission_positive_other_warning.xml
@@ -24,9 +24,10 @@
 
             <TextView
                 android:id="@+id/submission_positive_other_warning_headline"
-                style="@style/textTitleLarger"
+                style="@style/headline5"
                 android:layout_width="@dimen/match_constraint"
                 android:layout_height="wrap_content"
+                android:layout_marginTop="@dimen/spacing_normal"
                 android:text="@string/submission_positive_other_warning_headline"
                 app:layout_constraintEnd_toEndOf="@id/guideline_end"
                 app:layout_constraintStart_toStartOf="@id/guideline_start"
@@ -34,7 +35,7 @@
 
             <TextView
                 android:id="@+id/submission_positive_other_warning_text"
-                style="@style/textMultiline"
+                style="@style/subtitle"
                 android:layout_width="@dimen/match_constraint"
                 android:layout_height="wrap_content"
                 android:layout_marginTop="@dimen/spacing_normal"
diff --git a/Corona-Warn-App/src/main/res/layout/include_submission_status_card_content.xml b/Corona-Warn-App/src/main/res/layout/include_submission_status_card_content.xml
index 140873894..4a9eec455 100644
--- a/Corona-Warn-App/src/main/res/layout/include_submission_status_card_content.xml
+++ b/Corona-Warn-App/src/main/res/layout/include_submission_status_card_content.xml
@@ -20,7 +20,7 @@
 
         <TextView
             android:id="@+id/submission_status_card_content_title"
-            style="@style/textTitleLarger"
+            style="@style/headline5"
             android:layout_width="@dimen/match_constraint"
             android:layout_height="wrap_content"
             android:layout_marginEnd="@dimen/spacing_tiny"
@@ -32,13 +32,13 @@
 
         <TextView
             android:id="@+id/submission_status_card_content_subtitle"
-            style="@style/textSubTitle"
+            style="@style/subtitleMedium"
             android:layout_width="@dimen/match_constraint"
             android:layout_height="wrap_content"
             android:layout_marginTop="@dimen/spacing_normal"
             android:layout_marginEnd="@dimen/spacing_tiny"
-            android:text="@{FormatterSubmissionHelper.formatTestResultStatusText(deviceUIState)}"
-            android:textColor="@{FormatterSubmissionHelper.formatTestResultStatusColor(deviceUIState)}"
+            android:text="@{FormatterSubmissionHelper.formatSubmissionStatusCardSubtitleText(deviceUIState)}"
+            android:textColor="@{FormatterSubmissionHelper.formatSubmissionStatusCardSubtitleColor(deviceUIState)}"
             android:visibility="@{FormatterSubmissionHelper.formatSubmissionStatusCardContentStatusTextVisible(deviceUIState)}"
             app:layout_constraintEnd_toStartOf="@+id/submission_status_card_content_icon"
             app:layout_constraintStart_toStartOf="parent"
@@ -47,7 +47,7 @@
 
         <TextView
             android:id="@+id/submission_status_card_content_body"
-            style="@style/textMultiline"
+            style="@style/subtitle"
             android:layout_width="@dimen/match_constraint"
             android:layout_height="wrap_content"
             android:layout_marginTop="@dimen/spacing_tiny"
@@ -71,11 +71,10 @@
             android:layout_width="@dimen/match_constraint"
             android:layout_height="wrap_content"
             android:layout_marginTop="@dimen/spacing_normal"
-            android:text="@{FormatterSubmissionHelper.formatSubmissionStatusCardContentButtonText(deviceUIState)}"
+            android:text="@string/submission_status_card_button_show_results"
             app:layout_constraintEnd_toEndOf="parent"
             app:layout_constraintStart_toStartOf="parent"
-            app:layout_constraintTop_toBottomOf="@+id/submission_status_card_content_barrier"
-            tools:text="@string/submission_status_card_button_show_results" />
+            app:layout_constraintTop_toBottomOf="@+id/submission_status_card_content_barrier" />
 
         <ImageView
             android:id="@+id/submission_status_card_content_icon"
diff --git a/Corona-Warn-App/src/main/res/layout/include_submission_status_card_fetching.xml b/Corona-Warn-App/src/main/res/layout/include_submission_status_card_fetching.xml
index f1318cf35..3a60545b6 100644
--- a/Corona-Warn-App/src/main/res/layout/include_submission_status_card_fetching.xml
+++ b/Corona-Warn-App/src/main/res/layout/include_submission_status_card_fetching.xml
@@ -10,7 +10,7 @@
 
         <TextView
             android:id="@+id/submission_status_card_fetching_title"
-            style="@style/textTitleLarger"
+            style="@style/headline5"
             android:layout_width="@dimen/match_constraint"
             android:layout_height="wrap_content"
             android:text="@string/submission_status_card_title_fetching"
@@ -30,7 +30,7 @@
 
         <TextView
             android:id="@+id/submission_status_card_fetching_body"
-            style="@style/textMultiline"
+            style="@style/subtitle"
             android:layout_height="wrap_content"
             android:layout_marginStart="@dimen/spacing_normal"
             android:layout_width="@dimen/match_constraint"
diff --git a/Corona-Warn-App/src/main/res/layout/include_submission_status_card_positive.xml b/Corona-Warn-App/src/main/res/layout/include_submission_status_card_positive.xml
index ee1cbe905..1f6527c6f 100644
--- a/Corona-Warn-App/src/main/res/layout/include_submission_status_card_positive.xml
+++ b/Corona-Warn-App/src/main/res/layout/include_submission_status_card_positive.xml
@@ -30,61 +30,69 @@
 
             <TextView
                 android:id="@+id/submission_status_card_positive_title"
-                style="@style/textTitleLarger"
+                style="@style/headline5"
                 android:layout_width="@dimen/match_constraint"
                 android:layout_height="wrap_content"
-                android:text="@string/submission_status_card_positive_result_title"
+                android:text="@string/submission_status_card_title_positive"
                 app:layout_constraintEnd_toEndOf="parent"
                 app:layout_constraintStart_toStartOf="parent"
                 app:layout_constraintTop_toTopOf="parent" />
 
             <include
                 android:id="@+id/submission_status_card_positive_result_card"
-                layout="@layout/include_test_result_card"
+                layout="@layout/include_test_result_card_positive"
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content"
                 android:layout_marginTop="@dimen/spacing_normal"
                 app:layout_constraintEnd_toEndOf="parent"
                 app:layout_constraintStart_toStartOf="parent"
-                app:layout_constraintTop_toBottomOf="@+id/submission_status_card_positive_title"
-                app:registerDate="@{registerDate}"
-                app:deviceUIState="@{DeviceUIState.PAIRED_POSITIVE}" />
+                app:layout_constraintTop_toBottomOf="@+id/submission_status_card_positive_title" />
+
+            <include
+                android:id="@+id/divider"
+                layout="@layout/include_divider"
+                android:layout_width="0dp"
+                android:layout_height="wrap_content"
+                android:layout_marginTop="@dimen/spacing_normal"
+                app:layout_constraintEnd_toEndOf="parent"
+                app:layout_constraintStart_toStartOf="parent"
+                app:layout_constraintTop_toBottomOf="@+id/submission_status_card_positive_result_card" />
 
             <TextView
                 android:id="@+id/submission_status_card_positive_result_subtitle"
-                style="@style/textSubTitle"
+                style="@style/headline5"
                 android:layout_width="@dimen/match_constraint"
                 android:layout_height="wrap_content"
                 android:layout_marginTop="@dimen/spacing_normal"
                 android:text="@string/submission_status_card_positive_result_subtitle"
                 app:layout_constraintEnd_toEndOf="parent"
                 app:layout_constraintStart_toStartOf="parent"
-                app:layout_constraintTop_toBottomOf="@+id/submission_status_card_positive_result_card" />
+                app:layout_constraintTop_toBottomOf="@+id/divider" />
 
             <include
-                android:id="@+id/submission_status_card_positive_result_contagious"
+                android:id="@+id/submission_status_card_positive_result_contact"
                 layout="@layout/include_risk_details_behavior_row"
                 android:layout_width="@dimen/match_constraint"
                 android:layout_height="wrap_content"
                 android:layout_marginTop="@dimen/spacing_normal"
-                app:body="@{@string/submission_status_card_positive_result_contagious}"
-                app:icon="@{@drawable/ic_risk_card_contact_increased}"
+                app:body="@{@string/submission_status_card_positive_result_contact}"
+                app:icon="@{@drawable/ic_risk_details_contact}"
                 app:layout_constraintEnd_toEndOf="parent"
                 app:layout_constraintStart_toStartOf="parent"
                 app:layout_constraintTop_toBottomOf="@+id/submission_status_card_positive_result_subtitle"
                 app:riskLevel="@{RiskLevelConstants.INCREASED_RISK}" />
 
             <include
-                android:id="@+id/submission_status_card_positive_result_isolate"
+                android:id="@+id/submission_status_card_positive_result_contagious"
                 layout="@layout/include_risk_details_behavior_row"
                 android:layout_width="@dimen/match_constraint"
                 android:layout_height="wrap_content"
                 android:layout_marginTop="@dimen/spacing_normal"
-                app:body="@{@string/submission_status_card_positive_result_isolate}"
+                app:body="@{@string/submission_status_card_positive_result_contagious}"
                 app:icon="@{@drawable/ic_risk_details_home}"
                 app:layout_constraintEnd_toEndOf="parent"
                 app:layout_constraintStart_toStartOf="parent"
-                app:layout_constraintTop_toBottomOf="@+id/submission_status_card_positive_result_contagious"
+                app:layout_constraintTop_toBottomOf="@+id/submission_status_card_positive_result_contact"
                 app:riskLevel="@{RiskLevelConstants.INCREASED_RISK}" />
 
             <include
@@ -97,7 +105,7 @@
                 app:icon="@{@drawable/ic_risk_details_share}"
                 app:layout_constraintEnd_toEndOf="parent"
                 app:layout_constraintStart_toStartOf="parent"
-                app:layout_constraintTop_toBottomOf="@+id/submission_status_card_positive_result_isolate"
+                app:layout_constraintTop_toBottomOf="@+id/submission_status_card_positive_result_contagious"
                 app:riskLevel="@{RiskLevelConstants.INCREASED_RISK}" />
 
             <Button
@@ -106,7 +114,7 @@
                 android:layout_width="@dimen/match_constraint"
                 android:layout_height="wrap_content"
                 android:layout_marginTop="@dimen/spacing_normal"
-                android:text="@string/submission_status_card_positive_result_show_button"
+                android:text="@string/submission_test_result_positive_continue_button"
                 app:layout_constraintEnd_toEndOf="parent"
                 app:layout_constraintStart_toStartOf="parent"
                 app:layout_constraintTop_toBottomOf="@+id/submission_status_card_positive_result_share" />
diff --git a/Corona-Warn-App/src/main/res/layout/include_submission_status_card_unregistered.xml b/Corona-Warn-App/src/main/res/layout/include_submission_status_card_unregistered.xml
index 275dda56f..27465e371 100644
--- a/Corona-Warn-App/src/main/res/layout/include_submission_status_card_unregistered.xml
+++ b/Corona-Warn-App/src/main/res/layout/include_submission_status_card_unregistered.xml
@@ -10,7 +10,7 @@
 
         <TextView
             android:id="@+id/submission_status_card_unregistered_title"
-            style="@style/textTitleLarger"
+            style="@style/headline5"
             android:layout_width="@dimen/match_constraint"
             android:layout_height="wrap_content"
             android:layout_marginEnd="@dimen/spacing_small"
@@ -22,7 +22,7 @@
 
         <TextView
             android:id="@+id/submission_status_card_unregistered_body"
-            style="@style/textMultiline"
+            style="@style/subtitle"
             android:layout_width="@dimen/match_constraint"
             android:layout_height="wrap_content"
             android:layout_marginTop="@dimen/spacing_normal"
diff --git a/Corona-Warn-App/src/main/res/layout/include_submission_test_result.xml b/Corona-Warn-App/src/main/res/layout/include_submission_test_result.xml
new file mode 100644
index 000000000..f28092392
--- /dev/null
+++ b/Corona-Warn-App/src/main/res/layout/include_submission_test_result.xml
@@ -0,0 +1,95 @@
+<?xml version="1.0" encoding="utf-8"?>
+<layout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto">
+
+    <data>
+
+        <import type="de.rki.coronawarnapp.util.formatter.FormatterSubmissionHelper" />
+
+        <variable
+            name="submissionViewModel"
+            type="de.rki.coronawarnapp.ui.viewmodel.SubmissionViewModel" />
+    </data>
+
+
+    <ScrollView
+        style="@style/fadingScrollView"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent">
+
+        <androidx.constraintlayout.widget.ConstraintLayout
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content">
+
+            <include
+                android:id="@+id/submission_test_result_card"
+                layout="@layout/include_test_result_card"
+                android:layout_width="@dimen/match_constraint"
+                android:layout_height="wrap_content"
+                android:layout_marginTop="@dimen/spacing_small"
+                app:deviceUIState="@{submissionViewModel.deviceUiState}"
+                app:layout_constraintEnd_toEndOf="@+id/guideline_end"
+                app:layout_constraintStart_toStartOf="@+id/guideline_start"
+                app:layout_constraintTop_toTopOf="parent"
+                app:registerDate="@{submissionViewModel.testResultReceivedDate}" />
+
+            <TextView
+                android:id="@+id/submission_test_result_subtitle"
+                style="@style/headline5"
+                android:layout_width="@dimen/match_constraint"
+                android:layout_height="wrap_content"
+                android:layout_marginTop="@dimen/spacing_normal"
+                android:text="@string/submission_test_result_subtitle"
+                app:layout_constraintEnd_toEndOf="@+id/guideline_end"
+                app:layout_constraintStart_toStartOf="@+id/guideline_start"
+                app:layout_constraintTop_toBottomOf="@+id/submission_test_result_card" />
+
+            <include
+                android:id="@+id/submission_test_result_pending_steps"
+                layout="@layout/include_test_result_pending_steps"
+                android:layout_width="@dimen/match_constraint"
+                android:layout_height="wrap_content"
+                android:layout_marginTop="@dimen/spacing_normal"
+                android:visibility="@{FormatterSubmissionHelper.formatTestResultPendingStepsVisible(submissionViewModel.deviceUiState)}"
+                app:layout_constraintEnd_toEndOf="@+id/guideline_end"
+                app:layout_constraintStart_toStartOf="@+id/guideline_start"
+                app:layout_constraintTop_toBottomOf="@+id/submission_test_result_subtitle" />
+
+            <include
+                android:id="@+id/submission_test_result_negative_steps"
+                layout="@layout/include_test_result_negative_steps"
+                android:layout_width="@dimen/match_constraint"
+                android:layout_height="wrap_content"
+                android:layout_marginTop="@dimen/spacing_normal"
+                android:visibility="@{FormatterSubmissionHelper.formatTestResultNegativeStepsVisible(submissionViewModel.deviceUiState)}"
+                app:layout_constraintEnd_toEndOf="@+id/guideline_end"
+                app:layout_constraintStart_toStartOf="@+id/guideline_start"
+                app:layout_constraintTop_toBottomOf="@+id/submission_test_result_subtitle" />
+
+            <include
+                android:id="@+id/submission_test_result_positive_steps"
+                layout="@layout/include_test_result_positive_steps"
+                android:layout_width="@dimen/match_constraint"
+                android:layout_height="wrap_content"
+                android:layout_marginTop="@dimen/spacing_normal"
+                android:visibility="@{FormatterSubmissionHelper.formatTestResultPositiveStepsVisible(submissionViewModel.deviceUiState)}"
+                app:layout_constraintEnd_toEndOf="@+id/guideline_end"
+                app:layout_constraintStart_toStartOf="@+id/guideline_start"
+                app:layout_constraintTop_toBottomOf="@+id/submission_test_result_subtitle" />
+
+            <include
+                android:id="@+id/submission_test_result_invalid_steps"
+                layout="@layout/include_test_result_invalid_steps"
+                android:layout_width="@dimen/match_constraint"
+                android:layout_height="wrap_content"
+                android:layout_marginTop="@dimen/spacing_normal"
+                android:visibility="@{FormatterSubmissionHelper.formatTestResultInvalidStepsVisible(submissionViewModel.deviceUiState)}"
+                app:layout_constraintEnd_toEndOf="@+id/guideline_end"
+                app:layout_constraintStart_toStartOf="@+id/guideline_start"
+                app:layout_constraintTop_toBottomOf="@+id/submission_test_result_subtitle" />
+
+            <include layout="@layout/merge_guidelines_side" />
+
+        </androidx.constraintlayout.widget.ConstraintLayout>
+    </ScrollView>
+</layout>
\ No newline at end of file
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 df1b8c286..ef96da3c6 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
@@ -22,7 +22,7 @@
 
         <TextView
             android:id="@+id/test_result_card_headline"
-            style="@style/textMultiline"
+            style="@style/body2"
             android:layout_width="@dimen/match_constraint"
             android:layout_height="wrap_content"
             android:layout_marginEnd="@dimen/spacing_tiny"
@@ -33,7 +33,7 @@
 
         <TextView
             android:id="@+id/test_result_card_content"
-            style="@style/textTitleLarger"
+            style="@style/headline5"
             android:layout_width="@dimen/match_constraint"
             android:layout_height="wrap_content"
             android:layout_marginEnd="@dimen/spacing_tiny"
@@ -54,7 +54,7 @@
 
         <TextView
             android:id="@+id/test_result_card_registered_at_text"
-            style="@style/textMultiline"
+            style="@style/body2"
             android:layout_width="@dimen/match_constraint"
             android:layout_height="wrap_content"
             android:layout_marginTop="@dimen/spacing_normal"
diff --git a/Corona-Warn-App/src/main/res/layout/include_test_result_card_positive.xml b/Corona-Warn-App/src/main/res/layout/include_test_result_card_positive.xml
new file mode 100644
index 000000000..86fb1d367
--- /dev/null
+++ b/Corona-Warn-App/src/main/res/layout/include_test_result_card_positive.xml
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="utf-8"?>
+<layout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    xmlns:tools="http://schemas.android.com/tools">
+
+    <androidx.constraintlayout.widget.ConstraintLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content">
+
+        <TextView
+            android:id="@+id/test_result_card_positive_title"
+            style="@style/headline6"
+            android:layout_width="@dimen/match_constraint"
+            android:layout_height="wrap_content"
+            android:layout_marginEnd="@dimen/spacing_tiny"
+            android:text="@string/submission_test_result_card_positive_title"
+            app:layout_constraintEnd_toStartOf="@id/test_result_card_positive_icon"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintTop_toTopOf="parent" />
+
+        <ImageView
+            android:id="@+id/test_result_card_positive_icon"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:background="@drawable/ic_test_result_illustration_positive"
+            app:layout_constraintEnd_toEndOf="parent"
+            app:layout_constraintTop_toTopOf="parent"
+            tools:src="@drawable/ic_test_result_illustration_positive" />
+
+        <TextView
+            android:id="@+id/test_result_card_positive_body"
+            style="@style/body2"
+            android:layout_width="@dimen/match_constraint"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="@dimen/spacing_normal"
+            android:layout_marginEnd="@dimen/spacing_tiny"
+            android:text="@string/submission_test_result_card_positive_body"
+            app:layout_constraintEnd_toStartOf="@id/test_result_card_positive_icon"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintTop_toBottomOf="@id/test_result_card_positive_title" />
+
+    </androidx.constraintlayout.widget.ConstraintLayout>
+</layout>
\ No newline at end of file
diff --git a/Corona-Warn-App/src/main/res/layout/merge_guidelines_common.xml b/Corona-Warn-App/src/main/res/layout/merge_guidelines_common.xml
deleted file mode 100644
index 4ddf47744..000000000
--- a/Corona-Warn-App/src/main/res/layout/merge_guidelines_common.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<layout>
-
-    <merge xmlns:android="http://schemas.android.com/apk/res/android"
-        xmlns:app="http://schemas.android.com/apk/res-auto">
-
-        <androidx.constraintlayout.widget.Guideline
-            android:id="@+id/guideline_top"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:orientation="horizontal"
-            app:layout_constraintGuide_begin="@dimen/guideline_top" />
-
-        <androidx.constraintlayout.widget.Guideline
-            android:id="@+id/guideline_start"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:orientation="vertical"
-            app:layout_constraintGuide_begin="@dimen/guideline_start" />
-
-        <androidx.constraintlayout.widget.Guideline
-            android:id="@+id/guideline_end"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:orientation="vertical"
-            app:layout_constraintGuide_end="@dimen/guideline_end" />
-
-    </merge>
-
-</layout>
diff --git a/Corona-Warn-App/src/main/res/navigation/nav_graph.xml b/Corona-Warn-App/src/main/res/navigation/nav_graph.xml
index 6ae74c712..e0b293bc8 100644
--- a/Corona-Warn-App/src/main/res/navigation/nav_graph.xml
+++ b/Corona-Warn-App/src/main/res/navigation/nav_graph.xml
@@ -160,17 +160,6 @@
         tools:layout="@layout/fragment_information_technical" />
 
     <!-- Submission -->
-    <dialog
-        android:id="@+id/submissionSuccessDialogFragment"
-        android:name="de.rki.coronawarnapp.ui.submission.SubmissionSuccessDialogFragment"
-        android:label="SubmissionSuccessDialogFragment">
-        <action
-            android:id="@+id/action_submissionSuccessDialogFragment_to_mainFragment"
-            app:destination="@id/mainFragment"
-            app:popUpTo="@+id/mainFragment"
-            app:popUpToInclusive="true" />
-    </dialog>
-
     <fragment
         android:id="@+id/testForAPIFragment"
         android:name="de.rki.coronawarnapp.TestForAPIFragment"
@@ -223,9 +212,6 @@
         android:name="de.rki.coronawarnapp.ui.submission.SubmissionTestResultFragment"
         android:label="fragment_submission_result"
         tools:layout="@layout/fragment_submission_test_result">
-        <action
-            android:id="@+id/action_submissionResultFragment_to_submissionSuccessDialogFragment"
-            app:destination="@id/submissionSuccessDialogFragment" />
         <action
             android:id="@+id/action_submissionResultFragment_to_mainFragment"
             app:destination="@id/mainFragment"
diff --git a/Corona-Warn-App/src/main/res/values/dimens.xml b/Corona-Warn-App/src/main/res/values/dimens.xml
index 250329a00..b7a0fb655 100644
--- a/Corona-Warn-App/src/main/res/values/dimens.xml
+++ b/Corona-Warn-App/src/main/res/values/dimens.xml
@@ -81,8 +81,8 @@
     <!-- Submission Tan Input -->
     <dimen name="submission_tan_input_edittext_size">1dp</dimen>
     <dimen name="submission_tan_input_digit_radius">2dp</dimen>
-    <dimen name="submission_tan_input_digit_width">36dp</dimen>
-    <dimen name="submission_tan_input_digit_height">50dp</dimen>
+    <dimen name="submission_tan_input_digit_width">24dp</dimen>
+    <dimen name="submission_tan_input_digit_height">32dp</dimen>
 
     <!-- Submission QR Code Scan -->
     <dimen name="submission_scan_qr_code_viewfinder_size">240dp</dimen>
diff --git a/Corona-Warn-App/src/main/res/values/strings.xml b/Corona-Warn-App/src/main/res/values/strings.xml
index 04c86c5dc..1c8c91a50 100644
--- a/Corona-Warn-App/src/main/res/values/strings.xml
+++ b/Corona-Warn-App/src/main/res/values/strings.xml
@@ -654,6 +654,10 @@
     <string name="submission_test_result_dialog_tracing_required_message">Bitte aktivieren Sie die Risiko-Ermittlung um andere zu warnen.</string>
     <!-- XBUT: tracing required : OK button -->
     <string name="submission_test_result_dialog_tracing_required_button">OK</string>
+    <!-- XHED: Title for test result card positive -->
+    <string name="submission_test_result_card_positive_title">SARS-CoV-2 Positiv</string>
+    <!-- YTXT: Body text for test result card positive -->
+    <string name="submission_test_result_card_positive_body">Das Virus SARS-CoV-2 wurde bei Ihnen nachgewiesen.</string>
 
     <!-- Submission Tan -->
     <!-- XHED: Page title for TAN submission pge -->
@@ -743,9 +747,7 @@
     <!-- YTXT: text after submission: contagious -->
     <string name="submission_done_contagious">Sie sind ansteckend.</string>
     <!-- YTXT: text after submission: isolate -->
-    <string name="submission_done_isolate">Bitte isolieren Sie sich von anderen Personen.</string>
-    <!-- YTXT: text after submission: contact -->
-    <string name="submission_done_contact">Das Gesundheitsamt wird sich in den nächsten Tagen telefonisch oder schriftlich bei Ihnen melden.</string>
+    <string name="submission_done_isolate">Isolieren Sie sich von anderen Personen.</string>
     <!-- XHED: Title for further info -->
     <string name="submission_done_further_info_title">Weitere Infos:</string>
     <!-- YTXT: Content for further info -->
@@ -785,22 +787,28 @@
     <string name="submission_status_card_title_pending">Ergebnis liegt noch nicht vor</string>
     <!-- XHED: Page title for the various submission status: available -->
     <string name="submission_status_card_title_available">Ihr Ergebnis liegt vor</string>
+    <!-- XHED: Page title for the various submission status: positive -->
+    <string name="submission_status_card_title_positive">Befund Positiv</string>
+    <!-- XHED: Subtitle for the submission status card: invalid -->
+    <string name="submission_status_card_subtitle_invalid">Fehlerhafter Test</string>
+    <!-- XHED: Subtitle for the submission status card: negative -->
+    <string name="submission_status_card_subtitle_negative">Befund Negativ</string>
     <!-- YTXT: Body text for submission status: fetching -->
     <string name="submission_status_card_body_fetching">Das Ergebnis wird aktualisiert</string>
     <!-- YTXT: Body text for submission status: unregistered -->
-    <string name="submission_status_card_body_unregistered">Helfen Sie mit, die Infektionskette zu durchbrechen und warnen Sie Andere.</string>
+    <string name="submission_status_card_body_unregistered">Helfen Sie, die Ausbreitung des Virus zu verlangsamen.</string>
     <!-- YTXT: Body text for submission status: pending -->
-    <string name="submission_status_card_body_pending">Die Auswertung dauert zwischen 1–3 Tagen.</string>
+    <string name="submission_status_card_body_pending">Die Auswertung Ihres Tests ist noch nicht abgeschlossen.</string>
     <!-- YTXT: Body text for submission status: invalid -->
-    <string name="submission_status_card_body_invalid">Ihr test könnte nicht ausgewertet werden.</string>
+    <string name="submission_status_card_body_invalid">Ihr Test konnte nicht ausgewertet werden.</string>
     <!-- YTXT: Body text for submission status: positive -->
     <string name="submission_status_card_body_positive">Sie wurden positiv auf SARS-CoV-2 getestet.</string>
     <!-- YTXT: Body text for submission status: negative -->
-    <string name="submission_status_card_body_negative">Sie wurden negativ auf SARS-CoV-2 getestet.</string>
+    <string name="submission_status_card_body_negative">Das Virus SARS-CoV-2 konnte bei Ihnen nicht nachgewiesen werden.</string>
     <!-- XBUT: submission status card unregistered button -->
     <string name="submission_status_card_button_unregistered">Informieren &amp; mitmachen</string>
     <!-- XBUT: submission status card show results button -->
-    <string name="submission_status_card_button_show_results">Ergebnis anzeigen</string>
+    <string name="submission_status_card_button_show_results">Test anzeigen</string>
     <!-- XBUT: submission status card show details button -->
     <string name="submission_status_card_button_show_details">Details anzeigen</string>
     <!-- XHED: submission status card positive result title -->
@@ -810,9 +818,9 @@
     <!-- XBUT: submission status card show positive result button -->
     <string name="submission_status_card_positive_result_show_button">Test-Ergebnis anzeigen</string>
     <!-- YTXT: text for contagious card -->
-    <string name="submission_status_card_positive_result_contagious">@string/submission_done_contagious</string>
-    <!-- YTXT: text for isolate card -->
-    <string name="submission_status_card_positive_result_isolate">@string/submission_done_isolate</string>
+    <string name="submission_status_card_positive_result_contagious">Sie sind ansteckend. Isolieren Sie sich von anderen Personen.</string>
+    <!-- YTXT: text for contact card -->
+    <string name="submission_status_card_positive_result_contact">Das Gesundheitsamt wird sich in den nächsten Tagen telefonisch oder schriftlich bei Ihnen melden.</string>
     <!-- YTXT: text for share result card-->
     <string name="submission_status_card_positive_result_share">Teilen Sie Ihre Zufallskennungen, damit andere gewarnt werden können.</string>
 
diff --git a/Corona-Warn-App/src/main/res/values/styles.xml b/Corona-Warn-App/src/main/res/values/styles.xml
index b80dd8418..dc8e56d9e 100644
--- a/Corona-Warn-App/src/main/res/values/styles.xml
+++ b/Corona-Warn-App/src/main/res/values/styles.xml
@@ -172,44 +172,6 @@
         <item name="android:textColor">@color/colorTextPrimary1</item>
     </style>
 
-
-    <!-- ####################################
-                    OLD Text
-                    TODO: DELETE
-    ###################################### -->
-    <style name="textTitle" parent="@style/TextAppearance.AppCompat.Headline">
-        <item name="android:textSize">@dimen/font_title</item>
-        <item name="android:textColor">@color/colorTextPrimary1</item>
-        <item name="android:fontFamily">sans-serif-medium</item>
-    </style>
-
-    <style name="textTitleLarger">
-        <item name="android:textSize">@dimen/font_larger</item>
-        <item name="android:textColor">@color/colorTextPrimary1</item>
-        <item name="android:fontFamily">sans-serif</item>
-    </style>
-
-    <style name="textHeadline" parent="textTitleLarger">
-        <item name="android:textSize">@dimen/font_largest</item>
-    </style>
-
-    <style name="textSubTitle" parent="textTitle" />
-
-    <style name="textTitleCentered" parent="textTitle">
-        <item name="android:textAlignment">center</item>
-    </style>
-
-    <style name="textMultiline" parent="@style/TextAppearance.AppCompat.Body1">
-        <item name="android:textColor">@color/colorTextPrimary1</item>
-        <item name="android:textSize">@dimen/font_normal</item>
-        <item name="android:fontFamily">sans-serif</item>
-        <item name="android:lineSpacingExtra">@dimen/font_line_spacing_extra</item>
-    </style>
-
-    <style name="textMultilineCentered" parent="@style/textMultiline">
-        <item name="android:textAlignment">center</item>
-    </style>
-
     <!-- ####################################
               Icons
     ###################################### -->
@@ -251,7 +213,7 @@
               Submission
     ###################################### -->
 
-    <style name="tanInputDigit" parent="textTitle">
+    <style name="tanInputDigit" parent="headline6">
         <item name="android:layout_width">@dimen/submission_tan_input_digit_width</item>
         <item name="android:layout_height">@dimen/submission_tan_input_digit_height</item>
         <item name="android:background">@drawable/tan_input_digit</item>
-- 
GitLab