From 364bf189e8bdbd003d719778e7eec8d4ffe650e9 Mon Sep 17 00:00:00 2001 From: Nader Jawad Date: Wed, 29 May 2019 18:53:11 -0700 Subject: [PATCH] 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 --- graphics/java/android/graphics/drawable/GradientDrawable.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/graphics/java/android/graphics/drawable/GradientDrawable.java b/graphics/java/android/graphics/drawable/GradientDrawable.java index 32f2fc22acadd..b9945cc735d8c 100644 --- a/graphics/java/android/graphics/drawable/GradientDrawable.java +++ b/graphics/java/android/graphics/drawable/GradientDrawable.java @@ -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) {