public void finish(boolean animate) { if (mStarted) { mRecyclerView.removeItemDecoration(this); } final RecyclerView.ItemAnimator itemAnimator = mRecyclerView.getItemAnimator(); if (itemAnimator != null) { itemAnimator.endAnimations(); } mRecyclerView.stopScroll(); if (mSwapTargetItem != null) { // return to default position updateSwapTargetTranslation(mDraggingItem, mSwapTargetItem, mCurTranslationPhase); moveToDefaultPosition(mSwapTargetItem.itemView, animate); mSwapTargetItem = null; } mRange = null; mDraggingItem = null; mTranslationY = 0; mDraggingItemHeight = 0; mCurTranslationPhase = 0.0f; mReqTranslationPhase = 0.0f; mStarted = false; }
public void finish(boolean animate) { if (mStarted) { mRecyclerView.removeItemDecoration(this); } final RecyclerView.ItemAnimator itemAnimator = mRecyclerView.getItemAnimator(); if (itemAnimator != null) { itemAnimator.endAnimations(); } mRecyclerView.stopScroll(); // return to default position updateDraggingItemPosition(mTranslationX, mTranslationY); if (mDraggingItemViewHolder != null) { moveToDefaultPosition(mDraggingItemViewHolder.itemView, animate); } // show if (mDraggingItemViewHolder != null) { mDraggingItemViewHolder.itemView.setVisibility(View.VISIBLE); } mDraggingItemViewHolder = null; if (mDraggingItemImage != null) { mDraggingItemImage.recycle(); mDraggingItemImage = null; } mRange = null; mTranslationX = 0; mTranslationY = 0; mTranslationLeftLimit = 0; mTranslationRightLimit = 0; mTranslationTopLimit = 0; mTranslationBottomLimit = 0; mTouchPositionX = 0; mTouchPositionY = 0; mStarted = false; }