From d3a90f721fa6a1fbc74d101c2ad37e655e9499fb Mon Sep 17 00:00:00 2001 From: Alexander Tihomirov <56314363+OrangeSofter@users.noreply.github.com> Date: Wed, 28 Jul 2021 12:05:32 +0300 Subject: [PATCH] Temporary replacement of BarcodeView with DecoratedBarcodeView in order to see the real boundaries of the scanned area --- .../net/touchcapture/qr/flutterqr/QRView.kt | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/android/src/main/kotlin/net/touchcapture/qr/flutterqr/QRView.kt b/android/src/main/kotlin/net/touchcapture/qr/flutterqr/QRView.kt index 6875675..3871682 100644 --- a/android/src/main/kotlin/net/touchcapture/qr/flutterqr/QRView.kt +++ b/android/src/main/kotlin/net/touchcapture/qr/flutterqr/QRView.kt @@ -13,6 +13,7 @@ import com.google.zxing.ResultPoint import com.journeyapps.barcodescanner.BarcodeCallback import com.journeyapps.barcodescanner.BarcodeResult import com.journeyapps.barcodescanner.BarcodeView +import com.journeyapps.barcodescanner.DecoratedBarcodeView import io.flutter.plugin.common.BinaryMessenger import io.flutter.plugin.common.MethodCall import io.flutter.plugin.common.MethodChannel @@ -25,7 +26,7 @@ class QRView(messenger: BinaryMessenger,private val id: Int, private val params: private var isTorchOn: Boolean = false private var isPaused: Boolean = false - private var barcodeView: BarcodeView? = null + private var barcodeView: DecoratedBarcodeView? = null private val channel: MethodChannel = MethodChannel(messenger, "net.touchcapture.qr.flutterqr/qrview_$id") private var permissionGranted: Boolean = false @@ -132,7 +133,7 @@ class QRView(messenger: BinaryMessenger,private val id: Int, private val params: } if (hasFlash()) { - barcodeView!!.setTorch(!isTorchOn) + barcodeView!!.barcodeView.setTorch(!isTorchOn) isTorchOn = !isTorchOn result.success(isTorchOn) } else { @@ -145,7 +146,7 @@ class QRView(messenger: BinaryMessenger,private val id: Int, private val params: if (barcodeView == null) { return barCodeViewNotSet(result) } else { - if (barcodeView!!.isPreviewActive) { + if (barcodeView!!.barcodeView.isPreviewActive) { isPaused = true barcodeView!!.pause() } @@ -157,7 +158,7 @@ class QRView(messenger: BinaryMessenger,private val id: Int, private val params: if (barcodeView == null) { return barCodeViewNotSet(result) } else { - if (!barcodeView!!.isPreviewActive) { + if (!barcodeView!!.barcodeView.isPreviewActive) { isPaused = false barcodeView!!.resume() } @@ -190,9 +191,9 @@ class QRView(messenger: BinaryMessenger,private val id: Int, private val params: return initBarCodeView().apply {}!! } - private fun initBarCodeView(): BarcodeView? { + private fun initBarCodeView(): DecoratedBarcodeView? { if (barcodeView == null) { - barcodeView = BarcodeView(Shared.activity) + barcodeView = DecoratedBarcodeView(Shared.activity) if (params["cameraFacing"] as Int == 1) { barcodeView?.cameraSettings?.requestedCameraId = CameraInfo.CAMERA_FACING_FRONT } @@ -233,7 +234,7 @@ class QRView(messenger: BinaryMessenger,private val id: Int, private val params: } private fun stopScan() { - barcodeView?.stopDecoding() + barcodeView?.barcodeView?.stopDecoding() } private fun getSystemFeatures(result: MethodChannel.Result) {