From 3b187b88baf80e520f6bd32d60abe6460d28a040 Mon Sep 17 00:00:00 2001 From: Winson Chung Date: Mon, 30 Jan 2012 15:11:08 -0800 Subject: [PATCH] Fixing issue where AllApps icon would stay dimmed after pressing it (but not launching or long pressing). Change-Id: If60fd76cd1fbef0b235c0a3d0870fd2da4c1b833 --- src/com/android/launcher2/AppsCustomizePagedView.java | 5 +++++ src/com/android/launcher2/PagedViewIcon.java | 11 +++++++---- 2 files changed, 12 insertions(+), 4 deletions(-) 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; } } }