java类com.facebook.react.uimanager.ViewManager的实例源码

ReactInstanceManager.java 文件源码 项目:RNLearn_Project1 阅读 32 收藏 0 点赞 0 评论 0
/**
 * Uses configured {@link ReactPackage} instances to create all view managers.
 */
public List<ViewManager> createAllViewManagers(
    ReactApplicationContext catalystApplicationContext) {
  ReactMarker.logMarker(CREATE_VIEW_MANAGERS_START);
  Systrace.beginSection(TRACE_TAG_REACT_JAVA_BRIDGE, "createAllViewManagers");
  try {
    List<ViewManager> allViewManagers = new ArrayList<>();
    for (ReactPackage reactPackage : mPackages) {
      allViewManagers.addAll(reactPackage.createViewManagers(catalystApplicationContext));
    }
    return allViewManagers;
  } finally {
    Systrace.endSection(TRACE_TAG_REACT_JAVA_BRIDGE);
    ReactMarker.logMarker(CREATE_VIEW_MANAGERS_END);
  }
}
CatalystNativeJavaToJSReturnValuesTestCase.java 文件源码 项目:RNLearn_Project1 阅读 33 收藏 0 点赞 0 评论 0
@Override
protected void setUp() throws Exception {
  super.setUp();

  final UIManagerModule mUIManager = new UIManagerModule(
      getContext(),
      new ArrayList<ViewManager>(),
      new UIImplementationProvider(),
      false);

  mAssertModule = new AssertModule();

  mInstance = ReactTestHelper.catalystInstanceBuilder(this)
      .addNativeModule(mAssertModule)
      .addNativeModule(new DeviceInfoModule(getContext()))
      .addNativeModule(new AppStateModule(getContext()))
      .addNativeModule(new FakeWebSocketModule())
      .addJSModule(TestJavaToJSReturnValuesModule.class)
      .addNativeModule(mUIManager)
      .addNativeModule(new TestModule())
      .build();
}
CoreModulesPackage.java 文件源码 项目:RNLearn_Project1 阅读 39 收藏 0 点赞 0 评论 0
private UIManagerModule createUIManager(ReactApplicationContext reactContext) {
  ReactMarker.logMarker(CREATE_UI_MANAGER_MODULE_START);
  Systrace.beginSection(Systrace.TRACE_TAG_REACT_JAVA_BRIDGE, "createUIManagerModule");
  try {
    List<ViewManager> viewManagersList = mReactInstanceManager.createAllViewManagers(
      reactContext);
    return new UIManagerModule(
      reactContext,
      viewManagersList,
      mUIImplementationProvider,
      mLazyViewManagersEnabled);
  } finally {
    Systrace.endSection(Systrace.TRACE_TAG_REACT_JAVA_BRIDGE);
    ReactMarker.logMarker(CREATE_UI_MANAGER_MODULE_END);
  }
}
CatalystNativeJavaToJSReturnValuesTestCase.java 文件源码 项目:RNLearn_Project1 阅读 28 收藏 0 点赞 0 评论 0
@Override
protected void setUp() throws Exception {
  super.setUp();

  final UIManagerModule mUIManager = new UIManagerModule(
      getContext(),
      new ArrayList<ViewManager>(),
      new UIImplementationProvider(),
      false);

  mAssertModule = new AssertModule();

  mInstance = ReactTestHelper.catalystInstanceBuilder(this)
      .addNativeModule(mAssertModule)
      .addNativeModule(new DeviceInfoModule(getContext()))
      .addNativeModule(new AppStateModule(getContext()))
      .addNativeModule(new FakeWebSocketModule())
      .addJSModule(TestJavaToJSReturnValuesModule.class)
      .addNativeModule(mUIManager)
      .addNativeModule(new TestModule())
      .build();
}
ReactInstanceManager.java 文件源码 项目:RNLearn_Project1 阅读 33 收藏 0 点赞 0 评论 0
/**
 * Uses configured {@link ReactPackage} instances to create all view managers.
 */
