Consider lock icon when determining minimum top padding.

Otherwise, the clock will be able to overlap with the lock icon in some
situations. A side effect of this change is that only 2 notifications
will be displayed when the now playing indication is present.

Fixes: 131311937
Test: manual - need three visible notifs + now playing indication
Change-Id: Ieffa97bc20a45fb82fb258deca7c1f289b0ce003
This commit is contained in:
Robert Snoeberger
2019-05-02 16:44:11 -04:00
parent 2c09b3be23
commit 69969c28bc
2 changed files with 9 additions and 2 deletions

View File

@@ -591,6 +591,8 @@
<dimen name="keyguard_clock_notifications_margin">30dp</dimen>
<!-- Minimum margin between clock and status bar -->
<dimen name="keyguard_clock_top_margin">36dp</dimen>
<!-- The margin between top of clock and bottom of lock icon. -->
<dimen name="keyguard_clock_lock_margin">16dp</dimen>
<item name="scrim_behind_alpha" format="float" type="dimen">0.62</item>

View File

@@ -117,8 +117,13 @@ public class KeyguardClockPositionAlgorithm {
public void loadDimens(Resources res) {
mClockNotificationsMargin = res.getDimensionPixelSize(
R.dimen.keyguard_clock_notifications_margin);
mContainerTopPadding = res.getDimensionPixelSize(
R.dimen.keyguard_clock_top_margin);
// Consider the lock icon when determining the minimum top padding between the status bar
// and top of the clock.
mContainerTopPadding = Math.max(res.getDimensionPixelSize(
R.dimen.keyguard_clock_top_margin),
res.getDimensionPixelSize(R.dimen.keyguard_lock_height)
+ res.getDimensionPixelSize(R.dimen.keyguard_lock_padding)
+ res.getDimensionPixelSize(R.dimen.keyguard_clock_lock_margin));
mBurnInPreventionOffsetX = res.getDimensionPixelSize(
R.dimen.burn_in_prevention_offset_x);
mBurnInPreventionOffsetY = res.getDimensionPixelSize(