summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJean-Baptiste Queru <jbq@google.com>2009-07-29 14:57:06 -0700
committerJean-Baptiste Queru <jbq@google.com>2009-07-29 14:57:06 -0700
commitca7d9789b2c9b91c12dc3f4fdbc7bc12501485d2 (patch)
tree651269bf82c1b4f8a1d46af600a2d4f1eeb4baa4
parentb2e4d94947995bf65c27169928776d27894d612d (diff)
parentefb38794c880510c943973570eab8301cc269a28 (diff)
downloadLauncher-ca7d9789b2c9b91c12dc3f4fdbc7bc12501485d2.tar.gz
merge from donut
-rw-r--r--AndroidManifest.xml4
-rw-r--r--res/drawable-land/search_bg.9.pngbin16916 -> 0 bytes
-rw-r--r--res/drawable-land/spinner_dropdown_background_down.9.pngbin456 -> 0 bytes
-rw-r--r--res/drawable-land/spinner_dropdown_background_up.9.pngbin415 -> 0 bytes
-rw-r--r--res/drawable-port/search_bg.9.pngbin16133 -> 0 bytes
-rw-r--r--res/drawable/btn_circle.xml32
-rw-r--r--res/drawable/btn_circle_disable.pngbin938 -> 0 bytes
-rw-r--r--res/drawable/btn_circle_disable_focused.pngbin1436 -> 0 bytes
-rw-r--r--res/drawable/btn_circle_normal.pngbin1249 -> 0 bytes
-rw-r--r--res/drawable/btn_circle_pressed.pngbin1613 -> 0 bytes
-rw-r--r--res/drawable/btn_circle_selected.pngbin1645 -> 0 bytes
-rwxr-xr-xres/drawable/gestures_background.xml20
-rw-r--r--res/drawable/google_logo.pngbin3361 -> 0 bytes
-rw-r--r--res/drawable/ic_btn_round_plus.pngbin526 -> 0 bytes
-rw-r--r--res/drawable/placeholder_google.pngbin0 -> 3729 bytes
-rw-r--r--res/drawable/search_floater.9.pngbin777 -> 3417 bytes
-rw-r--r--res/drawable/spinner_dropdown_background_down.9.pngbin446 -> 0 bytes
-rw-r--r--res/drawable/spinner_dropdown_background_up.9.pngbin421 -> 0 bytes
-rw-r--r--res/drawable/texture_paper.jpgbin989 -> 0 bytes
-rw-r--r--res/layout-land/application_boxed.xml2
-rw-r--r--res/layout-port/application_boxed.xml2
-rw-r--r--res/layout/gestures.xml96
-rw-r--r--res/layout/gestures_settings.xml37
-rw-r--r--res/layout/gestures_settings_item.xml31
-rw-r--r--res/layout/list_category.xml (renamed from res/drawable/spinner_dropdown_background.xml)10
-rw-r--r--res/layout/list_checkbox_2lines.xml60
-rw-r--r--res/layout/rename_folder.xml1
-rw-r--r--res/values-cs/strings.xml26
-rw-r--r--res/values-da/strings.xml68
-rw-r--r--res/values-de/strings.xml30
-rw-r--r--res/values-el/strings.xml68
-rw-r--r--res/values-es-rUS/strings.xml25
-rw-r--r--res/values-es/strings.xml5
-rw-r--r--res/values-fr/strings.xml9
-rw-r--r--res/values-it/strings.xml5
-rw-r--r--res/values-ja/strings.xml10
-rw-r--r--res/values-ko/strings.xml18
-rw-r--r--res/values-nb/strings.xml31
-rw-r--r--res/values-nl/strings.xml5
-rw-r--r--res/values-pl/strings.xml5
-rw-r--r--res/values-pt-rPT/strings.xml68
-rw-r--r--res/values-pt/strings.xml82
-rw-r--r--res/values-ru/strings.xml44
-rw-r--r--res/values-sv/strings.xml68
-rw-r--r--res/values-tr/strings.xml68
-rw-r--r--res/values-zh-rCN/strings.xml59
-rw-r--r--res/values-zh-rTW/strings.xml5
-rw-r--r--res/values/colors.xml3
-rw-r--r--res/values/strings.xml40
-rw-r--r--res/values/styles.xml5
-rw-r--r--src/com/android/launcher/GesturesActivity.java349
-rw-r--r--src/com/android/launcher/GesturesConstants.java25
-rw-r--r--src/com/android/launcher/GesturesPanel.java50
-rw-r--r--src/com/android/launcher/Launcher.java471
-rw-r--r--src/com/android/launcher/Search.java57
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
deleted file mode 100644
index 7f105bd..0000000
--- a/res/drawable-land/search_bg.9.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-land/spinner_dropdown_background_down.9.png b/res/drawable-land/spinner_dropdown_background_down.9.png
deleted file mode 100644
index bb64b78..0000000
--- a/res/drawable-land/spinner_dropdown_background_down.9.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-land/spinner_dropdown_background_up.9.png b/res/drawable-land/spinner_dropdown_background_up.9.png
deleted file mode 100644
index c0e2a66..0000000
--- a/res/drawable-land/spinner_dropdown_background_up.9.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-port/search_bg.9.png b/res/drawable-port/search_bg.9.png
deleted file mode 100644
index b55b545..0000000
--- a/res/drawable-port/search_bg.9.png
+++ /dev/null
Binary files differ
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
deleted file mode 100644
index 33b74a6..0000000
--- a/res/drawable/btn_circle_disable.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable/btn_circle_disable_focused.png b/res/drawable/btn_circle_disable_focused.png
deleted file mode 100644
index 005ad8d..0000000
--- a/res/drawable/btn_circle_disable_focused.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable/btn_circle_normal.png b/res/drawable/btn_circle_normal.png
deleted file mode 100644
index fc5af1c..0000000
--- a/res/drawable/btn_circle_normal.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable/btn_circle_pressed.png b/res/drawable/btn_circle_pressed.png
deleted file mode 100644
index 8f40afd..0000000
--- a/res/drawable/btn_circle_pressed.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable/btn_circle_selected.png b/res/drawable/btn_circle_selected.png
deleted file mode 100644
index c74fac2..0000000
--- a/res/drawable/btn_circle_selected.png
+++ /dev/null
Binary files differ
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
deleted file mode 100644
index 54fd5f9..0000000
--- a/res/drawable/google_logo.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable/ic_btn_round_plus.png b/res/drawable/ic_btn_round_plus.png
deleted file mode 100644
index 1ec8a95..0000000
--- a/res/drawable/ic_btn_round_plus.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable/placeholder_google.png b/res/drawable/placeholder_google.png
new file mode 100644
index 0000000..bc72d34
--- /dev/null
+++ b/res/drawable/placeholder_google.png
Binary files differ
diff --git a/res/drawable/search_floater.9.png b/res/drawable/search_floater.9.png
index a2007ad..6646ad3 100644
--- a/res/drawable/search_floater.9.png
+++ b/res/drawable/search_floater.9.png
Binary files differ
diff --git a/res/drawable/spinner_dropdown_background_down.9.png b/res/drawable/spinner_dropdown_background_down.9.png
deleted file mode 100644
index 9cb5556..0000000
--- a/res/drawable/spinner_dropdown_background_down.9.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable/spinner_dropdown_background_up.9.png b/res/drawable/spinner_dropdown_background_up.9.png
deleted file mode 100644
index 5c93f78..0000000
--- a/res/drawable/spinner_dropdown_background_up.9.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable/texture_paper.jpg b/res/drawable/texture_paper.jpg
deleted file mode 100644
index 27f4fd6..0000000
--- a/res/drawable/texture_paper.jpg
+++ /dev/null
Binary files differ
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.