summaryrefslogtreecommitdiff
path: root/core/java/android
diff options
context:
space:
mode:
authorAdam Powell <adamp@google.com>2013-10-07 16:25:17 -0700
committerAndroid Git Automerger <android-git-automerger@android.com>2013-10-07 16:25:17 -0700
commit20ba658bdb32cb6f02cb12d9f94419e29420f9f5 (patch)
tree97d580e5cd5c785e1ea2252baa1cf6ad9c9c3c5c /core/java/android
parentbc015e847f01210298d7ccdd0239518fd8e7ee19 (diff)
parent31049d76c55b18a6d9993f0d9687598740b16014 (diff)
am 31049d76: Use SCREEN Xfermode for keyguard badges; update SeekBar
* commit '31049d76c55b18a6d9993f0d9687598740b16014': Use SCREEN Xfermode for keyguard badges; update SeekBar
Diffstat (limited to 'core/java/android')
-rw-r--r--core/java/android/widget/ImageView.java15
1 files changed, 15 insertions, 0 deletions
diff --git a/core/java/android/widget/ImageView.java b/core/java/android/widget/ImageView.java
index 3e53b91bd0b0..9e35a236fdec 100644
--- a/core/java/android/widget/ImageView.java
+++ b/core/java/android/widget/ImageView.java
@@ -27,6 +27,7 @@ import android.graphics.Matrix;
import android.graphics.PorterDuff;
import android.graphics.PorterDuffColorFilter;
import android.graphics.RectF;
+import android.graphics.Xfermode;
import android.graphics.drawable.BitmapDrawable;
import android.graphics.drawable.Drawable;
import android.net.Uri;
@@ -73,6 +74,7 @@ public class ImageView extends View {
// these are applied to the drawable
private ColorFilter mColorFilter;
+ private Xfermode mXfermode;
private int mAlpha = 255;
private int mViewAlphaScale = 256;
private boolean mColorMod = false;
@@ -1125,6 +1127,18 @@ public class ImageView extends View {
}
/**
+ * @hide Candidate for future API inclusion
+ */
+ public final void setXfermode(Xfermode mode) {
+ if (mXfermode != mode) {
+ mXfermode = mode;
+ mColorMod = true;
+ applyColorMod();
+ invalidate();
+ }
+ }
+
+ /**
* Returns the active color filter for this ImageView.
*
* @return the active color filter for this ImageView
@@ -1200,6 +1214,7 @@ public class ImageView extends View {
if (mDrawable != null && mColorMod) {
mDrawable = mDrawable.mutate();
mDrawable.setColorFilter(mColorFilter);
+ mDrawable.setXfermode(mXfermode);
mDrawable.setAlpha(mAlpha * mViewAlphaScale >> 8);
}
}