From a387257d9adc3e3f1fc91f1ea78c39fb2267333f Mon Sep 17 00:00:00 2001
From: axelherbstreith <75120552+axelherbstreith@users.noreply.github.com>
Date: Tue, 15 Dec 2020 18:16:06 +0100
Subject: [PATCH] Contact Diary - Onboarding screen (EXPOSUREAPP-4154) (#1868)

* Added basic layout

* Added translation support

* Added darkmode images

* Included dimens in layout

* Added navigation to onboarding fragment

* Changed AndroidManifest to support new contact diary activity

* Updated translation files

* Added missing image
Updated text styling
Changed layout naming

* Added back navigation

* Updated layout

* Added direct link to privacy information

* repair PR commit

* Changed back navigation

* repair

* Changed information text

* Fixed typo in module

* updated strings

* Aligned back navigation

* Changed margins
Remove unused back navigation functionality

* Added missing dimens

* Added missing dimens
Added updated icons
Added final layout
Updated strings
Updated viewmodel
removed unused code

* Moved contact diary strings

* Moved strings
Added line breaks
added dimens to dividers

Co-authored-by: BMItter <berndus@gmx.de>
---
 Corona-Warn-App/src/main/AndroidManifest.xml  |   6 +
 .../contactdiary/ui/ContactDiaryModule.kt     |  12 +
 .../ContactDiaryOnboardingFragment.kt         |  57 +++++
 .../ContactDiaryOnboardingFragmentModule.kt   |  19 ++
 ...ContactDiaryOnboardingFragmentViewModel.kt |  25 ++
 .../ContactDiaryOnboardingNavigationEvents.kt |   7 +
 .../de/rki/coronawarnapp/ui/ActivityBinder.kt |   5 +
 .../information/InformationPrivacyFragment.kt |   4 +-
 .../drawable-night/ic_contact_diary_edit.xml  |  12 +
 .../drawable-night/ic_contact_diary_file.xml  |  12 +
 ..._contact_diary_illustration_onboarding.xml | 189 +++++++++++++++
 .../ic_contact_diary_location.xml             |  12 +
 .../drawable-night/ic_contact_diary_lock.xml  |  17 ++
 .../ic_contact_diary_person.xml               |  12 +
 .../res/drawable/ic_contact_diary_edit.xml    |  12 +
 .../res/drawable/ic_contact_diary_file.xml    |  12 +
 ..._contact_diary_illustration_onboarding.xml | 189 +++++++++++++++
 .../drawable/ic_contact_diary_location.xml    |  12 +
 .../res/drawable/ic_contact_diary_lock.xml    |  17 ++
 .../res/drawable/ic_contact_diary_person.xml  |  12 +
 .../contact_diary_onboarding_fragment.xml     | 221 ++++++++++++++++++
 .../include_contact_diary_onboarding_row.xml  |  48 ++++
 .../include_contact_diary_privacy_card.xml    | 180 ++++++++++++++
 .../navigation/contact_diary_nav_graph.xml    |  17 +-
 .../res/values-de/contact_diary_strings.xml   |  43 ++++
 .../src/main/res/values-de/strings.xml        |   7 -
 .../main/res/values/contact_diary_strings.xml |  42 ++++
 .../src/main/res/values/strings.xml           |   7 -
 28 files changed, 1191 insertions(+), 17 deletions(-)
 create mode 100644 Corona-Warn-App/src/main/java/de/rki/coronawarnapp/contactdiary/ui/ContactDiaryModule.kt
 create mode 100644 Corona-Warn-App/src/main/java/de/rki/coronawarnapp/contactdiary/ui/onboarding/ContactDiaryOnboardingFragment.kt
 create mode 100644 Corona-Warn-App/src/main/java/de/rki/coronawarnapp/contactdiary/ui/onboarding/ContactDiaryOnboardingFragmentModule.kt
 create mode 100644 Corona-Warn-App/src/main/java/de/rki/coronawarnapp/contactdiary/ui/onboarding/ContactDiaryOnboardingFragmentViewModel.kt
 create mode 100644 Corona-Warn-App/src/main/java/de/rki/coronawarnapp/contactdiary/ui/onboarding/ContactDiaryOnboardingNavigationEvents.kt
 create mode 100644 Corona-Warn-App/src/main/res/drawable-night/ic_contact_diary_edit.xml
 create mode 100644 Corona-Warn-App/src/main/res/drawable-night/ic_contact_diary_file.xml
 create mode 100644 Corona-Warn-App/src/main/res/drawable-night/ic_contact_diary_illustration_onboarding.xml
 create mode 100644 Corona-Warn-App/src/main/res/drawable-night/ic_contact_diary_location.xml
 create mode 100644 Corona-Warn-App/src/main/res/drawable-night/ic_contact_diary_lock.xml
 create mode 100644 Corona-Warn-App/src/main/res/drawable-night/ic_contact_diary_person.xml
 create mode 100644 Corona-Warn-App/src/main/res/drawable/ic_contact_diary_edit.xml
 create mode 100644 Corona-Warn-App/src/main/res/drawable/ic_contact_diary_file.xml
 create mode 100644 Corona-Warn-App/src/main/res/drawable/ic_contact_diary_illustration_onboarding.xml
 create mode 100644 Corona-Warn-App/src/main/res/drawable/ic_contact_diary_location.xml
 create mode 100644 Corona-Warn-App/src/main/res/drawable/ic_contact_diary_lock.xml
 create mode 100644 Corona-Warn-App/src/main/res/drawable/ic_contact_diary_person.xml
 create mode 100644 Corona-Warn-App/src/main/res/layout/contact_diary_onboarding_fragment.xml
 create mode 100644 Corona-Warn-App/src/main/res/layout/include_contact_diary_onboarding_row.xml
 create mode 100644 Corona-Warn-App/src/main/res/layout/include_contact_diary_privacy_card.xml

diff --git a/Corona-Warn-App/src/main/AndroidManifest.xml b/Corona-Warn-App/src/main/AndroidManifest.xml
index a1d99bd45..1d0b39de8 100644
--- a/Corona-Warn-App/src/main/AndroidManifest.xml
+++ b/Corona-Warn-App/src/main/AndroidManifest.xml
@@ -76,6 +76,12 @@
             android:exported="false"
             android:screenOrientation="fullSensor"
             tools:replace="screenOrientation" />
+        <activity
+            android:name=".contactdiary.ui.ContactDiaryActivity"
+            android:exported="false"
+            android:screenOrientation="portrait"
+            android:theme="@style/AppTheme.NoActionBar" />
+
     </application>
 
 </manifest>
\ No newline at end of file
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/contactdiary/ui/ContactDiaryModule.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/contactdiary/ui/ContactDiaryModule.kt
new file mode 100644
index 000000000..9b3577952
--- /dev/null
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/contactdiary/ui/ContactDiaryModule.kt
@@ -0,0 +1,12 @@
+package de.rki.coronawarnapp.contactdiary.ui
+
+import dagger.Module
+import dagger.android.ContributesAndroidInjector
+import de.rki.coronawarnapp.contactdiary.ui.onboarding.ContactDiaryOnboardingFragment
+import de.rki.coronawarnapp.contactdiary.ui.onboarding.ContactDiaryOnboardingFragmentModule
+
+@Module
+abstract class ContactDiaryModule {
+    @ContributesAndroidInjector(modules = [ContactDiaryOnboardingFragmentModule::class])
+    abstract fun contactDiaryOnboardingFragment(): ContactDiaryOnboardingFragment
+}
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/contactdiary/ui/onboarding/ContactDiaryOnboardingFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/contactdiary/ui/onboarding/ContactDiaryOnboardingFragment.kt
new file mode 100644
index 000000000..6dc68b561
--- /dev/null
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/contactdiary/ui/onboarding/ContactDiaryOnboardingFragment.kt
@@ -0,0 +1,57 @@
+package de.rki.coronawarnapp.contactdiary.ui.onboarding
+
+import android.os.Bundle
+import androidx.fragment.app.Fragment
+import android.view.View
+import androidx.navigation.ActionOnlyNavDirections
+import de.rki.coronawarnapp.R
+import de.rki.coronawarnapp.contactdiary.ui.ContactDiaryActivity
+import de.rki.coronawarnapp.databinding.ContactDiaryOnboardingFragmentBinding
+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.viewBindingLazy
+import de.rki.coronawarnapp.util.viewmodel.CWAViewModelFactoryProvider
+import de.rki.coronawarnapp.util.viewmodel.cwaViewModels
+import javax.inject.Inject
+
+class ContactDiaryOnboardingFragment : Fragment(R.layout.contact_diary_onboarding_fragment), AutoInject {
+
+    @Inject lateinit var viewModelFactory: CWAViewModelFactoryProvider.Factory
+    private val vm: ContactDiaryOnboardingFragmentViewModel by cwaViewModels { viewModelFactory }
+    private val binding: ContactDiaryOnboardingFragmentBinding by viewBindingLazy()
+
+    override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
+        super.onViewCreated(view, savedInstanceState)
+        binding.apply {
+            contactDiaryOnboardingNextButton.setOnClickListener {
+                vm.onNextButtonClick()
+            }
+
+            contactDiaryOnboardingButtonBack.headerButtonBack.buttonIcon.setOnClickListener {
+                vm.onBackButtonPress()
+            }
+
+            contactDiaryOnboardingPrivacyInformation.setOnClickListener {
+                vm.onPrivacyButtonPress()
+            }
+        }
+
+        vm.routeToScreen.observe2(this) {
+            when (it) {
+
+                ContactDiaryOnboardingNavigationEvents.NavigateToMainActivity -> {
+                    (requireActivity() as ContactDiaryActivity).finish()
+                }
+
+                ContactDiaryOnboardingNavigationEvents.NavigateToPrivacyFragment -> {
+                    doNavigate(
+                        ActionOnlyNavDirections(
+                            R.id.action_contactDiaryOnboardingFragment_to_contactDiaryInformationPrivacyFragment
+                        )
+                    )
+                }
+            }
+        }
+    }
+}
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/contactdiary/ui/onboarding/ContactDiaryOnboardingFragmentModule.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/contactdiary/ui/onboarding/ContactDiaryOnboardingFragmentModule.kt
new file mode 100644
index 000000000..55afd7903
--- /dev/null
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/contactdiary/ui/onboarding/ContactDiaryOnboardingFragmentModule.kt
@@ -0,0 +1,19 @@
+package de.rki.coronawarnapp.contactdiary.ui.onboarding
+
+import dagger.Binds
+import dagger.Module
+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 ContactDiaryOnboardingFragmentModule {
+
+    @Binds
+    @IntoMap
+    @CWAViewModelKey(ContactDiaryOnboardingFragmentViewModel::class)
+    abstract fun contactDiaryOnboardingFragmentVM(
+        factory: ContactDiaryOnboardingFragmentViewModel.Factory
+    ): CWAViewModelFactory<out CWAViewModel>
+}
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/contactdiary/ui/onboarding/ContactDiaryOnboardingFragmentViewModel.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/contactdiary/ui/onboarding/ContactDiaryOnboardingFragmentViewModel.kt
new file mode 100644
index 000000000..e50e4a367
--- /dev/null
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/contactdiary/ui/onboarding/ContactDiaryOnboardingFragmentViewModel.kt
@@ -0,0 +1,25 @@
+package de.rki.coronawarnapp.contactdiary.ui.onboarding
+
+import com.squareup.inject.assisted.AssistedInject
+import de.rki.coronawarnapp.ui.SingleLiveEvent
+import de.rki.coronawarnapp.util.viewmodel.CWAViewModel
+import de.rki.coronawarnapp.util.viewmodel.SimpleCWAViewModelFactory
+
+class ContactDiaryOnboardingFragmentViewModel @AssistedInject constructor() : CWAViewModel() {
+    val routeToScreen: SingleLiveEvent<ContactDiaryOnboardingNavigationEvents> = SingleLiveEvent()
+
+    fun onNextButtonClick() {
+        TODO("handle this")
+    }
+
+    fun onBackButtonPress() {
+        routeToScreen.postValue(ContactDiaryOnboardingNavigationEvents.NavigateToMainActivity)
+    }
+
+    fun onPrivacyButtonPress() {
+        routeToScreen.postValue(ContactDiaryOnboardingNavigationEvents.NavigateToPrivacyFragment)
+    }
+
+    @AssistedInject.Factory
+    interface Factory : SimpleCWAViewModelFactory<ContactDiaryOnboardingFragmentViewModel>
+}
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/contactdiary/ui/onboarding/ContactDiaryOnboardingNavigationEvents.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/contactdiary/ui/onboarding/ContactDiaryOnboardingNavigationEvents.kt
new file mode 100644
index 000000000..138c7ce4c
--- /dev/null
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/contactdiary/ui/onboarding/ContactDiaryOnboardingNavigationEvents.kt
@@ -0,0 +1,7 @@
+package de.rki.coronawarnapp.contactdiary.ui.onboarding
+
+sealed class ContactDiaryOnboardingNavigationEvents {
+
+    object NavigateToMainActivity : ContactDiaryOnboardingNavigationEvents()
+    object NavigateToPrivacyFragment : ContactDiaryOnboardingNavigationEvents()
+}
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/ActivityBinder.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/ActivityBinder.kt
index be99bd064..fcb08e3b1 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/ActivityBinder.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/ActivityBinder.kt
@@ -2,6 +2,8 @@ package de.rki.coronawarnapp.ui
 
 import dagger.Module
 import dagger.android.ContributesAndroidInjector
