Merge "Do not invalidate drawable if tint doesn't change" into nyc-dev

This commit is contained in:
Jorim Jaggi
2016-02-10 06:08:34 +00:00
committed by Android (Google) Code Review

View File

@@ -641,16 +641,22 @@ public class BitmapDrawable extends Drawable {
@Override @Override
public void setTintList(ColorStateList tint) { public void setTintList(ColorStateList tint) {
mBitmapState.mTint = tint; final BitmapState state = mBitmapState;
mTintFilter = updateTintFilter(mTintFilter, tint, mBitmapState.mTintMode); if (state.mTint != tint) {
invalidateSelf(); state.mTint = tint;
mTintFilter = updateTintFilter(mTintFilter, tint, mBitmapState.mTintMode);
invalidateSelf();
}
} }
@Override @Override
public void setTintMode(PorterDuff.Mode tintMode) { public void setTintMode(PorterDuff.Mode tintMode) {
mBitmapState.mTintMode = tintMode; final BitmapState state = mBitmapState;
mTintFilter = updateTintFilter(mTintFilter, mBitmapState.mTint, tintMode); if (state.mTintMode != tintMode) {
invalidateSelf(); state.mTintMode = tintMode;
mTintFilter = updateTintFilter(mTintFilter, mBitmapState.mTint, tintMode);
invalidateSelf();
}
} }
/** /**