package carbon.drawable; import android.graphics.Canvas; import android.graphics.ColorFilter; import android.graphics.PixelFormat; import android.graphics.drawable.Drawable; import android.support.annotation.NonNull; import carbon.animation.AnimatedColorStateList; public class ColorStateListDrawable extends Drawable implements AlphaDrawable { private AnimatedColorStateList list; public ColorStateListDrawable(AnimatedColorStateList list) { this.list = list; } @Override public void draw(@NonNull Canvas canvas) { canvas.drawColor(list.getColorForState(getState(), list.getDefaultColor())); } @Override public void setAlpha(int i) { } @Override public void setColorFilter(ColorFilter colorFilter) { } @Override public int getOpacity() { return PixelFormat.TRANSLUCENT; } @Override public boolean isStateful() { return true; } @Override public boolean setState(@NonNull int[] stateSet) { list.setState(stateSet); return super.setState(stateSet); } @Override public int getAlpha() { return (list.getColorForState(getState(), list.getDefaultColor()) >> 24) & 0xff; } }