summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--graphics/java/android/graphics/drawable/GradientDrawable.java9
1 files changed, 6 insertions, 3 deletions
diff --git a/graphics/java/android/graphics/drawable/GradientDrawable.java b/graphics/java/android/graphics/drawable/GradientDrawable.java
index f82acc3..b2d61ec 100644
--- a/graphics/java/android/graphics/drawable/GradientDrawable.java
+++ b/graphics/java/android/graphics/drawable/GradientDrawable.java
@@ -1153,6 +1153,10 @@ public class GradientDrawable extends Drawable {
// Extract the theme attributes, if any.
st.mAttrPadding = a.extractThemeAttrs();
+ if (st.mPadding == null) {
+ st.mPadding = new Rect();
+ }
+
final Rect pad = st.mPadding;
pad.set(a.getDimensionPixelOffset(R.styleable.GradientDrawablePadding_left, pad.left),
a.getDimensionPixelOffset(R.styleable.GradientDrawablePadding_top, pad.top),
@@ -1424,8 +1428,6 @@ public class GradientDrawable extends Drawable {
}
final static class GradientState extends ConstantState {
- public final Rect mPadding = new Rect();
-
public int mChangingConfigurations;
public int mShape = RECTANGLE;
public int mGradient = LINEAR_GRADIENT;
@@ -1442,6 +1444,7 @@ public class GradientDrawable extends Drawable {
public float mStrokeDashGap;
public float mRadius; // use this if mRadiusArray is null
public float[] mRadiusArray;
+ public Rect mPadding;
public int mWidth = -1;
public int mHeight = -1;
public float mInnerRadiusRatio = DEFAULT_INNER_RADIUS_RATIO;
@@ -1491,7 +1494,7 @@ public class GradientDrawable extends Drawable {
mRadiusArray = state.mRadiusArray.clone();
}
if (state.mPadding != null) {
- mPadding.set(state.mPadding);
+ mPadding = new Rect(state.mPadding);
}
mWidth = state.mWidth;
mHeight = state.mHeight;