Fix testLaunchPipActivity flakiness
Starting PIP mode is not synchronous, which caused flakiness of test.
This CL adds wait for UI thread to become idle.
Bug: 28119799
Change-Id: Ic4269a7feb509dfcba5690864eef913f34f5732f
diff --git a/tests/app/src/android/app/cts/PipActivityTest.java b/tests/app/src/android/app/cts/PipActivityTest.java
index 1a10a5d..a8cfc90 100644
--- a/tests/app/src/android/app/cts/PipActivityTest.java
+++ b/tests/app/src/android/app/cts/PipActivityTest.java
@@ -45,8 +45,16 @@
mActivity.getPackageManager().hasSystemFeature(FEATURE_PICTURE_IN_PICTURE);
if (supportsPip) {
mActivity.enterPictureInPictureMode();
- assertTrue(mActivity.isInMultiWindowMode());
- assertTrue(mActivity.isInPictureInPictureMode());
+
+ // Entering PIP mode is not synchronous, so waiting for completion of all work
+ // on UI thread.
+ mInstrumentation.waitForIdle(new Runnable() {
+ @Override
+ public void run() {
+ assertTrue(mActivity.isInMultiWindowMode());
+ assertTrue(mActivity.isInPictureInPictureMode());
+ }
+ });
} else {
boolean pipSupportDisabled = false;
try {
@@ -56,8 +64,16 @@
pipSupportDisabled = true;
}
assertTrue(pipSupportDisabled);
- assertFalse(mActivity.isInMultiWindowMode());
- assertFalse(mActivity.isInPictureInPictureMode());
+
+ // Entering PIP mode is not synchronous, so waiting for completion of all work
+ // on UI thread.
+ mInstrumentation.waitForIdle(new Runnable() {
+ @Override
+ public void run() {
+ assertFalse(mActivity.isInMultiWindowMode());
+ assertFalse(mActivity.isInPictureInPictureMode());
+ }
+ });
}
}
});