From a7a9e8d68087069478693a9c21c448d1b14fd1c6 Mon Sep 17 00:00:00 2001 From: Fabian Kozynski Date: Thu, 10 Jun 2021 14:55:22 -0400 Subject: [PATCH] Split NPVC#mQsExpansionEnabled Split it into its two inputs. It's enabled when both are. Test: manual using LockTaskUI test Fixes: 189191151 Change-Id: I263e9899ac0d0e8eba48de61572fe97ec925cec7 --- .../NotificationPanelViewController.java | 26 +++++++++++++------ .../systemui/statusbar/phone/StatusBar.java | 2 +- .../statusbar/phone/StatusBarTest.java | 4 +-- 3 files changed, 21 insertions(+), 11 deletions(-) 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 32b3e51076d3c..576b22070c80b 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelViewController.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelViewController.java @@ -367,7 +367,9 @@ public class NotificationPanelViewController extends PanelViewController { private boolean mStackScrollerOverscrolling; private boolean mQsExpansionFromOverscroll; private float mLastOverscroll; - private boolean mQsExpansionEnabled = true; + private boolean mQsExpansionEnabledPolicy = true; + private boolean mQsExpansionEnabledAmbient = true; + private boolean mQsExpansionEnabled = mQsExpansionEnabledPolicy && mQsExpansionEnabledAmbient; private ValueAnimator mQsExpansionAnimator; private FlingAnimationUtils mFlingAnimationUtils; private int mStatusBarMinHeight; @@ -1435,10 +1437,16 @@ public class NotificationPanelViewController extends PanelViewController { mAnimateNextPositionUpdate = true; } - public void setQsExpansionEnabled(boolean qsExpansionEnabled) { - mQsExpansionEnabled = qsExpansionEnabled; + private void setQsExpansionEnabled() { + mQsExpansionEnabled = mQsExpansionEnabledPolicy && mQsExpansionEnabledAmbient; + Log.d(TAG, "Set qsExpansionEnabled: " + mQsExpansionEnabled); if (mQs == null) return; - mQs.setHeaderClickable(qsExpansionEnabled); + mQs.setHeaderClickable(mQsExpansionEnabled); + } + + public void setQsExpansionEnabledPolicy(boolean qsExpansionEnabledPolicy) { + mQsExpansionEnabledPolicy = qsExpansionEnabledPolicy; + setQsExpansionEnabled(); } @Override @@ -2190,17 +2198,19 @@ public class NotificationPanelViewController extends PanelViewController { private void onNotificationScrolled(int newScrollPosition) { // Since this is an overscroller, sometimes the scrollY can be temporarily negative // (when overscrollng on the top and flinging). Let's - updateQSExpansionEnabled(); + updateQSExpansionEnabledAmbient(); } @Override public void setIsShadeOpening(boolean opening) { mAmbientState.setIsShadeOpening(opening); - updateQSExpansionEnabled(); + updateQSExpansionEnabledAmbient(); } - private void updateQSExpansionEnabled() { - setQsExpansionEnabled(mAmbientState.getScrollY() <= 0 && !mAmbientState.isShadeOpening()); + private void updateQSExpansionEnabledAmbient() { + mQsExpansionEnabledAmbient = + mAmbientState.getScrollY() <= 0 && !mAmbientState.isShadeOpening(); + setQsExpansionEnabled(); } /** diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java index 06aedaa5d06ed..29cb64d93a7d9 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java @@ -1694,7 +1694,7 @@ public class StatusBar extends SystemUI implements DemoMode, && ((mDisabled2 & StatusBarManager.DISABLE2_QUICK_SETTINGS) == 0) && !mDozing && !ONLY_CORE_APPS; - mNotificationPanelViewController.setQsExpansionEnabled(expandEnabled); + mNotificationPanelViewController.setQsExpansionEnabledPolicy(expandEnabled); Log.d(TAG, "updateQsExpansionEnabled - QS Expand enabled: " + expandEnabled); } diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/StatusBarTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/StatusBarTest.java index deff2043f6dc6..b2efd682bc628 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/StatusBarTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/StatusBarTest.java @@ -755,7 +755,7 @@ public class StatusBarTest extends SysuiTestCase { when(mCommandQueue.panelsEnabled()).thenReturn(false); mStatusBar.disable(DEFAULT_DISPLAY, StatusBarManager.DISABLE_NONE, StatusBarManager.DISABLE2_NOTIFICATION_SHADE, false); - verify(mNotificationPanelViewController).setQsExpansionEnabled(false); + verify(mNotificationPanelViewController).setQsExpansionEnabledPolicy(false); mStatusBar.animateExpandNotificationsPanel(); verify(mNotificationPanelViewController, never()).expand(anyBoolean()); mStatusBar.animateExpandSettingsPanel(null); @@ -764,7 +764,7 @@ public class StatusBarTest extends SysuiTestCase { when(mCommandQueue.panelsEnabled()).thenReturn(true); mStatusBar.disable(DEFAULT_DISPLAY, StatusBarManager.DISABLE_NONE, StatusBarManager.DISABLE2_NONE, false); - verify(mNotificationPanelViewController).setQsExpansionEnabled(true); + verify(mNotificationPanelViewController).setQsExpansionEnabledPolicy(true); mStatusBar.animateExpandNotificationsPanel(); verify(mNotificationPanelViewController).expandWithoutQs(); mStatusBar.animateExpandSettingsPanel(null);