Fix testCompatibilityDialogAfterReturn for ARC
There is race between
screenDensitySession.setUnsupportedDensity() and pressBackButton()
in Chromebook clamshell mode.
screenDensitySession.setUnsupportedDensity() would cause TestActivity
to restart since TestActivity does not claim to handle
android:configChanges = "density" in manifest.
There is race between app restarts and pressBackButton() event in
Chromebook.
Wait TestActivity to restart before fire pressBackButton() to fix the race.
Bug: 112405505
Test: run DisplaySizeTest#testCompatibilityDialogAfterReturn in phone
and Chromebook
Change-Id: I5472e3dce9ec91bb7070735996e7508a43e98d7c
diff --git a/tests/framework/base/activitymanager/src/android/server/am/DisplaySizeTest.java b/tests/framework/base/activitymanager/src/android/server/am/DisplaySizeTest.java
index 98e3ba7..83ceabd 100644
--- a/tests/framework/base/activitymanager/src/android/server/am/DisplaySizeTest.java
+++ b/tests/framework/base/activitymanager/src/android/server/am/DisplaySizeTest.java
@@ -93,10 +93,12 @@
EXTRA_LAUNCH_ANOTHER_ACTIVITY, getActivityName(TEST_ACTIVITY));
executeShellCommand(startActivityOnTop);
mAmWmState.assertActivityDisplayed(TEST_ACTIVITY);
+ final LogSeparator logSeparator = separateLogs();
try (final ScreenDensitySession screenDensitySession = new ScreenDensitySession()) {
screenDensitySession.setUnsupportedDensity();
+ assertActivityLifecycle(TEST_ACTIVITY, true /* relaunched */, logSeparator);
pressBackButton();
mAmWmState.assertActivityDisplayed(SMALLEST_WIDTH_ACTIVITY);