java类com.facebook.react.bridge.JavaScriptModule的实例源码

CoreModulesPackage.java 文件源码 项目:RNLearn_Project1 阅读 30 收藏 0 点赞 0 评论 0
@Override
public List<Class<? extends JavaScriptModule>> createJSModules() {
  List<Class<? extends JavaScriptModule>> jsModules = new ArrayList<>(Arrays.asList(
      DeviceEventManagerModule.RCTDeviceEventEmitter.class,
      JSTimersExecution.class,
      RCTEventEmitter.class,
      RCTNativeAppEventEmitter.class,
      AppRegistry.class,
      com.facebook.react.bridge.Systrace.class,
      HMRClient.class));

  if (ReactBuildConfig.DEBUG) {
    jsModules.add(DebugComponentOwnershipModule.RCTDebugComponentOwnership.class);
    jsModules.add(JSCHeapCapture.HeapCapture.class);
    jsModules.add(JSCSamplingProfiler.SamplingProfiler.class);
  }

  return jsModules;
}
ReactInstanceManager.java 文件源码 项目:RNLearn_Project1 阅读 25 收藏 0 点赞 0 评论 0
private void processPackage(
  ReactPackage reactPackage,
  NativeModuleRegistryBuilder nativeModuleRegistryBuilder,
  JavaScriptModuleRegistry.Builder jsModulesBuilder) {
  SystraceMessage.beginSection(TRACE_TAG_REACT_JAVA_BRIDGE, "processPackage")
    .arg("className", reactPackage.getClass().getSimpleName())
    .flush();
  if (reactPackage instanceof ReactPackageLogger) {
    ((ReactPackageLogger) reactPackage).startProcessPackage();
  }
  nativeModuleRegistryBuilder.processPackage(reactPackage);

  for (Class<? extends JavaScriptModule> jsModuleClass : reactPackage.createJSModules()) {
    jsModulesBuilder.add(jsModuleClass);
  }
  if (reactPackage instanceof ReactPackageLogger) {
    ((ReactPackageLogger) reactPackage).endProcessPackage();
  }
  Systrace.endSection(TRACE_TAG_REACT_JAVA_BRIDGE);
}
ReactInstanceManager.java 文件源码 项目:RNLearn_Project1 阅读 29 收藏 0 点赞 0 评论 0
private void processPackage(
  ReactPackage reactPackage,
  NativeModuleRegistryBuilder nativeModuleRegistryBuilder,
  JavaScriptModuleRegistry.Builder jsModulesBuilder) {
  SystraceMessage.beginSection(TRACE_TAG_REACT_JAVA_BRIDGE, "processPackage")
    .arg("className", reactPackage.getClass().getSimpleName())
    .flush();
  if (reactPackage instanceof ReactPackageLogger) {
    ((ReactPackageLogger) reactPackage).startProcessPackage();
  }
  nativeModuleRegistryBuilder.processPackage(reactPackage);

  for (Class<? extends JavaScriptModule> jsModuleClass : reactPackage.createJSModules()) {
    jsModulesBuilder.add(jsModuleClass);
  }
  if (reactPackage instanceof ReactPackageLogger) {
    ((ReactPackageLogger) reactPackage).endProcessPackage();
  }
  Systrace.endSection(TRACE_TAG_REACT_JAVA_BRIDGE);
}
CompositeReactPackageTest.java 文件源码 项目:RNLearn_Project1 阅读 29 收藏 0 点赞 0 评论 0
@Test
public void testThatCompositeReturnsASumOfJSModules() {
  // Given
  CompositeReactPackage composite = new CompositeReactPackage(packageNo1, packageNo2);

  Class<? extends JavaScriptModule> moduleNo1 = mock(JavaScriptModuleNo1.class).getClass();
  Class<? extends JavaScriptModule> moduleNo2 = mock(JavaScriptModuleNo2.class).getClass();
  Class<? extends JavaScriptModule> moduleNo3 = mock(JavaScriptModuleNo3.class).getClass();

  List<Class<? extends JavaScriptModule>> l1 = new ArrayList<>();
  l1.add(moduleNo1);
  when(packageNo1.createJSModules()).thenReturn(l1);

  List<Class<? extends JavaScriptModule>> l2 = new ArrayList<>();
  l2.add(moduleNo2);
  l2.add(moduleNo3);
  when(packageNo2.createJSModules()).thenReturn(l2);

  // When
  List<Class<? extends JavaScriptModule>> compositeModules = composite.createJSModules();

  // Then

  // wrapping lists into sets to be order-independent
  List<Class<? extends JavaScriptModule>> l3 = new ArrayList<>();
  l3.add(moduleNo1);
  l3.add(moduleNo2);
  l3.add(moduleNo3);
  Set<Class<? extends JavaScriptModule>> expected = new HashSet<>(l3);
  Set<Class<? extends JavaScriptModule>> actual = new HashSet<>(compositeModules);

  assertEquals(expected, actual);
}
CompositeReactPackage.java 文件源码 项目:RNLearn_Project1 阅读 32 收藏 0 点赞 0 评论 0
/**
 * {@inheritDoc}
 */
