diff options
author | Jean-Baptiste Queru <jbq@google.com> | 2009-07-29 14:57:06 -0700 |
---|---|---|
committer | Jean-Baptiste Queru <jbq@google.com> | 2009-07-29 14:57:06 -0700 |
commit | ca7d9789b2c9b91c12dc3f4fdbc7bc12501485d2 (patch) | |
tree | 651269bf82c1b4f8a1d46af600a2d4f1eeb4baa4 | |
parent | b2e4d94947995bf65c27169928776d27894d612d (diff) | |
parent | efb38794c880510c943973570eab8301cc269a28 (diff) | |
download | Launcher-ca7d9789b2c9b91c12dc3f4fdbc7bc12501485d2.tar.gz |
merge from donut
55 files changed, 688 insertions, 1306 deletions
diff --git a/AndroidManifest.xml b/AndroidManifest.xml index 72e486b..4e60e66 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -92,10 +92,6 @@ </intent-filter> </activity> - <activity - android:name="GesturesActivity" - android:label="@string/gestures_activity" /> - <!-- Enable system-default search mode for any activity in Home --> <meta-data android:name="android.app.default_searchable" diff --git a/res/drawable-land/search_bg.9.png b/res/drawable-land/search_bg.9.png Binary files differdeleted file mode 100644 index 7f105bd..0000000 --- a/res/drawable-land/search_bg.9.png +++ /dev/null diff --git a/res/drawable-land/spinner_dropdown_background_down.9.png b/res/drawable-land/spinner_dropdown_background_down.9.png Binary files differdeleted file mode 100644 index bb64b78..0000000 --- a/res/drawable-land/spinner_dropdown_background_down.9.png +++ /dev/null diff --git a/res/drawable-land/spinner_dropdown_background_up.9.png b/res/drawable-land/spinner_dropdown_background_up.9.png Binary files differdeleted file mode 100644 index c0e2a66..0000000 --- a/res/drawable-land/spinner_dropdown_background_up.9.png +++ /dev/null diff --git a/res/drawable-port/search_bg.9.png b/res/drawable-port/search_bg.9.png Binary files differdeleted file mode 100644 index b55b545..0000000 --- a/res/drawable-port/search_bg.9.png +++ /dev/null diff --git a/res/drawable/btn_circle.xml b/res/drawable/btn_circle.xml deleted file mode 100644 index 9208010..0000000 --- a/res/drawable/btn_circle.xml +++ /dev/null @@ -1,32 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- Copyright (C) 2009 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_window_focused="false" android:state_enabled="true" - android:drawable="@drawable/btn_circle_normal" /> - <item android:state_window_focused="false" android:state_enabled="false" - android:drawable="@drawable/btn_circle_disable" /> - <item android:state_pressed="true" - android:drawable="@drawable/btn_circle_pressed" /> - <item android:state_focused="true" android:state_enabled="true" - android:drawable="@drawable/btn_circle_selected" /> - <item android:state_enabled="true" - android:drawable="@drawable/btn_circle_normal" /> - <item android:state_focused="true" - android:drawable="@drawable/btn_circle_disable_focused" /> - <item - android:drawable="@drawable/btn_circle_disable" /> -</selector> diff --git a/res/drawable/btn_circle_disable.png b/res/drawable/btn_circle_disable.png Binary files differdeleted file mode 100644 index 33b74a6..0000000 --- a/res/drawable/btn_circle_disable.png +++ /dev/null diff --git a/res/drawable/btn_circle_disable_focused.png b/res/drawable/btn_circle_disable_focused.png Binary files differdeleted file mode 100644 index 005ad8d..0000000 --- a/res/drawable/btn_circle_disable_focused.png +++ /dev/null diff --git a/res/drawable/btn_circle_normal.png b/res/drawable/btn_circle_normal.png Binary files differdeleted file mode 100644 index fc5af1c..0000000 --- a/res/drawable/btn_circle_normal.png +++ /dev/null diff --git a/res/drawable/btn_circle_pressed.png b/res/drawable/btn_circle_pressed.png Binary files differdeleted file mode 100644 index 8f40afd..0000000 --- a/res/drawable/btn_circle_pressed.png +++ /dev/null diff --git a/res/drawable/btn_circle_selected.png b/res/drawable/btn_circle_selected.png Binary files differdeleted file mode 100644 index c74fac2..0000000 --- a/res/drawable/btn_circle_selected.png +++ /dev/null diff --git a/res/drawable/gestures_background.xml b/res/drawable/gestures_background.xml deleted file mode 100755 index 34ec051..0000000 --- a/res/drawable/gestures_background.xml +++ /dev/null @@ -1,20 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- - Copyright (C) 2009 Romain Guy - - 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. ---> - -<bitmap xmlns:android="http://schemas.android.com/apk/res/android" - android:src="@drawable/texture_paper" - android:tileMode="repeat" /> diff --git a/res/drawable/google_logo.png b/res/drawable/google_logo.png Binary files differdeleted file mode 100644 index 54fd5f9..0000000 --- a/res/drawable/google_logo.png +++ /dev/null diff --git a/res/drawable/ic_btn_round_plus.png b/res/drawable/ic_btn_round_plus.png Binary files differdeleted file mode 100644 index 1ec8a95..0000000 --- a/res/drawable/ic_btn_round_plus.png +++ /dev/null diff --git a/res/drawable/placeholder_google.png b/res/drawable/placeholder_google.png Binary files differnew file mode 100644 index 0000000..bc72d34 --- /dev/null +++ b/res/drawable/placeholder_google.png diff --git a/res/drawable/search_floater.9.png b/res/drawable/search_floater.9.png Binary files differindex a2007ad..6646ad3 100644 --- a/res/drawable/search_floater.9.png +++ b/res/drawable/search_floater.9.png diff --git a/res/drawable/spinner_dropdown_background_down.9.png b/res/drawable/spinner_dropdown_background_down.9.png Binary files differdeleted file mode 100644 index 9cb5556..0000000 --- a/res/drawable/spinner_dropdown_background_down.9.png +++ /dev/null diff --git a/res/drawable/spinner_dropdown_background_up.9.png b/res/drawable/spinner_dropdown_background_up.9.png Binary files differdeleted file mode 100644 index 5c93f78..0000000 --- a/res/drawable/spinner_dropdown_background_up.9.png +++ /dev/null diff --git a/res/drawable/texture_paper.jpg b/res/drawable/texture_paper.jpg Binary files differdeleted file mode 100644 index 27f4fd6..0000000 --- a/res/drawable/texture_paper.jpg +++ /dev/null diff --git a/res/layout-land/application_boxed.xml b/res/layout-land/application_boxed.xml index 63d2254..7656b58 100644 --- a/res/layout-land/application_boxed.xml +++ b/res/layout-land/application_boxed.xml @@ -19,6 +19,8 @@ android:layout_width="fill_parent" android:layout_height="88dip" + android:paddingLeft="2dip" + android:paddingRight="2dip" android:paddingTop="5dip" android:paddingBottom="2dip" android:drawablePadding="0dip" diff --git a/res/layout-port/application_boxed.xml b/res/layout-port/application_boxed.xml index e71a2e2..a6991d5 100644 --- a/res/layout-port/application_boxed.xml +++ b/res/layout-port/application_boxed.xml @@ -19,6 +19,8 @@ android:layout_width="fill_parent" android:layout_height="88dip" + android:paddingLeft="2dip" + android:paddingRight="2dip" android:paddingTop="5dip" android:paddingBottom="2dip" android:drawablePadding="0dip" diff --git a/res/layout/gestures.xml b/res/layout/gestures.xml deleted file mode 100644 index c9ea2a5..0000000 --- a/res/layout/gestures.xml +++ /dev/null @@ -1,96 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- Copyright (C) 2009 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. ---> - -<!-- Note: GesturesPanel is a special implementation that forces the widget - to be opaque for performance reasons. Make sure it visually is. --> -<com.android.launcher.GesturesPanel - xmlns:android="http://schemas.android.com/apk/res/android" - - android:id="@+id/gestures_panel" - android:layout_width="fill_parent" - android:layout_height="fill_parent"> - - <ViewSwitcher - android:id="@+id/gestures_actions" - android:layout_width="fill_parent" - android:layout_height="83dip" - android:layout_alignParentBottom="true" - - android:inAnimation="@anim/fade_in_fast" - android:outAnimation="@anim/fade_out_fast" - - android:foregroundGravity="top|fill_horizontal" - android:foreground="@*android:drawable/title_bar_shadow" - android:background="@android:drawable/title_bar_tall"> - - <TextView - android:layout_width="wrap_content" - android:layout_height="fill_parent" - android:layout_gravity="center_horizontal" - - android:gravity="center_vertical" - - android:shadowColor="#FF000000" - android:shadowRadius="2.0" - - android:drawablePadding="8dip" - android:textAppearance="?android:attr/textAppearanceLarge" - android:ellipsize="end" - android:maxLines="2" - android:text="@string/gestures_instructions" /> - - <TextView - android:layout_width="wrap_content" - android:layout_height="fill_parent" - android:layout_gravity="center_horizontal" - - android:gravity="center_vertical" - - android:shadowColor="#FF000000" - android:shadowRadius="2.0" - - android:drawablePadding="8dip" - android:textAppearance="?android:attr/textAppearanceLarge" - android:ellipsize="end" - android:maxLines="2" - android:text="@string/gestures_instructions" /> - - </ViewSwitcher> - - <android.gesture.GestureOverlayView - android:id="@+id/gestures_overlay" - android:layout_width="fill_parent" - android:layout_height="0dip" - android:layout_weight="1.0" - android:layout_alignParentTop="true" - android:layout_above="@id/gestures_actions" - - android:background="@drawable/gestures_background" - - android:gestureStrokeType="multiple" /> - - <ImageButton - style="@style/PlusButton" - - android:id="@+id/gestures_add" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_alignParentRight="true" - android:layout_alignTop="@id/gestures_actions" - android:layout_marginRight="5dip" - android:layout_marginTop="-47dip" /> - -</com.android.launcher.GesturesPanel> diff --git a/res/layout/gestures_settings.xml b/res/layout/gestures_settings.xml deleted file mode 100644 index 4b1976f..0000000 --- a/res/layout/gestures_settings.xml +++ /dev/null @@ -1,37 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- Copyright (C) 2009 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. ---> - -<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" - android:layout_width="fill_parent" - android:layout_height="fill_parent"> - - <ListView - android:id="@android:id/list" - android:layout_width="fill_parent" - android:layout_height="fill_parent" /> - - <TextView - android:id="@android:id/empty" - android:layout_width="fill_parent" - android:layout_height="wrap_content" - android:layout_gravity="center_vertical" - - android:gravity="center_horizontal" - - android:text="@string/gestures_loading" - android:textAppearance="?android:attr/textAppearanceMedium" /> - -</FrameLayout> diff --git a/res/layout/gestures_settings_item.xml b/res/layout/gestures_settings_item.xml deleted file mode 100644 index 1563dfe..0000000 --- a/res/layout/gestures_settings_item.xml +++ /dev/null @@ -1,31 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- Copyright (C) 2009 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. ---> - -<TextView xmlns:android="http://schemas.android.com/apk/res/android" - android:id="@android:id/text1" - android:layout_width="fill_parent" - android:layout_height="wrap_content" - - android:gravity="center_vertical" - android:minHeight="?android:attr/listPreferredItemHeight" - - android:drawablePadding="12dip" - android:paddingLeft="6dip" - android:paddingRight="6dip" - - android:ellipsize="marquee" - android:singleLine="true" - android:textAppearance="?android:attr/textAppearanceLarge" /> diff --git a/res/drawable/spinner_dropdown_background.xml b/res/layout/list_category.xml index 9c37286..1e8d04c 100644 --- a/res/drawable/spinner_dropdown_background.xml +++ b/res/layout/list_category.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<!-- Copyright (C) 2008 The Android Open Source Project +<!-- Copyright (C) 2009 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. @@ -14,9 +14,5 @@ limitations under the License. --> -<selector xmlns:android="http://schemas.android.com/apk/res/android"> - <item android:state_above_anchor="true" - android:drawable="@drawable/spinner_dropdown_background_up" /> - <item android:drawable="@drawable/spinner_dropdown_background_down" /> -</selector> - +<TextView xmlns:android="http://schemas.android.com/apk/res/android" + style="?android:attr/listSeparatorTextViewStyle" /> diff --git a/res/layout/list_checkbox_2lines.xml b/res/layout/list_checkbox_2lines.xml new file mode 100644 index 0000000..ed80c5f --- /dev/null +++ b/res/layout/list_checkbox_2lines.xml @@ -0,0 +1,60 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Copyright (C) 2009 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. +--> + +<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" + android:layout_width="fill_parent" + android:layout_height="wrap_content" + android:minHeight="?android:attr/listPreferredItemHeight" + android:gravity="center_vertical" + android:paddingRight="?android:attr/scrollbarSize"> + + <RelativeLayout + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_marginLeft="15dip" + android:layout_marginRight="6dip" + android:layout_marginTop="6dip" + android:layout_marginBottom="6dip" + android:layout_weight="1"> + + <TextView android:id="@+id/title" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:singleLine="true" + android:textAppearance="?android:attr/textAppearanceLarge" + android:ellipsize="marquee" + android:fadingEdge="horizontal" /> + + <TextView android:id="@+id/summary" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_below="@id/title" + android:layout_alignLeft="@id/title" + android:textAppearance="?android:attr/textAppearanceSmall" + android:maxLines="2" /> + + </RelativeLayout> + + <CheckBox + android:id="@+id/checkbox" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_marginRight="4dip" + android:layout_gravity="center_vertical" + android:focusable="false" + android:clickable="false" /> + +</LinearLayout> diff --git a/res/layout/rename_folder.xml b/res/layout/rename_folder.xml index ba78995..cbb42b4 100644 --- a/res/layout/rename_folder.xml +++ b/res/layout/rename_folder.xml @@ -36,6 +36,7 @@ android:autoText="false" android:capitalize="none" android:gravity="fill_horizontal" + android:maxLength="30" android:textAppearance="?android:attr/textAppearanceMedium" /> </LinearLayout> diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml index f0cc369..c1de7f4 100644 --- a/res/values-cs/strings.xml +++ b/res/values-cs/strings.xml @@ -16,6 +16,7 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="application_name">"Plocha"</string> + <string name="uid_name">"Android Core Apps"</string> <string name="folder_name">"Složka"</string> <string name="chooser_wallpaper">"Vybrat tapetu ze složky"</string> <string name="wallpaper_instructions">"Nastavit tapetu"</string> @@ -26,31 +27,28 @@ <string name="rename_action">"OK"</string> <string name="cancel_action">"Zrušit"</string> <string name="menu_item_add_item">"Přidat na plochu"</string> - <!-- no translation found for group_applications (4118484163419674240) --> - <skip /> - <!-- no translation found for group_shortcuts (9133529424900391877) --> - <skip /> + <string name="group_applications">"Aplikace"</string> + <string name="group_shortcuts">"Klávesové zkratky"</string> <string name="group_search">"Hledat"</string> - <!-- no translation found for group_folder (5143593791798929193) --> - <skip /> - <!-- no translation found for group_live_folders (2664945399140647217) --> - <skip /> - <!-- no translation found for group_widgets (6704978494073105844) --> - <skip /> - <!-- no translation found for group_wallpapers (1568191644272224858) --> - <skip /> + <string name="group_folder">"Nová složka"</string> + <string name="group_live_folders">"Složky"</string> + <string name="group_widgets">"Widgety"</string> + <string name="group_wallpapers">"Tapety"</string> <string name="add_folder">"Složka"</string> <string name="add_clock">"Hodiny"</string> <string name="add_photo_frame">"Rámeček fotografie"</string> <string name="add_search">"Vyhledávání"</string> <string name="out_of_space">"Na této ploše již není místo."</string> + <string name="shortcut_installed">"Zástupce %s je nainstalován."</string> + <string name="shortcut_uninstalled">"Zástupce %s byl odebrán."</string> + <string name="shortcut_duplicate">"Zástupce %s již existuje."</string> <string name="title_select_shortcut">"Vyberte zástupce"</string> - <!-- no translation found for title_select_live_folder (3753447798805166749) --> - <skip /> + <string name="title_select_live_folder">"Vybrat složku"</string> <string name="menu_add">"Přidat"</string> <string name="menu_wallpaper">"Tapeta"</string> <string name="menu_search">"Hledat"</string> <string name="menu_notifications">"Oznámení"</string> + <string name="menu_gestures">"Gesta"</string> <string name="menu_settings">"Nastavení"</string> <string name="permlab_install_shortcut">"instalovat zástupce"</string> <string name="permdesc_install_shortcut">"Povoluje aplikaci přidat zástupce bez zásahu uživatele."</string> diff --git a/res/values-da/strings.xml b/res/values-da/strings.xml new file mode 100644 index 0000000..3050f00 --- /dev/null +++ b/res/values-da/strings.xml @@ -0,0 +1,68 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- Copyright (C) 2009 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 xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <string name="application_name">"Start"</string> + <!-- no translation found for uid_name (3371120195364560632) --> + <skip /> + <string name="folder_name">"Mappe"</string> + <string name="chooser_wallpaper">"Vælg tapet fra"</string> + <string name="wallpaper_instructions">"Angiv tapet"</string> + <string name="pick_wallpaper">"Tapetgalleri"</string> + <string name="activity_not_found">"Programmet er ikke installeret på din telefon."</string> + <string name="rename_folder_label">"Mappenavn"</string> + <string name="rename_folder_title">"Omdøb mappe"</string> + <string name="rename_action">"OK"</string> + <string name="cancel_action">"Annuller"</string> + <string name="menu_item_add_item">"Føj til Startskærm"</string> + <string name="group_applications">"Programmer"</string> + <string name="group_shortcuts">"Genveje"</string> + <string name="group_search">"Søg"</string> + <string name="group_folder">"Ny mappe"</string> + <string name="group_live_folders">"Mapper"</string> + <string name="group_widgets">"Widgets"</string> + <string name="group_wallpapers">"Tapeter"</string> + <string name="add_folder">"Mappe"</string> + <string name="add_clock">"Ur"</string> + <string name="add_photo_frame">"Billedramme"</string> + <string name="add_search">"Søg"</string> + <string name="out_of_space">"Der er ikke mere plads på Startskærmen."</string> + <!-- no translation found for shortcut_installed (6623689857689040689) --> + <skip /> + <!-- no translation found for shortcut_uninstalled (2758997515869993129) --> + <skip /> + <!-- no translation found for shortcut_duplicate (4887186782641532074) --> + <skip /> + <string name="title_select_shortcut">"Vælg genvej"</string> + <string name="title_select_live_folder">"Vælg mappe"</string> + <string name="menu_add">"Tilføj"</string> + <string name="menu_wallpaper">"Tapet"</string> + <string name="menu_search">"Søg"</string> + <string name="menu_notifications">"Meddelelser"</string> + <!-- no translation found for menu_gestures (514678675575912237) --> + <skip /> + <string name="menu_settings">"Indstillinger"</string> + <string name="permlab_install_shortcut">"installer genveje"</string> + <string name="permdesc_install_shortcut">"Tillader et program at tilføje genveje uden brugerindgriben."</string> + <string name="permlab_uninstall_shortcut">"afinstaller genveje"</string> + <string name="permdesc_uninstall_shortcut">"Tillader et program at fjerne genveje uden brugerindgriben."</string> + <string name="permlab_read_settings">"læs indstillinger og genveje for Start"</string> + <string name="permdesc_read_settings">"Tillader et program at læse indstillingerne og genvejene i Start."</string> + <string name="permlab_write_settings">"skriv indstillinger og genveje for Start"</string> + <string name="permdesc_write_settings">"Tillader et program at ændre indstillingerne og genvejene i Start."</string> + <string name="search_hint">"Google-søgning"</string> + <string name="gadget_error_text">"Der er problemer med at indlæse widget"</string> +</resources> diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml index 40f3cab..4dcb401 100644 --- a/res/values-de/strings.xml +++ b/res/values-de/strings.xml @@ -16,6 +16,7 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="application_name">"Startseite"</string> + <string name="uid_name">"Android Core Apps"</string> <string name="folder_name">"Ordner"</string> <string name="chooser_wallpaper">"Hintergrund auswählen"</string> <string name="wallpaper_instructions">"Hintergrund festlegen"</string> @@ -25,32 +26,29 @@ <string name="rename_folder_title">"Ordner umbenennen"</string> <string name="rename_action">"OK"</string> <string name="cancel_action">"Abbrechen"</string> - <string name="menu_item_add_item">"Zur Startseite hinzufügen"</string> - <!-- no translation found for group_applications (4118484163419674240) --> - <skip /> - <!-- no translation found for group_shortcuts (9133529424900391877) --> - <skip /> + <string name="menu_item_add_item">"Zum Startbildschirm hinzufügen"</string> + <string name="group_applications">"Anwendungen"</string> + <string name="group_shortcuts">"Verknüpfungen"</string> <string name="group_search">"Suchen"</string> - <!-- no translation found for group_folder (5143593791798929193) --> - <skip /> - <!-- no translation found for group_live_folders (2664945399140647217) --> - <skip /> - <!-- no translation found for group_widgets (6704978494073105844) --> - <skip /> - <!-- no translation found for group_wallpapers (1568191644272224858) --> - <skip /> + <string name="group_folder">"Neuer Ordner"</string> + <string name="group_live_folders">"Ordner"</string> + <string name="group_widgets">"Widgets"</string> + <string name="group_wallpapers">"Hintergrundbilder"</string> <string name="add_folder">"Ordner"</string> <string name="add_clock">"Uhr"</string> <string name="add_photo_frame">"Bildrahmen"</string> <string name="add_search">"Suchen"</string> - <string name="out_of_space">"Auf der Startseite ist kein Platz mehr vorhanden."</string> + <string name="out_of_space">"Auf dem Startbildschirm ist kein Platz mehr vorhanden."</string> + <string name="shortcut_installed">"Verknüpfung \"%s\" ist installiert."</string> + <string name="shortcut_uninstalled">"Verknüpfung \"%s\" wurde entfernt."</string> + <string name="shortcut_duplicate">"Verknüpfung \"%s\" ist bereits vorhanden."</string> <string name="title_select_shortcut">"Tastenkürzel auswählen"</string> - <!-- no translation found for title_select_live_folder (3753447798805166749) --> - <skip /> + <string name="title_select_live_folder">"Ordner auswählen"</string> <string name="menu_add">"Hinzufügen"</string> <string name="menu_wallpaper">"Hintergrund"</string> <string name="menu_search">"Suchen"</string> <string name="menu_notifications">"Benachrichtigungen"</string> + <string name="menu_gestures">"Bewegungen"</string> <string name="menu_settings">"Einstellungen"</string> <string name="permlab_install_shortcut">"Verknüpfungen installieren"</string> <string name="permdesc_install_shortcut">"Ermöglicht einer Anwendung das Hinzufügen von Verknüpfungen ohne Eingriff des Benutzers."</string> diff --git a/res/values-el/strings.xml b/res/values-el/strings.xml new file mode 100644 index 0000000..c0516b8 --- /dev/null +++ b/res/values-el/strings.xml @@ -0,0 +1,68 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- Copyright (C) 2009 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 xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <string name="application_name">"Αρχική οθόνη"</string> + <!-- no translation found for uid_name (3371120195364560632) --> + <skip /> + <string name="folder_name">"Φάκελος"</string> + <string name="chooser_wallpaper">"Επιλογή ταπετσαρίας από"</string> + <string name="wallpaper_instructions">"Ορισμός ταπετσαρίας"</string> + <string name="pick_wallpaper">"Συλλογή ταπετσαριών"</string> + <string name="activity_not_found">"Η εφαρμογή δεν έχει εγκατασταθεί στο τηλέφωνό σας."</string> + <string name="rename_folder_label">"Όνομα φακέλου"</string> + <string name="rename_folder_title">"Μετονομασία φακέλου"</string> + <string name="rename_action">"OK"</string> + <string name="cancel_action">"Ακύρωση"</string> + <string name="menu_item_add_item">"Προσθήκη στην αρχική οθόνη"</string> + <string name="group_applications">"Εφαρμογές"</string> + <string name="group_shortcuts">"Συντομεύσεις"</string> + <string name="group_search">"Αναζήτηση"</string> + <string name="group_folder">"Νέος φάκελος"</string> + <string name="group_live_folders">"Φάκελοι"</string> + <string name="group_widgets">"Γραφικά στοιχεία"</string> + <string name="group_wallpapers">"Ταπετσαρίες"</string> + <string name="add_folder">"Φάκελος"</string> + <string name="add_clock">"Ρολόι"</string> + <string name="add_photo_frame">"Πλαίσιο εικόνας"</string> + <string name="add_search">"Αναζήτηση"</string> + <string name="out_of_space">"Δεν υπάρχει χώρος σε αυτήν την αρχική οθόνη."</string> + <!-- no translation found for shortcut_installed (6623689857689040689) --> + <skip /> + <!-- no translation found for shortcut_uninstalled (2758997515869993129) --> + <skip /> + <!-- no translation found for shortcut_duplicate (4887186782641532074) --> + <skip /> + <string name="title_select_shortcut">"Επιλογή συντόμευσης"</string> + <string name="title_select_live_folder">"Επιλογή φακέλου"</string> + <string name="menu_add">"Προσθήκη"</string> + <string name="menu_wallpaper">"Ταπετσαρία"</string> + <string name="menu_search">"Αναζήτηση"</string> + <string name="menu_notifications">"Ειδοποιήσεις"</string> + <!-- no translation found for menu_gestures (514678675575912237) --> + <skip /> + <string name="menu_settings">"Ρυθμίσεις"</string> + <string name="permlab_install_shortcut">"εγκατάσταση συντομεύσεων"</string> + <string name="permdesc_install_shortcut">"Επιτρέπει σε μια εφαρμογή την προσθήκη συντομεύσεων χωρίς την παρέμβαση του χρήστη."</string> + <string name="permlab_uninstall_shortcut">"κατάργηση εγκατάστασης συντομεύσεων"</string> + <string name="permdesc_uninstall_shortcut">"Επιτρέπει σε μια εφαρμογή την κατάργηση συντομεύσεων χωρίς την παρέμβαση του χρήστη."</string> + <string name="permlab_read_settings">"ανάγνωση ρυθμίσεων και συντομεύσεων αρχικής οθόνης"</string> + <string name="permdesc_read_settings">"Επιτρέπει σε μια εφαρμογή την ανάγνωση των ρυθμίσεων και των συντομεύσεων στην αρχική οθόνη."</string> + <string name="permlab_write_settings">"εγγραφή ρυθμίσεων και συντομεύσεων αρχικής οθόνης"</string> + <string name="permdesc_write_settings">"Επιτρέπει σε μια εφαρμογή την αλλαγή των ρυθμίσεων και των συντομεύσεων στην αρχική οθόνη."</string> + <string name="search_hint">"Αναζήτηση Google"</string> + <string name="gadget_error_text">"Παρουσιάστηκε πρόβλημα στη φόρτωση του γραφικού στοιχείου"</string> +</resources> diff --git a/res/values-es-rUS/strings.xml b/res/values-es-rUS/strings.xml index 221ab86..a2f12dc 100644 --- a/res/values-es-rUS/strings.xml +++ b/res/values-es-rUS/strings.xml @@ -16,6 +16,8 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="application_name">"Página principal"</string> + <!-- no translation found for uid_name (3371120195364560632) --> + <skip /> <string name="folder_name">"Carpeta"</string> <string name="chooser_wallpaper">"Seleccionar papel tapiz desde"</string> <string name="wallpaper_instructions">"Definir papel tapiz"</string> @@ -26,19 +28,13 @@ <string name="rename_action">"Aceptar"</string> <string name="cancel_action">"Cancelar"</string> <string name="menu_item_add_item">"Agregar a la pantalla Página principal"</string> - <!-- no translation found for group_applications (4118484163419674240) --> - <skip /> - <!-- no translation found for group_shortcuts (9133529424900391877) --> - <skip /> + <string name="group_applications">"Aplicaciones"</string> + <string name="group_shortcuts">"Accesos directos"</string> <string name="group_search">"Buscar"</string> - <!-- no translation found for group_folder (5143593791798929193) --> - <skip /> - <!-- no translation found for group_live_folders (2664945399140647217) --> - <skip /> - <!-- no translation found for group_widgets (6704978494073105844) --> - <skip /> - <!-- no translation found for group_wallpapers (1568191644272224858) --> - <skip /> + <string name="group_folder">"Carpeta nueva"</string> + <string name="group_live_folders">"Carpetas"</string> + <string name="group_widgets">"Controles"</string> + <string name="group_wallpapers">"Papeles tapiz"</string> <string name="add_folder">"Carpeta"</string> <string name="add_clock">"Reloj"</string> <string name="add_photo_frame">"Marco de imagen"</string> @@ -51,12 +47,13 @@ <!-- no translation found for shortcut_duplicate (4887186782641532074) --> <skip /> <string name="title_select_shortcut">"Seleccionar acceso directo"</string> - <!-- no translation found for title_select_live_folder (3753447798805166749) --> - <skip /> + <string name="title_select_live_folder">"Seleccionar carpeta"</string> <string name="menu_add">"Agregar"</string> <string name="menu_wallpaper">"Papel tapiz"</string> <string name="menu_search">"Buscar"</string> <string name="menu_notifications">"Notificaciones"</string> + <!-- no translation found for menu_gestures (514678675575912237) --> + <skip /> <string name="menu_settings">"Configuración"</string> <string name="permlab_install_shortcut">"instalar accesos directos"</string> <string name="permdesc_install_shortcut">"Permite a una aplicación agregar accesos directos sin intervención del usuario."</string> diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml index 2c73c88..5bef440 100644 --- a/res/values-es/strings.xml +++ b/res/values-es/strings.xml @@ -16,6 +16,7 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="application_name">"Página principal"</string> + <string name="uid_name">"Aplicaciones básicas de Android"</string> <string name="folder_name">"Carpeta"</string> <string name="chooser_wallpaper">"Seleccionar fondo de pantalla de"</string> <string name="wallpaper_instructions">"Establecer fondo de pantalla"</string> @@ -38,12 +39,16 @@ <string name="add_photo_frame">"Picture frame"</string> <string name="add_search">"Búsqueda de Google"</string> <string name="out_of_space">"No queda espacio en esta pantalla de página principal."</string> + <string name="shortcut_installed">"El acceso directo \"%s\" está instalado."</string> + <string name="shortcut_uninstalled">"Se ha eliminado el acceso directo \"%s\"."</string> + <string name="shortcut_duplicate">"El acceso directo \"%s\" ya existe."</string> <string name="title_select_shortcut">"Seleccionar acceso directo"</string> <string name="title_select_live_folder">"Seleccionar carpeta"</string> <string name="menu_add">"Añadir"</string> <string name="menu_wallpaper">"Fondo de pantalla"</string> <string name="menu_search">"Buscar con Google"</string> <string name="menu_notifications">"Notificaciones"</string> + <string name="menu_gestures">"Gestos"</string> <string name="menu_settings">"Ajustes"</string> <string name="permlab_install_shortcut">"instalar accesos directos"</string> <string name="permdesc_install_shortcut">"Permite que una aplicación añada accesos directos sin intervención del usuario."</string> diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml index 7558565..91bea49 100644 --- a/res/values-fr/strings.xml +++ b/res/values-fr/strings.xml @@ -16,6 +16,7 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="application_name">"Accueil"</string> + <string name="uid_name">"Applications de base Android"</string> <string name="folder_name">"Dossier"</string> <string name="chooser_wallpaper">"Sélectionner à partir de..."</string> <string name="wallpaper_instructions">"Sélectionner"</string> @@ -36,14 +37,18 @@ <string name="add_folder">"Dossier"</string> <string name="add_clock">"Horloge"</string> <string name="add_photo_frame">"Cadre d\'image"</string> - <string name="add_search">"Rechercher"</string> + <string name="add_search">"Recherche"</string> <string name="out_of_space">"Plus d\'espace libre sur l\'écran d\'accueil."</string> + <string name="shortcut_installed">"Le raccourci \"%s\" est installé."</string> + <string name="shortcut_uninstalled">"Le raccourci \"%s\" a été supprimé."</string> + <string name="shortcut_duplicate">"Le raccourci \"%s\" existe déjà."</string> <string name="title_select_shortcut">"Sélectionner un raccourci"</string> <string name="title_select_live_folder">"Sélectionner le dossier"</string> <string name="menu_add">"Ajouter"</string> - <string name="menu_wallpaper">"Arrière-plan"</string> + <string name="menu_wallpaper">"Fond d\'écran"</string> <string name="menu_search">"Rechercher"</string> <string name="menu_notifications">"Notifications"</string> + <string name="menu_gestures">"Gestes"</string> <string name="menu_settings">"Paramètres"</string> <string name="permlab_install_shortcut">"installer des raccourcis"</string> <string name="permdesc_install_shortcut">"Permet à une application d\'ajouter des raccourcis sans l\'intervention de l\'utilisateur."</string> diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml index 135df4c..404bb3a 100644 --- a/res/values-it/strings.xml +++ b/res/values-it/strings.xml @@ -16,6 +16,7 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="application_name">"Home"</string> + <string name="uid_name">"Android Core Apps"</string> <string name="folder_name">"Cartella"</string> <string name="chooser_wallpaper">"Seleziona sfondo da"</string> <string name="wallpaper_instructions">"Imposta sfondo"</string> @@ -38,12 +39,16 @@ <string name="add_photo_frame">"Cornice immagini"</string> <string name="add_search">"Ricerca"</string> <string name="out_of_space">"Spazio nella schermata Home esaurito."</string> + <string name="shortcut_installed">"La scorciatoia \"%s\" è installata."</string> + <string name="shortcut_uninstalled">"La scorciatoia \"%s\" è stata rimossa."</string> + <string name="shortcut_duplicate">"Scorciatoia \"%s\" già presente."</string> <string name="title_select_shortcut">"Seleziona collegamento"</string> <string name="title_select_live_folder">"Seleziona cartella"</string> <string name="menu_add">"Aggiungi"</string> <string name="menu_wallpaper">"Sfondo"</string> <string name="menu_search">"Cerca"</string> <string name="menu_notifications">"Notifiche"</string> + <string name="menu_gestures">"Gesti"</string> <string name="menu_settings">"Impostazioni"</string> <string name="permlab_install_shortcut">"aggiungere scorciatorie"</string> <string name="permdesc_install_shortcut">"Consente a un\'applicazione di aggiungere scorciatoie automaticamente."</string> diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml index 8c43e52..c2391c0 100644 --- a/res/values-ja/strings.xml +++ b/res/values-ja/strings.xml @@ -16,6 +16,8 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="application_name">"ホーム"</string> + <!-- no translation found for uid_name (3371120195364560632) --> + <skip /> <string name="folder_name">"フォルダ"</string> <string name="chooser_wallpaper">"壁紙を選択"</string> <string name="wallpaper_instructions">"壁紙に設定"</string> @@ -38,12 +40,20 @@ <string name="add_photo_frame">"写真フレーム"</string> <string name="add_search">"検索"</string> <string name="out_of_space">"ホーム画面に空きスペースがありません。"</string> + <!-- no translation found for shortcut_installed (6623689857689040689) --> + <skip /> + <!-- no translation found for shortcut_uninstalled (2758997515869993129) --> + <skip /> + <!-- no translation found for shortcut_duplicate (4887186782641532074) --> + <skip /> <string name="title_select_shortcut">"ショートカットを選択"</string> <string name="title_select_live_folder">"フォルダの選択"</string> <string name="menu_add">"追加"</string> <string name="menu_wallpaper">"壁紙"</string> <string name="menu_search">"検索"</string> <string name="menu_notifications">"通知"</string> + <!-- no translation found for menu_gestures (514678675575912237) --> + <skip /> <string name="menu_settings">"設定"</string> <string name="permlab_install_shortcut">"ショートカットのインストール"</string> <string name="permdesc_install_shortcut">"ユーザー操作なしでショートカットの追加をアプリケーションに許可します。"</string> diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml index 37ba73c..43f27a7 100644 --- a/res/values-ko/strings.xml +++ b/res/values-ko/strings.xml @@ -16,11 +16,13 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="application_name">"홈"</string> + <!-- no translation found for uid_name (3371120195364560632) --> + <skip /> <string name="folder_name">"폴더"</string> <string name="chooser_wallpaper">"배경화면 선택"</string> <string name="wallpaper_instructions">"배경화면 설정"</string> <string name="pick_wallpaper">"배경화면 갤러리"</string> - <string name="activity_not_found">"전화기에 설치되어 있지 않은 응용프로그램입니다."</string> + <string name="activity_not_found">"휴대전화에 설치되어 있지 않은 응용프로그램입니다."</string> <string name="rename_folder_label">"폴더 이름"</string> <string name="rename_folder_title">"폴더 이름 바꾸기"</string> <string name="rename_action">"확인"</string> @@ -38,21 +40,29 @@ <string name="add_photo_frame">"사진 프레임"</string> <string name="add_search">"검색"</string> <string name="out_of_space">"홈 화면에 더 이상 공간이 없습니다."</string> + <!-- no translation found for shortcut_installed (6623689857689040689) --> + <skip /> + <!-- no translation found for shortcut_uninstalled (2758997515869993129) --> + <skip /> + <!-- no translation found for shortcut_duplicate (4887186782641532074) --> + <skip /> <string name="title_select_shortcut">"바로가기 선택"</string> <string name="title_select_live_folder">"폴더 선택"</string> <string name="menu_add">"추가"</string> <string name="menu_wallpaper">"배경화면"</string> <string name="menu_search">"검색"</string> <string name="menu_notifications">"알림"</string> + <!-- no translation found for menu_gestures (514678675575912237) --> + <skip /> <string name="menu_settings">"설정"</string> <string name="permlab_install_shortcut">"바로가기 설치"</string> <string name="permdesc_install_shortcut">"응용프로그램이 사용자의 작업 없이 바로가기를 추가할 수 있도록 합니다."</string> <string name="permlab_uninstall_shortcut">"바로가기 제거"</string> - <string name="permdesc_uninstall_shortcut">"응용프로그램이 사용자의 작업 없이 바로가기를 제거할 수 있도록 합니다."</string> + <string name="permdesc_uninstall_shortcut">"응용프로그램이 사용자의 작업 없이 바로가기를 삭제할 수 있도록 합니다."</string> <string name="permlab_read_settings">"홈 설정 및 바로가기 읽기"</string> - <string name="permdesc_read_settings">"응용프로그램이 홈에 있는 설정 및 바로가기를 읽을 수 있습니다."</string> + <string name="permdesc_read_settings">"응용프로그램이 홈에 있는 설정 및 바로가기를 읽을 수 있도록 합니다."</string> <string name="permlab_write_settings">"홈 설정 및 바로가기 쓰기"</string> - <string name="permdesc_write_settings">"응용프로그램이 홈에 있는 설정 및 바로가기를 변경할 수 있습니다."</string> + <string name="permdesc_write_settings">"응용프로그램이 홈에 있는 설정 및 바로가기를 변경할 수 있도록 합니다."</string> <string name="search_hint">"Google 검색"</string> <string name="gadget_error_text">"위젯을 로드하는 중 문제가 발생했습니다."</string> </resources> diff --git a/res/values-nb/strings.xml b/res/values-nb/strings.xml index 954b5d7..8189f09 100644 --- a/res/values-nb/strings.xml +++ b/res/values-nb/strings.xml @@ -16,6 +16,8 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="application_name">"Hjem"</string> + <!-- no translation found for uid_name (3371120195364560632) --> + <skip /> <string name="folder_name">"Mappe"</string> <string name="chooser_wallpaper">"Velg bakgrunnsbilde fra"</string> <string name="wallpaper_instructions">"Velg bakgrunnsbilde"</string> @@ -26,31 +28,32 @@ <string name="rename_action">"OK"</string> <string name="cancel_action">"Avbryt"</string> <string name="menu_item_add_item">"Legg til skrivebord"</string> - <!-- no translation found for group_applications (4118484163419674240) --> - <skip /> - <!-- no translation found for group_shortcuts (9133529424900391877) --> - <skip /> + <string name="group_applications">"Applikasjoner"</string> + <string name="group_shortcuts">"Snarveier"</string> <string name="group_search">"Søk"</string> - <!-- no translation found for group_folder (5143593791798929193) --> - <skip /> - <!-- no translation found for group_live_folders (2664945399140647217) --> - <skip /> - <!-- no translation found for group_widgets (6704978494073105844) --> - <skip /> - <!-- no translation found for group_wallpapers (1568191644272224858) --> - <skip /> + <string name="group_folder">"Ny mappe"</string> + <string name="group_live_folders">"Mapper"</string> + <string name="group_widgets">"Skrivebordselementer"</string> + <string name="group_wallpapers">"Bakgrunner"</string> <string name="add_folder">"Mappe"</string> <string name="add_clock">"Klokke"</string> <string name="add_photo_frame">"Bilderamme"</string> <string name="add_search">"Søk"</string> <string name="out_of_space">"Ikke nok plass på skrivebordet."</string> - <string name="title_select_shortcut">"Velg snarvei"</string> - <!-- no translation found for title_select_live_folder (3753447798805166749) --> + <!-- no translation found for shortcut_installed (6623689857689040689) --> + <skip /> + <!-- no translation found for shortcut_uninstalled (2758997515869993129) --> <skip /> + <!-- no translation found for shortcut_duplicate (4887186782641532074) --> + <skip /> + <string name="title_select_shortcut">"Velg snarvei"</string> + <string name="title_select_live_folder">"Velg mappe"</string> <string name="menu_add">"Legg til"</string> <string name="menu_wallpaper">"Bakgrunnsbilde"</string> <string name="menu_search">"Søk"</string> <string name="menu_notifications">"Varslinger"</string> + <!-- no translation found for menu_gestures (514678675575912237) --> + <skip /> <string name="menu_settings">"Innstillinger"</string> <string name="permlab_install_shortcut">"installere snarveier"</string> <string name="permdesc_install_shortcut">"Lar applikasjonen legge til snarveier uten å involvere brukeren."</string> diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml index 9a37fed..f3db12e 100644 --- a/res/values-nl/strings.xml +++ b/res/values-nl/strings.xml @@ -16,6 +16,7 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="application_name">"Startpagina"</string> + <string name="uid_name">"Android-kerntoepassingen"</string> <string name="folder_name">"Map"</string> <string name="chooser_wallpaper">"Achtergrond selecteren in"</string> <string name="wallpaper_instructions">"Achtergrond instellen"</string> @@ -38,12 +39,16 @@ <string name="add_photo_frame">"Fotolijstje"</string> <string name="add_search">"Zoeken"</string> <string name="out_of_space">"Er is geen ruimte meer op dit startscherm."</string> + <string name="shortcut_installed">"Snelkoppeling \'%s\' is geïnstalleerd."</string> + <string name="shortcut_uninstalled">"Snelkoppeling \'%s\' is verwijderd."</string> + <string name="shortcut_duplicate">"Snelkoppeling \'%s\' bestaat al."</string> <string name="title_select_shortcut">"Snelkoppeling selecteren"</string> <string name="title_select_live_folder">"Map selecteren"</string> <string name="menu_add">"Toevoegen"</string> <string name="menu_wallpaper">"Achtergrond"</string> <string name="menu_search">"Zoeken"</string> <string name="menu_notifications">"Meldingen"</string> + <string name="menu_gestures">"Gebaren"</string> <string name="menu_settings">"Instellingen"</string> <string name="permlab_install_shortcut">"snelkoppelingen installeren"</string> <string name="permdesc_install_shortcut">"Een toepassing toestaan om snelkoppelingen toe te voegen zonder tussenkomst van de gebruiker."</string> diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml index d5b26a9..ac5d9f3 100644 --- a/res/values-pl/strings.xml +++ b/res/values-pl/strings.xml @@ -16,6 +16,7 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="application_name">"Sieć"</string> + <string name="uid_name">"Aplikacje główne systemu Android"</string> <string name="folder_name">"Folder"</string> <string name="chooser_wallpaper">"Wybierz tapetę"</string> <string name="wallpaper_instructions">"Ustaw tapetę"</string> @@ -38,12 +39,16 @@ <string name="add_photo_frame">"Ramka obrazu"</string> <string name="add_search">"Wyszukiwarka"</string> <string name="out_of_space">"Brak miejsca na tej stronie głównej"</string> + <string name="shortcut_installed">"Skrót „%s” został zainstalowany."</string> + <string name="shortcut_uninstalled">"Skrót „%s” został usunięty."</string> + <string name="shortcut_duplicate">"Skrót „%s” już istnieje."</string> <string name="title_select_shortcut">"Wybierz skrót"</string> <string name="title_select_live_folder">"Wybierz folder"</string> <string name="menu_add">"Dodaj"</string> <string name="menu_wallpaper">"Tapeta"</string> <string name="menu_search">"Szukaj"</string> <string name="menu_notifications">"Powiadomienia"</string> + <string name="menu_gestures">"Gesty"</string> <string name="menu_settings">"Ustawienia"</string> <string name="permlab_install_shortcut">"zainstaluj skróty"</string> <string name="permdesc_install_shortcut">"Umożliwia aplikacji dodawanie skrótów bez interwencji użytkownika."</string> diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml new file mode 100644 index 0000000..04afce3 --- /dev/null +++ b/res/values-pt-rPT/strings.xml @@ -0,0 +1,68 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- Copyright (C) 2009 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 xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <string name="application_name">"Home"</string> + <!-- no translation found for uid_name (3371120195364560632) --> + <skip /> + <string name="folder_name">"Pasta"</string> + <string name="chooser_wallpaper">"Seleccionar imagem de fundo a partir de"</string> + <string name="wallpaper_instructions">"Definir imagem de fundo"</string> + <string name="pick_wallpaper">"Galeria de imagens de fundo"</string> + <string name="activity_not_found">"A aplicação não está instalada no telefone."</string> + <string name="rename_folder_label">"Nome da pasta"</string> + <string name="rename_folder_title">"Mudar o nome da pasta"</string> + <string name="rename_action">"OK"</string> + <string name="cancel_action">"Cancelar"</string> + <string name="menu_item_add_item">"Adicionar ao ecrã principal"</string> + <string name="group_applications">"Aplicações"</string> + <string name="group_shortcuts">"Atalhos"</string> + <string name="group_search">"Pesquisar"</string> + <string name="group_folder">"Nova pasta"</string> + <string name="group_live_folders">"Pastas"</string> + <string name="group_widgets">"Widgets"</string> + <string name="group_wallpapers">"Imagens de fundo"</string> + <string name="add_folder">"Pasta"</string> + <string name="add_clock">"Relógio"</string> + <string name="add_photo_frame">"Moldura de imagem"</string> + <string name="add_search">"Pesquisar"</string> + <string name="out_of_space">"Não existe espaço suficiente neste ecrã principal."</string> + <!-- no translation found for shortcut_installed (6623689857689040689) --> + <skip /> + <!-- no translation found for shortcut_uninstalled (2758997515869993129) --> + <skip /> + <!-- no translation found for shortcut_duplicate (4887186782641532074) --> + <skip /> + <string name="title_select_shortcut">"Seleccione o atalho"</string> + <string name="title_select_live_folder">"Seleccione a pasta"</string> + <string name="menu_add">"Adicionar"</string> + <string name="menu_wallpaper">"Imagem de fundo"</string> + <string name="menu_search">"Pesquisar"</string> + <string name="menu_notifications">"Notificações"</string> + <!-- no translation found for menu_gestures (514678675575912237) --> + <skip /> + <string name="menu_settings">"Definições"</string> + <string name="permlab_install_shortcut">"instalar atalhos"</string> + <string name="permdesc_install_shortcut">"Permite que uma aplicação adicione atalhos sem a intervenção do utilizador."</string> + <string name="permlab_uninstall_shortcut">"desinstalar atalhos"</string> + <string name="permdesc_uninstall_shortcut">"Permite que uma aplicação remova atalhos sem a intervenção do utilizador."</string> + <string name="permlab_read_settings">"ler definições e atalhos do ecrã principal"</string> + <string name="permdesc_read_settings">"Permite que uma aplicação leia as definições e os atalhos do ecrã principal."</string> + <string name="permlab_write_settings">"escrever definições e atalhos do ecrã principal"</string> + <string name="permdesc_write_settings">"Permite que uma aplicação altere as definições e os atalhos do ecrã principal."</string> + <string name="search_hint">"Pesquisa do Google"</string> + <string name="gadget_error_text">"Erro ao carregar o widget"</string> +</resources> diff --git a/res/values-pt/strings.xml b/res/values-pt/strings.xml index 5fe05ce..a2b3b5c 100644 --- a/res/values-pt/strings.xml +++ b/res/values-pt/strings.xml @@ -15,46 +15,39 @@ --> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="application_name">"Página Inicial do Google"</string> + <string name="application_name">"Página inicial"</string> + <!-- no translation found for uid_name (3371120195364560632) --> + <skip /> <string name="folder_name">"Pasta"</string> - <string name="chooser_wallpaper">"Selecionar papel de parede da"</string> + <string name="chooser_wallpaper">"Selecionar papel de parede de"</string> <string name="wallpaper_instructions">"Definir papel de parede"</string> - <string name="pick_wallpaper">"Galeria de papéis de parede"</string> + <string name="pick_wallpaper">"Galeria de papel de parede"</string> <string name="activity_not_found">"O aplicativo não está instalado no seu telefone."</string> <string name="rename_folder_label">"Nome da pasta"</string> <string name="rename_folder_title">"Renomear pasta"</string> <string name="rename_action">"OK"</string> <string name="cancel_action">"Cancelar"</string> - <string name="menu_item_add_item">"Adicionar à tela inicial"</string> - <!-- no translation found for group_applications (4118484163419674240) --> - <skip /> - <!-- no translation found for group_shortcuts (9133529424900391877) --> - <skip /> - <!-- no translation found for group_search (5905328940867162196) --> - <skip /> - <!-- no translation found for group_folder (5143593791798929193) --> - <skip /> - <!-- no translation found for group_live_folders (2664945399140647217) --> - <skip /> - <!-- no translation found for group_widgets (6704978494073105844) --> - <skip /> - <!-- no translation found for group_wallpapers (1568191644272224858) --> - <skip /> + <string name="menu_item_add_item">"Adicionar à tela da Página inicial"</string> + <string name="group_applications">"Aplicativos"</string> + <string name="group_shortcuts">"Atalhos"</string> + <string name="group_search">"Pesquisar"</string> + <string name="group_folder">"Nova pasta"</string> + <string name="group_live_folders">"Pastas"</string> + <string name="group_widgets">"Widgets"</string> + <string name="group_wallpapers">"Papéis de parede"</string> <string name="add_folder">"Pasta"</string> <string name="add_clock">"Relógio"</string> - <string name="add_photo_frame">"Moldura"</string> + <string name="add_photo_frame">"Frame da imagem"</string> <string name="add_search">"Pesquisar"</string> - <string name="out_of_space">"Não há mais espaço nesta página inicial."</string> + <string name="out_of_space">"Não há mais espaço nesta tela da Página inicial."</string> <!-- no translation found for shortcut_installed (6623689857689040689) --> <skip /> <!-- no translation found for shortcut_uninstalled (2758997515869993129) --> <skip /> <!-- no translation found for shortcut_duplicate (4887186782641532074) --> <skip /> - <!-- no translation found for title_select_shortcut (2858897527672831763) --> - <skip /> - <!-- no translation found for title_select_live_folder (3753447798805166749) --> - <skip /> + <string name="title_select_shortcut">"Selecionar atalho"</string> + <string name="title_select_live_folder">"Selecionar pasta"</string> <string name="menu_add">"Adicionar"</string> <string name="menu_wallpaper">"Papel de parede"</string> <string name="menu_search">"Pesquisar"</string> @@ -63,38 +56,13 @@ <skip /> <string name="menu_settings">"Configurações"</string> <string name="permlab_install_shortcut">"instalar atalhos"</string> - <string name="permdesc_install_shortcut">"Permite que um aplicativo adicione atalhos sem a intervenção do usuário."</string> + <string name="permdesc_install_shortcut">"Permite que um aplicativo adicione os atalhos sem a intervenção do usuário."</string> <string name="permlab_uninstall_shortcut">"desinstalar atalhos"</string> - <string name="permdesc_uninstall_shortcut">"Permite que um aplicativo remova atalhos sem a intervenção do usuário."</string> - <string name="permlab_read_settings">"leia as configurações e atalhos da página inicial"</string> - <string name="permdesc_read_settings">"Permite que um aplicativo leia as configurações e atalhos na página inicial."</string> - <string name="permlab_write_settings">"grave as configurações e atalhos da página inicial"</string> - <string name="permdesc_write_settings">"Permite que um aplicativo altere as configurações e atalhos na página inicial."</string> - <string name="search_hint">"Google Search"</string> - <!-- no translation found for gadget_error_text (8359351016167075858) --> - <skip /> - <!-- no translation found for gestures_instructions (1099425576530504561) --> - <skip /> - <!-- no translation found for gestures_unknown (309008617423088837) --> - <skip /> - <!-- no translation found for gestures_created (8116808500193613741) --> - <skip /> - <!-- no translation found for gestures_failed (5113829215530311557) --> - <skip /> - <!-- no translation found for gestures_loading (6325241735907189384) --> - <skip /> - <!-- no translation found for gestures_empty (8923837437173732411) --> - <skip /> - <!-- no translation found for gestures_activity (3366108186921084558) --> - <skip /> - <!-- no translation found for gestures_rename (713510200890627175) --> - <skip /> - <!-- no translation found for gestures_delete (6962559975386260201) --> - <skip /> - <!-- no translation found for gestures_delete_success (2961655691848002690) --> - <skip /> - <!-- no translation found for gestures_rename_title (7463326669074661915) --> - <skip /> - <!-- no translation found for gestures_rename_label (8790363956270703745) --> - <skip /> + <string name="permdesc_uninstall_shortcut">"Permite que um aplicativo remova os atalhos sem a intervenção do usuário."</string> + <string name="permlab_read_settings">"ler configurações e atalhos da Página inicial"</string> + <string name="permdesc_read_settings">"Permite que um aplicativo leia as configurações e atalhos na Página inicial."</string> + <string name="permlab_write_settings">"gravar configurações e atalhos da Página inicial"</string> + <string name="permdesc_write_settings">"Permite que um aplicativo altere as configurações e atalhos na Página inicial."</string> + <string name="search_hint">"Pesquisa do Google"</string> + <string name="gadget_error_text">"Problema ao carregar o widget"</string> </resources> diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml index 317e9ba..dea57b3 100644 --- a/res/values-ru/strings.xml +++ b/res/values-ru/strings.xml @@ -16,17 +16,19 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="application_name">"Главный экран"</string> + <!-- no translation found for uid_name (3371120195364560632) --> + <skip /> <string name="folder_name">"Папка"</string> - <string name="chooser_wallpaper">"Выбор фонового рисунка из"</string> - <string name="wallpaper_instructions">"Установить фоновый рисунок"</string> - <string name="pick_wallpaper">"Галерея фоновых рисунков"</string> - <string name="activity_not_found">"Это приложение отсутствует на вашем телефоне."</string> + <string name="chooser_wallpaper">"Выбрать обои из:"</string> + <string name="wallpaper_instructions">"Установить обои"</string> + <string name="pick_wallpaper">"Фотоальбом: обои"</string> + <string name="activity_not_found">"Приложение не установлено на телефоне."</string> <string name="rename_folder_label">"Название папки"</string> - <string name="rename_folder_title">"Переименование папки"</string> + <string name="rename_folder_title">"Переименовать папку"</string> <string name="rename_action">"ОК"</string> <string name="cancel_action">"Отмена"</string> - <string name="menu_item_add_item">"Добавление на главный экран"</string> - <string name="group_applications">"Программы"</string> + <string name="menu_item_add_item">"Добавить на главный экран"</string> + <string name="group_applications">"Приложения"</string> <string name="group_shortcuts">"Ярлыки"</string> <string name="group_search">"Поиск"</string> <string name="group_folder">"Новая папка"</string> @@ -35,23 +37,31 @@ <string name="group_wallpapers">"Обои"</string> <string name="add_folder">"Папка"</string> <string name="add_clock">"Часы"</string> - <string name="add_photo_frame">"Рамка для картинки"</string> + <string name="add_photo_frame">"Рамка фотографии"</string> <string name="add_search">"Поиск"</string> - <string name="out_of_space">"На главном экране больше нет места."</string> + <string name="out_of_space">"На этом главном экране нет свободного места."</string> + <!-- no translation found for shortcut_installed (6623689857689040689) --> + <skip /> + <!-- no translation found for shortcut_uninstalled (2758997515869993129) --> + <skip /> + <!-- no translation found for shortcut_duplicate (4887186782641532074) --> + <skip /> <string name="title_select_shortcut">"Выберите ярлык"</string> <string name="title_select_live_folder">"Выбор папки"</string> <string name="menu_add">"Добавить"</string> - <string name="menu_wallpaper">"Фоновый рисунок"</string> - <string name="menu_search">"Искать"</string> + <string name="menu_wallpaper">"Обои"</string> + <string name="menu_search">"Поиск"</string> <string name="menu_notifications">"Уведомления"</string> + <!-- no translation found for menu_gestures (514678675575912237) --> + <skip /> <string name="menu_settings">"Настройки"</string> - <string name="permlab_install_shortcut">"установить ярлыки"</string> - <string name="permdesc_install_shortcut">"Позволяет приложению добавлять ярлыки без участия пользователя."</string> - <string name="permlab_uninstall_shortcut">"удалить ярлыки"</string> - <string name="permdesc_uninstall_shortcut">"Позволяет приложению удалять ярлыки без участия пользователя."</string> - <string name="permlab_read_settings">"считывать ярлыки и настройки главного экрана"</string> + <string name="permlab_install_shortcut">"устанавливать ярлыки"</string> + <string name="permdesc_install_shortcut">"Позволяет приложению добавлять ярлыки без вмешательства пользователя"</string> + <string name="permlab_uninstall_shortcut">"удалять ярлыки"</string> + <string name="permdesc_uninstall_shortcut">"Позволяет приложению удалять ярлыки без участия пользователя"</string> + <string name="permlab_read_settings">"считывать настройки и ярлыки главного экрана"</string> <string name="permdesc_read_settings">"Позволяет приложению считывать настройки и ярлыки на главном экране."</string> - <string name="permlab_write_settings">"записывать ярлыки и настройки главного экрана"</string> + <string name="permlab_write_settings">"изменять настройки и ярлыки главного экрана"</string> <string name="permdesc_write_settings">"Позволяет приложению изменять настройки и ярлыки на главном экране."</string> <string name="search_hint">"Поиск Google"</string> <string name="gadget_error_text">"Не удалось загрузить виджет"</string> diff --git a/res/values-sv/strings.xml b/res/values-sv/strings.xml new file mode 100644 index 0000000..142ec0c --- /dev/null +++ b/res/values-sv/strings.xml @@ -0,0 +1,68 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- Copyright (C) 2009 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 xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <string name="application_name">"Start"</string> + <!-- no translation found for uid_name (3371120195364560632) --> + <skip /> + <string name="folder_name">"Mapp"</string> + <string name="chooser_wallpaper">"Välj bakgrund från"</string> + <string name="wallpaper_instructions">"Ange bakgrund"</string> + <string name="pick_wallpaper">"Bakgrundsgalleri"</string> + <string name="activity_not_found">"Programmet är inte installerat på din telefon."</string> + <string name="rename_folder_label">"Mappnamn"</string> + <string name="rename_folder_title">"Byt namn på mapp"</string> + <string name="rename_action">"OK"</string> + <string name="cancel_action">"Avbryt"</string> + <string name="menu_item_add_item">"Lägg till på startsidan"</string> + <string name="group_applications">"Program"</string> + <string name="group_shortcuts">"Genvägar"</string> + <string name="group_search">"Sök"</string> + <string name="group_folder">"Ny mapp"</string> + <string name="group_live_folders">"Mappar"</string> + <string name="group_widgets">"Widgetar"</string> + <string name="group_wallpapers">"Bakgrundsbilder"</string> + <string name="add_folder">"Mapp"</string> + <string name="add_clock">"Klocka"</string> + <string name="add_photo_frame">"Bildram"</string> + <string name="add_search">"Sök"</string> + <string name="out_of_space">"Det finns inte plats för mer på den här startsidan."</string> + <!-- no translation found for shortcut_installed (6623689857689040689) --> + <skip /> + <!-- no translation found for shortcut_uninstalled (2758997515869993129) --> + <skip /> + <!-- no translation found for shortcut_duplicate (4887186782641532074) --> + <skip /> + <string name="title_select_shortcut">"Välj genväg"</string> + <string name="title_select_live_folder">"Välj mapp"</string> + <string name="menu_add">"Lägg till"</string> + <string name="menu_wallpaper">"Bakgrund"</string> + <string name="menu_search">"Sök"</string> + <string name="menu_notifications">"Aviseringar"</string> + <!-- no translation found for menu_gestures (514678675575912237) --> + <skip /> + <string name="menu_settings">"Inställningar"</string> + <string name="permlab_install_shortcut">"installera genvägar"</string> + <string name="permdesc_install_shortcut">"Tillåter att ett program lägger till genvägar utan åtgärd från användaren."</string> + <string name="permlab_uninstall_shortcut">"avinstallera genvägar"</string> + <string name="permdesc_uninstall_shortcut">"Tillåter att ett program tar bort genvägar utan åtgärd från användaren."</string> + <string name="permlab_read_settings">"läsa inställningar och genvägar för startsidan"</string> + <string name="permdesc_read_settings">"Tillåter att ett program läser inställningar och genvägar på startsidan."</string> + <string name="permlab_write_settings">"skriva inställningar och genvägar för startsidan"</string> + <string name="permdesc_write_settings">"Tillåter att ett program ändrar inställningar och genvägar på startsidan."</string> + <string name="search_hint">"Google Sökning"</string> + <string name="gadget_error_text">"Det gick inte att läsa in widgeten"</string> +</resources> diff --git a/res/values-tr/strings.xml b/res/values-tr/strings.xml new file mode 100644 index 0000000..218e50a --- /dev/null +++ b/res/values-tr/strings.xml @@ -0,0 +1,68 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- Copyright (C) 2009 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 xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <string name="application_name">"Ana Sayfa"</string> + <!-- no translation found for uid_name (3371120195364560632) --> + <skip /> + <string name="folder_name">"Klasör"</string> + <string name="chooser_wallpaper">"Buradan duvar kağıdını seçin:"</string> + <string name="wallpaper_instructions">"Duvar kağıdını ayarla"</string> + <string name="pick_wallpaper">"Duvar kağıdı galerisi"</string> + <string name="activity_not_found">"Uygulama telefonunuza yüklenmemiş."</string> + <string name="rename_folder_label">"Klasör adı"</string> + <string name="rename_folder_title">"Klasörü yeniden adlandır"</string> + <string name="rename_action">"Tamam"</string> + <string name="cancel_action">"İptal"</string> + <string name="menu_item_add_item">"Ana ekrana ekle"</string> + <string name="group_applications">"Uygulamalar"</string> + <string name="group_shortcuts">"Kısayollar"</string> + <string name="group_search">"Arama"</string> + <string name="group_folder">"Yeni klasör"</string> + <string name="group_live_folders">"Klasörler"</string> + <string name="group_widgets">"Widget\'lar"</string> + <string name="group_wallpapers">"Duvar Kağıtları"</string> + <string name="add_folder">"Klasör"</string> + <string name="add_clock">"Saat"</string> + <string name="add_photo_frame">"Resim çerçevesi"</string> + <string name="add_search">"Arama"</string> + <string name="out_of_space">"Bu Ana ekranda başka yer yok."</string> + <!-- no translation found for shortcut_installed (6623689857689040689) --> + <skip /> + <!-- no translation found for shortcut_uninstalled (2758997515869993129) --> + <skip /> + <!-- no translation found for shortcut_duplicate (4887186782641532074) --> + <skip /> + <string name="title_select_shortcut">"Kısayolu seçin"</string> + <string name="title_select_live_folder">"Klasörü seçin"</string> + <string name="menu_add">"Ekle"</string> + <string name="menu_wallpaper">"Duvar Kağıdı"</string> + <string name="menu_search">"Ara"</string> + <string name="menu_notifications">"Bildirimler"</string> + <!-- no translation found for menu_gestures (514678675575912237) --> + <skip /> + <string name="menu_settings">"Ayarlar"</string> + <string name="permlab_install_shortcut">"kısayolları yükle"</string> + <string name="permdesc_install_shortcut">"Bir uygulamaya, kısayolları kullanıcı müdahale etmeden ekleme izni verir."</string> + <string name="permlab_uninstall_shortcut">"kısayolları kaldır"</string> + <string name="permdesc_uninstall_shortcut">"Bir uygulamaya, kısayolları kullanıcı müdahale etmeden kaldırma izni verir."</string> + <string name="permlab_read_settings">"Ana Sayfa ayarlarını ve kısayollarını oku"</string> + <string name="permdesc_read_settings">"Bir uygulamaya Ana Sayfadaki ayarları ve kısayolları okuma izni verir."</string> + <string name="permlab_write_settings">"Ana Sayfa ayarlarını ve kısayollarını yaz"</string> + <string name="permdesc_write_settings">"Bir uygulamaya Ana Sayfadaki ayarları ve kısayolları değiştirme izni verir."</string> + <string name="search_hint">"Google Arama"</string> + <string name="gadget_error_text">"Widget yüklenirken sorun oluştu"</string> +</resources> diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml index 7e359d6..fc53e54 100644 --- a/res/values-zh-rCN/strings.xml +++ b/res/values-zh-rCN/strings.xml @@ -15,51 +15,54 @@ --> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="application_name">"主页"</string> + <string name="application_name">"主屏幕"</string> + <!-- no translation found for uid_name (3371120195364560632) --> + <skip /> <string name="folder_name">"文件夹"</string> - <string name="chooser_wallpaper">"选择壁纸"</string> + <string name="chooser_wallpaper">"选择壁纸来源"</string> <string name="wallpaper_instructions">"设置壁纸"</string> <string name="pick_wallpaper">"壁纸图库"</string> - <string name="activity_not_found">"您的手机上没有安装应用程序。"</string> - <string name="rename_folder_label">"文件夹名"</string> + <string name="activity_not_found">"您的手机上未安装应用程序。"</string> + <string name="rename_folder_label">"文件夹名称"</string> <string name="rename_folder_title">"重命名文件夹"</string> <string name="rename_action">"确定"</string> <string name="cancel_action">"取消"</string> - <string name="menu_item_add_item">"添加到“主页”屏幕"</string> - <!-- no translation found for group_applications (4118484163419674240) --> - <skip /> - <!-- no translation found for group_shortcuts (9133529424900391877) --> - <skip /> + <string name="menu_item_add_item">"添加到主屏幕"</string> + <string name="group_applications">"应用程序"</string> + <string name="group_shortcuts">"快捷方式"</string> <string name="group_search">"搜索"</string> - <!-- no translation found for group_folder (5143593791798929193) --> - <skip /> - <!-- no translation found for group_live_folders (2664945399140647217) --> - <skip /> - <!-- no translation found for group_widgets (6704978494073105844) --> - <skip /> - <!-- no translation found for group_wallpapers (1568191644272224858) --> - <skip /> + <string name="group_folder">"新建文件夹"</string> + <string name="group_live_folders">"文件夹"</string> + <string name="group_widgets">"窗口小部件"</string> + <string name="group_wallpapers">"壁纸"</string> <string name="add_folder">"文件夹"</string> <string name="add_clock">"时钟"</string> <string name="add_photo_frame">"相框"</string> <string name="add_search">"搜索"</string> - <string name="out_of_space">"该“主页”屏幕上没有多余空间。"</string> - <string name="title_select_shortcut">"选择快捷键"</string> - <!-- no translation found for title_select_live_folder (3753447798805166749) --> + <string name="out_of_space">"此主屏幕上已没有更多空间。"</string> + <!-- no translation found for shortcut_installed (6623689857689040689) --> + <skip /> + <!-- no translation found for shortcut_uninstalled (2758997515869993129) --> <skip /> + <!-- no translation found for shortcut_duplicate (4887186782641532074) --> + <skip /> + <string name="title_select_shortcut">"选择快捷方式"</string> + <string name="title_select_live_folder">"选择文件夹"</string> <string name="menu_add">"添加"</string> <string name="menu_wallpaper">"壁纸"</string> <string name="menu_search">"搜索"</string> <string name="menu_notifications">"通知"</string> + <!-- no translation found for menu_gestures (514678675575912237) --> + <skip /> <string name="menu_settings">"设置"</string> - <string name="permlab_install_shortcut">"安装快捷键"</string> - <string name="permdesc_install_shortcut">"允许应用程序在没有用户介入的情况下添加快捷键。"</string> - <string name="permlab_uninstall_shortcut">"卸载快捷键"</string> - <string name="permdesc_uninstall_shortcut">"允许应用程序在没有用户介入的情况下删除快捷键。"</string> - <string name="permlab_read_settings">"读取“主页”设置和快捷键"</string> - <string name="permdesc_read_settings">"允许应用程序读取“主页”中的设置和快捷键。"</string> - <string name="permlab_write_settings">"写入“主页”设置和快捷键"</string> - <string name="permdesc_write_settings">"允许应用程序更改“主页”中的设置和快捷键。"</string> + <string name="permlab_install_shortcut">"安装快捷方式"</string> + <string name="permdesc_install_shortcut">"允许应用程序在无用户操作的情况下添加快捷方式。"</string> + <string name="permlab_uninstall_shortcut">"卸载快捷方式"</string> + <string name="permdesc_uninstall_shortcut">"允许应用程序在无用户操作的情况下删除快捷方式。"</string> + <string name="permlab_read_settings">"读取主屏幕设置和快捷方式"</string> + <string name="permdesc_read_settings">"允许应用程序读取主屏幕上的设置和快捷方式。"</string> + <string name="permlab_write_settings">"写入主屏幕设置和快捷方式"</string> + <string name="permdesc_write_settings">"允许应用程序更改主屏幕上的设置和快捷方式。"</string> <string name="search_hint">"Google 搜索"</string> <string name="gadget_error_text">"载入窗口小部件时出现问题"</string> </resources> diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml index 3da3b5b..18eb31d 100644 --- a/res/values-zh-rTW/strings.xml +++ b/res/values-zh-rTW/strings.xml @@ -16,6 +16,7 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="application_name">"首頁"</string> + <string name="uid_name">"Android 核心應用程式"</string> <string name="folder_name">"資料夾"</string> <string name="chooser_wallpaper">"從…選取桌布"</string> <string name="wallpaper_instructions">"設定桌布"</string> @@ -38,12 +39,16 @@ <string name="add_photo_frame">"相框"</string> <string name="add_search">"搜尋"</string> <string name="out_of_space">"首頁已無空間"</string> + <string name="shortcut_installed">"已安裝「%s」捷徑。"</string> + <string name="shortcut_uninstalled">"已移除「%s」捷徑"</string> + <string name="shortcut_duplicate">"已有「%s」捷徑。"</string> <string name="title_select_shortcut">"選取捷徑"</string> <string name="title_select_live_folder">"選取資料夾"</string> <string name="menu_add">"新增"</string> <string name="menu_wallpaper">"桌布"</string> <string name="menu_search">"搜尋"</string> <string name="menu_notifications">"通知"</string> + <string name="menu_gestures">"觸控動作"</string> <string name="menu_settings">"設定"</string> <string name="permlab_install_shortcut">"安裝捷徑"</string> <string name="permdesc_install_shortcut">"允許應用程式自動新增快速鍵。"</string> diff --git a/res/values/colors.xml b/res/values/colors.xml index e1b4843..9b9700f 100644 --- a/res/values/colors.xml +++ b/res/values/colors.xml @@ -26,5 +26,6 @@ <color name="appwidget_error_color">#FCCC</color> <color name="snag_callout_color">#F444</color> - <color name="gesture_color">#FFFFFF00</color> + <color name="gesture_color">#ff0563c1</color> + <color name="uncertain_gesture_color">#ff848484</color> </resources> diff --git a/res/values/strings.xml b/res/values/strings.xml index e43459d..4a6d786 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -126,44 +126,4 @@ <!-- Text to show user in place of a gadget when we can't display it properly --> <string name="gadget_error_text">Problem loading widget</string> - - <!-- Gestures: --> - <skip /> - - <!-- Message displayed when the user enters gestures mode and is asked to draw a gesture --> - <string name="gestures_instructions">Draw a gesture</string> - <!-- Label of the button that the user clicks to create a new gesture-based shortcut --> - <string name="gestures_add">Add shortcut</string> - <!-- Label of the button that the user clicks to see the list of gesture-based shortcuts --> - <string name="gestures_show">Show shortcut</string> - <!-- Message displayed when the gesture entered by the user cannot be recognized --> - <string name="gestures_unknown">Unrecognized</string> - <!-- Message displayed when the user has successfully created a new gesture --> - <string name="gestures_created">Added gesture "%s"</string> - <!-- Message displayed when the user could not create a new gesture --> - <string name="gestures_failed">Gesture could not be created</string> - <!-- Message displayed when the user opens the gestures settings screen --> - <string name="gestures_loading">Loading gestures...</string> - <!-- Message displayed when the user has no gestures --> - <string name="gestures_empty">No gestures</string> - <!-- Title of the screen used to view/manage gestures --> - <string name="gestures_activity">Gestures</string> - <!-- Noun, menu item used to rename a gesture --> - <string name="gestures_rename">Rename</string> - <!-- Noun, menu item used to remove a gesture --> - <string name="gestures_delete">Delete</string> - <!-- Message displayed when a gesture is successfully deleted --> - <string name="gestures_delete_success">Gesture deleted</string> - <!-- Title of dialog box --> - <string name="gestures_rename_title">Rename gesture</string> - <!-- Label of gesture name field in Rename gesture dialog box --> - <string name="gestures_rename_label">Gesture name</string> - <!-- Title of the preferences group showing the user's gestures --> - <string name="gestures_group_gestures">Gestures</string> - <!-- Title of the preferences group showing the gestures settings --> - <string name="gestures_group_settings">Settings</string> - <!-- Label of the setting used to enable/disable the home key to draw gestures --> - <string name="gestures_preference_hotkey_title">Use home to launch</string> - <!-- Summary of the setting used to enable/disable the home key to draw gestures --> - <string name="gestures_preference_hotkey_summary">Press home key to draw gestures</string> </resources> diff --git a/res/values/styles.xml b/res/values/styles.xml index 5319bb0..6f4365f 100644 --- a/res/values/styles.xml +++ b/res/values/styles.xml @@ -61,9 +61,4 @@ <item name="android:paddingRight">10dip</item> </style> - <style name="PlusButton"> - <item name="android:background">@drawable/btn_circle</item> - <item name="android:src">@drawable/ic_btn_round_plus</item> - </style> - </resources> diff --git a/src/com/android/launcher/GesturesActivity.java b/src/com/android/launcher/GesturesActivity.java deleted file mode 100644 index 3ea49e2..0000000 --- a/src/com/android/launcher/GesturesActivity.java +++ /dev/null @@ -1,349 +0,0 @@ -/* - * Copyright (C) 2009 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. - */ - -package com.android.launcher; - -import android.app.ListActivity; -import android.app.Dialog; -import android.app.AlertDialog; -import android.os.Bundle; -import android.os.AsyncTask; -import android.widget.ArrayAdapter; -import android.widget.TextView; -import android.widget.AdapterView; -import android.widget.Toast; -import android.widget.EditText; -import android.content.Context; -import android.content.DialogInterface; -import android.content.res.Resources; -import android.view.View; -import android.view.ViewGroup; -import android.view.LayoutInflater; -import android.view.ContextMenu; -import android.view.MenuItem; -import android.gesture.GestureLibrary; -import android.gesture.Gesture; -import android.graphics.Bitmap; -import android.graphics.drawable.Drawable; -import android.graphics.drawable.BitmapDrawable; -import android.text.TextUtils; - -import java.util.Comparator; -import java.util.HashMap; -import java.util.Collections; -import java.util.Map; - -public class GesturesActivity extends ListActivity { - private static final int MENU_ID_RENAME = 1; - private static final int MENU_ID_REMOVE = 2; - - private static final int DIALOG_RENAME_GESTURE = 1; - - // Type: long (id) - private static final String GESTURES_INFO_ID = "gestures.info_id"; - - private final Comparator<ApplicationInfo> mSorter = - new LauncherModel.ApplicationInfoComparator(); - - private GesturesAdapter mAdapter; - private GestureLibrary mStore; - private GesturesLoadTask mTask; - private TextView mEmpty; - - private Dialog mRenameDialog; - private EditText mInput; - private ApplicationInfo mCurrentRenameInfo; - - @Override - protected void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - - setContentView(R.layout.gestures_settings); - - mAdapter = new GesturesAdapter(this); - setListAdapter(mAdapter); - - mStore = Launcher.getGestureLibrary(); - mEmpty = (TextView) findViewById(android.R.id.empty); - mTask = (GesturesLoadTask) new GesturesLoadTask().execute(); - - registerForContextMenu(getListView()); - } - - @Override - protected void onDestroy() { - super.onDestroy(); - - if (mTask != null && mTask.getStatus() != GesturesLoadTask.Status.FINISHED) { - mTask.cancel(true); - mTask = null; - } - - cleanupRenameDialog(); - } - - private void checkForEmpty() { - if (mAdapter.getCount() == 0) { - mEmpty.setText(R.string.gestures_empty); - } - } - - @Override - protected void onSaveInstanceState(Bundle outState) { - super.onSaveInstanceState(outState); - - if (mCurrentRenameInfo != null) { - outState.putLong(GESTURES_INFO_ID, mCurrentRenameInfo.id); - } - } - - @Override - protected void onRestoreInstanceState(Bundle state) { - super.onRestoreInstanceState(state); - - long id = state.getLong(GESTURES_INFO_ID, -1); - if (id != -1) { - mCurrentRenameInfo = Launcher.getModel().queryGesture(this, String.valueOf(id)); - } - } - - @Override - public void onCreateContextMenu(ContextMenu menu, View v, - ContextMenu.ContextMenuInfo menuInfo) { - - super.onCreateContextMenu(menu, v, menuInfo); - - AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo) menuInfo; - menu.setHeaderTitle(((TextView) info.targetView).getText()); - - menu.add(0, MENU_ID_RENAME, 0, R.string.gestures_rename); - menu.add(0, MENU_ID_REMOVE, 0, R.string.gestures_delete); - } - - @Override - public boolean onContextItemSelected(MenuItem item) { - final AdapterView.AdapterContextMenuInfo menuInfo = (AdapterView.AdapterContextMenuInfo) - item.getMenuInfo(); - final ApplicationInfo info = (ApplicationInfo) menuInfo.targetView.getTag(); - - switch (item.getItemId()) { - case MENU_ID_RENAME: - renameGesture(info); - return true; - case MENU_ID_REMOVE: - deleteGesture(info); - return true; - } - - return super.onContextItemSelected(item); - } - - private void renameGesture(ApplicationInfo info) { - mCurrentRenameInfo = info; - showDialog(DIALOG_RENAME_GESTURE); - } - - @Override - protected Dialog onCreateDialog(int id) { - if (id == DIALOG_RENAME_GESTURE) { - return createRenameDialog(); - } - return super.onCreateDialog(id); - } - - @Override - protected void onPrepareDialog(int id, Dialog dialog) { - super.onPrepareDialog(id, dialog); - if (id == DIALOG_RENAME_GESTURE) { - mInput.setText(mCurrentRenameInfo.title); - } - } - - private Dialog createRenameDialog() { - final View layout = View.inflate(this, R.layout.rename_folder, null); - mInput = (EditText) layout.findViewById(R.id.folder_name); - ((TextView) layout.findViewById(R.id.label)).setText(R.string.gestures_rename_label); - - AlertDialog.Builder builder = new AlertDialog.Builder(this); - builder.setIcon(0); - builder.setTitle(getString(R.string.gestures_rename_title)); - builder.setCancelable(true); - builder.setOnCancelListener(new Dialog.OnCancelListener() { - public void onCancel(DialogInterface dialog) { - cleanupRenameDialog(); - } - }); - builder.setNegativeButton(getString(R.string.cancel_action), - new Dialog.OnClickListener() { - public void onClick(DialogInterface dialog, int which) { - cleanupRenameDialog(); - } - } - ); - builder.setPositiveButton(getString(R.string.rename_action), - new Dialog.OnClickListener() { - public void onClick(DialogInterface dialog, int which) { - changeGestureName(); - } - } - ); - builder.setView(layout); - return builder.create(); - } - - private void changeGestureName() { - final String name = mInput.getText().toString(); - if (!TextUtils.isEmpty(name)) { - final ApplicationInfo renameInfo = mCurrentRenameInfo; - final GesturesActivity.GesturesAdapter adapter = mAdapter; - final int count = adapter.getCount(); - - // Simple linear search, there should not be enough items to warrant - // a more sophisticated search - for (int i = 0; i < count; i++) { - final ApplicationInfo info = adapter.getItem(i); - if (info.id == renameInfo.id) { - info.title = mInput.getText(); - LauncherModel.updateGestureInDatabase(this, info); - break; - } - } - - adapter.notifyDataSetChanged(); - } - mCurrentRenameInfo = null; - } - - private void cleanupRenameDialog() { - if (mRenameDialog != null) { - mRenameDialog.dismiss(); - mRenameDialog = null; - } - mCurrentRenameInfo = null; - } - - private void deleteGesture(ApplicationInfo info) { - mStore.removeEntry(String.valueOf(info.id)); - // TODO: On a thread? - mStore.save(); - - final GesturesActivity.GesturesAdapter adapter = mAdapter; - adapter.setNotifyOnChange(false); - adapter.remove(info); - adapter.sort(mSorter); - checkForEmpty(); - adapter.notifyDataSetChanged(); - - LauncherModel.deleteGestureFromDatabase(this, info); - - Toast.makeText(this, R.string.gestures_delete_success, Toast.LENGTH_SHORT).show(); - } - - private class GesturesLoadTask extends AsyncTask<Void, ApplicationInfo, Boolean> { - private int mThumbnailSize; - private int mThumbnailInset; - private int mPathColor; - - @Override - protected void onPreExecute() { - super.onPreExecute(); - - final Resources resources = getResources(); - mPathColor = resources.getColor(R.color.gesture_color); - mThumbnailInset = (int) resources.getDimension(R.dimen.gesture_thumbnail_inset); - mThumbnailSize = (int) resources.getDimension(R.dimen.gesture_thumbnail_size); - } - - protected Boolean doInBackground(Void... params) { - if (isCancelled()) return Boolean.FALSE; - - final GestureLibrary store = mStore; - - if (store.load()) { - final LauncherModel model = Launcher.getModel(); - - for (String name : store.getGestureEntries()) { - if (isCancelled()) break; - - final Gesture gesture = store.getGestures(name).get(0); - final Bitmap bitmap = gesture.toBitmap(mThumbnailSize, mThumbnailSize, - mThumbnailInset, mPathColor); - final ApplicationInfo info = model.queryGesture(GesturesActivity.this, name); - - mAdapter.addBitmap(info.id, bitmap); - publishProgress(info); - } - - return Boolean.TRUE; - } - - return Boolean.FALSE; - } - - @Override - protected void onProgressUpdate(ApplicationInfo... values) { - super.onProgressUpdate(values); - - final GesturesActivity.GesturesAdapter adapter = mAdapter; - adapter.setNotifyOnChange(false); - - for (ApplicationInfo info : values) { - adapter.add(info); - } - - adapter.sort(mSorter); - adapter.notifyDataSetChanged(); - } - - @Override - protected void onPostExecute(Boolean aBoolean) { - super.onPostExecute(aBoolean); - checkForEmpty(); - } - } - - private class GesturesAdapter extends ArrayAdapter<ApplicationInfo> { - private final LayoutInflater mInflater; - private final Map<Long, Drawable> mThumbnails = Collections.synchronizedMap( - new HashMap<Long, Drawable>()); - - public GesturesAdapter(Context context) { - super(context, 0); - mInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); - } - - void addBitmap(Long id, Bitmap bitmap) { - mThumbnails.put(id, new BitmapDrawable(bitmap)); - } - - @Override - public View getView(int position, View convertView, ViewGroup parent) { - if (convertView == null) { - convertView = mInflater.inflate(R.layout.gestures_settings_item, parent, false); - } - - final ApplicationInfo info = getItem(position); - final TextView label = (TextView) convertView; - - label.setTag(info); - label.setText(info.title); - label.setCompoundDrawablesWithIntrinsicBounds(info.icon, null, - mThumbnails.get(info.id), null); - - return convertView; - } - } -} diff --git a/src/com/android/launcher/GesturesConstants.java b/src/com/android/launcher/GesturesConstants.java deleted file mode 100644 index 3151ea3..0000000 --- a/src/com/android/launcher/GesturesConstants.java +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright (C) 2009 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. - */ - -package com.android.launcher; - -interface GesturesConstants { - final double PREDICTION_THRESHOLD = 1.0; - final String STORE_NAME = "gestures"; - final long MATCH_DELAY = 370; - final float LENGTH_THRESHOLD = 120.0f; - int PATH_SAMPLE_COUNT = 10; -} diff --git a/src/com/android/launcher/GesturesPanel.java b/src/com/android/launcher/GesturesPanel.java deleted file mode 100644 index 33dc102..0000000 --- a/src/com/android/launcher/GesturesPanel.java +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Copyright (C) 2009 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. - */ - -package com.android.launcher; - -import android.widget.RelativeLayout; -import android.content.Context; -import android.util.AttributeSet; -import android.view.KeyEvent; - -public class GesturesPanel extends RelativeLayout { - public GesturesPanel(Context context) { - super(context); - } - - public GesturesPanel(Context context, AttributeSet attrs) { - super(context, attrs); - } - - @Override - public boolean isOpaque() { - return true; - } - - @Override - public boolean dispatchKeyEvent(KeyEvent event) { - if (event.getKeyCode() == KeyEvent.KEYCODE_BACK && - event.getAction() == KeyEvent.ACTION_DOWN) { - - ((Launcher) mContext).hideGesturesPanel(); - - return true; - } - - return super.dispatchKeyEvent(event); - } -} diff --git a/src/com/android/launcher/Launcher.java b/src/com/android/launcher/Launcher.java index 8863bd9..3fd141d 100644 --- a/src/com/android/launcher/Launcher.java +++ b/src/com/android/launcher/Launcher.java @@ -41,8 +41,6 @@ import android.content.res.Resources; import android.database.ContentObserver; import android.graphics.Bitmap; import android.graphics.Rect; -import android.graphics.PorterDuffXfermode; -import android.graphics.PorterDuff; import android.graphics.drawable.BitmapDrawable; import android.graphics.drawable.Drawable; import android.graphics.drawable.TransitionDrawable; @@ -68,8 +66,6 @@ import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.view.ViewGroup; -import android.view.MotionEvent; -import android.view.Gravity; import android.view.View.OnLongClickListener; import android.view.inputmethod.InputMethodManager; import android.widget.EditText; @@ -77,16 +73,8 @@ import android.widget.GridView; import android.widget.SlidingDrawer; import android.widget.TextView; import android.widget.Toast; -import android.widget.ImageView; -import android.widget.PopupWindow; -import android.widget.ViewSwitcher; import android.appwidget.AppWidgetManager; import android.appwidget.AppWidgetProviderInfo; -import android.gesture.GestureOverlayView; -import android.gesture.GestureLibraries; -import android.gesture.GestureLibrary; -import android.gesture.Gesture; -import android.gesture.Prediction; import java.lang.ref.WeakReference; import java.util.ArrayList; @@ -107,9 +95,6 @@ public final class Launcher extends Activity implements View.OnClickListener, On private static final boolean PROFILE_DRAWER = false; private static final boolean PROFILE_ROTATE = false; private static final boolean DEBUG_USER_INTERFACE = false; - private static final boolean DEBUG_GESTURES = false; - - private static final boolean CONFIG_GESTURES_IMMEDIATE_MODE = true; private static final int WALLPAPER_SCREENS_SPAN = 2; @@ -118,8 +103,7 @@ public final class Launcher extends Activity implements View.OnClickListener, On private static final int MENU_WALLPAPER_SETTINGS = MENU_ADD + 1; private static final int MENU_SEARCH = MENU_WALLPAPER_SETTINGS + 1; private static final int MENU_NOTIFICATIONS = MENU_SEARCH + 1; - private static final int MENU_GESTURES = MENU_NOTIFICATIONS + 1; - private static final int MENU_SETTINGS = MENU_GESTURES + 1; + private static final int MENU_SETTINGS = MENU_NOTIFICATIONS + 1; private static final int REQUEST_CREATE_SHORTCUT = 1; private static final int REQUEST_CREATE_LIVE_FOLDER = 4; @@ -128,9 +112,6 @@ public final class Launcher extends Activity implements View.OnClickListener, On private static final int REQUEST_PICK_SHORTCUT = 7; private static final int REQUEST_PICK_LIVE_FOLDER = 8; private static final int REQUEST_PICK_APPWIDGET = 9; - private static final int REQUEST_PICK_GESTURE_ACTION = 10; - private static final int REQUEST_CREATE_GESTURE_ACTION = 11; - private static final int REQUEST_CREATE_GESTURE_APPLICATION_ACTION = 12; static final String EXTRA_SHORTCUT_DUPLICATE = "duplicate"; @@ -173,12 +154,6 @@ public final class Launcher extends Activity implements View.OnClickListener, On private static final String RUNTIME_STATE_PENDING_FOLDER_RENAME = "launcher.rename_folder"; // Type: long private static final String RUNTIME_STATE_PENDING_FOLDER_RENAME_ID = "launcher.rename_folder_id"; - // Type: Gesture (Parcelable) - private static final String RUNTIME_STATE_PENDING_GESTURE = "launcher.gesture"; - // Type: boolean - private static final String RUNTIME_STATE_GESTURES_PANEL = "launcher.gesture_panel_showing"; - // Type: Gesture (Parcelable) - private static final String RUNTIME_STATE_GESTURES_PANEL_GESTURE = "launcher.gesture_panel_gesture"; private static final LauncherModel sModel = new LauncherModel(); @@ -189,8 +164,6 @@ public final class Launcher extends Activity implements View.OnClickListener, On private static WallpaperIntentReceiver sWallpaperReceiver; - private static GestureLibrary sLibrary; - private final BroadcastReceiver mApplicationsReceiver = new ApplicationsIntentReceiver(); private final ContentObserver mObserver = new FavoritesChangeObserver(); @@ -231,27 +204,11 @@ public final class Launcher extends Activity implements View.OnClickListener, On private DesktopBinder mBinder; - private View mGesturesPanel; - private GestureOverlayView mGesturesOverlay; - private ViewSwitcher mGesturesPrompt; - private ImageView mGesturesAdd; - private PopupWindow mGesturesWindow; - private Launcher.GesturesProcessor mGesturesProcessor; - private Gesture mCurrentGesture; - private GesturesAction mGesturesAction; - private boolean mHideGesturesPanel; - @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); mInflater = getLayoutInflater(); - if (sLibrary == null) { - // The context is not kept by the library so it's safe to do this - sLibrary = GestureLibraries.fromPrivateFile(Launcher.this, - GesturesConstants.STORE_NAME); - } - mAppWidgetManager = AppWidgetManager.getInstance(this); mAppWidgetHost = new LauncherAppWidgetHost(this, APPWIDGET_HOST_ID); @@ -409,11 +366,7 @@ public final class Launcher extends Activity implements View.OnClickListener, On // For example, the user would PICK_SHORTCUT for "Music playlist", and we // launch over to the Music app to actually CREATE_SHORTCUT. - if (resultCode == RESULT_OK && (mAddItemCellInfo != null || - ((requestCode == REQUEST_PICK_GESTURE_ACTION || - requestCode == REQUEST_CREATE_GESTURE_ACTION || - requestCode == REQUEST_CREATE_GESTURE_APPLICATION_ACTION) && mCurrentGesture != null))) { - + if (resultCode == RESULT_OK && mAddItemCellInfo != null) { switch (requestCode) { case REQUEST_PICK_APPLICATION: completeAddApplication(this, data, mAddItemCellInfo, !mDesktopLocked); @@ -436,16 +389,6 @@ public final class Launcher extends Activity implements View.OnClickListener, On case REQUEST_CREATE_APPWIDGET: completeAddAppWidget(data, mAddItemCellInfo, !mDesktopLocked); break; - case REQUEST_PICK_GESTURE_ACTION: - processShortcut(data, REQUEST_CREATE_GESTURE_APPLICATION_ACTION, - REQUEST_CREATE_GESTURE_ACTION); - break; - case REQUEST_CREATE_GESTURE_ACTION: - completeCreateGesture(data, true); - break; - case REQUEST_CREATE_GESTURE_APPLICATION_ACTION: - completeCreateGesture(data, false); - break; } } else if (requestCode == REQUEST_PICK_APPWIDGET && resultCode == RESULT_CANCELED && data != null) { @@ -490,23 +433,10 @@ public final class Launcher extends Activity implements View.OnClickListener, On @Override protected void onPause() { super.onPause(); - if (mGesturesWindow != null) { - mGesturesWindow.setAnimationStyle(0); - mGesturesWindow.update(); - } closeDrawer(false); } @Override - protected void onStop() { - super.onStop(); - if (mHideGesturesPanel) { - mHideGesturesPanel = false; - hideGesturesPanel(); - } - } - - @Override public Object onRetainNonConfigurationInstance() { // Flag any binder to stop early before switching if (mBinder != null) { @@ -593,29 +523,6 @@ public final class Launcher extends Activity implements View.OnClickListener, On mFolderInfo = sModel.getFolderById(this, id); mRestoring = true; } - - mCurrentGesture = (Gesture) savedState.get(RUNTIME_STATE_PENDING_GESTURE); - - boolean gesturesShowing = savedState.getBoolean(RUNTIME_STATE_GESTURES_PANEL, false); - if (gesturesShowing) { - if (mCurrentGesture == null) { - mCurrentGesture = (Gesture) savedState.get(RUNTIME_STATE_GESTURES_PANEL_GESTURE); - } - final Gesture gesture = mCurrentGesture; - mWorkspace.post(new Runnable() { - public void run() { - showGesturesPanel(false); - mGesturesProcessor.matchGesture(gesture, false); - mWorkspace.post(new Runnable() { - public void run() { - if (gesture != null) { - mGesturesOverlay.setGesture(gesture); - } - } - }); - } - }); - } } /** @@ -663,69 +570,6 @@ public final class Launcher extends Activity implements View.OnClickListener, On dragLayer.setIgnoredDropTarget(grid); dragLayer.setDragScoller(workspace); dragLayer.setDragListener(deleteZone); - - mGesturesPanel = mInflater.inflate(R.layout.gestures, mDragLayer, false); - final View gesturesPanel = mGesturesPanel; - - mGesturesPrompt = (ViewSwitcher) gesturesPanel.findViewById(R.id.gestures_actions); - mGesturesAction = new GesturesAction(); - - mGesturesPrompt.getChildAt(0).setOnClickListener(mGesturesAction); - mGesturesPrompt.getChildAt(1).setOnClickListener(mGesturesAction); - - mGesturesAdd = (ImageView) gesturesPanel.findViewById(R.id.gestures_add); - final ImageView gesturesAdd = mGesturesAdd; - gesturesAdd.setAlpha(128); - gesturesAdd.setEnabled(false); - gesturesAdd.setOnClickListener(new View.OnClickListener() { - public void onClick(View v) { - createGesture(); - } - }); - - mGesturesOverlay = (GestureOverlayView) gesturesPanel.findViewById(R.id.gestures_overlay); - mGesturesProcessor = new GesturesProcessor(); - - final GestureOverlayView overlay = mGesturesOverlay; - overlay.addOnGestureListener(mGesturesProcessor); - overlay.getGesturePaint().setXfermode(new PorterDuffXfermode(PorterDuff.Mode.MULTIPLY)); - } - - private void createGesture() { - if (!mWaitingForResult) { - mCurrentGesture = mGesturesOverlay.getGesture(); - mWaitingForResult = true; - pickShortcut(REQUEST_PICK_GESTURE_ACTION, R.string.title_select_shortcut); - } - } - - private void completeCreateGesture(Intent data, boolean isShortcut) { - ApplicationInfo info; - - if (isShortcut) { - info = infoFromShortcutIntent(this, data); - } else { - info = infoFromApplicationIntent(this, data); - } - - boolean success = false; - if (info != null) { - info.isGesture = true; - - if (LauncherModel.addGestureToDatabase(this, info, false)) { - mGesturesProcessor.addGesture(String.valueOf(info.id), mCurrentGesture); - mGesturesProcessor.update(info, mCurrentGesture); - Toast.makeText(this, getString(R.string.gestures_created, info.title), - Toast.LENGTH_SHORT).show(); - success = true; - } - } - - if (!success) { - Toast.makeText(this, getString(R.string.gestures_failed), Toast.LENGTH_SHORT).show(); - } - - mCurrentGesture = null; } /** @@ -976,17 +820,10 @@ public final class Launcher extends Activity implements View.OnClickListener, On if ((intent.getFlags() & Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT) != Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT) { - if (mGesturesPanel != null && mDragLayer.getWindowVisibility() == View.VISIBLE && - (mDragLayer.hasWindowFocus() || - (mGesturesWindow != null && mGesturesWindow.isShowing()))) { - - SearchManager searchManager = - (SearchManager) getSystemService(Context.SEARCH_SERVICE); - - if (!searchManager.isVisible()) { - onHomeKeyPressed(); - } + if (!mWorkspace.isDefaultScreenShowing()) { + mWorkspace.moveToDefaultScreen(); } + closeDrawer(); final View v = getWindow().peekDecorView(); @@ -1001,91 +838,6 @@ public final class Launcher extends Activity implements View.OnClickListener, On } } - private void onHomeKeyPressed() { - if (mGesturesWindow == null || !mGesturesWindow.isShowing()) { - showGesturesPanel(); - } else { - hideGesturesPanel(); - } - } - - private void showGesturesPanel() { - showGesturesPanel(true); - } - - private void showGesturesPanel(boolean animate) { - resetGesturesPrompt(); - - mGesturesAdd.setEnabled(false); - mGesturesAdd.setAlpha(128); - - mGesturesOverlay.clear(false); - - PopupWindow window; - if (mGesturesWindow == null) { - mGesturesWindow = new PopupWindow(this); - window = mGesturesWindow; - window.setFocusable(true); - window.setTouchable(true); - window.setBackgroundDrawable(null); - window.setContentView(mGesturesPanel); - } else { - window = mGesturesWindow; - } - window.setAnimationStyle(animate ? com.android.internal.R.style.Animation_SlidingCard : 0); - - final int[] xy = new int[2]; - final DragLayer dragLayer = mDragLayer; - dragLayer.getLocationOnScreen(xy); - - window.setWidth(dragLayer.getWidth()); - window.setHeight(dragLayer.getHeight() - 1); - window.showAtLocation(dragLayer, Gravity.TOP | Gravity.LEFT, xy[0], xy[1] + 1); - } - - private void resetGesturesPrompt() { - mGesturesAction.intent = null; - final TextView prompt = (TextView) mGesturesPrompt.getCurrentView(); - prompt.setText(R.string.gestures_instructions); - prompt.setCompoundDrawablesWithIntrinsicBounds(null, null, null, null); - prompt.setClickable(false); - } - - private void resetGesturesNextPrompt() { - mGesturesAction.intent = null; - setGesturesNextPrompt(null, getString(R.string.gestures_instructions)); - mGesturesPrompt.getNextView().setClickable(false); - } - - private void setGesturesNextPrompt(Drawable icon, CharSequence title) { - final TextView prompt = (TextView) mGesturesPrompt.getNextView(); - prompt.setText(title); - prompt.setCompoundDrawablesWithIntrinsicBounds(icon, null, null, null); - prompt.setClickable(true); - mGesturesPrompt.showNext(); - } - - private void setGesturesPrompt(Drawable icon, CharSequence title) { - final TextView prompt = (TextView) mGesturesPrompt.getCurrentView(); - prompt.setText(title); - prompt.setCompoundDrawablesWithIntrinsicBounds(icon, null, null, null); - prompt.setClickable(true); - } - - void hideGesturesPanel() { - hideGesturesPanel(true); - } - - void hideGesturesPanel(boolean animate) { - if (mGesturesWindow != null) { - final PopupWindow popupWindow = mGesturesWindow; - popupWindow.setAnimationStyle(animate ? - com.android.internal.R.style.Animation_SlidingCard : 0); - popupWindow.update(); - popupWindow.dismiss(); - } - } - @Override protected void onRestoreInstanceState(Bundle savedInstanceState) { // Do not call super here @@ -1136,21 +888,6 @@ public final class Launcher extends Activity implements View.OnClickListener, On outState.putBoolean(RUNTIME_STATE_PENDING_FOLDER_RENAME, true); outState.putLong(RUNTIME_STATE_PENDING_FOLDER_RENAME_ID, mFolderInfo.id); } - - if (mCurrentGesture != null && mWaitingForResult) { - outState.putParcelable(RUNTIME_STATE_PENDING_GESTURE, mCurrentGesture); - } - - if (mGesturesWindow != null && mGesturesWindow.isShowing()) { - outState.putBoolean(RUNTIME_STATE_GESTURES_PANEL, true); - - if (mCurrentGesture == null || !mWaitingForResult) { - final Gesture gesture = mGesturesOverlay.getGesture(); - if (gesture != null) { - outState.putParcelable(RUNTIME_STATE_GESTURES_PANEL_GESTURE, gesture); - } - } - } } @Override @@ -1167,7 +904,6 @@ public final class Launcher extends Activity implements View.OnClickListener, On TextKeyListener.getInstance().release(); - hideGesturesPanel(false); mAllAppsGrid.clearTextFilter(); mAllAppsGrid.setAdapter(null); sModel.unbind(); @@ -1270,11 +1006,6 @@ public final class Launcher extends Activity implements View.OnClickListener, On .setIcon(com.android.internal.R.drawable.ic_menu_notifications) .setAlphabeticShortcut('N'); - final Intent gestures = new Intent(this, GesturesActivity.class); - menu.add(0, MENU_GESTURES, 0, R.string.menu_gestures) - .setIcon(com.android.internal.R.drawable.ic_menu_compose).setAlphabeticShortcut('G') - .setIntent(gestures); - final Intent settings = new Intent(android.provider.Settings.ACTION_SETTINGS); settings.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED); @@ -1839,7 +1570,6 @@ public final class Launcher extends Activity implements View.OnClickListener, On } void startActivitySafely(Intent intent) { - mHideGesturesPanel = true; intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); try { startActivity(intent); @@ -1966,10 +1696,6 @@ public final class Launcher extends Activity implements View.OnClickListener, On return sModel; } - static GestureLibrary getGestureLibrary() { - return sLibrary; - } - void closeAllApplications() { mDrawer.close(); } @@ -2014,14 +1740,14 @@ public final class Launcher extends Activity implements View.OnClickListener, On protected void onPrepareDialog(int id, Dialog dialog) { switch (id) { case DIALOG_CREATE_SHORTCUT: - mWorkspace.lock(); break; case DIALOG_RENAME_FOLDER: - mWorkspace.lock(); - EditText input = (EditText) dialog.findViewById(R.id.folder_name); - final CharSequence text = mFolderInfo.title; - input.setText(text); - input.setSelection(0, text.length()); + if (mFolderInfo != null) { + EditText input = (EditText) dialog.findViewById(R.id.folder_name); + final CharSequence text = mFolderInfo.title; + input.setText(text); + input.setSelection(0, text.length()); + } break; } } @@ -2090,7 +1816,15 @@ public final class Launcher extends Activity implements View.OnClickListener, On } ); builder.setView(layout); - return builder.create(); + + final AlertDialog dialog = builder.create(); + dialog.setOnShowListener(new DialogInterface.OnShowListener() { + public void onShow(DialogInterface dialog) { + mWorkspace.lock(); + } + }); + + return dialog; } private void changeFolderName() { @@ -2133,7 +1867,9 @@ public final class Launcher extends Activity implements View.OnClickListener, On * appropriate activity. */ private class CreateShortcut implements DialogInterface.OnClickListener, - DialogInterface.OnCancelListener, DialogInterface.OnDismissListener { + DialogInterface.OnCancelListener, DialogInterface.OnDismissListener, + DialogInterface.OnShowListener { + private AddAdapter mAdapter; Dialog createDialog() { @@ -2150,6 +1886,7 @@ public final class Launcher extends Activity implements View.OnClickListener, On AlertDialog dialog = builder.create(); dialog.setOnCancelListener(this); dialog.setOnDismissListener(this); + dialog.setOnShowListener(this); return dialog; } @@ -2239,6 +1976,10 @@ public final class Launcher extends Activity implements View.OnClickListener, On } } } + + public void onShow(DialogInterface dialog) { + mWorkspace.lock(); + } } /** @@ -2479,160 +2220,4 @@ public final class Launcher extends Activity implements View.OnClickListener, On } } } - - private class GesturesProcessor implements GestureOverlayView.OnGestureListener, - GestureOverlayView.OnGesturePerformedListener { - - private final GestureMatcher mMatcher = new GestureMatcher(); - - GesturesProcessor() { - // TODO: Maybe the load should happen on a background thread? - sLibrary.load(); - } - - public void onGestureStarted(GestureOverlayView overlay, MotionEvent event) { - //noinspection PointlessBooleanExpression,ConstantConditions - if (!CONFIG_GESTURES_IMMEDIATE_MODE) { - overlay.removeCallbacks(mMatcher); - resetGesturesNextPrompt(); - } - - mGesturesAdd.setAlpha(128); - mGesturesAdd.setEnabled(false); - } - - public void onGesture(GestureOverlayView overlay, MotionEvent event) { - } - - public void onGesturePerformed(GestureOverlayView overlay, Gesture gesture) { - } - - public void onGestureEnded(GestureOverlayView overlay, MotionEvent event) { - if (CONFIG_GESTURES_IMMEDIATE_MODE) { - mMatcher.gesture = overlay.getGesture(); - if (mMatcher.gesture.getLength() < GesturesConstants.LENGTH_THRESHOLD) { - overlay.clear(false); - if (mGesturesAction.intent != null) { - mGesturesAction.intent = null; - setGesturesNextPrompt(null, getString(R.string.gestures_unknown)); - } - } else { - mMatcher.run(); - } - } else { - overlay.removeCallbacks(mMatcher); - - mMatcher.gesture = overlay.getGesture(); - if (mMatcher.gesture.getLength() < GesturesConstants.LENGTH_THRESHOLD) { - overlay.clear(false); - if (mGesturesAction.intent != null) { - mGesturesAction.intent = null; - setGesturesNextPrompt(null, getString(R.string.gestures_unknown)); - } - } else { - overlay.postDelayed(mMatcher, GesturesConstants.MATCH_DELAY); - } - } - } - - void matchGesture(Gesture gesture) { - matchGesture(gesture, true); - } - - void matchGesture(Gesture gesture, boolean animate) { - mGesturesAdd.setAlpha(255); - mGesturesAdd.setEnabled(true); - - if (gesture != null) { - final ArrayList<Prediction> predictions = sLibrary.recognize(gesture); - - if (DEBUG_GESTURES) { - for (Prediction p : predictions) { - d(LOG_TAG, String.format("name=%s, score=%f", p.name, p.score)); - } - } - - boolean match = false; - if (predictions.size() > 0) { - final Prediction prediction = predictions.get(0); - if (prediction.score > GesturesConstants.PREDICTION_THRESHOLD) { - match = true; - - ApplicationInfo info = sModel.queryGesture(Launcher.this, prediction.name); - if (info != null) { - updatePrompt(info, animate); - } - } - } - - if (!match){ - mGesturesAction.intent = null; - if (animate) { - setGesturesNextPrompt(null, getString(R.string.gestures_unknown)); - } else { - setGesturesPrompt(null, getString(R.string.gestures_unknown)); - } - } - } - } - - private void updatePrompt(ApplicationInfo info) { - updatePrompt(info, true); - } - - private void updatePrompt(ApplicationInfo info, boolean animate) { - if (mGesturesAction.intent != null && - info.intent.toUri(0).equals(mGesturesAction.intent.toUri(0)) && - info.title.equals(((TextView) mGesturesPrompt.getCurrentView()).getText())) { - return; - } - - if (animate) { - setGesturesNextPrompt(info.icon, info.title); - } else { - setGesturesPrompt(info.icon, info.title); - } - - mGesturesAction.intent = info.intent; - } - - public void onGestureCancelled(GestureOverlayView overlay, MotionEvent event) { - //noinspection PointlessBooleanExpression,ConstantConditions - if (!CONFIG_GESTURES_IMMEDIATE_MODE) { - overlay.removeCallbacks(mMatcher); - } - } - - void addGesture(String name, Gesture gesture) { - sLibrary.addGesture(name, gesture); - // TODO: On a background thread? - sLibrary.save(); - } - - void update(ApplicationInfo info, Gesture gesture) { - mGesturesOverlay.setGesture(gesture); - updatePrompt(info); - } - - class GestureMatcher implements Runnable { - Gesture gesture; - - public void run() { - if (gesture != null) { - matchGesture(gesture); - } - } - } - } - - private class GesturesAction implements View.OnClickListener { - Intent intent; - - public void onClick(View v) { - if (intent != null) { - startActivitySafely(intent); - } - } - } } - diff --git a/src/com/android/launcher/Search.java b/src/com/android/launcher/Search.java index 96c0022..a0402a9 100644 --- a/src/com/android/launcher/Search.java +++ b/src/com/android/launcher/Search.java @@ -16,13 +16,20 @@ package com.android.launcher; +import android.app.SearchManager; import android.content.ActivityNotFoundException; +import android.content.BroadcastReceiver; +import android.content.ComponentName; import android.content.Context; import android.content.Intent; +import android.content.IntentFilter; import android.content.pm.PackageManager; import android.content.pm.ResolveInfo; import android.content.res.Configuration; +import android.graphics.drawable.Drawable; import android.os.Bundle; +import android.server.search.SearchableInfo; +import android.server.search.Searchables; import android.util.AttributeSet; import android.util.Log; import android.view.KeyEvent; @@ -68,6 +75,10 @@ public class Search extends LinearLayout // For voice searching private Intent mVoiceSearchIntent; + + private Drawable mGooglePlaceholder; + + private SearchManager mSearchManager; /** * Used to inflate the Workspace from XML. @@ -129,6 +140,8 @@ public class Search extends LinearLayout mVoiceSearchIntent = new Intent(android.speech.RecognizerIntent.ACTION_WEB_SEARCH); mVoiceSearchIntent.putExtra(android.speech.RecognizerIntent.EXTRA_LANGUAGE_MODEL, android.speech.RecognizerIntent.LANGUAGE_MODEL_WEB_SEARCH); + + mSearchManager = (SearchManager) getContext().getSystemService(Context.SEARCH_SERVICE); } /** @@ -293,6 +306,10 @@ public class Search extends LinearLayout mSearchText = (TextView) findViewById(R.id.search_src_text); mVoiceButton = (ImageButton) findViewById(R.id.search_voice_btn); + + mGooglePlaceholder = getContext().getResources().getDrawable(R.drawable.placeholder_google); + mContext.registerReceiver(mBroadcastReceiver, + new IntentFilter(SearchManager.INTENT_ACTION_SEARCH_SETTINGS_CHANGED)); mSearchText.setOnKeyListener(this); @@ -304,6 +321,13 @@ public class Search extends LinearLayout mVoiceButton.setOnLongClickListener(this); configureVoiceSearchButton(); + setUpTextField(); + } + + @Override + public void onDetachedFromWindow() { + super.onDetachedFromWindow(); + if (mBroadcastReceiver != null) getContext().unregisterReceiver(mBroadcastReceiver); } /** @@ -323,6 +347,28 @@ public class Search extends LinearLayout // finally, set visible state of voice search button, as appropriate mVoiceButton.setVisibility(voiceSearchVisible ? View.VISIBLE : View.GONE); } + + /** + * Sets up the look of the text field. If Google is the chosen search provider, includes + * a Google logo as placeholder. + */ + private void setUpTextField() { + boolean showGooglePlaceholder = false; + SearchableInfo webSearchSearchable = mSearchManager.getDefaultSearchableForWebSearch(); + if (webSearchSearchable != null) { + ComponentName webSearchComponent = webSearchSearchable.getSearchActivity(); + if (webSearchComponent != null) { + String componentString = webSearchComponent.flattenToShortString(); + if (Searchables.ENHANCED_GOOGLE_SEARCH_COMPONENT_NAME.equals(componentString) || + Searchables.GOOGLE_SEARCH_COMPONENT_NAME.equals(componentString)) { + showGooglePlaceholder = true; + } + } + } + + mSearchText.setCompoundDrawablesWithIntrinsicBounds( + showGooglePlaceholder ? mGooglePlaceholder : null, null, null, null); + } /** * Sets the {@link Launcher} that this gadget will call on to display the search dialog. @@ -330,6 +376,17 @@ public class Search extends LinearLayout public void setLauncher(Launcher launcher) { mLauncher = launcher; } + + // Broadcast receiver for web search provider change notifications + private BroadcastReceiver mBroadcastReceiver = new BroadcastReceiver() { + @Override + public void onReceive(Context context, Intent intent) { + String action = intent.getAction(); + if (SearchManager.INTENT_ACTION_SEARCH_SETTINGS_CHANGED.equals(action)) { + setUpTextField(); + } + } + }; /** * Moves the view to the top left corner of its parent. |