summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Lucas Dupin <dupin@google.com> 2018-05-29 22:47:55 -0700
committer android-build-merger <android-build-merger@google.com> 2018-05-29 22:47:55 -0700
commit6de6dff52c7e4a5274373fd982cd93fa56a35abf (patch)
treed02d33596557ceaabac48154948f34b6747faafa
parent3258da325f9ab6653712b71603514fc0ec61686f (diff)
parent59e792baebd23551138e0e7895f5b85fbffb29bf (diff)
Merge "Cancel dark animation when new one arrives" into pi-dev am: 7c0e462b20
am: 59e792baeb Change-Id: Ie5de6d2c5dd5fd871aa2a76e146be58377abc059
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/stack/NotificationStackScrollLayout.java26
1 files changed, 20 insertions, 6 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/stack/NotificationStackScrollLayout.java b/packages/SystemUI/src/com/android/systemui/statusbar/stack/NotificationStackScrollLayout.java
index f91016a6e358..425c5d2bd318 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/stack/NotificationStackScrollLayout.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/stack/NotificationStackScrollLayout.java
@@ -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) {