From 032b8fabf25c34a5ff3998a5f718d43f254925cb Mon Sep 17 00:00:00 2001 From: axelherbstreith <75120552+axelherbstreith@users.noreply.github.com> Date: Fri, 18 Jun 2021 17:42:27 +0200 Subject: [PATCH] Update Vaccination Certificate Detail Attributes (EXPOSUREAPP-7843) (#3477) * updated attributes * updated strings * fixed string issue * lint * added targetDisease attribut * removed placeholder Co-authored-by: harambasicluka <64483219+harambasicluka@users.noreply.github.com> Co-authored-by: Mohamed Metwalli <mohamed.metwalli@sap.com> --- .../details/TestCertificateDetailsFragment.kt | 4 +-- .../core/VaccinationCertificate.kt | 2 +- .../storage/VaccinationContainer.kt | 3 ++ .../ui/details/VaccinationDetailsFragment.kt | 14 ++++++-- .../util/TimeAndDateExtensions.kt | 4 +-- .../layout/fragment_vaccination_details.xml | 2 +- .../values-de/covid_certificate_strings.xml | 34 +++++++++++++++++++ .../res/values/covid_certificate_strings.xml | 26 ++++++++++++++ 8 files changed, 80 insertions(+), 9 deletions(-) diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/covidcertificate/test/ui/details/TestCertificateDetailsFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/covidcertificate/test/ui/details/TestCertificateDetailsFragment.kt index 3b25fb31f..349157c0a 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/covidcertificate/test/ui/details/TestCertificateDetailsFragment.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/covidcertificate/test/ui/details/TestCertificateDetailsFragment.kt @@ -17,8 +17,8 @@ import de.rki.coronawarnapp.databinding.FragmentTestCertificateDetailsBinding import de.rki.coronawarnapp.ui.qrcode.fullscreen.QrCodeFullScreenFragmentArgs import de.rki.coronawarnapp.ui.view.onOffsetChange import de.rki.coronawarnapp.util.DialogHelper -import de.rki.coronawarnapp.util.TimeAndDateExtensions.toDateOfBirthFormat import de.rki.coronawarnapp.util.TimeAndDateExtensions.toDayFormat +import de.rki.coronawarnapp.util.TimeAndDateExtensions.toHyphenSeparatedDate import de.rki.coronawarnapp.util.TimeAndDateExtensions.toShortTimeFormat import de.rki.coronawarnapp.util.TimeAndDateExtensions.toUserTimeZone import de.rki.coronawarnapp.util.di.AutoInject @@ -64,7 +64,7 @@ class TestCertificateDetailsFragment : Fragment(R.layout.fragment_test_certifica val testDateTime = testCertificate.sampleCollectedAt.toUserTimeZone() name.text = testCertificate.run { "$lastName, $firstName" } - birthDate.text = testCertificate.dateOfBirth.toDateOfBirthFormat() + birthDate.text = testCertificate.dateOfBirth.toHyphenSeparatedDate() diseaseType.text = testCertificate.targetName testType.text = testCertificate.testType testName.text = testCertificate.testName diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/covidcertificate/vaccination/core/VaccinationCertificate.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/covidcertificate/vaccination/core/VaccinationCertificate.kt index 21efe369b..4fa325252 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/covidcertificate/vaccination/core/VaccinationCertificate.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/covidcertificate/vaccination/core/VaccinationCertificate.kt @@ -6,7 +6,7 @@ import org.joda.time.LocalDate interface VaccinationCertificate : CwaCovidCertificate { val vaccinatedAt: LocalDate - + val targetDisease: String val vaccineTypeName: String val vaccineManufacturer: String val medicalProductName: String diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/covidcertificate/vaccination/core/repository/storage/VaccinationContainer.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/covidcertificate/vaccination/core/repository/storage/VaccinationContainer.kt index a2caa83cd..853072b06 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/covidcertificate/vaccination/core/repository/storage/VaccinationContainer.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/covidcertificate/vaccination/core/repository/storage/VaccinationContainer.kt @@ -79,6 +79,9 @@ data class VaccinationContainer internal constructor( override val vaccinatedAt: LocalDate get() = vaccination.vaccinatedAt + override val targetDisease: String + get() = valueSet?.getDisplayText(vaccination.targetId) ?: vaccination.targetId + override val doseNumber: Int get() = vaccination.doseNumber override val totalSeriesOfDoses: Int diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/covidcertificate/vaccination/ui/details/VaccinationDetailsFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/covidcertificate/vaccination/ui/details/VaccinationDetailsFragment.kt index f5231239a..eb7bd3df1 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/covidcertificate/vaccination/ui/details/VaccinationDetailsFragment.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/covidcertificate/vaccination/ui/details/VaccinationDetailsFragment.kt @@ -16,7 +16,7 @@ import de.rki.coronawarnapp.databinding.FragmentVaccinationDetailsBinding import de.rki.coronawarnapp.ui.qrcode.fullscreen.QrCodeFullScreenFragmentArgs import de.rki.coronawarnapp.ui.view.onOffsetChange import de.rki.coronawarnapp.util.DialogHelper -import de.rki.coronawarnapp.util.TimeAndDateExtensions.toDateOfBirthFormat +import de.rki.coronawarnapp.util.TimeAndDateExtensions.toHyphenSeparatedDate import de.rki.coronawarnapp.util.di.AutoInject import de.rki.coronawarnapp.util.ui.popBackStack import de.rki.coronawarnapp.util.ui.viewBinding @@ -111,11 +111,19 @@ class VaccinationDetailsFragment : Fragment(R.layout.fragment_vaccination_detail certificate: VaccinationCertificate ) { name.text = certificate.fullName - dateOfBirth.text = certificate.dateOfBirth.toDateOfBirthFormat() + dateOfBirth.text = certificate.dateOfBirth.toHyphenSeparatedDate() vaccineName.text = certificate.medicalProductName + vaccineType.text = certificate.vaccineTypeName + diseaseType.text = certificate.targetDisease vaccineManufacturer.text = certificate.vaccineManufacturer - certificateIssuer.text = certificate.certificateIssuer + vaccinationNumber.text = getString( + R.string.vaccination_certificate_attribute_dose_number, + certificate.doseNumber, + certificate.totalSeriesOfDoses + ) + vaccinationDate.text = certificate.vaccinatedAt.toHyphenSeparatedDate() certificateCountry.text = certificate.certificateCountry + certificateIssuer.text = certificate.certificateIssuer certificateId.text = certificate.certificateId } diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/TimeAndDateExtensions.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/TimeAndDateExtensions.kt index 401f895a8..035a9f238 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/TimeAndDateExtensions.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/TimeAndDateExtensions.kt @@ -26,7 +26,7 @@ object TimeAndDateExtensions { private val dayFormatter = DateTimeFormat.forPattern("dd.MM.yyyy") private val dayFormatter2DigitYear = DateTimeFormat.forPattern("dd.MM.yy") private val shortTime = DateTimeFormat.shortTime() - private val dayOfBirthFormatter = DateTimeFormat.forPattern("yyyy-MM-dd") + private val dateFormatterWithHyphenSeparator = DateTimeFormat.forPattern("yyyy-MM-dd") fun getCurrentHourUTC(): Int = DateTime(Instant.now(), DateTimeZone.UTC).hourOfDay().get() @@ -154,7 +154,7 @@ object TimeAndDateExtensions { /** * Returns a readable date String with the format "yyy.MM.dd" like 1983-05-23 of an LocalDate */ - fun LocalDate.toDateOfBirthFormat(): String = toString(dayOfBirthFormatter) + fun LocalDate.toHyphenSeparatedDate(): String = toString(dateFormatterWithHyphenSeparator) } typealias HourInterval = Long diff --git a/Corona-Warn-App/src/main/res/layout/fragment_vaccination_details.xml b/Corona-Warn-App/src/main/res/layout/fragment_vaccination_details.xml index d77ef5d22..c16482f06 100644 --- a/Corona-Warn-App/src/main/res/layout/fragment_vaccination_details.xml +++ b/Corona-Warn-App/src/main/res/layout/fragment_vaccination_details.xml @@ -173,7 +173,7 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="4dp" - tools:text="" /> + tools:text="COVID-19" /> <TextView style="@style/body1Medium" diff --git a/Corona-Warn-App/src/main/res/values-de/covid_certificate_strings.xml b/Corona-Warn-App/src/main/res/values-de/covid_certificate_strings.xml index a39fbd586..3176cc9cf 100644 --- a/Corona-Warn-App/src/main/res/values-de/covid_certificate_strings.xml +++ b/Corona-Warn-App/src/main/res/values-de/covid_certificate_strings.xml @@ -1,5 +1,16 @@ <?xml version="1.0" encoding="utf-8"?> <resources xmlns:tools="http://schemas.android.com/tools" tools:ignore="MissingTranslation"> + + <!-- #################################### + Special string files for the strings + that should always keep the german / english + version independent from the selected system language + ###################################### --> + + <!-- ##################################################### + COMMON STRINGS FOR ALL TYPES OF CERTIFICATES BELOW + ##################################################### --> + <!-- XTXT: Person overview no certificates title--> <string name="person_overview_no_certificates_title">Noch keine Zertifikate vorhanden</string> <!-- XTXT: Person overview no certificates subtitle--> @@ -31,4 +42,27 @@ <string name="vaccination_consent_onboarding_legal_information">"Ausführliche Informationen zur Datenverarbeitung finden Sie in der Datenschutzerklärung."</string> <!-- XBUT: Text for vaccination consent accept button --> <string name="vaccination_consent_accept_button">"Weiter"</string> + + + <!-- ##################################################### + VACCINATION CERTIFICATE STRINGS BELOW + ##################################################### --> + + + <!-- ##################################################### + RECOVERY CERTIFICATE STRINGS BELOW + ##################################################### --> + + + <!-- XTXT: Recovery certificate detail title --> + <string name="recovery_certificate_details_title">"Genesenenzertifikat"</string> + <!-- XTXT: Recovery certificate detail subtitle --> + <string name="recovery_certificate_details_subtitle">"EU Digitales COVID-Zertifikat"</string> + + <!-- ##################################################### + TEST CERTIFICATE STRINGS BELOW + ##################################################### --> + + + </resources> \ No newline at end of file diff --git a/Corona-Warn-App/src/main/res/values/covid_certificate_strings.xml b/Corona-Warn-App/src/main/res/values/covid_certificate_strings.xml index 51010c522..3525a7545 100644 --- a/Corona-Warn-App/src/main/res/values/covid_certificate_strings.xml +++ b/Corona-Warn-App/src/main/res/values/covid_certificate_strings.xml @@ -1,5 +1,16 @@ <?xml version="1.0" encoding="utf-8"?> <resources xmlns:tools="http://schemas.android.com/tools" tools:ignore="MissingTranslation"> + + <!-- #################################### + Special string files for the strings + that should always keep the german / english + version independent from the selected system language + ###################################### --> + + <!-- ##################################################### + COMMON STRINGS FOR ALL TYPES OF CERTIFICATES BELOW + ##################################################### --> + <!-- XTXT: Person overview no certificates title--> <string name="person_overview_no_certificates_title">Noch keine Zertifikate vorhanden</string> <!-- XTXT: Person overview no certificates subtitle--> @@ -32,9 +43,24 @@ <!-- XBUT: Text for vaccination consent accept button --> <string name="vaccination_consent_accept_button">"Weiter"</string> + <!-- ##################################################### + VACCINATION CERTIFICATE STRINGS BELOW + ##################################################### --> + + + <!-- ##################################################### + RECOVERY CERTIFICATE STRINGS BELOW + ##################################################### --> + <!-- XTXT: Recovery certificate detail title --> <string name="recovery_certificate_details_title">"Genesenenzertifikat"</string> <!-- XTXT: Recovery certificate detail subtitle --> <string name="recovery_certificate_details_subtitle">"EU Digitales COVID-Zertifikat"</string> + <!-- ##################################################### + TEST CERTIFICATE STRINGS BELOW + ##################################################### --> + + + </resources> \ No newline at end of file -- GitLab