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() {
