summaryrefslogtreecommitdiffstats
path: root/graphics
diff options
context:
space:
mode:
authorPhilip Milne <pmilne@google.com>2012-04-18 15:09:05 -0700
committerPhilip Milne <pmilne@google.com>2012-04-18 16:06:27 -0700
commitbbd51f1e360b22eece1d74bd65c7e6a0b59dee59 (patch)
tree3919c1cfffc46790c5435ab9a02bc7c3eb604572 /graphics
parentf341e5545c8ac8ccec26ec549d57d2ddee069f55 (diff)
downloadframeworks_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')
-rw-r--r--graphics/java/android/graphics/Insets.java2
-rw-r--r--graphics/java/android/graphics/drawable/Drawable.java11
-rw-r--r--graphics/java/android/graphics/drawable/DrawableContainer.java9
-rw-r--r--graphics/java/android/graphics/drawable/NinePatchDrawable.java14
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;
}