anchor.diff:  /// );
   /// ```
   ///
  -/// You can also track screen views within your [PageRoute] by implementing
  -/// [PageRouteAware] and subscribing it to [FirebaseAnalyticsObserver]. See the
  -/// [PageRouteObserver] docs for an example.
  -class FirebaseAnalyticsObserver extends RouteObserver<PageRoute<dynamic>> {
  +/// You can also track screen views within your [ModalRoute] by implementing
  +/// [RouteAware<ModalRoute<dynamic>>] and subscribing it to [FirebaseAnalyticsObserver]. See the
  +/// [RouteObserver<ModalRoute<dynamic>>] docs for an example.
  +class FirebaseAnalyticsObserver extends RouteObserver<ModalRoute<dynamic>> {
     /// Creates a [NavigatorObserver] that sends events to [FirebaseAnalytics].
     ///
     /// When a route is pushed or popped, [nameExtractor] is used to extract a
  
positive.code: 
  String? defaultNameExtractor(RouteSettings settings) => settings.name;
  
  /// A [NavigatorObserver] that sends events to Firebase Analytics when the
  /// currently active [PageRoute] changes.
  ///
  /// When a route is pushed or popped, [nameExtractor] is used to extract a name
  /// from [RouteSettings] of the now active route and that name is sent to
  /// Firebase.
  ///
  /// The following operations will result in sending a screen view event:
  /// ```dart
  
negative.code:   FirebaseAnalyticsObserver({
      required this.analytics,
      this.nameExtractor = defaultNameExtractor,
      this.routeFilter = defaultRouteFilter,
      Function(PlatformException error)? onError,
    }) : _onError = onError;
  
    final FirebaseAnalytics analytics;
    final ScreenNameExtractor nameExtractor;
    final RouteFilter routeFilter;
    final void Function(PlatformException error)? _onError;
  
    void _sendScreenView(Route<dynamic> route) {
      final String? screenName = nameExtractor(route.settings);
      if (screenName != null) {
        analytics.setCurrentScreen(screenName: screenName).catchError(
  