Changing AllApps checked visualization, fixing drag offset issue in AllApps/Customize.

- fixing previous change which clobbered pressed/focused state padding

Change-Id: I229d803322554e51bc9c1f15d3687b01b0f6679f
diff --git a/src/com/android/launcher2/PagedViewIcon.java b/src/com/android/launcher2/PagedViewIcon.java
index fbc67d8..884884e 100644
--- a/src/com/android/launcher2/PagedViewIcon.java
+++ b/src/com/android/launcher2/PagedViewIcon.java
@@ -16,6 +16,7 @@
 
 package com.android.launcher2;
 
+import android.animation.ObjectAnimator;
 import android.content.Context;
 import android.content.pm.PackageManager;
 import android.content.pm.ResolveInfo;
@@ -28,7 +29,6 @@
 import android.os.Message;
 import android.util.AttributeSet;
 import android.widget.Checkable;
-import android.widget.TextView;
 
 import com.android.launcher.R;
 import com.android.launcher2.PagedView.PagedViewIconCache;
@@ -56,6 +56,10 @@
     private int mHolographicAlpha;
 
     private boolean mIsChecked;
+    private ObjectAnimator mCheckedAlphaAnimator;
+    private final static float sCheckedAlpha = 0.4f;
+    private final static int sCheckedFadeInDuration = 150;
+    private final static int sCheckedFadeOutDuration = 200;
 
     // Highlight colors
     private int mHoloBlurColor;
@@ -230,19 +234,24 @@
         if (mIsChecked != checked) {
             mIsChecked = checked;
 
+            float alpha;
+            int duration;
             if (mIsChecked) {
-                mCheckedOutline = Bitmap.createBitmap(mIcon.getWidth(), mIcon.getHeight(),
-                        Bitmap.Config.ARGB_8888);
-                Canvas checkedOutlineCanvas = new Canvas(mCheckedOutline);
-                mPaint.setAlpha(255);
-                checkedOutlineCanvas.drawBitmap(mIcon, 0, 0, mPaint);
-
-                sHolographicOutlineHelper.applyThickExpensiveOutlineWithBlur(mCheckedOutline,
-                        checkedOutlineCanvas, mCheckedBlurColor, mCheckedOutlineColor);
+                alpha = sCheckedAlpha;
+                duration = sCheckedFadeInDuration;
             } else {
-                invalidateCheckedImage();
+                alpha = 1.0f;
+                duration = sCheckedFadeOutDuration;
             }
 
+            // Initialize the animator
+            if (mCheckedAlphaAnimator != null) {
+                mCheckedAlphaAnimator.cancel();
+            }
+            mCheckedAlphaAnimator = ObjectAnimator.ofFloat(this, "alpha", alpha);
+            mCheckedAlphaAnimator.setDuration(duration);
+            mCheckedAlphaAnimator.start();
+
             invalidate();
         }
     }