+import de.rki.coronawarnapp.contactdiary.ui.ContactDiaryActivity
+import de.rki.coronawarnapp.contactdiary.ui.ContactDiaryModule
 import de.rki.coronawarnapp.ui.launcher.LauncherActivity
 import de.rki.coronawarnapp.ui.launcher.LauncherActivityModule
 import de.rki.coronawarnapp.ui.main.MainActivity
@@ -20,4 +22,7 @@ abstract class ActivityBinder {
 
     @ContributesAndroidInjector(modules = [OnboardingActivityModule::class])
     abstract fun onboardingActivity(): OnboardingActivity
+
+    @ContributesAndroidInjector(modules = [ContactDiaryModule::class])
+    abstract fun contactDiaryActivity(): ContactDiaryActivity
 }
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/information/InformationPrivacyFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/information/InformationPrivacyFragment.kt
index 41c3cde33..9bc1f33f8 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/information/InformationPrivacyFragment.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/information/InformationPrivacyFragment.kt
@@ -4,9 +4,9 @@ import android.os.Bundle
 import android.view.View
 import android.view.accessibility.AccessibilityEvent
 import androidx.fragment.app.Fragment
+import androidx.navigation.fragment.findNavController
 import de.rki.coronawarnapp.R
 import de.rki.coronawarnapp.databinding.FragmentInformationPrivacyBinding
