diff options
| -rw-r--r-- | lib/control/mock_scanner_controller.dart | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/lib/control/mock_scanner_controller.dart b/lib/control/mock_scanner_controller.dart index ebbe9b6..63be00a 100644 --- a/lib/control/mock_scanner_controller.dart +++ b/lib/control/mock_scanner_controller.dart @@ -31,9 +31,11 @@ class MockScannerController extends ScannerControllerImpl { ]; bool _isScanning = false; + bool _isDisposed = false; MockScannerController() { super.setAvailability(ScanAvailability.available); + setStatus(ScanStatus.idle); } @override @@ -44,7 +46,11 @@ class MockScannerController extends ScannerControllerImpl { _isScanning = true; setStatus(ScanStatus.scanning); - for (int i = 0; i < fakedDevices.length && _isScanning; i++) { + for ( + int i = 0; + i < fakedDevices.length && _isScanning && !_isDisposed; + i++ + ) { await Future.delayed(Duration(milliseconds: 300)); super.setDevices(fakedDevices.getRange(0, i + 1).toList(growable: false)); } @@ -57,4 +63,11 @@ class MockScannerController extends ScannerControllerImpl { Future<void> stopScan() async { _isScanning = false; } + + @override + void dispose() { + _isScanning = false; + _isDisposed = true; + super.dispose(); + } } |
