Fix blinking bug when no notifications on lockscreen.
Bug: 16044775
Change-Id: Ia8b23e8ce93194d86eb4cb809f44f8caa277550e
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 4e2cb00..c9606ca 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java
@@ -903,10 +903,8 @@
}
}
private void updateNotificationTranslucency() {
- float alpha = (mNotificationStackScroller.getNotificationsTopY()
- + mNotificationStackScroller.getItemHeight())
- / (mQsMinExpansionHeight
- + mNotificationStackScroller.getItemHeight() / 2);
+ float alpha = (getNotificationsTopY() + mNotificationStackScroller.getItemHeight())
+ / (mQsMinExpansionHeight + mNotificationStackScroller.getItemHeight() / 2);
alpha = Math.max(0, Math.min(alpha, 1));
alpha = (float) Math.pow(alpha, 0.75);
@@ -989,7 +987,7 @@
// When on Keyguard, we hide the header as soon as the top card of the notification
// stack scroller is close enough (collision distance) to the bottom of the header.
- alpha = mNotificationStackScroller.getNotificationsTopY()
+ alpha = getNotificationsTopY()
/
(mQsMinExpansionHeight + mNotificationsHeaderCollideDistance);
@@ -997,7 +995,7 @@
// In SHADE_LOCKED, the top card is already really close to the header. Hide it as
// soon as we start translating the stack.
- alpha = mNotificationStackScroller.getNotificationsTopY() / mQsMinExpansionHeight;
+ alpha = getNotificationsTopY() / mQsMinExpansionHeight;
}
alpha = Math.max(0, Math.min(alpha, 1));
alpha = (float) Math.pow(alpha, 0.75);
@@ -1006,6 +1004,13 @@
setQsTranslation(mQsExpansionHeight);
}
+ private float getNotificationsTopY() {
+ if (mNotificationStackScroller.getNotGoneChildCount() == 0) {
+ return getExpandedHeight();
+ }
+ return mNotificationStackScroller.getNotificationsTopY();
+ }
+
@Override
protected void onExpandingStarted() {
super.onExpandingStarted();