Don't animate grayscale if animations are off

Just set the final color instantly on QS icons if animations are off
(battery save mode).

Change-Id: I55a5bd6bab412b9b6a62d32b21adbf7d39cc9e72
Fixes: 62508363
Test: visual
This commit is contained in:
Evan Laird
2017-07-05 17:10:04 -04:00
parent 5c5f1f6419
commit bdcd1cc85b

View File

@@ -144,22 +144,26 @@ public class QSIconViewImpl extends QSIconView {
}
public static void animateGrayScale(int fromColor, int toColor, ImageView iv) {
final float fromAlpha = Color.alpha(fromColor);
final float toAlpha = Color.alpha(toColor);
final float fromChannel = Color.red(fromColor);
final float toChannel = Color.red(toColor);
if (ValueAnimator.areAnimatorsEnabled()) {
final float fromAlpha = Color.alpha(fromColor);
final float toAlpha = Color.alpha(toColor);
final float fromChannel = Color.red(fromColor);
final float toChannel = Color.red(toColor);
ValueAnimator anim = ValueAnimator.ofFloat(0, 1);
anim.setDuration(QS_ANIM_LENGTH);
ValueAnimator anim = ValueAnimator.ofFloat(0, 1);
anim.setDuration(QS_ANIM_LENGTH);
anim.addUpdateListener(animation -> {
float fraction = animation.getAnimatedFraction();
int alpha = (int) (fromAlpha + (toAlpha - fromAlpha) * fraction);
int channel = (int) (fromChannel + (toChannel - fromChannel) * fraction);
anim.addUpdateListener(animation -> {
float fraction = animation.getAnimatedFraction();
int alpha = (int) (fromAlpha + (toAlpha - fromAlpha) * fraction);
int channel = (int) (fromChannel + (toChannel - fromChannel) * fraction);
setTint(iv, Color.argb(alpha, channel, channel, channel));
});
setTint(iv, Color.argb(alpha, channel, channel, channel));
});
anim.start();
anim.start();
} else {
setTint(iv, toColor);
}
}
public static void setTint(ImageView iv, int color) {