From a0feb129e15283a7beb483bc9cdc5c83c5be2a80 Mon Sep 17 00:00:00 2001 From: just_stuff_tm <133525672+just-stuff-tm@users.noreply.github.com> Date: Mon, 2 Mar 2026 15:30:46 -0500 Subject: [PATCH] Add post-frame callback to disconnect USB transport on dispose if not navigated to contacts --- lib/screens/usb_screen.dart | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/lib/screens/usb_screen.dart b/lib/screens/usb_screen.dart index c99e10f..38a7c67 100644 --- a/lib/screens/usb_screen.dart +++ b/lib/screens/usb_screen.dart @@ -74,6 +74,13 @@ class _UsbScreenState extends State { @override void dispose() { _connector.removeListener(_connectionListener); + if (!_navigatedToContacts && + _connector.activeTransport == MeshCoreTransportType.usb && + _connector.state != MeshCoreConnectionState.disconnected) { + WidgetsBinding.instance.addPostFrameCallback((_) { + unawaited(_connector.disconnect(manual: true)); + }); + } super.dispose(); }