private void notifyDelayed(int code, long delay) { final int mask = (1 << code); if ((mPendingNotificationMask & mask) != 0) { return; } mPendingNotificationMask |= mask; final DelayedNotificationRunner notification = new DelayedNotificationRunner(this, code); ViewCompat.postOnAnimationDelayed(mRecyclerView, notification, delay); }
/*package*/ void onScrolled(RecyclerView recyclerView, int dx, int dy) { if (LOCAL_LOGV) { Log.v(TAG, "onScrolled(dx = " + dx + ", dy = " + dy + ")"); } if (mInScrollByMethod) { mActualScrollByXAmount = dx; mActualScrollByYAmount = dy; } else if (isDragging()) { ViewCompat.postOnAnimationDelayed(mRecyclerView, mCheckItemSwappingRunnable, 500); } }
public void runPendingAnimations(boolean deferred, long deferredDelay) { final List<T> ready = new ArrayList<>(mPending); mPending.clear(); if (deferred) { mDeferredReadySets.add(ready); final Runnable process = new Runnable() { @Override public void run() { for (T info : ready) { createAnimation(info); } ready.clear(); mDeferredReadySets.remove(ready); } }; final View view = ready.get(0).getAvailableViewHolder().itemView; ViewCompat.postOnAnimationDelayed(view, process, deferredDelay); } else { for (T info : ready) { createAnimation(info); } ready.clear(); } }
if (removalsPending) { View view = moves.get(0).holder.itemView; ViewCompat.postOnAnimationDelayed(view, mover, getRemoveDuration()); } else { mover.run(); if (removalsPending) { ViewHolder holder = changes.get(0).oldHolder; ViewCompat.postOnAnimationDelayed(holder.itemView, changer, getRemoveDuration()); } else { changer.run(); long totalDelay = removeDuration + Math.max(moveDuration, changeDuration); View view = additions.get(0).itemView; ViewCompat.postOnAnimationDelayed(view, adder, totalDelay); } else { adder.run();
private void postOnAnimationDelayed(long delayMillis) { if (mEatRunOnAnimationRequest) { mReSchedulePostAnimationCallback = true; } else { mView.removeCallbacks(this); ViewCompat.postOnAnimationDelayed(mView, this, delayMillis); } }
if (removalsPending) { View view = moves.get(0).holder.itemView; ViewCompat.postOnAnimationDelayed(view, mover, 0); } else { mover.run(); ViewCompat.postOnAnimationDelayed(holder.itemView, changer, getRemoveDelay(getRemoveDuration(), moveDuration, getChangeDuration())); } else { changer.run(); long changeDuration = changesPending ? getChangeDuration() : 0; View view = additions.get(0).itemView; ViewCompat.postOnAnimationDelayed(view, adder, getAddDelay(removeDuration, moveDuration, changeDuration)); } else { adder.run();