From 290271695d66cb6be38b1ebe80dc3473e6163738 Mon Sep 17 00:00:00 2001 From: Doris Liu Date: Tue, 26 Sep 2017 17:00:54 -0700 Subject: [PATCH] Fix end() for infinite AnimatorSet BUG: 66880433 Test: repo steps in the bug above Change-Id: If34b7386b7ff5cd28144e99c37957abddb068e9c --- core/java/android/animation/AnimatorSet.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/core/java/android/animation/AnimatorSet.java b/core/java/android/animation/AnimatorSet.java index 00d6657efd0d1..1a2dc5cde4e54 100644 --- a/core/java/android/animation/AnimatorSet.java +++ b/core/java/android/animation/AnimatorSet.java @@ -843,7 +843,7 @@ public final class AnimatorSet extends Animator implements AnimationHandler.Anim // Assumes forward playing from here on. for (int i = 0; i < mEvents.size(); i++) { AnimationEvent event = mEvents.get(i); - if (event.getTime() > currentPlayTime) { + if (event.getTime() > currentPlayTime || event.getTime() == DURATION_INFINITE) { break; } @@ -1264,7 +1264,8 @@ public final class AnimatorSet extends Animator implements AnimationHandler.Anim } else { for (int i = mLastEventId + 1; i < size; i++) { AnimationEvent event = mEvents.get(i); - if (event.getTime() <= currentPlayTime) { + // TODO: need a function that accounts for infinite duration to compare time + if (event.getTime() != DURATION_INFINITE && event.getTime() <= currentPlayTime) { latestId = i; } }