From 4b4316e2e6c942f9e0fed4203e79d54176658319 Mon Sep 17 00:00:00 2001 From: axelherbstreith <75120552+axelherbstreith@users.noreply.github.com> Date: Mon, 14 Jun 2021 16:39:02 +0200 Subject: [PATCH] Adjust Test + Vaccination Certificate Detail Screen (EXPOSUREAPP-7671, 7656) (#3419) * added layout for travel notice * updated travel notice with srings * adjusted qr code card * added eu background * add offset * added menu * add certificate deletion to menu * added vaccination attribute strings * add attribute strings to details fragment * lint * updated title * updated eu flag positioning * fix menu dot color * lint * update menu icon * update detail screen for incomplete vaccination * remove empty line * changed header of test certificate screen * update date of birth format * lint * changed dob to extension function * remove blank line --- .../CovidCertificateDetailsFragment.kt | 10 +- .../ui/details/VaccinationDetailsFragment.kt | 93 ++-- .../ui/details/VaccinationDetailsViewModel.kt | 17 +- .../ui/list/VaccinationListFragment.kt | 2 +- .../VaccinationListQrCodeCardItemVH.kt | 12 - .../util/TimeAndDateExtensions.kt | 6 + ....xml => certificate_complete_gradient.xml} | 0 .../main/res/drawable/ic_eu_stars_blue.xml | 66 +++ .../main/res/drawable/ic_eu_stars_grey.xml | 439 ++++++++++++++++++ .../fragment_covid_certificate_details.xml | 19 +- .../layout/fragment_vaccination_details.xml | 151 ++++-- .../include_certificate_qrcode_card.xml | 24 - .../layout/vaccination_home_immune_card.xml | 2 +- .../res/values-de/vaccination_strings.xml | 5 + .../values/vaccination_attribute_strings.xml | 31 ++ .../main/res/values/vaccination_strings.xml | 11 + 16 files changed, 772 insertions(+), 116 deletions(-) rename Corona-Warn-App/src/main/res/drawable/{vaccination_compelete_gradient.xml => certificate_complete_gradient.xml} (100%) create mode 100644 Corona-Warn-App/src/main/res/drawable/ic_eu_stars_blue.xml create mode 100644 Corona-Warn-App/src/main/res/drawable/ic_eu_stars_grey.xml create mode 100644 Corona-Warn-App/src/main/res/values/vaccination_attribute_strings.xml diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/covidcertificate/test/ui/details/CovidCertificateDetailsFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/covidcertificate/test/ui/details/CovidCertificateDetailsFragment.kt index 3e79944b5..106156fd2 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/covidcertificate/test/ui/details/CovidCertificateDetailsFragment.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/covidcertificate/test/ui/details/CovidCertificateDetailsFragment.kt @@ -17,7 +17,7 @@ import de.rki.coronawarnapp.databinding.FragmentCovidCertificateDetailsBinding 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.toDayFormat +import de.rki.coronawarnapp.util.TimeAndDateExtensions.toDateOfBirthFormat import de.rki.coronawarnapp.util.TimeAndDateExtensions.toShortDayFormat import de.rki.coronawarnapp.util.TimeAndDateExtensions.toShortTimeFormat import de.rki.coronawarnapp.util.di.AutoInject @@ -44,7 +44,6 @@ class CovidCertificateDetailsFragment : Fragment(R.layout.fragment_covid_certifi ) override fun onViewCreated(view: View, savedInstanceState: Bundle?) = with(binding) { - qrCodeCard.title.setText(R.string.detail_green_certificate_card_title) appBarLayout.onOffsetChange { titleAlpha, subtitleAlpha -> title.alpha = titleAlpha subtitle.alpha = subtitleAlpha @@ -63,13 +62,8 @@ class CovidCertificateDetailsFragment : Fragment(R.layout.fragment_covid_certifi private fun FragmentCovidCertificateDetailsBinding.onCertificateReady( testCertificate: TestCertificate ) { - qrCodeCard.subtitle.text = getString( - R.string.detail_green_certificate_card_subtitle, - testCertificate.sampleCollectedAt.toShortDayFormat(), - testCertificate.sampleCollectedAt.toShortTimeFormat(), - ) name.text = testCertificate.run { "$lastName, $firstName" } - birthDate.text = testCertificate.dateOfBirth.toDayFormat() + birthDate.text = testCertificate.dateOfBirth.toDateOfBirthFormat() 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/ui/details/VaccinationDetailsFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/covidcertificate/vaccination/ui/details/VaccinationDetailsFragment.kt index 8ea0ed355..8d3d519c5 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 @@ -15,13 +15,14 @@ import de.rki.coronawarnapp.covidcertificate.vaccination.core.VaccinationCertifi 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.TimeAndDateExtensions.toDayFormat +import de.rki.coronawarnapp.util.DialogHelper +import de.rki.coronawarnapp.util.TimeAndDateExtensions.toDateOfBirthFormat import de.rki.coronawarnapp.util.di.AutoInject +import de.rki.coronawarnapp.util.setUrl import de.rki.coronawarnapp.util.ui.popBackStack import de.rki.coronawarnapp.util.ui.viewBinding import de.rki.coronawarnapp.util.viewmodel.CWAViewModelFactoryProvider import de.rki.coronawarnapp.util.viewmodel.cwaViewModelsAssisted -import org.joda.time.format.DateTimeFormat import javax.inject.Inject class VaccinationDetailsFragment : Fragment(R.layout.fragment_vaccination_details), AutoInject { @@ -44,18 +45,29 @@ class VaccinationDetailsFragment : Fragment(R.layout.fragment_vaccination_detail with(binding) { toolbar.setNavigationOnClickListener { popBackStack() } + bindTravelNoticeViews() + bindToolbar() + viewModel.vaccinationCertificate.observe(viewLifecycleOwner) { it.certificate?.let { certificate -> bindCertificateViews(certificate) } val background = when { - it.isImmune -> R.drawable.vaccination_compelete_gradient + it.isImmune -> R.drawable.certificate_complete_gradient else -> R.drawable.vaccination_incomplete } + + val europaIcon = when { + it.isImmune -> R.drawable.ic_eu_stars_blue + else -> R.drawable.ic_eu_stars_grey + } + expandedImage.setImageResource(background) + europaImage.setImageResource(europaIcon) } appBarLayout.onOffsetChange { titleAlpha, subtitleAlpha -> title.alpha = titleAlpha subtitle.alpha = subtitleAlpha + europaImage.alpha = subtitleAlpha } setToolbarOverlay() @@ -84,37 +96,51 @@ class VaccinationDetailsFragment : Fragment(R.layout.fragment_vaccination_detail } } + private fun FragmentVaccinationDetailsBinding.bindToolbar() = toolbar.apply { + setNavigationOnClickListener { popBackStack() } + setOnMenuItemClickListener { + when (it.itemId) { + R.id.menu_covid_certificate_delete -> { + DialogHelper.showDialog(deleteTestConfirmationDialog) + true + } + else -> onOptionsItemSelected(it) + } + } + } + private fun FragmentVaccinationDetailsBinding.bindCertificateViews( certificate: VaccinationCertificate ) { name.text = certificate.fullName - birthDate.text = getString( - R.string.vaccination_details_birth_date, - certificate.dateOfBirth.toDayFormat() - ) - vaccinatedAt.text = certificate.vaccinatedAt.toDayFormat() + dateOfBirth.text = certificate.dateOfBirth.toDateOfBirthFormat() vaccineName.text = certificate.medicalProductName vaccineManufacturer.text = certificate.vaccineManufacturer - vaccineTypeName.text = certificate.vaccineTypeName certificateIssuer.text = certificate.certificateIssuer certificateCountry.text = certificate.certificateCountry certificateId.text = certificate.certificateId - title.text = getString( - R.string.vaccination_details_title, - certificate.doseNumber, - certificate.totalSeriesOfDoses - ) - // QrCode details - qrCodeCard.title.text = getString( - R.string.vaccination_qrcode_card_title, - certificate.doseNumber, - certificate.totalSeriesOfDoses - ) - qrCodeCard.subtitle.text = getString( - R.string.vaccination_qrcode_card_subtitle, - certificate.vaccinatedAt.toString(format), - certificate.expiresAt.toString(format) - ) + } + + private fun FragmentVaccinationDetailsBinding.bindTravelNoticeViews() { + if (travelNoticeGerman.text == + getString(R.string.vaccination_certificate_attribute_certificate_travel_notice_german) + ) { + travelNoticeGerman.setUrl( + R.string.vaccination_certificate_attribute_certificate_travel_notice_german, + R.string.vaccination_certificate_travel_notice_link_de, + R.string.vaccination_certificate_travel_notice_link_de + ) + } + + if (travelNoticeEnglish.text == + getString(R.string.green_certificate_attribute_certificate_travel_notice_english) + ) { + travelNoticeEnglish.setUrl( + R.string.green_certificate_attribute_certificate_travel_notice_english, + R.string.green_certificate_travel_notice_link_en, + R.string.green_certificate_travel_notice_link_en + ) + } } private fun setToolbarOverlay() { @@ -124,14 +150,23 @@ class VaccinationDetailsFragment : Fragment(R.layout.fragment_vaccination_detail as (CoordinatorLayout.LayoutParams) val textParams = binding.subtitle.layoutParams as (LinearLayout.LayoutParams) - textParams.bottomMargin = (width / 3) - 24 /* 24 is space between screen border and QrCode */ + textParams.bottomMargin = (width / 2) - 24 /* 24 is space between screen border and QrCode */ binding.subtitle.requestLayout() /* 24 is space between screen border and QrCode */ val behavior: AppBarLayout.ScrollingViewBehavior = params.behavior as (AppBarLayout.ScrollingViewBehavior) - behavior.overlayTop = (width / 3) - 24 + behavior.overlayTop = (width / 2) - 24 } - companion object { - private val format = DateTimeFormat.forPattern("dd.MM.yy") + private val deleteTestConfirmationDialog by lazy { + DialogHelper.DialogInstance( + requireActivity(), + R.string.vaccination_list_deletion_dialog_title, + R.string.vaccination_list_deletion_dialog_message, + R.string.green_certificate_details_dialog_remove_test_button_positive, + R.string.green_certificate_details_dialog_remove_test_button_negative, + positiveButtonFunction = { + viewModel.deleteVaccination() + } + ) } } diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/covidcertificate/vaccination/ui/details/VaccinationDetailsViewModel.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/covidcertificate/vaccination/ui/details/VaccinationDetailsViewModel.kt index 9cb494dd2..b6afdb2ab 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/covidcertificate/vaccination/ui/details/VaccinationDetailsViewModel.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/covidcertificate/vaccination/ui/details/VaccinationDetailsViewModel.kt @@ -9,10 +9,12 @@ import de.rki.coronawarnapp.covidcertificate.vaccination.core.VaccinatedPerson import de.rki.coronawarnapp.covidcertificate.vaccination.core.VaccinationCertificate import de.rki.coronawarnapp.covidcertificate.vaccination.core.repository.VaccinationRepository import de.rki.coronawarnapp.presencetracing.checkins.qrcode.QrCodeGenerator +import de.rki.coronawarnapp.util.coroutine.AppScope import de.rki.coronawarnapp.util.coroutine.DispatcherProvider import de.rki.coronawarnapp.util.ui.SingleLiveEvent import de.rki.coronawarnapp.util.viewmodel.CWAViewModel import de.rki.coronawarnapp.util.viewmodel.CWAViewModelFactory +import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.map import timber.log.Timber @@ -20,7 +22,8 @@ import timber.log.Timber class VaccinationDetailsViewModel @AssistedInject constructor( @Assisted private val vaccinationCertificateId: String, private val qrCodeGenerator: QrCodeGenerator, - vaccinationRepository: VaccinationRepository, + private val vaccinationRepository: VaccinationRepository, + @AppScope private val appScope: CoroutineScope, dispatcherProvider: DispatcherProvider, ) : CWAViewModel(dispatcherProvider) { @@ -69,6 +72,18 @@ class VaccinationDetailsViewModel @AssistedInject constructor( } } + fun deleteVaccination() { + launch(scope = appScope) { + try { + vaccinationRepository.deleteVaccinationCertificate(vaccinationCertificateId) + events.postValue(VaccinationDetailsNavigation.Back) + } catch (exception: Exception) { + errors.postValue(exception) + Timber.e(exception, "Something went wrong when trying to delete a vaccination certificate.") + } + } + } + @AssistedFactory interface Factory : CWAViewModelFactory<VaccinationDetailsViewModel> { fun create( diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/covidcertificate/vaccination/ui/list/VaccinationListFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/covidcertificate/vaccination/ui/list/VaccinationListFragment.kt index b129fd940..0960f36b8 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/covidcertificate/vaccination/ui/list/VaccinationListFragment.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/covidcertificate/vaccination/ui/list/VaccinationListFragment.kt @@ -116,7 +116,7 @@ class VaccinationListFragment : Fragment(R.layout.fragment_vaccination_list), Au vaccinationListAdapter.update(listItems) val background = if (hasImmunity) { - R.drawable.vaccination_compelete_gradient + R.drawable.certificate_complete_gradient } else { R.drawable.vaccination_incomplete } diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/covidcertificate/vaccination/ui/list/adapter/viewholder/VaccinationListQrCodeCardItemVH.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/covidcertificate/vaccination/ui/list/adapter/viewholder/VaccinationListQrCodeCardItemVH.kt index 11c936aab..a36dfd3a0 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/covidcertificate/vaccination/ui/list/adapter/viewholder/VaccinationListQrCodeCardItemVH.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/covidcertificate/vaccination/ui/list/adapter/viewholder/VaccinationListQrCodeCardItemVH.kt @@ -7,7 +7,6 @@ import de.rki.coronawarnapp.covidcertificate.vaccination.ui.list.adapter.Vaccina import de.rki.coronawarnapp.covidcertificate.vaccination.ui.list.adapter.VaccinationListItem import de.rki.coronawarnapp.covidcertificate.vaccination.ui.list.adapter.viewholder.VaccinationListQrCodeCardItemVH.VaccinationListQrCodeCardItem import de.rki.coronawarnapp.databinding.IncludeCertificateQrcodeCardBinding -import de.rki.coronawarnapp.util.TimeAndDateExtensions.toShortDayFormat import org.joda.time.Instant import org.joda.time.LocalDate @@ -29,17 +28,6 @@ class VaccinationListQrCodeCardItemVH(parent: ViewGroup) : image.setOnClickListener { item.onQrCodeClick.invoke() } progressBar.hide() } - title.text = context.getString( - R.string.vaccination_qrcode_card_title, - item.doseNumber, - item.totalSeriesOfDoses - ) - subtitle.text = - context.getString( - R.string.vaccination_qrcode_card_subtitle, - item.vaccinatedAt.toShortDayFormat(), - item.expiresAt.toShortDayFormat() - ) } data class VaccinationListQrCodeCardItem( 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 897f618ef..5175efcfa 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,6 +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") fun getCurrentHourUTC(): Int = DateTime(Instant.now(), DateTimeZone.UTC).hourOfDay().get() @@ -139,6 +140,11 @@ object TimeAndDateExtensions { * Returns a readable date String with the format "dd.MM.yy" like 23.05.89 of an LocalDate */ fun LocalDate.toShortDayFormat(): String = toString(dayFormatter2DigitYear) + + /** + * Returns a readable date String with the format "yyy.MM.dd" like 1983-05-23 of an LocalDate + */ + fun LocalDate.toDateOfBirthFormat(): String = toString(dayOfBirthFormatter) } typealias HourInterval = Long diff --git a/Corona-Warn-App/src/main/res/drawable/vaccination_compelete_gradient.xml b/Corona-Warn-App/src/main/res/drawable/certificate_complete_gradient.xml similarity index 100% rename from Corona-Warn-App/src/main/res/drawable/vaccination_compelete_gradient.xml rename to Corona-Warn-App/src/main/res/drawable/certificate_complete_gradient.xml diff --git a/Corona-Warn-App/src/main/res/drawable/ic_eu_stars_blue.xml b/Corona-Warn-App/src/main/res/drawable/ic_eu_stars_blue.xml new file mode 100644 index 000000000..d7aff1a21 --- /dev/null +++ b/Corona-Warn-App/src/main/res/drawable/ic_eu_stars_blue.xml @@ -0,0 +1,66 @@ +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:width="246dp" + android:height="234dp" + android:viewportWidth="246" + android:viewportHeight="234"> + <path + android:strokeWidth="1" + android:pathData="M123.361,-6.153L122.894,-7.608L122.411,-6.158L120.463,-0.311H114.181H112.681L113.881,0.589L119.09,4.498L117.142,10.345L116.642,11.846L117.914,10.906L122.891,7.224L128.094,10.911L129.318,11.779L128.859,10.351L126.91,4.285L131.875,0.828L133.183,-0.082H131.59H125.311L123.361,-6.153Z" + android:fillColor="#0191C6" + android:strokeColor="#0191C6"/> + <path + android:strokeWidth="1" + android:pathData="M68.385,8.746L67.918,7.291L67.435,8.741L65.487,14.588H59.205H57.706L58.905,15.488L64.114,19.397L62.167,25.244L61.667,26.745L62.938,25.805L67.909,22.128L72.881,25.805L74.129,26.728L73.654,25.25L71.708,19.191L76.891,15.733L78.264,14.817H76.614H70.336L68.385,8.746Z" + android:fillColor="#0191C6" + android:strokeColor="#0191C6"/> + <path + android:strokeWidth="1" + android:pathData="M28.299,49.088L27.823,47.606L27.347,49.088L25.397,55.159H19.119H17.549L18.83,56.067L24.025,59.75L22.08,65.587L21.58,67.087L22.852,66.147L27.823,62.47L32.794,66.147L34.066,67.087L33.566,65.587L31.622,59.75L36.817,56.067L38.098,55.159H36.528H30.249L28.299,49.088Z" + android:fillColor="#0191C6" + android:strokeColor="#0191C6"/> + <path + android:strokeWidth="1" + android:pathData="M13.181,104.1L12.713,102.644L12.23,104.094L10.283,109.941H4H2.483L3.703,110.843L8.683,114.527L6.731,120.603L6.272,122.031L7.496,121.164L12.698,117.477L17.676,121.158L18.924,122.081L18.449,120.603L16.501,114.537L21.466,111.081L22.774,110.17H21.18H15.131L13.181,104.1Z" + android:fillColor="#0191C6" + android:strokeColor="#0191C6"/> + <path + android:strokeWidth="1" + android:pathData="M28.068,159.336L27.594,157.912L27.12,159.336L25.172,165.183H18.889H17.373L18.592,166.085L23.569,169.766L21.622,175.61L21.139,177.06L22.386,176.176L27.588,172.489L32.565,176.17L33.837,177.111L33.337,175.61L31.39,169.766L36.367,166.085L37.586,165.183H36.069H30.016L28.068,159.336Z" + android:fillColor="#0191C6" + android:strokeColor="#0191C6"/> + <path + android:strokeWidth="1" + android:pathData="M68.384,199.678L67.909,198.254L67.435,199.678L65.487,205.525H59.205H57.688L58.908,206.427L63.888,210.11L61.936,216.187L61.477,217.615L62.701,216.747L67.903,213.06L72.881,216.741L74.129,217.665L73.654,216.187L71.702,210.11L76.682,206.427L77.902,205.525H76.385H70.331L68.384,199.678Z" + android:fillColor="#0191C6" + android:strokeColor="#0191C6"/> + <path + android:strokeWidth="1" + android:pathData="M123.36,214.347L122.885,212.923L122.411,214.347L120.463,220.194H114.181H112.611L113.892,221.102L119.087,224.784L117.142,230.622L116.642,232.122L117.914,231.182L122.891,227.5L128.094,231.188L129.34,232.071L128.857,230.622L126.91,224.777L131.887,221.096L133.107,220.194H131.59H125.307L123.36,214.347Z" + android:fillColor="#0191C6" + android:strokeColor="#0191C6"/> + <path + android:strokeWidth="1" + android:pathData="M178.57,8.757L178.11,7.203L177.615,8.746L175.665,14.817H169.386H167.793L169.101,15.727L174.066,19.184L172.117,25.25L171.658,26.678L172.882,25.81L178.085,22.123L183.062,25.805L184.334,26.745L183.834,25.244L181.884,19.39L186.875,15.481L188.016,14.588H186.566H180.297L178.57,8.757Z" + android:fillColor="#0191C6" + android:strokeColor="#0191C6"/> + <path + android:strokeWidth="1" + android:pathData="M218.659,49.104L218.206,47.519L217.702,49.088L215.752,55.159H209.474H207.957L209.176,56.061L214.153,59.742L212.206,65.587L211.723,67.036L212.97,66.153L218.172,62.465L223.149,66.147L224.421,67.087L223.921,65.587L221.974,59.742L226.951,56.061L228.17,55.159H226.654H220.388L218.659,49.104Z" + android:fillColor="#0191C6" + android:strokeColor="#0191C6"/> + <path + android:strokeWidth="1" + android:pathData="M233.77,104.094L233.287,102.644L232.82,104.1L230.87,110.17H224.591H222.998L224.306,111.081L229.271,114.537L227.322,120.603L226.863,122.031L228.087,121.164L233.29,117.477L238.267,121.158L239.515,122.081L239.04,120.603L237.091,114.534L242.29,110.849L243.57,109.941H242H235.718L233.77,104.094Z" + android:fillColor="#0191C6" + android:strokeColor="#0191C6"/> + <path + android:strokeWidth="1" + android:pathData="M218.881,159.336L218.407,157.912L217.933,159.336L215.985,165.183H209.703H208.186L209.405,166.085L214.382,169.766L212.435,175.61L211.952,177.06L213.199,176.176L218.401,172.489L223.378,176.17L224.65,177.111L224.15,175.61L222.206,169.773L227.401,166.091L228.682,165.183H227.112H220.829L218.881,159.336Z" + android:fillColor="#0191C6" + android:strokeColor="#0191C6"/> + <path + android:strokeWidth="1" + android:pathData="M178.565,199.678L178.091,198.254L177.617,199.678L175.669,205.525H169.386H167.869L169.089,206.427L174.079,210.117L172.342,216.202L171.938,217.615L173.12,216.741L178.091,213.065L183.062,216.741L184.31,217.665L183.835,216.187L181.886,210.117L187.085,206.433L188.366,205.525H186.795H180.513L178.565,199.678Z" + android:fillColor="#0191C6" + android:strokeColor="#0191C6"/> +</vector> diff --git a/Corona-Warn-App/src/main/res/drawable/ic_eu_stars_grey.xml b/Corona-Warn-App/src/main/res/drawable/ic_eu_stars_grey.xml new file mode 100644 index 000000000..88ddb1ac0 --- /dev/null +++ b/Corona-Warn-App/src/main/res/drawable/ic_eu_stars_grey.xml @@ -0,0 +1,439 @@ +<vector xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:aapt="http://schemas.android.com/aapt" + android:width="246dp" + android:height="234dp" + android:viewportWidth="246" + android:viewportHeight="234"> + <path + android:pathData="M122.885,-6L120.824,0.189H114.181L119.678,4.315L117.617,10.504L122.885,6.607L128.383,10.504L126.321,4.085L131.59,0.418H124.947L122.885,-6Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startY="87.5" + android:startX="242" + android:endY="87.5" + android:endX="-10" + android:type="linear"> + <item android:offset="0" android:color="#FF576371"/> + <item android:offset="0.9999" android:color="#3F576371"/> + <item android:offset="1" android:color="#FF616F7E"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M67.909,8.899L65.848,15.088H59.205L64.702,19.214L62.641,25.403L67.909,21.506L73.178,25.403L71.116,18.985L76.614,15.317H69.971L67.909,8.899Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startY="87.5" + android:startX="242" + android:endY="87.5" + android:endX="-10" + android:type="linear"> + <item android:offset="0" android:color="#FF576371"/> + <item android:offset="0.9999" android:color="#3F576371"/> + <item android:offset="1" android:color="#FF616F7E"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M27.823,49.241L25.762,55.659H19.119L24.616,59.556L22.555,65.745L27.823,61.848L33.092,65.745L31.03,59.556L36.528,55.659H29.885L27.823,49.241Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startY="87.5" + android:startX="242" + android:endY="87.5" + android:endX="-10" + android:type="linear"> + <item android:offset="0" android:color="#FF576371"/> + <item android:offset="0.9999" android:color="#3F576371"/> + <item android:offset="1" android:color="#FF616F7E"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M12.705,104.252L10.643,110.441H4L9.269,114.338L7.207,120.756L12.705,116.859L17.973,120.756L15.911,114.338L21.18,110.67H14.766L12.705,104.252Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startY="87.5" + android:startX="242" + android:endY="87.5" + android:endX="-10" + android:type="linear"> + <item android:offset="0" android:color="#FF576371"/> + <item android:offset="0.9999" android:color="#3F576371"/> + <item android:offset="1" android:color="#FF616F7E"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M27.594,159.494L25.532,165.683H18.889L24.158,169.58L22.097,175.769L27.594,171.872L32.863,175.769L30.801,169.58L36.069,165.683H29.656L27.594,159.494Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startY="87.5" + android:startX="242" + android:endY="87.5" + android:endX="-10" + android:type="linear"> + <item android:offset="0" android:color="#FF576371"/> + <item android:offset="0.9999" android:color="#3F576371"/> + <item android:offset="1" android:color="#FF616F7E"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M67.909,199.836L65.848,206.025H59.205L64.473,209.921L62.412,216.339L67.909,212.443L73.178,216.339L71.116,209.921L76.385,206.025H69.971L67.909,199.836Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startY="87.5" + android:startX="242" + android:endY="87.5" + android:endX="-10" + android:type="linear"> + <item android:offset="0" android:color="#FF576371"/> + <item android:offset="0.9999" android:color="#3F576371"/> + <item android:offset="1" android:color="#FF616F7E"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M122.885,214.505L120.824,220.694H114.181L119.678,224.591L117.617,230.78L122.885,226.883L128.383,230.78L126.321,224.591L131.59,220.694H124.947L122.885,214.505Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startY="87.5" + android:startX="242" + android:endY="87.5" + android:endX="-10" + android:type="linear"> + <item android:offset="0" android:color="#FF576371"/> + <item android:offset="0.9999" android:color="#3F576371"/> + <item android:offset="1" android:color="#FF616F7E"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M178.091,8.899L179.923,15.088H186.566L181.298,19.214L183.359,25.403L178.091,21.506L172.593,25.403L174.655,18.985L169.386,15.317H176.029L178.091,8.899Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startY="87.5" + android:startX="242" + android:endY="87.5" + android:endX="-10" + android:type="linear"> + <item android:offset="0" android:color="#FF576371"/> + <item android:offset="0.9999" android:color="#3F576371"/> + <item android:offset="1" android:color="#FF616F7E"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M218.178,49.241L220.011,55.659H226.654L221.385,59.556L223.447,65.745L218.178,61.848L212.68,65.745L214.742,59.556L209.474,55.659H216.116L218.178,49.241Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startY="87.5" + android:startX="242" + android:endY="87.5" + android:endX="-10" + android:type="linear"> + <item android:offset="0" android:color="#FF576371"/> + <item android:offset="0.9999" android:color="#3F576371"/> + <item android:offset="1" android:color="#FF616F7E"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M233.296,104.252L235.357,110.441H242L236.503,114.338L238.564,120.756L233.296,116.859L227.798,120.756L229.86,114.338L224.591,110.67H231.234L233.296,104.252Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startY="87.5" + android:startX="242" + android:endY="87.5" + android:endX="-10" + android:type="linear"> + <item android:offset="0" android:color="#FF576371"/> + <item android:offset="0.9999" android:color="#3F576371"/> + <item android:offset="1" android:color="#FF616F7E"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M218.407,159.494L220.469,165.683H227.112L221.614,169.58L223.676,175.769L218.407,171.872L212.909,175.769L214.971,169.58L209.703,165.683H216.345L218.407,159.494Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startY="87.5" + android:startX="242" + android:endY="87.5" + android:endX="-10" + android:type="linear"> + <item android:offset="0" android:color="#FF576371"/> + <item android:offset="0.9999" android:color="#3F576371"/> + <item android:offset="1" android:color="#FF616F7E"/> + </gradient> + </aapt:attr> + </path> + <path + android:pathData="M178.091,199.836L180.153,206.025H186.795L181.298,209.921L183.359,216.339L178.091,212.443L172.822,216.339L174.655,209.921L169.386,206.025H176.029L178.091,199.836Z"> + <aapt:attr name="android:fillColor"> + <gradient + android:startY="87.5" + android:startX="242" + android:endY="87.5" + android:endX="-10" + android:type="linear"> + <item android:offset="0" android:color="#FF576371"/> + <item android:offset="0.9999" android:color="#3F576371"/> + <item android:offset="1" android:color="#FF616F7E"/> + </gradient> + </aapt:attr> + </path> + <group> + <clip-path + android:pathData="M0,-10h246v244h-246zM122.885,-6L120.824,0.189H114.181L119.678,4.315L117.617,10.504L122.885,6.607L128.383,10.504L126.321,4.085L131.59,0.418H124.947L122.885,-6ZM67.909,8.899L65.848,15.088H59.205L64.702,19.214L62.641,25.403L67.909,21.506L73.178,25.403L71.116,18.985L76.614,15.317H69.971L67.909,8.899ZM27.823,49.241L25.762,55.659H19.119L24.616,59.556L22.555,65.745L27.823,61.848L33.092,65.745L31.03,59.556L36.528,55.659H29.885L27.823,49.241ZM12.705,104.252L10.643,110.441H4L9.269,114.338L7.207,120.756L12.705,116.859L17.973,120.756L15.911,114.338L21.18,110.67H14.766L12.705,104.252ZM27.594,159.494L25.532,165.683H18.889L24.158,169.58L22.097,175.769L27.594,171.872L32.863,175.769L30.801,169.58L36.069,165.683H29.656L27.594,159.494ZM67.909,199.836L65.848,206.025H59.205L64.473,209.921L62.412,216.339L67.909,212.443L73.178,216.339L71.116,209.921L76.385,206.025H69.971L67.909,199.836ZM122.885,214.505L120.824,220.694H114.181L119.678,224.591L117.617,230.78L122.885,226.883L128.383,230.78L126.321,224.591L131.59,220.694H124.947L122.885,214.505ZM178.091,8.899L179.923,15.088H186.566L181.298,19.214L183.359,25.403L178.091,21.506L172.593,25.403L174.655,18.985L169.386,15.317H176.029L178.091,8.899ZM218.178,49.241L220.011,55.659H226.654L221.385,59.556L223.447,65.745L218.178,61.848L212.68,65.745L214.742,59.556L209.474,55.659H216.116L218.178,49.241ZM233.296,104.252L235.357,110.441H242L236.503,114.338L238.564,120.756L233.296,116.859L227.798,120.756L229.86,114.338L224.591,110.67H231.234L233.296,104.252ZM218.407,159.494L220.469,165.683H227.112L221.614,169.58L223.676,175.769L218.407,171.872L212.909,175.769L214.971,169.58L209.703,165.683H216.345L218.407,159.494ZM178.091,199.836L180.153,206.025H186.795L181.298,209.921L183.359,216.339L178.091,212.443L172.822,216.339L174.655,209.921L169.386,206.025H176.029L178.091,199.836Z"/> + <path + android:pathData="M122.885,-6L120.824,0.189H114.181L119.678,4.315L117.617,10.504L122.885,6.607L128.383,10.504L126.321,4.085L131.59,0.418H124.947L122.885,-6Z" + android:strokeWidth="2" + android:fillColor="#00000000"> + <aapt:attr name="android:strokeColor"> + <gradient + android:startY="87.5" + android:startX="242" + android:endY="87.5" + android:endX="-10" + android:type="linear"> + <item android:offset="0" android:color="#FF576371"/> + <item android:offset="0.9999" android:color="#3F576371"/> + <item android:offset="1" android:color="#FF616F7E"/> + </gradient> + </aapt:attr> + </path> + </group> + <group> + <clip-path + android:pathData="M0,-10h246v244h-246zM122.885,-6L120.824,0.189H114.181L119.678,4.315L117.617,10.504L122.885,6.607L128.383,10.504L126.321,4.085L131.59,0.418H124.947L122.885,-6ZM67.909,8.899L65.848,15.088H59.205L64.702,19.214L62.641,25.403L67.909,21.506L73.178,25.403L71.116,18.985L76.614,15.317H69.971L67.909,8.899ZM27.823,49.241L25.762,55.659H19.119L24.616,59.556L22.555,65.745L27.823,61.848L33.092,65.745L31.03,59.556L36.528,55.659H29.885L27.823,49.241ZM12.705,104.252L10.643,110.441H4L9.269,114.338L7.207,120.756L12.705,116.859L17.973,120.756L15.911,114.338L21.18,110.67H14.766L12.705,104.252ZM27.594,159.494L25.532,165.683H18.889L24.158,169.58L22.097,175.769L27.594,171.872L32.863,175.769L30.801,169.58L36.069,165.683H29.656L27.594,159.494ZM67.909,199.836L65.848,206.025H59.205L64.473,209.921L62.412,216.339L67.909,212.443L73.178,216.339L71.116,209.921L76.385,206.025H69.971L67.909,199.836ZM122.885,214.505L120.824,220.694H114.181L119.678,224.591L117.617,230.78L122.885,226.883L128.383,230.78L126.321,224.591L131.59,220.694H124.947L122.885,214.505ZM178.091,8.899L179.923,15.088H186.566L181.298,19.214L183.359,25.403L178.091,21.506L172.593,25.403L174.655,18.985L169.386,15.317H176.029L178.091,8.899ZM218.178,49.241L220.011,55.659H226.654L221.385,59.556L223.447,65.745L218.178,61.848L212.68,65.745L214.742,59.556L209.474,55.659H216.116L218.178,49.241ZM233.296,104.252L235.357,110.441H242L236.503,114.338L238.564,120.756L233.296,116.859L227.798,120.756L229.86,114.338L224.591,110.67H231.234L233.296,104.252ZM218.407,159.494L220.469,165.683H227.112L221.614,169.58L223.676,175.769L218.407,171.872L212.909,175.769L214.971,169.58L209.703,165.683H216.345L218.407,159.494ZM178.091,199.836L180.153,206.025H186.795L181.298,209.921L183.359,216.339L178.091,212.443L172.822,216.339L174.655,209.921L169.386,206.025H176.029L178.091,199.836Z"/> + <path + android:pathData="M67.909,8.899L65.848,15.088H59.205L64.702,19.214L62.641,25.403L67.909,21.506L73.178,25.403L71.116,18.985L76.614,15.317H69.971L67.909,8.899Z" + android:strokeWidth="2" + android:fillColor="#00000000"> + <aapt:attr name="android:strokeColor"> + <gradient + android:startY="87.5" + android:startX="242" + android:endY="87.5" + android:endX="-10" + android:type="linear"> + <item android:offset="0" android:color="#FF576371"/> + <item android:offset="0.9999" android:color="#3F576371"/> + <item android:offset="1" android:color="#FF616F7E"/> + </gradient> + </aapt:attr> + </path> + </group> + <group> + <clip-path + android:pathData="M0,-10h246v244h-246zM122.885,-6L120.824,0.189H114.181L119.678,4.315L117.617,10.504L122.885,6.607L128.383,10.504L126.321,4.085L131.59,0.418H124.947L122.885,-6ZM67.909,8.899L65.848,15.088H59.205L64.702,19.214L62.641,25.403L67.909,21.506L73.178,25.403L71.116,18.985L76.614,15.317H69.971L67.909,8.899ZM27.823,49.241L25.762,55.659H19.119L24.616,59.556L22.555,65.745L27.823,61.848L33.092,65.745L31.03,59.556L36.528,55.659H29.885L27.823,49.241ZM12.705,104.252L10.643,110.441H4L9.269,114.338L7.207,120.756L12.705,116.859L17.973,120.756L15.911,114.338L21.18,110.67H14.766L12.705,104.252ZM27.594,159.494L25.532,165.683H18.889L24.158,169.58L22.097,175.769L27.594,171.872L32.863,175.769L30.801,169.58L36.069,165.683H29.656L27.594,159.494ZM67.909,199.836L65.848,206.025H59.205L64.473,209.921L62.412,216.339L67.909,212.443L73.178,216.339L71.116,209.921L76.385,206.025H69.971L67.909,199.836ZM122.885,214.505L120.824,220.694H114.181L119.678,224.591L117.617,230.78L122.885,226.883L128.383,230.78L126.321,224.591L131.59,220.694H124.947L122.885,214.505ZM178.091,8.899L179.923,15.088H186.566L181.298,19.214L183.359,25.403L178.091,21.506L172.593,25.403L174.655,18.985L169.386,15.317H176.029L178.091,8.899ZM218.178,49.241L220.011,55.659H226.654L221.385,59.556L223.447,65.745L218.178,61.848L212.68,65.745L214.742,59.556L209.474,55.659H216.116L218.178,49.241ZM233.296,104.252L235.357,110.441H242L236.503,114.338L238.564,120.756L233.296,116.859L227.798,120.756L229.86,114.338L224.591,110.67H231.234L233.296,104.252ZM218.407,159.494L220.469,165.683H227.112L221.614,169.58L223.676,175.769L218.407,171.872L212.909,175.769L214.971,169.58L209.703,165.683H216.345L218.407,159.494ZM178.091,199.836L180.153,206.025H186.795L181.298,209.921L183.359,216.339L178.091,212.443L172.822,216.339L174.655,209.921L169.386,206.025H176.029L178.091,199.836Z"/> + <path + android:pathData="M27.823,49.241L25.762,55.659H19.119L24.616,59.556L22.555,65.745L27.823,61.848L33.092,65.745L31.03,59.556L36.528,55.659H29.885L27.823,49.241Z" + android:strokeWidth="2" + android:fillColor="#00000000"> + <aapt:attr name="android:strokeColor"> + <gradient + android:startY="87.5" + android:startX="242" + android:endY="87.5" + android:endX="-10" + android:type="linear"> + <item android:offset="0" android:color="#FF576371"/> + <item android:offset="0.9999" android:color="#3F576371"/> + <item android:offset="1" android:color="#FF616F7E"/> + </gradient> + </aapt:attr> + </path> + </group> + <group> + <clip-path + android:pathData="M0,-10h246v244h-246zM122.885,-6L120.824,0.189H114.181L119.678,4.315L117.617,10.504L122.885,6.607L128.383,10.504L126.321,4.085L131.59,0.418H124.947L122.885,-6ZM67.909,8.899L65.848,15.088H59.205L64.702,19.214L62.641,25.403L67.909,21.506L73.178,25.403L71.116,18.985L76.614,15.317H69.971L67.909,8.899ZM27.823,49.241L25.762,55.659H19.119L24.616,59.556L22.555,65.745L27.823,61.848L33.092,65.745L31.03,59.556L36.528,55.659H29.885L27.823,49.241ZM12.705,104.252L10.643,110.441H4L9.269,114.338L7.207,120.756L12.705,116.859L17.973,120.756L15.911,114.338L21.18,110.67H14.766L12.705,104.252ZM27.594,159.494L25.532,165.683H18.889L24.158,169.58L22.097,175.769L27.594,171.872L32.863,175.769L30.801,169.58L36.069,165.683H29.656L27.594,159.494ZM67.909,199.836L65.848,206.025H59.205L64.473,209.921L62.412,216.339L67.909,212.443L73.178,216.339L71.116,209.921L76.385,206.025H69.971L67.909,199.836ZM122.885,214.505L120.824,220.694H114.181L119.678,224.591L117.617,230.78L122.885,226.883L128.383,230.78L126.321,224.591L131.59,220.694H124.947L122.885,214.505ZM178.091,8.899L179.923,15.088H186.566L181.298,19.214L183.359,25.403L178.091,21.506L172.593,25.403L174.655,18.985L169.386,15.317H176.029L178.091,8.899ZM218.178,49.241L220.011,55.659H226.654L221.385,59.556L223.447,65.745L218.178,61.848L212.68,65.745L214.742,59.556L209.474,55.659H216.116L218.178,49.241ZM233.296,104.252L235.357,110.441H242L236.503,114.338L238.564,120.756L233.296,116.859L227.798,120.756L229.86,114.338L224.591,110.67H231.234L233.296,104.252ZM218.407,159.494L220.469,165.683H227.112L221.614,169.58L223.676,175.769L218.407,171.872L212.909,175.769L214.971,169.58L209.703,165.683H216.345L218.407,159.494ZM178.091,199.836L180.153,206.025H186.795L181.298,209.921L183.359,216.339L178.091,212.443L172.822,216.339L174.655,209.921L169.386,206.025H176.029L178.091,199.836Z"/> + <path + android:pathData="M12.705,104.252L10.643,110.441H4L9.269,114.338L7.207,120.756L12.705,116.859L17.973,120.756L15.911,114.338L21.18,110.67H14.766L12.705,104.252Z" + android:strokeWidth="2" + android:fillColor="#00000000"> + <aapt:attr name="android:strokeColor"> + <gradient + android:startY="87.5" + android:startX="242" + android:endY="87.5" + android:endX="-10" + android:type="linear"> + <item android:offset="0" android:color="#FF576371"/> + <item android:offset="0.9999" android:color="#3F576371"/> + <item android:offset="1" android:color="#FF616F7E"/> + </gradient> + </aapt:attr> + </path> + </group> + <group> + <clip-path + android:pathData="M0,-10h246v244h-246zM122.885,-6L120.824,0.189H114.181L119.678,4.315L117.617,10.504L122.885,6.607L128.383,10.504L126.321,4.085L131.59,0.418H124.947L122.885,-6ZM67.909,8.899L65.848,15.088H59.205L64.702,19.214L62.641,25.403L67.909,21.506L73.178,25.403L71.116,18.985L76.614,15.317H69.971L67.909,8.899ZM27.823,49.241L25.762,55.659H19.119L24.616,59.556L22.555,65.745L27.823,61.848L33.092,65.745L31.03,59.556L36.528,55.659H29.885L27.823,49.241ZM12.705,104.252L10.643,110.441H4L9.269,114.338L7.207,120.756L12.705,116.859L17.973,120.756L15.911,114.338L21.18,110.67H14.766L12.705,104.252ZM27.594,159.494L25.532,165.683H18.889L24.158,169.58L22.097,175.769L27.594,171.872L32.863,175.769L30.801,169.58L36.069,165.683H29.656L27.594,159.494ZM67.909,199.836L65.848,206.025H59.205L64.473,209.921L62.412,216.339L67.909,212.443L73.178,216.339L71.116,209.921L76.385,206.025H69.971L67.909,199.836ZM122.885,214.505L120.824,220.694H114.181L119.678,224.591L117.617,230.78L122.885,226.883L128.383,230.78L126.321,224.591L131.59,220.694H124.947L122.885,214.505ZM178.091,8.899L179.923,15.088H186.566L181.298,19.214L183.359,25.403L178.091,21.506L172.593,25.403L174.655,18.985L169.386,15.317H176.029L178.091,8.899ZM218.178,49.241L220.011,55.659H226.654L221.385,59.556L223.447,65.745L218.178,61.848L212.68,65.745L214.742,59.556L209.474,55.659H216.116L218.178,49.241ZM233.296,104.252L235.357,110.441H242L236.503,114.338L238.564,120.756L233.296,116.859L227.798,120.756L229.86,114.338L224.591,110.67H231.234L233.296,104.252ZM218.407,159.494L220.469,165.683H227.112L221.614,169.58L223.676,175.769L218.407,171.872L212.909,175.769L214.971,169.58L209.703,165.683H216.345L218.407,159.494ZM178.091,199.836L180.153,206.025H186.795L181.298,209.921L183.359,216.339L178.091,212.443L172.822,216.339L174.655,209.921L169.386,206.025H176.029L178.091,199.836Z"/> + <path + android:pathData="M27.594,159.494L25.532,165.683H18.889L24.158,169.58L22.097,175.769L27.594,171.872L32.863,175.769L30.801,169.58L36.069,165.683H29.656L27.594,159.494Z" + android:strokeWidth="2" + android:fillColor="#00000000"> + <aapt:attr name="android:strokeColor"> + <gradient + android:startY="87.5" + android:startX="242" + android:endY="87.5" + android:endX="-10" + android:type="linear"> + <item android:offset="0" android:color="#FF576371"/> + <item android:offset="0.9999" android:color="#3F576371"/> + <item android:offset="1" android:color="#FF616F7E"/> + </gradient> + </aapt:attr> + </path> + </group> + <group> + <clip-path + android:pathData="M0,-10h246v244h-246zM122.885,-6L120.824,0.189H114.181L119.678,4.315L117.617,10.504L122.885,6.607L128.383,10.504L126.321,4.085L131.59,0.418H124.947L122.885,-6ZM67.909,8.899L65.848,15.088H59.205L64.702,19.214L62.641,25.403L67.909,21.506L73.178,25.403L71.116,18.985L76.614,15.317H69.971L67.909,8.899ZM27.823,49.241L25.762,55.659H19.119L24.616,59.556L22.555,65.745L27.823,61.848L33.092,65.745L31.03,59.556L36.528,55.659H29.885L27.823,49.241ZM12.705,104.252L10.643,110.441H4L9.269,114.338L7.207,120.756L12.705,116.859L17.973,120.756L15.911,114.338L21.18,110.67H14.766L12.705,104.252ZM27.594,159.494L25.532,165.683H18.889L24.158,169.58L22.097,175.769L27.594,171.872L32.863,175.769L30.801,169.58L36.069,165.683H29.656L27.594,159.494ZM67.909,199.836L65.848,206.025H59.205L64.473,209.921L62.412,216.339L67.909,212.443L73.178,216.339L71.116,209.921L76.385,206.025H69.971L67.909,199.836ZM122.885,214.505L120.824,220.694H114.181L119.678,224.591L117.617,230.78L122.885,226.883L128.383,230.78L126.321,224.591L131.59,220.694H124.947L122.885,214.505ZM178.091,8.899L179.923,15.088H186.566L181.298,19.214L183.359,25.403L178.091,21.506L172.593,25.403L174.655,18.985L169.386,15.317H176.029L178.091,8.899ZM218.178,49.241L220.011,55.659H226.654L221.385,59.556L223.447,65.745L218.178,61.848L212.68,65.745L214.742,59.556L209.474,55.659H216.116L218.178,49.241ZM233.296,104.252L235.357,110.441H242L236.503,114.338L238.564,120.756L233.296,116.859L227.798,120.756L229.86,114.338L224.591,110.67H231.234L233.296,104.252ZM218.407,159.494L220.469,165.683H227.112L221.614,169.58L223.676,175.769L218.407,171.872L212.909,175.769L214.971,169.58L209.703,165.683H216.345L218.407,159.494ZM178.091,199.836L180.153,206.025H186.795L181.298,209.921L183.359,216.339L178.091,212.443L172.822,216.339L174.655,209.921L169.386,206.025H176.029L178.091,199.836Z"/> + <path + android:pathData="M67.909,199.836L65.848,206.025H59.205L64.473,209.921L62.412,216.339L67.909,212.443L73.178,216.339L71.116,209.921L76.385,206.025H69.971L67.909,199.836Z" + android:strokeWidth="2" + android:fillColor="#00000000"> + <aapt:attr name="android:strokeColor"> + <gradient + android:startY="87.5" + android:startX="242" + android:endY="87.5" + android:endX="-10" + android:type="linear"> + <item android:offset="0" android:color="#FF576371"/> + <item android:offset="0.9999" android:color="#3F576371"/> + <item android:offset="1" android:color="#FF616F7E"/> + </gradient> + </aapt:attr> + </path> + </group> + <group> + <clip-path + android:pathData="M0,-10h246v244h-246zM122.885,-6L120.824,0.189H114.181L119.678,4.315L117.617,10.504L122.885,6.607L128.383,10.504L126.321,4.085L131.59,0.418H124.947L122.885,-6ZM67.909,8.899L65.848,15.088H59.205L64.702,19.214L62.641,25.403L67.909,21.506L73.178,25.403L71.116,18.985L76.614,15.317H69.971L67.909,8.899ZM27.823,49.241L25.762,55.659H19.119L24.616,59.556L22.555,65.745L27.823,61.848L33.092,65.745L31.03,59.556L36.528,55.659H29.885L27.823,49.241ZM12.705,104.252L10.643,110.441H4L9.269,114.338L7.207,120.756L12.705,116.859L17.973,120.756L15.911,114.338L21.18,110.67H14.766L12.705,104.252ZM27.594,159.494L25.532,165.683H18.889L24.158,169.58L22.097,175.769L27.594,171.872L32.863,175.769L30.801,169.58L36.069,165.683H29.656L27.594,159.494ZM67.909,199.836L65.848,206.025H59.205L64.473,209.921L62.412,216.339L67.909,212.443L73.178,216.339L71.116,209.921L76.385,206.025H69.971L67.909,199.836ZM122.885,214.505L120.824,220.694H114.181L119.678,224.591L117.617,230.78L122.885,226.883L128.383,230.78L126.321,224.591L131.59,220.694H124.947L122.885,214.505ZM178.091,8.899L179.923,15.088H186.566L181.298,19.214L183.359,25.403L178.091,21.506L172.593,25.403L174.655,18.985L169.386,15.317H176.029L178.091,8.899ZM218.178,49.241L220.011,55.659H226.654L221.385,59.556L223.447,65.745L218.178,61.848L212.68,65.745L214.742,59.556L209.474,55.659H216.116L218.178,49.241ZM233.296,104.252L235.357,110.441H242L236.503,114.338L238.564,120.756L233.296,116.859L227.798,120.756L229.86,114.338L224.591,110.67H231.234L233.296,104.252ZM218.407,159.494L220.469,165.683H227.112L221.614,169.58L223.676,175.769L218.407,171.872L212.909,175.769L214.971,169.58L209.703,165.683H216.345L218.407,159.494ZM178.091,199.836L180.153,206.025H186.795L181.298,209.921L183.359,216.339L178.091,212.443L172.822,216.339L174.655,209.921L169.386,206.025H176.029L178.091,199.836Z"/> + <path + android:pathData="M122.885,214.505L120.824,220.694H114.181L119.678,224.591L117.617,230.78L122.885,226.883L128.383,230.78L126.321,224.591L131.59,220.694H124.947L122.885,214.505Z" + android:strokeWidth="2" + android:fillColor="#00000000"> + <aapt:attr name="android:strokeColor"> + <gradient + android:startY="87.5" + android:startX="242" + android:endY="87.5" + android:endX="-10" + android:type="linear"> + <item android:offset="0" android:color="#FF576371"/> + <item android:offset="0.9999" android:color="#3F576371"/> + <item android:offset="1" android:color="#FF616F7E"/> + </gradient> + </aapt:attr> + </path> + </group> + <group> + <clip-path + android:pathData="M0,-10h246v244h-246zM122.885,-6L120.824,0.189H114.181L119.678,4.315L117.617,10.504L122.885,6.607L128.383,10.504L126.321,4.085L131.59,0.418H124.947L122.885,-6ZM67.909,8.899L65.848,15.088H59.205L64.702,19.214L62.641,25.403L67.909,21.506L73.178,25.403L71.116,18.985L76.614,15.317H69.971L67.909,8.899ZM27.823,49.241L25.762,55.659H19.119L24.616,59.556L22.555,65.745L27.823,61.848L33.092,65.745L31.03,59.556L36.528,55.659H29.885L27.823,49.241ZM12.705,104.252L10.643,110.441H4L9.269,114.338L7.207,120.756L12.705,116.859L17.973,120.756L15.911,114.338L21.18,110.67H14.766L12.705,104.252ZM27.594,159.494L25.532,165.683H18.889L24.158,169.58L22.097,175.769L27.594,171.872L32.863,175.769L30.801,169.58L36.069,165.683H29.656L27.594,159.494ZM67.909,199.836L65.848,206.025H59.205L64.473,209.921L62.412,216.339L67.909,212.443L73.178,216.339L71.116,209.921L76.385,206.025H69.971L67.909,199.836ZM122.885,214.505L120.824,220.694H114.181L119.678,224.591L117.617,230.78L122.885,226.883L128.383,230.78L126.321,224.591L131.59,220.694H124.947L122.885,214.505ZM178.091,8.899L179.923,15.088H186.566L181.298,19.214L183.359,25.403L178.091,21.506L172.593,25.403L174.655,18.985L169.386,15.317H176.029L178.091,8.899ZM218.178,49.241L220.011,55.659H226.654L221.385,59.556L223.447,65.745L218.178,61.848L212.68,65.745L214.742,59.556L209.474,55.659H216.116L218.178,49.241ZM233.296,104.252L235.357,110.441H242L236.503,114.338L238.564,120.756L233.296,116.859L227.798,120.756L229.86,114.338L224.591,110.67H231.234L233.296,104.252ZM218.407,159.494L220.469,165.683H227.112L221.614,169.58L223.676,175.769L218.407,171.872L212.909,175.769L214.971,169.58L209.703,165.683H216.345L218.407,159.494ZM178.091,199.836L180.153,206.025H186.795L181.298,209.921L183.359,216.339L178.091,212.443L172.822,216.339L174.655,209.921L169.386,206.025H176.029L178.091,199.836Z"/> + <path + android:pathData="M178.091,8.899L179.923,15.088H186.566L181.298,19.214L183.359,25.403L178.091,21.506L172.593,25.403L174.655,18.985L169.386,15.317H176.029L178.091,8.899Z" + android:strokeWidth="2" + android:fillColor="#00000000"> + <aapt:attr name="android:strokeColor"> + <gradient + android:startY="87.5" + android:startX="242" + android:endY="87.5" + android:endX="-10" + android:type="linear"> + <item android:offset="0" android:color="#FF576371"/> + <item android:offset="0.9999" android:color="#3F576371"/> + <item android:offset="1" android:color="#FF616F7E"/> + </gradient> + </aapt:attr> + </path> + </group> + <group> + <clip-path + android:pathData="M0,-10h246v244h-246zM122.885,-6L120.824,0.189H114.181L119.678,4.315L117.617,10.504L122.885,6.607L128.383,10.504L126.321,4.085L131.59,0.418H124.947L122.885,-6ZM67.909,8.899L65.848,15.088H59.205L64.702,19.214L62.641,25.403L67.909,21.506L73.178,25.403L71.116,18.985L76.614,15.317H69.971L67.909,8.899ZM27.823,49.241L25.762,55.659H19.119L24.616,59.556L22.555,65.745L27.823,61.848L33.092,65.745L31.03,59.556L36.528,55.659H29.885L27.823,49.241ZM12.705,104.252L10.643,110.441H4L9.269,114.338L7.207,120.756L12.705,116.859L17.973,120.756L15.911,114.338L21.18,110.67H14.766L12.705,104.252ZM27.594,159.494L25.532,165.683H18.889L24.158,169.58L22.097,175.769L27.594,171.872L32.863,175.769L30.801,169.58L36.069,165.683H29.656L27.594,159.494ZM67.909,199.836L65.848,206.025H59.205L64.473,209.921L62.412,216.339L67.909,212.443L73.178,216.339L71.116,209.921L76.385,206.025H69.971L67.909,199.836ZM122.885,214.505L120.824,220.694H114.181L119.678,224.591L117.617,230.78L122.885,226.883L128.383,230.78L126.321,224.591L131.59,220.694H124.947L122.885,214.505ZM178.091,8.899L179.923,15.088H186.566L181.298,19.214L183.359,25.403L178.091,21.506L172.593,25.403L174.655,18.985L169.386,15.317H176.029L178.091,8.899ZM218.178,49.241L220.011,55.659H226.654L221.385,59.556L223.447,65.745L218.178,61.848L212.68,65.745L214.742,59.556L209.474,55.659H216.116L218.178,49.241ZM233.296,104.252L235.357,110.441H242L236.503,114.338L238.564,120.756L233.296,116.859L227.798,120.756L229.86,114.338L224.591,110.67H231.234L233.296,104.252ZM218.407,159.494L220.469,165.683H227.112L221.614,169.58L223.676,175.769L218.407,171.872L212.909,175.769L214.971,169.58L209.703,165.683H216.345L218.407,159.494ZM178.091,199.836L180.153,206.025H186.795L181.298,209.921L183.359,216.339L178.091,212.443L172.822,216.339L174.655,209.921L169.386,206.025H176.029L178.091,199.836Z"/> + <path + android:pathData="M218.178,49.241L220.011,55.659H226.654L221.385,59.556L223.447,65.745L218.178,61.848L212.68,65.745L214.742,59.556L209.474,55.659H216.116L218.178,49.241Z" + android:strokeWidth="2" + android:fillColor="#00000000"> + <aapt:attr name="android:strokeColor"> + <gradient + android:startY="87.5" + android:startX="242" + android:endY="87.5" + android:endX="-10" + android:type="linear"> + <item android:offset="0" android:color="#FF576371"/> + <item android:offset="0.9999" android:color="#3F576371"/> + <item android:offset="1" android:color="#FF616F7E"/> + </gradient> + </aapt:attr> + </path> + </group> + <group> + <clip-path + android:pathData="M0,-10h246v244h-246zM122.885,-6L120.824,0.189H114.181L119.678,4.315L117.617,10.504L122.885,6.607L128.383,10.504L126.321,4.085L131.59,0.418H124.947L122.885,-6ZM67.909,8.899L65.848,15.088H59.205L64.702,19.214L62.641,25.403L67.909,21.506L73.178,25.403L71.116,18.985L76.614,15.317H69.971L67.909,8.899ZM27.823,49.241L25.762,55.659H19.119L24.616,59.556L22.555,65.745L27.823,61.848L33.092,65.745L31.03,59.556L36.528,55.659H29.885L27.823,49.241ZM12.705,104.252L10.643,110.441H4L9.269,114.338L7.207,120.756L12.705,116.859L17.973,120.756L15.911,114.338L21.18,110.67H14.766L12.705,104.252ZM27.594,159.494L25.532,165.683H18.889L24.158,169.58L22.097,175.769L27.594,171.872L32.863,175.769L30.801,169.58L36.069,165.683H29.656L27.594,159.494ZM67.909,199.836L65.848,206.025H59.205L64.473,209.921L62.412,216.339L67.909,212.443L73.178,216.339L71.116,209.921L76.385,206.025H69.971L67.909,199.836ZM122.885,214.505L120.824,220.694H114.181L119.678,224.591L117.617,230.78L122.885,226.883L128.383,230.78L126.321,224.591L131.59,220.694H124.947L122.885,214.505ZM178.091,8.899L179.923,15.088H186.566L181.298,19.214L183.359,25.403L178.091,21.506L172.593,25.403L174.655,18.985L169.386,15.317H176.029L178.091,8.899ZM218.178,49.241L220.011,55.659H226.654L221.385,59.556L223.447,65.745L218.178,61.848L212.68,65.745L214.742,59.556L209.474,55.659H216.116L218.178,49.241ZM233.296,104.252L235.357,110.441H242L236.503,114.338L238.564,120.756L233.296,116.859L227.798,120.756L229.86,114.338L224.591,110.67H231.234L233.296,104.252ZM218.407,159.494L220.469,165.683H227.112L221.614,169.58L223.676,175.769L218.407,171.872L212.909,175.769L214.971,169.58L209.703,165.683H216.345L218.407,159.494ZM178.091,199.836L180.153,206.025H186.795L181.298,209.921L183.359,216.339L178.091,212.443L172.822,216.339L174.655,209.921L169.386,206.025H176.029L178.091,199.836Z"/> + <path + android:pathData="M233.296,104.252L235.357,110.441H242L236.503,114.338L238.564,120.756L233.296,116.859L227.798,120.756L229.86,114.338L224.591,110.67H231.234L233.296,104.252Z" + android:strokeWidth="2" + android:fillColor="#00000000"> + <aapt:attr name="android:strokeColor"> + <gradient + android:startY="87.5" + android:startX="242" + android:endY="87.5" + android:endX="-10" + android:type="linear"> + <item android:offset="0" android:color="#FF576371"/> + <item android:offset="0.9999" android:color="#3F576371"/> + <item android:offset="1" android:color="#FF616F7E"/> + </gradient> + </aapt:attr> + </path> + </group> + <group> + <clip-path + android:pathData="M0,-10h246v244h-246zM122.885,-6L120.824,0.189H114.181L119.678,4.315L117.617,10.504L122.885,6.607L128.383,10.504L126.321,4.085L131.59,0.418H124.947L122.885,-6ZM67.909,8.899L65.848,15.088H59.205L64.702,19.214L62.641,25.403L67.909,21.506L73.178,25.403L71.116,18.985L76.614,15.317H69.971L67.909,8.899ZM27.823,49.241L25.762,55.659H19.119L24.616,59.556L22.555,65.745L27.823,61.848L33.092,65.745L31.03,59.556L36.528,55.659H29.885L27.823,49.241ZM12.705,104.252L10.643,110.441H4L9.269,114.338L7.207,120.756L12.705,116.859L17.973,120.756L15.911,114.338L21.18,110.67H14.766L12.705,104.252ZM27.594,159.494L25.532,165.683H18.889L24.158,169.58L22.097,175.769L27.594,171.872L32.863,175.769L30.801,169.58L36.069,165.683H29.656L27.594,159.494ZM67.909,199.836L65.848,206.025H59.205L64.473,209.921L62.412,216.339L67.909,212.443L73.178,216.339L71.116,209.921L76.385,206.025H69.971L67.909,199.836ZM122.885,214.505L120.824,220.694H114.181L119.678,224.591L117.617,230.78L122.885,226.883L128.383,230.78L126.321,224.591L131.59,220.694H124.947L122.885,214.505ZM178.091,8.899L179.923,15.088H186.566L181.298,19.214L183.359,25.403L178.091,21.506L172.593,25.403L174.655,18.985L169.386,15.317H176.029L178.091,8.899ZM218.178,49.241L220.011,55.659H226.654L221.385,59.556L223.447,65.745L218.178,61.848L212.68,65.745L214.742,59.556L209.474,55.659H216.116L218.178,49.241ZM233.296,104.252L235.357,110.441H242L236.503,114.338L238.564,120.756L233.296,116.859L227.798,120.756L229.86,114.338L224.591,110.67H231.234L233.296,104.252ZM218.407,159.494L220.469,165.683H227.112L221.614,169.58L223.676,175.769L218.407,171.872L212.909,175.769L214.971,169.58L209.703,165.683H216.345L218.407,159.494ZM178.091,199.836L180.153,206.025H186.795L181.298,209.921L183.359,216.339L178.091,212.443L172.822,216.339L174.655,209.921L169.386,206.025H176.029L178.091,199.836Z"/> + <path + android:pathData="M218.407,159.494L220.469,165.683H227.112L221.614,169.58L223.676,175.769L218.407,171.872L212.909,175.769L214.971,169.58L209.703,165.683H216.345L218.407,159.494Z" + android:strokeWidth="2" + android:fillColor="#00000000"> + <aapt:attr name="android:strokeColor"> + <gradient + android:startY="87.5" + android:startX="242" + android:endY="87.5" + android:endX="-10" + android:type="linear"> + <item android:offset="0" android:color="#FF576371"/> + <item android:offset="0.9999" android:color="#3F576371"/> + <item android:offset="1" android:color="#FF616F7E"/> + </gradient> + </aapt:attr> + </path> + </group> + <group> + <clip-path + android:pathData="M0,-10h246v244h-246zM122.885,-6L120.824,0.189H114.181L119.678,4.315L117.617,10.504L122.885,6.607L128.383,10.504L126.321,4.085L131.59,0.418H124.947L122.885,-6ZM67.909,8.899L65.848,15.088H59.205L64.702,19.214L62.641,25.403L67.909,21.506L73.178,25.403L71.116,18.985L76.614,15.317H69.971L67.909,8.899ZM27.823,49.241L25.762,55.659H19.119L24.616,59.556L22.555,65.745L27.823,61.848L33.092,65.745L31.03,59.556L36.528,55.659H29.885L27.823,49.241ZM12.705,104.252L10.643,110.441H4L9.269,114.338L7.207,120.756L12.705,116.859L17.973,120.756L15.911,114.338L21.18,110.67H14.766L12.705,104.252ZM27.594,159.494L25.532,165.683H18.889L24.158,169.58L22.097,175.769L27.594,171.872L32.863,175.769L30.801,169.58L36.069,165.683H29.656L27.594,159.494ZM67.909,199.836L65.848,206.025H59.205L64.473,209.921L62.412,216.339L67.909,212.443L73.178,216.339L71.116,209.921L76.385,206.025H69.971L67.909,199.836ZM122.885,214.505L120.824,220.694H114.181L119.678,224.591L117.617,230.78L122.885,226.883L128.383,230.78L126.321,224.591L131.59,220.694H124.947L122.885,214.505ZM178.091,8.899L179.923,15.088H186.566L181.298,19.214L183.359,25.403L178.091,21.506L172.593,25.403L174.655,18.985L169.386,15.317H176.029L178.091,8.899ZM218.178,49.241L220.011,55.659H226.654L221.385,59.556L223.447,65.745L218.178,61.848L212.68,65.745L214.742,59.556L209.474,55.659H216.116L218.178,49.241ZM233.296,104.252L235.357,110.441H242L236.503,114.338L238.564,120.756L233.296,116.859L227.798,120.756L229.86,114.338L224.591,110.67H231.234L233.296,104.252ZM218.407,159.494L220.469,165.683H227.112L221.614,169.58L223.676,175.769L218.407,171.872L212.909,175.769L214.971,169.58L209.703,165.683H216.345L218.407,159.494ZM178.091,199.836L180.153,206.025H186.795L181.298,209.921L183.359,216.339L178.091,212.443L172.822,216.339L174.655,209.921L169.386,206.025H176.029L178.091,199.836Z"/> + <path + android:pathData="M178.091,199.836L180.153,206.025H186.795L181.298,209.921L183.359,216.339L178.091,212.443L172.822,216.339L174.655,209.921L169.386,206.025H176.029L178.091,199.836Z" + android:strokeWidth="2" + android:fillColor="#00000000"> + <aapt:attr name="android:strokeColor"> + <gradient + android:startY="87.5" + android:startX="242" + android:endY="87.5" + android:endX="-10" + android:type="linear"> + <item android:offset="0" android:color="#FF576371"/> + <item android:offset="0.9999" android:color="#3F576371"/> + <item android:offset="1" android:color="#FF616F7E"/> + </gradient> + </aapt:attr> + </path> + </group> +</vector> diff --git a/Corona-Warn-App/src/main/res/layout/fragment_covid_certificate_details.xml b/Corona-Warn-App/src/main/res/layout/fragment_covid_certificate_details.xml index 17c546e57..6844063a3 100644 --- a/Corona-Warn-App/src/main/res/layout/fragment_covid_certificate_details.xml +++ b/Corona-Warn-App/src/main/res/layout/fragment_covid_certificate_details.xml @@ -28,7 +28,16 @@ android:layout_height="match_parent" android:importantForAccessibility="no" app:layout_collapseMode="parallax" - app:srcCompat="@drawable/greencertificate_gradient" /> + app:srcCompat="@drawable/certificate_complete_gradient" /> + + <ImageView + android:id="@+id/europa_image" + android:layout_width="match_parent" + android:layout_height="250dp" + android:importantForAccessibility="no" + android:layout_marginStart="50dp" + app:layout_collapseMode="parallax" + app:srcCompat="@drawable/ic_eu_stars_blue" /> <LinearLayout android:layout_width="match_parent" @@ -304,11 +313,10 @@ android:layout_marginTop="4dp" tools:text="05930482748454836478695764787840" /> - </LinearLayout> <LinearLayout - style="@style/Card.GreenCertificate" + style="@style/Card.Vaccination" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginHorizontal="24dp" @@ -321,7 +329,7 @@ style="@style/body2" android:layout_width="match_parent" android:layout_height="wrap_content" - android:text="@string/green_certificate_attribute_certificate_travel_notice_german" /> + android:text="@string/vaccination_certificate_attribute_certificate_travel_notice_german" /> <TextView android:id="@+id/travel_notice_english" @@ -329,8 +337,9 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="24dp" - android:text="@string/green_certificate_attribute_certificate_travel_notice_english" /> + android:text="@string/vaccination_certificate_attribute_certificate_travel_notice_english" /> </LinearLayout> + </LinearLayout> </androidx.core.widget.NestedScrollView> 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 8a27ab3a8..dc7e72156 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 @@ -28,7 +28,16 @@ android:layout_height="match_parent" android:importantForAccessibility="no" app:layout_collapseMode="parallax" - app:srcCompat="@drawable/vaccination_compelete_gradient" /> + app:srcCompat="@drawable/certificate_complete_gradient" /> + + <ImageView + android:id="@+id/europa_image" + android:layout_width="match_parent" + android:layout_height="250dp" + android:importantForAccessibility="no" + android:layout_marginStart="50dp" + app:layout_collapseMode="parallax" + app:srcCompat="@drawable/ic_eu_stars_blue" /> <LinearLayout android:layout_width="match_parent" @@ -47,7 +56,7 @@ android:textColor="@android:color/white" android:textSize="20sp" android:textStyle="bold" - tools:text="Impfung 1 von 2" /> + android:text="@string/vaccination_certificate_title" /> <TextView android:id="@+id/subtitle" @@ -57,7 +66,7 @@ android:layout_marginHorizontal="24dp" android:layout_marginBottom="8dp" android:gravity="center" - android:text="@string/vaccination_details_subtitle" + android:text="@string/vaccination_certificate_subtitle" android:textColor="@android:color/white" android:textSize="18sp" /> @@ -69,8 +78,11 @@ android:layout_height="?attr/actionBarSize" app:layout_collapseMode="pin" app:layout_scrollFlags="scroll|enterAlways" + app:navigationIconTint="@android:color/white" + app:menu="@menu/menu_covid_certificate_detail" + android:theme="@style/Theme.MaterialComponents" app:navigationIcon="@drawable/ic_back" - app:navigationIconTint="@android:color/white"> + app:popupTheme="@style/Theme.MaterialComponents.Light"> <LinearLayout android:id="@+id/header_text_layout" @@ -81,7 +93,7 @@ <ImageView android:layout_width="match_parent" android:layout_height="wrap_content" - android:layout_marginEnd="72dp" + android:layout_marginEnd="32dp" android:importantForAccessibility="no" app:srcCompat="@drawable/ic_cwa_logo_white" /> </LinearLayout> @@ -120,6 +132,12 @@ android:orientation="vertical" android:padding="16dp"> + <TextView + style="@style/body1Medium" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:text="@string/vaccination_certificate_attribute_name" /> + <TextView android:id="@+id/name" style="@style/body1" @@ -128,119 +146,182 @@ tools:text="Andrea Schneider" /> <TextView - android:id="@+id/birth_date" - style="@style/body2Medium" + style="@style/body1Medium" android:layout_width="match_parent" android:layout_height="wrap_content" - android:layout_marginTop="4dp" - tools:text="geboren 18.04.1943" /> + android:layout_marginTop="24dp" + android:text="@string/vaccination_certificate_attribute_date_of_birth" /> <TextView + android:id="@+id/date_of_birth" style="@style/body1" android:layout_width="match_parent" android:layout_height="wrap_content" + android:layout_marginTop="4dp" + tools:text="1943-02-23" /> + + <TextView + style="@style/body1Medium" + android:layout_width="match_parent" + android:layout_height="wrap_content" android:layout_marginTop="24dp" - android:text="@string/vaccination_details_certificate_date" /> + android:text="@string/vaccination_certificate_attribute_disease_type" /> <TextView - android:id="@+id/vaccinated_at" - style="@style/body2Medium" + android:id="@+id/disease_type" + style="@style/body1" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="4dp" - tools:text="12.04.2021" /> + tools:text="" /> <TextView - style="@style/body1" + style="@style/body1Medium" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="24dp" - android:text="@string/vaccination_details_vaccine_name" /> + android:text="@string/vaccination_certificate_attribute_vaccine_name" /> <TextView android:id="@+id/vaccine_name" - style="@style/body2Medium" + style="@style/body1" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="4dp" - tools:text="Comirnaty (mRNA)" /> + tools:text="Comirnaty" /> <TextView + style="@style/body1Medium" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_marginTop="24dp" + android:text="@string/vaccination_certificate_attribute_vaccine_type" /> + + <TextView + android:id="@+id/vaccine_type" style="@style/body1" android:layout_width="match_parent" android:layout_height="wrap_content" + android:layout_marginTop="4dp" + tools:text="mRNA" /> + + <TextView + style="@style/body1Medium" + android:layout_width="match_parent" + android:layout_height="wrap_content" android:layout_marginTop="24dp" - android:text="@string/vaccination_details_vaccine_manufacturer" /> + android:text="@string/vaccination_certificate_attribute_manufacturer" /> <TextView android:id="@+id/vaccine_manufacturer" - style="@style/body2Medium" + style="@style/body1" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="4dp" tools:text="BioNTech" /> <TextView - style="@style/body1" + style="@style/body1Medium" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="24dp" - android:text="@string/vaccination_details_vaccine_medical_product_name" /> + android:text="@string/vaccination_certificate_attribute_vaccination_number" /> <TextView - android:id="@+id/vaccine_type_name" - style="@style/body2Medium" + android:id="@+id/vaccination_number" + style="@style/body1" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="4dp" - tools:text="mRNA" /> + tools:text="2 of 2" /> <TextView - style="@style/body1" + style="@style/body1Medium" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="24dp" - android:text="@string/vaccination_details_certificate_issuer" /> + android:text="@string/vaccination_certificate_attribute_vaccination_date" /> <TextView - android:id="@+id/certificate_issuer" - style="@style/body2Medium" + android:id="@+id/vaccination_date" + style="@style/body1" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="4dp" - tools:text="Landratsamt Potsdam" /> + tools:text="2021-05-23" /> <TextView - style="@style/body1" + style="@style/body1Medium" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="24dp" - android:text="@string/vaccination_details_certificate_country" /> + android:text="@string/vaccination_certificate_attribute_certificate_country" /> <TextView android:id="@+id/certificate_country" - style="@style/body2Medium" + style="@style/body1" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="4dp" - tools:text="Deutschland" /> + tools:text="Germany" /> + + <TextView + style="@style/body1Medium" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_marginTop="24dp" + android:text="@string/vaccination_certificate_attribute_certificate_issuer" /> <TextView + android:id="@+id/certificate_issuer" style="@style/body1" android:layout_width="match_parent" android:layout_height="wrap_content" + android:layout_marginTop="4dp" + tools:text="RKI" /> + + <TextView + style="@style/body1Medium" + android:layout_width="match_parent" + android:layout_height="wrap_content" android:layout_marginTop="24dp" - android:text="@string/vaccination_details_certificate_id" /> + android:text="@string/vaccination_certificate_attribute_certificate_id" /> <TextView android:id="@+id/certificate_id" - style="@style/body2Medium" + style="@style/body1" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="4dp" tools:text="05930482748454836478695764787840" /> </LinearLayout> + + <LinearLayout + style="@style/Card.Vaccination" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_marginHorizontal="24dp" + android:layout_marginTop="8dp" + android:orientation="vertical" + android:padding="16dp"> + + <TextView + android:id="@+id/travel_notice_german" + style="@style/body2" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:text="@string/vaccination_certificate_attribute_certificate_travel_notice_german" /> + + <TextView + android:id="@+id/travel_notice_english" + style="@style/body2" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_marginTop="24dp" + android:text="@string/vaccination_certificate_attribute_certificate_travel_notice_english" /> + </LinearLayout> + </LinearLayout> </androidx.core.widget.NestedScrollView> diff --git a/Corona-Warn-App/src/main/res/layout/include_certificate_qrcode_card.xml b/Corona-Warn-App/src/main/res/layout/include_certificate_qrcode_card.xml index 1d7080b7f..2cae3777f 100644 --- a/Corona-Warn-App/src/main/res/layout/include_certificate_qrcode_card.xml +++ b/Corona-Warn-App/src/main/res/layout/include_certificate_qrcode_card.xml @@ -33,28 +33,4 @@ tools:src="@drawable/ic_qrcode" tools:tint="@android:color/black" /> - <TextView - android:id="@+id/title" - style="@style/body2" - android:layout_width="0dp" - android:layout_height="wrap_content" - android:layout_marginTop="12dp" - android:textSize="18sp" - android:textStyle="bold" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintTop_toBottomOf="@id/image" - tools:text="Impfzertifikat 2 von 2" /> - - <TextView - android:id="@id/subtitle" - style="@style/body2" - android:layout_width="0dp" - android:layout_height="wrap_content" - android:layout_marginTop="8dp" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintTop_toBottomOf="@id/title" - tools:text="Geimpft 24.04.21 - gültig bis 24.04.22" /> - </androidx.constraintlayout.widget.ConstraintLayout> diff --git a/Corona-Warn-App/src/main/res/layout/vaccination_home_immune_card.xml b/Corona-Warn-App/src/main/res/layout/vaccination_home_immune_card.xml index 32bfb351b..48d5515dd 100644 --- a/Corona-Warn-App/src/main/res/layout/vaccination_home_immune_card.xml +++ b/Corona-Warn-App/src/main/res/layout/vaccination_home_immune_card.xml @@ -4,7 +4,7 @@ xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="wrap_content" - android:background="@drawable/vaccination_compelete_gradient" + android:background="@drawable/certificate_complete_gradient" android:minHeight="200dp" tools:ignore="UnusedAttribute"> diff --git a/Corona-Warn-App/src/main/res/values-de/vaccination_strings.xml b/Corona-Warn-App/src/main/res/values-de/vaccination_strings.xml index ee4c66ce0..fd502b684 100644 --- a/Corona-Warn-App/src/main/res/values-de/vaccination_strings.xml +++ b/Corona-Warn-App/src/main/res/values-de/vaccination_strings.xml @@ -122,4 +122,9 @@ <!-- XTXT: Explains user about vaccination certificate: URL, has to be "translated" into english (relevant for all languages except german) - https://www.coronawarn.app/en/faq/#vac_cert_invalid --> <string name="error_button_vc_faq_link">https://www.coronawarn.app/de/faq/#vac_cert_invalid</string> + <!-- XTXT: Vaccination certificate Detail title --> + <string name="vaccination_certificate_title">"Impfzertifikat"</string> + <!-- XTXT: Vaccination certificate Detail subtitle --> + <string name="vaccination_certificate_subtitle">"EU Digitales COVID-Zertifikat"</string> + </resources> diff --git a/Corona-Warn-App/src/main/res/values/vaccination_attribute_strings.xml b/Corona-Warn-App/src/main/res/values/vaccination_attribute_strings.xml new file mode 100644 index 000000000..2464a2d71 --- /dev/null +++ b/Corona-Warn-App/src/main/res/values/vaccination_attribute_strings.xml @@ -0,0 +1,31 @@ +<?xml version="1.0" encoding="utf-8"?> +<resources> + + <!-- XTXT: Vaccination Certificate Detail Screen Attribute: Name --> + <string name="vaccination_certificate_attribute_name" translatable="false">"Name, Vorname / Name, First Name"</string> + <!-- XTXT: Vaccination Certificate Detail Screen Attribute: Date of Birth --> + <string name="vaccination_certificate_attribute_date_of_birth" translatable="false">"Geburtsdatum / Date of Birth (YYYY-MM-DD)"</string> + <!-- XTXT: Vaccination Certificate Detail Screen Attribute: Target Disease --> + <string name="vaccination_certificate_attribute_disease_type" translatable="false">"Zielkrankheit oder -erreger / Disease or Agent Targeted"</string> + <!-- XTXT: Vaccination Certificate Detail Screen Attribute: Vaccine --> + <string name="vaccination_certificate_attribute_vaccine_name" translatable="false">"Impfstoff / Vaccine"</string> + <!-- XTXT: Vaccination Certificate Detail Screen Attribute: Vaccination Type --> + <string name="vaccination_certificate_attribute_vaccine_type" translatable="false">"Art des Impfstoffs / Vaccine Type"</string> + <!-- XTXT: Vaccination Certificate Detail Screen Attribute: Manufacturer --> + <string name="vaccination_certificate_attribute_manufacturer" translatable="false">"Hersteller / Manufacturer"</string> + <!-- XTXT: Vaccination Certificate Detail Screen Attribute: Vaccination Number --> + <string name="vaccination_certificate_attribute_vaccination_number" translatable="false">"Nummer der Impfung / Number in a series of vaccinations"</string> + <!-- XTXT: Vaccination Certificate Detail Screen Attribute: Vaccination Date --> + <string name="vaccination_certificate_attribute_vaccination_date" translatable="false">"Datum der Impfung / Date of vaccination (YYYY-MM-DD)"</string> + <!-- XTXT: Vaccination Certificate Detail Screen Attribute: State of Vaccination --> + <string name="vaccination_certificate_attribute_certificate_country" translatable="false">"Land der Impfung / Member State of Vaccination"</string> + <!-- XTXT: Vaccination Certificate Detail Screen Attribute: Certification Issuer --> + <string name="vaccination_certificate_attribute_certificate_issuer" translatable="false">"Zertifikataussteller / Certificate Issuer"</string> + <!-- XTXT: Vaccination Certificate Detail Screen Attribute: Certification Id --> + <string name="vaccination_certificate_attribute_certificate_id" translatable="false">"Zertifikatkennung / Unique Certificate Identifier"</string> + + <!-- XTXT: Vaccination Certificate Detail Screen Attribute: Travel Notice German --> + <string name="vaccination_certificate_attribute_certificate_travel_notice_german" translatable="false">"Diese Bescheinigung ist kein Reisedokument. Die wissenschaftlichen Erkenntnisse zu COVID-19 in den Bereichen Impfung, Testung und Genesung entwickeln sich fortlaufend weiter, auch im Hinblick auf neue besorgniserregende Virusvarianten. Bitte informieren Sie sich vor Reiseantritt über die am Zielort geltenden Gesundheitsmaßnahmen und entsprechenden Beschränkungen. Informationen über die in den jeweiligen EU-Ländern geltenden Einreisebestimmungen finden Sie unter https://reopen.europa.eu/de."</string> + <!-- XTXT: Vaccination Certificate Detail Screen Attribute: Travel Notice English --> + <string name="vaccination_certificate_attribute_certificate_travel_notice_english" translatable="false">"This certificate is not a travel document. The scientific evidence on COVID-19 vaccination, testing, and recovery continues to evolve, also in view of new variants of concern of the virus. Before traveling, please check the applicable public health measures and related restrictions applied at the point of destination. Information on the current travel restrictions that apply to EU countries is available at https://reopen.europa.eu/en."</string> +</resources> \ No newline at end of file diff --git a/Corona-Warn-App/src/main/res/values/vaccination_strings.xml b/Corona-Warn-App/src/main/res/values/vaccination_strings.xml index 275edfe95..900b8753b 100644 --- a/Corona-Warn-App/src/main/res/values/vaccination_strings.xml +++ b/Corona-Warn-App/src/main/res/values/vaccination_strings.xml @@ -123,4 +123,15 @@ <!-- XTXT: Explains user about vaccination certificate: URL, has to be "translated" into english (relevant for all languages except german) - https://www.coronawarn.app/en/faq/#vac_cert_invalid --> <string name="error_button_vc_faq_link">"https://www.coronawarn.app/en/faq/#vac_cert_invalid"</string> + <!-- XTXT: Detail green certificate travel notice link en --> + <string name="vaccination_certificate_travel_notice_link_en">"https://reopen.europa.eu/en"</string> + <!-- XTXT: Detail green certificate travel notice link de --> + <string name="vaccination_certificate_travel_notice_link_de">"https://reopen.europa.eu/de"</string> + + <!-- XTXT: Vaccination certificate Detail title --> + <string name="vaccination_certificate_title">"Impfzertifikat"</string> + <!-- XTXT: Vaccination certificate Detail subtitle --> + <string name="vaccination_certificate_subtitle">"EU Digitales COVID-Zertifikat"</string> + + </resources> -- GitLab