createDetector method
Implementation
@override
BarcodeDetector createDetector({
List<BarcodeFormat>? formats,
}) {
final executor =
jni.Executors.newSingleThreadExecutor().castTo(jni.Executor.type);
final builder = jni.BarcodeScannerOptions_Builder().setExecutor(executor);
if (formats != null) {
final values = formats
.map((format) => format.cValue)
.where((value) => value != jni.Barcode.FORMAT_UNKNOWN);
if (values.isNotEmpty) {
final value = values.first;
final moreValues = values.skip(1).toJArray();
builder.setBarcodeFormats(value, moreValues);
}
}
final options = builder.build();
final scanner = jni.BarcodeScanning.getClient1(options);
return AndroidBarcodeDetector(scanner);
}