anchor.diff:          // to 0.0 since the last bit of the animation can take some time and
           // can feel sluggish if not going all the way back to 0.0 prevented
           // a subsequent pull-to-refresh from starting.
  -        if (lastIndicatorExtent >
  +        if (latestIndicatorBoxExtent >
               widget.refreshTriggerPullDistance * _inactiveResetOverscrollFraction) {
             return RefreshIndicatorMode.done;
           } else {
  
positive.code:   // The amount of space available from the inner indicator box's perspective.
    //
    // The value is the sum of the sliver's layout extent and the overscroll
    // (which partially gets transfered into the layout extent when the refresh
    // triggers).
    //
    // The value of lastIndicatorExtent doesn't change when the sliver scrolls
    // away without retracting; it is independent from the sliver's scrollOffset.
    double lastIndicatorExtent = 0.0;
    bool hasSliverLayoutExtent = false;
  
    @override
  
negative.code: 
      switch (refreshState) {
        case RefreshIndicatorMode.inactive:
          if (latestIndicatorBoxExtent <= 0) {
            return RefreshIndicatorMode.inactive;
          } else {
            nextState = RefreshIndicatorMode.drag;
  