OSDN Git Service

Consider lock icon when determining minimum top padding.
authorRobert Snoeberger <snoeberger@google.com>
Thu, 2 May 2019 20:44:11 +0000 (16:44 -0400)
committerRobert Snoeberger <snoeberger@google.com>
Fri, 3 May 2019 13:34:45 +0000 (09:34 -0400)
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

packages/SystemUI/res/values/dimens.xml
packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardClockPositionAlgorithm.java

index ce958ab..bb7b663 100644 (file)
     <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>
 
index 1b86693..bc2d00f 100644 (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(