diff --git a/packages/SystemUI/src/com/android/keyguard/clock/SmallClockPosition.java b/packages/SystemUI/src/com/android/keyguard/clock/SmallClockPosition.java index 9b15dc6d5063e..60ca945278f6f 100644 --- a/packages/SystemUI/src/com/android/keyguard/clock/SmallClockPosition.java +++ b/packages/SystemUI/src/com/android/keyguard/clock/SmallClockPosition.java @@ -67,7 +67,8 @@ class SmallClockPosition { */ int getPreferredY() { // On AOD, clock needs to appear below the status bar with enough room for pixel shifting - int aodY = mStatusBarHeight + mKeyguardLockPadding + mBurnInOffsetY; + int aodY = mStatusBarHeight + mKeyguardLockHeight + 2 * mKeyguardLockPadding + + mBurnInOffsetY; // On lock screen, clock needs to appear below the lock icon int lockY = mStatusBarHeight + mKeyguardLockHeight + 2 * mKeyguardLockPadding; return (int) MathUtils.lerp(lockY, aodY, mDarkAmount); diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardClockPositionAlgorithm.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardClockPositionAlgorithm.java index 579d1abe7650d..c477162ca761d 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardClockPositionAlgorithm.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardClockPositionAlgorithm.java @@ -176,7 +176,7 @@ public class KeyguardClockPositionAlgorithm { } private int getExpandedPreferredClockY() { - return (mHasCustomClock && !mHasVisibleNotifs) ? getPreferredClockY() + return (mHasCustomClock && (!mHasVisibleNotifs || mPositionLikeDark)) ? getPreferredClockY() : getExpandedClockPosition(); } @@ -218,7 +218,7 @@ public class KeyguardClockPositionAlgorithm { float clockY = MathUtils.lerp(clockYBouncer, clockYRegular, shadeExpansion); clockYDark = MathUtils.lerp(clockYBouncer, clockYDark, shadeExpansion); - float darkAmount = mPositionLikeDark ? 1.0f : mDarkAmount; + float darkAmount = mPositionLikeDark && !mHasCustomClock ? 1.0f : mDarkAmount; return (int) (MathUtils.lerp(clockY, clockYDark, darkAmount) + mEmptyDragAmount); } diff --git a/packages/SystemUI/tests/src/com/android/keyguard/clock/SmallClockPositionTest.kt b/packages/SystemUI/tests/src/com/android/keyguard/clock/SmallClockPositionTest.kt index f4d59ccb372e2..456f32b4bd406 100644 --- a/packages/SystemUI/tests/src/com/android/keyguard/clock/SmallClockPositionTest.kt +++ b/packages/SystemUI/tests/src/com/android/keyguard/clock/SmallClockPositionTest.kt @@ -52,8 +52,8 @@ class SmallClockPositionTest : SysuiTestCase() { fun darkPosition() { // GIVEN on AOD position.setDarkAmount(1f) - // THEN Y position is statusBarHeight + lockPadding + burnInY (100 + 15 + 20 = 135) - assertThat(position.preferredY).isEqualTo(135) + // THEN Y is sum of statusBarHeight, lockPadding, lockHeight, lockPadding, burnInY + assertThat(position.preferredY).isEqualTo(185) } @Test @@ -64,4 +64,4 @@ class SmallClockPositionTest : SysuiTestCase() { // (100 + 15 + 35 + 15 = 165) assertThat(position.preferredY).isEqualTo(165) } -} \ No newline at end of file +}