From fe41ac641bdef7ea96dcbac59b4f3abdbdff6cfe Mon Sep 17 00:00:00 2001 From: Adam Cohen Date: Wed, 23 May 2012 14:00:37 -0700 Subject: Fix issue with re-order animation not hinting the correct direction Change-Id: I5fdf55615fde974c2cc8ae1276031f413713cb10 --- src/com/android/launcher2/CellLayout.java | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/com/android/launcher2/CellLayout.java b/src/com/android/launcher2/CellLayout.java index 5591c9acc..4837ddd3a 100644 --- a/src/com/android/launcher2/CellLayout.java +++ b/src/com/android/launcher2/CellLayout.java @@ -1942,13 +1942,15 @@ public class CellLayout extends ViewGroup { if (dX == dY && dX == 0) { } else { if (dY == 0) { - deltaX = mReorderHintAnimationMagnitude; + deltaX = - Math.signum(dX) * mReorderHintAnimationMagnitude; } else if (dX == 0) { - deltaY = mReorderHintAnimationMagnitude; + deltaY = - Math.signum(dY) * mReorderHintAnimationMagnitude; } else { double angle = Math.atan( (float) (dY) / dX); - deltaX = (int) (Math.cos(angle) * mReorderHintAnimationMagnitude); - deltaY = (int) (Math.sin(angle) * mReorderHintAnimationMagnitude); + deltaX = (int) (- Math.signum(dX) * + Math.abs(Math.cos(angle) * mReorderHintAnimationMagnitude)); + deltaY = (int) (- Math.signum(dY) * + Math.abs(Math.sin(angle) * mReorderHintAnimationMagnitude)); } } child.setPivotY(child.getMeasuredHeight() * 0.5f); -- cgit v1.2.3