Split StateBuilder.ensureBackingViewIsCreated into 2 different methods
Summary: There are 2 reasons why someone would call StateBuilder.ensureBackingViewIsCreated(): 1) to make sure a View is created, because we are going to use it NOW 2) make sure react styles are applied to View, which doesn't really need the View to be created immediately This diff is splitting the method into 2, without changing behavior. Difference between the methods' signatures is coming from the fact that 1) never takes styles and 2) possibly takes styles. This is a pure refactoring diff and should have no change in functionality or behavior. Reviewed By: ahmedre Differential Revision: D2916697
This commit is contained in:
parent
44b6200392
commit
bb04967986
|
@ -132,7 +132,7 @@ public class FlatUIImplementation extends UIImplementation {
|
|||
}
|
||||
|
||||
if (node.mountsToView()) {
|
||||
mStateBuilder.ensureBackingViewIsCreated(node, styles);
|
||||
mStateBuilder.enqueueCreateOrUpdateView(node, styles);
|
||||
}
|
||||
} else {
|
||||
super.handleCreateView(cssNode, rootViewTag, styles);
|
||||
|
@ -150,7 +150,7 @@ public class FlatUIImplementation extends UIImplementation {
|
|||
node.handleUpdateProperties(styles);
|
||||
|
||||
if (node.mountsToView()) {
|
||||
mStateBuilder.ensureBackingViewIsCreated(node, styles);
|
||||
mStateBuilder.enqueueCreateOrUpdateView(node, styles);
|
||||
}
|
||||
} else {
|
||||
super.handleUpdateView(cssNode, className, styles);
|
||||
|
@ -426,7 +426,7 @@ public class FlatUIImplementation extends UIImplementation {
|
|||
|
||||
FlatShadowNode nonVirtualNode = (FlatShadowNode) node;
|
||||
nonVirtualNode.forceMountToView();
|
||||
mStateBuilder.ensureBackingViewIsCreated(nonVirtualNode, null);
|
||||
mStateBuilder.ensureBackingViewIsCreated(nonVirtualNode);
|
||||
|
||||
FlatUIViewOperationQueue operationsQueue = mStateBuilder.getOperationsQueue();
|
||||
operationsQueue.enqueueSetJSResponder(
|
||||
|
|
|
@ -121,7 +121,7 @@ import com.facebook.react.uimanager.events.EventDispatcher;
|
|||
mAttachDetachListeners.add(listener);
|
||||
}
|
||||
|
||||
/* package */ void ensureBackingViewIsCreated(
|
||||
/* package */ void enqueueCreateOrUpdateView(
|
||||
FlatShadowNode node,
|
||||
@Nullable ReactStylesDiffMap styles) {
|
||||
if (node.isBackingViewCreated()) {
|
||||
|
@ -138,6 +138,17 @@ import com.facebook.react.uimanager.events.EventDispatcher;
|
|||
node.signalBackingViewIsCreated();
|
||||
}
|
||||
|
||||
/* package */ void ensureBackingViewIsCreated(FlatShadowNode node) {
|
||||
if (node.isBackingViewCreated()) {
|
||||
return;
|
||||
}
|
||||
|
||||
int tag = node.getReactTag();
|
||||
mOperationsQueue.enqueueCreateView(node.getThemedContext(), tag, node.getViewClass(), null);
|
||||
|
||||
node.signalBackingViewIsCreated();
|
||||
}
|
||||
|
||||
/* package */ void dropView(FlatShadowNode node) {
|
||||
mViewsToDrop.add(node);
|
||||
}
|
||||
|
@ -445,7 +456,7 @@ import com.facebook.react.uimanager.events.EventDispatcher;
|
|||
float bottom = top + height;
|
||||
|
||||
if (node.mountsToView()) {
|
||||
ensureBackingViewIsCreated(node, null);
|
||||
ensureBackingViewIsCreated(node);
|
||||
|
||||
addNativeChild(node);
|
||||
if (!parentIsAndroidView) {
|
||||
|
|
Loading…
Reference in New Issue