From 09952ee560cdfaa8b5b69c184390b8ae24f0c1af Mon Sep 17 00:00:00 2001 From: Lucas Dupin Date: Wed, 6 Jun 2018 18:19:18 -0700 Subject: Animate owner info during wake-up transition Change-Id: Idaaeeecbdcd361b1bba29321f805496f660dd319 Fixes: 80460589 Test: visual --- .../src/com/android/keyguard/KeyguardStatusView.java | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardStatusView.java b/packages/SystemUI/src/com/android/keyguard/KeyguardStatusView.java index 976b45424502..6d877cd54b20 100644 --- a/packages/SystemUI/src/com/android/keyguard/KeyguardStatusView.java +++ b/packages/SystemUI/src/com/android/keyguard/KeyguardStatusView.java @@ -282,6 +282,7 @@ public class KeyguardStatusView extends GridLayout implements mClockView.setPivotX(mClockView.getWidth() / 2); mClockView.setPivotY(0); mLastLayoutHeight = getHeight(); + layoutOwnerInfo(); } @Override @@ -418,9 +419,11 @@ public class KeyguardStatusView extends GridLayout implements if (mLogoutView != null) { mLogoutView.setAlpha(dark ? 0 : 1); } + if (mOwnerInfo != null) { boolean hasText = !TextUtils.isEmpty(mOwnerInfo.getText()); - mOwnerInfo.setVisibility(hasText && mDarkAmount != 1 ? VISIBLE : GONE); + mOwnerInfo.setVisibility(hasText ? VISIBLE : GONE); + layoutOwnerInfo(); } final int blendedTextColor = ColorUtils.blendARGB(mTextColor, Color.WHITE, mDarkAmount); @@ -430,6 +433,20 @@ public class KeyguardStatusView extends GridLayout implements mClockSeparator.setBackgroundColor(blendedTextColor); } + private void layoutOwnerInfo() { + if (mOwnerInfo != null && mOwnerInfo.getVisibility() != GONE) { + // Animate owner info during wake-up transition + mOwnerInfo.setAlpha(1f - mDarkAmount); + + float ratio = mDarkAmount; + // Calculate how much of it we should crop in order to have a smooth transition + int collapsed = mOwnerInfo.getTop() - mOwnerInfo.getPaddingTop(); + int expanded = mOwnerInfo.getBottom() + mOwnerInfo.getPaddingBottom(); + int toRemove = (int) ((expanded - collapsed) * ratio); + setBottom(getMeasuredHeight() - toRemove); + } + } + public void setPulsing(boolean pulsing, boolean animate) { mPulsing = pulsing; mKeyguardSlice.setPulsing(pulsing, animate); -- cgit v1.2.3-59-g8ed1b