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