summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Johannes Gallmann <gallmann@google.com> 2024-12-12 01:15:44 -0800
committer Android (Google) Code Review <android-gerrit@google.com> 2024-12-12 01:15:44 -0800
commit91edaf64ba00b78f87f7f99a57845bff4dc14a07 (patch)
treed4e2fa4f10eedfabc667ef7e7c5007d3e3d1407e
parentb4d1ca9ef05b5987f4981be5fc8730ffc07d1d2c (diff)
parentc7a24c3d9f85c68d720260a6d4892c18a3a047c8 (diff)
Merge "Prevent dispatching onBackStarted too early for gesture nav" into main
-rw-r--r--libs/WindowManager/Shell/src/com/android/wm/shell/back/BackAnimationController.java12
1 files changed, 7 insertions, 5 deletions
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/back/BackAnimationController.java b/libs/WindowManager/Shell/src/com/android/wm/shell/back/BackAnimationController.java
index 56efdb885512..ddc107e0dbc4 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/back/BackAnimationController.java
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/back/BackAnimationController.java
@@ -1106,11 +1106,13 @@ public class BackAnimationController implements RemoteCallable<BackAnimationCont
mCurrentTracker.updateStartLocation();
BackMotionEvent startEvent = mCurrentTracker.createStartEvent(mApps[0]);
dispatchOnBackStarted(mActiveCallback, startEvent);
- // TODO(b/373544911): onBackStarted is dispatched here so that
- // WindowOnBackInvokedDispatcher knows about the back navigation and intercepts touch
- // events while it's active. It would be cleaner and safer to disable multitouch
- // altogether (same as in gesture-nav).
- dispatchOnBackStarted(mBackNavigationInfo.getOnBackInvokedCallback(), startEvent);
+ if (startEvent.getSwipeEdge() == EDGE_NONE) {
+ // TODO(b/373544911): onBackStarted is dispatched here so that
+ // WindowOnBackInvokedDispatcher knows about the back navigation and intercepts
+ // touch events while it's active. It would be cleaner and safer to disable
+ // multitouch altogether (same as in gesture-nav).
+ dispatchOnBackStarted(mBackNavigationInfo.getOnBackInvokedCallback(), startEvent);
+ }
}
}