diff --git a/core/java/com/android/internal/widget/LockPatternView.java b/core/java/com/android/internal/widget/LockPatternView.java index 3cbf72034897b..fc5da138d64a2 100644 --- a/core/java/com/android/internal/widget/LockPatternView.java +++ b/core/java/com/android/internal/widget/LockPatternView.java @@ -77,8 +77,6 @@ public class LockPatternView extends View { private static final boolean PROFILE_DRAWING = false; private static final int LINE_END_ANIMATION_DURATION_MILLIS = 50; - private static final int LINE_FADE_OUT_DURATION_MILLIS = 500; - private static final int LINE_FADE_OUT_DELAY_MILLIS = 150; private static final int DOT_ACTIVATION_DURATION_MILLIS = 50; private static final int DOT_RADIUS_INCREASE_DURATION_MILLIS = 96; private static final int DOT_RADIUS_DECREASE_DURATION_MILLIS = 192; @@ -89,6 +87,8 @@ public class LockPatternView extends View { private final int mDotSizeActivated; private final float mDotHitFactor; private final int mPathWidth; + private final int mLineFadeOutAnimationDurationMs; + private final int mLineFadeOutAnimationDelayMs; private boolean mDrawingProfilingStarted = false; @@ -346,6 +346,11 @@ public class LockPatternView extends View { mPathWidth = getResources().getDimensionPixelSize(R.dimen.lock_pattern_dot_line_width); mPathPaint.setStrokeWidth(mPathWidth); + mLineFadeOutAnimationDurationMs = + getResources().getInteger(R.integer.lock_pattern_line_fade_out_duration); + mLineFadeOutAnimationDelayMs = + getResources().getInteger(R.integer.lock_pattern_line_fade_out_delay); + mDotSize = getResources().getDimensionPixelSize(R.dimen.lock_pattern_dot_size); mDotSizeActivated = getResources().getDimensionPixelSize( R.dimen.lock_pattern_dot_size_activated); @@ -831,7 +836,7 @@ public class LockPatternView extends View { deactivateAnimator.setDuration(DOT_ACTIVATION_DURATION_MILLIS); AnimatorSet set = new AnimatorSet(); set.play(deactivateAnimator) - .after(LINE_FADE_OUT_DELAY_MILLIS + LINE_FADE_OUT_DURATION_MILLIS + .after(mLineFadeOutAnimationDelayMs + mLineFadeOutAnimationDurationMs - DOT_ACTIVATION_DURATION_MILLIS * 2) .after(activateAnimator); return set; @@ -862,8 +867,8 @@ public class LockPatternView extends View { private Animator createLineDisappearingAnimation() { ValueAnimator valueAnimator = ValueAnimator.ofFloat(0, 1); valueAnimator.addUpdateListener(animation -> invalidate()); - valueAnimator.setStartDelay(LINE_FADE_OUT_DELAY_MILLIS); - valueAnimator.setDuration(LINE_FADE_OUT_DURATION_MILLIS); + valueAnimator.setStartDelay(mLineFadeOutAnimationDelayMs); + valueAnimator.setDuration(mLineFadeOutAnimationDurationMs); return valueAnimator; } @@ -1278,14 +1283,14 @@ public class LockPatternView extends View { float fadeAwayProgress; if (mFadePattern) { if (elapsedRealtime - lineFadeStart - >= LINE_FADE_OUT_DELAY_MILLIS + LINE_FADE_OUT_DURATION_MILLIS) { + >= mLineFadeOutAnimationDelayMs + mLineFadeOutAnimationDurationMs) { // Time for this segment animation is out so we don't need to draw it. return; } // Set this line segment to fade away animated. fadeAwayProgress = Math.max( - ((float) (elapsedRealtime - lineFadeStart - LINE_FADE_OUT_DELAY_MILLIS)) - / LINE_FADE_OUT_DURATION_MILLIS, 0f); + ((float) (elapsedRealtime - lineFadeStart - mLineFadeOutAnimationDelayMs)) + / mLineFadeOutAnimationDurationMs, 0f); drawFadingAwayLineSegment(canvas, startX, startY, endX, endY, fadeAwayProgress); } else { mPathPaint.setAlpha(255); diff --git a/core/res/res/values/dimens.xml b/core/res/res/values/dimens.xml index 44c5512593750..323c72667c33b 100644 --- a/core/res/res/values/dimens.xml +++ b/core/res/res/values/dimens.xml @@ -673,6 +673,9 @@ 0.6 8dp + + 500 + 150 40dp diff --git a/core/res/res/values/symbols.xml b/core/res/res/values/symbols.xml index 1edd46451a890..2bb3e656f06ab 100644 --- a/core/res/res/values/symbols.xml +++ b/core/res/res/values/symbols.xml @@ -1327,6 +1327,8 @@ + +