scanAll method

Future<List<ScanResult>> scanAll({
  1. ScanMode? mode,
})

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 [];
}