ShadowNodeHierarchyManager should be supplied externally to UIManagerModule

Summary: public UIManagerModule should not be creating UIImplementation. Instead, UIImplementation instance should be supplied to it to allow plugging in different implementations. No functional changes.

Reviewed By: astreet

Differential Revision: D2464632

fb-gh-sync-id: e7372977c93ceb7ef5e8658e5ee7e8e87f52d851
This commit is contained in:
Denis Koroskin
2015-11-28 11:00:43 -08:00
committed by facebook-github-bot-5
parent 599a130c9a
commit fd0d987768
3 changed files with 25 additions and 10 deletions

View File

@@ -11,6 +11,7 @@ package com.facebook.react.uimanager;
import javax.annotation.Nullable;
import java.util.Arrays;
import java.util.List;
import com.facebook.csslayout.CSSLayoutContext;
import com.facebook.infer.annotation.Assertions;
@@ -39,11 +40,11 @@ public class UIImplementation {
private final NativeViewHierarchyOptimizer mNativeViewHierarchyOptimizer;
private final int[] mMeasureBuffer = new int[4];
public UIImplementation(ReactApplicationContext reactContext, ViewManagerRegistry viewManagers) {
public UIImplementation(ReactApplicationContext reactContext, List<ViewManager> viewManagers) {
mViewManagers = new ViewManagerRegistry(viewManagers);
mOperationsQueue = new UIViewOperationQueue(
reactContext,
new NativeViewHierarchyManager(viewManagers));
mViewManagers = viewManagers;
new NativeViewHierarchyManager(mViewManagers));
mNativeViewHierarchyOptimizer = new NativeViewHierarchyOptimizer(
mOperationsQueue,
mShadowNodeRegistry);