mirror of
https://github.com/zhigang1992/react-native.git
synced 2026-04-17 23:04:40 +08:00
Refactored NativeModuleRegistryBuilder
Summary: The logic in NativeModuleRegistryBuilder.processPackage was getting pretty complex with lot of branches. Moved the logic to get actual packages into each of the packages, instead of having it in NativeModuleRegistryBuilder. Reviewed By: achen1 Differential Revision: D9618140 fbshipit-source-id: 4be82ec65b0bd92f11f8b77044004e10c9d3b1a1
This commit is contained in:
committed by
Facebook Github Bot
parent
b1d205a28f
commit
875f70b8b6
@@ -7,6 +7,10 @@
|
||||
|
||||
package com.facebook.react.testing;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
import android.app.Instrumentation;
|
||||
@@ -20,6 +24,7 @@ import com.facebook.react.NativeModuleRegistryBuilder;
|
||||
import com.facebook.react.R;
|
||||
import com.facebook.react.ReactInstanceManager;
|
||||
import com.facebook.react.ReactInstanceManagerBuilder;
|
||||
import com.facebook.react.ReactPackage;
|
||||
import com.facebook.react.bridge.CatalystInstance;
|
||||
import com.facebook.react.bridge.JavaScriptModuleRegistry;
|
||||
import com.facebook.react.bridge.NativeModule;
|
||||
@@ -32,7 +37,7 @@ import com.facebook.react.bridge.JSBundleLoader;
|
||||
import com.facebook.react.bridge.JSCJavaScriptExecutorFactory;
|
||||
import com.facebook.react.bridge.JavaScriptExecutor;
|
||||
import com.facebook.react.modules.core.ReactChoreographer;
|
||||
|
||||
import com.facebook.react.uimanager.ViewManager;
|
||||
import com.android.internal.util.Predicate;
|
||||
|
||||
public class ReactTestHelper {
|
||||
@@ -50,14 +55,24 @@ public class ReactTestHelper {
|
||||
}
|
||||
|
||||
@Override
|
||||
public ReactInstanceEasyBuilder addNativeModule(NativeModule nativeModule) {
|
||||
public ReactInstanceEasyBuilder addNativeModule(final NativeModule nativeModule) {
|
||||
if (mNativeModuleRegistryBuilder == null) {
|
||||
mNativeModuleRegistryBuilder = new NativeModuleRegistryBuilder(
|
||||
(ReactApplicationContext) mContext,
|
||||
null);
|
||||
}
|
||||
Assertions.assertNotNull(nativeModule);
|
||||
mNativeModuleRegistryBuilder.addNativeModule(nativeModule);
|
||||
mNativeModuleRegistryBuilder.processPackage(new ReactPackage(){
|
||||
@Override
|
||||
public List<ViewManager> createViewManagers(ReactApplicationContext reactContext) {
|
||||
return Collections.emptyList();
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<NativeModule> createNativeModules(ReactApplicationContext reactContext) {
|
||||
return Arrays.asList(nativeModule);
|
||||
}
|
||||
});
|
||||
return this;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user