summaryrefslogtreecommitdiffstats
path: root/src/com/android/launcher2/DeleteDropTarget.java
diff options
context:
space:
mode:
authorWinson Chung <winsonc@google.com>2012-05-29 17:03:45 -0700
committerWinson Chung <winsonc@google.com>2012-05-29 17:04:43 -0700
commit6e1bdaf4198f9eb7b4124550d3ad07da2a0226e4 (patch)
tree23d0a219865fd0ecc3d74f76535653330818e56e /src/com/android/launcher2/DeleteDropTarget.java
parent68f681bc7a10fc014ae0864c6e2db465ce4c30df (diff)
downloadandroid_packages_apps_Trebuchet-6e1bdaf4198f9eb7b4124550d3ad07da2a0226e4.tar.gz
android_packages_apps_Trebuchet-6e1bdaf4198f9eb7b4124550d3ad07da2a0226e4.tar.bz2
android_packages_apps_Trebuchet-6e1bdaf4198f9eb7b4124550d3ad07da2a0226e4.zip
Lowering the threshold for flinging on larger devices. (Bug 6575670)
Change-Id: I969057d6135babef430c60f5b2705179210719bb
Diffstat (limited to 'src/com/android/launcher2/DeleteDropTarget.java')
-rw-r--r--src/com/android/launcher2/DeleteDropTarget.java18
1 files changed, 10 insertions, 8 deletions
diff --git a/src/com/android/launcher2/DeleteDropTarget.java b/src/com/android/launcher2/DeleteDropTarget.java
index 1edc2abe9..949c035ea 100644
--- a/src/com/android/launcher2/DeleteDropTarget.java
+++ b/src/com/android/launcher2/DeleteDropTarget.java
@@ -39,7 +39,8 @@ import com.android.launcher.R;
public class DeleteDropTarget extends ButtonDropTarget {
private static int DELETE_ANIMATION_DURATION = 285;
- private static int FLIND_DELETE_ANIMATION_DURATION = 350;
+ private static int FLING_DELETE_ANIMATION_DURATION = 350;
+ private static float FLING_TO_DELETE_FRICTION = 0.035f;
private static int MODE_FLING_DELETE_TO_TRASH = 0;
private static int MODE_FLING_DELETE_ALONG_VECTOR = 1;
@@ -311,22 +312,22 @@ public class DeleteDropTarget extends ButtonDropTarget {
* progressively.
*/
private static class FlingAlongVectorAnimatorUpdateListener implements AnimatorUpdateListener {
- private static float FRICTION = 0.93f;
-
private DragLayer mDragLayer;
private PointF mVelocity;
private Rect mFrom;
private long mPrevTime;
private boolean mHasOffsetForScale;
+ private float mFriction;
private final TimeInterpolator mAlphaInterpolator = new DecelerateInterpolator(0.75f);
public FlingAlongVectorAnimatorUpdateListener(DragLayer dragLayer, PointF vel, Rect from,
- long startTime) {
+ long startTime, float friction) {
mDragLayer = dragLayer;
mVelocity = vel;
mFrom = from;
mPrevTime = startTime;
+ mFriction = 1f - (dragLayer.getResources().getDisplayMetrics().density * friction);
}
@Override
@@ -352,8 +353,8 @@ public class DeleteDropTarget extends ButtonDropTarget {
dragView.setTranslationY(mFrom.top);
dragView.setAlpha(1f - mAlphaInterpolator.getInterpolation(t));
- mVelocity.x *= FRICTION;
- mVelocity.y *= FRICTION;
+ mVelocity.x *= mFriction;
+ mVelocity.y *= mFriction;
mPrevTime = curTime;
}
};
@@ -363,7 +364,8 @@ public class DeleteDropTarget extends ButtonDropTarget {
final Rect from = new Rect();
dragLayer.getViewRectRelativeToSelf(d.dragView, from);
- return new FlingAlongVectorAnimatorUpdateListener(dragLayer, vel, from, startTime);
+ return new FlingAlongVectorAnimatorUpdateListener(dragLayer, vel, from, startTime,
+ FLING_TO_DELETE_FRICTION);
}
public void onFlingToDelete(final DragObject d, int x, int y, PointF vel) {
@@ -385,7 +387,7 @@ public class DeleteDropTarget extends ButtonDropTarget {
final ViewConfiguration config = ViewConfiguration.get(mLauncher);
final DragLayer dragLayer = mLauncher.getDragLayer();
- final int duration = FLIND_DELETE_ANIMATION_DURATION;
+ final int duration = FLING_DELETE_ANIMATION_DURATION;
final long startTime = AnimationUtils.currentAnimationTimeMillis();
// NOTE: Because it takes time for the first frame of animation to actually be