From ae55ace270ce8fdf043835ba149d07260578114f Mon Sep 17 00:00:00 2001
From: axelherbstreith <75120552+axelherbstreith@users.noreply.github.com>
Date: Fri, 5 Mar 2021 12:21:35 +0100
Subject: [PATCH] Legal Screen for Debug Log (EXPOSUREAPP-5029) (#2517)

* added basic layout

* added strings

* formatting

* removed spacing

* updated string usage

* updated header font size

* update module

* added navigation

* refactoring

* lint

* refactoring

* refactoring

* refactoring

* Changes text to legal strings

* changed id reference

* Adjust layouts: Toolsbar, titles, icons

* Day/Night mode and background color adjustments.

Co-authored-by: Matthias Urhahn <matthias.urhahn@sap.com>
---
 .../ui/legal/DebugLogLegalFragment.kt         |  36 +++
 .../debuglog/ui/legal/DebugLogLegalModule.kt  |  20 ++
 .../ui/legal/DebugLogLegalViewModel.kt        |  12 +
 .../ui/upload/DebugLogUploadFragment.kt       |   7 +-
 .../ui/upload/DebugLogUploadViewModel.kt      |   4 +
 .../information/InformationFragmentModule.kt  |   2 +
 .../layout/bugreporting_debuglog_fragment.xml | 303 +++++++++---------
 .../bugreporting_debuglog_upload_fragment.xml | 292 ++++++++---------
 .../layout/bugreporting_legal_fragment.xml    | 106 ++++++
 .../bugreporting_upload_history_fragment.xml  |   6 +-
 .../include_debuglog_legal_privacy_card.xml   |  49 +++
 .../src/main/res/navigation/nav_graph.xml     |  11 +-
 .../src/main/res/values-de/legal_strings.xml  |  20 ++
 .../src/main/res/values-de/strings.xml        |  21 +-
 .../src/main/res/values/legal_strings.xml     |  50 ++-
 .../src/main/res/values/strings.xml           |  20 +-
 .../src/main/res/values/styles.xml            |   8 +
 17 files changed, 613 insertions(+), 354 deletions(-)
 create mode 100644 Corona-Warn-App/src/main/java/de/rki/coronawarnapp/bugreporting/debuglog/ui/legal/DebugLogLegalFragment.kt
 create mode 100644 Corona-Warn-App/src/main/java/de/rki/coronawarnapp/bugreporting/debuglog/ui/legal/DebugLogLegalModule.kt
 create mode 100644 Corona-Warn-App/src/main/java/de/rki/coronawarnapp/bugreporting/debuglog/ui/legal/DebugLogLegalViewModel.kt
 create mode 100644 Corona-Warn-App/src/main/res/layout/bugreporting_legal_fragment.xml
 create mode 100644 Corona-Warn-App/src/main/res/layout/include_debuglog_legal_privacy_card.xml

diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/bugreporting/debuglog/ui/legal/DebugLogLegalFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/bugreporting/debuglog/ui/legal/DebugLogLegalFragment.kt
new file mode 100644
index 000000000..a56f0df18
--- /dev/null
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/bugreporting/debuglog/ui/legal/DebugLogLegalFragment.kt
@@ -0,0 +1,36 @@
+package de.rki.coronawarnapp.bugreporting.debuglog.ui.legal
+
+import android.os.Bundle
+import android.view.View
+import android.view.accessibility.AccessibilityEvent
+import androidx.fragment.app.Fragment
+import de.rki.coronawarnapp.R
+import de.rki.coronawarnapp.databinding.BugreportingLegalFragmentBinding
+import de.rki.coronawarnapp.util.di.AutoInject
+import de.rki.coronawarnapp.util.ui.popBackStack
+import de.rki.coronawarnapp.util.ui.viewBindingLazy
+import de.rki.coronawarnapp.util.viewmodel.CWAViewModelFactoryProvider
+import de.rki.coronawarnapp.util.viewmodel.cwaViewModels
+import javax.inject.Inject
+
+class DebugLogLegalFragment : Fragment(R.layout.bugreporting_legal_fragment), AutoInject {
+
+    @Inject lateinit var viewModelFactory: CWAViewModelFactoryProvider.Factory
+
+    private val vm: DebugLogLegalViewModel by cwaViewModels { viewModelFactory }
+    private val binding: BugreportingLegalFragmentBinding by viewBindingLazy()
+
+    override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
+        super.onViewCreated(view, savedInstanceState)
+        binding.apply {
+            toolbar.setOnClickListener {
+                popBackStack()
+            }
+        }
+    }
+
+    override fun onResume() {
+        super.onResume()
+        binding.contentContainer.sendAccessibilityEvent(AccessibilityEvent.TYPE_ANNOUNCEMENT)
+    }
+}
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/bugreporting/debuglog/ui/legal/DebugLogLegalModule.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/bugreporting/debuglog/ui/legal/DebugLogLegalModule.kt
new file mode 100644
index 000000000..d3a707cb2
--- /dev/null
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/bugreporting/debuglog/ui/legal/DebugLogLegalModule.kt
@@ -0,0 +1,20 @@
+package de.rki.coronawarnapp.bugreporting.debuglog.ui.legal
+
+import dagger.Binds
+import dagger.Module
+import dagger.android.ContributesAndroidInjector
+import dagger.multibindings.IntoMap
+import de.rki.coronawarnapp.util.viewmodel.CWAViewModel
+import de.rki.coronawarnapp.util.viewmodel.CWAViewModelFactory
+import de.rki.coronawarnapp.util.viewmodel.CWAViewModelKey
+
+@Module
+abstract class DebugLogLegalModule {
+    @Binds
+    @IntoMap
+    @CWAViewModelKey(DebugLogLegalViewModel::class)
+    abstract fun debugLogLegalViewModel(factory: DebugLogLegalViewModel.Factory): CWAViewModelFactory<out CWAViewModel>
+
+    @ContributesAndroidInjector
+    abstract fun debugLogLegalFragment(): DebugLogLegalFragment
+}
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/bugreporting/debuglog/ui/legal/DebugLogLegalViewModel.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/bugreporting/debuglog/ui/legal/DebugLogLegalViewModel.kt
new file mode 100644
index 000000000..8a162171f
--- /dev/null
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/bugreporting/debuglog/ui/legal/DebugLogLegalViewModel.kt
@@ -0,0 +1,12 @@
+package de.rki.coronawarnapp.bugreporting.debuglog.ui.legal
+
+import dagger.assisted.AssistedFactory
+import dagger.assisted.AssistedInject
+import de.rki.coronawarnapp.util.viewmodel.CWAViewModel
+import de.rki.coronawarnapp.util.viewmodel.SimpleCWAViewModelFactory
+
+class DebugLogLegalViewModel @AssistedInject constructor() : CWAViewModel() {
+
+    @AssistedFactory
+    interface Factory : SimpleCWAViewModelFactory<DebugLogLegalViewModel>
+}
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/bugreporting/debuglog/ui/upload/DebugLogUploadFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/bugreporting/debuglog/ui/upload/DebugLogUploadFragment.kt
index f4760fbef..ed7787956 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/bugreporting/debuglog/ui/upload/DebugLogUploadFragment.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/bugreporting/debuglog/ui/upload/DebugLogUploadFragment.kt
@@ -7,6 +7,7 @@ import androidx.fragment.app.Fragment
 import de.rki.coronawarnapp.R
 import de.rki.coronawarnapp.databinding.BugreportingDebuglogUploadFragmentBinding
 import de.rki.coronawarnapp.util.di.AutoInject
+import de.rki.coronawarnapp.util.ui.doNavigate
 import de.rki.coronawarnapp.util.ui.observe2
 import de.rki.coronawarnapp.util.ui.popBackStack
 import de.rki.coronawarnapp.util.ui.viewBindingLazy
@@ -29,7 +30,7 @@ class DebugLogUploadFragment : Fragment(R.layout.bugreporting_debuglog_upload_fr
             }
 
             debugLogSharePrivacyInformation.setOnClickListener {
-                // TODO Add navigation to new screen
+                vm.onPrivacyButtonPress()
             }
 
             toolbar.setNavigationOnClickListener { popBackStack() }
@@ -39,7 +40,9 @@ class DebugLogUploadFragment : Fragment(R.layout.bugreporting_debuglog_upload_fr
             when (it) {
 
                 DebugLogUploadNavigationEvents.NavigateToMoreInformationFragment -> {
-                    // TODO Add navigation to new screen
+                    doNavigate(
+                        DebugLogUploadFragmentDirections.actionDebugLogUploadFragmentToDebugLogLegalFragment()
+                    )
                 }
             }
         }
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/bugreporting/debuglog/ui/upload/DebugLogUploadViewModel.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/bugreporting/debuglog/ui/upload/DebugLogUploadViewModel.kt
index d14e063a8..6145ebeed 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/bugreporting/debuglog/ui/upload/DebugLogUploadViewModel.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/bugreporting/debuglog/ui/upload/DebugLogUploadViewModel.kt
@@ -16,6 +16,10 @@ class DebugLogUploadViewModel @AssistedInject constructor(
         // TODO Implement Uploading
     }
 
+    fun onPrivacyButtonPress() {
+        routeToScreen.postValue(DebugLogUploadNavigationEvents.NavigateToMoreInformationFragment)
+    }
+
     @AssistedFactory
     interface Factory : SimpleCWAViewModelFactory<DebugLogUploadViewModel>
 }
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/information/InformationFragmentModule.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/information/InformationFragmentModule.kt
index 96ee712dd..9082a6018 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/information/InformationFragmentModule.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/information/InformationFragmentModule.kt
@@ -5,6 +5,7 @@ import dagger.Module
 import dagger.android.ContributesAndroidInjector
 import dagger.multibindings.IntoMap
 import de.rki.coronawarnapp.bugreporting.debuglog.ui.DebugLogFragmentModule
+import de.rki.coronawarnapp.bugreporting.debuglog.ui.legal.DebugLogLegalModule
 import de.rki.coronawarnapp.bugreporting.debuglog.ui.upload.DebugLogUploadFragmentModule
 import de.rki.coronawarnapp.bugreporting.uploadhistory.ui.LogUploadHistoryModule
 import de.rki.coronawarnapp.util.viewmodel.CWAViewModel
