From c6a52b6db6d620f0b555abbd9ca7ade38e396cbc Mon Sep 17 00:00:00 2001 From: David Vacca Date: Tue, 19 Jun 2018 10:33:16 -0700 Subject: [PATCH] Fix setJSResponder for Fabric Summary: Before this fix, ReactNative screens that uses the Fabric renderer crashes when an event is dispatched. The root cause of the bug is that React JS executes the setJSResponder method in UIManagerModule, but this method is not implemented yet in Fabric. This fix will have to be picked into current RC to fix events into the City Guides screen running the Fabric experiment Reviewed By: fkgozali Differential Revision: D8515300 fbshipit-source-id: 40fe2f77987470abed8164f848680a911efa4bd2 --- .../com/facebook/react/uimanager/UIManagerModule.java | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModule.java b/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModule.java index 1ac393b06..ed98ab9a0 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModule.java +++ b/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModule.java @@ -10,7 +10,6 @@ package com.facebook.react.uimanager; import static com.facebook.react.bridge.ReactMarkerConstants.CREATE_UI_MANAGER_MODULE_CONSTANTS_END; import static com.facebook.react.bridge.ReactMarkerConstants.CREATE_UI_MANAGER_MODULE_CONSTANTS_START; import static com.facebook.react.uimanager.common.UIManagerType.DEFAULT; -import static com.facebook.react.uimanager.common.UIManagerType.FABRIC; import android.content.ComponentCallbacks2; import android.content.Context; @@ -25,9 +24,7 @@ import com.facebook.react.bridge.Callback; import com.facebook.react.bridge.GuardedRunnable; import com.facebook.react.bridge.LifecycleEventListener; import com.facebook.react.bridge.OnBatchCompleteListener; -import com.facebook.react.bridge.PerformanceCounter; import com.facebook.react.bridge.ReactApplicationContext; -import com.facebook.react.bridge.ReactContext; import com.facebook.react.bridge.ReactContextBaseJavaModule; import com.facebook.react.bridge.ReactMarker; import com.facebook.react.bridge.ReactMethod; @@ -40,7 +37,6 @@ import com.facebook.react.common.ReactConstants; import com.facebook.react.module.annotations.ReactModule; import com.facebook.react.uimanager.common.MeasureSpecProvider; import com.facebook.react.uimanager.common.SizeMonitoringFrameLayout; -import com.facebook.react.uimanager.common.UIManagerType; import com.facebook.react.uimanager.common.ViewUtil; import com.facebook.react.uimanager.debug.NotThreadSafeViewHierarchyUpdateDebugListener; import com.facebook.react.uimanager.events.EventDispatcher; @@ -595,9 +591,9 @@ public class UIManagerModule extends ReactContextBaseJavaModule implements int uiManagerType = ViewUtil.getUIManagerType(reactTag); if (uiManagerType != DEFAULT) { UIManagerHelper.getUIManager(getReactApplicationContext(), uiManagerType).setJSResponder(reactTag, blockNativeResponder); + } else { + mUIImplementation.setJSResponder(reactTag, blockNativeResponder); } - - mUIImplementation.setJSResponder(reactTag, blockNativeResponder); } @Override