summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoruvok2025-07-30 14:15:25 +0200
committeruvok2025-07-30 14:15:25 +0200
commitf44b3ba4c5aaecebfbd56b385da70ff5b47d9f42 (patch)
treead574c07d577fd86e70d6ab765154cfb8a71c68f
parentbddd02c672c82e9f66c395ba183ef1000d7e80da (diff)
Use StreamBuilder
-rw-r--r--lib/scan_page.dart17
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);
+ },
+ );
},
),
),