@@ -15,6 +16,7 @@ import de.rki.coronawarnapp.util.viewmodel.CWAViewModelKey
     includes = [
         DebugLogFragmentModule::class,
         LogUploadHistoryModule::class,
+        DebugLogLegalModule::class,
         DebugLogUploadFragmentModule::class
     ]
 )
diff --git a/Corona-Warn-App/src/main/res/layout/bugreporting_debuglog_fragment.xml b/Corona-Warn-App/src/main/res/layout/bugreporting_debuglog_fragment.xml
index dc17cdd13..e933ec315 100644
--- a/Corona-Warn-App/src/main/res/layout/bugreporting_debuglog_fragment.xml
+++ b/Corona-Warn-App/src/main/res/layout/bugreporting_debuglog_fragment.xml
@@ -1,177 +1,179 @@
-<layout xmlns:android="http://schemas.android.com/apk/res/android"
+<?xml version="1.0" encoding="utf-8"?>
+<androidx.constraintlayout.widget.ConstraintLayout 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">
+    xmlns:tools="http://schemas.android.com/tools"
+    android:id="@+id/content_container"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:contentDescription="@string/contact_diary_title"
+    android:focusable="true">
+
+    <com.google.android.material.appbar.MaterialToolbar
+        android:id="@+id/toolbar"
+        style="@style/CWAToolbar.BackArrow.Transparent"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        app:layout_constraintEnd_toEndOf="parent"
+        app:layout_constraintStart_toStartOf="parent"
+        app:layout_constraintTop_toTopOf="parent"
+        app:title="@string/debugging_debuglog_title" />
 
-    <androidx.constraintlayout.widget.ConstraintLayout
-        android:id="@+id/content_container"
+    <ScrollView
         android:layout_width="match_parent"
-        android:layout_height="match_parent"
-        android:background="@drawable/contact_diary_onboarding_background"
-        android:contentDescription="@string/contact_diary_title"
-        android:focusable="true">
-
-        <Toolbar
-            android:id="@+id/toolbar"
-            style="@style/CWAToolbar"
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:navigationIcon="@drawable/ic_back"
-            android:title="@string/debugging_debuglog_title"
-            app:layout_constraintEnd_toEndOf="parent"
-            app:layout_constraintStart_toStartOf="parent"
-            app:layout_constraintTop_toTopOf="parent" />
+        android:layout_height="0dp"
+        android:layout_marginBottom="12dp"
+        android:clipToPadding="false"
+        android:paddingBottom="32dp"
+        app:layout_constraintBottom_toTopOf="@+id/log_control_container"
+        app:layout_constraintEnd_toEndOf="parent"
+        app:layout_constraintStart_toStartOf="parent"
+        app:layout_constraintTop_toBottomOf="@+id/toolbar">
 
-        <ScrollView
+        <androidx.constraintlayout.widget.ConstraintLayout
             android:layout_width="match_parent"
-            android:layout_height="0dp"
-            android:layout_marginBottom="12dp"
-            android:clipToPadding="false"
-            android:paddingBottom="32dp"
-            app:layout_constraintBottom_toTopOf="@+id/debug_log_analysis_title"
-            app:layout_constraintEnd_toEndOf="parent"
-            app:layout_constraintStart_toStartOf="parent"
-            app:layout_constraintTop_toBottomOf="@+id/toolbar">
+            android:layout_height="0dp">
+
+            <TextView
+                android:id="@+id/explanation_section_one"
+                style="@style/body1"
+                android:layout_width="0dp"
+                android:layout_height="wrap_content"
+                android:layout_margin="24dp"
+                android:padding="16dp"
+                android:text="@string/debugging_debuglog_intro_explanation_section_one"
+                app:layout_constraintEnd_toEndOf="parent"
+                app:layout_constraintStart_toStartOf="parent"
+                app:layout_constraintTop_toTopOf="parent" />
+
+            <TextView
+                android:id="@+id/explanation_section_two"
+                style="@style/body1"
+                android:layout_width="0dp"
+                android:layout_height="wrap_content"
+                android:layout_margin="24dp"
+                android:text="@string/debugging_debuglog_intro_explanation_section_two"
+                app:layout_constraintEnd_toEndOf="parent"
+                app:layout_constraintStart_toStartOf="parent"
+                app:layout_constraintTop_toBottomOf="@+id/explanation_section_one" />
+
+            <include
+                android:id="@+id/debug_log_privacy_card"
+                layout="@layout/include_debuglog_privacy_card"
+                android:layout_width="0dp"
+                android:layout_height="wrap_content"
+                android:layout_marginHorizontal="@dimen/guideline_card"
+                android:layout_marginTop="16dp"
+                android:focusable="true"
+                app:layout_constraintEnd_toEndOf="parent"
+                app:layout_constraintStart_toStartOf="parent"
+                app:layout_constraintTop_toBottomOf="@id/explanation_section_two" />
 
             <androidx.constraintlayout.widget.ConstraintLayout
+                android:id="@+id/debug_log_history_container"
                 android:layout_width="match_parent"
-                android:layout_height="0dp">
+                android:layout_height="wrap_content"
+                android:visibility="gone"
+                app:layout_constraintEnd_toEndOf="parent"
+                app:layout_constraintStart_toStartOf="parent"
+                app:layout_constraintTop_toBottomOf="@id/debug_log_privacy_card">
 
                 <TextView
-                    android:id="@+id/explanation_section_one"
+                    android:id="@+id/log_history_title"
                     style="@style/body1"
-                    android:layout_width="0dp"
+                    android:layout_width="match_parent"
                     android:layout_height="wrap_content"
-                    android:layout_margin="@dimen/spacing_normal"
-                    android:text="@string/debugging_debuglog_intro_explanation_section_one"
+                    android:layout_margin="24dp"
+                    android:text="@string/debugging_debuglog_id_history_title"
                     app:layout_constraintEnd_toEndOf="parent"
                     app:layout_constraintStart_toStartOf="parent"
                     app:layout_constraintTop_toTopOf="parent" />
 
                 <TextView
-                    android:id="@+id/explanation_section_two"
-                    style="@style/body1"
-                    android:layout_width="0dp"
-                    android:layout_height="wrap_content"
-                    android:layout_margin="@dimen/spacing_normal"
-                    android:text="@string/debugging_debuglog_intro_explanation_section_two"
-                    app:layout_constraintEnd_toEndOf="parent"
-                    app:layout_constraintStart_toStartOf="parent"
-                    app:layout_constraintTop_toBottomOf="@+id/explanation_section_one" />
-
-                <include
-                    android:id="@+id/debug_log_privacy_card"
-                    layout="@layout/include_debuglog_privacy_card"
-                    android:layout_width="0dp"
-                    android:layout_height="wrap_content"
-                    android:layout_marginHorizontal="@dimen/guideline_card"
-                    android:layout_marginTop="16dp"
-                    android:focusable="true"
-                    app:layout_constraintEnd_toEndOf="parent"
-                    app:layout_constraintStart_toStartOf="parent"
-                    app:layout_constraintTop_toBottomOf="@id/explanation_section_two" />
-
-                <androidx.constraintlayout.widget.ConstraintLayout
-                    android:id="@+id/debug_log_history_container"
+                    android:id="@+id/log_history_body"
+                    style="@style/TextAppearance.AppCompat.Caption"
                     android:layout_width="match_parent"
                     android:layout_height="wrap_content"
-                    android:visibility="gone"
-                    app:layout_constraintEnd_toEndOf="parent"
-                    app:layout_constraintStart_toStartOf="parent"
-                    app:layout_constraintTop_toBottomOf="@id/debug_log_privacy_card">
-
-                    <TextView
-                        android:id="@+id/log_history_title"
-                        style="@style/body1"
-                        android:layout_width="match_parent"
-                        android:layout_height="wrap_content"
-                        android:layout_margin="@dimen/spacing_normal"
-                        android:text="@string/debugging_debuglog_id_history_title"
-                        app:layout_constraintEnd_toEndOf="parent"
-                        app:layout_constraintStart_toStartOf="parent"
-                        app:layout_constraintTop_toTopOf="parent" />
-
-                    <TextView
-                        android:id="@+id/log_history_body"
-                        style="@style/TextAppearance.AppCompat.Caption"
-                        android:layout_width="match_parent"
-                        android:layout_height="wrap_content"
-                        android:layout_marginHorizontal="@dimen/spacing_normal"
-                        android:layout_marginTop="4dp"
-                        android:text="@string/debugging_debuglog_id_history_body"
-                        app:layout_constraintEnd_toEndOf="parent"
-                        app:layout_constraintStart_toStartOf="parent"
-                        app:layout_constraintTop_toBottomOf="@+id/log_history_title" />
-
-                </androidx.constraintlayout.widget.ConstraintLayout>
-
-                <View
-                    android:id="@+id/debug_log_first_divider"
-                    android:layout_width="0dp"
-                    android:layout_height="@dimen/card_divider"
                     android:layout_marginHorizontal="24dp"
-                    android:layout_marginTop="24dp"
-                    android:background="?android:attr/listDivider"
+                    android:layout_marginTop="4dp"
+                    android:text="@string/debugging_debuglog_id_history_body"
                     app:layout_constraintEnd_toEndOf="parent"
                     app:layout_constraintStart_toStartOf="parent"
-                    app:layout_constraintTop_toBottomOf="@id/debug_log_history_container" />
+                    app:layout_constraintTop_toBottomOf="@+id/log_history_title" />
 
-                <TextView
-                    android:id="@+id/debug_log_privacy_information"
-                    style="@style/subtitle"
-                    android:layout_width="0dp"
-                    android:layout_height="wrap_content"
-                    android:layout_marginHorizontal="24dp"
-                    android:background="?selectableItemBackground"
-                    android:clickable="true"
-                    android:focusable="true"
-                    android:paddingVertical="@dimen/spacing_tiny"
-                    android:text="@string/contact_diary_onboarding_legal_information"
-                    app:layout_constraintEnd_toEndOf="parent"
-                    app:layout_constraintStart_toStartOf="parent"
-                    app:layout_constraintTop_toBottomOf="@id/debug_log_first_divider"
-                    tools:text="@string/contact_diary_onboarding_legal_information" />
+            </androidx.constraintlayout.widget.ConstraintLayout>
 
