diff options
author | 2017-01-13 11:44:56 -0800 | |
---|---|---|
committer | 2017-01-17 15:44:25 -0800 | |
commit | c934c4349f688da2b4b2a1cbc4419bc9db4d9f9a (patch) | |
tree | a02b693f520bc467b633318ddd1fe575c8534239 | |
parent | 7a9551a3560d0f31df2ff0412399535307a91b29 (diff) |
AoD: Reposition shelf under clock
Bug: 30876804
Test: manual
Change-Id: I9a50ee57d7acef1af866968e67feac7803801a02
5 files changed, 30 insertions, 8 deletions
diff --git a/packages/Keyguard/src/com/android/keyguard/KeyguardStatusView.java b/packages/Keyguard/src/com/android/keyguard/KeyguardStatusView.java index ccf1a85a6a88..f8f4f2a8b8fc 100644 --- a/packages/Keyguard/src/com/android/keyguard/KeyguardStatusView.java +++ b/packages/Keyguard/src/com/android/keyguard/KeyguardStatusView.java @@ -170,6 +170,11 @@ public class KeyguardStatusView extends GridLayout { } } + public int getClockBottom() { + return mClockView.getBottom() + + ((MarginLayoutParams) mClockView.getLayoutParams()).bottomMargin; + } + public static String formatNextAlarm(Context context, AlarmManager.AlarmClockInfo info) { if (info == null) { return ""; diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/DozeScrimController.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/DozeScrimController.java index e23fc2955002..b78f7482b9f3 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/DozeScrimController.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/DozeScrimController.java @@ -44,7 +44,7 @@ public class DozeScrimController { private final Context mContext; private final View mStackScroller; - private final KeyguardStatusView mKeyguardStatusView; + private final NotificationPanelView mNotificationPanelView; private boolean mDozing; private DozeHost.PulseCallback mPulseCallback; @@ -55,12 +55,12 @@ public class DozeScrimController { private float mBehindTarget; public DozeScrimController(ScrimController scrimController, Context context, - View stackScroller, KeyguardStatusView keyguardStatusView) { + View stackScroller, NotificationPanelView notificationPanelView) { mContext = context; mStackScroller = stackScroller; mScrimController = scrimController; mDozeParameters = new DozeParameters(context); - mKeyguardStatusView = keyguardStatusView; + mNotificationPanelView = notificationPanelView; } public void setDozing(boolean dozing, boolean animate) { @@ -70,7 +70,7 @@ public class DozeScrimController { abortAnimations(); mScrimController.setDozeBehindAlpha(1f); mScrimController.setDozeInFrontAlpha(mDozeParameters.getAlwaysOn() ? 0f : 1f); - mKeyguardStatusView.setDark(true); + mNotificationPanelView.setDark(true); } else { cancelPulsing(); if (animate) { @@ -86,7 +86,7 @@ public class DozeScrimController { mScrimController.setDozeInFrontAlpha(0f); } // TODO: animate - mKeyguardStatusView.setDark(false); + mNotificationPanelView.setDark(false); } } 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 70beac8ea522..c78ec836fbc5 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardClockPositionAlgorithm.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardClockPositionAlgorithm.java @@ -68,6 +68,8 @@ public class KeyguardClockPositionAlgorithm { } private AccelerateInterpolator mAccelerateInterpolator = new AccelerateInterpolator(); + private int mClockBottom; + private boolean mDark; /** * Refreshes the dimension values. @@ -86,7 +88,8 @@ public class KeyguardClockPositionAlgorithm { } public void setup(int maxKeyguardNotifications, int maxPanelHeight, float expandedHeight, - int notificationCount, int height, int keyguardStatusHeight, float emptyDragAmount) { + int notificationCount, int height, int keyguardStatusHeight, float emptyDragAmount, + int clockBottom, boolean dark) { mMaxKeyguardNotifications = maxKeyguardNotifications; mMaxPanelHeight = maxPanelHeight; mExpandedHeight = expandedHeight; @@ -94,6 +97,8 @@ public class KeyguardClockPositionAlgorithm { mHeight = height; mKeyguardStatusHeight = keyguardStatusHeight; mEmptyDragAmount = emptyDragAmount; + mClockBottom = clockBottom; + mDark = dark; } public float getMinStackScrollerPadding(int height, int keyguardStatusHeight) { @@ -115,6 +120,9 @@ public class KeyguardClockPositionAlgorithm { result.clockY, y + getClockNotificationsPadding() + mKeyguardStatusHeight); result.clockAlpha = getClockAlpha(result.clockScale); + if (mDark) { + result.stackScrollerPadding = mClockBottom + y; + } } private float getClockScale(int notificationPadding, int clockY, int startPadding) { diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java index 82a5cc2bf415..f534023c097e 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java @@ -211,6 +211,7 @@ public class NotificationPanelView extends PanelView implements private boolean mOpening; private int mIndicationBottomPadding; private boolean mIsFullWidth; + private boolean mDark; public NotificationPanelView(Context context, AttributeSet attrs) { super(context, attrs); @@ -391,7 +392,9 @@ public class NotificationPanelView extends PanelView implements mNotificationStackScroller.getNotGoneChildCount(), getHeight(), mKeyguardStatusView.getHeight(), - mEmptyDragAmount); + mEmptyDragAmount, + mKeyguardStatusView.getClockBottom(), + mDark); mClockPositionAlgorithm.run(mClockPositionResult); if (animate || mClockAnimator != null) { startClockAnimation(mClockPositionResult.clockY); @@ -2453,4 +2456,10 @@ public class NotificationPanelView extends PanelView implements } } }; + + public void setDark(boolean dark) { + mDark = dark; + mKeyguardStatusView.setDark(dark); + positionClockAndNotifications(); + } } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java index b4fb430799ea..32499f7696b9 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java @@ -898,7 +898,7 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode, mStackScroller.setScrimController(mScrimController); mStatusBarView.setScrimController(mScrimController); mDozeScrimController = new DozeScrimController(mScrimController, context, mStackScroller, - mKeyguardStatusView); + mNotificationPanel); // Other icons mLocationController = new LocationControllerImpl(mContext, |