ministero-salute / it-dgc-verificac19-sdk-android

Digital Covid Certificate SDK
Apache License 2.0
57 stars 30 forks source link

Scaricamento aggiornamento dati e regole #141

Closed umbonoce closed 2 years ago

umbonoce commented 2 years ago

Issue content

Salve a tutti, dopo aver installato ed inizializzato l'sdk seguendo tutti i passi descritti nel read.me, prendendo anche spunto dal codice di verifica c19 per quanto concerne l'utilizzo, la mia app non riesce a scaricare i pacchetti dei dati di aggiornamento. C'è qualche operazione necessaria per consentire il download di questi pacchetti?

Vi allego cosa stampa la console per maggiore chiarezza. Grazie in anticipo per l'aiuto.

I/Perf: Connecting to perf service. D/NetworkSecurityConfig: No Network Security Config specified, using platform default D/NetworkSecurityConfig: No Network Security Config specified, using platform default I/TetheringManager: registerTetheringEventCallback:it.uniba.informaticaforense.brodiverificac19 W/rodiverificac1: Accessing hidden method Landroid/view/View;->computeFitSystemWindows(Landroid/graphics/Rect;Landroid/graphics/Rect;)Z (greylist, reflection, allowed) W/rodiverificac1: Accessing hidden method Landroid/view/ViewGroup;->makeOptionalFitsSystemWindows()V (greylist, reflection, allowed) W/rodiverificac1: Accessing hidden method Ljava/lang/invoke/MethodHandles$Lookup;->(Ljava/lang/Class;I)V (greylist, reflection, allowed) I/AdrenoGLES-0: QUALCOMM build : d4cfdf3, Ic907de5ed0 Build Date : 09/25/20 OpenGL ES Shader Compiler Version: EV031.32.02.01 Local Branch : mybrancheaff3d46-e51f-f136-8926-1458d0b52af0 Remote Branch : quic/gfx-adreno.lnx.1.0.r116-rel Remote Branch : NONE Reconstruct Branch : NOTHING Build Config : S P 10.0.7 AArch64 Driver Path : /vendor/lib64/egl/libGLESv2_adreno.so I/AdrenoGLES-0: PFP: 0x016ee190, ME: 0x00000000 I/LoadKeysWorker: key fetching start V/BaseRepository: Do network coroutine work V/BaseRepository: Do network coroutine work W/BaseRepository: Throwable kotlinx.coroutines.JobCancellationException: Job was cancelled; job=JobImpl{Cancelling}@9e22f17 Throwable kotlinx.coroutines.JobCancellationException: Job was cancelled; job=JobImpl{Cancelling}@9e22f17 I/WM-WorkerWrapper: Work [ id=4a95fac7-cb8e-47d0-986f-adcd8cd9de74, tags={ it.ministerodellasalute.verificaC19sdk.worker.LoadKeysWorker } ] was cancelled java.util.concurrent.CancellationException: Task was cancelled. at androidx.work.impl.utils.futures.AbstractFuture.cancellationExceptionWithCause(AbstractFuture.java:1184) at androidx.work.impl.utils.futures.AbstractFuture.getDoneValue(AbstractFuture.java:514) at androidx.work.impl.utils.futures.AbstractFuture.get(AbstractFuture.java:475) at androidx.work.impl.WorkerWrapper$2.run(WorkerWrapper.java:311) at androidx.work.impl.utils.SerialExecutor$Task.run(SerialExecutor.java:91) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641) at java.lang.Thread.run(Thread.java:923) E/WM-WorkerWrapper: Didn't find WorkSpec for id 4a95fac7-cb8e-47d0-986f-adcd8cd9de74 I/LoadKeysWorker: key fetching start V/BaseRepository: Do network coroutine work V/BaseRepository: Do network coroutine work I/LoadKeysWorker: key fetching result: false I/WM-WorkerWrapper: Worker result RETRY for Work [ id=07fb99cd-8e72-4147-a1e3-f450a97460a0, tags={ it.ministerodellasalute.verificaC19sdk.worker.LoadKeysWorker } ] I/LoadKeysWorker: key fetching start V/BaseRepository: Do network coroutine work V/BaseRepository: Do network coroutine work I/LoadKeysWorker: key fetching result: false I/WM-WorkerWrapper: Worker result RETRY for Work [ id=07fb99cd-8e72-4147-a1e3-f450a97460a0, tags={ it.ministerodellasalute.verificaC19sdk.worker.LoadKeysWorker } ] W/InputEventReceiver: Attempted to finish an input event but the input event receiver has already been disposed. D/OpenGLRenderer: endAllActiveAnimators on 0xb400007462eaa840 (RippleDrawable) with handle 0xb400007382e85bb0 W/InputEventReceiver: Attempted to finish an input event but the input event receiver has already been disposed. W/InputEventReceiver: Attempted to finish an input event but the input event receiver has already been disposed. I/LoadKeysWorker: key fetching start V/BaseRepository: Do network coroutine work Do network coroutine work I/LoadKeysWorker: key fetching result: false I/WM-WorkerWrapper: Worker result RETRY for Work [ id=07fb99cd-8e72-4147-a1e3-f450a97460a0, tags={ it.ministerodellasalute.verificaC19sdk.worker.LoadKeysWorker } ] I/LoadKeysWorker: key fetching start V/BaseRepository: Do network coroutine work Do network coroutine work I/LoadKeysWorker: key fetching result: false

