recordScan method

void recordScan(
  1. ScanResult result
)

Records a scan operation event.

Implementation

void recordScan(ScanResult result) {
  _totalScans++;
  final modeKey = result.mode.name;
  _scansByMode[modeKey] = (_scansByMode[modeKey] ?? 0) + 1;

  if (result.format != null && result.format!.isNotEmpty) {
    _scansByFormat[result.format!] =
        (_scansByFormat[result.format!] ?? 0) + 1;
  }

  if (result.isDuplicate) {
    _duplicateScans++;
  }

  if (result.isValid) {
    _successfulScans++;
    if (result.scanDuration != null) {
      _scanDurations.add(result.scanDuration!);
      if (_scanDurations.length > 500) {
        _scanDurations.removeAt(0);
      }
    }
  } else {
    _failedScans++;
  }
}