toggle method

  1. @override
bool toggle(
  1. Offset fadeOffset
)
override

Extends toggle to ensure we don't toggle mid-fade, and re-initialize wave scheduling if we just enabled.

Implementation

@override
bool toggle(Offset fadeOffset) {
  final result = super.toggle(fadeOffset);

  if (!result) return false;

  // If we ended up enabled, re-init wave scheduling
  // (which also restarts wave timers).
  if (isEnabled) {
    updateConfiguration(_config.copyWith(isEnabled: true));
  } else {
    _cancelAllWaveActivities();
  }
  return isEnabled;
}