summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Shan Huang <shanh@google.com> 2021-06-29 12:12:28 +0800
committer Shan Huang <shanh@google.com> 2021-06-29 12:15:10 +0800
commitbe2073710854306b10e0fdb611a485d2c23f0500 (patch)
tree4180257fc474c3437d50703a5146e83edfbfe08f
parentd87df18092cb926d6ca2e605848f70b81778d9ce (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.java4
-rw-r--r--packages/SystemUI/src/com/android/keyguard/AnimatableClockView.java10
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();
+ }
}