diff options
author | Sunny Goyal <sunnygoyal@google.com> | 2016-12-13 19:37:10 -0800 |
---|---|---|
committer | Sunny Goyal <sunnygoyal@google.com> | 2016-12-13 23:39:16 -0800 |
commit | 0f76b56865bd7b63bd21d53aaac47300396aa38f (patch) | |
tree | 1b5bd8b01b2860cc1597d6371056c288a199cb55 /src/com/android/launcher3/DeleteDropTarget.java | |
parent | 466c4131d88fc951c8eaef7f1f7ade5ac91221e4 (diff) | |
download | android_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.java | 57 |
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); - } } |