Adding animations when dropping on delete / uninstall drop target

-> issue 5043661

Change-Id: I4e4830acc15e006e637b35c3d0dcc72c23414b95
diff --git a/src/com/android/launcher2/SearchDropTargetBar.java b/src/com/android/launcher2/SearchDropTargetBar.java
index 201daab..ee3ab18 100644
--- a/src/com/android/launcher2/SearchDropTargetBar.java
+++ b/src/com/android/launcher2/SearchDropTargetBar.java
@@ -50,6 +50,7 @@
     private ButtonDropTarget mInfoDropTarget;
     private ButtonDropTarget mDeleteDropTarget;
     private int mBarHeight;
+    private boolean mDeferOnDragEnd = false;
 
     public SearchDropTargetBar(Context context, AttributeSet attrs) {
         this(context, attrs, 0);
@@ -80,6 +81,9 @@
         mDeleteDropTarget = (ButtonDropTarget) mDropTargetBar.findViewById(R.id.delete_target);
         mBarHeight = getResources().getDimensionPixelSize(R.dimen.qsb_bar_height);
 
+        mInfoDropTarget.setSearchDropTargetBar(this);
+        mDeleteDropTarget.setSearchDropTargetBar(this);
+
         boolean enableDropDownDropTargets =
             getResources().getBoolean(R.bool.config_useDropTargetDownTransition);
 
@@ -191,14 +195,22 @@
         }
     }
 
+    public void deferOnDragEnd() {
+        mDeferOnDragEnd = true;
+    }
+
     @Override
     public void onDragEnd() {
-        // Restore the QSB search bar, and animate out the drop target bar
-        mDropTargetBarFadeInAnim.cancel();
-        mDropTargetBarFadeOutAnim.start();
-        if (!mIsSearchBarHidden) {
-            mQSBSearchBarFadeOutAnim.cancel();
-            mQSBSearchBarFadeInAnim.start();
+        if (!mDeferOnDragEnd) {
+            // Restore the QSB search bar, and animate out the drop target bar
+            mDropTargetBarFadeInAnim.cancel();
+            mDropTargetBarFadeOutAnim.start();
+            if (!mIsSearchBarHidden) {
+                mQSBSearchBarFadeOutAnim.cancel();
+                mQSBSearchBarFadeInAnim.start();
+            }
+        } else {
+            mDeferOnDragEnd = false;
         }
     }
 }