Niente errore quando il trigger viene premuto a vuoto

Honeywell emette BarcodeFailureEvent anche solo premendo e rilasciando il
trigger senza inquadrare nulla: e' la normale mancata lettura, non un
guasto. Finiva pero' in OnScanFailed insieme ai guasti veri, quindi ogni
pressione a vuoto fermava il rilevatore con un dialog bloccante contenente
il toString() Java grezzo:

  Scan failure: com.honeywell.aidc.BarcodeFailureEvent[source=...]

Ora l'evento e' ignorato: chi preme il trigger sa gia' di non aver letto
niente, non serve alcun riscontro. OnScanFailed resta riservato ai guasti
reali (ScannerUnavailableException alla Claim, init di AidcManager fallito).

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-09-16 17:57:41 +02:00
parent d076a4b77a
commit 0174316bb7
@@ -164,7 +164,14 @@ public partial class HoneywellScannerService
: Java.Lang.Object, BarcodeReader.IBarcodeListener
{
public void OnBarcodeEvent(BarcodeReadEvent? e) => service.DispatchEvent(e!);
public void OnFailureEvent(BarcodeFailureEvent? e) =>
service.OnScanFailed?.Invoke(new Exception($"Scan failure: {e}"));
// Honeywell emette BarcodeFailureEvent anche solo premendo e rilasciando il
// trigger senza inquadrare nulla: e' la normale mancata lettura, non un guasto.
// Trattarlo come eccezione faceva comparire un dialog bloccante col toString()
// Java a ogni pressione a vuoto. Non c'e' nulla da comunicare: chi ha premuto
// il trigger sa gia' di non aver letto niente e sta ripuntando lo scanner.
public void OnFailureEvent(BarcodeFailureEvent? e)
{
}
}
}