summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Zach Lee <leezach@google.com> 2024-05-07 18:09:47 +0000
committer Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> 2024-05-07 18:09:47 +0000
commitf6e64a6a9c58e8630a2a75a7470b950bf1af0781 (patch)
tree371638ff8e4c920679619b4d70aa1253927744a0
parentc9d2914f0ff703c9f5d79a3f4b5f49c9088d522d (diff)
parent2cc3ec7180b655fa0c56fb8a649216da5673138a (diff)
Merge "Fixed graphical glitch in lockpattern view" into main am: 2c11b9ff46 am: 2cc3ec7180
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/3075785 Change-Id: I05af9089606b78be9d4cd225ff43d734c0bd7394 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-rw-r--r--core/java/com/android/internal/widget/LockPatternView.java9
1 files changed, 8 insertions, 1 deletions
diff --git a/core/java/com/android/internal/widget/LockPatternView.java b/core/java/com/android/internal/widget/LockPatternView.java
index 66b0158fbd67..0734e6827d4d 100644
--- a/core/java/com/android/internal/widget/LockPatternView.java
+++ b/core/java/com/android/internal/widget/LockPatternView.java
@@ -886,9 +886,16 @@ public class LockPatternView extends View {
cellState.activationAnimator.cancel();
}
AnimatorSet animatorSet = new AnimatorSet();
+
+ // When running the line end animation (see doc for createLineEndAnimation), if cell is in:
+ // - activate state - use finger position at the time of hit detection
+ // - deactivate state - use current position where the end was last during initial animation
+ // Note that deactivate state will only come if mKeepDotActivated is themed true.
+ final float startX = activate == CELL_ACTIVATE ? mInProgressX : cellState.lineEndX;
+ final float startY = activate == CELL_ACTIVATE ? mInProgressY : cellState.lineEndY;
AnimatorSet.Builder animatorSetBuilder = animatorSet
.play(createLineDisappearingAnimation())
- .with(createLineEndAnimation(cellState, mInProgressX, mInProgressY,
+ .with(createLineEndAnimation(cellState, startX, startY,
getCenterXForColumn(cell.column), getCenterYForRow(cell.row)));
if (mDotSize != mDotSizeActivated) {
animatorSetBuilder.with(createDotRadiusAnimation(cellState));