From 832dd57bb5acd36f2b89cb7963b909ccf2ef88d7 Mon Sep 17 00:00:00 2001 From: Elias Nahum Date: Thu, 27 Jan 2022 17:55:58 -0300 Subject: [PATCH 1/2] check if WindowInsets is null before calling getDisplayCutout on Android ReactRootView checkForKeyboardEvents method --- .../src/main/java/com/facebook/react/ReactRootView.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/ReactAndroid/src/main/java/com/facebook/react/ReactRootView.java b/ReactAndroid/src/main/java/com/facebook/react/ReactRootView.java index 30f84700dbf0bd..946350088532f0 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/ReactRootView.java +++ b/ReactAndroid/src/main/java/com/facebook/react/ReactRootView.java @@ -27,6 +27,7 @@ import android.view.View; import android.view.ViewGroup; import android.view.ViewTreeObserver; +import android.view.WindowInsets; import android.view.WindowManager; import android.widget.FrameLayout; import androidx.annotation.Nullable; @@ -826,10 +827,13 @@ private void checkForKeyboardEvents() { getRootView().getWindowVisibleDisplayFrame(mVisibleViewArea); int notchHeight = 0; if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) { - DisplayCutout displayCutout = getRootView().getRootWindowInsets().getDisplayCutout(); + WindowInsets insets = getRootView().getRootWindowInsets(); + if (insets != null) { + DisplayCutout displayCutout = insets.getDisplayCutout(); if (displayCutout != null) { notchHeight = displayCutout.getSafeInsetTop(); } + } } final int heightDiff = DisplayMetricsHolder.getWindowDisplayMetrics().heightPixels From 52a31e770db04c8ec882d707e6c5e548d60a9ea2 Mon Sep 17 00:00:00 2001 From: Elias Nahum Date: Fri, 28 Jan 2022 11:37:47 -0300 Subject: [PATCH 2/2] Fix indentation --- .../src/main/java/com/facebook/react/ReactRootView.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/ReactAndroid/src/main/java/com/facebook/react/ReactRootView.java b/ReactAndroid/src/main/java/com/facebook/react/ReactRootView.java index 946350088532f0..3d5ee968202ac3 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/ReactRootView.java +++ b/ReactAndroid/src/main/java/com/facebook/react/ReactRootView.java @@ -829,10 +829,10 @@ private void checkForKeyboardEvents() { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) { WindowInsets insets = getRootView().getRootWindowInsets(); if (insets != null) { - DisplayCutout displayCutout = insets.getDisplayCutout(); - if (displayCutout != null) { - notchHeight = displayCutout.getSafeInsetTop(); - } + DisplayCutout displayCutout = insets.getDisplayCutout(); + if (displayCutout != null) { + notchHeight = displayCutout.getSafeInsetTop(); + } } } final int heightDiff =