diff options
author | Brint E. Kriebel <bekit@cyngn.com> | 2014-08-25 11:23:39 -0700 |
---|---|---|
committer | Brint E. Kriebel <bekit@cyngn.com> | 2014-08-25 11:23:39 -0700 |
commit | c780ac1d535c3233b1d69471030759ed4f5e5a32 (patch) | |
tree | a355d1667125feb473208e23858099b3050cab90 | |
parent | 43ae18f573bfa2234ac6e148806bd6c07b2d68fe (diff) | |
parent | 46b0ef9a1a9aaba3c7ff764b2314ba0986dc9fc3 (diff) | |
download | android_packages_apps_Trebuchet-c780ac1d535c3233b1d69471030759ed4f5e5a32.tar.gz android_packages_apps_Trebuchet-c780ac1d535c3233b1d69471030759ed4f5e5a32.tar.bz2 android_packages_apps_Trebuchet-c780ac1d535c3233b1d69471030759ed4f5e5a32.zip |
Merge branch 'cm-11.0' into stable/cm-11.0
Change-Id: Ic9b8a3947f66de030093181e8586c606dcdc0699
139 files changed, 678 insertions, 477 deletions
diff --git a/AndroidManifest.xml b/AndroidManifest.xml index 830e2c4b4..0dd98d68b 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -25,7 +25,7 @@ <original-package android:name="com.android.launcher3" /> - <uses-sdk android:targetSdkVersion="19" android:minSdkVersion="16"/> + <uses-sdk android:targetSdkVersion="19" android:minSdkVersion="17"/> <permission android:name="com.android.launcher3.permission.PRELOAD_WORKSPACE" @@ -65,6 +65,7 @@ <uses-permission android:name="android.permission.VIBRATE" /> <uses-permission android:name="android.permission.BIND_APPWIDGET" /> <uses-permission android:name="android.permission.GET_ACCOUNTS" /> + <uses-permission android:name="android.permission.MANAGE_USERS"/> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.INJECT_EVENTS" /> <uses-permission android:name="android.permission.GET_TASKS"/> diff --git a/res/drawable/grid.png b/res/drawable/grid.png Binary files differdeleted file mode 100644 index 79fe901d1..000000000 --- a/res/drawable/grid.png +++ /dev/null diff --git a/res/drawable/grid_comfortable.png b/res/drawable/grid_comfortable.png Binary files differdeleted file mode 100644 index 34e3ef2ee..000000000 --- a/res/drawable/grid_comfortable.png +++ /dev/null diff --git a/res/drawable/grid_condensed.png b/res/drawable/grid_condensed.png Binary files differdeleted file mode 100644 index ebc9d4e54..000000000 --- a/res/drawable/grid_condensed.png +++ /dev/null diff --git a/res/drawable/grid_cozy.png b/res/drawable/grid_cozy.png Binary files differdeleted file mode 100644 index 929bcb541..000000000 --- a/res/drawable/grid_cozy.png +++ /dev/null diff --git a/res/layout/dynamic_grid_size_screen.xml b/res/layout/dynamic_grid_size_screen.xml index 38db4b05c..5109e73d8 100644 --- a/res/layout/dynamic_grid_size_screen.xml +++ b/res/layout/dynamic_grid_size_screen.xml @@ -34,12 +34,12 @@ android:textSize="16sp" /> </LinearLayout> - <ImageView + <view + class="com.android.launcher3.DynamicGridSizeFragment$GridSizeView" android:id="@+id/dynamic_grid_size_image" android:layout_width="@dimen/dynamic_grid_size_image_width" android:layout_height="@dimen/dynamic_grid_size_image_height" android:layout_gravity="center_horizontal" - android:adjustViewBounds="true" android:layout_marginBottom="@dimen/grid_padding"/> <ListView diff --git a/res/layout/settings_pane.xml b/res/layout/settings_pane.xml index 495d0997d..d3f3fdbd5 100644 --- a/res/layout/settings_pane.xml +++ b/res/layout/settings_pane.xml @@ -1,15 +1,15 @@ <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" + android:background="@color/settings_bg_color" android:layout_height="match_parent" > <LinearLayout + android:id="@+id/settings_container" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_gravity="center_horizontal|bottom" - android:background="@color/settings_bg_color" - android:orientation="vertical" - android:paddingBottom="@dimen/overview_panel_bottom_padding" > + android:orientation="vertical" > <LinearLayout android:id="@+id/settings_pane_header" diff --git a/res/layout/settings_transitions_screen.xml b/res/layout/settings_transitions_screen.xml index 37535e912..8457841a5 100644 --- a/res/layout/settings_transitions_screen.xml +++ b/res/layout/settings_transitions_screen.xml @@ -4,7 +4,6 @@ android:layout_gravity="center_horizontal|bottom" android:background="@color/settings_bg_color" android:orientation="vertical" - android:paddingBottom="@dimen/overview_panel_bottom_padding" android:paddingTop="@dimen/overview_panel_bottom_padding" android:clickable="true" > diff --git a/res/values-af/cm_arrays.xml b/res/values-af/cm_arrays.xml index 966761f24..4f3440029 100644 --- a/res/values-af/cm_arrays.xml +++ b/res/values-af/cm_arrays.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> +<!--Generated by crowdin.com--> <!-- Copyright (C) 2014 The CyanogenMod Project diff --git a/res/values-af/cm_caf.xml b/res/values-af/cm_caf.xml index d87537c04..3b3e35ed2 100644 --- a/res/values-af/cm_caf.xml +++ b/res/values-af/cm_caf.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> +<!--Generated by crowdin.com--> <!-- Copyright (C) 2014 The CyanogenMod Project diff --git a/res/values-af/cm_strings.xml b/res/values-af/cm_strings.xml index 95dd1fc49..9d6173e3b 100644 --- a/res/values-af/cm_strings.xml +++ b/res/values-af/cm_strings.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> +<!--Generated by crowdin.com--> <!-- Copyright (C) 2014 The CyanogenMod Project @@ -52,6 +52,6 @@ <string name="search_screen_left_text">Soek paneel</string> <string name="search_screen_left_unsupported_toast">Jy moet \'n ondersteunde soek program hê en CyanogenMod om hierdie funksie te gebruik.</string> <string name="dialog_confirm">Bevestig</string> - <string name="permission_desc_read_extension_data">Laat toegang tot byvoegsels vir DashClock se data toe</string> - <string name="permission_label_read_extension_data">Vra byvoegsel vir DashClock data aan</string> + <string name="permission_label_read_extension_data">Vra vir DashClock byvoegsel data</string> + <string name="permission_desc_read_extension_data">Laat die program toe om DashClock byvoegsel data te kry</string> </resources> diff --git a/res/values-ar/cm_arrays.xml b/res/values-ar/cm_arrays.xml index 78682bcb6..01a5ec0e2 100644 --- a/res/values-ar/cm_arrays.xml +++ b/res/values-ar/cm_arrays.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> +<!--Generated by crowdin.com--> <!-- Copyright (C) 2014 The CyanogenMod Project diff --git a/res/values-ar/cm_caf.xml b/res/values-ar/cm_caf.xml index c5fcd3b37..c11355e98 100644 --- a/res/values-ar/cm_caf.xml +++ b/res/values-ar/cm_caf.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> +<!--Generated by crowdin.com--> <!-- Copyright (C) 2014 The CyanogenMod Project diff --git a/res/values-ar/cm_strings.xml b/res/values-ar/cm_strings.xml index e7d5f02f3..3d8d8776d 100644 --- a/res/values-ar/cm_strings.xml +++ b/res/values-ar/cm_strings.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> +<!--Generated by crowdin.com--> <!-- Copyright (C) 2014 The CyanogenMod Project @@ -52,6 +52,6 @@ <string name="search_screen_left_text">لوحة البحث</string> <string name="search_screen_left_unsupported_toast">يجب أن يكون تطبيق البحث و CyanogenMod مدعومين لستخدام هذه الميزة.</string> <string name="dialog_confirm">تأكيد</string> - <string name="permission_desc_read_extension_data">يسمح بطلب بيانات ملحق DashClock</string> <string name="permission_label_read_extension_data">طلب بيانات ملحق DashClock</string> + <string name="permission_desc_read_extension_data">يسمح لي التطبيق بطلب بيانات ملحقة DashClock</string> </resources> diff --git a/res/values-az/cm_arrays.xml b/res/values-az/cm_arrays.xml new file mode 100644 index 000000000..092fa7e0f --- /dev/null +++ b/res/values-az/cm_arrays.xml @@ -0,0 +1,35 @@ +<?xml version="1.0" encoding="utf-8"?> +<!--Generated by crowdin.com--> +<!-- + Copyright (C) 2014 The CyanogenMod 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> + <string-array name="transition_effect_entries"> + <item>Heç bir</item> + <item>Zoom in</item> + <item>Zoom out</item> + <item>Rotate up</item> + <item>Rotate down</item> + <item>Cube in</item> + <item>Cube out</item> + <item>Stack</item> + <item>Accordion</item> + <item>Flip</item> + <item>Cylinder in</item> + <item>Cylinder out</item> + <item>Carousel</item> + <item>Overview</item> + </string-array> +</resources> diff --git a/res/values-ca/cm_arrays.xml b/res/values-ca/cm_arrays.xml index 5207e1dfd..9895c3eb5 100644 --- a/res/values-ca/cm_arrays.xml +++ b/res/values-ca/cm_arrays.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> +<!--Generated by crowdin.com--> <!-- Copyright (C) 2014 The CyanogenMod Project diff --git a/res/values-ca/cm_caf.xml b/res/values-ca/cm_caf.xml index 12a476e24..a686ba159 100644 --- a/res/values-ca/cm_caf.xml +++ b/res/values-ca/cm_caf.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> +<!--Generated by crowdin.com--> <!-- Copyright (C) 2014 The CyanogenMod Project diff --git a/res/values-ca/cm_strings.xml b/res/values-ca/cm_strings.xml index d89142d95..c3b8c0202 100644 --- a/res/values-ca/cm_strings.xml +++ b/res/values-ca/cm_strings.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> +<!--Generated by crowdin.com--> <!-- Copyright (C) 2014 The CyanogenMod Project @@ -52,6 +52,6 @@ <string name="search_screen_left_text">Quadre de cerca</string> <string name="search_screen_left_unsupported_toast">Has de tenir una app de cerca suportada i perquè CyanogenMod utilitzi aquesta característica.</string> <string name="dialog_confirm">Confirma</string> - <string name="permission_desc_read_extension_data">Permet sol·licitar dades d\'extensió del DashClock</string> - <string name="permission_label_read_extension_data">Sol·licita dades d\'extensió del DashClock</string> + <string name="permission_label_read_extension_data">sol·licita dades de l\'extensió DashClock</string> + <string name="permission_desc_read_extension_data">Permet a l\'app sol·licitar dades de l\'extensió DashClock</string> </resources> diff --git a/res/values-cs/cm_arrays.xml b/res/values-cs/cm_arrays.xml index aa326e178..43a35bb7a 100644 --- a/res/values-cs/cm_arrays.xml +++ b/res/values-cs/cm_arrays.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> +<!--Generated by crowdin.com--> <!-- Copyright (C) 2014 The CyanogenMod Project diff --git a/res/values-cs/cm_caf.xml b/res/values-cs/cm_caf.xml index a1a223e2c..4b4002b79 100644 --- a/res/values-cs/cm_caf.xml +++ b/res/values-cs/cm_caf.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> +<!--Generated by crowdin.com--> <!-- Copyright (C) 2014 The CyanogenMod Project diff --git a/res/values-cs/cm_strings.xml b/res/values-cs/cm_strings.xml index d30c5039a..dd7ae401b 100644 --- a/res/values-cs/cm_strings.xml +++ b/res/values-cs/cm_strings.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> +<!--Generated by crowdin.com--> <!-- Copyright (C) 2014 The CyanogenMod Project @@ -52,6 +52,6 @@ <string name="search_screen_left_text">Panel vyhledávání</string> <string name="search_screen_left_unsupported_toast">Pro použití této funkce musíte mít nainstalovanou podporovanou aplikaci vyhledávání a CyanogenMod.</string> <string name="dialog_confirm">Potvrdit</string> - <string name="permission_desc_read_extension_data">Umožnit vyžádat data rozšíření DashClock</string> - <string name="permission_label_read_extension_data">Vyžádat data rozšíření DashClock</string> + <string name="permission_label_read_extension_data">vyžádat data rozšíření DashClock</string> + <string name="permission_desc_read_extension_data">Umožňuje vyžádat data rozšíření DashClock</string> </resources> diff --git a/res/values-da/cm_arrays.xml b/res/values-da/cm_arrays.xml index 038d014d7..43c85521d 100644 --- a/res/values-da/cm_arrays.xml +++ b/res/values-da/cm_arrays.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> +<!--Generated by crowdin.com--> <!-- Copyright (C) 2014 The CyanogenMod Project diff --git a/res/values-da/cm_caf.xml b/res/values-da/cm_caf.xml index 6c57231dd..94e76cd35 100644 --- a/res/values-da/cm_caf.xml +++ b/res/values-da/cm_caf.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> +<!--Generated by crowdin.com--> <!-- Copyright (C) 2014 The CyanogenMod Project diff --git a/res/values-da/cm_strings.xml b/res/values-da/cm_strings.xml index 137da842f..0a60596f2 100644 --- a/res/values-da/cm_strings.xml +++ b/res/values-da/cm_strings.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> +<!--Generated by crowdin.com--> <!-- Copyright (C) 2014 The CyanogenMod Project @@ -22,6 +22,8 @@ <string name="app_settings">APP-INDSTILLINGER</string> <string name="setting_state_on">TIL</string> <string name="setting_state_off">FRA</string> + <string name="search_panel_gel">Google Now</string> + <string name="search_panel_custom_home">CM Launcher</string> <string name="themes_button_text">Temaer</string> <string name="scrolling_page_outlines">Sideomrids</string> <string name="scrolling_fade_adjacent">Sideovergange</string> @@ -50,4 +52,6 @@ <string name="search_screen_left_text">Søgepanel</string> <string name="search_screen_left_unsupported_toast">Du skal have en understøttet søge-app og CyanogenMod for at anvende denne funktion.</string> <string name="dialog_confirm">Bekræft</string> + <string name="permission_label_read_extension_data">anmod om DashClock-udvidelsesdata</string> + <string name="permission_desc_read_extension_data">Tillader appen at anmode om DashClock-udvidelsesdata</string> </resources> diff --git a/res/values-de/cm_arrays.xml b/res/values-de/cm_arrays.xml index b1fb3b5f1..a4ea2ce1b 100644 --- a/res/values-de/cm_arrays.xml +++ b/res/values-de/cm_arrays.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> +<!--Generated by crowdin.com--> <!-- Copyright (C) 2014 The CyanogenMod Project diff --git a/res/values-de/cm_caf.xml b/res/values-de/cm_caf.xml index c8b1eb8da..f005d7394 100644 --- a/res/values-de/cm_caf.xml +++ b/res/values-de/cm_caf.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> +<!--Generated by crowdin.com--> <!-- Copyright (C) 2014 The CyanogenMod Project diff --git a/res/values-de/cm_strings.xml b/res/values-de/cm_strings.xml index e18ddf99c..0e37a0e79 100644 --- a/res/values-de/cm_strings.xml +++ b/res/values-de/cm_strings.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> +<!--Generated by crowdin.com--> <!-- Copyright (C) 2014 The CyanogenMod Project @@ -52,4 +52,6 @@ <string name="search_screen_left_text">Such-Bildschirm</string> <string name="search_screen_left_unsupported_toast">Um diese Funktion nutzen zu können, muss CyanogenMod und eine unterstützte Such-App installiert sein.</string> <string name="dialog_confirm">Bestätigen</string> + <string name="permission_label_read_extension_data">DashClock-Erweiterungsdaten anfordern</string> + <string name="permission_desc_read_extension_data">Ermöglicht der App, DashClock-Erweiterungsdaten anzufordern</string> </resources> diff --git a/res/values-el/cm_arrays.xml b/res/values-el/cm_arrays.xml index b37f8c596..561f2611d 100644 --- a/res/values-el/cm_arrays.xml +++ b/res/values-el/cm_arrays.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> +<!--Generated by crowdin.com--> <!-- Copyright (C) 2014 The CyanogenMod Project diff --git a/res/values-el/cm_caf.xml b/res/values-el/cm_caf.xml index 01c0552e3..5669512c7 100644 --- a/res/values-el/cm_caf.xml +++ b/res/values-el/cm_caf.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> +<!--Generated by crowdin.com--> <!-- Copyright (C) 2014 The CyanogenMod Project diff --git a/res/values-el/cm_strings.xml b/res/values-el/cm_strings.xml index b67c26a00..aa2f4f00a 100644 --- a/res/values-el/cm_strings.xml +++ b/res/values-el/cm_strings.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> +<!--Generated by crowdin.com--> <!-- Copyright (C) 2014 The CyanogenMod Project @@ -52,6 +52,6 @@ <string name="search_screen_left_text">Σελίδα αναζήτησης</string> <string name="search_screen_left_unsupported_toast">Πρέπει να έχετε μια υποστηριζόμενη εφαρμογή αναζήτησης και CyanogenMod για να χρησιμοποιήσετε αυτήν τη δυνατότητα.</string> <string name="dialog_confirm">Επιβεβαίωση</string> - <string name="permission_desc_read_extension_data">Επιτρέπει την αίτηση δεδομένων επέκτασεων DashClock</string> - <string name="permission_label_read_extension_data">Αίτηση δεδομένων επέκτασεων DashClock</string> + <string name="permission_label_read_extension_data">αίτηση δεδομένων επέκτασεων DashClock</string> + <string name="permission_desc_read_extension_data">Επιτρέπει στην εφαρμογή να ζητήσει δεδομένα επεκτάσεων DashClock</string> </resources> diff --git a/res/values-es-rXA/cm_arrays.xml b/res/values-es-rXA/cm_arrays.xml index 8cab04774..85ecc70f1 100644 --- a/res/values-es-rXA/cm_arrays.xml +++ b/res/values-es-rXA/cm_arrays.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> +<!--Generated by crowdin.com--> <!-- Copyright (C) 2014 The CyanogenMod Project diff --git a/res/values-es-rXA/cm_caf.xml b/res/values-es-rXA/cm_caf.xml index 47fa72e36..f3a9c9bd9 100644 --- a/res/values-es-rXA/cm_caf.xml +++ b/res/values-es-rXA/cm_caf.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> +<!--Generated by crowdin.com--> <!-- Copyright (C) 2014 The CyanogenMod Project diff --git a/res/values-es-rXA/cm_strings.xml b/res/values-es-rXA/cm_strings.xml index 52a998215..c76173c1c 100644 --- a/res/values-es-rXA/cm_strings.xml +++ b/res/values-es-rXA/cm_strings.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> +<!--Generated by crowdin.com--> <!-- Copyright (C) 2014 The CyanogenMod Project @@ -52,6 +52,6 @@ <string name="search_screen_left_text">Panel de gueta</string> <string name="search_screen_left_unsupported_toast">Ye necesario tener una aplicación de gueta y CyanogenMod pa poder usar esta carauterística.</string> <string name="dialog_confirm">Confirmar</string> - <string name="permission_desc_read_extension_data">Permitir que les estensiones de DaskClock soliciten datos</string> - <string name="permission_label_read_extension_data">Solicitar datos d\'estensiones de DashClock</string> + <string name="permission_label_read_extension_data">solicitar datos d\'estensión DashClock</string> + <string name="permission_desc_read_extension_data">Permite que l\'aplicación solicite datos d\'estensión DashClock</string> </resources> diff --git a/res/values-es/cm_arrays.xml b/res/values-es/cm_arrays.xml index 3f1f46dab..1d16cfd00 100644 --- a/res/values-es/cm_arrays.xml +++ b/res/values-es/cm_arrays.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> +<!--Generated by crowdin.com--> <!-- Copyright (C) 2014 The CyanogenMod Project diff --git a/res/values-es/cm_caf.xml b/res/values-es/cm_caf.xml index 14d174992..fcc126c49 100644 --- a/res/values-es/cm_caf.xml +++ b/res/values-es/cm_caf.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> +<!--Generated by crowdin.com--> <!-- Copyright (C) 2014 The CyanogenMod Project diff --git a/res/values-es/cm_strings.xml b/res/values-es/cm_strings.xml index 775c15b96..76f5ac84d 100644 --- a/res/values-es/cm_strings.xml +++ b/res/values-es/cm_strings.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> +<!--Generated by crowdin.com--> <!-- Copyright (C) 2014 The CyanogenMod Project @@ -52,6 +52,6 @@ <string name="search_screen_left_text">Panel de búsqueda</string> <string name="search_screen_left_unsupported_toast">Debes tener una aplicación de búsqueda y CyanogenMod para poder utilizar esta característica.</string> <string name="dialog_confirm">Confirmar</string> - <string name="permission_desc_read_extension_data">Permitir que las extensiones de DashClock soliciten datos</string> - <string name="permission_label_read_extension_data">Solicitar datos de extensiones de DashClock</string> + <string name="permission_label_read_extension_data">solicitar datos de extensión DashClock</string> + <string name="permission_desc_read_extension_data">Permite que la aplicación solicite datos de extensión DashClock</string> </resources> diff --git a/res/values-et/cm_arrays.xml b/res/values-et/cm_arrays.xml index 0a9de69ed..420fd97e3 100644 --- a/res/values-et/cm_arrays.xml +++ b/res/values-et/cm_arrays.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> +<!--Generated by crowdin.com--> <!-- Copyright (C) 2014 The CyanogenMod Project diff --git a/res/values-et/cm_caf.xml b/res/values-et/cm_caf.xml index 4c93ebeee..325793211 100644 --- a/res/values-et/cm_caf.xml +++ b/res/values-et/cm_caf.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> +<!--Generated by crowdin.com--> <!-- Copyright (C) 2014 The CyanogenMod Project diff --git a/res/values-et/cm_strings.xml b/res/values-et/cm_strings.xml index eef88a4cc..ef6532bc4 100644 --- a/res/values-et/cm_strings.xml +++ b/res/values-et/cm_strings.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> +<!--Generated by crowdin.com--> <!-- Copyright (C) 2014 The CyanogenMod Project @@ -22,6 +22,8 @@ <string name="app_settings">RAKENDUSE SEADED</string> <string name="setting_state_on">SEES</string> <string name="setting_state_off">VÄLJAS</string> + <string name="search_panel_gel">Google Now</string> + <string name="search_panel_custom_home">CM Home</string> <string name="themes_button_text">Teemad</string> <string name="scrolling_page_outlines">Lehe äärisjooned</string> <string name="scrolling_fade_adjacent">Sulanda äärislehed</string> @@ -50,4 +52,6 @@ <string name="search_screen_left_text">Otsingupaneel</string> <string name="search_screen_left_unsupported_toast">Teil peab olema toetatud otsingurakendus ja CyanogenMod et kasutada seda võimalust.</string> <string name="dialog_confirm">Kinnita</string> + <string name="permission_label_read_extension_data">taodelda DashClock laienduse andmeid</string> + <string name="permission_desc_read_extension_data">Lubab rakendusel taodelda DashClock laienduse andmeid</string> </resources> diff --git a/res/values-eu/cm_arrays.xml b/res/values-eu/cm_arrays.xml index e8cfdd5d0..7f2cc6518 100644 --- a/res/values-eu/cm_arrays.xml +++ b/res/values-eu/cm_arrays.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> +<!--Generated by crowdin.com--> <!-- Copyright (C) 2014 The CyanogenMod Project diff --git a/res/values-eu/cm_caf.xml b/res/values-eu/cm_caf.xml index d0d04a7c6..625640338 100644 --- a/res/values-eu/cm_caf.xml +++ b/res/values-eu/cm_caf.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> +<!--Generated by crowdin.com--> <!-- Copyright (C) 2014 The CyanogenMod Project diff --git a/res/values-eu/cm_strings.xml b/res/values-eu/cm_strings.xml index d3dec9f05..b362b3881 100644 --- a/res/values-eu/cm_strings.xml +++ b/res/values-eu/cm_strings.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> +<!--Generated by crowdin.com--> <!-- Copyright (C) 2014 The CyanogenMod Project @@ -52,6 +52,6 @@ <string name="search_screen_left_text">Bilaketa panela</string> <string name="search_screen_left_unsupported_toast">Bilaketa aplikazio bat izan behar duzu CyanogenMod-ek ezaugarri hau erabili ahal izateko.</string> <string name="dialog_confirm">Berretsi</string> - <string name="permission_desc_read_extension_data">DashClock hedapenek datuak eskatzea baimendu</string> <string name="permission_label_read_extension_data">DashClock hedapenen datuak eskatu</string> + <string name="permission_desc_read_extension_data">Aplikazioa DashClock hedapenen datuak eskatzera baimentzen du</string> </resources> diff --git a/res/values-fi/cm_arrays.xml b/res/values-fi/cm_arrays.xml index 9b1d7a28e..d6218f8d2 100644 --- a/res/values-fi/cm_arrays.xml +++ b/res/values-fi/cm_arrays.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> +<!--Generated by crowdin.com--> <!-- Copyright (C) 2014 The CyanogenMod Project diff --git a/res/values-fi/cm_caf.xml b/res/values-fi/cm_caf.xml index 6b0bc1c87..5b4dc9a18 100644 --- a/res/values-fi/cm_caf.xml +++ b/res/values-fi/cm_caf.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> +<!--Generated by crowdin.com--> <!-- Copyright (C) 2014 The CyanogenMod Project diff --git a/res/values-fi/cm_strings.xml b/res/values-fi/cm_strings.xml index 2dac37383..4a413c2ea 100644 --- a/res/values-fi/cm_strings.xml +++ b/res/values-fi/cm_strings.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> +<!--Generated by crowdin.com--> <!-- Copyright (C) 2014 The CyanogenMod Project @@ -52,6 +52,6 @@ <string name="search_screen_left_text">Hakupaneeli</string> <string name="search_screen_left_unsupported_toast">Sinulla tulee olla tuettu hakusovellus ja CyanogenMod käyttääksesi tätä toimintoa.</string> <string name="dialog_confirm">Vahvista</string> - <string name="permission_desc_read_extension_data">Sallii DashClock-laajennuksen tietojen pyynnöt</string> - <string name="permission_label_read_extension_data">Pyydä DashClock-laajennuksen tiedot</string> + <string name="permission_label_read_extension_data">pyydä DashClock-laajennuksen tiedot</string> + <string name="permission_desc_read_extension_data">Sallii sovelluksen pyytää DashClock-laajennoksen tietoja</string> </resources> diff --git a/res/values-fr/cm_arrays.xml b/res/values-fr/cm_arrays.xml index 46a63a475..6d8e088cd 100644 --- a/res/values-fr/cm_arrays.xml +++ b/res/values-fr/cm_arrays.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> +<!--Generated by crowdin.com--> <!-- Copyright (C) 2014 The CyanogenMod Project diff --git a/res/values-fr/cm_caf.xml b/res/values-fr/cm_caf.xml index 8eecd03f5..cc1adfcf1 100644 --- a/res/values-fr/cm_caf.xml +++ b/res/values-fr/cm_caf.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> +<!--Generated by crowdin.com--> <!-- Copyright (C) 2014 The CyanogenMod Project diff --git a/res/values-fr/cm_strings.xml b/res/values-fr/cm_strings.xml index 3655ee310..f82e4d8a9 100644 --- a/res/values-fr/cm_strings.xml +++ b/res/values-fr/cm_strings.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> +<!--Generated by crowdin.com--> <!-- Copyright (C) 2014 The CyanogenMod Project @@ -42,7 +42,7 @@ <string name="drawer_sorting_text">Mode de tri</string> <string name="sort_mode_title">Titre</string> <string name="sort_mode_launch_count">Nombre de lancements</string> - <string name="sort_mode_install_time">Durée d\'installation</string> + <string name="sort_mode_install_time">Date d\'installation</string> <string name="home_screen_search_text">Barre de recherche</string> <string name="larger_icons_text">Grandes icônes</string> <string name="icon_labels">Nom des icônes</string> @@ -52,5 +52,6 @@ <string name="search_screen_left_text">Panneau de recherche</string> <string name="search_screen_left_unsupported_toast">Vous devez avoir une application de recherche compatible et CyanogenMod pour utiliser cette fonctionnalité.</string> <string name="dialog_confirm">Confirmer</string> - <string name="permission_desc_read_extension_data">Autoriser les demandes de données d\'extension de DashClock</string> + <string name="permission_label_read_extension_data">Demander des données d\'extension DashClock</string> + <string name="permission_desc_read_extension_data">Autoriser l\'application à demander des données d\'extension DashClock</string> </resources> diff --git a/res/values-hu/cm_arrays.xml b/res/values-hu/cm_arrays.xml index 06a15a2fd..fa175897c 100644 --- a/res/values-hu/cm_arrays.xml +++ b/res/values-hu/cm_arrays.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> +<!--Generated by crowdin.com--> <!-- Copyright (C) 2014 The CyanogenMod Project diff --git a/res/values-hu/cm_caf.xml b/res/values-hu/cm_caf.xml index a6d67260e..e32a02ebf 100644 --- a/res/values-hu/cm_caf.xml +++ b/res/values-hu/cm_caf.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> +<!--Generated by crowdin.com--> <!-- Copyright (C) 2014 The CyanogenMod Project diff --git a/res/values-hu/cm_strings.xml b/res/values-hu/cm_strings.xml index 5de1269d4..cd653479f 100644 --- a/res/values-hu/cm_strings.xml +++ b/res/values-hu/cm_strings.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> +<!--Generated by crowdin.com--> <!-- Copyright (C) 2014 The CyanogenMod Project @@ -52,6 +52,6 @@ <string name="search_screen_left_text">Keresés panel</string> <string name="search_screen_left_unsupported_toast">Rendelkeznie kell egy támogatott kereső alkalmazással és CyanogenMod-dal, hogy használhassa ezt a funkciót.</string> <string name="dialog_confirm">Megerősítés</string> - <string name="permission_desc_read_extension_data">Lehetővé teszi a DashClock bővítmény számára az adat-hozzáférési kérelmet</string> - <string name="permission_label_read_extension_data">A DashClock adathozzáférést kér a bővítmény számára</string> + <string name="permission_label_read_extension_data">DashClock adathozzáférést kér a bővítmény számára</string> + <string name="permission_desc_read_extension_data">Lehetővé teszi az alkalmazás számára, hogy a DashClock adathozzáférést kérjen a bővítmény számára</string> </resources> diff --git a/res/values-in/cm_arrays.xml b/res/values-in/cm_arrays.xml index 4e7c2d485..14b59cc8c 100644 --- a/res/values-in/cm_arrays.xml +++ b/res/values-in/cm_arrays.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> +<!--Generated by crowdin.com--> <!-- Copyright (C) 2014 The CyanogenMod Project diff --git a/res/values-in/cm_caf.xml b/res/values-in/cm_caf.xml index d58f8c797..cffbd8c89 100644 --- a/res/values-in/cm_caf.xml +++ b/res/values-in/cm_caf.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> +<!--Generated by crowdin.com--> <!-- Copyright (C) 2014 The CyanogenMod Project diff --git a/res/values-in/cm_strings.xml b/res/values-in/cm_strings.xml index f93cddd3a..a0b08ff5b 100644 --- a/res/values-in/cm_strings.xml +++ b/res/values-in/cm_strings.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> +<!--Generated by crowdin.com--> <!-- Copyright (C) 2014 The CyanogenMod Project @@ -52,6 +52,6 @@ <string name="search_screen_left_text">Panel pencarian</string> <string name="search_screen_left_unsupported_toast">Anda harus memiliki apl pencarain yang didukung dan CyanogenMod untuk menggunakan fitur ini.</string> <string name="dialog_confirm">Konfirmasi</string> - <string name="permission_desc_read_extension_data">Izinkan meminta data dari ekstensi DashClock</string> - <string name="permission_label_read_extension_data">Meminta ekstensi data DashClock</string> + <string name="permission_label_read_extension_data">meminta ekstensi data DashClock</string> + <string name="permission_desc_read_extension_data">Izinkan aplikasi meminta data dari ekstensi DashClock</string> </resources> diff --git a/res/values-it/cm_arrays.xml b/res/values-it/cm_arrays.xml index 529ea113b..d9ec497c7 100644 --- a/res/values-it/cm_arrays.xml +++ b/res/values-it/cm_arrays.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> +<!--Generated by crowdin.com--> <!-- Copyright (C) 2014 The CyanogenMod Project diff --git a/res/values-it/cm_caf.xml b/res/values-it/cm_caf.xml index 4840fa589..2491a2104 100644 --- a/res/values-it/cm_caf.xml +++ b/res/values-it/cm_caf.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> +<!--Generated by crowdin.com--> <!-- Copyright (C) 2014 The CyanogenMod Project diff --git a/res/values-it/cm_strings.xml b/res/values-it/cm_strings.xml index e9356b6e5..c301e94fe 100644 --- a/res/values-it/cm_strings.xml +++ b/res/values-it/cm_strings.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> +<!--Generated by crowdin.com--> <!-- Copyright (C) 2014 The CyanogenMod Project @@ -52,6 +52,6 @@ <string name="search_screen_left_text">Pannello ricerca</string> <string name="search_screen_left_unsupported_toast">È necessario disporre di un app per la ricerca supportata e CyanogenMod per utilizzare questa funzionalità.</string> <string name="dialog_confirm">Conferma</string> - <string name="permission_desc_read_extension_data">Consenti l\'accesso ai dati delle estensioni DashClock</string> - <string name="permission_label_read_extension_data">Accesso ai dati delle estensioni DashClock</string> + <string name="permission_label_read_extension_data">accesso ai dati delle estensioni DashClock</string> + <string name="permission_desc_read_extension_data">Consente all\'app di richiedere i dati di estensione DashClock</string> </resources> diff --git a/res/values-iw/cm_arrays.xml b/res/values-iw/cm_arrays.xml index bc7066482..870511f8f 100644 --- a/res/values-iw/cm_arrays.xml +++ b/res/values-iw/cm_arrays.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> +<!--Generated by crowdin.com--> <!-- Copyright (C) 2014 The CyanogenMod Project diff --git a/res/values-iw/cm_caf.xml b/res/values-iw/cm_caf.xml index bff1dc8f6..e4ce4d326 100644 --- a/res/values-iw/cm_caf.xml +++ b/res/values-iw/cm_caf.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> +<!--Generated by crowdin.com--> <!-- Copyright (C) 2014 The CyanogenMod Project diff --git a/res/values-iw/cm_strings.xml b/res/values-iw/cm_strings.xml index 7152bc1a2..fb354c7ae 100644 --- a/res/values-iw/cm_strings.xml +++ b/res/values-iw/cm_strings.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> +<!--Generated by crowdin.com--> <!-- Copyright (C) 2014 The CyanogenMod Project @@ -52,6 +52,6 @@ <string name="search_screen_left_text">לוח חיפוש</string> <string name="search_screen_left_unsupported_toast">אתה חייב יישום חיפוש נתמך ו-CyanogenMod כדי להשתמש בתכונה זו.</string> <string name="dialog_confirm">אשר</string> - <string name="permission_desc_read_extension_data">אפשר בקשה לקבלת מידע על הרחבת DashClock</string> <string name="permission_label_read_extension_data">בקשת מידע על הרחבת DashClock</string> + <string name="permission_desc_read_extension_data">אפשר ליישום לבקש נתונים על הרחבת DashClock</string> </resources> diff --git a/res/values-ja/cm_arrays.xml b/res/values-ja/cm_arrays.xml index b215aa601..b53618465 100644 --- a/res/values-ja/cm_arrays.xml +++ b/res/values-ja/cm_arrays.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> +<!--Generated by crowdin.com--> <!-- Copyright (C) 2014 The CyanogenMod Project diff --git a/res/values-ja/cm_caf.xml b/res/values-ja/cm_caf.xml index 52dc8cd00..84f43c730 100644 --- a/res/values-ja/cm_caf.xml +++ b/res/values-ja/cm_caf.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> +<!--Generated by crowdin.com--> <!-- Copyright (C) 2014 The CyanogenMod Project diff --git a/res/values-ja/cm_strings.xml b/res/values-ja/cm_strings.xml index faa498280..ca8c5a898 100644 --- a/res/values-ja/cm_strings.xml +++ b/res/values-ja/cm_strings.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> +<!--Generated by crowdin.com--> <!-- Copyright (C) 2014 The CyanogenMod Project @@ -25,9 +25,9 @@ <string name="search_panel_gel">Google Now</string> <string name="search_panel_custom_home">CMホーム</string> <string name="themes_button_text">テーマ</string> - <string name="scrolling_page_outlines">ページの外枠を表示</string> + <string name="scrolling_page_outlines">ページの外枠</string> <string name="scrolling_fade_adjacent">側面のページをフェード</string> - <string name="scrolling_wallpaper">壁紙のスクロール</string> + <string name="scrolling_wallpaper">壁紙をスクロール</string> <string name="grid_size_text">グリッドサイズ</string> <string name="grid_size_comfortable">Comfortable</string> <string name="grid_size_cozy">Cozy</string> @@ -46,12 +46,12 @@ <string name="home_screen_search_text">検索バー</string> <string name="larger_icons_text">大きいアイコン</string> <string name="icon_labels">アイコンラベル</string> - <string name="icon_labels_show">表示</string> + <string name="icon_labels_show">表示する</string> <string name="icon_labels_hide">表示しない</string> <string name="protected_app_settings">アプリの保護</string> <string name="search_screen_left_text">検索パネル</string> <string name="search_screen_left_unsupported_toast">この機能を利用するには、サポートされている検索アプリとCyanogenModが必要です。</string> <string name="dialog_confirm">確認</string> - <string name="permission_desc_read_extension_data">DashClockエクステンションデータのリクエストを許可します</string> <string name="permission_label_read_extension_data">DashClockエクステンションデータのリクエスト</string> + <string name="permission_desc_read_extension_data">DashClockエクステンションデータのリクエストをアプリに許可します</string> </resources> diff --git a/res/values-ko/cm_arrays.xml b/res/values-ko/cm_arrays.xml index 634c0468e..7ce4da79c 100644 --- a/res/values-ko/cm_arrays.xml +++ b/res/values-ko/cm_arrays.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> +<!--Generated by crowdin.com--> <!-- Copyright (C) 2014 The CyanogenMod Project diff --git a/res/values-ko/cm_caf.xml b/res/values-ko/cm_caf.xml index 20654d12b..7c46f6926 100644 --- a/res/values-ko/cm_caf.xml +++ b/res/values-ko/cm_caf.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> +<!--Generated by crowdin.com--> <!-- Copyright (C) 2014 The CyanogenMod Project diff --git a/res/values-ko/cm_strings.xml b/res/values-ko/cm_strings.xml index 47db99291..43c79debd 100644 --- a/res/values-ko/cm_strings.xml +++ b/res/values-ko/cm_strings.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> +<!--Generated by crowdin.com--> <!-- Copyright (C) 2014 The CyanogenMod Project @@ -52,6 +52,6 @@ <string name="search_screen_left_text">검색 패널</string> <string name="search_screen_left_unsupported_toast">이 기능을 사용하려면 지원되는 검색 앱과 CyanogenMod가 필요합니다.</string> <string name="dialog_confirm">확인</string> - <string name="permission_desc_read_extension_data">DashClock의 확장 프로그램 데이터를 요청할 수 있도록 허용</string> <string name="permission_label_read_extension_data">DashClock 확장 프로그램 데이터 요청</string> + <string name="permission_desc_read_extension_data">앱이 DashClock의 확장 프로그램 데이터를 요청할 수 있도록 허용</string> </resources> diff --git a/res/values-ku/cm_arrays.xml b/res/values-ku/cm_arrays.xml index 6770e6dc4..8b5b93e9b 100644 --- a/res/values-ku/cm_arrays.xml +++ b/res/values-ku/cm_arrays.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> +<!--Generated by crowdin.com--> <!-- Copyright (C) 2014 The CyanogenMod Project diff --git a/res/values-ku/cm_caf.xml b/res/values-ku/cm_caf.xml index 78f974ca2..a5f6ecf14 100644 --- a/res/values-ku/cm_caf.xml +++ b/res/values-ku/cm_caf.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> +<!--Generated by crowdin.com--> <!-- Copyright (C) 2014 The CyanogenMod Project @@ -17,7 +17,7 @@ --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="migration_cling_title">لهبهرگرتنهوهی وێنۆچکهی بهرنامهکهت</string> - <string name="migration_cling_description">تێکردنی وێنۆچکه و بوخچه له شاشهی پێشوت؟</string> + <string name="migration_cling_description">تێکردنی وێنۆچکه و بوخچه له ڕوونمای پێشوت؟</string> <string name="migration_cling_copy_apps">لهبهرگرتنهوهی وێنۆچکه</string> <string name="migration_cling_use_default">دهستپێکردنی نوێ</string> </resources> diff --git a/res/values-ku/cm_strings.xml b/res/values-ku/cm_strings.xml index 020b06831..3899f479d 100644 --- a/res/values-ku/cm_strings.xml +++ b/res/values-ku/cm_strings.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> +<!--Generated by crowdin.com--> <!-- Copyright (C) 2014 The CyanogenMod Project @@ -22,12 +22,12 @@ <string name="app_settings">ڕێکخستنەکانی بەرنامە</string> <string name="setting_state_on">هەڵگیرساو</string> <string name="setting_state_off">کووژاوە</string> - <string name="search_panel_gel">ئێستا گووگڵ</string> + <string name="search_panel_gel">ئێستا Google</string> <string name="search_panel_custom_home">ماڵهوهی ساینهجینمۆد</string> <string name="themes_button_text">رووکارەکان</string> <string name="scrolling_page_outlines">دهرهێڵی لاپهڕه</string> <string name="scrolling_fade_adjacent">کاڵبوونهوهی لاپهڕه هێڵ</string> - <string name="scrolling_wallpaper">بابۆڵهکردنی سهرشاشه</string> + <string name="scrolling_wallpaper">بابۆڵهکردنی سهرڕوونما</string> <string name="grid_size_text">قهبارهی تۆڕ</string> <string name="grid_size_comfortable">ئاسووده</string> <string name="grid_size_cozy">پێدانی ئاسودهیی</string> @@ -52,6 +52,6 @@ <string name="search_screen_left_text">پەرەی گەران</string> <string name="search_screen_left_unsupported_toast">پێویسته بهرنامهیهکی گهڕانی گونجاوت ههبێ بۆ بهکارهێنانی ساینهجین مۆد لهم خزمهتگوزارییه.</string> <string name="dialog_confirm">دلنیاکردنەوە</string> - <string name="permission_desc_read_extension_data">ڕێگهدان به داواکردنی کاژێرهداش بۆ داتای گهیاندن</string> - <string name="permission_label_read_extension_data">داواکردنی کاژێرداش بۆ داتای گهیاندن</string> + <string name="permission_label_read_extension_data">داواکردنی کاتژمێرداش بۆ داتای گهیاندن</string> + <string name="permission_desc_read_extension_data">ڕێگهدان به بهرنامه بۆ داواکردنی کاژێرداش</string> </resources> diff --git a/res/values-lb/cm_arrays.xml b/res/values-lb/cm_arrays.xml index 5c2e3c8a4..9a406f706 100644 --- a/res/values-lb/cm_arrays.xml +++ b/res/values-lb/cm_arrays.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> +<!--Generated by crowdin.com--> <!-- Copyright (C) 2014 The CyanogenMod Project diff --git a/res/values-lb/cm_strings.xml b/res/values-lb/cm_strings.xml index 7c98f88d1..f08517292 100644 --- a/res/values-lb/cm_strings.xml +++ b/res/values-lb/cm_strings.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> +<!--Generated by crowdin.com--> <!-- Copyright (C) 2014 The CyanogenMod Project diff --git a/res/values-lt/cm_arrays.xml b/res/values-lt/cm_arrays.xml index 83b8e4562..96ffba2c7 100644 --- a/res/values-lt/cm_arrays.xml +++ b/res/values-lt/cm_arrays.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> +<!--Generated by crowdin.com--> <!-- Copyright (C) 2014 The CyanogenMod Project diff --git a/res/values-lt/cm_caf.xml b/res/values-lt/cm_caf.xml index 197d67215..a01ae1346 100644 --- a/res/values-lt/cm_caf.xml +++ b/res/values-lt/cm_caf.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> +<!--Generated by crowdin.com--> <!-- Copyright (C) 2014 The CyanogenMod Project diff --git a/res/values-lt/cm_strings.xml b/res/values-lt/cm_strings.xml index da6c88510..a2ec3fea9 100644 --- a/res/values-lt/cm_strings.xml +++ b/res/values-lt/cm_strings.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> +<!--Generated by crowdin.com--> <!-- Copyright (C) 2014 The CyanogenMod Project @@ -52,6 +52,6 @@ <string name="search_screen_left_text">Paieškos panėlė</string> <string name="search_screen_left_unsupported_toast">Jūs privalote turėti palaikomą paieškos programą ir „CyanogenMod“ norėdami naudotis šia funkcija.</string> <string name="dialog_confirm">Patvirtinti</string> - <string name="permission_desc_read_extension_data">Leidžia prašyti „DashClock“ papildomų duomenų</string> - <string name="permission_label_read_extension_data">Prašyti „DashClock“ papildomų duomenų</string> + <string name="permission_label_read_extension_data">prašyti „DashClock“ papildomų duomenų</string> + <string name="permission_desc_read_extension_data">Leidžia programai prašyti „DashClock“ papildomų duomenų</string> </resources> diff --git a/res/values-nb/cm_arrays.xml b/res/values-nb/cm_arrays.xml index 55f4e24f4..1e730b230 100644 --- a/res/values-nb/cm_arrays.xml +++ b/res/values-nb/cm_arrays.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> +<!--Generated by crowdin.com--> <!-- Copyright (C) 2014 The CyanogenMod Project diff --git a/res/values-nb/cm_caf.xml b/res/values-nb/cm_caf.xml index 9fbbd6398..227f14352 100644 --- a/res/values-nb/cm_caf.xml +++ b/res/values-nb/cm_caf.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> +<!--Generated by crowdin.com--> <!-- Copyright (C) 2014 The CyanogenMod Project diff --git a/res/values-nb/cm_strings.xml b/res/values-nb/cm_strings.xml index 2e2fdce64..ef2ad9cf2 100644 --- a/res/values-nb/cm_strings.xml +++ b/res/values-nb/cm_strings.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> +<!--Generated by crowdin.com--> <!-- Copyright (C) 2014 The CyanogenMod Project @@ -52,6 +52,6 @@ <string name="search_screen_left_text">Søke-panelet</string> <string name="search_screen_left_unsupported_toast">Du må ha en støttet søke app og CyanogenMod for å bruke denne funksjonen.</string> <string name="dialog_confirm">Bekreft</string> - <string name="permission_desc_read_extension_data">Tillater DashClock å be om utvidelsesdata</string> <string name="permission_label_read_extension_data">Be om DashClock utvidelsesdata</string> + <string name="permission_desc_read_extension_data">Tillater applikasjonen å be om DashClock utvidelsesdata</string> </resources> diff --git a/res/values-nl/cm_arrays.xml b/res/values-nl/cm_arrays.xml index 55de714b7..dadaedf0b 100644 --- a/res/values-nl/cm_arrays.xml +++ b/res/values-nl/cm_arrays.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> +<!--Generated by crowdin.com--> <!-- Copyright (C) 2014 The CyanogenMod Project diff --git a/res/values-nl/cm_caf.xml b/res/values-nl/cm_caf.xml index 63a537f0b..b95b3814d 100644 --- a/res/values-nl/cm_caf.xml +++ b/res/values-nl/cm_caf.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> +<!--Generated by crowdin.com--> <!-- Copyright (C) 2014 The CyanogenMod Project diff --git a/res/values-nl/cm_strings.xml b/res/values-nl/cm_strings.xml index ba6f140b8..ba59c7294 100644 --- a/res/values-nl/cm_strings.xml +++ b/res/values-nl/cm_strings.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> +<!--Generated by crowdin.com--> <!-- Copyright (C) 2014 The CyanogenMod Project @@ -23,7 +23,7 @@ <string name="setting_state_on">AAN</string> <string name="setting_state_off">UIT</string> <string name="search_panel_gel">Google Now</string> - <string name="search_panel_custom_home">CM-Home</string> + <string name="search_panel_custom_home">CM Home</string> <string name="themes_button_text">Thema\'s</string> <string name="scrolling_page_outlines">Paginacontouren</string> <string name="scrolling_fade_adjacent">Zijkant pagina\'s vervagen</string> @@ -52,6 +52,6 @@ <string name="search_screen_left_text">Zoekscherm</string> <string name="search_screen_left_unsupported_toast">Een ondersteunde zoek-app en CyanogenMod zijn vereist om deze functie te gebruiken.</string> <string name="dialog_confirm">Bevestig</string> - <string name="permission_desc_read_extension_data">Hiermee kan de app gegevens van DashClock-extensies opvragen</string> <string name="permission_label_read_extension_data">gegevens van DashClock-extensie opvragen</string> + <string name="permission_desc_read_extension_data">Hiermee kan de app gegevens van DashClock-extensies opvragen</string> </resources> diff --git a/res/values-pl/cm_arrays.xml b/res/values-pl/cm_arrays.xml index 4d6e4626c..f93e1b4e9 100644 --- a/res/values-pl/cm_arrays.xml +++ b/res/values-pl/cm_arrays.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> +<!--Generated by crowdin.com--> <!-- Copyright (C) 2014 The CyanogenMod Project diff --git a/res/values-pl/cm_caf.xml b/res/values-pl/cm_caf.xml index f4159f84f..a78363ae6 100644 --- a/res/values-pl/cm_caf.xml +++ b/res/values-pl/cm_caf.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> +<!--Generated by crowdin.com--> <!-- Copyright (C) 2014 The CyanogenMod Project diff --git a/res/values-pl/cm_strings.xml b/res/values-pl/cm_strings.xml index ad2f3a5cc..50ca4ea8c 100644 --- a/res/values-pl/cm_strings.xml +++ b/res/values-pl/cm_strings.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> +<!--Generated by crowdin.com--> <!-- Copyright (C) 2014 The CyanogenMod Project @@ -52,6 +52,6 @@ <string name="search_screen_left_text">Panel wyszukiwania</string> <string name="search_screen_left_unsupported_toast">Musisz posiadać aplikację wyszukiwania wspieraną przez CyanogenMod by używać tej funkcji.</string> <string name="dialog_confirm">Potwierdź</string> - <string name="permission_desc_read_extension_data">Pozwala na żądanie dostępu do danych rozszerzenia DashClock</string> - <string name="permission_label_read_extension_data">Żądanie dostępu do danych rozszerzenia DashClock</string> + <string name="permission_label_read_extension_data">żądanie danych z rozszerzeń DashClock\'a</string> + <string name="permission_desc_read_extension_data">Pozwala aplikacji na żądanie danych z rozszerzeń DashClock\'a</string> </resources> diff --git a/res/values-pt-rBR/cm_arrays.xml b/res/values-pt-rBR/cm_arrays.xml index c7bc16cc4..81f8c5f4d 100644 --- a/res/values-pt-rBR/cm_arrays.xml +++ b/res/values-pt-rBR/cm_arrays.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> +<!--Generated by crowdin.com--> <!-- Copyright (C) 2014 The CyanogenMod Project diff --git a/res/values-pt-rBR/cm_caf.xml b/res/values-pt-rBR/cm_caf.xml index fd61e0b63..9c9040998 100644 --- a/res/values-pt-rBR/cm_caf.xml +++ b/res/values-pt-rBR/cm_caf.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> +<!--Generated by crowdin.com--> <!-- Copyright (C) 2014 The CyanogenMod Project diff --git a/res/values-pt-rBR/cm_strings.xml b/res/values-pt-rBR/cm_strings.xml index f7cb80ad4..05229e05e 100644 --- a/res/values-pt-rBR/cm_strings.xml +++ b/res/values-pt-rBR/cm_strings.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> +<!--Generated by crowdin.com--> <!-- Copyright (C) 2014 The CyanogenMod Project @@ -52,6 +52,6 @@ <string name="search_screen_left_text">Painel de pesquisa</string> <string name="search_screen_left_unsupported_toast">Você precisa ter instalado um aplicativo de pesquisa suportado e o CyanogenMod para utilizar este recurso.</string> <string name="dialog_confirm">Confirmar</string> - <string name="permission_desc_read_extension_data">Permite a solicitação de dados da extensão DashClock</string> - <string name="permission_label_read_extension_data">Solicitar dados da extensão DashClock</string> + <string name="permission_label_read_extension_data">solicitar dados da extensão DashClock</string> + <string name="permission_desc_read_extension_data">Permite que o aplicativo solicitar dados da extensão DashClock</string> </resources> diff --git a/res/values-pt-rPT/cm_arrays.xml b/res/values-pt-rPT/cm_arrays.xml index ed3ede04b..85f7cfa64 100644 --- a/res/values-pt-rPT/cm_arrays.xml +++ b/res/values-pt-rPT/cm_arrays.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> +<!--Generated by crowdin.com--> <!-- Copyright (C) 2014 The CyanogenMod Project diff --git a/res/values-pt-rPT/cm_caf.xml b/res/values-pt-rPT/cm_caf.xml index c5def3f09..b62988d5c 100644 --- a/res/values-pt-rPT/cm_caf.xml +++ b/res/values-pt-rPT/cm_caf.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> +<!--Generated by crowdin.com--> <!-- Copyright (C) 2014 The CyanogenMod Project diff --git a/res/values-pt-rPT/cm_strings.xml b/res/values-pt-rPT/cm_strings.xml index cbd064c51..feb4afe60 100644 --- a/res/values-pt-rPT/cm_strings.xml +++ b/res/values-pt-rPT/cm_strings.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> +<!--Generated by crowdin.com--> <!-- Copyright (C) 2014 The CyanogenMod Project @@ -52,6 +52,6 @@ <string name="search_screen_left_text">Painel de pesquisa</string> <string name="search_screen_left_unsupported_toast">Deve ter instalada uma aplicação de pesquisa suportada e a CyanogenMod para utilizar este recurso.</string> <string name="dialog_confirm">Confirmar</string> - <string name="permission_desc_read_extension_data">Permite a solicitação de dados da extensão DashClock</string> <string name="permission_label_read_extension_data">Solicitar dados da extensão DashClock</string> + <string name="permission_desc_read_extension_data">Permite que a aplicação solicite dados da extensão DashClock</string> </resources> diff --git a/res/values-ro/cm_arrays.xml b/res/values-ro/cm_arrays.xml index a8fbba5d0..a888a8793 100644 --- a/res/values-ro/cm_arrays.xml +++ b/res/values-ro/cm_arrays.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> +<!--Generated by crowdin.com--> <!-- Copyright (C) 2014 The CyanogenMod Project diff --git a/res/values-ro/cm_caf.xml b/res/values-ro/cm_caf.xml index 4d963dbcc..9b66626d6 100644 --- a/res/values-ro/cm_caf.xml +++ b/res/values-ro/cm_caf.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> +<!--Generated by crowdin.com--> <!-- Copyright (C) 2014 The CyanogenMod Project diff --git a/res/values-ro/cm_strings.xml b/res/values-ro/cm_strings.xml index 24ce2f92c..1a7780235 100644 --- a/res/values-ro/cm_strings.xml +++ b/res/values-ro/cm_strings.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> +<!--Generated by crowdin.com--> <!-- Copyright (C) 2014 The CyanogenMod Project @@ -22,6 +22,8 @@ <string name="app_settings">SETĂRI APLICAȚIE</string> <string name="setting_state_on">ACTIV</string> <string name="setting_state_off">INACTIV</string> + <string name="search_panel_gel">Google Now</string> + <string name="search_panel_custom_home">CM Acasă</string> <string name="themes_button_text">Teme</string> <string name="scrolling_page_outlines">Contururi pagină</string> <string name="scrolling_fade_adjacent">Estompează paginile secundare</string> @@ -50,4 +52,6 @@ <string name="search_screen_left_text">Panou de căutare</string> <string name="search_screen_left_unsupported_toast">Trebuie să ai o aplicație de căutare suportată și CyanogenMod să folosească această caracteristică.</string> <string name="dialog_confirm">Confirmă</string> + <string name="permission_label_read_extension_data">Solicitare date extensie DashClock</string> + <string name="permission_desc_read_extension_data">Permite aplicației solicitarea datelor extensie DashClock</string> </resources> diff --git a/res/values-ru/cm_arrays.xml b/res/values-ru/cm_arrays.xml index 903c4747c..4003a4b44 100644 --- a/res/values-ru/cm_arrays.xml +++ b/res/values-ru/cm_arrays.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> +<!--Generated by crowdin.com--> <!-- Copyright (C) 2014 The CyanogenMod Project diff --git a/res/values-ru/cm_caf.xml b/res/values-ru/cm_caf.xml index 11431ce18..71c7c98f2 100644 --- a/res/values-ru/cm_caf.xml +++ b/res/values-ru/cm_caf.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> +<!--Generated by crowdin.com--> <!-- Copyright (C) 2014 The CyanogenMod Project diff --git a/res/values-ru/cm_strings.xml b/res/values-ru/cm_strings.xml index 60e3dc95d..583ed9e33 100644 --- a/res/values-ru/cm_strings.xml +++ b/res/values-ru/cm_strings.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> +<!--Generated by crowdin.com--> <!-- Copyright (C) 2014 The CyanogenMod Project @@ -52,6 +52,6 @@ <string name="search_screen_left_text">Поисковый экран слева</string> <string name="search_screen_left_unsupported_toast">Для использования этой функции необходимо наличие поддерживаемого приложения поиска и CyanogenMod.</string> <string name="dialog_confirm">Подтвердить</string> - <string name="permission_desc_read_extension_data">Приложение сможет запрашивать данные расширений DashClock.</string> <string name="permission_label_read_extension_data">Запрос данных расширений DashClock</string> + <string name="permission_desc_read_extension_data">Приложение сможет считывать данные расширений DashClock.</string> </resources> diff --git a/res/values-si/cm_arrays.xml b/res/values-si/cm_arrays.xml index 0cb9638aa..09a4544ed 100644 --- a/res/values-si/cm_arrays.xml +++ b/res/values-si/cm_arrays.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> +<!--Generated by crowdin.com--> <!-- Copyright (C) 2014 The CyanogenMod Project diff --git a/res/values-si/cm_caf.xml b/res/values-si/cm_caf.xml index 44d558ae6..3ebddc4c2 100644 --- a/res/values-si/cm_caf.xml +++ b/res/values-si/cm_caf.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> +<!--Generated by crowdin.com--> <!-- Copyright (C) 2014 The CyanogenMod Project diff --git a/res/values-si/cm_strings.xml b/res/values-si/cm_strings.xml index 3b9d9c8ae..e7308b3b2 100644 --- a/res/values-si/cm_strings.xml +++ b/res/values-si/cm_strings.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> +<!--Generated by crowdin.com--> <!-- Copyright (C) 2014 The CyanogenMod Project @@ -52,6 +52,6 @@ <string name="search_screen_left_text">සෙවීම් පුවරුව</string> <string name="search_screen_left_unsupported_toast">මෙම විශේෂාංගය භාවිතාකිරීම සඳහා, ඔබ සතුව, සහාය දක්වන සෙවීම් යෙදුමක් සහ CyanogenMod තිබිය යුතුමය.</string> <string name="dialog_confirm">තහවුරු කරන්න</string> - <string name="permission_desc_read_extension_data">DashClock දිගුවේ දත්ත ඉල්ලුම් කිරීම අනුමත කරන්න</string> <string name="permission_label_read_extension_data">DashClock දිගුවේ දත්ත ඉල්ලුම් කරන්න</string> + <string name="permission_desc_read_extension_data">DashClock දිගුවේ දත්ත ඉල්ලුම් කිරීම සඳහා යෙදුමට අවසර දෙන්න</string> </resources> diff --git a/res/values-sk/cm_arrays.xml b/res/values-sk/cm_arrays.xml index baa3dd8a5..5d0be18f7 100644 --- a/res/values-sk/cm_arrays.xml +++ b/res/values-sk/cm_arrays.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> +<!--Generated by crowdin.com--> <!-- Copyright (C) 2014 The CyanogenMod Project diff --git a/res/values-sk/cm_caf.xml b/res/values-sk/cm_caf.xml index 1127723b4..623963d90 100644 --- a/res/values-sk/cm_caf.xml +++ b/res/values-sk/cm_caf.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> +<!--Generated by crowdin.com--> <!-- Copyright (C) 2014 The CyanogenMod Project diff --git a/res/values-sk/cm_strings.xml b/res/values-sk/cm_strings.xml index 9020929ea..29cfc3d6e 100644 --- a/res/values-sk/cm_strings.xml +++ b/res/values-sk/cm_strings.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> +<!--Generated by crowdin.com--> <!-- Copyright (C) 2014 The CyanogenMod Project @@ -52,6 +52,6 @@ <string name="search_screen_left_text">Panel vyhľadávania</string> <string name="search_screen_left_unsupported_toast">Musíte mať podporovaný vyhľadávač a CyanogenMod pre použitie tejto funkcie.</string> <string name="dialog_confirm">Potvrdiť</string> - <string name="permission_desc_read_extension_data">Umožňuje požadovanie údajov DashClock rozšírení</string> - <string name="permission_label_read_extension_data">Požadovať údaje DashClock rozšírení</string> + <string name="permission_label_read_extension_data">požadovať údaje DashClock rozšírení</string> + <string name="permission_desc_read_extension_data">Umožňuje aplikácii požadovať údaje DashClock rozšírení</string> </resources> diff --git a/res/values-sr/cm_arrays.xml b/res/values-sr/cm_arrays.xml index 6a4f6cc49..011ea479c 100644 --- a/res/values-sr/cm_arrays.xml +++ b/res/values-sr/cm_arrays.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> +<!--Generated by crowdin.com--> <!-- Copyright (C) 2014 The CyanogenMod Project diff --git a/res/values-sr/cm_caf.xml b/res/values-sr/cm_caf.xml index 10a0542f7..5eed12e7a 100644 --- a/res/values-sr/cm_caf.xml +++ b/res/values-sr/cm_caf.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> +<!--Generated by crowdin.com--> <!-- Copyright (C) 2014 The CyanogenMod Project @@ -17,7 +17,7 @@ --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="migration_cling_title">Копирај твоје иконе апликација</string> - <string name="migration_cling_description">Увези иконе и фолдере са твог старог Почетног екрана?</string> + <string name="migration_cling_description">Увези иконе и фолдере са твојих старих Почетних екрана?</string> <string name="migration_cling_copy_apps">КОПИРАЈ ИКОНЕ</string> <string name="migration_cling_use_default">ПОЧНИ ИЗНОВА</string> </resources> diff --git a/res/values-sr/cm_strings.xml b/res/values-sr/cm_strings.xml index c246f0d42..53ffe4c4f 100644 --- a/res/values-sr/cm_strings.xml +++ b/res/values-sr/cm_strings.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> +<!--Generated by crowdin.com--> <!-- Copyright (C) 2014 The CyanogenMod Project @@ -52,6 +52,6 @@ <string name="search_screen_left_text">Панел за претрагу</string> <string name="search_screen_left_unsupported_toast">Мораш да имаш подржану апликацију за претрагу и CyanogenMod да би користио ову функцију.</string> <string name="dialog_confirm">Потврди</string> - <string name="permission_desc_read_extension_data">Омогућава захтевање података DashClock додатка</string> - <string name="permission_label_read_extension_data">Захтев података DashClock додатка</string> + <string name="permission_label_read_extension_data">Захтевање података за DashClock додатак</string> + <string name="permission_desc_read_extension_data">Дозвољава апликацији да захтева податке за DashClock додатак</string> </resources> diff --git a/res/values-sv/cm_arrays.xml b/res/values-sv/cm_arrays.xml index 96f037287..9ccd98016 100644 --- a/res/values-sv/cm_arrays.xml +++ b/res/values-sv/cm_arrays.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> +<!--Generated by crowdin.com--> <!-- Copyright (C) 2014 The CyanogenMod Project diff --git a/res/values-sv/cm_caf.xml b/res/values-sv/cm_caf.xml index fc95df1a6..d5fd315b1 100644 --- a/res/values-sv/cm_caf.xml +++ b/res/values-sv/cm_caf.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> +<!--Generated by crowdin.com--> <!-- Copyright (C) 2014 The CyanogenMod Project diff --git a/res/values-sv/cm_strings.xml b/res/values-sv/cm_strings.xml index f0b5734a2..c188accbd 100644 --- a/res/values-sv/cm_strings.xml +++ b/res/values-sv/cm_strings.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> +<!--Generated by crowdin.com--> <!-- Copyright (C) 2014 The CyanogenMod Project @@ -22,6 +22,8 @@ <string name="app_settings">APPINSTÄLLNINGAR</string> <string name="setting_state_on">PÅ</string> <string name="setting_state_off">AV</string> + <string name="search_panel_gel">Google Nu</string> + <string name="search_panel_custom_home">CM Home</string> <string name="themes_button_text">Teman</string> <string name="scrolling_page_outlines">Skärmkonturer</string> <string name="scrolling_fade_adjacent">Tona skärmsidor</string> @@ -50,4 +52,6 @@ <string name="search_screen_left_text">Sökpanel</string> <string name="search_screen_left_unsupported_toast">Du måste ha en stödd sökapp och CyanogenMod för att använda denna funktion.</string> <string name="dialog_confirm">Bekräfta</string> + <string name="permission_label_read_extension_data">begär data från DashClock-tillägg</string> + <string name="permission_desc_read_extension_data">Tillåter appen att begära data från DashClock-tillägg</string> </resources> diff --git a/res/values-th/cm_arrays.xml b/res/values-th/cm_arrays.xml index 1fdc6cf54..8640fb156 100644 --- a/res/values-th/cm_arrays.xml +++ b/res/values-th/cm_arrays.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> +<!--Generated by crowdin.com--> <!-- Copyright (C) 2014 The CyanogenMod Project diff --git a/res/values-th/cm_caf.xml b/res/values-th/cm_caf.xml index 4a0d3d1f5..139ef2d01 100644 --- a/res/values-th/cm_caf.xml +++ b/res/values-th/cm_caf.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> +<!--Generated by crowdin.com--> <!-- Copyright (C) 2014 The CyanogenMod Project diff --git a/res/values-th/cm_strings.xml b/res/values-th/cm_strings.xml index df312104f..b20e38da9 100644 --- a/res/values-th/cm_strings.xml +++ b/res/values-th/cm_strings.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> +<!--Generated by crowdin.com--> <!-- Copyright (C) 2014 The CyanogenMod Project @@ -52,6 +52,6 @@ <string name="search_screen_left_text">แผงค้นหา</string> <string name="search_screen_left_unsupported_toast">คุณต้องมีแอปที่รองรับการค้นหากับ CyanogenMod เพื่อใช้ความสามารถนี้</string> <string name="dialog_confirm">Google</string> - <string name="permission_desc_read_extension_data">อนุญาตการร้องขอข้อมูลส่วนขยาย DashClock</string> <string name="permission_label_read_extension_data">ร้องขอข้อมูลส่วนขยาย DashClock</string> + <string name="permission_desc_read_extension_data">อนุญาตให้แอปร้องขอข้อมูลส่วนขยาย DashClock</string> </resources> diff --git a/res/values-tr/cm_arrays.xml b/res/values-tr/cm_arrays.xml index bfe889901..a43170d91 100644 --- a/res/values-tr/cm_arrays.xml +++ b/res/values-tr/cm_arrays.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> +<!--Generated by crowdin.com--> <!-- Copyright (C) 2014 The CyanogenMod Project diff --git a/res/values-tr/cm_caf.xml b/res/values-tr/cm_caf.xml index 56335c2ab..575b6a0f3 100644 --- a/res/values-tr/cm_caf.xml +++ b/res/values-tr/cm_caf.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> +<!--Generated by crowdin.com--> <!-- Copyright (C) 2014 The CyanogenMod Project diff --git a/res/values-tr/cm_strings.xml b/res/values-tr/cm_strings.xml index b86681dea..378675899 100644 --- a/res/values-tr/cm_strings.xml +++ b/res/values-tr/cm_strings.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> +<!--Generated by crowdin.com--> <!-- Copyright (C) 2014 The CyanogenMod Project @@ -52,6 +52,6 @@ <string name="search_screen_left_text">Arama paneli</string> <string name="search_screen_left_unsupported_toast">Bu özelliği kullanabilmeniz için desteklenen bir arama uygulaması ve CyanogenMod\'a sahip olmanız gerekiyor.</string> <string name="dialog_confirm">Onayla</string> - <string name="permission_desc_read_extension_data">DashClock eklenti verisini istemeyi etkinleştirir</string> <string name="permission_label_read_extension_data">DashClock eklenti verisini iste</string> + <string name="permission_desc_read_extension_data">Uygulamanın DashClock eklenti verisini istemesine izin verir</string> </resources> diff --git a/res/values-uk/cm_arrays.xml b/res/values-uk/cm_arrays.xml index c078276eb..3026f97fa 100644 --- a/res/values-uk/cm_arrays.xml +++ b/res/values-uk/cm_arrays.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> +<!--Generated by crowdin.com--> <!-- Copyright (C) 2014 The CyanogenMod Project diff --git a/res/values-uk/cm_caf.xml b/res/values-uk/cm_caf.xml index 57b7a889d..4bb45d4dc 100644 --- a/res/values-uk/cm_caf.xml +++ b/res/values-uk/cm_caf.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> +<!--Generated by crowdin.com--> <!-- Copyright (C) 2014 The CyanogenMod Project diff --git a/res/values-uk/cm_strings.xml b/res/values-uk/cm_strings.xml index fe0c7a8b7..01f1d7eb5 100644 --- a/res/values-uk/cm_strings.xml +++ b/res/values-uk/cm_strings.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> +<!--Generated by crowdin.com--> <!-- Copyright (C) 2014 The CyanogenMod Project @@ -52,6 +52,6 @@ <string name="search_screen_left_text">Панель пошуку</string> <string name="search_screen_left_unsupported_toast">Ви повинні мати програму пошуку яка підтримується CyanogenMod для використання цієї функції.</string> <string name="dialog_confirm">Підтвердити</string> - <string name="permission_desc_read_extension_data">Дозволяє запитувати дані розширення DashClock</string> - <string name="permission_label_read_extension_data">Запитувати дані розширення DashClock</string> + <string name="permission_label_read_extension_data">запитувати дані розширення DashClock</string> + <string name="permission_desc_read_extension_data">Дозволяє програмі запитувати дані DashClock розширення</string> </resources> diff --git a/res/values-zh-rCN/cm_arrays.xml b/res/values-zh-rCN/cm_arrays.xml index 0c16fd116..9b0134b39 100644 --- a/res/values-zh-rCN/cm_arrays.xml +++ b/res/values-zh-rCN/cm_arrays.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> +<!--Generated by crowdin.com--> <!-- Copyright (C) 2014 The CyanogenMod Project diff --git a/res/values-zh-rCN/cm_caf.xml b/res/values-zh-rCN/cm_caf.xml index 82c3786d2..c58fa406e 100644 --- a/res/values-zh-rCN/cm_caf.xml +++ b/res/values-zh-rCN/cm_caf.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> +<!--Generated by crowdin.com--> <!-- Copyright (C) 2014 The CyanogenMod Project diff --git a/res/values-zh-rCN/cm_strings.xml b/res/values-zh-rCN/cm_strings.xml index a9dae6a31..e6fd16349 100644 --- a/res/values-zh-rCN/cm_strings.xml +++ b/res/values-zh-rCN/cm_strings.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> +<!--Generated by crowdin.com--> <!-- Copyright (C) 2014 The CyanogenMod Project @@ -53,6 +53,6 @@ <string name="search_screen_left_text">搜索面板</string> <string name="search_screen_left_unsupported_toast">您必须有一个受支持的搜索应用和 CyanogenMod 以使用此功能。</string> <string name="dialog_confirm">确认</string> - <string name="permission_desc_read_extension_data">允许读取 DashClock 扩展数据</string> - <string name="permission_label_read_extension_data">读取 DashClock 扩展数据</string> + <string name="permission_label_read_extension_data">请求 DashClock 的扩展数据</string> + <string name="permission_desc_read_extension_data">允许此应用请求 DashClock 的扩展数据</string> </resources> diff --git a/res/values-zh-rHK/cm_arrays.xml b/res/values-zh-rHK/cm_arrays.xml index 9c806f151..76396cfb1 100644 --- a/res/values-zh-rHK/cm_arrays.xml +++ b/res/values-zh-rHK/cm_arrays.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> +<!--Generated by crowdin.com--> <!-- Copyright (C) 2014 The CyanogenMod Project diff --git a/res/values-zh-rHK/cm_strings.xml b/res/values-zh-rHK/cm_strings.xml index 0b720c055..0211ef3f3 100644 --- a/res/values-zh-rHK/cm_strings.xml +++ b/res/values-zh-rHK/cm_strings.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> +<!--Generated by crowdin.com--> <!-- Copyright (C) 2014 The CyanogenMod Project diff --git a/res/values-zh-rTW/cm_arrays.xml b/res/values-zh-rTW/cm_arrays.xml index a5b57d64c..d067aded7 100644 --- a/res/values-zh-rTW/cm_arrays.xml +++ b/res/values-zh-rTW/cm_arrays.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> +<!--Generated by crowdin.com--> <!-- Copyright (C) 2014 The CyanogenMod Project diff --git a/res/values-zh-rTW/cm_strings.xml b/res/values-zh-rTW/cm_strings.xml index acec787c7..843b9d688 100644 --- a/res/values-zh-rTW/cm_strings.xml +++ b/res/values-zh-rTW/cm_strings.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> +<!--Generated by crowdin.com--> <!-- Copyright (C) 2014 The CyanogenMod Project diff --git a/res/values/colors.xml b/res/values/colors.xml index 434cdf9e5..3ec8c73ba 100644 --- a/res/values/colors.xml +++ b/res/values/colors.xml @@ -43,4 +43,7 @@ <color name="settings_bg_header_color">#FFb2b0ab</color> <color name="settings_bg_selected_color">#26000000</color> <color name="settings_transition_selected_color">#50000000</color> + + <color name="dynamic_grid_preview_background">#FFFFFFFF</color> + <color name="dynamic_grid_preview_foreground">#FF000000</color> </resources> diff --git a/src/com/android/launcher3/AppsCustomizePagedView.java b/src/com/android/launcher3/AppsCustomizePagedView.java index f2c08a3e1..4dcf22f34 100644 --- a/src/com/android/launcher3/AppsCustomizePagedView.java +++ b/src/com/android/launcher3/AppsCustomizePagedView.java @@ -1937,6 +1937,10 @@ public class AppsCustomizePagedView extends PagedViewWithDraggableItems implemen mSortMode = sortMode; + sortApps(); + } + + public void sortApps() { Collections.sort(mFilteredApps, getComparatorForSortMode()); if (mContentType == ContentType.Applications) { diff --git a/src/com/android/launcher3/DeviceProfile.java b/src/com/android/launcher3/DeviceProfile.java index 99819caf3..ec6e47f49 100644 --- a/src/com/android/launcher3/DeviceProfile.java +++ b/src/com/android/launcher3/DeviceProfile.java @@ -297,7 +297,7 @@ public class DeviceProfile { searchBarVisible = SettingsProvider.getBoolean(context, SettingsProvider.SETTINGS_UI_HOMESCREEN_SEARCH, R.bool.preferences_interface_homescreen_search_default); searchBarSpaceWidthPx = Math.min(searchBarSpaceMaxWidthPx, widthPx); - searchBarSpaceHeightPx = 2 * edgeMarginPx + (searchBarVisible ? searchBarHeightPx : 2 * edgeMarginPx); + searchBarSpaceHeightPx = 2 * edgeMarginPx + (searchBarVisible ? searchBarHeightPx : 3 * edgeMarginPx); } void addCallback(DeviceProfileCallbacks cb) { @@ -382,9 +382,9 @@ public class DeviceProfile { hotseatIconSizePx = (int) (DynamicGrid.pxFromDp(hotseatIconSize, dm) * scale); // Search Bar - searchBarSpaceWidthPx = Math.min(searchBarSpaceMaxWidthPx, widthPx); searchBarSpaceMaxWidthPx = resources.getDimensionPixelSize(R.dimen.dynamic_grid_search_bar_max_width); searchBarHeightPx = resources.getDimensionPixelSize(R.dimen.dynamic_grid_search_bar_height); + searchBarSpaceWidthPx = Math.min(searchBarSpaceMaxWidthPx, widthPx); searchBarSpaceHeightPx = searchBarHeightPx + getSearchBarTopOffset(); // Calculate the actual text height @@ -707,15 +707,19 @@ public class DeviceProfile { // Update search bar for live settings searchBarVisible = SettingsProvider.getBoolean(launcher, SettingsProvider.SETTINGS_UI_HOMESCREEN_SEARCH, R.bool.preferences_interface_homescreen_search_default); - searchBarSpaceHeightPx = 2 * edgeMarginPx + (searchBarVisible ? searchBarHeightPx : 2 * edgeMarginPx); + searchBarSpaceHeightPx = 2 * edgeMarginPx + (searchBarVisible ? searchBarHeightPx : 3 * edgeMarginPx); FrameLayout.LayoutParams lp; Resources res = launcher.getResources(); boolean hasVerticalBarLayout = isVerticalBarLayout(); // Layout the search bar space View searchBar = launcher.getSearchBar(); + LinearLayout dropTargetBar = (LinearLayout) launcher.getSearchBar().getDropTargetBar(); lp = (FrameLayout.LayoutParams) searchBar.getLayoutParams(); if (hasVerticalBarLayout) { + // If search bar is invisible add some extra padding for the drop targets + searchBarSpaceHeightPx = searchBarVisible ? searchBarSpaceHeightPx + : searchBarSpaceHeightPx + 5 * edgeMarginPx; // Vertical search bar space lp.gravity = Gravity.TOP | Gravity.LEFT; lp.width = searchBarSpaceHeightPx; @@ -724,9 +728,7 @@ public class DeviceProfile { 0, 2 * edgeMarginPx, 0, 2 * edgeMarginPx); - searchBar.setVisibility(searchBarVisible ? View.VISIBLE : View.GONE); - LinearLayout targets = (LinearLayout) searchBar.findViewById(R.id.drag_target_bar); - targets.setOrientation(LinearLayout.VERTICAL); + dropTargetBar.setOrientation(LinearLayout.VERTICAL); } else { // Horizontal search bar space lp.gravity = Gravity.TOP | Gravity.CENTER_HORIZONTAL; @@ -740,7 +742,6 @@ public class DeviceProfile { searchBar.setLayoutParams(lp); // Layout the drop target icons - LinearLayout dropTargetBar = (LinearLayout) launcher.getSearchBar().getDropTargetBar(); if (hasVerticalBarLayout) { dropTargetBar.setOrientation(LinearLayout.VERTICAL); } else { diff --git a/src/com/android/launcher3/DragLayer.java b/src/com/android/launcher3/DragLayer.java index 2dde8e402..5ab56149c 100644 --- a/src/com/android/launcher3/DragLayer.java +++ b/src/com/android/launcher3/DragLayer.java @@ -36,6 +36,7 @@ import android.view.accessibility.AccessibilityManager; import android.view.animation.DecelerateInterpolator; import android.view.animation.Interpolator; import android.widget.FrameLayout; +import android.widget.LinearLayout; import android.widget.TextView; import java.util.ArrayList; @@ -109,6 +110,12 @@ public class DragLayer extends FrameLayout implements ViewGroup.OnHierarchyChang for (int i = 0; i < n; i++) { final View child = getChildAt(i); if (child.getId() == R.id.overview_panel) { + LinearLayout layout = (LinearLayout) + child.findViewById(R.id.settings_container); + FrameLayout.LayoutParams lp = + (FrameLayout.LayoutParams) layout.getLayoutParams(); + lp.bottomMargin += insets.bottom - mInsets.bottom; + layout.setLayoutParams(lp); continue; } setInsets(child, insets, mInsets); diff --git a/src/com/android/launcher3/DynamicGridSizeFragment.java b/src/com/android/launcher3/DynamicGridSizeFragment.java index 490335ddf..69720a5a2 100644 --- a/src/com/android/launcher3/DynamicGridSizeFragment.java +++ b/src/com/android/launcher3/DynamicGridSizeFragment.java @@ -1,6 +1,23 @@ +/* + * Copyright (C) 2014 The CyanogenMod 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.launcher3; import android.animation.Animator; +import android.animation.AnimatorListenerAdapter; import android.animation.ObjectAnimator; import android.app.Dialog; import android.app.Fragment; @@ -8,30 +25,35 @@ import android.content.Context; import android.content.DialogInterface; import android.content.res.Resources; import android.graphics.Bitmap; -import android.graphics.BitmapFactory; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; -import android.graphics.drawable.Drawable; import android.os.Bundle; +import android.util.AttributeSet; import android.util.DisplayMetrics; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ArrayAdapter; import android.widget.Button; +import android.widget.FrameLayout; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.ListView; import android.widget.NumberPicker; import android.widget.TextView; + import com.android.launcher3.settings.SettingsProvider; -public class DynamicGridSizeFragment extends Fragment implements NumberPicker.OnValueChangeListener, Dialog.OnDismissListener{ - public static final String DYNAMIC_GRID_SIZE_FRAGMENT = "dynamicGridSizeFragment"; +public class DynamicGridSizeFragment extends Fragment + implements NumberPicker.OnValueChangeListener, Dialog.OnDismissListener { + public static final String DYNAMIC_GRID_SIZE_FRAGMENT = "DynamicGridSizeFragment"; + public static final int MIN_DYNAMIC_GRID_ROWS = 2; public static final int MIN_DYNAMIC_GRID_COLUMNS = 3; - ImageView mDynamicGridImage; + + GridSizeView mDynamicGrid; + ListView mListView; View mCurrentSelection; GridSizeArrayAdapter mAdapter; @@ -43,11 +65,9 @@ public class DynamicGridSizeFragment extends Fragment implements NumberPicker.On int mCustomGridColumns = 0; View.OnClickListener mSettingsItemListener = new View.OnClickListener() { - @Override public void onClick(View v) { - mCurrentSize = DeviceProfile.GridSize - .getModeForValue((Integer) v.getTag()); + mCurrentSize = DeviceProfile.GridSize.getModeForValue((Integer) v.getTag()); setCleared(mCurrentSelection); setSelected(v); @@ -60,16 +80,23 @@ public class DynamicGridSizeFragment extends Fragment implements NumberPicker.On ((GridSizeArrayAdapter) mListView.getAdapter()).notifyDataSetChanged(); mAdapter.notifyDataSetInvalidated(); - setCurrentImage(); + updateGridMetrics(); } }; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, - Bundle savedInstanceState) { + Bundle savedInstanceState) { View v = inflater.inflate(R.layout.dynamic_grid_size_screen, container, false); - mDynamicGridImage = (ImageView) v.findViewById(R.id.dynamic_grid_size_image); - mDynamicGridImage.setBackground(getResources().getDrawable(R.drawable.grid)); + mDynamicGrid = (GridSizeView) v.findViewById(R.id.dynamic_grid_size_image); + mListView = (ListView) v.findViewById(R.id.dynamic_grid_list); + + Launcher launcher = (Launcher) getActivity(); + LinearLayout.LayoutParams lp = (LinearLayout.LayoutParams) + mListView.getLayoutParams(); + lp.bottomMargin = ((FrameLayout.LayoutParams) launcher.getOverviewPanel() + .findViewById(R.id.settings_container).getLayoutParams()).bottomMargin; + mListView.setLayoutParams(lp); LinearLayout titleLayout = (LinearLayout) v.findViewById(R.id.dynamic_grid_title); titleLayout.setOnClickListener(new View.OnClickListener() { @@ -83,11 +110,10 @@ public class DynamicGridSizeFragment extends Fragment implements NumberPicker.On SettingsProvider.getIntCustomDefault(getActivity(), SettingsProvider.SETTINGS_UI_DYNAMIC_GRID_SIZE, 0)); - setCurrentImage(); + updateGridMetrics(); - mListView = (ListView) v.findViewById(R.id.dynamic_grid_list); Resources res = getResources(); - String [] values = { + String[] values = { res.getString(R.string.grid_size_comfortable), res.getString(R.string.grid_size_cozy), res.getString(R.string.grid_size_condensed), @@ -99,64 +125,16 @@ public class DynamicGridSizeFragment extends Fragment implements NumberPicker.On return v; } - private void setCurrentImage() { - Drawable d = null; - boolean custom = false; - - switch (mCurrentSize) { - case Comfortable: - d = getResources().getDrawable(R.drawable.grid_comfortable); - break; - case Cozy: - d = getResources().getDrawable(R.drawable.grid_cozy); - break; - case Condensed: - d = getResources().getDrawable(R.drawable.grid_condensed); - break; - default: - - custom = true; - break; - } - - if (d != null && !custom) { - mDynamicGridImage.setImageBitmap(null); - mDynamicGridImage.setBackground(d); - } else if (custom) { - mDynamicGridImage.setBackground(null); - mDynamicGridImage.setImageBitmap(writeOnDrawable(R.drawable.grid)); + private void updateGridMetrics() { + if (mCurrentSize == DeviceProfile.GridSize.Custom) { + mDynamicGrid.setMetrics(mCustomGridRows, mCustomGridColumns); + } else { + DeviceProfile grid = getGrid(); + mDynamicGrid.setMetrics(grid.numRowsBase + mCurrentSize.getValue(), + grid.numColumnsBase + mCurrentSize.getValue()); } } - public Bitmap writeOnDrawable(int drawableId){ - LauncherAppState app = LauncherAppState.getInstance(); - DeviceProfile grid = app.getDynamicGrid().getDeviceProfile(); - - int rows = mCustomGridRows == 0 ? (int) grid.numRows : mCustomGridRows; - int columns = mCustomGridColumns == 0 ? (int) grid.numColumns : mCustomGridColumns; - - String text = rows + " " + "\u00d7" + " " + columns; - - Bitmap bm = BitmapFactory.decodeResource(getResources(), - drawableId).copy(Bitmap.Config.ARGB_8888, true); - - Paint paint = new Paint(); - paint.setStyle(Paint.Style.FILL); - paint.setColor(Color.BLACK); - int px = getResources().getDimensionPixelOffset(R.dimen.grid_custom_text); - paint.setTextSize(px); - - Canvas canvas = new Canvas(bm); - - float canvasWidth = canvas.getWidth(); - float sentenceWidth = paint.measureText(text); - float startPositionX = (canvasWidth - sentenceWidth) / 2; - - canvas.drawText(text, startPositionX, bm.getHeight()/2, paint); - - return bm; - } - @Override public Animator onCreateAnimator(int transit, boolean enter, int nextAnim) { if (enter) { @@ -167,21 +145,14 @@ public class DynamicGridSizeFragment extends Fragment implements NumberPicker.On final View darkPanel = ((Launcher) getActivity()).getDarkPanel(); darkPanel.setVisibility(View.VISIBLE); - ObjectAnimator anim2 = ObjectAnimator.ofFloat( - darkPanel , "alpha", 0.0f, 0.3f); + ObjectAnimator anim2 = ObjectAnimator.ofFloat(darkPanel, "alpha", 0.0f, 0.3f); anim2.start(); - anim.addListener(new Animator.AnimatorListener() { - @Override - public void onAnimationStart(Animator arg0) {} + anim.addListener(new AnimatorListenerAdapter() { @Override - public void onAnimationRepeat(Animator arg0) {} - @Override - public void onAnimationEnd(Animator arg0) { + public void onAnimationEnd (Animator animation) { darkPanel.setVisibility(View.GONE); } - @Override - public void onAnimationCancel(Animator arg0) {} }); return anim; @@ -208,23 +179,23 @@ public class DynamicGridSizeFragment extends Fragment implements NumberPicker.On private void showNumberPicker() { mDialog = new Dialog(getActivity()); - mDialog.setTitle(getResources().getString(R.string.preferences_interface_homescreen_custom)); + mDialog.setTitle(getResources().getString( + R.string.preferences_interface_homescreen_custom)); mDialog.setContentView(R.layout.custom_grid_size_dialog); - NumberPicker nPRows= (NumberPicker) mDialog.findViewById(R.id.custom_rows); + NumberPicker nPRows = (NumberPicker) mDialog.findViewById(R.id.custom_rows); NumberPicker nPColumns = (NumberPicker) mDialog.findViewById(R.id.custom_columns); - LauncherAppState app = LauncherAppState.getInstance(); - DeviceProfile grid = app.getDynamicGrid().getDeviceProfile(); - + DeviceProfile grid = getGrid(); int rows = grid.numRowsBase; int columns = grid.numColumnsBase; - if (mCustomGridColumns == 0) { - mCustomGridColumns = (int) grid.numColumns; - } + if (mCustomGridRows == 0) { mCustomGridRows = (int) grid.numRows; } + if (mCustomGridColumns == 0) { + mCustomGridColumns = (int) grid.numColumns; + } nPRows.setMinValue(Math.max(MIN_DYNAMIC_GRID_ROWS, rows - DeviceProfile.GRID_SIZE_MIN)); nPRows.setMaxValue(rows + DeviceProfile.GRID_SIZE_MAX); @@ -233,15 +204,16 @@ public class DynamicGridSizeFragment extends Fragment implements NumberPicker.On nPRows.setOnValueChangedListener(this); nPRows.setDescendantFocusability(NumberPicker.FOCUS_BLOCK_DESCENDANTS); - nPColumns.setMinValue(Math.max(MIN_DYNAMIC_GRID_COLUMNS, columns - DeviceProfile.GRID_SIZE_MIN)); + nPColumns.setMinValue(Math.max(MIN_DYNAMIC_GRID_COLUMNS, + columns - DeviceProfile.GRID_SIZE_MIN)); nPColumns.setMaxValue(columns + DeviceProfile.GRID_SIZE_MAX); nPColumns.setValue(mCustomGridColumns); nPColumns.setWrapSelectorWheel(false); nPColumns.setOnValueChangedListener(this); nPColumns.setDescendantFocusability(NumberPicker.FOCUS_BLOCK_DESCENDANTS); - Button b = (Button) mDialog.findViewById(R.id.dialog_confirm_button); - b.setOnClickListener(new View.OnClickListener() { + Button button = (Button) mDialog.findViewById(R.id.dialog_confirm_button); + button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (mDialog != null) { @@ -249,6 +221,7 @@ public class DynamicGridSizeFragment extends Fragment implements NumberPicker.On } } }); + mDialog.setOnDismissListener(this); mDialog.show(); } @@ -278,16 +251,14 @@ public class DynamicGridSizeFragment extends Fragment implements NumberPicker.On SettingsProvider.SETTINGS_UI_HOMESCREEN_COLUMNS, mCustomGridColumns); mAdapter.notifyDataSetInvalidated(); - - setCurrentImage(); + mDynamicGrid.setMetrics(mCustomGridRows, mCustomGridColumns); } private class GridSizeArrayAdapter extends ArrayAdapter<String> { Context mContext; String[] mTitles; - public GridSizeArrayAdapter(Context context, int textViewResourceId, - String[] objects) { + public GridSizeArrayAdapter(Context context, int textViewResourceId, String[] objects) { super(context, textViewResourceId, objects); mContext = context; @@ -296,27 +267,29 @@ public class DynamicGridSizeFragment extends Fragment implements NumberPicker.On @Override public View getView(int position, View convertView, ViewGroup parent) { - LayoutInflater inflater = (LayoutInflater) mContext - .getSystemService(Context.LAYOUT_INFLATER_SERVICE); - convertView = inflater.inflate(R.layout.settings_pane_list_item, - parent, false); - TextView textView = (TextView) convertView - .findViewById(R.id.item_name); + if (convertView == null) { + LayoutInflater inflater = (LayoutInflater) + mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE); + convertView = inflater.inflate(R.layout.settings_pane_list_item, parent, false); + } + + TextView textView = (TextView) convertView.findViewById(R.id.item_name); textView.setText(mTitles[position]); - // Set Selected State + + // Set selected state if (position == mCurrentSize.getValue()) { + if (mCurrentSelection != null) { + setCleared(mCurrentSelection); + } mCurrentSelection = convertView; setSelected(mCurrentSelection); } if (position == DeviceProfile.GridSize.Custom.getValue()) { - LauncherAppState app = LauncherAppState.getInstance(); - DeviceProfile grid = app.getDynamicGrid().getDeviceProfile(); - int rows = SettingsProvider.getIntCustomDefault(getActivity(), - SettingsProvider.SETTINGS_UI_HOMESCREEN_ROWS, grid.numRowsBase); + SettingsProvider.SETTINGS_UI_HOMESCREEN_ROWS, getGrid().numRowsBase); int columns = SettingsProvider.getIntCustomDefault(getActivity(), - SettingsProvider.SETTINGS_UI_HOMESCREEN_COLUMNS, grid.numColumnsBase); + SettingsProvider.SETTINGS_UI_HOMESCREEN_COLUMNS, getGrid().numColumnsBase); String gridSize = rows + " " + "\u00d7" + " " + columns; textView.setText(getString(R.string.grid_size_custom_and_size, gridSize)); @@ -327,4 +300,52 @@ public class DynamicGridSizeFragment extends Fragment implements NumberPicker.On return convertView; } } + + private DeviceProfile getGrid() { + LauncherAppState app = LauncherAppState.getInstance(); + return app.getDynamicGrid().getDeviceProfile(); + } + + private static class GridSizeView extends View { + private int mRows = 0, mColumns = 0; + private Paint mForegroundPaint; + private int mBackgroundColor; + + public GridSizeView(Context context, AttributeSet attrs) { + super(context, attrs); + Resources res = context.getResources(); + + mForegroundPaint = new Paint(); + mForegroundPaint.setColor(res.getColor(R.color.dynamic_grid_preview_foreground)); + mBackgroundColor = res.getColor(R.color.dynamic_grid_preview_background); + } + + public void setMetrics(int rows, int columns) { + mRows = rows; + mColumns = columns; + invalidate(); + } + + @Override + protected void onDraw(Canvas canvas) { + float width = getWidth() - getPaddingLeft() - getPaddingRight(); + float height = getHeight() - getPaddingTop() - getPaddingBottom(); + float xOffset = getPaddingLeft(); + float yOffset = getPaddingTop(); + + canvas.drawColor(mBackgroundColor); + + // Draw rows + for (int i = 1; i < mRows; i++) { + float yPos = yOffset + height / mRows * i; + canvas.drawLine(xOffset, yPos, xOffset + width, yPos, mForegroundPaint); + } + + // Draw columns + for (int j = 1; j < mColumns; j++) { + float xPos = xOffset + width / mColumns * j; + canvas.drawLine(xPos, yOffset, xPos, yOffset + height, mForegroundPaint); + } + } + } } diff --git a/src/com/android/launcher3/Folder.java b/src/com/android/launcher3/Folder.java index 004fa4e5f..54d2793e0 100644 --- a/src/com/android/launcher3/Folder.java +++ b/src/com/android/launcher3/Folder.java @@ -121,6 +121,7 @@ public class Folder extends LinearLayout implements DragSource, View.OnClickList RelativeLayout mFolderTitleSection; private float mFolderIconPivotX; private float mFolderIconPivotY; + private boolean mHideLabels; private boolean mIsEditingName = false; private InputMethodManager mInputMethodManager; @@ -221,11 +222,11 @@ public class Folder extends LinearLayout implements DragSource, View.OnClickList InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS | InputType.TYPE_TEXT_FLAG_CAP_WORDS); mAutoScrollHelper = new FolderAutoScrollHelper(mScrollView); - if (SettingsProvider.getBoolean(mLauncher, + mHideLabels = SettingsProvider.getBoolean(mLauncher, SettingsProvider.SETTINGS_UI_HOMESCREEN_HIDE_ICON_LABELS, - R.bool.preferences_interface_homescreen_hide_icon_labels_default)) { + R.bool.preferences_interface_homescreen_hide_icon_labels_default); + if (mHideLabels) { mFolderName.setVisibility(View.GONE); - mFolderNameHeight = getPaddingBottom(); } mFolderLock = (ImageView) findViewById(R.id.folder_lock); @@ -350,11 +351,7 @@ public class Folder extends LinearLayout implements DragSource, View.OnClickList // Convert to a string here to ensure that no other state associated with the text field // gets saved. String newTitle = mFolderName.getText().toString(); - if (!SettingsProvider.getBoolean(mLauncher, - SettingsProvider.SETTINGS_UI_HOMESCREEN_HIDE_ICON_LABELS, - R.bool.preferences_interface_homescreen_hide_icon_labels_default)) { - mInfo.setTitle(newTitle); - } + mInfo.setTitle(newTitle); LauncherModel.updateItemInDatabase(mLauncher, mInfo); if (commit) { @@ -658,6 +655,10 @@ public class Folder extends LinearLayout implements DragSource, View.OnClickList textView.setOnClickListener(this); textView.setOnLongClickListener(this); + if (mHideLabels) { + textView.setTextVisibility(!mHideLabels); + } + // We need to check here to verify that the given item's location isn't already occupied // by another item. if (mContent.getChildAt(item.cellX, item.cellY) != null || item.cellX < 0 || item.cellY < 0 diff --git a/src/com/android/launcher3/GelIntegrationHelper.java b/src/com/android/launcher3/GelIntegrationHelper.java index 4d2c4917b..118be19db 100644 --- a/src/com/android/launcher3/GelIntegrationHelper.java +++ b/src/com/android/launcher3/GelIntegrationHelper.java @@ -23,7 +23,6 @@ public class GelIntegrationHelper { private static final int EDGE_GESTURE_SERVICE_RIGHT_EDGE = 4; private static final int EDGE_GESTURE_SERVICE_LEFT_EDGE = 1; - private static final int EDGE_GESTURE_SERVICE_NO_EDGE = -1; private EdgeGestureManager.EdgeGestureActivationListener mEdgeGestureActivationListener = null; private static GelIntegrationHelper sInstance; @@ -98,18 +97,4 @@ public class GelIntegrationHelper { return pm.resolveActivity(intent, PackageManager.MATCH_DEFAULT_ONLY) != null; } - /** - * Handle necessary cleanup and reset tasks for GEL integration, to be called from onResume. - */ - public void handleGelResume() { - // If there is an active EdgeGestureActivationListener for GEL integration, - // it should stop listening when we have resumed the launcher. - if(mEdgeGestureActivationListener != null) { - EdgeGestureManager edgeGestureManager = EdgeGestureManager.getInstance(); - // Update the listener so it is not listening to any postions (-1) - edgeGestureManager.updateEdgeGestureActivationListener(mEdgeGestureActivationListener, - EDGE_GESTURE_SERVICE_NO_EDGE); - } - } - } diff --git a/src/com/android/launcher3/Launcher.java b/src/com/android/launcher3/Launcher.java index fbb3189f9..01e3fc584 100644 --- a/src/com/android/launcher3/Launcher.java +++ b/src/com/android/launcher3/Launcher.java @@ -66,6 +66,7 @@ import android.os.Handler; import android.os.Message; import android.os.StrictMode; import android.os.SystemClock; +import android.provider.Settings; import android.speech.RecognizerIntent; import android.text.Selection; import android.text.SpannableStringBuilder; @@ -403,6 +404,12 @@ public class Launcher extends Activity } } + public static float sAnimatorDurationScale = 1f; + + public static boolean isAnimatorScaleSafe() { + return sAnimatorDurationScale >= 1f; + } + private CustomContentMode mCustomContentMode = CustomContentMode.CUSTOM_HOME; // Preferences @@ -457,6 +464,38 @@ public class Launcher extends Activity } }; + private class AnimatorScaleObserver extends ContentObserver { + + /** + * Creates a content observer. + * + * @param handler The handler to run {@link #onChange} on, or null if none. + */ + public AnimatorScaleObserver(Handler handler) { + super(handler); + } + + @Override + public void onChange(boolean selfChange) { + onChange(selfChange, null); + } + + @Override + public void onChange(boolean selfChange, Uri uri) { + try { + Float curAnimationDurationScale = Settings.Global.getFloat(getContentResolver(), + Settings.Global.ANIMATOR_DURATION_SCALE); + if (curAnimationDurationScale != sAnimatorDurationScale) { + // the Animator Duration scale has changed, restart the Launcher to respect + // these changes + android.os.Process.killProcess(android.os.Process.myPid()); + } + } catch (Settings.SettingNotFoundException e) { + sAnimatorDurationScale = 1f; + } + } + } + @Override protected void onCreate(Bundle savedInstanceState) { if (DEBUG_STRICT_MODE) { @@ -564,6 +603,16 @@ public class Launcher extends Activity "cyanogenmod.intent.action.PROTECTED_COMPONENT_UPDATE"); registerReceiver(protectedAppsChangedReceiver, protectedAppsFilter, "cyanogenmod.permission.PROTECTED_APP", null); + + try { + sAnimatorDurationScale = Settings.Global.getFloat(getContentResolver(), + Settings.Global.ANIMATOR_DURATION_SCALE); + } catch (Settings.SettingNotFoundException e) { + sAnimatorDurationScale = 1f; + } + + AnimatorScaleObserver obs = new AnimatorScaleObserver(new Handler()); + getContentResolver().registerContentObserver(Settings.Global.CONTENT_URI, true, obs); } public void restoreCustomContentMode() { @@ -1108,10 +1157,6 @@ public class Launcher extends Activity updateGridIfNeeded(); - if(isCustomContentModeGel() && isGelIntegrationSupported()) { - GelIntegrationHelper.getInstance().handleGelResume(); - } - // Restore the previous launcher state if (mOnResumeState == State.WORKSPACE) { showWorkspace(false); @@ -3720,6 +3765,7 @@ public class Launcher extends Activity if (resetPageToZero) { mAppsCustomizeLayout.reset(); } + mAppsCustomizeContent.sortApps(); showAppsCustomizeHelper(animated, false, contentType); mAppsCustomizeLayout.requestFocus(); @@ -4498,6 +4544,8 @@ public class Launcher extends Activity mWorkspace.getUniqueComponents(true, null); mIntentsOnWorkspaceFromUpgradePath = mWorkspace.getUniqueComponents(true, null); } + + mWorkspace.stripEmptyScreens(); } private boolean canRunNewAppsAnimation() { @@ -4977,6 +5025,10 @@ public class Launcher extends Activity } public void updateDynamicGrid() { + updateDynamicGrid(mWorkspace.getRestorePage()); + } + + public void updateDynamicGrid(int page) { mSearchDropTargetBar.setupQSB(Launcher.this); initializeDynamicGrid(); @@ -4984,7 +5036,7 @@ public class Launcher extends Activity mGrid.layout(Launcher.this); // Synchronized reload - mModel.startLoader(true, mWorkspace.getCurrentPage()); + mModel.startLoader(true, page); mWorkspace.updateCustomContentVisibility(); } @@ -4995,7 +5047,7 @@ public class Launcher extends Activity public boolean updateGridIfNeeded() { if (mDynamicGridUpdateRequired) { - updateDynamicGrid(); + updateDynamicGrid(mWorkspace.getCurrentPage()); mDynamicGridUpdateRequired = false; return true; } diff --git a/src/com/android/launcher3/LauncherAnimUtils.java b/src/com/android/launcher3/LauncherAnimUtils.java index e6c220b2a..0f58e0c4e 100644 --- a/src/com/android/launcher3/LauncherAnimUtils.java +++ b/src/com/android/launcher3/LauncherAnimUtils.java @@ -103,7 +103,12 @@ public class LauncherAnimUtils { anim.setPropertyName(propertyName); anim.setFloatValues(values); cancelOnDestroyActivity(anim); - new FirstFrameAnimatorHelper(anim, target); + // If the animation scale is less than 1f the FirstFrameAnimatorHelper sometimes causes + // the animation to not finish (e.g. opening a Folder will result in the Folder View's + // alpha being stuck somewhere between 0-1f. + if (Launcher.isAnimatorScaleSafe()) { + new FirstFrameAnimatorHelper(anim, target); + } return anim; } @@ -113,7 +118,12 @@ public class LauncherAnimUtils { anim.setTarget(target); anim.setValues(values); cancelOnDestroyActivity(anim); - new FirstFrameAnimatorHelper(anim, target); + // If the animation scale is less than 1f the FirstFrameAnimatorHelper sometimes causes + // the animation to not finish (e.g. opening a Folder will result in the Folder View's + // alpha being stuck somewhere between 0-1f. + if (Launcher.isAnimatorScaleSafe()) { + new FirstFrameAnimatorHelper(anim, target); + } return anim; } @@ -123,7 +133,12 @@ public class LauncherAnimUtils { anim.setTarget(target); anim.setValues(values); cancelOnDestroyActivity(anim); - new FirstFrameAnimatorHelper(anim, view); + // If the animation scale is less than 1f the FirstFrameAnimatorHelper sometimes causes + // the animation to not finish (e.g. opening a Folder will result in the Folder View's + // alpha being stuck somewhere between 0-1f. + if (Launcher.isAnimatorScaleSafe()) { + new FirstFrameAnimatorHelper(anim, view); + } return anim; } } diff --git a/src/com/android/launcher3/LauncherViewPropertyAnimator.java b/src/com/android/launcher3/LauncherViewPropertyAnimator.java index 4cafbbfa6..63b87be5f 100644 --- a/src/com/android/launcher3/LauncherViewPropertyAnimator.java +++ b/src/com/android/launcher3/LauncherViewPropertyAnimator.java @@ -127,7 +127,9 @@ public class LauncherViewPropertyAnimator extends Animator implements AnimatorLi public void onAnimationStart(Animator animation) { // This is the first time we get a handle to the internal ValueAnimator // used by the ViewPropertyAnimator. - mFirstFrameHelper.onAnimationStart(animation); + if (mFirstFrameHelper != null) { + mFirstFrameHelper.onAnimationStart(animation); + } for (int i = 0; i < mListeners.size(); i++) { Animator.AnimatorListener listener = mListeners.get(i); @@ -195,7 +197,12 @@ public class LauncherViewPropertyAnimator extends Animator implements AnimatorLi // FirstFrameAnimatorHelper hooks itself up to the updates on the animator, // and then adjusts the play time to keep the first two frames jank-free - mFirstFrameHelper = new FirstFrameAnimatorHelper(mViewPropertyAnimator, mTarget); + // HOWEVER, If the animation scale is less than 1f the FirstFrameAnimatorHelper sometimes + // causes the animation to not finish (e.g. opening a Folder will result in the Folder + // View's alpha being stuck somewhere between 0-1f. + if (Launcher.isAnimatorScaleSafe()) { + mFirstFrameHelper = new FirstFrameAnimatorHelper(mViewPropertyAnimator, mTarget); + } if (mPropertiesToSet.contains(Properties.TRANSLATION_X)) { mViewPropertyAnimator.translationX(mTranslationX); diff --git a/src/com/android/launcher3/OverviewSettingsPanel.java b/src/com/android/launcher3/OverviewSettingsPanel.java index e14b78942..f0a568b74 100644 --- a/src/com/android/launcher3/OverviewSettingsPanel.java +++ b/src/com/android/launcher3/OverviewSettingsPanel.java @@ -11,6 +11,9 @@ import android.widget.ListView; import com.android.launcher3.list.PinnedHeaderListView; import com.android.launcher3.list.SettingsPinnedHeaderAdapter; +import java.util.ArrayList; +import java.util.List; + public class OverviewSettingsPanel { public static final String ANDROID_SETTINGS = "com.android.settings"; public static final String ANDROID_PROTECTED_APPS = @@ -19,6 +22,7 @@ public class OverviewSettingsPanel { "com.android.settings.Settings$ThemeSettingsActivity"; public static final int HOME_SETTINGS_POSITION = 0; public static final int DRAWER_SETTINGS_POSITION = 1; + public static final int APP_SETTINGS_POSITION = 2; private Launcher mLauncher; private View mOverviewPanel; @@ -56,10 +60,14 @@ public class OverviewSettingsPanel { res.getString(R.string.drawer_sorting_text), res.getString(R.string.icon_labels)}; - String[] valuesApp = new String[] { - res.getString(R.string.larger_icons_text), - res.getString(R.string.protected_app_settings)}; + List<String> valuesAppList = new ArrayList<String>(); + valuesAppList.add(res.getString(R.string.larger_icons_text)); + if (!Utilities.isRestrictedProfile(mLauncher)) { + valuesAppList.add(res.getString(R.string.protected_app_settings)); + } + String[] valuesApp = new String[valuesAppList.size()]; + valuesApp = valuesAppList.toArray(valuesApp); mSettingsAdapter = new SettingsPinnedHeaderAdapter(mLauncher); mSettingsAdapter.setHeaders(headers); @@ -68,9 +76,10 @@ public class OverviewSettingsPanel { mSettingsAdapter.addPartition(false, true); mSettingsAdapter.mPinnedHeaderCount = headers.length; - mSettingsAdapter.changeCursor(0, createCursor(headers[0], mValues)); - mSettingsAdapter.changeCursor(1, createCursor(headers[1], valuesDrawer)); - mSettingsAdapter.changeCursor(2, createCursor(headers[2], valuesApp)); + mSettingsAdapter.changeCursor(HOME_SETTINGS_POSITION, createCursor(headers[0], mValues)); + mSettingsAdapter.changeCursor(DRAWER_SETTINGS_POSITION, createCursor(headers[1], + valuesDrawer)); + mSettingsAdapter.changeCursor(APP_SETTINGS_POSITION, createCursor(headers[2], valuesApp)); mListView.setAdapter(mSettingsAdapter); } @@ -208,8 +217,10 @@ public class OverviewSettingsPanel { frameAnimation.start(); if (mLauncher.updateGridIfNeeded()) { - mLauncher.getWorkspace().showOutlines(); - mLauncher.mSearchDropTargetBar.hideSearchBar(false); + if (mLauncher.getWorkspace().isInOverviewMode()) { + mLauncher.getWorkspace().showOutlines(); + mLauncher.mSearchDropTargetBar.hideSearchBar(false); + } } } diff --git a/src/com/android/launcher3/TransitionEffectsFragment.java b/src/com/android/launcher3/TransitionEffectsFragment.java index 88c6481d7..bb7c5abf2 100644 --- a/src/com/android/launcher3/TransitionEffectsFragment.java +++ b/src/com/android/launcher3/TransitionEffectsFragment.java @@ -20,6 +20,7 @@ import android.view.View; import android.view.View.OnClickListener; import android.view.ViewGroup; import android.widget.ArrayAdapter; +import android.widget.FrameLayout; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.ListView; @@ -34,7 +35,6 @@ public class TransitionEffectsFragment extends Fragment { ImageView mTransitionIcon; ListView mListView; View mCurrentSelection; - ScrollView mScrollView; String[] mTransitionStates; TypedArray mTransitionDrawables; @@ -76,6 +76,14 @@ public class TransitionEffectsFragment extends Fragment { public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View v = inflater.inflate(R.layout.settings_transitions_screen, container, false); + mListView = (ListView) v.findViewById(R.id.settings_transitions_list); + + Launcher launcher = (Launcher) getActivity(); + LinearLayout.LayoutParams lp = (LinearLayout.LayoutParams) + mListView.getLayoutParams(); + lp.bottomMargin = ((FrameLayout.LayoutParams) launcher.getOverviewPanel() + .findViewById(R.id.settings_container).getLayoutParams()).bottomMargin; + mListView.setLayoutParams(lp); mPageOrDrawer = getArguments().getBoolean(PAGE_OR_DRAWER_SCROLL_SELECT); @@ -86,8 +94,6 @@ public class TransitionEffectsFragment extends Fragment { : R.string.preferences_interface_homescreen_scrolling_transition_effect; mTransitionIcon = (ImageView) v.findViewById(R.id.settings_transition_image); - mListView = (ListView) v.findViewById(R.id.settings_transitions_list); - mScrollView = (ScrollView) v.findViewById(R.id.scroll_view); TextView title = (TextView) v.findViewById(R.id.transition_effect_title); title.setText(getResources().getString(R.string.scroll_effect_text)); LinearLayout titleLayout = (LinearLayout) v.findViewById(R.id.transition_title); diff --git a/src/com/android/launcher3/Utilities.java b/src/com/android/launcher3/Utilities.java index cbc978585..d1c5a0f7f 100644 --- a/src/com/android/launcher3/Utilities.java +++ b/src/com/android/launcher3/Utilities.java @@ -33,6 +33,7 @@ import android.graphics.Rect; import android.graphics.drawable.BitmapDrawable; import android.graphics.drawable.Drawable; import android.graphics.drawable.PaintDrawable; +import android.os.UserManager; import android.util.DisplayMetrics; import android.util.Log; import android.view.View; @@ -358,4 +359,9 @@ public final class Utilities { "or use the exported attribute for this activity.", e); } } + + public static boolean isRestrictedProfile(Context context) { + UserManager um = (UserManager) context.getSystemService(Context.USER_SERVICE); + return um.getUserInfo(um.getUserHandle()).isRestricted(); + } } diff --git a/src/com/android/launcher3/Workspace.java b/src/com/android/launcher3/Workspace.java index 7501dbf7d..c6c320df0 100644 --- a/src/com/android/launcher3/Workspace.java +++ b/src/com/android/launcher3/Workspace.java @@ -437,6 +437,8 @@ public class Workspace extends SmoothPagedView InstallShortcutReceiver.disableAndFlushInstallQueue(getContext()); UninstallShortcutReceiver.disableAndFlushUninstallQueue(getContext()); + removeExtraEmptyScreen(false, null); + mDragSourceInternal = null; mLauncher.onInteractionEnd(); } diff --git a/src/com/android/launcher3/list/SettingsPinnedHeaderAdapter.java b/src/com/android/launcher3/list/SettingsPinnedHeaderAdapter.java index a4a68fb85..b09d1d716 100644 --- a/src/com/android/launcher3/list/SettingsPinnedHeaderAdapter.java +++ b/src/com/android/launcher3/list/SettingsPinnedHeaderAdapter.java @@ -10,7 +10,6 @@ import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.TextView; -import android.widget.Toast; import com.android.launcher3.DeviceProfile; import com.android.launcher3.Launcher; import com.android.launcher3.OverviewSettingsPanel; @@ -22,9 +21,22 @@ import android.view.View.OnClickListener; import android.content.SharedPreferences; public class SettingsPinnedHeaderAdapter extends PinnedHeaderListAdapter { + private static final int PARTITION_TAG = 0; + private static final int POSITION_TAG = 1; + private Launcher mLauncher; private Context mContext; + class SettingsPosition { + int partition = 0; + int position = 0; + + SettingsPosition (int partition, int position) { + this.partition = partition; + this.position = position; + } + } + public SettingsPinnedHeaderAdapter(Context context) { super(context); mLauncher = (Launcher) context; @@ -67,81 +79,88 @@ public class SettingsPinnedHeaderAdapter extends PinnedHeaderListAdapter { String title = cursor.getString(1); text.setText(title); + v.setTag(new SettingsPosition(partition, position)); + Resources res = mLauncher.getResources(); - if (title.equals(res - .getString(R.string.home_screen_search_text))) { - boolean current = mLauncher.isSearchBarEnabled(); - String state = current ? res.getString( - R.string.setting_state_on) : res.getString( - R.string.setting_state_off); - ((TextView) v.findViewById(R.id.item_state)).setText(state); - } else if (title.equals(res - .getString(R.string.drawer_sorting_text))) { - updateDrawerSortSettingsItem(v); - } else if (title.equals(res - .getString(R.string.scroll_effect_text)) && - partition == OverviewSettingsPanel.DRAWER_SETTINGS_POSITION) { - String state = mLauncher.getAppsCustomizeTransitionEffect(); - state = mapEffectToValue(state); - ((TextView) v.findViewById(R.id.item_state)).setText(state); - } else if (title.equals(res - .getString(R.string.scroll_effect_text)) && - partition == OverviewSettingsPanel.HOME_SETTINGS_POSITION) { - String state = mLauncher.getWorkspaceTransitionEffect(); - state = mapEffectToValue(state); - ((TextView) v.findViewById(R.id.item_state)).setText(state); - } else if (title.equals(res - .getString(R.string.larger_icons_text))) { - boolean current = SettingsProvider - .getBoolean( - mContext, - SettingsProvider.SETTINGS_UI_GENERAL_ICONS_LARGE, - R.bool.preferences_interface_general_icons_large_default); - String state = current ? res.getString( - R.string.setting_state_on) : res.getString( - R.string.setting_state_off); - ((TextView) v.findViewById(R.id.item_state)).setText(state); - } else if (title.equals(res - .getString(R.string.icon_labels)) && - partition == OverviewSettingsPanel.HOME_SETTINGS_POSITION) { - boolean current = mLauncher.shouldHideWorkspaceIconLables(); - String state = current ? res.getString( - R.string.icon_labels_hide) : res.getString( - R.string.icon_labels_show); - ((TextView) v.findViewById(R.id.item_state)).setText(state); - } else if (title.equals(res - .getString(R.string.icon_labels)) && - partition == OverviewSettingsPanel.DRAWER_SETTINGS_POSITION) { - boolean current = SettingsProvider - .getBoolean( - mContext, - SettingsProvider.SETTINGS_UI_DRAWER_HIDE_ICON_LABELS, - R.bool.preferences_interface_drawer_hide_icon_labels_default); - String state = current ? res.getString( - R.string.icon_labels_hide) : res.getString( - R.string.icon_labels_show); - ((TextView) v.findViewById(R.id.item_state)).setText(state); - } else if (title.equals(res - .getString(R.string.search_screen_left_text))) { - updateSearchPanelItem(v); - } else if (title.equals(res.getString(R.string.scrolling_wallpaper))) { - boolean current = SettingsProvider - .getBoolean( - mContext, - SettingsProvider.SETTINGS_UI_HOMESCREEN_SCROLLING_WALLPAPER_SCROLL, - R.bool.preferences_interface_homescreen_scrolling_wallpaper_scroll_default); - String state = current ? res.getString( - R.string.setting_state_on) : res.getString( - R.string.setting_state_off); - ((TextView) v.findViewById(R.id.item_state)).setText(state); - } else if (title.equals(res.getString(R.string.grid_size_text))) { - updateDynamicGridSizeSettingsItem(v); - } else { - ((TextView) v.findViewById(R.id.item_state)).setText(""); + boolean current = false; + String state = ""; + + switch (partition) { + case OverviewSettingsPanel.HOME_SETTINGS_POSITION: + switch (position) { + case 0: + current = mLauncher.isSearchBarEnabled(); + state = current ? res.getString(R.string.setting_state_on) + : res.getString(R.string.setting_state_off); + ((TextView) v.findViewById(R.id.item_state)).setText(state); + break; + case 1: + updateSearchPanelItem(v); + break; + case 2: + state = mLauncher.getWorkspaceTransitionEffect(); + state = mapEffectToValue(state); + ((TextView) v.findViewById(R.id.item_state)).setText(state); + break; + case 3: + current = mLauncher.shouldHideWorkspaceIconLables(); + state = current ? res.getString(R.string.icon_labels_hide) + : res.getString(R.string.icon_labels_show); + ((TextView) v.findViewById(R.id.item_state)).setText(state); + break; + case 4: + current = SettingsProvider.getBoolean(mContext, + SettingsProvider.SETTINGS_UI_HOMESCREEN_SCROLLING_WALLPAPER_SCROLL, + R.bool.preferences_interface_homescreen_scrolling_wallpaper_scroll_default); + state = current ? res.getString(R.string.setting_state_on) + : res.getString(R.string.setting_state_off); + ((TextView) v.findViewById(R.id.item_state)).setText(state); + break; + case 5: + updateDynamicGridSizeSettingsItem(v); + break; + default: + ((TextView) v.findViewById(R.id.item_state)).setText(""); + } + break; + case OverviewSettingsPanel.DRAWER_SETTINGS_POSITION: + switch (position) { + case 0: + state = mLauncher.getAppsCustomizeTransitionEffect(); + state = mapEffectToValue(state); + ((TextView) v.findViewById(R.id.item_state)).setText(state); + break; + case 1: + updateDrawerSortSettingsItem(v); + break; + case 2: + current = SettingsProvider.getBoolean(mContext, + SettingsProvider.SETTINGS_UI_DRAWER_HIDE_ICON_LABELS, + R.bool.preferences_interface_drawer_hide_icon_labels_default); + state = current ? res.getString(R.string.icon_labels_hide) + : res.getString(R.string.icon_labels_show); + ((TextView) v.findViewById(R.id.item_state)).setText(state); + break; + default: + ((TextView) v.findViewById(R.id.item_state)).setText(""); + } + break; + default: + switch (position) { + case 0: + current = SettingsProvider.getBoolean(mContext, + SettingsProvider.SETTINGS_UI_GENERAL_ICONS_LARGE, + R.bool.preferences_interface_general_icons_large_default); + state = current ? res.getString(R.string.setting_state_on) + : res.getString(R.string.setting_state_off); + ((TextView) v.findViewById(R.id.item_state)).setText(state); + break; + default: + ((TextView) v.findViewById(R.id.item_state)).setText(""); + } } - v.setTag(partition); v.setOnClickListener(mSettingsItemListener); } @@ -246,71 +265,78 @@ public class SettingsPinnedHeaderAdapter extends PinnedHeaderListAdapter { String value = ((TextView) v.findViewById(R.id.item_name)).getText().toString(); Resources res = mLauncher.getResources(); - // Handle toggles or launch pickers - if (value.equals(res - .getString(R.string.home_screen_search_text))) { - onSettingsBooleanChanged( - v, - SettingsProvider.SETTINGS_UI_HOMESCREEN_SEARCH, - R.bool.preferences_interface_homescreen_search_default); - mLauncher.setUpdateDynamicGrid(); - } else if (value.equals(res - .getString(R.string.drawer_sorting_text))) { - onClickTransitionEffectButton(); - } else if (value.equals(res - .getString(R.string.scroll_effect_text)) && - ((Integer)v.getTag() == OverviewSettingsPanel.DRAWER_SETTINGS_POSITION)) { - mLauncher.onClickTransitionEffectButton(v, true); - } else if (value.equals(res - .getString(R.string.scroll_effect_text)) && - ((Integer)v.getTag() == OverviewSettingsPanel.HOME_SETTINGS_POSITION)) { - mLauncher.onClickTransitionEffectButton(v, false); - } else if (value.equals(res - .getString(R.string.larger_icons_text))) { - onSettingsBooleanChanged( - v, - SettingsProvider.SETTINGS_UI_GENERAL_ICONS_LARGE, - R.bool.preferences_interface_general_icons_large_default); - mLauncher.setUpdateDynamicGrid(); - } else if (value.equals(res - .getString(R.string.icon_labels)) && - ((Integer)v.getTag() == OverviewSettingsPanel.HOME_SETTINGS_POSITION)) { - onIconLabelsBooleanChanged( - v, - SettingsProvider.SETTINGS_UI_HOMESCREEN_HIDE_ICON_LABELS, - R.bool.preferences_interface_homescreen_hide_icon_labels_default); - mLauncher.setUpdateDynamicGrid(); - } else if (value.equals(res - .getString(R.string.icon_labels)) && - ((Integer)v.getTag() == OverviewSettingsPanel.DRAWER_SETTINGS_POSITION)) { - onIconLabelsBooleanChanged( - v, - SettingsProvider.SETTINGS_UI_DRAWER_HIDE_ICON_LABELS, - R.bool.preferences_interface_drawer_hide_icon_labels_default); - mLauncher.setUpdateDynamicGrid(); - } else if (value.equals(res.getString(R.string.protected_app_settings))) { - Intent intent = new Intent(); - intent.setClassName(OverviewSettingsPanel.ANDROID_SETTINGS, - OverviewSettingsPanel.ANDROID_PROTECTED_APPS); - mLauncher.startActivity(intent); - } else if (value.equals(res - .getString(R.string.scrolling_wallpaper))) { - onSettingsBooleanChanged( - v, - SettingsProvider.SETTINGS_UI_HOMESCREEN_SCROLLING_WALLPAPER_SCROLL, - R.bool.preferences_interface_homescreen_scrolling_wallpaper_scroll_default); - mLauncher.setUpdateDynamicGrid(); - } else if (value.equals(res - .getString(R.string.search_screen_left_text)) && - ((Integer)v.getTag() == OverviewSettingsPanel.HOME_SETTINGS_POSITION)) { - onClickSearchPanelButton(); - boolean customContentEnabled = - mLauncher.getCustomContentMode() != Launcher.CustomContentMode.DISABLED; - mLauncher.getWorkspace().updatePageScrollForCustomPage(customContentEnabled); - mLauncher.setUpdateDynamicGrid(); - } else if (value.equals(res - .getString(R.string.grid_size_text))) { - mLauncher.onClickDynamicGridSizeButton(); + int partition = ((SettingsPosition) v.getTag()).partition; + int position = ((SettingsPosition) v.getTag()).position; + + switch (partition) { + case OverviewSettingsPanel.HOME_SETTINGS_POSITION: + switch (position) { + case 0: + onSettingsBooleanChanged(v, + SettingsProvider.SETTINGS_UI_HOMESCREEN_SEARCH, + R.bool.preferences_interface_homescreen_search_default); + mLauncher.setUpdateDynamicGrid(); + break; + case 1: + onClickSearchPanelButton(); + boolean customContentEnabled = mLauncher.getCustomContentMode() + != Launcher.CustomContentMode.DISABLED; + mLauncher.getWorkspace().updatePageScrollForCustomPage( + customContentEnabled); + mLauncher.setUpdateDynamicGrid(); + break; + case 2: + mLauncher.onClickTransitionEffectButton(v, false); + break; + case 3: + onIconLabelsBooleanChanged(v, + SettingsProvider.SETTINGS_UI_HOMESCREEN_HIDE_ICON_LABELS, + R.bool.preferences_interface_homescreen_hide_icon_labels_default); + mLauncher.setUpdateDynamicGrid(); + break; + case 4: + onSettingsBooleanChanged(v, + SettingsProvider.SETTINGS_UI_HOMESCREEN_SCROLLING_WALLPAPER_SCROLL, + R.bool.preferences_interface_homescreen_scrolling_wallpaper_scroll_default); + mLauncher.setUpdateDynamicGrid(); + break; + case 5: + mLauncher.onClickDynamicGridSizeButton(); + break; + + } + break; + case OverviewSettingsPanel.DRAWER_SETTINGS_POSITION: + switch (position) { + case 0: + mLauncher.onClickTransitionEffectButton(v, true); + break; + case 1: + onClickTransitionEffectButton(); + break; + case 2: + onIconLabelsBooleanChanged(v, + SettingsProvider.SETTINGS_UI_DRAWER_HIDE_ICON_LABELS, + R.bool.preferences_interface_drawer_hide_icon_labels_default); + mLauncher.setUpdateDynamicGrid(); + break; + } + break; + default: + switch (position) { + case 0: + onSettingsBooleanChanged(v, + SettingsProvider.SETTINGS_UI_GENERAL_ICONS_LARGE, + R.bool.preferences_interface_general_icons_large_default); + mLauncher.setUpdateDynamicGrid(); + break; + case 1: + Intent intent = new Intent(); + intent.setClassName(OverviewSettingsPanel.ANDROID_SETTINGS, + OverviewSettingsPanel.ANDROID_PROTECTED_APPS); + mLauncher.startActivity(intent); + break; + } } View defaultHome = mLauncher.findViewById(R.id.default_home_screen_panel); diff --git a/src/org/cyanogenmod/trebuchet/CustomHomeLauncher.java b/src/org/cyanogenmod/trebuchet/CustomHomeLauncher.java index 47c9c3b2c..649b81091 100644 --- a/src/org/cyanogenmod/trebuchet/CustomHomeLauncher.java +++ b/src/org/cyanogenmod/trebuchet/CustomHomeLauncher.java @@ -236,8 +236,8 @@ public class CustomHomeLauncher extends Launcher { } @Override - public void updateDynamicGrid() { - super.updateDynamicGrid(); + public void updateDynamicGrid(int page) { + super.updateDynamicGrid(page); if (isCustomContentModeGel() && mCurrentHomeApp != null) { mCurrentHomeApp.mInstance.setShowContent(false); |