Navaron Bracke
Committed by GitHub

Merge pull request #816 from navaronbracke/reorganise_classes

fix: use rawValue on Android as well for formats
@@ -120,7 +120,7 @@ class MobileScannerHandler( @@ -120,7 +120,7 @@ class MobileScannerHandler(
120 "stop" -> stop(result) 120 "stop" -> stop(result)
121 "analyzeImage" -> analyzeImage(call, result) 121 "analyzeImage" -> analyzeImage(call, result)
122 "setScale" -> setScale(call, result) 122 "setScale" -> setScale(call, result)
123 - "resetScale" -> resetScale(call, result) 123 + "resetScale" -> resetScale(result)
124 "updateScanWindow" -> updateScanWindow(call) 124 "updateScanWindow" -> updateScanWindow(call)
125 else -> result.notImplemented() 125 else -> result.notImplemented()
126 } 126 }
@@ -144,8 +144,8 @@ class MobileScannerHandler( @@ -144,8 +144,8 @@ class MobileScannerHandler(
144 var barcodeScannerOptions: BarcodeScannerOptions? = null 144 var barcodeScannerOptions: BarcodeScannerOptions? = null
145 if (formats != null) { 145 if (formats != null) {
146 val formatsList: MutableList<Int> = mutableListOf() 146 val formatsList: MutableList<Int> = mutableListOf()
147 - for (index in formats) {  
148 - formatsList.add(BarcodeFormats.values()[index].intValue) 147 + for (formatValue in formats) {
  148 + formatsList.add(BarcodeFormats.fromRawValue(formatValue).intValue)
149 } 149 }
150 barcodeScannerOptions = if (formatsList.size == 1) { 150 barcodeScannerOptions = if (formatsList.size == 1) {
151 BarcodeScannerOptions.Builder().setBarcodeFormats(formatsList.first()) 151 BarcodeScannerOptions.Builder().setBarcodeFormats(formatsList.first())
@@ -250,7 +250,7 @@ class MobileScannerHandler( @@ -250,7 +250,7 @@ class MobileScannerHandler(
250 } 250 }
251 } 251 }
252 252
253 - private fun resetScale(call: MethodCall, result: MethodChannel.Result) { 253 + private fun resetScale(result: MethodChannel.Result) {
254 try { 254 try {
255 mobileScanner!!.resetScale() 255 mobileScanner!!.resetScale()
256 result.success(null) 256 result.success(null)
@@ -2,17 +2,41 @@ package dev.steenbakker.mobile_scanner.objects @@ -2,17 +2,41 @@ package dev.steenbakker.mobile_scanner.objects
2 2
3 enum class BarcodeFormats(val intValue: Int) { 3 enum class BarcodeFormats(val intValue: Int) {
4 UNKNOWN(com.google.mlkit.vision.barcode.common.Barcode.FORMAT_UNKNOWN), 4 UNKNOWN(com.google.mlkit.vision.barcode.common.Barcode.FORMAT_UNKNOWN),
5 - ALL_FORMATS(com.google.mlkit.vision.barcode.common.Barcode.FORMAT_ALL_FORMATS), CODE_128(com.google.mlkit.vision.barcode.common.Barcode.FORMAT_CODE_128), CODE_39(  
6 - com.google.mlkit.vision.barcode.common.Barcode.FORMAT_CODE_39  
7 - ),  
8 - CODE_93(com.google.mlkit.vision.barcode.common.Barcode.FORMAT_CODE_93), CODABAR(com.google.mlkit.vision.barcode.common.Barcode.FORMAT_CODABAR), DATA_MATRIX(  
9 - com.google.mlkit.vision.barcode.common.Barcode.FORMAT_DATA_MATRIX  
10 - ),  
11 - EAN_13(com.google.mlkit.vision.barcode.common.Barcode.FORMAT_EAN_13), EAN_8(com.google.mlkit.vision.barcode.common.Barcode.FORMAT_EAN_8), ITF(  
12 - com.google.mlkit.vision.barcode.common.Barcode.FORMAT_ITF  
13 - ),  
14 - QR_CODE(com.google.mlkit.vision.barcode.common.Barcode.FORMAT_QR_CODE), UPC_A(com.google.mlkit.vision.barcode.common.Barcode.FORMAT_UPC_A), UPC_E(  
15 - com.google.mlkit.vision.barcode.common.Barcode.FORMAT_UPC_E  
16 - ),  
17 - PDF417(com.google.mlkit.vision.barcode.common.Barcode.FORMAT_PDF417), AZTEC(com.google.mlkit.vision.barcode.common.Barcode.FORMAT_AZTEC); 5 + ALL_FORMATS(com.google.mlkit.vision.barcode.common.Barcode.FORMAT_ALL_FORMATS),
  6 + CODE_128(com.google.mlkit.vision.barcode.common.Barcode.FORMAT_CODE_128),
  7 + CODE_39(com.google.mlkit.vision.barcode.common.Barcode.FORMAT_CODE_39),
  8 + CODE_93(com.google.mlkit.vision.barcode.common.Barcode.FORMAT_CODE_93),
  9 + CODABAR(com.google.mlkit.vision.barcode.common.Barcode.FORMAT_CODABAR),
  10 + DATA_MATRIX(com.google.mlkit.vision.barcode.common.Barcode.FORMAT_DATA_MATRIX),
  11 + EAN_13(com.google.mlkit.vision.barcode.common.Barcode.FORMAT_EAN_13),
  12 + EAN_8(com.google.mlkit.vision.barcode.common.Barcode.FORMAT_EAN_8),
  13 + ITF(com.google.mlkit.vision.barcode.common.Barcode.FORMAT_ITF),
  14 + QR_CODE(com.google.mlkit.vision.barcode.common.Barcode.FORMAT_QR_CODE),
  15 + UPC_A(com.google.mlkit.vision.barcode.common.Barcode.FORMAT_UPC_A),
  16 + UPC_E(com.google.mlkit.vision.barcode.common.Barcode.FORMAT_UPC_E),
  17 + PDF417(com.google.mlkit.vision.barcode.common.Barcode.FORMAT_PDF417),
  18 + AZTEC(com.google.mlkit.vision.barcode.common.Barcode.FORMAT_AZTEC);
  19 +
  20 + companion object {
  21 + fun fromRawValue(rawValue: Int): BarcodeFormats {
  22 + return when(rawValue) {
  23 + -1 -> UNKNOWN
  24 + 0 -> ALL_FORMATS
  25 + 1 -> CODE_128
  26 + 2 -> CODE_39
  27 + 4 -> CODE_93
  28 + 8 -> CODABAR
  29 + 16 -> DATA_MATRIX
  30 + 32 -> EAN_13
  31 + 64 -> EAN_8
  32 + 128 -> ITF
  33 + 256 -> QR_CODE
  34 + 512 -> UPC_A
  35 + 1024 -> UPC_E
  36 + 2048 -> PDF417
  37 + 4096 -> AZTEC
  38 + else -> UNKNOWN
  39 + }
  40 + }
  41 + }
18 } 42 }
@@ -139,7 +139,7 @@ class MobileScannerWebPlugin { @@ -139,7 +139,7 @@ class MobileScannerWebPlugin {
139 'rawBytes': code.rawBytes, 139 'rawBytes': code.rawBytes,
140 'format': code.format.rawValue, 140 'format': code.format.rawValue,
141 'displayValue': code.displayValue, 141 'displayValue': code.displayValue,
142 - 'type': code.type.index, 142 + 'type': code.type.rawValue,
143 if (corners != null && corners.isNotEmpty) 143 if (corners != null && corners.isNotEmpty)
144 'corners': corners 144 'corners': corners
145 .map( 145 .map(
@@ -132,10 +132,11 @@ class MobileScannerController { @@ -132,10 +132,11 @@ class MobileScannerController {
132 final Map<String, dynamic> arguments = {}; 132 final Map<String, dynamic> arguments = {};
133 133
134 cameraFacingState.value = cameraFacingOverride ?? facing; 134 cameraFacingState.value = cameraFacingOverride ?? facing;
135 - arguments['facing'] = cameraFacingState.value.index; 135 + arguments['facing'] = cameraFacingState.value.rawValue;
136 arguments['torch'] = torchEnabled; 136 arguments['torch'] = torchEnabled;
137 - arguments['speed'] = detectionSpeed.index; 137 + arguments['speed'] = detectionSpeed.rawValue;
138 arguments['timeout'] = detectionTimeoutMs; 138 arguments['timeout'] = detectionTimeoutMs;
  139 + arguments['returnImage'] = returnImage;
139 140
140 /* if (scanWindow != null) { 141 /* if (scanWindow != null) {
141 arguments['scanWindow'] = [ 142 arguments['scanWindow'] = [
@@ -147,19 +148,18 @@ class MobileScannerController { @@ -147,19 +148,18 @@ class MobileScannerController {
147 } */ 148 } */
148 149
149 if (formats != null) { 150 if (formats != null) {
150 - if (kIsWeb || Platform.isIOS || Platform.isMacOS) { 151 + if (kIsWeb || Platform.isIOS || Platform.isMacOS || Platform.isAndroid) {
151 arguments['formats'] = formats!.map((e) => e.rawValue).toList(); 152 arguments['formats'] = formats!.map((e) => e.rawValue).toList();
152 - } else if (Platform.isAndroid) {  
153 - arguments['formats'] = formats!.map((e) => e.index).toList(); 153 + }
  154 + }
  155 +
154 if (cameraResolution != null) { 156 if (cameraResolution != null) {
155 arguments['cameraResolution'] = <int>[ 157 arguments['cameraResolution'] = <int>[
156 cameraResolution!.width.toInt(), 158 cameraResolution!.width.toInt(),
157 cameraResolution!.height.toInt(), 159 cameraResolution!.height.toInt(),
158 ]; 160 ];
159 } 161 }
160 - }  
161 - }  
162 - arguments['returnImage'] = returnImage; 162 +
163 return arguments; 163 return arguments;
164 } 164 }
165 165
@@ -329,7 +329,7 @@ class MobileScannerController { @@ -329,7 +329,7 @@ class MobileScannerController {
329 torchState.value = 329 torchState.value =
330 torchState.value == TorchState.off ? TorchState.on : TorchState.off; 330 torchState.value == TorchState.off ? TorchState.on : TorchState.off;
331 331
332 - await _methodChannel.invokeMethod('torch', torchState.value.index); 332 + await _methodChannel.invokeMethod('torch', torchState.value.rawValue);
333 } 333 }
334 334
335 /// Changes the state of the camera (front or back). 335 /// Changes the state of the camera (front or back).