Add test for updating pre-Q top resumed activity when display moved

Make sure the pre-Q non-top activity was resumed and brought to top
when tap on it to switch focus.

Bug: 123761773
Test: atest MultiDisplayPolicyTests
Change-Id: Ib10f890c403fa67d5854c4e51100b592412bd93b
diff --git a/tests/framework/base/windowmanager/src/android/server/wm/MultiDisplayPolicyTests.java b/tests/framework/base/windowmanager/src/android/server/wm/MultiDisplayPolicyTests.java
index 0d61322..1f1038c 100644
--- a/tests/framework/base/windowmanager/src/android/server/wm/MultiDisplayPolicyTests.java
+++ b/tests/framework/base/windowmanager/src/android/server/wm/MultiDisplayPolicyTests.java
@@ -839,4 +839,28 @@
                 mAmWmState.getAmState().getResumedActivitiesCountInPackage(
                         SDK_27_TEST_ACTIVITY.getPackageName()));
     }
+
+    @Test
+    public void testPreQTopProcessResumedDisplayMoved() throws Exception {
+        final ActivityDisplay newDisplay = createManagedVirtualDisplaySession()
+                .setSimulateDisplay(true).createDisplay();
+        getLaunchActivityBuilder().setUseInstrumentation()
+                .setTargetActivity(SDK_27_LAUNCHING_ACTIVITY).setNewTask(true)
+                .setDisplayId(DEFAULT_DISPLAY).execute();
+        waitAndAssertTopResumedActivity(SDK_27_LAUNCHING_ACTIVITY, DEFAULT_DISPLAY,
+                "Activity launched on default display must be resumed and focused");
+
+        getLaunchActivityBuilder().setUseInstrumentation()
+                .setTargetActivity(SDK_27_TEST_ACTIVITY).setNewTask(true)
+                .setDisplayId(newDisplay.mId).execute();
+        waitAndAssertTopResumedActivity(SDK_27_TEST_ACTIVITY, newDisplay.mId,
+                "Activity launched on secondary display must be resumed and focused");
+
+        tapOnDisplayCenter(DEFAULT_DISPLAY);
+        waitAndAssertTopResumedActivity(SDK_27_LAUNCHING_ACTIVITY, DEFAULT_DISPLAY,
+                "Activity launched on default display must be resumed and focused");
+        assertEquals("There must be only one resumed activity in the package.", 1,
+                mAmWmState.getAmState().getResumedActivitiesCountInPackage(
+                        SDK_27_LAUNCHING_ACTIVITY.getPackageName()));
+    }
 }