Pull down Notification should no open from the NavigationBar.

Bug: 126244740
Test: Manual
Change-Id: I0d011ec0ad599711e35495bad583bd89f2e59c3e
This commit is contained in:
Priyank Singh
2019-02-28 16:00:16 -08:00
parent 07d709cf78
commit a4fa291d27

View File

@@ -130,7 +130,6 @@ public class NotificationsUI extends SystemUI
R.layout.navigation_bar_window, null);
mCarNotificationWindow
.setBackgroundColor(mContext.getColor(R.color.notification_shade_background_color));
inflateNotificationContent();
WindowManager.LayoutParams layoutParams = new WindowManager.LayoutParams(
@@ -246,6 +245,12 @@ public class NotificationsUI extends SystemUI
public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) {
return distanceY > 0;
}
@Override
public boolean onSingleTapUp(MotionEvent motionEvent) {
closeCarNotifications(DEFAULT_FLING_VELOCITY);
return false;
}
}
private class NotificationListTouchListener implements View.OnTouchListener {
@@ -324,6 +329,14 @@ public class NotificationsUI extends SystemUI
@Override
public boolean onScroll(MotionEvent event1, MotionEvent event2, float distanceX,
float distanceY) {
boolean isDown = event1.getY() - event2.getY() < 0;
// CarStatusBar and NavigationBar are identical so avoid the touch if it
// starts from NavigationBar to open.
if (event1.getRawY() > mCarNotificationWindow.getHeight() && isDown
&& mCarNotificationWindow.getVisibility() == View.GONE) {
mIsTracking = false;
return true;
}
mIsTracking = true;
mCarNotificationWindow.setVisibility(View.VISIBLE);
@@ -345,14 +358,15 @@ public class NotificationsUI extends SystemUI
boolean isUp = velocityY < 0;
float distanceDelta = Math.abs(event1.getY() - event2.getY());
if (isUp && distanceDelta > SWIPE_UP_MIN_DISTANCE) {
// fling up
mIsTracking = false;
closeCarNotifications(Math.abs(velocityY));
return true;
} else if (!isUp && distanceDelta > SWIPE_DOWN_MIN_DISTANCE) {
} else if (!isUp && distanceDelta > SWIPE_DOWN_MIN_DISTANCE
&& (event1.getRawY() < mCarNotificationWindow.getHeight()
|| mCarNotificationWindow.getVisibility() == View.VISIBLE)) {
// fling down
mIsTracking = false;
openCarNotifications(velocityY);