summaryrefslogtreecommitdiffstats
path: root/src/com/android/launcher2/DeleteDropTarget.java
diff options
context:
space:
mode:
authorWinson Chung <winsonc@google.com>2012-02-28 18:11:33 -0800
committerWinson Chung <winsonc@google.com>2012-02-29 10:25:41 -0800
commit61967cb17f8fa9ee01f93e9f25a1074559b54cf3 (patch)
tree7749dd23ffc78d1e1a7a6c57f40f5453874a30bd /src/com/android/launcher2/DeleteDropTarget.java
parent483e01b0ae587c891d7ead0bea5a860833f5a1fd (diff)
downloadandroid_packages_apps_Trebuchet-61967cb17f8fa9ee01f93e9f25a1074559b54cf3.tar.gz
android_packages_apps_Trebuchet-61967cb17f8fa9ee01f93e9f25a1074559b54cf3.tar.bz2
android_packages_apps_Trebuchet-61967cb17f8fa9ee01f93e9f25a1074559b54cf3.zip
Fixing flashing icon on delete, and offset of delete animation.
Change-Id: I993f2d8e54cc7052e16f318a09ada80e9b766147
Diffstat (limited to 'src/com/android/launcher2/DeleteDropTarget.java')
-rw-r--r--src/com/android/launcher2/DeleteDropTarget.java38
1 files changed, 11 insertions, 27 deletions
diff --git a/src/com/android/launcher2/DeleteDropTarget.java b/src/com/android/launcher2/DeleteDropTarget.java
index a6b2b5c8b..4621dea85 100644
--- a/src/com/android/launcher2/DeleteDropTarget.java
+++ b/src/com/android/launcher2/DeleteDropTarget.java
@@ -20,22 +20,21 @@ import android.content.Context;
import android.content.res.ColorStateList;
import android.content.res.Configuration;
import android.content.res.Resources;
-import android.graphics.PorterDuff;
-import android.graphics.PorterDuffColorFilter;
import android.graphics.Rect;
import android.graphics.drawable.TransitionDrawable;
import android.util.AttributeSet;
import android.view.View;
import android.view.ViewGroup;
+import android.view.animation.AccelerateInterpolator;
import android.view.animation.DecelerateInterpolator;
+import android.view.animation.LinearInterpolator;
import com.android.launcher.R;
public class DeleteDropTarget extends ButtonDropTarget {
- private static int DELETE_ANIMATION_DURATION = 250;
+ private static int DELETE_ANIMATION_DURATION = 300;
private ColorStateList mOriginalTextColor;
- private int mHoverColor = 0xFFFF0000;
private TransitionDrawable mUninstallDrawable;
private TransitionDrawable mRemoveDrawable;
private TransitionDrawable mCurrentDrawable;
@@ -58,8 +57,6 @@ public class DeleteDropTarget extends ButtonDropTarget {
// Get the hover color
Resources r = getResources();
mHoverColor = r.getColor(R.color.delete_target_hover_tint);
- mHoverPaint.setColorFilter(new PorterDuffColorFilter(
- mHoverColor, PorterDuff.Mode.SRC_ATOP));
mUninstallDrawable = (TransitionDrawable)
r.getDrawable(R.drawable.uninstall_target_selector);
mRemoveDrawable = (TransitionDrawable) r.getDrawable(R.drawable.remove_target_selector);
@@ -162,32 +159,19 @@ public class DeleteDropTarget extends ButtonDropTarget {
if (!d.dragComplete) {
mCurrentDrawable.resetTransition();
setTextColor(mOriginalTextColor);
+ } else {
+ // Restore the hover color if we are deleting
+ d.dragView.setColor(mHoverColor);
}
}
- Rect getDeleteRect(int deleteItemWidth, int deleteItemHeight) {
- DragLayer dragLayer = mLauncher.getDragLayer();
-
- Rect to = new Rect();
- dragLayer.getViewRectRelativeToSelf(this, to);
- int width = mCurrentDrawable.getIntrinsicWidth();
- int height = mCurrentDrawable.getIntrinsicHeight();
- to.set(to.left + getPaddingLeft(), to.top + getPaddingTop(),
- to.left + getPaddingLeft() + width, to.bottom);
-
- // Center the destination rect about the trash icon
- int xOffset = (int) -(deleteItemWidth - width) / 2;
- int yOffset = (int) -(deleteItemHeight - height) / 2;
- to.offset(xOffset, yOffset);
-
- return to;
- }
-
private void animateToTrashAndCompleteDrop(final DragObject d) {
DragLayer dragLayer = mLauncher.getDragLayer();
Rect from = new Rect();
dragLayer.getViewRectRelativeToSelf(d.dragView, from);
- Rect to = getDeleteRect(d.dragView.getMeasuredWidth(), d.dragView.getMeasuredHeight());
+ Rect to = getIconRect(d.dragView.getMeasuredWidth(), d.dragView.getMeasuredHeight(),
+ mCurrentDrawable.getIntrinsicWidth(), mCurrentDrawable.getIntrinsicHeight());
+ float scale = (float) to.width() / from.width();
mSearchDropTargetBar.deferOnDragEnd();
Runnable onAnimationEndRunnable = new Runnable() {
@@ -198,9 +182,9 @@ public class DeleteDropTarget extends ButtonDropTarget {
completeDrop(d);
}
};
- dragLayer.animateView(d.dragView, from, to, 0.1f, 1, 1, 0.1f, 0.1f,
+ dragLayer.animateView(d.dragView, from, to, scale, 1f, 1f, 0.1f, 0.1f,
DELETE_ANIMATION_DURATION, new DecelerateInterpolator(2),
- new DecelerateInterpolator(1.5f), onAnimationEndRunnable,
+ new LinearInterpolator(), onAnimationEndRunnable,
DragLayer.ANIMATION_END_DISAPPEAR, null);
}