From 7eadc890daf7d0a138cfbd5b14b7c3955b792df7 Mon Sep 17 00:00:00 2001
From: Matthias Urhahn <matthias.urhahn@sap.com>
Date: Wed, 16 Jun 2021 14:36:48 +0200
Subject: [PATCH] Sort test certificates by descending order. (#3470)

Co-authored-by: BMItter <Berndus@gmx.de>
---
 .../test/ui/CertificatesViewModel.kt          | 60 ++++++++++---------
 1 file changed, 31 insertions(+), 29 deletions(-)

diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/covidcertificate/test/ui/CertificatesViewModel.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/covidcertificate/test/ui/CertificatesViewModel.kt
index 41ce50d90..9c4da485a 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/covidcertificate/test/ui/CertificatesViewModel.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/covidcertificate/test/ui/CertificatesViewModel.kt
@@ -96,38 +96,40 @@ class CertificatesViewModel @AssistedInject constructor(
         }
     }
 
-    private fun Collection<TestCertificateWrapper>.toCertificateItems(): List<CertificatesItem> = map { certificate ->
-        val localRegistrationTime = certificate.registeredAt.toUserTimeZone()
+    private fun Collection<TestCertificateWrapper>.toCertificateItems(): List<CertificatesItem> = this
+        .map { certificate ->
+            val localRegistrationTime = certificate.registeredAt.toUserTimeZone()
 
-        if (certificate.isCertificateRetrievalPending) {
-            CovidTestCertificateErrorCard.Item(
-                testDate = localRegistrationTime,
-                isUpdatingData = certificate.isUpdatingData,
-                onRetryAction = {
-                    refreshTestCertificate(certificate.identifier)
-                },
-                onDeleteAction = {
-                    events.postValue(
-                        CertificatesFragmentEvents.ShowDeleteErrorCertificateDialog(
-                            certificate.identifier
+            if (certificate.isCertificateRetrievalPending) {
+                CovidTestCertificateErrorCard.Item(
+                    testDate = localRegistrationTime,
+                    isUpdatingData = certificate.isUpdatingData,
+                    onRetryAction = {
+                        refreshTestCertificate(certificate.identifier)
+                    },
+                    onDeleteAction = {
+                        events.postValue(
+                            CertificatesFragmentEvents.ShowDeleteErrorCertificateDialog(
+                                certificate.identifier
+                            )
                         )
-                    )
-                }
-            )
-        } else {
-            CovidTestCertificateCard.Item(
-                testDate = localRegistrationTime,
-                testPerson =
-                certificate.testCertificate?.firstName + " " +
-                    certificate.testCertificate?.lastName,
-                onClickAction = {
-                    CertificatesFragmentEvents.GoToCovidCertificateDetailScreen(
-                        certificate.identifier
-                    ).run { events.postValue(this) }
-                }
-            )
+                    }
+                )
+            } else {
+                CovidTestCertificateCard.Item(
+                    testDate = localRegistrationTime,
+                    testPerson =
+                    certificate.testCertificate?.firstName + " " +
+                        certificate.testCertificate?.lastName,
+                    onClickAction = {
+                        CertificatesFragmentEvents.GoToCovidCertificateDetailScreen(
+                            certificate.identifier
+                        ).run { events.postValue(this) }
+                    }
+                )
+            }
         }
-    }
+        .sortedByDescending { it.testDate }
 
     @AssistedFactory
     interface Factory : SimpleCWAViewModelFactory<CertificatesViewModel>
-- 
GitLab