anchor.diff:    final Queue<ScaffoldFeatureController<SnackBar, SnackBarClosedReason>> _snackBars = new Queue<ScaffoldFeatureController<SnackBar, SnackBarClosedReason>>();
     AnimationController _snackBarController;
     Timer _snackBarTimer;
  +  bool _accessibleNavigation;
   
     /// Shows a [SnackBar] at the bottom of the scaffold.
     ///
  
positive.code:   }
  
    @override
    void dispose() {
      _snackBarController?.dispose();
      _snackBarTimer?.cancel();
  
negative.code:     final MediaQueryData mediaQuery = MediaQuery.of(context);
      final ThemeData themeData = Theme.of(context);
      final TextDirection textDirection = Directionality.of(context);
      _accessibleNavigation = mediaQuery.accessibleNavigation;
  
      if (_snackBars.isNotEmpty) {
        final ModalRoute<dynamic> route = ModalRoute.of(context);
        if (route == null || route.isCurrent) {
          if (_snackBarController.isCompleted && _snackBarTimer == null) {
            final SnackBar snackBar = _snackBars.first._widget;
            _snackBarTimer = new Timer(snackBar.duration, () {
              assert(_snackBarController.status == AnimationStatus.forward ||
                     _snackBarController.status == AnimationStatus.completed);
              // Look up MediaQuery again in case the setting changed.
              final MediaQueryData mediaQuery = MediaQuery.of(context);
              if (mediaQuery.accessibleNavigation && snackBar.action != null)
                return;
              hideCurrentSnackBar(reason: SnackBarClosedReason.timeout);
            });
          }
  