@Override
public List<Class<? extends JavaScriptModule>> createJSModules() {
  final Set<Class<? extends JavaScriptModule>> moduleSet = new HashSet<>();
  for (ReactPackage reactPackage: mChildReactPackages) {
    for (Class<? extends JavaScriptModule> jsModule: reactPackage.createJSModules()) {
      moduleSet.add(jsModule);
    }
  }
  return new ArrayList(moduleSet);
}
CompositeReactPackageTest.java 文件源码 项目:RNLearn_Project1 阅读 22 收藏 0 点赞 0 评论 0
@Test
public void testThatCompositeReturnsASumOfJSModules() {
  // Given
  CompositeReactPackage composite = new CompositeReactPackage(packageNo1, packageNo2);

  Class<? extends JavaScriptModule> moduleNo1 = mock(JavaScriptModuleNo1.class).getClass();
  Class<? extends JavaScriptModule> moduleNo2 = mock(JavaScriptModuleNo2.class).getClass();
  Class<? extends JavaScriptModule> moduleNo3 = mock(JavaScriptModuleNo3.class).getClass();

  List<Class<? extends JavaScriptModule>> l1 = new ArrayList<>();
  l1.add(moduleNo1);
  when(packageNo1.createJSModules()).thenReturn(l1);

  List<Class<? extends JavaScriptModule>> l2 = new ArrayList<>();
  l2.add(moduleNo2);
  l2.add(moduleNo3);
  when(packageNo2.createJSModules()).thenReturn(l2);

  // When
  List<Class<? extends JavaScriptModule>> compositeModules = composite.createJSModules();

  // Then

  // wrapping lists into sets to be order-independent
  List<Class<? extends JavaScriptModule>> l3 = new ArrayList<>();
  l3.add(moduleNo1);
  l3.add(moduleNo2);
  l3.add(moduleNo3);
  Set<Class<? extends JavaScriptModule>> expected = new HashSet<>(l3);
  Set<Class<? extends JavaScriptModule>> actual = new HashSet<>(compositeModules);

  assertEquals(expected, actual);
}
RNTapTargetViewPackage.java 文件源码 项目:react-native-taptargetview 阅读 30 收藏 0 点赞 0 评论 0
public List<Class<? extends JavaScriptModule>> createJSModules() {
  return Collections.emptyList();
}
ReactVideoPackage.java 文件源码 项目:react-native-videoplayer 阅读 26 收藏 0 点赞 0 评论 0
@Override
public List<Class<? extends JavaScriptModule>> createJSModules() {
    return Collections.emptyList();
}
ImageIntentPackage.java 文件源码 项目:react-native-image-intent 阅读 28 收藏 0 点赞 0 评论 0
@Override
public List<Class<? extends JavaScriptModule>> createJSModules() {
    return Collections.emptyList();
}
MainReactPackage.java 文件源码 项目:RNLearn_Project1 阅读 30 收藏 0 点赞 0 评论 0
@Override
public List<Class<? extends JavaScriptModule>> createJSModules() {
  return Collections.emptyList();
}
WebRTCModulePackage.java 文件源码 项目:react-native-webrtc 阅读 34 收藏 0 点赞 0 评论 0
@Override
public List<Class<? extends JavaScriptModule>> createJSModules() {
    return Collections.emptyList();
}
Package.java 文件源码 项目:react-native-pgp 阅读 37 收藏 0 点赞 0 评论 0
public List<Class<? extends JavaScriptModule>> createJSModules() {
    return Collections.emptyList();
}
InstanceSpecForTestPackage.java 文件源码 项目:RNLearn_Project1 阅读 76 收藏 0 点赞 0 评论 0
@Override
public List<Class<? extends JavaScriptModule>> createJSModules() {
  return mSpecForTest.getExtraJSModulesForTest();
}
ANPackage.java 文件源码 项目:react-native-alarm-notification 阅读 25 收藏 0 点赞 0 评论 0
@Override
public List<Class<? extends JavaScriptModule>> createJSModules() {
    return Collections.emptyList();
}
RNDominantColorPackage.java 文件源码 项目:react-native-dominant-color 阅读 28 收藏 0 点赞 0 评论 0
public List<Class<? extends JavaScriptModule>> createJSModules() {
  return Collections.emptyList();
}
RNMailComposePackage.java 文件源码 项目:react-native-mail-compose 阅读 26 收藏 0 点赞 0 评论 0
public List<Class<? extends JavaScriptModule>> createJSModules() {
  return Collections.emptyList();
}
DownloadFilePackage.java 文件源码 项目:react-native-download-manager 阅读 30 收藏 0 点赞 0 评论 0
@Override
public List<Class<? extends JavaScriptModule>> createJSModules() {
    return Collections.emptyList();
}
CameraPackage.java 文件源码 项目:react-native-camera-android-simple 阅读 36 收藏 0 点赞 0 评论 0
@Override
public List<Class<? extends JavaScriptModule>> createJSModules() {
    return Collections.emptyList();
}
ReactPackage.java 文件源码 项目:RNLearn_Project1 阅读 39 收藏 0 点赞 0 评论 0
@Override
public List<Class<? extends JavaScriptModule>> createJSModules() {
  return Collections.emptyList();
}
MSSQLPackage.java 文件源码 项目:react-native-mssql 阅读 30 收藏 0 点赞 0 评论 0
public List<Class<? extends JavaScriptModule>> createJSModules() {
    return Collections.emptyList();
}
RNCloudinaryPackage.java 文件源码 项目:react-native-cloudinary 阅读 28 收藏 0 点赞 0 评论 0
@Override
public List<Class<? extends JavaScriptModule>> createJSModules() {
  return Collections.emptyList();
}
SystemSettingPackage.java 文件源码 项目:react-native-system-setting 阅读 29 收藏 0 点赞 0 评论 0
public List<Class<? extends JavaScriptModule>> createJSModules() {
    return Collections.emptyList();
}
RNMessageComposePackage.java 文件源码 项目:react-native-message-compose 阅读 25 收藏 0 点赞 0 评论 0
public List<Class<? extends JavaScriptModule>> createJSModules() {
  return Collections.emptyList();
}
DoubleDatePickerPackage.java 文件源码 项目:react-native-double-date-picker 阅读 27 收藏 0 点赞 0 评论 0
@Override
public List<Class<? extends JavaScriptModule>> createJSModules() {
    return Collections.emptyList();
}
RNReactNativeAndoridShadowPackage.java 文件源码 项目:react-native-andorid-shadow 阅读 27 收藏 0 点赞 0 评论 0
public List<Class<? extends JavaScriptModule>> createJSModules() {
  return Collections.emptyList();
}
DrawablesPackage.java 文件源码 项目:react-native-android-drawables 阅读 27 收藏 0 点赞 0 评论 0
public List<Class<? extends JavaScriptModule>> createJSModules()
{
    return Collections.emptyList();
}
RNConnectivityStatusPackage.java 文件源码 项目:react-native-connectivity-status 阅读 27 收藏 0 点赞 0 评论 0
public List<Class<? extends JavaScriptModule>> createJSModules() {
  return Collections.emptyList();
}
BackgroundTaskPackage.java 文件源码 项目:react-native-background-task 阅读 27 收藏 0 点赞 0 评论 0
public List<Class<? extends JavaScriptModule>> createJSModules() {
    return Collections.emptyList();
}
ReactAndroidCircularRevealPackage.java 文件源码 项目:react-native-android-circular-reveal 阅读 32 收藏 0 点赞 0 评论 0
@Override
public List<Class<? extends JavaScriptModule>> createJSModules() {
  return Collections.emptyList();
}
RNSketchViewPackage.java 文件源码 项目:react-native-sketch-view 阅读 26 收藏 0 点赞 0 评论 0
public List<Class<? extends JavaScriptModule>> createJSModules() {
  return Collections.emptyList();
}


问题


面经


文章

微信
公众号

扫码关注公众号