diff options
| author | 2023-05-16 20:18:34 +0800 | |
|---|---|---|
| committer | 2023-05-17 09:55:25 +0800 | |
| commit | ac24e6276ccbe2cc937df88a8c15208ce23c1ade (patch) | |
| tree | 36e0ae930dc4685aa218b7f43fff90d3d52bbde7 | |
| parent | 4811f1daee9793f697a8e0dd6e805093b6ee8018 (diff) | |
Add listener once for volume row animation
volume UI stuck when press volume up/down for long time
add listener for volume row animation everytime volume key,
and cause listener size too large.
only add listener once.
Bug: 279696149
Test: manual testing with adjusting volume by remote
Change-Id: I738c07fb9a3a804b4864e246ac986460ee1d0568
| -rw-r--r-- | packages/SystemUI/src/com/android/systemui/volume/VolumeDialogImpl.java | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/volume/VolumeDialogImpl.java b/packages/SystemUI/src/com/android/systemui/volume/VolumeDialogImpl.java index 5641237bf0d0..9d547bf34790 100644 --- a/packages/SystemUI/src/com/android/systemui/volume/VolumeDialogImpl.java +++ b/packages/SystemUI/src/com/android/systemui/volume/VolumeDialogImpl.java @@ -1889,14 +1889,14 @@ public class VolumeDialogImpl implements VolumeDialog, Dumpable, if (row.anim == null) { row.anim = ObjectAnimator.ofInt(row.slider, "progress", progress, newProgress); row.anim.setInterpolator(new DecelerateInterpolator()); + row.anim.addListener( + getJankListener(row.view, TYPE_UPDATE, UPDATE_ANIMATION_DURATION)); } else { row.anim.cancel(); row.anim.setIntValues(progress, newProgress); } row.animTargetProgress = newProgress; row.anim.setDuration(UPDATE_ANIMATION_DURATION); - row.anim.addListener( - getJankListener(row.view, TYPE_UPDATE, UPDATE_ANIMATION_DURATION)); row.anim.start(); } else { // update slider directly to clamped value |