From d63458b34c33c0701d8ce8920b3b77abc6ac0e0f Mon Sep 17 00:00:00 2001 From: Joe Onorato Date: Thu, 15 Oct 2009 21:19:09 -0700 Subject: [PATCH] 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 ...home_button.png => home_button_normal.png} | Bin 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 ++++++++++++++---- 11 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 rename res/drawable-hdpi/{home_button.png => home_button_normal.png} (100%) 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 bb842785baa3d609f94b0873fcfcbb0d6614b6fa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3200 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 JPDHLkV1fWE;z9rb literal 0 HcmV?d00001 diff --git a/res/drawable-hdpi/home_button.png b/res/drawable-hdpi/home_button_normal.png similarity index 100% rename from res/drawable-hdpi/home_button.png rename to res/drawable-hdpi/home_button_normal.png diff --git a/res/drawable-hdpi/home_button_pressed.png b/res/drawable-hdpi/home_button_pressed.png new file mode 100644 index 0000000000000000000000000000000000000000..392bc6685fd406da589f0255d99779afa1c60720 GIT binary patch literal 3345 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 literal 0 HcmV?d00001 diff --git a/res/drawable/all_apps_button.xml b/res/drawable/all_apps_button.xml new file mode 100644 index 0000000000..985bdff3fa --- /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 2dd17aa42a..6a41727222 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 ad7b18f9d7..eb87063d60 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 0fe940e42e..3c3ebf02bf 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 b0ea5b0164..29b31a38b1 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 b5074b11e3..6b4eab4efe 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(); + } + } } }