瀏覽代碼

Fixed auto resuming while paused on Android

flutter-beta
Julian Steenbakker 5 年之前
父節點
當前提交
605f4247f4
共有 1 個檔案被更改,包括 5 行新增2 行删除
  1. +5
    -2
      android/src/main/kotlin/net/touchcapture/qr/flutterqr/QRView.kt

+ 5
- 2
android/src/main/kotlin/net/touchcapture/qr/flutterqr/QRView.kt 查看文件

@@ -21,6 +21,7 @@ class QRView(messenger: BinaryMessenger, id: Int, private val params: HashMap<St
PlatformView, MethodChannel.MethodCallHandler { PlatformView, MethodChannel.MethodCallHandler {


private var isTorchOn: Boolean = false private var isTorchOn: Boolean = false
private var isPaused: Boolean = false
private var barcodeView: BarcodeView? = null private var barcodeView: BarcodeView? = null
private val channel: MethodChannel private val channel: MethodChannel


@@ -30,13 +31,13 @@ class QRView(messenger: BinaryMessenger, id: Int, private val params: HashMap<St
channel.setMethodCallHandler(this) channel.setMethodCallHandler(this)
Shared.activity?.application?.registerActivityLifecycleCallbacks(object : Application.ActivityLifecycleCallbacks { Shared.activity?.application?.registerActivityLifecycleCallbacks(object : Application.ActivityLifecycleCallbacks {
override fun onActivityPaused(p0: Activity) { override fun onActivityPaused(p0: Activity) {
if (p0 == Shared.activity) {
if (p0 == Shared.activity && !isPaused) {
barcodeView?.pause() barcodeView?.pause()
} }
} }


override fun onActivityResumed(p0: Activity) { override fun onActivityResumed(p0: Activity) {
if (p0 == Shared.activity) {
if (p0 == Shared.activity && !isPaused) {
barcodeView?.resume() barcodeView?.resume()
} }
} }
@@ -140,6 +141,7 @@ class QRView(messenger: BinaryMessenger, id: Int, private val params: HashMap<St
} }


if (barcodeView!!.isPreviewActive) { if (barcodeView!!.isPreviewActive) {
isPaused = true
barcodeView!!.pause() barcodeView!!.pause()
} }
result.success(true) result.success(true)
@@ -153,6 +155,7 @@ class QRView(messenger: BinaryMessenger, id: Int, private val params: HashMap<St
} }


if (!barcodeView!!.isPreviewActive) { if (!barcodeView!!.isPreviewActive) {
isPaused = false
barcodeView!!.resume() barcodeView!!.resume()
} }
result.success(true) result.success(true)


Loading…
取消
儲存