Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 139b27a4 authored by George Mount's avatar George Mount Committed by Cherrypicker Worker
Browse files

Make Animators pass internal tests

Fixes: 269524599

AnimatorSet wasn't properly managing cloning and
ViewPropertyAnimatorTest didn't work when the animator took too
long to start. This CL fixes both problems.

Test: ran animation tests
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:9cbebf9fb2066cf8765ba794a9181c6e6fca2ca4)
Merged-In: Icdf2e9d75d93fa6a4e99833c24a40b48b051f568
Change-Id: Icdf2e9d75d93fa6a4e99833c24a40b48b051f568
parent c4d71f41
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -1503,6 +1503,7 @@ public final class AnimatorSet extends Animator implements AnimationHandler.Anim
        anim.mNodeMap = new ArrayMap<Animator, Node>();
        anim.mNodes = new ArrayList<Node>(nodeCount);
        anim.mEvents = new ArrayList<AnimationEvent>();
        anim.mStartListenersCalled = false;
        anim.mAnimationEndListener = new AnimatorListenerAdapter() {
            @Override
            public void onAnimationEnd(Animator animation) {
+5 −1
Original line number Diff line number Diff line
@@ -135,11 +135,15 @@ public class ViewPropertyAnimatorTest {
     * @throws Exception
     */
    @Before
    public void setUp() throws Exception {
    public void setUp() throws Throwable {
        final BasicAnimatorActivity activity = mActivityRule.getActivity();
        Button button = activity.findViewById(R.id.animatingButton);

        mAnimator = button.animate().x(100).y(100);
        mActivityRule.runOnUiThread(() -> {
            mAnimator.start();
            mAnimator.cancel();
        });

        // mListener is the main testing mechanism of this file. The asserts of each test
        // are embedded in the listener callbacks that it implements.