pumpAndSettleFixedTickers method

Future<int> pumpAndSettleFixedTickers([
  1. Duration duration = const Duration(milliseconds: 100),
  2. Duration timeout = const Duration(minutes: 10)
])

Like pumpAndSettle, but also waits for all FixedTicker instances to stop.

Pumps in duration increments until both:

Throws a FlutterError if timeout is exceeded (default 10 minutes, matching pumpAndSettle).

Returns the number of frames pumped.

Implementation

Future<int> pumpAndSettleFixedTickers([
  Duration duration = const Duration(milliseconds: 100),
  Duration timeout = const Duration(minutes: 10),
]) async {
  var count = 0;
  final endTime = binding.clock.now().add(timeout);
  do {
    if (binding.clock.now().isAfter(endTime)) {
      throw FlutterError('pumpAndSettleFixedTickers timed out');
    }
    await pump(duration);
    count++;
  } while (binding.hasScheduledFrame || FixedTicker.hasActiveTimers);
  return count;
}