Skip to content

Commit

Permalink
feat: entry into italy
Browse files Browse the repository at this point in the history
Co-authored-by: Nicola MC <[email protected]>
Co-authored-by: Kaizen <[email protected]>
  • Loading branch information
3 people authored Feb 14, 2022
1 parent ad8e1a8 commit 6ffa15a
Show file tree
Hide file tree
Showing 4 changed files with 57 additions and 34 deletions.
4 changes: 2 additions & 2 deletions app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -92,8 +92,8 @@ android {
applicationId "it.ministerodellasalute.verificaC19"
minSdkVersion Config.minSdk
targetSdkVersion Config.targetSdk
versionCode 648
versionName "1.2.4"
versionCode 651
versionName "1.2.5"
testInstrumentationRunner Config.androidTestInstrumentation
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -251,12 +251,12 @@ class FirstActivity : AppCompatActivity(), View.OnClickListener,
} else {
var chosenScanMode =
when (currentScanMode) {
ScanMode.STANDARD -> getString(R.string.scan_mode_3G_header)
ScanMode.STRENGTHENED -> getString(R.string.scan_mode_2G_header)
ScanMode.BOOSTER -> getString(R.string.scan_mode_booster_header)
ScanMode.SCHOOL -> getString(R.string.scan_mode_school_header)
ScanMode.WORK -> getString(R.string.scan_mode_work_header)

ScanMode.STANDARD -> getString(R.string.scan_mode_3G_header).substringAfter(' ').toUpperCase(Locale.ROOT)
ScanMode.STRENGTHENED -> getString(R.string.scan_mode_2G_header).substringAfter(' ').toUpperCase(Locale.ROOT)
ScanMode.BOOSTER -> getString(R.string.scan_mode_booster_header).substringAfter(' ').toUpperCase(Locale.ROOT)
ScanMode.WORK -> getString(R.string.scan_mode_work_header).substringAfter(' ').toUpperCase(Locale.ROOT)
ScanMode.ENTRY_ITALY -> getString(R.string.scan_mode_entry_italy_header).substringAfter(' ').toUpperCase(Locale.ROOT)
ScanMode.SCHOOL -> getString(R.string.scan_mode_school_header).substringAfter(' ').toUpperCase(Locale.ROOT)
else -> getString(R.string.scan_mode_3G_header)
}
chosenScanMode += "\n"
Expand All @@ -265,8 +265,9 @@ class FirstActivity : AppCompatActivity(), View.OnClickListener,
ScanMode.STANDARD -> getString(R.string.label_scan_mode_3G)
ScanMode.STRENGTHENED -> getString(R.string.label_scan_mode_2G)
ScanMode.BOOSTER -> getString(R.string.label_scan_mode_booster)
ScanMode.WORK -> getString(R.string.label_scan_mode_work)
ScanMode.ENTRY_ITALY -> getString(R.string.label_scan_mode_entry_italy)
ScanMode.SCHOOL -> getString(R.string.label_scan_mode_school)
ScanMode.WORK -> getString(R.string.scan_mode_work)
else -> getString(R.string.label_scan_mode_3G)
}
val s = SpannableStringBuilder()
Expand Down Expand Up @@ -459,8 +460,9 @@ class FirstActivity : AppCompatActivity(), View.OnClickListener,
ScanMode.STANDARD -> 0
ScanMode.STRENGTHENED -> 1
ScanMode.BOOSTER -> 2
ScanMode.SCHOOL -> 3
ScanMode.WORK -> 4
ScanMode.WORK -> 3
ScanMode.ENTRY_ITALY -> 4
ScanMode.SCHOOL -> 5
else -> 0
}
val scanModeChoices = arrayOf(
Expand All @@ -487,18 +489,25 @@ class FirstActivity : AppCompatActivity(), View.OnClickListener,
),
getString(
R.string.label_alert_dialog_option,
getString(R.string.scan_mode_school_header).substringAfter(' ').toUpperCase(
getString(R.string.scan_mode_work_header).substringAfter(' ').toUpperCase(
Locale.ROOT
),
getString(R.string.label_scan_mode_school)
getString(R.string.label_scan_mode_work)
),
getString(
R.string.label_alert_dialog_option,
getString(R.string.scan_mode_work_header).substringAfter(' ').toUpperCase(
getString(R.string.scan_mode_entry_italy_header).substringAfter(' ').toUpperCase(
Locale.ROOT
),
getString(R.string.scan_mode_work)
)
getString(R.string.label_scan_mode_entry_italy)
),
getString(
R.string.label_alert_dialog_option,
getString(R.string.scan_mode_school_header).substringAfter(' ').toUpperCase(
Locale.ROOT
),
getString(R.string.label_scan_mode_school)
),
)

