diff --git a/.resources/called-multiple-times-debug01.png b/.resources/called-multiple-times-debug01.png new file mode 100644 index 0000000..759f19a Binary files /dev/null and b/.resources/called-multiple-times-debug01.png differ diff --git a/.resources/called-multiple-times-debug02.png b/.resources/called-multiple-times-debug02.png new file mode 100644 index 0000000..997cb93 Binary files /dev/null and b/.resources/called-multiple-times-debug02.png differ 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 c05ec4a..6875675 100644 --- a/android/src/main/kotlin/net/touchcapture/qr/flutterqr/QRView.kt +++ b/android/src/main/kotlin/net/touchcapture/qr/flutterqr/QRView.kt @@ -20,7 +20,7 @@ import io.flutter.plugin.common.PluginRegistry import io.flutter.plugin.platform.PlatformView -class QRView(messenger: BinaryMessenger, id: Int, private val params: HashMap) : +class QRView(messenger: BinaryMessenger,private val id: Int, private val params: HashMap) : PlatformView, MethodChannel.MethodCallHandler, PluginRegistry.RequestPermissionsResultListener { private var isTorchOn: Boolean = false @@ -261,7 +261,7 @@ class QRView(messenger: BinaryMessenger, id: Int, private val params: HashMap { @@ -273,7 +273,7 @@ class QRView(messenger: BinaryMessenger, id: Int, private val params: HashMap?, grantResults: IntArray): Boolean { - if(requestCode == Shared.CAMERA_REQUEST_ID) { + if(requestCode == Shared.CAMERA_REQUEST_ID + this.id) { if (grantResults.isNotEmpty() && grantResults[0] == PackageManager.PERMISSION_GRANTED) { permissionGranted = true channel.invokeMethod("onPermissionSet", true)