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());
+                        }
+                    });
                 }
             }
         });