aboutsummaryrefslogtreecommitdiff
path: root/robolectric
diff options
context:
space:
mode:
authorBrett Chabot <brettchabot@google.com>2019-05-14 10:19:32 -0700
committerBrett Chabot <brettchabot@google.com>2019-05-14 10:19:32 -0700
commit56567d32f54d93487a82f164d571914bbdd2ed8b (patch)
tree4121a66ed24f9304dabd1cf40ba78456ec946c3a /robolectric
parentdbf54698bfbdae4a26edf97c9d06d77c7cc486fe (diff)
downloadrobolectric-shadows-56567d32f54d93487a82f164d571914bbdd2ed8b.tar.gz
Adjust to ControlledLooper API change in androidx.test 1.2.0-beta01
Test: make Robolectric_all Change-Id: I8ad5aa60e3fcf9fac888370d32d5df93348eae7b
Diffstat (limited to 'robolectric')
-rw-r--r--robolectric/src/main/java/org/robolectric/android/internal/LocalControlledLooper.java16
1 files changed, 16 insertions, 0 deletions
diff --git a/robolectric/src/main/java/org/robolectric/android/internal/LocalControlledLooper.java b/robolectric/src/main/java/org/robolectric/android/internal/LocalControlledLooper.java
index 68d7d74aa..1f55ca5d8 100644
--- a/robolectric/src/main/java/org/robolectric/android/internal/LocalControlledLooper.java
+++ b/robolectric/src/main/java/org/robolectric/android/internal/LocalControlledLooper.java
@@ -1,9 +1,13 @@
package org.robolectric.android.internal;
import static org.robolectric.Shadows.shadowOf;
+import static org.robolectric.util.ReflectionHelpers.ClassParameter.from;
+import android.view.View;
+import android.view.ViewRootImpl;
import android.os.Looper;
import androidx.test.internal.platform.os.ControlledLooper;
+import org.robolectric.util.ReflectionHelpers;
public class LocalControlledLooper implements ControlledLooper {
@@ -11,4 +15,16 @@ public class LocalControlledLooper implements ControlledLooper {
public void drainMainThreadUntilIdle() {
shadowOf(Looper.getMainLooper()).idle();
}
+
+ @Override
+ public void simulateWindowFocus(View decorView) {
+ ViewRootImpl viewRoot = ReflectionHelpers.callInstanceMethod(decorView, "getViewRootImpl");
+ if (viewRoot != null) {
+ ReflectionHelpers.callInstanceMethod(
+ viewRoot,
+ "windowFocusChanged",
+ from(boolean.class, true), /* hasFocus */
+ from(boolean.class, false) /* inTouchMode */);
+ }
+ }
}