summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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));
- }
}