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; package com.BV.LinearGradient;
import android.view.View;
import android.widget.FrameLayout;
import com.facebook.react.bridge.ReadableArray; 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.ReactProp;
import com.facebook.react.uimanager.SimpleViewManager; import com.facebook.react.uimanager.SimpleViewManager;
import com.facebook.react.uimanager.ThemedReactContext; import com.facebook.react.uimanager.ThemedReactContext;
import com.facebook.react.bridge.WritableArray;
import com.facebook.react.bridge.WritableMap; import android.view.View;
import com.facebook.react.bridge.WritableNativeArray;
import com.facebook.react.bridge.WritableNativeMap;
public class LinearGradientManager extends SimpleViewManager<LinearGradientView> { public class LinearGradientManager extends SimpleViewManager<LinearGradientView> {

View File

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