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

Commit aae3768c authored by Jon Miranda's avatar Jon Miranda
Browse files

Fix bug where listeners didn't get dispatched properly due to it being

attached to SpringObjectAnimator instead of the ObjectAnimator.

Bug: 123597926
Change-Id: Ife09e0e2bf4309b43be531e6e863692c75ae0867
parent 80748ae6
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -236,7 +236,7 @@ public abstract class AnimatorPlaybackController implements ValueAnimator.Animat

    private void dispatchOnStartRecursively(Animator animator) {
        List<AnimatorListener> listeners = animator instanceof SpringObjectAnimator
                ? nonNullList(((SpringObjectAnimator) animator).getSuperListeners())
                ? nonNullList(((SpringObjectAnimator) animator).getObjectAnimatorListeners())
                : nonNullList(animator.getListeners());

        for (AnimatorListener l : listeners) {
+3 −3
Original line number Diff line number Diff line
@@ -85,7 +85,7 @@ public class SpringObjectAnimator<T extends ProgressInterface> extends ValueAnim

        // We use this listener and track mListeners so that we can sync the animator and spring
        // listeners.
        super.addListener(new AnimatorListenerAdapter() {
        mObjectAnimator.addListener(new AnimatorListenerAdapter() {
            @Override
            public void onAnimationStart(Animator animation) {
                mAnimatorEnded = false;
@@ -157,8 +157,8 @@ public class SpringObjectAnimator<T extends ProgressInterface> extends ValueAnim
        mListeners.add(listener);
    }

    public ArrayList<AnimatorListener> getSuperListeners() {
        return super.getListeners();
    public ArrayList<AnimatorListener> getObjectAnimatorListeners() {
        return mObjectAnimator.getListeners();
    }

    @Override