Merge "Suppress ExpandHelper on quick settings." into jb-mr1-dev
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PanelView.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PanelView.java
index 91f29a2..1c244d4 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PanelView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PanelView.java
@@ -356,6 +356,14 @@
return mExpandedFraction;
}
+ public boolean isFullyExpanded() {
+ return mExpandedHeight == getFullHeight();
+ }
+
+ public boolean isFullyCollapsed() {
+ return mExpandedHeight == 0;
+ }
+
public void setBar(PanelBar panelBar) {
mBar = panelBar;
}
@@ -371,13 +379,13 @@
public void collapse() {
// TODO: abort animation or ongoing touch
- if (mExpandedHeight > 0) {
+ if (!isFullyCollapsed()) {
fling(-mSelfCollapseVelocityPx, /*always=*/ true);
}
}
public void expand() {
- if (mExpandedHeight < getFullHeight()) {
+ if (!isFullyExpanded()) {
fling (mSelfExpandVelocityPx, /*always=*/ true);
}
}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarWindowView.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarWindowView.java
index 2d4c9ee..e0b7fe6 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarWindowView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarWindowView.java
@@ -21,6 +21,7 @@
import android.util.Log;
import android.view.KeyEvent;
import android.view.MotionEvent;
+import android.view.View;
import android.widget.FrameLayout;
import android.widget.ScrollView;
import android.widget.TextSwitcher;
@@ -36,6 +37,7 @@
private ExpandHelper mExpandHelper;
private NotificationRowLayout latestItems;
+ private NotificationPanelView mNotificationPanel;
PhoneStatusBar mService;
@@ -49,6 +51,7 @@
super.onAttachedToWindow();
latestItems = (NotificationRowLayout) findViewById(R.id.latestItems);
ScrollView scroller = (ScrollView) findViewById(R.id.scroll);
+ mNotificationPanel = (NotificationPanelView) findViewById(R.id.notification_panel);
int minHeight = getResources().getDimensionPixelSize(R.dimen.notification_row_min_height);
int maxHeight = getResources().getDimensionPixelSize(R.dimen.notification_row_max_height);
mExpandHelper = new ExpandHelper(mContext, latestItems, minHeight, maxHeight);
@@ -71,8 +74,13 @@
@Override
public boolean onInterceptTouchEvent(MotionEvent ev) {
- boolean intercept = mExpandHelper.onInterceptTouchEvent(ev) ||
- super.onInterceptTouchEvent(ev);
+ boolean intercept = false;
+ if (mNotificationPanel.isFullyExpanded()) {
+ intercept = mExpandHelper.onInterceptTouchEvent(ev);
+ }
+ if (!intercept) {
+ super.onInterceptTouchEvent(ev);
+ }
if (intercept) {
MotionEvent cancellation = MotionEvent.obtain(ev);
cancellation.setAction(MotionEvent.ACTION_CANCEL);
@@ -84,8 +92,13 @@
@Override
public boolean onTouchEvent(MotionEvent ev) {
- boolean handled = mExpandHelper.onTouchEvent(ev) ||
- super.onTouchEvent(ev);
+ boolean handled = false;
+ if (mNotificationPanel.isFullyExpanded()) {
+ handled = mExpandHelper.onTouchEvent(ev);
+ }
+ if (!handled) {
+ handled = super.onTouchEvent(ev);
+ }
return handled;
}
}