@Override
 public void onStopNestedScroll(View target) {
   mNestedScrollingParentHelper.onStopNestedScroll(target);
   mNestedScrollInProgress = false;
   touchUp(null);
   stopNestedScroll();
 }
 @Override
 public void onNestedScrollAccepted(View child, View target, int axes) {
   // Reset the counter of how much leftover scroll needs to be consumed.
   mNestedScrollInProgress = true;
   mNestedScrollingParentHelper.onNestedScrollAccepted(child, target, axes);
   // Dispatch up to the nested parent
   startNestedScroll(axes & ViewCompat.SCROLL_AXIS_VERTICAL);
 }
 @Override
 public void onStopNestedScroll(View target) {
   mNestedScrollingParentHelper.onStopNestedScroll(target);
   // Finish the spinner for nested scrolling if we ever consumed any
   // unconsumed nested scroll
   if (mTotalUnconsumed > 0) {
     finishSpinner(mTotalUnconsumed);
     mTotalUnconsumed = 0;
   }
   // Dispatch up our nested parent
   stopNestedScroll();
 }
 @Override
 public int getNestedScrollAxes() {
   return mNestedScrollingParentHelper.getNestedScrollAxes();
 }
 @Override
 public void onNestedScrollAccepted(View child, View target, int axes) {
   // Reset the counter of how much leftover scroll needs to be consumed.
   mNestedScrollingParentHelper.onNestedScrollAccepted(child, target, axes);
   mTotalUnconsumed = 0;
 }