diff options
| author | 2024-11-04 09:01:26 +0000 | |
|---|---|---|
| committer | 2024-11-04 09:01:26 +0000 | |
| commit | d51c91e90b59ea5cae37fe852cb0875c1d4e2606 (patch) | |
| tree | 2f735560d7bb9647aeeb72933116ca00a7c97f9f | |
| parent | a2cbecbb791a8de381f7f1582cd0c445375596f3 (diff) | |
| parent | e1eb9af2f77642d4189597bb242dda2c4a5800cb (diff) | |
Merge "Do not start pending animation if another transition is collecting." into main
| -rw-r--r-- | services/core/java/com/android/server/wm/BackNavigationController.java | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/services/core/java/com/android/server/wm/BackNavigationController.java b/services/core/java/com/android/server/wm/BackNavigationController.java index 1a70e6896d18..fc3419e8eb77 100644 --- a/services/core/java/com/android/server/wm/BackNavigationController.java +++ b/services/core/java/com/android/server/wm/BackNavigationController.java @@ -1038,6 +1038,12 @@ class BackNavigationController { return; } + if (mWindowManagerService.mRoot.mTransitionController.isCollecting()) { + Slog.v(TAG, "Skip predictive back transition, another transition is collecting"); + cancelPendingAnimation(); + return; + } + // Ensure the final animation targets which hidden by transition could be visible. for (int i = 0; i < targets.size(); i++) { final WindowContainer wc = targets.get(i).mContainer; @@ -1066,6 +1072,7 @@ class BackNavigationController { Slog.e(TAG, "Remote animation gone", e); } mPendingAnimationBuilder = null; + mNavigationMonitor.stopMonitorTransition(); } /** |