@Override
 public void computeScroll() {
   boolean invalidate = mDragHelper.continueSettling(true);
   if (!mTouchDown && mScroller.computeScrollOffset()) {
     if (!invalidate) {
       offsetHeaderBy(mScroller.getCurrY() - getHeaderTop());
     }
     invalidate = true;
   }
   updateViewOffset();
   if (invalidate) {
     ViewCompat.postInvalidateOnAnimation(this);
   }
 }