/**
         * Handles the up event.
         * <p/>
         * Animates the hover drawable to its final position, and finalizes our drag properties when the animation has finished.
         * Will also notify the {@link com.nhaarman.listviewanimations.itemmanipulation.dragdrop.OnItemMovedListener} set if applicable.
         *
         * @return {@code true} if the event was handled, {@code false} otherwise.
         */
        private bool handleUpEvent()
        {
            if (mMobileView == null)
            {
                return false;
            }
            //assert mHoverDrawable != null;

            ValueAnimator valueAnimator = ValueAnimator.OfInt(mHoverDrawable.getTop(), (int)mMobileView.GetY());
            SettleHoverDrawableAnimatorListener listener = new SettleHoverDrawableAnimatorListener(mHoverDrawable, mMobileView,this);
            valueAnimator.AddUpdateListener(listener);
            valueAnimator.AddListener(listener);
            valueAnimator.Start();

            int newPosition = getPositionForId(mMobileItemId) - mWrapper.getHeaderViewsCount();
            if (mOriginalMobileItemPosition != newPosition && mOnItemMovedListener != null)
            {
                mOnItemMovedListener.onItemMoved(mOriginalMobileItemPosition, newPosition);
            }

            return true;
        }