From d63458b34c33c0701d8ce8920b3b77abc6ac0e0f Mon Sep 17 00:00:00 2001 From: Joe Onorato Date: Thu, 15 Oct 2009 21:19:09 -0700 Subject: Add pressed states for the all apps button and the home button. We'll need another asset for the selected state, when we do that. This also updates the all apps icon to be a grid. --- res/drawable-hdpi/all_apps_button.png | Bin 3200 -> 0 bytes res/drawable-hdpi/all_apps_button_normal.png | Bin 0 -> 1536 bytes res/drawable-hdpi/all_apps_button_pressed.png | Bin 0 -> 1559 bytes res/drawable-hdpi/home_button.png | Bin 3414 -> 0 bytes res/drawable-hdpi/home_button_normal.png | Bin 0 -> 3414 bytes res/drawable-hdpi/home_button_pressed.png | Bin 0 -> 3345 bytes res/drawable/all_apps_button.xml | 23 +++++++++++++++++++ res/raw/rollo.c | 2 +- res/raw/rollo2.c | 2 +- res/raw/rollo3.c | 2 +- res/raw/rollo4.c | 2 +- src/com/android/launcher2/AllAppsView.java | 31 ++++++++++++++++++++------ 12 files changed, 51 insertions(+), 11 deletions(-) delete mode 100644 res/drawable-hdpi/all_apps_button.png create mode 100644 res/drawable-hdpi/all_apps_button_normal.png create mode 100644 res/drawable-hdpi/all_apps_button_pressed.png delete mode 100644 res/drawable-hdpi/home_button.png create mode 100644 res/drawable-hdpi/home_button_normal.png create mode 100644 res/drawable-hdpi/home_button_pressed.png create mode 100644 res/drawable/all_apps_button.xml diff --git a/res/drawable-hdpi/all_apps_button.png b/res/drawable-hdpi/all_apps_button.png deleted file mode 100644 index bb84278..0000000 Binary files a/res/drawable-hdpi/all_apps_button.png and /dev/null differ diff --git a/res/drawable-hdpi/all_apps_button_normal.png b/res/drawable-hdpi/all_apps_button_normal.png new file mode 100644 index 0000000..c29d3d7 Binary files /dev/null and b/res/drawable-hdpi/all_apps_button_normal.png differ diff --git a/res/drawable-hdpi/all_apps_button_pressed.png b/res/drawable-hdpi/all_apps_button_pressed.png new file mode 100644 index 0000000..4c64d69 Binary files /dev/null and b/res/drawable-hdpi/all_apps_button_pressed.png differ diff --git a/res/drawable-hdpi/home_button.png b/res/drawable-hdpi/home_button.png deleted file mode 100644 index 40fbbfd..0000000 Binary files a/res/drawable-hdpi/home_button.png and /dev/null differ diff --git a/res/drawable-hdpi/home_button_normal.png b/res/drawable-hdpi/home_button_normal.png new file mode 100644 index 0000000..40fbbfd Binary files /dev/null and b/res/drawable-hdpi/home_button_normal.png differ diff --git a/res/drawable-hdpi/home_button_pressed.png b/res/drawable-hdpi/home_button_pressed.png new file mode 100644 index 0000000..392bc66 Binary files /dev/null and b/res/drawable-hdpi/home_button_pressed.png differ diff --git a/res/drawable/all_apps_button.xml b/res/drawable/all_apps_button.xml new file mode 100644 index 0000000..985bdff --- /dev/null +++ b/res/drawable/all_apps_button.xml @@ -0,0 +1,23 @@ + + + + + + + + + + diff --git a/res/raw/rollo.c b/res/raw/rollo.c index 2dd17aa..6a41727 100644 --- a/res/raw/rollo.c +++ b/res/raw/rollo.c @@ -301,7 +301,7 @@ void draw_home_button() { color(1.0f, 1.0f, 1.0f, 1.0f); - bindTexture(NAMED_PFTexLinear, 0, params->homeButtonId); + bindTexture(NAMED_PFTexLinear, 0, state->homeButtonId); float scale = 2.0f / SCREEN_WIDTH_PX; diff --git a/res/raw/rollo2.c b/res/raw/rollo2.c index ad7b18f..eb87063 100644 --- a/res/raw/rollo2.c +++ b/res/raw/rollo2.c @@ -246,7 +246,7 @@ void draw_home_button() { color(1.0f, 1.0f, 1.0f, 1.0f); - bindTexture(NAMED_PFTexLinear, 0, params->homeButtonId); + bindTexture(NAMED_PFTexLinear, 0, state->homeButtonId); float scale = 2.0f / SCREEN_WIDTH_PX; diff --git a/res/raw/rollo3.c b/res/raw/rollo3.c index 0fe940e..3c3ebf0 100644 --- a/res/raw/rollo3.c +++ b/res/raw/rollo3.c @@ -233,7 +233,7 @@ void draw_home_button() { setColor(1.0f, 1.0f, 1.0f, 1.0f); - bindTexture(NAMED_PFTexLinear, 0, params->homeButtonId); + bindTexture(NAMED_PFTexLinear, 0, state->homeButtonId); float scale = 2.0f / SCREEN_WIDTH_PX; diff --git a/res/raw/rollo4.c b/res/raw/rollo4.c index b0ea5b0..29b31a3 100644 --- a/res/raw/rollo4.c +++ b/res/raw/rollo4.c @@ -301,7 +301,7 @@ void draw_home_button() { color(1.0f, 1.0f, 1.0f, 1.0f); - bindTexture(NAMED_PFTexLinear, 0, params->homeButtonId); + bindTexture(NAMED_PFTexLinear, 0, state->homeButtonId); float scale = 2.0f / SCREEN_WIDTH_PX; diff --git a/src/com/android/launcher2/AllAppsView.java b/src/com/android/launcher2/AllAppsView.java index b5074b1..6b4eab4 100644 --- a/src/com/android/launcher2/AllAppsView.java +++ b/src/com/android/launcher2/AllAppsView.java @@ -225,6 +225,8 @@ public class AllAppsView extends RSSurfaceView if (y > mRollo.mTouchYBorders[mRollo.mTouchYBorders.length-1]) { mTouchTracking = TRACKING_HOME; + mRollo.setHomeSelected(true); + mRollo.mState.save(); } else { mTouchTracking = TRACKING_FLING; @@ -258,7 +260,8 @@ public class AllAppsView extends RSSurfaceView case MotionEvent.ACTION_MOVE: case MotionEvent.ACTION_OUTSIDE: if (mTouchTracking == TRACKING_HOME) { - // TODO: highlight? + mRollo.setHomeSelected(y > mRollo.mTouchYBorders[mRollo.mTouchYBorders.length-1]); + mRollo.mState.save(); } else if (mTouchTracking == TRACKING_FLING) { int rawX = (int)ev.getRawX(); int rawY = (int)ev.getRawY(); @@ -306,6 +309,8 @@ public class AllAppsView extends RSSurfaceView if (y > mRollo.mTouchYBorders[mRollo.mTouchYBorders.length-1]) { mLauncher.closeAllApps(true); } + mRollo.setHomeSelected(false); + mRollo.mState.save(); } } else if (mTouchTracking == TRACKING_FLING) { mRollo.mState.newTouchDown = 0; @@ -533,7 +538,8 @@ public class AllAppsView extends RSSurfaceView private SimpleMesh mMesh; private SimpleMesh mMesh2; - private Allocation mHomeButton; + private Allocation mHomeButtonNormal; + private Allocation mHomeButtonPressed; private Allocation[] mIcons; private int[] mIconIds; @@ -595,7 +601,6 @@ public class AllAppsView extends RSSurfaceView public int bubbleBitmapWidth; public int bubbleBitmapHeight; - public int homeButtonId; public int homeButtonWidth; public int homeButtonHeight; public int homeButtonTextureWidth; @@ -610,6 +615,7 @@ public class AllAppsView extends RSSurfaceView public int selectedIconIndex = -1; public int selectedIconTexture; public float zoomTarget; + public int homeButtonId; State() { mType = Type.createFromClass(mRS, State.class, 1, "StateClass"); @@ -814,15 +820,19 @@ public class AllAppsView extends RSSurfaceView mParams.bubbleBitmapWidth = bubble.getBitmapWidth(); mParams.bubbleBitmapHeight = bubble.getBitmapHeight(); - mHomeButton = Allocation.createFromBitmapResource(mRS, mRes, - R.drawable.home_button, Element.RGBA_8888(mRS), false); - mHomeButton.uploadToTexture(0); - mParams.homeButtonId = mHomeButton.getID(); + mHomeButtonNormal = Allocation.createFromBitmapResource(mRS, mRes, + R.drawable.home_button_normal, Element.RGBA_8888(mRS), false); + mHomeButtonNormal.uploadToTexture(0); + mHomeButtonPressed = Allocation.createFromBitmapResource(mRS, mRes, + R.drawable.home_button_pressed, Element.RGBA_8888(mRS), false); + mHomeButtonPressed.uploadToTexture(0); mParams.homeButtonWidth = 76; mParams.homeButtonHeight = 68; mParams.homeButtonTextureWidth = 128; mParams.homeButtonTextureHeight = 128; + mState.homeButtonId = mHomeButtonNormal.getID(); + mParams.save(); mState.save(); @@ -1131,6 +1141,13 @@ public class AllAppsView extends RSSurfaceView mState.selectedIconIndex = -1; } + void setHomeSelected(boolean pressed) { + if (pressed) { + mState.homeButtonId = mHomeButtonPressed.getID(); + } else { + mState.homeButtonId = mHomeButtonNormal.getID(); + } + } } } -- cgit v1.1