From 293deeb9d054e431b19a4bd26734844876e25bf4 Mon Sep 17 00:00:00 2001 From: Julian Steenbakker Date: Thu, 17 Dec 2020 10:11:03 +0100 Subject: [PATCH] Updated barcode check to inline check. Updated README.md. --- .../net/touchcapture/qr/flutterqr/FlutterQrPlugin.kt | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/android/src/main/kotlin/net/touchcapture/qr/flutterqr/FlutterQrPlugin.kt b/android/src/main/kotlin/net/touchcapture/qr/flutterqr/FlutterQrPlugin.kt index ca59f08..ae23f01 100644 --- a/android/src/main/kotlin/net/touchcapture/qr/flutterqr/FlutterQrPlugin.kt +++ b/android/src/main/kotlin/net/touchcapture/qr/flutterqr/FlutterQrPlugin.kt @@ -1,6 +1,7 @@ package net.touchcapture.qr.flutterqr import android.Manifest +import android.app.Activity import android.content.pm.PackageManager import android.os.Build import androidx.annotation.NonNull @@ -29,22 +30,24 @@ class FlutterQrPlugin : FlutterPlugin, MethodCallHandler, ActivityAware { } private fun onAttachedToV1(registrar: PluginRegistry.Registrar) { - Shared.activity = registrar.activity() registrar.addRequestPermissionsResultListener(CameraRequestPermissionsListener()) checkAndRequestPermission(null) - onAttachedToEngines(registrar.platformViewRegistry(), registrar.messenger()) + onAttachedToEngines(registrar.platformViewRegistry(), registrar.messenger(), registrar.activity()) } /** Plugin registration embedding v2 */ override fun onAttachedToEngine(@NonNull flutterPluginBinding: FlutterPlugin.FlutterPluginBinding) { - onAttachedToEngines(flutterPluginBinding.platformViewRegistry, flutterPluginBinding.binaryMessenger) + onAttachedToEngines(flutterPluginBinding.platformViewRegistry, flutterPluginBinding.binaryMessenger, Shared.activity) } override fun onDetachedFromEngine(binding: FlutterPlugin.FlutterPluginBinding) { } /** Plugin start for both embedding v1 & v2 */ - private fun onAttachedToEngines(platformViewRegistry: PlatformViewRegistry, messenger: BinaryMessenger) { + private fun onAttachedToEngines(platformViewRegistry: PlatformViewRegistry, messenger: BinaryMessenger, activity: Activity?) { + if (activity != null) { + Shared.activity = activity + } platformViewRegistry .registerViewFactory( "net.touchcapture.qr.flutterqr/qrview", QRViewFactory(messenger))