ministero-salute / it-dgc-verificaC19-android

VerificaC19 is the official Italian customization of the EU Digital COVID Certificate Verifier App for the Android Operating System
https://www.dgc.gov.it
Apache License 2.0
103 stars 54 forks source link

Invio risposta ad un dispositivo/pc #233

Closed EdossProject closed 2 years ago

EdossProject commented 2 years ago

Salve, sarebbe possibile (una volta letto il greenpass) inviare una Notifica/Un Output ad un PC/Server...

Esempio:

GreenPass Positivo -> PC Server OK GreenPass Negativo -> PC Server KO

Tutto qui... Grazie

nedex commented 2 years ago

In che modo sarebbe utile per tutti?

EdossProject commented 2 years ago

Mi immagino una piantana che legge il greenpass (esempio in un azienda) collegata ad un Arduino che quando riceve OK (apre la sbarra o illumina un LED verde/rosso).

EdossProject commented 2 years ago

UP? Aggiornamenti?

nicetomytyuk commented 2 years ago

@EdossProject penso che per una modifica del genere il diretto interessato dovrebbe fare un bel fork e farsi la versione customizzata date le proprie necessità..

EdossProject commented 2 years ago

Se qualcuno mi dice che parte del codice restituisce quel dato lo faccio volentieri.

nicetomytyuk commented 2 years ago

@EdossProject lo stato e i dati vengono restituiti una volta che un certificato è letto dentro onViewCreated di VerificationFragment nello specifico dentro la sottoscrizione a viewModel.certificate quindi dovresti implementare la tua logica proprio in questo punto, altrimenti direttamente dopo la decodifica del certificato in CodeReaderFragment.

EdossProject commented 2 years ago

@EdossProject lo stato e i dati vengono restituiti una volta che un certificato è letto dentro onViewCreated di VerificationFragment nello specifico dentro la sottoscrizione a viewModel.certificate quindi dovresti implementare la tua logica proprio in questo punto, altrimenti direttamente dopo la decodifica del certificato in CodeReaderFragment.

Presumo che if ( viewModel.getTotemMode() && (certificate.certificateStatus == CertificateStatus.VALID) )

identifichi lo stato valido, dovrei aggiungere un else o c'è gia una voce che lavori sul INVALID?

Grazie per l'aiuto

nicetomytyuk commented 2 years ago

@EdossProject non proprio, quell'IF entra nel gioco solo quando il TotemModeè settato su true quindi attenzione, controlla tutto il codice nel blocco come setPersonData per capire come si comporta con i vari stati il fragment.

Comunque puoi semplicemente aggiungere nel blocco una funzione dove gli passi il certificate e dove successivamente fai le tue verifiche e le tue chiamate ad Arduino in base se il CertificateStatus è VALID o meno, poi ovviamente è tua la logica che dovresti utilizzare e vedere tu stesso come e dove è meglio implementare il tutto.

EdossProject commented 2 years ago

@EdossProject non proprio, quell'IF entra nel gioco solo quando il TotemModeè settato su true quindi attenzione, controlla tutto il codice nel blocco come setPersonData per capire come si comporta con i vari stati il fragment.

Comunque puoi semplicemente aggiungere nel blocco una funzione dove gli passi il certificate e dove successivamente fai le tue verifiche e le tue chiamate ad Arduino in base se il CertificateStatus è VALID o meno, poi ovviamente è tua la logica che dovresti utilizzare e vedere tu stesso come e dove è meglio implementare il tutto.

Grazie per le indicazioni. Purtroppo non sono pratico di Kotlin, quindi dovrei creare una PRIVATE FUN che in caso sia VALID invia ad arduino OK altrimenti KO. Corretto?