-                <View
-                    android:id="@+id/debug_log_second_divider"
-                    android:layout_width="0dp"
-                    android:layout_height="@dimen/card_divider"
-                    android:layout_marginHorizontal="24dp"
-                    android:layout_marginBottom="24dp"
-                    android:background="?android:attr/listDivider"
-                    app:layout_constraintEnd_toEndOf="parent"
-                    app:layout_constraintStart_toStartOf="parent"
-                    app:layout_constraintTop_toBottomOf="@id/debug_log_privacy_information" />
+            <View
+                android:id="@+id/debug_log_first_divider"
+                android:layout_width="0dp"
+                android:layout_height="@dimen/card_divider"
+                android:layout_marginHorizontal="24dp"
+                android:layout_marginTop="24dp"
+                android:background="?android:attr/listDivider"
+                app:layout_constraintEnd_toEndOf="parent"
+                app:layout_constraintStart_toStartOf="parent"
+                app:layout_constraintTop_toBottomOf="@id/debug_log_history_container" />
 
-            </androidx.constraintlayout.widget.ConstraintLayout>
+            <TextView
+                android:id="@+id/debug_log_privacy_information"
+                style="@style/subtitle"
+                android:layout_width="0dp"
+                android:layout_height="wrap_content"
+                android:layout_marginHorizontal="24dp"
+                android:background="?selectableItemBackground"
+                android:clickable="true"
+                android:focusable="true"
+                android:paddingVertical="8dp"
+                android:text="@string/contact_diary_onboarding_legal_information"
+                app:layout_constraintEnd_toEndOf="parent"
+                app:layout_constraintStart_toStartOf="parent"
+                app:layout_constraintTop_toBottomOf="@id/debug_log_first_divider"
+                tools:text="@string/contact_diary_onboarding_legal_information" />
 
-        </ScrollView>
+            <View
+                android:id="@+id/debug_log_second_divider"
+                android:layout_width="0dp"
+                android:layout_height="@dimen/card_divider"
+                android:layout_marginHorizontal="24dp"
+                android:layout_marginBottom="24dp"
+                android:background="?android:attr/listDivider"
+                app:layout_constraintEnd_toEndOf="parent"
+                app:layout_constraintStart_toStartOf="parent"
+                app:layout_constraintTop_toBottomOf="@id/debug_log_privacy_information" />
+
+        </androidx.constraintlayout.widget.ConstraintLayout>
+
+    </ScrollView>
+
+    <LinearLayout
+        android:id="@+id/log_control_container"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:background="@color/colorSurface1"
+        android:orientation="vertical"
+        android:paddingStart="24dp"
+        android:paddingTop="16dp"
+        android:paddingEnd="24dp"
+        android:paddingBottom="16dp"
+        app:layout_constraintBottom_toBottomOf="parent"
+        app:layout_constraintEnd_toEndOf="parent"
+        app:layout_constraintStart_toStartOf="parent">
 
         <TextView
             android:id="@+id/debug_log_analysis_title"
             style="@style/headline5"
-            android:layout_width="0dp"
+            android:layout_width="match_parent"
             android:layout_height="wrap_content"
-            android:layout_marginHorizontal="24dp"
-            android:layout_marginBottom="12dp"
+            android:layout_marginBottom="16dp"
             android:accessibilityHeading="true"
             android:focusable="true"
-            android:text="@string/debugging_debuglog_current_status_title"
-            app:layout_constraintBottom_toTopOf="@+id/debug_log_current_status_card"
-            app:layout_constraintEnd_toEndOf="parent"
-            app:layout_constraintStart_toStartOf="parent" />
+            android:text="@string/debugging_debuglog_current_status_title" />
 
         <androidx.constraintlayout.widget.ConstraintLayout
             android:id="@+id/debug_log_current_status_card"
             style="@style/cardTracing"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
-            android:layout_marginHorizontal="24dp"
-            android:layout_marginTop="@dimen/spacing_normal"
-            android:layout_marginBottom="16dp"
-            app:layout_constraintBottom_toTopOf="@+id/toggle_send_error_log"
-            app:layout_constraintEnd_toEndOf="parent"
-            app:layout_constraintStart_toStartOf="parent">
-
+            android:layout_marginBottom="16dp">
 
             <ImageView
                 android:id="@+id/debuglog_activity_indicator"
@@ -206,50 +208,33 @@
                 app:layout_constraintTop_toBottomOf="@id/debuglog_status_primary"
                 tools:text="@string/debugging_debuglog_status_additional_infos" />
 
-
         </androidx.constraintlayout.widget.ConstraintLayout>
 
         <android.widget.Button
             android:id="@+id/toggle_send_error_log"
             style="@style/buttonPrimary"
-            android:layout_width="0dp"
+            android:layout_width="match_parent"
             android:layout_height="wrap_content"
-            android:layout_marginVertical="@dimen/spacing_small"
-            android:layout_marginStart="@dimen/spacing_normal"
-            android:layout_marginEnd="@dimen/spacing_normal"
+            android:layout_marginBottom="16dp"
             android:text="@string/debugging_debuglog_action_share_log"
-            app:layout_constraintBottom_toTopOf="@+id/toggle_store_log"
-            app:layout_constraintEnd_toEndOf="parent"
-            app:layout_constraintStart_toStartOf="parent"
             tools:text="@string/debugging_debuglog_action_share_log" />
 
         <android.widget.Button
             android:id="@+id/toggle_store_log"
             style="@style/buttonPrimary"
-            android:layout_width="0dp"
+            android:layout_width="match_parent"
             android:layout_height="wrap_content"
-            android:layout_marginVertical="@dimen/spacing_small"
-            android:layout_marginStart="@dimen/spacing_normal"
-            android:layout_marginEnd="@dimen/spacing_normal"
+            android:layout_marginBottom="16dp"
             android:text="@string/debugging_debuglog_action_local_log_store"
-            app:layout_constraintBottom_toTopOf="@+id/toggle_recording"
-            app:layout_constraintEnd_toEndOf="parent"
-            app:layout_constraintStart_toStartOf="parent"
             tools:text="@string/debugging_debuglog_action_local_log_store" />
 
         <android.widget.Button
             android:id="@+id/toggle_recording"
             style="@style/debugLogButton"
-            android:layout_width="0dp"
+            android:layout_width="match_parent"
             android:layout_height="wrap_content"
-            android:layout_marginVertical="@dimen/spacing_small"
-            android:layout_marginStart="@dimen/spacing_normal"
-            android:layout_marginEnd="@dimen/spacing_normal"
             android:text="@string/debugging_debuglog_action_start_recording"
-            app:layout_constraintBottom_toBottomOf="parent"
-            app:layout_constraintEnd_toEndOf="parent"
-            app:layout_constraintStart_toStartOf="parent"
             tools:text="@string/debugging_debuglog_action_start_recording" />
+    </LinearLayout>
 
-    </androidx.constraintlayout.widget.ConstraintLayout>
-</layout>
\ No newline at end of file
+</androidx.constraintlayout.widget.ConstraintLayout>
diff --git a/Corona-Warn-App/src/main/res/layout/bugreporting_debuglog_upload_fragment.xml b/Corona-Warn-App/src/main/res/layout/bugreporting_debuglog_upload_fragment.xml
index 54b9737f1..704353cf3 100644
--- a/Corona-Warn-App/src/main/res/layout/bugreporting_debuglog_upload_fragment.xml
+++ b/Corona-Warn-App/src/main/res/layout/bugreporting_debuglog_upload_fragment.xml
@@ -1,158 +1,140 @@
 <?xml version="1.0" encoding="utf-8"?>
-<layout xmlns:android="http://schemas.android.com/apk/res/android"
+<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:app="http://schemas.android.com/apk/res-auto"
     xmlns:bind="http://schemas.android.com/apk/res-auto"
