diff options
| -rw-r--r-- | services/core/java/com/android/server/wm/WindowOrganizerController.java | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/services/core/java/com/android/server/wm/WindowOrganizerController.java b/services/core/java/com/android/server/wm/WindowOrganizerController.java index 9cdb2e05816d..557c0ef0be18 100644 --- a/services/core/java/com/android/server/wm/WindowOrganizerController.java +++ b/services/core/java/com/android/server/wm/WindowOrganizerController.java @@ -1005,6 +1005,14 @@ class WindowOrganizerController extends IWindowOrganizerController.Stub tf1.setAdjacentTaskFragment(tf2); effects |= TRANSACT_EFFECTS_LIFECYCLE; + // Clear the focused app if the focused app is no longer visible after reset the + // adjacent TaskFragments. + if (tf2 == null && tf1.getDisplayContent().mFocusedApp != null + && tf1.hasChild(tf1.getDisplayContent().mFocusedApp) + && !tf1.shouldBeVisible(null /* starting */)) { + tf1.getDisplayContent().setFocusedApp(null); + } + final Bundle bundle = hop.getLaunchOptions(); final WindowContainerTransaction.TaskFragmentAdjacentParams adjacentParams = bundle != null ? new WindowContainerTransaction.TaskFragmentAdjacentParams( |