summaryrefslogtreecommitdiffstats
path: root/src/com/android/launcher3/DeleteDropTarget.java
diff options
context:
space:
mode:
authorSunny Goyal <sunnygoyal@google.com>2016-12-13 19:37:10 -0800
committerSunny Goyal <sunnygoyal@google.com>2016-12-13 23:39:16 -0800
commit0f76b56865bd7b63bd21d53aaac47300396aa38f (patch)
tree1b5bd8b01b2860cc1597d6371056c288a199cb55 /src/com/android/launcher3/DeleteDropTarget.java
parent466c4131d88fc951c8eaef7f1f7ade5ac91221e4 (diff)
downloadandroid_packages_apps_Trebuchet-0f76b56865bd7b63bd21d53aaac47300396aa38f.tar.gz
android_packages_apps_Trebuchet-0f76b56865bd7b63bd21d53aaac47300396aa38f.tar.bz2
android_packages_apps_Trebuchet-0f76b56865bd7b63bd21d53aaac47300396aa38f.zip
Refactoring FlingToDelete
> Moving all fling related logic to FlingToDeleteHelper from DragController > Removing fling related methods from DragSource and DropTarget > Moving fling animation logic from DeleteDropTarget to FlingAnimation > Simplifying DropTargetBar to directly look for all valid drop targets. This makes it easier to add new DropTarget in xml. Change-Id: I7214d2d30c907ab93c80d92d9f9be6dda2d63354
Diffstat (limited to 'src/com/android/launcher3/DeleteDropTarget.java')
-rw-r--r--src/com/android/launcher3/DeleteDropTarget.java57
1 files changed, 1 insertions, 56 deletions
diff --git a/src/com/android/launcher3/DeleteDropTarget.java b/src/com/android/launcher3/DeleteDropTarget.java
index 705f84101..9097ed23d 100644
--- a/src/com/android/launcher3/DeleteDropTarget.java
+++ b/src/com/android/launcher3/DeleteDropTarget.java
@@ -16,19 +16,13 @@
package com.android.launcher3;
-import android.animation.TimeInterpolator;
import android.content.Context;
-import android.graphics.PointF;
import android.text.TextUtils;
import android.util.AttributeSet;
import android.view.View;
-import android.view.animation.AnimationUtils;
-import com.android.launcher3.dragndrop.DragLayer;
import com.android.launcher3.dragndrop.DragOptions;
import com.android.launcher3.folder.Folder;
-import com.android.launcher3.util.FlingAnimation;
-import com.android.launcher3.util.Thunk;
public class DeleteDropTarget extends ButtonDropTarget {
@@ -78,7 +72,7 @@ public class DeleteDropTarget extends ButtonDropTarget {
}
@Override
- @Thunk void completeDrop(DragObject d) {
+ public void completeDrop(DragObject d) {
ItemInfo item = d.dragInfo;
if ((d.dragSource instanceof Workspace) || (d.dragSource instanceof Folder)) {
removeWorkspaceOrFolderItem(mLauncher, item, null);
@@ -96,53 +90,4 @@ public class DeleteDropTarget extends ButtonDropTarget {
launcher.getWorkspace().stripEmptyScreens();
launcher.getDragLayer().announceForAccessibility(launcher.getString(R.string.item_removed));
}
-
- @Override
- public void onFlingToDelete(final DragObject d, PointF vel) {
- // Don't highlight the icon as it's animating
- d.dragView.setColor(0);
-
- final DragLayer dragLayer = mLauncher.getDragLayer();
- FlingAnimation fling = new FlingAnimation(d, vel,
- getIconRect(d.dragView.getMeasuredWidth(), d.dragView.getMeasuredHeight(),
- mDrawable.getIntrinsicWidth(), mDrawable.getIntrinsicHeight()),
- dragLayer);
-
- final int duration = fling.getDuration();
- final long startTime = AnimationUtils.currentAnimationTimeMillis();
-
- // NOTE: Because it takes time for the first frame of animation to actually be
- // called and we expect the animation to be a continuation of the fling, we have
- // to account for the time that has elapsed since the fling finished. And since
- // we don't have a startDelay, we will always get call to update when we call
- // start() (which we want to ignore).
- final TimeInterpolator tInterpolator = new TimeInterpolator() {
- private int mCount = -1;
- private float mOffset = 0f;
-
- @Override
- public float getInterpolation(float t) {
- if (mCount < 0) {
- mCount++;
- } else if (mCount == 0) {
- mOffset = Math.min(0.5f, (float) (AnimationUtils.currentAnimationTimeMillis() -
- startTime) / duration);
- mCount++;
- }
- return Math.min(1f, mOffset + t);
- }
- };
-
- Runnable onAnimationEndRunnable = new Runnable() {
- @Override
- public void run() {
- mLauncher.exitSpringLoadedDragMode();
- completeDrop(d);
- mLauncher.getDragController().onDeferredEndFling(d);
- }
- };
-
- dragLayer.animateView(d.dragView, fling, duration, tInterpolator, onAnimationEndRunnable,
- DragLayer.ANIMATION_END_DISAPPEAR, null);
- }
}