From 90df4c61353da20256fabec4a80252f735e81065 Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Thu, 25 Feb 2021 17:23:19 +1100 Subject: [PATCH] Update qr_code_scanner to the latest version --- lib/barcode.dart | 21 +++++++++++++++++---- pubspec.lock | 2 +- pubspec.yaml | 2 +- 3 files changed, 19 insertions(+), 6 deletions(-) diff --git a/lib/barcode.dart b/lib/barcode.dart index f88f5cba..319494ee 100644 --- a/lib/barcode.dart +++ b/lib/barcode.dart @@ -5,6 +5,7 @@ import 'package:flutter/material.dart'; import 'package:font_awesome_flutter/font_awesome_flutter.dart'; import 'package:one_context/one_context.dart'; +import 'package:device_info/device_info.dart'; import 'package:qr_code_scanner/qr_code_scanner.dart'; import 'package:InvenTree/inventree/stock.dart'; @@ -15,9 +16,9 @@ import 'package:InvenTree/api.dart'; import 'package:InvenTree/widget/location_display.dart'; import 'package:InvenTree/widget/part_detail.dart'; -import 'package:InvenTree/widget/category_display.dart'; import 'package:InvenTree/widget/stock_detail.dart'; +import 'dart:io'; import 'dart:convert'; @@ -396,21 +397,33 @@ class _QRViewState extends State { BuildContext context; + // In order to get hot reload to work we need to pause the camera if the platform + // is android, or resume the camera if the platform is iOS. + @override + void reassemble() { + super.reassemble(); + if (Platform.isAndroid) { + _controller.pauseCamera(); + } else if (Platform.isIOS) { + _controller.resumeCamera(); + } + } + _QRViewState(this._handler) : super(); final GlobalKey qrKey = GlobalKey(debugLabel: 'QR'); void _onViewCreated(QRViewController controller) { _controller = controller; - controller.scannedDataStream.listen((scandata) { + controller.scannedDataStream.listen((barcode) { _controller?.pauseCamera(); - _handler.processBarcode(context, _controller, scandata); + _handler.processBarcode(context, _controller, barcode.code); }); } @override void dispose() { - _controller.dispose(); + _controller?.dispose(); super.dispose(); } diff --git a/pubspec.lock b/pubspec.lock index f7db14b9..9beaf37d 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -405,7 +405,7 @@ packages: name: qr_code_scanner url: "https://pub.dartlang.org" source: hosted - version: "0.0.14" + version: "0.3.5" quiver: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index 1e469703..dbd03ad5 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -24,7 +24,7 @@ dependencies: cupertino_icons: ^0.1.3 http: ^0.12.1 cached_network_image: ^2.5.0 - qr_code_scanner: ^0.0.13 + qr_code_scanner: ^0.3.5 # Barcode scanning package_info: ^0.4.0 # App information introspection device_info: ^1.0.0 # Information about the device font_awesome_flutter: ^8.8.1 # FontAwesome icon set