summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMark Wei <markwei@google.com>2013-11-22 20:25:08 -0800
committerMark Wei <markwei@google.com>2013-11-22 20:25:08 -0800
commitdf3da61c8f2f54604376d9761649bdba54aa858b (patch)
tree672989f2cd2dd47ad830dcdc7072eddafb2cac21 /src
parentcd728097ff189542877a2952879a3aa3c6cb5666 (diff)
downloadbitmap-df3da61c8f2f54604376d9761649bdba54aa858b.tar.gz
Background color of TileDrawable must be opaque.
Change-Id: I6ac7b4ba6f68181424064377464e1896c2129f13
Diffstat (limited to 'src')
-rw-r--r--src/com/android/bitmap/drawable/ExtendedBitmapDrawable.java8
-rw-r--r--src/com/android/bitmap/drawable/TileDrawable.java14
2 files changed, 9 insertions, 13 deletions
diff --git a/src/com/android/bitmap/drawable/ExtendedBitmapDrawable.java b/src/com/android/bitmap/drawable/ExtendedBitmapDrawable.java
index ac332a9..2e3d43f 100644
--- a/src/com/android/bitmap/drawable/ExtendedBitmapDrawable.java
+++ b/src/com/android/bitmap/drawable/ExtendedBitmapDrawable.java
@@ -22,6 +22,7 @@ import android.animation.ValueAnimator;
import android.animation.ValueAnimator.AnimatorUpdateListener;
import android.content.res.Resources;
import android.graphics.Canvas;
+import android.graphics.Color;
import android.graphics.ColorFilter;
import android.graphics.Rect;
import android.graphics.drawable.Drawable;
@@ -634,7 +635,7 @@ public class ExtendedBitmapDrawable extends BasicBitmapDrawable implements
public float parallaxSpeedMultiplier = 1;
/**
- * Optional field if {@link #FEATURE_STATE_CHANGES} is supported.
+ * Optional field if {@link #FEATURE_STATE_CHANGES} is supported. Must be an opaque color.
*
* See {@link android.graphics.Color}.
*/
@@ -706,6 +707,11 @@ public class ExtendedBitmapDrawable extends BasicBitmapDrawable implements
"ExtendedOptions: To support FEATURE_STATE_CHANGES, "
+ "placeholderAnimationDuration must be set correctly.");
}
+ if (backgroundColor != 0 && Color.alpha(backgroundColor) != 255) {
+ throw new IllegalStateException(
+ "ExtendedOptions: To support FEATURE_STATE_CHANGES, "
+ + "backgroundColor must be set to an opaque color.");
+ }
}
}
}
diff --git a/src/com/android/bitmap/drawable/TileDrawable.java b/src/com/android/bitmap/drawable/TileDrawable.java
index 485e7ca..42400b4 100644
--- a/src/com/android/bitmap/drawable/TileDrawable.java
+++ b/src/com/android/bitmap/drawable/TileDrawable.java
@@ -19,7 +19,6 @@ package com.android.bitmap.drawable;
import android.animation.ValueAnimator;
import android.animation.ValueAnimator.AnimatorUpdateListener;
import android.graphics.Canvas;
-import android.graphics.Color;
import android.graphics.ColorFilter;
import android.graphics.Paint;
import android.graphics.Rect;
@@ -91,13 +90,10 @@ public class TileDrawable extends Drawable implements Drawable.Callback {
if (!isVisible() && mPaint.getAlpha() == 0) {
return;
}
- // Save paint alpha.
final int alpha = mPaint.getAlpha();
- mPaint.setColor(getColorWithAlpha(mOpts.backgroundColor, alpha));
- canvas.drawRect(getBounds(), mPaint);
- // Restore paint alpha.
+ mPaint.setColor(mOpts.backgroundColor);
mPaint.setAlpha(alpha);
-
+ canvas.drawRect(getBounds(), mPaint);
if (mInner != null) mInner.draw(canvas);
}
@@ -180,10 +176,4 @@ public class TileDrawable extends Drawable implements Drawable.Callback {
public void unscheduleDrawable(Drawable who, Runnable what) {
unscheduleSelf(what);
}
-
- private static int getColorWithAlpha(int color, int alpha) {
- float fade = alpha / 255f;
- return Color.argb((int) (fade * Color.alpha(color)), Color.red(color), Color.green(color),
- Color.blue(color));
- }
}