Merge "Fixing issue where AllApps icon would stay dimmed after pressing it (but not launching or long pressing)."

This commit is contained in:
Winson Chung
2012-01-30 17:53:59 -08:00
committed by Android (Google) Code Review
2 changed files with 12 additions and 4 deletions
@@ -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,
+7 -4
View File
@@ -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;
}
}
}