Closing the QS when tapping on the notifications now.
Bug: 15394230
Change-Id: Ib9f750db69529afc0d56685fb88a13d183b0d3d5
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java
index de1bb4b..a090217 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java
@@ -109,6 +109,7 @@
private boolean mBlockTouches;
private ArrayList<View> mSwipeTranslationViews = new ArrayList<>();
private int mNotificationScrimWaitDistance;
+ private boolean mOnNotificationsOnDown;
public NotificationPanelView(Context context, AttributeSet attrs) {
super(context, attrs);
@@ -347,6 +348,7 @@
mInitialTouchX = x;
initVelocityTracker();
trackMovement(event);
+ mOnNotificationsOnDown = isOnNotifications(x, y);
if (shouldQuickSettingsIntercept(mInitialTouchX, mInitialTouchY, 0)) {
getParent().requestDisallowInterceptTouchEvent(true);
}
@@ -394,6 +396,8 @@
if (mQsTracking) {
flingQsWithCurrentVelocity();
mQsTracking = false;
+ } else if (mQsFullyExpanded && mOnNotificationsOnDown) {
+ flingSettings(0 /* vel */, false /* expand */);
}
mIntercepting = false;
break;
@@ -401,6 +405,10 @@
return !mQsExpanded && super.onInterceptTouchEvent(event);
}
+ private boolean isOnNotifications(float x, float y) {
+ return mNotificationStackScroller.getChildAtPosition(x, y) != null;
+ }
+
@Override
public void requestDisallowInterceptTouchEvent(boolean disallowIntercept) {