Package org.robolectric.shadows
Class ShadowViewRootImpl
java.lang.Object
org.robolectric.shadows.ShadowViewRootImpl
@Implements(value=android.view.ViewRootImpl.class, isInAndroidSdk=false) public class ShadowViewRootImpl extends Object
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static interface
ShadowViewRootImpl.ViewRootImplReflector
Reflector interface forViewRootImpl
's internals. -
Field Summary
Fields Modifier and Type Field Description protected ViewRootImpl
realObject
-
Constructor Summary
Constructors Constructor Description ShadowViewRootImpl()
-
Method Summary
Modifier and Type Method Description void
callDispatchResized()
void
callWindowFocusChanged(boolean hasFocus)
protected static void
clearIsNavigationBarVisible()
Clears the last known state ofisNavigationBarVisible
.protected static void
clearIsStatusBarVisible()
Clears the last known state ofisStatusBarVisible
.protected Display
getDisplay()
protected WindowInsets
getWindowInsets(boolean forceConstruct)
On Android R+WindowInsets
supports checking visibility of specific inset types.protected static IWindowSession
getWindowSession(Looper mainLooper)
void
playSoundEffect(int effectId)
protected int
relayoutWindow(WindowManager.LayoutParams params, int viewVisibility, boolean insetsPending)
static void
reset()
protected static void
setIsNavigationBarVisible(boolean isNavigationBarVisible)
Allows other shadows to set the state ofisNavigationBarVisible
.protected static void
setIsStatusBarVisible(boolean isStatusBarVisible)
Allows other shadows to set the state ofisStatusBarVisible
.protected void
setView(View view, WindowManager.LayoutParams attrs, View panelParentView)
protected void
setView(View view, WindowManager.LayoutParams attrs, View panelParentView, int userId)
-
Field Details
-
Constructor Details
-
ShadowViewRootImpl
public ShadowViewRootImpl()
-
-
Method Details
-
setIsStatusBarVisible
protected static void setIsStatusBarVisible(boolean isStatusBarVisible)Allows other shadows to set the state ofisStatusBarVisible
. -
clearIsStatusBarVisible
protected static void clearIsStatusBarVisible()Clears the last known state ofisStatusBarVisible
. -
setIsNavigationBarVisible
protected static void setIsNavigationBarVisible(boolean isNavigationBarVisible)Allows other shadows to set the state ofisNavigationBarVisible
. -
clearIsNavigationBarVisible
protected static void clearIsNavigationBarVisible()Clears the last known state ofisNavigationBarVisible
. -
getWindowSession
-
playSoundEffect
-
relayoutWindow
@Implementation protected int relayoutWindow(WindowManager.LayoutParams params, int viewVisibility, boolean insetsPending) throws RemoteException- Throws:
RemoteException
-
callDispatchResized
public void callDispatchResized() -
getDisplay
-
setView
@Implementation protected void setView(View view, WindowManager.LayoutParams attrs, View panelParentView) -
setView
@Implementation(minSdk=30) protected void setView(View view, WindowManager.LayoutParams attrs, View panelParentView, int userId) -
getWindowInsets
On Android R+WindowInsets
supports checking visibility of specific inset types.For those SDK levels, override the real
WindowInsets
with the tracked system bar visibility status (isStatusBarVisible
/isNavigationBarVisible
), if set.NOTE: We use state tracking in place of a longer term solution of implementing the insets calculations and broadcast (via listeners) for now. Once we have insets calculations working we should remove this mechanism.
-
reset
-
callWindowFocusChanged
public void callWindowFocusChanged(boolean hasFocus)
-