Skip to content
Snippets Groups Projects
Unverified Commit 4edf5e8d authored by Mohamed Metwalli's avatar Mohamed Metwalli Committed by GitHub
Browse files

Vaccination Home Cards (EXPOSUREAPP-7231) (#3199)


* Rename card

* Adjust vaccination home cards

* Update VaccinatedPerson.kt

* String plurals

* Lint

Co-authored-by: default avatarharambasicluka <64483219+harambasicluka@users.noreply.github.com>
parent 1a3f49cb
No related branches found
No related tags found
No related merge requests found
Showing
with 124 additions and 41 deletions
...@@ -38,9 +38,9 @@ import de.rki.coronawarnapp.util.lists.modular.mods.DataBinderMod ...@@ -38,9 +38,9 @@ import de.rki.coronawarnapp.util.lists.modular.mods.DataBinderMod
import de.rki.coronawarnapp.util.lists.modular.mods.SavedStateMod import de.rki.coronawarnapp.util.lists.modular.mods.SavedStateMod
import de.rki.coronawarnapp.util.lists.modular.mods.StableIdMod import de.rki.coronawarnapp.util.lists.modular.mods.StableIdMod
import de.rki.coronawarnapp.util.lists.modular.mods.TypedVHCreatorMod import de.rki.coronawarnapp.util.lists.modular.mods.TypedVHCreatorMod
import de.rki.coronawarnapp.vaccination.ui.homecard.CompleteVaccinationHomeCard import de.rki.coronawarnapp.vaccination.ui.homecard.ImmuneVaccinationHomeCard
import de.rki.coronawarnapp.vaccination.ui.homecard.CreateVaccinationHomeCard import de.rki.coronawarnapp.vaccination.ui.homecard.CreateVaccinationHomeCard
import de.rki.coronawarnapp.vaccination.ui.homecard.IncompleteVaccinationHomeCard import de.rki.coronawarnapp.vaccination.ui.homecard.VaccinationHomeCard
class HomeAdapter : class HomeAdapter :
ModularAdapter<HomeAdapter.HomeItemVH<HomeItem, ViewBinding>>(), ModularAdapter<HomeAdapter.HomeItemVH<HomeItem, ViewBinding>>(),
...@@ -80,11 +80,11 @@ class HomeAdapter : ...@@ -80,11 +80,11 @@ class HomeAdapter :
TypedVHCreatorMod({ data[it] is TestUnregisteredCard.Item }) { TestUnregisteredCard(it) }, TypedVHCreatorMod({ data[it] is TestUnregisteredCard.Item }) { TestUnregisteredCard(it) },
TypedVHCreatorMod({ data[it] is StatisticsHomeCard.Item }) { StatisticsHomeCard(it) }, TypedVHCreatorMod({ data[it] is StatisticsHomeCard.Item }) { StatisticsHomeCard(it) },
TypedVHCreatorMod({ data[it] is CreateVaccinationHomeCard.Item }) { CreateVaccinationHomeCard(it) }, TypedVHCreatorMod({ data[it] is CreateVaccinationHomeCard.Item }) { CreateVaccinationHomeCard(it) },
TypedVHCreatorMod({ data[it] is CompleteVaccinationHomeCard.Item }) { TypedVHCreatorMod({ data[it] is ImmuneVaccinationHomeCard.Item }) {
CompleteVaccinationHomeCard(it) ImmuneVaccinationHomeCard(it)
}, },
TypedVHCreatorMod({ data[it] is IncompleteVaccinationHomeCard.Item }) { TypedVHCreatorMod({ data[it] is VaccinationHomeCard.Item }) {
IncompleteVaccinationHomeCard(it) VaccinationHomeCard(it)
}, },
SavedStateMod<HomeItemVH<HomeItem, ViewBinding>>() // For statistics card scroll position SavedStateMod<HomeItemVH<HomeItem, ViewBinding>>() // For statistics card scroll position
) )
......
...@@ -75,9 +75,9 @@ import de.rki.coronawarnapp.util.viewmodel.SimpleCWAViewModelFactory ...@@ -75,9 +75,9 @@ import de.rki.coronawarnapp.util.viewmodel.SimpleCWAViewModelFactory
import de.rki.coronawarnapp.vaccination.core.VaccinatedPerson import de.rki.coronawarnapp.vaccination.core.VaccinatedPerson
import de.rki.coronawarnapp.vaccination.core.VaccinationSettings import de.rki.coronawarnapp.vaccination.core.VaccinationSettings
import de.rki.coronawarnapp.vaccination.core.repository.VaccinationRepository import de.rki.coronawarnapp.vaccination.core.repository.VaccinationRepository
import de.rki.coronawarnapp.vaccination.ui.homecard.CompleteVaccinationHomeCard import de.rki.coronawarnapp.vaccination.ui.homecard.ImmuneVaccinationHomeCard
import de.rki.coronawarnapp.vaccination.ui.homecard.CreateVaccinationHomeCard import de.rki.coronawarnapp.vaccination.ui.homecard.CreateVaccinationHomeCard
import de.rki.coronawarnapp.vaccination.ui.homecard.IncompleteVaccinationHomeCard import de.rki.coronawarnapp.vaccination.ui.homecard.VaccinationHomeCard
import kotlinx.coroutines.flow.distinctUntilChanged import kotlinx.coroutines.flow.distinctUntilChanged
import kotlinx.coroutines.flow.map import kotlinx.coroutines.flow.map
import kotlinx.coroutines.flow.onEach import kotlinx.coroutines.flow.onEach
...@@ -316,7 +316,8 @@ class HomeFragmentViewModel @AssistedInject constructor( ...@@ -316,7 +316,8 @@ class HomeFragmentViewModel @AssistedInject constructor(
vaccinatedPersons.forEach { vaccinatedPerson -> vaccinatedPersons.forEach { vaccinatedPerson ->
val card = when (vaccinatedPerson.getVaccinationStatus()) { val card = when (vaccinatedPerson.getVaccinationStatus()) {
VaccinatedPerson.Status.COMPLETE -> CompleteVaccinationHomeCard.Item( VaccinatedPerson.Status.COMPLETE,
VaccinatedPerson.Status.INCOMPLETE -> VaccinationHomeCard.Item(
vaccinatedPerson = vaccinatedPerson, vaccinatedPerson = vaccinatedPerson,
onClickAction = { onClickAction = {
popupEvents.postValue( popupEvents.postValue(
...@@ -324,7 +325,7 @@ class HomeFragmentViewModel @AssistedInject constructor( ...@@ -324,7 +325,7 @@ class HomeFragmentViewModel @AssistedInject constructor(
) )
} }
) )
VaccinatedPerson.Status.INCOMPLETE -> IncompleteVaccinationHomeCard.Item( VaccinatedPerson.Status.IMMUNITY -> ImmuneVaccinationHomeCard.Item(
vaccinatedPerson = vaccinatedPerson, vaccinatedPerson = vaccinatedPerson,
onClickAction = { onClickAction = {
popupEvents.postValue( popupEvents.postValue(
...@@ -332,15 +333,6 @@ class HomeFragmentViewModel @AssistedInject constructor( ...@@ -332,15 +333,6 @@ class HomeFragmentViewModel @AssistedInject constructor(
) )
} }
) )
// TODO wrong card, just placeholder
VaccinatedPerson.Status.IMMUNITY -> CompleteVaccinationHomeCard.Item(
vaccinatedPerson = vaccinatedPerson,
onClickAction = {
popupEvents.postValue(
HomeFragmentEvents.GoToVaccinationList(vaccinatedPerson.identifier.code)
)
}
)
} }
add(card) add(card)
} }
......
...@@ -2,22 +2,22 @@ package de.rki.coronawarnapp.vaccination.ui.homecard ...@@ -2,22 +2,22 @@ package de.rki.coronawarnapp.vaccination.ui.homecard
import android.view.ViewGroup import android.view.ViewGroup
import de.rki.coronawarnapp.R import de.rki.coronawarnapp.R
import de.rki.coronawarnapp.databinding.VaccinationHomeCompleteCardBinding import de.rki.coronawarnapp.databinding.VaccinationHomeImmuneCardBinding
import de.rki.coronawarnapp.ui.main.home.HomeAdapter import de.rki.coronawarnapp.ui.main.home.HomeAdapter
import de.rki.coronawarnapp.util.lists.diffutil.HasPayloadDiffer import de.rki.coronawarnapp.util.lists.diffutil.HasPayloadDiffer
import de.rki.coronawarnapp.vaccination.core.VaccinatedPerson import de.rki.coronawarnapp.vaccination.core.VaccinatedPerson
class CompleteVaccinationHomeCard(parent: ViewGroup) : class ImmuneVaccinationHomeCard(parent: ViewGroup) :
HomeAdapter.HomeItemVH<CompleteVaccinationHomeCard.Item, VaccinationHomeCompleteCardBinding>( HomeAdapter.HomeItemVH<ImmuneVaccinationHomeCard.Item, VaccinationHomeImmuneCardBinding>(
R.layout.home_card_container_layout, R.layout.home_card_container_layout,
parent parent
) { ) {
override val viewBinding = lazy { override val viewBinding = lazy {
VaccinationHomeCompleteCardBinding.inflate(layoutInflater, itemView.findViewById(R.id.card_container), true) VaccinationHomeImmuneCardBinding.inflate(layoutInflater, itemView.findViewById(R.id.card_container), true)
} }
override val onBindData: VaccinationHomeCompleteCardBinding.( override val onBindData: VaccinationHomeImmuneCardBinding.(
item: Item, item: Item,
payloads: List<Any> payloads: List<Any>
) -> Unit = { item, payloads -> ) -> Unit = { item, payloads ->
......
...@@ -2,29 +2,43 @@ package de.rki.coronawarnapp.vaccination.ui.homecard ...@@ -2,29 +2,43 @@ package de.rki.coronawarnapp.vaccination.ui.homecard
import android.view.ViewGroup import android.view.ViewGroup
import de.rki.coronawarnapp.R import de.rki.coronawarnapp.R
import de.rki.coronawarnapp.databinding.VaccinationHomeIncompleteCardBinding import de.rki.coronawarnapp.databinding.VaccinationHomeCardBinding
import de.rki.coronawarnapp.ui.main.home.HomeAdapter import de.rki.coronawarnapp.ui.main.home.HomeAdapter
import de.rki.coronawarnapp.util.lists.diffutil.HasPayloadDiffer import de.rki.coronawarnapp.util.lists.diffutil.HasPayloadDiffer
import de.rki.coronawarnapp.vaccination.core.VaccinatedPerson import de.rki.coronawarnapp.vaccination.core.VaccinatedPerson
class IncompleteVaccinationHomeCard(parent: ViewGroup) : class VaccinationHomeCard(parent: ViewGroup) :
HomeAdapter.HomeItemVH<IncompleteVaccinationHomeCard.Item, VaccinationHomeIncompleteCardBinding>( HomeAdapter.HomeItemVH<VaccinationHomeCard.Item, VaccinationHomeCardBinding>(
R.layout.home_card_container_layout, R.layout.home_card_container_layout,
parent parent
) { ) {
override val viewBinding = lazy { override val viewBinding = lazy {
VaccinationHomeIncompleteCardBinding.inflate(layoutInflater, itemView.findViewById(R.id.card_container), true) VaccinationHomeCardBinding.inflate(layoutInflater, itemView.findViewById(R.id.card_container), true)
} }
override val onBindData: VaccinationHomeIncompleteCardBinding.( override val onBindData: VaccinationHomeCardBinding.(
item: Item, item: Item,
payloads: List<Any> payloads: List<Any>
) -> Unit = { item, payloads -> ) -> Unit = { item, payloads ->
val curItem = payloads.filterIsInstance<Item>().singleOrNull() ?: item val curItem = payloads.filterIsInstance<Item>().singleOrNull() ?: item
personName.text = curItem.vaccinatedPerson.fullName personName.text = curItem.vaccinatedPerson.fullName
when (curItem.vaccinatedPerson.getVaccinationStatus()) {
VaccinatedPerson.Status.COMPLETE -> {
val days = curItem.vaccinatedPerson.getTimeUntilImmunity()!!.standardDays.toInt()
vaccinationState.text = context.resources.getQuantityString(
R.plurals.vaccination_card_status_vaccination_complete,
days,
days
)
icon.setImageResource(R.drawable.vaccination_card_icon_complete)
}
else -> {
vaccinationState.setText(R.string.vaccination_card_status_vaccination_incomplete)
icon.setImageResource(R.drawable.vaccination_card_icon_incomplete)
}
}
itemView.setOnClickListener { curItem.onClickAction(item) } itemView.setOnClickListener { curItem.onClickAction(item) }
} }
......
...@@ -4,14 +4,14 @@ ...@@ -4,14 +4,14 @@
android:viewportWidth="78" android:viewportWidth="78"
android:viewportHeight="72"> android:viewportHeight="72">
<path <path
android:pathData="M44.2502,0V4.3846H46.4425V6.7139C42.0321,7.1507 38.05,8.8463 34.7958,11.5096L33.1516,9.8654L34.6588,8.3582L31.5759,5.2752L25.41,11.4411L28.4929,14.524L30.0001,13.0168L31.6444,14.6611C28.9811,17.9153 27.2855,21.8974 26.8487,26.3077H24.5194V24.1154H20.1348V32.8846H24.5194V30.6923H26.8487C27.2855,35.1369 29.0153,39.1447 31.7129,42.4075L30.0001,43.9832L28.4929,42.476L25.41,45.5589L31.5759,51.7248L34.6588,48.6418L33.1516,47.1346L34.7958,45.4219C38.0586,48.1023 42.0236,49.8493 46.4425,50.2861V52.6154H44.2502V57H53.0194V52.6154H50.8271V50.2861C55.2459,49.8493 59.2109,48.1023 62.4737,45.4219H62.5422L64.1179,47.1346L62.6107,48.6418L65.6937,51.7248L71.8595,45.5589L68.7766,42.476L67.2694,43.9832L65.5566,42.4075C65.5609,42.3989 65.5588,42.386 65.5566,42.3732C65.5545,42.3604 65.5524,42.3475 65.5566,42.3389C68.2371,39.0762 69.9841,35.1112 70.4208,30.6923H72.7501V32.8846H77.1348V24.1154H72.7501V26.3077H70.4208C69.9841,21.8974 68.2885,17.9153 65.6251,14.6611L67.2694,13.0168L68.7766,14.524L71.8595,11.4411L65.6937,5.2752L62.6107,8.3582L64.1179,9.8654L62.4737,11.5096C59.2195,8.8463 55.2374,7.1507 50.8271,6.7139V4.3846H53.0194V0H44.2502ZM48.6352,10.9604C58.3465,10.9604 66.1737,18.7876 66.1737,28.4989C66.1737,38.2101 58.3465,46.0373 48.6352,46.0373C38.924,46.0373 31.0968,38.2101 31.0968,28.4989C31.0968,18.7876 38.924,10.9604 48.6352,10.9604ZM39.8653,18.9777C39.8653,17.1622 41.3382,15.6893 43.1537,15.6893C44.9692,15.6893 46.4422,17.1622 46.4422,18.9777C46.4422,20.7933 44.9692,22.2662 43.1537,22.2662C41.3382,22.2662 39.8653,20.7933 39.8653,18.9777ZM54.1157,15.6893C52.3002,15.6893 50.8273,17.1622 50.8273,18.9777C50.8273,20.7933 52.3002,22.2662 54.1157,22.2662C55.9312,22.2662 57.4042,20.7933 57.4042,18.9777C57.4042,17.1622 55.9312,15.6893 54.1157,15.6893ZM34.3848,28.499C34.3848,26.6834 35.8578,25.2105 37.6733,25.2105C39.4888,25.2105 40.9618,26.6834 40.9618,28.499C40.9618,30.3145 39.4888,31.7874 37.6733,31.7874C35.8578,31.7874 34.3848,30.3145 34.3848,28.499ZM48.6353,25.2105C46.8198,25.2105 45.3468,26.6834 45.3468,28.499C45.3468,30.3145 46.8198,31.7874 48.6353,31.7874C50.4508,31.7874 51.9237,30.3145 51.9237,28.499C51.9237,26.6834 50.4508,25.2105 48.6353,25.2105ZM56.3075,28.499C56.3075,26.6834 57.7804,25.2105 59.5959,25.2105C61.4114,25.2105 62.8844,26.6834 62.8844,28.499C62.8844,30.3145 61.4114,31.7874 59.5959,31.7874C57.7804,31.7874 56.3075,30.3145 56.3075,28.499ZM43.1537,34.7339C41.3382,34.7339 39.8653,36.2069 39.8653,38.0224C39.8653,39.8379 41.3382,41.3108 43.1537,41.3108C44.9692,41.3108 46.4422,39.8379 46.4422,38.0224C46.4422,36.2069 44.9692,34.7339 43.1537,34.7339ZM50.8273,38.0224C50.8273,36.2069 52.3002,34.7339 54.1157,34.7339C55.9312,34.7339 57.4042,36.2069 57.4042,38.0224C57.4042,39.8379 55.9312,41.3108 54.1157,41.3108C52.3002,41.3108 50.8273,39.8379 50.8273,38.0224Z" android:pathData="M44.2499,0V4.3846H46.4422V6.7139C42.0319,7.1507 38.0498,8.8463 34.7956,11.5096L33.1513,9.8654L34.6586,8.3582L31.5756,5.2752L25.4098,11.4411L28.4927,14.524L29.9999,13.0168L31.6441,14.6611C28.9808,17.9153 27.2852,21.8974 26.8485,26.3077H24.5191V24.1154H20.1345V32.8846H24.5191V30.6923H26.8485C27.2852,35.1369 29.0151,39.1447 31.7126,42.4075L29.9999,43.9832L28.4927,42.476L25.4098,45.5589L31.5756,51.7248L34.6586,48.6418L33.1513,47.1346L34.7956,45.4219C38.0583,48.1023 42.0233,49.8493 46.4422,50.2861V52.6154H44.2499V57H53.0191V52.6154H50.8268V50.2861C55.2457,49.8493 59.2107,48.1023 62.4735,45.4219H62.542L64.1177,47.1346L62.6105,48.6418L65.6934,51.7248L71.8593,45.5589L68.7763,42.476L67.2691,43.9832L65.5564,42.4075C65.5607,42.3989 65.5585,42.386 65.5564,42.3732C65.5543,42.3604 65.5521,42.3475 65.5564,42.3389C68.2368,39.0762 69.9838,35.1112 70.4206,30.6923H72.7499V32.8846H77.1345V24.1154H72.7499V26.3077H70.4206C69.9838,21.8974 68.2882,17.9153 65.6249,14.6611L67.2691,13.0168L68.7763,14.524L71.8593,11.4411L65.6934,5.2752L62.6105,8.3582L64.1177,9.8654L62.4735,11.5096C59.2193,8.8463 55.2371,7.1507 50.8268,6.7139V4.3846H53.0191V0H44.2499ZM48.635,10.9604C58.3462,10.9604 66.1734,18.7876 66.1734,28.4989C66.1734,38.2101 58.3462,46.0373 48.635,46.0373C38.9237,46.0373 31.0965,38.2101 31.0965,28.4989C31.0965,18.7876 38.9237,10.9604 48.635,10.9604ZM39.865,18.9777C39.865,17.1622 41.338,15.6893 43.1535,15.6893C44.969,15.6893 46.4419,17.1622 46.4419,18.9777C46.4419,20.7933 44.969,22.2662 43.1535,22.2662C41.338,22.2662 39.865,20.7933 39.865,18.9777ZM54.1155,15.6893C52.3,15.6893 50.827,17.1622 50.827,18.9777C50.827,20.7933 52.3,22.2662 54.1155,22.2662C55.931,22.2662 57.4039,20.7933 57.4039,18.9777C57.4039,17.1622 55.931,15.6893 54.1155,15.6893ZM34.3846,28.499C34.3846,26.6834 35.8575,25.2105 37.673,25.2105C39.4886,25.2105 40.9615,26.6834 40.9615,28.499C40.9615,30.3145 39.4886,31.7874 37.673,31.7874C35.8575,31.7874 34.3846,30.3145 34.3846,28.499ZM48.635,25.2105C46.8195,25.2105 45.3466,26.6834 45.3466,28.499C45.3466,30.3145 46.8195,31.7874 48.635,31.7874C50.4505,31.7874 51.9235,30.3145 51.9235,28.499C51.9235,26.6834 50.4505,25.2105 48.635,25.2105ZM56.3072,28.499C56.3072,26.6834 57.7802,25.2105 59.5957,25.2105C61.4112,25.2105 62.8841,26.6834 62.8841,28.499C62.8841,30.3145 61.4112,31.7874 59.5957,31.7874C57.7802,31.7874 56.3072,30.3145 56.3072,28.499ZM43.1535,34.7339C41.338,34.7339 39.865,36.2069 39.865,38.0224C39.865,39.8379 41.338,41.3108 43.1535,41.3108C44.969,41.3108 46.4419,39.8379 46.4419,38.0224C46.4419,36.2069 44.969,34.7339 43.1535,34.7339ZM50.827,38.0224C50.827,36.2069 52.3,34.7339 54.1155,34.7339C55.931,34.7339 57.4039,36.2069 57.4039,38.0224C57.4039,39.8379 55.931,41.3108 54.1155,41.3108C52.3,41.3108 50.827,39.8379 50.827,38.0224Z"
android:fillColor="#ffffff" android:fillColor="#ffffff"
android:fillAlpha="0.2" android:fillAlpha="0.2"
android:fillType="evenOdd" /> android:fillType="evenOdd"/>
<path <path
android:pathData="M22,18L0,27.8182V42.5455C0,56.1682 9.3867,68.9073 22,72C34.6133,68.9073 44,56.1682 44,42.5455V27.8182L22,18Z" android:pathData="M22,18L0,27.8182V42.5455C0,56.1682 9.3867,68.9073 22,72C34.6133,68.9073 44,56.1682 44,42.5455V27.8182L22,18Z"
android:fillColor="#ffffff" /> android:fillColor="#ffffff"/>
<path <path
android:pathData="M11.29,43.7909L8,47.2335L17.3333,57L36,37.4671L32.71,34L17.3333,50.0902L11.29,43.7909Z" android:pathData="M11.29,43.7909L8,47.2335L17.3333,57L36,37.4671L32.71,34L17.3333,50.0902L11.29,43.7909Z"
android:fillColor="#007FAD" /> android:fillColor="#616F7E"/>
</vector> </vector>
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="78dp"
android:height="72dp"
android:viewportWidth="78"
android:viewportHeight="72">
<path
android:pathData="M44.2502,0V4.3846H46.4425V6.7139C42.0321,7.1507 38.05,8.8463 34.7958,11.5096L33.1516,9.8654L34.6588,8.3582L31.5759,5.2752L25.41,11.4411L28.4929,14.524L30.0001,13.0168L31.6444,14.6611C28.9811,17.9153 27.2855,21.8974 26.8487,26.3077H24.5194V24.1154H20.1348V32.8846H24.5194V30.6923H26.8487C27.2855,35.1369 29.0153,39.1447 31.7129,42.4075L30.0001,43.9832L28.4929,42.476L25.41,45.5589L31.5759,51.7248L34.6588,48.6418L33.1516,47.1346L34.7958,45.4219C38.0586,48.1023 42.0236,49.8493 46.4425,50.2861V52.6154H44.2502V57H53.0194V52.6154H50.8271V50.2861C55.2459,49.8493 59.2109,48.1023 62.4737,45.4219H62.5422L64.1179,47.1346L62.6107,48.6418L65.6937,51.7248L71.8595,45.5589L68.7766,42.476L67.2694,43.9832L65.5566,42.4075C65.5609,42.3989 65.5588,42.386 65.5566,42.3732C65.5545,42.3604 65.5524,42.3475 65.5566,42.3389C68.2371,39.0762 69.9841,35.1112 70.4208,30.6923H72.7501V32.8846H77.1348V24.1154H72.7501V26.3077H70.4208C69.9841,21.8974 68.2885,17.9153 65.6251,14.6611L67.2694,13.0168L68.7766,14.524L71.8595,11.4411L65.6937,5.2752L62.6107,8.3582L64.1179,9.8654L62.4737,11.5096C59.2195,8.8463 55.2374,7.1507 50.8271,6.7139V4.3846H53.0194V0H44.2502ZM48.6352,10.9604C58.3465,10.9604 66.1737,18.7876 66.1737,28.4989C66.1737,38.2101 58.3465,46.0373 48.6352,46.0373C38.924,46.0373 31.0968,38.2101 31.0968,28.4989C31.0968,18.7876 38.924,10.9604 48.6352,10.9604ZM39.8653,18.9777C39.8653,17.1622 41.3382,15.6893 43.1537,15.6893C44.9692,15.6893 46.4422,17.1622 46.4422,18.9777C46.4422,20.7933 44.9692,22.2662 43.1537,22.2662C41.3382,22.2662 39.8653,20.7933 39.8653,18.9777ZM54.1157,15.6893C52.3002,15.6893 50.8273,17.1622 50.8273,18.9777C50.8273,20.7933 52.3002,22.2662 54.1157,22.2662C55.9312,22.2662 57.4042,20.7933 57.4042,18.9777C57.4042,17.1622 55.9312,15.6893 54.1157,15.6893ZM34.3848,28.499C34.3848,26.6834 35.8578,25.2105 37.6733,25.2105C39.4888,25.2105 40.9618,26.6834 40.9618,28.499C40.9618,30.3145 39.4888,31.7874 37.6733,31.7874C35.8578,31.7874 34.3848,30.3145 34.3848,28.499ZM48.6353,25.2105C46.8198,25.2105 45.3468,26.6834 45.3468,28.499C45.3468,30.3145 46.8198,31.7874 48.6353,31.7874C50.4508,31.7874 51.9237,30.3145 51.9237,28.499C51.9237,26.6834 50.4508,25.2105 48.6353,25.2105ZM56.3075,28.499C56.3075,26.6834 57.7804,25.2105 59.5959,25.2105C61.4114,25.2105 62.8844,26.6834 62.8844,28.499C62.8844,30.3145 61.4114,31.7874 59.5959,31.7874C57.7804,31.7874 56.3075,30.3145 56.3075,28.499ZM43.1537,34.7339C41.3382,34.7339 39.8653,36.2069 39.8653,38.0224C39.8653,39.8379 41.3382,41.3108 43.1537,41.3108C44.9692,41.3108 46.4422,39.8379 46.4422,38.0224C46.4422,36.2069 44.9692,34.7339 43.1537,34.7339ZM50.8273,38.0224C50.8273,36.2069 52.3002,34.7339 54.1157,34.7339C55.9312,34.7339 57.4042,36.2069 57.4042,38.0224C57.4042,39.8379 55.9312,41.3108 54.1157,41.3108C52.3002,41.3108 50.8273,39.8379 50.8273,38.0224Z"
android:fillColor="#ffffff"
android:fillAlpha="0.2"
android:fillType="evenOdd" />
<path
android:pathData="M22,18L0,27.8182V42.5455C0,56.1682 9.3867,68.9073 22,72C34.6133,68.9073 44,56.1682 44,42.5455V27.8182L22,18Z"
android:fillColor="#ffffff" />
<path
android:pathData="M11.29,43.7909L8,47.2335L17.3333,57L36,37.4671L32.71,34L17.3333,50.0902L11.29,43.7909Z"
android:fillColor="#007FAD" />
</vector>
...@@ -5,7 +5,8 @@ ...@@ -5,7 +5,8 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:background="@drawable/vaccination_incomplete" android:background="@drawable/vaccination_incomplete"
android:padding="@dimen/card_padding"> android:padding="@dimen/card_padding"
tools:ignore="UnusedAttribute">
<ImageView <ImageView
...@@ -23,6 +24,7 @@ ...@@ -23,6 +24,7 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="16dp" android:layout_marginTop="16dp"
android:importantForAccessibility="no"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@+id/show_more_action" app:layout_constraintTop_toBottomOf="@+id/show_more_action"
...@@ -51,11 +53,11 @@ ...@@ -51,11 +53,11 @@
android:layout_marginEnd="16dp" android:layout_marginEnd="16dp"
android:accessibilityHeading="true" android:accessibilityHeading="true"
android:focusable="false" android:focusable="false"
android:text="@string/vaccination_card_status_vaccination_name"
android:textColor="@color/colorTextPrimary1InvertedStable" android:textColor="@color/colorTextPrimary1InvertedStable"
app:layout_constraintEnd_toStartOf="@+id/icon" app:layout_constraintEnd_toStartOf="@+id/icon"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/card_title" app:layout_constraintTop_toBottomOf="@id/card_title" />
android:text="@string/vaccination_card_status_vaccination_name" />
<TextView <TextView
android:id="@+id/vaccination_state" android:id="@+id/vaccination_state"
...@@ -88,6 +90,6 @@ ...@@ -88,6 +90,6 @@
app:layout_constraintEnd_toStartOf="@+id/icon" app:layout_constraintEnd_toStartOf="@+id/icon"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/vaccination_state" app:layout_constraintTop_toBottomOf="@id/vaccination_state"
tools:text="François-Joan d'Arsøns - van Halen" /> tools:text="Andrea Schneider" />
</androidx.constraintlayout.widget.ConstraintLayout> </androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
...@@ -5,7 +5,8 @@ ...@@ -5,7 +5,8 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:background="@drawable/vaccination_compelete_gradient" android:background="@drawable/vaccination_compelete_gradient"
android:padding="@dimen/card_padding"> android:padding="@dimen/card_padding"
tools:ignore="UnusedAttribute">
<ImageView <ImageView
...@@ -22,10 +23,11 @@ ...@@ -22,10 +23,11 @@
android:id="@+id/icon" android:id="@+id/icon"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:importantForAccessibility="no"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@+id/show_more_action" app:layout_constraintTop_toBottomOf="@+id/show_more_action"
app:srcCompat="@drawable/vaccination_card_icon_complete" /> app:srcCompat="@drawable/vaccination_card_icon_immune" />
<TextView <TextView
android:id="@+id/card_title" android:id="@+id/card_title"
...@@ -49,11 +51,11 @@ ...@@ -49,11 +51,11 @@
android:layout_marginEnd="16dp" android:layout_marginEnd="16dp"
android:accessibilityHeading="true" android:accessibilityHeading="true"
android:focusable="false" android:focusable="false"
android:text="@string/vaccination_card_status_vaccination_name"
android:textColor="@color/colorTextPrimary1InvertedStable" android:textColor="@color/colorTextPrimary1InvertedStable"
app:layout_constraintEnd_toStartOf="@+id/icon" app:layout_constraintEnd_toStartOf="@+id/icon"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/card_title" app:layout_constraintTop_toBottomOf="@id/card_title" />
android:text="@string/vaccination_card_status_vaccination_name" />
<TextView <TextView
android:id="@+id/person_name" android:id="@+id/person_name"
...@@ -69,6 +71,6 @@ ...@@ -69,6 +71,6 @@
app:layout_constraintEnd_toStartOf="@+id/icon" app:layout_constraintEnd_toStartOf="@+id/icon"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/vaccination_label" app:layout_constraintTop_toBottomOf="@id/vaccination_label"
tools:text="François-Joan d'Arsøns - van Halen" /> tools:text="Andrea Schneider" />
</androidx.constraintlayout.widget.ConstraintLayout> </androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<resources> <resources xmlns:tools="http://schemas.android.com/tools">
<!-- XTXT: Vaccination Details birth date --> <!-- XTXT: Vaccination Details birth date -->
<string name="vaccination_details_birth_date">Geboren %1$s</string> <string name="vaccination_details_birth_date">Geboren %1$s</string>
<!-- XTXT: Vaccination Details certificate date --> <!-- XTXT: Vaccination Details certificate date -->
...@@ -69,13 +69,22 @@ ...@@ -69,13 +69,22 @@
<string name="vaccination_card_registration_body">"Fügen Sie Ihre Impfzertifikate in die App hinzu, um sie immer bei sich zu haben. Scannen Sie dafür den QR-Code Ihres Dokuments."</string> <string name="vaccination_card_registration_body">"Fügen Sie Ihre Impfzertifikate in die App hinzu, um sie immer bei sich zu haben. Scannen Sie dafür den QR-Code Ihres Dokuments."</string>
<!-- XBUT: button for Vaccination Certificate Registration Home Card --> <!-- XBUT: button for Vaccination Certificate Registration Home Card -->
<string name="vaccination_card_register">"Hinzufügen"</string> <string name="vaccination_card_register">"Hinzufügen"</string>
<!-- XHED: Homescreen vaccination status card title --> <!-- XHED: Homescreen vaccination status card title -->
<string name="vaccination_card_status_title">Digitaler Impfnachweis</string> <string name="vaccination_card_status_title">Digitaler Impfnachweis</string>
<!-- XHED: Homescreen vaccination status card vaccination name --> <!-- XHED: Homescreen vaccination status card vaccination name -->
<string name="vaccination_card_status_vaccination_name">SARS-CoV-2 Impfschutz</string> <string name="vaccination_card_status_vaccination_name">SARS-CoV-2 Impfschutz</string>
<!-- XTXT: Homescreen vaccination status card vaccination status label --> <!-- XTXT: Homescreen card incomplete vaccination status label -->
<string name="vaccination_card_status_vaccination_incomplete">Unvollständiger Impfschutz</string> <string name="vaccination_card_status_vaccination_incomplete">Unvollständiger Impfschutz</string>
<!-- XTXT: Homescreen card complete vaccination status label -->
<plurals name="vaccination_card_status_vaccination_complete" tools:ignore="UnusedQuantity">
<item quantity="one">Vollständiger Impfschutz in %1$d Tag</item>
<item quantity="other">Vollständiger Impfschutz in %1$d Tagen</item>
<item quantity="zero">Vollständiger Impfschutz in %1$d Tagen</item>
<item quantity="two">Vollständiger Impfschutz in %1$d Tagen</item>
<item quantity="few">Vollständiger Impfschutz in %1$d Tagen</item>
<item quantity="many">Vollständiger Impfschutz in %1$d Tagen</item>
</plurals>
<!-- XTXT: Vaccination QR code scan error message--> <!-- XTXT: Vaccination QR code scan error message-->
<string name="error_vc_invalid">Dieser QR-Code ist kein gültiges Impfzertifikat.</string> <string name="error_vc_invalid">Dieser QR-Code ist kein gültiges Impfzertifikat.</string>
<!-- XTXT: Vaccination QR code scan error message--> <!-- XTXT: Vaccination QR code scan error message-->
......
...@@ -74,8 +74,17 @@ ...@@ -74,8 +74,17 @@
<string name="vaccination_card_status_title">Digitaler Impfnachweis</string> <string name="vaccination_card_status_title">Digitaler Impfnachweis</string>
<!-- XHED: Homescreen vaccination status card vaccination name --> <!-- XHED: Homescreen vaccination status card vaccination name -->
<string name="vaccination_card_status_vaccination_name">SARS-CoV-2 Impfschutz</string> <string name="vaccination_card_status_vaccination_name">SARS-CoV-2 Impfschutz</string>
<!-- XTXT: Homescreen card vaccination status label --> <!-- XTXT: Homescreen card incomplete vaccination status label -->
<string name="vaccination_card_status_vaccination_incomplete">Unvollständiger Impfschutz</string> <string name="vaccination_card_status_vaccination_incomplete">Unvollständiger Impfschutz</string>
<!-- XTXT: Homescreen card complete vaccination status label -->
<plurals name="vaccination_card_status_vaccination_complete">
<item quantity="one">Vollständiger Impfschutz in %1$d Tag</item>
<item quantity="other">Vollständiger Impfschutz in %1$d Tagen</item>
<item quantity="zero">Vollständiger Impfschutz in %1$d Tagen</item>
<item quantity="two">Vollständiger Impfschutz in %1$d Tagen</item>
<item quantity="few">Vollständiger Impfschutz in %1$d Tagen</item>
<item quantity="many">Vollständiger Impfschutz in %1$d Tagen</item>
</plurals>
<!-- XTXT: Vaccination QR code scan error message--> <!-- XTXT: Vaccination QR code scan error message-->
<string name="error_vc_invalid"></string> <string name="error_vc_invalid"></string>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment