From b2172951b37b73f4fbf1aa5bea6eb35e6d388170 Mon Sep 17 00:00:00 2001 From: Tangem Date: Tue, 19 Mar 2024 14:35:37 +0500 Subject: [PATCH] Updated on 2026-08-14 --- .../java/com/tangem/feature/qrscanning/QrScanningFragment.kt | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/features/qr-scanning/impl/src/main/java/com/tangem/feature/qrscanning/QrScanningFragment.kt b/features/qr-scanning/impl/src/main/java/com/tangem/feature/qrscanning/QrScanningFragment.kt index 1c66e62a33..577380dc6b 100644 --- a/features/qr-scanning/impl/src/main/java/com/tangem/feature/qrscanning/QrScanningFragment.kt +++ b/features/qr-scanning/impl/src/main/java/com/tangem/feature/qrscanning/QrScanningFragment.kt @@ -47,6 +47,11 @@ internal class QrScanningFragment : ComposeFragment() { private val viewModel by viewModels() private var cameraExecutor: ExecutorService by Delegates.notNull() + // Camera requires its own analyzer instance due to flow of frames needed to be analyzed. + // Each new frame can cancel previous analysis e.i. image from the gallery can be skipped. + private val cameraAnalyzer: MLKitBarcodeAnalyzer by lazy(LazyThreadSafetyMode.NONE) { + MLKitBarcodeAnalyzer(viewModel::onQrScanned) + } private val analyzer: MLKitBarcodeAnalyzer by lazy(LazyThreadSafetyMode.NONE) { MLKitBarcodeAnalyzer(viewModel::onQrScanned) }