From 2fe07444e36114fc2b9f9e830d554b0ec405fa7d Mon Sep 17 00:00:00 2001 From: uvok Date: Sat, 2 Aug 2025 11:47:49 +0200 Subject: badge: Dispose scanner on exit technically not needed, but eh --- lib/widgets/badge_app.dart | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) (limited to 'lib') diff --git a/lib/widgets/badge_app.dart b/lib/widgets/badge_app.dart index f4d1fcd..23c63aa 100644 --- a/lib/widgets/badge_app.dart +++ b/lib/widgets/badge_app.dart @@ -13,6 +13,8 @@ // You should have received a copy of the GNU General Public License // along with this program. If not, see . +import 'dart:ui' show AppExitResponse; + import 'package:uvok_epaper_badge/control/scanner_controller.dart'; import 'package:uvok_epaper_badge/widgets/scan_page.dart'; import 'package:flutter/material.dart'; @@ -20,7 +22,15 @@ import 'package:flutter/material.dart'; class BadgeApp extends StatelessWidget { final ScannerController selectedScanner; - const BadgeApp({super.key, required this.selectedScanner}); + BadgeApp({super.key, required this.selectedScanner}) { + AppLifecycleListener( + onExitRequested: () async { + logger.i("Exit requested"); + dispose(); + return AppExitResponse.exit; + }, + ); + } @override Widget build(BuildContext context) { @@ -47,4 +57,8 @@ class BadgeApp extends StatelessWidget { home: ScanPage(title: 'Badge Scanner', deviceScanner: selectedScanner), ); } + + void dispose() { + selectedScanner.dispose(); + } } -- cgit v1.2.3