diff options
2 files changed, 8 insertions, 1 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayout.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayout.java index 8277fae64a62..f90b4c079c50 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayout.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayout.java @@ -4550,6 +4550,12 @@ public class NotificationStackScrollLayout extends ViewGroup implements Dumpable @ShadeViewRefactor(RefactorComponent.SHADE_VIEW) public void setQsExpansionFraction(float qsExpansionFraction) { mQsExpansionFraction = qsExpansionFraction; + + // If notifications are scrolled, + // clear out scrollY by the time we push notifications offscreen + if (mOwnScrollY > 0) { + setOwnScrollY((int) MathUtils.lerp(mOwnScrollY, 0, mQsExpansionFraction)); + } } @ShadeViewRefactor(RefactorComponent.COORDINATOR) 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 b3569d0884ca..4a7534d34117 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelViewController.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelViewController.java @@ -2200,8 +2200,9 @@ public class NotificationPanelViewController extends PanelViewController { } private void updateQSExpansionEnabledAmbient() { + final float scrollRangeToTop = mAmbientState.getTopPadding() - mQuickQsOffsetHeight; mQsExpansionEnabledAmbient = - mAmbientState.getScrollY() <= 0 && !mAmbientState.isShadeOpening(); + mAmbientState.getScrollY() <= scrollRangeToTop && !mAmbientState.isShadeOpening(); setQsExpansionEnabled(); } |