From 05a09478f3755f87854451e626cb85a73f4d0bb5 Mon Sep 17 00:00:00 2001
From: BMItter <46747780+BMItter@users.noreply.github.com>
Date: Wed, 16 Dec 2020 16:43:43 +0100
Subject: [PATCH] Contact Diary - Onboarding/Overview polishing
 (EXPOSUREAPP-4152) (#1913)

* Changed styling of nested list item in overview screen

* Added visual feedback when pressing the privacy information button on the overview screen

* Removed unnecessary menu class, Moved menu handling into fragment

* Changed icons in nested items in overview screen

* Revert "Removed unnecessary menu class, Moved menu handling into fragment"

This reverts commit 885e9e8ab13fbc695987b838827840c5e8197f14.

* Added darkmode support for overview sceen items

* Linting

* Aligned naming conventions

* added new line for kolya

Co-authored-by: I502720 <axel.herbstreith@sap.com>
---
 .../ContactDiaryOnboardingFragment.kt         |  5 ++-
 .../overview/ContactDiaryOverviewViewModel.kt |  4 +-
 .../src/main/res/color/contact_diary_card.xml |  5 +++
 .../main/res/drawable/contact_diary_card.xml  |  9 +++++
 .../contact_diary_onboarding_fragment.xml     | 37 ++++++++++++-------
 .../contact_diary_overview_fragment.xml       |  1 -
 .../include_contact_diary_overview_item.xml   |  2 +-
 ...ude_contact_diary_overview_nested_item.xml | 12 ++++--
 .../src/main/res/values-night/colors.xml      |  6 +++
 .../src/main/res/values/colors.xml            |  4 ++
 .../src/main/res/values/styles.xml            |  4 ++
 11 files changed, 66 insertions(+), 23 deletions(-)
 create mode 100644 Corona-Warn-App/src/main/res/color/contact_diary_card.xml
 create mode 100644 Corona-Warn-App/src/main/res/drawable/contact_diary_card.xml

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
index d4bdaafbc..47e022c42 100644
--- 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
@@ -24,14 +24,15 @@ class ContactDiaryOnboardingFragment : Fragment(R.layout.contact_diary_onboardin
         super.onViewCreated(view, savedInstanceState)
         binding.apply {
             contactDiaryOnboardingNextButton.setOnClickListener {
+
                 vm.onNextButtonClick()
             }
 
-            contactDiaryOnboardingButtonBack.headerButtonBack.buttonIcon.setOnClickListener {
+            contactDiaryOnboardingHeader.headerButtonBack.buttonIcon.setOnClickListener {
                 vm.onBackButtonPress()
             }
 
-            contactDiaryOnboardingPrivacyInformation.setOnClickListener {
+            contactDiaryOnboardingPrivacyInformationContainer.setOnClickListener {
                 vm.onPrivacyButtonPress()
             }
         }
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/contactdiary/ui/overview/ContactDiaryOverviewViewModel.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/contactdiary/ui/overview/ContactDiaryOverviewViewModel.kt
index 2d77b68d9..1e4e346e8 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/contactdiary/ui/overview/ContactDiaryOverviewViewModel.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/contactdiary/ui/overview/ContactDiaryOverviewViewModel.kt
@@ -58,7 +58,7 @@ class ContactDiaryOverviewViewModel @AssistedInject constructor(
             .filter { personEncounter -> personEncounter.date == date }
             .map { personEncounter ->
                 ListItem.Data(
-                    R.drawable.ic_contact_diary_person,
+                    R.drawable.ic_contact_diary_person_item,
                     personEncounter.contactDiaryPerson.fullName
                 )
             }
@@ -72,7 +72,7 @@ class ContactDiaryOverviewViewModel @AssistedInject constructor(
             .filter { locationVisit -> locationVisit.date == date }
             .map { locationVisit ->
                 ListItem.Data(
-                    R.drawable.ic_contact_diary_location,
+                    R.drawable.ic_contact_diary_location_item,
                     locationVisit.contactDiaryLocation.locationName
                 )
             }
diff --git a/Corona-Warn-App/src/main/res/color/contact_diary_card.xml b/Corona-Warn-App/src/main/res/color/contact_diary_card.xml
new file mode 100644
index 000000000..cbcceb1fa
--- /dev/null
+++ b/Corona-Warn-App/src/main/res/color/contact_diary_card.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+    <item android:color="@color/colorContactDiaryListItemPressed" android:state_pressed="true" /> <!-- pressed -->
+    <item android:color="@color/colorContactDiaryListItem" /> <!-- default -->
+</selector>
\ No newline at end of file
diff --git a/Corona-Warn-App/src/main/res/drawable/contact_diary_card.xml b/Corona-Warn-App/src/main/res/drawable/contact_diary_card.xml
new file mode 100644
index 000000000..e5eddf6d9
--- /dev/null
+++ b/Corona-Warn-App/src/main/res/drawable/contact_diary_card.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8"?>
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+    <item>
+        <shape android:shape="rectangle">
+            <corners android:radius="@dimen/radius_card" />
+            <solid android:color="@color/contact_diary_card" />
+        </shape>
+    </item>
+</selector>
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
index 873f4afd3..b8f309eda 100644
--- 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
@@ -9,7 +9,7 @@
         android:layout_height="match_parent">
 
         <include
-            android:id="@+id/contact_diary_onboarding_button_back"
+            android:id="@+id/contact_diary_onboarding_header"
             layout="@layout/include_header"
             android:layout_width="@dimen/match_constraint"
             android:layout_height="wrap_content"
@@ -26,7 +26,7 @@
             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">
+            app:layout_constraintTop_toBottomOf="@+id/contact_diary_onboarding_header">
 
             <androidx.constraintlayout.widget.ConstraintLayout
                 android:layout_width="match_parent"
@@ -159,30 +159,39 @@
                     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"
+                <androidx.constraintlayout.widget.ConstraintLayout
+                    android:id="@+id/contact_diary_onboarding_privacy_information_container"
+                    style="@style/row"
+                    android:layout_width="0dp"
                     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" />
+                    app:layout_constraintTop_toBottomOf="@+id/contact_diary_onboarding_first_divider">
+
+                    <TextView
+                        android:id="@+id/contact_diary_onboarding_privacy_information"
+                        style="@style/subtitle"
+                        android:layout_width="match_parent"
+                        android:layout_height="wrap_content"
+                        android:focusable="true"
+                        app:layout_constraintEnd_toEndOf="parent"
+                        app:layout_constraintStart_toStartOf="parent"
+                        app:layout_constraintTop_toTopOf="parent"
+                        android:text="@string/contact_diary_onboarding_legal_information"
+                        tools:text="@string/contact_diary_onboarding_legal_information" />
+
+                </androidx.constraintlayout.widget.ConstraintLayout>
+
 
                 <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" />
+                    bind:layout_constraintTop_toBottomOf="@+id/contact_diary_onboarding_privacy_information_container" />
 
                 <androidx.constraintlayout.widget.Guideline
                     android:id="@+id/guideline_start"
diff --git a/Corona-Warn-App/src/main/res/layout/contact_diary_overview_fragment.xml b/Corona-Warn-App/src/main/res/layout/contact_diary_overview_fragment.xml
index 1f84b76c9..92769dadf 100644
--- a/Corona-Warn-App/src/main/res/layout/contact_diary_overview_fragment.xml
+++ b/Corona-Warn-App/src/main/res/layout/contact_diary_overview_fragment.xml
@@ -55,7 +55,6 @@
             android:layout_marginHorizontal="@dimen/spacing_mega_tiny"
             android:layout_marginTop="@dimen/spacing_small"
             android:layout_marginBottom="@dimen/spacing_mega_tiny"
-            android:background="@color/colorSurface1"
             android:scrollbars="vertical"
             android:scrollbarSize="@dimen/spacing_mega_tiny"
             app:layout_constraintBottom_toBottomOf="parent"
diff --git a/Corona-Warn-App/src/main/res/layout/include_contact_diary_overview_item.xml b/Corona-Warn-App/src/main/res/layout/include_contact_diary_overview_item.xml
index 2c3efdd8b..4474a400a 100644
--- a/Corona-Warn-App/src/main/res/layout/include_contact_diary_overview_item.xml
+++ b/Corona-Warn-App/src/main/res/layout/include_contact_diary_overview_item.xml
@@ -4,7 +4,7 @@
 
     <androidx.constraintlayout.widget.ConstraintLayout
         android:id="@+id/contact_diary_overview_element_body"
-        style="@style/cardGrey"
+        style="@style/contactDiaryCard"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:layout_marginTop="@dimen/spacing_mega_tiny"
diff --git a/Corona-Warn-App/src/main/res/layout/include_contact_diary_overview_nested_item.xml b/Corona-Warn-App/src/main/res/layout/include_contact_diary_overview_nested_item.xml
index 661d46f15..94bbd733f 100644
--- a/Corona-Warn-App/src/main/res/layout/include_contact_diary_overview_nested_item.xml
+++ b/Corona-Warn-App/src/main/res/layout/include_contact_diary_overview_nested_item.xml
@@ -5,7 +5,7 @@
 
     <androidx.constraintlayout.widget.ConstraintLayout
         android:id="@+id/contact_diary_overview_element_nested_body"
-        style="@style/cardGrey"
+        style="@style/contactDiaryCard"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:focusable="true"
@@ -18,8 +18,10 @@
             android:id="@+id/contact_diary_overview_element_image"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
-            android:layout_marginVertical="@dimen/spacing_tiny"
             android:layout_marginStart="@dimen/spacing_small"
+            android:layout_marginTop="@dimen/spacing_tiny"
+            android:layout_marginBottom="@dimen/spacing_tiny"
+
             android:importantForAccessibility="no"
             android:scaleType="centerInside"
             android:src="@drawable/ic_contact_diary_person_item"
@@ -29,11 +31,15 @@
 
         <TextView
             android:id="@+id/contact_diary_overview_element_name"
-            style="@style/headline5"
+            style="@style/subtitle"
             android:layout_width="@dimen/match_constraint"
             android:layout_height="wrap_content"
+            android:layout_marginVertical="@dimen/spacing_tiny"
             android:layout_marginStart="@dimen/spacing_small"
+            android:layout_marginEnd="@dimen/spacing_small"
             android:focusable="true"
+            android:maxLines="3"
+            android:ellipsize="end"
             android:text="Andrea Steinhauer"
             app:layout_constraintBottom_toBottomOf="parent"
             app:layout_constraintEnd_toEndOf="parent"
diff --git a/Corona-Warn-App/src/main/res/values-night/colors.xml b/Corona-Warn-App/src/main/res/values-night/colors.xml
index 2ed70d565..4eed519cd 100644
--- a/Corona-Warn-App/src/main/res/values-night/colors.xml
+++ b/Corona-Warn-App/src/main/res/values-night/colors.xml
@@ -55,4 +55,10 @@
 
     <!-- Calendar -->
     <color name="colorCalendarMonthText">#DEFFFFFF</color>
+
+    <!-- Contact Diary -->
+    <color name="colorContactDiaryListItem">#232324</color>
+    <color name="colorContactDiaryListItemPressed">#39393A</color>
+
+
 </resources>
diff --git a/Corona-Warn-App/src/main/res/values/colors.xml b/Corona-Warn-App/src/main/res/values/colors.xml
index 972080081..6b1243b30 100644
--- a/Corona-Warn-App/src/main/res/values/colors.xml
+++ b/Corona-Warn-App/src/main/res/values/colors.xml
@@ -67,4 +67,8 @@
     <color name="colorCalendarMonthText">#DE000000</color>
     <color name="colorCalendarLayoutFocusOn">@color/cwaGrayHighlight</color>
     <color name="colorCalendarLayoutFocusOff">#F5F5F5</color>
+
+    <!-- Contact Diary -->
+    <color name="colorContactDiaryListItem">#F5F5F5</color>
+    <color name="colorContactDiaryListItemPressed">#D7D7D7</color>
 </resources>
diff --git a/Corona-Warn-App/src/main/res/values/styles.xml b/Corona-Warn-App/src/main/res/values/styles.xml
index 7670cb51b..eed4ac804 100644
--- a/Corona-Warn-App/src/main/res/values/styles.xml
+++ b/Corona-Warn-App/src/main/res/values/styles.xml
@@ -353,4 +353,8 @@
         <item name="android:textStyle">bold</item>
     </style>
 
+    <style name="contactDiaryCard">
+        <item name="android:background">@drawable/contact_diary_card</item>
+    </style>
+
 </resources>
-- 
GitLab