Ignore down touches in QS while animating
This prevents touches inside the QS bounds from putting NPVC in a bad state that causes subsequent touches to be mishandled. Bug: 261156369 Test: manual and atest Change-Id: Ia5cab8c4104b1314bfca7189f0eba2e1175fed9b
This commit is contained in:
@@ -2421,7 +2421,7 @@ public final class NotificationPanelViewController implements Dumpable {
|
||||
mInitialTouchY = event.getY();
|
||||
mInitialTouchX = event.getX();
|
||||
}
|
||||
if (!isFullyCollapsed()) {
|
||||
if (!isFullyCollapsed() && !isShadeOrQsHeightAnimationRunning()) {
|
||||
handleQsDown(event);
|
||||
}
|
||||
// defer touches on QQS to shade while shade is collapsing. Added margin for error
|
||||
@@ -5211,6 +5211,11 @@ public final class NotificationPanelViewController implements Dumpable {
|
||||
}
|
||||
}
|
||||
|
||||
/** Returns whether a shade or QS expansion animation is running */
|
||||
private boolean isShadeOrQsHeightAnimationRunning() {
|
||||
return mHeightAnimator != null && !mHintAnimationRunning && !mIsSpringBackAnimation;
|
||||
}
|
||||
|
||||
/**
|
||||
* Phase 2: Bounce down.
|
||||
*/
|
||||
@@ -6228,8 +6233,7 @@ public final class NotificationPanelViewController implements Dumpable {
|
||||
mCollapsedAndHeadsUpOnDown =
|
||||
isFullyCollapsed() && mHeadsUpManager.hasPinnedHeadsUp();
|
||||
addMovement(event);
|
||||
boolean regularHeightAnimationRunning = mHeightAnimator != null
|
||||
&& !mHintAnimationRunning && !mIsSpringBackAnimation;
|
||||
boolean regularHeightAnimationRunning = isShadeOrQsHeightAnimationRunning();
|
||||
if (!mGestureWaitForTouchSlop || regularHeightAnimationRunning) {
|
||||
mTouchSlopExceeded = regularHeightAnimationRunning
|
||||
|| mTouchSlopExceededBeforeDown;
|
||||
|
||||
Reference in New Issue
Block a user