From e1ad3ef43a09b1266d8018585100525bb0b7f849 Mon Sep 17 00:00:00 2001
From: Chilja Gossow <49635654+chiljamgossow@users.noreply.github.com>
Date: Thu, 20 May 2021 12:24:50 +0200
Subject: [PATCH] Align progress indicator on list and details screen (DEV)
 (#3222)

* align behavior of progress indicator for qr code

* hide on error
---
 .../ui/details/VaccinationDetailsFragment.kt  | 11 +++++---
 .../VaccinationListQrCodeCardItemVH.kt        | 14 +++-------
 .../layout/vaccination_list_qrcode_card.xml   | 27 ++++++++++---------
 3 files changed, 26 insertions(+), 26 deletions(-)

diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/vaccination/ui/details/VaccinationDetailsFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/vaccination/ui/details/VaccinationDetailsFragment.kt
index dfbb9884f..edc037001 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/vaccination/ui/details/VaccinationDetailsFragment.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/vaccination/ui/details/VaccinationDetailsFragment.kt
@@ -59,11 +59,16 @@ class VaccinationDetailsFragment : Fragment(R.layout.fragment_vaccination_detail
             }
             setToolbarOverlay()
 
-            viewModel.errors.observe(viewLifecycleOwner) { it.toErrorDialogBuilder(requireContext()).show() }
-            viewModel.qrCode.observe(viewLifecycleOwner) {
+            viewModel.errors.observe(viewLifecycleOwner) {
                 qrCodeCard.progressBar.hide()
+                it.toErrorDialogBuilder(requireContext()).show()
+            }
+            viewModel.qrCode.observe(viewLifecycleOwner) {
                 qrCodeCard.image.setImageBitmap(it)
-                it?.let { qrCodeCard.image.setOnClickListener { viewModel.openFullScreen() } }
+                it?.let {
+                    qrCodeCard.image.setOnClickListener { viewModel.openFullScreen() }
+                    qrCodeCard.progressBar.hide()
+                }
             }
 
             viewModel.events.observe(viewLifecycleOwner) { event ->
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/vaccination/ui/list/adapter/viewholder/VaccinationListQrCodeCardItemVH.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/vaccination/ui/list/adapter/viewholder/VaccinationListQrCodeCardItemVH.kt
index cf5b3b331..8a41db8da 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/vaccination/ui/list/adapter/viewholder/VaccinationListQrCodeCardItemVH.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/vaccination/ui/list/adapter/viewholder/VaccinationListQrCodeCardItemVH.kt
@@ -2,7 +2,6 @@ package de.rki.coronawarnapp.vaccination.ui.list.adapter.viewholder
 
 import android.graphics.Bitmap
 import android.view.ViewGroup
-import androidx.core.view.isVisible
 import de.rki.coronawarnapp.R
 import de.rki.coronawarnapp.databinding.VaccinationListQrcodeCardBinding
 import de.rki.coronawarnapp.util.TimeAndDateExtensions.toShortDayFormat
@@ -27,15 +26,10 @@ class VaccinationListQrCodeCardItemVH(parent: ViewGroup) :
     override val onBindData: VaccinationListQrcodeCardBinding
     .(item: VaccinationListQrCodeCardItem, payloads: List<Any>) -> Unit =
         { item, _ ->
-            when (item.qrCode) {
-                null -> progressBar.isVisible = true
-                else -> {
-                    image.setImageBitmap(item.qrCode)
-                    progressBar.isVisible = false
-                    image.setOnClickListener {
-                        item.onQrCodeClick.invoke()
-                    }
-                }
+            image.setImageBitmap(item.qrCode)
+            item.qrCode?.let {
+                image.setOnClickListener { item.onQrCodeClick.invoke() }
+                progressBar.hide()
             }
             title.text = context.getString(
                 R.string.vaccination_qrcode_card_title,
diff --git a/Corona-Warn-App/src/main/res/layout/vaccination_list_qrcode_card.xml b/Corona-Warn-App/src/main/res/layout/vaccination_list_qrcode_card.xml
index 3ba5e6305..3c640f5b6 100644
--- a/Corona-Warn-App/src/main/res/layout/vaccination_list_qrcode_card.xml
+++ b/Corona-Warn-App/src/main/res/layout/vaccination_list_qrcode_card.xml
@@ -7,6 +7,19 @@
     android:layout_height="wrap_content"
     android:layout_marginHorizontal="24dp"
     android:padding="16dp">
+
+    <com.google.android.material.progressindicator.LinearProgressIndicator
+        android:id="@+id/progress_bar"
+        android:layout_width="140dp"
+        android:layout_height="24dp"
+        android:indeterminate="true"
+        app:hideAnimationBehavior="inward"
+        app:indicatorColor="@color/colorAccent"
+        app:layout_constraintBottom_toBottomOf="@id/image"
+        app:layout_constraintEnd_toEndOf="@id/image"
+        app:layout_constraintStart_toStartOf="@id/image"
+        app:layout_constraintTop_toTopOf="@id/image" />
+
     <com.google.android.material.imageview.ShapeableImageView
         android:id="@+id/image"
         android:layout_width="0dp"
@@ -21,18 +34,6 @@
         tools:src="@drawable/ic_qrcode"
         tools:tint="@android:color/black" />
 
-    <com.google.android.material.progressindicator.LinearProgressIndicator
-        android:id="@+id/progress_bar"
-        android:layout_width="150dp"
-        android:layout_height="wrap_content"
-        android:indeterminate="true"
-        app:hideAnimationBehavior="inward"
-        app:indicatorColor="@color/colorAccent"
-        app:layout_constraintBottom_toBottomOf="@id/image"
-        app:layout_constraintEnd_toEndOf="@id/image"
-        app:layout_constraintStart_toStartOf="@id/image"
-        app:layout_constraintTop_toTopOf="@id/image" />
-
     <TextView
         android:id="@+id/title"
         style="@style/body2"
@@ -57,4 +58,4 @@
         app:layout_constraintTop_toBottomOf="@id/title"
         tools:text="Geimpft 24.04.21 - gültig bis 24.04.22" />
 
-</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
+</androidx.constraintlayout.widget.ConstraintLayout>
-- 
GitLab