diff options
author | Michael Jurka <mikejurka@google.com> | 2010-08-03 13:53:20 -0700 |
---|---|---|
committer | Michael Jurka <mikejurka@google.com> | 2010-08-03 14:10:37 -0700 |
commit | 2c3af5ffb21039a73107ef70723d2353146ab94a (patch) | |
tree | 5f132a5c6fe02c0c7ea9701b7127135d1a0318f1 | |
parent | 2e9934ecb0287440a7d4bdd1317f6b9fb5020854 (diff) | |
download | android_packages_apps_Trebuchet-2c3af5ffb21039a73107ef70723d2353146ab94a.tar.gz android_packages_apps_Trebuchet-2c3af5ffb21039a73107ef70723d2353146ab94a.tar.bz2 android_packages_apps_Trebuchet-2c3af5ffb21039a73107ef70723d2353146ab94a.zip |
refreshed apps/configure button, added search button
- configure button now has a pressed state (as
do the other two)
- also added a cast to getX() from float->int
because of changes in the view property code
Change-Id: I57dc6e44838f4f4354f8977a3b542e93384b3d7d
-rw-r--r-- | res/drawable-xlarge/all_apps_button.xml | 20 | ||||
-rw-r--r-- | res/drawable-xlarge/all_apps_button_normal.png | bin | 0 -> 3713 bytes | |||
-rw-r--r-- | res/drawable-xlarge/all_apps_button_pressed.png | bin | 0 -> 3467 bytes | |||
-rw-r--r-- | res/drawable-xlarge/configure_button.xml | 20 | ||||
-rw-r--r-- | res/drawable-xlarge/configure_button_normal.png | bin | 0 -> 4228 bytes | |||
-rw-r--r-- | res/drawable-xlarge/configure_button_pressed.png | bin | 0 -> 3718 bytes | |||
-rw-r--r-- | res/drawable-xlarge/search_button.xml | 20 | ||||
-rw-r--r-- | res/drawable-xlarge/search_button_normal.png | bin | 0 -> 6234 bytes | |||
-rw-r--r-- | res/drawable-xlarge/search_button_pressed.png | bin | 0 -> 5798 bytes | |||
-rw-r--r-- | res/drawable/add_button.png | bin | 2372 -> 0 bytes | |||
-rw-r--r-- | res/layout-xlarge/launcher.xml | 38 | ||||
-rw-r--r-- | src/com/android/launcher2/Launcher.java | 46 | ||||
-rw-r--r-- | src/com/android/launcher2/Workspace.java | 4 |
13 files changed, 121 insertions, 27 deletions
diff --git a/res/drawable-xlarge/all_apps_button.xml b/res/drawable-xlarge/all_apps_button.xml new file mode 100644 index 000000000..1e654f0af --- /dev/null +++ b/res/drawable-xlarge/all_apps_button.xml @@ -0,0 +1,20 @@ +<?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:drawable="@drawable/all_apps_button_normal" /> +</selector> diff --git a/res/drawable-xlarge/all_apps_button_normal.png b/res/drawable-xlarge/all_apps_button_normal.png Binary files differnew file mode 100644 index 000000000..095ce635f --- /dev/null +++ b/res/drawable-xlarge/all_apps_button_normal.png diff --git a/res/drawable-xlarge/all_apps_button_pressed.png b/res/drawable-xlarge/all_apps_button_pressed.png Binary files differnew file mode 100644 index 000000000..50e47354a --- /dev/null +++ b/res/drawable-xlarge/all_apps_button_pressed.png diff --git a/res/drawable-xlarge/configure_button.xml b/res/drawable-xlarge/configure_button.xml new file mode 100644 index 000000000..b29265291 --- /dev/null +++ b/res/drawable-xlarge/configure_button.xml @@ -0,0 +1,20 @@ +<?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/configure_button_pressed" /> + <item android:drawable="@drawable/configure_button_normal" /> +</selector> diff --git a/res/drawable-xlarge/configure_button_normal.png b/res/drawable-xlarge/configure_button_normal.png Binary files differnew file mode 100644 index 000000000..066f492bd --- /dev/null +++ b/res/drawable-xlarge/configure_button_normal.png diff --git a/res/drawable-xlarge/configure_button_pressed.png b/res/drawable-xlarge/configure_button_pressed.png Binary files differnew file mode 100644 index 000000000..536ed7c3b --- /dev/null +++ b/res/drawable-xlarge/configure_button_pressed.png diff --git a/res/drawable-xlarge/search_button.xml b/res/drawable-xlarge/search_button.xml new file mode 100644 index 000000000..6d5d949be --- /dev/null +++ b/res/drawable-xlarge/search_button.xml @@ -0,0 +1,20 @@ +<?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/search_button_pressed" /> + <item android:drawable="@drawable/search_button_normal" /> +</selector> diff --git a/res/drawable-xlarge/search_button_normal.png b/res/drawable-xlarge/search_button_normal.png Binary files differnew file mode 100644 index 000000000..3a3045a86 --- /dev/null +++ b/res/drawable-xlarge/search_button_normal.png diff --git a/res/drawable-xlarge/search_button_pressed.png b/res/drawable-xlarge/search_button_pressed.png Binary files differnew file mode 100644 index 000000000..8ae6b167b --- /dev/null +++ b/res/drawable-xlarge/search_button_pressed.png diff --git a/res/drawable/add_button.png b/res/drawable/add_button.png Binary files differdeleted file mode 100644 index 0edcfa380..000000000 --- a/res/drawable/add_button.png +++ /dev/null diff --git a/res/layout-xlarge/launcher.xml b/res/layout-xlarge/launcher.xml index f0564cab8..fa323fd0c 100644 --- a/res/layout-xlarge/launcher.xml +++ b/res/layout-xlarge/launcher.xml @@ -45,30 +45,38 @@ <include android:id="@+id/cell5" layout="@layout/workspace_screen" /> </com.android.launcher2.Workspace> + <ImageView + android:id="@+id/search_button" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:src="@drawable/search_button" + + android:onClick="onClickSearchButton" + android:focusable="true" + android:clickable="true" + android:layout_gravity="top|left"/> <RelativeLayout android:id="@+id/all_apps_button_cluster" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="top|right"> - <com.android.launcher2.HandleView - style="@style/HotseatButton" - android:id="@+id/all_apps_button" - android:layout_height="@dimen/button_bar_height" - android:layout_width="@dimen/button_bar_height" - - android:src="@drawable/all_apps_button" - launcher:direction="horizontal" /> <ImageView - android:id="@+id/add_button" + android:id="@+id/configure_button" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:layout_toRightOf="@id/all_apps_button" + android:src="@drawable/configure_button" - android:layout_centerVertical="true" - android:scaleType="center" - android:src="@drawable/add_button" + android:onClick="onClickConfigureButton" + android:focusable="true" + android:clickable="true" /> + <ImageView + android:id="@+id/all_apps_button" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_toRightOf="@id/configure_button" + android:src="@drawable/all_apps_button" - android:onClick="onClickAddButton" + android:onClick="onClickAllAppsButton" android:focusable="true" android:clickable="true" /> <com.android.launcher2.DeleteZone @@ -76,7 +84,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:paddingTop="@dimen/delete_zone_padding" - android:layout_toRightOf="@id/all_apps_button" + android:layout_toRightOf="@id/configure_button" android:scaleType="center" android:src="@drawable/delete_zone_selector" diff --git a/src/com/android/launcher2/Launcher.java b/src/com/android/launcher2/Launcher.java index 1a085a382..b20edbe4e 100644 --- a/src/com/android/launcher2/Launcher.java +++ b/src/com/android/launcher2/Launcher.java @@ -34,8 +34,8 @@ import android.content.ContentResolver; import android.content.Context; import android.content.DialogInterface; import android.content.Intent; -import android.content.Intent.ShortcutIconResource; import android.content.IntentFilter; +import android.content.Intent.ShortcutIconResource; import android.content.pm.ActivityInfo; import android.content.pm.PackageManager; import android.content.pm.ResolveInfo; @@ -68,12 +68,12 @@ import android.view.Menu; import android.view.MenuItem; import android.view.MotionEvent; import android.view.View; -import android.view.View.OnLongClickListener; import android.view.ViewGroup; import android.view.WindowManager; +import android.view.View.OnLongClickListener; import android.view.animation.Animation; -import android.view.animation.Animation.AnimationListener; import android.view.animation.AnimationUtils; +import android.view.animation.Animation.AnimationListener; import android.view.inputmethod.InputMethodManager; import android.widget.EditText; import android.widget.ImageView; @@ -765,10 +765,13 @@ public final class Launcher extends Activity DeleteZone deleteZone = (DeleteZone) dragLayer.findViewById(R.id.delete_zone); mDeleteZone = deleteZone; - mHandleView = (HandleView) findViewById(R.id.all_apps_button); - mHandleView.setLauncher(this); - mHandleView.setOnClickListener(this); - mHandleView.setOnLongClickListener(this); + View handleView = findViewById(R.id.all_apps_button); + if (handleView != null && handleView instanceof HandleView) { + // we don't use handle view in xlarge mode + mHandleView.setLauncher(this); + mHandleView.setOnClickListener(this); + mHandleView.setOnLongClickListener(this); + } WidgetChooser widgetChooser = (WidgetChooser) findViewById(R.id.widget_chooser); if (widgetChooser != null) { @@ -817,7 +820,7 @@ public final class Launcher extends Activity deleteZone.setDragController(dragController); int deleteZoneHandleId; if (LauncherApplication.isScreenXLarge()) { - deleteZoneHandleId = R.id.add_button; + deleteZoneHandleId = R.id.configure_button; } else { deleteZoneHandleId = R.id.all_apps_button_cluster; } @@ -1593,15 +1596,38 @@ public final class Launcher extends Activity } /** - * Event handler for the "plus" button that appears on the home screen, which + * Event handler for the search button + * + * @param v The view that was clicked. + */ + public void onClickSearchButton(View v) { + Intent i = new Intent(SearchManager.INTENT_ACTION_GLOBAL_SEARCH); + View button = findViewById(R.id.search_button); + i.setSourceBounds( + new Rect(button.getLeft(), button.getTop(), button.getRight(), button.getBottom())); + startActivity(i); + } + + /** + * Event handler for the "gear" button that appears on the home screen, which * enters home screen customization mode. * * @param v The view that was clicked. */ - public void onClickAddButton(View v) { + public void onClickConfigureButton(View v) { addItems(); } + /** + * Event handler for the "grid" button that appears on the home screen, which + * enters all apps mode. + * + * @param v The view that was clicked. + */ + public void onClickAllAppsButton(View v) { + showAllApps(true); + } + void startActivitySafely(Intent intent, Object tag) { intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); try { diff --git a/src/com/android/launcher2/Workspace.java b/src/com/android/launcher2/Workspace.java index 536eba81b..cb37b9231 100644 --- a/src/com/android/launcher2/Workspace.java +++ b/src/com/android/launcher2/Workspace.java @@ -720,8 +720,8 @@ public class Workspace extends ViewGroup for (int i = 0; i < screenCount; i++) { final View child = getChildAt(i); if (child.getVisibility() != View.GONE) { - final int childX = child.getX(); - final int childY = child.getY(); + final int childX = (int)child.getX(); + final int childY = (int)child.getY(); child.layout(childX, childY, childX + child.getMeasuredWidth(), childY + child.getMeasuredHeight()); } |