Fixed issue where negative angles were not parsed properly

Added logic to wrap negative angle measures provided
for linear gradients to be between 0 and 360

Test: Added cts test to GradientDrawableTest
Bug: 132650579
Change-Id: Iefde8bfc4b043dbe9dc57247f48077587fb03f6e
This commit is contained in:
Nader Jawad
2019-05-29 18:53:11 -07:00
parent 0c1f41d303
commit 364bf189e8

View File

@@ -1757,7 +1757,7 @@ public class GradientDrawable extends Drawable {
}
int angle = (int) a.getFloat(R.styleable.GradientDrawableGradient_angle, st.mAngle);
st.mAngle = angle % 360;
st.mAngle = ((angle % 360) + 360) % 360; // offset negative angle measures
final TypedValue tv = a.peekValue(R.styleable.GradientDrawableGradient_gradientRadius);
if (tv != null) {