From 31f844da4ddb4991e3df7c06d0d7cb0310dc142f Mon Sep 17 00:00:00 2001 From: krille-chan Date: Wed, 1 Nov 2023 09:53:59 +0100 Subject: [PATCH] fix: Scan qr code breaks app --- lib/pages/new_private_chat/new_private_chat.dart | 4 +++- lib/pages/new_private_chat/qr_scanner_modal.dart | 8 ++++---- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/lib/pages/new_private_chat/new_private_chat.dart b/lib/pages/new_private_chat/new_private_chat.dart index f392dca9..70bf7517 100644 --- a/lib/pages/new_private_chat/new_private_chat.dart +++ b/lib/pages/new_private_chat/new_private_chat.dart @@ -75,7 +75,9 @@ class NewPrivateChatController extends State { } await showAdaptiveBottomSheet( context: context, - builder: (_) => const QrScannerModal(), + builder: (_) => QrScannerModal( + onScan: (link) => UrlLauncher(context, link).openMatrixToUrl(), + ), ); } diff --git a/lib/pages/new_private_chat/qr_scanner_modal.dart b/lib/pages/new_private_chat/qr_scanner_modal.dart index 6155ebb2..b509941e 100644 --- a/lib/pages/new_private_chat/qr_scanner_modal.dart +++ b/lib/pages/new_private_chat/qr_scanner_modal.dart @@ -6,10 +6,9 @@ import 'package:flutter/material.dart'; import 'package:flutter_gen/gen_l10n/l10n.dart'; import 'package:qr_code_scanner/qr_code_scanner.dart'; -import 'package:fluffychat/utils/url_launcher.dart'; - class QrScannerModal extends StatefulWidget { - const QrScannerModal({super.key}); + final void Function(String) onScan; + const QrScannerModal({required this.onScan, super.key}); @override QrScannerModalState createState() => QrScannerModalState(); @@ -69,7 +68,8 @@ class QrScannerModalState extends State { sub = controller.scannedDataStream.listen((scanData) { sub.cancel(); Navigator.of(context).pop(); - UrlLauncher(context, scanData.code).openMatrixToUrl(); + final data = scanData.code; + if (data != null) widget.onScan(data); }); }