diff options
| author | 2020-07-14 18:53:28 +0000 | |
|---|---|---|
| committer | 2020-07-14 18:53:28 +0000 | |
| commit | acf0750084c12e65118e66461657e2b285bb7452 (patch) | |
| tree | 5a6634998a4b7431eedef05ac795d799cb9b0236 | |
| parent | 7a7590dc9ba2d3a13e2feb446c75de007655a3b3 (diff) | |
| parent | 2cd3b901f9f21168881eaad777d375a504045289 (diff) | |
Merge "Ensure that animated key button drawable has callbacks" into rvc-dev
| -rw-r--r-- | packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyButtonDrawable.java | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyButtonDrawable.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyButtonDrawable.java index 8fcaa67e7614..23d03a4b225a 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyButtonDrawable.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyButtonDrawable.java @@ -80,6 +80,22 @@ public class KeyButtonDrawable extends Drawable { private final Paint mShadowPaint = new Paint(Paint.ANTI_ALIAS_FLAG | Paint.FILTER_BITMAP_FLAG); private final ShadowDrawableState mState; private AnimatedVectorDrawable mAnimatedDrawable; + private final Callback mAnimatedDrawableCallback = new Callback() { + @Override + public void invalidateDrawable(@NonNull Drawable who) { + invalidateSelf(); + } + + @Override + public void scheduleDrawable(@NonNull Drawable who, @NonNull Runnable what, long when) { + scheduleSelf(what, when); + } + + @Override + public void unscheduleDrawable(@NonNull Drawable who, @NonNull Runnable what) { + unscheduleSelf(what); + } + }; public KeyButtonDrawable(Drawable d, @ColorInt int lightColor, @ColorInt int darkColor, boolean horizontalFlip, Color ovalBackgroundColor) { @@ -97,6 +113,7 @@ public class KeyButtonDrawable extends Drawable { } if (canAnimate()) { mAnimatedDrawable = (AnimatedVectorDrawable) mState.mChildState.newDrawable().mutate(); + mAnimatedDrawable.setCallback(mAnimatedDrawableCallback); setDrawableBounds(mAnimatedDrawable); } } |