diff options
author | Philip Milne <pmilne@google.com> | 2012-04-18 15:09:05 -0700 |
---|---|---|
committer | Philip Milne <pmilne@google.com> | 2012-04-18 16:06:27 -0700 |
commit | bbd51f1e360b22eece1d74bd65c7e6a0b59dee59 (patch) | |
tree | 3919c1cfffc46790c5435ab9a02bc7c3eb604572 /graphics | |
parent | f341e5545c8ac8ccec26ec549d57d2ddee069f55 (diff) | |
download | frameworks_base-bbd51f1e360b22eece1d74bd65c7e6a0b59dee59.zip frameworks_base-bbd51f1e360b22eece1d74bd65c7e6a0b59dee59.tar.gz frameworks_base-bbd51f1e360b22eece1d74bd65c7e6a0b59dee59.tar.bz2 |
Share Insets instances between views that have the same background (Drawable)
Change-Id: I47d93ccca6f553b678d25966d10d7a0a97cfa5ea
Diffstat (limited to 'graphics')
4 files changed, 13 insertions, 23 deletions
diff --git a/graphics/java/android/graphics/Insets.java b/graphics/java/android/graphics/Insets.java index c570cd4..156f990 100644 --- a/graphics/java/android/graphics/Insets.java +++ b/graphics/java/android/graphics/Insets.java @@ -67,7 +67,7 @@ public class Insets { * @return an Insets instance with the appropriate values */ public static Insets of(Rect r) { - return of(r.left, r.top, r.right, r.bottom); + return (r == null) ? NONE : of(r.left, r.top, r.right, r.bottom); } /** diff --git a/graphics/java/android/graphics/drawable/Drawable.java b/graphics/java/android/graphics/drawable/Drawable.java index 7d1942a..6193ca7 100644 --- a/graphics/java/android/graphics/drawable/Drawable.java +++ b/graphics/java/android/graphics/drawable/Drawable.java @@ -16,6 +16,7 @@ package android.graphics.drawable; +import android.graphics.Insets; import org.xmlpull.v1.XmlPullParser; import org.xmlpull.v1.XmlPullParserException; @@ -706,16 +707,12 @@ public abstract class Drawable { /** * Return in insets the layout insets suggested by this Drawable for use with alignment - * operations during layout. Positive values move toward the - * center of the Drawable. Returns true if this drawable - * actually has a layout insets, else false. When false is returned, the padding - * is always set to 0. + * operations during layout. * * @hide */ - public boolean getLayoutInsets(Rect insets) { - insets.set(0, 0, 0, 0); - return false; + public Insets getLayoutInsets() { + return Insets.NONE; } /** diff --git a/graphics/java/android/graphics/drawable/DrawableContainer.java b/graphics/java/android/graphics/drawable/DrawableContainer.java index e10f9e8..15b2c0b 100644 --- a/graphics/java/android/graphics/drawable/DrawableContainer.java +++ b/graphics/java/android/graphics/drawable/DrawableContainer.java @@ -19,6 +19,7 @@ package android.graphics.drawable; import android.content.res.Resources; import android.graphics.Canvas; import android.graphics.ColorFilter; +import android.graphics.Insets; import android.graphics.PixelFormat; import android.graphics.Rect; import android.os.SystemClock; @@ -94,12 +95,8 @@ public class DrawableContainer extends Drawable implements Drawable.Callback { * @hide */ @Override - public boolean getLayoutInsets(Rect insets) { - if (mCurrDrawable != null) { - return mCurrDrawable.getLayoutInsets(insets); - } else { - return super.getLayoutInsets(insets); - } + public Insets getLayoutInsets() { + return (mCurrDrawable == null) ? Insets.NONE : mCurrDrawable.getLayoutInsets(); } @Override diff --git a/graphics/java/android/graphics/drawable/NinePatchDrawable.java b/graphics/java/android/graphics/drawable/NinePatchDrawable.java index e502b7a..006baa7 100644 --- a/graphics/java/android/graphics/drawable/NinePatchDrawable.java +++ b/graphics/java/android/graphics/drawable/NinePatchDrawable.java @@ -22,6 +22,7 @@ import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.Canvas; import android.graphics.ColorFilter; +import android.graphics.Insets; import android.graphics.NinePatch; import android.graphics.Paint; import android.graphics.PixelFormat; @@ -224,13 +225,8 @@ public class NinePatchDrawable extends Drawable { * @hide */ @Override - public boolean getLayoutInsets(Rect insets) { - Rect layoutInsets = mNinePatchState.mLayoutInsets; - if (layoutInsets == null) { - return super.getLayoutInsets(insets); - } - insets.set(layoutInsets); - return true; + public Insets getLayoutInsets() { + return mNinePatchState.mLayoutInsets; } @Override @@ -390,7 +386,7 @@ public class NinePatchDrawable extends Drawable { private final static class NinePatchState extends ConstantState { final NinePatch mNinePatch; final Rect mPadding; - final Rect mLayoutInsets; + final Insets mLayoutInsets; final boolean mDither; int mChangingConfigurations; int mTargetDensity = DisplayMetrics.DENSITY_DEFAULT; @@ -406,7 +402,7 @@ public class NinePatchDrawable extends Drawable { NinePatchState(NinePatch ninePatch, Rect rect, Rect layoutInsets, boolean dither) { mNinePatch = ninePatch; mPadding = rect; - mLayoutInsets = layoutInsets; + mLayoutInsets = Insets.of(layoutInsets); mDither = dither; } |