diff options
author | Brett Chabot <brettchabot@google.com> | 2019-05-14 10:19:32 -0700 |
---|---|---|
committer | Brett Chabot <brettchabot@google.com> | 2019-05-14 10:19:32 -0700 |
commit | 56567d32f54d93487a82f164d571914bbdd2ed8b (patch) | |
tree | 4121a66ed24f9304dabd1cf40ba78456ec946c3a /robolectric | |
parent | dbf54698bfbdae4a26edf97c9d06d77c7cc486fe (diff) | |
download | robolectric-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.java | 16 |
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 */); + } + } } |