anchor.diff:    @override
     void didReplace({Route<dynamic>? newRoute, Route<dynamic>? oldRoute}) {
       super.didReplace(newRoute: newRoute, oldRoute: oldRoute);
  -    if (newRoute is PageRoute) {
  +    if (newRoute != null && routeFilter(newRoute)) {
         _sendScreenView(newRoute);
       }
     }
  
positive.code:   FirebaseAnalyticsObserver({
      required this.analytics,
      this.nameExtractor = defaultNameExtractor,
      Function(PlatformException error)? onError,
    }) : _onError = onError;
  
    final FirebaseAnalytics analytics;
    final ScreenNameExtractor nameExtractor;
    final void Function(PlatformException error)? _onError;
  
    void _sendScreenView(PageRoute<dynamic> route) {
      final String? screenName = nameExtractor(route.settings);
      if (screenName != null) {
        analytics.setCurrentScreen(screenName: screenName).catchError(
  
negative.code:   @override
    void didPush(Route<dynamic> route, Route<dynamic>? previousRoute) {
      super.didPush(route, previousRoute);
      if (routeFilter(route)) {
        _sendScreenView(route);
      }
    }
  