diff options
| author | 2021-06-29 12:12:28 +0800 | |
|---|---|---|
| committer | 2021-06-29 12:15:10 +0800 | |
| commit | be2073710854306b10e0fdb611a485d2c23f0500 (patch) | |
| tree | 4180257fc474c3437d50703a5146e83edfbfe08f | |
| parent | d87df18092cb926d6ca2e605848f70b81778d9ce (diff) | |
Fix clock font weight animation to always match the latest doze state.
Bug:189296201
Fixes:189296201
Test: Turn off AOD, put screen off, plugin charger, checks the font
weight after phone wakes up.
Change-Id: I1206efbf213e6fbbfddfc2eb884f66a9321bf993
| -rw-r--r-- | packages/SystemUI/src/com/android/keyguard/AnimatableClockController.java | 4 | ||||
| -rw-r--r-- | packages/SystemUI/src/com/android/keyguard/AnimatableClockView.java | 10 |
2 files changed, 10 insertions, 4 deletions
diff --git a/packages/SystemUI/src/com/android/keyguard/AnimatableClockController.java b/packages/SystemUI/src/com/android/keyguard/AnimatableClockController.java index 08076c17dc3a..4b3af34b1df1 100644 --- a/packages/SystemUI/src/com/android/keyguard/AnimatableClockController.java +++ b/packages/SystemUI/src/com/android/keyguard/AnimatableClockController.java @@ -94,7 +94,9 @@ public class AnimatableClockController extends ViewController<AnimatableClockVie @Override public void onBatteryLevelChanged(int level, boolean pluggedIn, boolean charging) { if (mKeyguardShowing && !mIsCharging && charging) { - mView.animateCharge(mIsDozing); + mView.animateCharge(() -> { + return mStatusBarStateController.isDozing(); + }); } mIsCharging = charging; } diff --git a/packages/SystemUI/src/com/android/keyguard/AnimatableClockView.java b/packages/SystemUI/src/com/android/keyguard/AnimatableClockView.java index 63867c0f7308..58b3865facbc 100644 --- a/packages/SystemUI/src/com/android/keyguard/AnimatableClockView.java +++ b/packages/SystemUI/src/com/android/keyguard/AnimatableClockView.java @@ -196,20 +196,20 @@ public class AnimatableClockView extends TextView { null /* onAnimationEnd */); } - void animateCharge(boolean isDozing) { + void animateCharge(DozeStateGetter dozeStateGetter) { if (mTextAnimator == null || mTextAnimator.isRunning()) { // Skip charge animation if dozing animation is already playing. return; } Runnable startAnimPhase2 = () -> setTextStyle( - isDozing ? mDozingWeight : mLockScreenWeight/* weight */, + dozeStateGetter.isDozing() ? mDozingWeight : mLockScreenWeight/* weight */, -1, null, true /* animate */, CHARGE_ANIM_DURATION_PHASE_1, 0 /* delay */, null /* onAnimationEnd */); - setTextStyle(isDozing ? mLockScreenWeight : mDozingWeight/* weight */, + setTextStyle(dozeStateGetter.isDozing() ? mLockScreenWeight : mDozingWeight/* weight */, -1, null, true /* animate */, @@ -279,4 +279,8 @@ public class AnimatableClockView extends TextView { context.getResources().getConfiguration().locale); return dtpg.getBestPattern(skeleton); } + + interface DozeStateGetter { + boolean isDozing(); + } } |