Showing
1 changed file
with
8 additions
and
1 deletions
| @@ -2,6 +2,7 @@ import 'dart:async'; | @@ -2,6 +2,7 @@ import 'dart:async'; | ||
| 2 | import 'dart:js_interop'; | 2 | import 'dart:js_interop'; |
| 3 | import 'dart:ui'; | 3 | import 'dart:ui'; |
| 4 | 4 | ||
| 5 | +import 'package:flutter/foundation.dart'; | ||
| 5 | import 'package:mobile_scanner/src/enums/barcode_format.dart'; | 6 | import 'package:mobile_scanner/src/enums/barcode_format.dart'; |
| 6 | import 'package:mobile_scanner/src/mobile_scanner_exception.dart'; | 7 | import 'package:mobile_scanner/src/mobile_scanner_exception.dart'; |
| 7 | import 'package:mobile_scanner/src/objects/barcode_capture.dart'; | 8 | import 'package:mobile_scanner/src/objects/barcode_capture.dart'; |
| @@ -18,6 +19,11 @@ import 'package:web/web.dart' as web; | @@ -18,6 +19,11 @@ import 'package:web/web.dart' as web; | ||
| 18 | final class ZXingBarcodeReader extends BarcodeReader { | 19 | final class ZXingBarcodeReader extends BarcodeReader { |
| 19 | ZXingBarcodeReader(); | 20 | ZXingBarcodeReader(); |
| 20 | 21 | ||
| 22 | + /// ZXing reports an error with this message if the code could not be detected. | ||
| 23 | + @visibleForTesting | ||
| 24 | + static const String kNoCodeDetectedErrorMessage = | ||
| 25 | + 'No MultiFormat Readers were able to detect the code.'; | ||
| 26 | + | ||
| 21 | /// The listener for media track settings changes. | 27 | /// The listener for media track settings changes. |
| 22 | void Function(web.MediaTrackSettings)? _onMediaTrackSettingsChanged; | 28 | void Function(web.MediaTrackSettings)? _onMediaTrackSettingsChanged; |
| 23 | 29 | ||
| @@ -105,7 +111,8 @@ final class ZXingBarcodeReader extends BarcodeReader { | @@ -105,7 +111,8 @@ final class ZXingBarcodeReader extends BarcodeReader { | ||
| 105 | return; | 111 | return; |
| 106 | } | 112 | } |
| 107 | 113 | ||
| 108 | - if (error != null) { | 114 | + // Skip the event if no code was detected. |
| 115 | + if (error != null && error.message != kNoCodeDetectedErrorMessage) { | ||
| 109 | controller.addError(MobileScannerBarcodeException(error.message)); | 116 | controller.addError(MobileScannerBarcodeException(error.message)); |
| 110 | return; | 117 | return; |
| 111 | } | 118 | } |
-
Please register or login to post a comment