summaryrefslogtreecommitdiff
path: root/lib/control/scanner_controller_impl.dart
diff options
context:
space:
mode:
authoruvok2025-08-03 17:22:13 +0200
committeruvok2025-08-03 17:22:13 +0200
commitea91eb4c0675c137660f5c3ae77b97b1bf45ec42 (patch)
treecf6814879250147c543bbbf92eb2a1121034f66f /lib/control/scanner_controller_impl.dart
parent6beb9faab6c283b7d781d89e3f75ec419f6c905f (diff)
sample instead of throttle, also: correct stream
Diffstat (limited to 'lib/control/scanner_controller_impl.dart')
-rw-r--r--lib/control/scanner_controller_impl.dart16
1 files changed, 12 insertions, 4 deletions
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 <https://www.gnu.org/licenses/>.
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<ScanStatus> _scanStatusController =
@@ -29,13 +32,18 @@ abstract class ScannerControllerImpl implements ScannerController {
final BehaviorSubject<ScanAvailability> _availabilityController =
BehaviorSubject<ScanAvailability>();
- late final Stream<ScanStatus> _statusStream = _scanStatusController.stream
- .throttleTime(Duration(seconds: 1));
+ ScannerControllerImpl() {
+ // _deviceStream.listen((_) => logger.i("FIRE"));
+ }
+
@override
- Stream<ScanStatus> get statusStream => _statusStream;
+ Stream<ScanStatus> get statusStream => _scanStatusController.stream;
+ late final Stream<List<Device>> _deviceStream = _deviceContoller
+ .sampleTime(Duration(milliseconds: 500))
+ .asBroadcastStream();
@override
- Stream<List<Device>> get scanResultsStream => _deviceContoller.stream;
+ Stream<List<Device>> get scanResultsStream => _deviceStream;
@override
Stream<ScanAvailability> get availabilityStream =>