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 7ca8652e1b3c5..732e5f0343a22 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardClockPositionAlgorithm.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardClockPositionAlgorithm.java @@ -57,8 +57,7 @@ public class KeyguardClockPositionAlgorithm { private int mUserSwitchPreferredY; /** - * Minimum top margin to avoid overlap with status bar, lock icon, or multi-user switcher - * avatar. + * Minimum top margin to avoid overlap with status bar or multi-user switcher avatar. */ private int mMinTopMargin; @@ -203,7 +202,7 @@ public class KeyguardClockPositionAlgorithm { if (mBypassEnabled) { return mUnlockedStackScrollerPadding; } else if (mIsSplitShade) { - return getClockY(1.0f, mDarkAmount); + return getClockY(1.0f, mDarkAmount) + mUserSwitchHeight; } else { return getClockY(1.0f, mDarkAmount) + mKeyguardStatusHeight; } @@ -213,7 +212,7 @@ public class KeyguardClockPositionAlgorithm { if (mBypassEnabled) { return (int) (mUnlockedStackScrollerPadding + mOverStretchAmount); } else if (mIsSplitShade) { - return Math.max(0, clockYPosition - mSplitShadeTopNotificationsMargin); + return clockYPosition - mSplitShadeTopNotificationsMargin + mUserSwitchHeight; } else { return clockYPosition + mKeyguardStatusHeight; } @@ -223,7 +222,7 @@ public class KeyguardClockPositionAlgorithm { if (mBypassEnabled) { return mUnlockedStackScrollerPadding; } else if (mIsSplitShade) { - return Math.max(mSplitShadeTargetTopMargin, mMinTopMargin); + return mSplitShadeTargetTopMargin + mUserSwitchHeight; } else { return mMinTopMargin + mKeyguardStatusHeight; } @@ -231,7 +230,7 @@ public class KeyguardClockPositionAlgorithm { private int getExpandedPreferredClockY() { if (mIsSplitShade) { - return Math.max(mSplitShadeTargetTopMargin, mMinTopMargin); + return mSplitShadeTargetTopMargin; } else { return mMinTopMargin; } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelViewController.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelViewController.java index 5eb35ac74732b..33c4109b34266 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelViewController.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelViewController.java @@ -1303,8 +1303,11 @@ public class NotificationPanelViewController extends PanelViewController { mKeyguardStatusViewController.displayClock(LARGE); } updateKeyguardStatusViewAlignment(true /* animate */); - int userIconHeight = mKeyguardQsUserSwitchController != null + int userSwitcherHeight = mKeyguardQsUserSwitchController != null ? mKeyguardQsUserSwitchController.getUserIconHeight() : 0; + if (mKeyguardUserSwitcherController != null) { + userSwitcherHeight = mKeyguardUserSwitcherController.getHeight(); + } float expandedFraction = mUnlockedScreenOffAnimationController.isScreenOffAnimationPlaying() ? 1.0f : getExpandedFraction(); @@ -1324,7 +1327,7 @@ public class NotificationPanelViewController extends PanelViewController { mStatusBarHeaderHeightKeyguard, expandedFraction, mKeyguardStatusViewController.getLockscreenHeight(), - userIconHeight, + userSwitcherHeight, userSwitcherPreferredY, darkamount, mOverStretchAmount, bypassEnabled, getUnlockedStackScrollerPadding(), diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyguardUserSwitcherController.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyguardUserSwitcherController.java index 43b2061ecd32c..8e4778e15de72 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyguardUserSwitcherController.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyguardUserSwitcherController.java @@ -245,6 +245,10 @@ public class KeyguardUserSwitcherController extends ViewController