diff options
| -rw-r--r-- | libs/WindowManager/Shell/src/com/android/wm/shell/recents/RecentsTransitionHandler.java | 7 | ||||
| -rw-r--r-- | services/core/java/com/android/server/wm/WindowManagerService.java | 8 |
2 files changed, 14 insertions, 1 deletions
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/recents/RecentsTransitionHandler.java b/libs/WindowManager/Shell/src/com/android/wm/shell/recents/RecentsTransitionHandler.java index c8d6a5e8e00b..44d7e6de8ec4 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/recents/RecentsTransitionHandler.java +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/recents/RecentsTransitionHandler.java @@ -540,7 +540,12 @@ public class RecentsTransitionHandler implements Transitions.TransitionHandler { mergeActivityOnly(info, t); } else if (!didMergeThings) { // Didn't recognize anything in incoming transition so don't merge it. - Slog.w(TAG, "Don't know how to merge this transition."); + Slog.w(TAG, "Don't know how to merge this transition, foundRecentsClosing=" + + foundRecentsClosing); + if (foundRecentsClosing) { + mWillFinishToHome = false; + cancel(false /* toHome */); + } return; } // At this point, we are accepting the merge. diff --git a/services/core/java/com/android/server/wm/WindowManagerService.java b/services/core/java/com/android/server/wm/WindowManagerService.java index 8fecf111d98c..99d0ea86e2f4 100644 --- a/services/core/java/com/android/server/wm/WindowManagerService.java +++ b/services/core/java/com/android/server/wm/WindowManagerService.java @@ -8526,6 +8526,14 @@ public class WindowManagerService extends IWindowManager.Stub // while in overview return; } + final WindowState w = t.getWindowState(); + if (w != null) { + final Task task = w.getTask(); + if (task != null && w.mTransitionController.isTransientHide(task)) { + // Don't disturb transient animation by accident touch. + return; + } + } ProtoLog.i(WM_DEBUG_FOCUS_LIGHT, "onPointerDownOutsideFocusLocked called on %s", t); |