diff --git a/android/src/main/java/com/reactnativenavigation/viewcontrollers/viewcontroller/LayoutDirectionApplier.kt b/android/src/main/java/com/reactnativenavigation/viewcontrollers/viewcontroller/LayoutDirectionApplier.kt index 01843c30cc..14f3404d11 100644 --- a/android/src/main/java/com/reactnativenavigation/viewcontrollers/viewcontroller/LayoutDirectionApplier.kt +++ b/android/src/main/java/com/reactnativenavigation/viewcontrollers/viewcontroller/LayoutDirectionApplier.kt @@ -10,7 +10,10 @@ class LayoutDirectionApplier { val currentContext = root.view?.context ?: return if (options.layout.direction.hasValue()) { - root.activity.window.decorView.layoutDirection = options.layout.direction.get() + val direction = options.layout.direction.get() + root.activity?.window?.decorView?.let { decor -> + decor.layoutDirection = direction + } I18nUtil.instance.allowRTL(currentContext, options.layout.direction.isRtl) I18nUtil.instance.forceRTL(currentContext, options.layout.direction.isRtl) } diff --git a/android/src/main/java/com/reactnativenavigation/viewcontrollers/viewcontroller/Presenter.java b/android/src/main/java/com/reactnativenavigation/viewcontrollers/viewcontroller/Presenter.java index 44e85beb22..a8adf777eb 100644 --- a/android/src/main/java/com/reactnativenavigation/viewcontrollers/viewcontroller/Presenter.java +++ b/android/src/main/java/com/reactnativenavigation/viewcontrollers/viewcontroller/Presenter.java @@ -137,6 +137,7 @@ private void applyNavigationBarVisibility(NavigationBarOptions options) { } private void setNavigationBarBackgroundColor(NavigationBarOptions navigationBar) { + if (activity == null) return; int defaultColor = SystemUiUtils.getDefaultNavBarColor(); if (navigationBar.backgroundColor.canApplyValue()) { int color = navigationBar.backgroundColor.get(defaultColor);