-    xmlns:tools="http://schemas.android.com/tools">
-
-    <androidx.constraintlayout.widget.ConstraintLayout
-        android:id="@+id/content_container"
-        android:layout_width="match_parent"
-        android:layout_height="match_parent"
-        android:contentDescription="@string/debugging_debuglog_share_log_title"
-        android:focusable="true">
-
-        <Toolbar
-            android:id="@+id/toolbar"
-            style="@style/CWAToolbar"
-            android:layout_width="0dp"
-            android:layout_height="wrap_content"
-            android:navigationIcon="@drawable/ic_back"
-            app:layout_constraintEnd_toEndOf="parent"
-            app:layout_constraintStart_toStartOf="parent"
-            app:layout_constraintTop_toTopOf="parent" />
-
-        <ScrollView
-            android:layout_width="0dp"
-            android:layout_height="0dp"
-            android:layout_marginBottom="@dimen/spacing_small"
-            app:layout_constraintBottom_toTopOf="@id/debug_log_share_button"
-            app:layout_constraintEnd_toEndOf="parent"
-            app:layout_constraintStart_toStartOf="parent"
-            app:layout_constraintTop_toBottomOf="@id/toolbar">
-
-            <androidx.constraintlayout.widget.ConstraintLayout
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content">
-
-                <TextView
-                    android:id="@+id/bugreporting_share_log_headline"
-                    style="@style/headline4"
-                    android:layout_width="0dp"
-                    android:layout_height="wrap_content"
-                    android:layout_marginTop="@dimen/spacing_normal"
-                    android:accessibilityHeading="true"
-                    android:focusable="true"
-                    android:text="@string/debugging_debuglog_share_log_title"
-                    app:layout_constraintEnd_toEndOf="@id/guideline_end"
-                    app:layout_constraintStart_toStartOf="@id/guideline_start"
-                    app:layout_constraintTop_toTopOf="parent"
-                    tools:text="@string/debugging_debuglog_share_log_title" />
-
-                <TextView
-                    android:id="@+id/bugreporting_share_log_body_one"
-                    style="@style/subtitle"
-                    android:layout_width="0dp"
-                    android:layout_height="wrap_content"
-                    android:layout_marginTop="@dimen/spacing_normal"
-                    android:focusable="true"
-                    android:text="@string/debugging_debuglog_share_log_section_one"
-                    app:layout_constraintEnd_toEndOf="@id/guideline_end"
-                    app:layout_constraintStart_toStartOf="@id/guideline_start"
-                    app:layout_constraintTop_toBottomOf="@id/bugreporting_share_log_headline"
-                    tools:text="@string/debugging_debuglog_share_log_section_one" />
-
-                <TextView
-                    android:id="@+id/bugreporting_share_log_body_two"
-                    style="@style/subtitle"
-                    android:layout_width="0dp"
-                    android:layout_height="wrap_content"
-                    android:layout_marginTop="@dimen/spacing_normal"
-                    android:focusable="true"
-                    android:text="@string/debugging_debuglog_share_log_section_two"
-                    app:layout_constraintEnd_toEndOf="@id/guideline_end"
-                    app:layout_constraintStart_toStartOf="@id/guideline_start"
-                    app:layout_constraintTop_toBottomOf="@id/bugreporting_share_log_body_one"
-                    tools:text="@string/debugging_debuglog_share_log_section_two" />
-
-                <include
-                    android:id="@+id/bugreporting_share_log_privacy_card"
-                    layout="@layout/include_debugging_debuglog_share_privacy_card"
-                    android:layout_width="0dp"
-                    android:layout_height="wrap_content"
-                    android:layout_marginHorizontal="@dimen/guideline_card"
-                    android:layout_marginTop="@dimen/spacing_normal"
-                    android:focusable="true"
-                    app:layout_constraintEnd_toEndOf="parent"
-                    app:layout_constraintStart_toStartOf="parent"
-                    app:layout_constraintTop_toBottomOf="@id/bugreporting_share_log_body_two" />
-
-                <View
-                    android:id="@+id/bugreporting_share_log_first_divider"
-                    android:layout_width="0dp"
-                    android:layout_height="@dimen/card_divider"
-                    android:layout_marginTop="@dimen/spacing_small"
-                    android:background="?android:attr/listDivider"
-                    app:layout_constraintEnd_toStartOf="@id/guideline_end"
-                    app:layout_constraintStart_toStartOf="@id/guideline_start"
-                    app:layout_constraintTop_toBottomOf="@id/bugreporting_share_log_privacy_card" />
-
-                <TextView
-                    android:id="@+id/debug_log_share_privacy_information"
-                    style="@style/subtitle"
-                    android:layout_width="0dp"
-                    android:layout_height="wrap_content"
-                    android:background="?selectableItemBackground"
-                    android:clickable="true"
-                    android:focusable="true"
-                    android:paddingVertical="@dimen/spacing_tiny"
-                    android:text="@string/debugging_debuglog_share_log_privacy_information"
-                    app:layout_constraintEnd_toEndOf="@id/guideline_end"
-                    app:layout_constraintStart_toStartOf="@id/guideline_start"
-                    app:layout_constraintTop_toBottomOf="@id/bugreporting_share_log_first_divider"
-                    tools:text="@string/debugging_debuglog_share_log_privacy_information" />
-
-                <View
-                    android:id="@+id/bugreporting_share_log_second_divider"
-                    android:layout_width="0dp"
-                    android:layout_height="@dimen/card_divider"
-                    android:background="?android:attr/listDivider"
-                    app:layout_constraintBottom_toBottomOf="parent"
-                    bind:layout_constraintEnd_toStartOf="@id/guideline_end"
-                    bind:layout_constraintStart_toStartOf="@id/guideline_start"
-                    bind:layout_constraintTop_toBottomOf="@id/debug_log_share_privacy_information" />
-
-                <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" />
-
-            </androidx.constraintlayout.widget.ConstraintLayout>
-
-        </ScrollView>
-
-        <android.widget.Button
-            android:id="@+id/debug_log_share_button"
-            style="@style/buttonPrimary"
-            android:layout_width="0dp"
-            android:layout_height="wrap_content"
-            android:layout_marginStart="@dimen/spacing_normal"
-            android:layout_marginEnd="@dimen/spacing_normal"
-            android:layout_marginBottom="@dimen/spacing_small"
-            android:text="@string/debugging_debuglog_share_log_button"
-            app:layout_constraintBottom_toBottomOf="parent"
-            app:layout_constraintEnd_toEndOf="parent"
-            app:layout_constraintStart_toStartOf="parent"
-            tools:text="@string/debugging_debuglog_share_log_button" />
-
-    </androidx.constraintlayout.widget.ConstraintLayout>
-
-</layout>
+    xmlns:tools="http://schemas.android.com/tools"
+    android:id="@+id/content_container"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:contentDescription="@string/debugging_debuglog_share_log_title"
+    android:focusable="true">
+
+    <com.google.android.material.appbar.MaterialToolbar
+        android:id="@+id/toolbar"
+        style="@style/CWAToolbar.BackArrow.Transparent"
+        android:layout_width="0dp"
+        android:layout_height="wrap_content"
+        app:layout_constraintEnd_toEndOf="parent"
+        app:layout_constraintStart_toStartOf="parent"
+        app:layout_constraintTop_toTopOf="parent"
+        app:title="@string/debugging_debuglog_share_log_title" />
+
+    <ScrollView
+        android:layout_width="0dp"
+        android:layout_height="0dp"
+        android:layout_marginBottom="@dimen/spacing_small"
+        app:layout_constraintBottom_toTopOf="@id/debug_log_share_button"
+        app:layout_constraintEnd_toEndOf="parent"
+        app:layout_constraintStart_toStartOf="parent"
+        app:layout_constraintTop_toBottomOf="@id/toolbar">
+
+        <androidx.constraintlayout.widget.ConstraintLayout
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content">
+
+            <TextView
+                android:id="@+id/bugreporting_share_log_body_one"
+                style="@style/subtitle"
+                android:layout_width="0dp"
+                android:layout_height="wrap_content"
+                android:layout_marginTop="@dimen/spacing_normal"
+                android:focusable="true"
+                android:text="@string/debugging_debuglog_share_log_section_one"
+                app:layout_constraintEnd_toEndOf="@id/guideline_end"
+                app:layout_constraintStart_toStartOf="@id/guideline_start"
+                app:layout_constraintTop_toTopOf="parent"
+                tools:text="@string/debugging_debuglog_share_log_section_one" />
+
+            <TextView
+                android:id="@+id/bugreporting_share_log_body_two"
+                style="@style/subtitle"
+                android:layout_width="0dp"
+                android:layout_height="wrap_content"
+                android:layout_marginTop="@dimen/spacing_normal"
+                android:focusable="true"
+                android:text="@string/debugging_debuglog_share_log_section_two"
+                app:layout_constraintEnd_toEndOf="@id/guideline_end"
+                app:layout_constraintStart_toStartOf="@id/guideline_start"
+                app:layout_constraintTop_toBottomOf="@id/bugreporting_share_log_body_one"
+                tools:text="@string/debugging_debuglog_share_log_section_two" />
+
+            <include
+                android:id="@+id/bugreporting_share_log_privacy_card"
+                layout="@layout/include_debugging_debuglog_share_privacy_card"
+                android:layout_width="0dp"
+                android:layout_height="wrap_content"
+                android:layout_marginHorizontal="@dimen/guideline_card"
+                android:layout_marginTop="@dimen/spacing_normal"
+                android:focusable="true"
+                app:layout_constraintEnd_toEndOf="parent"
+                app:layout_constraintStart_toStartOf="parent"
+                app:layout_constraintTop_toBottomOf="@id/bugreporting_share_log_body_two" />
+
+            <View
+                android:id="@+id/bugreporting_share_log_first_divider"
+                android:layout_width="0dp"
+                android:layout_height="@dimen/card_divider"
+                android:layout_marginTop="@dimen/spacing_small"
+                android:background="?android:attr/listDivider"
+                app:layout_constraintEnd_toStartOf="@id/guideline_end"
+                app:layout_constraintStart_toStartOf="@id/guideline_start"
+                app:layout_constraintTop_toBottomOf="@id/bugreporting_share_log_privacy_card" />
+
+            <TextView
+                android:id="@+id/debug_log_share_privacy_information"
+                style="@style/subtitle"
+                android:layout_width="0dp"
+                android:layout_height="wrap_content"
+                android:background="?selectableItemBackground"
+                android:clickable="true"
+                android:focusable="true"
+                android:paddingVertical="@dimen/spacing_tiny"
+                android:text="@string/debugging_debuglog_share_log_privacy_information"
+                app:layout_constraintEnd_toEndOf="@id/guideline_end"
+                app:layout_constraintStart_toStartOf="@id/guideline_start"
+                app:layout_constraintTop_toBottomOf="@id/bugreporting_share_log_first_divider"
+                tools:text="@string/debugging_debuglog_share_log_privacy_information" />
+
+            <View
+                android:id="@+id/bugreporting_share_log_second_divider"
+                android:layout_width="0dp"
+                android:layout_height="@dimen/card_divider"
+                android:background="?android:attr/listDivider"
+                app:layout_constraintBottom_toBottomOf="parent"
+                bind:layout_constraintEnd_toStartOf="@id/guideline_end"
+                bind:layout_constraintStart_toStartOf="@id/guideline_start"
+                bind:layout_constraintTop_toBottomOf="@id/debug_log_share_privacy_information" />
+
+            <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" />
+
+        </androidx.constraintlayout.widget.ConstraintLayout>
+
+    </ScrollView>
+
+    <android.widget.Button
+        android:id="@+id/debug_log_share_button"
+        style="@style/buttonPrimary"
+        android:layout_width="0dp"
+        android:layout_height="wrap_content"
+        android:layout_marginStart="@dimen/spacing_normal"
+        android:layout_marginEnd="@dimen/spacing_normal"
+        android:layout_marginBottom="@dimen/spacing_small"
+        android:text="@string/debugging_debuglog_share_log_button"
+        app:layout_constraintBottom_toBottomOf="parent"
+        app:layout_constraintEnd_toEndOf="parent"
+        app:layout_constraintStart_toStartOf="parent"
+        tools:text="@string/debugging_debuglog_share_log_button" />
+
+</androidx.constraintlayout.widget.ConstraintLayout>
diff --git a/Corona-Warn-App/src/main/res/layout/bugreporting_legal_fragment.xml b/Corona-Warn-App/src/main/res/layout/bugreporting_legal_fragment.xml
new file mode 100644
index 000000000..0afdedfde
--- /dev/null
+++ b/Corona-Warn-App/src/main/res/layout/bugreporting_legal_fragment.xml
@@ -0,0 +1,106 @@
+<?xml version="1.0" encoding="utf-8"?>
+<androidx.constraintlayout.widget.ConstraintLayout 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"
+    android:id="@+id/content_container"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:background="@color/colorSurface1"
+    android:contentDescription="@string/contact_diary_title"
+    android:focusable="true">
+
+    <com.google.android.material.appbar.MaterialToolbar
+        android:id="@+id/toolbar"
+        style="@style/CWAToolbar.Close.Transparent"
+        android:layout_width="0dp"
+        android:layout_height="wrap_content"
+        app:layout_constraintEnd_toEndOf="parent"
+        app:layout_constraintStart_toStartOf="parent"
+        app:layout_constraintTop_toTopOf="parent" />
+
+    <ScrollView
+        android:layout_width="0dp"
+        android:layout_height="0dp"
+        android:clipToPadding="false"
+        android:fillViewport="true"
+        android:paddingBottom="8dp"
+        app:layout_constraintBottom_toBottomOf="parent"
+        app:layout_constraintEnd_toEndOf="parent"
+        app:layout_constraintStart_toStartOf="parent"
+        app:layout_constraintTop_toBottomOf="@id/toolbar">
+
+        <androidx.constraintlayout.widget.ConstraintLayout
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content">
+
+            <TextView
+                android:id="@+id/debuglog_legal_headline"
+                style="@style/headline4"
+                android:layout_width="0dp"
+                android:layout_height="wrap_content"
+                android:layout_marginTop="@dimen/spacing_normal"
+                android:accessibilityHeading="true"
+                android:focusable="true"
+                android:text="@string/debugging_debuglog_legal_dialog_title"
+                app:layout_constraintEnd_toEndOf="@id/guideline_end"
+                app:layout_constraintStart_toStartOf="@id/guideline_start"
+                app:layout_constraintTop_toTopOf="parent"
+                tools:text="@string/debugging_debuglog_legal_dialog_title" />
+
+            <include
+                android:id="@+id/debuglog_legal_privacy_card"
+                layout="@layout/include_debuglog_legal_privacy_card"
+                android:layout_width="0dp"
+                android:layout_height="wrap_content"
+                android:layout_marginHorizontal="@dimen/guideline_card"
+                android:layout_marginTop="@dimen/spacing_normal"
+                android:focusable="true"
+                app:layout_constraintEnd_toEndOf="parent"
+                app:layout_constraintStart_toStartOf="parent"
+                app:layout_constraintTop_toBottomOf="@id/debuglog_legal_headline" />
+
+            <TextView
+                android:id="@+id/debuglog_legal_body_headline"
+                style="@style/subtitleBoldSixteen"
+                android:layout_width="0dp"
+                android:layout_height="wrap_content"
+                android:layout_marginTop="@dimen/spacing_normal"
+                android:focusable="true"
+                android:text="@string/debugging_debuglog_legal_section_title"
+                app:layout_constraintEnd_toEndOf="@id/guideline_end"
+                app:layout_constraintStart_toStartOf="@id/guideline_start"
+                app:layout_constraintTop_toBottomOf="@id/debuglog_legal_privacy_card"
+                tools:text="@string/debugging_debuglog_legal_section_title" />
+
+            <TextView
+                android:id="@+id/debuglog_legal_body_text"
+                style="@style/subtitle"
+                android:layout_width="0dp"
+                android:layout_height="wrap_content"
+                android:layout_marginTop="@dimen/spacing_normal"
+                android:focusable="true"
+                android:text="@string/debugging_debuglog_legal_section_body"
+                app:layout_constraintEnd_toEndOf="@id/guideline_end"
+                app:layout_constraintStart_toStartOf="@id/guideline_start"
+                app:layout_constraintTop_toBottomOf="@id/debuglog_legal_body_headline"
+                tools:text="@string/debugging_debuglog_legal_section_body" />
+
+            <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="47dp" />
+
+            <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" />
+
+        </androidx.constraintlayout.widget.ConstraintLayout>
+
+    </ScrollView>
+
+</androidx.constraintlayout.widget.ConstraintLayout>
diff --git a/Corona-Warn-App/src/main/res/layout/bugreporting_upload_history_fragment.xml b/Corona-Warn-App/src/main/res/layout/bugreporting_upload_history_fragment.xml
index 6211dc4a6..d9d7f09e9 100644
--- a/Corona-Warn-App/src/main/res/layout/bugreporting_upload_history_fragment.xml
+++ b/Corona-Warn-App/src/main/res/layout/bugreporting_upload_history_fragment.xml
@@ -6,13 +6,13 @@
     android:layout_height="wrap_content"
     android:orientation="vertical">
 
