diff --git a/src/com/android/launcher2/AppsCustomizePagedView.java b/src/com/android/launcher2/AppsCustomizePagedView.java index eac3c47b49..7cfe3be2f4 100644 --- a/src/com/android/launcher2/AppsCustomizePagedView.java +++ b/src/com/android/launcher2/AppsCustomizePagedView.java @@ -495,6 +495,11 @@ public class AppsCustomizePagedView extends PagedViewWithDraggableItems implemen // 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/PagedViewIcon.java b/src/com/android/launcher2/PagedViewIcon.java index 00f9321c65..4149ab618a 100644 --- a/src/com/android/launcher2/PagedViewIcon.java +++ b/src/com/android/launcher2/PagedViewIcon.java @@ -35,7 +35,7 @@ public class PagedViewIcon extends TextView { 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 @@ public class PagedViewIcon extends TextView { 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 @@ public class PagedViewIcon extends TextView { if (mPressedCallback != null) { mPressedCallback.iconPressed(this); } - } else if (mResetDrawableState) { + } else if (!mLockDrawableState) { setAlpha(1f); - mResetDrawableState = false; } } }