Merge "Don't always auto-collapse an empty notification shade."

This commit is contained in:
John Spurlock
2013-08-08 11:27:29 +00:00
committed by Android (Google) Code Review
2 changed files with 20 additions and 1 deletions

View File

@ -968,7 +968,8 @@ public class PhoneStatusBar extends BaseStatusBar {
mHandler.sendEmptyMessage(MSG_HIDE_HEADS_UP);
}
if (CLOSE_PANEL_WHEN_EMPTIED && mNotificationData.size() == 0) {
if (CLOSE_PANEL_WHEN_EMPTIED && mNotificationData.size() == 0
&& !mStatusBarWindow.isPointerDown()) {
animateCollapsePanels();
}
}

View File

@ -42,6 +42,7 @@ public class StatusBarWindowView extends FrameLayout
private NotificationRowLayout latestItems;
private NotificationPanelView mNotificationPanel;
private ScrollView mScrollView;
private boolean mPointerDown;
PhoneStatusBar mService;
@ -86,6 +87,7 @@ 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);
@ -131,5 +133,21 @@ 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;
}
}