-import de.rki.coronawarnapp.ui.main.MainActivity
 import de.rki.coronawarnapp.util.ui.viewBindingLazy
 
 /**
@@ -27,7 +27,7 @@ class InformationPrivacyFragment : Fragment(R.layout.fragment_information_privac
 
     private fun setButtonOnClickListener() {
         binding.informationPrivacyHeader.headerButtonBack.buttonIcon.setOnClickListener {
-            (activity as MainActivity).goBack()
+            findNavController().popBackStack()
         }
     }
 }
diff --git a/Corona-Warn-App/src/main/res/drawable-night/ic_contact_diary_edit.xml b/Corona-Warn-App/src/main/res/drawable-night/ic_contact_diary_edit.xml
new file mode 100644
index 000000000..78729ace6
--- /dev/null
+++ b/Corona-Warn-App/src/main/res/drawable-night/ic_contact_diary_edit.xml
@@ -0,0 +1,12 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="40dp"
+    android:height="40dp"
+    android:viewportWidth="40"
+    android:viewportHeight="40">
+  <path
+      android:pathData="M20,20m-20,0a20,20 0,1 1,40 0a20,20 0,1 1,-40 0"
+      android:fillColor="#434445"/>
+  <path
+      android:pathData="M25,20C22.24,20 20,22.24 20,25C20,27.76 22.24,30 25,30C27.76,30 30,27.76 30,25C30,22.24 27.76,20 25,20ZM26.65,27.35L24.5,25.2V22H25.5V24.79L27.35,26.64L26.65,27.35ZM26,11H22.82C22.4,9.84 21.3,9 20,9C18.7,9 17.6,9.84 17.18,11H14C12.9,11 12,11.9 12,13V28C12,29.1 12.9,30 14,30H20.11C19.52,29.43 19.04,28.75 18.69,28H14V13H16V16H24V13H26V18.08C26.71,18.18 27.38,18.39 28,18.68V13C28,11.9 27.1,11 26,11ZM20,13C19.45,13 19,12.55 19,12C19,11.45 19.45,11 20,11C20.55,11 21,11.45 21,12C21,12.55 20.55,13 20,13Z"
+      android:fillColor="#83D2F2"/>
+</vector>
diff --git a/Corona-Warn-App/src/main/res/drawable-night/ic_contact_diary_file.xml b/Corona-Warn-App/src/main/res/drawable-night/ic_contact_diary_file.xml
new file mode 100644
index 000000000..118e41009
--- /dev/null
+++ b/Corona-Warn-App/src/main/res/drawable-night/ic_contact_diary_file.xml
@@ -0,0 +1,12 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="40dp"
+    android:height="40dp"
+    android:viewportWidth="40"
+    android:viewportHeight="40">
+  <path
+      android:pathData="M20,20m-20,0a20,20 0,1 1,40 0a20,20 0,1 1,-40 0"
+      android:fillColor="#434445"/>
+  <path
+      android:pathData="M16,24H24V26H16V24ZM16,20H24V22H16V20ZM22,10H14C12.9,10 12,10.9 12,12V28C12,29.1 12.89,30 13.99,30H26C27.1,30 28,29.1 28,28V16L22,10ZM26,28H14V12H21V17H26V28Z"
+      android:fillColor="#83D2F2"/>
+</vector>
diff --git a/Corona-Warn-App/src/main/res/drawable-night/ic_contact_diary_illustration_onboarding.xml b/Corona-Warn-App/src/main/res/drawable-night/ic_contact_diary_illustration_onboarding.xml
new file mode 100644
index 000000000..67d1465a3
--- /dev/null
+++ b/Corona-Warn-App/src/main/res/drawable-night/ic_contact_diary_illustration_onboarding.xml
@@ -0,0 +1,189 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="360dp"
+    android:height="207dp"
+    android:viewportWidth="360"
+    android:viewportHeight="207">
+  <group>
+    <clip-path
+        android:pathData="M0,0h374.778v199.954h-374.778z"/>
+    <path
+        android:pathData="M142.276,6.4L142.059,67.936H124.099V49.652H67.351V43.023H33.408V65.032H21.207V73.278H-29.501V126.6H-10.085H9.011H21.207H33.408H40.302H80.081V126.437H118.798V126.6H144.783H157.253H192.309H194.846H207.499H227.049H251.618H258.485H287.838H299.454H319.269V118L380.305,125.369V70.596H319.269V41.133H299.454V33.835H251.618V44.047H235.746V29.465H207.499V6.359L142.276,6.4Z"
+        android:fillColor="#2D2D2F"
+        android:fillType="evenOdd"/>
+    <path
+        android:pathData="M95.67,120.334C56.426,120.334 39.33,96.832 2.689,101.281C-6.02,102.339 -17.08,105.643 -29.501,114.91V140.911L380.304,142.372V123.542C378.03,122.241 375.761,121.13 373.614,120.317C373.614,120.317 332.319,104.368 286.586,118.015C247.416,129.715 202.294,99.091 180.677,98.297C178.659,98.223 176.71,98.188 174.839,98.188C128.136,98.185 125.902,120.334 95.67,120.334Z"
+        android:fillColor="#3F3F43"
+        android:fillType="evenOdd"/>
+    <path
+        android:pathData="M103.075,141.069C103.075,141.069 102.733,124.726 110.069,121.303C110.069,121.303 108.439,85.758 119.363,86.247C119.363,86.247 122.461,69.942 128.495,71.736C134.527,73.529 135.669,88.04 134.2,105.16C134.2,105.16 146.593,104.019 145.289,120.813C145.289,120.813 152.626,126.683 151.811,140.869L103.075,141.069Z"
+        android:fillColor="#333337"
+        android:fillType="evenOdd"/>
+    <path
+        android:pathData="M127.594,141.961L126.582,141.977V85.318H127.242L127.594,141.961Z"
+        android:fillColor="#1E1E1F"
+        android:fillType="evenOdd"/>
+    <path
+        android:pathData="M126.737,109.246C126.718,109.235 124.926,108.18 123.078,106.53C120.577,104.299 119.165,102.1 118.879,99.996L119.39,99.743C120.037,104.511 127.025,108.293 127.095,108.333L126.737,109.246Z"
+        android:fillColor="#1E1E1F"
+        android:fillType="evenOdd"/>
+    <path
+        android:pathData="M126.97,122.984L127.022,121.827C127.096,121.756 133.928,115.485 135.347,111.849L135.927,112.133C134.47,115.867 127.276,122.695 126.97,122.984Z"
+        android:fillColor="#1E1E1F"
+        android:fillType="evenOdd"/>
+    <path
+        android:pathData="M126.747,136.207C126.724,136.2 124.461,135.568 122.151,134.278C119.058,132.552 117.28,130.435 117.011,128.156L117.659,128.047C118.27,133.212 127.075,134.502 127.025,135.659L126.747,136.207Z"
+        android:fillColor="#1E1E1F"
+        android:fillType="evenOdd"/>
+    <path
+        android:pathData="M1.634,12.053C-4.447,12.208 -7.927,20.87 -8.217,24.984C-9.457,42.594 -20.223,55.153 -19.227,82.584C-18.574,100.558 -12.273,119.025 -5.609,122.257C7.222,128.483 15.83,114.617 17.278,101.686C18.727,88.755 19.596,69.948 10.035,46.437C4.727,33.382 13.81,11.742 1.634,12.053Z"
+        android:fillColor="#333337"
+        android:fillType="evenOdd"/>
+    <path
+        android:pathData="M1.154,124.467C0.021,119.584 -2.523,95.112 -2.589,68.62C-2.63,52.535 -1.76,35.698 0.893,22.033L1.606,22.163C-1.037,35.783 -1.904,52.575 -1.864,68.62C-1.797,95.058 0.734,119.452 1.862,124.313L1.154,124.467Z"
+        android:fillColor="#1E1E1F"
+        android:fillType="evenOdd"/>
+    <path
+        android:pathData="M-1.833,93.718C-1.807,93.675 6.547,79.911 7.834,74.363L8.544,74.52C7.231,80.174 -1.18,94.034 -1.207,94.079L-1.833,93.718Z"
+        android:fillColor="#1E1E1F"
+        android:fillType="evenOdd"/>
+    <path
+        android:pathData="M37.336,127.727C43.202,121.199 47.391,110.98 44.04,89.692C40.688,68.404 37.895,63.579 32.59,62.728C27.284,61.877 23.932,65.283 22.535,72.662C21.139,80.042 21.419,87.422 19.184,90.259C16.95,93.098 4.105,108.994 11.364,122.618C18.626,136.242 30.914,132.552 37.336,127.727Z"
+        android:fillColor="#333337"
+        android:fillType="evenOdd"/>
+    <path
+        android:pathData="M22.602,132.1C24.543,127.851 28.251,116.236 30.594,103.316C32.165,94.652 33.125,85.393 32.528,77.365L31.838,77.413C32.431,85.384 31.477,94.582 29.915,103.195C27.584,116.055 23.9,127.597 21.975,131.814L22.602,132.1Z"
+        android:fillColor="#1E1E1F"
+        android:fillType="evenOdd"/>
+    <path
+        android:pathData="M28.428,113.065C27.99,113.558 38.272,106.78 40.22,100.096L39.578,99.905C37.705,106.337 28.44,112.189 28.414,112.206L28.428,113.065Z"
+        android:fillColor="#1E1E1F"
+        android:fillType="evenOdd"/>
+    <path
+        android:pathData="M25.194,125.226C25.176,125.202 19.203,116.845 18.308,110.637L17.682,110.747C18.603,117.143 24.677,125.638 24.694,125.662L25.194,125.226Z"
+        android:fillColor="#1E1E1F"
+        android:fillType="evenOdd"/>
+    <path
+        android:pathData="M298.793,63.986L300.575,81.963L304.196,84.864L307.818,87.04L302.748,97.918L274.5,98.643L278.122,87.04L277.397,81.238L279.606,80.266C281.381,79.483 282.627,77.837 282.887,75.908L284.503,63.979H298.793V63.986Z"
+        android:fillColor="#F6B893"/>
+    <path
+        android:pathData="M276.007,51.383C277.506,80.71 306.732,75.459 306.015,46.002C304.516,16.675 275.29,21.919 276.007,51.383Z"
+        android:fillColor="#F6B893"/>
+    <path
+        android:pathData="M313.605,163.905C325.918,213.218 314.098,284.077 310.288,340.946L301.35,341.236C301.35,341.236 296.222,248.753 294.049,227.722C293.39,221.333 291.231,207.678 290.131,201.738C290.044,201.289 289.095,199.324 288.979,201.615C288.255,216.119 281.736,232.073 280.287,248.027C276.905,285.309 277.651,311.264 276.18,342.034C276.18,342.034 265.816,348.169 265.801,348.104C263.635,339.517 257.834,268.782 257.834,258.18C257.834,256.004 255.009,210.702 266.525,164.63L313.605,163.905Z"
+        android:fillColor="#8C8C98"/>
+    <path
+        android:pathData="M254.524,167.217C261.325,192.171 225.131,199.031 249.613,162.25L254.524,167.217Z"
+        android:fillColor="#F6B893"/>
+    <path
+        android:pathData="M330.264,113.149C327.258,102.329 322.659,84.693 307.144,80.153C305.638,87.768 294.773,97.195 288.254,97.195C284.771,97.195 277.882,87.804 278.078,81.299C278.085,80.951 277.723,80.704 277.397,80.842C257.913,89.356 255.393,112.228 252.039,127.653C249.866,137.675 248.266,150.518 247.577,159.706C247.483,160.968 246.266,166.059 249.28,167.147C252.8,168.365 254.929,169.721 256.428,166.458C261.238,155.986 263.469,137.472 266.518,124.76C267.72,119.741 270.14,112.431 270.14,113.882C270.14,131.286 268.865,153.811 265.794,166.095C264.345,171.897 315.351,172.122 313.598,163.92C312.837,160.374 312.432,152.476 312.229,143.716C312.866,144.18 313.496,144.63 314.119,145.065C327.135,154.188 331.865,158.844 337.297,150.141C340.093,145.66 333.886,126.203 330.264,113.149ZM319.008,133.759C317.77,133.302 315.474,132.505 312.062,131.475C312.012,123.208 312.07,115.557 312.113,111.387C312.12,110.829 312.91,110.727 313.062,111.264L316.502,123.309C318.168,129.154 319.117,131.874 319.624,133.128C319.776,133.513 319.4,133.904 319.008,133.759Z"
+        android:fillColor="#C66A61"/>
+    <path
+        android:pathData="M288.544,105.412L278.657,105.608C277.361,105.637 276.419,106.71 276.557,108.001L279.128,131.94C279.266,133.238 280.432,134.268 281.728,134.239L291.615,134.043C292.912,134.014 293.853,132.94 293.716,131.65L291.144,107.711C291.007,106.413 289.841,105.383 288.544,105.412Z"
+        android:fillColor="#4A4A4A"/>
+    <path
+        android:pathData="M302.045,132.055L299.974,135.108C286.437,135.013 272.168,115.897 291.775,119.103C296.816,121.423 300.437,125.745 303.907,128.871"
+        android:fillColor="#F6B893"/>
+    <path
+        android:pathData="M270.763,84.707C271.784,83.931 272.624,83.365 273.768,82.691C275.094,81.908 276.028,81.48 277.491,80.863C277.607,80.813 277.875,80.863 277.955,81.016C279.186,80.711 280.164,80.16 281.185,79.21C283.336,77.208 284.713,73.655 283.988,70.029C283.597,68.071 282.844,67.259 282.431,66.758C273.117,55.518 279.244,37.642 279.244,37.642C279.244,37.642 284.474,48.679 304.204,56.236C304.204,56.236 303.385,61.37 300.488,64.996C300.278,65.265 298.105,67.23 298.025,70.312C297.953,73.336 297.946,76.396 300.01,81.03C302.523,86.687 308.919,88.05 313.772,86.106C317.393,84.656 318.842,81.03 319.008,77.455C319.008,77.455 309.136,78.035 311.461,66.998C313.2,58.702 315.271,40.579 307.094,30.1C306.978,29.955 306.862,29.81 306.746,29.665C306.666,29.556 306.572,29.447 306.478,29.346C306.311,29.15 306.138,28.954 305.964,28.766C305.797,28.584 305.631,28.41 305.464,28.236C302.9,25.633 299.525,23.675 295.114,22.718C295.114,22.718 278.281,20.397 275.384,30.274C275.384,30.274 270.741,32.602 270.154,41.319C269.575,50.036 271.031,53.226 271.32,59.913C271.668,68.042 271.9,76.186 263.194,77.926C263.194,77.926 262.882,82.365 270.763,84.707Z"
+        android:fillColor="#4A4A4A"/>
+    <path
+        android:pathData="M80.209,99.649C80.209,99.649 85.118,104.261 86.972,105.501C88.511,106.534 93.193,108.699 93.193,108.699L91.405,111.124C91.405,111.124 86.939,110.124 85.574,109.482C84.165,108.829 80.437,105.969 80.437,105.969L80.209,99.649Z"
+        android:fillColor="#F6B893"/>
+    <path
+        android:pathData="M56.886,176.57L55.109,179.953C54.859,180.421 55.033,180.997 55.477,181.258C57.623,182.509 63.475,185.718 66.001,184.848C66.358,184.728 66.445,184.26 66.163,184.01C64.548,182.52 59.53,177.767 59.921,176.603L56.886,176.57Z"
+        android:fillColor="#4A4A4A"/>
+    <path
+        android:pathData="M56.724,176.886L60.148,177.343L77.099,138.066L68.277,120.272L68.179,144.625C68.179,144.625 60.311,160.331 59.054,166.498C57.797,172.579 56.724,176.886 56.724,176.886Z"
+        android:fillColor="#B96161"/>
+    <path
+        android:pathData="M67.724,114.594L81.022,114.768C81.022,114.768 92.553,172.796 97.159,176.712L94.677,178.496C94.677,178.496 80.491,159.091 81.726,146.637C81.726,146.626 64.169,118.325 67.724,114.594Z"
+        android:fillColor="#C66A61"/>
+    <path
+        android:pathData="M77.11,92.264L76.254,86.195C76.254,86.195 79.971,86.358 79.884,81.159C79.873,80.191 79.798,78.548 78.92,77.298L75.517,76.21L73.371,83.106L71.322,91.47L74.942,93.787L77.435,93.721L77.11,92.264Z"
+        android:fillColor="#F6B893"/>
+    <path
+        android:pathData="M94.678,178.495L95.22,182.27C95.296,182.792 95.761,183.162 96.282,183.107C98.753,182.857 105.364,181.987 106.903,179.801C107.12,179.496 106.914,179.061 106.545,179.028C104.367,178.778 97.528,177.897 97.16,176.722L94.678,178.495Z"
+        android:fillColor="#4A4A4A"/>
+    <path
+        android:pathData="M64.83,122.61L65.752,111.255L70.531,112.625L67.171,124.307C67.171,124.307 66.326,131.083 63.497,129.093C59.986,126.613 64.711,124.003 64.83,122.61Z"
+        android:fillColor="#F6B893"/>
+    <path
+        android:pathData="M76.524,92.242C75.245,93.689 73.814,91.013 71.018,91.742C68.374,92.427 66.011,109.406 65.751,111.266C65.74,111.375 65.729,111.429 65.729,111.429C66.456,113.463 69.772,112.81 70.411,112.658L69.935,114.779L81.011,114.768C85.346,102.76 77.803,90.796 76.524,92.242Z"
+        android:fillColor="#B1DAEF"/>
+    <path
+        android:pathData="M79.884,81.202C79.884,81.202 82.55,79.473 80.784,74.861C80.784,74.861 80.393,72.882 77.63,72.947C77.63,72.947 73.229,68.988 69.09,72.349C64.949,75.71 67.778,79.071 67.778,79.071C67.778,79.071 62.262,84.085 64.169,90.883C64.169,90.883 66.207,95.299 68.569,93.787C70.932,92.275 70.802,95.571 72.048,91.155C73.295,86.739 75.462,87.391 74.606,79.951C74.606,79.951 77.565,80.147 78.215,77.113C78.226,77.102 79.786,77.841 79.884,81.202Z"
+        android:fillColor="#663014"/>
+    <path
+        android:pathData="M89.67,112.821C90.234,113.137 92.358,113.735 93.052,113.876C93.225,113.909 93.648,113.931 93.832,113.594C94.829,111.701 97.81,107.089 98.005,106.817C98.211,106.513 98.189,106.437 97.929,106.263C97.755,106.154 95.371,105.48 94.677,105.273C94.439,105.208 94.233,105.577 94.168,105.664C93.008,107.046 89.866,111.832 89.67,112.136C89.41,112.506 89.443,112.702 89.67,112.821Z"
+        android:fillColor="#4A4A4A"
+        android:fillType="evenOdd"/>
+    <path
+        android:pathData="M96.346,109.101C97.289,108.906 96.097,110.711 95.631,111.353C95.219,111.94 94.84,112.528 94.558,112.386C94.276,112.245 94.504,111.32 94.862,110.591C95.208,109.874 95.772,109.232 96.346,109.101Z"
+        android:fillColor="#F6B893"/>
+  </group>
+  <group>
+    <clip-path
+        android:pathData="M171,91h43v59h-43z"/>
+    <path
+        android:pathData="M201.436,123.772C218.188,124.079 218.19,149.69 201.436,150C184.685,149.694 184.682,124.082 201.436,123.772ZM201.325,148.523C216.092,148.255 216.094,125.675 201.325,125.404C186.559,125.672 186.555,148.252 201.325,148.523Z"
+        android:fillColor="#6A7F90"/>
+    <path
+        android:pathData="M184.247,130.235C184.247,130.911 184.272,131.678 185.471,131.678L200.228,131.465C201.737,131.42 201.886,130.367 202.228,129.436C202.694,127.693 187.312,128.957 186.425,128.594C184.989,128.637 184.086,129.202 184.247,130.235Z"
+        android:fillColor="#6A7F90"/>
+    <path
+        android:pathData="M183.423,124.646C186.827,123.978 197.794,118.389 200.461,125.082C201.346,130.468 187.442,128.541 184.774,129.211L179.022,143.066L176.409,141.682L180.161,127.756C180.164,127.756 181.087,125.405 183.423,124.646Z"
+        android:fillColor="#C66A61"/>
+    <path
+        android:pathData="M199.831,105.448C199.203,105.773 198.312,105.665 198.024,105.124L196.937,101.909C196.314,100.659 198.9,99.849 199.407,100.922L200.937,103.834C201.2,104.304 200.854,104.63 200.224,104.882"
+        android:fillColor="#F6B893"
+        android:fillType="evenOdd"/>
+    <path
+        android:pathData="M192.876,96.337C191.938,99.161 193.906,103.875 195.591,103.26C199.088,101.984 200.079,102.136 201.019,99.311C203.477,92.626 195.031,89.772 192.876,96.337Z"
+        android:fillColor="#F6B893"/>
+    <path
+        android:pathData="M195.38,95.638C192.617,96.55 192.065,92.455 194.541,92.456C195.002,91.888 199.634,89.012 202.479,93.372C203.314,94.65 202.997,97.685 201.845,99.872C201.811,99.936 201.773,99.998 201.729,100.056C201.304,100.639 200.538,101.655 200.257,101.646C199.358,101.614 198.643,100.911 198.47,100.442C198.315,100.02 199.269,99.21 199.446,98.655C199.955,97.07 198.489,96.456 197.918,97.995C197.502,97.92 196.229,96.933 195.84,95.875C195.77,95.685 195.57,95.575 195.38,95.638Z"
+        android:fillColor="#663014"/>
+    <path
+        android:pathData="M199.817,103.257C194.205,103.149 191.925,114.096 190.281,121.818C191.359,124.301 197.993,128.142 200.38,126.475C200.917,124.746 203.641,114.968 204.039,111.61C204.463,108.032 201.962,103.21 199.817,103.257Z"
+        android:fillColor="#B1DAEF"/>
+    <path
+        android:pathData="M181.819,110.062C181.429,110.082 180.617,109.709 180.842,110.527L181.609,115.847C181.651,116.537 182.588,116.049 182.941,116.07C183.152,116.036 183.309,116.002 183.265,115.718L182.467,110.49C182.424,110.206 182.364,110.13 182.086,110.096"
+        android:fillColor="#4A4A4A"/>
+    <path
+        android:pathData="M184.207,116.079C183.722,116.152 182.025,117.089 181.583,116.578L180.524,115.654C179.794,114.962 180.555,112.791 181.421,113.222L182.528,113.709H184.213L184.207,116.079Z"
+        android:fillColor="#F6B893"/>
+    <path
+        android:pathData="M196.888,106.035C199.19,103.694 202.348,107.549 200.96,109.892L195.426,115.786C194.949,116.294 194.018,117.422 192.674,117.209L184.104,116.917L183.593,113.155L192.08,113.056L196.888,106.035Z"
+        android:fillColor="#B1DAEF"/>
+    <path
+        android:pathData="M185.019,122.294C185.035,123.512 186.783,123.044 187.804,123.198C189.501,122.838 203.579,125.002 203.692,122.423C203.471,119.971 190.913,121.554 188.143,121.383C187.902,121.369 187.66,121.359 187.418,121.367C186.397,121.406 185.165,121.225 185.019,122.294Z"
+        android:fillColor="#6A7F90"/>
+    <path
+        android:pathData="M200.66,131.385C201.174,131.491 201.717,130.812 202.233,129.398C204.072,124.352 205.779,111.925 206.466,109.981C206.535,109.788 206.587,109.587 206.606,109.381C206.705,108.283 205.869,108.893 205.779,108.945C203.923,110.018 200.871,125.538 199.942,128.053C199.898,128.171 199.863,128.292 199.84,128.416C199.491,130.147 199.592,131.517 200.66,131.385Z"
+        android:fillColor="#6A7F90"/>
+    <path
+        android:pathData="M186.329,131.421H184.862V145.311H186.329V131.421Z"
+        android:fillColor="#6A7F90"/>
+    <path
+        android:pathData="M200.075,137.354C200.047,139.345 203.088,139.345 203.06,137.354C203.088,135.362 200.047,135.362 200.075,137.354Z"
+        android:fillColor="#6A7F90"/>
+    <path
+        android:pathData="M182.154,146.356C182.231,150.968 188.898,150.966 188.975,146.356C188.898,141.745 182.229,141.745 182.154,146.356Z"
+        android:fillColor="#6A7F90"/>
+    <path
+        android:pathData="M183.1,146.365C183.114,149.718 188.071,149.718 188.085,146.365C188.071,143.013 183.114,143.013 183.1,146.365Z"
+        android:fillColor="#1E1E1F"/>
+    <path
+        android:pathData="M187.523,122.492L177.8,145.999L178.882,146.472L188.604,122.965L187.523,122.492Z"
+        android:fillColor="#6A7F90"/>
+    <path
+        android:pathData="M173.251,144.911L178.172,147.064C178.592,147.256 178.79,146.746 178.9,146.428C178.906,146.42 173.586,144.102 173.586,144.099C173.08,143.869 172.734,144.694 173.251,144.911Z"
+        android:fillColor="#6A7F90"/>
+    <path
+        android:pathData="M171.162,142.939C170.586,142.526 171.673,141.817 172.45,141.828C173.169,141.825 176.376,142.256 176.502,141.359L179.256,142.439C178.909,143.446 178.005,146.149 176.863,145.513C176.081,145.194 171.953,143.507 171.162,142.939Z"
+        android:fillColor="#4A4A4A"/>
+    <path
+        android:pathData="M184.85,146.359C184.836,147.35 186.348,147.35 186.334,146.359C186.35,145.368 184.836,145.368 184.85,146.359Z"
+        android:fillColor="#6A7F90"/>
+  </group>
+</vector>
diff --git a/Corona-Warn-App/src/main/res/drawable-night/ic_contact_diary_location.xml b/Corona-Warn-App/src/main/res/drawable-night/ic_contact_diary_location.xml
new file mode 100644
index 000000000..b28a0bf0f
--- /dev/null
+++ b/Corona-Warn-App/src/main/res/drawable-night/ic_contact_diary_location.xml
@@ -0,0 +1,12 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="40dp"
+    android:height="40dp"
+    android:viewportWidth="40"
+    android:viewportHeight="40">
+  <path
+      android:pathData="M20,20m-20,0a20,20 0,1 1,40 0a20,20 0,1 1,-40 0"
+      android:fillColor="#434445"/>
+  <path
+      android:pathData="M20,10C16.13,10 13,13.13 13,17C13,22.25 20,30 20,30C20,30 27,22.25 27,17C27,13.13 23.87,10 20,10ZM20,19.5C18.62,19.5 17.5,18.38 17.5,17C17.5,15.62 18.62,14.5 20,14.5C21.38,14.5 22.5,15.62 22.5,17C22.5,18.38 21.38,19.5 20,19.5Z"
+      android:fillColor="#83D2F2"/>
+</vector>
diff --git a/Corona-Warn-App/src/main/res/drawable-night/ic_contact_diary_lock.xml b/Corona-Warn-App/src/main/res/drawable-night/ic_contact_diary_lock.xml
new file mode 100644
index 000000000..01399e70c
--- /dev/null
+++ b/Corona-Warn-App/src/main/res/drawable-night/ic_contact_diary_lock.xml
@@ -0,0 +1,17 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="40dp"
+    android:height="40dp"
+    android:viewportWidth="40"
+    android:viewportHeight="40">
+  <path
+      android:pathData="M20,20m-20,0a20,20 0,1 1,40 0a20,20 0,1 1,-40 0"
+      android:fillColor="#434445"/>
+  <path
+      android:pathData="M19.9108,12.2372C21.305,12.2372 22.4883,14.0566 22.6667,16.2707H17.1712C17.1712,14.0566 18.4843,12.2372 19.9108,12.2372ZM15.08,16.2707H14.1722C12.9726,16.305 12,17.352 12,18.6221V26.6546C12,27.9247 12.9726,28.9716 14.1722,29.006H25.8278C27.0274,28.9888 28,27.9418 28,26.6546V18.6221C28,17.352 27.0274,16.305 25.8278,16.2707H24.92C25.4711,13.4558 23.769,10.6925 21.0942,10.109C18.4357,9.5254 15.8257,11.3447 15.2746,14.1595C15.1449,14.8632 15.1449,15.5841 15.2746,16.2707"
+      android:fillColor="#83D2F2"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M17.8198,21.6943C17.8198,22.501 18.2575,23.2047 18.9059,23.5823V25.9852C18.9059,26.2941 19.1653,26.5516 19.4895,26.5516H20.527C20.8512,26.5516 21.1106,26.2941 21.1106,25.9852V23.5651C21.759,23.1875 22.1967,22.4838 22.1967,21.6771C22.1967,20.4757 21.2241,19.4974 20.0083,19.4974C18.7925,19.5145 17.8198,20.4929 17.8198,21.6943Z"
+      android:fillColor="#434445"
+      android:fillType="evenOdd"/>
+</vector>
diff --git a/Corona-Warn-App/src/main/res/drawable-night/ic_contact_diary_person.xml b/Corona-Warn-App/src/main/res/drawable-night/ic_contact_diary_person.xml
new file mode 100644
index 000000000..6b5071820
--- /dev/null
+++ b/Corona-Warn-App/src/main/res/drawable-night/ic_contact_diary_person.xml
@@ -0,0 +1,12 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="40dp"
+    android:height="40dp"
+    android:viewportWidth="40"
+    android:viewportHeight="40">
+  <path
+      android:pathData="M20,20m-20,0a20,20 0,1 1,40 0a20,20 0,1 1,-40 0"
+      android:fillColor="#434445"/>
+  <path
+      android:pathData="M20,20C22.21,20 24,18.21 24,16C24,13.79 22.21,12 20,12C17.79,12 16,13.79 16,16C16,18.21 17.79,20 20,20ZM20,22C17.33,22 12,23.34 12,26V28H28V26C28,23.34 22.67,22 20,22Z"
+      android:fillColor="#83D2F2"/>
+</vector>
diff --git a/Corona-Warn-App/src/main/res/drawable/ic_contact_diary_edit.xml b/Corona-Warn-App/src/main/res/drawable/ic_contact_diary_edit.xml
new file mode 100644
index 000000000..cf7d717d9
--- /dev/null
+++ b/Corona-Warn-App/src/main/res/drawable/ic_contact_diary_edit.xml
@@ -0,0 +1,12 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="40dp"
+    android:height="40dp"
+    android:viewportWidth="40"
+    android:viewportHeight="40">
+  <path
+      android:pathData="M20,20m-20,0a20,20 0,1 1,40 0a20,20 0,1 1,-40 0"
+      android:fillColor="#F5F5F5"/>
+  <path
+      android:pathData="M25,20C22.24,20 20,22.24 20,25C20,27.76 22.24,30 25,30C27.76,30 30,27.76 30,25C30,22.24 27.76,20 25,20ZM26.65,27.35L24.5,25.2V22H25.5V24.79L27.35,26.64L26.65,27.35ZM26,11H22.82C22.4,9.84 21.3,9 20,9C18.7,9 17.6,9.84 17.18,11H14C12.9,11 12,11.9 12,13V28C12,29.1 12.9,30 14,30H20.11C19.52,29.43 19.04,28.75 18.69,28H14V13H16V16H24V13H26V18.08C26.71,18.18 27.38,18.39 28,18.68V13C28,11.9 27.1,11 26,11ZM20,13C19.45,13 19,12.55 19,12C19,11.45 19.45,11 20,11C20.55,11 21,11.45 21,12C21,12.55 20.55,13 20,13Z"
+      android:fillColor="#007FAD"/>
+</vector>
diff --git a/Corona-Warn-App/src/main/res/drawable/ic_contact_diary_file.xml b/Corona-Warn-App/src/main/res/drawable/ic_contact_diary_file.xml
new file mode 100644
index 000000000..72d1fa3e9
--- /dev/null
+++ b/Corona-Warn-App/src/main/res/drawable/ic_contact_diary_file.xml
@@ -0,0 +1,12 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="40dp"
+    android:height="40dp"
+    android:viewportWidth="40"
+    android:viewportHeight="40">
+  <path
+      android:pathData="M20,20m-20,0a20,20 0,1 1,40 0a20,20 0,1 1,-40 0"
+      android:fillColor="#F5F5F5"/>
+  <path
+      android:pathData="M16,24H24V26H16V24ZM16,20H24V22H16V20ZM22,10H14C12.9,10 12,10.9 12,12V28C12,29.1 12.89,30 13.99,30H26C27.1,30 28,29.1 28,28V16L22,10ZM26,28H14V12H21V17H26V28Z"
+      android:fillColor="#007FAD"/>
+</vector>
diff --git a/Corona-Warn-App/src/main/res/drawable/ic_contact_diary_illustration_onboarding.xml b/Corona-Warn-App/src/main/res/drawable/ic_contact_diary_illustration_onboarding.xml
new file mode 100644
index 000000000..9a74c24e2
--- /dev/null
+++ b/Corona-Warn-App/src/main/res/drawable/ic_contact_diary_illustration_onboarding.xml
@@ -0,0 +1,189 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="360dp"
+    android:height="207dp"
+    android:viewportWidth="360"
+    android:viewportHeight="207">
+  <group>
+    <clip-path
+        android:pathData="M0,0h374.778v199.954h-374.778z"/>
+    <path
+        android:pathData="M142.276,6.4L142.059,67.936H124.099V49.652H67.351V43.023H33.408V65.032H21.207V73.278H-29.501V126.6H-10.085H9.011H21.207H33.408H40.302H80.081V126.437H118.798V126.6H144.783H157.253H192.309H194.846H207.499H227.049H251.618H258.485H287.838H299.454H319.269V118L380.305,125.369V70.596H319.269V41.133H299.454V33.835H251.618V44.047H235.746V29.465H207.499V6.359L142.276,6.4Z"
+        android:fillColor="#E8F5FF"
+        android:fillType="evenOdd"/>
+    <path
+        android:pathData="M95.67,120.333C56.426,120.333 39.33,96.831 2.689,101.281C-6.02,102.338 -17.08,105.642 -29.501,114.909V140.911L380.304,142.372V123.541C378.03,122.241 375.761,121.13 373.614,120.317C373.614,120.317 332.319,104.367 286.586,118.014C247.416,129.714 202.294,99.091 180.677,98.297C178.659,98.222 176.71,98.187 174.839,98.187C128.136,98.184 125.902,120.333 95.67,120.333Z"
+        android:fillColor="#D8ECF9"
+        android:fillType="evenOdd"/>
+    <path
+        android:pathData="M103.075,141.072C103.075,141.072 102.733,124.729 110.069,121.306C110.069,121.306 108.439,85.761 119.363,86.251C119.363,86.251 122.461,69.945 128.495,71.739C134.527,73.532 135.669,88.044 134.2,105.163C134.2,105.163 146.593,104.023 145.289,120.817C145.289,120.817 152.626,126.686 151.811,140.872L103.075,141.072Z"
+        android:fillColor="#B8E0FA"
+        android:fillType="evenOdd"/>
+    <path
+        android:pathData="M127.594,141.962L126.582,141.979V85.319H127.242L127.594,141.962Z"
+        android:fillColor="#ffffff"
+        android:fillType="evenOdd"/>
+    <path
+        android:pathData="M126.737,109.246C126.718,109.235 124.926,108.179 123.078,106.529C120.577,104.298 119.165,102.1 118.879,99.995L119.39,99.742C120.037,104.51 127.025,108.292 127.095,108.332L126.737,109.246Z"
+        android:fillColor="#ffffff"
+        android:fillType="evenOdd"/>
+    <path
+        android:pathData="M126.97,122.986L127.023,121.829C127.097,121.758 133.928,115.488 135.348,111.851L135.928,112.135C134.47,115.87 127.276,122.698 126.97,122.986Z"
+        android:fillColor="#ffffff"
+        android:fillType="evenOdd"/>
+    <path
+        android:pathData="M126.747,136.207C126.724,136.2 124.461,135.567 122.151,134.278C119.058,132.552 117.28,130.435 117.011,128.156L117.659,128.047C118.27,133.212 127.075,134.502 127.025,135.659L126.747,136.207Z"
+        android:fillColor="#ffffff"
+        android:fillType="evenOdd"/>
+    <path
+        android:pathData="M1.634,12.054C-4.447,12.209 -7.927,20.872 -8.217,24.985C-9.457,42.596 -20.223,55.154 -19.227,82.585C-18.574,100.559 -12.273,119.026 -5.609,122.258C7.222,128.484 15.83,114.618 17.278,101.687C18.727,88.757 19.596,69.949 10.035,46.438C4.727,33.383 13.81,11.743 1.634,12.054Z"
+        android:fillColor="#B8E0FA"
+        android:fillType="evenOdd"/>
+    <path
+        android:pathData="M1.154,124.469C0.021,119.586 -2.523,95.114 -2.589,68.621C-2.63,52.536 -1.76,35.699 0.893,22.034L1.606,22.164C-1.037,35.784 -1.904,52.576 -1.864,68.621C-1.797,95.059 0.734,119.453 1.862,124.315L1.154,124.469Z"
+        android:fillColor="#ffffff"
+        android:fillType="evenOdd"/>
+    <path
+        android:pathData="M-1.834,93.718C-1.807,93.674 6.546,79.91 7.833,74.363L8.543,74.519C7.23,80.174 -1.18,94.034 -1.207,94.079L-1.834,93.718Z"
+        android:fillColor="#ffffff"
+        android:fillType="evenOdd"/>
+    <path
+        android:pathData="M37.336,127.728C43.202,121.2 47.391,110.981 44.04,89.693C40.688,68.405 37.895,63.58 32.59,62.729C27.284,61.878 23.932,65.284 22.535,72.663C21.139,80.043 21.419,87.423 19.184,90.26C16.95,93.099 4.105,108.995 11.364,122.619C18.626,136.243 30.914,132.554 37.336,127.728Z"
+        android:fillColor="#B8E0FA"
+        android:fillType="evenOdd"/>
+    <path
+        android:pathData="M22.602,132.101C24.543,127.852 28.251,116.237 30.594,103.318C32.165,94.653 33.125,85.394 32.528,77.366L31.838,77.414C32.431,85.385 31.477,94.583 29.915,103.196C27.584,116.056 23.9,127.598 21.975,131.815L22.602,132.101Z"
+        android:fillColor="#ffffff"
+        android:fillType="evenOdd"/>
+    <path
+        android:pathData="M28.428,113.066C27.99,113.559 38.272,106.781 40.22,100.097L39.578,99.906C37.705,106.339 28.44,112.19 28.414,112.207L28.428,113.066Z"
+        android:fillColor="#ffffff"
+        android:fillType="evenOdd"/>
+    <path
+        android:pathData="M25.194,125.225C25.177,125.201 19.203,116.845 18.308,110.636L17.682,110.747C18.603,117.143 24.677,125.637 24.695,125.661L25.194,125.225Z"
+        android:fillColor="#ffffff"
+        android:fillType="evenOdd"/>
+    <path
+        android:pathData="M298.793,63.988L300.575,81.965L304.196,84.866L307.818,87.041L302.748,97.919L274.5,98.645L278.122,87.041L277.397,81.24L279.606,80.268C281.381,79.485 282.627,77.839 282.887,75.91L284.503,63.98H298.793V63.988Z"
+        android:fillColor="#F6B893"/>
+    <path
+        android:pathData="M276.007,51.385C277.506,80.712 306.732,75.461 306.015,46.004C304.516,16.677 275.29,21.92 276.007,51.385Z"
+        android:fillColor="#F6B893"/>
+    <path
+        android:pathData="M313.605,163.906C325.918,213.219 314.097,284.078 310.287,340.947L301.35,341.237C301.35,341.237 296.221,248.754 294.049,227.723C293.389,221.334 291.231,207.679 290.13,201.739C290.043,201.29 289.094,199.325 288.978,201.616C288.254,216.12 281.735,232.074 280.287,248.028C276.904,285.31 277.65,311.265 276.18,342.035C276.18,342.035 265.815,348.17 265.801,348.105C263.635,339.518 257.833,268.783 257.833,258.181C257.833,256.005 255.009,210.703 266.525,164.631L313.605,163.906Z"
+        android:fillColor="#8C8C98"/>
+    <path
+        android:pathData="M254.524,167.217C261.325,192.171 225.131,199.031 249.613,162.249L254.524,167.217Z"
+        android:fillColor="#F6B893"/>
+    <path
+        android:pathData="M330.264,113.149C327.258,102.329 322.659,84.693 307.144,80.153C305.638,87.768 294.773,97.195 288.254,97.195C284.771,97.195 277.882,87.804 278.078,81.299C278.085,80.951 277.723,80.704 277.397,80.842C257.913,89.356 255.393,112.228 252.039,127.653C249.866,137.675 248.266,150.518 247.577,159.707C247.483,160.968 246.266,166.059 249.28,167.147C252.8,168.365 254.929,169.721 256.428,166.458C261.238,155.986 263.469,137.472 266.518,124.76C267.72,119.741 270.14,112.431 270.14,113.882C270.14,131.286 268.865,153.811 265.794,166.095C264.345,171.897 315.351,172.122 313.598,163.92C312.837,160.374 312.432,152.476 312.229,143.716C312.866,144.18 313.496,144.63 314.119,145.065C327.135,154.188 331.865,158.844 337.297,150.141C340.093,145.66 333.886,126.203 330.264,113.149ZM319.008,133.759C317.77,133.302 315.474,132.505 312.062,131.475C312.012,123.208 312.07,115.557 312.113,111.387C312.12,110.829 312.91,110.727 313.062,111.264L316.502,123.309C318.168,129.154 319.117,131.874 319.624,133.128C319.776,133.513 319.4,133.904 319.008,133.759Z"
+        android:fillColor="#C66A61"/>
+    <path
+        android:pathData="M288.545,105.411L278.658,105.607C277.361,105.636 276.42,106.709 276.557,108L279.129,131.938C279.266,133.236 280.432,134.266 281.729,134.237L291.616,134.041C292.912,134.012 293.854,132.939 293.716,131.648L291.145,107.71C291.007,106.412 289.841,105.382 288.545,105.411Z"
+        android:fillColor="#4A4A4A"/>
+    <path
+        android:pathData="M302.045,132.056L299.974,135.109C286.437,135.015 272.168,115.899 291.775,119.104C296.816,121.425 300.437,125.747 303.907,128.873"
+        android:fillColor="#F6B893"/>
+    <path
+        android:pathData="M270.763,84.707C271.784,83.931 272.624,83.365 273.768,82.691C275.094,81.908 276.028,81.48 277.491,80.863C277.607,80.813 277.875,80.863 277.955,81.016C279.186,80.711 280.164,80.16 281.185,79.21C283.336,77.208 284.713,73.655 283.988,70.029C283.597,68.071 282.844,67.259 282.431,66.758C273.117,55.518 279.244,37.642 279.244,37.642C279.244,37.642 284.474,48.679 304.204,56.236C304.204,56.236 303.385,61.37 300.488,64.996C300.278,65.265 298.105,67.23 298.025,70.312C297.953,73.336 297.946,76.396 300.01,81.03C302.523,86.687 308.919,88.05 313.772,86.106C317.393,84.656 318.842,81.03 319.008,77.455C319.008,77.455 309.136,78.035 311.461,66.998C313.2,58.702 315.271,40.579 307.094,30.1C306.978,29.955 306.862,29.81 306.746,29.665C306.666,29.556 306.572,29.447 306.478,29.346C306.311,29.15 306.138,28.954 305.964,28.766C305.797,28.584 305.631,28.41 305.464,28.236C302.9,25.633 299.525,23.675 295.114,22.718C295.114,22.718 278.281,20.397 275.384,30.274C275.384,30.274 270.741,32.602 270.154,41.319C269.575,50.036 271.031,53.226 271.32,59.913C271.668,68.042 271.9,76.186 263.194,77.926C263.194,77.926 262.882,82.365 270.763,84.707Z"
+        android:fillColor="#4A4A4A"/>
+    <path
+        android:pathData="M80.209,99.648C80.209,99.648 85.118,104.26 86.972,105.5C88.511,106.533 93.193,108.697 93.193,108.697L91.405,111.123C91.405,111.123 86.939,110.122 85.574,109.481C84.165,108.828 80.437,105.967 80.437,105.967L80.209,99.648Z"
+        android:fillColor="#F6B893"/>
+    <path
+        android:pathData="M56.886,176.57L55.109,179.953C54.859,180.421 55.033,180.997 55.477,181.258C57.623,182.509 63.475,185.718 66.001,184.848C66.358,184.728 66.445,184.26 66.163,184.01C64.548,182.52 59.53,177.767 59.921,176.603L56.886,176.57Z"
+        android:fillColor="#4A4A4A"/>
+    <path
+        android:pathData="M56.724,176.886L60.148,177.343L77.099,138.066L68.277,120.272L68.179,144.625C68.179,144.625 60.311,160.331 59.054,166.498C57.797,172.579 56.724,176.886 56.724,176.886Z"
+        android:fillColor="#B96161"/>
+    <path
+        android:pathData="M67.724,114.594L81.022,114.768C81.022,114.768 92.553,172.796 97.159,176.712L94.677,178.496C94.677,178.496 80.491,159.091 81.726,146.637C81.726,146.626 64.169,118.325 67.724,114.594Z"
+        android:fillColor="#C66A61"/>
+    <path
+        android:pathData="M77.11,92.264L76.254,86.195C76.254,86.195 79.971,86.358 79.884,81.159C79.873,80.191 79.798,78.548 78.92,77.298L75.517,76.21L73.371,83.106L71.322,91.47L74.942,93.787L77.435,93.721L77.11,92.264Z"
+        android:fillColor="#F6B893"/>
+    <path
+        android:pathData="M94.678,178.495L95.22,182.27C95.296,182.792 95.761,183.162 96.282,183.107C98.753,182.857 105.364,181.987 106.903,179.801C107.12,179.496 106.914,179.061 106.545,179.028C104.367,178.778 97.528,177.897 97.16,176.722L94.678,178.495Z"
+        android:fillColor="#4A4A4A"/>
+    <path
+        android:pathData="M64.83,122.609L65.751,111.253L70.531,112.624L67.171,124.306C67.171,124.306 66.326,131.082 63.497,129.091C59.985,126.611 64.711,124.001 64.83,122.609Z"
+        android:fillColor="#F6B893"/>
+    <path
+        android:pathData="M76.524,92.242C75.245,93.689 73.814,91.013 71.018,91.742C68.374,92.427 66.011,109.406 65.751,111.266C65.74,111.375 65.729,111.429 65.729,111.429C66.456,113.463 69.772,112.81 70.411,112.658L69.935,114.779L81.011,114.768C85.346,102.76 77.803,90.796 76.524,92.242Z"
+        android:fillColor="#B1DAEF"/>
+    <path
+        android:pathData="M79.884,81.202C79.884,81.202 82.55,79.473 80.784,74.861C80.784,74.861 80.393,72.882 77.63,72.947C77.63,72.947 73.229,68.988 69.09,72.349C64.949,75.71 67.778,79.071 67.778,79.071C67.778,79.071 62.262,84.085 64.169,90.883C64.169,90.883 66.207,95.299 68.569,93.787C70.932,92.275 70.802,95.571 72.048,91.155C73.295,86.739 75.462,87.391 74.606,79.951C74.606,79.951 77.565,80.147 78.215,77.113C78.226,77.102 79.786,77.841 79.884,81.202Z"
+        android:fillColor="#663014"/>
+    <path
+        android:pathData="M89.67,112.821C90.234,113.137 92.358,113.735 93.052,113.876C93.225,113.909 93.648,113.931 93.832,113.594C94.829,111.701 97.81,107.089 98.005,106.817C98.211,106.513 98.189,106.437 97.929,106.263C97.755,106.154 95.371,105.48 94.677,105.273C94.439,105.208 94.233,105.577 94.168,105.664C93.008,107.046 89.866,111.832 89.67,112.136C89.41,112.506 89.443,112.702 89.67,112.821Z"
+        android:fillColor="#4A4A4A"
+        android:fillType="evenOdd"/>
+    <path
+        android:pathData="M96.346,109.1C97.289,108.904 96.097,110.71 95.631,111.352C95.219,111.939 94.84,112.526 94.558,112.385C94.276,112.244 94.504,111.319 94.862,110.59C95.208,109.872 95.772,109.231 96.346,109.1Z"
+        android:fillColor="#F6B893"/>
+  </group>
+  <group>
+    <clip-path
+        android:pathData="M171,91h43v59h-43z"/>
+    <path
+        android:pathData="M201.435,123.774C218.188,124.08 218.189,149.692 201.435,150.002C184.685,149.695 184.681,124.084 201.435,123.774ZM201.324,148.525C216.092,148.257 216.093,125.677 201.324,125.406C186.558,125.674 186.555,148.254 201.324,148.525Z"
+        android:fillColor="#6A7F90"/>
+    <path
+        android:pathData="M184.247,130.237C184.247,130.913 184.272,131.68 185.471,131.68L200.228,131.467C201.737,131.422 201.886,130.369 202.228,129.438C202.694,127.695 187.312,128.959 186.425,128.595C184.989,128.639 184.086,129.204 184.247,130.237Z"
+        android:fillColor="#6A7F90"/>
+    <path
+        android:pathData="M183.423,124.646C186.827,123.978 197.794,118.39 200.461,125.082C201.346,130.468 187.442,128.541 184.774,129.211L179.022,143.066L176.409,141.682L180.161,127.756C180.164,127.756 181.087,125.405 183.423,124.646Z"
+        android:fillColor="#C66A61"/>
+    <path
+        android:pathData="M199.831,105.448C199.203,105.773 198.312,105.665 198.024,105.124L196.937,101.909C196.314,100.659 198.9,99.849 199.407,100.922L200.937,103.834C201.2,104.304 200.854,104.63 200.224,104.882"
+        android:fillColor="#F6B893"
+        android:fillType="evenOdd"/>
+    <path
+        android:pathData="M192.876,96.337C191.938,99.161 193.906,103.875 195.591,103.26C199.088,101.984 200.079,102.136 201.019,99.311C203.477,92.626 195.031,89.772 192.876,96.337Z"
+        android:fillColor="#F6B893"/>
+    <path
+        android:pathData="M195.38,95.638C192.617,96.55 192.065,92.455 194.541,92.456C195.002,91.888 199.634,89.012 202.479,93.372C203.314,94.65 202.997,97.685 201.845,99.872C201.811,99.936 201.773,99.998 201.729,100.056C201.304,100.639 200.538,101.655 200.257,101.646C199.358,101.614 198.643,100.911 198.47,100.442C198.315,100.02 199.269,99.21 199.446,98.655C199.955,97.07 198.489,96.456 197.918,97.995C197.502,97.92 196.229,96.933 195.84,95.875C195.77,95.685 195.57,95.575 195.38,95.638Z"
+        android:fillColor="#663014"/>
+    <path
+        android:pathData="M199.816,103.259C194.205,103.151 191.925,114.098 190.28,121.82C191.358,124.303 197.993,128.144 200.379,126.477C200.916,124.748 203.64,114.97 204.039,111.612C204.462,108.034 201.961,103.212 199.816,103.259Z"
+        android:fillColor="#B1DAEF"/>
+    <path
+        android:pathData="M181.82,110.061C181.429,110.08 180.618,109.707 180.842,110.526L181.61,115.846C181.652,116.535 182.589,116.048 182.942,116.069C183.152,116.035 183.309,116.001 183.265,115.717L182.468,110.489C182.424,110.204 182.364,110.129 182.087,110.095"
+        android:fillColor="#4A4A4A"/>
+    <path
+        android:pathData="M184.206,116.078C183.721,116.15 182.025,117.088 181.582,116.576L180.523,115.653C179.794,114.961 180.555,112.79 181.421,113.221L182.527,113.708H184.212L184.206,116.078Z"
+        android:fillColor="#F6B893"/>
+    <path
+        android:pathData="M196.888,106.036C199.19,103.696 202.348,107.55 200.96,109.894L195.426,115.787C194.949,116.296 194.018,117.424 192.674,117.211L184.104,116.919L183.593,113.156L192.08,113.058L196.888,106.036Z"
+        android:fillColor="#B1DAEF"/>
+    <path
+        android:pathData="M185.02,122.293C185.035,123.511 186.783,123.043 187.805,123.196C189.501,122.837 203.58,125.001 203.693,122.422C203.471,119.97 190.913,121.553 188.144,121.382C187.902,121.368 187.66,121.358 187.419,121.366C186.397,121.405 185.165,121.224 185.02,122.293Z"
+        android:fillColor="#6A7F90"/>
+    <path
+        android:pathData="M200.66,131.386C201.174,131.493 201.717,130.813 202.233,129.399C204.072,124.353 205.779,111.926 206.466,109.983C206.535,109.789 206.587,109.589 206.606,109.382C206.705,108.284 205.869,108.895 205.779,108.946C203.923,110.02 200.871,125.54 199.942,128.054C199.898,128.172 199.863,128.293 199.84,128.418C199.491,130.148 199.592,131.518 200.66,131.386Z"
+        android:fillColor="#6A7F90"/>
+    <path
+        android:pathData="M186.329,131.422H184.862V145.312H186.329V131.422Z"
+        android:fillColor="#6A7F90"/>
+    <path
+        android:pathData="M200.075,137.354C200.047,139.345 203.088,139.345 203.06,137.354C203.088,135.362 200.047,135.362 200.075,137.354Z"
+        android:fillColor="#6A7F90"/>
+    <path
+        android:pathData="M182.154,146.357C182.231,150.969 188.899,150.967 188.975,146.357C188.899,141.746 182.23,141.746 182.154,146.357Z"
+        android:fillColor="#6A7F90"/>
+    <path
+        android:pathData="M183.1,146.365C183.114,149.718 188.071,149.718 188.085,146.365C188.071,143.013 183.114,143.013 183.1,146.365Z"
+        android:fillColor="#ffffff"/>
+    <path
+        android:pathData="M187.523,122.494L177.801,146L178.882,146.474L188.605,122.967L187.523,122.494Z"
+        android:fillColor="#6A7F90"/>
+    <path
+        android:pathData="M173.251,144.911L178.172,147.064C178.592,147.256 178.79,146.746 178.9,146.428C178.906,146.42 173.586,144.102 173.586,144.099C173.08,143.869 172.734,144.694 173.251,144.911Z"
+        android:fillColor="#6A7F90"/>
+    <path
+        android:pathData="M171.162,142.94C170.586,142.527 171.673,141.818 172.45,141.829C173.169,141.826 176.376,142.257 176.502,141.36L179.256,142.44C178.909,143.447 178.005,146.15 176.863,145.515C176.081,145.195 171.953,143.508 171.162,142.94Z"
+        android:fillColor="#4A4A4A"/>
+    <path
+        android:pathData="M184.85,146.361C184.836,147.352 186.348,147.352 186.334,146.361C186.35,145.37 184.836,145.37 184.85,146.361Z"
+        android:fillColor="#6A7F90"/>
+  </group>
+</vector>
diff --git a/Corona-Warn-App/src/main/res/drawable/ic_contact_diary_location.xml b/Corona-Warn-App/src/main/res/drawable/ic_contact_diary_location.xml
new file mode 100644
index 000000000..f8c14cabd
--- /dev/null
+++ b/Corona-Warn-App/src/main/res/drawable/ic_contact_diary_location.xml
@@ -0,0 +1,12 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="40dp"
+    android:height="40dp"
+    android:viewportWidth="40"
+    android:viewportHeight="40">
+  <path
+      android:pathData="M20,20m-20,0a20,20 0,1 1,40 0a20,20 0,1 1,-40 0"
+      android:fillColor="#F5F5F5"/>
+  <path
+      android:pathData="M20,10C16.13,10 13,13.13 13,17C13,22.25 20,30 20,30C20,30 27,22.25 27,17C27,13.13 23.87,10 20,10ZM20,19.5C18.62,19.5 17.5,18.38 17.5,17C17.5,15.62 18.62,14.5 20,14.5C21.38,14.5 22.5,15.62 22.5,17C22.5,18.38 21.38,19.5 20,19.5Z"
+      android:fillColor="#007FAD"/>
+</vector>
diff --git a/Corona-Warn-App/src/main/res/drawable/ic_contact_diary_lock.xml b/Corona-Warn-App/src/main/res/drawable/ic_contact_diary_lock.xml
new file mode 100644
index 000000000..4e2ea7f51
--- /dev/null
+++ b/Corona-Warn-App/src/main/res/drawable/ic_contact_diary_lock.xml
@@ -0,0 +1,17 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="40dp"
+    android:height="40dp"
+    android:viewportWidth="40"
+    android:viewportHeight="40">
+  <path
+      android:pathData="M20,20m-20,0a20,20 0,1 1,40 0a20,20 0,1 1,-40 0"
+      android:fillColor="#F5F5F5"/>
+  <path
+      android:pathData="M19.9108,12.2372C21.305,12.2372 22.4883,14.0566 22.6667,16.2707H17.1712C17.1712,14.0566 18.4843,12.2372 19.9108,12.2372ZM15.08,16.2707H14.1722C12.9726,16.305 12,17.352 12,18.6221V26.6546C12,27.9247 12.9726,28.9716 14.1722,29.006H25.8278C27.0274,28.9888 28,27.9418 28,26.6546V18.6221C28,17.352 27.0274,16.305 25.8278,16.2707H24.92C25.4711,13.4558 23.769,10.6925 21.0942,10.109C18.4357,9.5254 15.8257,11.3447 15.2746,14.1595C15.1449,14.8632 15.1449,15.5841 15.2746,16.2707"
+      android:fillColor="#007FAD"
+      android:fillType="evenOdd"/>
+  <path
+      android:pathData="M17.8198,21.6943C17.8198,22.501 18.2575,23.2047 18.9059,23.5823V25.9852C18.9059,26.2941 19.1653,26.5516 19.4895,26.5516H20.527C20.8512,26.5516 21.1106,26.2941 21.1106,25.9852V23.5651C21.759,23.1875 22.1967,22.4838 22.1967,21.6771C22.1967,20.4757 21.2241,19.4974 20.0083,19.4974C18.7925,19.5145 17.8198,20.4929 17.8198,21.6943Z"
+      android:fillColor="#F5F5F5"
+      android:fillType="evenOdd"/>
+</vector>
diff --git a/Corona-Warn-App/src/main/res/drawable/ic_contact_diary_person.xml b/Corona-Warn-App/src/main/res/drawable/ic_contact_diary_person.xml
new file mode 100644
index 000000000..5678d4e50
--- /dev/null
+++ b/Corona-Warn-App/src/main/res/drawable/ic_contact_diary_person.xml
@@ -0,0 +1,12 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="40dp"
+    android:height="40dp"
+    android:viewportWidth="40"
+    android:viewportHeight="40">
+  <path
+      android:pathData="M20,20m-20,0a20,20 0,1 1,40 0a20,20 0,1 1,-40 0"
+      android:fillColor="#F5F5F5"/>
+  <path
+      android:pathData="M20,20C22.21,20 24,18.21 24,16C24,13.79 22.21,12 20,12C17.79,12 16,13.79 16,16C16,18.21 17.79,20 20,20ZM20,22C17.33,22 12,23.34 12,26V28H28V26C28,23.34 22.67,22 20,22Z"
+      android:fillColor="#007FAD"/>
+</vector>
diff --git a/Corona-Warn-App/src/main/res/layout/contact_diary_onboarding_fragment.xml b/Corona-Warn-App/src/main/res/layout/contact_diary_onboarding_fragment.xml
new file mode 100644
index 000000000..369e126dd
--- /dev/null
+++ b/Corona-Warn-App/src/main/res/layout/contact_diary_onboarding_fragment.xml
@@ -0,0 +1,221 @@
+<?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:bind="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="match_parent">
+
+        <include
+            android:id="@+id/contact_diary_onboarding_button_back"
+            layout="@layout/include_header"
+            android:layout_width="@dimen/match_constraint"
+            android:layout_height="wrap_content"
+            app:icon="@{@drawable/ic_close}"
+            app:layout_constraintEnd_toEndOf="parent"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintTop_toTopOf="parent"
+            app:title="@{@string/contact_diary_title}" />
+
+        <ScrollView
+            android:layout_width="@dimen/match_constraint"
+            android:layout_height="@dimen/match_constraint"
+            android:layout_marginBottom="@dimen/spacing_small"
+            app:layout_constraintBottom_toTopOf="@+id/contact_diary_onboarding_next_button"
+            app:layout_constraintEnd_toEndOf="parent"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintTop_toBottomOf="@+id/contact_diary_onboarding_button_back">
+
+            <androidx.constraintlayout.widget.ConstraintLayout
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content">
+
+                <ImageView
+                    android:id="@+id/contact_diary_onboarding_illustration"
+                    android:layout_width="@dimen/match_constraint"
+                    android:layout_height="wrap_content"
+                    android:focusable="true"
+                    android:src="@drawable/ic_contact_diary_illustration_onboarding"
+                    app:layout_constraintEnd_toEndOf="parent"
+                    app:layout_constraintStart_toStartOf="parent"
+                    app:layout_constraintTop_toTopOf="parent"
+                    tools:ignore="ContentDescription"
+                    tools:src="@drawable/ic_contact_diary_illustration_onboarding" />
+
+                <TextView
+                    android:id="@+id/onboarding_headline"
+                    style="@style/headline5"
+                    android:layout_width="@dimen/match_constraint"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="@dimen/spacing_normal"
+                    android:accessibilityHeading="true"
+                    android:focusable="true"
+                    android:text="@string/contact_diary_information_card_title"
+                    app:layout_constraintEnd_toEndOf="@id/guideline_end"
+                    app:layout_constraintStart_toStartOf="@+id/guideline_start"
+                    app:layout_constraintTop_toBottomOf="@+id/contact_diary_onboarding_illustration"
+                    tools:text="Behalten Sie den Ãœberblick." />
+
+                <TextView
+                    android:id="@+id/contact_diary_onboarding_body"
+                    style="@style/subtitleMedium"
+                    android:layout_width="@dimen/match_constraint"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="@dimen/spacing_normal"
+                    android:focusable="true"
+                    android:text="@string/contact_diary_onboarding_body"
+                    app:layout_constraintEnd_toEndOf="@id/guideline_end"
+                    app:layout_constraintStart_toStartOf="@id/guideline_start"
+                    app:layout_constraintTop_toBottomOf="@+id/onboarding_headline"
+                    tools:text="Erstellen Sie eine Übersicht über Ihre Kontakte der letzten 14 Tage. So haben Sie bei Bedarf schnell eine vollständige Liste zur Hand." />
+
+                <include
+                    android:id="@+id/contact_diary_onboarding_first_section"
+                    layout="@layout/include_contact_diary_onboarding_row"
+                    android:layout_width="@dimen/match_constraint"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="@dimen/spacing_normal"
+                    android:focusable="true"
+                    app:body="@{@string/contact_diary_onboarding_functionality_first_section}"
+                    app:icon="@{@drawable/ic_contact_diary_person}"
+                    app:layout_constraintEnd_toStartOf="@+id/guideline_end"
+                    app:layout_constraintStart_toStartOf="@+id/guideline_start"
+                    app:layout_constraintTop_toBottomOf="@+id/contact_diary_onboarding_body" />
+
+                <include
+                    android:id="@+id/contact_diary_onboarding_second_section"
+                    layout="@layout/include_contact_diary_onboarding_row"
+                    android:layout_width="@dimen/match_constraint"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="@dimen/spacing_normal"
+                    android:focusable="true"
+                    app:body="@{@string/contact_diary_onboarding_functionality_second_section}"
+                    app:icon="@{@drawable/ic_contact_diary_location}"
+                    app:layout_constraintEnd_toStartOf="@+id/guideline_end"
+                    app:layout_constraintStart_toStartOf="@+id/guideline_start"
+                    app:layout_constraintTop_toBottomOf="@+id/contact_diary_onboarding_first_section" />
+
+                <include
+                    android:id="@+id/contact_diary_onboarding_third_section"
+                    layout="@layout/include_contact_diary_onboarding_row"
+                    android:layout_width="@dimen/match_constraint"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="@dimen/spacing_normal"
+                    android:focusable="true"
+                    app:body="@{@string/contact_diary_onboarding_functionality_third_section}"
+                    app:icon="@{@drawable/ic_contact_diary_lock}"
+                    app:layout_constraintEnd_toStartOf="@+id/guideline_end"
+                    app:layout_constraintStart_toStartOf="@+id/guideline_start"
+                    app:layout_constraintTop_toBottomOf="@+id/contact_diary_onboarding_second_section" />
+
+                <include
+                    android:id="@+id/contact_diary_onboarding_fourth_section"
+                    layout="@layout/include_contact_diary_onboarding_row"
+                    android:layout_width="@dimen/match_constraint"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="@dimen/spacing_normal"
+                    android:focusable="true"
+                    app:body="@{@string/contact_diary_onboarding_functionality_fourth_section}"
+                    app:icon="@{@drawable/ic_contact_diary_edit}"
+                    app:layout_constraintEnd_toStartOf="@+id/guideline_end"
+                    app:layout_constraintStart_toStartOf="@+id/guideline_start"
+                    app:layout_constraintTop_toBottomOf="@+id/contact_diary_onboarding_third_section" />
+
+
+                <include
+                    android:id="@+id/contact_diary_onboarding_fifth_section"
+                    layout="@layout/include_contact_diary_onboarding_row"
+                    android:layout_width="@dimen/match_constraint"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="@dimen/spacing_normal"
+                    android:focusable="true"
+                    app:body="@{@string/contact_diary_onboarding_functionality_fifth_section}"
+                    app:icon="@{@drawable/ic_contact_diary_file}"
+                    app:layout_constraintEnd_toStartOf="@+id/guideline_end"
+                    app:layout_constraintStart_toStartOf="@+id/guideline_start"
+                    app:layout_constraintTop_toBottomOf="@+id/contact_diary_onboarding_fourth_section" />
+
+
+                <include
+                    android:id="@+id/contact_diary_onboarding_privacy_card"
+                    layout="@layout/include_contact_diary_privacy_card"
+                    android:layout_width="@dimen/match_constraint"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="@dimen/spacing_normal"
+                    android:focusable="true"
+                    app:layout_constraintEnd_toStartOf="@+id/guideline_end"
+                    app:layout_constraintStart_toStartOf="@+id/guideline_start"
+                    app:layout_constraintTop_toBottomOf="@+id/contact_diary_onboarding_fifth_section" />
+
+                <View
+                    android:id="@+id/contact_diary_onboarding_first_divider"
+                    android:layout_width="@dimen/match_constraint"
+                    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/contact_diary_onboarding_privacy_card" />
+
+
+                <TextView
+                    android:id="@+id/contact_diary_onboarding_privacy_information"
+                    style="@style/subtitle"
+                    android:layout_width="@dimen/match_constraint"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="@dimen/spacing_small"
+                    android:focusable="true"
+                    android:text="@string/contact_diary_onboarding_legal_information"
+                    app:layout_constraintEnd_toEndOf="@id/guideline_end"
+                    app:layout_constraintStart_toStartOf="@id/guideline_start"
+                    app:layout_constraintTop_toBottomOf="@+id/contact_diary_onboarding_first_divider"
+                    tools:text="@string/contact_diary_onboarding_legal_information" />
+
+                <View
+                    android:id="@+id/contact_diary_onboarding_second_divider"
+                    android:layout_width="@dimen/match_constraint"
+                    android:layout_height="@dimen/card_divider"
+                    android:layout_marginTop="@dimen/spacing_small"
+                    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/contact_diary_onboarding_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>
+
+        <Button
+            android:id="@+id/contact_diary_onboarding_next_button"
+            style="@style/buttonPrimary"
+            android:layout_width="@dimen/match_constraint"
+            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/contact_diary_onboarding_button_text"
+            app:layout_constraintBottom_toBottomOf="parent"
+            app:layout_constraintEnd_toEndOf="parent"
+            app:layout_constraintStart_toStartOf="parent"
+            tools:text="@string/contact_diary_onboarding_button_text"/>
+
+    </androidx.constraintlayout.widget.ConstraintLayout>
+
+</layout>
diff --git a/Corona-Warn-App/src/main/res/layout/include_contact_diary_onboarding_row.xml b/Corona-Warn-App/src/main/res/layout/include_contact_diary_onboarding_row.xml
new file mode 100644
index 000000000..8b6cedcd4
--- /dev/null
+++ b/Corona-Warn-App/src/main/res/layout/include_contact_diary_onboarding_row.xml
@@ -0,0 +1,48 @@
+<?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">
+
+    <data>
+
+        <variable
+            name="body"
+            type="String" />
+
+        <variable
+            name="icon"
+            type="android.graphics.drawable.Drawable" />
+
+    </data>
+
+    <androidx.constraintlayout.widget.ConstraintLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content">
+
+        <ImageView
+            android:id="@+id/contact_diary_row_icon"
+            android:layout_width="@dimen/icon_size_risk_card"
+            android:layout_height="@dimen/icon_size_risk_card"
+            android:layout_marginTop="@dimen/spacing_mega_tiny"
+            android:importantForAccessibility="no"
+            android:src="@{icon}"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintTop_toTopOf="parent"
+            tools:src="@drawable/ic_contact_diary_person" />
+
+        <TextView
+            android:id="@+id/contact_diary_row_body"
+            style="@style/subtitle"
+            android:layout_width="@dimen/match_constraint"
+            android:layout_height="wrap_content"
+            android:layout_marginStart="@dimen/spacing_small"
+            android:text="@{body}"
+            app:layout_constraintEnd_toEndOf="parent"
+            app:layout_constraintStart_toEndOf="@+id/contact_diary_row_icon"
+            app:layout_constraintTop_toTopOf="parent"
+            tools:text="@string/lorem_ipsum"
+            tools:textColor="@color/colorStableLight" />
+
+    </androidx.constraintlayout.widget.ConstraintLayout>
+
+</layout>
diff --git a/Corona-Warn-App/src/main/res/layout/include_contact_diary_privacy_card.xml b/Corona-Warn-App/src/main/res/layout/include_contact_diary_privacy_card.xml
new file mode 100644
index 000000000..be909a096
--- /dev/null
+++ b/Corona-Warn-App/src/main/res/layout/include_contact_diary_privacy_card.xml
@@ -0,0 +1,180 @@
+<?xml version="1.0" encoding="utf-8"?>
+<layout xmlns:tools2="http://schemas.android.com/tools"
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    xmlns:tools="http://schemas.android.com/apk/res-auto">
+
+    <androidx.constraintlayout.widget.ConstraintLayout
+        android:id="@+id/contact_diary_privacy_card"
+        style="@style/cardGrey"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:padding="@dimen/spacing_normal"
+        app:layout_constraintTop_toTopOf="parent">
+
+        <TextView
+            android:id="@+id/contact_diary_privacy_card_title"
+            style="@style/headline5"
+            android:accessibilityHeading="true"
+            android:layout_width="@dimen/match_constraint"
+            android:layout_height="wrap_content"
+            android:text="@string/contact_diary_onboarding_privacy_information_title"
+            android:focusable="true"
+            app:layout_constraintEnd_toEndOf="parent"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintTop_toTopOf="parent" />
+
+        <TextView
+            android:id="@+id/contact_diary_privacy_card_first_section_title"
+            style="@style/subtitle"
+            android:accessibilityHeading="true"
+            android:layout_width="@dimen/match_constraint"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="@dimen/spacing_normal"
+            android:text="@string/contact_diary_onboarding_privacy_information_first_section_title"
+            android:focusable="true"
+            app:layout_constraintEnd_toEndOf="parent"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintTop_toBottomOf="@+id/contact_diary_privacy_card_title"/>
+
+
+        <androidx.constraintlayout.widget.ConstraintLayout
+            android:id="@+id/contact_diary_privacy_card_first_section_body_container_one"
+            android:layout_width="@dimen/match_constraint"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="@dimen/spacing_normal"
+            app:layout_constraintEnd_toEndOf="parent"
+            app:layout_constraintHorizontal_bias="0.104"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintTop_toBottomOf="@+id/contact_diary_privacy_card_first_section_title">
+
+            <include
+                android:id="@+id/bulletpoint_one"
+                layout="@layout/include_bullet_point"
+                android:layout_width="@dimen/bullet_point_size"
+                android:layout_height="@dimen/bullet_point_size"
+                app:layout_constraintBaseline_toBaselineOf="@id/contact_diary_privacy_card_first_section_body_one" />
+
+            <TextView
+                android:id="@+id/contact_diary_privacy_card_first_section_body_one"
+                style="@style/subtitle"
+                android:layout_width="@dimen/match_constraint"
+                android:layout_height="wrap_content"
+                android:layout_marginStart="@dimen/spacing_normal"
+                android:focusable="true"
+                android:text="@string/contact_diary_onboarding_privacy_information_first_section_body_one"
+                app:layout_constraintBottom_toBottomOf="parent"
+                app:layout_constraintEnd_toEndOf="parent"
+                app:layout_constraintStart_toEndOf="@+id/bulletpoint_one"
+                app:layout_constraintTop_toTopOf="parent" />
+
+        </androidx.constraintlayout.widget.ConstraintLayout>
+
+        <androidx.constraintlayout.widget.ConstraintLayout
+            android:id="@+id/contact_diary_privacy_card_first_section_body_container_two"
+            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/contact_diary_privacy_card_first_section_body_container_one">
+
+            <include
+                android:id="@+id/bulletpoint_two"
+                layout="@layout/include_bullet_point"
+                android:layout_width="@dimen/bullet_point_size"
+                android:layout_height="@dimen/bullet_point_size"
+                app:layout_constraintBaseline_toBaselineOf="@id/contact_diary_privacy_card_first_section_body_two" />
+
+            <TextView
+                android:id="@+id/contact_diary_privacy_card_first_section_body_two"
+                style="@style/subtitle"
+                android:layout_width="@dimen/match_constraint"
+                android:layout_height="wrap_content"
+                android:layout_marginStart="@dimen/spacing_normal"
+                android:focusable="true"
+                android:text="@string/contact_diary_onboarding_privacy_information_first_section_body_two"
+                app:layout_constraintBottom_toBottomOf="parent"
+                app:layout_constraintEnd_toEndOf="parent"
+                app:layout_constraintStart_toEndOf="@+id/bulletpoint_two"
+                app:layout_constraintTop_toTopOf="parent" />
+
+        </androidx.constraintlayout.widget.ConstraintLayout>
+
+        <TextView
+            android:id="@+id/contact_diary_privacy_card_second_section_title"
+            style="@style/subtitle"
+            android:layout_width="@dimen/match_constraint"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="@dimen/spacing_normal"
+            android:accessibilityHeading="true"
+            android:focusable="true"
+            android:text="@string/contact_diary_onboarding_privacy_information_second_section_title"
+            app:layout_constraintEnd_toEndOf="parent"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintTop_toBottomOf="@+id/contact_diary_privacy_card_first_section_body_container_two" />
+
+        <androidx.constraintlayout.widget.ConstraintLayout
+            android:id="@+id/contact_diary_privacy_card_second_section_body_container_one"
+            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/contact_diary_privacy_card_second_section_title">
+
+            <include
+                android:id="@+id/bulletpoint_three"
+                layout="@layout/include_bullet_point"
+                android:layout_width="@dimen/bullet_point_size"
+                android:layout_height="@dimen/bullet_point_size"
+                app:layout_constraintBaseline_toBaselineOf="@id/contact_diary_privacy_card_second_section_body_one" />
+
+            <TextView
+                android:id="@+id/contact_diary_privacy_card_second_section_body_one"
+                style="@style/subtitle"
+                android:layout_width="@dimen/match_constraint"
+                android:layout_height="wrap_content"
+                android:layout_marginStart="@dimen/spacing_normal"
+                android:focusable="true"
+                android:text="@string/contact_diary_onboarding_privacy_information_second_section_body_one"
+                app:layout_constraintBottom_toBottomOf="parent"
+                app:layout_constraintEnd_toEndOf="parent"
+                app:layout_constraintStart_toEndOf="@+id/bulletpoint_three"
+                app:layout_constraintTop_toTopOf="parent" />
+
+        </androidx.constraintlayout.widget.ConstraintLayout>
+
+        <androidx.constraintlayout.widget.ConstraintLayout
+            android:id="@+id/contact_diary_privacy_card_second_section_body_container_two"
+            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/contact_diary_privacy_card_second_section_body_container_one">
+
+            <include
+                android:id="@+id/bulletpoint_four"
+                layout="@layout/include_bullet_point"
+                android:layout_width="@dimen/bullet_point_size"
+                android:layout_height="@dimen/bullet_point_size"
+                app:layout_constraintBaseline_toBaselineOf="@id/contact_diary_privacy_card_second_section_body_two" />
+
+            <TextView
+                android:id="@+id/contact_diary_privacy_card_second_section_body_two"
+                style="@style/subtitle"
+                android:layout_width="@dimen/match_constraint"
+                android:layout_height="wrap_content"
+                android:layout_marginStart="@dimen/spacing_normal"
+                android:focusable="true"
+                android:text="@string/contact_diary_onboarding_privacy_information_second_section_body_two"
+                app:layout_constraintBottom_toBottomOf="parent"
+                app:layout_constraintEnd_toEndOf="parent"
+                app:layout_constraintStart_toEndOf="@+id/bulletpoint_four"
+                app:layout_constraintTop_toTopOf="parent" />
+
+        </androidx.constraintlayout.widget.ConstraintLayout>
+
+    </androidx.constraintlayout.widget.ConstraintLayout>
+</layout>
diff --git a/Corona-Warn-App/src/main/res/navigation/contact_diary_nav_graph.xml b/Corona-Warn-App/src/main/res/navigation/contact_diary_nav_graph.xml
index 639ccd7ec..ae8e26f5d 100644
--- a/Corona-Warn-App/src/main/res/navigation/contact_diary_nav_graph.xml
+++ b/Corona-Warn-App/src/main/res/navigation/contact_diary_nav_graph.xml
@@ -1,3 +1,18 @@
 <?xml version="1.0" encoding="utf-8"?>
 <navigation xmlns:android="http://schemas.android.com/apk/res/android"
-    android:id="@+id/contact_diary_nav_graph"></navigation>
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    android:id="@+id/contact_diary_nav_graph"
+    app:startDestination="@id/contactDiaryOnboardingFragment">
+    <fragment
+        android:id="@+id/contactDiaryOnboardingFragment"
+        android:name="de.rki.coronawarnapp.contactdiary.ui.onboarding.ContactDiaryOnboardingFragment"
+        android:label="ContactDiaryOnboardingFragment" >
+        <action
+            android:id="@+id/action_contactDiaryOnboardingFragment_to_contactDiaryInformationPrivacyFragment"
+            app:destination="@id/contactDiaryInformationPrivacyFragment" />
+    </fragment>
+    <fragment
+        android:id="@+id/contactDiaryInformationPrivacyFragment"
+        android:name="de.rki.coronawarnapp.ui.information.InformationPrivacyFragment"
+        android:label="InformationPrivacyFragment" />
+</navigation>
diff --git a/Corona-Warn-App/src/main/res/values-de/contact_diary_strings.xml b/Corona-Warn-App/src/main/res/values-de/contact_diary_strings.xml
index 9e378a160..d7d239cc4 100644
--- a/Corona-Warn-App/src/main/res/values-de/contact_diary_strings.xml
+++ b/Corona-Warn-App/src/main/res/values-de/contact_diary_strings.xml
@@ -17,4 +17,47 @@
     <string name="contact_diary_location_bottom_sheet_title">"Ort"</string>
     <string name="contact_diary_location_bottom_sheet_text_input_hint">"Bezeichnung"</string>
     <string name="contact_diary_location_bottom_sheet_save_button">"Speichern"</string>
+
+    <!-- XHED: Title for the contact diary card displayed in the homescreen -->
+    <string name="contact_diary_homescreen_card_header">Kontakt-Tagebuch</string>
+    <!-- XTXT: Body for the contact diary card displayed in the homescreen  -->
+    <string name="contact_diary_homescreen_card_body">Merken Sie sich, wo Sie waren und wen Sie getroffen haben.</string>
+    <!-- XBUT: Button text for the contact diary card button in the homescreen   -->
+    <string name="contact_diary_homescreen_card_button_text">Tagebuch Führen</string>
+    <!-- XBUT: Button text for the contact diary card button in the homescreen   -->
+    <string name="contact_diary_onboarding_button_text">Tagebuch Führen</string>
+
+    <!-- XTXT: Title for the contact diary onboarding screen -->
+    <string name="contact_diary_information_card_title">Behalten Sie den Ãœberblick.</string>
+    <!-- XTXT: Contact diary onboarding screen -->
+    <string name="contact_diary_onboarding_body">Erstellen Sie eine Übersicht über Ihre Kontakte der letzten 14 Tage. So haben Sie bei Bedarf schnell eine vollständige Liste zur Hand.</string>
+    <!-- XTXT: Contact diary onboarding screen first functionality -->
+    <string name="contact_diary_onboarding_functionality_first_section">Tragen Sie ein, mit wem Sie sich getroffen haben.</string>
+    <!-- XTXT: Contact diary onboarding screen second functionality -->
+    <string name="contact_diary_onboarding_functionality_second_section">Tragen Sie ein, an welchen Orten Sie anderen begegnet sind.</string>
+    <!-- XTXT: Contact diary onboarding screen third functionality -->
+    <string name="contact_diary_onboarding_functionality_third_section">Ihr Tagebuch ist nur für Sie bestimmt. Ihre Einträge werden nur auf Ihrem Smartphone gespeichert.</string>
+    <!-- XTXT: Contact diary onboarding screen fourth functionality -->
+    <string name="contact_diary_onboarding_functionality_fourth_section">Sie können hinzugefügte Personen und Orte jederzeit wieder aus dem Tagebuch entfernen. Tagebuch-Einträge werden nach 16 Tagen automatisch gelöscht.</string>
+    <!-- XTXT: Contact diary onboarding screen fifth functionality -->
+    <string name="contact_diary_onboarding_functionality_fifth_section">Sie können Ihr Kontakt-Tagebuch im Textformat exportieren. So können Sie bei Bedarf Ihre Einträge ausdrucken, bearbeiten oder dem Gesundheitsamt zur Verfügung stellen.</string>
+    <!-- XTXT: Title for the contact diary onboarding privacy information first section -->
+    <string name="contact_diary_onboarding_privacy_information_first_section_title"><b>Sie behalten über alle erfassten Informationen die volle Kontrolle.</b></string>
+    <!-- XTXT: Body for the contact diary onboarding privacy information first section -->
+    <string name="contact_diary_onboarding_privacy_information_first_section_body_one">Die Nutzung dieser zusätzlichen Funktion der Corona-Warn-App ist freiwillig und nur Sie entscheiden welche Personen und Orte Sie eintragen.</string>
+    <!-- XTXT: Body for the contact diary onboarding privacy information first section -->
+    <string name="contact_diary_onboarding_privacy_information_first_section_body_two">Auf die von Ihnen im Kontakt-Tagebuch erfassten Informationen hat weder das RKI noch eine andere Stelle Zugriff. Die Informationen sind nur in verschlüsselter Form in Ihrem Android-Smartphone gespeichert.</string>
+    <!-- XTXT: Title for the contact diary onboarding privacy information second section title -->
+    <string name="contact_diary_onboarding_privacy_information_second_section_title"><b>Bitte wahren Sie die Privatsphäre Ihrer Mitmenschen.</b></string>
+    <!-- XTXT: Body for the contact diary onboarding privacy information second section -->
+    <string name="contact_diary_onboarding_privacy_information_second_section_body_one">Bitte prüfen Sie genau, mit wem und auf welche Weise Sie die in Ihrem Kontakt-Tagebuch erfassten Informationen teilen. Die Informationen sollen Ihnen als Gedächtnisstütze dienen - sie sind nicht für Dritte bestimmt. Wenn das Gesundheitsamt Sie im Rahmen der Kontaktnachverfolgung um Ihre Mithilfe bittet, ist die Weitergabe von Einträgen sachgerecht.</string>
+    <!-- XTXT: Body for the contact diary onboarding privacy information second section -->
+    <string name="contact_diary_onboarding_privacy_information_second_section_body_two">Private Personen oder Unternehmen dürfen von Ihnen nicht die Weitergabe der von Ihnen erfassten Informationen verlangen. Bitte respektieren Sie, wenn jemand nicht im Kontakt-Tagebuch erfasst werden möchte.</string>
+    <!-- XTXT: Title for the contact diary onboarding screen -->
+    <string name="contact_diary_title">Kontakt-Tagebuch</string>
+    <!-- XTXT: Body for legal information of the contact diary onboarding screen -->
+    <string name="contact_diary_onboarding_legal_information">Weitere Hinweise finden Sie in der Datenschutzerklärung.</string>
+    <!-- XTXT: Title for legal information of the contact diary onboarding screen -->
+    <string name="contact_diary_onboarding_privacy_information_title">Datenschutz und Datensicherheit</string>
+
 </resources>
\ No newline at end of file
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 7f61edc2a..e59cc1b34 100644
--- a/Corona-Warn-App/src/main/res/values-de/strings.xml
+++ b/Corona-Warn-App/src/main/res/values-de/strings.xml
@@ -1470,11 +1470,4 @@
     <!-- XBUT: Abort button for test result positive no consent screen -->
     <string name="submission_test_result_positive_no_consent_button_abort">Abbrechen</string>
 
-    <!-- XHED: Title for the contact diary card displayed in the homescreen -->
-    <string name="contact_diary_homescreen_card_header">Kontakt-Tagebuch</string>
-    <!-- XTXT: Body for the contact diary card displayed in the homescreen  -->
-    <string name="contact_diary_homescreen_card_body">Merken Sie sich, wo Sie waren und wen Sie getroffen haben.</string>
-    <!-- XBUT: Button text for the contact diary card button in the homescreen   -->
-    <string name="contact_diary_homescreen_card_button_text">Tagebuch Führen</string>
-
 </resources>
diff --git a/Corona-Warn-App/src/main/res/values/contact_diary_strings.xml b/Corona-Warn-App/src/main/res/values/contact_diary_strings.xml
index 9e378a160..1bd726524 100644
--- a/Corona-Warn-App/src/main/res/values/contact_diary_strings.xml
+++ b/Corona-Warn-App/src/main/res/values/contact_diary_strings.xml
@@ -17,4 +17,46 @@
     <string name="contact_diary_location_bottom_sheet_title">"Ort"</string>
     <string name="contact_diary_location_bottom_sheet_text_input_hint">"Bezeichnung"</string>
     <string name="contact_diary_location_bottom_sheet_save_button">"Speichern"</string>
+
+    <!-- XHED: Title for the contact diary card displayed in the homescreen -->
+    <string name="contact_diary_homescreen_card_header" />
+    <!-- XTXT: Body for the contact diary card displayed in the homescreen  -->
+    <string name="contact_diary_homescreen_card_body" />
+    <!-- XBUT: Button text for the contact diary card button in the homescreen   -->
+    <string name="contact_diary_homescreen_card_button_text" />
+    <!-- XBUT: Button text for the contact diary card button in the homescreen   -->
+    <string name="contact_diary_onboarding_button_text"/>
+    <!-- XTXT: Title for the contact diary onboarding screen -->
+    <string name="contact_diary_information_card_title"/>
+
+    <!-- XTXT: Contact diary onboarding screen -->
+    <string name="contact_diary_onboarding_body"/>
+    <!-- XTXT: Contact diary onboarding screen first functionality -->
+    <string name="contact_diary_onboarding_functionality_first_section"/>
+    <!-- XTXT: Contact diary onboarding screen second functionality -->
+    <string name="contact_diary_onboarding_functionality_second_section"/>
+    <!-- XTXT: Contact diary onboarding screen third functionality -->
+    <string name="contact_diary_onboarding_functionality_third_section"/>
+    <!-- XTXT: Contact diary onboarding screen fourth functionality -->
+    <string name="contact_diary_onboarding_functionality_fourth_section"/>
+    <!-- XTXT: Contact diary onboarding screen fifth functionality -->
+    <string name="contact_diary_onboarding_functionality_fifth_section"/>
+    <!-- XTXT: Title for the contact diary onboarding privacy information first section -->
+    <string name="contact_diary_onboarding_privacy_information_first_section_title"/>
+    <!-- XTXT: Body for the contact diary onboarding privacy information first section -->
+    <string name="contact_diary_onboarding_privacy_information_first_section_body_one"/>
+    <!-- XTXT: Body for the contact diary onboarding privacy information first section -->
+    <string name="contact_diary_onboarding_privacy_information_first_section_body_two"/>
+    <!-- XTXT: Title for the contact diary onboarding privacy information second section title -->
+    <string name="contact_diary_onboarding_privacy_information_second_section_title"/>
+    <!-- XTXT: Body for the contact diary onboarding privacy information second section -->
+    <string name="contact_diary_onboarding_privacy_information_second_section_body_one"/>
+    <!-- XTXT: Body for the contact diary onboarding privacy information second section -->
+    <string name="contact_diary_onboarding_privacy_information_second_section_body_two"/>
+    <string name="contact_diary_title"/>
+    <!-- XTXT: Body for legal information of the contact diary onboarding screen -->
+    <string name="contact_diary_onboarding_legal_information"/>
+    <!-- XTXT: Title for legal information of the contact diary onboarding screen -->
+    <string name="contact_diary_onboarding_privacy_information_title"/>
+
 </resources>
\ No newline at end of file
diff --git a/Corona-Warn-App/src/main/res/values/strings.xml b/Corona-Warn-App/src/main/res/values/strings.xml
index e71388c87..3f28d165d 100644
--- a/Corona-Warn-App/src/main/res/values/strings.xml
+++ b/Corona-Warn-App/src/main/res/values/strings.xml
@@ -1473,11 +1473,4 @@
     <!-- XBUT: Abort button for test result positive no consent screen -->
     <string name="submission_test_result_positive_no_consent_button_abort">"Cancel"</string>
 
-    <!-- XHED: Title for the contact diary card displayed in the homescreen -->
-    <string name="contact_diary_homescreen_card_header" />
-    <!-- XTXT: Body for the contact diary card displayed in the homescreen  -->
-    <string name="contact_diary_homescreen_card_body" />
-    <!-- XBUT: Button text for the contact diary card button in the homescreen   -->
-    <string name="contact_diary_homescreen_card_button_text" />
-
 </resources>
\ No newline at end of file
-- 
GitLab