scanAll method
Executes a multi-code batch pass returning all detected ScanResult items in a single scan.
Implementation
Future<List<ScanResult>> scanAll({ScanMode? mode}) async {
final targetMode = mode ?? _selectedMode;
if (_lastResult != null &&
_lastResult!.mode == targetMode &&
_lastResult!.multiResults != null) {
return _lastResult!.multiResults!;
}
if (_batchResults.isNotEmpty) {
final filtered = _batchResults
.where((r) => r.mode == targetMode)
.toList();
return List.unmodifiable(filtered.isNotEmpty ? filtered : _batchResults);
}
if (_lastResult != null && _lastResult!.isValid) {
return [_lastResult!];
}
return [];
}