From b0fcded7aa9db78bba69d6476a478b7f35d840da Mon Sep 17 00:00:00 2001 From: Kevin Date: Thu, 9 May 2019 17:32:11 -0700 Subject: [PATCH] Move shared end pending anim logic for reusability Some of the logic in endAnimations and endAnimation is shared and should be moved to a common helper method. Test: Builds and functions as before Change-Id: I4973d50ad8778bb397938b5d65d9f95f48ff145b --- .../quickstep/ContentFillItemAnimator.java | 43 ++++++++----------- 1 file changed, 17 insertions(+), 26 deletions(-) diff --git a/go/quickstep/src/com/android/quickstep/ContentFillItemAnimator.java b/go/quickstep/src/com/android/quickstep/ContentFillItemAnimator.java index c5e4b839f1..6a571ef389 100644 --- a/go/quickstep/src/com/android/quickstep/ContentFillItemAnimator.java +++ b/go/quickstep/src/com/android/quickstep/ContentFillItemAnimator.java @@ -216,20 +216,8 @@ public final class ContentFillItemAnimator extends SimpleItemAnimator { @Override public void endAnimation(@NonNull ViewHolder item) { for (int i = mPendingAnims.size() - 1; i >= 0; i--) { - PendingAnimation pendAnim = mPendingAnims.get(i); - if (pendAnim.viewHolder == item) { - mPendingAnims.remove(i); - switch (pendAnim.animType) { - case ANIM_TYPE_REMOVE: - dispatchRemoveFinished(item); - break; - case ANIM_TYPE_CHANGE: - dispatchChangeFinished(item, true /* oldItem */); - break; - default: - break; - } - } + endPendingAnimation(mPendingAnims.get(i)); + mPendingAnims.remove(i); } dispatchFinishedWhenDone(); } @@ -237,18 +225,7 @@ public final class ContentFillItemAnimator extends SimpleItemAnimator { @Override public void endAnimations() { for (int i = mPendingAnims.size() - 1; i >= 0; i--) { - PendingAnimation pendAnim = mPendingAnims.get(i); - ViewHolder item = pendAnim.viewHolder; - switch (pendAnim.animType) { - case ANIM_TYPE_REMOVE: - dispatchRemoveFinished(item); - break; - case ANIM_TYPE_CHANGE: - dispatchChangeFinished(item, true /* oldItem */); - break; - default: - break; - } + endPendingAnimation(mPendingAnims.get(i)); mPendingAnims.remove(i); } for (int i = mRunningAnims.size() - 1; i >= 0; i--) { @@ -259,6 +236,20 @@ public final class ContentFillItemAnimator extends SimpleItemAnimator { dispatchAnimationsFinished(); } + private void endPendingAnimation(PendingAnimation pendAnim) { + ViewHolder item = pendAnim.viewHolder; + switch (pendAnim.animType) { + case ANIM_TYPE_REMOVE: + dispatchRemoveFinished(item); + break; + case ANIM_TYPE_CHANGE: + dispatchChangeFinished(item, true /* oldItem */); + break; + default: + break; + } + } + @Override public boolean isRunning() { return !mPendingAnims.isEmpty() || !mRunningAnims.isEmpty();