Make sure topActivity always retrieves focus when move task to back
In a freeform environment, multiple windows can be visible and
therefore RESUMED at the same time. It means that when moving a task to
back, the topActivity that is going to be focused may be RESUMED.
However, there's a check in `moveTaskToBackInner()` to only trigger
`resumeFocusedTasksTopActivities()` when topActivity is not RESUMED,
which results in DisplayContent#mFocusedApp not getting updated
correctly.
This CL fixes the bug by triggering DisplayContent#setFocusedApp() even
topActivity is RESUMED.
Bug: 276136272
Test: Manual testing to make sure the top activity can get focused
Change-Id: I51371394830277777ff7983fd1d1c14d63fa505a
diff --git a/services/core/java/com/android/server/wm/Task.java b/services/core/java/com/android/server/wm/Task.java
index 3680e6d..6cf0e52 100644
--- a/services/core/java/com/android/server/wm/Task.java
+++ b/services/core/java/com/android/server/wm/Task.java
@@ -5655,6 +5655,7 @@
// Usually resuming a top activity triggers the next app transition, but nothing's got
// resumed in this case, so we need to execute it explicitly.
mDisplayContent.executeAppTransition();
+ mDisplayContent.setFocusedApp(topActivity);
} else {
mRootWindowContainer.resumeFocusedTasksTopActivities();
}