rawmain commented 2 years ago

Buongiorno @umbonoce

la mia app non riesce a scaricare i pacchetti dei dati di aggiornamento.

Il tuo log mostra uno status cancelled del task a seguito di chiamata cancel method (eccezione in esecuzione doOnAsyncBlock.invoke()) - seguito da errore per KO identificazione follow-up jobs / work queue ID.

W/BaseRepository: Throwable kotlinx.coroutines.JobCancellationException: Job was cancelled; job=JobImpl{Cancelling}@9e22f17
Throwable kotlinx.coroutines.JobCancellationException: Job was cancelled; job=JobImpl{Cancelling}@9e22f17

I/WM-WorkerWrapper: Work [ id=4a95fac7-cb8e-47d0-986f-adcd8cd9de74, tags={ it.ministerodellasalute.verificaC19sdk.worker.LoadKeysWorker } ] was cancelled
java.util.concurrent.CancellationException: Task was cancelled.
at androidx.work.impl.utils.futures.AbstractFuture.cancellationExceptionWithCause(AbstractFuture.java:1184)
at androidx.work.impl.utils.futures.AbstractFuture.getDoneValue(AbstractFuture.java:514)
at androidx.work.impl.utils.futures.AbstractFuture.get(AbstractFuture.java:475)
at androidx.work.impl.WorkerWrapper$2.run(WorkerWrapper.java:311)
at androidx.work.impl.utils.SerialExecutor$Task.run(SerialExecutor.java:91)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at java.lang.Thread.run(Thread.java:923)

E/WM-WorkerWrapper: Didn't find WorkSpec for id 4a95fac7-cb8e-47d0-986f-adcd8cd9de74

Per quanto riguarda l'eccezione, se la riscontri in runtime con build-variant debug (non release), verifica in primis che sia stata correttamente applicata la modifica dei value buildConfigField nel build.gradle del project:dgc-sdk = quelli per buildType debug devono essere modificati & messi uguali a quelli di buildType release.

Inoltre, visto l'errore successivo, verifica - usando come riferimento dependency/implementation per workmanager nella whitelabel-app VerificaC19 & WhiteLabelApplication.kt - le impostazioni workmanager della tua app & la definizione della work request = deve essere definita come PeriodicWorkRequest (non unica / onetime) & i job aggiunti vanno associati correttamente al relativo ID, non a quelli di altre queue per model object.

\ Peraltro, puoi diagnosticare/monitorare ulteriormente la situazione di registrazione & esecuzione jobs tramite p.es.:

umbonoce commented 2 years ago

Grazie mille @rawmain , ho risolto applicando la configurazione di release.

Buon fine settimana