From a4b70aff3419b61d2395589b393251da9ddcba3f Mon Sep 17 00:00:00 2001 From: John Spurlock Date: Sat, 17 Aug 2013 14:05:49 -0400 Subject: Use panel tracking as signal preventing auto-collapse. Keeping track of pointer down at the window view level is unreliable since gestures can be stolen. Bug:10328256 Bug:10226720 Change-Id: I92d72f9eed73f90d2a7c5b30a3f6a4aa6549f799 --- .../android/systemui/statusbar/phone/PanelView.java | 4 ++++ .../systemui/statusbar/phone/PhoneStatusBar.java | 2 +- .../systemui/statusbar/phone/StatusBarWindowView.java | 18 ------------------ 3 files changed, 5 insertions(+), 19 deletions(-) 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 a19dcc4..4b2c3e1 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PanelView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PanelView.java @@ -644,6 +644,10 @@ public class PanelView extends FrameLayout { return mClosing; } + public boolean isTracking() { + return mTracking; + } + public void setBar(PanelBar panelBar) { mBar = panelBar; } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java index 62be5d6..2e07479 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java @@ -935,7 +935,7 @@ public class PhoneStatusBar extends BaseStatusBar { } if (CLOSE_PANEL_WHEN_EMPTIED && mNotificationData.size() == 0 - && !mStatusBarWindow.isPointerDown()) { + && !mNotificationPanel.isTracking()) { animateCollapsePanels(); } } 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 800bc02..a600aae 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarWindowView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarWindowView.java @@ -42,7 +42,6 @@ public class StatusBarWindowView extends FrameLayout private NotificationRowLayout latestItems; private NotificationPanelView mNotificationPanel; private ScrollView mScrollView; - private boolean mPointerDown; PhoneStatusBar mService; @@ -87,7 +86,6 @@ public class StatusBarWindowView extends FrameLayout @Override public boolean onInterceptTouchEvent(MotionEvent ev) { - registerPointer(ev); boolean intercept = false; if (mNotificationPanel.isFullyExpanded() && mScrollView.getVisibility() == View.VISIBLE) { intercept = mExpandHelper.onInterceptTouchEvent(ev); @@ -133,21 +131,5 @@ public class StatusBarWindowView extends FrameLayout mExpandHelper.cancel(); } } - - private void registerPointer(MotionEvent event) { - switch (event.getAction()) { - case MotionEvent.ACTION_DOWN: - mPointerDown = true; - break; - case MotionEvent.ACTION_CANCEL: - case MotionEvent.ACTION_UP: - mPointerDown = false; - break; - } - } - - public boolean isPointerDown() { - return mPointerDown; - } } -- cgit v1.1