-    <Toolbar
+    <com.google.android.material.appbar.MaterialToolbar
         android:id="@+id/toolbar"
         style="@style/CWAToolbar"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
-        android:navigationIcon="@drawable/ic_back"
-        android:title="@string/debugging_debuglog_uploadhistory_title" />
+        app:navigationIcon="@drawable/ic_back"
+        app:title="@string/debugging_debuglog_uploadhistory_title" />
 
     <androidx.core.widget.NestedScrollView
         android:layout_width="match_parent"
diff --git a/Corona-Warn-App/src/main/res/layout/include_debuglog_legal_privacy_card.xml b/Corona-Warn-App/src/main/res/layout/include_debuglog_legal_privacy_card.xml
new file mode 100644
index 000000000..03c929577
--- /dev/null
+++ b/Corona-Warn-App/src/main/res/layout/include_debuglog_legal_privacy_card.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="utf-8"?>
+<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    android:id="@+id/debug_log_legal_privacy_card"
+    style="@style/GreyCard"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:padding="@dimen/spacing_normal"
+    app:layout_constraintTop_toTopOf="parent">
+
+    <TextView
+        android:id="@+id/debug_log_legal_privacy_card_title"
+        style="@style/headline5"
+        android:layout_width="0dp"
+        android:layout_height="wrap_content"
+        android:accessibilityHeading="true"
+        android:focusable="true"
+        android:text="@string/debugging_debuglog_legal_privacy_card_title"
+        app:layout_constraintEnd_toEndOf="parent"
+        app:layout_constraintStart_toStartOf="parent"
+        app:layout_constraintTop_toTopOf="parent" />
+
+    <TextView
+        android:id="@+id/debug_log_legal_privacy_card_first_section"
+        style="@style/subtitle"
+        android:layout_width="0dp"
+        android:layout_height="wrap_content"
+        android:layout_marginTop="@dimen/spacing_normal"
+        android:accessibilityHeading="true"
+        android:focusable="true"
+        android:text="@string/debugging_debuglog_legal_privacy_card_first_section"
+        app:layout_constraintEnd_toEndOf="parent"
+        app:layout_constraintStart_toStartOf="parent"
+        app:layout_constraintTop_toBottomOf="@id/debug_log_legal_privacy_card_title" />
+
+    <TextView
+        android:id="@+id/debug_log_legal_privacy_card_second_section"
+        style="@style/subtitle"
+        android:layout_width="0dp"
+        android:layout_height="wrap_content"
+        android:layout_marginTop="@dimen/spacing_normal"
+        android:accessibilityHeading="true"
+        android:focusable="true"
+        android:text="@string/debugging_debuglog_legal_privacy_card_second_section"
+        app:layout_constraintEnd_toEndOf="parent"
+        app:layout_constraintStart_toStartOf="parent"
+        app:layout_constraintTop_toBottomOf="@id/debug_log_legal_privacy_card_first_section" />
+
+</androidx.constraintlayout.widget.ConstraintLayout>
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 c869b4673..718e593f8 100644
--- a/Corona-Warn-App/src/main/res/navigation/nav_graph.xml
+++ b/Corona-Warn-App/src/main/res/navigation/nav_graph.xml
@@ -595,5 +595,14 @@
         android:id="@+id/debugLogUploadFragment"
         android:name="de.rki.coronawarnapp.bugreporting.debuglog.ui.upload.DebugLogUploadFragment"
         android:label="DebugLogUploadFragment"
-        tools:layout="@layout/bugreporting_debuglog_upload_fragment" />
+        tools:layout="@layout/bugreporting_debuglog_upload_fragment" >
+        <action
+            android:id="@+id/action_debugLogUploadFragment_to_debugLogLegalFragment"
+            app:destination="@id/debugLogLegalFragment" />
+    </fragment>
+    <fragment
+        android:id="@+id/debugLogLegalFragment"
+        android:name="de.rki.coronawarnapp.bugreporting.debuglog.ui.legal.DebugLogLegalFragment"
+        android:label="DebugLogLegalFragment"
+        tools:layout="@layout/bugreporting_legal_fragment" />
 </navigation>
diff --git a/Corona-Warn-App/src/main/res/values-de/legal_strings.xml b/Corona-Warn-App/src/main/res/values-de/legal_strings.xml
index de6248a18..cadef810a 100644
--- a/Corona-Warn-App/src/main/res/values-de/legal_strings.xml
+++ b/Corona-Warn-App/src/main/res/values-de/legal_strings.xml
@@ -86,4 +86,24 @@
     <!-- XTXT: Body for Privacy-preserving Analytics settings -->
     <string name="ppa_settings_privacy_information_body" translatable="false">"Indem Sie oben „Datenspende“ aktivieren, willigen Sie ein:\n\nDie App übermittelt täglich von ihr erfasste Angaben an das RKI. Die Daten betreffen angezeigte Risiko-Begegnungen und Warnungen, durch Sie abgerufene Testergebnisse, ob Sie andere Nutzer gewarnt haben sowie Angaben über das Betriebssystem Ihres Smartphones. Wenn Sie oben weitere Angaben gemacht haben (Region, Altersgruppe), werden auch diese an das RKI übermittelt.\n\nDas RKI wird diese Daten zu Statistiken zusammenfassen und auswerten, um die Wirksamkeit und Funktionsweise der App zu bewerten und Rückschlüsse auf das Pandemiegeschehen zu ziehen. Die dabei gefundenen Erkenntnisse helfen bei der Verbesserung der Funktionen und Nutzerfreundlichkeit der App sowie bei der Steuerung anderer Maßnahmen der Pandemiebekämpfung.\n\nBevor Ihre Daten ausgewertet werden, muss sichergestellt sein, dass jede an der Datenspende teilnehmende App nur einmal gezählt wird und die Statistiken nicht verfälscht werden. Hierfür muss die Echtheit Ihrer App geprüft werden. Dazu wird durch Ihr Smartphone eine eindeutige Kennung erzeugt und an Google in die USA oder andere Drittländer übermittelt, damit Google die Echtheit Ihrer App gegenüber dem RKI bestätigen kann. Die Kennung enthält Informationen über die Version Ihres Smartphones und der App. Google kann damit möglicherweise auf Ihre Identität schließen und nachvollziehen, dass die Echtheitsprüfung Ihres Smartphones stattgefunden hat.\nWeitere Angaben aus der App erhält Google hierbei nicht.\n\nSie können Ihr Einverständnis jederzeit zurücknehmen, indem Sie oben „Datenspende“ deaktivieren."</string>
 
