code: private MotionEvent cloneMotionEventWithAction(MotionEvent event, int action) {
      return MotionEvent.obtain(event.getDownTime(), event.getEventTime(), action, event.getX(),
          event.getY(), event.getMetaState());
    }
docs: Clone given motion event and set specified action. This method is useful, when we want to
  cancel event propagation in child views by sending event with {@link
  android.view.MotionEvent#ACTION_CANCEL}
  action.
  
  @param event event to clone
  @param action new action
  @return cloned motion event