Class ShadowViewRootImpl

    • Field Detail

    • Constructor Detail

      • ShadowViewRootImpl

        public ShadowViewRootImpl()
    • Method Detail

      • setIsStatusBarVisible

        protected static void setIsStatusBarVisible​(boolean isStatusBarVisible)
        Allows other shadows to set the state of isStatusBarVisible.
      • clearIsStatusBarVisible

        protected static void clearIsStatusBarVisible()
        Clears the last known state of isStatusBarVisible.
      • setIsNavigationBarVisible

        protected static void setIsNavigationBarVisible​(boolean isNavigationBarVisible)
        Allows other shadows to set the state of isNavigationBarVisible.
      • clearIsNavigationBarVisible

        protected static void clearIsNavigationBarVisible()
        Clears the last known state of isNavigationBarVisible.
      • getWindowSession

        @Implementation(maxSdk=16)
        protected static IWindowSession getWindowSession​(Looper mainLooper)
      • playSoundEffect

        @Implementation
        public void playSoundEffect​(int effectId)
      • callDispatchResized

        public void callDispatchResized()
      • getDisplay

        protected Display getDisplay()
      • getWindowInsets

        @Implementation(minSdk=30)
        protected WindowInsets getWindowInsets​(boolean forceConstruct)
        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

        @Resetter
        public static void reset()
      • callWindowFocusChanged

        public void callWindowFocusChanged​(boolean hasFocus)