code: protected ViewPropertyAnimatorCompat animateMoveImpl(final ViewHolder holder, int fromX, int fromY, int toX, int toY) {
          final View view = holder.itemView;
          final int deltaX = toX - fromX;
          final int deltaY = toY - fromY;
          ViewCompat.animate(view).cancel();
          if (deltaX != 0) {
              ViewCompat.animate(view).translationX(0);
          }
          if (deltaY != 0) {
              ViewCompat.animate(view).translationY(0);
          }
          // TODO: make EndActions end listeners instead, since end actions aren't called when
          // vpas are canceled (and can't end them. why?)
          // need listener functionality in VPACompat for this. Ick.
          return ViewCompat.animate(view).setInterpolator(null).setDuration(getMoveDuration());
      }
docs: Preform your animation. You do not need to override this in most cases cause the default is pretty good.
  Listeners will be overridden *