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
diff --git a/src/com/android/launcher3/anim/AnimatorPlaybackController.java b/src/com/android/launcher3/anim/AnimatorPlaybackController.java
index cf070c5..2c440bb 100644
--- a/src/com/android/launcher3/anim/AnimatorPlaybackController.java
+++ b/src/com/android/launcher3/anim/AnimatorPlaybackController.java
@@ -236,7 +236,7 @@
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) {
diff --git a/src/com/android/launcher3/anim/SpringObjectAnimator.java b/src/com/android/launcher3/anim/SpringObjectAnimator.java
index 4f45c05..cc70e32 100644
--- a/src/com/android/launcher3/anim/SpringObjectAnimator.java
+++ b/src/com/android/launcher3/anim/SpringObjectAnimator.java
@@ -85,7 +85,7 @@
// 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 @@
mListeners.add(listener);
}
- public ArrayList<AnimatorListener> getSuperListeners() {
- return super.getListeners();
+ public ArrayList<AnimatorListener> getObjectAnimatorListeners() {
+ return mObjectAnimator.getListeners();
}
@Override