Merge "Fix window focus change timing issue" into jb-dev
diff --git a/tests/tests/view/src/android/view/cts/ViewTest.java b/tests/tests/view/src/android/view/cts/ViewTest.java
index ac88713..9065592 100644
--- a/tests/tests/view/src/android/view/cts/ViewTest.java
+++ b/tests/tests/view/src/android/view/cts/ViewTest.java
@@ -2445,6 +2445,14 @@
     public void testWindowFocusChanged() {
         final MockView view = (MockView) mActivity.findViewById(R.id.mock_view);
 
+        // Wait until the window has been focused.
+        new PollingCheck(TIMEOUT_DELTA) {
+            @Override
+            protected boolean check() {
+                return view.hasWindowFocus();
+            }
+        }.run();
+
         new PollingCheck() {
             protected boolean check() {
                 return view.hasCalledOnWindowFocusChanged();
@@ -2459,6 +2467,15 @@
         assertFalse(view.hasCalledDispatchWindowFocusChanged());
 
         StubActivity activity = launchActivity("com.android.cts.stub", StubActivity.class, null);
+
+        // Wait until the window lost focus.
+        new PollingCheck(TIMEOUT_DELTA) {
+            @Override
+            protected boolean check() {
+                return !view.hasWindowFocus();
+            }
+        }.run();
+
         assertTrue(view.hasCalledOnWindowFocusChanged());
         assertTrue(view.hasCalledDispatchWindowFocusChanged());
 
diff --git a/tests/tests/view/src/android/view/inputmethod/cts/InputMethodManagerTest.java b/tests/tests/view/src/android/view/inputmethod/cts/InputMethodManagerTest.java
index 636c376..46f58e6 100755
--- a/tests/tests/view/src/android/view/inputmethod/cts/InputMethodManagerTest.java
+++ b/tests/tests/view/src/android/view/inputmethod/cts/InputMethodManagerTest.java
@@ -60,6 +60,14 @@
     public void testInputMethodManager() throws Throwable {
         Window window = mActivity.getWindow();
         final EditText view = (EditText) window.findViewById(R.id.entry);
+
+        new PollingCheck(1000) {
+            @Override
+            protected boolean check() {
+                return view.hasWindowFocus();
+            }
+        }.run();
+
         runTestOnUiThread(new Runnable() {
            @Override
             public void run() {