diff options
author | Daniel Sandler <dsandler@android.com> | 2010-04-22 14:37:59 -0400 |
---|---|---|
committer | Daniel Sandler <dsandler@android.com> | 2010-04-23 12:37:23 -0400 |
commit | c9b1877f9acf604897c719d70dc99685d10849b5 (patch) | |
tree | 878a47a9d08323eee4a7d92ee5cfa5b88d10d6c9 /res | |
parent | d65d08e709ec0916446100bae0a7276d0800382f (diff) | |
download | android_packages_apps_Trebuchet-c9b1877f9acf604897c719d70dc99685d10849b5.tar.gz android_packages_apps_Trebuchet-c9b1877f9acf604897c719d70dc99685d10849b5.tar.bz2 android_packages_apps_Trebuchet-c9b1877f9acf604897c719d70dc99685d10849b5.zip |
New Launcher feature: "hotseat" icons.
The hotseats are permanent slots on either side of the
AllApps button. Their functions are:
LEFT/BOTTOM: Phone
Launched via the hardcoded class name
com.android.contacts/.ContactsLaunchActivity.
RIGHT/TOP: Browser
Launched by querying to see which application is the
default for URLs, then starting that activity directly.
In the future, it would be ideal to allow an application
with permission to access LauncherProvider to customize
these (icons, contentDescriptions, and Intents).
Bug: 2559083
Change-Id: I56f6e745f8574aa17e28feaa9d2118fb4a715cd4
Diffstat (limited to 'res')
43 files changed, 198 insertions, 31 deletions
diff --git a/res/drawable-hdpi/all_apps_button_focused.png b/res/drawable-hdpi/all_apps_button_focused.png Binary files differindex 94f7b080a..55574ed63 100644 --- a/res/drawable-hdpi/all_apps_button_focused.png +++ b/res/drawable-hdpi/all_apps_button_focused.png diff --git a/res/drawable-hdpi/all_apps_button_normal.png b/res/drawable-hdpi/all_apps_button_normal.png Binary files differindex 188d528aa..7e7ec868d 100644 --- a/res/drawable-hdpi/all_apps_button_normal.png +++ b/res/drawable-hdpi/all_apps_button_normal.png diff --git a/res/drawable-hdpi/all_apps_button_pressed.png b/res/drawable-hdpi/all_apps_button_pressed.png Binary files differindex 600dea9fe..3ccb5afb7 100644 --- a/res/drawable-hdpi/all_apps_button_pressed.png +++ b/res/drawable-hdpi/all_apps_button_pressed.png diff --git a/res/drawable-hdpi/hotseat_bg_center.9.png b/res/drawable-hdpi/hotseat_bg_center.9.png Binary files differnew file mode 100644 index 000000000..0567b7765 --- /dev/null +++ b/res/drawable-hdpi/hotseat_bg_center.9.png diff --git a/res/drawable-hdpi/hotseat_bg_left.9.png b/res/drawable-hdpi/hotseat_bg_left.9.png Binary files differnew file mode 100644 index 000000000..aaf42c4f0 --- /dev/null +++ b/res/drawable-hdpi/hotseat_bg_left.9.png diff --git a/res/drawable-hdpi/hotseat_bg_right.9.png b/res/drawable-hdpi/hotseat_bg_right.9.png Binary files differnew file mode 100644 index 000000000..2b8149b6e --- /dev/null +++ b/res/drawable-hdpi/hotseat_bg_right.9.png diff --git a/res/drawable-hdpi/hotseat_browser_focused.png b/res/drawable-hdpi/hotseat_browser_focused.png Binary files differnew file mode 100644 index 000000000..6044238ca --- /dev/null +++ b/res/drawable-hdpi/hotseat_browser_focused.png diff --git a/res/drawable-hdpi/hotseat_browser_normal.png b/res/drawable-hdpi/hotseat_browser_normal.png Binary files differnew file mode 100644 index 000000000..e6eb94e37 --- /dev/null +++ b/res/drawable-hdpi/hotseat_browser_normal.png diff --git a/res/drawable-hdpi/hotseat_browser_pressed.png b/res/drawable-hdpi/hotseat_browser_pressed.png Binary files differnew file mode 100644 index 000000000..918afb443 --- /dev/null +++ b/res/drawable-hdpi/hotseat_browser_pressed.png diff --git a/res/drawable-hdpi/hotseat_left.png b/res/drawable-hdpi/hotseat_left.png Binary files differnew file mode 100644 index 000000000..5dabf57ec --- /dev/null +++ b/res/drawable-hdpi/hotseat_left.png diff --git a/res/drawable-hdpi/hotseat_phone_focused.png b/res/drawable-hdpi/hotseat_phone_focused.png Binary files differnew file mode 100644 index 000000000..3e84a583b --- /dev/null +++ b/res/drawable-hdpi/hotseat_phone_focused.png diff --git a/res/drawable-hdpi/hotseat_phone_normal.png b/res/drawable-hdpi/hotseat_phone_normal.png Binary files differnew file mode 100644 index 000000000..e8a869c52 --- /dev/null +++ b/res/drawable-hdpi/hotseat_phone_normal.png diff --git a/res/drawable-hdpi/hotseat_phone_pressed.png b/res/drawable-hdpi/hotseat_phone_pressed.png Binary files differnew file mode 100644 index 000000000..dc4ad6e6e --- /dev/null +++ b/res/drawable-hdpi/hotseat_phone_pressed.png diff --git a/res/drawable-hdpi/hotseat_right.png b/res/drawable-hdpi/hotseat_right.png Binary files differnew file mode 100644 index 000000000..114bcb588 --- /dev/null +++ b/res/drawable-hdpi/hotseat_right.png diff --git a/res/drawable-hdpi/trashcan.png b/res/drawable-hdpi/trashcan.png Binary files differindex d356f4533..482fbd888 100644 --- a/res/drawable-hdpi/trashcan.png +++ b/res/drawable-hdpi/trashcan.png diff --git a/res/drawable-hdpi/trashcan_hover.png b/res/drawable-hdpi/trashcan_hover.png Binary files differindex 7dda19e04..484acef59 100644 --- a/res/drawable-hdpi/trashcan_hover.png +++ b/res/drawable-hdpi/trashcan_hover.png diff --git a/res/drawable-land-hdpi/hotseat_bg_center.9.png b/res/drawable-land-hdpi/hotseat_bg_center.9.png Binary files differnew file mode 100644 index 000000000..f6a59fa6d --- /dev/null +++ b/res/drawable-land-hdpi/hotseat_bg_center.9.png diff --git a/res/drawable-land-hdpi/hotseat_bg_left.9.png b/res/drawable-land-hdpi/hotseat_bg_left.9.png Binary files differnew file mode 100644 index 000000000..8320e7392 --- /dev/null +++ b/res/drawable-land-hdpi/hotseat_bg_left.9.png diff --git a/res/drawable-land-hdpi/hotseat_bg_right.9.png b/res/drawable-land-hdpi/hotseat_bg_right.9.png Binary files differnew file mode 100644 index 000000000..2d74f2bb9 --- /dev/null +++ b/res/drawable-land-hdpi/hotseat_bg_right.9.png diff --git a/res/drawable-mdpi/all_apps_button_focused.png b/res/drawable-mdpi/all_apps_button_focused.png Binary files differindex f026ee457..a9d5a3f59 100644 --- a/res/drawable-mdpi/all_apps_button_focused.png +++ b/res/drawable-mdpi/all_apps_button_focused.png diff --git a/res/drawable-mdpi/all_apps_button_normal.png b/res/drawable-mdpi/all_apps_button_normal.png Binary files differindex eb3c85d65..227215b41 100644 --- a/res/drawable-mdpi/all_apps_button_normal.png +++ b/res/drawable-mdpi/all_apps_button_normal.png diff --git a/res/drawable-mdpi/all_apps_button_pressed.png b/res/drawable-mdpi/all_apps_button_pressed.png Binary files differindex 1f44aa14a..e24325242 100644 --- a/res/drawable-mdpi/all_apps_button_pressed.png +++ b/res/drawable-mdpi/all_apps_button_pressed.png diff --git a/res/drawable-mdpi/home_button_focused.png b/res/drawable-mdpi/home_button_focused.png Binary files differindex 75767ef9e..29fcbd069 100644 --- a/res/drawable-mdpi/home_button_focused.png +++ b/res/drawable-mdpi/home_button_focused.png diff --git a/res/drawable-mdpi/home_button_normal.png b/res/drawable-mdpi/home_button_normal.png Binary files differindex 8229bee64..58ff95887 100644 --- a/res/drawable-mdpi/home_button_normal.png +++ b/res/drawable-mdpi/home_button_normal.png diff --git a/res/drawable-mdpi/home_button_pressed.png b/res/drawable-mdpi/home_button_pressed.png Binary files differindex 1ff1a30b8..32337d623 100644 --- a/res/drawable-mdpi/home_button_pressed.png +++ b/res/drawable-mdpi/home_button_pressed.png diff --git a/res/drawable-mdpi/hotseat_bg_center.9.png b/res/drawable-mdpi/hotseat_bg_center.9.png Binary files differnew file mode 100644 index 000000000..fd3636182 --- /dev/null +++ b/res/drawable-mdpi/hotseat_bg_center.9.png diff --git a/res/drawable-mdpi/hotseat_bg_left.9.png b/res/drawable-mdpi/hotseat_bg_left.9.png Binary files differnew file mode 100644 index 000000000..180bcbbb2 --- /dev/null +++ b/res/drawable-mdpi/hotseat_bg_left.9.png diff --git a/res/drawable-mdpi/hotseat_bg_right.9.png b/res/drawable-mdpi/hotseat_bg_right.9.png Binary files differnew file mode 100644 index 000000000..88967a0ac --- /dev/null +++ b/res/drawable-mdpi/hotseat_bg_right.9.png diff --git a/res/drawable-mdpi/hotseat_browser_focused.png b/res/drawable-mdpi/hotseat_browser_focused.png Binary files differnew file mode 100644 index 000000000..de8defc30 --- /dev/null +++ b/res/drawable-mdpi/hotseat_browser_focused.png diff --git a/res/drawable-mdpi/hotseat_browser_normal.png b/res/drawable-mdpi/hotseat_browser_normal.png Binary files differnew file mode 100644 index 000000000..35205a236 --- /dev/null +++ b/res/drawable-mdpi/hotseat_browser_normal.png diff --git a/res/drawable-mdpi/hotseat_browser_pressed.png b/res/drawable-mdpi/hotseat_browser_pressed.png Binary files differnew file mode 100644 index 000000000..d0a072e28 --- /dev/null +++ b/res/drawable-mdpi/hotseat_browser_pressed.png diff --git a/res/drawable-mdpi/hotseat_phone_focused.png b/res/drawable-mdpi/hotseat_phone_focused.png Binary files differnew file mode 100644 index 000000000..15ec1c608 --- /dev/null +++ b/res/drawable-mdpi/hotseat_phone_focused.png diff --git a/res/drawable-mdpi/hotseat_phone_normal.png b/res/drawable-mdpi/hotseat_phone_normal.png Binary files differnew file mode 100644 index 000000000..d759b1f6b --- /dev/null +++ b/res/drawable-mdpi/hotseat_phone_normal.png diff --git a/res/drawable-mdpi/hotseat_phone_pressed.png b/res/drawable-mdpi/hotseat_phone_pressed.png Binary files differnew file mode 100644 index 000000000..fcdf07316 --- /dev/null +++ b/res/drawable-mdpi/hotseat_phone_pressed.png diff --git a/res/drawable-mdpi/trashcan.png b/res/drawable-mdpi/trashcan.png Binary files differindex a8c0fb5b9..4f01d76fd 100644 --- a/res/drawable-mdpi/trashcan.png +++ b/res/drawable-mdpi/trashcan.png diff --git a/res/drawable-mdpi/trashcan_hover.png b/res/drawable-mdpi/trashcan_hover.png Binary files differindex d4fe3a498..fb7474a5f 100644 --- a/res/drawable-mdpi/trashcan_hover.png +++ b/res/drawable-mdpi/trashcan_hover.png diff --git a/res/drawable/hotseat_browser.xml b/res/drawable/hotseat_browser.xml new file mode 100644 index 000000000..3c327bf35 --- /dev/null +++ b/res/drawable/hotseat_browser.xml @@ -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/hotseat_browser_pressed" /> + <item android:state_focused="true" android:state_window_focused="true" android:drawable="@drawable/hotseat_browser_focused" /> + <item android:state_focused="true" android:state_window_focused="false" android:drawable="@drawable/hotseat_browser_normal" /> + <item android:drawable="@drawable/hotseat_browser_normal" /> +</selector> + diff --git a/res/drawable/hotseat_phone.xml b/res/drawable/hotseat_phone.xml new file mode 100644 index 000000000..318a81ebe --- /dev/null +++ b/res/drawable/hotseat_phone.xml @@ -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/hotseat_phone_pressed" /> + <item android:state_focused="true" android:state_window_focused="true" android:drawable="@drawable/hotseat_phone_focused" /> + <item android:state_focused="true" android:state_window_focused="false" android:drawable="@drawable/hotseat_phone_normal" /> + <item android:drawable="@drawable/hotseat_phone_normal" /> +</selector> + diff --git a/res/layout-land/launcher.xml b/res/layout-land/launcher.xml index 44e1cfb55..22b4825bf 100644 --- a/res/layout-land/launcher.xml +++ b/res/layout-land/launcher.xml @@ -75,24 +75,11 @@ android:focusable="true" android:clickable="true" /> - <com.android.launcher2.HandleView - android:id="@+id/all_apps_button" - android:layout_width="@dimen/button_bar_height" - android:layout_height="wrap_content" - android:layout_gravity="right|center_vertical" - - android:focusable="true" - android:clickable="true" - - android:scaleType="center" - android:src="@drawable/all_apps_button" - launcher:direction="vertical" - /> - <com.android.launcher2.DeleteZone android:id="@+id/delete_zone" - android:layout_width="@dimen/button_bar_height" + android:layout_width="@dimen/button_bar_height_portrait" android:layout_height="match_parent" + android:layout_marginBottom="@dimen/half_status_bar_height" android:layout_gravity="right|center_vertical" android:scaleType="center" @@ -101,4 +88,43 @@ launcher:direction="vertical" /> + <RelativeLayout + android:id="@+id/all_apps_button_cluster" + android:layout_height="fill_parent" + android:layout_width="@dimen/button_bar_height_portrait" + android:layout_gravity="right|center_vertical" + android:layout_marginBottom="@dimen/half_status_bar_height" + android:padding="4dip" + > + + <com.android.launcher2.HandleView + style="@style/HotseatButton" + android:id="@+id/all_apps_button" + android:layout_centerInParent="true" + + android:src="@drawable/all_apps_button" + launcher:direction="vertical" + /> + + <ImageView + android:id="@+id/hotseat_left" + style="@style/HotseatButton.Left" + android:layout_below="@id/all_apps_button" + + android:src="@drawable/hotseat_phone" + + android:onClick="launchHotSeat" + /> + + <ImageView + android:id="@+id/hotseat_right" + style="@style/HotseatButton.Right" + android:layout_above="@id/all_apps_button" + + android:src="@drawable/hotseat_browser" + + android:onClick="launchHotSeat" + /> + + </RelativeLayout> </com.android.launcher2.DragLayer> diff --git a/res/layout-port/launcher.xml b/res/layout-port/launcher.xml index b1b1736c9..3b181d136 100644 --- a/res/layout-port/launcher.xml +++ b/res/layout-port/launcher.xml @@ -63,25 +63,11 @@ android:scaleType="center" android:src="@drawable/home_arrows_right" - - android:onClick="nextScreen" - - android:focusable="true" - android:clickable="true" /> - <com.android.launcher2.HandleView - android:id="@+id/all_apps_button" - android:layout_width="wrap_content" - android:layout_height="@dimen/button_bar_height" - android:layout_gravity="bottom|center_horizontal" + android:onClick="nextScreen" android:focusable="true" - android:clickable="true" - - android:scaleType="center" - android:src="@drawable/all_apps_button" - launcher:direction="horizontal" - /> + android:clickable="true" /> <com.android.launcher2.DeleteZone android:id="@+id/delete_zone" @@ -95,4 +81,43 @@ launcher:direction="horizontal" /> + <RelativeLayout + android:id="@+id/all_apps_button_cluster" + android:layout_width="fill_parent" + android:layout_height="@dimen/button_bar_height" + android:layout_gravity="bottom|center_horizontal" + android:padding="4dip" + > + + <com.android.launcher2.HandleView + style="@style/HotseatButton" + android:id="@+id/all_apps_button" + android:layout_centerInParent="true" + + android:src="@drawable/all_apps_button" + launcher:direction="horizontal" + /> + + <ImageView + android:id="@+id/hotseat_left" + style="@style/HotseatButton.Left" + android:layout_toLeftOf="@id/all_apps_button" + + android:src="@drawable/hotseat_phone" + + android:onClick="launchHotSeat" + /> + + <ImageView + android:id="@+id/hotseat_right" + style="@style/HotseatButton.Right" + android:layout_toRightOf="@id/all_apps_button" + + android:src="@drawable/hotseat_browser" + + android:onClick="launchHotSeat" + /> + + </RelativeLayout> + </com.android.launcher2.DragLayer> diff --git a/res/values-land/styles.xml b/res/values-land/styles.xml new file mode 100644 index 000000000..251c717e1 --- /dev/null +++ b/res/values-land/styles.xml @@ -0,0 +1,41 @@ +<?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. +*/ +--> + +<resources> + <style name="HotseatButton"> + <item name="android:paddingTop">12dip</item> + <item name="android:paddingBottom">12dip</item> + <item name="android:background">@drawable/hotseat_bg_center</item> + <item name="android:layout_height">wrap_content</item> + <item name="android:layout_width">fill_parent</item> + <item name="android:scaleType">center</item> + <item name="android:focusable">true</item> + <item name="android:clickable">true</item> + </style> + <style name="HotseatButton.Left"> + <item name="android:layout_marginBottom">4dip</item> + <item name="android:background">@drawable/hotseat_bg_left</item> + </style> + <style name="HotseatButton.Right"> + <item name="android:layout_marginTop">4dip</item> + <item name="android:background">@drawable/hotseat_bg_right</item> + </style> + +</resources> + diff --git a/res/values/dimens.xml b/res/values/dimens.xml index 132a1ce55..5e3bb98ef 100644 --- a/res/values/dimens.xml +++ b/res/values/dimens.xml @@ -16,5 +16,15 @@ <resources> <dimen name="title_texture_width">120px</dimen> + + <!-- height of the bottom row of controls --> <dimen name="button_bar_height">56dip</dimen> + + <!-- so we have access to this dimension in landscape mode even though + button_bar_height changes --> + <dimen name="button_bar_height_portrait">56dip</dimen> + + <!-- roughly half a status bar (for vertically centering the right-hand + button cluster in landscape) --> + <dimen name="half_status_bar_height">12dip</dimen> </resources> diff --git a/res/values/styles.xml b/res/values/styles.xml index f90810fd3..c2082111c 100644 --- a/res/values/styles.xml +++ b/res/values/styles.xml @@ -65,4 +65,23 @@ <item name="android:paddingRight">10dip</item> </style> + <style name="HotseatButton"> + <item name="android:paddingLeft">12dip</item> + <item name="android:paddingRight">12dip</item> + <item name="android:background">@drawable/hotseat_bg_center</item> + <item name="android:layout_width">wrap_content</item> + <item name="android:layout_height">fill_parent</item> + <item name="android:scaleType">center</item> + <item name="android:focusable">true</item> + <item name="android:clickable">true</item> + </style> + <style name="HotseatButton.Left"> + <item name="android:layout_marginLeft">4dip</item> + <item name="android:background">@drawable/hotseat_bg_left</item> + </style> + <style name="HotseatButton.Right"> + <item name="android:layout_marginRight">4dip</item> + <item name="android:background">@drawable/hotseat_bg_right</item> + </style> + </resources> |