mirror of
https://github.com/zhigang1992/react-native.git
synced 2026-04-10 22:47:58 +08:00
Add backward compatible support for onLayout event in Fabric
Reviewed By: achen1 Differential Revision: D8231722 fbshipit-source-id: 3d0641a7813e742ca81b98576f9ffc30ee597f30
This commit is contained in:
committed by
Facebook Github Bot
parent
6c989fe7c6
commit
6aea98441a
@@ -37,7 +37,9 @@ import com.facebook.react.modules.core.PermissionListener;
|
||||
import com.facebook.react.shell.MainReactPackage;
|
||||
import com.facebook.react.testing.idledetection.ReactBridgeIdleSignaler;
|
||||
import com.facebook.react.testing.idledetection.ReactIdleDetectionUtil;
|
||||
import com.facebook.react.uimanager.events.EventDispatcher;
|
||||
import com.facebook.react.uimanager.UIImplementationProvider;
|
||||
import com.facebook.react.uimanager.UIManagerModule;
|
||||
import com.facebook.react.uimanager.ViewManager;
|
||||
import com.facebook.react.uimanager.ViewManagerRegistry;
|
||||
import java.util.Arrays;
|
||||
@@ -265,8 +267,10 @@ public class ReactAppTestActivity extends FragmentActivity
|
||||
public FabricUIManager get() {
|
||||
List<ViewManager> viewManagers =
|
||||
mReactInstanceManager.getOrCreateViewManagers(reactApplicationContext);
|
||||
EventDispatcher eventDispatcher =
|
||||
reactApplicationContext.getNativeModule(UIManagerModule.class).getEventDispatcher();
|
||||
FabricUIManager fabricUIManager =
|
||||
new FabricUIManager(reactApplicationContext, new ViewManagerRegistry(viewManagers), jsContext);
|
||||
new FabricUIManager(reactApplicationContext, new ViewManagerRegistry(viewManagers), jsContext, eventDispatcher);
|
||||
new FabricJSCBinding().installFabric(jsContext, fabricUIManager);
|
||||
return fabricUIManager;
|
||||
}
|
||||
|
||||
@@ -25,6 +25,8 @@ import com.facebook.react.testing.idledetection.IdleWaiter;
|
||||
public abstract class ReactInstrumentationTest extends
|
||||
ActivityInstrumentationTestCase2<ReactAppTestActivity> implements IdleWaiter {
|
||||
|
||||
protected StringRecordingModule mRecordingModule;
|
||||
|
||||
public ReactInstrumentationTest() {
|
||||
super(ReactAppTestActivity.class);
|
||||
}
|
||||
@@ -36,6 +38,7 @@ public abstract class ReactInstrumentationTest extends
|
||||
Intent intent = new Intent();
|
||||
intent.putExtra(ReactAppTestActivity.EXTRA_IS_FABRIC_TEST, isFabricTest());
|
||||
setActivityIntent(intent);
|
||||
mRecordingModule = new StringRecordingModule();
|
||||
final ReactAppTestActivity activity = getActivity();
|
||||
activity.loadBundle(
|
||||
createReactInstanceSpecForTest(),
|
||||
@@ -95,7 +98,7 @@ public abstract class ReactInstrumentationTest extends
|
||||
* Override this method to provide extra native modules to be loaded before the app starts
|
||||
*/
|
||||
protected ReactInstanceSpecForTest createReactInstanceSpecForTest() {
|
||||
return new ReactInstanceSpecForTest();
|
||||
return new ReactInstanceSpecForTest().addNativeModule(mRecordingModule);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user