From eff8ef000b6228b729dce9fd76fa64b1d79da2ae Mon Sep 17 00:00:00 2001 From: Lucas Dupin Date: Thu, 6 Jun 2019 11:14:01 -0700 Subject: [PATCH] Fix charging animation clipping Test: visual Fixes: 134653127 Change-Id: I43eb2523a481237da27f159121bdc5b44b966d75 --- .../statusbar/KeyguardIndicationController.java | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/KeyguardIndicationController.java b/packages/SystemUI/src/com/android/systemui/statusbar/KeyguardIndicationController.java index fd76a79eab2ef..ca12deb3904eb 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/KeyguardIndicationController.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/KeyguardIndicationController.java @@ -43,6 +43,7 @@ import com.android.internal.annotations.VisibleForTesting; import com.android.internal.app.IBatteryStats; import com.android.internal.logging.nano.MetricsProto; import com.android.internal.widget.LockPatternUtils; +import com.android.internal.widget.ViewClippingUtil; import com.android.keyguard.KeyguardUpdateMonitor; import com.android.keyguard.KeyguardUpdateMonitorCallback; import com.android.settingslib.Utils; @@ -118,6 +119,13 @@ public class KeyguardIndicationController implements StateListener, private final DevicePolicyManager mDevicePolicyManager; private boolean mDozing; + private final ViewClippingUtil.ClippingParameters mClippingParams = + new ViewClippingUtil.ClippingParameters() { + @Override + public boolean shouldFinish(View view) { + return view == mIndicationArea; + } + }; /** * Creates a new KeyguardIndicationController and registers callbacks. @@ -413,6 +421,7 @@ public class KeyguardIndicationController implements StateListener, R.integer.wired_charging_keyguard_text_animation_duration_down); textView.animate().cancel(); float translation = textView.getTranslationY(); + ViewClippingUtil.setClippingDeactivated(textView, true, mClippingParams); textView.animate() .translationYBy(yTranslation) .setInterpolator(Interpolators.LINEAR) @@ -434,6 +443,8 @@ public class KeyguardIndicationController implements StateListener, @Override public void onAnimationEnd(Animator animation) { if (mCancelled) { + ViewClippingUtil.setClippingDeactivated(textView, false, + mClippingParams); return; } textView.animate() @@ -445,6 +456,12 @@ public class KeyguardIndicationController implements StateListener, public void onAnimationCancel(Animator animation) { textView.setTranslationY(translation); } + + @Override + public void onAnimationEnd(Animator animation) { + ViewClippingUtil.setClippingDeactivated(textView, false, + mClippingParams); + } }); } });