Loading core/java/com/android/internal/widget/LockPatternView.java +13 −8 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -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; Loading Loading @@ -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); Loading Loading @@ -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; Loading Loading @@ -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; } Loading Loading @@ -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); Loading core/res/res/values/dimens.xml +3 −0 Original line number Diff line number Diff line Loading @@ -673,6 +673,9 @@ <item type="dimen" format="float" name="lock_pattern_dot_hit_factor">0.6</item> <!-- Width of a gradient applied to a lock pattern line while its disappearing animation. --> <dimen name="lock_pattern_fade_away_gradient_width">8dp</dimen> <!-- Parameters applied to line disappearing animation in LockPatternView in milliseconds. --> <integer name="lock_pattern_line_fade_out_duration">500</integer> <integer name="lock_pattern_line_fade_out_delay">150</integer> <dimen name="text_handle_min_size">40dp</dimen> Loading core/res/res/values/symbols.xml +2 −0 Original line number Diff line number Diff line Loading @@ -1327,6 +1327,8 @@ <java-symbol type="dimen" name="lock_pattern_dot_size_activated" /> <java-symbol type="dimen" name="lock_pattern_dot_hit_factor" /> <java-symbol type="dimen" name="lock_pattern_fade_away_gradient_width" /> <java-symbol type="integer" name="lock_pattern_line_fade_out_duration" /> <java-symbol type="integer" name="lock_pattern_line_fade_out_delay" /> <java-symbol type="drawable" name="clock_dial" /> <java-symbol type="drawable" name="clock_hand_hour" /> <java-symbol type="drawable" name="clock_hand_minute" /> Loading Loading
core/java/com/android/internal/widget/LockPatternView.java +13 −8 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -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; Loading Loading @@ -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); Loading Loading @@ -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; Loading Loading @@ -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; } Loading Loading @@ -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); Loading
core/res/res/values/dimens.xml +3 −0 Original line number Diff line number Diff line Loading @@ -673,6 +673,9 @@ <item type="dimen" format="float" name="lock_pattern_dot_hit_factor">0.6</item> <!-- Width of a gradient applied to a lock pattern line while its disappearing animation. --> <dimen name="lock_pattern_fade_away_gradient_width">8dp</dimen> <!-- Parameters applied to line disappearing animation in LockPatternView in milliseconds. --> <integer name="lock_pattern_line_fade_out_duration">500</integer> <integer name="lock_pattern_line_fade_out_delay">150</integer> <dimen name="text_handle_min_size">40dp</dimen> Loading
core/res/res/values/symbols.xml +2 −0 Original line number Diff line number Diff line Loading @@ -1327,6 +1327,8 @@ <java-symbol type="dimen" name="lock_pattern_dot_size_activated" /> <java-symbol type="dimen" name="lock_pattern_dot_hit_factor" /> <java-symbol type="dimen" name="lock_pattern_fade_away_gradient_width" /> <java-symbol type="integer" name="lock_pattern_line_fade_out_duration" /> <java-symbol type="integer" name="lock_pattern_line_fade_out_delay" /> <java-symbol type="drawable" name="clock_dial" /> <java-symbol type="drawable" name="clock_hand_hour" /> <java-symbol type="drawable" name="clock_hand_minute" /> Loading