Prevent clock-lock overlap with pulsing on AOD.

Bug: 133458665
Test: manual
Change-Id: I807577e52fdc372ba98114061f3c4bb533a0404d
This commit is contained in:
Robert Snoeberger
2019-06-03 17:33:09 -04:00
parent c94b3c4624
commit 2f33abb673
3 changed files with 7 additions and 6 deletions

View File

@@ -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);

View File

@@ -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);
}

View File

@@ -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)
}
}
}