forward barcode error events as FlutterError()'s on iOS & MacOS
Showing
3 changed files
with
16 additions
and
12 deletions
| @@ -19,6 +19,12 @@ public class BarcodeHandler: NSObject, FlutterStreamHandler { | @@ -19,6 +19,12 @@ public class BarcodeHandler: NSObject, FlutterStreamHandler { | ||
| 19 | eventChannel.setStreamHandler(self) | 19 | eventChannel.setStreamHandler(self) |
| 20 | } | 20 | } |
| 21 | 21 | ||
| 22 | + func publishError(_ error: FlutterError) { | ||
| 23 | + DispatchQueue.main.async { | ||
| 24 | + self.eventSink?(error) | ||
| 25 | + } | ||
| 26 | + } | ||
| 27 | + | ||
| 22 | func publishEvent(_ event: [String: Any?]) { | 28 | func publishEvent(_ event: [String: Any?]) { |
| 23 | DispatchQueue.main.async { | 29 | DispatchQueue.main.async { |
| 24 | self.eventSink?(event) | 30 | self.eventSink?(event) |
| @@ -42,10 +42,10 @@ public class MobileScannerPlugin: NSObject, FlutterPlugin { | @@ -42,10 +42,10 @@ public class MobileScannerPlugin: NSObject, FlutterPlugin { | ||
| 42 | init(barcodeHandler: BarcodeHandler, registry: FlutterTextureRegistry) { | 42 | init(barcodeHandler: BarcodeHandler, registry: FlutterTextureRegistry) { |
| 43 | self.mobileScanner = MobileScanner(registry: registry, mobileScannerCallback: { barcodes, error, image in | 43 | self.mobileScanner = MobileScanner(registry: registry, mobileScannerCallback: { barcodes, error, image in |
| 44 | if error != nil { | 44 | if error != nil { |
| 45 | - barcodeHandler.publishEvent([ | ||
| 46 | - "name": MobileScannerErrorCodes.BARCODE_ERROR, | ||
| 47 | - "data": error!.localizedDescription, | ||
| 48 | - ]) | 45 | + barcodeHandler.publishError( |
| 46 | + FlutterError(code: MobileScannerErrorCodes.BARCODE_ERROR, | ||
| 47 | + message: error?.localizedDescription, | ||
| 48 | + details: nil)) | ||
| 49 | return | 49 | return |
| 50 | } | 50 | } |
| 51 | 51 |
| @@ -131,10 +131,9 @@ public class MobileScannerPlugin: NSObject, FlutterPlugin, FlutterStreamHandler, | @@ -131,10 +131,9 @@ public class MobileScannerPlugin: NSObject, FlutterPlugin, FlutterStreamHandler, | ||
| 131 | 131 | ||
| 132 | if error != nil { | 132 | if error != nil { |
| 133 | DispatchQueue.main.async { | 133 | DispatchQueue.main.async { |
| 134 | - self?.sink?([ | ||
| 135 | - "name": MobileScannerErrorCodes.BARCODE_ERROR, | ||
| 136 | - "data": error?.localizedDescription, | ||
| 137 | - ]) | 134 | + self?.sink?(FlutterError( |
| 135 | + code: MobileScannerErrorCodes.BARCODE_ERROR, | ||
| 136 | + message: error?.localizedDescription, details: nil)) | ||
| 138 | } | 137 | } |
| 139 | return | 138 | return |
| 140 | } | 139 | } |
| @@ -185,10 +184,9 @@ public class MobileScannerPlugin: NSObject, FlutterPlugin, FlutterStreamHandler, | @@ -185,10 +184,9 @@ public class MobileScannerPlugin: NSObject, FlutterPlugin, FlutterStreamHandler, | ||
| 185 | try imageRequestHandler.perform([barcodeRequest]) | 184 | try imageRequestHandler.perform([barcodeRequest]) |
| 186 | } catch let error { | 185 | } catch let error { |
| 187 | DispatchQueue.main.async { | 186 | DispatchQueue.main.async { |
| 188 | - self?.sink?([ | ||
| 189 | - "name": MobileScannerErrorCodes.BARCODE_ERROR, | ||
| 190 | - "data": error.localizedDescription, | ||
| 191 | - ]) | 187 | + self?.sink?(FlutterError( |
| 188 | + code: MobileScannerErrorCodes.BARCODE_ERROR, | ||
| 189 | + message: error.localizedDescription, details: nil)) | ||
| 192 | } | 190 | } |
| 193 | } | 191 | } |
| 194 | } | 192 | } |
-
Please register or login to post a comment