diff options
author | John Spurlock <jspurlock@google.com> | 2013-08-17 14:05:49 -0400 |
---|---|---|
committer | John Spurlock <jspurlock@google.com> | 2013-08-17 14:09:37 -0400 |
commit | a4b70aff3419b61d2395589b393251da9ddcba3f (patch) | |
tree | 687dc139cee1b164fda96b88c2f6059ed216fdf2 | |
parent | dad0f462ae6fee99840bbea910c810282bbc1c54 (diff) | |
download | frameworks_base-a4b70aff3419b61d2395589b393251da9ddcba3f.zip frameworks_base-a4b70aff3419b61d2395589b393251da9ddcba3f.tar.gz frameworks_base-a4b70aff3419b61d2395589b393251da9ddcba3f.tar.bz2 |
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
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; - } } |