diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/KeyguardIndicationController.java b/packages/SystemUI/src/com/android/systemui/statusbar/KeyguardIndicationController.java index 812c1bb544728..6d6f07481607f 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; @@ -119,6 +120,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. @@ -415,6 +423,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) @@ -436,6 +445,8 @@ public class KeyguardIndicationController implements StateListener, @Override public void onAnimationEnd(Animator animation) { if (mCancelled) { + ViewClippingUtil.setClippingDeactivated(textView, false, + mClippingParams); return; } textView.animate() @@ -447,6 +458,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); + } }); } });