Add jni bindings

Reviewed By: lucasr

Differential Revision: D3648793

fbshipit-source-id: d0e696e196fa7c63109c9117a65645ca3d6c9c00
This commit is contained in:
Emil Sjolander
2016-08-04 08:28:53 -07:00
committed by Facebook Github Bot 2
parent 223bcd74ad
commit 5fd6c0903e
12 changed files with 933 additions and 49 deletions
@@ -94,7 +94,7 @@ public class ReactShadowNode extends CSSNode {
}
}
protected void markUpdated() {
public void markUpdated() {
if (mNodeUpdated) {
return;
}
@@ -110,7 +110,7 @@ public class ReactShadowNode extends CSSNode {
}
@Override
protected void dirty() {
public void dirty() {
if (!isVirtual()) {
super.dirty();
}
@@ -12,7 +12,7 @@ package com.facebook.react.views.art;
import android.graphics.Bitmap;
import com.facebook.csslayout.CSSMeasureMode;
import com.facebook.csslayout.CSSNode;
import com.facebook.csslayout.CSSNodeAPI;
import com.facebook.csslayout.MeasureOutput;
import com.facebook.react.uimanager.BaseViewManager;
import com.facebook.react.uimanager.ThemedReactContext;
@@ -26,10 +26,10 @@ public class ARTSurfaceViewManager extends
private static final String REACT_CLASS = "ARTSurfaceView";
private static final CSSNode.MeasureFunction MEASURE_FUNCTION = new CSSNode.MeasureFunction() {
private static final CSSNodeAPI.MeasureFunction MEASURE_FUNCTION = new CSSNodeAPI.MeasureFunction() {
@Override
public void measure(
CSSNode node,
CSSNodeAPI node,
float width,
CSSMeasureMode widthMode,
float height,
@@ -20,7 +20,7 @@ import android.view.ViewGroup;
import android.widget.ProgressBar;
import com.facebook.csslayout.CSSMeasureMode;
import com.facebook.csslayout.CSSNode;
import com.facebook.csslayout.CSSNodeAPI;
import com.facebook.csslayout.MeasureOutput;
import com.facebook.react.uimanager.LayoutShadowNode;
import com.facebook.react.uimanager.annotations.ReactProp;
@@ -30,7 +30,7 @@ import com.facebook.react.uimanager.annotations.ReactProp;
* {@link android.R.attr.progressBarStyle} for possible styles. ReactProgressBarViewManager
* manages how this style is applied to the ProgressBar.
*/
public class ProgressBarShadowNode extends LayoutShadowNode implements CSSNode.MeasureFunction {
public class ProgressBarShadowNode extends LayoutShadowNode implements CSSNodeAPI.MeasureFunction {
private String mStyle = ReactProgressBarViewManager.DEFAULT_STYLE;
@@ -53,7 +53,7 @@ public class ProgressBarShadowNode extends LayoutShadowNode implements CSSNode.M
@Override
public void measure(
CSSNode node,
CSSNodeAPI node,
float width,
CSSMeasureMode widthMode,
float height,
@@ -16,7 +16,7 @@ import android.view.ViewGroup;
import android.widget.SeekBar;
import com.facebook.csslayout.CSSMeasureMode;
import com.facebook.csslayout.CSSNode;
import com.facebook.csslayout.CSSNodeAPI;
import com.facebook.csslayout.MeasureOutput;
import com.facebook.react.bridge.ReactContext;
import com.facebook.react.common.MapBuilder;
@@ -39,7 +39,7 @@ public class ReactSliderManager extends SimpleViewManager<ReactSlider> {
private static final String REACT_CLASS = "RCTSlider";
static class ReactSliderShadowNode extends LayoutShadowNode implements
CSSNode.MeasureFunction {
CSSNodeAPI.MeasureFunction {
private int mWidth;
private int mHeight;
@@ -51,7 +51,7 @@ public class ReactSliderManager extends SimpleViewManager<ReactSlider> {
@Override
public void measure(
CSSNode node,
CSSNodeAPI node,
float width,
CSSMeasureMode widthMode,
float height,
@@ -15,7 +15,7 @@ import android.view.ViewGroup;
import android.widget.CompoundButton;
import com.facebook.csslayout.CSSMeasureMode;
import com.facebook.csslayout.CSSNode;
import com.facebook.csslayout.CSSNodeAPI;
import com.facebook.csslayout.MeasureOutput;
import com.facebook.react.bridge.ReactContext;
import com.facebook.react.uimanager.LayoutShadowNode;
@@ -33,7 +33,7 @@ public class ReactSwitchManager extends SimpleViewManager<ReactSwitch> {
private static final String REACT_CLASS = "AndroidSwitch";
static class ReactSwitchShadowNode extends LayoutShadowNode implements
CSSNode.MeasureFunction {
CSSNodeAPI.MeasureFunction {
private int mWidth;
private int mHeight;
@@ -45,7 +45,7 @@ public class ReactSwitchManager extends SimpleViewManager<ReactSwitch> {
@Override
public void measure(
CSSNode node,
CSSNodeAPI node,
float width,
CSSMeasureMode widthMode,
float height,
@@ -34,6 +34,7 @@ import com.facebook.csslayout.CSSDirection;
import com.facebook.csslayout.CSSConstants;
import com.facebook.csslayout.CSSMeasureMode;
import com.facebook.csslayout.CSSNode;
import com.facebook.csslayout.CSSNodeAPI;
import com.facebook.csslayout.MeasureOutput;
import com.facebook.infer.annotation.Assertions;
import com.facebook.react.bridge.JSApplicationIllegalArgumentException;
@@ -210,11 +211,11 @@ public class ReactTextShadowNode extends LayoutShadowNode {
return sb;
}
private static final CSSNode.MeasureFunction TEXT_MEASURE_FUNCTION =
new CSSNode.MeasureFunction() {
private static final CSSNodeAPI.MeasureFunction TEXT_MEASURE_FUNCTION =
new CSSNodeAPI.MeasureFunction() {
@Override
public void measure(
CSSNode node,
CSSNodeAPI node,
float width,
CSSMeasureMode widthMode,
float height,
@@ -391,7 +392,7 @@ public class ReactTextShadowNode extends LayoutShadowNode {
}
@Override
protected void markUpdated() {
public void markUpdated() {
super.markUpdated();
// We mark virtual anchor node as dirty as updated text needs to be re-measured
if (!mIsVirtual) {
@@ -17,7 +17,7 @@ import android.view.ViewGroup;
import android.widget.EditText;
import com.facebook.csslayout.CSSMeasureMode;
import com.facebook.csslayout.CSSNode;
import com.facebook.csslayout.CSSNodeAPI;
import com.facebook.csslayout.MeasureOutput;
import com.facebook.csslayout.Spacing;
import com.facebook.infer.annotation.Assertions;
@@ -33,7 +33,7 @@ import com.facebook.react.views.text.ReactTextUpdate;
@VisibleForTesting
public class ReactTextInputShadowNode extends ReactTextShadowNode implements
CSSNode.MeasureFunction {
CSSNodeAPI.MeasureFunction {
private @Nullable EditText mEditText;
private @Nullable float[] mComputedPadding;
@@ -66,7 +66,7 @@ public class ReactTextInputShadowNode extends ReactTextShadowNode implements
@Override
public void measure(
CSSNode node,
CSSNodeAPI node,
float width,
CSSMeasureMode widthMode,
float height,