+    <!-- XHED: Title for debug legal screen privacy card -->
+    <string name="debugging_debuglog_legal_privacy_card_title" translatable="false">"Prüfung der Echtheit und Drittlandsübermittlung"</string>
+    <!-- YTXT: First section for debug legal screen privacy card -->
+    <string name="debugging_debuglog_legal_privacy_card_first_section" translatable="false">"Um die Echtheit Ihrer App zu bestätigen, erzeugt Ihr Smartphone eine eindeutige Kennung, die Informationen über die Version Ihres Smartphones und der App enthält. Das ist erforderlich, um sicherzustellen, dass nur Nutzer Daten auf diesem Weg an den technischen Support übersenden, die tatsächlich die Corona-Warn-App nutzen und nicht manipulierte Fehlerberichte bereitstellen. Die Kennung wird dafür einmalig an Google übermittelt. Dabei kann es auch zu einer Datenübermittlung in die USA oder andere Drittländer kommen. Dort besteht möglicherweise kein dem europäischen Recht entsprechendes Datenschutzniveau und Ihre europäischen Datenschutzrechte können eventuell nicht durchgesetzt werden. Insbesondere besteht die Möglichkeit, dass Sicherheitsbehörden im Drittland, auch ohne einen konkreten Verdacht, auf die übermittelten Daten bei Google zugreifen und diese auswerten, beispielsweise indem sie Daten mit anderen Informationen verknüpfen. Dies betrifft nur die an Google übermittelte Kennung. Die Angaben aus Ihrem Fehlerbericht erhält Google nicht. Möglicherweise kann Google jedoch anhand der Kennung auf Ihre Identität schließen und nachvollziehen, dass die Echtheitsprüfung Ihres Smartphones stattgefunden hat."</string>
+    <!-- YTXT: Second section for debug legal screen privacy card -->
+    <string name="debugging_debuglog_legal_privacy_card_second_section" translatable="false">"Wenn Sie mit der Drittlandsübermittlung nicht einverstanden sind, tippen Sie bitte nicht „Einverstanden und Fehlerbericht senden“ an. Sie können die App weiterhin nutzen, eine Übersendung des Fehlerberichtes über die App ist dann jedoch nicht möglich."</string>
+
+    <!-- XHED: Title for debug upload screen privacy card -->
+    <string name="debugging_debuglog_privacy_card_title" translatable="false">"Datenschutz und Datensicherheit"</string>
+    <!-- YTXT: First bullet point for debug upload screen privacy card -->
+    <string name="debug_log_privacy_card_section_body_one" translatable="false">"Die Aufzeichnung des Fehlerberichts ist freiwillig."</string>
+    <!-- YTXT: Second bullet point for debug upload screen privacy card -->
+    <string name="debug_log_privacy_card_container_section_two" translatable="false">"Auf den Fehlerbericht haben zunächst nur Sie Zugriff. Sie können im Anschluss entscheiden, ob Sie den Fehlerbericht an den technischen Support senden, ob Sie den Fehlerbericht zunächst auf Ihrem Smartphone speichern oder die Aufzeichnung stoppen und löschen wollen. Wenn Sie den Fehlerbericht zunächst lokal speichern, haben Sie die Möglichkeit, sich den Fehlerbericht selbst anzuschauen, bevor Sie diesen an den Support übermitteln."</string>
+    <!-- YTXT: Third bullet point for debug upload screen privacy card -->
+    <string name="debug_log_privacy_card_container_section_three" translatable="false">"Der Fehlerbericht enthält sensible Informationen, zum Beispiel Angaben über Ihr Testergebnis oder das für Sie ermittelte Ansteckungsrisiko. Er enthält keine Informationen über die QR-Codes, die Sie bei der Testregistrierung verwendet haben, über Angaben, die Sie im Kontakt-Tagebuch erfasste haben oder Angaben zu Ihrer Identität."</string>
+    <!-- YTXT: Fourth bullet point for debug upload screen privacy card -->
+    <string name="debug_log_privacy_card_container_section_four" translatable="false">"Wir empfehlen die Fehlerberichte nicht zu veröffentlichen und nicht per E-Mail zu versenden."</string>
+    <!-- YTXT: Fifth bullet point for debug upload screen privacy card -->
+    <string name="debug_log_privacy_card_container_section_five" translatable="false">"Private Personen oder Unternehmen dürfen von Ihnen nicht die Weitergabe eines aufgezeichneten Fehlerberichtes verlangen."</string>
+
 </resources>
diff --git a/Corona-Warn-App/src/main/res/values-de/strings.xml b/Corona-Warn-App/src/main/res/values-de/strings.xml
index 4365c8458..ff29781c4 100644
--- a/Corona-Warn-App/src/main/res/values-de/strings.xml
+++ b/Corona-Warn-App/src/main/res/values-de/strings.xml
@@ -612,9 +612,6 @@
     <string name="onboarding_ppa_more_info_much_privacy_body">"Die Angaben können nicht mit Ihrer Person verknüpft werden. Ihre Identität bleibt weiterhin geheim.\nDie Angaben werden statistisch ausgewertet, sie werden nicht zu einem Profil gespeichert."</string>
 
 
-
-
-
     <!-- ####################################
              Onboarding sixteen include
    ###################################### -->
@@ -864,6 +861,10 @@
     <!-- XACT: describes illustration -->
     <string name="information_legal_illustration_description">"Eine Hand hält ein Smartphone mit viel Text, daneben ist ein Paragraphenzeichen als Symbol für das Impressum."</string>
 
+    <!-- ####################################
+               App Information - Bug Reporting
+    ###################################### -->
+
     <!-- XHED: Headline for debug log screen -->
     <string name="debugging_debuglog_title">"Fehlerberichte"</string>
     <!-- XHED: Headline for current status of debug log screen -->
@@ -901,6 +902,13 @@
     <!-- XHED: Title for native sharing dialog -->
     <string name="debugging_debuglog_sharing_dialog_title">"CWA Fehlerbericht teilen"</string>
 
+    <!-- XHED: Title for debug legal screen -->
+    <string name="debugging_debuglog_legal_dialog_title">"Ausführliche Informationen zur Übersendung der Fehlerberichte"</string>
+    <!-- YTXT: Section Title for debug legal screen -->
+    <string name="debugging_debuglog_legal_section_title">"Zur Auswertung der Fehlerberichte durch das RKI"</string>
+    <!-- YTXT: Section Body for debug legal screen -->
+    <string name="debugging_debuglog_legal_section_body">"Nachdem die Echtheit Ihrer App geprüft wurde, wird der Fehlerbericht über eine gesicherte Verbindung an das RKI übermittelt. Die Fehlerberichte werden nur zur Fehleranalyse und Fehlerbehebung im Rahmen zukünftiger Updates der App genutzt. Nur Mitarbeiter des technischen Support können auf die Fehlerberichte zugreifen. Die Fehlerberichte enthalten eine Vielzahl von Statusmeldungen und Ereignissen, die in der App ausgelöst wurden, sie enthalten aber keine Hinweise anhand derer das RKI auf Ihre Identität schließen kann. Erst wenn Sie die Fehlerbericht-ID im Zusammenhang mit weiteren Mitteilungen nennen, kann ein Zusammenhang zwischen der Mitteilung (und z.B. Ihrem dort enthaltenen Namen) und den im Fehlerbericht enthaltenen Angaben (z.B. technische Meldungen zur Berechnung im Rahmen der Risiko-Ermittlung, in der App angezeigte Informationen und durchlaufene Schritte, aber ggf. auch einem abgerufenen Testergebnis und ggf. im Rahmen der Warnung geteilter Zufalls-IDs) hergestellt werden."</string>
+
     <!-- XHED: Title for Bugreporting share log screen -->
     <string name="debugging_debuglog_share_log_title">"Fehlerbericht senden"</string>
     <!-- YTXT: First body section for bugreporting share log screen -->
@@ -926,13 +934,6 @@
     <!-- YTXT: Description for log upload history -->
     <string name="debugging_debuglog_uploadhistory_description">"Hier sehen Sie die IDs Ihrer Fehleranalyse-Protokolle."</string>
 
-    <string name="debugging_debuglog_privacy_card_title">"Datenschutz und Datensicherheit"</string>
-    <string name="debug_log_privacy_card_section_body_one">"Die Aufzeichnung des Fehlerberichts ist freiwillig."</string>
-    <string name="debug_log_privacy_card_container_section_two">"Auf den Fehlerbericht haben zunächst nur Sie Zugriff. Sie können im Anschluss entscheiden, ob Sie den Fehlerbericht an den technischen Support senden, ob Sie den Fehlerbericht zunächst auf Ihrem Smartphone speichern oder die Aufzeichnung stoppen und löschen wollen. Wenn Sie den Fehlerbericht zunächst lokal speichern, haben Sie die Möglichkeit, sich den Fehlerbericht selbst anzuschauen, bevor Sie diesen an den Support übermitteln."</string>
-    <string name="debug_log_privacy_card_container_section_three">"Der Fehlerbericht enthält sensible Informationen, zum Beispiel Angaben über Ihr Testergebnis oder das für Sie ermittelte Ansteckungsrisiko. Er enthält keine Informationen über die QR-Codes, die Sie bei der Testregistrierung verwendet haben, über Angaben, die Sie im Kontakt-Tagebuch erfasst haben oder Angaben zu Ihrer Identität."</string>
-    <string name="debug_log_privacy_card_container_section_four">"Wir empfehlen die Fehlerberichte nicht zu veröffentlichen und nicht per E-Mail zu versenden."</string>
-    <string name="debug_log_privacy_card_container_section_five">"Private Personen oder Unternehmen dürfen von Ihnen nicht die Weitergabe eines aufgezeichneten Fehlerberichtes verlangen."</string>
-
     <!-- ####################################
               Interoperability
     ###################################### -->
