From 04896babad3ce249480fb5e93d472a0ebf5c674d Mon Sep 17 00:00:00 2001
From: Matthias Urhahn <matthias.urhahn@sap.com>
Date: Mon, 22 Mar 2021 12:08:14 +0100
Subject: [PATCH] Adjust margins for lists with card like items (DEV) (#2650)

* Align card list item margins between CheckIns, HomeFragment and Diary.

* LINTs

Co-authored-by: harambasicluka <64483219+harambasicluka@users.noreply.github.com>
---
 .../location/ContactDiaryLocationListFragment.kt     |  4 ++--
 .../tabs/person/ContactDiaryPersonListFragment.kt    |  6 +++++-
 .../ui/overview/ContactDiaryOverviewFragment.kt      | 12 ++++++++++--
 .../attendee/checkins/CheckInsViewModel.kt           |  2 +-
 .../layout/contact_diary_location_list_fragment.xml  |  2 --
 .../res/layout/contact_diary_overview_list_item.xml  |  3 ---
 .../layout/contact_diary_overview_list_subheader.xml |  9 +++------
 .../layout/contact_diary_person_list_fragment.xml    |  2 --
 Corona-Warn-App/src/main/res/values/dimens.xml       |  1 +
 9 files changed, 22 insertions(+), 19 deletions(-)

diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/contactdiary/ui/day/tabs/location/ContactDiaryLocationListFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/contactdiary/ui/day/tabs/location/ContactDiaryLocationListFragment.kt
index 534f274d5..aaac0159e 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/contactdiary/ui/day/tabs/location/ContactDiaryLocationListFragment.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/contactdiary/ui/day/tabs/location/ContactDiaryLocationListFragment.kt
@@ -8,9 +8,9 @@ import androidx.navigation.fragment.navArgs
 import de.rki.coronawarnapp.R
 import de.rki.coronawarnapp.contactdiary.ui.day.ContactDiaryDayFragment
 import de.rki.coronawarnapp.contactdiary.ui.day.ContactDiaryDayFragmentDirections
-import de.rki.coronawarnapp.ui.durationpicker.DurationPicker
 import de.rki.coronawarnapp.contactdiary.util.MarginRecyclerViewDecoration
 import de.rki.coronawarnapp.databinding.ContactDiaryLocationListFragmentBinding
+import de.rki.coronawarnapp.ui.durationpicker.DurationPicker
 import de.rki.coronawarnapp.util.di.AutoInject
 import de.rki.coronawarnapp.util.lists.diffutil.update
 import de.rki.coronawarnapp.util.onScroll
@@ -47,7 +47,7 @@ class ContactDiaryLocationListFragment :
             adapter = locationListAdapter
             addItemDecoration(
                 MarginRecyclerViewDecoration(
-                    resources.getDimensionPixelSize(R.dimen.spacing_tiny)
+                    resources.getDimensionPixelSize(R.dimen.list_item_decoration_card_margins)
                 )
             )
             onScroll {
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/contactdiary/ui/day/tabs/person/ContactDiaryPersonListFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/contactdiary/ui/day/tabs/person/ContactDiaryPersonListFragment.kt
index 8f1278ef0..a824b4934 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/contactdiary/ui/day/tabs/person/ContactDiaryPersonListFragment.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/contactdiary/ui/day/tabs/person/ContactDiaryPersonListFragment.kt
@@ -41,7 +41,11 @@ class ContactDiaryPersonListFragment : Fragment(R.layout.contact_diary_person_li
 
         binding.contactDiaryPersonListRecyclerView.apply {
             adapter = personListAdapter
-            addItemDecoration(MarginRecyclerViewDecoration(resources.getDimensionPixelSize(R.dimen.spacing_tiny)))
+            addItemDecoration(
+                MarginRecyclerViewDecoration(
+                    resources.getDimensionPixelSize(R.dimen.list_item_decoration_card_margins)
+                )
+            )
             onScroll {
                 (parentFragment as? ContactDiaryDayFragment)?.onScrollChange(it)
             }
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/contactdiary/ui/overview/ContactDiaryOverviewFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/contactdiary/ui/overview/ContactDiaryOverviewFragment.kt
index db541a96c..74c6aa6b9 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/contactdiary/ui/overview/ContactDiaryOverviewFragment.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/contactdiary/ui/overview/ContactDiaryOverviewFragment.kt
@@ -8,6 +8,7 @@ import androidx.core.app.ShareCompat
 import androidx.fragment.app.Fragment
 import de.rki.coronawarnapp.R
 import de.rki.coronawarnapp.contactdiary.ui.overview.adapter.DiaryOverviewAdapter
+import de.rki.coronawarnapp.contactdiary.util.MarginRecyclerViewDecoration
 import de.rki.coronawarnapp.databinding.ContactDiaryOverviewFragmentBinding
 import de.rki.coronawarnapp.util.di.AutoInject
 import de.rki.coronawarnapp.util.lists.diffutil.update
@@ -30,9 +31,16 @@ class ContactDiaryOverviewFragment : Fragment(R.layout.contact_diary_overview_fr
 
         val adapter = DiaryOverviewAdapter()
 
-        binding.apply {
-            contactDiaryOverviewRecyclerview.adapter = adapter
+        binding.contactDiaryOverviewRecyclerview.apply {
+            this.adapter = adapter
+            addItemDecoration(
+                MarginRecyclerViewDecoration(
+                    resources.getDimensionPixelSize(R.dimen.list_item_decoration_card_margins)
+                )
+            )
+        }
 
+        binding.apply {
             setupMenu(toolbar)
             toolbar.setNavigationOnClickListener {
                 vm.onBackButtonPress()
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/eventregistration/attendee/checkins/CheckInsViewModel.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/eventregistration/attendee/checkins/CheckInsViewModel.kt
index a6642cb20..a4495a2ef 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/eventregistration/attendee/checkins/CheckInsViewModel.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/eventregistration/attendee/checkins/CheckInsViewModel.kt
@@ -136,5 +136,5 @@ private val FAKE_CHECKINS = listOf(
 )
 
 private val FAKE_CHECKIN_SOURCE = flow {
-    emit(FAKE_CHECKINS)
+    emit(FAKE_CHECKINS + FAKE_CHECKINS + FAKE_CHECKINS)
 }
diff --git a/Corona-Warn-App/src/main/res/layout/contact_diary_location_list_fragment.xml b/Corona-Warn-App/src/main/res/layout/contact_diary_location_list_fragment.xml
index d51cae23d..ad69901e4 100644
--- a/Corona-Warn-App/src/main/res/layout/contact_diary_location_list_fragment.xml
+++ b/Corona-Warn-App/src/main/res/layout/contact_diary_location_list_fragment.xml
@@ -11,8 +11,6 @@
             android:id="@+id/contact_diary_location_list_recycler_view"
             android:layout_width="0dp"
             android:layout_height="0dp"
-            android:layout_marginHorizontal="@dimen/spacing_small"
-            android:layout_marginVertical="@dimen/spacing_normal"
             app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
             app:layout_constraintBottom_toBottomOf="parent"
             app:layout_constraintEnd_toEndOf="parent"
diff --git a/Corona-Warn-App/src/main/res/layout/contact_diary_overview_list_item.xml b/Corona-Warn-App/src/main/res/layout/contact_diary_overview_list_item.xml
index 6082e367f..105c8a924 100644
--- a/Corona-Warn-App/src/main/res/layout/contact_diary_overview_list_item.xml
+++ b/Corona-Warn-App/src/main/res/layout/contact_diary_overview_list_item.xml
@@ -6,9 +6,6 @@
     style="@style/contactDiaryCardRipple"
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
-    android:layout_marginStart="24dp"
-    android:layout_marginEnd="24dp"
-    android:layout_marginBottom="@dimen/spacing_tiny"
     android:focusable="true">
 
     <TextView
diff --git a/Corona-Warn-App/src/main/res/layout/contact_diary_overview_list_subheader.xml b/Corona-Warn-App/src/main/res/layout/contact_diary_overview_list_subheader.xml
index 50ff8857d..51ab94381 100644
--- a/Corona-Warn-App/src/main/res/layout/contact_diary_overview_list_subheader.xml
+++ b/Corona-Warn-App/src/main/res/layout/contact_diary_overview_list_subheader.xml
@@ -1,9 +1,9 @@
 <?xml version="1.0" encoding="utf-8"?>
 <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:app="http://schemas.android.com/apk/res-auto"
+    xmlns:tools="http://schemas.android.com/tools"
     android:layout_width="match_parent"
-    android:layout_height="wrap_content"
-    xmlns:tools="http://schemas.android.com/tools">
+    android:layout_height="wrap_content">
 
 
     <TextView
@@ -11,10 +11,7 @@
         style="@style/subtitleMedium"
         android:layout_width="0dp"
         android:layout_height="wrap_content"
-        android:layout_marginStart="24dp"
-        android:layout_marginTop="16dp"
-        android:layout_marginEnd="24dp"
-        android:layout_marginBottom="16dp"
+        android:layout_margin="8dp"
         android:focusable="true"
         android:text="@string/contact_diary_overview_subtitle"
         app:layout_constraintBottom_toBottomOf="parent"
diff --git a/Corona-Warn-App/src/main/res/layout/contact_diary_person_list_fragment.xml b/Corona-Warn-App/src/main/res/layout/contact_diary_person_list_fragment.xml
index 13e4edc48..7553db974 100644
--- a/Corona-Warn-App/src/main/res/layout/contact_diary_person_list_fragment.xml
+++ b/Corona-Warn-App/src/main/res/layout/contact_diary_person_list_fragment.xml
@@ -11,8 +11,6 @@
             android:id="@+id/contact_diary_person_list_recycler_view"
             android:layout_width="0dp"
             android:layout_height="0dp"
-            android:layout_marginHorizontal="@dimen/spacing_small"
-            android:layout_marginVertical="@dimen/spacing_normal"
             app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
             app:layout_constraintBottom_toBottomOf="parent"
             app:layout_constraintEnd_toEndOf="parent"
diff --git a/Corona-Warn-App/src/main/res/values/dimens.xml b/Corona-Warn-App/src/main/res/values/dimens.xml
index 833899f89..1735d1f67 100644
--- a/Corona-Warn-App/src/main/res/values/dimens.xml
+++ b/Corona-Warn-App/src/main/res/values/dimens.xml
@@ -72,6 +72,7 @@
     <dimen name="icon_size_risk_details_behavior">25dp</dimen>
     <dimen name="icon_size_external_link">18dp</dimen>
     <dimen name="icon_margin_risk_details_behavior">8dp</dimen>
+    <dimen name="list_item_decoration_card_margins">16dp</dimen>
 
     <!-- Circle sizes -->
     <dimen name="circle_big">@dimen/spacing_huge</dimen>
-- 
GitLab