diff options
author | uvok | 2025-08-02 11:47:49 +0200 |
---|---|---|
committer | uvok | 2025-08-02 11:47:49 +0200 |
commit | 2fe07444e36114fc2b9f9e830d554b0ec405fa7d (patch) | |
tree | 7f6b12978b970912a6433aa9472c17d166f3861a /lib/widgets | |
parent | 13312a1603ddec4bce301b49a1e18668b34147ea (diff) |
badge: Dispose scanner on exit
technically not needed, but eh
Diffstat (limited to 'lib/widgets')
-rw-r--r-- | lib/widgets/badge_app.dart | 16 |
1 files changed, 15 insertions, 1 deletions
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 <https://www.gnu.org/licenses/>. +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(); + } } |