createOverlayEntries method

  1. @override
Iterable<OverlayEntry> createOverlayEntries()
override

Updates tapDetails when user taps the barrier.

Implementation

@override
Iterable<OverlayEntry> createOverlayEntries() sync* {
  var entries = super.createOverlayEntries();
  for (var entry in entries) {
    if (entry is OverlayEntry) {
      var widgetBuilder = Builder(builder: (context) {
        return OModalBarrierGestureDetector(
          child: entry.builder(context),
          onTapUp: (details) {
            if (dismissible) {
              tapDetails = details;
              Navigator.of(context).pop();
            }
          },
        );
      });
      yield entry.copyWith(builder: widgetBuilder.builder);
    } else {
      yield entry;
    }
  }
}