Merge "Cancel dark animation when new one arrives" into pi-dev

am: 7c0e462b20

Change-Id: I055e40a9ce8aed257f14efd77677031a6656a034
This commit is contained in:
Lucas Dupin
2018-05-29 22:21:31 -07:00
committed by android-build-merger

View File

@@ -388,6 +388,7 @@ public class NotificationStackScrollLayout extends ViewGroup
return object.getDarkAmount();
}
};
private ObjectAnimator mDarkAmountAnimator;
private boolean mUsingLightTheme;
private boolean mQsExpanded;
private boolean mForwardScrollable;
@@ -3401,7 +3402,7 @@ public class NotificationStackScrollLayout extends ViewGroup
.animateY(mShelf));
ev.darkAnimationOriginIndex = mDarkAnimationOriginIndex;
mAnimationEvents.add(ev);
startBackgroundFade();
startDarkAmountAnimation();
}
mDarkNeedsAnimation = false;
}
@@ -3979,6 +3980,9 @@ public class NotificationStackScrollLayout extends ViewGroup
mDarkAnimationOriginIndex = findDarkAnimationOriginIndex(touchWakeUpScreenLocation);
mNeedsAnimation = true;
} else {
if (mDarkAmountAnimator != null) {
mDarkAmountAnimator.cancel();
}
setDarkAmount(dark ? 1f : 0f);
updateBackground();
}
@@ -4023,12 +4027,22 @@ public class NotificationStackScrollLayout extends ViewGroup
return mDarkAmount;
}
private void startBackgroundFade() {
ObjectAnimator fadeAnimator = ObjectAnimator.ofFloat(this, DARK_AMOUNT, mDarkAmount,
private void startDarkAmountAnimation() {
ObjectAnimator darkAnimator = ObjectAnimator.ofFloat(this, DARK_AMOUNT, mDarkAmount,
mAmbientState.isDark() ? 1f : 0);
fadeAnimator.setDuration(StackStateAnimator.ANIMATION_DURATION_WAKEUP);
fadeAnimator.setInterpolator(Interpolators.ALPHA_IN);
fadeAnimator.start();
darkAnimator.setDuration(StackStateAnimator.ANIMATION_DURATION_WAKEUP);
darkAnimator.setInterpolator(Interpolators.ALPHA_IN);
darkAnimator.addListener(new AnimatorListenerAdapter() {
@Override
public void onAnimationEnd(Animator animation) {
mDarkAmountAnimator = null;
}
});
if (mDarkAmountAnimator != null) {
mDarkAmountAnimator.cancel();
}
mDarkAmountAnimator = darkAnimator;
mDarkAmountAnimator.start();
}
private int findDarkAnimationOriginIndex(@Nullable PointF screenLocation) {