Showing
3 changed files
with
19 additions
and
1 deletions
| @@ -17,6 +17,9 @@ class ScannerErrorWidget extends StatelessWidget { | @@ -17,6 +17,9 @@ class ScannerErrorWidget extends StatelessWidget { | ||
| 17 | case MobileScannerErrorCode.permissionDenied: | 17 | case MobileScannerErrorCode.permissionDenied: |
| 18 | errorMessage = 'Permission denied'; | 18 | errorMessage = 'Permission denied'; |
| 19 | break; | 19 | break; |
| 20 | + case MobileScannerErrorCode.unsupported: | ||
| 21 | + errorMessage = 'Scanning is unsupported on this device'; | ||
| 22 | + break; | ||
| 20 | default: | 23 | default: |
| 21 | errorMessage = 'Generic Error'; | 24 | errorMessage = 'Generic Error'; |
| 22 | break; | 25 | break; |
| @@ -11,4 +11,7 @@ enum MobileScannerErrorCode { | @@ -11,4 +11,7 @@ enum MobileScannerErrorCode { | ||
| 11 | 11 | ||
| 12 | /// The permission to use the camera was denied. | 12 | /// The permission to use the camera was denied. |
| 13 | permissionDenied, | 13 | permissionDenied, |
| 14 | + | ||
| 15 | + /// Scanning is unsupported on the current device. | ||
| 16 | + unsupported, | ||
| 14 | } | 17 | } |
| @@ -207,9 +207,21 @@ class MobileScannerController { | @@ -207,9 +207,21 @@ class MobileScannerController { | ||
| 207 | } on PlatformException catch (error) { | 207 | } on PlatformException catch (error) { |
| 208 | MobileScannerErrorCode errorCode = MobileScannerErrorCode.genericError; | 208 | MobileScannerErrorCode errorCode = MobileScannerErrorCode.genericError; |
| 209 | 209 | ||
| 210 | - if (error.code == "MobileScannerWeb") { | 210 | + final String? errorMessage = error.message; |
| 211 | + | ||
| 212 | + if (kIsWeb) { | ||
| 213 | + if (errorMessage == null) { | ||
| 214 | + errorCode = MobileScannerErrorCode.genericError; | ||
| 215 | + } else if (errorMessage.contains('NotFoundError') || | ||
| 216 | + errorMessage.contains('NotSupportedError')) { | ||
| 217 | + errorCode = MobileScannerErrorCode.unsupported; | ||
| 218 | + } else if (errorMessage.contains('NotAllowedError')) { | ||
| 211 | errorCode = MobileScannerErrorCode.permissionDenied; | 219 | errorCode = MobileScannerErrorCode.permissionDenied; |
| 220 | + } else { | ||
| 221 | + errorCode = MobileScannerErrorCode.genericError; | ||
| 212 | } | 222 | } |
| 223 | + } | ||
| 224 | + | ||
| 213 | isStarting = false; | 225 | isStarting = false; |
| 214 | 226 | ||
| 215 | throw MobileScannerException( | 227 | throw MobileScannerException( |
-
Please register or login to post a comment