From c66ca47f2b2be01ac1de341c4d031577568969d4 Mon Sep 17 00:00:00 2001 From: David Vacca Date: Tue, 31 Oct 2023 20:23:36 -0700 Subject: [PATCH] Back out "Add support for legacy UIManager in UIManagerHelper" Summary: Original commit changeset: 93eba1eb3106 Original Phabricator Diff: D50694805 changelog: [internal] internal Reviewed By: fkgozali Differential Revision: D50853438 fbshipit-source-id: 687cb100dfea28f3ea63812e1dd5b21e4c8ceb0e --- .../react/uimanager/UIManagerHelper.java | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerHelper.java b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerHelper.java index e60538fda9f8d9..c4a3902d1e3d6a 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerHelper.java +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerHelper.java @@ -22,9 +22,9 @@ import com.facebook.react.bridge.ReactNoCrashSoftException; import com.facebook.react.bridge.ReactSoftExceptionLogger; import com.facebook.react.bridge.UIManager; -import com.facebook.react.config.ReactFeatureFlags; import com.facebook.react.uimanager.common.UIManagerType; import com.facebook.react.uimanager.events.EventDispatcher; +import com.facebook.react.uimanager.events.EventDispatcherProvider; /** Helper class for {@link UIManager}. */ public class UIManagerHelper { @@ -53,19 +53,13 @@ private static UIManager getUIManager( @UIManagerType int uiManagerType, boolean returnNullIfCatalystIsInactive) { if (context.isBridgeless()) { - UIManager uiManager = null; - if (uiManagerType == FABRIC) { - uiManager = (UIManager) context.getJSIModule(JSIModuleType.UIManager); - } else if (ReactFeatureFlags.unstable_useFabricInterop) { - // When Fabric Interop is enabled in Bridgeless mode, enable the legacy UIManager - uiManager = context.getNativeModule(UIManagerModule.class); - } - + @Nullable UIManager uiManager = (UIManager) context.getJSIModule(JSIModuleType.UIManager); if (uiManager == null) { ReactSoftExceptionLogger.logSoftException( TAG, new ReactNoCrashSoftException( "Cannot get UIManager because the instance hasn't been initialized yet.")); + return null; } return uiManager; } @@ -124,6 +118,13 @@ public static EventDispatcher getEventDispatcherForReactTag(ReactContext context @Nullable public static EventDispatcher getEventDispatcher( ReactContext context, @UIManagerType int uiManagerType) { + // TODO T67518514 Clean this up once we migrate everything over to bridgeless mode + if (context.isBridgeless()) { + if (context instanceof ThemedReactContext) { + context = ((ThemedReactContext) context).getReactApplicationContext(); + } + return ((EventDispatcherProvider) context).getEventDispatcher(); + } UIManager uiManager = getUIManager(context, uiManagerType, false); if (uiManager == null) { ReactSoftExceptionLogger.logSoftException(