diff --git a/Corona-Warn-App/src/main/res/values/legal_strings.xml b/Corona-Warn-App/src/main/res/values/legal_strings.xml
index 1ad11eafa..768683677 100644
--- a/Corona-Warn-App/src/main/res/values/legal_strings.xml
+++ b/Corona-Warn-App/src/main/res/values/legal_strings.xml
@@ -71,20 +71,40 @@
     <!-- XTXT: onboarding privacy preserving analytics (ppa) - consent title -->
     <string name="ppa_onboarding_consent_title" translatable="false">"Your Consent"</string>
     <!-- XTXT: Body for Privacy-preserving Analytics onboarding -->
- <string name="ppa_onboarding_privacy_information_body" translatable="false">"By tapping on “Accept”, you consent to the following:\n\nThe app will transmit information it records to the RKI, on a daily basis. The data concerns possible exposures and warnings that have been displayed to you, test results you have retrieved, and whether you have warned other users, and information about your smartphone’s operating system. If you have provided further details above (region, age group), then the RKI will also receive this information.\n\nThe RKI will compile this data into statistics and analyze it to assess the effectiveness and functioning of the app, and draw conclusions regarding the pandemic. The resulting knowledge will help to improve the app’s features and make it more user-friendly, as well as to inform other pandemic response measures.\n\nBefore your data is analyzed, it is necessary to ensure that each app that shares data is only counted once, so as not to distort the statistics. This is why the authenticity of your app needs to be verified. For this purpose, a unique identifier is generated by your smartphone and transmitted to Google in the U.S. or other third countries, so that Google can confirm the authenticity of your app to the RKI. The identifier contains information about the version of your smartphone and the app. On this basis, Google may be able to infer your identity and learn that your smartphone has been authenticated. Google does not receive any other information from the app during this process.\n\nYou can withdraw your consent at any time by disabling the data sharing feature in the app's settings."</string>
- <!-- XTXT: Body point consent for Privacy-preserving Analytics -->
- <string name="ppa_onboarding_privacy_information_point_consent" translatable="false">"Your consent is voluntary. If you do not give your consent, you will still be able to use the app."</string>
- <!-- XTXT: Body point identity for Privacy-preserving Analytics -->
- <string name="ppa_onboarding_privacy_information_point_identity" translatable="false">"If you share data about your use of the app, your identity will still be kept secret from the RKI. This means the RKI will not find out who you are or who you have met. No profiles will be created either."</string>
- <!-- XTXT: Body point sixteen for Privacy-preserving Analytics -->
- <string name="ppa_onboarding_privacy_information_point_sixteen" translatable="false">"You need to be at least 16 years old to give your consent."</string>
- <!-- XHED: Title for Privacy-preserving Analytics additional info  -->
- <string name="ppa_onboarding_more_info_title" translatable="false">"Verification of authenticity and transfer to a third country"</string>
- <!-- XTXT: Body for Privacy-preserving Analytics additional info -->
- <string name="ppa_onboarding_more_info_body" translatable="false">"To confirm the authenticity of your app, your smartphone will generate a unique identifier that contains information about the version of your smartphone and the app. This is necessary to prevent data from being transmitted to the RKI more than once or in an unauthorised manner, as this could distort the results of the analysis. The identifier will be transmitted to Google. This may result in data being transferred to the U.S. or other third countries. There, the level of data protection may not be considered equivalent under European law and it may not be possible to enforce your European data protection rights. In particular, there is a possibility that once the transmitted data reaches Google, it may be accessed and analyzed by security authorities in the third country, even if they have no specific grounds for suspicion, for example by linking the data with other information. This only concerns the identifier sent to Google. Google will not receive the other information about how you use the Corona-Warn-App. It may however be possible for Google to infer your identity from the identifier and learn that your smartphone has been authenticated.\n\nIf you do not consent to this transfer of your data to a third country, please do not tap on “Accept”. You will still be able to use the app, but not the data sharing feature."</string>
- <!-- XTXT: onboarding privacy preserving analytics (ppa) - consent title -->
- <string name="ppa_onboarding_privacy_information_title" translatable="false">"Your Consent"</string>
- <!-- XTXT: Body for Privacy-preserving Analytics settings -->
- <string name="ppa_settings_privacy_information_body" translatable="false">"By enabling “Share Data” above, you consent to the following:\n\nThe app will transmit information it records to the RKI, on a daily basis. The data concerns possible exposures and warnings that have been displayed to you, test results you have retrieved, and whether you have warned other users, and information about your smartphone’s operating system. If you have provided further details above (region, age group), then the RKI will also receive this information.\n\nThe RKI will compile this data into statistics and analyze it to assess the effectiveness and functioning of the app, and draw conclusions regarding the pandemic. The resulting knowledge will help to improve the app’s features and make it more user-friendly, as well as to inform other pandemic response measures.\n\nBefore your data is analyzed, it is necessary to ensure that each app that shares data is only counted once, so as not to distort the statistics. This is why the authenticity of your app needs to be verified. For this purpose, a unique identifier is generated by your smartphone and transmitted to Google in the U.S. or other third countries, so that Google can confirm the authenticity of your app to the RKI. The identifier contains information about the version of your smartphone and the app. On this basis, Google may be able to infer your identity and learn that your smartphone has been authenticated. Google does not receive any other information from the app during this process.\n\n You can withdraw your consent at any time by disabling “Share Data” above."</string>
+    <string name="ppa_onboarding_privacy_information_body" translatable="false">"By tapping on “Accept”, you consent to the following:\n\nThe app will transmit information it records to the RKI, on a daily basis. The data concerns possible exposures and warnings that have been displayed to you, test results you have retrieved, and whether you have warned other users, and information about your smartphone’s operating system. If you have provided further details above (region, age group), then the RKI will also receive this information.\n\nThe RKI will compile this data into statistics and analyze it to assess the effectiveness and functioning of the app, and draw conclusions regarding the pandemic. The resulting knowledge will help to improve the app’s features and make it more user-friendly, as well as to inform other pandemic response measures.\n\nBefore your data is analyzed, it is necessary to ensure that each app that shares data is only counted once, so as not to distort the statistics. This is why the authenticity of your app needs to be verified. For this purpose, a unique identifier is generated by your smartphone and transmitted to Google in the U.S. or other third countries, so that Google can confirm the authenticity of your app to the RKI. The identifier contains information about the version of your smartphone and the app. On this basis, Google may be able to infer your identity and learn that your smartphone has been authenticated. Google does not receive any other information from the app during this process.\n\nYou can withdraw your consent at any time by disabling the data sharing feature in the app's settings."</string>
+    <!-- XTXT: Body point consent for Privacy-preserving Analytics -->
+    <string name="ppa_onboarding_privacy_information_point_consent" translatable="false">"Your consent is voluntary. If you do not give your consent, you will still be able to use the app."</string>
+    <!-- XTXT: Body point identity for Privacy-preserving Analytics -->
+    <string name="ppa_onboarding_privacy_information_point_identity" translatable="false">"If you share data about your use of the app, your identity will still be kept secret from the RKI. This means the RKI will not find out who you are or who you have met. No profiles will be created either."</string>
+    <!-- XTXT: Body point sixteen for Privacy-preserving Analytics -->
+    <string name="ppa_onboarding_privacy_information_point_sixteen" translatable="false">"You need to be at least 16 years old to give your consent."</string>
+    <!-- XHED: Title for Privacy-preserving Analytics additional info  -->
+    <string name="ppa_onboarding_more_info_title" translatable="false">"Verification of authenticity and transfer to a third country"</string>
+    <!-- XTXT: Body for Privacy-preserving Analytics additional info -->
+    <string name="ppa_onboarding_more_info_body" translatable="false">"To confirm the authenticity of your app, your smartphone will generate a unique identifier that contains information about the version of your smartphone and the app. This is necessary to prevent data from being transmitted to the RKI more than once or in an unauthorised manner, as this could distort the results of the analysis. The identifier will be transmitted to Google. This may result in data being transferred to the U.S. or other third countries. There, the level of data protection may not be considered equivalent under European law and it may not be possible to enforce your European data protection rights. In particular, there is a possibility that once the transmitted data reaches Google, it may be accessed and analyzed by security authorities in the third country, even if they have no specific grounds for suspicion, for example by linking the data with other information. This only concerns the identifier sent to Google. Google will not receive the other information about how you use the Corona-Warn-App. It may however be possible for Google to infer your identity from the identifier and learn that your smartphone has been authenticated.\n\nIf you do not consent to this transfer of your data to a third country, please do not tap on “Accept”. You will still be able to use the app, but not the data sharing feature."</string>
+    <!-- XTXT: onboarding privacy preserving analytics (ppa) - consent title -->
+    <string name="ppa_onboarding_privacy_information_title" translatable="false">"Your Consent"</string>
+    <!-- XTXT: Body for Privacy-preserving Analytics settings -->
+    <string name="ppa_settings_privacy_information_body" translatable="false">"By enabling “Share Data” above, you consent to the following:\n\nThe app will transmit information it records to the RKI, on a daily basis. The data concerns possible exposures and warnings that have been displayed to you, test results you have retrieved, and whether you have warned other users, and information about your smartphone’s operating system. If you have provided further details above (region, age group), then the RKI will also receive this information.\n\nThe RKI will compile this data into statistics and analyze it to assess the effectiveness and functioning of the app, and draw conclusions regarding the pandemic. The resulting knowledge will help to improve the app’s features and make it more user-friendly, as well as to inform other pandemic response measures.\n\nBefore your data is analyzed, it is necessary to ensure that each app that shares data is only counted once, so as not to distort the statistics. This is why the authenticity of your app needs to be verified. For this purpose, a unique identifier is generated by your smartphone and transmitted to Google in the U.S. or other third countries, so that Google can confirm the authenticity of your app to the RKI. The identifier contains information about the version of your smartphone and the app. On this basis, Google may be able to infer your identity and learn that your smartphone has been authenticated. Google does not receive any other information from the app during this process.\n\n You can withdraw your consent at any time by disabling “Share Data” above."</string>
+
+    <!-- XHED: Title for debug legal screen privacy card -->
+    <string name="debugging_debuglog_legal_privacy_card_title" translatable="false">"Prüfung der Echtheit und Drittlandsübermittlung"</string>
+    <!-- YTXT: First section for debug legal screen privacy card -->
+    <string name="debugging_debuglog_legal_privacy_card_first_section" translatable="false">"Um die Echtheit Ihrer App zu bestätigen, erzeugt Ihr Smartphone eine eindeutige Kennung, die Informationen über die Version Ihres Smartphones und der App enthält. Das ist erforderlich, um sicherzustellen, dass nur Nutzer Daten auf diesem Weg an den technischen Support übersenden, die tatsächlich die Corona-Warn-App nutzen und nicht manipulierte Fehlerberichte bereitstellen. Die Kennung wird dafür einmalig an Google übermittelt. Dabei kann es auch zu einer Datenübermittlung in die USA oder andere Drittländer kommen. Dort besteht möglicherweise kein dem europäischen Recht entsprechendes Datenschutzniveau und Ihre europäischen Datenschutzrechte können eventuell nicht durchgesetzt werden. Insbesondere besteht die Möglichkeit, dass Sicherheitsbehörden im Drittland, auch ohne einen konkreten Verdacht, auf die übermittelten Daten bei Google zugreifen und diese auswerten, beispielsweise indem sie Daten mit anderen Informationen verknüpfen. Dies betrifft nur die an Google übermittelte Kennung. Die Angaben aus Ihrem Fehlerbericht erhält Google nicht. Möglicherweise kann Google jedoch anhand der Kennung auf Ihre Identität schließen und nachvollziehen, dass die Echtheitsprüfung Ihres Smartphones stattgefunden hat."</string>
+    <!-- YTXT: Second section for debug legal screen privacy card -->
+    <string name="debugging_debuglog_legal_privacy_card_second_section" translatable="false">"Wenn Sie mit der Drittlandsübermittlung nicht einverstanden sind, tippen Sie bitte nicht „Einverstanden und Fehlerbericht senden“ an. Sie können die App weiterhin nutzen, eine Übersendung des Fehlerberichtes über die App ist dann jedoch nicht möglich."</string>
+
+    <!-- XHED: Title for debug upload screen privacy card -->
+    <string name="debugging_debuglog_privacy_card_title" translatable="false">"Datenschutz und Datensicherheit"</string>
+    <!-- YTXT: First bullet point for debug upload screen privacy card -->
+    <string name="debug_log_privacy_card_section_body_one" translatable="false">"Die Aufzeichnung des Fehlerberichts ist freiwillig."</string>
+    <!-- YTXT: Second bullet point for debug upload screen privacy card -->
+    <string name="debug_log_privacy_card_container_section_two" translatable="false">"Auf den Fehlerbericht haben zunächst nur Sie Zugriff. Sie können im Anschluss entscheiden, ob Sie den Fehlerbericht an den technischen Support senden, ob Sie den Fehlerbericht zunächst auf Ihrem Smartphone speichern oder die Aufzeichnung stoppen und löschen wollen. Wenn Sie den Fehlerbericht zunächst lokal speichern, haben Sie die Möglichkeit, sich den Fehlerbericht selbst anzuschauen, bevor Sie diesen an den Support übermitteln."</string>
+    <!-- YTXT: Third bullet point for debug upload screen privacy card -->
+    <string name="debug_log_privacy_card_container_section_three" translatable="false">"Der Fehlerbericht enthält sensible Informationen, zum Beispiel Angaben über Ihr Testergebnis oder das für Sie ermittelte Ansteckungsrisiko. Er enthält keine Informationen über die QR-Codes, die Sie bei der Testregistrierung verwendet haben, über Angaben, die Sie im Kontakt-Tagebuch erfasste haben oder Angaben zu Ihrer Identität."</string>
+    <!-- YTXT: Fourth bullet point for debug upload screen privacy card -->
+    <string name="debug_log_privacy_card_container_section_four" translatable="false">"Wir empfehlen die Fehlerberichte nicht zu veröffentlichen und nicht per E-Mail zu versenden."</string>
+    <!-- YTXT: Fifth bullet point for debug upload screen privacy card -->
+    <string name="debug_log_privacy_card_container_section_five" translatable="false">"Private Personen oder Unternehmen dürfen von Ihnen nicht die Weitergabe eines aufgezeichneten Fehlerberichtes verlangen."</string>
 
 </resources>
