Extract LockPatternView animation parameters.
Move lock_pattern_line_fade_out_duration and lock_pattern_line_fade_out_delay to resources in order to override it for different devices. Tests: manually Bug: 204870856 Bug: 199436708 Change-Id: I758871d2d7ea62bd0ad55f83fc39b6d916cb2bba (cherry picked from commit 7520086bd06737c00772a4526df637156fb983dd)
This commit is contained in:
@@ -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);
|
||||
|
||||
@@ -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>
|
||||
|
||||
|
||||
@@ -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" />
|
||||
|
||||
Reference in New Issue
Block a user