From 12115b0b2510e997d09ae0c8aefb0f031764ae64 Mon Sep 17 00:00:00 2001 From: Julian Steenbakker Date: Thu, 18 Feb 2021 19:52:16 +0100 Subject: [PATCH] Add LifecycleEventHandler to dispose function. (#265) --- lib/src/qr_code_scanner.dart | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/lib/src/qr_code_scanner.dart b/lib/src/qr_code_scanner.dart index 22a62dc..67ee443 100644 --- a/lib/src/qr_code_scanner.dart +++ b/lib/src/qr_code_scanner.dart @@ -59,18 +59,20 @@ class QRView extends StatefulWidget { class _QRViewState extends State { var _channel; + var _observer; @override void initState() { super.initState(); - WidgetsBinding.instance.addObserver(LifecycleEventHandler( + _observer = LifecycleEventHandler( resumeCallBack: () async => { if (_channel != null) { QRViewController.updateDimensions(widget.key, _channel, overlay: widget.overlay) } - })); + }); + WidgetsBinding.instance.addObserver(_observer); } @override @@ -85,6 +87,12 @@ class _QRViewState extends State { ); } + @override + void dispose() { + super.dispose(); + WidgetsBinding.instance.removeObserver(_observer); + } + bool onNotification(notification) { Future.microtask(() => { QRViewController.updateDimensions(widget.key, _channel,