onOpened method

  1. @override
  2. @protected
dynamic onOpened()
override

Implementation

@override
@protected
onOpened() {
  super.onOpened();
  if (!isDuration()) {
    return;
  }

  final totalMs = widget.duration!.inMilliseconds;
  final startTime = DateTime.now().millisecondsSinceEpoch;

  timer = Timer.periodic(const Duration(milliseconds: 16), (timer) async {
    if (!mounted) return;

    final elapsed = DateTime.now().millisecondsSinceEpoch - startTime;
    final remaining = totalMs - elapsed;

    if (remaining <= 0) {
      timer.cancel();
      await close();
    }
  });
}