mirror of
https://github.com/status-im/react-native.git
synced 2025-01-30 11:14:49 +00:00
Clearly mark java CSSNode as deprecated. It will go away very soon
Reviewed By: lucasr Differential Revision: D3992775 fbshipit-source-id: b3ceca277e5c7426eb51f8cbeacf5e2fe451c6ec
This commit is contained in:
parent
a13b373c94
commit
5c728a47b9
@ -12,7 +12,7 @@ package com.facebook.csslayout;
|
||||
import java.util.Arrays;
|
||||
|
||||
/**
|
||||
* Where the output of {@link LayoutEngine#layoutNode(CSSNode, float)} will go in the CSSNode.
|
||||
* Where the output of {@link LayoutEngine#layoutNode(CSSNodeDEPRECATED, float)} will go in the CSSNodeDEPRECATED.
|
||||
*/
|
||||
public class CSSLayout {
|
||||
// This value was chosen based on empiracle data. Even the most complicated
|
||||
|
@ -13,7 +13,7 @@ package com.facebook.csslayout;
|
||||
* A context for holding values local to a given instance of layout computation.
|
||||
*
|
||||
* This is necessary for making layout thread-safe. A separate instance should
|
||||
* be used when {@link CSSNode#calculateLayout} is called concurrently on
|
||||
* be used when {@link CSSNodeDEPRECATED#calculateLayout} is called concurrently on
|
||||
* different node hierarchies.
|
||||
*/
|
||||
public class CSSLayoutContext {
|
||||
|
@ -24,7 +24,7 @@ import static com.facebook.csslayout.CSSLayout.POSITION_TOP;
|
||||
* A CSS Node. It has a style object you can manipulate at {@link #style}. After calling
|
||||
* {@link #calculateLayout()}, {@link #layout} will be filled with the results of the layout.
|
||||
*/
|
||||
public class CSSNode implements CSSNodeAPI<CSSNode> {
|
||||
public class CSSNodeDEPRECATED implements CSSNodeAPI<CSSNodeDEPRECATED> {
|
||||
|
||||
private enum LayoutState {
|
||||
/**
|
||||
@ -52,10 +52,10 @@ public class CSSNode implements CSSNodeAPI<CSSNode> {
|
||||
|
||||
public int lineIndex = 0;
|
||||
|
||||
CSSNode nextChild;
|
||||
CSSNodeDEPRECATED nextChild;
|
||||
|
||||
private @Nullable ArrayList<CSSNode> mChildren;
|
||||
private @Nullable CSSNode mParent;
|
||||
private @Nullable ArrayList<CSSNodeDEPRECATED> mChildren;
|
||||
private @Nullable CSSNodeDEPRECATED mParent;
|
||||
private @Nullable MeasureFunction mMeasureFunction = null;
|
||||
private LayoutState mLayoutState = LayoutState.DIRTY;
|
||||
private boolean mIsTextNode = false;
|
||||
@ -72,13 +72,13 @@ public class CSSNode implements CSSNodeAPI<CSSNode> {
|
||||
}
|
||||
|
||||
@Override
|
||||
public CSSNode getChildAt(int i) {
|
||||
public CSSNodeDEPRECATED getChildAt(int i) {
|
||||
Assertions.assertNotNull(mChildren);
|
||||
return mChildren.get(i);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addChildAt(CSSNode child, int i) {
|
||||
public void addChildAt(CSSNodeDEPRECATED child, int i) {
|
||||
if (child.mParent != null) {
|
||||
throw new IllegalStateException("Child already has a parent, it must be removed first.");
|
||||
}
|
||||
@ -93,16 +93,17 @@ public class CSSNode implements CSSNodeAPI<CSSNode> {
|
||||
}
|
||||
|
||||
@Override
|
||||
public CSSNode removeChildAt(int i) {
|
||||
public CSSNodeDEPRECATED removeChildAt(int i) {
|
||||
Assertions.assertNotNull(mChildren);
|
||||
CSSNode removed = mChildren.remove(i);
|
||||
CSSNodeDEPRECATED removed = mChildren.remove(i);
|
||||
removed.mParent = null;
|
||||
dirty();
|
||||
return removed;
|
||||
}
|
||||
|
||||
@Override
|
||||
public @Nullable CSSNode getParent() {
|
||||
public @Nullable
|
||||
CSSNodeDEPRECATED getParent() {
|
||||
return mParent;
|
||||
}
|
||||
|
||||
@ -110,7 +111,7 @@ public class CSSNode implements CSSNodeAPI<CSSNode> {
|
||||
* @return the index of the given child, or -1 if the child doesn't exist in this node.
|
||||
*/
|
||||
@Override
|
||||
public int indexOf(CSSNode child) {
|
||||
public int indexOf(CSSNodeDEPRECATED child) {
|
||||
Assertions.assertNotNull(mChildren);
|
||||
return mChildren.indexOf(child);
|
||||
}
|
||||
@ -427,7 +428,6 @@ public class CSSNode implements CSSNodeAPI<CSSNode> {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Get this node's margin, as defined by style + default margin.
|
||||
*/
|
||||
@ -637,12 +637,12 @@ public class CSSNode implements CSSNodeAPI<CSSNode> {
|
||||
|
||||
/**
|
||||
* Resets this instance to its default state. This method is meant to be used when
|
||||
* recycling {@link CSSNode} instances.
|
||||
* recycling {@link CSSNodeDEPRECATED} instances.
|
||||
*/
|
||||
@Override
|
||||
public void reset() {
|
||||
if (mParent != null || (mChildren != null && mChildren.size() > 0)) {
|
||||
throw new IllegalStateException("You should not reset an attached CSSNode");
|
||||
throw new IllegalStateException("You should not reset an attached CSSNodeDEPRECATED");
|
||||
}
|
||||
|
||||
style.reset();
|
@ -12,7 +12,7 @@ package com.facebook.csslayout;
|
||||
import java.util.Arrays;
|
||||
|
||||
/**
|
||||
* The CSS style definition for a {@link CSSNode}.
|
||||
* The CSS style definition for a {@link CSSNodeDEPRECATED}.
|
||||
*/
|
||||
public class CSSStyle {
|
||||
|
||||
|
@ -19,7 +19,7 @@ import static com.facebook.csslayout.CSSLayout.POSITION_RIGHT;
|
||||
import static com.facebook.csslayout.CSSLayout.POSITION_TOP;
|
||||
|
||||
/**
|
||||
* Calculates layouts based on CSS style. See {@link #layoutNode(CSSNode, float, float)}.
|
||||
* Calculates layouts based on CSS style. See {@link #layoutNode(CSSNodeDEPRECATED, float, float)}.
|
||||
*/
|
||||
public class LayoutEngine {
|
||||
|
||||
@ -77,20 +77,20 @@ public class LayoutEngine {
|
||||
Spacing.END
|
||||
};
|
||||
|
||||
private static boolean isFlexBasisAuto(CSSNode node) {
|
||||
private static boolean isFlexBasisAuto(CSSNodeDEPRECATED node) {
|
||||
return CSSConstants.isUndefined(node.style.flexBasis);
|
||||
}
|
||||
|
||||
private static float getFlexGrowFactor(CSSNode node) {
|
||||
private static float getFlexGrowFactor(CSSNodeDEPRECATED node) {
|
||||
return node.style.flexGrow;
|
||||
}
|
||||
|
||||
private static float getFlexShrinkFactor(CSSNode node) {
|
||||
private static float getFlexShrinkFactor(CSSNodeDEPRECATED node) {
|
||||
return node.style.flexShrink;
|
||||
}
|
||||
|
||||
|
||||
private static float boundAxisWithinMinAndMax(CSSNode node, int axis, float value) {
|
||||
private static float boundAxisWithinMinAndMax(CSSNodeDEPRECATED node, int axis, float value) {
|
||||
float min = CSSConstants.UNDEFINED;
|
||||
float max = CSSConstants.UNDEFINED;
|
||||
|
||||
@ -116,7 +116,7 @@ public class LayoutEngine {
|
||||
return boundValue;
|
||||
}
|
||||
|
||||
private static float boundAxis(CSSNode node, int axis, float value) {
|
||||
private static float boundAxis(CSSNodeDEPRECATED node, int axis, float value) {
|
||||
float paddingAndBorderAxis =
|
||||
node.style.padding.getWithFallback(leadingSpacing[axis], leading[axis]) +
|
||||
node.style.border.getWithFallback(leadingSpacing[axis], leading[axis]) +
|
||||
@ -125,7 +125,7 @@ public class LayoutEngine {
|
||||
return Math.max(boundAxisWithinMinAndMax(node, axis, value), paddingAndBorderAxis);
|
||||
}
|
||||
|
||||
private static float getRelativePosition(CSSNode node, int axis) {
|
||||
private static float getRelativePosition(CSSNodeDEPRECATED node, int axis) {
|
||||
float lead = node.style.position.getWithFallback(leadingSpacing[axis], leading[axis]);
|
||||
if (!Float.isNaN(lead)) {
|
||||
return lead;
|
||||
@ -135,7 +135,7 @@ public class LayoutEngine {
|
||||
return Float.isNaN(trailingPos) ? 0 : -trailingPos;
|
||||
}
|
||||
|
||||
private static void setPosition(CSSNode node, CSSDirection direction) {
|
||||
private static void setPosition(CSSNodeDEPRECATED node, CSSDirection direction) {
|
||||
int mainAxis = resolveAxis(getFlexDirection(node), direction);
|
||||
int crossAxis = getCrossFlexDirection(mainAxis, direction);
|
||||
|
||||
@ -163,7 +163,7 @@ public class LayoutEngine {
|
||||
return axis;
|
||||
}
|
||||
|
||||
private static CSSDirection resolveDirection(CSSNode node, CSSDirection parentDirection) {
|
||||
private static CSSDirection resolveDirection(CSSNodeDEPRECATED node, CSSDirection parentDirection) {
|
||||
CSSDirection direction = node.style.direction;
|
||||
if (direction == CSSDirection.INHERIT) {
|
||||
direction = (parentDirection == null ? CSSDirection.LTR : parentDirection);
|
||||
@ -172,7 +172,7 @@ public class LayoutEngine {
|
||||
return direction;
|
||||
}
|
||||
|
||||
private static int getFlexDirection(CSSNode node) {
|
||||
private static int getFlexDirection(CSSNodeDEPRECATED node) {
|
||||
return node.style.flexDirection.ordinal();
|
||||
}
|
||||
|
||||
@ -187,20 +187,20 @@ public class LayoutEngine {
|
||||
}
|
||||
}
|
||||
|
||||
private static CSSAlign getAlignItem(CSSNode node, CSSNode child) {
|
||||
private static CSSAlign getAlignItem(CSSNodeDEPRECATED node, CSSNodeDEPRECATED child) {
|
||||
if (child.style.alignSelf != CSSAlign.AUTO) {
|
||||
return child.style.alignSelf;
|
||||
}
|
||||
return node.style.alignItems;
|
||||
}
|
||||
|
||||
private static boolean isMeasureDefined(CSSNode node) {
|
||||
private static boolean isMeasureDefined(CSSNodeDEPRECATED node) {
|
||||
return node.isMeasureDefined();
|
||||
}
|
||||
|
||||
/*package*/ static void layoutNode(
|
||||
CSSLayoutContext layoutContext,
|
||||
CSSNode node,
|
||||
CSSNodeDEPRECATED node,
|
||||
float availableWidth,
|
||||
float availableHeight,
|
||||
CSSDirection parentDirection) {
|
||||
@ -326,7 +326,7 @@ public class LayoutEngine {
|
||||
//
|
||||
private static boolean layoutNodeInternal(
|
||||
CSSLayoutContext layoutContext,
|
||||
CSSNode node,
|
||||
CSSNodeDEPRECATED node,
|
||||
float availableWidth,
|
||||
float availableHeight,
|
||||
CSSDirection parentDirection,
|
||||
@ -522,7 +522,7 @@ public class LayoutEngine {
|
||||
//
|
||||
private static void layoutNodeImpl(
|
||||
CSSLayoutContext layoutContext,
|
||||
CSSNode node,
|
||||
CSSNodeDEPRECATED node,
|
||||
float availableWidth,
|
||||
float availableHeight,
|
||||
CSSDirection parentDirection,
|
||||
@ -636,8 +636,8 @@ public class LayoutEngine {
|
||||
CSSJustify justifyContent = node.style.justifyContent;
|
||||
boolean isNodeFlexWrap = (node.style.flexWrap == CSSWrap.WRAP);
|
||||
|
||||
CSSNode firstAbsoluteChild = null;
|
||||
CSSNode currentAbsoluteChild = null;
|
||||
CSSNodeDEPRECATED firstAbsoluteChild = null;
|
||||
CSSNodeDEPRECATED currentAbsoluteChild = null;
|
||||
|
||||
float leadingPaddingAndBorderMain = (node.style.padding.getWithFallback(leadingSpacing[mainAxis], leading[mainAxis]) + node.style.border.getWithFallback(leadingSpacing[mainAxis], leading[mainAxis]));
|
||||
float trailingPaddingAndBorderMain = (node.style.padding.getWithFallback(trailingSpacing[mainAxis], trailing[mainAxis]) + node.style.border.getWithFallback(trailingSpacing[mainAxis], trailing[mainAxis]));
|
||||
@ -655,7 +655,7 @@ public class LayoutEngine {
|
||||
float availableInnerCrossDim = isMainAxisRow ? availableInnerHeight : availableInnerWidth;
|
||||
|
||||
// STEP 3: DETERMINE FLEX BASIS FOR EACH ITEM
|
||||
CSSNode child;
|
||||
CSSNodeDEPRECATED child;
|
||||
int i;
|
||||
float childWidth;
|
||||
float childHeight;
|
||||
@ -791,8 +791,8 @@ public class LayoutEngine {
|
||||
i = startOfLineIndex;
|
||||
|
||||
// Maintain a linked list of the child nodes that can shrink and/or grow.
|
||||
CSSNode firstRelativeChild = null;
|
||||
CSSNode currentRelativeChild = null;
|
||||
CSSNodeDEPRECATED firstRelativeChild = null;
|
||||
CSSNodeDEPRECATED currentRelativeChild = null;
|
||||
|
||||
// Add items to the current line until it's full or we run out of items.
|
||||
while (i < childCount) {
|
||||
|
@ -14,16 +14,16 @@ import javax.annotation.Nullable;
|
||||
import java.util.ArrayList;
|
||||
|
||||
import com.facebook.csslayout.CSSConstants;
|
||||
import com.facebook.csslayout.CSSNode;
|
||||
import com.facebook.csslayout.CSSNodeDEPRECATED;
|
||||
import com.facebook.csslayout.Spacing;
|
||||
import com.facebook.infer.annotation.Assertions;
|
||||
import com.facebook.react.uimanager.annotations.ReactPropertyHolder;
|
||||
|
||||
/**
|
||||
* Base node class for representing virtual tree of React nodes. Shadow nodes are used primarily
|
||||
* for layouting therefore it extends {@link CSSNode} to allow that. They also help with handling
|
||||
* Common base subclass of {@link CSSNode} for all layout nodes for react-based view. It extends
|
||||
* {@link CSSNode} by adding additional capabilities.
|
||||
* for layouting therefore it extends {@link CSSNodeDEPRECATED} to allow that. They also help with handling
|
||||
* Common base subclass of {@link CSSNodeDEPRECATED} for all layout nodes for react-based view. It extends
|
||||
* {@link CSSNodeDEPRECATED} by adding additional capabilities.
|
||||
*
|
||||
* Instances of this class receive property updates from JS via @{link UIManagerModule}. Subclasses
|
||||
* may use {@link #updateShadowNode} to persist some of the updated fields in the node instance that
|
||||
@ -43,7 +43,7 @@ import com.facebook.react.uimanager.annotations.ReactPropertyHolder;
|
||||
* information.
|
||||
*/
|
||||
@ReactPropertyHolder
|
||||
public class ReactShadowNode extends CSSNode {
|
||||
public class ReactShadowNode extends CSSNodeDEPRECATED {
|
||||
|
||||
private int mReactTag;
|
||||
private @Nullable String mViewClassName;
|
||||
@ -163,7 +163,7 @@ public class ReactShadowNode extends CSSNode {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addChildAt(CSSNode child, int i) {
|
||||
public void addChildAt(CSSNodeDEPRECATED child, int i) {
|
||||
super.addChildAt(child, i);
|
||||
markUpdated();
|
||||
ReactShadowNode node = (ReactShadowNode) child;
|
||||
|
@ -321,7 +321,7 @@ public class UIImplementation {
|
||||
Arrays.sort(viewsToAdd, ViewAtIndex.COMPARATOR);
|
||||
Arrays.sort(indicesToRemove);
|
||||
|
||||
// Apply changes to CSSNode hierarchy
|
||||
// Apply changes to CSSNodeDEPRECATED hierarchy
|
||||
int lastIndexRemoved = -1;
|
||||
for (int i = indicesToRemove.length - 1; i >= 0; i--) {
|
||||
int indexToRemove = indicesToRemove[i];
|
||||
|
@ -56,7 +56,7 @@ import static com.facebook.react.bridge.ReactMarkerConstants.CREATE_UI_MANAGER_M
|
||||
* <p>
|
||||
* <h2>== CSSNodes ==</h2>
|
||||
* In order to allow layout and measurement to occur on a non-UI thread, this module also
|
||||
* operates on intermediate CSSNode objects that correspond to a native view. These CSSNode are able
|
||||
* operates on intermediate CSSNodeDEPRECATED objects that correspond to a native view. These CSSNodeDEPRECATED are able
|
||||
* to calculate layout according to their styling rules, and then the resulting x/y/width/height of
|
||||
* that layout is scheduled as an operation that will be applied to native view hierarchy at the end
|
||||
* of current batch.
|
||||
|
@ -95,7 +95,7 @@ public class UIViewOperationQueue {
|
||||
/**
|
||||
* Operation for updating native view's position and size. The operation is not created directly
|
||||
* by a {@link UIManagerModule} call from JS. Instead it gets inflated using computed position
|
||||
* and size values by CSSNode hierarchy.
|
||||
* and size values by CSSNodeDEPRECATED hierarchy.
|
||||
*/
|
||||
private final class UpdateLayoutOperation extends ViewOperation {
|
||||
|
||||
|
@ -25,7 +25,7 @@ import com.facebook.react.uimanager.annotations.ReactPropertyHolder;
|
||||
|
||||
/**
|
||||
* Class responsible for knowing how to create and update catalyst Views of a given type. It is also
|
||||
* responsible for creating and updating CSSNode subclasses used for calculating position and size
|
||||
* responsible for creating and updating CSSNodeDEPRECATED subclasses used for calculating position and size
|
||||
* for the corresponding native view.
|
||||
*/
|
||||
@ReactPropertyHolder
|
||||
|
@ -11,7 +11,7 @@ package com.facebook.react.views.modal;
|
||||
|
||||
import android.graphics.Point;
|
||||
|
||||
import com.facebook.csslayout.CSSNode;
|
||||
import com.facebook.csslayout.CSSNodeDEPRECATED;
|
||||
import com.facebook.react.uimanager.LayoutShadowNode;
|
||||
|
||||
/**
|
||||
@ -29,7 +29,7 @@ class ModalHostShadowNode extends LayoutShadowNode {
|
||||
* within the <RCTModalHostView/> in Modal.js. This needs to fill the entire window.
|
||||
*/
|
||||
@Override
|
||||
public void addChildAt(CSSNode child, int i) {
|
||||
public void addChildAt(CSSNodeDEPRECATED child, int i) {
|
||||
super.addChildAt(child, i);
|
||||
Point modalSize = ModalHostHelper.getModalHostSize(getThemedContext());
|
||||
child.setStyleWidth(modalSize.x);
|
||||
|
@ -9,10 +9,11 @@
|
||||
|
||||
package com.facebook.react.views.text;
|
||||
|
||||
import com.facebook.csslayout.CSSNodeDEPRECATED;
|
||||
import com.facebook.react.uimanager.LayoutShadowNode;
|
||||
|
||||
/**
|
||||
* Base class for {@link com.facebook.csslayout.CSSNode}s that represent inline images.
|
||||
* Base class for {@link CSSNodeDEPRECATED}s that represent inline images.
|
||||
*/
|
||||
public abstract class ReactTextInlineImageShadowNode extends LayoutShadowNode {
|
||||
|
||||
|
@ -33,7 +33,7 @@ import android.widget.TextView;
|
||||
import com.facebook.csslayout.CSSDirection;
|
||||
import com.facebook.csslayout.CSSConstants;
|
||||
import com.facebook.csslayout.CSSMeasureMode;
|
||||
import com.facebook.csslayout.CSSNode;
|
||||
import com.facebook.csslayout.CSSNodeDEPRECATED;
|
||||
import com.facebook.csslayout.CSSNodeAPI;
|
||||
import com.facebook.csslayout.MeasureOutput;
|
||||
import com.facebook.infer.annotation.Assertions;
|
||||
@ -59,7 +59,7 @@ import com.facebook.react.uimanager.annotations.ReactProp;
|
||||
* in a corresponding {@link ReactTextShadowNode}. Resulting {@link Spannable} object is then then
|
||||
* passed as "computedDataFromMeasure" down to shadow and native view.
|
||||
* <p/>
|
||||
* TODO(7255858): Rename *CSSNode to *ShadowView (or sth similar) as it's no longer is used solely
|
||||
* TODO(7255858): Rename *CSSNodeDEPRECATED to *ShadowView (or sth similar) as it's no longer is used solely
|
||||
* for layouting
|
||||
*/
|
||||
public class ReactTextShadowNode extends LayoutShadowNode {
|
||||
@ -112,7 +112,7 @@ public class ReactTextShadowNode extends LayoutShadowNode {
|
||||
sb.append(textCSSNode.mText);
|
||||
}
|
||||
for (int i = 0, length = textCSSNode.getChildCount(); i < length; i++) {
|
||||
CSSNode child = textCSSNode.getChildAt(i);
|
||||
CSSNodeDEPRECATED child = textCSSNode.getChildAt(i);
|
||||
if (child instanceof ReactTextShadowNode) {
|
||||
buildSpannedFromTextCSSNode((ReactTextShadowNode) child, sb, ops);
|
||||
} else if (child instanceof ReactTextInlineImageShadowNode) {
|
||||
|
@ -18,16 +18,15 @@ import android.content.res.Resources;
|
||||
import android.net.Uri;
|
||||
|
||||
import com.facebook.common.util.UriUtil;
|
||||
import com.facebook.csslayout.CSSNode;
|
||||
import com.facebook.csslayout.CSSNodeDEPRECATED;
|
||||
import com.facebook.drawee.controller.AbstractDraweeControllerBuilder;
|
||||
import com.facebook.react.bridge.ReadableArray;
|
||||
import com.facebook.react.uimanager.annotations.ReactProp;
|
||||
import com.facebook.react.views.text.ReactTextInlineImageShadowNode;
|
||||
import com.facebook.react.views.text.TextInlineImageSpan;
|
||||
import com.facebook.react.views.text.frescosupport.FrescoBasedReactTextInlineImageSpan;
|
||||
|
||||
/**
|
||||
* {@link CSSNode} that represents an inline image. Loading is done using Fresco.
|
||||
* {@link CSSNodeDEPRECATED} that represents an inline image. Loading is done using Fresco.
|
||||
*
|
||||
*/
|
||||
public class FrescoBasedReactTextInlineImageShadowNode extends ReactTextInlineImageShadowNode {
|
||||
|
Loading…
x
Reference in New Issue
Block a user