From ea91eb4c0675c137660f5c3ae77b97b1bf45ec42 Mon Sep 17 00:00:00 2001 From: uvok Date: Sun, 3 Aug 2025 17:22:13 +0200 Subject: sample instead of throttle, also: correct stream --- lib/control/mock_scanner_controller.dart | 3 +++ lib/control/scanner_controller_impl.dart | 16 ++++++++++++---- 2 files changed, 15 insertions(+), 4 deletions(-) (limited to 'lib/control') diff --git a/lib/control/mock_scanner_controller.dart b/lib/control/mock_scanner_controller.dart index 61babea..ebbe9b6 100644 --- a/lib/control/mock_scanner_controller.dart +++ b/lib/control/mock_scanner_controller.dart @@ -25,6 +25,9 @@ class MockScannerController extends ScannerControllerImpl { MockDevice(1, "Second"), MockDevice(2, "Third"), MockDevice(3, "Fourth"), + MockDevice(4, "Fifth"), + MockDevice(5, "Sixth"), + MockDevice(6, "Seventh"), ]; bool _isScanning = false; diff --git a/lib/control/scanner_controller_impl.dart b/lib/control/scanner_controller_impl.dart index ce253bf..de64398 100644 --- a/lib/control/scanner_controller_impl.dart +++ b/lib/control/scanner_controller_impl.dart @@ -14,12 +14,15 @@ // along with this program. If not, see . import 'dart:async'; +import 'package:logger/logger.dart'; import 'package:uvok_epaper_badge/control/scanner_controller.dart'; import 'package:meta/meta.dart'; import 'package:uvok_epaper_badge/model/device/device.dart'; import 'package:rxdart/rxdart.dart'; +Logger logger = Logger(); + /// Helper class which provides the setStatus method. abstract class ScannerControllerImpl implements ScannerController { final BehaviorSubject _scanStatusController = @@ -29,13 +32,18 @@ abstract class ScannerControllerImpl implements ScannerController { final BehaviorSubject _availabilityController = BehaviorSubject(); - late final Stream _statusStream = _scanStatusController.stream - .throttleTime(Duration(seconds: 1)); + ScannerControllerImpl() { + // _deviceStream.listen((_) => logger.i("FIRE")); + } + @override - Stream get statusStream => _statusStream; + Stream get statusStream => _scanStatusController.stream; + late final Stream> _deviceStream = _deviceContoller + .sampleTime(Duration(milliseconds: 500)) + .asBroadcastStream(); @override - Stream> get scanResultsStream => _deviceContoller.stream; + Stream> get scanResultsStream => _deviceStream; @override Stream get availabilityStream => -- cgit v1.2.3