lib-manipulation/src/main/java/com/nhaarman/listviewanimations/itemmanipulation/dragdrop/DragAndDropHandler.java
private void switchViews(final View switchView, final long switchId, final float translationY) {
        assert mHoverDrawable != null;
        assert mAdapter != null;
        assert mMobileView != null;

        final int switchViewPosition = mWrapper.getPositionForView(switchView);
        int mobileViewPosition = mWrapper.getPositionForView(mMobileView);

        ((Swappable) mAdapter).swapItems(switchViewPosition - mWrapper.getHeaderViewsCount(), mobileViewPosition - mWrapper.getHeaderViewsCount());
        ((BaseAdapter) mAdapter).notifyDataSetChanged();

        mHoverDrawable.shift(switchView.getHeight());
        mSwitchViewAnimator.animateSwitchView(switchId, translationY);
    }
private void switchViews(final View switchView, final long switchId, final float translationY) {
        assert mHoverDrawable != null;
        assert mAdapter != null;
        assert mMobileView != null;

        final int switchViewPosition = mWrapper.getPositionForView(switchView);
        int mobileViewPosition = mWrapper.getPositionForView(mMobileView);

        ((Swappable) mAdapter).swapItems(switchViewPosition - mWrapper.getHeaderViewsCount(), mobileViewPosition - mWrapper.getHeaderViewsCount());
        ((BaseAdapter) mAdapter).notifyDataSetChanged();

        mHoverDrawable.shift(switchView.getHeight());
        mSwitchViewAnimator.animateSwitchView(switchId, translationY);
    }
private void switchViews ( final View switchView , final long switchId , final float translationY ) { assert mHoverDrawable != null ; assert mAdapter != null ; assert mMobileView != null ; final int switchViewPosition = mWrapper . getPositionForView ( switchView ) ; int mobileViewPosition = mWrapper . getPositionForView ( mMobileView ) ; ( ( Swappable ) mAdapter ) . swapItems ( switchViewPosition - mWrapper . getHeaderViewsCount ( ) , mobileViewPosition - mWrapper . getHeaderViewsCount ( ) ) ; ( ( BaseAdapter ) mAdapter ) . notifyDataSetChanged ( ) ; mHoverDrawable . shift ( switchView . getHeight ( ) ) ; mSwitchViewAnimator . animateSwitchView ( switchId , translationY ) ; }
Switches the item that is currently being dragged with the item belonging to given id,
by notifying the adapter to swap positions and that the data set has changed.

@param switchView   the {@code View} that should be animated towards the old position of the currently dragging item.
@param switchId     the id of the item that will take the position of the currently dragging item.
@param translationY the distance in pixels the {@code switchView} should animate - i.e. the (positive or negative) height of the {@code View} corresponding to the currently
dragging item.
Switches the item that is currently being dragged with the item belonging to given id by notifying the adapter to swap positions and that the data set has changed .