diff options
| author | 2023-04-18 07:54:08 +0000 | |
|---|---|---|
| committer | 2023-04-18 07:54:08 +0000 | |
| commit | d7e96cf662b86ce2b99ce6a6960b7461ce7a62a7 (patch) | |
| tree | 03c6a620b17005d6737ad0b54075acf507ef08cf | |
| parent | bb4cf2eb56e06de801e4c2d1905aba0ecd6bad51 (diff) | |
| parent | 63d593c9c0dd732a6df62fb1145b16b6cd7b653d (diff) | |
Merge "Fixes the touched activity not getting focus in AE" into udc-dev
| -rw-r--r-- | services/core/java/com/android/server/wm/ActivityTaskManagerService.java | 3 | ||||
| -rw-r--r-- | services/tests/wmtests/src/com/android/server/wm/TaskFragmentTest.java | 9 |
2 files changed, 11 insertions, 1 deletions
diff --git a/services/core/java/com/android/server/wm/ActivityTaskManagerService.java b/services/core/java/com/android/server/wm/ActivityTaskManagerService.java index abf66bc7ccc0..f93afe81f804 100644 --- a/services/core/java/com/android/server/wm/ActivityTaskManagerService.java +++ b/services/core/java/com/android/server/wm/ActivityTaskManagerService.java @@ -2008,7 +2008,8 @@ public class ActivityTaskManagerService extends IActivityTaskManager.Stub { return; } - if (r.isState(RESUMED) && r == mRootWindowContainer.getTopResumedActivity()) { + if ((touchedActivity == null || r == touchedActivity) && r.isState(RESUMED) + && r == mRootWindowContainer.getTopResumedActivity()) { setLastResumedActivityUncheckLocked(r, "setFocusedTask-alreadyTop"); return; } diff --git a/services/tests/wmtests/src/com/android/server/wm/TaskFragmentTest.java b/services/tests/wmtests/src/com/android/server/wm/TaskFragmentTest.java index 49d8da1b2880..9d597b11120d 100644 --- a/services/tests/wmtests/src/com/android/server/wm/TaskFragmentTest.java +++ b/services/tests/wmtests/src/com/android/server/wm/TaskFragmentTest.java @@ -586,6 +586,15 @@ public class TaskFragmentTest extends WindowTestsBase { // Making the activity0 be the focused activity and ensure the focused app is updated. activity0.moveFocusableActivityToTop("test"); assertEquals(activity0, mDisplayContent.mFocusedApp); + + // Moving activity1 to top and make both the two activities resumed. + activity1.moveFocusableActivityToTop("test"); + activity0.setState(RESUMED, "test"); + activity1.setState(RESUMED, "test"); + + // Verifies that the focus app can be updated to an Activity in the adjacent TF + mAtm.setFocusedTask(task.mTaskId, activity0); + assertEquals(activity0, mDisplayContent.mFocusedApp); } @Test |