am c61cff92: Make the selection indicator and the focus indicator in 3d all apps different colors. Bug 2239818.

Merge commit 'c61cff9299a54599c2b214de7c819b6be0412f4e' into eclair-mr2

* commit 'c61cff9299a54599c2b214de7c819b6be0412f4e':
  Make the selection indicator and the focus indicator in 3d all apps different colors. Bug 2239818.
This commit is contained in:
Joe Onorato
2009-11-09 16:15:25 -08:00
committed by Android Git Automerger
2 changed files with 25 additions and 13 deletions
+15 -8
View File
@@ -213,7 +213,7 @@ public class AllAppsView extends RSSurfaceView
}
// Select the first icon when we gain window focus
mRollo.selectIcon(selection);
mRollo.selectIcon(selection, false);
mRollo.mState.save();
}
}
@@ -232,7 +232,8 @@ public class AllAppsView extends RSSurfaceView
if (!mArrowNavigation && mRollo.mState.iconCount > 0) {
// Select the first icon when we gain keyboard focus
mArrowNavigation = true;
mRollo.selectIcon(Math.round(mRollo.mMessageProc.mPosX) * Defines.COLUMNS_PER_PAGE);
mRollo.selectIcon(Math.round(mRollo.mMessageProc.mPosX) * Defines.COLUMNS_PER_PAGE,
false);
mRollo.mState.save();
}
} else {
@@ -327,7 +328,7 @@ public class AllAppsView extends RSSurfaceView
break;
}
if (newSelection != currentSelection) {
mRollo.selectIcon(newSelection);
mRollo.selectIcon(newSelection, false);
mRollo.mState.save();
}
}
@@ -373,7 +374,7 @@ public class AllAppsView extends RSSurfaceView
mRollo.clearSelectedIcon();
} else {
mDownIconIndex = mCurrentIconIndex
= mRollo.selectIcon(x, y, mRollo.mMessageProc.mPosX);
= mRollo.selectIcon(x, y, mRollo.mMessageProc.mPosX, true);
if (mDownIconIndex < 0) {
// if nothing was selected, no long press.
cancelLongPress();
@@ -1171,13 +1172,19 @@ public class AllAppsView extends RSSurfaceView
*
* @return the index of the icon that was selected.
*/
int selectIcon(int x, int y, float pos) {
int selectIcon(int x, int y, float pos, boolean selected) {
final int index = chooseTappedIcon(x, y, pos);
selectIcon(index);
selectIcon(index, selected);
return index;
}
void selectIcon(int index) {
/**
* Select the icon at the given index.
*
* @param index The index.
* @param selected True if selected, false if just focused (they get different colors).
*/
void selectIcon(int index, boolean selected) {
if (mAllAppsList == null || index < 0 || index >= mAllAppsList.size()) {
mState.selectedIconIndex = -1;
} else {
@@ -1186,7 +1193,7 @@ public class AllAppsView extends RSSurfaceView
Bitmap selectionBitmap = mSelectionBitmap;
Utilities.drawSelectedAllAppsBitmap(mSelectionCanvas,
selectionBitmap.getWidth(), selectionBitmap.getHeight(),
selectionBitmap.getWidth(), selectionBitmap.getHeight(), selected,
mAllAppsList.get(index).iconBitmap);
mSelectedIcon = Allocation.createFromBitmap(mRS, selectionBitmap,
+10 -5
View File
@@ -54,7 +54,8 @@ final class Utilities {
private static final Paint sPaint = new Paint();
private static final Paint sBlurPaint = new Paint();
private static final Paint sGlowColorPaint = new Paint();
private static final Paint sGlowColorSelectedPaint = new Paint();
private static final Paint sGlowColorFocusedPaint = new Paint();
private static final Paint sEmptyPaint = new Paint();
private static final Rect sBounds = new Rect();
private static final Rect sOldBounds = new Rect();
@@ -245,7 +246,8 @@ final class Utilities {
}
}
static void drawSelectedAllAppsBitmap(Canvas dest, int destWidth, int destHeight, Bitmap src) {
static void drawSelectedAllAppsBitmap(Canvas dest, int destWidth, int destHeight,
boolean selected, Bitmap src) {
synchronized (sCanvas) { // we share the statics :-(
if (sIconWidth == -1) {
// We can't have gotten to here without src being initialized, which
@@ -261,7 +263,8 @@ final class Utilities {
float px = (destWidth - src.getWidth()) / 2;
float py = (destHeight - src.getHeight()) / 2;
dest.drawBitmap(mask, px + xy[0], py + xy[1], sGlowColorPaint);
dest.drawBitmap(mask, px + xy[0], py + xy[1],
selected ? sGlowColorSelectedPaint : sGlowColorFocusedPaint);
mask.recycle();
}
@@ -339,8 +342,10 @@ final class Utilities {
sIconTextureWidth = sIconTextureHeight = roundToPow2(sIconWidth);
sBlurPaint.setMaskFilter(new BlurMaskFilter(5 * density, BlurMaskFilter.Blur.NORMAL));
sGlowColorPaint.setColor(0xffff9000);
sGlowColorPaint.setMaskFilter(TableMaskFilter.CreateClipTable(0, 30));
sGlowColorSelectedPaint.setColor(0xffffc300);
sGlowColorSelectedPaint.setMaskFilter(TableMaskFilter.CreateClipTable(0, 30));
sGlowColorFocusedPaint.setColor(0xffff8e00);
sGlowColorFocusedPaint.setMaskFilter(TableMaskFilter.CreateClipTable(0, 30));
}
static class BubbleText {