Merge "Do not invalidate drawable if tint doesn\'t change" into nyc-dev
am: ff25528a9b
* commit 'ff25528a9beaa33a4effbe90c3d3fc259c0d3aa8':
Do not invalidate drawable if tint doesn't change
This commit is contained in:
@@ -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();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
Reference in New Issue
Block a user