diff --git a/Corona-Warn-App/src/main/res/values/strings.xml b/Corona-Warn-App/src/main/res/values/strings.xml
index 1578ea198..60b7b297a 100644
--- a/Corona-Warn-App/src/main/res/values/strings.xml
+++ b/Corona-Warn-App/src/main/res/values/strings.xml
@@ -878,6 +878,10 @@
     <string name="information_legal_illustration_description">"A hand holds a smartphone displaying a large body of text on the screen. Next to the text is a section symbol representing the imprint."</string>
 
 
+    <!-- ####################################
+           App Information - Bug Reporting
+    ###################################### -->
+
     <!-- XHED: Headline for debug log screen -->
     <string name="debugging_debuglog_title">"Error Report"</string>
     <!-- XHED: Headline for current status of debug log screen -->
@@ -915,6 +919,13 @@
     <!-- XHED: Title for native sharing dialog -->
     <string name="debugging_debuglog_sharing_dialog_title">"Share CWA Error Report"</string>
 
+    <!-- XHED: Title for debug legal screen -->
+    <string name="debugging_debuglog_legal_dialog_title">"Ausführliche Informationen zur Übersendung der Fehlerberichte"</string>
+    <!-- YTXT: Section Title for debug legal screen -->
+    <string name="debugging_debuglog_legal_section_title">"Zur Auswertung der Fehlerberichte durch das RKI"</string>
+    <!-- YTXT: Section Body for debug legal screen -->
+    <string name="debugging_debuglog_legal_section_body">"Nachdem die Echtheit Ihrer App geprüft wurde, wird der Fehlerbericht über eine gesicherte Verbindung an das RKI übermittelt. Die Fehlerberichte werden nur zur Fehleranalyse und Fehlerbehebung im Rahmen zukünftiger Updates der App genutzt. Nur Mitarbeiter des technischen Support können auf die Fehlerberichte zugreifen. Die Fehlerberichte enthalten eine Vielzahl von Statusmeldungen und Ereignissen, die in der App ausgelöst wurden, sie enthalten aber keine Hinweise anhand derer das RKI auf Ihre Identität schließen kann. Erst wenn Sie die Fehlerbericht-ID im Zusammenhang mit weiteren Mitteilungen nennen, kann ein Zusammenhang zwischen der Mitteilung (und z.B. Ihrem dort enthaltenen Namen) und den im Fehlerbericht enthaltenen Angaben (z.B. technische Meldungen zur Berechnung im Rahmen der Risiko-Ermittlung, in der App angezeigte Informationen und durchlaufene Schritte, aber ggf. auch einem abgerufenen Testergebnis und ggf. im Rahmen der Warnung geteilter Zufalls-IDs) hergestellt werden."</string>
+
     <!-- XHED: Title for Bugreporting share log screen -->
     <string name="debugging_debuglog_share_log_title">"Fehlerbericht senden"</string>
     <!-- YTXT: First body section for bugreporting share log screen -->
@@ -940,15 +951,6 @@
     <!-- YTXT: Description for log upload history -->
     <string name="debugging_debuglog_uploadhistory_description">"Hier sehen Sie die IDs Ihrer Fehleranalyse-Protokolle."</string>
 
-
-    <string name="debugging_debuglog_privacy_card_title">"Datenschutz und Datensicherheit"</string>
-    <string name="debug_log_privacy_card_section_body_one">"Die Aufzeichnung des Fehlerberichts ist freiwillig."</string>
-    <string name="debug_log_privacy_card_container_section_two">"Auf den Fehlerbericht haben zunächst nur Sie Zugriff. Sie können im Anschluss entscheiden, ob Sie den Fehlerbericht an den technischen Support senden, ob Sie den Fehlerbericht zunächst auf Ihrem Smartphone speichern oder die Aufzeichnung stoppen und löschen wollen. Wenn Sie den Fehlerbericht zunächst lokal speichern, haben Sie die Möglichkeit, sich den Fehlerbericht selbst anzuschauen, bevor Sie diesen an den Support übermitteln."</string>
-    <string name="debug_log_privacy_card_container_section_three">"Der Fehlerbericht enthält sensible Informationen, zum Beispiel Angaben über Ihr Testergebnis oder das für Sie ermittelte Ansteckungsrisiko. Er enthält keine Informationen über die QR-Codes, die Sie bei der Testregistrierung verwendet haben, über Angaben, die Sie im Kontakt-Tagebuch erfasst haben oder Angaben zu Ihrer Identität."</string>
-    <string name="debug_log_privacy_card_container_section_four">"Wir empfehlen die Fehlerberichte nicht zu veröffentlichen und nicht per E-Mail zu versenden."</string>
-    <string name="debug_log_privacy_card_container_section_five">"Private Personen oder Unternehmen dürfen von Ihnen nicht die Weitergabe eines aufgezeichneten Fehlerberichtes verlangen."</string>
-
-
     <!-- ####################################
               Interoperability
     ###################################### -->
diff --git a/Corona-Warn-App/src/main/res/values/styles.xml b/Corona-Warn-App/src/main/res/values/styles.xml
index a8dcb7dc1..51093110b 100644
--- a/Corona-Warn-App/src/main/res/values/styles.xml
+++ b/Corona-Warn-App/src/main/res/values/styles.xml
@@ -57,11 +57,19 @@
         <item name="navigationContentDescription">@string/accessibility_back</item>
     </style>
 
+    <style name="CWAToolbar.BackArrow.Transparent">
+        <item name="android:background">@color/colorTransparent</item>
+    </style>
+
     <style name="CWAToolbar.Close">
         <item name="navigationIcon">@drawable/ic_close</item>
         <item name="navigationContentDescription">@string/accessibility_close</item>
     </style>
 
+    <style name="CWAToolbar.Close.Transparent">
+        <item name="android:background">@color/colorTransparent</item>
+    </style>
+
     <!-- Dialog Theme-->
     <style name="DialogTheme" parent="Theme.MaterialComponents.DayNight.Dialog.Alert">
         <item name="buttonBarPositiveButtonStyle">@style/DialogButtonTheme</item>
-- 
GitLab