do not suppress prop errors on Android

This commit is contained in:
Dmitry Gladkov 2016-01-19 12:16:15 +02:00
parent c41e14aa47
commit d5961d4cdf
2 changed files with 26 additions and 50 deletions

View File

@ -1,18 +1,11 @@
package com.BV.LinearGradient;
import android.view.View;
import android.widget.FrameLayout;
import com.facebook.react.bridge.ReadableArray;
import com.facebook.react.uimanager.BaseViewPropertyApplicator;
import com.facebook.react.uimanager.CatalystStylesDiffMap;
import com.facebook.react.uimanager.ReactProp;
import com.facebook.react.uimanager.SimpleViewManager;
import com.facebook.react.uimanager.ThemedReactContext;
import com.facebook.react.bridge.WritableArray;
import com.facebook.react.bridge.WritableMap;
import com.facebook.react.bridge.WritableNativeArray;
import com.facebook.react.bridge.WritableNativeMap;
import android.view.View;
public class LinearGradientManager extends SimpleViewManager<LinearGradientView> {
@ -33,22 +26,22 @@ public class LinearGradientManager extends SimpleViewManager<LinearGradientView>
}
@ReactProp(name=PROP_COLORS)
public void setColors(LinearGradientView gradientView, ReadableArray colors){
public void setColors(LinearGradientView gradientView, ReadableArray colors) {
gradientView.setColors(colors);
}
@ReactProp(name=PROP_LOCATIONS)
public void setLocations(LinearGradientView gradientView, ReadableArray locations){
public void setLocations(LinearGradientView gradientView, ReadableArray locations) {
gradientView.setLocations(locations);
}
@ReactProp(name=PROP_START_POS)
public void setStartPosition(LinearGradientView gradientView, ReadableArray startPos){
public void setStartPosition(LinearGradientView gradientView, ReadableArray startPos) {
gradientView.setStartPosition(startPos);
}
@ReactProp(name=PROP_END_POS)
public void setEndPosition(LinearGradientView gradientView, ReadableArray endPos){
public void setEndPosition(LinearGradientView gradientView, ReadableArray endPos) {
gradientView.setEndPosition(endPos);
}
}

View File

@ -1,17 +1,14 @@
package com.BV.LinearGradient;
import com.facebook.react.bridge.ReadableArray;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.LinearGradient;
import android.graphics.Paint;
import android.graphics.Shader;
import android.util.Log;
import android.view.View;
import com.facebook.react.bridge.ReadableArray;
import com.facebook.react.uimanager.CatalystStylesDiffMap;
public class LinearGradientView extends View {
private Paint mPaint = new Paint();
@ -27,31 +24,16 @@ public class LinearGradientView extends View {
}
public void setStartPosition(ReadableArray startPos) {
float[] _startPos;
try {
assert startPos != null;
_startPos= new float[]{(float) startPos.getDouble(0), (float) startPos.getDouble(1)};
} catch (Exception e) {
_startPos = new float[]{0, 0};
}
mStartPos = _startPos;
drawGradient();
mStartPos = new float[]{(float) startPos.getDouble(0), (float) startPos.getDouble(1)};
drawGradient();
}
public void setEndPosition(ReadableArray endPos) {
float[] _endPos;
try {
assert endPos != null;
_endPos= new float[]{(float) endPos.getDouble(0), (float) endPos.getDouble(1)};
} catch (Exception e) {
_endPos = new float[]{0, 0};
}
mEndPos = _endPos;
drawGradient();
mEndPos = new float[]{(float) endPos.getDouble(0), (float) endPos.getDouble(1)};
drawGradient();
}
public void setColors(ReadableArray colors){
public void setColors(ReadableArray colors) {
int[] _colors = new int[colors.size()];
for (int i=0; i < _colors.length; i++)
{
@ -61,17 +43,11 @@ public class LinearGradientView extends View {
drawGradient();
}
public void setLocations(ReadableArray locations){
float[] _locations;
try {
assert locations != null;
_locations = new float[locations.size()];
for (int i=0; i < _locations.length; i++)
{
_locations[i] = (float) locations.getDouble(i);
}
} catch (Exception e) {
_locations = null;
public void setLocations(ReadableArray locations) {
float[] _locations = new float[locations.size()];
for (int i=0; i < _locations.length; i++)
{
_locations[i] = (float) locations.getDouble(i);
}
mLocations = _locations;
drawGradient();
@ -84,7 +60,14 @@ public class LinearGradientView extends View {
}
private void drawGradient() {
mShader = new LinearGradient(mStartPos[0] * mSize[0], mStartPos[1] * mSize[1], mEndPos[0] * mSize[0], mEndPos[1] * mSize[1], mColors, mLocations, Shader.TileMode.MIRROR);
mShader = new LinearGradient(
mStartPos[0] * mSize[0],
mStartPos[1] * mSize[1],
mEndPos[0] * mSize[0],
mEndPos[1] * mSize[1],
mColors,
mLocations,
Shader.TileMode.MIRROR);
mPaint.setShader(mShader);
invalidate();
}