diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationSwipeHelper.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationSwipeHelper.java index f1d9549b9284e..975aee51228b4 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationSwipeHelper.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationSwipeHelper.java @@ -189,10 +189,13 @@ class NotificationSwipeHelper extends SwipeHelper boolean isFastNonDismissGesture = gestureFastEnough && !gestureTowardsMenu && !isDismissGesture; boolean isMenuRevealingGestureAwayFromMenu = slowSwipedFarEnough || isFastNonDismissGesture; - if (isNonDismissGestureTowardsMenu - || (!isFalseGesture(ev) && isMenuRevealingGestureAwayFromMenu)) { + int menuSnapTarget = menuRow.getMenuSnapTarget(); + boolean isNonFalseMenuRevealingGesture = + !isFalseGesture(ev) && isMenuRevealingGestureAwayFromMenu; + if ((isNonDismissGestureTowardsMenu || isNonFalseMenuRevealingGesture) + && menuSnapTarget != 0) { // Menu has not been snapped to previously and this is menu revealing gesture - snapOpen(animView, menuRow.getMenuSnapTarget(), velocity); + snapOpen(animView, menuSnapTarget, velocity); menuRow.onSnapOpen(); } else if (isDismissGesture(ev) && !gestureTowardsMenu) { dismiss(animView, velocity);