Skip to content

Commit c6a52b6

Browse files
mdvaccafacebook-github-bot
authored andcommitted
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
1 parent 5f9a211 commit c6a52b6

File tree

1 file changed

+2
-6
lines changed

1 file changed

+2
-6
lines changed

ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModule.java

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@
1010
import static com.facebook.react.bridge.ReactMarkerConstants.CREATE_UI_MANAGER_MODULE_CONSTANTS_END;
1111
import static com.facebook.react.bridge.ReactMarkerConstants.CREATE_UI_MANAGER_MODULE_CONSTANTS_START;
1212
import static com.facebook.react.uimanager.common.UIManagerType.DEFAULT;
13-
import static com.facebook.react.uimanager.common.UIManagerType.FABRIC;
1413

1514
import android.content.ComponentCallbacks2;
1615
import android.content.Context;
@@ -25,9 +24,7 @@
2524
import com.facebook.react.bridge.GuardedRunnable;
2625
import com.facebook.react.bridge.LifecycleEventListener;
2726
import com.facebook.react.bridge.OnBatchCompleteListener;
28-
import com.facebook.react.bridge.PerformanceCounter;
2927
import com.facebook.react.bridge.ReactApplicationContext;
30-
import com.facebook.react.bridge.ReactContext;
3128
import com.facebook.react.bridge.ReactContextBaseJavaModule;
3229
import com.facebook.react.bridge.ReactMarker;
3330
import com.facebook.react.bridge.ReactMethod;
@@ -40,7 +37,6 @@
4037
import com.facebook.react.module.annotations.ReactModule;
4138
import com.facebook.react.uimanager.common.MeasureSpecProvider;
4239
import com.facebook.react.uimanager.common.SizeMonitoringFrameLayout;
43-
import com.facebook.react.uimanager.common.UIManagerType;
4440
import com.facebook.react.uimanager.common.ViewUtil;
4541
import com.facebook.react.uimanager.debug.NotThreadSafeViewHierarchyUpdateDebugListener;
4642
import com.facebook.react.uimanager.events.EventDispatcher;
@@ -595,9 +591,9 @@ public void setJSResponder(int reactTag, boolean blockNativeResponder) {
595591
int uiManagerType = ViewUtil.getUIManagerType(reactTag);
596592
if (uiManagerType != DEFAULT) {
597593
UIManagerHelper.getUIManager(getReactApplicationContext(), uiManagerType).setJSResponder(reactTag, blockNativeResponder);
594+
} else {
595+
mUIImplementation.setJSResponder(reactTag, blockNativeResponder);
598596
}
599-
600-
mUIImplementation.setJSResponder(reactTag, blockNativeResponder);
601597
}
602598

603599
@Override

0 commit comments

Comments
 (0)