Merge "Cancel dark animation when new one arrives" into pi-dev
am: 7c0e462b20
Change-Id: I055e40a9ce8aed257f14efd77677031a6656a034
This commit is contained in:
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user