diff options
author | Alan Viverette <alanv@google.com> | 2014-07-29 17:22:30 -0700 |
---|---|---|
committer | Alan Viverette <alanv@google.com> | 2014-07-30 00:28:08 +0000 |
commit | 8bb399069da4e46b231333cff6880a0cf35b9417 (patch) | |
tree | 83ed48124cfb034062a87fd3b11ea60829abe368 /graphics/java | |
parent | 8ef360f34893771ee22a8ec7a1dc9c9aedc4b38c (diff) | |
download | frameworks_base-8bb399069da4e46b231333cff6880a0cf35b9417.zip frameworks_base-8bb399069da4e46b231333cff6880a0cf35b9417.tar.gz frameworks_base-8bb399069da4e46b231333cff6880a0cf35b9417.tar.bz2 |
Update switch assets, fix SearchView asset 9-patch areas
BUG: 16606037
BUG: 16467249
Change-Id: Iabdf1634f4d8f87031ab3e5579140cdd428173de
Diffstat (limited to 'graphics/java')
-rw-r--r-- | graphics/java/android/graphics/drawable/NinePatchDrawable.java | 25 |
1 files changed, 22 insertions, 3 deletions
diff --git a/graphics/java/android/graphics/drawable/NinePatchDrawable.java b/graphics/java/android/graphics/drawable/NinePatchDrawable.java index 241ec65..6afce41 100644 --- a/graphics/java/android/graphics/drawable/NinePatchDrawable.java +++ b/graphics/java/android/graphics/drawable/NinePatchDrawable.java @@ -245,9 +245,8 @@ public class NinePatchDrawable extends Drawable { final int restoreAlpha; if (mNinePatchState.mBaseAlpha != 1.0f) { - final Paint p = getPaint(); - restoreAlpha = p.getAlpha(); - p.setAlpha((int) (restoreAlpha * mNinePatchState.mBaseAlpha + 0.5f)); + restoreAlpha = mPaint.getAlpha(); + mPaint.setAlpha((int) (restoreAlpha * mNinePatchState.mBaseAlpha + 0.5f)); } else { restoreAlpha = -1; } @@ -445,6 +444,16 @@ public class NinePatchDrawable extends Drawable { // Hey, now might be a good time to actually load optical bounds! bitmap.getOpticalInsets(opticalInsets); + // Sanity check for valid padding when we have optical insets. + if (padding.left < opticalInsets.left) { + padding.left = opticalInsets.left; + padding.right = opticalInsets.right; + } + if (padding.top < opticalInsets.top) { + padding.top = opticalInsets.top; + padding.bottom = opticalInsets.bottom; + } + state.mNinePatch = new NinePatch(bitmap, bitmap.getNinePatchChunk()); state.mPadding = padding; state.mOpticalInsets = Insets.of(opticalInsets); @@ -611,6 +620,16 @@ public class NinePatchDrawable extends Drawable { mOpticalInsets = Insets.of(opticalInsets); mDither = dither; mAutoMirrored = autoMirror; + + // Sanity check for valid padding when we have optical insets. + if (mPadding.left < mOpticalInsets.left) { + mPadding.left = mOpticalInsets.left; + mPadding.right = mOpticalInsets.right; + } + if (mPadding.top < mOpticalInsets.top) { + mPadding.top = mOpticalInsets.top; + mPadding.bottom = mOpticalInsets.bottom; + } } // Copy constructor |