Avoid timing issue when executing case and doTraversal

The testcase was executed too fast, causing the dispatchOnGlobalLayout() of the second WidgetTestUtils.runOnMainAndLayoutSync() to not be triggered.

Bug:194875202

Test: run cts-on-gsi -m CtsWidgetTestCases -t android.widget.cts.MagnifierTest#testSourcePosition_respectsMaxInSurfaceBounds_forSurfaceView

Signed-off-by: duanyangqi <duanyangqi@xiaomi.com>
Change-Id: Ia066c66a7b42a4211a76477ac6c42e63ea7d1ae7
diff --git a/tests/tests/widget/src/android/widget/cts/MagnifierTest.java b/tests/tests/widget/src/android/widget/cts/MagnifierTest.java
index 0264665..ef3e4cd 100644
--- a/tests/tests/widget/src/android/widget/cts/MagnifierTest.java
+++ b/tests/tests/widget/src/android/widget/cts/MagnifierTest.java
@@ -48,6 +48,7 @@
 
 import androidx.test.annotation.UiThreadTest;
 import androidx.test.filters.SmallTest;
+import androidx.test.InstrumentationRegistry;
 import androidx.test.rule.ActivityTestRule;
 import androidx.test.runner.AndroidJUnit4;
 
@@ -725,6 +726,7 @@
 
     @Test
     public void testSourcePosition_respectsMaxInSurfaceBounds_forSurfaceView() throws Throwable {
+        InstrumentationRegistry.getInstrumentation().waitForIdleSync();
         WidgetTestUtils.runOnMainAndLayoutSync(mActivityRule, () -> {
             mActivity.setContentView(R.layout.magnifier_activity_centered_surfaceview_layout);
         }, false /* forceLayout */);