From 97622a5caa6cbac0fd09a12bcd51f2c2f10deed1 Mon Sep 17 00:00:00 2001 From: Alan Lee Date: Tue, 29 Oct 2024 11:19:02 -0700 Subject: [PATCH] RedBoxDialogSurfaceDelegate crash fix (#47249) Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/47249 - It is likely that Dialog is being dismissed from an invalid state causing an exception - apply similar changes from D63712422 which is to add try/catch around and ignore the exception as we are dismissing the dialog anyway Changelog: [Internal] Reviewed By: javache Differential Revision: D65066186 fbshipit-source-id: 03ebbc3fec3adf6100e36ea38b43f410d98a5297 --- .../react/devsupport/RedBoxDialogSurfaceDelegate.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/devsupport/RedBoxDialogSurfaceDelegate.java b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/devsupport/RedBoxDialogSurfaceDelegate.java index 0af42d741d1..705be2c8df5 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/devsupport/RedBoxDialogSurfaceDelegate.java +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/devsupport/RedBoxDialogSurfaceDelegate.java @@ -144,7 +144,12 @@ class RedBoxDialogSurfaceDelegate implements SurfaceDelegate { public void hide() { // dismiss redbox if exists if (mDialog != null) { - mDialog.dismiss(); + try { + mDialog.dismiss(); + } catch (IllegalArgumentException e) { + FLog.e( + ReactConstants.TAG, "RedBoxDialogSurfaceDelegate: error while dismissing dialog: ", e); + } destroyContentView(); mDialog = null; }