beginTask method

DownloadTaskToken beginTask(
  1. String label, {
  2. String? key,
  3. required int step,
})

Implementation

DownloadTaskToken beginTask(
  String label, {
  String? key,
  required int step,
}) {
  final stepIndex = step.clamp(0, _stepCount);
  if (key != null) {
    final reserved = _reservedByKey[key];
    if (reserved != null) {
      _emit(currentLabel: label.isEmpty ? null : label);
      return reserved;
    }
  }

  _totalByStep[stepIndex] = (_totalByStep[stepIndex] ?? 0) + 1;
  _emit(currentLabel: label.isEmpty ? null : label);
  final token = DownloadTaskToken(_nextId++, stepIndex);
  if (key != null) {
    _reservedByKey[key] = token;
  }
  return token;
}