summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelViewController.java26
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java2
-rw-r--r--packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/StatusBarTest.java4
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 6704554f2b2f..b3569d0884ca 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelViewController.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelViewController.java
@@ -362,7 +362,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;
@@ -1427,10 +1429,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
@@ -2182,17 +2190,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 4e77bf702ffb..5ee5e489479d 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 deff2043f6dc..b2efd682bc62 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);