dispose method

void dispose()

Marks this controller disposed — any in-flight show stops mutating state from this point on and its onComplete is dropped, never called (same reasoning as SceneTransitionController.dispose: a widget tearing down shouldn't have a stale timer reach back into it later). show called after dispose is a safe no-op.

Implementation

void dispose() {
  _disposed = true;
  _activeToken = null;
  _onComplete = null;
  _wakeSuspendedWait();
}