import 'dart:async'; import 'package:uvok_epaper_badge/control/scanner_controller.dart'; import 'package:uvok_epaper_badge/control/scanner_controller_impl.dart'; import 'package:uvok_epaper_badge/model/mock_device.dart'; class MockScannerController extends ScannerControllerImpl { static final List fakedDevices = [ MockDevice(0, "First"), MockDevice(1, "Second"), MockDevice(2, "Third"), MockDevice(3, "Fourth"), ]; bool _isScanning = false; @override Future startScan({ Duration timeout = const Duration(seconds: 2), }) async { if (_isScanning) return; _isScanning = true; setStatus(ScanStatus.scanning); for (int i = 0; i < fakedDevices.length && _isScanning; i++) { await Future.delayed(Duration(milliseconds: 300)); super.setDevices(fakedDevices.getRange(0, i + 1).toList(growable: false)); } _isScanning = false; setStatus(ScanStatus.finished); } @override Future stopScan() async { _isScanning = false; } }