Merge "Stabilized the animation when going back from the locked shade" into lmp-dev
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java
index 1a0d2d4..8c7dad9 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java
@@ -3772,6 +3772,7 @@
*/
public void goToKeyguard() {
if (mState == StatusBarState.SHADE_LOCKED) {
+ mStackScroller.onGoToKeyguard();
setBarState(StatusBarState.KEYGUARD);
updateKeyguardState(false /* goingToFullShade */, true /* fromShadeLocked*/);
}
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 302763e..82e7f5d 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/stack/NotificationStackScrollLayout.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/stack/NotificationStackScrollLayout.java
@@ -166,6 +166,7 @@
private boolean mDontReportNextOverScroll;
private boolean mRequestViewResizeAnimationOnLayout;
private boolean mNeedViewResizeAnimation;
+ private boolean mEverythingNeedsAnimation;
/**
* The maximum scrollPosition which we are allowed to reach when a notification was expanded.
@@ -1619,6 +1620,7 @@
generateDarkEvent();
generateGoToFullShadeEvent();
generateViewResizeEvent();
+ generateAnimateEverythingEvent();
mNeedsAnimation = false;
}
@@ -1701,6 +1703,14 @@
mActivateNeedsAnimation = false;
}
+ private void generateAnimateEverythingEvent() {
+ if (mEverythingNeedsAnimation) {
+ mAnimationEvents.add(
+ new AnimationEvent(null, AnimationEvent.ANIMATION_TYPE_EVERYTHING));
+ }
+ mEverythingNeedsAnimation = false;
+ }
+
private void generateDimmedEvent() {
if (mDimmedNeedsAnimation) {
mAnimationEvents.add(
@@ -2200,6 +2210,13 @@
this.mPhoneStatusBar = phoneStatusBar;
}
+ public void onGoToKeyguard() {
+ if (mIsExpanded && mAnimationsEnabled) {
+ mEverythingNeedsAnimation = true;
+ requestChildrenUpdate();
+ }
+ }
+
/**
* A listener that is notified when some child locations might have changed.
*/
@@ -2327,6 +2344,18 @@
.animateTopInset()
.animateY()
.animateZ(),
+
+ // ANIMATION_TYPE_EVERYTHING
+ new AnimationFilter()
+ .animateAlpha()
+ .animateDark()
+ .animateScale()
+ .animateDimmed()
+ .animateHideSensitive()
+ .animateHeight()
+ .animateTopInset()
+ .animateY()
+ .animateZ(),
};
static int[] LENGTHS = new int[] {
@@ -2369,6 +2398,9 @@
// ANIMATION_TYPE_VIEW_RESIZE
StackStateAnimator.ANIMATION_DURATION_STANDARD,
+
+ // ANIMATION_TYPE_EVERYTHING
+ StackStateAnimator.ANIMATION_DURATION_STANDARD,
};
static final int ANIMATION_TYPE_ADD = 0;
@@ -2384,6 +2416,7 @@
static final int ANIMATION_TYPE_GO_TO_FULL_SHADE = 10;
static final int ANIMATION_TYPE_HIDE_SENSITIVE = 11;
static final int ANIMATION_TYPE_VIEW_RESIZE = 12;
+ static final int ANIMATION_TYPE_EVERYTHING = 13;
final long eventStartTime;
final View changingView;