update method

void update(
  1. ProgressEvent e
)

Folds e into the live state and redraws, throttled; safe to call on every event. Item start/complete milestones bypass the throttle so the view never lags a file appearing or settling.

Implementation

void update(ProgressEvent e) {
  if (!_enabled || e.phase == ProgressPhase.done) return;
  _ingest(e);
  final milestone =
      e.itemState == ProgressItemState.started ||
      e.itemState == ProgressItemState.completed;
  final ms = _sw.elapsedMilliseconds;
  if (!milestone && ms - _lastRenderMs < 100) return;
  _lastRenderMs = ms;
  _paint(_compose());
}