Merge "Cancel dark animation when new one arrives" into pi-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
7c0e462b20
@@ -388,6 +388,7 @@ public class NotificationStackScrollLayout extends ViewGroup
|
|||||||
return object.getDarkAmount();
|
return object.getDarkAmount();
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
private ObjectAnimator mDarkAmountAnimator;
|
||||||
private boolean mUsingLightTheme;
|
private boolean mUsingLightTheme;
|
||||||
private boolean mQsExpanded;
|
private boolean mQsExpanded;
|
||||||
private boolean mForwardScrollable;
|
private boolean mForwardScrollable;
|
||||||
@@ -3401,7 +3402,7 @@ public class NotificationStackScrollLayout extends ViewGroup
|
|||||||
.animateY(mShelf));
|
.animateY(mShelf));
|
||||||
ev.darkAnimationOriginIndex = mDarkAnimationOriginIndex;
|
ev.darkAnimationOriginIndex = mDarkAnimationOriginIndex;
|
||||||
mAnimationEvents.add(ev);
|
mAnimationEvents.add(ev);
|
||||||
startBackgroundFade();
|
startDarkAmountAnimation();
|
||||||
}
|
}
|
||||||
mDarkNeedsAnimation = false;
|
mDarkNeedsAnimation = false;
|
||||||
}
|
}
|
||||||
@@ -3979,6 +3980,9 @@ public class NotificationStackScrollLayout extends ViewGroup
|
|||||||
mDarkAnimationOriginIndex = findDarkAnimationOriginIndex(touchWakeUpScreenLocation);
|
mDarkAnimationOriginIndex = findDarkAnimationOriginIndex(touchWakeUpScreenLocation);
|
||||||
mNeedsAnimation = true;
|
mNeedsAnimation = true;
|
||||||
} else {
|
} else {
|
||||||
|
if (mDarkAmountAnimator != null) {
|
||||||
|
mDarkAmountAnimator.cancel();
|
||||||
|
}
|
||||||
setDarkAmount(dark ? 1f : 0f);
|
setDarkAmount(dark ? 1f : 0f);
|
||||||
updateBackground();
|
updateBackground();
|
||||||
}
|
}
|
||||||
@@ -4023,12 +4027,22 @@ public class NotificationStackScrollLayout extends ViewGroup
|
|||||||
return mDarkAmount;
|
return mDarkAmount;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void startBackgroundFade() {
|
private void startDarkAmountAnimation() {
|
||||||
ObjectAnimator fadeAnimator = ObjectAnimator.ofFloat(this, DARK_AMOUNT, mDarkAmount,
|
ObjectAnimator darkAnimator = ObjectAnimator.ofFloat(this, DARK_AMOUNT, mDarkAmount,
|
||||||
mAmbientState.isDark() ? 1f : 0);
|
mAmbientState.isDark() ? 1f : 0);
|
||||||
fadeAnimator.setDuration(StackStateAnimator.ANIMATION_DURATION_WAKEUP);
|
darkAnimator.setDuration(StackStateAnimator.ANIMATION_DURATION_WAKEUP);
|
||||||
fadeAnimator.setInterpolator(Interpolators.ALPHA_IN);
|
darkAnimator.setInterpolator(Interpolators.ALPHA_IN);
|
||||||
fadeAnimator.start();
|
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) {
|
private int findDarkAnimationOriginIndex(@Nullable PointF screenLocation) {
|
||||||
|
|||||||
Reference in New Issue
Block a user