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