public List<ViewManager> createAllViewManagers(
    ReactApplicationContext catalystApplicationContext) {
  ReactMarker.logMarker(CREATE_VIEW_MANAGERS_START);
  Systrace.beginSection(TRACE_TAG_REACT_JAVA_BRIDGE, "createAllViewManagers");
  try {
    List<ViewManager> allViewManagers = new ArrayList<>();
    for (ReactPackage reactPackage : mPackages) {
      allViewManagers.addAll(reactPackage.createViewManagers(catalystApplicationContext));
    }
    return allViewManagers;
  } finally {
    Systrace.endSection(TRACE_TAG_REACT_JAVA_BRIDGE);
    ReactMarker.logMarker(CREATE_VIEW_MANAGERS_END);
  }
}
FlatUIImplementationProvider.java 文件源码 项目:RNLearn_Project1 阅读 27 收藏 0 点赞 0 评论 0
@Override
public FlatUIImplementation createUIImplementation(
    ReactApplicationContext reactContext,
    List<ViewManager> viewManagers,
    EventDispatcher eventDispatcher) {
  return FlatUIImplementation.createInstance(
    reactContext,
    viewManagers,
    eventDispatcher,
    mMemoryImprovementEnabled);
}
CatalystUIManagerTestCase.java 文件源码 项目:RNLearn_Project1 阅读 25 收藏 0 点赞 0 评论 0
@Override
protected void setUp() throws Exception {
  super.setUp();

  List<ViewManager> viewManagers = Arrays.<ViewManager>asList(
      new ReactViewManager(),
      new ReactTextViewManager(),
      new ReactRawTextManager());
  uiManager = new UIManagerModule(
      getContext(),
      viewManagers,
      new UIImplementationProvider(),
      false);
  UiThreadUtil.runOnUiThread(new Runnable() {
    @Override
    public void run() {
      uiManager.onHostResume();
    }
  });
  waitForIdleSync();

  jsModule = ReactTestHelper.catalystInstanceBuilder(this)
      .addNativeModule(uiManager)
      .addNativeModule(new AndroidInfoModule())
      .addNativeModule(new DeviceInfoModule(getContext()))
      .addNativeModule(new AppStateModule(getContext()))
      .addNativeModule(new FakeWebSocketModule())
      .addJSModule(UIManagerTestModule.class)
      .build()
      .getJSModule(UIManagerTestModule.class);
}
LazyReactPackage.java 文件源码 项目:RNLearn_Project1 阅读 26 收藏 0 点赞 0 评论 0
@Override
public List<ViewManager> createViewManagers(ReactApplicationContext reactContext) {
  List<ModuleSpec> viewManagerModuleSpecs = getViewManagers(reactContext);
  if (viewManagerModuleSpecs == null || viewManagerModuleSpecs.isEmpty()) {
    return Collections.emptyList();
  }

  List<ViewManager> viewManagers = new ArrayList<>();
  for (ModuleSpec moduleSpec : viewManagerModuleSpecs) {
    viewManagers.add((ViewManager) moduleSpec.getProvider().get());
  }
  return viewManagers;
}
ViewRenderingTestCase.java 文件源码 项目:RNLearn_Project1 阅读 35 收藏 0 点赞 0 评论 0
@Override
protected void setUp() throws Exception {
  super.setUp();

  List<ViewManager> viewManagers = Arrays.<ViewManager>asList(new ReactViewManager());
  final UIManagerModule uiManager = new UIManagerModule(
      getContext(),
      viewManagers,
      new UIImplementationProvider(),
      false);
  UiThreadUtil.runOnUiThread(
      new Runnable() {
        @Override
        public void run() {
          uiManager.onHostResume();
        }
      });
  waitForIdleSync();

  mCatalystInstance = ReactTestHelper.catalystInstanceBuilder(this)
      .addNativeModule(uiManager)
      .addNativeModule(new AndroidInfoModule())
      .addNativeModule(new DeviceInfoModule(getContext()))
      .addNativeModule(new AppStateModule(getContext()))
      .addNativeModule(new FakeWebSocketModule())
      .addJSModule(ViewRenderingTestModule.class)
      .build();

  mRootView = new ReactRootView(getContext());
  mRootTag = uiManager.addMeasuredRootView(mRootView);
}
FlatUIImplementation.java 文件源码 项目:RNLearn_Project1 阅读 30 收藏 0 点赞 0 评论 0
@Override
protected ReactShadowNode createShadowNode(String className) {
  ReactShadowNode cssNode = super.createShadowNode(className);
  if (cssNode instanceof FlatShadowNode || cssNode.isVirtual()) {
    return cssNode;
  }

  ViewManager viewManager = resolveViewManager(className);
  return new NativeViewWrapper(viewManager);
}
FlatUIImplementation.java 文件源码 项目:RNLearn_Project1 阅读 33 收藏 0 点赞 0 评论 0
private static @Nullable RCTImageViewManager findRCTImageManager(List<ViewManager> viewManagers) {
  for (int i = 0, size = viewManagers.size(); i != size; ++i) {
    if (viewManagers.get(i) instanceof RCTImageViewManager) {
      return (RCTImageViewManager) viewManagers.get(i);
    }
  }

  return null;
}
JSLocaleTest.java 文件源码 项目:RNLearn_Project1 阅读 29 收藏 0 点赞 0 评论 0
@Override
protected void setUp() throws Exception {
  super.setUp();

  List<ViewManager> viewManagers = Arrays.<ViewManager>asList(
      new ReactViewManager());
  final UIManagerModule mUIManager = new UIManagerModule(
      getContext(),
      viewManagers,
      new UIImplementationProvider(),
      false);
  UiThreadUtil.runOnUiThread(
      new Runnable() {
        @Override
        public void run() {
          mUIManager.onHostResume();
        }
      });
  waitForIdleSync();

  mStringRecordingModule = new StringRecordingModule();
  mInstance = ReactTestHelper.catalystInstanceBuilder(this)
      .addNativeModule(mStringRecordingModule)
      .addNativeModule(mUIManager)
      .addNativeModule(new DeviceInfoModule(getContext()))
      .addNativeModule(new AppStateModule(getContext()))
      .addNativeModule(new FakeWebSocketModule())
      .addJSModule(TestJSLocaleModule.class)
      .build();
}
CatalystNativeJSToJavaParametersTestCase.java 文件源码 项目:RNLearn_Project1 阅读 29 收藏 0 点赞 0 评论 0
@Override
protected void setUp() throws Exception {
  super.setUp();

  List<ViewManager> viewManagers = Arrays.<ViewManager>asList(
      new ReactViewManager());
  final UIManagerModule mUIManager = new UIManagerModule(
      getContext(),
      viewManagers,
      new UIImplementationProvider(),
      false);
  UiThreadUtil.runOnUiThread(
      new Runnable() {
        @Override
        public void run() {
          mUIManager.onHostResume();
        }
      });
  waitForIdleSync();

  mRecordingTestModule = new RecordingTestModule();
  mCatalystInstance = ReactTestHelper.catalystInstanceBuilder(this)
      .addNativeModule(mRecordingTestModule)
      .addNativeModule(new AndroidInfoModule())
      .addNativeModule(new DeviceInfoModule(getContext()))
      .addNativeModule(new AppStateModule(getContext()))
      .addNativeModule(new FakeWebSocketModule())
      .addNativeModule(mUIManager)
      .addJSModule(TestJSToJavaParametersModule.class)
      .build();
}
CatalystNativeJavaToJSArgumentsTestCase.java 文件源码 项目:RNLearn_Project1 阅读 40 收藏 0 点赞 0 评论 0
@Override
protected void setUp() throws Exception {
  super.setUp();

  List<ViewManager> viewManagers = Arrays.<ViewManager>asList(
      new ReactViewManager());
  final UIManagerModule mUIManager = new UIManagerModule(
      getContext(),
      viewManagers,
      new UIImplementationProvider(),
      false);
  UiThreadUtil.runOnUiThread(
      new Runnable() {
        @Override
        public void run() {
          mUIManager.onHostResume();
        }
      });
  waitForIdleSync();

  mAssertModule = new AssertModule();

  mInstance = ReactTestHelper.catalystInstanceBuilder(this)
      .addNativeModule(mAssertModule)
      .addNativeModule(new DeviceInfoModule(getContext()))
      .addNativeModule(new AppStateModule(getContext()))
      .addNativeModule(new FakeWebSocketModule())
      .addJSModule(TestJavaToJSArgumentsModule.class)
      .addNativeModule(mUIManager)
      .build();
}
ProgressBarTestCase.java 文件源码 项目:RNLearn_Project1 阅读 32 收藏 0 点赞 0 评论 0
@Override
protected void setUp() throws Exception {
  super.setUp();

  List<ViewManager> viewManagers = Arrays.<ViewManager>asList(
      new ReactViewManager(),
      new ReactProgressBarViewManager());
  mUIManager = new UIManagerModule(
      getContext(),
      viewManagers,
      new UIImplementationProvider(),
      false);
  UiThreadUtil.runOnUiThread(
      new Runnable() {
        @Override
        public void run() {
          mUIManager.onHostResume();
        }
      });
  waitForIdleSync();

  mInstance = ReactTestHelper.catalystInstanceBuilder(this)
      .addNativeModule(mUIManager)
      .addNativeModule(new AndroidInfoModule())
      .addNativeModule(new DeviceInfoModule(getContext()))
      .addNativeModule(new AppStateModule(getContext()))
      .addNativeModule(new FakeWebSocketModule())
      .addJSModule(ProgressBarTestModule.class)
      .build();

  mRootView = new ReactRootView(getContext());
  DisplayMetrics metrics = getContext().getResources().getDisplayMetrics();
  mRootView.setLayoutParams(
      new FrameLayout.LayoutParams(metrics.widthPixels, metrics.heightPixels));
  int rootTag = mUIManager.addMeasuredRootView(mRootView);
  mInstance.getJSModule(ProgressBarTestModule.class).renderProgressBarApplication(rootTag);
  waitForBridgeAndUIIdle();
}
PiliPackage.java 文件源码 项目:react-native-pili-player 阅读 28 收藏 0 点赞 0 评论 0
@Override
public List<ViewManager> createViewManagers(ReactApplicationContext reactContext) {
    return Arrays.<ViewManager>asList(
            //new PiliLiveViewManager(),
            new PiliPlayerViewManager(),
            new PiliLiveViewManager()
            //new PiliAudioStreamingViewManager()
    );
}
PiliPackage.java 文件源码 项目:pili-react-native 阅读 29 收藏 0 点赞 0 评论 0
@Override
public List<ViewManager> createViewManagers(ReactApplicationContext reactContext) {
    return Arrays.<ViewManager>asList(
            new PiliStreamingViewManager(),
            new PiliPlayerViewManager(),
            new PiliAudioStreamingViewManager()
    );
}
PiliPackage.java 文件源码 项目:react-native-pili-live 阅读 31 收藏 0 点赞 0 评论 0
@Override
public List<ViewManager> createViewManagers(ReactApplicationContext reactContext) {
    return Arrays.<ViewManager>asList(
            new PiliStreamingViewManager(),
            new PiliPlayerViewManager(),
            new PiliAudioStreamingViewManager()
    );
}
MaterialCalendarViewPackage.java 文件源码 项目:react-native-android-material-calendar-view 阅读 36 收藏 0 点赞 0 评论 0
@Override
public List<ViewManager>
createViewManagers(ReactApplicationContext reactContext) {
     return Collections.<ViewManager>singletonList(
        new MaterialCalendarViewManager()
    );
}
CompositeReactPackageTest.java 文件源码 项目:RNLearn_Project1 阅读 30 收藏 0 点赞 0 评论 0
@Test
public void testThatCompositeReturnsASumOfViewManagers() {
  // Given
  CompositeReactPackage composite = new CompositeReactPackage(packageNo1, packageNo2);

  ViewManager managerNo1 = mock(ViewManager.class);
  when(managerNo1.getName()).thenReturn("ManagerNo1");

  // managerNo2 and managerNo3 will share same name, composite should return only the latter one
  final String sameModuleName = "SameModuleName";

  ViewManager managerNo2 = mock(ViewManager.class);
  when(managerNo2.getName()).thenReturn(sameModuleName);

  ViewManager managerNo3 = mock(ViewManager.class);
  when(managerNo3.getName()).thenReturn(sameModuleName);

  ViewManager managerNo4 = mock(ViewManager.class);
  when(managerNo4.getName()).thenReturn("ManagerNo4");

  when(packageNo1.createViewManagers(reactContext)).thenReturn(
      Arrays.asList(new ViewManager[]{managerNo1, managerNo2}));

  when(packageNo2.createViewManagers(reactContext)).thenReturn(
      Arrays.asList(new ViewManager[]{managerNo3, managerNo4}));

  // When
  List<ViewManager> compositeModules = composite.createViewManagers(reactContext);

  // Then

  // Wrapping lists into sets to be order-independent.
  // Note that there should be no managerNo2 returned.
  Set<ViewManager> expected = new HashSet<>(
      Arrays.asList(new ViewManager[]{managerNo1, managerNo3, managerNo4})
  );
  Set<ViewManager> actual = new HashSet<>(compositeModules);

  assertEquals(expected, actual);
}
FlatUIImplementation.java 文件源码 项目:RNLearn_Project1 阅读 33 收藏 0 点赞 0 评论 0
@Override
protected ReactShadowNode createShadowNode(String className) {
  ReactShadowNode cssNode = super.createShadowNode(className);
  if (cssNode instanceof FlatShadowNode || cssNode.isVirtual()) {
    return cssNode;
  }

  ViewManager viewManager = resolveViewManager(className);
  return new NativeViewWrapper(viewManager);
}
FlatUIImplementation.java 文件源码 项目:RNLearn_Project1 阅读 35 收藏 0 点赞 0 评论 0
private static @Nullable RCTImageViewManager findRCTImageManager(List<ViewManager> viewManagers) {
  for (int i = 0, size = viewManagers.size(); i != size; ++i) {
    if (viewManagers.get(i) instanceof RCTImageViewManager) {
      return (RCTImageViewManager) viewManagers.get(i);
    }
  }

  return null;
}
ViewRenderingTestCase.java 文件源码 项目:RNLearn_Project1 阅读 25 收藏 0 点赞 0 评论 0
@Override
protected void setUp() throws Exception {
  super.setUp();

  List<ViewManager> viewManagers = Arrays.<ViewManager>asList(new ReactViewManager());
  final UIManagerModule uiManager = new UIManagerModule(
      getContext(),
      viewManagers,
      new UIImplementationProvider(),
      false);
  UiThreadUtil.runOnUiThread(
      new Runnable() {
        @Override
        public void run() {
          uiManager.onHostResume();
        }
      });
  waitForIdleSync();

  mCatalystInstance = ReactTestHelper.catalystInstanceBuilder(this)
      .addNativeModule(uiManager)
      .addNativeModule(new AndroidInfoModule())
      .addNativeModule(new DeviceInfoModule(getContext()))
      .addNativeModule(new AppStateModule(getContext()))
      .addNativeModule(new FakeWebSocketModule())
      .addJSModule(ViewRenderingTestModule.class)
      .build();

  mRootView = new ReactRootView(getContext());
  mRootTag = uiManager.addMeasuredRootView(mRootView);
}
FlatUIImplementation.java 文件源码 项目:RNLearn_Project1 阅读 60 收藏 0 点赞 0 评论 0
public static FlatUIImplementation createInstance(
    ReactApplicationContext reactContext,
    List<ViewManager> viewManagers,
    EventDispatcher eventDispatcher,
    boolean memoryImprovementEnabled) {

  RCTImageViewManager rctImageViewManager = findRCTImageManager(viewManagers);
  if (rctImageViewManager != null) {
    Object callerContext = rctImageViewManager.getCallerContext();
    if (callerContext != null) {
      RCTImageView.setCallerContext(callerContext);
    }
  }
  DraweeRequestHelper.setResources(reactContext.getResources());

  TypefaceCache.setAssetManager(reactContext.getAssets());

  ViewManagerRegistry viewManagerRegistry = new ViewManagerRegistry(viewManagers);
  FlatNativeViewHierarchyManager nativeViewHierarchyManager = new FlatNativeViewHierarchyManager(
      viewManagerRegistry);
  FlatUIViewOperationQueue operationsQueue = new FlatUIViewOperationQueue(
      reactContext,
      nativeViewHierarchyManager);
  return new FlatUIImplementation(
    reactContext,
    rctImageViewManager,
    viewManagerRegistry,
    operationsQueue,
    eventDispatcher,
    memoryImprovementEnabled
  );
}
FlatUIImplementationProvider.java 文件源码 项目:RNLearn_Project1 阅读 31 收藏 0 点赞 0 评论 0
@Override
public FlatUIImplementation createUIImplementation(
    ReactApplicationContext reactContext,
    List<ViewManager> viewManagers,
    EventDispatcher eventDispatcher) {
  return FlatUIImplementation.createInstance(
    reactContext,
    viewManagers,
    eventDispatcher,
    mMemoryImprovementEnabled);
}
TextInputTest.java 文件源码 项目:RNLearn_Project1 阅读 33 收藏 0 点赞 0 评论 0
public UIManagerModule getUIManagerModule() {
  ReactApplicationContext reactContext = ReactTestHelper.createCatalystContextForTest();
  List<ViewManager> viewManagers = Arrays.asList(
      new ViewManager[] {
          new ReactTextInputManager(),
      });
  UIManagerModule uiManagerModule = new UIManagerModule(
      reactContext,
      viewManagers,
      new UIImplementationProvider(),
      false);
  uiManagerModule.onHostResume();
  return uiManagerModule;
}
ReactTextTest.java 文件源码 项目:RNLearn_Project1 阅读 39 收藏 0 点赞 0 评论 0
public UIManagerModule getUIManagerModule() {
  ReactApplicationContext reactContext = ReactTestHelper.createCatalystContextForTest();
  List<ViewManager> viewManagers = Arrays.asList(
      new ViewManager[] {
          new ReactTextViewManager(),
          new ReactRawTextManager(),
      });
  UIManagerModule uiManagerModule = new UIManagerModule(
      reactContext,
      viewManagers,
      new UIImplementationProvider(),
      false);
  uiManagerModule.onHostResume();
  return uiManagerModule;
}
ReactInstanceSpecForTest.java 文件源码 项目:RNLearn_Project1 阅读 31 收藏 0 点赞 0 评论 0
public List<ViewManager> getExtraViewManagers() {
  return mViewManagers;
}
ReactInstanceSpecForTest.java 文件源码 项目:RNLearn_Project1 阅读 29 收藏 0 点赞 0 评论 0
public List<ViewManager> getExtraViewManagers() {
  return mViewManagers;
}
CallerIDReactPackage.java 文件源码 项目:react-native-caller-id-android 阅读 29 收藏 0 点赞 0 评论 0
@Override
public List<ViewManager> createViewManagers(ReactApplicationContext reactContext) {
    return Collections.emptyList();
}


问题


面经


文章

微信
公众号

扫码关注公众号