diff --git a/app/src/main/java/it/ministerodellasalute/immuni/api/services/ConfigurationSettingsService.kt b/app/src/main/java/it/ministerodellasalute/immuni/api/services/ConfigurationSettingsService.kt index f951003d..2ec342ad 100644 --- a/app/src/main/java/it/ministerodellasalute/immuni/api/services/ConfigurationSettingsService.kt +++ b/app/src/main/java/it/ministerodellasalute/immuni/api/services/ConfigurationSettingsService.kt @@ -64,7 +64,7 @@ data class ConfigurationSettings( @field:Json(name = "countries") val countries: Map>, @field:Json(name = "eudcc_expiration") val eudcc_expiration: Map>, @field:Json(name = "risk_exposure") val risk_exposure: Map, - @field:Json(name = "eudcc_validity") val days_expiration_dgc: Map + @field:Json(name = "eu_dcc_deadlines") val eu_dcc_deadlines: Map ) @JsonClass(generateAdapter = true) @@ -248,13 +248,13 @@ fun risk_exposure(): Map { fun daysExpirationDgc(): Map { return mapOf( "cbis" to 540, - "molecular_test" to 3, - "rapid_test" to 2, + "molecular_test" to 72, + "rapid_test" to 48, "vaccine_first_dose" to 43, "vaccine_fully_completed" to 180, "vaccine_booster" to 540, "healing_certificate" to 180, - "exemption" to null + "exemption" to 540 ) } @@ -296,5 +296,5 @@ val defaultSettings = ConfigurationSettings( countries = countriesMap(), eudcc_expiration = eudccMap(), risk_exposure = risk_exposure(), - days_expiration_dgc = daysExpirationDgc() + eu_dcc_deadlines = daysExpirationDgc() ) diff --git a/app/src/main/java/it/ministerodellasalute/immuni/ui/certificate/CertificateDGCAdapter.kt b/app/src/main/java/it/ministerodellasalute/immuni/ui/certificate/CertificateDGCAdapter.kt index ca6b2d71..a2c4e26e 100644 --- a/app/src/main/java/it/ministerodellasalute/immuni/ui/certificate/CertificateDGCAdapter.kt +++ b/app/src/main/java/it/ministerodellasalute/immuni/ui/certificate/CertificateDGCAdapter.kt @@ -17,7 +17,6 @@ package it.ministerodellasalute.immuni.ui.certificate import android.annotation.SuppressLint import android.content.Context -import android.text.format.DateFormat import android.view.LayoutInflater import android.view.View import android.view.ViewGroup @@ -42,7 +41,8 @@ class CertificateDGCAdapter( private val molecolarTest = "LP6464-4" private val dateFormat = SimpleDateFormat("yyyy-MM-dd", Locale.US) - private val dateTimeFormat = SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.US) + private val dateTimeFormat = SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'", Locale.US) + private val dateFormatString = SimpleDateFormat("dd-MM-yyyy", Locale.US) var data: List = emptyList() set(value) { @@ -67,8 +67,6 @@ class CertificateDGCAdapter( } else -> null } - - clickListener.onClick(uid!!) } } @@ -99,77 +97,109 @@ class CertificateDGCAdapter( @SuppressLint("SetTextI18n") override fun onBindViewHolder(holder: GreenPassVH, position: Int) { val greenCertificate = data[position] - val daysExpiredDgcMap = settingsManager.settings.value.days_expiration_dgc + val daysExpiredDgcMap = settingsManager.settings.value.eu_dcc_deadlines holder.nameForename.text = - "${greenCertificate.data?.person?.givenName} ${greenCertificate.data?.person?.familyName}" + "${greenCertificate.data?.person?.familyName} ${greenCertificate.data?.person?.givenName}" holder.addedInHome.visibility = if (greenCertificate.addedHomeDgc) { View.VISIBLE } else { View.GONE } + val todayDateMill = Date().byAdding().time when (true) { greenCertificate.data?.recoveryStatements != null -> { - holder.dateEvent.text = when(greenCertificate.fglTipoDgc) { - "cbis" -> dateExpired( - greenCertificate.data?.recoveryStatements?.get(0)?.certificateValidFrom!!, - dateFormat, - daysExpiredDgcMap["cbis"]!!, - holder - ) - else -> dateExpired( - greenCertificate.data?.recoveryStatements?.get(0)?.certificateValidFrom!!, - dateFormat, - daysExpiredDgcMap["healing_certificate"]!!, - holder - ) + val validityDays = if (greenCertificate.fglTipoDgc == "cbis") { + daysExpiredDgcMap["cbis"] + } else { + daysExpiredDgcMap["healing_certificate"] } - + val maxDateValidity = if (validityDays != null) { + dateFormat.parse(greenCertificate.data?.recoveryStatements?.get(0)?.certificateValidFrom!!)!! + .byAdding(days = validityDays) + } else { + null + } + holder.dateEvent.text = + if (maxDateValidity !== null && maxDateValidity.time > todayDateMill) { + holder.validityDGC.backgroundTintList = + context.resources.getColorStateList(R.color.colorPrimary, null) + context.getString( + R.string.green_certificate_list_dgc_valid, + dateFormatString.format(maxDateValidity) + ) + } else { + holder.validityDGC.backgroundTintList = + context.resources.getColorStateList(R.color.danger, null) + context.getString(R.string.green_certificate_list_dgc_expired) + } holder.eventType.text = context.getString(R.string.green_certificate_card_recovery) } greenCertificate.data?.tests != null -> { - if (greenCertificate.data?.tests?.get(0)!!.typeOfTest == molecolarTest) { - holder.eventType.text = - context.getString(R.string.green_certificate_card_molecular_test) - holder.dateEvent.text = dateExpired( - greenCertificate.data.tests?.get(0)?.dateTimeOfTestResult!!, - dateTimeFormat, - daysExpiredDgcMap["molecular_test"]!!, - holder - ) + val validityHours = + if (greenCertificate.data?.tests?.get(0)!!.typeOfTest == molecolarTest) { + holder.eventType.text = + context.getString(R.string.green_certificate_card_molecular_test) + daysExpiredDgcMap["molecular_test"] + } else { + holder.eventType.text = + context.getString(R.string.green_certificate_card_rapid_test) + daysExpiredDgcMap["rapid_test"] + } + val maxDateValidity = if (validityHours != null) { + dateTimeFormat.parse(greenCertificate.data.tests?.get(0)?.dateTimeOfCollection!!)!! + .byAdding(hours = validityHours) } else { - holder.eventType.text = - context.getString(R.string.green_certificate_card_rapid_test) - holder.dateEvent.text = dateExpired( - greenCertificate.data.tests?.get(0)?.dateTimeOfTestResult!!, - dateTimeFormat, - daysExpiredDgcMap["rapid_test"]!!, - holder - ) + null } + holder.dateEvent.text = + if (maxDateValidity !== null && maxDateValidity.time > todayDateMill) { + holder.validityDGC.backgroundTintList = + context.resources.getColorStateList(R.color.colorPrimary, null) + if (greenCertificate.data.tests?.get(0)!!.typeOfTest == molecolarTest) { + settingsManager.settings.value.eudcc_expiration[Locale.getDefault().language]!!["molecular_test"] + } else { + settingsManager.settings.value.eudcc_expiration[Locale.getDefault().language]!!["rapid_test"] + } + } else { + holder.validityDGC.backgroundTintList = + context.resources.getColorStateList(R.color.danger, null) + context.getString(R.string.green_certificate_list_dgc_expired) + } } greenCertificate.data?.vaccinations != null -> { - holder.dateEvent.text = if (greenCertificate.data?.vaccinations?.get(0)!!.doseNumber < greenCertificate.data.vaccinations?.get(0)!!.totalSeriesOfDoses) { - dateExpired( - greenCertificate.data.vaccinations?.get(0)?.dateOfVaccination!!, - dateFormat, - daysExpiredDgcMap["vaccine_first_dose"]!!, - holder - ) - } else if (greenCertificate.data.vaccinations?.get(0)!!.doseNumber == greenCertificate.data.vaccinations?.get(0)!!.totalSeriesOfDoses && greenCertificate.data.vaccinations?.get(0)!!.totalSeriesOfDoses < 3) { - dateExpired( - greenCertificate.data.vaccinations?.get(0)?.dateOfVaccination!!, - dateFormat, - daysExpiredDgcMap["vaccine_fully_completed"]!!, - holder - ) + val validityDays = + if (greenCertificate.data?.vaccinations?.get(0)!!.doseNumber < greenCertificate.data.vaccinations?.get( + 0 + )!!.totalSeriesOfDoses + ) { + daysExpiredDgcMap["vaccine_first_dose"] + } else if (greenCertificate.data.vaccinations?.get(0)!!.doseNumber == greenCertificate.data.vaccinations?.get( + 0 + )!!.totalSeriesOfDoses && greenCertificate.data.vaccinations?.get(0)!!.totalSeriesOfDoses < 3 + ) { + daysExpiredDgcMap["vaccine_fully_completed"] + } else { + daysExpiredDgcMap["vaccine_booster"] + } + val maxDateValidity = if (validityDays != null) { + dateFormat.parse(greenCertificate.data.vaccinations?.get(0)?.dateOfVaccination!!)!! + .byAdding(days = validityDays) } else { - dateExpired( - greenCertificate.data.vaccinations?.get(0)?.dateOfVaccination!!, - dateFormat, - daysExpiredDgcMap["vaccine_booster"]!!, - holder - ) + null } + holder.dateEvent.text = + if (maxDateValidity !== null && maxDateValidity.time > todayDateMill) { + holder.validityDGC.backgroundTintList = + context.resources.getColorStateList(R.color.colorPrimary, null) + context.getString( + R.string.green_certificate_list_dgc_valid, + dateFormatString.format(maxDateValidity) + ) + } else { + holder.validityDGC.backgroundTintList = + context.resources.getColorStateList(R.color.danger, null) + context.getString(R.string.green_certificate_list_dgc_expired) + } holder.eventType.text = context.getString( R.string.green_certificate_card_vaccination, greenCertificate.data.vaccinations?.get(0)?.doseNumber, @@ -177,33 +207,33 @@ class CertificateDGCAdapter( ) } greenCertificate.data?.exemptions != null -> { - holder.dateEvent.text = if (greenCertificate.data?.exemptions!![0].certificateValidUntil != null) { - val todayDateMill = Date().byAdding().time - val maxDateValidity = dateFormat.parse(greenCertificate.data.exemptions!![0].certificateValidUntil!!)!! - if (maxDateValidity.time > todayDateMill) { - context.getString(R.string.green_certificate_list_dgc_valid, DateFormat.getDateFormat(context).format(greenCertificate.data.exemptions!![0].certificateValidUntil)) + val maxDateValidity = + if (!greenCertificate.data?.exemptions!![0].certificateValidUntil.isNullOrBlank()) { + dateFormat.parse(greenCertificate.data.exemptions?.get(0)?.certificateValidUntil!!)!! + } else if (daysExpiredDgcMap["exemption"] != null) { + dateFormat.parse(greenCertificate.data.exemptions?.get(0)?.certificateValidFrom!!)!! + .byAdding(days = daysExpiredDgcMap["exemption"]!!) + } else { + null + } + + holder.dateEvent.text = + if (maxDateValidity != null && maxDateValidity.time > todayDateMill) { + holder.validityDGC.backgroundTintList = + context.resources.getColorStateList(R.color.colorPrimary, null) + context.getString( + R.string.green_certificate_list_dgc_valid, + dateFormatString.format(maxDateValidity) + ) } else { + holder.validityDGC.backgroundTintList = + context.resources.getColorStateList(R.color.danger, null) context.getString(R.string.green_certificate_list_dgc_expired) } - } else { - context.getString(R.string.green_certificate_list_dgc_expired) - } holder.eventType.text = context.getString(R.string.green_certificate_card_exemption) } } } - - private fun dateExpired(dateFrom: String,simpleDateFormat: SimpleDateFormat, daysValidity: Int, holder: GreenPassVH): String { - val todayDateMill = Date().byAdding().time - val maxDateValidity = simpleDateFormat.parse(dateFrom)!!.byAdding(days = daysValidity) - return if (maxDateValidity.time > todayDateMill) { - holder.validityDGC.backgroundTintList = context.resources.getColorStateList(R.color.colorPrimary, null) - context.getString(R.string.green_certificate_list_dgc_valid, DateFormat.getDateFormat(context).format(maxDateValidity)) - } else { - holder.validityDGC.backgroundTintList = context.resources.getColorStateList(R.color.danger, null) - context.getString(R.string.green_certificate_list_dgc_expired) - } - } } interface CertificateDGCClickListener { diff --git a/app/src/main/java/it/ministerodellasalute/immuni/ui/certificate/CertificateDGCFragment.kt b/app/src/main/java/it/ministerodellasalute/immuni/ui/certificate/CertificateDGCFragment.kt index bda734a8..8f05bfcd 100644 --- a/app/src/main/java/it/ministerodellasalute/immuni/ui/certificate/CertificateDGCFragment.kt +++ b/app/src/main/java/it/ministerodellasalute/immuni/ui/certificate/CertificateDGCFragment.kt @@ -27,9 +27,9 @@ import it.ministerodellasalute.immuni.extensions.view.setSafeOnClickListener import it.ministerodellasalute.immuni.logic.settings.ConfigurationSettingsManager import it.ministerodellasalute.immuni.logic.user.UserManager import it.ministerodellasalute.immuni.logic.user.models.GreenCertificateUser +import kotlin.math.abs import kotlinx.android.synthetic.main.certificate_dgc.* import org.koin.android.ext.android.get -import kotlin.math.abs class CertificateDGCFragment : Fragment(R.layout.certificate_dgc), CertificateDGCClickListener { @@ -104,5 +104,4 @@ class CertificateDGCFragment : Fragment(R.layout.certificate_dgc), CertificateDG // important keep here, after navigating findNavController().popBackStack() } - } diff --git a/app/src/main/java/it/ministerodellasalute/immuni/ui/certificate/CertificateDGCKnowMore.kt b/app/src/main/java/it/ministerodellasalute/immuni/ui/certificate/CertificateDGCKnowMore.kt index 03f6ef52..88ae205d 100644 --- a/app/src/main/java/it/ministerodellasalute/immuni/ui/certificate/CertificateDGCKnowMore.kt +++ b/app/src/main/java/it/ministerodellasalute/immuni/ui/certificate/CertificateDGCKnowMore.kt @@ -5,7 +5,7 @@ import android.view.View import it.ministerodellasalute.immuni.R import it.ministerodellasalute.immuni.ui.dialog.PopupDialogFragment -class CertificateDGCKnowMore: PopupDialogFragment() { +class CertificateDGCKnowMore : PopupDialogFragment() { override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) diff --git a/app/src/main/java/it/ministerodellasalute/immuni/ui/dialog/ConfirmationDialogFragment.kt b/app/src/main/java/it/ministerodellasalute/immuni/ui/dialog/ConfirmationDialogFragment.kt index 0c7c23c8..80ff7406 100644 --- a/app/src/main/java/it/ministerodellasalute/immuni/ui/dialog/ConfirmationDialogFragment.kt +++ b/app/src/main/java/it/ministerodellasalute/immuni/ui/dialog/ConfirmationDialogFragment.kt @@ -54,7 +54,6 @@ class ConfirmationDialogFragment : DialogFragment() { targetRequestCode ) } - } .setNegativeButton(args.getString(ARG_NEGATIVE_BUTTON)) { _, _ -> listener.onDialogNegative( diff --git a/app/src/main/java/it/ministerodellasalute/immuni/ui/greencertificate/GreenCertificateFragment.kt b/app/src/main/java/it/ministerodellasalute/immuni/ui/greencertificate/GreenCertificateFragment.kt index aec98741..8446e89d 100644 --- a/app/src/main/java/it/ministerodellasalute/immuni/ui/greencertificate/GreenCertificateFragment.kt +++ b/app/src/main/java/it/ministerodellasalute/immuni/ui/greencertificate/GreenCertificateFragment.kt @@ -41,11 +41,11 @@ import it.ministerodellasalute.immuni.logic.user.models.User import it.ministerodellasalute.immuni.ui.dialog.ConfirmationDialogListener import it.ministerodellasalute.immuni.ui.dialog.openConfirmationDialog import it.ministerodellasalute.immuni.util.ImageUtils +import kotlin.math.abs import kotlinx.android.synthetic.main.green_certificate.* import kotlinx.android.synthetic.main.green_certificate_tab.* import org.koin.android.ext.android.get import org.koin.androidx.viewmodel.ext.android.getViewModel -import kotlin.math.abs class GreenCertificateFragment : Fragment(R.layout.green_certificate), ConfirmationDialogListener { @@ -146,7 +146,6 @@ class GreenCertificateFragment : Fragment(R.layout.green_certificate), Confirmat } } - TabLayoutMediator(tabLayoutDot, viewpager) { tab, position -> // Some implementation }.attach() @@ -305,7 +304,7 @@ class GreenCertificateFragment : Fragment(R.layout.green_certificate), Confirmat if (uid.isNullOrBlank()) { return 0 } - var i = 0; + var i = 0 var indexSelected = 0 loop@ for (greenPass in userManager.user.value?.greenPass!!.asReversed()) { when (true) { diff --git a/app/src/main/java/it/ministerodellasalute/immuni/ui/home/HomeFragment.kt b/app/src/main/java/it/ministerodellasalute/immuni/ui/home/HomeFragment.kt index 5f37aae1..6139150a 100644 --- a/app/src/main/java/it/ministerodellasalute/immuni/ui/home/HomeFragment.kt +++ b/app/src/main/java/it/ministerodellasalute/immuni/ui/home/HomeFragment.kt @@ -309,6 +309,5 @@ class HomeFragment : Fragment(), } private fun openCertificate() { - } } diff --git a/app/src/main/java/it/ministerodellasalute/immuni/ui/home/HomeListAdapter.kt b/app/src/main/java/it/ministerodellasalute/immuni/ui/home/HomeListAdapter.kt index 8399c386..65f2decd 100644 --- a/app/src/main/java/it/ministerodellasalute/immuni/ui/home/HomeListAdapter.kt +++ b/app/src/main/java/it/ministerodellasalute/immuni/ui/home/HomeListAdapter.kt @@ -218,7 +218,7 @@ class HomeListAdapter( is CertificateVH -> { val listGreenCertificateHome = getCertificateHome() if (listGreenCertificateHome.isNotEmpty()) { - holder.person.text = "${listGreenCertificateHome[0].data?.person?.givenName} ${listGreenCertificateHome[0].data?.person?.familyName}" + holder.person.text = "${listGreenCertificateHome[0].data?.person?.familyName} ${listGreenCertificateHome[0].data?.person?.givenName}" holder.qrCodeHome.setImageBitmap(ImageUtils.convert(listGreenCertificateHome[0].base64)) } } @@ -242,7 +242,7 @@ class HomeListAdapter( override fun getItemCount(): Int = items.size private fun getCertificateHome(): List { - return userManager.user.value?.greenPass!!.filter { greenCertificateUser -> greenCertificateUser.addedHomeDgc} + return userManager.user.value?.greenPass!!.filter { greenCertificateUser -> greenCertificateUser.addedHomeDgc } } } diff --git a/app/src/main/java/it/ministerodellasalute/immuni/ui/main/MainViewModel.kt b/app/src/main/java/it/ministerodellasalute/immuni/ui/main/MainViewModel.kt index b24f7582..820b3144 100644 --- a/app/src/main/java/it/ministerodellasalute/immuni/ui/main/MainViewModel.kt +++ b/app/src/main/java/it/ministerodellasalute/immuni/ui/main/MainViewModel.kt @@ -17,7 +17,6 @@ package it.ministerodellasalute.immuni.ui.main import android.content.Context import androidx.lifecycle.MutableLiveData -import androidx.lifecycle.Observer import androidx.lifecycle.ViewModel import androidx.lifecycle.asLiveData import androidx.lifecycle.viewModelScope @@ -26,7 +25,6 @@ import it.ministerodellasalute.immuni.extensions.lifecycle.AppLifecycleObserver import it.ministerodellasalute.immuni.extensions.notifications.PushNotificationManager import it.ministerodellasalute.immuni.logic.exposure.ExposureManager import it.ministerodellasalute.immuni.logic.user.UserManager -import it.ministerodellasalute.immuni.logic.user.models.GreenCertificateUser import it.ministerodellasalute.immuni.ui.home.* import kotlinx.coroutines.flow.combine import kotlinx.coroutines.flow.filter diff --git a/app/src/main/java/it/ministerodellasalute/immuni/ui/onboarding/fragments/viewpager/ExposureNotificationFragment.kt b/app/src/main/java/it/ministerodellasalute/immuni/ui/onboarding/fragments/viewpager/ExposureNotificationFragment.kt index a19c2bb6..3bc5823d 100644 --- a/app/src/main/java/it/ministerodellasalute/immuni/ui/onboarding/fragments/viewpager/ExposureNotificationFragment.kt +++ b/app/src/main/java/it/ministerodellasalute/immuni/ui/onboarding/fragments/viewpager/ExposureNotificationFragment.kt @@ -92,6 +92,6 @@ class ExposureNotificationFragment : } private fun canProceed(): Boolean { - return true //viewModel.isBroadcastingActive.value ?: false + return viewModel.isBroadcastingActive.value ?: false } } diff --git a/app/src/main/res/drawable/ic_qr.xml b/app/src/main/res/drawable/ic_qr.xml index 252d242c..2d06e73b 100644 --- a/app/src/main/res/drawable/ic_qr.xml +++ b/app/src/main/res/drawable/ic_qr.xml @@ -1,36 +1,12 @@ - - - - - - - - - - + + + + + + + + + + diff --git a/app/src/main/res/layout/home_green_certificate_card.xml b/app/src/main/res/layout/home_green_certificate_card.xml index debbe9c9..94195fdd 100644 --- a/app/src/main/res/layout/home_green_certificate_card.xml +++ b/app/src/main/res/layout/home_green_certificate_card.xml @@ -34,15 +34,6 @@ android:layout_height="wrap_content" android:minHeight="140dp"> - - Beachtung Es ist wichtig, das genaue Datum des Symptombeginns mitzuteilen, um eine genaue Kontaktverfolgung einzuleiten. Wählen Sie \"keine Symptome\" nur, wenn keine Symptome vorliegen oder wenn nach dem Tupfer Symptome auftreten. Was willst Du heute machen? - EU Digital Covid Certificate + Abrufen des EU Digital Covid Certificate Das EU Digital Covid Certificate wurde noch nicht wiederhergestellt EU Digital Covid Certificate Abrufen des EU Digital Covid Certificate @@ -512,4 +512,30 @@ Betriebssystem: iOS 13.5.1; Modell: iPhone XS; Expositionsmeldungen: Aktiv; [wei Zertifizierung gültig für 180 Tage (6 Monate) ab dem Datum der letzten Verabreichung, vorbehaltlich behördlicher Änderungen Quarantäne und Isolation Zertifizierung gültig in der Europäischen Union bis Gültigkeitsende und gültig in Italien 540 Tage (18 Monate) ab Gültigkeitsbeginn, vorbehaltlich behördlicher Änderungen + Zertifikate + Ihre digitalen EU Digital Covid Certificate + Fügen Sie Ihr EU Digital Covid Certificate zu Ihrem Zuhause hinzu, um es jeden Tag zur Hand zu haben. + Gültig bis %1$s in Italien + Antigen-Tupfer + Impfdosis %d/%d + In Italien abgelaufen + Zu Home hinzufügen + Von zu home entfernen + Molekularer Puffer + Befreiung + Heilung + Zu Hause hinzugefügt + Ab sofort können Sie Ihr EU Digital Covid Certificate auf der Startseite einsehen + OK + OK + Aus dem Haus entfernt + Ihr EU Digital Covid Certificate wurde von zu Hause entfernt, Sie können es im Abschnitt Zertifikate abrufen + Vorsicht + Es gibt bereits ein EU Digital Covid Certificate im Haus, möchten Sie es durch dieses ersetzen? + Ja, ersetzen + Nein + Ihr EU Digital Covid Certificate + So fügen Sie Ihrer Homepage Ihr EU Digital Covid Certificate hinzu + Wenn Sie Ihre EU Digital Covid Certificate bereits wiederhergestellt haben, gehen Sie in den Abschnitt Zertifikate, wählen Sie dasjenige aus, das Sie jeden Tag verwenden werden, und öffnen Sie es unten unter den Details finden Sie den Punkt „Zur Startseite hinzufügen“. Sie können es nach dem Hinzufügen jederzeit entfernen und ein anderes Ihrer Wahl einfügen. + Ab diesem Moment befindet sich das Zertifikat immer auf der Startseite, wenn Sie die Immuni-App öffnen. diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml index 41b17707..a072afc0 100644 --- a/app/src/main/res/values-es/strings.xml +++ b/app/src/main/res/values-es/strings.xml @@ -423,7 +423,7 @@ Sistema operativo: iOS 13.5.1; modelo: iPhone XS; notificaciones de exposición: Atención Es importante comunicar la fecha exacta de aparición de los síntomas para iniciar un seguimiento de contacto preciso. Seleccione \"sin síntomas\" solo en caso de ausencia total de síntomas o después del hisopo. ¿Qué quieres hacer hoy? - EU Digital Covid Certificate + Recuperar el EU Digital Covid Certificate EU Digital Covid Certificate Ultimas 8 cifras de la tarjeta sanitaria - Ingrese los últimos 10 caracteres del código CUN que se le comunicaron\n @@ -515,4 +515,30 @@ Sistema operativo: iOS 13.5.1; modelo: iPhone XS; notificaciones de exposición: Certificación válida por 180 días (6 meses) a partir de la fecha de la última administración, sujeta a cambios regulatorios Cuarentena y aislamiento Certificación válida en la Unión Europea hasta el final de la fecha de validez y válida en Italia 540 días (18 meses) desde el inicio de la fecha de validez, sujeta a cambios regulatorios + Certificados + Tus EU Digital Covid Certificate + Añade tu EU Digital Covid Certificate a tu casa para tenerlo al alcance de tu mano todos los días. + Válido hasta el %1$s en Italia + Dosis de vacunación %d/%d + Caducado en Italia + Agregar a la home + Quitar de la home + Tampón molecular + Hisopo antigénico + Exención + Curación + Añadido a casa + A partir de ahora puedes consultar tu EU Digital Covid Certificate en la página de inicio + OK + OK + Retirado de casa + Tu EU Digital Covid Certificate ha sido retirado de casa, puedes recuperarlo desde la sección de certificados + Precaución + Ya existe un EU Digital Covid Certificate en la vivienda, ¿quieres sustituirlo por este? + Sí, reemplazar + No + Tu EU Digital Covid Certificate + Cómo agregar su EU Digital Covid Certificate a su página de inicio + Si ya recuperó sus EU Digital Covid Certificate, ingrese a la sección Certificados, elija el que usará todos los días y ábralo, en la parte inferior, debajo de los detalles, encontrará el elemento \"Agregar a inicio\". Siempre puede eliminarlo después de agregarlo e insertar otro de su elección. + A partir de este momento, el Certificado estará siempre en la página de inicio cuando abra la aplicación Immuni. diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index 83df9bd8..b6d36b6b 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -422,7 +422,7 @@ Système d\'exploitation : iOS 13.5.1; Modèle iPhone XS ; Notifications de risq Attention Il est important de communiquer la date exacte d\'apparition des symptômes pour lancer un suivi précis des contacts. Sélectionnez \"aucun symptôme\" uniquement en cas d\'absence totale de symptômes ou d\'apparition de symptômes après le prélèvement. Que voulez-vous faire aujourd\'hui? - EU Digital Covid Certificate + Récupérer le EU Digital Covid Certificate Le EU Digital Covid Certificate n\'a pas encore été récupéré EU Digital Covid Certificate Récupérer le EU Digital Covid Certificate @@ -504,15 +504,41 @@ Système d\'exploitation : iOS 13.5.1; Modèle iPhone XS ; Notifications de risq Si vous lisez ce message, cela signifie que plusieurs certificats verts COVID-19 sont installés sur votre appareil: ils sont désormais affichés par ordre chronologique en commençant par le plus récent. N\'oubliez pas que vous pouvez les supprimer ou passer de l\'un à l\'autre en balayant latéralement avec votre doigt Certificat d\'exonération (illimité) Code fiscal du médecin certificateur - Date de début de validité de la certification + Date de début de validité de la certification Date de fin de validité de la certification - Code unique d\'exemption de vaccination (CUEV) - Cette certification est valable uniquement en Italie et peut être utilisée comme substitut de la certification verte COVID-19 pour l\'exécution d\'activités et l\'utilisation de services conformément à la législation nationale en vigueur + Code unique d\'exemption de vaccination (CUEV) + Cette certification est valable uniquement en Italie et peut être utilisée comme substitut de la certification verte COVID-19 pour l\'exécution d\'activités et l\'utilisation de services conformément à la législation nationale en vigueur VALABLE UNIQUEMENT EN ITALIE Certification numérique de l\'exemption de vaccination COVID-19 Sujet qui a délivré le certificat d\'exemption numérique - Certification valable 180 jours (6 mois) à compter de la date de la dernière administration, sous réserve de modifications réglementaires - Quarantaine et isolement - Certification valable dans l\'Union européenne jusqu\'à la date de fin de validité et valable en Italie 540 jours (18 mois) à compter de la date de début de validité, sous réserve de modifications réglementaires + Certification valable 180 jours (6 mois) à compter de la date de la dernière administration, sous réserve de modifications réglementaires + Quarantaine et isolement + Certification valable dans l\'Union européenne jusqu\'à la date de fin de validité et valable en Italie 540 jours (18 mois) à compter de la date de début de validité, sous réserve de modifications réglementaires + Certificats + Vos EU Digital Covid Certificate + Ajoutez votre EU Digital Covid Certificate à votre domicile pour l\'avoir à portée de main au quotidien. + Valable jusqu\'au %1$s en Italie + Dose vaccinale %d/%d + Expiré en Italie + Ajouter au home + Retirer du home + Tampon moléculaire + Écouvillon antigénique + Exemption + Guérison + Ajouté à la maison + Désormais, vous pouvez consulter votre certificat numérique Covid européen sur la page d\'accueil + OK + OK + Retiré de la maison + Votre EU Digital Covid Certificate a été retiré de chez vous, vous pouvez le récupérer dans la section des certificats + Mise en garde + Il existe déjà un EU Digital Covid Certificate dans le logement, souhaitez-vous le remplacer par celui-ci ? + Oui, remplacer + Non + Votre EU Digital Covid Certificate + Comment ajouter votre EU Digital Covid Certificate sur votre page d\'accueil + Si vous avez déjà récupéré vos EU Digital Covid Certificate, entrez dans la section Certificats, choisissez celui que vous utiliserez tous les jours et ouvrez-le, en bas, sous les détails, vous trouverez l\'élément \"Ajouter à l\'accueil\". Vous pouvez toujours l\'enlever après l\'avoir ajouté et en insérer un autre de votre choix. + À partir de ce moment, le certificat sera toujours sur la page d\'accueil lorsque vous ouvrirez l\'application Immuni. diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index 5d39b514..432bd393 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -422,7 +422,7 @@ Sistema operativo: iOS 13.5.1; Modello iPhone XS; Notifiche di esposizione: Atti Attenzione È importante comunicare la data esatta di inizio sintomi per avviare un tracciamento preciso dei contatti. Seleziona \"nessun sintomo\" solo in caso di completa assenza di sintomi o di comparsa dei sintomi dopo il tampone. Cosa vuoi fare oggi? - EU Digital Covid Certificate + Recupera EU Digital Covid Certificate Non sono ancora stati recuperati EU Digital Covid Certificate EU Digital Covid Certificate Recupera EU Digital Covid Certificate @@ -514,5 +514,31 @@ Sistema operativo: iOS 13.5.1; Modello iPhone XS; Notifiche di esposizione: Atti Certificazione valida 180 giorni (6 mesi) dalla data dell\'ultima somministrazione, salvo modifiche normative Quarantena e isolamento Certificazione valida in Unione Europea fino alla data di fine validità e valida in Italia 540 giorni (18 mesi) dalla data di inizio validità, salvo modifiche normative + Certificati + I tuoi EU Digital Covid Certificate + Aggiungi la tua EU Digital Covid in home per averla a portata di mano tutti i giorni. + Valido fino al %1$s in Italia + Scaduto in Italia + Aggiungi a home + Rimuovi da home + Vaccinazione dose %d/%d + Tampone molecolare + Tampone antigenico + Esenzione + Guarigione + Aggiunto a home + Da ora potrai visualizzare la tua EU Digital Covid Certificate in home + OK + Rimosso da home + Il tuo EU Digital Covid Certificate è stato rimosso da home, potrai recuperarlo dalla sezione certificati + OK + Attenzione + Esiste già un EU Digital Covid Certificate in home, vuoi sostituirlo con questo? + Si, sostituisci + No + La tua EU Digital Covid Certificate + Come aggiungere in home la tua Eu Digital Covid Certificate + Se hai già recuperato i tuoi EU Digital Covid Certificate, entra nella sezione Certificati, scegli quello che utilizzerai tutti i giorni e aprilo, in basso, sotto i dettagli, troverai la voce \"Aggiungi a home\". Potrai sempre rimuoverlo dopo averlo aggiunto e inserirne un altro a tua scelta. + Da questo momento il Certificato sarà sempre in home quando aprirai l’app Immuni. diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index d3fa9082..801d5015 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -419,7 +419,7 @@ Operating system: iOS 13.5.1; Model: iPhone XS; Exposure notifications: Active; Attention It is important to communicate the exact symptom onset date to initiate accurate contact tracking. Select \"no symptoms\" only in case of complete absence of symptoms or the appearance of symptoms after the swab. What do you want to do today? - EU Digital Covid Certificate + Retrieve EU Digital Covid Certificate EU Digital Covid Certificate The EU Digital Covid Certificate has not yet been recovered Retrieve EU Digital Covid Certificate @@ -598,30 +598,30 @@ Operating system: iOS 13.5.1; Model: iPhone XS; Exposure notifications: Active; Quarantine and isolation Certification valid in the European Union until the end of validity date and valid in Italy 540 days (18 months) from the start of validity date, subject to regulatory changes - Certificati - I tuoi EU Digital Covid Certificate - Aggiungi la tua EU Digital Covid in home per averla a portata di mano tutti i giorni. - Valido fino al %1$s in Italia - Scaduto in Italia - Aggiungi a home - Rimuovi da home - Vaccinazione dose %d/%d - Tampone Molecolare - Tampone Antigenico - Esenzione - Guarigione - Aggiunto a home - Da ora potrai visualizzare la tua EU Digital Covid Certificate in home + Certificates + Your EU Digital Covid Certificates + Add your EU Digital Covid to your home to have it at your fingertips every day. + Valid until %1$s in Italy + Expired in Italy + Add to home + Remove from home + Vaccination dose %d/%d + Molecular buffer + Antigenic swab + Exemption + Healing + Added to home + From now on you can view your EU Digital Covid Certificate on the home page OK - Rimosso da home - Il tuo EU Digital Covid Certificate è stato rimosso da home, potrai recuperarlo dalla sezione certificati + Removed from home + Your EU Digital Covid Certificate has been removed from home, you can retrieve it from the certificates section OK - Attenzione - Esiste già un EU Digital Covid Certificate in home, vuoi sostituirlo con questo? - Si, sostituisci + Caution + There is already an EU Digital Covid Certificate in the home, do you want to replace it with this one? + Yes, replace No - Il tuo EU Digital Covid Certificate - Come aggiungere in home la tua Eu Digital Covid Certificate - Se hai già recuperato i tuoi EU Digital Covid Certificate, entra nella sezione Certificati, scegli quello che utilizzerai tutti i giorni e aprilo, in basso, sotto i dettagli, troverai la voce Aggiungi a home. Potrai sempre rimuoverlo dopo averlo aggiunto e inserirne un altro a tua scelta. - Da questo momento il Certificato sarà sempre in home quando aprirai l’app Immuni. + Your EU Digital Covid Certificate + How to add your Eu Digital Covid Certificate on your home page + If you have already recovered your EU Digital Covid Certificates, enter the Certificates section, choose the one you will use every day and open it, at the bottom, under the details, you will find the \"Add to home\" item. You can always remove it after adding it and insert another one of your choice. + From this moment on, the Certificate will always be on the home page when you open the Immuni app. diff --git a/build.gradle b/build.gradle index 28f87f32..77985d38 100644 --- a/build.gradle +++ b/build.gradle @@ -4,8 +4,8 @@ buildscript { ext { // App version digits versionMajor = 2 - versionMinor = 5 - versionPatch = 10 + versionMinor = 6 + versionPatch = 0 // Version name follows the .. convention computeVersionName = { ->