OSDN Git Service

AOD animation polish
authorLucas Dupin <dupin@google.com>
Thu, 28 Jun 2018 18:09:09 +0000 (11:09 -0700)
committerLucas Dupin <dupin@google.com>
Thu, 28 Jun 2018 18:09:09 +0000 (11:09 -0700)
Change-Id: I03220e30d52aadc5aab8edddf759debd3302c95d
Fixes: 110227946
Test: visual

packages/SystemUI/src/com/android/keyguard/KeyguardStatusView.java

index 225f7fc..4014946 100644 (file)
@@ -199,6 +199,9 @@ public class KeyguardStatusView extends GridLayout implements
         mClockView.setElegantTextHeight(false);
     }
 
+    /**
+     * Moves clock and separator, adjusting margins when slice content changes.
+     */
     private void onSliceContentChanged() {
         boolean smallClock = mKeyguardSlice.hasHeader() || mPulsing;
         float clockScale = smallClock ? mSmallClockScale : 1;
@@ -221,7 +224,7 @@ public class KeyguardStatusView extends GridLayout implements
     @Override
     public void onLayoutChange(View view, int left, int top, int right, int bottom,
             int oldLeft, int oldTop, int oldRight, int oldBottom) {
-        int heightOffset = mPulsing ? 0 : getHeight() - mLastLayoutHeight;
+        int heightOffset = mPulsing || mWasPulsing ? 0 : getHeight() - mLastLayoutHeight;
         boolean hasHeader = mKeyguardSlice.hasHeader();
         boolean smallClock = hasHeader || mPulsing;
         long duration = KeyguardSliceView.DEFAULT_ANIM_DURATION;
@@ -457,6 +460,11 @@ public class KeyguardStatusView extends GridLayout implements
             mWasPulsing = true;
         }
         mPulsing = pulsing;
+        // Animation can look really weird when the slice has a header, let's hide the views
+        // immediately instead of fading them away.
+        if (mKeyguardSlice.hasHeader()) {
+            animate = false;
+        }
         mKeyguardSlice.setPulsing(pulsing, animate);
         updateDozeVisibleViews();
     }