Made usages of animate().setListener() call safer

Because those listeners persist, they could have negative
consequences for future animate() calls.

Fixes: 204559512
Test: manual
Change-Id: Ib07bf42c077e7c094d060bc9be9b790ddefacdc9
This commit is contained in:
Selim Cinek
2021-10-29 20:00:03 +02:00
parent f9c7a7de95
commit 345cb6fec2
6 changed files with 22 additions and 1 deletions

View File

@@ -2368,7 +2368,8 @@ public class GlobalActionsDialogLite implements DialogInterface.OnDismissListene
message.animate()
.alpha(0f)
.setDuration(TOAST_FADE_TIME)
.setStartDelay(visibleTime);
.setStartDelay(visibleTime)
.setListener(null);
}
});
}

View File

@@ -289,6 +289,9 @@ public abstract class MediaOutputBaseAdapter extends
public void onAnimationEnd(Animator animation) {
to.requireViewById(R.id.volume_indeterminate_progress).setVisibility(
View.VISIBLE);
// Unset the listener, otherwise this may persist for another view
// property animation
toTitleText.animate().setListener(null);
}
});
// Animation for seek bar
@@ -312,8 +315,14 @@ public abstract class MediaOutputBaseAdapter extends
public void onAnimationEnd(Animator animation) {
mIsAnimating = false;
notifyDataSetChanged();
// Unset the listener, otherwise this may persist for
// another view property animation
fromTitleText.animate().setListener(null);
}
});
// Unset the listener, otherwise this may persist for another view
// property animation
fromSeekBar.animate().setListener(null);
}
});
}

View File

@@ -745,6 +745,8 @@ public class QSFragment extends LifecycleFragment implements QS, CommandQueue.Ca
public void onAnimationEnd(Animator animation) {
mHeaderAnimating = false;
updateQsState();
// Unset the listener, otherwise this may persist for another view property animation
getView().animate().setListener(null);
}
};

View File

@@ -716,6 +716,9 @@ public class KeyguardIndicationController {
textView.setTranslationY(BOUNCE_ANIMATION_FINAL_Y);
ViewClippingUtil.setClippingDeactivated(textView, false,
mClippingParams);
// Unset the listener, otherwise this may persist for
// another view property animation
textView.animate().setListener(null);
}
});
}

View File

@@ -124,6 +124,9 @@ public class LightsOutNotifController {
public void onAnimationEnd(Animator a) {
mLightsOutNotifView.setAlpha(showDot ? 1 : 0);
mLightsOutNotifView.setVisibility(showDot ? View.VISIBLE : View.GONE);
// Unset the listener, otherwise this may persist for
// another view property animation
mLightsOutNotifView.animate().setListener(null);
}
})
.start();

View File

@@ -120,6 +120,9 @@ public class SettingsButton extends AlphaOptimizedImageButton {
setAlpha(1f);
setTranslationX(0);
cancelLongClick();
// Unset the listener, otherwise this may persist for
// another view property animation
animate().setListener(null);
}
@Override