From 62c497ebda3dd564d23efa51f1ff56dbdd6b8631 Mon Sep 17 00:00:00 2001 From: d4vidi Date: Sun, 24 Aug 2025 17:30:26 +0300 Subject: [PATCH] Fix crash due to java2kotlin refactor (#8095) --- .../java/com/reactnativenavigation/utils/SystemUiUtils.kt | 4 +--- .../viewcontrollers/statusbar/StatusBarPresenter.kt | 3 ++- .../viewcontrollers/viewcontroller/ViewController.java | 5 +++++ 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/lib/android/app/src/main/java/com/reactnativenavigation/utils/SystemUiUtils.kt b/lib/android/app/src/main/java/com/reactnativenavigation/utils/SystemUiUtils.kt index 16d01b2ba8e..5ac5d2ed932 100644 --- a/lib/android/app/src/main/java/com/reactnativenavigation/utils/SystemUiUtils.kt +++ b/lib/android/app/src/main/java/com/reactnativenavigation/utils/SystemUiUtils.kt @@ -12,7 +12,6 @@ import androidx.core.view.WindowInsetsControllerCompat import kotlin.math.abs import kotlin.math.ceil - object SystemUiUtils { private const val STATUS_BAR_HEIGHT_M = 24 internal const val STATUS_BAR_HEIGHT_TRANSLUCENCY = 0.65f @@ -20,7 +19,6 @@ object SystemUiUtils { var navigationBarDefaultColor = -1 private set - @JvmStatic fun getStatusBarHeight(activity: Activity?): Int { val res = if (statusBarHeight > 0) { @@ -167,4 +165,4 @@ object SystemUiUtils { } } -} \ No newline at end of file +} diff --git a/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/statusbar/StatusBarPresenter.kt b/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/statusbar/StatusBarPresenter.kt index 6b060ed4dc6..396cf6c3cab 100644 --- a/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/statusbar/StatusBarPresenter.kt +++ b/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/statusbar/StatusBarPresenter.kt @@ -120,7 +120,8 @@ class StatusBarPresenter private constructor( private fun setStatusBarVisible(viewController: ViewController<*>, visible: Bool) { val window = window.get() ?: return - val view = if (viewController.view != null) viewController.view else window.decorView + val view = viewController.peekView() ?: window.decorView + if (visible.isFalse) { hideStatusBar(window, view) } else { diff --git a/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/viewcontroller/ViewController.java b/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/viewcontroller/ViewController.java index 32f90d47db2..0035533a5c5 100644 --- a/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/viewcontroller/ViewController.java +++ b/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/viewcontroller/ViewController.java @@ -254,6 +254,11 @@ public void attachView(ViewGroup parent, int index) { if (view.getParent() == null) parent.addView(view, index); } + @Nullable + public T peekView() { + return view; + } + public String getId() { return id; }