merge in jb-release history after reset to master
diff --git a/res/layout-sw600dp/market_button.xml b/res/layout-sw600dp/market_button.xml
index 4ccecd9..3252790 100644
--- a/res/layout-sw600dp/market_button.xml
+++ b/res/layout-sw600dp/market_button.xml
@@ -22,6 +22,7 @@
     android:paddingLeft="32dp"
     android:paddingRight="32dp"
     android:drawablePadding="10dp"
+    android:background="@drawable/tab_widget_indicator_selector"
     android:text="@string/market"
     android:contentDescription="@string/market"
     android:textColor="@color/workspace_all_apps_and_delete_zone_text_color"
diff --git a/src/com/android/launcher2/AppsCustomizePagedView.java b/src/com/android/launcher2/AppsCustomizePagedView.java
index eac3c47..7cfe3be 100644
--- a/src/com/android/launcher2/AppsCustomizePagedView.java
+++ b/src/com/android/launcher2/AppsCustomizePagedView.java
@@ -495,6 +495,11 @@
             // Animate some feedback to the click
             final ApplicationInfo appInfo = (ApplicationInfo) v.getTag();
             mLauncher.startActivitySafely(appInfo.intent, appInfo);
+
+            // Lock the drawable state to pressed until we return to Launcher
+            if (mPressedIcon != null) {
+                mPressedIcon.lockDrawableState();
+            }
         } else if (v instanceof PagedViewWidget) {
             // Let the user know that they have to long press to add a widget
             Toast.makeText(getContext(), R.string.long_press_widget_to_add,
diff --git a/src/com/android/launcher2/PagedView.java b/src/com/android/launcher2/PagedView.java
index afee8b0..7abe6e1 100644
--- a/src/com/android/launcher2/PagedView.java
+++ b/src/com/android/launcher2/PagedView.java
@@ -766,8 +766,8 @@
                 // View.INVISIBLE, preventing re-drawing of their hardware layer
                 for (int i = getChildCount() - 1; i >= 0; i--) {
                     final View v = getPageAt(i);
-                    if (leftScreen <= i && i <= rightScreen &&
-                            v.getAlpha() > ViewConfiguration.ALPHA_THRESHOLD) {
+
+                    if (leftScreen <= i && i <= rightScreen) {
                         v.setVisibility(VISIBLE);
                         drawChild(canvas, v, drawingTime);
                     } else {
diff --git a/src/com/android/launcher2/PagedViewIcon.java b/src/com/android/launcher2/PagedViewIcon.java
index 00f9321..4149ab6 100644
--- a/src/com/android/launcher2/PagedViewIcon.java
+++ b/src/com/android/launcher2/PagedViewIcon.java
@@ -35,7 +35,7 @@
     private static final float PRESS_ALPHA = 0.4f;
 
     private PagedViewIcon.PressedCallback mPressedCallback;
-    private boolean mResetDrawableState = false;
+    private boolean mLockDrawableState = false;
 
     private Bitmap mIcon;
 
@@ -60,8 +60,12 @@
         setTag(info);
     }
 
+    public void lockDrawableState() {
+        mLockDrawableState = true;
+    }
+
     public void resetDrawableState() {
-        mResetDrawableState = true;
+        mLockDrawableState = false;
         post(new Runnable() {
             @Override
             public void run() {
@@ -80,9 +84,8 @@
             if (mPressedCallback != null) {
                 mPressedCallback.iconPressed(this);
             }
-        } else if (mResetDrawableState) {
+        } else if (!mLockDrawableState) {
             setAlpha(1f);
-            mResetDrawableState = false;
         }
     }
 }
diff --git a/src/com/android/launcher2/Workspace.java b/src/com/android/launcher2/Workspace.java
index 8d11aa7..4e03b75 100644
--- a/src/com/android/launcher2/Workspace.java
+++ b/src/com/android/launcher2/Workspace.java
@@ -1660,7 +1660,7 @@
                         rotate.setInterpolator(new DecelerateInterpolator(2.0f));
                         rotate.addUpdateListener(new LauncherAnimatorUpdateListener() {
                                 public void onAnimationUpdate(float a, float b) {
-                                    cl.setRotationY(a * 0f + b * 1f);
+                                    cl.setRotationY(a * mOldRotationYs[i] + b * mNewRotationYs[i]);
                                 }
                             });
                         anim.play(rotate);