diff options
author | uvok | 2025-07-30 14:15:25 +0200 |
---|---|---|
committer | uvok | 2025-07-30 14:15:25 +0200 |
commit | f44b3ba4c5aaecebfbd56b385da70ff5b47d9f42 (patch) | |
tree | ad574c07d577fd86e70d6ab765154cfb8a71c68f | |
parent | bddd02c672c82e9f66c395ba183ef1000d7e80da (diff) |
Use StreamBuilder
-rw-r--r-- | lib/scan_page.dart | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/lib/scan_page.dart b/lib/scan_page.dart index fc08303..70dea6e 100644 --- a/lib/scan_page.dart +++ b/lib/scan_page.dart @@ -21,8 +21,6 @@ class ScanPage extends StatefulWidget { } class _ScanPageState extends State<ScanPage> { - List<Device> scanResults = []; - Device? selectedDevice; void _doConnect() async { @@ -38,7 +36,6 @@ class _ScanPageState extends State<ScanPage> { void _doScan() async { setState(() { selectedDevice = null; - scanResults = []; }); // ... @@ -99,10 +96,16 @@ class _ScanPageState extends State<ScanPage> { ], ), Expanded( - child: DeviceScanSelection( - items: scanResults, - onItemSelected: (item) { - setState(() => selectedDevice = item); + child: StreamBuilder( + stream: widget.deviceScanner.scanResultsStream, + initialData: <Device>[], + builder: (context, asyncSnapshot) { + return DeviceScanSelection( + items: asyncSnapshot.data ?? [], + onItemSelected: (item) { + setState(() => selectedDevice = item); + }, + ); }, ), ), |