Merge remote-tracking branch 'origin/main_production_upgrade' into main_production_upgrade

main_production_upgrade
WaseemAbbasi22 16 hours ago
commit 4285d29d18

@ -1,6 +1,7 @@
import 'dart:io'; import 'dart:io';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:mobile_scanner/mobile_scanner.dart';
import 'package:qr_code_scanner_plus/qr_code_scanner_plus.dart'; import 'package:qr_code_scanner_plus/qr_code_scanner_plus.dart';
import '../buttons/app_icon_button.dart'; import '../buttons/app_icon_button.dart';
@ -14,7 +15,10 @@ class ScanQr extends StatefulWidget {
class _ScanQrState extends State<ScanQr> { class _ScanQrState extends State<ScanQr> {
// Barcode result; // Barcode result;
QRViewController? _controller; // QRViewController? _controller;
MobileScannerController? controller;
bool _scanDone = false; bool _scanDone = false;
final GlobalKey qrKey = GlobalKey(debugLabel: 'QR_scanner'); final GlobalKey qrKey = GlobalKey(debugLabel: 'QR_scanner');
@ -22,19 +26,34 @@ class _ScanQrState extends State<ScanQr> {
// is android, or resume the camera if the platform is iOS. // is android, or resume the camera if the platform is iOS.
@override @override
void reassemble() { void initState() {
super.reassemble(); // TODO: implement initState
if (Platform.isAndroid) { super.initState();
_controller?.pauseCamera(); controller = MobileScannerController(
} else if (Platform.isIOS) { detectionSpeed: DetectionSpeed.noDuplicates,
_controller?.resumeCamera(); formats: [],
} returnImage: false,
torchEnabled: false,
invertImage: false,
autoZoom: true,
);
} }
//
// @override
// void reassemble() {
// super.reassemble();
// if (Platform.isAndroid) {
// controller?.pauseCamera();
// } else if (Platform.isIOS) {
// _controller?.resumeCamera();
// }
// }
@override @override
void dispose() { void dispose() {
super.dispose(); super.dispose();
_controller?.dispose(); // _controller?.dispose();
} }
@override @override
@ -42,20 +61,15 @@ class _ScanQrState extends State<ScanQr> {
return Scaffold( return Scaffold(
body: Stack( body: Stack(
children: [ children: [
QRView( MobileScanner(
key: qrKey, tapToFocus: true,
onQRViewCreated: (QRViewController controller) { controller: controller,
setState(() { onDetect: (result) {
_controller = controller; if (!_scanDone) {
}); _scanDone = true;
controller.scannedDataStream.listen((scanData) { Navigator.of(context).pop(result.barcodes.first.rawValue);
if (!_scanDone) { }
_scanDone = true;
Navigator.of(context).pop(scanData.code);
}
});
}, },
overlay: QrScannerOverlayShape(borderColor: Colors.red, borderRadius: 10, borderLength: 30, borderWidth: 10, cutOutSize: 280),
), ),
SafeArea( SafeArea(
child: Padding( child: Padding(

Loading…
Cancel
Save