mBuilder.setTitle(getString(R.string.label_scan_mode))
Expand All @@ -508,8 +517,9 @@ class FirstActivity : AppCompatActivity(), View.OnClickListener,
0 -> viewModel.setScanMode(ScanMode.STANDARD)
1 -> viewModel.setScanMode(ScanMode.STRENGTHENED)
2 -> viewModel.setScanMode(ScanMode.BOOSTER)
3 -> viewModel.setScanMode(ScanMode.SCHOOL)
4 -> viewModel.setScanMode(ScanMode.WORK)
3 -> viewModel.setScanMode(ScanMode.WORK)
4 -> viewModel.setScanMode(ScanMode.ENTRY_ITALY)
5 -> viewModel.setScanMode(ScanMode.SCHOOL)
}
dialog.dismiss()
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -127,6 +127,8 @@ class VerificationFragment : Fragment(), View.OnClickListener {
.toUpperCase(Locale.ROOT)
ScanMode.WORK -> getString(R.string.scan_mode_work_header).substringAfter(' ')
.toUpperCase(Locale.ROOT)
ScanMode.ENTRY_ITALY -> getString(R.string.scan_mode_entry_italy_header).substringAfter(' ')
.toUpperCase(Locale.ROOT)
}
val scanModeLabel = getString(R.string.label_scan_mode_ver)
binding.scanModeText.text =
Expand All @@ -147,7 +149,7 @@ class VerificationFragment : Fragment(), View.OnClickListener {
val questionMap: Map<String, String> = when (certStatus) {
CertificateStatus.VALID -> mapOf(getString(R.string.label_what_can_be_done) to "https://www.dgc.gov.it/web/faq.html#verifica19")
CertificateStatus.NOT_VALID_YET -> mapOf(getString(R.string.label_when_qr_valid) to "https://www.dgc.gov.it/web/faq.html#verifica19")
CertificateStatus.NOT_VALID, CertificateStatus.TEST_NEEDED, CertificateStatus.REVOKED -> mapOf(
CertificateStatus.NOT_VALID, CertificateStatus.EXPIRED, CertificateStatus.TEST_NEEDED, CertificateStatus.REVOKED -> mapOf(
getString(R.string.label_why_qr_not_valid) to "https://www.dgc.gov.it/web/faq.html#verifica19"
)
CertificateStatus.NOT_EU_DCC -> mapOf(getString(R.string.label_which_qr_scan) to "https://www.dgc.gov.it/web/faq.html#verifica19")
Expand All @@ -171,7 +173,7 @@ class VerificationFragment : Fragment(), View.OnClickListener {
binding.subtitleText.text =
when (certStatus) {
CertificateStatus.VALID, CertificateStatus.TEST_NEEDED -> getString(R.string.subtitle_text)
CertificateStatus.NOT_VALID, CertificateStatus.NOT_VALID_YET -> getString(R.string.subtitle_text_notvalid)
CertificateStatus.NOT_VALID, CertificateStatus.EXPIRED, CertificateStatus.NOT_VALID_YET -> getString(R.string.subtitle_text_notvalid)
else -> getString(R.string.subtitle_text_technicalError)
}
}
Expand All @@ -184,6 +186,7 @@ class VerificationFragment : Fragment(), View.OnClickListener {
R.string.certificateNonValid
)
CertificateStatus.NOT_VALID -> getString(R.string.certificateNonValid)
CertificateStatus.EXPIRED -> getString(R.string.certificateExpired)
CertificateStatus.TEST_NEEDED -> getString(R.string.certificateValidTestNeeded)
CertificateStatus.NOT_VALID_YET -> getString(R.string.certificateNonValidYet)
}
Expand All @@ -204,7 +207,7 @@ class VerificationFragment : Fragment(), View.OnClickListener {

private fun setPersonDetailsVisibility(certStatus: CertificateStatus) {
binding.containerPersonDetails.visibility = when (certStatus) {
CertificateStatus.VALID, CertificateStatus.REVOKED, CertificateStatus.TEST_NEEDED, CertificateStatus.NOT_VALID, CertificateStatus.NOT_VALID_YET -> View.VISIBLE
CertificateStatus.VALID, CertificateStatus.REVOKED, CertificateStatus.TEST_NEEDED, CertificateStatus.NOT_VALID, CertificateStatus.EXPIRED, CertificateStatus.NOT_VALID_YET -> View.VISIBLE
else -> View.GONE
}
}
Expand Down
36 changes: 23 additions & 13 deletions app/src/main/res/values/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@
<string name="expirationText">Data scadenza certificato</string>
<string name="certificateValid">Certificazione valida</string>
<string name="certificateNonValid">Certificazione non valida</string>
<string name="certificateExpired">Certificazione scaduta</string>
<string name="certificateRevoked">Certificazione revocata</string>
<string name="certificateNonValidYet">Certificazione non ancora valida</string>
<string name="certificateNotDCC">Errore di lettura del QR Code, oppure non è il Certificato verde COVID-19</string>
Expand Down Expand Up @@ -93,23 +94,32 @@
<string name="scan_mode_3G_header">Verifica Base</string>
<string name="scan_mode_2G_header">Verifica Rafforzata</string>
<string name="scan_mode_booster_header">Verifica Visitatori RSA</string>
<string name="scan_mode_school_header">Verifica Studenti</string>
<string name="scan_mode_work_header">Verifica Lavoro</string>
<string name="scan_mode_entry_italy_header">Verifica Ingresso IT</string>
<string name="scan_mode_school_header">Verifica Studenti</string>

<string name="label_scan_mode_3G">Vaccinazione/Guarigione/Tampone</string>
<string name="label_scan_mode_2G">Vaccinazione/Guarigione</string>
<string name="label_scan_mode_booster">Richiamo/ciclo completo+tampone/guarigione+tampone</string>
<string name="label_scan_mode_school">Richiamo/ciclo completo e guarigione &lt;120gg</string>
<string name="scan_mode_work">Test/Test</string>
<string name="label_scan_mode_3G">vaccinazione/guarigione/tampone</string>
<string name="label_scan_mode_2G">vaccinazione/guarigione</string>
<string name="label_scan_mode_booster">richiamo/ciclo completo+tampone/guarigione+tampone</string>
<string name="label_scan_mode_work">base &lt;50anni – rafforzata &gt;= 50anni</string>
<string name="label_scan_mode_entry_italy">richiamo/ciclo completo &lt;=270gg/guarigione/tampone</string>
<string name="label_scan_mode_school">richiamo/ciclo completo e guarigione &lt;120gg</string>

<string name="label_choose_scan_mode">Scegli tipologia di verifica</string>
<string name="label_no_scan_mode_chosen">Per procedere alla scansione selezionare una delle tipologie di verifica della Certificazione verde Covid-19: BASE, RAFFORZATA, VISITATORI RSA, STUDENTI. \n
\nTipologia BASE: la app considera valide le certificazioni verdi generate da vaccinazione, da guarigione, da tampone. \n
\nTipologia RAFFORZATA: la app considera valide solo le certificazioni verdi generate da vaccinazione o da guarigione. \n
\nTipologia VISITATORI RSA: da utilizzare per l\'accesso di visitatori alle strutture residenziali, socio-assistenziali, socio-sanitarie e hospice: la app considera valide le certificazioni verdi generate da vaccinazione con dose di richiamo. Considera valide, inoltre, le certificazioni verdi generate da vaccinazione con ciclo primario completato o guarigione insieme alla contestuale presentazione di un documento, cartaceo o digitale, che attesti l’esito negativo di un test al SARS-CoV-2. \n
\nTipologia STUDENTI: da utilizzare nelle classi della scuola secondaria per la didattica in presenza in presenza di due casi positivi: la app considera valide le certificazioni verdi generate da vaccinazione con dose di richiamo e quelle con ciclo primario o guarigione, se emesse da meno di 120 giorni. \n
\nTipologia LAVORO: da utilizzare nei luoghi di lavoro. \n
\nConsulta la tabella sulle attività consentite senza o con green pass ( link https://www.governo.it/sites/governo.it/files/documenti/documenti/Notizie-allegati/tabella_attivita_consentite.pdf )</string>
<string name="label_no_scan_mode_chosen">Per procedere alla scansione selezionare una delle tipologie di verifica della Certificazione verde Covid-19: BASE, RAFFORZATA, VISITATORI RSA, LAVORO, INGRESSO IT, STUDENTI. \n
\n Tipologia BASE: la app considera valide le certificazioni verdi generate da vaccinazione, da guarigione, da tampone e le certificazioni di esenzione dalla vaccinazione. \n

\n Tipologia RAFFORZATA: la app considera valide solo le certificazioni verdi generate da vaccinazione o da guarigione e le certificazioni di esenzione dalla vaccinazione. \n

\n Tipologia VISITATORI RSA - da utilizzare per l\'accesso di visitatori alle strutture residenziali, socio-assistenziali, socio-sanitarie e hospice: la app considera valide le certificazioni verdi generate da vaccinazione con dose di richiamo. Considera valide, inoltre, le certificazioni verdi generate da vaccinazione con ciclo primario completato o guarigione insieme alla contestuale presentazione di un esito negativo di un test al SARS-CoV-2 eseguito nelle 48 ore precedenti. \n

\n Tipologia LAVORO - da utilizzare per l\’accesso ai luoghi di lavoro dal 15 febbraio: fino ai 49 anni di età la app considera valide le certificazioni verdi generate da vaccinazione, da guarigione o da tampone. Dai 50 anni compiuti in su, considera valide solo le certificazioni verdi generate da vaccinazione o da guarigione. La app considera comunque valide le certificazioni di esenzione dalla vaccinazione. \n

\n Tipologia INGRESSO IT - da utilizzare all\’atto dell\'ingresso in Italia dall\'estero: la app considera valide tutte le tipologie di certificazione verde COVID-19 (vaccinazione, guarigione o tampone) secondo le regole di validazione europee per la circolazione tra gli Stati Membri. Sulla base del tipo di vaccino o ciclo completato da più di 180gg e fino a 270gg può richiedere la contestuale presentazione di un esito negativo di un test al SARS-CoV-2 eseguito nelle 48 ore precedenti \n

\n Tipologia STUDENTI - da utilizzare nelle classi della scuola primaria e secondaria per la didattica in presenza, in classi con casi di positività accertati: la app considera valide le certificazioni verdi generate da vaccinazione con dose di richiamo e quelle con ciclo primario o guarigione, se emesse da meno di 120 giorni e le certificazioni di esenzione dalla vaccinazione. \n

\n Consulta la tabella sulle attività consentite senza/ o con green pass base rafforzato (link https://www.governo.it/sites/governo.it/files/documenti/documenti/Notizie-allegati/tabella_attivita_consentite.pdf)"</string>
<string name="label_alert_dialog_option">%1$s (%2$s)</string>
<string name="label_verification_scan_mode">%1$s: %2$s</string>
<string name="label_download">Scarica Ora</string>
Expand Down

0 comments on commit 6ffa15a

Please sign in to comment.