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(-)
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