diff --git a/lib/src/qr_code_scanner.dart b/lib/src/qr_code_scanner.dart index e1e8437..793cd47 100644 --- a/lib/src/qr_code_scanner.dart +++ b/lib/src/qr_code_scanner.dart @@ -56,21 +56,13 @@ class QRView extends StatefulWidget { } class _QRViewState extends State { - var _channel; - late var _observer; + late MethodChannel _channel; + late LifecycleEventHandler _observer; @override void initState() { super.initState(); - _observer = LifecycleEventHandler( - resumeCallBack: () async => { - if (_channel != null) - { - QRViewController.updateDimensions( - widget.key as GlobalKey>, _channel, - overlay: widget.overlay) - } - }); + _observer = LifecycleEventHandler(resumeCallBack: updateDimensions); WidgetsBinding.instance!.addObserver(_observer); } @@ -92,12 +84,14 @@ class _QRViewState extends State { WidgetsBinding.instance!.removeObserver(_observer); } + Future updateDimensions() async { + await QRViewController.updateDimensions( + widget.key as GlobalKey>, _channel, + overlay: widget.overlay); + } + bool onNotification(notification) { - Future.microtask(() => { - QRViewController.updateDimensions( - widget.key as GlobalKey>, _channel, - overlay: widget.overlay) - }); + updateDimensions(); return false; }