mirror of
https://github.com/LawnchairLauncher/lawnchair.git
synced 2026-02-27 15:26:58 +00:00
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.
This commit is contained in:
Binary file not shown.
|
Before Width: | Height: | Size: 3.1 KiB |
BIN
res/drawable-hdpi/all_apps_button_normal.png
Normal file
BIN
res/drawable-hdpi/all_apps_button_normal.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.5 KiB |
BIN
res/drawable-hdpi/all_apps_button_pressed.png
Normal file
BIN
res/drawable-hdpi/all_apps_button_pressed.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.5 KiB |
|
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 3.3 KiB |
BIN
res/drawable-hdpi/home_button_pressed.png
Normal file
BIN
res/drawable-hdpi/home_button_pressed.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 3.3 KiB |
23
res/drawable/all_apps_button.xml
Normal file
23
res/drawable/all_apps_button.xml
Normal file
@@ -0,0 +1,23 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Copyright (C) 2008 The Android Open Source Project
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
|
||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item android:state_pressed="true" android:drawable="@drawable/all_apps_button_pressed" />
|
||||
<item android:state_focused="true" android:state_window_focused="true" android:drawable="@drawable/all_apps_button_pressed" />
|
||||
<item android:state_focused="true" android:state_window_focused="false" android:drawable="@drawable/all_apps_button_normal" />
|
||||
<item android:drawable="@drawable/all_apps_button_normal" />
|
||||
</selector>
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user