Loading graphics/java/android/graphics/drawable/AnimatedRotateDrawable.java +14 −38 Original line number Diff line number Diff line Loading @@ -19,8 +19,6 @@ package android.graphics.drawable; import android.graphics.Canvas; import android.graphics.Rect; import android.graphics.ColorFilter; import android.graphics.PorterDuff.Mode; import android.content.res.ColorStateList; import android.content.res.Resources; import android.content.res.TypedArray; import android.content.res.Resources.Theme; Loading Loading @@ -90,7 +88,6 @@ public class AnimatedRotateDrawable extends Drawable implements Drawable.Callbac canvas.restoreToCount(saveCount); } @Override public void start() { if (!mRunning) { mRunning = true; Loading @@ -98,13 +95,11 @@ public class AnimatedRotateDrawable extends Drawable implements Drawable.Callbac } } @Override public void stop() { mRunning = false; unscheduleSelf(this); } @Override public boolean isRunning() { return mRunning; } Loading @@ -114,7 +109,6 @@ public class AnimatedRotateDrawable extends Drawable implements Drawable.Callbac scheduleSelf(this, SystemClock.uptimeMillis() + mState.mFrameDuration); } @Override public void run() { // TODO: This should be computed in draw(Canvas), based on the amount // of time since the last frame drawn Loading Loading @@ -170,17 +164,11 @@ public class AnimatedRotateDrawable extends Drawable implements Drawable.Callbac mState.mDrawable.setColorFilter(cf); } @Override public void setTint(ColorStateList tint, Mode tintMode) { mState.mDrawable.setTint(tint, tintMode); } @Override public int getOpacity() { return mState.mDrawable.getOpacity(); } @Override public void invalidateDrawable(Drawable who) { final Callback callback = getCallback(); if (callback != null) { Loading @@ -188,7 +176,6 @@ public class AnimatedRotateDrawable extends Drawable implements Drawable.Callbac } } @Override public void scheduleDrawable(Drawable who, Runnable what, long when) { final Callback callback = getCallback(); if (callback != null) { Loading @@ -196,7 +183,6 @@ public class AnimatedRotateDrawable extends Drawable implements Drawable.Callbac } } @Override public void unscheduleDrawable(Drawable who, Runnable what) { final Callback callback = getCallback(); if (callback != null) { Loading @@ -219,16 +205,6 @@ public class AnimatedRotateDrawable extends Drawable implements Drawable.Callbac mState.mDrawable.setBounds(bounds.left, bounds.top, bounds.right, bounds.bottom); } @Override protected boolean onLevelChange(int level) { return mState.mDrawable.setLevel(level); } @Override protected boolean onStateChange(int[] state) { return mState.mDrawable.setState(state); } @Override public int getIntrinsicWidth() { return mState.mDrawable.getIntrinsicWidth(); Loading graphics/java/android/graphics/drawable/AnimationDrawable.java +20 −23 Original line number Diff line number Diff line Loading @@ -28,6 +28,7 @@ import android.os.SystemClock; import android.util.AttributeSet; /** * * An object used to create frame-by-frame animations, defined by a series of Drawable objects, * which can be used as a View object's background. * <p> Loading Loading @@ -113,7 +114,6 @@ public class AnimationDrawable extends DrawableContainer implements Runnable, An * @see #isRunning() * @see #stop() */ @Override public void start() { if (!isRunning()) { run(); Loading @@ -127,7 +127,6 @@ public class AnimationDrawable extends DrawableContainer implements Runnable, An * @see #isRunning() * @see #start() */ @Override public void stop() { if (isRunning()) { unscheduleSelf(this); Loading @@ -139,7 +138,6 @@ public class AnimationDrawable extends DrawableContainer implements Runnable, An * * @return true if the animation is running, false otherwise */ @Override public boolean isRunning() { return mAnimating; } Loading @@ -150,7 +148,6 @@ public class AnimationDrawable extends DrawableContainer implements Runnable, An * * @see #start() */ @Override public void run() { nextFrame(false); } Loading graphics/java/android/graphics/drawable/BitmapDrawable.java +28 −10 Original line number Diff line number Diff line Loading @@ -31,7 +31,6 @@ import android.graphics.Paint; import android.graphics.PixelFormat; import android.graphics.PorterDuff; import android.graphics.PorterDuff.Mode; import android.graphics.drawable.ColorDrawable.ColorState; import android.graphics.PorterDuffColorFilter; import android.graphics.Rect; import android.graphics.Shader; Loading Loading @@ -619,11 +618,9 @@ public class BitmapDrawable extends Drawable { @Override public void setTint(ColorStateList tint, PorterDuff.Mode tintMode) { final BitmapState state = mBitmapState; state.mTint = tint; state.mTintMode = tintMode; mTintFilter = updateTintFilter(mTintFilter, tint, tintMode); mBitmapState.mTint = tint; mBitmapState.mTintMode = tintMode; computeTintFilter(); invalidateSelf(); } Loading @@ -641,6 +638,21 @@ public class BitmapDrawable extends Drawable { return mBitmapState.mTintMode; } private void computeTintFilter() { final BitmapState state = mBitmapState; if (state.mTint != null && state.mTintMode != null) { final int color = state.mTint.getColorForState(getState(), 0); if (mTintFilter != null) { mTintFilter.setColor(color); mTintFilter.setMode(state.mTintMode); } else { mTintFilter = new PorterDuffColorFilter(color, state.mTintMode); } } else { mTintFilter = null; } } /** * @hide Candidate for future API inclusion */ Loading @@ -667,11 +679,17 @@ public class BitmapDrawable extends Drawable { @Override protected boolean onStateChange(int[] stateSet) { final BitmapState state = mBitmapState; if (state.mTint != null && state.mTintMode != null) { mTintFilter = updateTintFilter(mTintFilter, state.mTint, state.mTintMode); final ColorStateList tint = mBitmapState.mTint; if (tint != null) { final int newColor = tint.getColorForState(stateSet, 0); final int oldColor = mTintFilter.getColor(); if (oldColor != newColor) { mTintFilter.setColor(newColor); invalidateSelf(); return true; } } return false; } Loading graphics/java/android/graphics/drawable/ClipDrawable.java +2 −12 Original line number Diff line number Diff line Loading @@ -19,12 +19,10 @@ package android.graphics.drawable; import org.xmlpull.v1.XmlPullParser; import org.xmlpull.v1.XmlPullParserException; import android.content.res.ColorStateList; import android.content.res.Resources; import android.content.res.TypedArray; import android.content.res.Resources.Theme; import android.graphics.*; import android.graphics.PorterDuff.Mode; import android.view.Gravity; import android.util.AttributeSet; Loading Loading @@ -113,7 +111,6 @@ public class ClipDrawable extends Drawable implements Drawable.Callback { // overrides from Drawable.Callback @Override public void invalidateDrawable(Drawable who) { final Callback callback = getCallback(); if (callback != null) { Loading @@ -121,7 +118,6 @@ public class ClipDrawable extends Drawable implements Drawable.Callback { } } @Override public void scheduleDrawable(Drawable who, Runnable what, long when) { final Callback callback = getCallback(); if (callback != null) { Loading @@ -129,7 +125,6 @@ public class ClipDrawable extends Drawable implements Drawable.Callback { } } @Override public void unscheduleDrawable(Drawable who, Runnable what) { final Callback callback = getCallback(); if (callback != null) { Loading Loading @@ -173,11 +168,6 @@ public class ClipDrawable extends Drawable implements Drawable.Callback { mClipState.mDrawable.setColorFilter(cf); } @Override public void setTint(ColorStateList tint, Mode tintMode) { mClipState.mDrawable.setTint(tint, tintMode); } @Override public int getOpacity() { return mClipState.mDrawable.getOpacity(); Loading graphics/java/android/graphics/drawable/ColorDrawable.java +11 −55 Original line number Diff line number Diff line Loading @@ -17,8 +17,6 @@ package android.graphics.drawable; import android.graphics.*; import android.graphics.PorterDuff.Mode; import android.content.res.ColorStateList; import android.content.res.Resources; import android.content.res.Resources.Theme; import android.content.res.TypedArray; Loading @@ -41,13 +39,9 @@ import java.io.IOException; * @attr ref android.R.styleable#ColorDrawable_color */ public class ColorDrawable extends Drawable { private final Paint mPaint = new Paint(); @ViewDebug.ExportedProperty(deepExport = true, prefix = "state_") private ColorState mColorState; private ColorStateList mTint; private PorterDuffColorFilter mTintFilter; private final Paint mPaint = new Paint(); private boolean mMutated; /** Loading Loading @@ -90,17 +84,9 @@ public class ColorDrawable extends Drawable { @Override public void draw(Canvas canvas) { final ColorFilter colorFilter = mPaint.getColorFilter(); if ((mColorState.mUseColor >>> 24) != 0 || colorFilter != null || mTintFilter != null) { if (colorFilter == null) { mPaint.setColorFilter(mTintFilter); } if ((mColorState.mUseColor >>> 24) != 0) { mPaint.setColor(mColorState.mUseColor); canvas.drawRect(getBounds(), mPaint); // Restore original color filter. mPaint.setColorFilter(colorFilter); } } Loading Loading @@ -154,44 +140,17 @@ public class ColorDrawable extends Drawable { } } /** * Setting a color filter on a ColorDrawable has no effect. * * @param colorFilter Ignore. */ @Override public void setColorFilter(ColorFilter colorFilter) { mPaint.setColorFilter(colorFilter); } @Override public void setTint(ColorStateList tint, Mode tintMode) { final ColorState state = mColorState; if (state.mTint != tint || state.mTintMode != tintMode) { state.mTint = tint; state.mTintMode = tintMode; mTintFilter = updateTintFilter(mTintFilter, tint, tintMode); invalidateSelf(); } } @Override protected boolean onStateChange(int[] stateSet) { final ColorState state = mColorState; if (state.mTint != null && state.mTintMode != null) { mTintFilter = updateTintFilter(mTintFilter, state.mTint, state.mTintMode); return true; } return false; } @Override public boolean isStateful() { return mTint != null && mTint.isStateful(); } @Override public int getOpacity() { if (mTintFilter != null || mPaint.getColorFilter() != null) { return PixelFormat.TRANSLUCENT; } switch (mColorState.mUseColor >>> 24) { case 255: return PixelFormat.OPAQUE; Loading @@ -206,7 +165,8 @@ public class ColorDrawable extends Drawable { throws XmlPullParserException, IOException { super.inflate(r, parser, attrs, theme); final TypedArray a = obtainAttributes(r, theme, attrs, R.styleable.ColorDrawable); final TypedArray a = obtainAttributes( r, theme, attrs, R.styleable.ColorDrawable); inflateStateFromTypedArray(a); a.recycle(); } Loading Loading @@ -265,25 +225,21 @@ public class ColorDrawable extends Drawable { } final static class ColorState extends ConstantState { int[] mThemeAttrs; int mBaseColor; // base color, independent of setAlpha() @ViewDebug.ExportedProperty int mUseColor; // basecolor modulated by setAlpha() int mChangingConfigurations; ColorStateList mTint; Mode mTintMode; int[] mThemeAttrs; ColorState() { // Empty constructor. } ColorState(ColorState state) { mThemeAttrs = state.mThemeAttrs; mBaseColor = state.mBaseColor; mUseColor = state.mUseColor; mChangingConfigurations = state.mChangingConfigurations; mTint = state.mTint; mTintMode = state.mTintMode; mThemeAttrs = state.mThemeAttrs; } @Override Loading Loading
graphics/java/android/graphics/drawable/AnimatedRotateDrawable.java +14 −38 Original line number Diff line number Diff line Loading @@ -19,8 +19,6 @@ package android.graphics.drawable; import android.graphics.Canvas; import android.graphics.Rect; import android.graphics.ColorFilter; import android.graphics.PorterDuff.Mode; import android.content.res.ColorStateList; import android.content.res.Resources; import android.content.res.TypedArray; import android.content.res.Resources.Theme; Loading Loading @@ -90,7 +88,6 @@ public class AnimatedRotateDrawable extends Drawable implements Drawable.Callbac canvas.restoreToCount(saveCount); } @Override public void start() { if (!mRunning) { mRunning = true; Loading @@ -98,13 +95,11 @@ public class AnimatedRotateDrawable extends Drawable implements Drawable.Callbac } } @Override public void stop() { mRunning = false; unscheduleSelf(this); } @Override public boolean isRunning() { return mRunning; } Loading @@ -114,7 +109,6 @@ public class AnimatedRotateDrawable extends Drawable implements Drawable.Callbac scheduleSelf(this, SystemClock.uptimeMillis() + mState.mFrameDuration); } @Override public void run() { // TODO: This should be computed in draw(Canvas), based on the amount // of time since the last frame drawn Loading Loading @@ -170,17 +164,11 @@ public class AnimatedRotateDrawable extends Drawable implements Drawable.Callbac mState.mDrawable.setColorFilter(cf); } @Override public void setTint(ColorStateList tint, Mode tintMode) { mState.mDrawable.setTint(tint, tintMode); } @Override public int getOpacity() { return mState.mDrawable.getOpacity(); } @Override public void invalidateDrawable(Drawable who) { final Callback callback = getCallback(); if (callback != null) { Loading @@ -188,7 +176,6 @@ public class AnimatedRotateDrawable extends Drawable implements Drawable.Callbac } } @Override public void scheduleDrawable(Drawable who, Runnable what, long when) { final Callback callback = getCallback(); if (callback != null) { Loading @@ -196,7 +183,6 @@ public class AnimatedRotateDrawable extends Drawable implements Drawable.Callbac } } @Override public void unscheduleDrawable(Drawable who, Runnable what) { final Callback callback = getCallback(); if (callback != null) { Loading @@ -219,16 +205,6 @@ public class AnimatedRotateDrawable extends Drawable implements Drawable.Callbac mState.mDrawable.setBounds(bounds.left, bounds.top, bounds.right, bounds.bottom); } @Override protected boolean onLevelChange(int level) { return mState.mDrawable.setLevel(level); } @Override protected boolean onStateChange(int[] state) { return mState.mDrawable.setState(state); } @Override public int getIntrinsicWidth() { return mState.mDrawable.getIntrinsicWidth(); Loading
graphics/java/android/graphics/drawable/AnimationDrawable.java +20 −23 Original line number Diff line number Diff line Loading @@ -28,6 +28,7 @@ import android.os.SystemClock; import android.util.AttributeSet; /** * * An object used to create frame-by-frame animations, defined by a series of Drawable objects, * which can be used as a View object's background. * <p> Loading Loading @@ -113,7 +114,6 @@ public class AnimationDrawable extends DrawableContainer implements Runnable, An * @see #isRunning() * @see #stop() */ @Override public void start() { if (!isRunning()) { run(); Loading @@ -127,7 +127,6 @@ public class AnimationDrawable extends DrawableContainer implements Runnable, An * @see #isRunning() * @see #start() */ @Override public void stop() { if (isRunning()) { unscheduleSelf(this); Loading @@ -139,7 +138,6 @@ public class AnimationDrawable extends DrawableContainer implements Runnable, An * * @return true if the animation is running, false otherwise */ @Override public boolean isRunning() { return mAnimating; } Loading @@ -150,7 +148,6 @@ public class AnimationDrawable extends DrawableContainer implements Runnable, An * * @see #start() */ @Override public void run() { nextFrame(false); } Loading
graphics/java/android/graphics/drawable/BitmapDrawable.java +28 −10 Original line number Diff line number Diff line Loading @@ -31,7 +31,6 @@ import android.graphics.Paint; import android.graphics.PixelFormat; import android.graphics.PorterDuff; import android.graphics.PorterDuff.Mode; import android.graphics.drawable.ColorDrawable.ColorState; import android.graphics.PorterDuffColorFilter; import android.graphics.Rect; import android.graphics.Shader; Loading Loading @@ -619,11 +618,9 @@ public class BitmapDrawable extends Drawable { @Override public void setTint(ColorStateList tint, PorterDuff.Mode tintMode) { final BitmapState state = mBitmapState; state.mTint = tint; state.mTintMode = tintMode; mTintFilter = updateTintFilter(mTintFilter, tint, tintMode); mBitmapState.mTint = tint; mBitmapState.mTintMode = tintMode; computeTintFilter(); invalidateSelf(); } Loading @@ -641,6 +638,21 @@ public class BitmapDrawable extends Drawable { return mBitmapState.mTintMode; } private void computeTintFilter() { final BitmapState state = mBitmapState; if (state.mTint != null && state.mTintMode != null) { final int color = state.mTint.getColorForState(getState(), 0); if (mTintFilter != null) { mTintFilter.setColor(color); mTintFilter.setMode(state.mTintMode); } else { mTintFilter = new PorterDuffColorFilter(color, state.mTintMode); } } else { mTintFilter = null; } } /** * @hide Candidate for future API inclusion */ Loading @@ -667,11 +679,17 @@ public class BitmapDrawable extends Drawable { @Override protected boolean onStateChange(int[] stateSet) { final BitmapState state = mBitmapState; if (state.mTint != null && state.mTintMode != null) { mTintFilter = updateTintFilter(mTintFilter, state.mTint, state.mTintMode); final ColorStateList tint = mBitmapState.mTint; if (tint != null) { final int newColor = tint.getColorForState(stateSet, 0); final int oldColor = mTintFilter.getColor(); if (oldColor != newColor) { mTintFilter.setColor(newColor); invalidateSelf(); return true; } } return false; } Loading
graphics/java/android/graphics/drawable/ClipDrawable.java +2 −12 Original line number Diff line number Diff line Loading @@ -19,12 +19,10 @@ package android.graphics.drawable; import org.xmlpull.v1.XmlPullParser; import org.xmlpull.v1.XmlPullParserException; import android.content.res.ColorStateList; import android.content.res.Resources; import android.content.res.TypedArray; import android.content.res.Resources.Theme; import android.graphics.*; import android.graphics.PorterDuff.Mode; import android.view.Gravity; import android.util.AttributeSet; Loading Loading @@ -113,7 +111,6 @@ public class ClipDrawable extends Drawable implements Drawable.Callback { // overrides from Drawable.Callback @Override public void invalidateDrawable(Drawable who) { final Callback callback = getCallback(); if (callback != null) { Loading @@ -121,7 +118,6 @@ public class ClipDrawable extends Drawable implements Drawable.Callback { } } @Override public void scheduleDrawable(Drawable who, Runnable what, long when) { final Callback callback = getCallback(); if (callback != null) { Loading @@ -129,7 +125,6 @@ public class ClipDrawable extends Drawable implements Drawable.Callback { } } @Override public void unscheduleDrawable(Drawable who, Runnable what) { final Callback callback = getCallback(); if (callback != null) { Loading Loading @@ -173,11 +168,6 @@ public class ClipDrawable extends Drawable implements Drawable.Callback { mClipState.mDrawable.setColorFilter(cf); } @Override public void setTint(ColorStateList tint, Mode tintMode) { mClipState.mDrawable.setTint(tint, tintMode); } @Override public int getOpacity() { return mClipState.mDrawable.getOpacity(); Loading
graphics/java/android/graphics/drawable/ColorDrawable.java +11 −55 Original line number Diff line number Diff line Loading @@ -17,8 +17,6 @@ package android.graphics.drawable; import android.graphics.*; import android.graphics.PorterDuff.Mode; import android.content.res.ColorStateList; import android.content.res.Resources; import android.content.res.Resources.Theme; import android.content.res.TypedArray; Loading @@ -41,13 +39,9 @@ import java.io.IOException; * @attr ref android.R.styleable#ColorDrawable_color */ public class ColorDrawable extends Drawable { private final Paint mPaint = new Paint(); @ViewDebug.ExportedProperty(deepExport = true, prefix = "state_") private ColorState mColorState; private ColorStateList mTint; private PorterDuffColorFilter mTintFilter; private final Paint mPaint = new Paint(); private boolean mMutated; /** Loading Loading @@ -90,17 +84,9 @@ public class ColorDrawable extends Drawable { @Override public void draw(Canvas canvas) { final ColorFilter colorFilter = mPaint.getColorFilter(); if ((mColorState.mUseColor >>> 24) != 0 || colorFilter != null || mTintFilter != null) { if (colorFilter == null) { mPaint.setColorFilter(mTintFilter); } if ((mColorState.mUseColor >>> 24) != 0) { mPaint.setColor(mColorState.mUseColor); canvas.drawRect(getBounds(), mPaint); // Restore original color filter. mPaint.setColorFilter(colorFilter); } } Loading Loading @@ -154,44 +140,17 @@ public class ColorDrawable extends Drawable { } } /** * Setting a color filter on a ColorDrawable has no effect. * * @param colorFilter Ignore. */ @Override public void setColorFilter(ColorFilter colorFilter) { mPaint.setColorFilter(colorFilter); } @Override public void setTint(ColorStateList tint, Mode tintMode) { final ColorState state = mColorState; if (state.mTint != tint || state.mTintMode != tintMode) { state.mTint = tint; state.mTintMode = tintMode; mTintFilter = updateTintFilter(mTintFilter, tint, tintMode); invalidateSelf(); } } @Override protected boolean onStateChange(int[] stateSet) { final ColorState state = mColorState; if (state.mTint != null && state.mTintMode != null) { mTintFilter = updateTintFilter(mTintFilter, state.mTint, state.mTintMode); return true; } return false; } @Override public boolean isStateful() { return mTint != null && mTint.isStateful(); } @Override public int getOpacity() { if (mTintFilter != null || mPaint.getColorFilter() != null) { return PixelFormat.TRANSLUCENT; } switch (mColorState.mUseColor >>> 24) { case 255: return PixelFormat.OPAQUE; Loading @@ -206,7 +165,8 @@ public class ColorDrawable extends Drawable { throws XmlPullParserException, IOException { super.inflate(r, parser, attrs, theme); final TypedArray a = obtainAttributes(r, theme, attrs, R.styleable.ColorDrawable); final TypedArray a = obtainAttributes( r, theme, attrs, R.styleable.ColorDrawable); inflateStateFromTypedArray(a); a.recycle(); } Loading Loading @@ -265,25 +225,21 @@ public class ColorDrawable extends Drawable { } final static class ColorState extends ConstantState { int[] mThemeAttrs; int mBaseColor; // base color, independent of setAlpha() @ViewDebug.ExportedProperty int mUseColor; // basecolor modulated by setAlpha() int mChangingConfigurations; ColorStateList mTint; Mode mTintMode; int[] mThemeAttrs; ColorState() { // Empty constructor. } ColorState(ColorState state) { mThemeAttrs = state.mThemeAttrs; mBaseColor = state.mBaseColor; mUseColor = state.mUseColor; mChangingConfigurations = state.mChangingConfigurations; mTint = state.mTint; mTintMode = state.mTintMode; mThemeAttrs = state.mThemeAttrs; } @Override Loading