diff options
Diffstat (limited to 'packages')
469 files changed, 4480 insertions, 2413 deletions
diff --git a/packages/BackupRestoreConfirmation/res/values-sk/strings.xml b/packages/BackupRestoreConfirmation/res/values-sk/strings.xml index 12f562b..21e21b5 100644 --- a/packages/BackupRestoreConfirmation/res/values-sk/strings.xml +++ b/packages/BackupRestoreConfirmation/res/values-sk/strings.xml @@ -24,7 +24,7 @@ <string name="restore_confirm_text" msgid="7499866728030461776">"Z pripojeného počítača bolo vyžiadané úplné obnovenie všetkých údajov. Chcete túto akciu povoliť?\n\nAk ste toto obnovenie nevyžiadali vy, túto operáciu nepovoľujte. Táto akcia nahradí všetky údaje v zariadení."</string> <string name="allow_restore_button_label" msgid="3081286752277127827">"Obnoviť údaje"</string> <string name="deny_restore_button_label" msgid="1724367334453104378">"Neobnoviť"</string> - <string name="current_password_text" msgid="8268189555578298067">"Zadajte svoje aktuálne heslo záloh nižšie:"</string> + <string name="current_password_text" msgid="8268189555578298067">"Zadajte svoje aktuálne heslo pre zálohu nižšie:"</string> <string name="device_encryption_restore_text" msgid="1570864916855208992">"Zadajte svoje heslo na šifrovanie zariadenia nižšie."</string> <string name="device_encryption_backup_text" msgid="5866590762672844664">"Zadajte svoje heslo na šifrovanie zariadenia nižšie. Bude tiež použité na šifrovanie archívu zálohy."</string> <string name="backup_enc_password_text" msgid="4981585714795233099">"Zadajte heslo, ktoré sa použije pri šifrovaní údajov úplnej zálohy. Ak pole ponecháte prázdne, použije sa vaše aktuálne heslo zálohy:"</string> diff --git a/packages/BackupRestoreConfirmation/res/values-sw/strings.xml b/packages/BackupRestoreConfirmation/res/values-sw/strings.xml index 4e35b91..619a6db 100644 --- a/packages/BackupRestoreConfirmation/res/values-sw/strings.xml +++ b/packages/BackupRestoreConfirmation/res/values-sw/strings.xml @@ -18,17 +18,17 @@ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="backup_confirm_title" msgid="827563724209303345">"Kuhifadhi kikamilifu"</string> <string name="restore_confirm_title" msgid="5469365809567486602">"Kurejesha kila kitu"</string> - <string name="backup_confirm_text" msgid="1878021282758896593">"Ombi la kuhifadhi nakala rudufu kamili za data kwenye eneo kazi la kompyuta iliyounganishwa limewasilishwa. Ungependa shughuli hii ufanyike?\n\n Ikiwa sio wewe uliyewasilisha ombi hili, usikubali shughuli hii iendelee."</string> + <string name="backup_confirm_text" msgid="1878021282758896593">"Chelezo kamili la data iliyounganishwa kwenye eneo kazi la kompyuta limeombwa. Unataka kuruhusu hii kutendeka?\n\n Ikiwa hukuomba chelezo mwenyewe, usikubali uendeshaji kuendelea."</string> <string name="allow_backup_button_label" msgid="4217228747769644068">"Hifadhi nakala ya data yangu"</string> <string name="deny_backup_button_label" msgid="6009119115581097708">"Usicheleze"</string> <string name="restore_confirm_text" msgid="7499866728030461776">"Kurejesha kamili kwa data nzima kutoka kwa eneo kazi la kompyuta lililounganishwa limeombwa. Unataka kuruhusu hii kutendeka?\n\n Ikiwa hukuweza kurejesha upya mwenyewe, usiruhusu uendeshaji huu kuendelea. Hii itaweka upya data yoyote iliyo kwenye kifaa hiki sasa!"</string> <string name="allow_restore_button_label" msgid="3081286752277127827">"Rejesha upya data yangu"</string> <string name="deny_restore_button_label" msgid="1724367334453104378">"Usirejeshe upya"</string> - <string name="current_password_text" msgid="8268189555578298067">"Tafadhali ingiza nenosiri unalotumia kuhifadhi nakala rudufu hapo chini:"</string> + <string name="current_password_text" msgid="8268189555578298067">"Tafadhali ingiza nenosiri lako la chelezo hapo chini:"</string> <string name="device_encryption_restore_text" msgid="1570864916855208992">"Tafadhali ingiza nenosiri la usimbaji fiche wa kifaa chako hapo chini."</string> <string name="device_encryption_backup_text" msgid="5866590762672844664">"Tafadhali ingiza nenosiri lako la msimbo fiche hapo chini. Pia litatumika kusimba fiche jalidi ya hifadhi."</string> - <string name="backup_enc_password_text" msgid="4981585714795233099">"Tafadhali ingiza nenosiri la kutumia katika kusimba nakala rudufu kamili za data kwa njia fiche. Ikiwa hii itawachwa wazi, nenosiri lako la sasa litatumika:"</string> - <string name="backup_enc_password_optional" msgid="1350137345907579306">"Ikiwa unataka kusimba kwa njia fiche nakala rudufu za data, ingiza nenosiri lililo hapo chini:"</string> + <string name="backup_enc_password_text" msgid="4981585714795233099">"Tafadhali ingiza nenosiri la kutumia kwa usimbaji fiche wa chelezo ya data kamili. Ikiwa hii itawachwa wazi, nenosiri lako la sasa litatumika:"</string> + <string name="backup_enc_password_optional" msgid="1350137345907579306">"Ikiwa unataka kusimba fiche data nzima ya kucheleza, ingiza nenosiri la hapo chini:"</string> <string name="restore_enc_password_text" msgid="6140898525580710823">"Ikiwa data iliyorejeshwa upya, tafadhali ingiza nenosiri lililo hapo chini:"</string> <string name="toast_backup_started" msgid="550354281452756121">"Inaanza kuhifadhi..."</string> <string name="toast_backup_ended" msgid="3818080769548726424">"Imemaliza kuhifadhi"</string> diff --git a/packages/DefaultContainerService/res/values-th/strings.xml b/packages/DefaultContainerService/res/values-th/strings.xml index 621d7ed..3a7080c 100644 --- a/packages/DefaultContainerService/res/values-th/strings.xml +++ b/packages/DefaultContainerService/res/values-th/strings.xml @@ -20,5 +20,5 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="service_name" msgid="4841491635055379553">"ตัวช่วยเหลือของการเข้าถึงแพ็กเกจ"</string> + <string name="service_name" msgid="4841491635055379553">"ตัวช่วยเหลือของการเข้าถึงแพคเกจ"</string> </resources> diff --git a/packages/DocumentsUI/res/values-af/strings.xml b/packages/DocumentsUI/res/values-af/strings.xml index ca76a7d..41fd63a 100644 --- a/packages/DocumentsUI/res/values-af/strings.xml +++ b/packages/DocumentsUI/res/values-af/strings.xml @@ -29,7 +29,6 @@ <string name="menu_save" msgid="2394743337684426338">"Stoor"</string> <string name="menu_share" msgid="3075149983979628146">"Deel"</string> <string name="menu_delete" msgid="8138799623850614177">"Vee uit"</string> - <string name="menu_select" msgid="8711270657353563424">"Kies \"<xliff:g id="DIRECTORY">^1</xliff:g>\""</string> <string name="mode_selected_count" msgid="459111894725594625">"<xliff:g id="COUNT">%1$d</xliff:g> gekies"</string> <string name="sort_name" msgid="9183560467917256779">"Volgens naam"</string> <string name="sort_date" msgid="586080032956151448">"Volgens datum gewysig"</string> diff --git a/packages/DocumentsUI/res/values-am/strings.xml b/packages/DocumentsUI/res/values-am/strings.xml index 84879d5..c77a8ee 100644 --- a/packages/DocumentsUI/res/values-am/strings.xml +++ b/packages/DocumentsUI/res/values-am/strings.xml @@ -29,7 +29,6 @@ <string name="menu_save" msgid="2394743337684426338">"አስቀምጥ"</string> <string name="menu_share" msgid="3075149983979628146">"አጋራ"</string> <string name="menu_delete" msgid="8138799623850614177">"ሰርዝ"</string> - <string name="menu_select" msgid="8711270657353563424">"«<xliff:g id="DIRECTORY">^1</xliff:g>»ን ይምረጡ"</string> <string name="mode_selected_count" msgid="459111894725594625">"<xliff:g id="COUNT">%1$d</xliff:g> ተመርጠዋል"</string> <string name="sort_name" msgid="9183560467917256779">"በስም"</string> <string name="sort_date" msgid="586080032956151448">"በተለወጠበት ቀን"</string> diff --git a/packages/DocumentsUI/res/values-ar/strings.xml b/packages/DocumentsUI/res/values-ar/strings.xml index 5c5d863..c59c0ee 100644 --- a/packages/DocumentsUI/res/values-ar/strings.xml +++ b/packages/DocumentsUI/res/values-ar/strings.xml @@ -29,7 +29,6 @@ <string name="menu_save" msgid="2394743337684426338">"حفظ"</string> <string name="menu_share" msgid="3075149983979628146">"مشاركة"</string> <string name="menu_delete" msgid="8138799623850614177">"حذف"</string> - <string name="menu_select" msgid="8711270657353563424">"تحديد \"<xliff:g id="DIRECTORY">^1</xliff:g>\""</string> <string name="mode_selected_count" msgid="459111894725594625">"تم تحديد <xliff:g id="COUNT">%1$d</xliff:g>"</string> <string name="sort_name" msgid="9183560467917256779">"بحسب الاسم"</string> <string name="sort_date" msgid="586080032956151448">"بحسب تاريخ التعديل"</string> diff --git a/packages/DocumentsUI/res/values-bg/strings.xml b/packages/DocumentsUI/res/values-bg/strings.xml index d1da879..c3242b2 100644 --- a/packages/DocumentsUI/res/values-bg/strings.xml +++ b/packages/DocumentsUI/res/values-bg/strings.xml @@ -29,7 +29,6 @@ <string name="menu_save" msgid="2394743337684426338">"Запазване"</string> <string name="menu_share" msgid="3075149983979628146">"Споделяне"</string> <string name="menu_delete" msgid="8138799623850614177">"Изтриване"</string> - <string name="menu_select" msgid="8711270657353563424">"Избиране на „<xliff:g id="DIRECTORY">^1</xliff:g>“"</string> <string name="mode_selected_count" msgid="459111894725594625">"Избрахте <xliff:g id="COUNT">%1$d</xliff:g>"</string> <string name="sort_name" msgid="9183560467917256779">"По име"</string> <string name="sort_date" msgid="586080032956151448">"По дата на промяната"</string> diff --git a/packages/DocumentsUI/res/values-ca/strings.xml b/packages/DocumentsUI/res/values-ca/strings.xml index 23e7284..68c7b0e 100644 --- a/packages/DocumentsUI/res/values-ca/strings.xml +++ b/packages/DocumentsUI/res/values-ca/strings.xml @@ -29,7 +29,6 @@ <string name="menu_save" msgid="2394743337684426338">"Desa"</string> <string name="menu_share" msgid="3075149983979628146">"Comparteix"</string> <string name="menu_delete" msgid="8138799623850614177">"Suprimeix"</string> - <string name="menu_select" msgid="8711270657353563424">"Selecciona \"<xliff:g id="DIRECTORY">^1</xliff:g>\""</string> <string name="mode_selected_count" msgid="459111894725594625">"Seleccionats: <xliff:g id="COUNT">%1$d</xliff:g>"</string> <string name="sort_name" msgid="9183560467917256779">"Per nom"</string> <string name="sort_date" msgid="586080032956151448">"Per data de modificació"</string> diff --git a/packages/DocumentsUI/res/values-cs/strings.xml b/packages/DocumentsUI/res/values-cs/strings.xml index ad8897a..f089c8b 100644 --- a/packages/DocumentsUI/res/values-cs/strings.xml +++ b/packages/DocumentsUI/res/values-cs/strings.xml @@ -29,7 +29,6 @@ <string name="menu_save" msgid="2394743337684426338">"Uložit"</string> <string name="menu_share" msgid="3075149983979628146">"Sdílet"</string> <string name="menu_delete" msgid="8138799623850614177">"Smazat"</string> - <string name="menu_select" msgid="8711270657353563424">"Vyberte adresář <xliff:g id="DIRECTORY">^1</xliff:g>"</string> <string name="mode_selected_count" msgid="459111894725594625">"Vybráno: <xliff:g id="COUNT">%1$d</xliff:g>"</string> <string name="sort_name" msgid="9183560467917256779">"Podle názvu"</string> <string name="sort_date" msgid="586080032956151448">"Podle data úpravy"</string> diff --git a/packages/DocumentsUI/res/values-da/strings.xml b/packages/DocumentsUI/res/values-da/strings.xml index 7ae5d1e..816f9a7 100644 --- a/packages/DocumentsUI/res/values-da/strings.xml +++ b/packages/DocumentsUI/res/values-da/strings.xml @@ -29,7 +29,6 @@ <string name="menu_save" msgid="2394743337684426338">"Gem"</string> <string name="menu_share" msgid="3075149983979628146">"Del"</string> <string name="menu_delete" msgid="8138799623850614177">"Slet"</string> - <string name="menu_select" msgid="8711270657353563424">"Vælg \"<xliff:g id="DIRECTORY">^1</xliff:g>\""</string> <string name="mode_selected_count" msgid="459111894725594625">"<xliff:g id="COUNT">%1$d</xliff:g> er valgt"</string> <string name="sort_name" msgid="9183560467917256779">"Efter navn"</string> <string name="sort_date" msgid="586080032956151448">"Efter ændringsdato"</string> diff --git a/packages/DocumentsUI/res/values-de/strings.xml b/packages/DocumentsUI/res/values-de/strings.xml index 98c1787..3b448d9 100644 --- a/packages/DocumentsUI/res/values-de/strings.xml +++ b/packages/DocumentsUI/res/values-de/strings.xml @@ -29,7 +29,6 @@ <string name="menu_save" msgid="2394743337684426338">"Speichern"</string> <string name="menu_share" msgid="3075149983979628146">"Teilen"</string> <string name="menu_delete" msgid="8138799623850614177">"Löschen"</string> - <string name="menu_select" msgid="8711270657353563424">"\"<xliff:g id="DIRECTORY">^1</xliff:g>\" auswählen"</string> <string name="mode_selected_count" msgid="459111894725594625">"<xliff:g id="COUNT">%1$d</xliff:g> ausgewählt"</string> <string name="sort_name" msgid="9183560467917256779">"Nach Name"</string> <string name="sort_date" msgid="586080032956151448">"Nach Änderungsdatum"</string> @@ -48,7 +47,7 @@ <string name="pref_advanced_devices" msgid="903257239609301276">"Erweiterte Geräte anzeigen"</string> <string name="pref_file_size" msgid="2826879315743961459">"Dateigröße anzeigen"</string> <string name="pref_device_size" msgid="3542106883278997222">"Geräteabmessungen anzeigen"</string> - <string name="empty" msgid="7858882803708117596">"Keine Dokumente"</string> + <string name="empty" msgid="7858882803708117596">"Keine Elemente"</string> <string name="toast_no_application" msgid="1339885974067891667">"Datei kann nicht geöffnet werden."</string> <string name="toast_failed_delete" msgid="2180678019407244069">"Einige Dokumente konnten nicht gelöscht werden."</string> <string name="share_via" msgid="8966594246261344259">"Teilen über"</string> diff --git a/packages/DocumentsUI/res/values-el/strings.xml b/packages/DocumentsUI/res/values-el/strings.xml index f0f7e10..aec3318 100644 --- a/packages/DocumentsUI/res/values-el/strings.xml +++ b/packages/DocumentsUI/res/values-el/strings.xml @@ -27,9 +27,8 @@ <string name="menu_settings" msgid="6008033148948428823">"Ρυθμίσεις"</string> <string name="menu_open" msgid="432922957274920903">"Άνοιγμα"</string> <string name="menu_save" msgid="2394743337684426338">"Αποθήκευση"</string> - <string name="menu_share" msgid="3075149983979628146">"Κοινοποίηση"</string> + <string name="menu_share" msgid="3075149983979628146">"Κοινή χρήση"</string> <string name="menu_delete" msgid="8138799623850614177">"Διαγραφή"</string> - <string name="menu_select" msgid="8711270657353563424">"Επιλογή \"<xliff:g id="DIRECTORY">^1</xliff:g>\""</string> <string name="mode_selected_count" msgid="459111894725594625">"Επιλέχθηκαν <xliff:g id="COUNT">%1$d</xliff:g>"</string> <string name="sort_name" msgid="9183560467917256779">"Κατά όνομα"</string> <string name="sort_date" msgid="586080032956151448">"Κατά ημερομηνία τροποποίησης"</string> @@ -51,5 +50,5 @@ <string name="empty" msgid="7858882803708117596">"Δεν υπάρχουν στοιχεία"</string> <string name="toast_no_application" msgid="1339885974067891667">"Δεν είναι δυνατό το άνοιγμα του αρχείου"</string> <string name="toast_failed_delete" msgid="2180678019407244069">"Δεν είναι δυνατή η διαγραφή ορισμένων εγγράφων"</string> - <string name="share_via" msgid="8966594246261344259">"Κοινοποίηση μέσω"</string> + <string name="share_via" msgid="8966594246261344259">"Κοινή χρήση μέσω"</string> </resources> diff --git a/packages/DocumentsUI/res/values-en-rGB/strings.xml b/packages/DocumentsUI/res/values-en-rGB/strings.xml index d2af473..a95e7f1 100644 --- a/packages/DocumentsUI/res/values-en-rGB/strings.xml +++ b/packages/DocumentsUI/res/values-en-rGB/strings.xml @@ -29,7 +29,6 @@ <string name="menu_save" msgid="2394743337684426338">"Save"</string> <string name="menu_share" msgid="3075149983979628146">"Share"</string> <string name="menu_delete" msgid="8138799623850614177">"Delete"</string> - <string name="menu_select" msgid="8711270657353563424">"Select \"<xliff:g id="DIRECTORY">^1</xliff:g>\""</string> <string name="mode_selected_count" msgid="459111894725594625">"<xliff:g id="COUNT">%1$d</xliff:g> selected"</string> <string name="sort_name" msgid="9183560467917256779">"By name"</string> <string name="sort_date" msgid="586080032956151448">"By date modified"</string> diff --git a/packages/DocumentsUI/res/values-en-rIN/strings.xml b/packages/DocumentsUI/res/values-en-rIN/strings.xml index d2af473..a95e7f1 100644 --- a/packages/DocumentsUI/res/values-en-rIN/strings.xml +++ b/packages/DocumentsUI/res/values-en-rIN/strings.xml @@ -29,7 +29,6 @@ <string name="menu_save" msgid="2394743337684426338">"Save"</string> <string name="menu_share" msgid="3075149983979628146">"Share"</string> <string name="menu_delete" msgid="8138799623850614177">"Delete"</string> - <string name="menu_select" msgid="8711270657353563424">"Select \"<xliff:g id="DIRECTORY">^1</xliff:g>\""</string> <string name="mode_selected_count" msgid="459111894725594625">"<xliff:g id="COUNT">%1$d</xliff:g> selected"</string> <string name="sort_name" msgid="9183560467917256779">"By name"</string> <string name="sort_date" msgid="586080032956151448">"By date modified"</string> diff --git a/packages/DocumentsUI/res/values-es-rUS/strings.xml b/packages/DocumentsUI/res/values-es-rUS/strings.xml index daf18cf..4a3ff33 100644 --- a/packages/DocumentsUI/res/values-es-rUS/strings.xml +++ b/packages/DocumentsUI/res/values-es-rUS/strings.xml @@ -29,7 +29,6 @@ <string name="menu_save" msgid="2394743337684426338">"Guardar"</string> <string name="menu_share" msgid="3075149983979628146">"Compartir"</string> <string name="menu_delete" msgid="8138799623850614177">"Eliminar"</string> - <string name="menu_select" msgid="8711270657353563424">"Seleccionar \"<xliff:g id="DIRECTORY">^1</xliff:g>\""</string> <string name="mode_selected_count" msgid="459111894725594625">"<xliff:g id="COUNT">%1$d</xliff:g> seleccionado(s)"</string> <string name="sort_name" msgid="9183560467917256779">"Por nombre"</string> <string name="sort_date" msgid="586080032956151448">"Por fecha de modificación"</string> diff --git a/packages/DocumentsUI/res/values-es/strings.xml b/packages/DocumentsUI/res/values-es/strings.xml index 573ee41..1682542 100644 --- a/packages/DocumentsUI/res/values-es/strings.xml +++ b/packages/DocumentsUI/res/values-es/strings.xml @@ -29,7 +29,6 @@ <string name="menu_save" msgid="2394743337684426338">"Guardar"</string> <string name="menu_share" msgid="3075149983979628146">"Compartir"</string> <string name="menu_delete" msgid="8138799623850614177">"Eliminar"</string> - <string name="menu_select" msgid="8711270657353563424">"Selecciona \"<xliff:g id="DIRECTORY">^1</xliff:g>\""</string> <string name="mode_selected_count" msgid="459111894725594625">"Seleccionado: <xliff:g id="COUNT">%1$d</xliff:g>"</string> <string name="sort_name" msgid="9183560467917256779">"Por nombre"</string> <string name="sort_date" msgid="586080032956151448">"Por fecha de modificación"</string> diff --git a/packages/DocumentsUI/res/values-et-rEE/strings.xml b/packages/DocumentsUI/res/values-et-rEE/strings.xml index dae965a0..5412956 100644 --- a/packages/DocumentsUI/res/values-et-rEE/strings.xml +++ b/packages/DocumentsUI/res/values-et-rEE/strings.xml @@ -29,7 +29,6 @@ <string name="menu_save" msgid="2394743337684426338">"Salvesta"</string> <string name="menu_share" msgid="3075149983979628146">"Jaga"</string> <string name="menu_delete" msgid="8138799623850614177">"Kustuta"</string> - <string name="menu_select" msgid="8711270657353563424">"Kataloogi „<xliff:g id="DIRECTORY">^1</xliff:g>” valimine"</string> <string name="mode_selected_count" msgid="459111894725594625">"<xliff:g id="COUNT">%1$d</xliff:g> on valitud"</string> <string name="sort_name" msgid="9183560467917256779">"Nime järgi"</string> <string name="sort_date" msgid="586080032956151448">"Muutmiskuupäeva järgi"</string> diff --git a/packages/DocumentsUI/res/values-fa/strings.xml b/packages/DocumentsUI/res/values-fa/strings.xml index a646eda..c922b37 100644 --- a/packages/DocumentsUI/res/values-fa/strings.xml +++ b/packages/DocumentsUI/res/values-fa/strings.xml @@ -29,7 +29,6 @@ <string name="menu_save" msgid="2394743337684426338">"ذخیره"</string> <string name="menu_share" msgid="3075149983979628146">"اشتراکگذاری"</string> <string name="menu_delete" msgid="8138799623850614177">"حذف"</string> - <string name="menu_select" msgid="8711270657353563424">"انتخاب «<xliff:g id="DIRECTORY">^1</xliff:g>»"</string> <string name="mode_selected_count" msgid="459111894725594625">"<xliff:g id="COUNT">%1$d</xliff:g> انتخاب شد"</string> <string name="sort_name" msgid="9183560467917256779">"بر اساس نام"</string> <string name="sort_date" msgid="586080032956151448">"بر اساس تاریخ اصلاح"</string> diff --git a/packages/DocumentsUI/res/values-fi/strings.xml b/packages/DocumentsUI/res/values-fi/strings.xml index aa118ed..5e40ecd 100644 --- a/packages/DocumentsUI/res/values-fi/strings.xml +++ b/packages/DocumentsUI/res/values-fi/strings.xml @@ -29,7 +29,6 @@ <string name="menu_save" msgid="2394743337684426338">"Tallenna"</string> <string name="menu_share" msgid="3075149983979628146">"Jaa"</string> <string name="menu_delete" msgid="8138799623850614177">"Poista"</string> - <string name="menu_select" msgid="8711270657353563424">"Valitse <xliff:g id="DIRECTORY">^1</xliff:g>"</string> <string name="mode_selected_count" msgid="459111894725594625">"<xliff:g id="COUNT">%1$d</xliff:g> valittua"</string> <string name="sort_name" msgid="9183560467917256779">"Nimen mukaan"</string> <string name="sort_date" msgid="586080032956151448">"Muokkauspäivän mukaan"</string> diff --git a/packages/DocumentsUI/res/values-fr-rCA/strings.xml b/packages/DocumentsUI/res/values-fr-rCA/strings.xml index b370a1e..a837379 100644 --- a/packages/DocumentsUI/res/values-fr-rCA/strings.xml +++ b/packages/DocumentsUI/res/values-fr-rCA/strings.xml @@ -29,7 +29,6 @@ <string name="menu_save" msgid="2394743337684426338">"Enregistrer"</string> <string name="menu_share" msgid="3075149983979628146">"Partager"</string> <string name="menu_delete" msgid="8138799623850614177">"Supprimer"</string> - <string name="menu_select" msgid="8711270657353563424">"Sélectionner « <xliff:g id="DIRECTORY">^1</xliff:g> »"</string> <string name="mode_selected_count" msgid="459111894725594625">"<xliff:g id="COUNT">%1$d</xliff:g> sélectionné(s)"</string> <string name="sort_name" msgid="9183560467917256779">"Par nom"</string> <string name="sort_date" msgid="586080032956151448">"Par date de modification"</string> diff --git a/packages/DocumentsUI/res/values-fr/strings.xml b/packages/DocumentsUI/res/values-fr/strings.xml index 070b130..ff9aeda 100644 --- a/packages/DocumentsUI/res/values-fr/strings.xml +++ b/packages/DocumentsUI/res/values-fr/strings.xml @@ -29,7 +29,6 @@ <string name="menu_save" msgid="2394743337684426338">"Enregistrer"</string> <string name="menu_share" msgid="3075149983979628146">"Partager"</string> <string name="menu_delete" msgid="8138799623850614177">"Supprimer"</string> - <string name="menu_select" msgid="8711270657353563424">"Sélectionner \"<xliff:g id="DIRECTORY">^1</xliff:g>\""</string> <string name="mode_selected_count" msgid="459111894725594625">"<xliff:g id="COUNT">%1$d</xliff:g> élément(s) sélectionné(s)"</string> <string name="sort_name" msgid="9183560467917256779">"Par nom"</string> <string name="sort_date" msgid="586080032956151448">"Par date de modification"</string> diff --git a/packages/DocumentsUI/res/values-hi/strings.xml b/packages/DocumentsUI/res/values-hi/strings.xml index 66c707e..8d7fcba 100644 --- a/packages/DocumentsUI/res/values-hi/strings.xml +++ b/packages/DocumentsUI/res/values-hi/strings.xml @@ -29,7 +29,6 @@ <string name="menu_save" msgid="2394743337684426338">"सहेजें"</string> <string name="menu_share" msgid="3075149983979628146">"साझा करें"</string> <string name="menu_delete" msgid="8138799623850614177">"हटाएं"</string> - <string name="menu_select" msgid="8711270657353563424">"\"<xliff:g id="DIRECTORY">^1</xliff:g>\" चुनें"</string> <string name="mode_selected_count" msgid="459111894725594625">"<xliff:g id="COUNT">%1$d</xliff:g> चयनित"</string> <string name="sort_name" msgid="9183560467917256779">"नाम के अनुसार"</string> <string name="sort_date" msgid="586080032956151448">"बदलाव के दिनांक के अनुसार"</string> diff --git a/packages/DocumentsUI/res/values-hr/strings.xml b/packages/DocumentsUI/res/values-hr/strings.xml index 3438e73..73c2f04 100644 --- a/packages/DocumentsUI/res/values-hr/strings.xml +++ b/packages/DocumentsUI/res/values-hr/strings.xml @@ -29,7 +29,6 @@ <string name="menu_save" msgid="2394743337684426338">"Spremi"</string> <string name="menu_share" msgid="3075149983979628146">"Dijeli"</string> <string name="menu_delete" msgid="8138799623850614177">"Izbriši"</string> - <string name="menu_select" msgid="8711270657353563424">"Odaberi \"<xliff:g id="DIRECTORY">^1</xliff:g>\""</string> <string name="mode_selected_count" msgid="459111894725594625">"Odabrano: <xliff:g id="COUNT">%1$d</xliff:g>"</string> <string name="sort_name" msgid="9183560467917256779">"Po korisniku"</string> <string name="sort_date" msgid="586080032956151448">"Po datumu izmjene"</string> diff --git a/packages/DocumentsUI/res/values-hu/strings.xml b/packages/DocumentsUI/res/values-hu/strings.xml index 2af559b..db7854b 100644 --- a/packages/DocumentsUI/res/values-hu/strings.xml +++ b/packages/DocumentsUI/res/values-hu/strings.xml @@ -29,7 +29,6 @@ <string name="menu_save" msgid="2394743337684426338">"Mentés"</string> <string name="menu_share" msgid="3075149983979628146">"Megosztás"</string> <string name="menu_delete" msgid="8138799623850614177">"Törlés"</string> - <string name="menu_select" msgid="8711270657353563424">"A(z) „<xliff:g id="DIRECTORY">^1</xliff:g>” mappa kiválasztása"</string> <string name="mode_selected_count" msgid="459111894725594625">"<xliff:g id="COUNT">%1$d</xliff:g> kiválasztva"</string> <string name="sort_name" msgid="9183560467917256779">"Név szerint"</string> <string name="sort_date" msgid="586080032956151448">"Módosítás dátuma szerint"</string> diff --git a/packages/DocumentsUI/res/values-hy-rAM/strings.xml b/packages/DocumentsUI/res/values-hy-rAM/strings.xml index 67a1f7e..c683f3e 100644 --- a/packages/DocumentsUI/res/values-hy-rAM/strings.xml +++ b/packages/DocumentsUI/res/values-hy-rAM/strings.xml @@ -29,7 +29,6 @@ <string name="menu_save" msgid="2394743337684426338">"Պահել"</string> <string name="menu_share" msgid="3075149983979628146">"Համօգտագործել"</string> <string name="menu_delete" msgid="8138799623850614177">"Ջնջել"</string> - <string name="menu_select" msgid="8711270657353563424">"Ընտրել «<xliff:g id="DIRECTORY">^1</xliff:g>»"</string> <string name="mode_selected_count" msgid="459111894725594625">"<xliff:g id="COUNT">%1$d</xliff:g> ընտրված"</string> <string name="sort_name" msgid="9183560467917256779">"Ըստ անվան"</string> <string name="sort_date" msgid="586080032956151448">"Ըստ փոփոխման ամսաթվի"</string> diff --git a/packages/DocumentsUI/res/values-in/strings.xml b/packages/DocumentsUI/res/values-in/strings.xml index 62057c7..519b936 100644 --- a/packages/DocumentsUI/res/values-in/strings.xml +++ b/packages/DocumentsUI/res/values-in/strings.xml @@ -22,14 +22,13 @@ <string name="menu_create_dir" msgid="5947289605844398389">"Buat folder"</string> <string name="menu_grid" msgid="6878021334497835259">"Tampilan kisi"</string> <string name="menu_list" msgid="7279285939892417279">"Tampilan daftar"</string> - <string name="menu_sort" msgid="7677740407158414452">"Urutkan menurut"</string> + <string name="menu_sort" msgid="7677740407158414452">"Sortir menurut"</string> <string name="menu_search" msgid="3816712084502856974">"Telusuri"</string> <string name="menu_settings" msgid="6008033148948428823">"Setelan"</string> <string name="menu_open" msgid="432922957274920903">"Buka"</string> <string name="menu_save" msgid="2394743337684426338">"Simpan"</string> <string name="menu_share" msgid="3075149983979628146">"Bagikan"</string> <string name="menu_delete" msgid="8138799623850614177">"Hapus"</string> - <string name="menu_select" msgid="8711270657353563424">"Pilih \"<xliff:g id="DIRECTORY">^1</xliff:g>\""</string> <string name="mode_selected_count" msgid="459111894725594625">"<xliff:g id="COUNT">%1$d</xliff:g> dipilih"</string> <string name="sort_name" msgid="9183560467917256779">"Menurut nama"</string> <string name="sort_date" msgid="586080032956151448">"Menurut tanggal diubah"</string> diff --git a/packages/DocumentsUI/res/values-it/strings.xml b/packages/DocumentsUI/res/values-it/strings.xml index bec4d00..28323b6 100644 --- a/packages/DocumentsUI/res/values-it/strings.xml +++ b/packages/DocumentsUI/res/values-it/strings.xml @@ -29,7 +29,6 @@ <string name="menu_save" msgid="2394743337684426338">"Salva"</string> <string name="menu_share" msgid="3075149983979628146">"Condividi"</string> <string name="menu_delete" msgid="8138799623850614177">"Elimina"</string> - <string name="menu_select" msgid="8711270657353563424">"Seleziona \"<xliff:g id="DIRECTORY">^1</xliff:g>\""</string> <string name="mode_selected_count" msgid="459111894725594625">"<xliff:g id="COUNT">%1$d</xliff:g> selezionati"</string> <string name="sort_name" msgid="9183560467917256779">"Per nome"</string> <string name="sort_date" msgid="586080032956151448">"Per data di modifica"</string> @@ -39,7 +38,7 @@ <string name="save_error" msgid="6167009778003223664">"Impossibile salvare il documento"</string> <string name="create_error" msgid="3735649141335444215">"Impossibile creare la cartella"</string> <string name="query_error" msgid="1222448261663503501">"Impossibile chiedere documenti"</string> - <string name="root_recent" msgid="4470053704320518133">"Recenti"</string> + <string name="root_recent" msgid="4470053704320518133">"Recente"</string> <string name="root_available_bytes" msgid="8568452858617033281">"<xliff:g id="SIZE">%1$s</xliff:g> liberi"</string> <string name="root_type_service" msgid="2178854894416775409">"Servizi di archiviazione"</string> <string name="root_type_shortcut" msgid="3318760609471618093">"Scorciatoie"</string> diff --git a/packages/DocumentsUI/res/values-iw/strings.xml b/packages/DocumentsUI/res/values-iw/strings.xml index c8a3fb9..712c060 100644 --- a/packages/DocumentsUI/res/values-iw/strings.xml +++ b/packages/DocumentsUI/res/values-iw/strings.xml @@ -29,7 +29,6 @@ <string name="menu_save" msgid="2394743337684426338">"שמור"</string> <string name="menu_share" msgid="3075149983979628146">"שתף"</string> <string name="menu_delete" msgid="8138799623850614177">"מחק"</string> - <string name="menu_select" msgid="8711270657353563424">"בחר ב-\"<xliff:g id="DIRECTORY">^1</xliff:g>\""</string> <string name="mode_selected_count" msgid="459111894725594625">"<xliff:g id="COUNT">%1$d</xliff:g> נבחרו"</string> <string name="sort_name" msgid="9183560467917256779">"לפי שם"</string> <string name="sort_date" msgid="586080032956151448">"לפי תאריך שינוי"</string> diff --git a/packages/DocumentsUI/res/values-ja/strings.xml b/packages/DocumentsUI/res/values-ja/strings.xml index 1475005..996496d 100644 --- a/packages/DocumentsUI/res/values-ja/strings.xml +++ b/packages/DocumentsUI/res/values-ja/strings.xml @@ -29,7 +29,6 @@ <string name="menu_save" msgid="2394743337684426338">"保存"</string> <string name="menu_share" msgid="3075149983979628146">"共有"</string> <string name="menu_delete" msgid="8138799623850614177">"削除"</string> - <string name="menu_select" msgid="8711270657353563424">"「<xliff:g id="DIRECTORY">^1</xliff:g>」を選択"</string> <string name="mode_selected_count" msgid="459111894725594625">"<xliff:g id="COUNT">%1$d</xliff:g>件選択済み"</string> <string name="sort_name" msgid="9183560467917256779">"名前順"</string> <string name="sort_date" msgid="586080032956151448">"更新日順"</string> diff --git a/packages/DocumentsUI/res/values-ka-rGE/strings.xml b/packages/DocumentsUI/res/values-ka-rGE/strings.xml index c90768f..f3e1274 100644 --- a/packages/DocumentsUI/res/values-ka-rGE/strings.xml +++ b/packages/DocumentsUI/res/values-ka-rGE/strings.xml @@ -29,7 +29,6 @@ <string name="menu_save" msgid="2394743337684426338">"შენახვა"</string> <string name="menu_share" msgid="3075149983979628146">"გაზიარება"</string> <string name="menu_delete" msgid="8138799623850614177">"წაშლა"</string> - <string name="menu_select" msgid="8711270657353563424">"„<xliff:g id="DIRECTORY">^1</xliff:g>“-ის არჩევა"</string> <string name="mode_selected_count" msgid="459111894725594625">"<xliff:g id="COUNT">%1$d</xliff:g> მონიშნული"</string> <string name="sort_name" msgid="9183560467917256779">"სახელით"</string> <string name="sort_date" msgid="586080032956151448">"ცვლილების თარიღით"</string> diff --git a/packages/DocumentsUI/res/values-km-rKH/strings.xml b/packages/DocumentsUI/res/values-km-rKH/strings.xml index 8c9030d..e632209 100644 --- a/packages/DocumentsUI/res/values-km-rKH/strings.xml +++ b/packages/DocumentsUI/res/values-km-rKH/strings.xml @@ -29,7 +29,6 @@ <string name="menu_save" msgid="2394743337684426338">"រក្សាទុក"</string> <string name="menu_share" msgid="3075149983979628146">"ចែករំលែក"</string> <string name="menu_delete" msgid="8138799623850614177">"លុប"</string> - <string name="menu_select" msgid="8711270657353563424">"ជ្រើស \"<xliff:g id="DIRECTORY">^1</xliff:g>\""</string> <string name="mode_selected_count" msgid="459111894725594625">"បានជ្រើស <xliff:g id="COUNT">%1$d</xliff:g>"</string> <string name="sort_name" msgid="9183560467917256779">"តាមឈ្មោះ"</string> <string name="sort_date" msgid="586080032956151448">"តាមកាលបរិច្ឆេទបានកែប្រែ"</string> diff --git a/packages/DocumentsUI/res/values-ko/strings.xml b/packages/DocumentsUI/res/values-ko/strings.xml index 5996e66..2cd0d44 100644 --- a/packages/DocumentsUI/res/values-ko/strings.xml +++ b/packages/DocumentsUI/res/values-ko/strings.xml @@ -29,7 +29,6 @@ <string name="menu_save" msgid="2394743337684426338">"저장"</string> <string name="menu_share" msgid="3075149983979628146">"공유"</string> <string name="menu_delete" msgid="8138799623850614177">"삭제"</string> - <string name="menu_select" msgid="8711270657353563424">"\'<xliff:g id="DIRECTORY">^1</xliff:g>\' 선택"</string> <string name="mode_selected_count" msgid="459111894725594625">"<xliff:g id="COUNT">%1$d</xliff:g>개 선택됨"</string> <string name="sort_name" msgid="9183560467917256779">"이름순"</string> <string name="sort_date" msgid="586080032956151448">"수정된 날짜순"</string> diff --git a/packages/DocumentsUI/res/values-lo-rLA/strings.xml b/packages/DocumentsUI/res/values-lo-rLA/strings.xml index 8452ae1..9a6f32f 100644 --- a/packages/DocumentsUI/res/values-lo-rLA/strings.xml +++ b/packages/DocumentsUI/res/values-lo-rLA/strings.xml @@ -29,7 +29,6 @@ <string name="menu_save" msgid="2394743337684426338">"ບັນທຶກ"</string> <string name="menu_share" msgid="3075149983979628146">"ແບ່ງປັນ"</string> <string name="menu_delete" msgid="8138799623850614177">"ລຶບ"</string> - <string name="menu_select" msgid="8711270657353563424">"ເລືອກ \"<xliff:g id="DIRECTORY">^1</xliff:g>\""</string> <string name="mode_selected_count" msgid="459111894725594625">"ເລືອກແລ້ວ <xliff:g id="COUNT">%1$d</xliff:g> ລາຍການ"</string> <string name="sort_name" msgid="9183560467917256779">"ຕາມຊື່"</string> <string name="sort_date" msgid="586080032956151448">"ຕາມວັນທີທີ່ແກ້ໄຂ"</string> diff --git a/packages/DocumentsUI/res/values-lt/strings.xml b/packages/DocumentsUI/res/values-lt/strings.xml index 8ec3e0b..f861b99 100644 --- a/packages/DocumentsUI/res/values-lt/strings.xml +++ b/packages/DocumentsUI/res/values-lt/strings.xml @@ -29,7 +29,6 @@ <string name="menu_save" msgid="2394743337684426338">"Išsaugoti"</string> <string name="menu_share" msgid="3075149983979628146">"Bendrinti"</string> <string name="menu_delete" msgid="8138799623850614177">"Ištrinti"</string> - <string name="menu_select" msgid="8711270657353563424">"Pasirinkti katalogą „<xliff:g id="DIRECTORY">^1</xliff:g>“"</string> <string name="mode_selected_count" msgid="459111894725594625">"Pasirinkta: <xliff:g id="COUNT">%1$d</xliff:g>"</string> <string name="sort_name" msgid="9183560467917256779">"Pagal pavadinimą"</string> <string name="sort_date" msgid="586080032956151448">"Pagal keitimo datą"</string> diff --git a/packages/DocumentsUI/res/values-lv/strings.xml b/packages/DocumentsUI/res/values-lv/strings.xml index caaf8ec..651a59f 100644 --- a/packages/DocumentsUI/res/values-lv/strings.xml +++ b/packages/DocumentsUI/res/values-lv/strings.xml @@ -29,7 +29,6 @@ <string name="menu_save" msgid="2394743337684426338">"Saglabāt"</string> <string name="menu_share" msgid="3075149983979628146">"Kopīgot"</string> <string name="menu_delete" msgid="8138799623850614177">"Dzēst"</string> - <string name="menu_select" msgid="8711270657353563424">"Atlasīt “<xliff:g id="DIRECTORY">^1</xliff:g>”"</string> <string name="mode_selected_count" msgid="459111894725594625">"Atlasīts: <xliff:g id="COUNT">%1$d</xliff:g>"</string> <string name="sort_name" msgid="9183560467917256779">"Pēc nosaukuma"</string> <string name="sort_date" msgid="586080032956151448">"Pēc pārveidošanas datuma"</string> diff --git a/packages/DocumentsUI/res/values-mn-rMN/strings.xml b/packages/DocumentsUI/res/values-mn-rMN/strings.xml index 3d90cc1..22c9fcd 100644 --- a/packages/DocumentsUI/res/values-mn-rMN/strings.xml +++ b/packages/DocumentsUI/res/values-mn-rMN/strings.xml @@ -29,7 +29,6 @@ <string name="menu_save" msgid="2394743337684426338">"Хадгалах"</string> <string name="menu_share" msgid="3075149983979628146">"Хуваалцах"</string> <string name="menu_delete" msgid="8138799623850614177">"Устгах"</string> - <string name="menu_select" msgid="8711270657353563424">"\"<xliff:g id="DIRECTORY">^1</xliff:g>\"-г сонгох"</string> <string name="mode_selected_count" msgid="459111894725594625">"<xliff:g id="COUNT">%1$d</xliff:g> сонгогдсон"</string> <string name="sort_name" msgid="9183560467917256779">"Нэрээр"</string> <string name="sort_date" msgid="586080032956151448">"Өөрчлөгдсөн огноогоор"</string> diff --git a/packages/DocumentsUI/res/values-ms-rMY/strings.xml b/packages/DocumentsUI/res/values-ms-rMY/strings.xml index 9ea7119..7e09c57 100644 --- a/packages/DocumentsUI/res/values-ms-rMY/strings.xml +++ b/packages/DocumentsUI/res/values-ms-rMY/strings.xml @@ -29,7 +29,6 @@ <string name="menu_save" msgid="2394743337684426338">"Simpan"</string> <string name="menu_share" msgid="3075149983979628146">"Kongsi"</string> <string name="menu_delete" msgid="8138799623850614177">"Padam"</string> - <string name="menu_select" msgid="8711270657353563424">"Pilih \"<xliff:g id="DIRECTORY">^1</xliff:g>\""</string> <string name="mode_selected_count" msgid="459111894725594625">"<xliff:g id="COUNT">%1$d</xliff:g> dipilih"</string> <string name="sort_name" msgid="9183560467917256779">"Mengikut nama"</string> <string name="sort_date" msgid="586080032956151448">"Diubah suai mengikut tarikh"</string> diff --git a/packages/DocumentsUI/res/values-nb/strings.xml b/packages/DocumentsUI/res/values-nb/strings.xml index af7c282..8831bd8 100644 --- a/packages/DocumentsUI/res/values-nb/strings.xml +++ b/packages/DocumentsUI/res/values-nb/strings.xml @@ -29,7 +29,6 @@ <string name="menu_save" msgid="2394743337684426338">"Lagre"</string> <string name="menu_share" msgid="3075149983979628146">"Del"</string> <string name="menu_delete" msgid="8138799623850614177">"Slett"</string> - <string name="menu_select" msgid="8711270657353563424">"Velg «<xliff:g id="DIRECTORY">^1</xliff:g>»"</string> <string name="mode_selected_count" msgid="459111894725594625">"<xliff:g id="COUNT">%1$d</xliff:g> valgt"</string> <string name="sort_name" msgid="9183560467917256779">"Etter navn"</string> <string name="sort_date" msgid="586080032956151448">"«Etter dato» endret"</string> diff --git a/packages/DocumentsUI/res/values-nl/strings.xml b/packages/DocumentsUI/res/values-nl/strings.xml index a8cf114..08862e8 100644 --- a/packages/DocumentsUI/res/values-nl/strings.xml +++ b/packages/DocumentsUI/res/values-nl/strings.xml @@ -29,7 +29,6 @@ <string name="menu_save" msgid="2394743337684426338">"Opslaan"</string> <string name="menu_share" msgid="3075149983979628146">"Delen"</string> <string name="menu_delete" msgid="8138799623850614177">"Verwijderen"</string> - <string name="menu_select" msgid="8711270657353563424">"<xliff:g id="DIRECTORY">^1</xliff:g> selecteren"</string> <string name="mode_selected_count" msgid="459111894725594625">"<xliff:g id="COUNT">%1$d</xliff:g> geselecteerd"</string> <string name="sort_name" msgid="9183560467917256779">"Op naam"</string> <string name="sort_date" msgid="586080032956151448">"Op aanpassingsdatum"</string> diff --git a/packages/DocumentsUI/res/values-pl/strings.xml b/packages/DocumentsUI/res/values-pl/strings.xml index ead40e9..f4e5582 100644 --- a/packages/DocumentsUI/res/values-pl/strings.xml +++ b/packages/DocumentsUI/res/values-pl/strings.xml @@ -29,7 +29,6 @@ <string name="menu_save" msgid="2394743337684426338">"Zapisz"</string> <string name="menu_share" msgid="3075149983979628146">"Udostępnij"</string> <string name="menu_delete" msgid="8138799623850614177">"Usuń"</string> - <string name="menu_select" msgid="8711270657353563424">"Zaznacz „<xliff:g id="DIRECTORY">^1</xliff:g>”"</string> <string name="mode_selected_count" msgid="459111894725594625">"Wybrano: <xliff:g id="COUNT">%1$d</xliff:g>"</string> <string name="sort_name" msgid="9183560467917256779">"Według nazwy"</string> <string name="sort_date" msgid="586080032956151448">"Według daty edycji"</string> @@ -45,8 +44,8 @@ <string name="root_type_shortcut" msgid="3318760609471618093">"Skróty"</string> <string name="root_type_device" msgid="7121342474653483538">"Urządzenia"</string> <string name="root_type_apps" msgid="8838065367985945189">"Więcej aplikacji"</string> - <string name="pref_advanced_devices" msgid="903257239609301276">"Pokaż urządzenia zaawansowane"</string> - <string name="pref_file_size" msgid="2826879315743961459">"Pokaż rozmiar pliku"</string> + <string name="pref_advanced_devices" msgid="903257239609301276">"Wyświetl urządzenia zaawansowane"</string> + <string name="pref_file_size" msgid="2826879315743961459">"Wyświetl rozmiar pliku"</string> <string name="pref_device_size" msgid="3542106883278997222">"Wyświetl rozmiar urządzenia"</string> <string name="empty" msgid="7858882803708117596">"Brak elementów"</string> <string name="toast_no_application" msgid="1339885974067891667">"Nie można otworzyć pliku"</string> diff --git a/packages/DocumentsUI/res/values-pt-rPT/strings.xml b/packages/DocumentsUI/res/values-pt-rPT/strings.xml index 0003c05..1c1ba8b 100644 --- a/packages/DocumentsUI/res/values-pt-rPT/strings.xml +++ b/packages/DocumentsUI/res/values-pt-rPT/strings.xml @@ -29,7 +29,6 @@ <string name="menu_save" msgid="2394743337684426338">"Guardar"</string> <string name="menu_share" msgid="3075149983979628146">"Partilhar"</string> <string name="menu_delete" msgid="8138799623850614177">"Eliminar"</string> - <string name="menu_select" msgid="8711270657353563424">"Selecionar \"<xliff:g id="DIRECTORY">^1</xliff:g>\""</string> <string name="mode_selected_count" msgid="459111894725594625">"<xliff:g id="COUNT">%1$d</xliff:g> selecionado(s)"</string> <string name="sort_name" msgid="9183560467917256779">"Por nome"</string> <string name="sort_date" msgid="586080032956151448">"Por data de modificação"</string> @@ -45,7 +44,7 @@ <string name="root_type_shortcut" msgid="3318760609471618093">"Atalhos"</string> <string name="root_type_device" msgid="7121342474653483538">"Dispositivos"</string> <string name="root_type_apps" msgid="8838065367985945189">"Mais aplicações"</string> - <string name="pref_advanced_devices" msgid="903257239609301276">"Ver dispositivos avançados"</string> + <string name="pref_advanced_devices" msgid="903257239609301276">"Apresentar dispositivos avançados"</string> <string name="pref_file_size" msgid="2826879315743961459">"Apresentar tamanho do ficheiro"</string> <string name="pref_device_size" msgid="3542106883278997222">"Apresentar tamanho do dispositivo"</string> <string name="empty" msgid="7858882803708117596">"Sem itens"</string> diff --git a/packages/DocumentsUI/res/values-pt/strings.xml b/packages/DocumentsUI/res/values-pt/strings.xml index 4a5c72a..78fcaf8 100644 --- a/packages/DocumentsUI/res/values-pt/strings.xml +++ b/packages/DocumentsUI/res/values-pt/strings.xml @@ -29,7 +29,6 @@ <string name="menu_save" msgid="2394743337684426338">"Salvar"</string> <string name="menu_share" msgid="3075149983979628146">"Compartilhar"</string> <string name="menu_delete" msgid="8138799623850614177">"Excluir"</string> - <string name="menu_select" msgid="8711270657353563424">"Selecionar \"<xliff:g id="DIRECTORY">^1</xliff:g>\""</string> <string name="mode_selected_count" msgid="459111894725594625">"<xliff:g id="COUNT">%1$d</xliff:g> selecionados"</string> <string name="sort_name" msgid="9183560467917256779">"Por nome"</string> <string name="sort_date" msgid="586080032956151448">"Por data de modificação"</string> diff --git a/packages/DocumentsUI/res/values-ro/strings.xml b/packages/DocumentsUI/res/values-ro/strings.xml index 0dfa11d4..5fd44c8 100644 --- a/packages/DocumentsUI/res/values-ro/strings.xml +++ b/packages/DocumentsUI/res/values-ro/strings.xml @@ -29,7 +29,6 @@ <string name="menu_save" msgid="2394743337684426338">"Salvați"</string> <string name="menu_share" msgid="3075149983979628146">"Distribuiți"</string> <string name="menu_delete" msgid="8138799623850614177">"Ștergeți"</string> - <string name="menu_select" msgid="8711270657353563424">"Selectați „<xliff:g id="DIRECTORY">^1</xliff:g>”"</string> <string name="mode_selected_count" msgid="459111894725594625">"<xliff:g id="COUNT">%1$d</xliff:g> selectate"</string> <string name="sort_name" msgid="9183560467917256779">"După nume"</string> <string name="sort_date" msgid="586080032956151448">"După data modificării"</string> diff --git a/packages/DocumentsUI/res/values-ru/strings.xml b/packages/DocumentsUI/res/values-ru/strings.xml index f86a4af..85fd70e 100644 --- a/packages/DocumentsUI/res/values-ru/strings.xml +++ b/packages/DocumentsUI/res/values-ru/strings.xml @@ -29,7 +29,6 @@ <string name="menu_save" msgid="2394743337684426338">"Сохранить"</string> <string name="menu_share" msgid="3075149983979628146">"Поделиться"</string> <string name="menu_delete" msgid="8138799623850614177">"Удалить"</string> - <string name="menu_select" msgid="8711270657353563424">"Выбрать папку \"<xliff:g id="DIRECTORY">^1</xliff:g>\""</string> <string name="mode_selected_count" msgid="459111894725594625">"Выбрано: <xliff:g id="COUNT">%1$d</xliff:g>"</string> <string name="sort_name" msgid="9183560467917256779">"По названию"</string> <string name="sort_date" msgid="586080032956151448">"По дате изменения"</string> diff --git a/packages/DocumentsUI/res/values-sk/strings.xml b/packages/DocumentsUI/res/values-sk/strings.xml index 5d03df6..2a96b1a 100644 --- a/packages/DocumentsUI/res/values-sk/strings.xml +++ b/packages/DocumentsUI/res/values-sk/strings.xml @@ -29,7 +29,6 @@ <string name="menu_save" msgid="2394743337684426338">"Uložiť"</string> <string name="menu_share" msgid="3075149983979628146">"Zdieľať"</string> <string name="menu_delete" msgid="8138799623850614177">"Odstrániť"</string> - <string name="menu_select" msgid="8711270657353563424">"Vyberte adresár <xliff:g id="DIRECTORY">^1</xliff:g>"</string> <string name="mode_selected_count" msgid="459111894725594625">"Vybraté: <xliff:g id="COUNT">%1$d</xliff:g>"</string> <string name="sort_name" msgid="9183560467917256779">"Podľa názvu"</string> <string name="sort_date" msgid="586080032956151448">"Podľa dátumu zmeny"</string> @@ -45,7 +44,7 @@ <string name="root_type_shortcut" msgid="3318760609471618093">"Skratky"</string> <string name="root_type_device" msgid="7121342474653483538">"Zariadenia"</string> <string name="root_type_apps" msgid="8838065367985945189">"Ďalšie aplikácie"</string> - <string name="pref_advanced_devices" msgid="903257239609301276">"Zobraziť pokročilé zariadenia"</string> + <string name="pref_advanced_devices" msgid="903257239609301276">"Zobraziť rozšírené zariadenia"</string> <string name="pref_file_size" msgid="2826879315743961459">"Zobraziť veľkosť súboru"</string> <string name="pref_device_size" msgid="3542106883278997222">"Zobraziť veľkosť zariadenia"</string> <string name="empty" msgid="7858882803708117596">"Žiadne položky"</string> diff --git a/packages/DocumentsUI/res/values-sl/strings.xml b/packages/DocumentsUI/res/values-sl/strings.xml index b3e52dd..f984a0a 100644 --- a/packages/DocumentsUI/res/values-sl/strings.xml +++ b/packages/DocumentsUI/res/values-sl/strings.xml @@ -29,7 +29,6 @@ <string name="menu_save" msgid="2394743337684426338">"Shrani"</string> <string name="menu_share" msgid="3075149983979628146">"Skupna raba"</string> <string name="menu_delete" msgid="8138799623850614177">"Izbriši"</string> - <string name="menu_select" msgid="8711270657353563424">"Izbira mape »<xliff:g id="DIRECTORY">^1</xliff:g>«"</string> <string name="mode_selected_count" msgid="459111894725594625">"Št. izbranih: <xliff:g id="COUNT">%1$d</xliff:g>"</string> <string name="sort_name" msgid="9183560467917256779">"Po imenu"</string> <string name="sort_date" msgid="586080032956151448">"Po datumu spremembe"</string> diff --git a/packages/DocumentsUI/res/values-sr/strings.xml b/packages/DocumentsUI/res/values-sr/strings.xml index 892dbce..eb0b197 100644 --- a/packages/DocumentsUI/res/values-sr/strings.xml +++ b/packages/DocumentsUI/res/values-sr/strings.xml @@ -29,7 +29,6 @@ <string name="menu_save" msgid="2394743337684426338">"Сачувај"</string> <string name="menu_share" msgid="3075149983979628146">"Дели"</string> <string name="menu_delete" msgid="8138799623850614177">"Избриши"</string> - <string name="menu_select" msgid="8711270657353563424">"Изабери „<xliff:g id="DIRECTORY">^1</xliff:g>“"</string> <string name="mode_selected_count" msgid="459111894725594625">"Изабрано је <xliff:g id="COUNT">%1$d</xliff:g>"</string> <string name="sort_name" msgid="9183560467917256779">"Према имену"</string> <string name="sort_date" msgid="586080032956151448">"Према датуму измене"</string> diff --git a/packages/DocumentsUI/res/values-sv/strings.xml b/packages/DocumentsUI/res/values-sv/strings.xml index fd6457d..7aa5c50 100644 --- a/packages/DocumentsUI/res/values-sv/strings.xml +++ b/packages/DocumentsUI/res/values-sv/strings.xml @@ -29,7 +29,6 @@ <string name="menu_save" msgid="2394743337684426338">"Spara"</string> <string name="menu_share" msgid="3075149983979628146">"Dela"</string> <string name="menu_delete" msgid="8138799623850614177">"Ta bort"</string> - <string name="menu_select" msgid="8711270657353563424">"Välj <xliff:g id="DIRECTORY">^1</xliff:g>"</string> <string name="mode_selected_count" msgid="459111894725594625">"Har valt <xliff:g id="COUNT">%1$d</xliff:g>"</string> <string name="sort_name" msgid="9183560467917256779">"Efter namn"</string> <string name="sort_date" msgid="586080032956151448">"Efter ändringsdatum"</string> diff --git a/packages/DocumentsUI/res/values-sw/strings.xml b/packages/DocumentsUI/res/values-sw/strings.xml index 0948c71..299fda7 100644 --- a/packages/DocumentsUI/res/values-sw/strings.xml +++ b/packages/DocumentsUI/res/values-sw/strings.xml @@ -29,7 +29,6 @@ <string name="menu_save" msgid="2394743337684426338">"Hifadhi"</string> <string name="menu_share" msgid="3075149983979628146">"Shiriki"</string> <string name="menu_delete" msgid="8138799623850614177">"Futa"</string> - <string name="menu_select" msgid="8711270657353563424">"Chagua \" <xliff:g id="DIRECTORY">^1</xliff:g> \""</string> <string name="mode_selected_count" msgid="459111894725594625">"<xliff:g id="COUNT">%1$d</xliff:g> zimechaguliwa"</string> <string name="sort_name" msgid="9183560467917256779">"Kwa jina"</string> <string name="sort_date" msgid="586080032956151448">"Kwa tarehe viliporekebishwa"</string> diff --git a/packages/DocumentsUI/res/values-th/strings.xml b/packages/DocumentsUI/res/values-th/strings.xml index 4bf3e4f..6ac8810 100644 --- a/packages/DocumentsUI/res/values-th/strings.xml +++ b/packages/DocumentsUI/res/values-th/strings.xml @@ -29,7 +29,6 @@ <string name="menu_save" msgid="2394743337684426338">"บันทึก"</string> <string name="menu_share" msgid="3075149983979628146">"แชร์"</string> <string name="menu_delete" msgid="8138799623850614177">"ลบ"</string> - <string name="menu_select" msgid="8711270657353563424">"เลือก \"<xliff:g id="DIRECTORY">^1</xliff:g>\""</string> <string name="mode_selected_count" msgid="459111894725594625">"เลือกไว้ <xliff:g id="COUNT">%1$d</xliff:g>"</string> <string name="sort_name" msgid="9183560467917256779">"ตามชื่อ"</string> <string name="sort_date" msgid="586080032956151448">"ตามวันที่ที่ปรับเปลี่ยน"</string> diff --git a/packages/DocumentsUI/res/values-tl/strings.xml b/packages/DocumentsUI/res/values-tl/strings.xml index 8ef8aa5..e0fd8c8 100644 --- a/packages/DocumentsUI/res/values-tl/strings.xml +++ b/packages/DocumentsUI/res/values-tl/strings.xml @@ -29,7 +29,6 @@ <string name="menu_save" msgid="2394743337684426338">"I-save"</string> <string name="menu_share" msgid="3075149983979628146">"Ibahagi"</string> <string name="menu_delete" msgid="8138799623850614177">"Tanggalin"</string> - <string name="menu_select" msgid="8711270657353563424">"Piliin ang \"<xliff:g id="DIRECTORY">^1</xliff:g>\""</string> <string name="mode_selected_count" msgid="459111894725594625">"<xliff:g id="COUNT">%1$d</xliff:g> ang pinili"</string> <string name="sort_name" msgid="9183560467917256779">"Ayon sa pangalan"</string> <string name="sort_date" msgid="586080032956151448">"Ayon sa petsa ng pagbago"</string> diff --git a/packages/DocumentsUI/res/values-tr/strings.xml b/packages/DocumentsUI/res/values-tr/strings.xml index 93586d0..699a5cd 100644 --- a/packages/DocumentsUI/res/values-tr/strings.xml +++ b/packages/DocumentsUI/res/values-tr/strings.xml @@ -29,7 +29,6 @@ <string name="menu_save" msgid="2394743337684426338">"Kaydet"</string> <string name="menu_share" msgid="3075149983979628146">"Paylaş"</string> <string name="menu_delete" msgid="8138799623850614177">"Sil"</string> - <string name="menu_select" msgid="8711270657353563424">"\"<xliff:g id="DIRECTORY">^1</xliff:g>\" dizinini seç"</string> <string name="mode_selected_count" msgid="459111894725594625">"<xliff:g id="COUNT">%1$d</xliff:g> tane seçildi"</string> <string name="sort_name" msgid="9183560467917256779">"Ada göre"</string> <string name="sort_date" msgid="586080032956151448">"Değişiklik tarihine göre"</string> diff --git a/packages/DocumentsUI/res/values-uk/strings.xml b/packages/DocumentsUI/res/values-uk/strings.xml index 8f8865b..f87b6a2 100644 --- a/packages/DocumentsUI/res/values-uk/strings.xml +++ b/packages/DocumentsUI/res/values-uk/strings.xml @@ -29,7 +29,6 @@ <string name="menu_save" msgid="2394743337684426338">"Зберегти"</string> <string name="menu_share" msgid="3075149983979628146">"Поділитися"</string> <string name="menu_delete" msgid="8138799623850614177">"Видалити"</string> - <string name="menu_select" msgid="8711270657353563424">"Вибрати каталог \"<xliff:g id="DIRECTORY">^1</xliff:g>\""</string> <string name="mode_selected_count" msgid="459111894725594625">"Вибрано <xliff:g id="COUNT">%1$d</xliff:g>"</string> <string name="sort_name" msgid="9183560467917256779">"За назвою"</string> <string name="sort_date" msgid="586080032956151448">"За датою змінення"</string> diff --git a/packages/DocumentsUI/res/values-vi/strings.xml b/packages/DocumentsUI/res/values-vi/strings.xml index 8b8ff1f..41e29fa 100644 --- a/packages/DocumentsUI/res/values-vi/strings.xml +++ b/packages/DocumentsUI/res/values-vi/strings.xml @@ -29,7 +29,6 @@ <string name="menu_save" msgid="2394743337684426338">"Lưu"</string> <string name="menu_share" msgid="3075149983979628146">"Chia sẻ"</string> <string name="menu_delete" msgid="8138799623850614177">"Xóa"</string> - <string name="menu_select" msgid="8711270657353563424">"Chọn \"<xliff:g id="DIRECTORY">^1</xliff:g>\""</string> <string name="mode_selected_count" msgid="459111894725594625">"Đã chọn <xliff:g id="COUNT">%1$d</xliff:g>"</string> <string name="sort_name" msgid="9183560467917256779">"Theo tên"</string> <string name="sort_date" msgid="586080032956151448">"Theo ngày sửa đổi"</string> diff --git a/packages/DocumentsUI/res/values-zh-rCN/strings.xml b/packages/DocumentsUI/res/values-zh-rCN/strings.xml index 68ab5f8..742cda7 100644 --- a/packages/DocumentsUI/res/values-zh-rCN/strings.xml +++ b/packages/DocumentsUI/res/values-zh-rCN/strings.xml @@ -29,7 +29,6 @@ <string name="menu_save" msgid="2394743337684426338">"保存"</string> <string name="menu_share" msgid="3075149983979628146">"分享"</string> <string name="menu_delete" msgid="8138799623850614177">"删除"</string> - <string name="menu_select" msgid="8711270657353563424">"选择“<xliff:g id="DIRECTORY">^1</xliff:g>”"</string> <string name="mode_selected_count" msgid="459111894725594625">"已选择<xliff:g id="COUNT">%1$d</xliff:g>项"</string> <string name="sort_name" msgid="9183560467917256779">"按名称"</string> <string name="sort_date" msgid="586080032956151448">"按修改日期"</string> diff --git a/packages/DocumentsUI/res/values-zh-rHK/strings.xml b/packages/DocumentsUI/res/values-zh-rHK/strings.xml index afd8b63..67ed587 100644 --- a/packages/DocumentsUI/res/values-zh-rHK/strings.xml +++ b/packages/DocumentsUI/res/values-zh-rHK/strings.xml @@ -29,7 +29,6 @@ <string name="menu_save" msgid="2394743337684426338">"儲存"</string> <string name="menu_share" msgid="3075149983979628146">"分享"</string> <string name="menu_delete" msgid="8138799623850614177">"刪除"</string> - <string name="menu_select" msgid="8711270657353563424">"選取「<xliff:g id="DIRECTORY">^1</xliff:g>」"</string> <string name="mode_selected_count" msgid="459111894725594625">"已選取 <xliff:g id="COUNT">%1$d</xliff:g> 個"</string> <string name="sort_name" msgid="9183560467917256779">"按名稱"</string> <string name="sort_date" msgid="586080032956151448">"按修改日期"</string> diff --git a/packages/DocumentsUI/res/values-zh-rTW/strings.xml b/packages/DocumentsUI/res/values-zh-rTW/strings.xml index 2e77f21..269583a 100644 --- a/packages/DocumentsUI/res/values-zh-rTW/strings.xml +++ b/packages/DocumentsUI/res/values-zh-rTW/strings.xml @@ -17,7 +17,7 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="app_label" msgid="2783841764617238354">"文件"</string> - <string name="title_open" msgid="4353228937663917801">"開啟檔案"</string> + <string name="title_open" msgid="4353228937663917801">"開啟工具"</string> <string name="title_save" msgid="2433679664882857999">"儲存至"</string> <string name="menu_create_dir" msgid="5947289605844398389">"建立資料夾"</string> <string name="menu_grid" msgid="6878021334497835259">"格狀檢視"</string> @@ -29,7 +29,6 @@ <string name="menu_save" msgid="2394743337684426338">"儲存"</string> <string name="menu_share" msgid="3075149983979628146">"共用"</string> <string name="menu_delete" msgid="8138799623850614177">"刪除"</string> - <string name="menu_select" msgid="8711270657353563424">"選取「<xliff:g id="DIRECTORY">^1</xliff:g>」"</string> <string name="mode_selected_count" msgid="459111894725594625">"已選取 <xliff:g id="COUNT">%1$d</xliff:g> 個項目"</string> <string name="sort_name" msgid="9183560467917256779">"依名稱"</string> <string name="sort_date" msgid="586080032956151448">"依修改日期"</string> @@ -39,7 +38,7 @@ <string name="save_error" msgid="6167009778003223664">"無法儲存文件"</string> <string name="create_error" msgid="3735649141335444215">"無法建立資料夾"</string> <string name="query_error" msgid="1222448261663503501">"無法查詢文件"</string> - <string name="root_recent" msgid="4470053704320518133">"最近存取過"</string> + <string name="root_recent" msgid="4470053704320518133">"最近使用過的項目"</string> <string name="root_available_bytes" msgid="8568452858617033281">"可用空間:<xliff:g id="SIZE">%1$s</xliff:g>"</string> <string name="root_type_service" msgid="2178854894416775409">"儲存空間服務"</string> <string name="root_type_shortcut" msgid="3318760609471618093">"捷徑"</string> @@ -48,7 +47,7 @@ <string name="pref_advanced_devices" msgid="903257239609301276">"顯示進階裝置"</string> <string name="pref_file_size" msgid="2826879315743961459">"顯示檔案大小"</string> <string name="pref_device_size" msgid="3542106883278997222">"顯示裝置大小"</string> - <string name="empty" msgid="7858882803708117596">"沒有任何項目"</string> + <string name="empty" msgid="7858882803708117596">"沒有項目"</string> <string name="toast_no_application" msgid="1339885974067891667">"無法開啟檔案"</string> <string name="toast_failed_delete" msgid="2180678019407244069">"無法刪除部分文件"</string> <string name="share_via" msgid="8966594246261344259">"分享方式:"</string> diff --git a/packages/DocumentsUI/res/values-zu/strings.xml b/packages/DocumentsUI/res/values-zu/strings.xml index 55e2c75..bedd2cd 100644 --- a/packages/DocumentsUI/res/values-zu/strings.xml +++ b/packages/DocumentsUI/res/values-zu/strings.xml @@ -29,7 +29,6 @@ <string name="menu_save" msgid="2394743337684426338">"Londoloza"</string> <string name="menu_share" msgid="3075149983979628146">"Yabelana"</string> <string name="menu_delete" msgid="8138799623850614177">"Susa"</string> - <string name="menu_select" msgid="8711270657353563424">"Khetha i-\"<xliff:g id="DIRECTORY">^1</xliff:g>\""</string> <string name="mode_selected_count" msgid="459111894725594625">"<xliff:g id="COUNT">%1$d</xliff:g> okukhethiwe"</string> <string name="sort_name" msgid="9183560467917256779">"Ngegama"</string> <string name="sort_date" msgid="586080032956151448">"Ngedethi yokuguqula"</string> diff --git a/packages/ExternalStorageProvider/res/values-sk/strings.xml b/packages/ExternalStorageProvider/res/values-sk/strings.xml index 9be7b79..fd424c8 100644 --- a/packages/ExternalStorageProvider/res/values-sk/strings.xml +++ b/packages/ExternalStorageProvider/res/values-sk/strings.xml @@ -17,6 +17,6 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="app_label" msgid="7123375275748530234">"Externý ukladací priestor"</string> - <string name="root_internal_storage" msgid="827844243068584127">"Interné úložisko"</string> + <string name="root_internal_storage" msgid="827844243068584127">"Interný ukladací priestor"</string> <string name="root_documents" msgid="4051252304075469250">"Dokumenty"</string> </resources> diff --git a/packages/FusedLocation/res/values-fr-rCA/strings.xml b/packages/FusedLocation/res/values-fr-rCA/strings.xml index c7d33af..0d2cccc 100644 --- a/packages/FusedLocation/res/values-fr-rCA/strings.xml +++ b/packages/FusedLocation/res/values-fr-rCA/strings.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_label" msgid="5379477904423203699">"Tables de fusion"</string> + <string name="app_label" msgid="5379477904423203699">"Fused Location"</string> </resources> diff --git a/packages/InputDevices/res/raw/keyboard_layout_danish.kcm b/packages/InputDevices/res/raw/keyboard_layout_danish.kcm index 9386a45..9168d12 100644 --- a/packages/InputDevices/res/raw/keyboard_layout_danish.kcm +++ b/packages/InputDevices/res/raw/keyboard_layout_danish.kcm @@ -13,13 +13,11 @@ # limitations under the License. # -# Danish keyboard layout. +# Danish (EU based + Sami) keyboard layout. # type OVERLAY -map key 12 SLASH -map key 53 MINUS map key 86 PLUS ### ROW 1 @@ -61,6 +59,7 @@ key 5 { label: '5' base: '5' shift: '%' + ralt: '\u20ac' } key 6 { @@ -97,7 +96,7 @@ key 0 { ralt: '}' } -key SLASH { +key MINUS { label: '+' base: '+' shift: '?' @@ -116,6 +115,8 @@ key Q { label: 'Q' base: 'q' shift, capslock: 'Q' + ralt: '\u00e2' + ralt+capslock, shift+ralt: '\u00c2' } key W { @@ -129,6 +130,7 @@ key E { base: 'e' shift, capslock: 'E' ralt: '\u20ac' + ralt+capslock: '\u20ac' } key R { @@ -141,6 +143,8 @@ key T { label: 'T' base: 't' shift, capslock: 'T' + ralt: '\u0167' + ralt+capslock, shift+ralt: '\u0166' } key Y { @@ -159,12 +163,16 @@ key I { label: 'I' base: 'i' shift, capslock: 'I' + ralt: '\u00ef' + ralt+capslock, shift+ralt: '\u00cf' } key O { label: 'O' base: 'o' shift, capslock: 'O' + ralt: '\u00f5' + ralt+capslock, shift+ralt: '\u00d5' } key P { @@ -192,36 +200,48 @@ key A { label: 'A' base: 'a' shift, capslock: 'A' + ralt: '\u00e1' + ralt+capslock, shift+ralt: '\u00c1' } key S { label: 'S' base: 's' shift, capslock: 'S' + ralt: '\u0161' + ralt+capslock, shift+ralt: '\u0160' } key D { label: 'D' base: 'd' shift, capslock: 'D' + ralt: '\u0111' + ralt+capslock, shift+ralt: '\u0110' } key F { label: 'F' base: 'f' shift, capslock: 'F' + ralt: '\u01e5' + ralt+capslock, shift+ralt: '\u01e4' } key G { label: 'G' base: 'g' shift, capslock: 'G' + ralt: '\u01e7' + ralt+capslock, shift+ralt: '\u01e6' } key H { label: 'H' base: 'h' shift, capslock: 'H' + ralt: '\u021f' + ralt+capslock, shift+ralt: '\u021e' } key J { @@ -234,6 +254,8 @@ key K { label: 'K' base: 'k' shift, capslock: 'K' + ralt: '\u01e9' + ralt+capslock, shift+ralt: '\u01e8' } key L { @@ -246,12 +268,16 @@ key SEMICOLON { label: '\u00c6' base: '\u00e6' shift, capslock: '\u00c6' + ralt: '\u00e4' + ralt+capslock, shift+ralt: '\u00c4' } key APOSTROPHE { label: '\u00d8' base: '\u00f8' shift, capslock: '\u00d8' + ralt: '\u00f6' + ralt+capslock, shift+ralt: '\u00d6' } key BACKSLASH { @@ -273,6 +299,8 @@ key Z { label: 'Z' base: 'z' shift, capslock: 'Z' + ralt: '\u017e' + ralt+capslock, shift+ralt: '\u017d' } key X { @@ -285,31 +313,39 @@ key C { label: 'C' base: 'c' shift, capslock: 'C' + ralt: '\u010d' + ralt+capslock, shift+ralt: '\u010c' } key V { label: 'V' base: 'v' shift, capslock: 'V' + ralt: '\u01ef' + ralt+capslock, shift+ralt: '\u01ee' } key B { label: 'B' base: 'b' shift, capslock: 'B' + ralt: '\u0292' + ralt+capslock, shift+ralt: '\u01b7' } key N { label: 'N' base: 'n' shift, capslock: 'N' + ralt: '\u014b' + ralt+capslock, shift+ralt: '\u014a' } key M { label: 'M' base: 'm' shift, capslock: 'M' - ralt: '\u00b5' + ralt, ralt+capslock: '\u00b5' } key COMMA { @@ -324,7 +360,7 @@ key PERIOD { shift: ':' } -key MINUS { +key SLASH { label: '-' base: '-' shift: '_' diff --git a/packages/InputDevices/res/raw/keyboard_layout_finnish.kcm b/packages/InputDevices/res/raw/keyboard_layout_finnish.kcm index c6e5ac4..b4deed4 100644 --- a/packages/InputDevices/res/raw/keyboard_layout_finnish.kcm +++ b/packages/InputDevices/res/raw/keyboard_layout_finnish.kcm @@ -13,13 +13,11 @@ # limitations under the License. # -# Finnish multilingual keyboard layout. +# Finnish (& Swedish)(EU based + Sami) keyboard layout. # type OVERLAY -map key 12 SLASH -map key 53 MINUS map key 86 PLUS ### ROW 1 @@ -28,14 +26,12 @@ key GRAVE { label: '\u00a7' base: '\u00a7' shift: '\u00bd' - ralt: '\u0335' } key 1 { label: '1' base: '1' shift: '!' - ralt+shift: '\u00a1' } key 2 { @@ -43,7 +39,6 @@ key 2 { base: '2' shift: '"' ralt: '@' - ralt+shift: '\u201d' } key 3 { @@ -51,7 +46,6 @@ key 3 { base: '3' shift: '#' ralt: '\u00a3' - ralt+shift: '\u00bb' } key 4 { @@ -59,23 +53,19 @@ key 4 { base: '4' shift: '\u00a4' ralt: '$' - ralt+shift: '\u00ab' } key 5 { label: '5' base: '5' shift: '%' - ralt: '\u2030' - ralt+shift: '\u201c' + ralt: '\u20ac' } key 6 { label: '6' base: '6' shift: '&' - ralt: '\u201a' - ralt+shift: '\u201e' } key 7 { @@ -104,23 +94,19 @@ key 0 { base: '0' shift: '=' ralt: '}' - ralt+shift: '\u00b0' } -key SLASH { +key MINUS { label: '+' base: '+' shift: '?' ralt: '\\' - ralt+shift: '\u00bf' } key EQUALS { label: '\u00b4' base: '\u0301' shift: '\u0300' - ralt: '\u0327' - ralt+shift: '\u0328' } ### ROW 2 @@ -129,6 +115,8 @@ key Q { label: 'Q' base: 'q' shift, capslock: 'Q' + ralt: '\u00e2' + ralt+capslock, shift+ralt: '\u00c2' } key W { @@ -142,6 +130,7 @@ key E { base: 'e' shift, capslock: 'E' ralt: '\u20ac' + ralt+capslock: '\u20ac' } key R { @@ -154,8 +143,8 @@ key T { label: 'T' base: 't' shift, capslock: 'T' - ralt: '\u00fe' - ralt+shift, ralt+capslock: '\u00de' + ralt: '\u0167' + ralt+capslock, shift+ralt: '\u0166' } key Y { @@ -174,31 +163,28 @@ key I { label: 'I' base: 'i' shift, capslock: 'I' - ralt: '\u0131' + ralt: '\u00ef' + ralt+capslock, shift+ralt: '\u00cf' } key O { label: 'O' base: 'o' shift, capslock: 'O' - ralt: '\u0153' - ralt+shift, ralt+capslock: '\u0152' + ralt: '\u00f5' + ralt+capslock, shift+ralt: '\u00d5' } key P { label: 'P' base: 'p' shift, capslock: 'P' - ralt: '\u031b' - ralt+shift: '\u0309' } key LEFT_BRACKET { label: '\u00c5' base: '\u00e5' shift, capslock: '\u00c5' - ralt: '\u030b' - ralt+shift: '\u030a' } key RIGHT_BRACKET { @@ -206,7 +192,6 @@ key RIGHT_BRACKET { base: '\u0308' shift: '\u0302' ralt: '\u0303' - ralt+shift: '\u0304' } ### ROW 3 @@ -215,41 +200,48 @@ key A { label: 'A' base: 'a' shift, capslock: 'A' - ralt: '\u0259' - ralt+shift, ralt+capslock: '\u018f' + ralt: '\u00e1' + ralt+capslock, shift+ralt: '\u00c1' } key S { label: 'S' base: 's' shift, capslock: 'S' - ralt: '\u00df' + ralt: '\u0161' + ralt+capslock, shift+ralt: '\u0160' } key D { label: 'D' base: 'd' shift, capslock: 'D' - ralt: '\u00f0' - ralt+shift, ralt+capslock: '\u00d0' + ralt: '\u0111' + ralt+capslock, shift+ralt: '\u0110' } key F { label: 'F' base: 'f' shift, capslock: 'F' + ralt: '\u01e5' + ralt+capslock, shift+ralt: '\u01e4' } key G { label: 'G' base: 'g' shift, capslock: 'G' + ralt: '\u01e7' + ralt+capslock, shift+ralt: '\u01e6' } key H { label: 'H' base: 'h' shift, capslock: 'H' + ralt: '\u021f' + ralt+capslock, shift+ralt: '\u021e' } key J { @@ -262,14 +254,14 @@ key K { label: 'K' base: 'k' shift, capslock: 'K' - ralt: '\u0138' + ralt: '\u01e9' + ralt+capslock, shift+ralt: '\u01e8' } key L { label: 'L' base: 'l' shift, capslock: 'L' - ralt: '\u0335' } key SEMICOLON { @@ -277,7 +269,7 @@ key SEMICOLON { base: '\u00f6' shift, capslock: '\u00d6' ralt: '\u00f8' - ralt+shift, ralt+capslock: '\u00d8' + ralt+capslock, shift+ralt: '\u00d8' } key APOSTROPHE { @@ -285,15 +277,13 @@ key APOSTROPHE { base: '\u00e4' shift, capslock: '\u00c4' ralt: '\u00e6' - ralt+shift, ralt+capslock: '\u00c6' + ralt+capslock, shift+ralt: '\u00c6' } key BACKSLASH { label: '\'' base: '\'' shift: '*' - ralt: '\u030c' - ralt+shift: '\u0306' } ### ROW 4 @@ -309,34 +299,38 @@ key Z { label: 'Z' base: 'z' shift, capslock: 'Z' - ralt: '\u0292' - ralt+shift, ralt+capslock: '\u01b7' + ralt: '\u017e' + ralt+capslock, shift+ralt: '\u017d' } key X { label: 'X' base: 'x' shift, capslock: 'X' - ralt: '\u00d7' - ralt+shift: '\u00b7' } key C { label: 'C' base: 'c' shift, capslock: 'C' + ralt: '\u010d' + ralt+capslock, shift+ralt: '\u010c' } key V { label: 'V' base: 'v' shift, capslock: 'V' + ralt: '\u01ef' + ralt+capslock, shift+ralt: '\u01ee' } key B { label: 'B' base: 'b' shift, capslock: 'B' + ralt: '\u0292' + ralt+capslock, shift+ralt: '\u01b7' } key N { @@ -344,37 +338,30 @@ key N { base: 'n' shift, capslock: 'N' ralt: '\u014b' - ralt+shift, ralt+capslock: '\u014a' + ralt+capslock, shift+ralt: '\u014a' } key M { label: 'M' base: 'm' shift, capslock: 'M' - ralt: '\u00b5' - ralt+shift: '\u2014' + ralt, ralt+capslock: '\u00b5' } key COMMA { label: ',' base: ',' shift: ';' - ralt: '\u2019' - ralt+shift: '\u2018' } key PERIOD { label: '.' base: '.' shift: ':' - ralt: '\u0323' - ralt+shift: '\u0307' } -key MINUS { +key SLASH { label: '-' base: '-' shift: '_' - ralt: '\u2013' - ralt+shift: '\u0307' } diff --git a/packages/InputDevices/res/raw/keyboard_layout_latvian_qwerty.kcm b/packages/InputDevices/res/raw/keyboard_layout_latvian_qwerty.kcm new file mode 100644 index 0000000..d4bc0c0 --- /dev/null +++ b/packages/InputDevices/res/raw/keyboard_layout_latvian_qwerty.kcm @@ -0,0 +1,362 @@ +# Copyright (C) 2014 The Android Open Source Project +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# +# Latvian (QWERTY-US-intl based) keyboard layout. +# + +type OVERLAY + +map key 86 BACKSLASH +map key 43 POUND + +### ROW 1 + +key GRAVE { + label: '\u0300' + base: '\u0300' + shift: '\u0303' + ralt: '-' +} + +key 1 { + label: '1' + base: '1' + shift: '!' + ralt: '\u00a0' +} + +key 2 { + label: '2' + base: '2' + shift: '@' + ralt: '\u00ab' +} + +key 3 { + label: '3' + base: '3' + shift: '#' + ralt: '\u00bb' +} + +key 4 { + label: '4' + base: '4' + shift: '$' + ralt: '\u20ac' + ralt+shift: '\u00a7' +} + +key 5 { + label: '5' + base: '5' + shift: '%' + ralt+shift: '\u00b0' +} + +key 6 { + label: '6' + base: '6' + shift: '\u0302' + ralt: '\u2019' +} + +key 7 { + label: '7' + base: '7' + shift: '&' + ralt+shift: '\u00b1' +} + +key 8 { + label: '8' + base: '8' + shift: '*' + ralt+shift: '\u00d7' +} + +key 9 { + label: '9' + base: '9' + shift: '(' +} + +key 0 { + label: '0' + base: '0' + shift: ')' +} + +key MINUS { + label: '-' + base: '-' + shift: '_' + ralt: '\u2013' + ralt+shift: '\u2014' +} + +key EQUALS { + label: '=' + base: '=' + shift: '+' +} + +### ROW 2 + +key Q { + label: 'Q' + base: 'q' + shift, capslock: 'Q' +} + +key W { + label: 'W' + base: 'w' + shift, capslock: 'W' +} + +key E { + label: 'E' + base: 'e' + shift, capslock: 'E' + ralt: '\u0113' + shift+ralt, ralt+capslock: '\u0112' +} + +key R { + label: 'R' + base: 'r' + shift, capslock: 'R' + ralt: '\u0157' + shift+ralt, ralt+capslock: '\u0156' +} + +key T { + label: 'T' + base: 't' + shift, capslock: 'T' +} + +key Y { + label: 'Y' + base: 'y' + shift, capslock: 'Y' +} + +key U { + label: 'U' + base: 'u' + shift, capslock: 'U' + ralt: '\u016b' + shift+ralt, ralt+capslock: '\u016a' +} + +key I { + label: 'I' + base: 'i' + shift, capslock: 'I' + ralt: '\u012b' + shift+ralt, ralt+capslock: '\u012a' +} + +key O { + label: 'O' + base: 'o' + shift, capslock: 'O' + ralt: '\u00f5' + shift+ralt, ralt+capslock: '\u00d5' +} + +key P { + label: 'P' + base: 'p' + shift, capslock: 'P' +} + +key LEFT_BRACKET { + label: '[' + base: '[' + shift: '{' +} + +key RIGHT_BRACKET { + label: ']' + base: ']' + shift: '}' +} + + +### ROW 3 + +key A { + label: 'A' + base: 'a' + shift, capslock: 'A' + ralt: '\u0101' + shift+ralt, ralt+capslock: '\u0100' +} + +key S { + label: 'S' + base: 's' + shift, capslock: 'S' + ralt: '\u0161' + shift+ralt, ralt+capslock: '\u0160' +} + +key D { + label: 'D' + base: 'd' + shift, capslock: 'D' +} + +key F { + label: 'F' + base: 'f' + shift, capslock: 'F' +} + +key G { + label: 'G' + base: 'g' + shift, capslock: 'G' + ralt: '\u0123' + shift+ralt, ralt+capslock: '\u0122' +} + +key H { + label: 'H' + base: 'h' + shift, capslock: 'H' +} + +key J { + label: 'J' + base: 'j' + shift, capslock: 'J' +} + +key K { + label: 'K' + base: 'k' + shift, capslock: 'K' + ralt: '\u0137' + shift+ralt, ralt+capslock: '\u0136' +} + +key L { + label: 'L' + base: 'l' + shift, capslock: 'L' + ralt: '\u013c' + shift+ralt, ralt+capslock: '\u013b' +} + +key SEMICOLON { + label: ';' + base: ';' + shift: ':' +} + +key APOSTROPHE { + label: '\'' + base: '\'' + shift: '"' + ralt: '\u0301' + shift+ralt: '\u0308' +} + +key POUND { + label: '\u00b0' + base: '\u00b0' + shift: '|' +} + +### ROW 4 + +key BACKSLASH { + label: '\\' + base: '\\' + shift: '|' + ralt: '\u00ac' + shift+ralt: '\u00a6' +} + +key Z { + label: 'Z' + base: 'z' + shift, capslock: 'Z' + ralt: '\u017e' + shift+ralt, ralt+capslock: '\u017d' +} + +key X { + label: 'X' + base: 'x' + shift, capslock: 'X' +} + +key C { + label: 'C' + base: 'c' + shift, capslock: 'C' + ralt: '\u010d' + shift+ralt, ralt+capslock: '\u010c' +} + +key V { + label: 'V' + base: 'v' + shift, capslock: 'V' +} + +key B { + label: 'B' + base: 'b' + shift, capslock: 'B' +} + +key N { + label: 'N' + base: 'n' + shift, capslock: 'N' + ralt: '\u0146' + shift+ralt, ralt+capslock: '\u0145' +} + +key M { + label: 'M' + base: 'm' + shift, capslock: 'M' +} + +key COMMA { + label: ',' + base: ',' + shift: '<' +} + +key PERIOD { + label: '.' + base: '.' + shift: '>' +} + +key SLASH { + label: '/' + base: '/' + shift: '?' + ralt: '\u00bf' +} diff --git a/packages/InputDevices/res/raw/keyboard_layout_norwegian.kcm b/packages/InputDevices/res/raw/keyboard_layout_norwegian.kcm index d1be485..560dd16 100644 --- a/packages/InputDevices/res/raw/keyboard_layout_norwegian.kcm +++ b/packages/InputDevices/res/raw/keyboard_layout_norwegian.kcm @@ -13,13 +13,11 @@ # limitations under the License. # -# Norwegian keyboard layout. +# Norwegian (EU based + Sami) keyboard layout. # type OVERLAY -map key 12 SLASH -map key 53 MINUS map key 86 PLUS ### ROW 1 @@ -61,6 +59,7 @@ key 5 { label: '5' base: '5' shift: '%' + ralt: '\u20ac' } key 6 { @@ -97,7 +96,7 @@ key 0 { ralt: '}' } -key SLASH { +key MINUS { label: '+' base: '+' shift: '?' @@ -116,6 +115,8 @@ key Q { label: 'Q' base: 'q' shift, capslock: 'Q' + ralt: '\u00e2' + ralt+capslock, shift+ralt: '\u00c2' } key W { @@ -129,6 +130,7 @@ key E { base: 'e' shift, capslock: 'E' ralt: '\u20ac' + ralt+capslock: '\u20ac' } key R { @@ -141,6 +143,8 @@ key T { label: 'T' base: 't' shift, capslock: 'T' + ralt: '\u0167' + ralt+capslock, shift+ralt: '\u0166' } key Y { @@ -159,12 +163,16 @@ key I { label: 'I' base: 'i' shift, capslock: 'I' + ralt: '\u00ef' + ralt+capslock, shift+ralt: '\u00cf' } key O { label: 'O' base: 'o' shift, capslock: 'O' + ralt: '\u00f5' + ralt+capslock, shift+ralt: '\u00d5' } key P { @@ -192,36 +200,48 @@ key A { label: 'A' base: 'a' shift, capslock: 'A' + ralt: '\u00e1' + ralt+capslock, shift+ralt: '\u00c1' } key S { label: 'S' base: 's' shift, capslock: 'S' + ralt: '\u0161' + ralt+capslock, shift+ralt: '\u0160' } key D { label: 'D' base: 'd' shift, capslock: 'D' + ralt: '\u0111' + ralt+capslock, shift+ralt: '\u0110' } key F { label: 'F' base: 'f' shift, capslock: 'F' + ralt: '\u01e5' + ralt+capslock, shift+ralt: '\u01e4' } key G { label: 'G' base: 'g' shift, capslock: 'G' + ralt: '\u01e7' + ralt+capslock, shift+ralt: '\u01e6' } key H { label: 'H' base: 'h' shift, capslock: 'H' + ralt: '\u021f' + ralt+capslock, shift+ralt: '\u021e' } key J { @@ -234,6 +254,8 @@ key K { label: 'K' base: 'k' shift, capslock: 'K' + ralt: '\u01e9' + ralt+capslock, shift+ralt: '\u01e8' } key L { @@ -246,12 +268,16 @@ key SEMICOLON { label: '\u00d8' base: '\u00f8' shift, capslock: '\u00d8' + ralt: '\u00f6' + ralt+capslock, shift+ralt: '\u00d6' } key APOSTROPHE { label: '\u00c6' base: '\u00e6' shift, capslock: '\u00c6' + ralt: '\u00e4' + ralt+capslock, shift+ralt: '\u00c4' } key BACKSLASH { @@ -272,6 +298,8 @@ key Z { label: 'Z' base: 'z' shift, capslock: 'Z' + ralt: '\u017e' + ralt+capslock, shift+ralt: '\u017d' } key X { @@ -284,31 +312,39 @@ key C { label: 'C' base: 'c' shift, capslock: 'C' + ralt: '\u010d' + ralt+capslock, shift+ralt: '\u010c' } key V { label: 'V' base: 'v' shift, capslock: 'V' + ralt: '\u01ef' + ralt+capslock, shift+ralt: '\u01ee' } key B { label: 'B' base: 'b' shift, capslock: 'B' + ralt: '\u0292' + ralt+capslock, shift+ralt: '\u01b7' } key N { label: 'N' base: 'n' shift, capslock: 'N' + ralt: '\u014b' + ralt+capslock, shift+ralt: '\u014a' } key M { label: 'M' base: 'm' shift, capslock: 'M' - ralt: '\u00b5' + ralt, ralt+capslock: '\u00b5' } key COMMA { @@ -323,7 +359,7 @@ key PERIOD { shift: ':' } -key MINUS { +key SLASH { label: '-' base: '-' shift: '_' diff --git a/packages/InputDevices/res/raw/keyboard_layout_swedish.kcm b/packages/InputDevices/res/raw/keyboard_layout_swedish.kcm index e42bd6c..8a4e9a5 100644 --- a/packages/InputDevices/res/raw/keyboard_layout_swedish.kcm +++ b/packages/InputDevices/res/raw/keyboard_layout_swedish.kcm @@ -13,13 +13,11 @@ # limitations under the License. # -# Swedish keyboard layout. +# Swedish (Finnish) (EU based + Sami) keyboard layout. # type OVERLAY -map key 12 SLASH -map key 53 MINUS map key 86 PLUS ### ROW 1 @@ -61,6 +59,7 @@ key 5 { label: '5' base: '5' shift: '%' + ralt: '\u20ac' } key 6 { @@ -97,7 +96,7 @@ key 0 { ralt: '}' } -key SLASH { +key MINUS { label: '+' base: '+' shift: '?' @@ -116,6 +115,8 @@ key Q { label: 'Q' base: 'q' shift, capslock: 'Q' + ralt: '\u00e2' + ralt+capslock, shift+ralt: '\u00c2' } key W { @@ -129,6 +130,7 @@ key E { base: 'e' shift, capslock: 'E' ralt: '\u20ac' + ralt+capslock: '\u20ac' } key R { @@ -141,6 +143,8 @@ key T { label: 'T' base: 't' shift, capslock: 'T' + ralt: '\u0167' + ralt+capslock, shift+ralt: '\u0166' } key Y { @@ -159,12 +163,16 @@ key I { label: 'I' base: 'i' shift, capslock: 'I' + ralt: '\u00ef' + ralt+capslock, shift+ralt: '\u00cf' } key O { label: 'O' base: 'o' shift, capslock: 'O' + ralt: '\u00f5' + ralt+capslock, shift+ralt: '\u00d5' } key P { @@ -192,36 +200,48 @@ key A { label: 'A' base: 'a' shift, capslock: 'A' + ralt: '\u00e1' + ralt+capslock, shift+ralt: '\u00c1' } key S { label: 'S' base: 's' shift, capslock: 'S' + ralt: '\u0161' + ralt+capslock, shift+ralt: '\u0160' } key D { label: 'D' base: 'd' shift, capslock: 'D' + ralt: '\u0111' + ralt+capslock, shift+ralt: '\u0110' } key F { label: 'F' base: 'f' shift, capslock: 'F' + ralt: '\u01e5' + ralt+capslock, shift+ralt: '\u01e4' } key G { label: 'G' base: 'g' shift, capslock: 'G' + ralt: '\u01e7' + ralt+capslock, shift+ralt: '\u01e6' } key H { label: 'H' base: 'h' shift, capslock: 'H' + ralt: '\u021f' + ralt+capslock, shift+ralt: '\u021e' } key J { @@ -234,6 +254,8 @@ key K { label: 'K' base: 'k' shift, capslock: 'K' + ralt: '\u01e9' + ralt+capslock, shift+ralt: '\u01e8' } key L { @@ -246,12 +268,16 @@ key SEMICOLON { label: '\u00d6' base: '\u00f6' shift, capslock: '\u00d6' + ralt: '\u00f8' + ralt+capslock, shift+ralt: '\u00d8' } key APOSTROPHE { label: '\u00c4' base: '\u00e4' shift, capslock: '\u00c4' + ralt: '\u00e6' + ralt+capslock, shift+ralt: '\u00c6' } key BACKSLASH { @@ -273,6 +299,8 @@ key Z { label: 'Z' base: 'z' shift, capslock: 'Z' + ralt: '\u017e' + ralt+capslock, shift+ralt: '\u017d' } key X { @@ -285,31 +313,39 @@ key C { label: 'C' base: 'c' shift, capslock: 'C' + ralt: '\u010d' + ralt+capslock, shift+ralt: '\u010c' } key V { label: 'V' base: 'v' shift, capslock: 'V' + ralt: '\u01ef' + ralt+capslock, shift+ralt: '\u01ee' } key B { label: 'B' base: 'b' shift, capslock: 'B' + ralt: '\u0292' + ralt+capslock, shift+ralt: '\u01b7' } key N { label: 'N' base: 'n' shift, capslock: 'N' + ralt: '\u014b' + ralt+capslock, shift+ralt: '\u014a' } key M { label: 'M' base: 'm' shift, capslock: 'M' - ralt: '\u00b5' + ralt, ralt+capslock: '\u00b5' } key COMMA { @@ -324,7 +360,7 @@ key PERIOD { shift: ':' } -key MINUS { +key SLASH { label: '-' base: '-' shift: '_' diff --git a/packages/InputDevices/res/values-af/strings.xml b/packages/InputDevices/res/values-af/strings.xml index ddaf706..13fcbb4 100644 --- a/packages/InputDevices/res/values-af/strings.xml +++ b/packages/InputDevices/res/values-af/strings.xml @@ -34,9 +34,4 @@ <string name="keyboard_layout_slovenian" msgid="1735933028924982368">"Sloweens"</string> <string name="keyboard_layout_turkish" msgid="7736163250907964898">"Turks"</string> <string name="keyboard_layout_ukrainian" msgid="8176637744389480417">"Oekraïens"</string> - <string name="keyboard_layout_arabic" msgid="5671970465174968712">"Arabies"</string> - <string name="keyboard_layout_greek" msgid="7289253560162386040">"Grieks"</string> - <string name="keyboard_layout_hebrew" msgid="7241473985890173812">"Hebreeus"</string> - <string name="keyboard_layout_lithuanian" msgid="6943110873053106534">"Litaus"</string> - <string name="keyboard_layout_spanish_latin" msgid="5690539836069535697">"Spaans (Latyn)"</string> </resources> diff --git a/packages/InputDevices/res/values-am/strings.xml b/packages/InputDevices/res/values-am/strings.xml index 09b65e0..d475772 100644 --- a/packages/InputDevices/res/values-am/strings.xml +++ b/packages/InputDevices/res/values-am/strings.xml @@ -34,9 +34,4 @@ <string name="keyboard_layout_slovenian" msgid="1735933028924982368">"ስሎቫኒያ"</string> <string name="keyboard_layout_turkish" msgid="7736163250907964898">"ቱርክኛ"</string> <string name="keyboard_layout_ukrainian" msgid="8176637744389480417">"ዩክሬን"</string> - <string name="keyboard_layout_arabic" msgid="5671970465174968712">"አረብኛ"</string> - <string name="keyboard_layout_greek" msgid="7289253560162386040">"ግሪክኛ"</string> - <string name="keyboard_layout_hebrew" msgid="7241473985890173812">"ዕብራስጥ"</string> - <string name="keyboard_layout_lithuanian" msgid="6943110873053106534">"ሊቱዌኒያኛ"</string> - <string name="keyboard_layout_spanish_latin" msgid="5690539836069535697">"ስፓኒሽ (ላቲን)"</string> </resources> diff --git a/packages/InputDevices/res/values-ar/strings.xml b/packages/InputDevices/res/values-ar/strings.xml index 4c5cccc..903d978 100644 --- a/packages/InputDevices/res/values-ar/strings.xml +++ b/packages/InputDevices/res/values-ar/strings.xml @@ -34,9 +34,4 @@ <string name="keyboard_layout_slovenian" msgid="1735933028924982368">"السلوفينية"</string> <string name="keyboard_layout_turkish" msgid="7736163250907964898">"التركية"</string> <string name="keyboard_layout_ukrainian" msgid="8176637744389480417">"الأوكرانية"</string> - <string name="keyboard_layout_arabic" msgid="5671970465174968712">"العربية"</string> - <string name="keyboard_layout_greek" msgid="7289253560162386040">"اليونانية"</string> - <string name="keyboard_layout_hebrew" msgid="7241473985890173812">"العبرية"</string> - <string name="keyboard_layout_lithuanian" msgid="6943110873053106534">"الليتوانية"</string> - <string name="keyboard_layout_spanish_latin" msgid="5690539836069535697">"الإسبانية (اللاتينية)"</string> </resources> diff --git a/packages/InputDevices/res/values-bg/strings.xml b/packages/InputDevices/res/values-bg/strings.xml index cc3eb36..0c413a4 100644 --- a/packages/InputDevices/res/values-bg/strings.xml +++ b/packages/InputDevices/res/values-bg/strings.xml @@ -34,9 +34,4 @@ <string name="keyboard_layout_slovenian" msgid="1735933028924982368">"словенски"</string> <string name="keyboard_layout_turkish" msgid="7736163250907964898">"турски"</string> <string name="keyboard_layout_ukrainian" msgid="8176637744389480417">"украински"</string> - <string name="keyboard_layout_arabic" msgid="5671970465174968712">"Арабска клавиатурна подредба"</string> - <string name="keyboard_layout_greek" msgid="7289253560162386040">"Гръцка клавиатурна подредба"</string> - <string name="keyboard_layout_hebrew" msgid="7241473985890173812">"Ивритска клавиатурна подредба"</string> - <string name="keyboard_layout_lithuanian" msgid="6943110873053106534">"Литовска клавиатурна подредба"</string> - <string name="keyboard_layout_spanish_latin" msgid="5690539836069535697">"Исп. клав. подредба (Лат. Америка)"</string> </resources> diff --git a/packages/InputDevices/res/values-ca/strings.xml b/packages/InputDevices/res/values-ca/strings.xml index 2c8521c..2021b8f 100644 --- a/packages/InputDevices/res/values-ca/strings.xml +++ b/packages/InputDevices/res/values-ca/strings.xml @@ -34,9 +34,4 @@ <string name="keyboard_layout_slovenian" msgid="1735933028924982368">"Eslovè"</string> <string name="keyboard_layout_turkish" msgid="7736163250907964898">"Turc"</string> <string name="keyboard_layout_ukrainian" msgid="8176637744389480417">"Ucraïnès"</string> - <string name="keyboard_layout_arabic" msgid="5671970465174968712">"Àrab"</string> - <string name="keyboard_layout_greek" msgid="7289253560162386040">"Grec"</string> - <string name="keyboard_layout_hebrew" msgid="7241473985890173812">"Hebreu"</string> - <string name="keyboard_layout_lithuanian" msgid="6943110873053106534">"Lituà"</string> - <string name="keyboard_layout_spanish_latin" msgid="5690539836069535697">"Espanyol (llatí)"</string> </resources> diff --git a/packages/InputDevices/res/values-cs/strings.xml b/packages/InputDevices/res/values-cs/strings.xml index 9b65eed..33b420e 100644 --- a/packages/InputDevices/res/values-cs/strings.xml +++ b/packages/InputDevices/res/values-cs/strings.xml @@ -34,9 +34,4 @@ <string name="keyboard_layout_slovenian" msgid="1735933028924982368">"slovinské"</string> <string name="keyboard_layout_turkish" msgid="7736163250907964898">"turecké"</string> <string name="keyboard_layout_ukrainian" msgid="8176637744389480417">"ukrajinské"</string> - <string name="keyboard_layout_arabic" msgid="5671970465174968712">"arabština"</string> - <string name="keyboard_layout_greek" msgid="7289253560162386040">"řečtina"</string> - <string name="keyboard_layout_hebrew" msgid="7241473985890173812">"hebrejština"</string> - <string name="keyboard_layout_lithuanian" msgid="6943110873053106534">"litevština"</string> - <string name="keyboard_layout_spanish_latin" msgid="5690539836069535697">"španělština (Latinská Amerika)"</string> </resources> diff --git a/packages/InputDevices/res/values-da/strings.xml b/packages/InputDevices/res/values-da/strings.xml index 8b423ab..fc07db2 100644 --- a/packages/InputDevices/res/values-da/strings.xml +++ b/packages/InputDevices/res/values-da/strings.xml @@ -34,9 +34,4 @@ <string name="keyboard_layout_slovenian" msgid="1735933028924982368">"Slovensk"</string> <string name="keyboard_layout_turkish" msgid="7736163250907964898">"Tyrkisk"</string> <string name="keyboard_layout_ukrainian" msgid="8176637744389480417">"Ukrainsk"</string> - <string name="keyboard_layout_arabic" msgid="5671970465174968712">"Arabisk"</string> - <string name="keyboard_layout_greek" msgid="7289253560162386040">"Græsk"</string> - <string name="keyboard_layout_hebrew" msgid="7241473985890173812">"Hebræisk"</string> - <string name="keyboard_layout_lithuanian" msgid="6943110873053106534">"Litauisk"</string> - <string name="keyboard_layout_spanish_latin" msgid="5690539836069535697">"Spansk (latinamerika)"</string> </resources> diff --git a/packages/InputDevices/res/values-de/strings.xml b/packages/InputDevices/res/values-de/strings.xml index b5a5870..b5c3b50 100644 --- a/packages/InputDevices/res/values-de/strings.xml +++ b/packages/InputDevices/res/values-de/strings.xml @@ -34,9 +34,4 @@ <string name="keyboard_layout_slovenian" msgid="1735933028924982368">"Slowenisch"</string> <string name="keyboard_layout_turkish" msgid="7736163250907964898">"Türkisch"</string> <string name="keyboard_layout_ukrainian" msgid="8176637744389480417">"Ukrainisch"</string> - <string name="keyboard_layout_arabic" msgid="5671970465174968712">"Arabisch"</string> - <string name="keyboard_layout_greek" msgid="7289253560162386040">"Griechisch"</string> - <string name="keyboard_layout_hebrew" msgid="7241473985890173812">"Hebräisch"</string> - <string name="keyboard_layout_lithuanian" msgid="6943110873053106534">"Litauisch"</string> - <string name="keyboard_layout_spanish_latin" msgid="5690539836069535697">"Spanisch (Lateinisch)"</string> </resources> diff --git a/packages/InputDevices/res/values-el/strings.xml b/packages/InputDevices/res/values-el/strings.xml index 976f370..f5d57a0 100644 --- a/packages/InputDevices/res/values-el/strings.xml +++ b/packages/InputDevices/res/values-el/strings.xml @@ -34,9 +34,4 @@ <string name="keyboard_layout_slovenian" msgid="1735933028924982368">"Σλοβενικά"</string> <string name="keyboard_layout_turkish" msgid="7736163250907964898">"Τουρκικά"</string> <string name="keyboard_layout_ukrainian" msgid="8176637744389480417">"Ουκρανικά"</string> - <string name="keyboard_layout_arabic" msgid="5671970465174968712">"Αραβικά"</string> - <string name="keyboard_layout_greek" msgid="7289253560162386040">"Ελληνικά"</string> - <string name="keyboard_layout_hebrew" msgid="7241473985890173812">"Εβραϊκά"</string> - <string name="keyboard_layout_lithuanian" msgid="6943110873053106534">"Λιθουανικά"</string> - <string name="keyboard_layout_spanish_latin" msgid="5690539836069535697">"Ισπανικά (Λατινικής Αμερικής)"</string> </resources> diff --git a/packages/InputDevices/res/values-en-rGB/strings.xml b/packages/InputDevices/res/values-en-rGB/strings.xml index 50a98b2..2d794a6 100644 --- a/packages/InputDevices/res/values-en-rGB/strings.xml +++ b/packages/InputDevices/res/values-en-rGB/strings.xml @@ -34,9 +34,4 @@ <string name="keyboard_layout_slovenian" msgid="1735933028924982368">"Slovenian"</string> <string name="keyboard_layout_turkish" msgid="7736163250907964898">"Turkish"</string> <string name="keyboard_layout_ukrainian" msgid="8176637744389480417">"Ukrainian"</string> - <string name="keyboard_layout_arabic" msgid="5671970465174968712">"Arabic"</string> - <string name="keyboard_layout_greek" msgid="7289253560162386040">"Greek"</string> - <string name="keyboard_layout_hebrew" msgid="7241473985890173812">"Hebrew"</string> - <string name="keyboard_layout_lithuanian" msgid="6943110873053106534">"Lithuanian"</string> - <string name="keyboard_layout_spanish_latin" msgid="5690539836069535697">"Spanish (Latin)"</string> </resources> diff --git a/packages/InputDevices/res/values-en-rIN/strings.xml b/packages/InputDevices/res/values-en-rIN/strings.xml index 50a98b2..2d794a6 100644 --- a/packages/InputDevices/res/values-en-rIN/strings.xml +++ b/packages/InputDevices/res/values-en-rIN/strings.xml @@ -34,9 +34,4 @@ <string name="keyboard_layout_slovenian" msgid="1735933028924982368">"Slovenian"</string> <string name="keyboard_layout_turkish" msgid="7736163250907964898">"Turkish"</string> <string name="keyboard_layout_ukrainian" msgid="8176637744389480417">"Ukrainian"</string> - <string name="keyboard_layout_arabic" msgid="5671970465174968712">"Arabic"</string> - <string name="keyboard_layout_greek" msgid="7289253560162386040">"Greek"</string> - <string name="keyboard_layout_hebrew" msgid="7241473985890173812">"Hebrew"</string> - <string name="keyboard_layout_lithuanian" msgid="6943110873053106534">"Lithuanian"</string> - <string name="keyboard_layout_spanish_latin" msgid="5690539836069535697">"Spanish (Latin)"</string> </resources> diff --git a/packages/InputDevices/res/values-es-rUS/strings.xml b/packages/InputDevices/res/values-es-rUS/strings.xml index b842a3b..2d61b80 100644 --- a/packages/InputDevices/res/values-es-rUS/strings.xml +++ b/packages/InputDevices/res/values-es-rUS/strings.xml @@ -34,9 +34,4 @@ <string name="keyboard_layout_slovenian" msgid="1735933028924982368">"Esloveno"</string> <string name="keyboard_layout_turkish" msgid="7736163250907964898">"Turco"</string> <string name="keyboard_layout_ukrainian" msgid="8176637744389480417">"Ucraniano"</string> - <string name="keyboard_layout_arabic" msgid="5671970465174968712">"Árabe"</string> - <string name="keyboard_layout_greek" msgid="7289253560162386040">"Griego"</string> - <string name="keyboard_layout_hebrew" msgid="7241473985890173812">"Hebreo"</string> - <string name="keyboard_layout_lithuanian" msgid="6943110873053106534">"Lituano"</string> - <string name="keyboard_layout_spanish_latin" msgid="5690539836069535697">"Español (latino)"</string> </resources> diff --git a/packages/InputDevices/res/values-es/strings.xml b/packages/InputDevices/res/values-es/strings.xml index 5dc85a0..82ea4d6 100644 --- a/packages/InputDevices/res/values-es/strings.xml +++ b/packages/InputDevices/res/values-es/strings.xml @@ -34,9 +34,4 @@ <string name="keyboard_layout_slovenian" msgid="1735933028924982368">"Esloveno"</string> <string name="keyboard_layout_turkish" msgid="7736163250907964898">"Turco"</string> <string name="keyboard_layout_ukrainian" msgid="8176637744389480417">"Ucraniano"</string> - <string name="keyboard_layout_arabic" msgid="5671970465174968712">"Árabe"</string> - <string name="keyboard_layout_greek" msgid="7289253560162386040">"Griego"</string> - <string name="keyboard_layout_hebrew" msgid="7241473985890173812">"Hebreo"</string> - <string name="keyboard_layout_lithuanian" msgid="6943110873053106534">"Lituano"</string> - <string name="keyboard_layout_spanish_latin" msgid="5690539836069535697">"Español (Latinoamérica)"</string> </resources> diff --git a/packages/InputDevices/res/values-et-rEE/strings.xml b/packages/InputDevices/res/values-et-rEE/strings.xml index 4ffdb37..5b4fa3b 100644 --- a/packages/InputDevices/res/values-et-rEE/strings.xml +++ b/packages/InputDevices/res/values-et-rEE/strings.xml @@ -34,9 +34,4 @@ <string name="keyboard_layout_slovenian" msgid="1735933028924982368">"Sloveenia"</string> <string name="keyboard_layout_turkish" msgid="7736163250907964898">"Türgi"</string> <string name="keyboard_layout_ukrainian" msgid="8176637744389480417">"Ukraina"</string> - <string name="keyboard_layout_arabic" msgid="5671970465174968712">"Araabia"</string> - <string name="keyboard_layout_greek" msgid="7289253560162386040">"Kreeka"</string> - <string name="keyboard_layout_hebrew" msgid="7241473985890173812">"Heebrea"</string> - <string name="keyboard_layout_lithuanian" msgid="6943110873053106534">"Leedu"</string> - <string name="keyboard_layout_spanish_latin" msgid="5690539836069535697">"Hispaania (Ladina-Ameerika)"</string> </resources> diff --git a/packages/InputDevices/res/values-fa/strings.xml b/packages/InputDevices/res/values-fa/strings.xml index fd6f54b..06c7f3a 100644 --- a/packages/InputDevices/res/values-fa/strings.xml +++ b/packages/InputDevices/res/values-fa/strings.xml @@ -34,9 +34,4 @@ <string name="keyboard_layout_slovenian" msgid="1735933028924982368">"اسلوونیایی"</string> <string name="keyboard_layout_turkish" msgid="7736163250907964898">"ترکی"</string> <string name="keyboard_layout_ukrainian" msgid="8176637744389480417">"اوکراینی"</string> - <string name="keyboard_layout_arabic" msgid="5671970465174968712">"عربی"</string> - <string name="keyboard_layout_greek" msgid="7289253560162386040">"یونانی"</string> - <string name="keyboard_layout_hebrew" msgid="7241473985890173812">"عبری"</string> - <string name="keyboard_layout_lithuanian" msgid="6943110873053106534">"لیتوانیایی"</string> - <string name="keyboard_layout_spanish_latin" msgid="5690539836069535697">"اسپانیایی (لاتین)"</string> </resources> diff --git a/packages/InputDevices/res/values-fi/strings.xml b/packages/InputDevices/res/values-fi/strings.xml index b7ec183..428eb30 100644 --- a/packages/InputDevices/res/values-fi/strings.xml +++ b/packages/InputDevices/res/values-fi/strings.xml @@ -34,9 +34,4 @@ <string name="keyboard_layout_slovenian" msgid="1735933028924982368">"sloveeni"</string> <string name="keyboard_layout_turkish" msgid="7736163250907964898">"turkki"</string> <string name="keyboard_layout_ukrainian" msgid="8176637744389480417">"ukraina"</string> - <string name="keyboard_layout_arabic" msgid="5671970465174968712">"arabia"</string> - <string name="keyboard_layout_greek" msgid="7289253560162386040">"kreikka"</string> - <string name="keyboard_layout_hebrew" msgid="7241473985890173812">"heprea"</string> - <string name="keyboard_layout_lithuanian" msgid="6943110873053106534">"liettua"</string> - <string name="keyboard_layout_spanish_latin" msgid="5690539836069535697">"espanja (Latinalainen Amerikka)"</string> </resources> diff --git a/packages/InputDevices/res/values-fr-rCA/strings.xml b/packages/InputDevices/res/values-fr-rCA/strings.xml index 18600ed..c947634 100644 --- a/packages/InputDevices/res/values-fr-rCA/strings.xml +++ b/packages/InputDevices/res/values-fr-rCA/strings.xml @@ -34,9 +34,4 @@ <string name="keyboard_layout_slovenian" msgid="1735933028924982368">"Slovène"</string> <string name="keyboard_layout_turkish" msgid="7736163250907964898">"Turc"</string> <string name="keyboard_layout_ukrainian" msgid="8176637744389480417">"Ukrainien"</string> - <string name="keyboard_layout_arabic" msgid="5671970465174968712">"Arabe"</string> - <string name="keyboard_layout_greek" msgid="7289253560162386040">"Grec"</string> - <string name="keyboard_layout_hebrew" msgid="7241473985890173812">"Hébreu"</string> - <string name="keyboard_layout_lithuanian" msgid="6943110873053106534">"Lituanien"</string> - <string name="keyboard_layout_spanish_latin" msgid="5690539836069535697">"Espagnol (latin)"</string> </resources> diff --git a/packages/InputDevices/res/values-fr/strings.xml b/packages/InputDevices/res/values-fr/strings.xml index e3ca49c..4ad4ffa 100644 --- a/packages/InputDevices/res/values-fr/strings.xml +++ b/packages/InputDevices/res/values-fr/strings.xml @@ -34,9 +34,4 @@ <string name="keyboard_layout_slovenian" msgid="1735933028924982368">"Slovène"</string> <string name="keyboard_layout_turkish" msgid="7736163250907964898">"Turc"</string> <string name="keyboard_layout_ukrainian" msgid="8176637744389480417">"Ukrainien"</string> - <string name="keyboard_layout_arabic" msgid="5671970465174968712">"Arabe"</string> - <string name="keyboard_layout_greek" msgid="7289253560162386040">"Grec"</string> - <string name="keyboard_layout_hebrew" msgid="7241473985890173812">"Hébreu"</string> - <string name="keyboard_layout_lithuanian" msgid="6943110873053106534">"Lituanien"</string> - <string name="keyboard_layout_spanish_latin" msgid="5690539836069535697">"Espagnol (latin)"</string> </resources> diff --git a/packages/InputDevices/res/values-hi/strings.xml b/packages/InputDevices/res/values-hi/strings.xml index a1a4ef2..8e1864e 100644 --- a/packages/InputDevices/res/values-hi/strings.xml +++ b/packages/InputDevices/res/values-hi/strings.xml @@ -34,9 +34,4 @@ <string name="keyboard_layout_slovenian" msgid="1735933028924982368">"स्लोवेनियाई"</string> <string name="keyboard_layout_turkish" msgid="7736163250907964898">"तुर्की"</string> <string name="keyboard_layout_ukrainian" msgid="8176637744389480417">"यूक्रेनियाई"</string> - <string name="keyboard_layout_arabic" msgid="5671970465174968712">"अरबी"</string> - <string name="keyboard_layout_greek" msgid="7289253560162386040">"ग्रीक"</string> - <string name="keyboard_layout_hebrew" msgid="7241473985890173812">"हिब्रू"</string> - <string name="keyboard_layout_lithuanian" msgid="6943110873053106534">"लिथुआनियाई"</string> - <string name="keyboard_layout_spanish_latin" msgid="5690539836069535697">"स्पेनिश (लैटिन)"</string> </resources> diff --git a/packages/InputDevices/res/values-hr/strings.xml b/packages/InputDevices/res/values-hr/strings.xml index 512ffd7..6217bf0 100644 --- a/packages/InputDevices/res/values-hr/strings.xml +++ b/packages/InputDevices/res/values-hr/strings.xml @@ -34,9 +34,4 @@ <string name="keyboard_layout_slovenian" msgid="1735933028924982368">"slovenska"</string> <string name="keyboard_layout_turkish" msgid="7736163250907964898">"turska"</string> <string name="keyboard_layout_ukrainian" msgid="8176637744389480417">"ukrajinska"</string> - <string name="keyboard_layout_arabic" msgid="5671970465174968712">"arapski"</string> - <string name="keyboard_layout_greek" msgid="7289253560162386040">"grčki"</string> - <string name="keyboard_layout_hebrew" msgid="7241473985890173812">"hebrejski"</string> - <string name="keyboard_layout_lithuanian" msgid="6943110873053106534">"litavski"</string> - <string name="keyboard_layout_spanish_latin" msgid="5690539836069535697">"španjolski (Latinska Amerika)"</string> </resources> diff --git a/packages/InputDevices/res/values-hu/strings.xml b/packages/InputDevices/res/values-hu/strings.xml index 645e597..0cdbfb2 100644 --- a/packages/InputDevices/res/values-hu/strings.xml +++ b/packages/InputDevices/res/values-hu/strings.xml @@ -34,9 +34,4 @@ <string name="keyboard_layout_slovenian" msgid="1735933028924982368">"szlovén"</string> <string name="keyboard_layout_turkish" msgid="7736163250907964898">"török"</string> <string name="keyboard_layout_ukrainian" msgid="8176637744389480417">"ukrán"</string> - <string name="keyboard_layout_arabic" msgid="5671970465174968712">"arab"</string> - <string name="keyboard_layout_greek" msgid="7289253560162386040">"görög"</string> - <string name="keyboard_layout_hebrew" msgid="7241473985890173812">"héber"</string> - <string name="keyboard_layout_lithuanian" msgid="6943110873053106534">"litván"</string> - <string name="keyboard_layout_spanish_latin" msgid="5690539836069535697">"spanyol (latin-amerikai)"</string> </resources> diff --git a/packages/InputDevices/res/values-hy-rAM/strings.xml b/packages/InputDevices/res/values-hy-rAM/strings.xml index 282dc82..bc5bbfc 100644 --- a/packages/InputDevices/res/values-hy-rAM/strings.xml +++ b/packages/InputDevices/res/values-hy-rAM/strings.xml @@ -34,9 +34,4 @@ <string name="keyboard_layout_slovenian" msgid="1735933028924982368">"Սլովեներեն"</string> <string name="keyboard_layout_turkish" msgid="7736163250907964898">"Թուրքերեն"</string> <string name="keyboard_layout_ukrainian" msgid="8176637744389480417">"Ուկրաիներեն"</string> - <string name="keyboard_layout_arabic" msgid="5671970465174968712">"Արաբերեն"</string> - <string name="keyboard_layout_greek" msgid="7289253560162386040">"Հունարեն"</string> - <string name="keyboard_layout_hebrew" msgid="7241473985890173812">"Եբրայերեն"</string> - <string name="keyboard_layout_lithuanian" msgid="6943110873053106534">"Լիտվերեն"</string> - <string name="keyboard_layout_spanish_latin" msgid="5690539836069535697">"Իսպաներեն (Լատինական)"</string> </resources> diff --git a/packages/InputDevices/res/values-in/strings.xml b/packages/InputDevices/res/values-in/strings.xml index a7fc330..11e2dd0 100644 --- a/packages/InputDevices/res/values-in/strings.xml +++ b/packages/InputDevices/res/values-in/strings.xml @@ -34,9 +34,4 @@ <string name="keyboard_layout_slovenian" msgid="1735933028924982368">"Slovenia"</string> <string name="keyboard_layout_turkish" msgid="7736163250907964898">"Turki"</string> <string name="keyboard_layout_ukrainian" msgid="8176637744389480417">"Ukraina"</string> - <string name="keyboard_layout_arabic" msgid="5671970465174968712">"Arab"</string> - <string name="keyboard_layout_greek" msgid="7289253560162386040">"Yunani"</string> - <string name="keyboard_layout_hebrew" msgid="7241473985890173812">"Ibrani"</string> - <string name="keyboard_layout_lithuanian" msgid="6943110873053106534">"Lithuania"</string> - <string name="keyboard_layout_spanish_latin" msgid="5690539836069535697">"Spanyol (Latin)"</string> </resources> diff --git a/packages/InputDevices/res/values-it/strings.xml b/packages/InputDevices/res/values-it/strings.xml index e8fe310..334318e 100644 --- a/packages/InputDevices/res/values-it/strings.xml +++ b/packages/InputDevices/res/values-it/strings.xml @@ -34,9 +34,4 @@ <string name="keyboard_layout_slovenian" msgid="1735933028924982368">"Sloveno"</string> <string name="keyboard_layout_turkish" msgid="7736163250907964898">"Turco"</string> <string name="keyboard_layout_ukrainian" msgid="8176637744389480417">"Ucraino"</string> - <string name="keyboard_layout_arabic" msgid="5671970465174968712">"Arabo"</string> - <string name="keyboard_layout_greek" msgid="7289253560162386040">"Greco"</string> - <string name="keyboard_layout_hebrew" msgid="7241473985890173812">"Ebraico"</string> - <string name="keyboard_layout_lithuanian" msgid="6943110873053106534">"Lituano"</string> - <string name="keyboard_layout_spanish_latin" msgid="5690539836069535697">"Spagnolo (America Latina)"</string> </resources> diff --git a/packages/InputDevices/res/values-iw/strings.xml b/packages/InputDevices/res/values-iw/strings.xml index d2673d9..a989391 100644 --- a/packages/InputDevices/res/values-iw/strings.xml +++ b/packages/InputDevices/res/values-iw/strings.xml @@ -34,9 +34,4 @@ <string name="keyboard_layout_slovenian" msgid="1735933028924982368">"סלובנית"</string> <string name="keyboard_layout_turkish" msgid="7736163250907964898">"טורקית"</string> <string name="keyboard_layout_ukrainian" msgid="8176637744389480417">"אוקראינית"</string> - <string name="keyboard_layout_arabic" msgid="5671970465174968712">"ערבית"</string> - <string name="keyboard_layout_greek" msgid="7289253560162386040">"יוונית"</string> - <string name="keyboard_layout_hebrew" msgid="7241473985890173812">"עברית"</string> - <string name="keyboard_layout_lithuanian" msgid="6943110873053106534">"ליטאית"</string> - <string name="keyboard_layout_spanish_latin" msgid="5690539836069535697">"ספרדית (לטינית)"</string> </resources> diff --git a/packages/InputDevices/res/values-ja/strings.xml b/packages/InputDevices/res/values-ja/strings.xml index 86cd30e..950b727 100644 --- a/packages/InputDevices/res/values-ja/strings.xml +++ b/packages/InputDevices/res/values-ja/strings.xml @@ -34,9 +34,4 @@ <string name="keyboard_layout_slovenian" msgid="1735933028924982368">"スロベニア語"</string> <string name="keyboard_layout_turkish" msgid="7736163250907964898">"トルコ語"</string> <string name="keyboard_layout_ukrainian" msgid="8176637744389480417">"ウクライナ語"</string> - <string name="keyboard_layout_arabic" msgid="5671970465174968712">"アラビア語"</string> - <string name="keyboard_layout_greek" msgid="7289253560162386040">"ギリシャ語"</string> - <string name="keyboard_layout_hebrew" msgid="7241473985890173812">"ヘブライ語"</string> - <string name="keyboard_layout_lithuanian" msgid="6943110873053106534">"リトアニア語"</string> - <string name="keyboard_layout_spanish_latin" msgid="5690539836069535697">"スペイン語(中南米)"</string> </resources> diff --git a/packages/InputDevices/res/values-ka-rGE/strings.xml b/packages/InputDevices/res/values-ka-rGE/strings.xml index 14ebee8..6e507aa 100644 --- a/packages/InputDevices/res/values-ka-rGE/strings.xml +++ b/packages/InputDevices/res/values-ka-rGE/strings.xml @@ -34,9 +34,4 @@ <string name="keyboard_layout_slovenian" msgid="1735933028924982368">"სლოვენური"</string> <string name="keyboard_layout_turkish" msgid="7736163250907964898">"თურქული"</string> <string name="keyboard_layout_ukrainian" msgid="8176637744389480417">"უკრაინული"</string> - <string name="keyboard_layout_arabic" msgid="5671970465174968712">"არაბული"</string> - <string name="keyboard_layout_greek" msgid="7289253560162386040">"ბერძნული"</string> - <string name="keyboard_layout_hebrew" msgid="7241473985890173812">"ებრაული"</string> - <string name="keyboard_layout_lithuanian" msgid="6943110873053106534">"ლიტვური"</string> - <string name="keyboard_layout_spanish_latin" msgid="5690539836069535697">"ესპანური (ლათინური)"</string> </resources> diff --git a/packages/InputDevices/res/values-km-rKH/strings.xml b/packages/InputDevices/res/values-km-rKH/strings.xml index 569f273..9a8c99b 100644 --- a/packages/InputDevices/res/values-km-rKH/strings.xml +++ b/packages/InputDevices/res/values-km-rKH/strings.xml @@ -34,9 +34,4 @@ <string name="keyboard_layout_slovenian" msgid="1735933028924982368">"ស្លូវ៉ានី"</string> <string name="keyboard_layout_turkish" msgid="7736163250907964898">"ទួរគី"</string> <string name="keyboard_layout_ukrainian" msgid="8176637744389480417">"អ៊ុយក្រែន"</string> - <string name="keyboard_layout_arabic" msgid="5671970465174968712">"អារ៉ាប់"</string> - <string name="keyboard_layout_greek" msgid="7289253560162386040">"ក្រិក"</string> - <string name="keyboard_layout_hebrew" msgid="7241473985890173812">"អ៊ីស្រាអែល"</string> - <string name="keyboard_layout_lithuanian" msgid="6943110873053106534">"លីទុយអានី"</string> - <string name="keyboard_layout_spanish_latin" msgid="5690539836069535697">"អេស្ប៉ាញ (ឡាតាំង)"</string> </resources> diff --git a/packages/InputDevices/res/values-ko/strings.xml b/packages/InputDevices/res/values-ko/strings.xml index dbbe6ea..8071586 100644 --- a/packages/InputDevices/res/values-ko/strings.xml +++ b/packages/InputDevices/res/values-ko/strings.xml @@ -34,9 +34,4 @@ <string name="keyboard_layout_slovenian" msgid="1735933028924982368">"슬로베니아어"</string> <string name="keyboard_layout_turkish" msgid="7736163250907964898">"터키어"</string> <string name="keyboard_layout_ukrainian" msgid="8176637744389480417">"우크라이나어"</string> - <string name="keyboard_layout_arabic" msgid="5671970465174968712">"아랍어"</string> - <string name="keyboard_layout_greek" msgid="7289253560162386040">"그리스어"</string> - <string name="keyboard_layout_hebrew" msgid="7241473985890173812">"히브리어"</string> - <string name="keyboard_layout_lithuanian" msgid="6943110873053106534">"리투아니아어"</string> - <string name="keyboard_layout_spanish_latin" msgid="5690539836069535697">"스페인어(라틴)"</string> </resources> diff --git a/packages/InputDevices/res/values-lo-rLA/strings.xml b/packages/InputDevices/res/values-lo-rLA/strings.xml index eaf5026..2c97e11 100644 --- a/packages/InputDevices/res/values-lo-rLA/strings.xml +++ b/packages/InputDevices/res/values-lo-rLA/strings.xml @@ -34,9 +34,4 @@ <string name="keyboard_layout_slovenian" msgid="1735933028924982368">"ສະໂລເວນຽນ"</string> <string name="keyboard_layout_turkish" msgid="7736163250907964898">"ເຕີກິສ"</string> <string name="keyboard_layout_ukrainian" msgid="8176637744389480417">"ຢູເຄຣນຽນ"</string> - <string name="keyboard_layout_arabic" msgid="5671970465174968712">"ອາຣັບ"</string> - <string name="keyboard_layout_greek" msgid="7289253560162386040">"ກຣີກ"</string> - <string name="keyboard_layout_hebrew" msgid="7241473985890173812">"ຮີບຣິວ"</string> - <string name="keyboard_layout_lithuanian" msgid="6943110873053106534">"ລິທົວນຽນ"</string> - <string name="keyboard_layout_spanish_latin" msgid="5690539836069535697">"ສະແປນນິດ (ລາຕິນ)"</string> </resources> diff --git a/packages/InputDevices/res/values-lt/strings.xml b/packages/InputDevices/res/values-lt/strings.xml index 2fcacde..c0ed159 100644 --- a/packages/InputDevices/res/values-lt/strings.xml +++ b/packages/InputDevices/res/values-lt/strings.xml @@ -34,9 +34,4 @@ <string name="keyboard_layout_slovenian" msgid="1735933028924982368">"Slovėnų k."</string> <string name="keyboard_layout_turkish" msgid="7736163250907964898">"Turkų k."</string> <string name="keyboard_layout_ukrainian" msgid="8176637744389480417">"Ukrainiečių k."</string> - <string name="keyboard_layout_arabic" msgid="5671970465174968712">"Arabų"</string> - <string name="keyboard_layout_greek" msgid="7289253560162386040">"Graikų"</string> - <string name="keyboard_layout_hebrew" msgid="7241473985890173812">"Hebrajų"</string> - <string name="keyboard_layout_lithuanian" msgid="6943110873053106534">"Lietuvių"</string> - <string name="keyboard_layout_spanish_latin" msgid="5690539836069535697">"Ispanų (Lotynų Amerika)"</string> </resources> diff --git a/packages/InputDevices/res/values-lv/strings.xml b/packages/InputDevices/res/values-lv/strings.xml index 921c881..07a8654 100644 --- a/packages/InputDevices/res/values-lv/strings.xml +++ b/packages/InputDevices/res/values-lv/strings.xml @@ -34,9 +34,4 @@ <string name="keyboard_layout_slovenian" msgid="1735933028924982368">"Slovēņu"</string> <string name="keyboard_layout_turkish" msgid="7736163250907964898">"Turku"</string> <string name="keyboard_layout_ukrainian" msgid="8176637744389480417">"Ukraiņu"</string> - <string name="keyboard_layout_arabic" msgid="5671970465174968712">"Arābu"</string> - <string name="keyboard_layout_greek" msgid="7289253560162386040">"Grieķu"</string> - <string name="keyboard_layout_hebrew" msgid="7241473985890173812">"Ivrits"</string> - <string name="keyboard_layout_lithuanian" msgid="6943110873053106534">"Lietuviešu"</string> - <string name="keyboard_layout_spanish_latin" msgid="5690539836069535697">"Spāņu (latīņu)"</string> </resources> diff --git a/packages/InputDevices/res/values-mn-rMN/strings.xml b/packages/InputDevices/res/values-mn-rMN/strings.xml index c99339e..ec6cccb 100644 --- a/packages/InputDevices/res/values-mn-rMN/strings.xml +++ b/packages/InputDevices/res/values-mn-rMN/strings.xml @@ -34,9 +34,4 @@ <string name="keyboard_layout_slovenian" msgid="1735933028924982368">"Словени"</string> <string name="keyboard_layout_turkish" msgid="7736163250907964898">"Турк"</string> <string name="keyboard_layout_ukrainian" msgid="8176637744389480417">"Украйн"</string> - <string name="keyboard_layout_arabic" msgid="5671970465174968712">"Араб"</string> - <string name="keyboard_layout_greek" msgid="7289253560162386040">"Грек"</string> - <string name="keyboard_layout_hebrew" msgid="7241473985890173812">"Еврей"</string> - <string name="keyboard_layout_lithuanian" msgid="6943110873053106534">"Литви"</string> - <string name="keyboard_layout_spanish_latin" msgid="5690539836069535697">"Испани (Латин)"</string> </resources> diff --git a/packages/InputDevices/res/values-ms-rMY/strings.xml b/packages/InputDevices/res/values-ms-rMY/strings.xml index 32041d0..486f048 100644 --- a/packages/InputDevices/res/values-ms-rMY/strings.xml +++ b/packages/InputDevices/res/values-ms-rMY/strings.xml @@ -34,9 +34,4 @@ <string name="keyboard_layout_slovenian" msgid="1735933028924982368">"Bahasa Slovenia"</string> <string name="keyboard_layout_turkish" msgid="7736163250907964898">"Bahasa Turki"</string> <string name="keyboard_layout_ukrainian" msgid="8176637744389480417">"Bahasa Ukraine"</string> - <string name="keyboard_layout_arabic" msgid="5671970465174968712">"Bahasa Arab"</string> - <string name="keyboard_layout_greek" msgid="7289253560162386040">"Bahasa Greek"</string> - <string name="keyboard_layout_hebrew" msgid="7241473985890173812">"Bahasa Ibrani"</string> - <string name="keyboard_layout_lithuanian" msgid="6943110873053106534">"Bahasa Lithuania"</string> - <string name="keyboard_layout_spanish_latin" msgid="5690539836069535697">"Bahasa Sepanyol (Latin)"</string> </resources> diff --git a/packages/InputDevices/res/values-nb/strings.xml b/packages/InputDevices/res/values-nb/strings.xml index e880981..b646061 100644 --- a/packages/InputDevices/res/values-nb/strings.xml +++ b/packages/InputDevices/res/values-nb/strings.xml @@ -34,9 +34,4 @@ <string name="keyboard_layout_slovenian" msgid="1735933028924982368">"Slovensk"</string> <string name="keyboard_layout_turkish" msgid="7736163250907964898">"Tyrkisk"</string> <string name="keyboard_layout_ukrainian" msgid="8176637744389480417">"Ukrainsk"</string> - <string name="keyboard_layout_arabic" msgid="5671970465174968712">"Arabisk"</string> - <string name="keyboard_layout_greek" msgid="7289253560162386040">"Gresk"</string> - <string name="keyboard_layout_hebrew" msgid="7241473985890173812">"Hebraisk"</string> - <string name="keyboard_layout_lithuanian" msgid="6943110873053106534">"Litauisk"</string> - <string name="keyboard_layout_spanish_latin" msgid="5690539836069535697">"Spansk (latinsk)"</string> </resources> diff --git a/packages/InputDevices/res/values-nl/strings.xml b/packages/InputDevices/res/values-nl/strings.xml index 92a9fcf..56d84c9 100644 --- a/packages/InputDevices/res/values-nl/strings.xml +++ b/packages/InputDevices/res/values-nl/strings.xml @@ -34,9 +34,4 @@ <string name="keyboard_layout_slovenian" msgid="1735933028924982368">"Sloveens"</string> <string name="keyboard_layout_turkish" msgid="7736163250907964898">"Turks"</string> <string name="keyboard_layout_ukrainian" msgid="8176637744389480417">"Oekraïens"</string> - <string name="keyboard_layout_arabic" msgid="5671970465174968712">"Arabisch"</string> - <string name="keyboard_layout_greek" msgid="7289253560162386040">"Grieks"</string> - <string name="keyboard_layout_hebrew" msgid="7241473985890173812">"Hebreeuws"</string> - <string name="keyboard_layout_lithuanian" msgid="6943110873053106534">"Litouws"</string> - <string name="keyboard_layout_spanish_latin" msgid="5690539836069535697">"Spaans (Latijns-Amerika)"</string> </resources> diff --git a/packages/InputDevices/res/values-pl/strings.xml b/packages/InputDevices/res/values-pl/strings.xml index f84252a..4522215 100644 --- a/packages/InputDevices/res/values-pl/strings.xml +++ b/packages/InputDevices/res/values-pl/strings.xml @@ -34,9 +34,4 @@ <string name="keyboard_layout_slovenian" msgid="1735933028924982368">"Słoweński"</string> <string name="keyboard_layout_turkish" msgid="7736163250907964898">"Turecki"</string> <string name="keyboard_layout_ukrainian" msgid="8176637744389480417">"Ukraiński"</string> - <string name="keyboard_layout_arabic" msgid="5671970465174968712">"arabski"</string> - <string name="keyboard_layout_greek" msgid="7289253560162386040">"grecki"</string> - <string name="keyboard_layout_hebrew" msgid="7241473985890173812">"hebrajski"</string> - <string name="keyboard_layout_lithuanian" msgid="6943110873053106534">"litewski"</string> - <string name="keyboard_layout_spanish_latin" msgid="5690539836069535697">"hiszpański (Ameryka Łacińska)"</string> </resources> diff --git a/packages/InputDevices/res/values-pt-rPT/strings.xml b/packages/InputDevices/res/values-pt-rPT/strings.xml index 670badd..9a639cd 100644 --- a/packages/InputDevices/res/values-pt-rPT/strings.xml +++ b/packages/InputDevices/res/values-pt-rPT/strings.xml @@ -34,9 +34,4 @@ <string name="keyboard_layout_slovenian" msgid="1735933028924982368">"Esloveno"</string> <string name="keyboard_layout_turkish" msgid="7736163250907964898">"Turco"</string> <string name="keyboard_layout_ukrainian" msgid="8176637744389480417">"Ucraniano"</string> - <string name="keyboard_layout_arabic" msgid="5671970465174968712">"Árabe"</string> - <string name="keyboard_layout_greek" msgid="7289253560162386040">"Grego"</string> - <string name="keyboard_layout_hebrew" msgid="7241473985890173812">"Hebraico"</string> - <string name="keyboard_layout_lithuanian" msgid="6943110873053106534">"Lituano"</string> - <string name="keyboard_layout_spanish_latin" msgid="5690539836069535697">"Espanhol (América Latina)"</string> </resources> diff --git a/packages/InputDevices/res/values-pt/strings.xml b/packages/InputDevices/res/values-pt/strings.xml index 71274aa..05a0cd0 100644 --- a/packages/InputDevices/res/values-pt/strings.xml +++ b/packages/InputDevices/res/values-pt/strings.xml @@ -34,9 +34,4 @@ <string name="keyboard_layout_slovenian" msgid="1735933028924982368">"Esloveno"</string> <string name="keyboard_layout_turkish" msgid="7736163250907964898">"Turco"</string> <string name="keyboard_layout_ukrainian" msgid="8176637744389480417">"Ucraniano"</string> - <string name="keyboard_layout_arabic" msgid="5671970465174968712">"Árabe"</string> - <string name="keyboard_layout_greek" msgid="7289253560162386040">"Grego"</string> - <string name="keyboard_layout_hebrew" msgid="7241473985890173812">"Hebraico"</string> - <string name="keyboard_layout_lithuanian" msgid="6943110873053106534">"Lituano"</string> - <string name="keyboard_layout_spanish_latin" msgid="5690539836069535697">"Espanhol (América Latina)"</string> </resources> diff --git a/packages/InputDevices/res/values-ro/strings.xml b/packages/InputDevices/res/values-ro/strings.xml index 151c11d..895d8f6 100644 --- a/packages/InputDevices/res/values-ro/strings.xml +++ b/packages/InputDevices/res/values-ro/strings.xml @@ -34,9 +34,4 @@ <string name="keyboard_layout_slovenian" msgid="1735933028924982368">"Slovenă"</string> <string name="keyboard_layout_turkish" msgid="7736163250907964898">"Turcă"</string> <string name="keyboard_layout_ukrainian" msgid="8176637744389480417">"Ucraineană"</string> - <string name="keyboard_layout_arabic" msgid="5671970465174968712">"Arabă"</string> - <string name="keyboard_layout_greek" msgid="7289253560162386040">"Greacă"</string> - <string name="keyboard_layout_hebrew" msgid="7241473985890173812">"Ebraică"</string> - <string name="keyboard_layout_lithuanian" msgid="6943110873053106534">"Lituaniană"</string> - <string name="keyboard_layout_spanish_latin" msgid="5690539836069535697">"Spaniolă (America Latină)"</string> </resources> diff --git a/packages/InputDevices/res/values-ru/strings.xml b/packages/InputDevices/res/values-ru/strings.xml index 585a215..a4cbfd7 100644 --- a/packages/InputDevices/res/values-ru/strings.xml +++ b/packages/InputDevices/res/values-ru/strings.xml @@ -34,9 +34,4 @@ <string name="keyboard_layout_slovenian" msgid="1735933028924982368">"словенский"</string> <string name="keyboard_layout_turkish" msgid="7736163250907964898">"турецкий"</string> <string name="keyboard_layout_ukrainian" msgid="8176637744389480417">"украинский"</string> - <string name="keyboard_layout_arabic" msgid="5671970465174968712">"Арабский"</string> - <string name="keyboard_layout_greek" msgid="7289253560162386040">"Греческий"</string> - <string name="keyboard_layout_hebrew" msgid="7241473985890173812">"Иврит"</string> - <string name="keyboard_layout_lithuanian" msgid="6943110873053106534">"Литовский"</string> - <string name="keyboard_layout_spanish_latin" msgid="5690539836069535697">"Испанский (Латинская Америка)"</string> </resources> diff --git a/packages/InputDevices/res/values-sk/strings.xml b/packages/InputDevices/res/values-sk/strings.xml index d14c204..01ab042 100644 --- a/packages/InputDevices/res/values-sk/strings.xml +++ b/packages/InputDevices/res/values-sk/strings.xml @@ -34,9 +34,4 @@ <string name="keyboard_layout_slovenian" msgid="1735933028924982368">"slovinské"</string> <string name="keyboard_layout_turkish" msgid="7736163250907964898">"turecké"</string> <string name="keyboard_layout_ukrainian" msgid="8176637744389480417">"ukrajinské"</string> - <string name="keyboard_layout_arabic" msgid="5671970465174968712">"Arabčina"</string> - <string name="keyboard_layout_greek" msgid="7289253560162386040">"Gréčtina"</string> - <string name="keyboard_layout_hebrew" msgid="7241473985890173812">"Hebrejčina"</string> - <string name="keyboard_layout_lithuanian" msgid="6943110873053106534">"Litovčina"</string> - <string name="keyboard_layout_spanish_latin" msgid="5690539836069535697">"Španielčina (Latinská Amerika)"</string> </resources> diff --git a/packages/InputDevices/res/values-sl/strings.xml b/packages/InputDevices/res/values-sl/strings.xml index b8fc823..30ff3c4 100644 --- a/packages/InputDevices/res/values-sl/strings.xml +++ b/packages/InputDevices/res/values-sl/strings.xml @@ -34,9 +34,4 @@ <string name="keyboard_layout_slovenian" msgid="1735933028924982368">"slovenska"</string> <string name="keyboard_layout_turkish" msgid="7736163250907964898">"turška"</string> <string name="keyboard_layout_ukrainian" msgid="8176637744389480417">"ukrajinska"</string> - <string name="keyboard_layout_arabic" msgid="5671970465174968712">"arabščina"</string> - <string name="keyboard_layout_greek" msgid="7289253560162386040">"grščina"</string> - <string name="keyboard_layout_hebrew" msgid="7241473985890173812">"hebrejščina"</string> - <string name="keyboard_layout_lithuanian" msgid="6943110873053106534">"litovščina"</string> - <string name="keyboard_layout_spanish_latin" msgid="5690539836069535697">"španščina (Latinska Amerika)"</string> </resources> diff --git a/packages/InputDevices/res/values-sr/strings.xml b/packages/InputDevices/res/values-sr/strings.xml index 45e0b4b..d23ac00 100644 --- a/packages/InputDevices/res/values-sr/strings.xml +++ b/packages/InputDevices/res/values-sr/strings.xml @@ -34,9 +34,4 @@ <string name="keyboard_layout_slovenian" msgid="1735933028924982368">"словеначка"</string> <string name="keyboard_layout_turkish" msgid="7736163250907964898">"турска"</string> <string name="keyboard_layout_ukrainian" msgid="8176637744389480417">"украјинска"</string> - <string name="keyboard_layout_arabic" msgid="5671970465174968712">"арапски"</string> - <string name="keyboard_layout_greek" msgid="7289253560162386040">"грчки"</string> - <string name="keyboard_layout_hebrew" msgid="7241473985890173812">"хебрејски"</string> - <string name="keyboard_layout_lithuanian" msgid="6943110873053106534">"литвански"</string> - <string name="keyboard_layout_spanish_latin" msgid="5690539836069535697">"шпански (Латинска Америка)"</string> </resources> diff --git a/packages/InputDevices/res/values-sv/strings.xml b/packages/InputDevices/res/values-sv/strings.xml index ce20bff..25a5ae8 100644 --- a/packages/InputDevices/res/values-sv/strings.xml +++ b/packages/InputDevices/res/values-sv/strings.xml @@ -34,9 +34,4 @@ <string name="keyboard_layout_slovenian" msgid="1735933028924982368">"Slovenskt"</string> <string name="keyboard_layout_turkish" msgid="7736163250907964898">"Turkiskt"</string> <string name="keyboard_layout_ukrainian" msgid="8176637744389480417">"Ukrainskt"</string> - <string name="keyboard_layout_arabic" msgid="5671970465174968712">"Arabiska"</string> - <string name="keyboard_layout_greek" msgid="7289253560162386040">"Grekiska"</string> - <string name="keyboard_layout_hebrew" msgid="7241473985890173812">"Hebreiska"</string> - <string name="keyboard_layout_lithuanian" msgid="6943110873053106534">"Litauiska"</string> - <string name="keyboard_layout_spanish_latin" msgid="5690539836069535697">"Spanska (latinamerikansk)"</string> </resources> diff --git a/packages/InputDevices/res/values-sw/strings.xml b/packages/InputDevices/res/values-sw/strings.xml index 38bc83a..65ab96a 100644 --- a/packages/InputDevices/res/values-sw/strings.xml +++ b/packages/InputDevices/res/values-sw/strings.xml @@ -34,9 +34,4 @@ <string name="keyboard_layout_slovenian" msgid="1735933028924982368">"Kislovenia"</string> <string name="keyboard_layout_turkish" msgid="7736163250907964898">"Kituruki"</string> <string name="keyboard_layout_ukrainian" msgid="8176637744389480417">"Kiukrania"</string> - <string name="keyboard_layout_arabic" msgid="5671970465174968712">"Kiarabu"</string> - <string name="keyboard_layout_greek" msgid="7289253560162386040">"Kigiriki"</string> - <string name="keyboard_layout_hebrew" msgid="7241473985890173812">"Kiyahudi"</string> - <string name="keyboard_layout_lithuanian" msgid="6943110873053106534">"Kilithuania"</string> - <string name="keyboard_layout_spanish_latin" msgid="5690539836069535697">"Kihispania (Kilatini)"</string> </resources> diff --git a/packages/InputDevices/res/values-th/strings.xml b/packages/InputDevices/res/values-th/strings.xml index 8951281..0cc7d47 100644 --- a/packages/InputDevices/res/values-th/strings.xml +++ b/packages/InputDevices/res/values-th/strings.xml @@ -34,9 +34,4 @@ <string name="keyboard_layout_slovenian" msgid="1735933028924982368">"สโลวีเนีย"</string> <string name="keyboard_layout_turkish" msgid="7736163250907964898">"ตุรกี"</string> <string name="keyboard_layout_ukrainian" msgid="8176637744389480417">"ยูเครน"</string> - <string name="keyboard_layout_arabic" msgid="5671970465174968712">"ภาษาอารบิค"</string> - <string name="keyboard_layout_greek" msgid="7289253560162386040">"กรีก"</string> - <string name="keyboard_layout_hebrew" msgid="7241473985890173812">"ฮิบรู"</string> - <string name="keyboard_layout_lithuanian" msgid="6943110873053106534">"ลิทัวเนีย"</string> - <string name="keyboard_layout_spanish_latin" msgid="5690539836069535697">"สเปน (ละติน)"</string> </resources> diff --git a/packages/InputDevices/res/values-tl/strings.xml b/packages/InputDevices/res/values-tl/strings.xml index c551e20..08f34d2 100644 --- a/packages/InputDevices/res/values-tl/strings.xml +++ b/packages/InputDevices/res/values-tl/strings.xml @@ -34,9 +34,4 @@ <string name="keyboard_layout_slovenian" msgid="1735933028924982368">"Slovenian"</string> <string name="keyboard_layout_turkish" msgid="7736163250907964898">"Turkish"</string> <string name="keyboard_layout_ukrainian" msgid="8176637744389480417">"Ukrainian"</string> - <string name="keyboard_layout_arabic" msgid="5671970465174968712">"Arabic"</string> - <string name="keyboard_layout_greek" msgid="7289253560162386040">"Greek"</string> - <string name="keyboard_layout_hebrew" msgid="7241473985890173812">"Hebrew"</string> - <string name="keyboard_layout_lithuanian" msgid="6943110873053106534">"Lithuanian"</string> - <string name="keyboard_layout_spanish_latin" msgid="5690539836069535697">"Spanish (Latin)"</string> </resources> diff --git a/packages/InputDevices/res/values-tr/strings.xml b/packages/InputDevices/res/values-tr/strings.xml index d828e78..f7c1262 100644 --- a/packages/InputDevices/res/values-tr/strings.xml +++ b/packages/InputDevices/res/values-tr/strings.xml @@ -34,9 +34,4 @@ <string name="keyboard_layout_slovenian" msgid="1735933028924982368">"Slovence"</string> <string name="keyboard_layout_turkish" msgid="7736163250907964898">"Türkçe"</string> <string name="keyboard_layout_ukrainian" msgid="8176637744389480417">"Ukraynaca"</string> - <string name="keyboard_layout_arabic" msgid="5671970465174968712">"Arapça"</string> - <string name="keyboard_layout_greek" msgid="7289253560162386040">"Yunanca"</string> - <string name="keyboard_layout_hebrew" msgid="7241473985890173812">"İbranice"</string> - <string name="keyboard_layout_lithuanian" msgid="6943110873053106534">"Litvanca"</string> - <string name="keyboard_layout_spanish_latin" msgid="5690539836069535697">"İspanyolca (Latin)"</string> </resources> diff --git a/packages/InputDevices/res/values-uk/strings.xml b/packages/InputDevices/res/values-uk/strings.xml index b4b9923..ee6ffc7 100644 --- a/packages/InputDevices/res/values-uk/strings.xml +++ b/packages/InputDevices/res/values-uk/strings.xml @@ -34,9 +34,4 @@ <string name="keyboard_layout_slovenian" msgid="1735933028924982368">"словенська"</string> <string name="keyboard_layout_turkish" msgid="7736163250907964898">"турецька"</string> <string name="keyboard_layout_ukrainian" msgid="8176637744389480417">"українська"</string> - <string name="keyboard_layout_arabic" msgid="5671970465174968712">"Арабська"</string> - <string name="keyboard_layout_greek" msgid="7289253560162386040">"Грецька"</string> - <string name="keyboard_layout_hebrew" msgid="7241473985890173812">"Іврит"</string> - <string name="keyboard_layout_lithuanian" msgid="6943110873053106534">"Литовська"</string> - <string name="keyboard_layout_spanish_latin" msgid="5690539836069535697">"Іспанська (латиниця)"</string> </resources> diff --git a/packages/InputDevices/res/values-vi/strings.xml b/packages/InputDevices/res/values-vi/strings.xml index 18aa989..7a65e45 100644 --- a/packages/InputDevices/res/values-vi/strings.xml +++ b/packages/InputDevices/res/values-vi/strings.xml @@ -34,9 +34,4 @@ <string name="keyboard_layout_slovenian" msgid="1735933028924982368">"Tiếng Sloven"</string> <string name="keyboard_layout_turkish" msgid="7736163250907964898">"Tiếng Thổ Nhĩ Kỳ"</string> <string name="keyboard_layout_ukrainian" msgid="8176637744389480417">"Tiếng Ukraina"</string> - <string name="keyboard_layout_arabic" msgid="5671970465174968712">"Tiếng Ả rập"</string> - <string name="keyboard_layout_greek" msgid="7289253560162386040">"Tiếng Hy Lạp"</string> - <string name="keyboard_layout_hebrew" msgid="7241473985890173812">"Tiếng Do Thái"</string> - <string name="keyboard_layout_lithuanian" msgid="6943110873053106534">"Tiếng Lithuania"</string> - <string name="keyboard_layout_spanish_latin" msgid="5690539836069535697">"Tiếng Tây Ban Nha (La tinh)"</string> </resources> diff --git a/packages/InputDevices/res/values-zh-rCN/strings.xml b/packages/InputDevices/res/values-zh-rCN/strings.xml index 8d76f92..85b1c84 100644 --- a/packages/InputDevices/res/values-zh-rCN/strings.xml +++ b/packages/InputDevices/res/values-zh-rCN/strings.xml @@ -34,9 +34,4 @@ <string name="keyboard_layout_slovenian" msgid="1735933028924982368">"斯洛文尼亚语"</string> <string name="keyboard_layout_turkish" msgid="7736163250907964898">"土耳其语"</string> <string name="keyboard_layout_ukrainian" msgid="8176637744389480417">"乌克兰语"</string> - <string name="keyboard_layout_arabic" msgid="5671970465174968712">"阿拉伯语"</string> - <string name="keyboard_layout_greek" msgid="7289253560162386040">"希腊语"</string> - <string name="keyboard_layout_hebrew" msgid="7241473985890173812">"希伯来语"</string> - <string name="keyboard_layout_lithuanian" msgid="6943110873053106534">"立陶宛语"</string> - <string name="keyboard_layout_spanish_latin" msgid="5690539836069535697">"西班牙语(拉丁美洲)"</string> </resources> diff --git a/packages/InputDevices/res/values-zh-rHK/strings.xml b/packages/InputDevices/res/values-zh-rHK/strings.xml index 031f294..839c546 100644 --- a/packages/InputDevices/res/values-zh-rHK/strings.xml +++ b/packages/InputDevices/res/values-zh-rHK/strings.xml @@ -34,9 +34,4 @@ <string name="keyboard_layout_slovenian" msgid="1735933028924982368">"斯洛文尼亞文"</string> <string name="keyboard_layout_turkish" msgid="7736163250907964898">"土耳其文"</string> <string name="keyboard_layout_ukrainian" msgid="8176637744389480417">"烏克蘭文"</string> - <string name="keyboard_layout_arabic" msgid="5671970465174968712">"阿拉伯文"</string> - <string name="keyboard_layout_greek" msgid="7289253560162386040">"希臘文"</string> - <string name="keyboard_layout_hebrew" msgid="7241473985890173812">"希伯來文"</string> - <string name="keyboard_layout_lithuanian" msgid="6943110873053106534">"立陶宛文"</string> - <string name="keyboard_layout_spanish_latin" msgid="5690539836069535697">"西班牙文 (拉丁美洲)"</string> </resources> diff --git a/packages/InputDevices/res/values-zh-rTW/strings.xml b/packages/InputDevices/res/values-zh-rTW/strings.xml index 76cb6a2..ba9f132 100644 --- a/packages/InputDevices/res/values-zh-rTW/strings.xml +++ b/packages/InputDevices/res/values-zh-rTW/strings.xml @@ -34,9 +34,4 @@ <string name="keyboard_layout_slovenian" msgid="1735933028924982368">"斯洛維尼亞文"</string> <string name="keyboard_layout_turkish" msgid="7736163250907964898">"土耳其文"</string> <string name="keyboard_layout_ukrainian" msgid="8176637744389480417">"烏克蘭文"</string> - <string name="keyboard_layout_arabic" msgid="5671970465174968712">"阿拉伯文"</string> - <string name="keyboard_layout_greek" msgid="7289253560162386040">"希臘文"</string> - <string name="keyboard_layout_hebrew" msgid="7241473985890173812">"希伯來文"</string> - <string name="keyboard_layout_lithuanian" msgid="6943110873053106534">"立陶宛文"</string> - <string name="keyboard_layout_spanish_latin" msgid="5690539836069535697">"西班牙文 (拉丁美洲)"</string> </resources> diff --git a/packages/InputDevices/res/values-zu/strings.xml b/packages/InputDevices/res/values-zu/strings.xml index 3e4ad67..fbf1074 100644 --- a/packages/InputDevices/res/values-zu/strings.xml +++ b/packages/InputDevices/res/values-zu/strings.xml @@ -34,9 +34,4 @@ <string name="keyboard_layout_slovenian" msgid="1735933028924982368">"Isi-Slovenian"</string> <string name="keyboard_layout_turkish" msgid="7736163250907964898">"Isi-Turkish"</string> <string name="keyboard_layout_ukrainian" msgid="8176637744389480417">"Isi-Ukrainian"</string> - <string name="keyboard_layout_arabic" msgid="5671970465174968712">"Isi-Arabic"</string> - <string name="keyboard_layout_greek" msgid="7289253560162386040">"Isi-Greek"</string> - <string name="keyboard_layout_hebrew" msgid="7241473985890173812">"Isi-Hebrew"</string> - <string name="keyboard_layout_lithuanian" msgid="6943110873053106534">"Isi-Lithuanian"</string> - <string name="keyboard_layout_spanish_latin" msgid="5690539836069535697">"Isi-Spanish (Latin)"</string> </resources> diff --git a/packages/InputDevices/res/values/strings.xml b/packages/InputDevices/res/values/strings.xml index 6239336..968961a 100644 --- a/packages/InputDevices/res/values/strings.xml +++ b/packages/InputDevices/res/values/strings.xml @@ -113,4 +113,7 @@ <!-- Spanish (Latin) keyboard layout label. [CHAR LIMIT=35] --> <string name="keyboard_layout_spanish_latin">Spanish (Latin)</string> + + <!-- Latvian keyboard layout label. [CHAR LIMIT=35] --> + <string name="keyboard_layout_latvian">Latvian</string> </resources> diff --git a/packages/InputDevices/res/xml/keyboard_layouts.xml b/packages/InputDevices/res/xml/keyboard_layouts.xml index dc1db0b..6f7253c 100644 --- a/packages/InputDevices/res/xml/keyboard_layouts.xml +++ b/packages/InputDevices/res/xml/keyboard_layouts.xml @@ -143,4 +143,8 @@ <keyboard-layout android:name="keyboard_layout_spanish_latin" android:label="@string/keyboard_layout_spanish_latin" android:keyboardLayout="@raw/keyboard_layout_spanish_latin" /> + + <keyboard-layout android:name="keyboard_layout_latvian" + android:label="@string/keyboard_layout_latvian" + android:keyboardLayout="@raw/keyboard_layout_latvian_qwerty" /> </keyboard-layouts> diff --git a/packages/Keyguard/res/layout/keyguard_status_view.xml b/packages/Keyguard/res/layout/keyguard_status_view.xml index 0d943ed..f79819f 100644 --- a/packages/Keyguard/res/layout/keyguard_status_view.xml +++ b/packages/Keyguard/res/layout/keyguard_status_view.xml @@ -28,8 +28,6 @@ androidprv:layout_maxWidth="@dimen/keyguard_security_width" androidprv:layout_maxHeight="@dimen/keyguard_security_height" android:gravity="center_horizontal|top" - android:layout_marginTop="48dp" - android:layout_marginBottom="32dp" android:contentDescription="@string/keyguard_accessibility_status"> <LinearLayout android:layout_width="match_parent" diff --git a/packages/Keyguard/res/values-af/strings.xml b/packages/Keyguard/res/values-af/strings.xml index a046dc5..2667ed2 100644 --- a/packages/Keyguard/res/values-af/strings.xml +++ b/packages/Keyguard/res/values-af/strings.xml @@ -20,7 +20,6 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="719438068451601849">"Keyguard"</string> <string name="keyguard_password_enter_pin_code" msgid="3037685796058495017">"Voer PIN-kode in"</string> <string name="keyguard_password_enter_puk_code" msgid="3035856550289724338">"Voer SIM PUK- en nuwe PIN-kode in"</string> <string name="keyguard_password_enter_puk_prompt" msgid="1801941051094974609">"SIM PUK-kode"</string> diff --git a/packages/Keyguard/res/values-am/strings.xml b/packages/Keyguard/res/values-am/strings.xml index 0bb7993..fd4cf78 100644 --- a/packages/Keyguard/res/values-am/strings.xml +++ b/packages/Keyguard/res/values-am/strings.xml @@ -20,7 +20,6 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="719438068451601849">"የቁልፍ ጥበቃ"</string> <string name="keyguard_password_enter_pin_code" msgid="3037685796058495017">"ፒን ኮድ ተይብ"</string> <string name="keyguard_password_enter_puk_code" msgid="3035856550289724338">"የሲም PUK እና አዲሱን ፒን ኮድ ይተይቡ"</string> <string name="keyguard_password_enter_puk_prompt" msgid="1801941051094974609">"የሲም PUK ኮድ"</string> @@ -28,7 +27,7 @@ <string name="keyguard_password_entry_touch_hint" msgid="7858547464982981384"><font size="17">"የይለፍ ቃል ለመተየብ ንካ"</font></string> <string name="keyguard_password_enter_password_code" msgid="1054721668279049780">"ለመክፈት የይለፍ ቃል ተይብ"</string> <string name="keyguard_password_enter_pin_password_code" msgid="6391755146112503443">"ለመክፈት ፒን ተይብ"</string> - <string name="keyguard_password_wrong_pin_code" msgid="2422225591006134936">"ትክክል ያልሆነ ፒን ኮድ።"</string> + <string name="keyguard_password_wrong_pin_code" msgid="2422225591006134936">"ትክክል ያልሆነ PIN ኮድ።"</string> <string name="keyguard_label_text" msgid="861796461028298424">"ለመክፈት፣ምናሌ ተጫን ከዛ 0"</string> <string name="faceunlock_multiple_failures" msgid="754137583022792429">"የመጨረሻውን የገጽ ክፈት ሙከራዎችን አልፏል"</string> <string name="keyguard_charged" msgid="3272223906073492454">"ባትሪ ሞልቷል"</string> @@ -83,7 +82,7 @@ <string name="password_keyboard_label_alpha_key" msgid="8001096175167485649">"ABC"</string> <string name="password_keyboard_label_alt_key" msgid="1284820942620288678">"ALT"</string> <string name="keyboardview_keycode_alt" msgid="4856868820040051939">"Alt"</string> - <string name="keyboardview_keycode_cancel" msgid="1203984017245783244">"ይቅር"</string> + <string name="keyboardview_keycode_cancel" msgid="1203984017245783244">"ተወው"</string> <string name="keyboardview_keycode_delete" msgid="3337914833206635744">"ሰርዝ"</string> <string name="keyboardview_keycode_done" msgid="1992571118466679775">"ተከናውኗል"</string> <string name="keyboardview_keycode_mode_change" msgid="4547387741906537519">"ሞድ ለውጥ"</string> diff --git a/packages/Keyguard/res/values-ar/strings.xml b/packages/Keyguard/res/values-ar/strings.xml index eac3216..83d4b93 100644 --- a/packages/Keyguard/res/values-ar/strings.xml +++ b/packages/Keyguard/res/values-ar/strings.xml @@ -20,7 +20,6 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="719438068451601849">"Keyguard"</string> <string name="keyguard_password_enter_pin_code" msgid="3037685796058495017">"اكتب رمز رمز PIN"</string> <string name="keyguard_password_enter_puk_code" msgid="3035856550289724338">"أدخل رمز PUK لبطاقة SIM ورمز \"رقم التعريف الشخصي\" الجديد"</string> <string name="keyguard_password_enter_puk_prompt" msgid="1801941051094974609">"رمز PUK لبطاقة SIM"</string> diff --git a/packages/Keyguard/res/values-bg/strings.xml b/packages/Keyguard/res/values-bg/strings.xml index ad4285a..641adbd 100644 --- a/packages/Keyguard/res/values-bg/strings.xml +++ b/packages/Keyguard/res/values-bg/strings.xml @@ -20,7 +20,6 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="719438068451601849">"Keyguard"</string> <string name="keyguard_password_enter_pin_code" msgid="3037685796058495017">"Въведете ПИН кода"</string> <string name="keyguard_password_enter_puk_code" msgid="3035856550289724338">"Въведете PUK за SIM картата и новия ПИН код"</string> <string name="keyguard_password_enter_puk_prompt" msgid="1801941051094974609">"PUK код за SIM картата"</string> diff --git a/packages/Keyguard/res/values-ca/strings.xml b/packages/Keyguard/res/values-ca/strings.xml index 7e40709..8b81086 100644 --- a/packages/Keyguard/res/values-ca/strings.xml +++ b/packages/Keyguard/res/values-ca/strings.xml @@ -20,7 +20,6 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="719438068451601849">"Bloqueig de teclat"</string> <string name="keyguard_password_enter_pin_code" msgid="3037685796058495017">"Introdueix el codi PIN"</string> <string name="keyguard_password_enter_puk_code" msgid="3035856550289724338">"Escriu el PUK de la SIM i el codi PIN nou."</string> <string name="keyguard_password_enter_puk_prompt" msgid="1801941051094974609">"Codi PUK de la SIM"</string> diff --git a/packages/Keyguard/res/values-cs/strings.xml b/packages/Keyguard/res/values-cs/strings.xml index 53cc707..e4ed02a 100644 --- a/packages/Keyguard/res/values-cs/strings.xml +++ b/packages/Keyguard/res/values-cs/strings.xml @@ -20,7 +20,6 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="719438068451601849">"Uzamčení kláves"</string> <string name="keyguard_password_enter_pin_code" msgid="3037685796058495017">"Zadejte kód PIN"</string> <string name="keyguard_password_enter_puk_code" msgid="3035856550289724338">"Zadejte kód PUK SIM karty a nový kód PIN."</string> <string name="keyguard_password_enter_puk_prompt" msgid="1801941051094974609">"Kód PUK SIM karty"</string> diff --git a/packages/Keyguard/res/values-da/strings.xml b/packages/Keyguard/res/values-da/strings.xml index cf1aad9..f8f0a6f 100644 --- a/packages/Keyguard/res/values-da/strings.xml +++ b/packages/Keyguard/res/values-da/strings.xml @@ -20,7 +20,6 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="719438068451601849">"Tastaturlås"</string> <string name="keyguard_password_enter_pin_code" msgid="3037685796058495017">"Indtast pinkode"</string> <string name="keyguard_password_enter_puk_code" msgid="3035856550289724338">"Indtast PUK-koden til SIM-kortet og den nye pinkode"</string> <string name="keyguard_password_enter_puk_prompt" msgid="1801941051094974609">"PUK-kode til SIM-kort"</string> diff --git a/packages/Keyguard/res/values-de/strings.xml b/packages/Keyguard/res/values-de/strings.xml index 14df237..edbbffd 100644 --- a/packages/Keyguard/res/values-de/strings.xml +++ b/packages/Keyguard/res/values-de/strings.xml @@ -20,7 +20,6 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="719438068451601849">"Keyguard"</string> <string name="keyguard_password_enter_pin_code" msgid="3037685796058495017">"PIN-Code eingeben"</string> <string name="keyguard_password_enter_puk_code" msgid="3035856550289724338">"Geben Sie den PUK-Code der SIM-Karte und den neuen PIN-Code ein."</string> <string name="keyguard_password_enter_puk_prompt" msgid="1801941051094974609">"PUK-Code der SIM-Karte"</string> diff --git a/packages/Keyguard/res/values-el/strings.xml b/packages/Keyguard/res/values-el/strings.xml index 63d8409..be07dcd 100644 --- a/packages/Keyguard/res/values-el/strings.xml +++ b/packages/Keyguard/res/values-el/strings.xml @@ -20,7 +20,6 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="719438068451601849">"Keyguard"</string> <string name="keyguard_password_enter_pin_code" msgid="3037685796058495017">"Πληκτρολογήστε τον κωδικό αριθμό PIN"</string> <string name="keyguard_password_enter_puk_code" msgid="3035856550289724338">"Πληκτρολογήστε τον κωδικό PUK της κάρτας SIM και τον νέο κωδικό PIN"</string> <string name="keyguard_password_enter_puk_prompt" msgid="1801941051094974609">"Κωδικός PUK κάρτας SIM"</string> diff --git a/packages/Keyguard/res/values-en-rGB/strings.xml b/packages/Keyguard/res/values-en-rGB/strings.xml index ecc850d..f0d81b8 100644 --- a/packages/Keyguard/res/values-en-rGB/strings.xml +++ b/packages/Keyguard/res/values-en-rGB/strings.xml @@ -20,7 +20,6 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="719438068451601849">"Keyguard"</string> <string name="keyguard_password_enter_pin_code" msgid="3037685796058495017">"Type PIN code"</string> <string name="keyguard_password_enter_puk_code" msgid="3035856550289724338">"Type SIM PUK and new PIN code"</string> <string name="keyguard_password_enter_puk_prompt" msgid="1801941051094974609">"SIM PUK code"</string> diff --git a/packages/Keyguard/res/values-en-rIN/strings.xml b/packages/Keyguard/res/values-en-rIN/strings.xml index ecc850d..f0d81b8 100644 --- a/packages/Keyguard/res/values-en-rIN/strings.xml +++ b/packages/Keyguard/res/values-en-rIN/strings.xml @@ -20,7 +20,6 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="719438068451601849">"Keyguard"</string> <string name="keyguard_password_enter_pin_code" msgid="3037685796058495017">"Type PIN code"</string> <string name="keyguard_password_enter_puk_code" msgid="3035856550289724338">"Type SIM PUK and new PIN code"</string> <string name="keyguard_password_enter_puk_prompt" msgid="1801941051094974609">"SIM PUK code"</string> diff --git a/packages/Keyguard/res/values-es-rUS/strings.xml b/packages/Keyguard/res/values-es-rUS/strings.xml index c6d63ba..38beca3 100644 --- a/packages/Keyguard/res/values-es-rUS/strings.xml +++ b/packages/Keyguard/res/values-es-rUS/strings.xml @@ -20,7 +20,6 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="719438068451601849">"Bloqueo de teclado"</string> <string name="keyguard_password_enter_pin_code" msgid="3037685796058495017">"Ingresa el código PIN"</string> <string name="keyguard_password_enter_puk_code" msgid="3035856550289724338">"Escribe el código PUK de la tarjeta SIM y un nuevo código PIN."</string> <string name="keyguard_password_enter_puk_prompt" msgid="1801941051094974609">"Código PUK de la tarjeta SIM"</string> diff --git a/packages/Keyguard/res/values-es/strings.xml b/packages/Keyguard/res/values-es/strings.xml index 8a78399..a93b10d 100644 --- a/packages/Keyguard/res/values-es/strings.xml +++ b/packages/Keyguard/res/values-es/strings.xml @@ -20,7 +20,6 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="719438068451601849">"Bloqueo"</string> <string name="keyguard_password_enter_pin_code" msgid="3037685796058495017">"Introduce el código PIN."</string> <string name="keyguard_password_enter_puk_code" msgid="3035856550289724338">"Escribe el PUK de la tarjeta SIM y un nuevo código PIN"</string> <string name="keyguard_password_enter_puk_prompt" msgid="1801941051094974609">"Código PUK de la tarjeta SIM"</string> diff --git a/packages/Keyguard/res/values-et-rEE/strings.xml b/packages/Keyguard/res/values-et-rEE/strings.xml index b837f01..90bd829 100644 --- a/packages/Keyguard/res/values-et-rEE/strings.xml +++ b/packages/Keyguard/res/values-et-rEE/strings.xml @@ -20,7 +20,6 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="719438068451601849">"Klahvilukk"</string> <string name="keyguard_password_enter_pin_code" msgid="3037685796058495017">"Sisestage PIN-kood"</string> <string name="keyguard_password_enter_puk_code" msgid="3035856550289724338">"Sisestage SIM-i PUK- ja uus PIN-kood"</string> <string name="keyguard_password_enter_puk_prompt" msgid="1801941051094974609">"SIM-i PUK-kood"</string> diff --git a/packages/Keyguard/res/values-fa/strings.xml b/packages/Keyguard/res/values-fa/strings.xml index 5d1c487..b4a4c61 100644 --- a/packages/Keyguard/res/values-fa/strings.xml +++ b/packages/Keyguard/res/values-fa/strings.xml @@ -20,7 +20,6 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="719438068451601849">"Keyguard"</string> <string name="keyguard_password_enter_pin_code" msgid="3037685796058495017">"پین کد را وارد کنید"</string> <string name="keyguard_password_enter_puk_code" msgid="3035856550289724338">"PUK سیم کارت و کد پین جدید را تایپ کنید"</string> <string name="keyguard_password_enter_puk_prompt" msgid="1801941051094974609">"کد PUK سیم کارت"</string> diff --git a/packages/Keyguard/res/values-fi/strings.xml b/packages/Keyguard/res/values-fi/strings.xml index bdf6677..e079ffa 100644 --- a/packages/Keyguard/res/values-fi/strings.xml +++ b/packages/Keyguard/res/values-fi/strings.xml @@ -20,7 +20,6 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="719438068451601849">"Näppäinvahti"</string> <string name="keyguard_password_enter_pin_code" msgid="3037685796058495017">"Anna PIN-koodi"</string> <string name="keyguard_password_enter_puk_code" msgid="3035856550289724338">"Anna SIM-kortin PUK-koodi ja uusi PIN-koodi"</string> <string name="keyguard_password_enter_puk_prompt" msgid="1801941051094974609">"SIM-kortin PUK-koodi"</string> diff --git a/packages/Keyguard/res/values-fr-rCA/strings.xml b/packages/Keyguard/res/values-fr-rCA/strings.xml index e77927c..59f27aa 100644 --- a/packages/Keyguard/res/values-fr-rCA/strings.xml +++ b/packages/Keyguard/res/values-fr-rCA/strings.xml @@ -20,7 +20,6 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="719438068451601849">"Verrouillage du clavier"</string> <string name="keyguard_password_enter_pin_code" msgid="3037685796058495017">"Saisissez le NIP."</string> <string name="keyguard_password_enter_puk_code" msgid="3035856550289724338">"Entrez le code PUK et le nouveau NIP de la carte SIM"</string> <string name="keyguard_password_enter_puk_prompt" msgid="1801941051094974609">"Code PUK de la carte SIM"</string> diff --git a/packages/Keyguard/res/values-fr/strings.xml b/packages/Keyguard/res/values-fr/strings.xml index 41be1eb..b910dd4 100644 --- a/packages/Keyguard/res/values-fr/strings.xml +++ b/packages/Keyguard/res/values-fr/strings.xml @@ -20,7 +20,6 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="719438068451601849">"Protection des touches"</string> <string name="keyguard_password_enter_pin_code" msgid="3037685796058495017">"Saisissez le code PIN."</string> <string name="keyguard_password_enter_puk_code" msgid="3035856550289724338">"Saisissez la clé PUK et le nouveau code PIN de la carte SIM."</string> <string name="keyguard_password_enter_puk_prompt" msgid="1801941051094974609">"Clé PUK de la carte SIM"</string> diff --git a/packages/Keyguard/res/values-hi/strings.xml b/packages/Keyguard/res/values-hi/strings.xml index c963beb..8c94eb3 100644 --- a/packages/Keyguard/res/values-hi/strings.xml +++ b/packages/Keyguard/res/values-hi/strings.xml @@ -20,7 +20,6 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="719438068451601849">"कीगार्ड"</string> <string name="keyguard_password_enter_pin_code" msgid="3037685796058495017">"पिन कोड लिखें"</string> <string name="keyguard_password_enter_puk_code" msgid="3035856550289724338">"सिम PUK और नया PIN कोड लिखें"</string> <string name="keyguard_password_enter_puk_prompt" msgid="1801941051094974609">"सिम PUK कोड"</string> diff --git a/packages/Keyguard/res/values-hr/strings.xml b/packages/Keyguard/res/values-hr/strings.xml index 6bbdd51..3843549 100644 --- a/packages/Keyguard/res/values-hr/strings.xml +++ b/packages/Keyguard/res/values-hr/strings.xml @@ -20,7 +20,6 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="719438068451601849">"Zaštita tipkovnice"</string> <string name="keyguard_password_enter_pin_code" msgid="3037685796058495017">"Unesite PIN kôd"</string> <string name="keyguard_password_enter_puk_code" msgid="3035856550289724338">"Unesite PUK i novi PIN kôd SIM kartice"</string> <string name="keyguard_password_enter_puk_prompt" msgid="1801941051094974609">"PUK kôd SIM kartice"</string> diff --git a/packages/Keyguard/res/values-hu/strings.xml b/packages/Keyguard/res/values-hu/strings.xml index 9706874..bf6f528 100644 --- a/packages/Keyguard/res/values-hu/strings.xml +++ b/packages/Keyguard/res/values-hu/strings.xml @@ -20,7 +20,6 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="719438068451601849">"Billentyűzár"</string> <string name="keyguard_password_enter_pin_code" msgid="3037685796058495017">"Írja be a PIN kódot"</string> <string name="keyguard_password_enter_puk_code" msgid="3035856550289724338">"Írja be a SIM kártya PUK kódját, majd az új PIN kódot"</string> <string name="keyguard_password_enter_puk_prompt" msgid="1801941051094974609">"SIM kártya PUK kódja"</string> diff --git a/packages/Keyguard/res/values-hy-rAM/strings.xml b/packages/Keyguard/res/values-hy-rAM/strings.xml index 60c626d..ff87920 100644 --- a/packages/Keyguard/res/values-hy-rAM/strings.xml +++ b/packages/Keyguard/res/values-hy-rAM/strings.xml @@ -20,7 +20,6 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="719438068451601849">"Keyguard"</string> <string name="keyguard_password_enter_pin_code" msgid="3037685796058495017">"Մուտքագրեք PIN կոդը"</string> <string name="keyguard_password_enter_puk_code" msgid="3035856550289724338">"Մուտքագրեք SIM PUK-ը և նոր PIN կոդը"</string> <string name="keyguard_password_enter_puk_prompt" msgid="1801941051094974609">"SIM PUK կոդը"</string> diff --git a/packages/Keyguard/res/values-in/strings.xml b/packages/Keyguard/res/values-in/strings.xml index 9ea5a29..9e19472 100644 --- a/packages/Keyguard/res/values-in/strings.xml +++ b/packages/Keyguard/res/values-in/strings.xml @@ -20,7 +20,6 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="719438068451601849">"Keyguard"</string> <string name="keyguard_password_enter_pin_code" msgid="3037685796058495017">"Ketik kode PIN"</string> <string name="keyguard_password_enter_puk_code" msgid="3035856550289724338">"Ketik kode PIN baru dan PUK SIM"</string> <string name="keyguard_password_enter_puk_prompt" msgid="1801941051094974609">"Kode PUK SIM"</string> diff --git a/packages/Keyguard/res/values-it/strings.xml b/packages/Keyguard/res/values-it/strings.xml index 2a481e6..7212e5e 100644 --- a/packages/Keyguard/res/values-it/strings.xml +++ b/packages/Keyguard/res/values-it/strings.xml @@ -20,7 +20,6 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="719438068451601849">"Keyguard"</string> <string name="keyguard_password_enter_pin_code" msgid="3037685796058495017">"Inserisci il codice PIN"</string> <string name="keyguard_password_enter_puk_code" msgid="3035856550289724338">"Digita il PUK della SIM e il nuovo codice PIN"</string> <string name="keyguard_password_enter_puk_prompt" msgid="1801941051094974609">"Codice PUK della SIM"</string> diff --git a/packages/Keyguard/res/values-iw/strings.xml b/packages/Keyguard/res/values-iw/strings.xml index a6a3192..12b45e4 100644 --- a/packages/Keyguard/res/values-iw/strings.xml +++ b/packages/Keyguard/res/values-iw/strings.xml @@ -20,7 +20,6 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="719438068451601849">"מגן מקלדת"</string> <string name="keyguard_password_enter_pin_code" msgid="3037685796058495017">"הקלד קוד PIN"</string> <string name="keyguard_password_enter_puk_code" msgid="3035856550289724338">"הקלד קוד PUK של כרטיס SIM וקוד PIN חדש"</string> <string name="keyguard_password_enter_puk_prompt" msgid="1801941051094974609">"קוד PUK של כרטיס SIM"</string> diff --git a/packages/Keyguard/res/values-ja/strings.xml b/packages/Keyguard/res/values-ja/strings.xml index b683a9d..5106271 100644 --- a/packages/Keyguard/res/values-ja/strings.xml +++ b/packages/Keyguard/res/values-ja/strings.xml @@ -20,7 +20,6 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="719438068451601849">"キーガード"</string> <string name="keyguard_password_enter_pin_code" msgid="3037685796058495017">"PINコードを入力"</string> <string name="keyguard_password_enter_puk_code" msgid="3035856550289724338">"PUKと新しいPINコードを入力"</string> <string name="keyguard_password_enter_puk_prompt" msgid="1801941051094974609">"SIM PUKコード"</string> diff --git a/packages/Keyguard/res/values-ka-rGE/strings.xml b/packages/Keyguard/res/values-ka-rGE/strings.xml index 4414096..3d7af75 100644 --- a/packages/Keyguard/res/values-ka-rGE/strings.xml +++ b/packages/Keyguard/res/values-ka-rGE/strings.xml @@ -20,7 +20,6 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="719438068451601849">"Keyguard"</string> <string name="keyguard_password_enter_pin_code" msgid="3037685796058495017">"აკრიფეთ PIN კოდი"</string> <string name="keyguard_password_enter_puk_code" msgid="3035856550289724338">"დაბეჭდეთ SIM-ის PUK კოდი და ახალი PIN კოდი"</string> <string name="keyguard_password_enter_puk_prompt" msgid="1801941051094974609">"SIM PUK კოდი"</string> diff --git a/packages/Keyguard/res/values-km-rKH/strings.xml b/packages/Keyguard/res/values-km-rKH/strings.xml index 18b59f1..f78b93d 100644 --- a/packages/Keyguard/res/values-km-rKH/strings.xml +++ b/packages/Keyguard/res/values-km-rKH/strings.xml @@ -20,7 +20,6 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="719438068451601849">"ការពារគ្រាប់ចុច"</string> <string name="keyguard_password_enter_pin_code" msgid="3037685796058495017">"បញ្ចូលកូដ PIN"</string> <string name="keyguard_password_enter_puk_code" msgid="3035856550289724338">"បញ្ចូលលេខកូដ PUK និង PIN ថ្មីរបស់ស៊ីម"</string> <string name="keyguard_password_enter_puk_prompt" msgid="1801941051094974609">"លេខកូដ PUK ស៊ីម"</string> diff --git a/packages/Keyguard/res/values-ko/strings.xml b/packages/Keyguard/res/values-ko/strings.xml index cde2b1c..2a7200c 100644 --- a/packages/Keyguard/res/values-ko/strings.xml +++ b/packages/Keyguard/res/values-ko/strings.xml @@ -20,7 +20,6 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="719438068451601849">"키가드"</string> <string name="keyguard_password_enter_pin_code" msgid="3037685796058495017">"PIN 코드 입력"</string> <string name="keyguard_password_enter_puk_code" msgid="3035856550289724338">"SIM PUK 및 새 PIN 코드 입력"</string> <string name="keyguard_password_enter_puk_prompt" msgid="1801941051094974609">"SIM PUK 코드"</string> diff --git a/packages/Keyguard/res/values-lo-rLA/strings.xml b/packages/Keyguard/res/values-lo-rLA/strings.xml index 0571768..81c1018 100644 --- a/packages/Keyguard/res/values-lo-rLA/strings.xml +++ b/packages/Keyguard/res/values-lo-rLA/strings.xml @@ -20,7 +20,6 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="719438068451601849">"Keyguard"</string> <string name="keyguard_password_enter_pin_code" msgid="3037685796058495017">"ພິມລະຫັດ PIN"</string> <string name="keyguard_password_enter_puk_code" msgid="3035856550289724338">"ປະເພດ PUK ຂອງ SIM ແລະລະຫັດ PIN ໃໝ່"</string> <string name="keyguard_password_enter_puk_prompt" msgid="1801941051094974609">"ລະຫັດ PUK ຂອງ SIM"</string> diff --git a/packages/Keyguard/res/values-lt/strings.xml b/packages/Keyguard/res/values-lt/strings.xml index 0fd6605..ff3034a 100644 --- a/packages/Keyguard/res/values-lt/strings.xml +++ b/packages/Keyguard/res/values-lt/strings.xml @@ -20,7 +20,6 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="719438068451601849">"Klaviatūros apsauga"</string> <string name="keyguard_password_enter_pin_code" msgid="3037685796058495017">"Įveskite PIN kodą"</string> <string name="keyguard_password_enter_puk_code" msgid="3035856550289724338">"Įveskite SIM kortelės PUK kodą ir naują PIN kodą"</string> <string name="keyguard_password_enter_puk_prompt" msgid="1801941051094974609">"SIM kortelės PUK kodas"</string> diff --git a/packages/Keyguard/res/values-lv/strings.xml b/packages/Keyguard/res/values-lv/strings.xml index 2bcde1d..539f91d 100644 --- a/packages/Keyguard/res/values-lv/strings.xml +++ b/packages/Keyguard/res/values-lv/strings.xml @@ -20,7 +20,6 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="719438068451601849">"Taustiņslēgs"</string> <string name="keyguard_password_enter_pin_code" msgid="3037685796058495017">"Ievadiet PIN kodu."</string> <string name="keyguard_password_enter_puk_code" msgid="3035856550289724338">"Ievadiet SIM kartes PUK kodu un jaunu PIN kodu."</string> <string name="keyguard_password_enter_puk_prompt" msgid="1801941051094974609">"SIM kartes PUK kods"</string> diff --git a/packages/Keyguard/res/values-mn-rMN/strings.xml b/packages/Keyguard/res/values-mn-rMN/strings.xml index 7bb819d..e1b833e 100644 --- a/packages/Keyguard/res/values-mn-rMN/strings.xml +++ b/packages/Keyguard/res/values-mn-rMN/strings.xml @@ -20,7 +20,6 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="719438068451601849">"Keyguard"</string> <string name="keyguard_password_enter_pin_code" msgid="3037685796058495017">"PIN кодыг бичнэ үү"</string> <string name="keyguard_password_enter_puk_code" msgid="3035856550289724338">"СИМ ПҮК-г бичээд шинэ ПИН код оруулна уу"</string> <string name="keyguard_password_enter_puk_prompt" msgid="1801941051094974609">"СИМ ПҮК код"</string> diff --git a/packages/Keyguard/res/values-ms-rMY/strings.xml b/packages/Keyguard/res/values-ms-rMY/strings.xml index b4c1b46..a6845bc 100644 --- a/packages/Keyguard/res/values-ms-rMY/strings.xml +++ b/packages/Keyguard/res/values-ms-rMY/strings.xml @@ -20,7 +20,6 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="719438068451601849">"Pengawal kekunci"</string> <string name="keyguard_password_enter_pin_code" msgid="3037685796058495017">"Taip kod PIN"</string> <string name="keyguard_password_enter_puk_code" msgid="3035856550289724338">"Taip PUK SIM dan kod PIN baharu"</string> <string name="keyguard_password_enter_puk_prompt" msgid="1801941051094974609">"Kod PUK SIM"</string> diff --git a/packages/Keyguard/res/values-nb/strings.xml b/packages/Keyguard/res/values-nb/strings.xml index 801e03d..71138a5 100644 --- a/packages/Keyguard/res/values-nb/strings.xml +++ b/packages/Keyguard/res/values-nb/strings.xml @@ -20,7 +20,6 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="719438068451601849">"Tastaturlås"</string> <string name="keyguard_password_enter_pin_code" msgid="3037685796058495017">"Skriv inn PIN-kode"</string> <string name="keyguard_password_enter_puk_code" msgid="3035856550289724338">"Skriv inn PUK-koden for SIM-kortet og en ny PIN-kode"</string> <string name="keyguard_password_enter_puk_prompt" msgid="1801941051094974609">"PUK-koden for SIM-kortet"</string> diff --git a/packages/Keyguard/res/values-nl/strings.xml b/packages/Keyguard/res/values-nl/strings.xml index 195f950..34149c9 100644 --- a/packages/Keyguard/res/values-nl/strings.xml +++ b/packages/Keyguard/res/values-nl/strings.xml @@ -20,7 +20,6 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="719438068451601849">"Toetsblokkering"</string> <string name="keyguard_password_enter_pin_code" msgid="3037685796058495017">"Pincode typen"</string> <string name="keyguard_password_enter_puk_code" msgid="3035856550289724338">"Typ de pukcode voor de simkaart en de nieuwe pincode"</string> <string name="keyguard_password_enter_puk_prompt" msgid="1801941051094974609">"Pukcode voor simkaart"</string> diff --git a/packages/Keyguard/res/values-pl/strings.xml b/packages/Keyguard/res/values-pl/strings.xml index 165b2c4..cfcbc46 100644 --- a/packages/Keyguard/res/values-pl/strings.xml +++ b/packages/Keyguard/res/values-pl/strings.xml @@ -20,7 +20,6 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="719438068451601849">"Blokada klawiszy"</string> <string name="keyguard_password_enter_pin_code" msgid="3037685796058495017">"Wpisz kod PIN."</string> <string name="keyguard_password_enter_puk_code" msgid="3035856550289724338">"Wpisz PUK i nowy kod PIN karty SIM"</string> <string name="keyguard_password_enter_puk_prompt" msgid="1801941051094974609">"Kod PUK karty SIM"</string> diff --git a/packages/Keyguard/res/values-pt-rPT/strings.xml b/packages/Keyguard/res/values-pt-rPT/strings.xml index 332a943..abd4fcd 100644 --- a/packages/Keyguard/res/values-pt-rPT/strings.xml +++ b/packages/Keyguard/res/values-pt-rPT/strings.xml @@ -20,7 +20,6 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="719438068451601849">"Keyguard"</string> <string name="keyguard_password_enter_pin_code" msgid="3037685796058495017">"Escreva o código PIN"</string> <string name="keyguard_password_enter_puk_code" msgid="3035856550289724338">"Introduzir PUK do cartão SIM e o novo código PIN"</string> <string name="keyguard_password_enter_puk_prompt" msgid="1801941051094974609">"Código PUK do cartão SIM"</string> diff --git a/packages/Keyguard/res/values-pt/strings.xml b/packages/Keyguard/res/values-pt/strings.xml index a97b1b6..24d78e5 100644 --- a/packages/Keyguard/res/values-pt/strings.xml +++ b/packages/Keyguard/res/values-pt/strings.xml @@ -20,7 +20,6 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="719438068451601849">"Bloqueio do teclado"</string> <string name="keyguard_password_enter_pin_code" msgid="3037685796058495017">"Insira o código PIN"</string> <string name="keyguard_password_enter_puk_code" msgid="3035856550289724338">"Digite o PUK do SIM e o novo código PIN."</string> <string name="keyguard_password_enter_puk_prompt" msgid="1801941051094974609">"Código PUK do SIM"</string> diff --git a/packages/Keyguard/res/values-rm/strings.xml b/packages/Keyguard/res/values-rm/strings.xml index 4d71f27..ee26a3d 100644 --- a/packages/Keyguard/res/values-rm/strings.xml +++ b/packages/Keyguard/res/values-rm/strings.xml @@ -20,8 +20,6 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <!-- no translation found for app_name (719438068451601849) --> - <skip /> <!-- no translation found for keyguard_password_enter_pin_code (3037685796058495017) --> <skip /> <!-- no translation found for keyguard_password_enter_puk_code (3035856550289724338) --> diff --git a/packages/Keyguard/res/values-ro/strings.xml b/packages/Keyguard/res/values-ro/strings.xml index 58bc337..1c7e88f 100644 --- a/packages/Keyguard/res/values-ro/strings.xml +++ b/packages/Keyguard/res/values-ro/strings.xml @@ -20,7 +20,6 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="719438068451601849">"Blocarea tastaturii"</string> <string name="keyguard_password_enter_pin_code" msgid="3037685796058495017">"Introduceţi codul PIN"</string> <string name="keyguard_password_enter_puk_code" msgid="3035856550289724338">"Introduceți codul PUK pentru cardul SIM și codul PIN nou"</string> <string name="keyguard_password_enter_puk_prompt" msgid="1801941051094974609">"Codul PUK pentru cardul SIM"</string> diff --git a/packages/Keyguard/res/values-ru/strings.xml b/packages/Keyguard/res/values-ru/strings.xml index 866abc0..304f474 100644 --- a/packages/Keyguard/res/values-ru/strings.xml +++ b/packages/Keyguard/res/values-ru/strings.xml @@ -20,7 +20,6 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="719438068451601849">"Keyguard"</string> <string name="keyguard_password_enter_pin_code" msgid="3037685796058495017">"Введите PIN-код"</string> <string name="keyguard_password_enter_puk_code" msgid="3035856550289724338">"Введите PUK-код и новый PIN-код"</string> <string name="keyguard_password_enter_puk_prompt" msgid="1801941051094974609">"PUK-код"</string> diff --git a/packages/Keyguard/res/values-sk/strings.xml b/packages/Keyguard/res/values-sk/strings.xml index 45e4288..cdf8ca9 100644 --- a/packages/Keyguard/res/values-sk/strings.xml +++ b/packages/Keyguard/res/values-sk/strings.xml @@ -20,7 +20,6 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="719438068451601849">"Zámka klávesnice"</string> <string name="keyguard_password_enter_pin_code" msgid="3037685796058495017">"Zadajte kód PIN"</string> <string name="keyguard_password_enter_puk_code" msgid="3035856550289724338">"Zadajte kód PUK karty SIM a nový kód PIN"</string> <string name="keyguard_password_enter_puk_prompt" msgid="1801941051094974609">"Kód PUK karty SIM"</string> @@ -36,7 +35,7 @@ <string name="keyguard_low_battery" msgid="8143808018719173859">"Pripojte nabíjačku."</string> <string name="keyguard_instructions_when_pattern_disabled" msgid="1332288268600329841">"Telefón odomknete stlačením tlačidla Menu."</string> <string name="keyguard_network_locked_message" msgid="9169717779058037168">"Sieť je zablokovaná"</string> - <string name="keyguard_missing_sim_message_short" msgid="494980561304211931">"Nie je vložená karta SIM"</string> + <string name="keyguard_missing_sim_message_short" msgid="494980561304211931">"Nie je vložená karta SIM."</string> <string name="keyguard_missing_sim_message" product="tablet" msgid="1445849005909260039">"V tablete nie je žiadna karta SIM."</string> <string name="keyguard_missing_sim_message" product="default" msgid="3481110395508637643">"V telefóne nie je žiadna karta SIM."</string> <string name="keyguard_missing_sim_instructions" msgid="5210891509995942250">"Vložte kartu SIM."</string> diff --git a/packages/Keyguard/res/values-sl/strings.xml b/packages/Keyguard/res/values-sl/strings.xml index cf72e47..b0ec84e 100644 --- a/packages/Keyguard/res/values-sl/strings.xml +++ b/packages/Keyguard/res/values-sl/strings.xml @@ -20,7 +20,6 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="719438068451601849">"Keyguard"</string> <string name="keyguard_password_enter_pin_code" msgid="3037685796058495017">"Vnesite kodo PIN"</string> <string name="keyguard_password_enter_puk_code" msgid="3035856550289724338">"Vnesite kodo PUK in novo kodo PIN kartice SIM"</string> <string name="keyguard_password_enter_puk_prompt" msgid="1801941051094974609">"Koda PUK kartice SIM"</string> diff --git a/packages/Keyguard/res/values-sr/strings.xml b/packages/Keyguard/res/values-sr/strings.xml index bd08eae..2bdd8f5 100644 --- a/packages/Keyguard/res/values-sr/strings.xml +++ b/packages/Keyguard/res/values-sr/strings.xml @@ -20,7 +20,6 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="719438068451601849">"Заштита тастера"</string> <string name="keyguard_password_enter_pin_code" msgid="3037685796058495017">"Унесите PIN кôд"</string> <string name="keyguard_password_enter_puk_code" msgid="3035856550289724338">"Унесите SIM PUK кôд и нови PIN кôд"</string> <string name="keyguard_password_enter_puk_prompt" msgid="1801941051094974609">"SIM PUK кôд"</string> @@ -119,7 +118,7 @@ <string name="kg_invalid_confirm_pin_hint" product="default" msgid="7003469261464593516">"PIN кодови се не подударају"</string> <string name="kg_login_too_many_attempts" msgid="6486842094005698475">"Превише покушаја уноса шаблона"</string> <string name="kg_login_instructions" msgid="1100551261265506448">"Да бисте откључали, пријавите се помоћу Google налога."</string> - <string name="kg_login_username_hint" msgid="5718534272070920364">"Корисничко име (имејл адреса)"</string> + <string name="kg_login_username_hint" msgid="5718534272070920364">"Корисничко име (адреса е-поште)"</string> <string name="kg_login_password_hint" msgid="9057289103827298549">"Лозинка"</string> <string name="kg_login_submit_button" msgid="5355904582674054702">"Пријави ме"</string> <string name="kg_login_invalid_input" msgid="5754664119319872197">"Неважеће корисничко име или лозинка."</string> diff --git a/packages/Keyguard/res/values-sv/strings.xml b/packages/Keyguard/res/values-sv/strings.xml index 1214100..e446f61 100644 --- a/packages/Keyguard/res/values-sv/strings.xml +++ b/packages/Keyguard/res/values-sv/strings.xml @@ -20,7 +20,6 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="719438068451601849">"Keyguard"</string> <string name="keyguard_password_enter_pin_code" msgid="3037685796058495017">"Ange PIN-kod"</string> <string name="keyguard_password_enter_puk_code" msgid="3035856550289724338">"Ange PUK-koden och en ny pinkod för SIM-kortet"</string> <string name="keyguard_password_enter_puk_prompt" msgid="1801941051094974609">"PUK-kod för SIM-kortet"</string> diff --git a/packages/Keyguard/res/values-sw/strings.xml b/packages/Keyguard/res/values-sw/strings.xml index fc1ce17..1d60a13 100644 --- a/packages/Keyguard/res/values-sw/strings.xml +++ b/packages/Keyguard/res/values-sw/strings.xml @@ -20,7 +20,6 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="719438068451601849">"Kilinda vitufe"</string> <string name="keyguard_password_enter_pin_code" msgid="3037685796058495017">"Ingiza msimbo wa PIN"</string> <string name="keyguard_password_enter_puk_code" msgid="3035856550289724338">"Chapa PUK ya SIM na msimbo mpya wa PIN"</string> <string name="keyguard_password_enter_puk_prompt" msgid="1801941051094974609">"Msimbo wa PUK ya SIM"</string> diff --git a/packages/Keyguard/res/values-sw600dp-land/dimens.xml b/packages/Keyguard/res/values-sw600dp-land/dimens.xml index 5507e5f..5615ff7 100644 --- a/packages/Keyguard/res/values-sw600dp-land/dimens.xml +++ b/packages/Keyguard/res/values-sw600dp-land/dimens.xml @@ -23,4 +23,8 @@ <!-- Size of margin on the right of keyguard's status view --> <dimen name="kg_status_line_font_right_margin">16dp</dimen> + + <!-- Overload default clock widget parameters --> + <dimen name="widget_big_font_size">88dp</dimen> + <dimen name="bottom_text_spacing_digital">-24dp</dimen> </resources>
\ No newline at end of file diff --git a/packages/Keyguard/res/values-sw600dp/dimens.xml b/packages/Keyguard/res/values-sw600dp/dimens.xml index 25e86e1..a5e93dc 100644 --- a/packages/Keyguard/res/values-sw600dp/dimens.xml +++ b/packages/Keyguard/res/values-sw600dp/dimens.xml @@ -63,8 +63,9 @@ <dimen name="keyguard_muliuser_selector_margin">12dp</dimen> <!-- Overload default clock widget parameters --> - <dimen name="widget_label_font_size">16dp</dimen> - <dimen name="widget_big_font_size">141dp</dimen> + <dimen name="widget_big_font_size">96dp</dimen> + <dimen name="widget_label_font_size">16sp</dimen> + <dimen name="bottom_text_spacing_digital">-24dp</dimen> <!-- EmergencyCarrierArea overlap - amount to overlap the emergency button and carrier text. Should be 0 on devices with plenty of room (e.g. tablets) --> diff --git a/packages/Keyguard/res/values-sw720dp/dimens.xml b/packages/Keyguard/res/values-sw720dp/dimens.xml index 30b979c..c487072 100644 --- a/packages/Keyguard/res/values-sw720dp/dimens.xml +++ b/packages/Keyguard/res/values-sw720dp/dimens.xml @@ -61,7 +61,4 @@ <!-- Height of the sliding KeyguardSecurityContainer (includes 2x keyguard_security_view_margin) --> <dimen name="keyguard_security_height">420dp</dimen> - <!-- Default clock parameters --> - <dimen name="widget_label_font_size">19dp</dimen> - </resources> diff --git a/packages/Keyguard/res/values-th/strings.xml b/packages/Keyguard/res/values-th/strings.xml index 34d97c2..a44f9fe 100644 --- a/packages/Keyguard/res/values-th/strings.xml +++ b/packages/Keyguard/res/values-th/strings.xml @@ -20,7 +20,6 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="719438068451601849">"การล็อกปุ่มกด"</string> <string name="keyguard_password_enter_pin_code" msgid="3037685796058495017">"พิมพ์รหัส PIN"</string> <string name="keyguard_password_enter_puk_code" msgid="3035856550289724338">"พิมพ์ PUK และรหัส PIN ใหม่"</string> <string name="keyguard_password_enter_puk_prompt" msgid="1801941051094974609">"รหัส PUK ของซิม"</string> diff --git a/packages/Keyguard/res/values-tl/strings.xml b/packages/Keyguard/res/values-tl/strings.xml index 9d97d22..6516766 100644 --- a/packages/Keyguard/res/values-tl/strings.xml +++ b/packages/Keyguard/res/values-tl/strings.xml @@ -20,7 +20,6 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="719438068451601849">"Keyguard"</string> <string name="keyguard_password_enter_pin_code" msgid="3037685796058495017">"I-type ang PIN code"</string> <string name="keyguard_password_enter_puk_code" msgid="3035856550289724338">"I-type ang SIM PUK at bagong PIN code"</string> <string name="keyguard_password_enter_puk_prompt" msgid="1801941051094974609">"PUK code ng SIM"</string> diff --git a/packages/Keyguard/res/values-tr/strings.xml b/packages/Keyguard/res/values-tr/strings.xml index 1d8b982..aed8a47 100644 --- a/packages/Keyguard/res/values-tr/strings.xml +++ b/packages/Keyguard/res/values-tr/strings.xml @@ -20,7 +20,6 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="719438068451601849">"Keyguard"</string> <string name="keyguard_password_enter_pin_code" msgid="3037685796058495017">"PIN kodunu yazın"</string> <string name="keyguard_password_enter_puk_code" msgid="3035856550289724338">"SIM PUK kodunu ve yeni bir PIN kodu yazın."</string> <string name="keyguard_password_enter_puk_prompt" msgid="1801941051094974609">"SIM PUK kodu"</string> diff --git a/packages/Keyguard/res/values-uk/strings.xml b/packages/Keyguard/res/values-uk/strings.xml index 16cf6cf..5e355e4 100644 --- a/packages/Keyguard/res/values-uk/strings.xml +++ b/packages/Keyguard/res/values-uk/strings.xml @@ -20,7 +20,6 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="719438068451601849">"Keyguard"</string> <string name="keyguard_password_enter_pin_code" msgid="3037685796058495017">"Введіть PIN-код"</string> <string name="keyguard_password_enter_puk_code" msgid="3035856550289724338">"Введіть PUK-код і новий PIN-код SIM-карти"</string> <string name="keyguard_password_enter_puk_prompt" msgid="1801941051094974609">"PUK-код SIM-карти"</string> diff --git a/packages/Keyguard/res/values-vi/strings.xml b/packages/Keyguard/res/values-vi/strings.xml index 00693aa..19eb4c5 100644 --- a/packages/Keyguard/res/values-vi/strings.xml +++ b/packages/Keyguard/res/values-vi/strings.xml @@ -20,7 +20,6 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="719438068451601849">"Khóa bàn phím"</string> <string name="keyguard_password_enter_pin_code" msgid="3037685796058495017">"Nhập mã PIN"</string> <string name="keyguard_password_enter_puk_code" msgid="3035856550289724338">"Nhập mã PIN mới và mã PUK của SIM"</string> <string name="keyguard_password_enter_puk_prompt" msgid="1801941051094974609">"Mã PUK của SIM"</string> @@ -76,7 +75,7 @@ <string name="keyguard_accessibility_transport_thumbs_down_description" msgid="8101433677192177861">"Bài hát được đánh dấu không thích"</string> <string name="keyguard_accessibility_transport_heart_description" msgid="2336943232474689887">"Trái tim"</string> <string name="keyguard_accessibility_show_bouncer" msgid="5425837272418176176">"Mở khóa để tiếp tục"</string> - <string name="keyguard_accessibility_hide_bouncer" msgid="7896992171878309358">"Quá trình chạy bị hủy"</string> + <string name="keyguard_accessibility_hide_bouncer" msgid="7896992171878309358">"Quá trình khởi chạy bị hủy"</string> <string name="keyguard_accessibility_delete_widget_start" msgid="4096550552634391451">"Thả <xliff:g id="WIDGET_INDEX">%1$s</xliff:g> để xóa."</string> <string name="keyguard_accessibility_delete_widget_end" msgid="508833506780909393">"<xliff:g id="WIDGET_INDEX">%1$s</xliff:g> sẽ không bị xóa."</string> <string name="password_keyboard_label_symbol_key" msgid="992280756256536042">"?123"</string> diff --git a/packages/Keyguard/res/values-zh-rCN/strings.xml b/packages/Keyguard/res/values-zh-rCN/strings.xml index 1c014c3..18578e4 100644 --- a/packages/Keyguard/res/values-zh-rCN/strings.xml +++ b/packages/Keyguard/res/values-zh-rCN/strings.xml @@ -20,7 +20,6 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="719438068451601849">"Keyguard"</string> <string name="keyguard_password_enter_pin_code" msgid="3037685796058495017">"输入 PIN 码"</string> <string name="keyguard_password_enter_puk_code" msgid="3035856550289724338">"请输入 SIM 卡 PUK 码和新的 PIN 码"</string> <string name="keyguard_password_enter_puk_prompt" msgid="1801941051094974609">"SIM 卡 PUK 码"</string> diff --git a/packages/Keyguard/res/values-zh-rHK/strings.xml b/packages/Keyguard/res/values-zh-rHK/strings.xml index 1b621d6..010ad2f 100644 --- a/packages/Keyguard/res/values-zh-rHK/strings.xml +++ b/packages/Keyguard/res/values-zh-rHK/strings.xml @@ -20,7 +20,6 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="719438068451601849">"鍵盤鎖"</string> <string name="keyguard_password_enter_pin_code" msgid="3037685796058495017">"輸入 PIN 碼"</string> <string name="keyguard_password_enter_puk_code" msgid="3035856550289724338">"請輸入 SIM PUK 碼和新 PIN 碼"</string> <string name="keyguard_password_enter_puk_prompt" msgid="1801941051094974609">"SIM PUK 碼"</string> diff --git a/packages/Keyguard/res/values-zh-rTW/strings.xml b/packages/Keyguard/res/values-zh-rTW/strings.xml index 6e632ef..d81cc16 100644 --- a/packages/Keyguard/res/values-zh-rTW/strings.xml +++ b/packages/Keyguard/res/values-zh-rTW/strings.xml @@ -20,7 +20,6 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="719438068451601849">"鍵盤鎖"</string> <string name="keyguard_password_enter_pin_code" msgid="3037685796058495017">"輸入 PIN 碼"</string> <string name="keyguard_password_enter_puk_code" msgid="3035856550289724338">"輸入 SIM 卡 PUK 碼和新 PIN 碼"</string> <string name="keyguard_password_enter_puk_prompt" msgid="1801941051094974609">"SIM 卡 PUK 碼"</string> diff --git a/packages/Keyguard/res/values-zu/strings.xml b/packages/Keyguard/res/values-zu/strings.xml index 95d3474..b205634 100644 --- a/packages/Keyguard/res/values-zu/strings.xml +++ b/packages/Keyguard/res/values-zu/strings.xml @@ -20,7 +20,6 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="719438068451601849">"Ukhiye wokugada"</string> <string name="keyguard_password_enter_pin_code" msgid="3037685796058495017">"Faka ikhodi ye-PIN"</string> <string name="keyguard_password_enter_puk_code" msgid="3035856550289724338">"Thayipha i-PUK ye-SIM nekhodi yephinikhodi entsha"</string> <string name="keyguard_password_enter_puk_prompt" msgid="1801941051094974609">"Ikhodi ye-PUK ye-SIM"</string> diff --git a/packages/Keyguard/res/values/dimens.xml b/packages/Keyguard/res/values/dimens.xml index c05f834..6224aed 100644 --- a/packages/Keyguard/res/values/dimens.xml +++ b/packages/Keyguard/res/values/dimens.xml @@ -155,10 +155,10 @@ <dimen name="eca_overlap">-10dip</dimen> <!-- Default clock parameters --> - <dimen name="bottom_text_spacing_digital">-8dp</dimen> + <dimen name="bottom_text_spacing_digital">-18dp</dimen> <dimen name="label_font_size">14dp</dimen> - <dimen name="widget_label_font_size">14dp</dimen> - <dimen name="widget_big_font_size">60dp</dimen> + <dimen name="widget_label_font_size">14sp</dimen> + <dimen name="widget_big_font_size">68dp</dimen> <dimen name="big_font_size">120dp</dimen> </resources> diff --git a/packages/Keyguard/src/com/android/keyguard/KeyguardAbsKeyInputView.java b/packages/Keyguard/src/com/android/keyguard/KeyguardAbsKeyInputView.java index 2d17b7b..aae92e8 100644 --- a/packages/Keyguard/src/com/android/keyguard/KeyguardAbsKeyInputView.java +++ b/packages/Keyguard/src/com/android/keyguard/KeyguardAbsKeyInputView.java @@ -149,14 +149,16 @@ public abstract class KeyguardAbsKeyInputView extends LinearLayout if (mLockPatternUtils.checkPassword(entry)) { mCallback.reportUnlockAttempt(true); mCallback.dismiss(true); - } else if (entry.length() > MINIMUM_PASSWORD_LENGTH_BEFORE_REPORT ) { - // to avoid accidental lockout, only count attempts that are long enough to be a - // real password. This may require some tweaking. - mCallback.reportUnlockAttempt(false); - int attempts = KeyguardUpdateMonitor.getInstance(mContext).getFailedUnlockAttempts(); - if (0 == (attempts % LockPatternUtils.FAILED_ATTEMPTS_BEFORE_TIMEOUT)) { - long deadline = mLockPatternUtils.setLockoutAttemptDeadline(); - handleAttemptLockout(deadline); + } else { + if (entry.length() > MINIMUM_PASSWORD_LENGTH_BEFORE_REPORT ) { + // to avoid accidental lockout, only count attempts that are long enough to be a + // real password. This may require some tweaking. + mCallback.reportUnlockAttempt(false); + int attempts = KeyguardUpdateMonitor.getInstance(mContext).getFailedUnlockAttempts(); + if (0 == (attempts % LockPatternUtils.FAILED_ATTEMPTS_BEFORE_TIMEOUT)) { + long deadline = mLockPatternUtils.setLockoutAttemptDeadline(); + handleAttemptLockout(deadline); + } } mSecurityMessageDisplay.setMessage(getWrongPasswordStringId(), true); } diff --git a/packages/Keyguard/src/com/android/keyguard/KeyguardHostView.java b/packages/Keyguard/src/com/android/keyguard/KeyguardHostView.java index f85e29f..2685447 100644 --- a/packages/Keyguard/src/com/android/keyguard/KeyguardHostView.java +++ b/packages/Keyguard/src/com/android/keyguard/KeyguardHostView.java @@ -16,8 +16,6 @@ package com.android.keyguard; -import android.nfc.NfcUnlock; - import com.android.internal.widget.LockPatternUtils; import com.android.keyguard.KeyguardSecurityModel.SecurityMode; import com.android.keyguard.KeyguardUpdateMonitor.DisplayClientState; @@ -46,6 +44,7 @@ import android.os.UserManager; import android.provider.Settings; import android.util.AttributeSet; import android.util.Log; +import android.util.Slog; import android.view.LayoutInflater; import android.view.MotionEvent; import android.view.View; @@ -264,12 +263,6 @@ public class KeyguardHostView extends KeyguardViewBase { } } } - @Override - public void onNfcUnlock() { - if (NfcUnlock.getPropertyEnabled()) { - dismiss(true); - } - } }; private static final boolean isMusicPlaying(int playbackState) { diff --git a/packages/Keyguard/src/com/android/keyguard/KeyguardSecurityContainer.java b/packages/Keyguard/src/com/android/keyguard/KeyguardSecurityContainer.java index 8425c48..94edc07 100644 --- a/packages/Keyguard/src/com/android/keyguard/KeyguardSecurityContainer.java +++ b/packages/Keyguard/src/com/android/keyguard/KeyguardSecurityContainer.java @@ -42,6 +42,8 @@ public class KeyguardSecurityContainer extends FrameLayout implements KeyguardSe private boolean mIsBouncing; private SecurityCallback mSecurityCallback; + private final KeyguardUpdateMonitor mUpdateMonitor; + // Used to notify the container when something interesting happens. public interface SecurityCallback { public boolean dismiss(boolean authenticated); @@ -62,6 +64,7 @@ public class KeyguardSecurityContainer extends FrameLayout implements KeyguardSe super(context, attrs, defStyle); mSecurityModel = new KeyguardSecurityModel(context); mLockPatternUtils = new LockPatternUtils(context); + mUpdateMonitor = KeyguardUpdateMonitor.getInstance(mContext); } public void setSecurityCallback(SecurityCallback callback) { @@ -303,7 +306,9 @@ public class KeyguardSecurityContainer extends FrameLayout implements KeyguardSe boolean showNextSecurityScreenOrFinish(boolean authenticated) { if (DEBUG) Log.d(TAG, "showNextSecurityScreenOrFinish(" + authenticated + ")"); boolean finish = false; - if (SecurityMode.None == mCurrentSecuritySelection) { + if (mUpdateMonitor.getUserHasTrust(mLockPatternUtils.getCurrentUser())) { + finish = true; + } else if (SecurityMode.None == mCurrentSecuritySelection) { SecurityMode securityMode = mSecurityModel.getSecurityMode(); // Allow an alternate, such as biometric unlock securityMode = mSecurityModel.getAlternateFor(securityMode); diff --git a/packages/Keyguard/src/com/android/keyguard/KeyguardSecurityModel.java b/packages/Keyguard/src/com/android/keyguard/KeyguardSecurityModel.java index 2d492db..5ef41c9 100644 --- a/packages/Keyguard/src/com/android/keyguard/KeyguardSecurityModel.java +++ b/packages/Keyguard/src/com/android/keyguard/KeyguardSecurityModel.java @@ -83,8 +83,6 @@ public class KeyguardSecurityModel { } else if (simState == IccCardConstants.State.PUK_REQUIRED && mLockPatternUtils.isPukUnlockScreenEnable()) { mode = SecurityMode.SimPuk; - } else if (updateMonitor.getUserHasTrust(mLockPatternUtils.getCurrentUser())) { - mode = SecurityMode.None; } else { final int security = mLockPatternUtils.getKeyguardStoredPasswordQuality(); switch (security) { diff --git a/packages/Keyguard/src/com/android/keyguard/KeyguardUpdateMonitor.java b/packages/Keyguard/src/com/android/keyguard/KeyguardUpdateMonitor.java index d6351df..0bcd916 100644 --- a/packages/Keyguard/src/com/android/keyguard/KeyguardUpdateMonitor.java +++ b/packages/Keyguard/src/com/android/keyguard/KeyguardUpdateMonitor.java @@ -37,7 +37,6 @@ import static android.os.BatteryManager.EXTRA_LEVEL; import static android.os.BatteryManager.EXTRA_HEALTH; import android.media.AudioManager; import android.media.IRemoteControlDisplay; -import android.nfc.NfcUnlock; import android.os.BatteryManager; import android.os.Bundle; import android.os.Handler; @@ -98,7 +97,6 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener { protected static final int MSG_REPORT_EMERGENCY_CALL_ACTION = 318; private static final int MSG_SCREEN_TURNED_ON = 319; private static final int MSG_SCREEN_TURNED_OFF = 320; - private static final int MSG_NFC_UNLOCK = 321; private static final int MSG_KEYGUARD_BOUNCER_CHANGED = 322; private static KeyguardUpdateMonitor sInstance; @@ -204,9 +202,6 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener { case MSG_SCREEN_TURNED_ON: handleScreenTurnedOn(); break; - case MSG_NFC_UNLOCK: - handleNfcUnlock(); - break; } } }; @@ -356,15 +351,6 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener { } }; - private final BroadcastReceiver mNfcUnlockReceiver = new BroadcastReceiver() { - @Override - public void onReceive(Context context, Intent intent) { - if (NfcUnlock.ACTION_NFC_UNLOCK.equals(intent.getAction())) { - mHandler.sendEmptyMessage(MSG_NFC_UNLOCK); - } - } - } - ; /** * When we receive a * {@link com.android.internal.telephony.TelephonyIntents#ACTION_SIM_STATE_CHANGED} broadcast, @@ -549,15 +535,6 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener { } } - private void handleNfcUnlock() { - for (int i = 0; i < mCallbacks.size(); i++) { - KeyguardUpdateMonitorCallback cb = mCallbacks.get(i).get(); - if (cb != null) { - cb.onNfcUnlock(); - } - } - } - private KeyguardUpdateMonitor(Context context) { mContext = context; @@ -587,11 +564,6 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener { filter.addAction(Intent.ACTION_USER_REMOVED); context.registerReceiver(mBroadcastReceiver, filter); - final IntentFilter nfcUnlockIntentFilter = new IntentFilter(); - nfcUnlockIntentFilter.addAction(NfcUnlock.ACTION_NFC_UNLOCK); - context.registerReceiver(mNfcUnlockReceiver, nfcUnlockIntentFilter, - NfcUnlock.NFC_UNLOCK_PERMISSION, null /* run on default scheduler */); - final IntentFilter bootCompleteFilter = new IntentFilter(); bootCompleteFilter.setPriority(IntentFilter.SYSTEM_HIGH_PRIORITY); bootCompleteFilter.addAction(Intent.ACTION_BOOT_COMPLETED); diff --git a/packages/Keyguard/src/com/android/keyguard/KeyguardUpdateMonitorCallback.java b/packages/Keyguard/src/com/android/keyguard/KeyguardUpdateMonitorCallback.java index 91a024f..76206f7 100644 --- a/packages/Keyguard/src/com/android/keyguard/KeyguardUpdateMonitorCallback.java +++ b/packages/Keyguard/src/com/android/keyguard/KeyguardUpdateMonitorCallback.java @@ -179,10 +179,4 @@ public class KeyguardUpdateMonitorCallback { * {@link WindowManagerPolicy#OFF_BECAUSE_OF_TIMEOUT}. */ public void onScreenTurnedOff(int why) { } - - /** - * Called when the NFC Service has found a tag that is registered for NFC unlock. - */ - public void onNfcUnlock() { } - } diff --git a/packages/Keyguard/test/SampleTrustAgent/AndroidManifest.xml b/packages/Keyguard/test/SampleTrustAgent/AndroidManifest.xml index 1511911..7904927 100644 --- a/packages/Keyguard/test/SampleTrustAgent/AndroidManifest.xml +++ b/packages/Keyguard/test/SampleTrustAgent/AndroidManifest.xml @@ -22,6 +22,7 @@ <service android:name=".SampleTrustAgent" android:label="@string/app_name" + android:permission="android.permission.BIND_TRUST_AGENT" android:exported="true"> <intent-filter> <action android:name="android.service.trust.TrustAgentService" /> diff --git a/packages/Keyguard/test/SampleTrustAgent/res/xml/sample_trust_agent.xml b/packages/Keyguard/test/SampleTrustAgent/res/xml/sample_trust_agent.xml index b48e011..b363ab4 100644 --- a/packages/Keyguard/test/SampleTrustAgent/res/xml/sample_trust_agent.xml +++ b/packages/Keyguard/test/SampleTrustAgent/res/xml/sample_trust_agent.xml @@ -14,5 +14,5 @@ ~ See the License for the specific language governing permissions and ~ limitations under the License --> -<trust_agent xmlns:android="http://schemas.android.com/apk/res/android" +<trust-agent xmlns:android="http://schemas.android.com/apk/res/android" android:settingsActivity=".SampleTrustAgentSettings" /> diff --git a/packages/Keyguard/test/SampleTrustAgent/src/com/android/trustagent/test/SampleTrustAgent.java b/packages/Keyguard/test/SampleTrustAgent/src/com/android/trustagent/test/SampleTrustAgent.java index 25406d6..a51ea75 100644 --- a/packages/Keyguard/test/SampleTrustAgent/src/com/android/trustagent/test/SampleTrustAgent.java +++ b/packages/Keyguard/test/SampleTrustAgent/src/com/android/trustagent/test/SampleTrustAgent.java @@ -31,7 +31,7 @@ public class SampleTrustAgent extends TrustAgentService { LocalBroadcastManager mLocalBroadcastManager; - private static final String ACTION_ENABLE_TRUST = "action.sample_trust_agent.enable_trust"; + private static final String ACTION_GRANT_TRUST = "action.sample_trust_agent.grant_trust"; private static final String ACTION_REVOKE_TRUST = "action.sample_trust_agent.revoke_trust"; private static final String EXTRA_MESSAGE = "extra.message"; @@ -45,14 +45,14 @@ public class SampleTrustAgent extends TrustAgentService { public void onCreate() { super.onCreate(); IntentFilter filter = new IntentFilter(); - filter.addAction(ACTION_ENABLE_TRUST); + filter.addAction(ACTION_GRANT_TRUST); filter.addAction(ACTION_REVOKE_TRUST); mLocalBroadcastManager = LocalBroadcastManager.getInstance(this); mLocalBroadcastManager.registerReceiver(mReceiver, filter); } @Override - protected void onUnlockAttempt(boolean successful) { + public void onUnlockAttempt(boolean successful) { if (getReportUnlockAttempts(this)) { Toast.makeText(this, "onUnlockAttempt(successful=" + successful + ")", Toast.LENGTH_SHORT).show(); @@ -69,8 +69,8 @@ public class SampleTrustAgent extends TrustAgentService { @Override public void onReceive(Context context, Intent intent) { String action = intent.getAction(); - if (ACTION_ENABLE_TRUST.equals(action)) { - enableTrust(intent.getStringExtra(EXTRA_MESSAGE), + if (ACTION_GRANT_TRUST.equals(action)) { + grantTrust(intent.getStringExtra(EXTRA_MESSAGE), intent.getLongExtra(EXTRA_DURATION, 0), false /* initiatedByUser */); } else if (ACTION_REVOKE_TRUST.equals(action)) { @@ -79,9 +79,9 @@ public class SampleTrustAgent extends TrustAgentService { } }; - public static void sendEnableTrust(Context context, + public static void sendGrantTrust(Context context, String message, long durationMs, Bundle extra) { - Intent intent = new Intent(ACTION_ENABLE_TRUST); + Intent intent = new Intent(ACTION_GRANT_TRUST); intent.putExtra(EXTRA_MESSAGE, message); intent.putExtra(EXTRA_DURATION, durationMs); intent.putExtra(EXTRA_EXTRA, extra); diff --git a/packages/Keyguard/test/SampleTrustAgent/src/com/android/trustagent/test/SampleTrustAgentSettings.java b/packages/Keyguard/test/SampleTrustAgent/src/com/android/trustagent/test/SampleTrustAgentSettings.java index 0a6f675..8e293fb 100644 --- a/packages/Keyguard/test/SampleTrustAgent/src/com/android/trustagent/test/SampleTrustAgentSettings.java +++ b/packages/Keyguard/test/SampleTrustAgent/src/com/android/trustagent/test/SampleTrustAgentSettings.java @@ -19,7 +19,6 @@ package com.android.trustagent.test; import android.annotation.Nullable; import android.app.Activity; import android.os.Bundle; -import android.preference.CheckBoxPreference; import android.view.View; import android.widget.CheckBox; import android.widget.CompoundButton; @@ -53,7 +52,7 @@ public class SampleTrustAgentSettings extends Activity implements View.OnClickLi public void onClick(View v) { int id = v.getId(); if (id == R.id.enable_trust) { - SampleTrustAgent.sendEnableTrust(this, "SampleTrustAgent", TRUST_DURATION_MS, + SampleTrustAgent.sendGrantTrust(this, "SampleTrustAgent", TRUST_DURATION_MS, null /* extra */); } else if (id == R.id.revoke_trust) { SampleTrustAgent.sendRevokeTrust(this); diff --git a/packages/PrintSpooler/res/values-am/strings.xml b/packages/PrintSpooler/res/values-am/strings.xml index d86acb8..3b94d6d 100644 --- a/packages/PrintSpooler/res/values-am/strings.xml +++ b/packages/PrintSpooler/res/values-am/strings.xml @@ -58,7 +58,7 @@ <item quantity="one" msgid="5866624638054847057">"<xliff:g id="PRINT_JOB_NAME">%1$d</xliff:g> የህትመት ስራ"</item> <item quantity="other" msgid="8746611264734222865">"<xliff:g id="PRINT_JOB_NAME">%1$d</xliff:g> የህትመት ስራዎች"</item> </plurals> - <string name="cancel" msgid="4373674107267141885">"ይቅር"</string> + <string name="cancel" msgid="4373674107267141885">"ሰርዝ"</string> <string name="restart" msgid="2472034227037808749">"እንደገና ጀምር"</string> <string name="no_connection_to_printer" msgid="2159246915977282728">"ከአታሚ ጋር ምንም ግንኙነት የለም"</string> <string name="reason_unknown" msgid="5507940196503246139">"አይታወቅም"</string> diff --git a/packages/PrintSpooler/res/values-da/strings.xml b/packages/PrintSpooler/res/values-da/strings.xml index 1a871f8..74190b4 100644 --- a/packages/PrintSpooler/res/values-da/strings.xml +++ b/packages/PrintSpooler/res/values-da/strings.xml @@ -69,8 +69,8 @@ <item msgid="2762241247228983754">"Farve"</item> </string-array> <string-array name="orientation_labels"> - <item msgid="4061931020926489228">"Stående"</item> - <item msgid="3199660090246166812">"Liggende"</item> + <item msgid="4061931020926489228">"Portræt"</item> + <item msgid="3199660090246166812">"Landskab"</item> </string-array> <string-array name="page_options_labels"> <item msgid="7421377442011699994">"Alle"</item> diff --git a/packages/PrintSpooler/res/values-fr/strings.xml b/packages/PrintSpooler/res/values-fr/strings.xml index 17fabdc..cfb557e 100644 --- a/packages/PrintSpooler/res/values-fr/strings.xml +++ b/packages/PrintSpooler/res/values-fr/strings.xml @@ -33,7 +33,7 @@ <string name="page_count_unknown" msgid="6058852665954511124">"Pages"</string> <string name="generating_print_job" msgid="3119608742651698916">"Génération tâche impression…"</string> <string name="save_as_pdf" msgid="5718454119847596853">"Enregistrer au format .PDF"</string> - <string name="all_printers" msgid="5018829726861876202">"Toutes les imprim."</string> + <string name="all_printers" msgid="5018829726861876202">"Toutes les imprimantes…"</string> <string name="print_dialog" msgid="32628687461331979">"Boîte de dialogue d\'impression"</string> <string name="search" msgid="5421724265322228497">"Rechercher"</string> <string name="all_printers_label" msgid="3178848870161526399">"Toutes les imprimantes"</string> diff --git a/packages/PrintSpooler/res/values-ja/strings.xml b/packages/PrintSpooler/res/values-ja/strings.xml index d3f4f85..f8be5c7 100644 --- a/packages/PrintSpooler/res/values-ja/strings.xml +++ b/packages/PrintSpooler/res/values-ja/strings.xml @@ -23,7 +23,7 @@ <string name="label_destination" msgid="9132510997381599275">"印刷先"</string> <string name="label_copies" msgid="3634531042822968308">"部数"</string> <string name="label_paper_size" msgid="8681895607876809323">"用紙サイズ"</string> - <string name="label_color" msgid="1108690305218188969">"カラー選択"</string> + <string name="label_color" msgid="1108690305218188969">"カラー"</string> <string name="label_orientation" msgid="2853142581990496477">"方向"</string> <string name="label_pages" msgid="6300874667546617333">"ページ(<xliff:g id="PAGE_COUNT">%1$s</xliff:g>)"</string> <string name="pages_range_example" msgid="8558694453556945172">"例: 1-5,8,11-13"</string> @@ -66,7 +66,7 @@ <string name="print_error_default_message" msgid="8568506918983980567">"印刷ジョブを生成できませんでした"</string> <string-array name="color_mode_labels"> <item msgid="7602948745415174937">"モノクロ"</item> - <item msgid="2762241247228983754">"カラー"</item> + <item msgid="2762241247228983754">"色"</item> </string-array> <string-array name="orientation_labels"> <item msgid="4061931020926489228">"縦向き"</item> diff --git a/packages/PrintSpooler/res/values-sl/strings.xml b/packages/PrintSpooler/res/values-sl/strings.xml index e299508..5d4fe94 100644 --- a/packages/PrintSpooler/res/values-sl/strings.xml +++ b/packages/PrintSpooler/res/values-sl/strings.xml @@ -69,7 +69,7 @@ <item msgid="2762241247228983754">"Barvno"</item> </string-array> <string-array name="orientation_labels"> - <item msgid="4061931020926489228">"Pokončno"</item> + <item msgid="4061931020926489228">"Navpično"</item> <item msgid="3199660090246166812">"Ležeče"</item> </string-array> <string-array name="page_options_labels"> diff --git a/packages/PrintSpooler/res/values-sw/strings.xml b/packages/PrintSpooler/res/values-sw/strings.xml index a84e9b3..55c8687 100644 --- a/packages/PrintSpooler/res/values-sw/strings.xml +++ b/packages/PrintSpooler/res/values-sw/strings.xml @@ -31,7 +31,7 @@ <string name="install_for_print_preview" msgid="6366303997385509332">"Sakinisha kitazamaji cha PDF kwa onyesho la kuchungulia"</string> <string name="printing_app_crashed" msgid="854477616686566398">"Programu ya kuchapisha imeacha kufanya kazi"</string> <string name="page_count_unknown" msgid="6058852665954511124">"Kurasa"</string> - <string name="generating_print_job" msgid="3119608742651698916">"Inaleta kazi ya kuchapisha"</string> + <string name="generating_print_job" msgid="3119608742651698916">"Inazanzisha kazi ya kuchapisha"</string> <string name="save_as_pdf" msgid="5718454119847596853">"Hifadhi kama PDF"</string> <string name="all_printers" msgid="5018829726861876202">"Printa zote..."</string> <string name="print_dialog" msgid="32628687461331979">"Chapisha mazungumzo"</string> @@ -63,7 +63,7 @@ <string name="no_connection_to_printer" msgid="2159246915977282728">"Hakuna muunganisho kwa printa"</string> <string name="reason_unknown" msgid="5507940196503246139">"haijulikani"</string> <string name="printer_unavailable" msgid="2434170617003315690">"<xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g> - haipatikani"</string> - <string name="print_error_default_message" msgid="8568506918983980567">"Haikuweza kuleta kazi ya kuchapisha"</string> + <string name="print_error_default_message" msgid="8568506918983980567">"Haikuweza kuunda kazi ya kuchapisha"</string> <string-array name="color_mode_labels"> <item msgid="7602948745415174937">"Nyeusi na Nyeupe"</item> <item msgid="2762241247228983754">"Rangi"</item> diff --git a/packages/SettingsProvider/res/values/defaults.xml b/packages/SettingsProvider/res/values/defaults.xml index 59b486f..bf97fc0 100644 --- a/packages/SettingsProvider/res/values/defaults.xml +++ b/packages/SettingsProvider/res/values/defaults.xml @@ -189,4 +189,7 @@ <!-- Default for Settings.Global.HEADS_UP_NOTIFICATIONS_ENABLED, 1==on --> <integer name="def_heads_up_enabled">1</integer> + <!-- Default for Settings.Global.DEVICE_NAME $1=BRAND $2=MODEL--> + <string name="def_device_name">%1$s %2$s</string> + </resources> diff --git a/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java b/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java index 58086c4..286921e 100644 --- a/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java +++ b/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java @@ -31,6 +31,7 @@ import android.database.sqlite.SQLiteStatement; import android.media.AudioManager; import android.media.AudioService; import android.net.ConnectivityManager; +import android.os.Build; import android.os.Environment; import android.os.RemoteException; import android.os.ServiceManager; @@ -69,7 +70,7 @@ public class DatabaseHelper extends SQLiteOpenHelper { // database gets upgraded properly. At a minimum, please confirm that 'upgradeVersion' // is properly propagated through your change. Not doing so will result in a loss of user // settings. - private static final int DATABASE_VERSION = 101; + private static final int DATABASE_VERSION = 103; private Context mContext; private int mUserHandle; @@ -1614,6 +1615,51 @@ public class DatabaseHelper extends SQLiteOpenHelper { upgradeVersion = 101; } + if (upgradeVersion == 101) { + if (mUserHandle == UserHandle.USER_OWNER) { + db.beginTransaction(); + SQLiteStatement stmt = null; + try { + stmt = db.compileStatement("INSERT OR IGNORE INTO global(name,value)" + + " VALUES(?,?);"); + loadSetting(stmt, Settings.Global.DEVICE_NAME, getDefaultDeviceName()); + db.setTransactionSuccessful(); + } finally { + db.endTransaction(); + if (stmt != null) stmt.close(); + } + } + upgradeVersion = 102; + } + + if (upgradeVersion == 102) { + db.beginTransaction(); + SQLiteStatement stmt = null; + try { + // The INSTALL_NON_MARKET_APPS setting is becoming per-user rather + // than device-global. + if (mUserHandle == UserHandle.USER_OWNER) { + // In the owner user, the global table exists so we can migrate the + // entry from there to the secure table, preserving its value. + String[] globalToSecure = { + Settings.Secure.INSTALL_NON_MARKET_APPS + }; + moveSettingsToNewTable(db, TABLE_GLOBAL, TABLE_SECURE, globalToSecure, true); + } else { + // Secondary users' dbs don't have the global table, so institute the + // default. + stmt = db.compileStatement("INSERT OR IGNORE INTO secure(name,value)" + + " VALUES(?,?);"); + loadBooleanSetting(stmt, Settings.Secure.INSTALL_NON_MARKET_APPS, + R.bool.def_install_non_market_apps); + } + db.setTransactionSuccessful(); + } finally { + db.endTransaction(); + if (stmt != null) stmt.close(); + } + upgradeVersion = 103; + } // *** Remember to update DATABASE_VERSION above! if (upgradeVersion != currentVersion) { @@ -2173,6 +2219,9 @@ public class DatabaseHelper extends SQLiteOpenHelper { loadStringSetting(stmt, Settings.Secure.IMMERSIVE_MODE_CONFIRMATIONS, R.string.def_immersive_mode_confirmations); + loadBooleanSetting(stmt, Settings.Secure.INSTALL_NON_MARKET_APPS, + R.bool.def_install_non_market_apps); + } finally { if (stmt != null) stmt.close(); } @@ -2271,9 +2320,6 @@ public class DatabaseHelper extends SQLiteOpenHelper { loadBooleanSetting(stmt, Settings.Global.NETSTATS_ENABLED, R.bool.def_netstats_enabled); - loadBooleanSetting(stmt, Settings.Global.INSTALL_NON_MARKET_APPS, - R.bool.def_install_non_market_apps); - loadBooleanSetting(stmt, Settings.Global.USB_MASS_STORAGE_ENABLED, R.bool.def_usb_mass_storage_enabled); @@ -2342,6 +2388,8 @@ public class DatabaseHelper extends SQLiteOpenHelper { loadIntegerSetting(stmt, Global.HEADS_UP_NOTIFICATIONS_ENABLED, R.integer.def_heads_up_enabled); + loadSetting(stmt, Settings.Global.DEVICE_NAME, getDefaultDeviceName()); + // --- New global settings start here } finally { if (stmt != null) stmt.close(); @@ -2398,4 +2446,9 @@ public class DatabaseHelper extends SQLiteOpenHelper { } return defaultValue; } + + private String getDefaultDeviceName() { + return mContext.getResources().getString(R.string.def_device_name, Build.BRAND, + Build.MODEL); + } } diff --git a/packages/Shell/res/values-el/strings.xml b/packages/Shell/res/values-el/strings.xml index 9b1eb7b..3669f78 100644 --- a/packages/Shell/res/values-el/strings.xml +++ b/packages/Shell/res/values-el/strings.xml @@ -18,7 +18,7 @@ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="app_label" msgid="3701846017049540910">"Κέλυφος"</string> <string name="bugreport_finished_title" msgid="2293711546892863898">"Η λήψη της αναφοράς ήταν επιτυχής"</string> - <string name="bugreport_finished_text" msgid="3559904746859400732">"Αγγίξτε για να μοιραστείτε τη αναφορά σφαλμάτων"</string> + <string name="bugreport_finished_text" msgid="3559904746859400732">"Αγγίξτε για κοινή χρήση της αναφοράς σας σφαλμάτων"</string> <string name="bugreport_confirm" msgid="5130698467795669780">"Οι αναφορές σφαλμάτων περιέχουν δεδομένα από τα διάφορα αρχεία καταγραφής του συστήματος, συμπεριλαμβανομένων προσωπικών και ιδιωτικών πληροφοριών. Να μοιράζεστε αναφορές σφαλμάτων μόνο με εφαρμογές και άτομα που εμπιστεύεστε."</string> <string name="bugreport_confirm_repeat" msgid="4926842460688645058">"Εμφάνιση αυτού του μηνύματος την επόμενη φορά"</string> </resources> diff --git a/packages/Shell/res/values-sk/strings.xml b/packages/Shell/res/values-sk/strings.xml index 59c3ccf..99f36f9 100644 --- a/packages/Shell/res/values-sk/strings.xml +++ b/packages/Shell/res/values-sk/strings.xml @@ -17,8 +17,8 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="app_label" msgid="3701846017049540910">"Prostredie"</string> - <string name="bugreport_finished_title" msgid="2293711546892863898">"Hlásenie o chybách bolo vytvorené"</string> - <string name="bugreport_finished_text" msgid="3559904746859400732">"Hlásenie o chybách môžete zdielať klepnutím"</string> + <string name="bugreport_finished_title" msgid="2293711546892863898">"Správa o chybách sa zaznamenala"</string> + <string name="bugreport_finished_text" msgid="3559904746859400732">"Dotykom môžete zdieľať správu o chybách"</string> <string name="bugreport_confirm" msgid="5130698467795669780">"Správy o chybách obsahujú údaje z rôznych súborov denníkov systému vrátane osobných a súkromných informácií. Zdieľajte ich iba s dôveryhodnými aplikáciami a ľuďmi."</string> <string name="bugreport_confirm_repeat" msgid="4926842460688645058">"Zobraziť túto správu nabudúce"</string> </resources> diff --git a/packages/SystemUI/proguard.flags b/packages/SystemUI/proguard.flags index da37803..6d101d7 100644 --- a/packages/SystemUI/proguard.flags +++ b/packages/SystemUI/proguard.flags @@ -6,10 +6,6 @@ public void setGlowAlpha(float); public void setGlowScale(float); } --keep class com.android.systemui.recents.views.TaskInfoView { - public void setCircularClipRadius(float); - public float getCircularClipRadius(); -} -keep class com.android.systemui.statusbar.phone.PhoneStatusBar -keep class com.android.systemui.statusbar.tv.TvStatusBar diff --git a/packages/SystemUI/res/drawable-hdpi/ic_qs_airplane_off.png b/packages/SystemUI/res/drawable-hdpi/ic_qs_airplane_off.png Binary files differdeleted file mode 100644 index 6f48fe8..0000000 --- a/packages/SystemUI/res/drawable-hdpi/ic_qs_airplane_off.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-hdpi/ic_qs_airplane_on.png b/packages/SystemUI/res/drawable-hdpi/ic_qs_airplane_on.png Binary files differdeleted file mode 100644 index 5f2e95a..0000000 --- a/packages/SystemUI/res/drawable-hdpi/ic_qs_airplane_on.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-hdpi/ic_qs_auto_rotate.png b/packages/SystemUI/res/drawable-hdpi/ic_qs_auto_rotate.png Binary files differdeleted file mode 100644 index 63acea0..0000000 --- a/packages/SystemUI/res/drawable-hdpi/ic_qs_auto_rotate.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-hdpi/ic_qs_bluetooth_not_connected.png b/packages/SystemUI/res/drawable-hdpi/ic_qs_bluetooth_not_connected.png Binary files differdeleted file mode 100644 index e417a19..0000000 --- a/packages/SystemUI/res/drawable-hdpi/ic_qs_bluetooth_not_connected.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-hdpi/ic_qs_bluetooth_off.png b/packages/SystemUI/res/drawable-hdpi/ic_qs_bluetooth_off.png Binary files differdeleted file mode 100644 index f325220..0000000 --- a/packages/SystemUI/res/drawable-hdpi/ic_qs_bluetooth_off.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-hdpi/ic_qs_bluetooth_on.png b/packages/SystemUI/res/drawable-hdpi/ic_qs_bluetooth_on.png Binary files differdeleted file mode 100644 index ee88a1b..0000000 --- a/packages/SystemUI/res/drawable-hdpi/ic_qs_bluetooth_on.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-hdpi/ic_qs_cast_connecting_0.png b/packages/SystemUI/res/drawable-hdpi/ic_qs_cast_connecting_0.png Binary files differdeleted file mode 100644 index 48606a8..0000000 --- a/packages/SystemUI/res/drawable-hdpi/ic_qs_cast_connecting_0.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-hdpi/ic_qs_cast_connecting_1.png b/packages/SystemUI/res/drawable-hdpi/ic_qs_cast_connecting_1.png Binary files differdeleted file mode 100644 index d006f13..0000000 --- a/packages/SystemUI/res/drawable-hdpi/ic_qs_cast_connecting_1.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-hdpi/ic_qs_cast_connecting_2.png b/packages/SystemUI/res/drawable-hdpi/ic_qs_cast_connecting_2.png Binary files differdeleted file mode 100644 index 867947b..0000000 --- a/packages/SystemUI/res/drawable-hdpi/ic_qs_cast_connecting_2.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-hdpi/ic_qs_color_space_alpha.png b/packages/SystemUI/res/drawable-hdpi/ic_qs_color_space_alpha.png Binary files differdeleted file mode 100644 index fe6dc52..0000000 --- a/packages/SystemUI/res/drawable-hdpi/ic_qs_color_space_alpha.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-hdpi/ic_qs_inversion_alpha.png b/packages/SystemUI/res/drawable-hdpi/ic_qs_inversion_alpha.png Binary files differdeleted file mode 100644 index aea75c1..0000000 --- a/packages/SystemUI/res/drawable-hdpi/ic_qs_inversion_alpha.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-hdpi/ic_qs_location_off.png b/packages/SystemUI/res/drawable-hdpi/ic_qs_location_off.png Binary files differdeleted file mode 100644 index 189f27b..0000000 --- a/packages/SystemUI/res/drawable-hdpi/ic_qs_location_off.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-hdpi/ic_qs_location_on.png b/packages/SystemUI/res/drawable-hdpi/ic_qs_location_on.png Binary files differdeleted file mode 100644 index b03d30c..0000000 --- a/packages/SystemUI/res/drawable-hdpi/ic_qs_location_on.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-hdpi/ic_qs_rotation_locked.png b/packages/SystemUI/res/drawable-hdpi/ic_qs_rotation_locked.png Binary files differdeleted file mode 100644 index f3dc08f..0000000 --- a/packages/SystemUI/res/drawable-hdpi/ic_qs_rotation_locked.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_ringer_silent.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_ringer_silent.png Binary files differdeleted file mode 100644 index 58f67d0..0000000 --- a/packages/SystemUI/res/drawable-hdpi/stat_sys_ringer_silent.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_ringer_vibrate.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_ringer_vibrate.png Binary files differdeleted file mode 100644 index b794c9a..0000000 --- a/packages/SystemUI/res/drawable-hdpi/stat_sys_ringer_vibrate.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_zen_full.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_zen_full.png Binary files differdeleted file mode 100644 index fa23e85..0000000 --- a/packages/SystemUI/res/drawable-hdpi/stat_sys_zen_full.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-hdpi/stat_sys_zen_limited.png b/packages/SystemUI/res/drawable-hdpi/stat_sys_zen_limited.png Binary files differdeleted file mode 100644 index aa8635c..0000000 --- a/packages/SystemUI/res/drawable-hdpi/stat_sys_zen_limited.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-ldrtl-hdpi/ic_qs_airplane_off.png b/packages/SystemUI/res/drawable-ldrtl-hdpi/ic_qs_airplane_off.png Binary files differdeleted file mode 100644 index c36809b..0000000 --- a/packages/SystemUI/res/drawable-ldrtl-hdpi/ic_qs_airplane_off.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-ldrtl-hdpi/ic_qs_airplane_on.png b/packages/SystemUI/res/drawable-ldrtl-hdpi/ic_qs_airplane_on.png Binary files differdeleted file mode 100644 index 6158c01..0000000 --- a/packages/SystemUI/res/drawable-ldrtl-hdpi/ic_qs_airplane_on.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-ldrtl-hdpi/stat_sys_ringer_silent.png b/packages/SystemUI/res/drawable-ldrtl-hdpi/stat_sys_ringer_silent.png Binary files differdeleted file mode 100644 index f3e9da2..0000000 --- a/packages/SystemUI/res/drawable-ldrtl-hdpi/stat_sys_ringer_silent.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-ldrtl-hdpi/stat_sys_ringer_vibrate.png b/packages/SystemUI/res/drawable-ldrtl-hdpi/stat_sys_ringer_vibrate.png Binary files differdeleted file mode 100644 index a90aef9..0000000 --- a/packages/SystemUI/res/drawable-ldrtl-hdpi/stat_sys_ringer_vibrate.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-ldrtl-mdpi/ic_qs_airplane_off.png b/packages/SystemUI/res/drawable-ldrtl-mdpi/ic_qs_airplane_off.png Binary files differdeleted file mode 100644 index 084799a..0000000 --- a/packages/SystemUI/res/drawable-ldrtl-mdpi/ic_qs_airplane_off.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-ldrtl-mdpi/ic_qs_airplane_on.png b/packages/SystemUI/res/drawable-ldrtl-mdpi/ic_qs_airplane_on.png Binary files differdeleted file mode 100644 index c37ba79..0000000 --- a/packages/SystemUI/res/drawable-ldrtl-mdpi/ic_qs_airplane_on.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-ldrtl-mdpi/stat_sys_ringer_silent.png b/packages/SystemUI/res/drawable-ldrtl-mdpi/stat_sys_ringer_silent.png Binary files differdeleted file mode 100644 index b05bf78..0000000 --- a/packages/SystemUI/res/drawable-ldrtl-mdpi/stat_sys_ringer_silent.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-ldrtl-mdpi/stat_sys_ringer_vibrate.png b/packages/SystemUI/res/drawable-ldrtl-mdpi/stat_sys_ringer_vibrate.png Binary files differdeleted file mode 100644 index 2f782cf..0000000 --- a/packages/SystemUI/res/drawable-ldrtl-mdpi/stat_sys_ringer_vibrate.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-ldrtl-xhdpi/ic_qs_airplane_off.png b/packages/SystemUI/res/drawable-ldrtl-xhdpi/ic_qs_airplane_off.png Binary files differdeleted file mode 100644 index 714f07e..0000000 --- a/packages/SystemUI/res/drawable-ldrtl-xhdpi/ic_qs_airplane_off.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-ldrtl-xhdpi/ic_qs_airplane_on.png b/packages/SystemUI/res/drawable-ldrtl-xhdpi/ic_qs_airplane_on.png Binary files differdeleted file mode 100644 index d59f0e9..0000000 --- a/packages/SystemUI/res/drawable-ldrtl-xhdpi/ic_qs_airplane_on.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-ldrtl-xhdpi/stat_sys_ringer_silent.png b/packages/SystemUI/res/drawable-ldrtl-xhdpi/stat_sys_ringer_silent.png Binary files differdeleted file mode 100644 index 8299301..0000000 --- a/packages/SystemUI/res/drawable-ldrtl-xhdpi/stat_sys_ringer_silent.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-ldrtl-xhdpi/stat_sys_ringer_vibrate.png b/packages/SystemUI/res/drawable-ldrtl-xhdpi/stat_sys_ringer_vibrate.png Binary files differdeleted file mode 100644 index e171d53..0000000 --- a/packages/SystemUI/res/drawable-ldrtl-xhdpi/stat_sys_ringer_vibrate.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-ldrtl-xxhdpi/ic_qs_airplane_off.png b/packages/SystemUI/res/drawable-ldrtl-xxhdpi/ic_qs_airplane_off.png Binary files differdeleted file mode 100644 index 6fc556d..0000000 --- a/packages/SystemUI/res/drawable-ldrtl-xxhdpi/ic_qs_airplane_off.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-ldrtl-xxhdpi/ic_qs_airplane_on.png b/packages/SystemUI/res/drawable-ldrtl-xxhdpi/ic_qs_airplane_on.png Binary files differdeleted file mode 100644 index a2342fc..0000000 --- a/packages/SystemUI/res/drawable-ldrtl-xxhdpi/ic_qs_airplane_on.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-ldrtl-xxhdpi/stat_sys_ringer_silent.png b/packages/SystemUI/res/drawable-ldrtl-xxhdpi/stat_sys_ringer_silent.png Binary files differdeleted file mode 100644 index 1c847da..0000000 --- a/packages/SystemUI/res/drawable-ldrtl-xxhdpi/stat_sys_ringer_silent.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-ldrtl-xxhdpi/stat_sys_ringer_vibrate.png b/packages/SystemUI/res/drawable-ldrtl-xxhdpi/stat_sys_ringer_vibrate.png Binary files differdeleted file mode 100644 index d0ab910..0000000 --- a/packages/SystemUI/res/drawable-ldrtl-xxhdpi/stat_sys_ringer_vibrate.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-mdpi/ic_qs_airplane_off.png b/packages/SystemUI/res/drawable-mdpi/ic_qs_airplane_off.png Binary files differdeleted file mode 100644 index 95df4d45..0000000 --- a/packages/SystemUI/res/drawable-mdpi/ic_qs_airplane_off.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-mdpi/ic_qs_airplane_on.png b/packages/SystemUI/res/drawable-mdpi/ic_qs_airplane_on.png Binary files differdeleted file mode 100644 index 251fc30..0000000 --- a/packages/SystemUI/res/drawable-mdpi/ic_qs_airplane_on.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-mdpi/ic_qs_auto_rotate.png b/packages/SystemUI/res/drawable-mdpi/ic_qs_auto_rotate.png Binary files differdeleted file mode 100644 index ac6c1cf..0000000 --- a/packages/SystemUI/res/drawable-mdpi/ic_qs_auto_rotate.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-mdpi/ic_qs_bluetooth_not_connected.png b/packages/SystemUI/res/drawable-mdpi/ic_qs_bluetooth_not_connected.png Binary files differdeleted file mode 100644 index b01b27f..0000000 --- a/packages/SystemUI/res/drawable-mdpi/ic_qs_bluetooth_not_connected.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-mdpi/ic_qs_bluetooth_off.png b/packages/SystemUI/res/drawable-mdpi/ic_qs_bluetooth_off.png Binary files differdeleted file mode 100644 index 541e801..0000000 --- a/packages/SystemUI/res/drawable-mdpi/ic_qs_bluetooth_off.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-mdpi/ic_qs_bluetooth_on.png b/packages/SystemUI/res/drawable-mdpi/ic_qs_bluetooth_on.png Binary files differdeleted file mode 100644 index 0acf3a4..0000000 --- a/packages/SystemUI/res/drawable-mdpi/ic_qs_bluetooth_on.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-mdpi/ic_qs_cast_connecting_0.png b/packages/SystemUI/res/drawable-mdpi/ic_qs_cast_connecting_0.png Binary files differdeleted file mode 100644 index 25fc759..0000000 --- a/packages/SystemUI/res/drawable-mdpi/ic_qs_cast_connecting_0.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-mdpi/ic_qs_cast_connecting_1.png b/packages/SystemUI/res/drawable-mdpi/ic_qs_cast_connecting_1.png Binary files differdeleted file mode 100644 index 9dfc3c6..0000000 --- a/packages/SystemUI/res/drawable-mdpi/ic_qs_cast_connecting_1.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-mdpi/ic_qs_cast_connecting_2.png b/packages/SystemUI/res/drawable-mdpi/ic_qs_cast_connecting_2.png Binary files differdeleted file mode 100644 index 82f4113..0000000 --- a/packages/SystemUI/res/drawable-mdpi/ic_qs_cast_connecting_2.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-mdpi/ic_qs_color_space_alpha.png b/packages/SystemUI/res/drawable-mdpi/ic_qs_color_space_alpha.png Binary files differdeleted file mode 100644 index 18b6029..0000000 --- a/packages/SystemUI/res/drawable-mdpi/ic_qs_color_space_alpha.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-mdpi/ic_qs_inversion_alpha.png b/packages/SystemUI/res/drawable-mdpi/ic_qs_inversion_alpha.png Binary files differdeleted file mode 100644 index b6ea14e..0000000 --- a/packages/SystemUI/res/drawable-mdpi/ic_qs_inversion_alpha.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-mdpi/ic_qs_location_off.png b/packages/SystemUI/res/drawable-mdpi/ic_qs_location_off.png Binary files differdeleted file mode 100644 index b692107..0000000 --- a/packages/SystemUI/res/drawable-mdpi/ic_qs_location_off.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-mdpi/ic_qs_location_on.png b/packages/SystemUI/res/drawable-mdpi/ic_qs_location_on.png Binary files differdeleted file mode 100644 index 867c57d..0000000 --- a/packages/SystemUI/res/drawable-mdpi/ic_qs_location_on.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-mdpi/ic_qs_rotation_locked.png b/packages/SystemUI/res/drawable-mdpi/ic_qs_rotation_locked.png Binary files differdeleted file mode 100644 index 3b7a284..0000000 --- a/packages/SystemUI/res/drawable-mdpi/ic_qs_rotation_locked.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-mdpi/stat_sys_ringer_silent.png b/packages/SystemUI/res/drawable-mdpi/stat_sys_ringer_silent.png Binary files differdeleted file mode 100644 index 1e05a91..0000000 --- a/packages/SystemUI/res/drawable-mdpi/stat_sys_ringer_silent.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-mdpi/stat_sys_ringer_vibrate.png b/packages/SystemUI/res/drawable-mdpi/stat_sys_ringer_vibrate.png Binary files differdeleted file mode 100644 index f4afa52..0000000 --- a/packages/SystemUI/res/drawable-mdpi/stat_sys_ringer_vibrate.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-mdpi/stat_sys_zen_full.png b/packages/SystemUI/res/drawable-mdpi/stat_sys_zen_full.png Binary files differdeleted file mode 100644 index b0185a5..0000000 --- a/packages/SystemUI/res/drawable-mdpi/stat_sys_zen_full.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-mdpi/stat_sys_zen_limited.png b/packages/SystemUI/res/drawable-mdpi/stat_sys_zen_limited.png Binary files differdeleted file mode 100644 index 949ab10..0000000 --- a/packages/SystemUI/res/drawable-mdpi/stat_sys_zen_limited.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-xhdpi/ic_qs_airplane_off.png b/packages/SystemUI/res/drawable-xhdpi/ic_qs_airplane_off.png Binary files differdeleted file mode 100644 index 4411097..0000000 --- a/packages/SystemUI/res/drawable-xhdpi/ic_qs_airplane_off.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-xhdpi/ic_qs_airplane_on.png b/packages/SystemUI/res/drawable-xhdpi/ic_qs_airplane_on.png Binary files differdeleted file mode 100644 index 79e4ff6..0000000 --- a/packages/SystemUI/res/drawable-xhdpi/ic_qs_airplane_on.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-xhdpi/ic_qs_auto_rotate.png b/packages/SystemUI/res/drawable-xhdpi/ic_qs_auto_rotate.png Binary files differdeleted file mode 100644 index c553bc2..0000000 --- a/packages/SystemUI/res/drawable-xhdpi/ic_qs_auto_rotate.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-xhdpi/ic_qs_bluetooth_not_connected.png b/packages/SystemUI/res/drawable-xhdpi/ic_qs_bluetooth_not_connected.png Binary files differdeleted file mode 100644 index ce965c2..0000000 --- a/packages/SystemUI/res/drawable-xhdpi/ic_qs_bluetooth_not_connected.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-xhdpi/ic_qs_bluetooth_off.png b/packages/SystemUI/res/drawable-xhdpi/ic_qs_bluetooth_off.png Binary files differdeleted file mode 100644 index c798fd6..0000000 --- a/packages/SystemUI/res/drawable-xhdpi/ic_qs_bluetooth_off.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-xhdpi/ic_qs_bluetooth_on.png b/packages/SystemUI/res/drawable-xhdpi/ic_qs_bluetooth_on.png Binary files differdeleted file mode 100644 index ac5b09d..0000000 --- a/packages/SystemUI/res/drawable-xhdpi/ic_qs_bluetooth_on.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-xhdpi/ic_qs_cast_connecting_0.png b/packages/SystemUI/res/drawable-xhdpi/ic_qs_cast_connecting_0.png Binary files differdeleted file mode 100644 index 945c606..0000000 --- a/packages/SystemUI/res/drawable-xhdpi/ic_qs_cast_connecting_0.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-xhdpi/ic_qs_cast_connecting_1.png b/packages/SystemUI/res/drawable-xhdpi/ic_qs_cast_connecting_1.png Binary files differdeleted file mode 100644 index 0a3f73e..0000000 --- a/packages/SystemUI/res/drawable-xhdpi/ic_qs_cast_connecting_1.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-xhdpi/ic_qs_cast_connecting_2.png b/packages/SystemUI/res/drawable-xhdpi/ic_qs_cast_connecting_2.png Binary files differdeleted file mode 100644 index 398cbef..0000000 --- a/packages/SystemUI/res/drawable-xhdpi/ic_qs_cast_connecting_2.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-xhdpi/ic_qs_color_space_alpha.png b/packages/SystemUI/res/drawable-xhdpi/ic_qs_color_space_alpha.png Binary files differdeleted file mode 100644 index 95cf67f..0000000 --- a/packages/SystemUI/res/drawable-xhdpi/ic_qs_color_space_alpha.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-xhdpi/ic_qs_inversion_alpha.png b/packages/SystemUI/res/drawable-xhdpi/ic_qs_inversion_alpha.png Binary files differdeleted file mode 100644 index efd8b9e..0000000 --- a/packages/SystemUI/res/drawable-xhdpi/ic_qs_inversion_alpha.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-xhdpi/ic_qs_location_off.png b/packages/SystemUI/res/drawable-xhdpi/ic_qs_location_off.png Binary files differdeleted file mode 100644 index 7ce8f83..0000000 --- a/packages/SystemUI/res/drawable-xhdpi/ic_qs_location_off.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-xhdpi/ic_qs_location_on.png b/packages/SystemUI/res/drawable-xhdpi/ic_qs_location_on.png Binary files differdeleted file mode 100644 index 6300bdc..0000000 --- a/packages/SystemUI/res/drawable-xhdpi/ic_qs_location_on.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-xhdpi/ic_qs_rotation_locked.png b/packages/SystemUI/res/drawable-xhdpi/ic_qs_rotation_locked.png Binary files differdeleted file mode 100644 index b6daaf3..0000000 --- a/packages/SystemUI/res/drawable-xhdpi/ic_qs_rotation_locked.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-xhdpi/stat_sys_ringer_silent.png b/packages/SystemUI/res/drawable-xhdpi/stat_sys_ringer_silent.png Binary files differdeleted file mode 100644 index 662d062..0000000 --- a/packages/SystemUI/res/drawable-xhdpi/stat_sys_ringer_silent.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-xhdpi/stat_sys_ringer_vibrate.png b/packages/SystemUI/res/drawable-xhdpi/stat_sys_ringer_vibrate.png Binary files differdeleted file mode 100644 index 18be9c0..0000000 --- a/packages/SystemUI/res/drawable-xhdpi/stat_sys_ringer_vibrate.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-xhdpi/stat_sys_zen_full.png b/packages/SystemUI/res/drawable-xhdpi/stat_sys_zen_full.png Binary files differdeleted file mode 100644 index 7f7cb63..0000000 --- a/packages/SystemUI/res/drawable-xhdpi/stat_sys_zen_full.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-xhdpi/stat_sys_zen_limited.png b/packages/SystemUI/res/drawable-xhdpi/stat_sys_zen_limited.png Binary files differdeleted file mode 100644 index abdeb3b..0000000 --- a/packages/SystemUI/res/drawable-xhdpi/stat_sys_zen_limited.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-xxhdpi/ic_qs_airplane_off.png b/packages/SystemUI/res/drawable-xxhdpi/ic_qs_airplane_off.png Binary files differdeleted file mode 100644 index 65b0204..0000000 --- a/packages/SystemUI/res/drawable-xxhdpi/ic_qs_airplane_off.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-xxhdpi/ic_qs_airplane_on.png b/packages/SystemUI/res/drawable-xxhdpi/ic_qs_airplane_on.png Binary files differdeleted file mode 100644 index dd16165..0000000 --- a/packages/SystemUI/res/drawable-xxhdpi/ic_qs_airplane_on.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-xxhdpi/ic_qs_auto_rotate.png b/packages/SystemUI/res/drawable-xxhdpi/ic_qs_auto_rotate.png Binary files differdeleted file mode 100644 index b6cfaec..0000000 --- a/packages/SystemUI/res/drawable-xxhdpi/ic_qs_auto_rotate.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-xxhdpi/ic_qs_bluetooth_not_connected.png b/packages/SystemUI/res/drawable-xxhdpi/ic_qs_bluetooth_not_connected.png Binary files differdeleted file mode 100644 index c5b7333..0000000 --- a/packages/SystemUI/res/drawable-xxhdpi/ic_qs_bluetooth_not_connected.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-xxhdpi/ic_qs_bluetooth_off.png b/packages/SystemUI/res/drawable-xxhdpi/ic_qs_bluetooth_off.png Binary files differdeleted file mode 100644 index 1045e07..0000000 --- a/packages/SystemUI/res/drawable-xxhdpi/ic_qs_bluetooth_off.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-xxhdpi/ic_qs_bluetooth_on.png b/packages/SystemUI/res/drawable-xxhdpi/ic_qs_bluetooth_on.png Binary files differdeleted file mode 100644 index 7c20110..0000000 --- a/packages/SystemUI/res/drawable-xxhdpi/ic_qs_bluetooth_on.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-xxhdpi/ic_qs_cast_connecting_0.png b/packages/SystemUI/res/drawable-xxhdpi/ic_qs_cast_connecting_0.png Binary files differdeleted file mode 100644 index 4621d18..0000000 --- a/packages/SystemUI/res/drawable-xxhdpi/ic_qs_cast_connecting_0.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-xxhdpi/ic_qs_cast_connecting_1.png b/packages/SystemUI/res/drawable-xxhdpi/ic_qs_cast_connecting_1.png Binary files differdeleted file mode 100644 index a1ab61b..0000000 --- a/packages/SystemUI/res/drawable-xxhdpi/ic_qs_cast_connecting_1.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-xxhdpi/ic_qs_cast_connecting_2.png b/packages/SystemUI/res/drawable-xxhdpi/ic_qs_cast_connecting_2.png Binary files differdeleted file mode 100644 index ea42a7f..0000000 --- a/packages/SystemUI/res/drawable-xxhdpi/ic_qs_cast_connecting_2.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-xxhdpi/ic_qs_color_space_alpha.png b/packages/SystemUI/res/drawable-xxhdpi/ic_qs_color_space_alpha.png Binary files differdeleted file mode 100644 index 7f441c8..0000000 --- a/packages/SystemUI/res/drawable-xxhdpi/ic_qs_color_space_alpha.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-xxhdpi/ic_qs_inversion_alpha.png b/packages/SystemUI/res/drawable-xxhdpi/ic_qs_inversion_alpha.png Binary files differdeleted file mode 100644 index ce9bae2..0000000 --- a/packages/SystemUI/res/drawable-xxhdpi/ic_qs_inversion_alpha.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-xxhdpi/ic_qs_location_off.png b/packages/SystemUI/res/drawable-xxhdpi/ic_qs_location_off.png Binary files differdeleted file mode 100644 index c14c1bb..0000000 --- a/packages/SystemUI/res/drawable-xxhdpi/ic_qs_location_off.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-xxhdpi/ic_qs_location_on.png b/packages/SystemUI/res/drawable-xxhdpi/ic_qs_location_on.png Binary files differdeleted file mode 100644 index d6d4c70..0000000 --- a/packages/SystemUI/res/drawable-xxhdpi/ic_qs_location_on.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-xxhdpi/ic_qs_rotation_locked.png b/packages/SystemUI/res/drawable-xxhdpi/ic_qs_rotation_locked.png Binary files differdeleted file mode 100644 index 8e37884..0000000 --- a/packages/SystemUI/res/drawable-xxhdpi/ic_qs_rotation_locked.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-xxhdpi/stat_sys_ringer_silent.png b/packages/SystemUI/res/drawable-xxhdpi/stat_sys_ringer_silent.png Binary files differdeleted file mode 100644 index aabf0aa..0000000 --- a/packages/SystemUI/res/drawable-xxhdpi/stat_sys_ringer_silent.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-xxhdpi/stat_sys_ringer_vibrate.png b/packages/SystemUI/res/drawable-xxhdpi/stat_sys_ringer_vibrate.png Binary files differdeleted file mode 100644 index 654c2a5..0000000 --- a/packages/SystemUI/res/drawable-xxhdpi/stat_sys_ringer_vibrate.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-xxhdpi/stat_sys_zen_full.png b/packages/SystemUI/res/drawable-xxhdpi/stat_sys_zen_full.png Binary files differdeleted file mode 100644 index afe85b4..0000000 --- a/packages/SystemUI/res/drawable-xxhdpi/stat_sys_zen_full.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable-xxhdpi/stat_sys_zen_limited.png b/packages/SystemUI/res/drawable-xxhdpi/stat_sys_zen_limited.png Binary files differdeleted file mode 100644 index 5e5053f..0000000 --- a/packages/SystemUI/res/drawable-xxhdpi/stat_sys_zen_limited.png +++ /dev/null diff --git a/packages/SystemUI/res/drawable/ic_qs_airplane_off.xml b/packages/SystemUI/res/drawable/ic_qs_airplane_off.xml new file mode 100644 index 0000000..9f0ec67 --- /dev/null +++ b/packages/SystemUI/res/drawable/ic_qs_airplane_off.xml @@ -0,0 +1,35 @@ +<!-- +Copyright (C) 2014 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<vector xmlns:android="http://schemas.android.com/apk/res/android" > + <size + android:width="64dp" + android:height="64dp"/> + + <viewport + android:viewportWidth="24.0" + android:viewportHeight="24.0"/> + + <path + android:fill="#00000000" + android:stroke="#CCCCCC" + android:strokeWidth="1.0" + android:pathData="M10.2,9.0"/> + <path + android:fill="#00000000" + android:stroke="#CCCCCC" + android:strokeWidth="1.0" + android:pathData="M21.0,16.0l0.0,-2.0l-8.0,-5.0L13.0,3.5C13.0,2.7 12.3,2.0 11.5,2.0C10.7,2.0 10.0,2.7 10.0,3.5L10.0,9.0l-8.0,5.0l0.0,2.0l8.0,-2.5L10.0,19.0l-2.0,1.5L8.0,22.0l3.5,-1.0l3.5,1.0l0.0,-1.5L13.0,19.0l0.0,-5.5L21.0,16.0z"/> +</vector> diff --git a/packages/SystemUI/res/drawable/ic_qs_airplane.xml b/packages/SystemUI/res/drawable/ic_qs_airplane_on.xml index ffe571f..95c20bb 100644 --- a/packages/SystemUI/res/drawable/ic_qs_airplane.xml +++ b/packages/SystemUI/res/drawable/ic_qs_airplane_on.xml @@ -23,9 +23,9 @@ Copyright (C) 2014 The Android Open Source Project android:viewportHeight="24.0"/> <path - android:fill="#FF000000" + android:fill="#FFFFFFFF" android:pathData="M10.2,9.0"/> <path - android:fill="#FF000000" + android:fill="#FFFFFFFF" android:pathData="M21.0,16.0l0.0,-2.0l-8.0,-5.0L13.0,3.5C13.0,2.7 12.3,2.0 11.5,2.0C10.7,2.0 10.0,2.7 10.0,3.5L10.0,9.0l-8.0,5.0l0.0,2.0l8.0,-2.5L10.0,19.0l-2.0,1.5L8.0,22.0l3.5,-1.0l3.5,1.0l0.0,-1.5L13.0,19.0l0.0,-5.5L21.0,16.0z"/> </vector> diff --git a/packages/SystemUI/res/drawable/ic_qs_bluetooth.xml b/packages/SystemUI/res/drawable/ic_qs_bluetooth_connected.xml index 22d0dcf..61a7777 100644 --- a/packages/SystemUI/res/drawable/ic_qs_bluetooth.xml +++ b/packages/SystemUI/res/drawable/ic_qs_bluetooth_connected.xml @@ -23,6 +23,6 @@ Copyright (C) 2014 The Android Open Source Project android:viewportHeight="24.0"/> <path - android:fill="#FF000000" + android:fill="#FFFFFFFF" android:pathData="M17.7,7.7L12.0,2.0l-1.0,0.0l0.0,7.6L6.4,5.0L5.0,6.4l5.6,5.6L5.0,17.6L6.4,19.0l4.6,-4.6L11.0,22.0l1.0,0.0l5.7,-5.7L13.4,12.0L17.7,7.7zM13.0,5.8l1.9,1.9L13.0,9.6L13.0,5.8zM14.9,16.3L13.0,18.2l0.0,-3.8L14.9,16.3z"/> </vector> diff --git a/packages/SystemUI/res/drawable/ic_qs_bluetooth_off.xml b/packages/SystemUI/res/drawable/ic_qs_bluetooth_off.xml new file mode 100644 index 0000000..7ac1cb9 --- /dev/null +++ b/packages/SystemUI/res/drawable/ic_qs_bluetooth_off.xml @@ -0,0 +1,30 @@ +<!-- +Copyright (C) 2014 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<vector xmlns:android="http://schemas.android.com/apk/res/android" > + <size + android:width="64dp" + android:height="64dp"/> + + <viewport + android:viewportWidth="24.0" + android:viewportHeight="24.0"/> + + <path + android:fill="#00000000" + android:stroke="#CCCCCC" + android:strokeWidth="1.0" + android:pathData="M17.7,7.7L12.0,2.0l-1.0,0.0l0.0,7.6L6.4,5.0L5.0,6.4l5.6,5.6L5.0,17.6L6.4,19.0l4.6,-4.6L11.0,22.0l1.0,0.0l5.7,-5.7L13.4,12.0L17.7,7.7zM13.0,5.8l1.9,1.9L13.0,9.6L13.0,5.8zM14.9,16.3L13.0,18.2l0.0,-3.8L14.9,16.3z"/> +</vector> diff --git a/packages/SystemUI/res/drawable/ic_qs_location.xml b/packages/SystemUI/res/drawable/ic_qs_bluetooth_on.xml index e6e98a0..61a7777 100644 --- a/packages/SystemUI/res/drawable/ic_qs_location.xml +++ b/packages/SystemUI/res/drawable/ic_qs_bluetooth_on.xml @@ -23,6 +23,6 @@ Copyright (C) 2014 The Android Open Source Project android:viewportHeight="24.0"/> <path - android:fill="#FF000000" - android:pathData="M12.0,2.0C8.1,2.0 5.0,5.1 5.0,9.0c0.0,5.2 7.0,13.0 7.0,13.0s7.0,-7.8 7.0,-13.0C19.0,5.1 15.9,2.0 12.0,2.0zM12.0,11.5c-1.4,0.0 -2.5,-1.1 -2.5,-2.5s1.1,-2.5 2.5,-2.5c1.4,0.0 2.5,1.1 2.5,2.5S13.4,11.5 12.0,11.5z"/> + android:fill="#FFFFFFFF" + android:pathData="M17.7,7.7L12.0,2.0l-1.0,0.0l0.0,7.6L6.4,5.0L5.0,6.4l5.6,5.6L5.0,17.6L6.4,19.0l4.6,-4.6L11.0,22.0l1.0,0.0l5.7,-5.7L13.4,12.0L17.7,7.7zM13.0,5.8l1.9,1.9L13.0,9.6L13.0,5.8zM14.9,16.3L13.0,18.2l0.0,-3.8L14.9,16.3z"/> </vector> diff --git a/packages/SystemUI/res/drawable/ic_qs_bugreport.xml b/packages/SystemUI/res/drawable/ic_qs_bugreport.xml index 2dfe183..2958848 100644 --- a/packages/SystemUI/res/drawable/ic_qs_bugreport.xml +++ b/packages/SystemUI/res/drawable/ic_qs_bugreport.xml @@ -23,6 +23,6 @@ Copyright (C) 2014 The Android Open Source Project android:viewportHeight="24.0"/> <path - android:fill="#FF000000" + android:fill="#FFFFFFFF" android:pathData="M20.0,8.0l-2.8,0.0c-0.5,-0.8 -1.1,-1.5 -1.8,-2.0L17.0,4.4L15.6,3.0l-2.2,2.2C13.0,5.1 12.5,5.0 12.0,5.0s-1.0,0.1 -1.4,0.2L8.4,3.0L7.0,4.4L8.6,6.0C7.9,6.5 7.3,7.2 6.8,8.0L4.0,8.0l0.0,2.0l2.1,0.0C6.0,10.3 6.0,10.7 6.0,11.0l0.0,1.0L4.0,12.0l0.0,2.0l2.0,0.0l0.0,1.0c0.0,0.3 0.0,0.7 0.1,1.0L4.0,16.0l0.0,2.0l2.8,0.0c1.0,1.8 3.0,3.0 5.2,3.0s4.2,-1.2 5.2,-3.0L20.0,18.0l0.0,-2.0l-2.1,0.0c0.1,-0.3 0.1,-0.7 0.1,-1.0l0.0,-1.0l2.0,0.0l0.0,-2.0l-2.0,0.0l0.0,-1.0c0.0,-0.3 0.0,-0.7 -0.1,-1.0L20.0,10.0L20.0,8.0zM14.0,16.0l-4.0,0.0l0.0,-2.0l4.0,0.0L14.0,16.0zM14.0,12.0l-4.0,0.0l0.0,-2.0l4.0,0.0L14.0,12.0z"/> </vector> diff --git a/packages/SystemUI/res/drawable/ic_qs_cast_connecting.xml b/packages/SystemUI/res/drawable/ic_qs_cast_connecting.xml deleted file mode 100644 index 70db2a9..0000000 --- a/packages/SystemUI/res/drawable/ic_qs_cast_connecting.xml +++ /dev/null @@ -1,26 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/* - * Copyright 2013, The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ ---> -<animation-list - xmlns:android="http://schemas.android.com/apk/res/android" - android:oneshot="false"> - <item android:drawable="@drawable/ic_qs_cast_connecting_0" android:duration="500" /> - <item android:drawable="@drawable/ic_qs_cast_connecting_1" android:duration="500" /> - <item android:drawable="@drawable/ic_qs_cast_connecting_2" android:duration="500" /> - <item android:drawable="@drawable/ic_qs_cast_connecting_1" android:duration="500" /> -</animation-list> diff --git a/packages/SystemUI/res/drawable/ic_qs_cast_off.xml b/packages/SystemUI/res/drawable/ic_qs_cast_off.xml new file mode 100644 index 0000000..130c639 --- /dev/null +++ b/packages/SystemUI/res/drawable/ic_qs_cast_off.xml @@ -0,0 +1,30 @@ +<!-- +Copyright (C) 2014 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<vector xmlns:android="http://schemas.android.com/apk/res/android" > + <size + android:width="64dp" + android:height="64dp"/> + + <viewport + android:viewportWidth="24.0" + android:viewportHeight="24.0"/> + + <path + android:fill="#00000000" + android:stroke="#CCCCCC" + android:strokeWidth="1.0" + android:pathData="M21.0,3.0L3.0,3.0C1.9,3.0 1.0,3.9 1.0,5.0l0.0,3.0l2.0,0.0L3.0,5.0l18.0,0.0l0.0,14.0l-7.0,0.0l0.0,2.0l7.0,0.0c1.1,0.0 2.0,-0.9 2.0,-2.0L23.0,5.0C23.0,3.9 22.1,3.0 21.0,3.0zM1.0,18.0l0.0,3.0l3.0,0.0C4.0,19.3 2.7,18.0 1.0,18.0zM1.0,14.0l0.0,2.0c2.8,0.0 5.0,2.2 5.0,5.0l2.0,0.0C8.0,17.1 4.9,14.0 1.0,14.0zM1.0,10.0l0.0,2.0c5.0,0.0 9.0,4.0 9.0,9.0l2.0,0.0C12.0,14.9 7.1,10.0 1.0,10.0z"/> +</vector> diff --git a/packages/SystemUI/res/drawable/ic_qs_cast.xml b/packages/SystemUI/res/drawable/ic_qs_cast_on.xml index 6f2840b..6c82b1c 100644 --- a/packages/SystemUI/res/drawable/ic_qs_cast.xml +++ b/packages/SystemUI/res/drawable/ic_qs_cast_on.xml @@ -23,6 +23,6 @@ Copyright (C) 2014 The Android Open Source Project android:viewportHeight="24.0"/> <path - android:fill="#FF000000" + android:fill="#FFFFFFFF" android:pathData="M21.0,3.0L3.0,3.0C1.9,3.0 1.0,3.9 1.0,5.0l0.0,3.0l2.0,0.0L3.0,5.0l18.0,0.0l0.0,14.0l-7.0,0.0l0.0,2.0l7.0,0.0c1.1,0.0 2.0,-0.9 2.0,-2.0L23.0,5.0C23.0,3.9 22.1,3.0 21.0,3.0zM1.0,18.0l0.0,3.0l3.0,0.0C4.0,19.3 2.7,18.0 1.0,18.0zM1.0,14.0l0.0,2.0c2.8,0.0 5.0,2.2 5.0,5.0l2.0,0.0C8.0,17.1 4.9,14.0 1.0,14.0zM1.0,10.0l0.0,2.0c5.0,0.0 9.0,4.0 9.0,9.0l2.0,0.0C12.0,14.9 7.1,10.0 1.0,10.0z"/> </vector> diff --git a/packages/SystemUI/res/drawable/ic_qs_close.xml b/packages/SystemUI/res/drawable/ic_qs_close.xml index c2c72c8..dd43e6c 100644 --- a/packages/SystemUI/res/drawable/ic_qs_close.xml +++ b/packages/SystemUI/res/drawable/ic_qs_close.xml @@ -23,6 +23,6 @@ Copyright (C) 2014 The Android Open Source Project android:viewportHeight="24.0"/> <path - android:fill="#FF000000" + android:fill="#FFFFFFFF" android:pathData="M19.0,6.4l-1.3999996,-1.4000001 -5.6000004,5.6000004 -5.6,-5.6000004 -1.4000001,1.4000001 5.6000004,5.6 -5.6000004,5.6000004 1.4000001,1.3999996 5.6,-5.6000004 5.6000004,5.6000004 1.3999996,-1.3999996 -5.6000004,-5.6000004z"/> </vector> diff --git a/packages/SystemUI/res/drawable/ic_qs_invert_colors.xml b/packages/SystemUI/res/drawable/ic_qs_color_inversion.xml index 7c92052..dc30a53 100644 --- a/packages/SystemUI/res/drawable/ic_qs_invert_colors.xml +++ b/packages/SystemUI/res/drawable/ic_qs_color_inversion.xml @@ -23,6 +23,6 @@ Copyright (C) 2014 The Android Open Source Project android:viewportHeight="24.0"/> <path - android:fill="#FF000000" + android:fill="#FFFFFFFF" android:pathData="M18.939,7.244c-5.887,-5.885 -6.214,-6.214 -6.222,-6.222l-0.707,-0.737L5.088,7.207c-2.914,2.915 -3.74,6.629 -2.266,10.19c1.541,3.719 5.312,6.316 9.174,6.317l0.0,0.0c3.861,-0.001 7.636,-2.603 9.179,-6.328C22.646,13.834 21.832,10.138 18.939,7.244zM4.67,16.632c-1.149,-2.776 -0.481,-5.696 1.832,-8.011l5.494,-5.492c0.0,0.002 0.002,0.003 0.003,0.004l0.0,18.582c-0.001,0.0 -0.002,0.0 -0.003,0.0C8.922,21.714 5.91,19.624 4.67,16.632z"/> </vector> diff --git a/packages/SystemUI/res/drawable/ic_qs_color_space_off.xml b/packages/SystemUI/res/drawable/ic_qs_color_space_off.xml deleted file mode 100644 index cf34ba6..0000000 --- a/packages/SystemUI/res/drawable/ic_qs_color_space_off.xml +++ /dev/null @@ -1,20 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- - Copyright (C) 2014 The Android Open Source Project - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> - -<bitmap xmlns:android="http://schemas.android.com/apk/res/android" - android:src="@drawable/ic_qs_color_space_alpha" - android:tint="@color/ic_qs_off" /> diff --git a/packages/SystemUI/res/drawable/ic_qs_color_space_on.xml b/packages/SystemUI/res/drawable/ic_qs_color_space_on.xml deleted file mode 100644 index 1806688..0000000 --- a/packages/SystemUI/res/drawable/ic_qs_color_space_on.xml +++ /dev/null @@ -1,20 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- - Copyright (C) 2014 The Android Open Source Project - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> - -<bitmap xmlns:android="http://schemas.android.com/apk/res/android" - android:src="@drawable/ic_qs_color_space_alpha" - android:tint="@color/ic_qs_on" /> diff --git a/packages/SystemUI/res/drawable/ic_qs_hotspot_off.xml b/packages/SystemUI/res/drawable/ic_qs_hotspot_off.xml new file mode 100644 index 0000000..7a62212 --- /dev/null +++ b/packages/SystemUI/res/drawable/ic_qs_hotspot_off.xml @@ -0,0 +1,30 @@ +<!-- +Copyright (C) 2014 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<vector xmlns:android="http://schemas.android.com/apk/res/android" > + <size + android:width="64dp" + android:height="64dp"/> + + <viewport + android:viewportWidth="24.0" + android:viewportHeight="24.0"/> + + <path + android:fill="#00000000" + android:stroke="#CCCCCC" + android:strokeWidth="1.0" + android:pathData="M12.0,11.0c-1.1,0.0 -2.0,0.9 -2.0,2.0c0.0,1.1 0.9,2.0 2.0,2.0c1.1,0.0 2.0,-0.9 2.0,-2.0C14.0,11.9 13.1,11.0 12.0,11.0zM18.0,13.0c0.0,-3.3 -2.7,-6.0 -6.0,-6.0c-3.3,0.0 -6.0,2.7 -6.0,6.0c0.0,2.2 1.2,4.1 3.0,5.2l1.0,-1.7c-1.2,-0.7 -2.0,-2.0 -2.0,-3.4c0.0,-2.2 1.8,-4.0 4.0,-4.0s4.0,1.8 4.0,4.0c0.0,1.5 -0.8,2.8 -2.0,3.4l1.0,1.7C16.8,17.1 18.0,15.2 18.0,13.0zM12.0,3.0C6.5,3.0 2.0,7.5 2.0,13.0c0.0,3.7 2.0,6.9 5.0,8.6l1.0,-1.7c-2.4,-1.4 -4.0,-4.0 -4.0,-6.9c0.0,-4.4 3.6,-8.0 8.0,-8.0s8.0,3.6 8.0,8.0c0.0,3.0 -1.6,5.5 -4.0,6.9l1.0,1.7c3.0,-1.7 5.0,-5.0 5.0,-8.6C22.0,7.5 17.5,3.0 12.0,3.0z"/> +</vector> diff --git a/packages/SystemUI/res/drawable/ic_qs_hotspot.xml b/packages/SystemUI/res/drawable/ic_qs_hotspot_on.xml index 965e3c1..3ccdd81 100644 --- a/packages/SystemUI/res/drawable/ic_qs_hotspot.xml +++ b/packages/SystemUI/res/drawable/ic_qs_hotspot_on.xml @@ -23,6 +23,6 @@ Copyright (C) 2014 The Android Open Source Project android:viewportHeight="24.0"/> <path - android:fill="#FF000000" + android:fill="#FFFFFFFF" android:pathData="M12.0,11.0c-1.1,0.0 -2.0,0.9 -2.0,2.0c0.0,1.1 0.9,2.0 2.0,2.0c1.1,0.0 2.0,-0.9 2.0,-2.0C14.0,11.9 13.1,11.0 12.0,11.0zM18.0,13.0c0.0,-3.3 -2.7,-6.0 -6.0,-6.0c-3.3,0.0 -6.0,2.7 -6.0,6.0c0.0,2.2 1.2,4.1 3.0,5.2l1.0,-1.7c-1.2,-0.7 -2.0,-2.0 -2.0,-3.4c0.0,-2.2 1.8,-4.0 4.0,-4.0s4.0,1.8 4.0,4.0c0.0,1.5 -0.8,2.8 -2.0,3.4l1.0,1.7C16.8,17.1 18.0,15.2 18.0,13.0zM12.0,3.0C6.5,3.0 2.0,7.5 2.0,13.0c0.0,3.7 2.0,6.9 5.0,8.6l1.0,-1.7c-2.4,-1.4 -4.0,-4.0 -4.0,-6.9c0.0,-4.4 3.6,-8.0 8.0,-8.0s8.0,3.6 8.0,8.0c0.0,3.0 -1.6,5.5 -4.0,6.9l1.0,1.7c3.0,-1.7 5.0,-5.0 5.0,-8.6C22.0,7.5 17.5,3.0 12.0,3.0z"/> </vector> diff --git a/packages/SystemUI/res/drawable/ic_qs_inversion_off.xml b/packages/SystemUI/res/drawable/ic_qs_inversion_off.xml deleted file mode 100644 index 9018a90..0000000 --- a/packages/SystemUI/res/drawable/ic_qs_inversion_off.xml +++ /dev/null @@ -1,20 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- - Copyright (C) 2014 The Android Open Source Project - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> - -<bitmap xmlns:android="http://schemas.android.com/apk/res/android" - android:src="@drawable/ic_qs_inversion_alpha" - android:tint="@color/ic_qs_off" /> diff --git a/packages/SystemUI/res/drawable/ic_qs_inversion_on.xml b/packages/SystemUI/res/drawable/ic_qs_inversion_on.xml deleted file mode 100644 index 9110201..0000000 --- a/packages/SystemUI/res/drawable/ic_qs_inversion_on.xml +++ /dev/null @@ -1,20 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- - Copyright (C) 2014 The Android Open Source Project - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> - -<bitmap xmlns:android="http://schemas.android.com/apk/res/android" - android:src="@drawable/ic_qs_inversion_alpha" - android:tint="@color/ic_qs_on" /> diff --git a/packages/SystemUI/res/drawable/ic_qs_rotation_locked_portrait.xml b/packages/SystemUI/res/drawable/ic_qs_location_01.xml index 496bb0e..ff37d9a 100644 --- a/packages/SystemUI/res/drawable/ic_qs_rotation_locked_portrait.xml +++ b/packages/SystemUI/res/drawable/ic_qs_location_01.xml @@ -23,6 +23,6 @@ Copyright (C) 2014 The Android Open Source Project android:viewportHeight="24.0"/> <path - android:fill="#FF000000" - android:pathData="M17.0,1.0L7.0,1.0C5.9,1.0 5.0,1.9 5.0,3.0l0.0,18.0c0.0,1.1 0.9,2.0 2.0,2.0l10.0,0.0c1.1,0.0 2.0,-0.9 2.0,-2.0L19.0,3.0C19.0,1.9 18.1,1.0 17.0,1.0zM17.0,19.0L7.0,19.0L7.0,5.0l10.0,0.0L17.0,19.0z"/> + android:fill="#FFFFFFFF" + android:pathData="M12.0,2.0C8.13,2.0 5.0,5.13 5.0,9.0c0.0,5.25 7.0,13.0 7.0,13.0s7.0,-7.75 7.0,-13.0C19.0,5.13 15.87,2.0 12.0,2.0zM12.0,11.5c-1.38,0.0 -2.5,-1.12 -2.5,-2.5s1.12,-2.5 2.5,-2.5c1.38,0.0 2.5,1.12 2.5,2.5S13.38,11.5 12.0,11.5z"/> </vector> diff --git a/packages/SystemUI/res/drawable/ic_qs_location_02.xml b/packages/SystemUI/res/drawable/ic_qs_location_02.xml new file mode 100644 index 0000000..bb4465f --- /dev/null +++ b/packages/SystemUI/res/drawable/ic_qs_location_02.xml @@ -0,0 +1,28 @@ +<!-- +Copyright (C) 2014 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<vector xmlns:android="http://schemas.android.com/apk/res/android" > + <size + android:width="64dp" + android:height="64dp"/> + + <viewport + android:viewportWidth="24.0" + android:viewportHeight="24.0"/> + + <path + android:fill="#FFFFFFFF" + android:pathData="M12.0,4.0c-3.48,0.0 -6.3,2.82 -6.3,6.3C5.7,15.02 12.0,22.0 12.0,22.0s6.3,-6.98 6.3,-11.7C18.3,6.82 15.48,4.0 12.0,4.0zM12.0,12.55c-1.24,0.0 -2.25,-1.01 -2.25,-2.25S10.76,8.05 12.0,8.05c1.24,0.0 2.25,1.01 2.25,2.25S13.24,12.55 12.0,12.55z"/> +</vector> diff --git a/packages/SystemUI/res/drawable/ic_qs_location_03.xml b/packages/SystemUI/res/drawable/ic_qs_location_03.xml new file mode 100644 index 0000000..956a8c3 --- /dev/null +++ b/packages/SystemUI/res/drawable/ic_qs_location_03.xml @@ -0,0 +1,28 @@ +<!-- +Copyright (C) 2014 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<vector xmlns:android="http://schemas.android.com/apk/res/android" > + <size + android:width="64dp" + android:height="64dp"/> + + <viewport + android:viewportWidth="24.0" + android:viewportHeight="24.0"/> + + <path + android:fill="#FFFFFFFF" + android:pathData="M12.0,7.0c-2.9,0.0 -5.25,2.35 -5.25,5.25C6.75,16.19 12.0,22.0 12.0,22.0s5.25,-5.81 5.25,-9.75C17.25,9.35 14.9,7.0 12.0,7.0zM12.0,14.12c-1.04,0.0 -1.88,-0.84 -1.88,-1.88s0.84,-1.88 1.88,-1.88c1.04,0.0 1.87,0.84 1.87,1.88S13.04,14.12 12.0,14.12z"/> +</vector> diff --git a/packages/SystemUI/res/drawable/ic_qs_rotation_locked_landscape.xml b/packages/SystemUI/res/drawable/ic_qs_location_04.xml index 532a2ed..0c0fb3b 100644 --- a/packages/SystemUI/res/drawable/ic_qs_rotation_locked_landscape.xml +++ b/packages/SystemUI/res/drawable/ic_qs_location_04.xml @@ -23,6 +23,6 @@ Copyright (C) 2014 The Android Open Source Project android:viewportHeight="24.0"/> <path - android:fill="#FF000000" - android:pathData="M21.0,5.0L3.0,5.0C1.9,5.0 1.0,5.9 1.0,7.0l0.0,10.0c0.0,1.1 0.9,2.0 2.0,2.0l18.0,0.0c1.1,0.0 2.0,-0.9 2.0,-2.0L23.0,7.0C23.0,5.9 22.1,5.0 21.0,5.0zM19.0,17.0L5.0,17.0L5.0,7.0l14.0,0.0L19.0,17.0z"/> + android:fill="#FFFFFFFF" + android:pathData="M12.0,10.0c-2.32,0.0 -4.2,1.88 -4.2,4.2C7.8,17.35 12.0,22.0 12.0,22.0s4.2,-4.65 4.2,-7.8C16.2,11.88 14.32,10.0 12.0,10.0zM12.0,15.7c-0.83,0.0 -1.5,-0.67 -1.5,-1.5s0.67,-1.5 1.5,-1.5c0.83,0.0 1.5,0.67 1.5,1.5S12.83,15.7 12.0,15.7z"/> </vector> diff --git a/packages/SystemUI/res/drawable/ic_qs_location_05.xml b/packages/SystemUI/res/drawable/ic_qs_location_05.xml new file mode 100644 index 0000000..1a21e2f --- /dev/null +++ b/packages/SystemUI/res/drawable/ic_qs_location_05.xml @@ -0,0 +1,28 @@ +<!-- +Copyright (C) 2014 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<vector xmlns:android="http://schemas.android.com/apk/res/android" > + <size + android:width="64dp" + android:height="64dp"/> + + <viewport + android:viewportWidth="24.0" + android:viewportHeight="24.0"/> + + <path + android:fill="#FFFFFFFF" + android:pathData="M12.0,13.0c-1.74,0.0 -3.15,1.41 -3.15,3.15C8.85,18.51 12.0,22.0 12.0,22.0s3.15,-3.49 3.15,-5.85C15.15,14.41 13.74,13.0 12.0,13.0zM12.0,17.27c-0.62,0.0 -1.13,-0.5 -1.13,-1.12c0.0,-0.62 0.5,-1.12 1.13,-1.12c0.62,0.0 1.12,0.5 1.12,1.12C13.12,16.77 12.62,17.27 12.0,17.27z"/> +</vector> diff --git a/packages/SystemUI/res/drawable/ic_qs_location_06.xml b/packages/SystemUI/res/drawable/ic_qs_location_06.xml new file mode 100644 index 0000000..25c9ae5 --- /dev/null +++ b/packages/SystemUI/res/drawable/ic_qs_location_06.xml @@ -0,0 +1,33 @@ +<!-- +Copyright (C) 2014 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<vector xmlns:android="http://schemas.android.com/apk/res/android" > + <size + android:width="64dp" + android:height="64dp"/> + + <viewport + android:viewportWidth="24.0" + android:viewportHeight="24.0"/> + + <path + android:fill="#FFFFFFFF" + android:pathData="M12.0,16.0c-1.16,0.0 -2.1,0.94 -2.1,2.1C9.9,19.67 12.0,22.0 12.0,22.0s2.1,-2.33 2.1,-3.9C14.1,16.94 13.16,16.0 12.0,16.0zM12.0,18.85c-0.41,0.0 -0.75,-0.34 -0.75,-0.75s0.34,-0.75 0.75,-0.75c0.41,0.0 0.75,0.34 0.75,0.75S12.41,18.85 12.0,18.85z"/> + <path + android:pathData="M11.99,15c-1.35,0,-2.45,1.1,-2.45,2.45 c0,1.84,2.45,4.55,2.45,4.55s2.45,-2.71,2.45,-4.55C14.44,16.1,13.34,15,11.99,15z M11.99,18.33c-0.48,0,-0.88,-0.39,-0.88,-0.88 s0.39,-0.88,0.88,-0.88c0.48,0,0.87,0.39,0.87,0.88S12.47,18.33,11.99,18.33z" + android:strokeWidth=".35" + android:fill="#00000000" + android:stroke="#CCCCCC"/> +</vector> diff --git a/packages/SystemUI/res/drawable/ic_qs_location_07.xml b/packages/SystemUI/res/drawable/ic_qs_location_07.xml new file mode 100644 index 0000000..a69c3a2 --- /dev/null +++ b/packages/SystemUI/res/drawable/ic_qs_location_07.xml @@ -0,0 +1,30 @@ +<!-- +Copyright (C) 2014 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<vector xmlns:android="http://schemas.android.com/apk/res/android" > + <size + android:width="64dp" + android:height="64dp"/> + + <viewport + android:viewportWidth="24.0" + android:viewportHeight="24.0"/> + + <path + android:pathData="M12,9c-2.51,0,-4.55,2.04,-4.55,4.55 C7.45,16.96,12,22,12,22s4.55,-5.04,4.55,-8.45C16.55,11.04,14.51,9,12,9z M12,15.18c-0.9,0,-1.63,-0.73,-1.63,-1.62 s0.73,-1.62,1.63,-1.62c0.9,0,1.62,0.73,1.62,1.62S12.9,15.18,12,15.18z" + android:strokeWidth="0.65" + android:fill="#00000000" + android:stroke="#CCCCCC"/> +</vector> diff --git a/packages/SystemUI/res/drawable/ic_qs_location_08.xml b/packages/SystemUI/res/drawable/ic_qs_location_08.xml new file mode 100644 index 0000000..c89c047 --- /dev/null +++ b/packages/SystemUI/res/drawable/ic_qs_location_08.xml @@ -0,0 +1,30 @@ +<!-- +Copyright (C) 2014 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<vector xmlns:android="http://schemas.android.com/apk/res/android" > + <size + android:width="64dp" + android:height="64dp"/> + + <viewport + android:viewportWidth="24.0" + android:viewportHeight="24.0"/> + + <path + android:pathData="M12,6c-3.09,0,-5.6,2.51,-5.6,5.6 C6.4,15.8,12,22,12,22s5.6,-6.2,5.6,-10.4C17.6,8.51,15.09,6,12,6z M12,13.6c-1.1,0,-2,-0.9,-2,-2s0.9,-2,2,-2c1.1,0,2,0.9,2,2 S13.1,13.6,12,13.6z" + android:strokeWidth="0.8" + android:fill="#00000000" + android:stroke="#CCCCCC"/> +</vector> diff --git a/packages/SystemUI/res/drawable/ic_qs_location_09.xml b/packages/SystemUI/res/drawable/ic_qs_location_09.xml new file mode 100644 index 0000000..96bb6ce --- /dev/null +++ b/packages/SystemUI/res/drawable/ic_qs_location_09.xml @@ -0,0 +1,30 @@ +<!-- +Copyright (C) 2014 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<vector xmlns:android="http://schemas.android.com/apk/res/android" > + <size + android:width="64dp" + android:height="64dp"/> + + <viewport + android:viewportWidth="24.0" + android:viewportHeight="24.0"/> + + <path + android:pathData="M12,4c-3.48,0,-6.3,2.82,-6.3,6.3 C5.7,15.02,12,22,12,22s6.3,-6.98,6.3,-11.7C18.3,6.82,15.48,4,12,4z M12,12.55c-1.24,0,-2.25,-1.01,-2.25,-2.25S10.76,8.05,12,8.05 c1.24,0,2.25,1.01,2.25,2.25S13.24,12.55,12,12.55z" + android:strokeWidth="0.9" + android:fill="#00000000" + android:stroke="#CCCCCC"/> +</vector> diff --git a/packages/SystemUI/res/drawable/ic_qs_location_10.xml b/packages/SystemUI/res/drawable/ic_qs_location_10.xml new file mode 100644 index 0000000..aced4bd --- /dev/null +++ b/packages/SystemUI/res/drawable/ic_qs_location_10.xml @@ -0,0 +1,30 @@ +<!-- +Copyright (C) 2014 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<vector xmlns:android="http://schemas.android.com/apk/res/android" > + <size + android:width="64dp" + android:height="64dp"/> + + <viewport + android:viewportWidth="24.0" + android:viewportHeight="24.0"/> + + <path + android:pathData="M12,3C8.33,3,5.35,5.98,5.35,9.65 C5.35,14.64,12,22,12,22s6.65,-7.36,6.65,-12.35C18.65,5.98,15.67,3,12,3z M12,12.02c-1.31,0,-2.38,-1.06,-2.38,-2.38 S10.69,7.28,12,7.28c1.31,0,2.37,1.06,2.37,2.37S13.31,12.02,12,12.02z" + android:strokeWidth="0.95" + android:fill="#00000000" + android:stroke="#CCCCCC"/> +</vector> diff --git a/packages/SystemUI/res/drawable/ic_qs_location_11.xml b/packages/SystemUI/res/drawable/ic_qs_location_11.xml new file mode 100644 index 0000000..578308e --- /dev/null +++ b/packages/SystemUI/res/drawable/ic_qs_location_11.xml @@ -0,0 +1,30 @@ +<!-- +Copyright (C) 2014 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<vector xmlns:android="http://schemas.android.com/apk/res/android" > + <size + android:width="64dp" + android:height="64dp"/> + + <viewport + android:viewportWidth="24.0" + android:viewportHeight="24.0"/> + + <path + android:pathData="M12,2C8.13,2,5,5.13,5,9c0,5.25,7,13,7,13s7,-7.75,7,-13 C19,5.13,15.87,2,12,2z M12,11.5c-1.38,0,-2.5,-1.12,-2.5,-2.5s1.12,-2.5,2.5,-2.5c1.38,0,2.5,1.12,2.5,2.5S13.38,11.5,12,11.5z" + android:fill="#00000000" + android:stroke="#CCCCCC" + android:strokeWidth="1.0"/> +</vector> diff --git a/packages/SystemUI/res/drawable/ic_qs_location_off.xml b/packages/SystemUI/res/drawable/ic_qs_location_off.xml new file mode 100644 index 0000000..d28d347 --- /dev/null +++ b/packages/SystemUI/res/drawable/ic_qs_location_off.xml @@ -0,0 +1,31 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- +Copyright (C) 2014 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<animation-list + xmlns:android="http://schemas.android.com/apk/res/android" + android:oneshot="true"> + <item android:drawable="@drawable/ic_qs_location_01" android:duration="16" /> + <item android:drawable="@drawable/ic_qs_location_02" android:duration="16" /> + <item android:drawable="@drawable/ic_qs_location_03" android:duration="16" /> + <item android:drawable="@drawable/ic_qs_location_04" android:duration="16" /> + <item android:drawable="@drawable/ic_qs_location_05" android:duration="16" /> + <item android:drawable="@drawable/ic_qs_location_06" android:duration="16" /> + <item android:drawable="@drawable/ic_qs_location_07" android:duration="16" /> + <item android:drawable="@drawable/ic_qs_location_08" android:duration="16" /> + <item android:drawable="@drawable/ic_qs_location_09" android:duration="16" /> + <item android:drawable="@drawable/ic_qs_location_10" android:duration="16" /> + <item android:drawable="@drawable/ic_qs_location_11" android:duration="16" /> +</animation-list> diff --git a/packages/SystemUI/res/drawable/ic_qs_location_on.xml b/packages/SystemUI/res/drawable/ic_qs_location_on.xml new file mode 100644 index 0000000..72512ac --- /dev/null +++ b/packages/SystemUI/res/drawable/ic_qs_location_on.xml @@ -0,0 +1,31 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- +Copyright (C) 2014 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<animation-list + xmlns:android="http://schemas.android.com/apk/res/android" + android:oneshot="true"> + <item android:drawable="@drawable/ic_qs_location_11" android:duration="16" /> + <item android:drawable="@drawable/ic_qs_location_10" android:duration="16" /> + <item android:drawable="@drawable/ic_qs_location_09" android:duration="16" /> + <item android:drawable="@drawable/ic_qs_location_08" android:duration="16" /> + <item android:drawable="@drawable/ic_qs_location_07" android:duration="16" /> + <item android:drawable="@drawable/ic_qs_location_06" android:duration="16" /> + <item android:drawable="@drawable/ic_qs_location_05" android:duration="16" /> + <item android:drawable="@drawable/ic_qs_location_04" android:duration="16" /> + <item android:drawable="@drawable/ic_qs_location_03" android:duration="16" /> + <item android:drawable="@drawable/ic_qs_location_02" android:duration="16" /> + <item android:drawable="@drawable/ic_qs_location_01" android:duration="16" /> +</animation-list> diff --git a/packages/SystemUI/res/drawable/ic_qs_minus.xml b/packages/SystemUI/res/drawable/ic_qs_minus.xml index 8323e89..376cc28 100644 --- a/packages/SystemUI/res/drawable/ic_qs_minus.xml +++ b/packages/SystemUI/res/drawable/ic_qs_minus.xml @@ -23,6 +23,6 @@ Copyright (C) 2014 The Android Open Source Project android:viewportHeight="24.0"/> <path - android:fill="#FF000000" + android:fill="#FFFFFFFF" android:pathData="M7.0,11.0l0.0,2.0l10.0,0.0l0.0,-2.0L7.0,11.0zM12.0,2.0C6.5,2.0 2.0,6.5 2.0,12.0s4.5,10.0 10.0,10.0c5.5,0.0 10.0,-4.5 10.0,-10.0S17.5,2.0 12.0,2.0zM12.0,20.0c-4.4,0.0 -8.0,-3.6 -8.0,-8.0s3.6,-8.0 8.0,-8.0c4.4,0.0 8.0,3.6 8.0,8.0S16.4,20.0 12.0,20.0z"/> </vector> diff --git a/packages/SystemUI/res/drawable/ic_qs_plus.xml b/packages/SystemUI/res/drawable/ic_qs_plus.xml index 84cd72a..a315f7f 100644 --- a/packages/SystemUI/res/drawable/ic_qs_plus.xml +++ b/packages/SystemUI/res/drawable/ic_qs_plus.xml @@ -23,6 +23,6 @@ Copyright (C) 2014 The Android Open Source Project android:viewportHeight="24.0"/> <path - android:fill="#FF000000" + android:fill="#FFFFFFFF" android:pathData="M13.0,7.0l-2.0,0.0l0.0,4.0L7.0,11.0l0.0,2.0l4.0,0.0l0.0,4.0l2.0,0.0l0.0,-4.0l4.0,0.0l0.0,-2.0l-4.0,0.0L13.0,7.0zM12.0,2.0C6.5,2.0 2.0,6.5 2.0,12.0s4.5,10.0 10.0,10.0c5.5,0.0 10.0,-4.5 10.0,-10.0S17.5,2.0 12.0,2.0zM12.0,20.0c-4.4,0.0 -8.0,-3.6 -8.0,-8.0s3.6,-8.0 8.0,-8.0c4.4,0.0 8.0,3.6 8.0,8.0S16.4,20.0 12.0,20.0z"/> </vector> diff --git a/packages/SystemUI/res/drawable/ic_qs_ringer_audible.xml b/packages/SystemUI/res/drawable/ic_qs_ringer_audible.xml index fa6f20c..3a20c58 100644 --- a/packages/SystemUI/res/drawable/ic_qs_ringer_audible.xml +++ b/packages/SystemUI/res/drawable/ic_qs_ringer_audible.xml @@ -23,6 +23,6 @@ Copyright (C) 2014 The Android Open Source Project android:viewportHeight="24.0"/> <path - android:fill="#FF000000" - android:pathData="M3.0,9.0c0.0,0.0 0.0,6.0 0.0,6.0l4.0,0.0l5.0,5.0L12.0,4.0L7.0,9.0L3.0,9.0zM16.5,12.0c0.0,-1.8 -1.0,-3.3 -2.5,-4.0L14.0,16.0C15.5,15.3 16.5,13.8 16.5,12.0zM14.0,3.2l0.0,2.1c2.9,0.9 5.0,3.5 5.0,6.7s-2.1,5.8 -5.0,6.7l0.0,2.1c4.0,-0.9 7.0,-4.5 7.0,-8.8S18.0,4.1 14.0,3.2z"/> + android:fill="#FFFFFFFF" + android:pathData="M6.6,3.6L5.2,2.2C2.8,4.0 1.2,6.8 1.0,10.0l2.0,0.0C3.2,7.3 4.5,5.0 6.6,3.6zM20.0,10.0l2.0,0.0c-0.2,-3.2 -1.7,-6.0 -4.1,-7.8l-1.4,1.4C18.5,5.0 19.8,7.3 20.0,10.0zM18.0,10.5c0.0,-3.1 -2.1,-5.6 -5.0,-6.3L13.0,3.5C13.0,2.7 12.3,2.0 11.5,2.0C10.7,2.0 10.0,2.7 10.0,3.5l0.0,0.7c-2.9,0.7 -5.0,3.2 -5.0,6.3L5.0,16.0l-2.0,2.0l0.0,1.0l17.0,0.0l0.0,-1.0l-2.0,-2.0L18.0,10.5zM11.5,22.0c0.1,0.0 0.3,0.0 0.4,0.0c0.7,-0.1 1.2,-0.6 1.4,-1.2c0.1,-0.2 0.2,-0.5 0.2,-0.8l-4.0,0.0C9.5,21.1 10.4,22.0 11.5,22.0z" /> </vector> diff --git a/packages/SystemUI/res/drawable/ic_qs_ringer_silent.xml b/packages/SystemUI/res/drawable/ic_qs_ringer_silent.xml index 0665196..dd6be76 100644 --- a/packages/SystemUI/res/drawable/ic_qs_ringer_silent.xml +++ b/packages/SystemUI/res/drawable/ic_qs_ringer_silent.xml @@ -23,6 +23,6 @@ Copyright (C) 2014 The Android Open Source Project android:viewportHeight="24.0"/> <path - android:fill="#FF000000" - android:pathData="M16.5,12.0c0.0,-1.8 -1.0,-3.3 -2.5,-4.0l0.0,2.2l2.5,2.5C16.5,12.4 16.5,12.2 16.5,12.0zM19.0,12.0c0.0,0.9 -0.2,1.8 -0.5,2.6l1.5,1.5c0.7,-1.2 1.0,-2.7 1.0,-4.2c0.0,-4.3 -3.0,-7.9 -7.0,-8.8l0.0,2.1C16.9,6.2 19.0,8.8 19.0,12.0zM4.3,3.0L3.0,4.3L7.7,9.0L3.0,9.0c0.0,0.0 0.0,6.0 0.0,6.0l4.0,0.0l5.0,5.0l0.0,-6.7l4.3,4.3c-0.7,0.5 -1.4,0.9 -2.3,1.2l0.0,2.1c1.4,-0.3 2.6,-0.9 3.7,-1.8l2.0,2.0l1.3,-1.3l-9.0,-9.0L4.3,3.0zM12.0,4.0L9.9,6.1L12.0,8.2L12.0,4.0z"/> + android:fill="#FFFFFFFF" + android:pathData="M11.5,22.0c1.1,0.0 2.0,-0.9 2.0,-2.0l-4.0,0.0C9.5,21.1 10.4,22.0 11.5,22.0zM18.0,10.5c0.0,-3.1 -2.1,-5.6 -5.0,-6.3L13.0,3.5C13.0,2.7 12.3,2.0 11.5,2.0C10.7,2.0 10.0,2.7 10.0,3.5l0.0,0.7C9.5,4.3 9.0,4.5 8.6,4.7l9.4,9.4L18.0,10.5zM17.7,19.0l2.0,2.0l1.3,-1.3L4.3,3.0L3.0,4.3l2.9,2.9C5.3,8.2 5.0,9.3 5.0,10.5L5.0,16.0l-2.0,2.0l0.0,1.0L17.7,19.0z" /> </vector> diff --git a/packages/SystemUI/res/drawable/ic_qs_ringer_vibrate.xml b/packages/SystemUI/res/drawable/ic_qs_ringer_vibrate.xml index 299a2ef..96d20e8 100644 --- a/packages/SystemUI/res/drawable/ic_qs_ringer_vibrate.xml +++ b/packages/SystemUI/res/drawable/ic_qs_ringer_vibrate.xml @@ -23,6 +23,6 @@ Copyright (C) 2014 The Android Open Source Project android:viewportHeight="24.0"/> <path - android:fill="#FF000000" + android:fill="#FFFFFFFF" android:pathData="M0.0,15.0l2.0,0.0L2.0,9.0L0.0,9.0L0.0,15.0zM3.0,17.0l2.0,0.0L5.0,7.0L3.0,7.0L3.0,17.0zM22.0,9.0l0.0,6.0l2.0,0.0L24.0,9.0L22.0,9.0zM19.0,17.0l2.0,0.0L21.0,7.0l-2.0,0.0L19.0,17.0zM16.5,3.0l-9.0,0.0C6.7,3.0 6.0,3.7 6.0,4.5l0.0,15.0C6.0,20.3 6.7,21.0 7.5,21.0l9.0,0.0c0.8,0.0 1.5,-0.7 1.5,-1.5l0.0,-15.0C18.0,3.7 17.3,3.0 16.5,3.0zM16.0,19.0L8.0,19.0L8.0,5.0l8.0,0.0L16.0,19.0z"/> </vector> diff --git a/packages/SystemUI/res/drawable/ic_qs_rotation.xml b/packages/SystemUI/res/drawable/ic_qs_rotation.xml deleted file mode 100644 index 18c5922..0000000 --- a/packages/SystemUI/res/drawable/ic_qs_rotation.xml +++ /dev/null @@ -1,28 +0,0 @@ -<!-- -Copyright (C) 2014 The Android Open Source Project - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> -<vector xmlns:android="http://schemas.android.com/apk/res/android" > - <size - android:width="64dp" - android:height="64dp"/> - - <viewport - android:viewportWidth="24.0" - android:viewportHeight="24.0"/> - - <path - android:fill="#FF000000" - android:pathData="M16.5,2.5c3.3,1.5 5.6,4.7 6.0,8.5l1.5,0.0C23.4,4.8 18.3,0.0 12.0,0.0c-0.2,0.0 -0.4,0.0 -0.7,0.0l3.8,3.8L16.5,2.5zM10.2,1.7c-0.6,-0.6 -1.5,-0.6 -2.1,0.0L1.7,8.1c-0.6,0.6 -0.6,1.5 0.0,2.1l12.0,12.0c0.6,0.6 1.5,0.6 2.1,0.0l6.4,-6.4c0.6,-0.6 0.6,-1.5 0.0,-2.1L10.2,1.7zM14.8,21.2l-12.0,-12.0l6.4,-6.4l12.0,12.0L14.8,21.2zM7.5,21.5c-3.3,-1.5 -5.6,-4.7 -6.0,-8.5L0.1,13.0C0.6,19.2 5.7,24.0 12.0,24.0c0.2,0.0 0.4,0.0 0.7,0.0l-3.8,-3.8L7.5,21.5z"/> -</vector> diff --git a/packages/SystemUI/res/drawable/ic_qs_rotation_01.xml b/packages/SystemUI/res/drawable/ic_qs_rotation_01.xml new file mode 100644 index 0000000..a6c2cf8 --- /dev/null +++ b/packages/SystemUI/res/drawable/ic_qs_rotation_01.xml @@ -0,0 +1,34 @@ +<!-- +Copyright (C) 2014 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<vector xmlns:android="http://schemas.android.com/apk/res/android" > + <size + android:width="64dp" + android:height="64dp"/> + + <viewport + android:viewportWidth="24.0" + android:viewportHeight="24.0"/> + + <path + android:fill="#FFFFFFFF" + android:pathData="M10.25,1.75c-0.6,-0.6 -1.5,-0.6 -2.1,0.0l-6.4,6.4c-0.6,0.6 -0.6,1.5 0.0,2.1l12.0,12.0c0.6,0.6 1.5,0.6 2.1,0.0l6.4,-6.4c0.6,-0.6 0.6,-1.5 0.0,-2.1L10.25,1.75zM14.85,21.25l-12.0,-12.0l6.4,-6.4l12.0,12.0L14.85,21.25z"/> + <path + android:fill="#FFFFFFFF" + android:pathData="M16.55,2.5c3.3,1.5 5.6,4.7 6.0,8.5l1.5,0.0c-0.6,-6.2 -5.7,-11.0 -12.0,-11.0c-0.2,0.0 -0.4,0.0 -0.7,0.0l3.8,3.8L16.55,2.5z"/> + <path + android:fill="#FFFFFFFF" + android:pathData="M7.55,21.5c-3.3,-1.5 -5.6,-4.7 -6.0,-8.5l-1.4,0.0c0.5,6.2 5.6,11.0 11.9,11.0c0.2,0.0 0.4,0.0 0.7,0.0l-3.8,-3.8L7.55,21.5z"/> +</vector> diff --git a/packages/SystemUI/res/drawable/ic_qs_rotation_02.xml b/packages/SystemUI/res/drawable/ic_qs_rotation_02.xml new file mode 100644 index 0000000..4107c46 --- /dev/null +++ b/packages/SystemUI/res/drawable/ic_qs_rotation_02.xml @@ -0,0 +1,34 @@ +<!-- +Copyright (C) 2014 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<vector xmlns:android="http://schemas.android.com/apk/res/android" > + <size + android:width="64dp" + android:height="64dp"/> + + <viewport + android:viewportWidth="24.0" + android:viewportHeight="24.0"/> + + <path + android:fill="#FFFFFFFF" + android:pathData="M10.24,2.43C9.67,1.88 8.83,1.88 8.28,2.45L2.34,8.48c-0.56,0.57 -0.55,1.41 0.02,1.96l11.3,11.13c0.57,0.56 1.41,0.55 1.96,-0.02l5.93,-6.03c0.56,-0.57 0.55,-1.41 -0.02,-1.96L10.24,2.43zM14.68,20.62L3.38,9.5l5.93,-6.03l11.3,11.13L14.68,20.62z"/> + <path + android:fill="#FFFFFFFF" + android:pathData="M16.91,2.71c3.23,1.64 5.39,4.94 5.62,8.76l1.5,0.07c-0.33,-6.22 -5.21,-11.24 -11.5,-11.52c-0.2,-0.01 -0.4,-0.02 -0.7,-0.03l3.63,3.96L16.91,2.71z"/> + <path + android:fill="#FFFFFFFF" + android:pathData="M7.09,21.29c-3.23,-1.64 -5.39,-4.94 -5.62,-8.76l-1.4,-0.06c0.23,6.22 5.11,11.24 11.4,11.51c0.2,0.01 0.4,0.02 0.7,0.03l-3.63,-3.96L7.09,21.29z"/> +</vector> diff --git a/packages/SystemUI/res/drawable/ic_qs_rotation_03.xml b/packages/SystemUI/res/drawable/ic_qs_rotation_03.xml new file mode 100644 index 0000000..127296c --- /dev/null +++ b/packages/SystemUI/res/drawable/ic_qs_rotation_03.xml @@ -0,0 +1,34 @@ +<!-- +Copyright (C) 2014 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<vector xmlns:android="http://schemas.android.com/apk/res/android" > + <size + android:width="64dp" + android:height="64dp"/> + + <viewport + android:viewportWidth="24.0" + android:viewportHeight="24.0"/> + + <path + android:fill="#FFFFFFFF" + android:pathData="M11.07,4.12c-0.43,-0.49 -1.11,-0.53 -1.6,-0.1L4.3,8.57C3.81,9.0 3.77,9.68 4.19,10.17l8.54,9.71c0.43,0.49 1.11,0.53 1.6,0.1l5.18,-4.55c0.49,-0.43 0.53,-1.11 0.1,-1.6L11.07,4.12zM13.61,19.17L5.08,9.46l5.18,-4.55l8.54,9.71L13.61,19.17z"/> + <path + android:fill="#FFFFFFFF" + android:pathData="M17.72,3.2c3.06,1.94 4.9,5.43 4.77,9.25l1.49,0.21C24.23,6.43 19.84,0.97 13.6,0.11c-0.2,-0.03 -0.4,-0.06 -0.69,-0.1l3.24,4.29L17.72,3.2z"/> + <path + android:fill="#FFFFFFFF" + android:pathData="M6.19,20.78c-3.06,-1.94 -4.9,-5.43 -4.77,-9.25l-1.39,-0.19c-0.36,6.21 4.03,11.67 10.27,12.53c0.2,0.03 0.4,0.06 0.69,0.1l-3.24,-4.29L6.19,20.78z"/> +</vector> diff --git a/packages/SystemUI/res/drawable/ic_qs_rotation_04.xml b/packages/SystemUI/res/drawable/ic_qs_rotation_04.xml new file mode 100644 index 0000000..d00262a --- /dev/null +++ b/packages/SystemUI/res/drawable/ic_qs_rotation_04.xml @@ -0,0 +1,34 @@ +<!-- +Copyright (C) 2014 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<vector xmlns:android="http://schemas.android.com/apk/res/android" > + <size + android:width="64dp" + android:height="64dp"/> + + <viewport + android:viewportWidth="24.0" + android:viewportHeight="24.0"/> + + <path + android:fill="#FFFFFFFF" + android:pathData="M11.88,5.72c-0.3,-0.42 -0.83,-0.51 -1.25,-0.21L6.19,8.69c-0.42,0.3 -0.51,0.83 -0.21,1.25l5.95,8.34c0.3,0.42 0.83,0.51 1.25,0.21l4.45,-3.17c0.42,-0.3 0.51,-0.83 0.21,-1.25L11.88,5.72zM12.68,17.79L6.73,9.45l4.45,-3.17l5.95,8.34L12.68,17.79z"/> + <path + android:fill="#FFFFFFFF" + android:pathData="M18.8,4.01c2.79,2.32 4.16,6.01 3.54,9.78l1.45,0.4c1.06,-6.14 -2.59,-12.11 -8.67,-13.78c-0.19,-0.05 -0.39,-0.11 -0.68,-0.18l2.66,4.67L18.8,4.01z"/> + <path + android:fill="#FFFFFFFF" + android:pathData="M5.11,19.96c-2.79,-2.32 -4.16,-6.01 -3.54,-9.78L0.21,9.81c-1.15,6.11 2.5,12.09 8.57,13.75c0.19,0.05 0.39,0.11 0.68,0.18L6.8,19.08L5.11,19.96z"/> +</vector> diff --git a/packages/SystemUI/res/drawable/ic_qs_rotation_05.xml b/packages/SystemUI/res/drawable/ic_qs_rotation_05.xml new file mode 100644 index 0000000..570f51f --- /dev/null +++ b/packages/SystemUI/res/drawable/ic_qs_rotation_05.xml @@ -0,0 +1,34 @@ +<!-- +Copyright (C) 2014 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<vector xmlns:android="http://schemas.android.com/apk/res/android" > + <size + android:width="64dp" + android:height="64dp"/> + + <viewport + android:viewportWidth="24.0" + android:viewportHeight="24.0"/> + + <path + android:fill="#FFFFFFFF" + android:pathData="M15.41,8.14c0.05,-0.42 -0.23,-0.78 -0.65,-0.83l-4.5,-0.54C9.84,6.72 9.48,7.0 9.43,7.42l-1.01,8.44c-0.05,0.42 0.23,0.78 0.65,0.83l4.5,0.54C14.0,17.28 14.35,17.0 14.4,16.58L15.41,8.14zM9.16,15.99l1.01,-8.44l4.5,0.54l-1.01,8.44L9.16,15.99z"/> + <path + android:fill="#FFFFFFFF" + android:pathData="M22.35,10.28c0.64,3.57 -0.69,7.28 -3.59,9.77l0.85,1.23c4.76,-4.01 5.82,-10.94 2.24,-16.12c-0.11,-0.16 -0.23,-0.33 -0.4,-0.58l-0.97,5.29L22.35,10.28z"/> + <path + android:fill="#FFFFFFFF" + android:pathData="M1.6,13.66c-0.64,-3.57 0.69,-7.28 3.59,-9.77L4.4,2.74c-4.82,3.93 -5.88,10.86 -2.3,16.04c0.11,0.16 0.23,0.33 0.4,0.58l0.97,-5.29L1.6,13.66z"/> +</vector> diff --git a/packages/SystemUI/res/drawable/ic_qs_rotation_06.xml b/packages/SystemUI/res/drawable/ic_qs_rotation_06.xml new file mode 100644 index 0000000..aaf9356 --- /dev/null +++ b/packages/SystemUI/res/drawable/ic_qs_rotation_06.xml @@ -0,0 +1,34 @@ +<!-- +Copyright (C) 2014 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<vector xmlns:android="http://schemas.android.com/apk/res/android" > + <size + android:width="64dp" + android:height="64dp"/> + + <viewport + android:viewportWidth="24.0" + android:viewportHeight="24.0"/> + + <path + android:fill="#FFFFFFFF" + android:pathData="M15.62,13.08c0.29,-0.1 0.44,-0.39 0.34,-0.69L14.9,9.27c-0.1,-0.29 -0.39,-0.44 -0.69,-0.34l-5.86,1.98c-0.29,0.1 -0.44,0.39 -0.34,0.69l1.06,3.12c0.1,0.29 0.39,0.44 0.69,0.34L15.62,13.08zM8.51,11.44l5.86,-1.98l1.06,3.12l-5.86,1.98L8.51,11.44z"/> + <path + android:fill="#FFFFFFFF" + android:pathData="M18.53,20.21c-2.8,2.3 -6.69,2.95 -10.27,1.64L7.6,23.2c5.83,2.2 12.39,-0.26 15.16,-5.92c0.09,-0.18 0.18,-0.36 0.31,-0.63l-5.09,1.73L18.53,20.21z"/> + <path + android:fill="#FFFFFFFF" + android:pathData="M5.45,3.76c2.8,-2.3 6.69,-2.95 10.27,-1.64l0.62,-1.26C10.56,-1.42 4.0,1.04 1.22,6.69C1.13,6.87 1.05,7.05 0.91,7.32L6.0,5.59L5.45,3.76z"/> +</vector> diff --git a/packages/SystemUI/res/drawable/ic_qs_rotation_07.xml b/packages/SystemUI/res/drawable/ic_qs_rotation_07.xml new file mode 100644 index 0000000..330ce6a --- /dev/null +++ b/packages/SystemUI/res/drawable/ic_qs_rotation_07.xml @@ -0,0 +1,34 @@ +<!-- +Copyright (C) 2014 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<vector xmlns:android="http://schemas.android.com/apk/res/android" > + <size + android:width="64dp" + android:height="64dp"/> + + <viewport + android:viewportWidth="24.0" + android:viewportHeight="24.0"/> + + <path + android:fill="#FFFFFFFF" + android:pathData="M12.23,14.48c0.13,0.16 0.35,0.17 0.5,0.04l1.66,-1.4c0.16,-0.13 0.17,-0.35 0.04,-0.5l-2.62,-3.11c-0.13,-0.16 -0.35,-0.17 -0.5,-0.04l-1.66,1.4c-0.16,0.13 -0.17,0.35 -0.04,0.5L12.23,14.48zM11.53,9.73l2.62,3.11l-1.66,1.4l-2.62,-3.11L11.53,9.73z"/> + <path + android:fill="#FFFFFFFF" + android:pathData="M6.04,20.63c-3.01,-2.02 -4.75,-5.56 -4.52,-9.37l-1.48,-0.25c-0.43,6.21 3.81,11.79 10.02,12.83c0.2,0.03 0.39,0.07 0.69,0.12l-3.12,-4.37L6.04,20.63z"/> + <path + android:fill="#FFFFFFFF" + android:pathData="M18.04,3.37c3.01,2.02 4.75,5.56 4.52,9.37l1.38,0.23c0.53,-6.2 -3.71,-11.77 -9.93,-12.81c-0.2,-0.03 -0.39,-0.07 -0.69,-0.12l3.12,4.37L18.04,3.37z"/> +</vector> diff --git a/packages/SystemUI/res/drawable/ic_qs_rotation_08.xml b/packages/SystemUI/res/drawable/ic_qs_rotation_08.xml new file mode 100644 index 0000000..1c7f1a1 --- /dev/null +++ b/packages/SystemUI/res/drawable/ic_qs_rotation_08.xml @@ -0,0 +1,34 @@ +<!-- +Copyright (C) 2014 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<vector xmlns:android="http://schemas.android.com/apk/res/android" > + <size + android:width="64dp" + android:height="64dp"/> + + <viewport + android:viewportWidth="24.0" + android:viewportHeight="24.0"/> + + <path + android:fill="#FFFFFFFF" + android:pathData="M10.55,12.73c-0.06,0.12 -0.02,0.25 0.1,0.32l1.26,0.68c0.12,0.06 0.25,0.02 0.32,-0.1l1.27,-2.36c0.06,-0.12 0.02,-0.25 -0.1,-0.32l-1.26,-0.68c-0.12,-0.06 -0.25,-0.02 -0.32,0.1L10.55,12.73zM13.29,11.15l-1.27,2.36l-1.26,-0.68l1.27,-2.36L13.29,11.15z"/> + <path + android:fill="#FFFFFFFF" + android:pathData="M1.55,12.95C1.18,9.34 2.78,5.74 5.86,3.47L5.1,2.18C0.05,5.83 -1.51,12.66 1.67,18.09c0.1,0.17 0.2,0.35 0.35,0.6l1.36,-5.2L1.55,12.95z"/> + <path + android:fill="#FFFFFFFF" + android:pathData="M22.5,11.12c0.37,3.61 -1.23,7.21 -4.31,9.47l0.71,1.21c5.1,-3.56 6.67,-10.39 3.48,-15.83c-0.1,-0.17 -0.2,-0.35 -0.35,-0.6l-1.36,5.2L22.5,11.12z"/> +</vector> diff --git a/packages/SystemUI/res/drawable/ic_qs_rotation_09.xml b/packages/SystemUI/res/drawable/ic_qs_rotation_09.xml new file mode 100644 index 0000000..ebfbad6 --- /dev/null +++ b/packages/SystemUI/res/drawable/ic_qs_rotation_09.xml @@ -0,0 +1,34 @@ +<!-- +Copyright (C) 2014 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<vector xmlns:android="http://schemas.android.com/apk/res/android" > + <size + android:width="64dp" + android:height="64dp"/> + + <viewport + android:viewportWidth="24.0" + android:viewportHeight="24.0"/> + + <path + android:pathData="M11.45,12c0,0.14,0.12,0.25,0.25,0.25l0.06,0l0,-0.5l-0.06,0C11.57,11.75,11.45,11.86,11.45,12z" + android:fill="#00000000"/> + <path + android:fill="#FFFFFFFF" + android:pathData="M11.77,11.62l-0.06,0.0c-0.21,0.0 -0.37,0.17 -0.38,0.37c0.0,0.21 0.17,0.37 0.37,0.37l0.06,0.0c0.0,0.07 0.06,0.12 0.12,0.13l0.62,0.0c0.07,0.0 0.12,-0.06 0.13,-0.12l0.0,-0.75c0.0,-0.07 -0.06,-0.12 -0.12,-0.13l-0.62,0.0C11.83,11.5 11.77,11.56 11.77,11.62zM12.33,12.0c0.0,0.07 -0.06,0.12 -0.13,0.12c-0.07,0.0 -0.12,-0.06 -0.12,-0.13c0.0,-0.07 0.06,-0.12 0.13,-0.12C12.28,11.88 12.33,11.93 12.33,12.0zM11.77,11.75l0.0,0.5l-0.06,0.0c-0.14,0.0 -0.26,-0.11 -0.25,-0.25c0.0,-0.14 0.12,-0.25 0.26,-0.25L11.77,11.75z"/> + <path + android:fill="#FFFFFFFF" + android:pathData="M3.83,5.44c2.21,-2.87 5.85,-4.38 9.64,-3.9l0.34,-1.46C7.64,-0.75 1.81,3.12 0.37,9.25C0.32,9.45 0.28,9.64 0.21,9.93L4.78,7.1L3.83,5.44zM20.28,18.53c-2.21,2.87 -5.85,4.38 -9.64,3.9l-0.32,1.36c6.15,0.93 11.99,-2.95 13.42,-9.08c0.05,-0.19 0.09,-0.39 0.16,-0.68l-4.57,2.83L20.28,18.53z"/> +</vector> diff --git a/packages/SystemUI/res/drawable/ic_qs_rotation_10.xml b/packages/SystemUI/res/drawable/ic_qs_rotation_10.xml new file mode 100644 index 0000000..21dda8c --- /dev/null +++ b/packages/SystemUI/res/drawable/ic_qs_rotation_10.xml @@ -0,0 +1,34 @@ +<!-- +Copyright (C) 2014 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<vector xmlns:android="http://schemas.android.com/apk/res/android" > + <size + android:width="64dp" + android:height="64dp"/> + + <viewport + android:viewportWidth="24.0" + android:viewportHeight="24.0"/> + + <path + android:pathData="M10.42,9.96c-0.42,0.42,-0.39,1.12,0.03,1.54l0.19,0.19l1.51,-1.53l-0.19,-0.19 C11.54,9.55,10.84,9.54,10.42,9.96z" + android:fill="#00000000"/> + <path + android:fill="#FFFFFFFF" + android:pathData="M12.53,9.78l-0.19,-0.19c-0.63,-0.63 -1.66,-0.62 -2.28,0.02c-0.63,0.63 -0.62,1.66 0.02,2.28l0.19,0.19c-0.21,0.21 -0.21,0.55 0.01,0.76l1.92,1.89c0.21,0.21 0.55,0.21 0.76,-0.01l2.27,-2.3c0.21,-0.21 0.21,-0.55 -0.01,-0.76l-1.92,-1.89C13.08,9.56 12.74,9.56 12.53,9.78zM13.12,12.62c-0.21,0.21 -0.55,0.21 -0.76,0.01c-0.21,-0.21 -0.21,-0.55 -0.01,-0.76c0.21,-0.21 0.55,-0.21 0.76,-0.01C13.33,12.07 13.33,12.41 13.12,12.62zM12.15,10.16l-1.51,1.53l-0.19,-0.19c-0.42,-0.42 -0.45,-1.12 -0.03,-1.54c0.42,-0.42 1.12,-0.41 1.54,0.01L12.15,10.16z"/> + <path + android:fill="#FFFFFFFF" + android:pathData="M7.82,2.36c3.3,-1.49 7.23,-1.12 10.35,1.09l0.99,-1.13C14.09,-1.32 7.12,-0.64 2.97,4.1C2.84,4.25 2.71,4.4 2.51,4.62l5.36,-0.36L7.82,2.36zM16.18,21.64c-3.3,1.49 -7.23,1.12 -10.35,-1.09l-0.92,1.05c4.99,3.71 11.97,3.03 16.12,-1.71c0.13,-0.15 0.26,-0.3 0.46,-0.53l-5.36,0.36L16.18,21.64z"/> +</vector> diff --git a/packages/SystemUI/res/drawable/ic_qs_rotation_11.xml b/packages/SystemUI/res/drawable/ic_qs_rotation_11.xml new file mode 100644 index 0000000..f4186fe --- /dev/null +++ b/packages/SystemUI/res/drawable/ic_qs_rotation_11.xml @@ -0,0 +1,34 @@ +<!-- +Copyright (C) 2014 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<vector xmlns:android="http://schemas.android.com/apk/res/android" > + <size + android:width="64dp" + android:height="64dp"/> + + <viewport + android:viewportWidth="24.0" + android:viewportHeight="24.0"/> + + <path + android:pathData="M10.53,8.85c-0.7,0.37,-0.95,1.28,-0.58,1.98l0.17,0.32l2.55,-1.36L12.5,9.48 C12.12,8.78,11.23,8.48,10.53,8.85z" + android:fill="#00000000"/> + <path + android:fill="#FFFFFFFF" + android:pathData="M13.3,9.46l-0.17,-0.32c-0.56,-1.05 -1.87,-1.45 -2.93,-0.89s-1.45,1.87 -0.89,2.93l0.17,0.32c-0.35,0.19 -0.48,0.62 -0.3,0.98l1.7,3.18c0.19,0.35 0.62,0.48 0.98,0.3l3.82,-2.04c0.35,-0.19 0.48,-0.62 0.3,-0.98l-1.7,-3.18C14.09,9.4 13.65,9.27 13.3,9.46zM12.92,13.34c-0.35,0.19 -0.79,0.06 -0.98,-0.3c-0.19,-0.35 -0.05,-0.79 0.3,-0.98c0.35,-0.19 0.79,-0.05 0.98,0.3C13.41,12.72 13.27,13.15 12.92,13.34zM12.67,9.8l-2.55,1.36l-0.17,-0.32c-0.37,-0.7 -0.13,-1.61 0.58,-1.98c0.7,-0.37 1.59,-0.08 1.97,0.63L12.67,9.8z"/> + <path + android:fill="#FFFFFFFF" + android:pathData="M11.48,1.5c3.62,-0.23 7.16,1.5 9.3,4.66l1.32,-0.71C18.65,0.27 11.89,-1.55 6.34,1.42C6.16,1.51 5.98,1.61 5.72,1.75l5.14,1.56L11.48,1.5zM12.52,22.5c-3.62,0.23 -7.16,-1.5 -9.3,-4.66L1.98,18.5c3.37,5.23 10.13,7.06 15.68,4.08c0.18,-0.09 0.35,-0.19 0.62,-0.33l-5.14,-1.56L12.52,22.5z"/> +</vector> diff --git a/packages/SystemUI/res/drawable/ic_qs_rotation_12.xml b/packages/SystemUI/res/drawable/ic_qs_rotation_12.xml new file mode 100644 index 0000000..d408e28 --- /dev/null +++ b/packages/SystemUI/res/drawable/ic_qs_rotation_12.xml @@ -0,0 +1,34 @@ +<!-- +Copyright (C) 2014 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<vector xmlns:android="http://schemas.android.com/apk/res/android" > + <size + android:width="64dp" + android:height="64dp"/> + + <viewport + android:viewportWidth="24.0" + android:viewportHeight="24.0"/> + + <path + android:pathData="M10.83,8.49c-0.91,0.3,-1.39,1.31,-1.09,2.22l0.13,0.41l3.28,-1.08l-0.13,-0.41 C12.72,8.72,11.73,8.19,10.83,8.49z" + android:fill="#00000000"/> + <path + android:fill="#FFFFFFFF" + android:pathData="M13.98,9.77l-0.13,-0.41C13.4,8.0 11.93,7.26 10.57,7.71c-1.36,0.45 -2.1,1.91 -1.65,3.27l0.13,0.41c-0.45,0.15 -0.7,0.64 -0.55,1.09l1.35,4.1c0.15,0.45 0.64,0.7 1.09,0.55l4.92,-1.62c0.45,-0.15 0.7,-0.64 0.55,-1.09l-1.35,-4.1C14.92,9.87 14.43,9.62 13.98,9.77zM12.73,14.27c-0.45,0.15 -0.94,-0.1 -1.09,-0.55c-0.15,-0.45 0.1,-0.94 0.55,-1.09c0.45,-0.15 0.94,0.1 1.09,0.55C13.43,13.64 13.18,14.12 12.73,14.27zM13.16,10.04l-3.28,1.08l-0.13,-0.41c-0.3,-0.91 0.18,-1.92 1.09,-2.22c0.91,-0.3 1.9,0.24 2.19,1.14L13.16,10.04z"/> + <path + android:fill="#FFFFFFFF" + android:pathData="M13.55,1.6c3.59,0.48 6.72,2.87 8.21,6.39l1.44,-0.44C20.82,1.8 14.54,-1.31 8.51,0.52c-0.19,0.06 -0.38,0.12 -0.67,0.2l4.74,2.53L13.55,1.6zM10.45,22.4c-3.59,-0.48 -6.72,-2.87 -8.21,-6.39L0.9,16.41c2.28,5.79 8.55,8.9 14.58,7.07c0.19,-0.06 0.38,-0.12 0.67,-0.2l-4.74,-2.53L10.45,22.4z"/> +</vector> diff --git a/packages/SystemUI/res/drawable/ic_qs_rotation_13.xml b/packages/SystemUI/res/drawable/ic_qs_rotation_13.xml new file mode 100644 index 0000000..1ac6b39 --- /dev/null +++ b/packages/SystemUI/res/drawable/ic_qs_rotation_13.xml @@ -0,0 +1,34 @@ +<!-- +Copyright (C) 2014 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<vector xmlns:android="http://schemas.android.com/apk/res/android" > + <size + android:width="64dp" + android:height="64dp"/> + + <viewport + android:viewportWidth="24.0" + android:viewportHeight="24.0"/> + + <path + android:pathData="M11.17,7.71c-1.09,0.19,-1.8,1.28,-1.61,2.37l0.09,0.49l3.94,-0.7l-0.09,-0.49C13.3,8.3,12.26,7.52,11.17,7.71 z" + android:fill="#00000000"/> + <path + android:fill="#FFFFFFFF" + android:pathData="M14.57,9.7l-0.09,-0.49C14.19,7.58 12.63,6.49 11.0,6.78c-1.63,0.29 -2.71,1.85 -2.43,3.48l0.08,0.49c-0.54,0.1 -0.91,0.62 -0.81,1.16l0.87,4.92c0.1,0.54 0.62,0.91 1.16,0.81l5.91,-1.05c0.54,-0.1 0.91,-0.61 0.81,-1.16l-0.87,-4.92C15.63,9.97 15.11,9.61 14.57,9.7zM12.4,14.66c-0.54,0.1 -1.06,-0.27 -1.16,-0.81c-0.1,-0.54 0.27,-1.06 0.81,-1.16s1.06,0.27 1.16,0.81C13.3,14.04 12.94,14.56 12.4,14.66zM13.58,9.88l-3.94,0.7l-0.09,-0.49c-0.19,-1.09 0.52,-2.17 1.61,-2.37s2.13,0.58 2.33,1.67L13.58,9.88z"/> + <path + android:fill="#FFFFFFFF" + android:pathData="M14.99,1.92c3.49,0.97 6.26,3.78 7.24,7.48l1.48,-0.23c-1.55,-6.03 -7.32,-9.99 -13.55,-9.02c-0.2,0.03 -0.4,0.06 -0.69,0.11l4.34,3.17L14.99,1.92zM9.01,22.08C5.52,21.1 2.76,18.3 1.78,14.6L0.4,14.82c1.45,6.05 7.22,10.01 13.45,9.04c0.2,-0.03 0.4,-0.06 0.69,-0.11l-4.34,-3.17L9.01,22.08z"/> +</vector> diff --git a/packages/SystemUI/res/drawable/ic_qs_rotation_14.xml b/packages/SystemUI/res/drawable/ic_qs_rotation_14.xml new file mode 100644 index 0000000..c43e363 --- /dev/null +++ b/packages/SystemUI/res/drawable/ic_qs_rotation_14.xml @@ -0,0 +1,34 @@ +<!-- +Copyright (C) 2014 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<vector xmlns:android="http://schemas.android.com/apk/res/android" > + <size + android:width="64dp" + android:height="64dp"/> + + <viewport + android:viewportWidth="24.0" + android:viewportHeight="24.0"/> + + <path + android:pathData="M11.72,7.61c-1.1,0.08,-1.93,1.08,-1.86,2.18l0.03,0.5l3.99,-0.27l-0.03,-0.5 C13.78,8.42,12.82,7.54,11.72,7.61z" + android:fill="#00000000"/> + <path + android:fill="#FFFFFFFF" + android:pathData="M14.88,9.95l-0.03,-0.5c-0.11,-1.65 -1.54,-2.9 -3.2,-2.79C10.0,6.78 8.75,8.21 8.87,9.86l0.03,0.5c-0.55,0.04 -0.97,0.52 -0.93,1.07l0.34,4.99c0.04,0.55 0.52,0.97 1.07,0.93l5.99,-0.41c0.55,-0.04 0.97,-0.51 0.93,-1.07l-0.34,-4.99C15.91,10.33 15.43,9.91 14.88,9.95zM12.2,14.64c-0.55,0.04 -1.03,-0.38 -1.07,-0.93c-0.04,-0.55 0.38,-1.03 0.93,-1.07c0.55,-0.04 1.03,0.38 1.07,0.93C13.16,14.13 12.75,14.61 12.2,14.64zM13.88,10.02l-3.99,0.27l-0.03,-0.5c-0.08,-1.1 0.75,-2.11 1.86,-2.18c1.1,-0.08 2.06,0.81 2.13,1.91L13.88,10.02z"/> + <path + android:fill="#FFFFFFFF" + android:pathData="M15.71,2.17c3.41,1.23 5.96,4.23 6.67,7.98l1.5,-0.12c-1.1,-6.13 -6.58,-10.5 -12.86,-9.99c-0.2,0.02 -0.4,0.03 -0.7,0.06l4.1,3.48L15.71,2.17zM8.29,21.83c-3.41,-1.23 -5.96,-4.23 -6.67,-7.98l-1.4,0.11c1.0,6.14 6.48,10.51 12.76,9.99c0.2,-0.02 0.4,-0.03 0.7,-0.06l-4.1,-3.48L8.29,21.83z"/> +</vector> diff --git a/packages/SystemUI/res/drawable/ic_qs_rotation_lock.xml b/packages/SystemUI/res/drawable/ic_qs_rotation_15.xml index 1068f30..22fa428 100644 --- a/packages/SystemUI/res/drawable/ic_qs_rotation_lock.xml +++ b/packages/SystemUI/res/drawable/ic_qs_rotation_15.xml @@ -23,12 +23,12 @@ Copyright (C) 2014 The Android Open Source Project android:viewportHeight="24.0"/> <path - android:fill="#FF000000" - android:pathData="M16.5,2.5c3.3,1.5 5.6,4.7 6.0,8.5L24.0,11.0C23.4,4.8 18.3,0.0 12.0,0.0c-0.2,0.0 -0.4,0.0 -0.7,0.0l3.8,3.8L16.5,2.5zM7.5,21.5c-3.3,-1.5 -5.6,-4.7 -6.0,-8.5L0.1,13.0C0.6,19.2 5.7,24.0 12.0,24.0c0.2,0.0 0.4,0.0 0.7,0.0l-3.8,-3.8L7.5,21.5z"/> - <path - android:pathData="M12.05,7.7c-1.104,0,-2,0.945,-2,2.05v0.5h4v-0.5C14.05,8.646,13.154,7.7,12.05,7.7z" + android:pathData="M12.05,7.7c-1.1,0,-2,0.94,-2,2.05v0.5h4v-0.5C14.05,8.65,13.15,7.7,12.05,7.7z" android:fill="#00000000"/> <path - android:fill="#FF000000" - android:pathData="M15.05,10.25l0.0,-0.5c0.0,-1.656 -1.343,-3.0 -3.0,-3.0c-1.657,0.0 -2.995,1.344 -2.995,3.0l-0.005,0.5c-0.552,0.0 -1.0,0.448 -1.0,1.0l0.0,5.0c0.0,0.553 0.448,1.0 1.0,1.0l6.0,0.0c0.552,0.0 1.0,-0.447 1.0,-1.0l0.0,-5.0C16.05,10.698 15.602,10.25 15.05,10.25zM12.05,14.75c-0.552,0.0 -1.0,-0.447 -1.0,-1.0c0.0,-0.552 0.448,-1.0 1.0,-1.0s1.0,0.448 1.0,1.0C13.05,14.303 12.602,14.75 12.05,14.75zM14.05,10.25l-4.0,0.0l0.0,-0.5c0.0,-1.104 0.896,-2.05 2.0,-2.05c1.104,0.0 2.0,0.945 2.0,2.05L14.05,10.25z"/> + android:fill="#FFFFFFFF" + android:pathData="M15.05,10.25l0.0,-0.5c0.0,-1.66 -1.34,-3.0 -3.0,-3.0s-2.99,1.34 -2.99,3.0l-0.01,0.5c-0.55,0.0 -1.0,0.45 -1.0,1.0l0.0,5.0c0.0,0.55 0.45,1.0 1.0,1.0l6.0,0.0c0.55,0.0 1.0,-0.45 1.0,-1.0l0.0,-5.0C16.05,10.7 15.6,10.25 15.05,10.25zM12.05,14.75c-0.55,0.0 -1.0,-0.45 -1.0,-1.0c0.0,-0.55 0.45,-1.0 1.0,-1.0s1.0,0.45 1.0,1.0C13.05,14.3 12.6,14.75 12.05,14.75zM14.05,10.25l-4.0,0.0l0.0,-0.5c0.0,-1.1 0.9,-2.05 2.0,-2.05s2.0,0.94 2.0,2.05L14.05,10.25z"/> + <path + android:fill="#FFFFFFFF" + android:pathData="M16.5,2.5c3.3,1.5 5.6,4.7 6.0,8.5L24.0,11.0C23.4,4.8 18.3,0.0 12.0,0.0c-0.2,0.0 -0.4,0.0 -0.7,0.0l3.8,3.8L16.5,2.5zM7.5,21.5c-3.3,-1.5 -5.6,-4.7 -6.0,-8.5L0.1,13.0C0.6,19.2 5.7,24.0 12.0,24.0c0.2,0.0 0.4,0.0 0.7,0.0l-3.8,-3.8L7.5,21.5z"/> </vector> diff --git a/packages/SystemUI/res/drawable/ic_qs_rotation_locked.xml b/packages/SystemUI/res/drawable/ic_qs_rotation_locked.xml new file mode 100644 index 0000000..75e20f0 --- /dev/null +++ b/packages/SystemUI/res/drawable/ic_qs_rotation_locked.xml @@ -0,0 +1,35 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- +Copyright (C) 2014 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<animation-list + xmlns:android="http://schemas.android.com/apk/res/android" + android:oneshot="true"> + <item android:drawable="@drawable/ic_qs_rotation_01" android:duration="16" /> + <item android:drawable="@drawable/ic_qs_rotation_02" android:duration="16" /> + <item android:drawable="@drawable/ic_qs_rotation_03" android:duration="16" /> + <item android:drawable="@drawable/ic_qs_rotation_04" android:duration="16" /> + <item android:drawable="@drawable/ic_qs_rotation_05" android:duration="16" /> + <item android:drawable="@drawable/ic_qs_rotation_06" android:duration="16" /> + <item android:drawable="@drawable/ic_qs_rotation_07" android:duration="16" /> + <item android:drawable="@drawable/ic_qs_rotation_08" android:duration="16" /> + <item android:drawable="@drawable/ic_qs_rotation_09" android:duration="16" /> + <item android:drawable="@drawable/ic_qs_rotation_10" android:duration="16" /> + <item android:drawable="@drawable/ic_qs_rotation_11" android:duration="16" /> + <item android:drawable="@drawable/ic_qs_rotation_12" android:duration="16" /> + <item android:drawable="@drawable/ic_qs_rotation_13" android:duration="16" /> + <item android:drawable="@drawable/ic_qs_rotation_14" android:duration="16" /> + <item android:drawable="@drawable/ic_qs_rotation_15" android:duration="16" /> +</animation-list> diff --git a/packages/SystemUI/res/drawable/ic_qs_rotation_unlocked.xml b/packages/SystemUI/res/drawable/ic_qs_rotation_unlocked.xml new file mode 100644 index 0000000..a1cedb9 --- /dev/null +++ b/packages/SystemUI/res/drawable/ic_qs_rotation_unlocked.xml @@ -0,0 +1,35 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- +Copyright (C) 2014 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<animation-list + xmlns:android="http://schemas.android.com/apk/res/android" + android:oneshot="true"> + <item android:drawable="@drawable/ic_qs_rotation_15" android:duration="16" /> + <item android:drawable="@drawable/ic_qs_rotation_14" android:duration="16" /> + <item android:drawable="@drawable/ic_qs_rotation_13" android:duration="16" /> + <item android:drawable="@drawable/ic_qs_rotation_12" android:duration="16" /> + <item android:drawable="@drawable/ic_qs_rotation_11" android:duration="16" /> + <item android:drawable="@drawable/ic_qs_rotation_10" android:duration="16" /> + <item android:drawable="@drawable/ic_qs_rotation_09" android:duration="16" /> + <item android:drawable="@drawable/ic_qs_rotation_08" android:duration="16" /> + <item android:drawable="@drawable/ic_qs_rotation_07" android:duration="16" /> + <item android:drawable="@drawable/ic_qs_rotation_06" android:duration="16" /> + <item android:drawable="@drawable/ic_qs_rotation_05" android:duration="16" /> + <item android:drawable="@drawable/ic_qs_rotation_04" android:duration="16" /> + <item android:drawable="@drawable/ic_qs_rotation_03" android:duration="16" /> + <item android:drawable="@drawable/ic_qs_rotation_02" android:duration="16" /> + <item android:drawable="@drawable/ic_qs_rotation_01" android:duration="16" /> +</animation-list> diff --git a/packages/SystemUI/res/drawable/ic_qs_zen_off.xml b/packages/SystemUI/res/drawable/ic_qs_zen_off.xml new file mode 100644 index 0000000..73886ec --- /dev/null +++ b/packages/SystemUI/res/drawable/ic_qs_zen_off.xml @@ -0,0 +1,30 @@ +<!-- +Copyright (C) 2014 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<vector xmlns:android="http://schemas.android.com/apk/res/android" > + <size + android:width="64dp" + android:height="64dp"/> + + <viewport + android:viewportWidth="24.0" + android:viewportHeight="24.0"/> + + <path + android:fill="#00000000" + android:stroke="#CCCCCC" + android:strokeWidth="1.0" + android:pathData="M12.0,2.0C6.5,2.0 2.0,6.5 2.0,12.0s4.5,10.0 10.0,10.0c5.5,0.0 10.0,-4.5 10.0,-10.0S17.5,2.0 12.0,2.0zM4.0,12.0c0.0,-4.4 3.6,-8.0 8.0,-8.0c1.8,0.0 3.5,0.6 4.9,1.7L5.7,16.9C4.6,15.5 4.0,13.8 4.0,12.0zM12.0,20.0c-1.8,0.0 -3.5,-0.6 -4.9,-1.7L18.3,7.1C19.4,8.5 20.0,10.2 20.0,12.0C20.0,16.4 16.4,20.0 12.0,20.0z" /> +</vector> diff --git a/packages/SystemUI/res/drawable/ic_qs_zen_on.xml b/packages/SystemUI/res/drawable/ic_qs_zen_on.xml new file mode 100644 index 0000000..8dff318 --- /dev/null +++ b/packages/SystemUI/res/drawable/ic_qs_zen_on.xml @@ -0,0 +1,28 @@ +<!-- +Copyright (C) 2014 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<vector xmlns:android="http://schemas.android.com/apk/res/android" > + <size + android:width="64dp" + android:height="64dp"/> + + <viewport + android:viewportWidth="24.0" + android:viewportHeight="24.0"/> + + <path + android:fill="#FFFFFFFF" + android:pathData="M12.0,2.0C6.5,2.0 2.0,6.5 2.0,12.0s4.5,10.0 10.0,10.0c5.5,0.0 10.0,-4.5 10.0,-10.0S17.5,2.0 12.0,2.0zM4.0,12.0c0.0,-4.4 3.6,-8.0 8.0,-8.0c1.8,0.0 3.5,0.6 4.9,1.7L5.7,16.9C4.6,15.5 4.0,13.8 4.0,12.0zM12.0,20.0c-1.8,0.0 -3.5,-0.6 -4.9,-1.7L18.3,7.1C19.4,8.5 20.0,10.2 20.0,12.0C20.0,16.4 16.4,20.0 12.0,20.0z" /> +</vector> diff --git a/packages/SystemUI/res/drawable/recents_dismiss_dark.xml b/packages/SystemUI/res/drawable/recents_dismiss_dark.xml index 744795e..9c1165d 100644 --- a/packages/SystemUI/res/drawable/recents_dismiss_dark.xml +++ b/packages/SystemUI/res/drawable/recents_dismiss_dark.xml @@ -13,8 +13,7 @@ See the License for the specific language governing permissions and limitations under the License. --> -<vector xmlns:android="http://schemas.android.com/apk/res/android" - android:versionCode="1" > +<vector xmlns:android="http://schemas.android.com/apk/res/android"> <size android:height="16dp" diff --git a/packages/SystemUI/res/drawable/recents_dismiss_light.xml b/packages/SystemUI/res/drawable/recents_dismiss_light.xml index 96bfbe1..a8afeb3 100644 --- a/packages/SystemUI/res/drawable/recents_dismiss_light.xml +++ b/packages/SystemUI/res/drawable/recents_dismiss_light.xml @@ -13,8 +13,7 @@ See the License for the specific language governing permissions and limitations under the License. --> -<vector xmlns:android="http://schemas.android.com/apk/res/android" - android:versionCode="1" > +<vector xmlns:android="http://schemas.android.com/apk/res/android"> <size android:height="16dp" diff --git a/packages/SystemUI/res/drawable/ic_qs_zen.xml b/packages/SystemUI/res/drawable/stat_sys_ringer_silent.xml index 059c068..5efd8ec 100644 --- a/packages/SystemUI/res/drawable/ic_qs_zen.xml +++ b/packages/SystemUI/res/drawable/stat_sys_ringer_silent.xml @@ -15,14 +15,14 @@ Copyright (C) 2014 The Android Open Source Project --> <vector xmlns:android="http://schemas.android.com/apk/res/android" > <size - android:width="64dp" - android:height="64dp"/> + android:width="19dp" + android:height="19dp"/> <viewport android:viewportWidth="24.0" android:viewportHeight="24.0"/> <path - android:fill="#FF000000" - android:pathData="M11.5,22.0c1.1,0.0 2.0,-0.9 2.0,-2.0l-4.0,0.0C9.5,21.1 10.4,22.0 11.5,22.0zM18.0,16.0l0.0,-5.5c0.0,-3.1 -2.1,-5.6 -5.0,-6.3L13.0,3.5C13.0,2.7 12.3,2.0 11.5,2.0C10.7,2.0 10.0,2.7 10.0,3.5l0.0,0.7c-2.9,0.7 -5.0,3.2 -5.0,6.3L5.0,16.0l-2.0,2.0l0.0,1.0l17.0,0.0l0.0,-1.0L18.0,16.0zM14.0,9.8l-2.8,3.4L14.0,13.200001L14.0,15.0L9.0,15.0l0.0,-1.8l2.8,-3.4L9.0,9.799999L9.0,8.0l5.0,0.0L14.0,9.8z"/> + android:fill="#FFFFFFFF" + android:pathData="M11.5,22.0c1.1,0.0 2.0,-0.9 2.0,-2.0l-4.0,0.0C9.5,21.1 10.4,22.0 11.5,22.0zM18.0,10.5c0.0,-3.1 -2.1,-5.6 -5.0,-6.3L13.0,3.5C13.0,2.7 12.3,2.0 11.5,2.0C10.7,2.0 10.0,2.7 10.0,3.5l0.0,0.7C9.5,4.3 9.0,4.5 8.6,4.7l9.4,9.4L18.0,10.5zM17.7,19.0l2.0,2.0l1.3,-1.3L4.3,3.0L3.0,4.3l2.9,2.9C5.3,8.2 5.0,9.3 5.0,10.5L5.0,16.0l-2.0,2.0l0.0,1.0L17.7,19.0z" /> </vector> diff --git a/packages/SystemUI/res/drawable/stat_sys_ringer_vibrate.xml b/packages/SystemUI/res/drawable/stat_sys_ringer_vibrate.xml new file mode 100644 index 0000000..e1d63c3 --- /dev/null +++ b/packages/SystemUI/res/drawable/stat_sys_ringer_vibrate.xml @@ -0,0 +1,28 @@ +<!-- +Copyright (C) 2014 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<vector xmlns:android="http://schemas.android.com/apk/res/android" > + <size + android:width="20dp" + android:height="20dp"/> + + <viewport + android:viewportWidth="24.0" + android:viewportHeight="24.0"/> + + <path + android:fill="#FFFFFFFF" + android:pathData="M0.0,15.0l2.0,0.0L2.0,9.0L0.0,9.0L0.0,15.0zM3.0,17.0l2.0,0.0L5.0,7.0L3.0,7.0L3.0,17.0zM22.0,9.0l0.0,6.0l2.0,0.0L24.0,9.0L22.0,9.0zM19.0,17.0l2.0,0.0L21.0,7.0l-2.0,0.0L19.0,17.0zM16.5,3.0l-9.0,0.0C6.7,3.0 6.0,3.7 6.0,4.5l0.0,15.0C6.0,20.3 6.7,21.0 7.5,21.0l9.0,0.0c0.8,0.0 1.5,-0.7 1.5,-1.5l0.0,-15.0C18.0,3.7 17.3,3.0 16.5,3.0zM16.0,19.0L8.0,19.0L8.0,5.0l8.0,0.0L16.0,19.0z"/> +</vector> diff --git a/packages/SystemUI/res/drawable/stat_sys_ringer_zen.xml b/packages/SystemUI/res/drawable/stat_sys_ringer_zen.xml new file mode 100644 index 0000000..afab88f --- /dev/null +++ b/packages/SystemUI/res/drawable/stat_sys_ringer_zen.xml @@ -0,0 +1,28 @@ +<!-- +Copyright (C) 2014 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<vector xmlns:android="http://schemas.android.com/apk/res/android" > + <size + android:width="19dp" + android:height="19dp"/> + + <viewport + android:viewportWidth="24.0" + android:viewportHeight="24.0"/> + + <path + android:fill="#FFFFFFFF" + android:pathData="M12.0,2.0C6.5,2.0 2.0,6.5 2.0,12.0s4.5,10.0 10.0,10.0c5.5,0.0 10.0,-4.5 10.0,-10.0S17.5,2.0 12.0,2.0zM4.0,12.0c0.0,-4.4 3.6,-8.0 8.0,-8.0c1.8,0.0 3.5,0.6 4.9,1.7L5.7,16.9C4.6,15.5 4.0,13.8 4.0,12.0zM12.0,20.0c-1.8,0.0 -3.5,-0.6 -4.9,-1.7L18.3,7.1C19.4,8.5 20.0,10.2 20.0,12.0C20.0,16.4 16.4,20.0 12.0,20.0z" /> +</vector> diff --git a/packages/SystemUI/res/layout/qs_panel.xml b/packages/SystemUI/res/layout/qs_panel.xml index b24d4ad..85de645 100644 --- a/packages/SystemUI/res/layout/qs_panel.xml +++ b/packages/SystemUI/res/layout/qs_panel.xml @@ -23,6 +23,7 @@ android:background="@drawable/qs_panel_background" > <com.android.systemui.qs.QSPanel android:id="@+id/quick_settings_panel" + android:background="#0000" android:layout_width="match_parent" android:layout_height="wrap_content" /> </FrameLayout> diff --git a/packages/SystemUI/res/layout/qs_zen_mode_detail.xml b/packages/SystemUI/res/layout/qs_zen_mode_detail.xml index 2df6d43..b73874a 100644 --- a/packages/SystemUI/res/layout/qs_zen_mode_detail.xml +++ b/packages/SystemUI/res/layout/qs_zen_mode_detail.xml @@ -19,8 +19,9 @@ android:layout_height="match_parent" android:background="@color/system_secondary_color" > - <com.android.systemui.qs.QSImageView + <ImageView android:id="@android:id/button1" + android:src="@drawable/ic_qs_close" android:layout_width="64dp" android:layout_height="64dp" android:layout_alignParentStart="true" diff --git a/packages/SystemUI/res/layout/qs_zen_mode_detail_condition.xml b/packages/SystemUI/res/layout/qs_zen_mode_detail_condition.xml index a5c8903..7e02bee 100644 --- a/packages/SystemUI/res/layout/qs_zen_mode_detail_condition.xml +++ b/packages/SystemUI/res/layout/qs_zen_mode_detail_condition.xml @@ -38,8 +38,9 @@ android:maxLines="1" android:text="@string/accessibility_back" /> - <com.android.systemui.qs.QSImageView + <ImageView android:id="@android:id/button1" + android:src="@drawable/ic_qs_plus" android:layout_width="64dp" android:layout_height="64dp" android:layout_alignParentEnd="true" @@ -47,8 +48,9 @@ android:padding="@dimen/quick_settings_panel_padding" android:paddingRight="0px" /> - <com.android.systemui.qs.QSImageView + <ImageView android:id="@android:id/button2" + android:src="@drawable/ic_qs_minus" android:layout_width="64dp" android:layout_height="64dp" android:layout_alignParentEnd="true" diff --git a/packages/SystemUI/res/layout/recents_task_view.xml b/packages/SystemUI/res/layout/recents_task_view.xml index bda6431..97051ff 100644 --- a/packages/SystemUI/res/layout/recents_task_view.xml +++ b/packages/SystemUI/res/layout/recents_task_view.xml @@ -16,26 +16,12 @@ <com.android.systemui.recents.views.TaskView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" - android:layout_height="match_parent"> + android:layout_height="match_parent" + android:focusable="true"> <com.android.systemui.recents.views.TaskThumbnailView android:id="@+id/task_view_thumbnail" android:layout_width="match_parent" android:layout_height="match_parent" /> - <com.android.systemui.recents.views.TaskInfoView - android:id="@+id/task_view_info_pane" - android:layout_width="match_parent" - android:layout_height="match_parent" - android:visibility="invisible" - android:background="@color/recents_task_bar_default_background_color"> - <Button - android:id="@+id/task_view_app_info_button" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:layout_marginStart="20dp" - android:layout_marginEnd="20dp" - android:layout_gravity="top|center_horizontal" - android:text="@string/recents_app_info_button_label" /> - </com.android.systemui.recents.views.TaskInfoView> <com.android.systemui.recents.views.TaskBarView android:id="@+id/task_view_bar" android:layout_width="match_parent" @@ -69,7 +55,7 @@ android:layout_height="@dimen/recents_task_view_application_icon_size" android:layout_gravity="center_vertical|end" android:padding="23dp" - android:src="@drawable/recents_dismiss_dark" /> + android:src="@drawable/recents_dismiss_light" /> </com.android.systemui.recents.views.TaskBarView> </com.android.systemui.recents.views.TaskView> diff --git a/packages/SystemUI/res/layout/status_bar.xml b/packages/SystemUI/res/layout/status_bar.xml index 585658e..eaa2558 100644 --- a/packages/SystemUI/res/layout/status_bar.xml +++ b/packages/SystemUI/res/layout/status_bar.xml @@ -61,11 +61,6 @@ android:src="@drawable/stat_notify_more" android:visibility="gone" /> - <com.android.systemui.statusbar.StatusBarIconView android:id="@+id/modeIcon" - android:layout_width="@dimen/status_bar_icon_size" - android:layout_height="match_parent" - android:visibility="gone" - /> <com.android.systemui.statusbar.phone.IconMerger android:id="@+id/notificationIcons" android:layout_width="match_parent" android:layout_height="match_parent" diff --git a/packages/SystemUI/res/layout/status_bar_notification_keyguard_overflow.xml b/packages/SystemUI/res/layout/status_bar_notification_keyguard_overflow.xml index 30eedee..f867068 100644 --- a/packages/SystemUI/res/layout/status_bar_notification_keyguard_overflow.xml +++ b/packages/SystemUI/res/layout/status_bar_notification_keyguard_overflow.xml @@ -18,10 +18,18 @@ <com.android.systemui.statusbar.NotificationOverflowContainer xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" - android:layout_height="40dp" + android:layout_height="@dimen/notification_summary_height" android:focusable="true" android:clickable="true" > + <com.android.systemui.statusbar.NotificationBackgroundView android:id="@+id/backgroundNormal" + android:layout_width="match_parent" + android:layout_height="match_parent" + /> + <com.android.systemui.statusbar.NotificationBackgroundView android:id="@+id/backgroundDimmed" + android:layout_width="match_parent" + android:layout_height="match_parent" + /> <TextView android:id="@+id/more_text" android:layout_width="match_parent" diff --git a/packages/SystemUI/res/layout/status_bar_notification_row.xml b/packages/SystemUI/res/layout/status_bar_notification_row.xml index 8959a5b..5fabd3e 100644 --- a/packages/SystemUI/res/layout/status_bar_notification_row.xml +++ b/packages/SystemUI/res/layout/status_bar_notification_row.xml @@ -6,6 +6,16 @@ android:clickable="true" > + <com.android.systemui.statusbar.NotificationBackgroundView + android:id="@+id/backgroundNormal" + android:layout_width="match_parent" + android:layout_height="match_parent" /> + + <com.android.systemui.statusbar.NotificationBackgroundView + android:id="@+id/backgroundDimmed" + android:layout_width="match_parent" + android:layout_height="match_parent" /> + <com.android.systemui.statusbar.NotificationContentView android:id="@+id/expanded" android:layout_width="match_parent" android:layout_height="wrap_content" /> @@ -17,7 +27,7 @@ <Button android:id="@+id/veto" android:layout_width="48dp" - android:layout_height="match_parent" + android:layout_height="0dp" android:gravity="end" android:layout_marginEnd="-80dp" android:background="@null" diff --git a/packages/SystemUI/res/layout/status_bar_notification_speed_bump.xml b/packages/SystemUI/res/layout/status_bar_notification_speed_bump.xml new file mode 100644 index 0000000..ff8800c --- /dev/null +++ b/packages/SystemUI/res/layout/status_bar_notification_speed_bump.xml @@ -0,0 +1,65 @@ +<!-- + ~ Copyright (C) 2014 The Android Open Source Project + ~ + ~ Licensed under the Apache License, Version 2.0 (the "License"); + ~ you may not use this file except in compliance with the License. + ~ You may obtain a copy of the License at + ~ + ~ http://www.apache.org/licenses/LICENSE-2.0 + ~ + ~ Unless required by applicable law or agreed to in writing, software + ~ distributed under the License is distributed on an "AS IS" BASIS, + ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + ~ See the License for the specific language governing permissions and + ~ limitations under the License + --> + +<!-- Extends FrameLayout --> +<com.android.systemui.statusbar.SpeedBumpView + xmlns:android="http://schemas.android.com/apk/res/android" + android:layout_width="match_parent" + android:layout_height="match_parent" + android:focusable="true" + android:clickable="true" + android:visibility="gone" + > + <LinearLayout + android:layout_width="match_parent" + android:layout_height="@dimen/speed_bump_height_collapsed" + android:layout_gravity="top" + android:orientation="horizontal"> + <View + android:id="@+id/speedbump_line_left" + android:layout_width="0dp" + android:layout_height="1dp" + android:layout_weight="1" + android:background="#6fdddddd" + android:layout_gravity="center_vertical"/> + <com.android.systemui.statusbar.SpeedBumpDotsLayout + android:id="@+id/speed_bump_dots_layout" + android:layout_width="34dp" + android:layout_marginStart="8dp" + android:layout_marginEnd="8dp" + android:layout_height="match_parent" + android:layout_weight="0"/> + <View + android:id="@+id/speedbump_line_right" + android:layout_width="0dp" + android:layout_height="1dp" + android:layout_weight="1" + android:background="#6fdddddd" + android:layout_gravity="center_vertical"/> + </LinearLayout> + <TextView + android:id="@+id/speed_bump_text" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_gravity="top|center_horizontal" + android:fontFamily="sans-serif-condensed" + android:textSize="15sp" + android:singleLine="true" + android:textColor="#eeeeee" + android:visibility="invisible" + android:text="@string/speed_bump_explanation" + android:paddingTop="4dp" /> +</com.android.systemui.statusbar.SpeedBumpView> diff --git a/packages/SystemUI/res/values-ar/strings.xml b/packages/SystemUI/res/values-ar/strings.xml index 1c06615..0060004 100644 --- a/packages/SystemUI/res/values-ar/strings.xml +++ b/packages/SystemUI/res/values-ar/strings.xml @@ -78,7 +78,6 @@ <string name="accessibility_recent" msgid="8571350598987952883">"التطبيقات الحديثة"</string> <string name="accessibility_search_light" msgid="1103867596330271848">"بحث"</string> <string name="accessibility_camera_button" msgid="8064671582820358152">"الكاميرا"</string> - <string name="accessibility_phone_button" msgid="6738112589538563574">"الهاتف"</string> <string name="accessibility_ime_switch_button" msgid="5032926134740456424">"زر تبديل طريقة الإدخال."</string> <string name="accessibility_compatibility_zoom_button" msgid="8461115318742350699">"زر تكبير/تصغير للتوافق."</string> <string name="accessibility_compatibility_zoom_example" msgid="4220687294564945780">"استخدام التكبير/التصغير لتحويل شاشة صغيرة إلى شاشة أكبر"</string> @@ -205,22 +204,8 @@ <string name="quick_settings_inversion_label" msgid="1666358784283020762">"وضع انعكاس اللون"</string> <string name="quick_settings_contrast_label" msgid="3319507551689108692">"وضع التباين المحسن"</string> <string name="quick_settings_color_space_label" msgid="853443689745584770">"وضع تصحيح الألوان"</string> - <string name="recents_empty_message" msgid="2269156590813544104">"الأخيرة"</string> - <string name="recents_app_info_button_label" msgid="2890317189376000030">"معلومات التطبيق"</string> - <string name="recents_search_bar_label" msgid="8074997400187836677">"بحث"</string> <string name="ssl_ca_cert_warning" msgid="9005954106902053641">"قد تكون الشبكة\nخاضعة للرقابة"</string> <string name="description_target_search" msgid="3091587249776033139">"بحث"</string> <string name="description_direction_up" msgid="7169032478259485180">"تمرير لأعلى لـ <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> <string name="description_direction_left" msgid="7207478719805562165">"تمرير لليسار لـ <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <plurals name="zen_mode_notification_title"> - <item quantity="one" msgid="7809876956258040354">"تم إخفاء الإشعار"</item> - <item quantity="other" msgid="7388721375827338153">"تم إخفاء %d من الإشعارات"</item> - </plurals> - <string name="zen_mode_notification_text" msgid="8336623711388065713">"المس للعرض"</string> - <string name="zen_mode_title" msgid="8793432092004749188">"الرجاء عدم الإزعاج"</string> - <plurals name="keyguard_more_overflow_text"> - <item quantity="other" msgid="9180696159506883684">"%d أخرى"</item> - </plurals> - <string name="notification_tap_again" msgid="7590196980943943842">"انقر مرة أخرى للفتح"</string> - <string name="keyguard_unlock" msgid="8043466894212841998">"مرر سريعًا لأعلى لإلغاء القفل"</string> </resources> diff --git a/packages/SystemUI/res/values-da/strings.xml b/packages/SystemUI/res/values-da/strings.xml index c740051..1e6011c 100644 --- a/packages/SystemUI/res/values-da/strings.xml +++ b/packages/SystemUI/res/values-da/strings.xml @@ -78,7 +78,6 @@ <string name="accessibility_recent" msgid="8571350598987952883">"Seneste apps"</string> <string name="accessibility_search_light" msgid="1103867596330271848">"Søg"</string> <string name="accessibility_camera_button" msgid="8064671582820358152">"Kamera"</string> - <string name="accessibility_phone_button" msgid="6738112589538563574">"Telefon"</string> <string name="accessibility_ime_switch_button" msgid="5032926134740456424">"Skift indtastningsmetode-knappen."</string> <string name="accessibility_compatibility_zoom_button" msgid="8461115318742350699">"Knap for kompatibilitetszoom."</string> <string name="accessibility_compatibility_zoom_example" msgid="4220687294564945780">"Zoom mindre til større skærm."</string> @@ -184,8 +183,8 @@ <string name="quick_settings_brightness_label" msgid="6968372297018755815">"Lysstyrke"</string> <string name="quick_settings_rotation_unlocked_label" msgid="336054930362580584">"Automatisk rotation"</string> <string name="quick_settings_rotation_locked_label" msgid="8058646447242565486">"Rotation er låst"</string> - <string name="quick_settings_rotation_locked_portrait_label" msgid="1553131290066230775">"Altid stående"</string> - <string name="quick_settings_rotation_locked_landscape_label" msgid="7216265671276086593">"Altid liggende"</string> + <string name="quick_settings_rotation_locked_portrait_label" msgid="1553131290066230775">"Låst i portræt"</string> + <string name="quick_settings_rotation_locked_landscape_label" msgid="7216265671276086593">"Låst i landskab"</string> <string name="quick_settings_ime_label" msgid="7073463064369468429">"Inputmetode"</string> <string name="quick_settings_location_label" msgid="5011327048748762257">"Placering"</string> <string name="quick_settings_location_off_label" msgid="7464544086507331459">"Placering fra"</string> @@ -199,28 +198,14 @@ <string name="quick_settings_wifi_not_connected" msgid="7171904845345573431">"Ikke forbundet"</string> <string name="quick_settings_wifi_no_network" msgid="2221993077220856376">"Intet netværk"</string> <string name="quick_settings_wifi_off_label" msgid="7558778100843885864">"Wi-Fi slået fra"</string> - <string name="quick_settings_remote_display_no_connection_label" msgid="372107699274391290">"Cast skærm"</string> + <string name="quick_settings_remote_display_no_connection_label" msgid="372107699274391290">"Cast-skærm"</string> <string name="quick_settings_brightness_dialog_title" msgid="8599674057673605368">"Lysstyrke"</string> <string name="quick_settings_brightness_dialog_auto_brightness_label" msgid="5064982743784071218">"AUTO"</string> <string name="quick_settings_inversion_label" msgid="1666358784283020762">"Farveinverteringstilstand"</string> <string name="quick_settings_contrast_label" msgid="3319507551689108692">"Tilstand for forbedret kontrast"</string> <string name="quick_settings_color_space_label" msgid="853443689745584770">"Farvekorrigeringstilstand"</string> - <string name="recents_empty_message" msgid="2269156590813544104">"SENESTE"</string> - <string name="recents_app_info_button_label" msgid="2890317189376000030">"Oplysninger om applikationen"</string> - <string name="recents_search_bar_label" msgid="8074997400187836677">"søg"</string> <string name="ssl_ca_cert_warning" msgid="9005954106902053641">"Netværket kan\nvære overvåget"</string> <string name="description_target_search" msgid="3091587249776033139">"Søgning"</string> <string name="description_direction_up" msgid="7169032478259485180">"Glid op for at <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> <string name="description_direction_left" msgid="7207478719805562165">"Glid til venstre for at <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <plurals name="zen_mode_notification_title"> - <item quantity="one" msgid="7809876956258040354">"Underretningen er skjult"</item> - <item quantity="other" msgid="7388721375827338153">"%d underretninger er skjult"</item> - </plurals> - <string name="zen_mode_notification_text" msgid="8336623711388065713">"Tryk for at vise"</string> - <string name="zen_mode_title" msgid="8793432092004749188">"Vil ikke forstyrres"</string> - <plurals name="keyguard_more_overflow_text"> - <item quantity="other" msgid="9180696159506883684">"%d mere"</item> - </plurals> - <string name="notification_tap_again" msgid="7590196980943943842">"Tryk igen for at åbne"</string> - <string name="keyguard_unlock" msgid="8043466894212841998">"Stryg for at låse op"</string> </resources> diff --git a/packages/SystemUI/res/values-de/strings.xml b/packages/SystemUI/res/values-de/strings.xml index 40ecc49..fd41752 100644 --- a/packages/SystemUI/res/values-de/strings.xml +++ b/packages/SystemUI/res/values-de/strings.xml @@ -78,7 +78,6 @@ <string name="accessibility_recent" msgid="8571350598987952883">"Kürzlich geöffnete Apps"</string> <string name="accessibility_search_light" msgid="1103867596330271848">"Suchen"</string> <string name="accessibility_camera_button" msgid="8064671582820358152">"Kamera"</string> - <string name="accessibility_phone_button" msgid="6738112589538563574">"Telefonnummer"</string> <string name="accessibility_ime_switch_button" msgid="5032926134740456424">"Schaltfläche zum Ändern der Eingabemethode"</string> <string name="accessibility_compatibility_zoom_button" msgid="8461115318742350699">"Schaltfläche für Kompatibilitätszoom"</string> <string name="accessibility_compatibility_zoom_example" msgid="4220687294564945780">"Zoom auf einen größeren Bildschirm"</string> @@ -166,7 +165,7 @@ <string name="data_usage_disabled_dialog_enable" msgid="7729772039208664606">"Daten erneut aktivieren"</string> <string name="status_bar_settings_signal_meter_disconnected" msgid="1940231521274147771">"Keine Internetverbindung"</string> <string name="status_bar_settings_signal_meter_wifi_nossid" msgid="6557486452774597820">"WLAN verbunden"</string> - <string name="gps_notification_searching_text" msgid="8574247005642736060">"GPS wird gesucht..."</string> + <string name="gps_notification_searching_text" msgid="8574247005642736060">"GPS wird gesucht"</string> <string name="gps_notification_found_text" msgid="4619274244146446464">"Standort durch GPS festgelegt"</string> <string name="accessibility_location_active" msgid="2427290146138169014">"Standortanfragen aktiv"</string> <string name="accessibility_clear_all" msgid="5235938559247164925">"Alle Benachrichtigungen löschen"</string> @@ -207,22 +206,8 @@ <string name="quick_settings_inversion_label" msgid="1666358784283020762">"Farbinversionsmodus"</string> <string name="quick_settings_contrast_label" msgid="3319507551689108692">"Kontrastverbesserungsmodus"</string> <string name="quick_settings_color_space_label" msgid="853443689745584770">"Farbkorrekturmodus"</string> - <string name="recents_empty_message" msgid="2269156590813544104">"Letzte"</string> - <string name="recents_app_info_button_label" msgid="2890317189376000030">"App-Info"</string> - <string name="recents_search_bar_label" msgid="8074997400187836677">"Suche"</string> <string name="ssl_ca_cert_warning" msgid="9005954106902053641">"Netzwerk wird\neventuell überwacht."</string> <string name="description_target_search" msgid="3091587249776033139">"Suche"</string> <string name="description_direction_up" msgid="7169032478259485180">"Zum <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> nach oben schieben"</string> <string name="description_direction_left" msgid="7207478719805562165">"Zum <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> nach links schieben"</string> - <plurals name="zen_mode_notification_title"> - <item quantity="one" msgid="7809876956258040354">"Benachrichtigung ausgeblendet"</item> - <item quantity="other" msgid="7388721375827338153">"%d Benachrichtigungen ausgeblendet"</item> - </plurals> - <string name="zen_mode_notification_text" msgid="8336623711388065713">"Zum Ansehen tippen"</string> - <string name="zen_mode_title" msgid="8793432092004749188">"Nicht stören"</string> - <plurals name="keyguard_more_overflow_text"> - <item quantity="other" msgid="9180696159506883684">"%d mehr"</item> - </plurals> - <string name="notification_tap_again" msgid="7590196980943943842">"Erneut tippen, um Benachrichtigung zu öffnen"</string> - <string name="keyguard_unlock" msgid="8043466894212841998">"Zum Entsperren nach oben wischen"</string> </resources> diff --git a/packages/SystemUI/res/values-el/strings.xml b/packages/SystemUI/res/values-el/strings.xml index 0e98ce0..96e2aaa 100644 --- a/packages/SystemUI/res/values-el/strings.xml +++ b/packages/SystemUI/res/values-el/strings.xml @@ -78,7 +78,6 @@ <string name="accessibility_recent" msgid="8571350598987952883">"Πρόσφατες εφαρμογές"</string> <string name="accessibility_search_light" msgid="1103867596330271848">"Αναζήτηση"</string> <string name="accessibility_camera_button" msgid="8064671582820358152">"Φωτογραφική μηχανή"</string> - <string name="accessibility_phone_button" msgid="6738112589538563574">"Τηλέφωνο"</string> <string name="accessibility_ime_switch_button" msgid="5032926134740456424">"Κουμπί εναλλαγής μεθόδου εισόδου"</string> <string name="accessibility_compatibility_zoom_button" msgid="8461115318742350699">"Κουμπί εστίασης συμβατότητας."</string> <string name="accessibility_compatibility_zoom_example" msgid="4220687294564945780">"Ζουμ από μικρότερη σε μεγαλύτερη οθόνη."</string> @@ -207,22 +206,8 @@ <string name="quick_settings_inversion_label" msgid="1666358784283020762">"Λειτουργία αναστροφής χρώματος"</string> <string name="quick_settings_contrast_label" msgid="3319507551689108692">"Λειτουργία βελτίωσης αντίθεσης"</string> <string name="quick_settings_color_space_label" msgid="853443689745584770">"Λειτουργία διόρθωσης χρώματος"</string> - <string name="recents_empty_message" msgid="2269156590813544104">"ΠΡΟΣΦΑΤΑ"</string> - <string name="recents_app_info_button_label" msgid="2890317189376000030">"Πληροφορίες εφαρμογής"</string> - <string name="recents_search_bar_label" msgid="8074997400187836677">"αναζήτηση"</string> <string name="ssl_ca_cert_warning" msgid="9005954106902053641">"Το δίκτυο μπορεί\nνα παρακολουθείται"</string> <string name="description_target_search" msgid="3091587249776033139">"Αναζήτηση"</string> <string name="description_direction_up" msgid="7169032478259485180">"Κύλιση προς τα επάνω για <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> <string name="description_direction_left" msgid="7207478719805562165">"Κύλιση προς τα αριστερά για <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <plurals name="zen_mode_notification_title"> - <item quantity="one" msgid="7809876956258040354">"Έγινε απόκρυψη της ειδοποίησης"</item> - <item quantity="other" msgid="7388721375827338153">"Έγινε απόκρυψη %d ειδοποιήσεων"</item> - </plurals> - <string name="zen_mode_notification_text" msgid="8336623711388065713">"Αγγίξτε για εμφάνιση"</string> - <string name="zen_mode_title" msgid="8793432092004749188">"Μην ενοχλείτε"</string> - <plurals name="keyguard_more_overflow_text"> - <item quantity="other" msgid="9180696159506883684">"%d ακόμη"</item> - </plurals> - <string name="notification_tap_again" msgid="7590196980943943842">"Πατήστε ξανά για να ανοίξετε"</string> - <string name="keyguard_unlock" msgid="8043466894212841998">"Σύρετε για να ξεκλειδώσετε"</string> </resources> diff --git a/packages/SystemUI/res/values-en-rGB/strings.xml b/packages/SystemUI/res/values-en-rGB/strings.xml index f4098b7..342061e 100644 --- a/packages/SystemUI/res/values-en-rGB/strings.xml +++ b/packages/SystemUI/res/values-en-rGB/strings.xml @@ -78,7 +78,6 @@ <string name="accessibility_recent" msgid="8571350598987952883">"Recent apps"</string> <string name="accessibility_search_light" msgid="1103867596330271848">"Search"</string> <string name="accessibility_camera_button" msgid="8064671582820358152">"Camera"</string> - <string name="accessibility_phone_button" msgid="6738112589538563574">"Phone"</string> <string name="accessibility_ime_switch_button" msgid="5032926134740456424">"Switch input method button."</string> <string name="accessibility_compatibility_zoom_button" msgid="8461115318742350699">"Compatibility zoom button."</string> <string name="accessibility_compatibility_zoom_example" msgid="4220687294564945780">"Zoom smaller to larger screen."</string> @@ -205,22 +204,8 @@ <string name="quick_settings_inversion_label" msgid="1666358784283020762">"Colour inversion mode"</string> <string name="quick_settings_contrast_label" msgid="3319507551689108692">"Enhanced contrast mode"</string> <string name="quick_settings_color_space_label" msgid="853443689745584770">"Colour correction mode"</string> - <string name="recents_empty_message" msgid="2269156590813544104">"RECENTS"</string> - <string name="recents_app_info_button_label" msgid="2890317189376000030">"Application Info"</string> - <string name="recents_search_bar_label" msgid="8074997400187836677">"search"</string> <string name="ssl_ca_cert_warning" msgid="9005954106902053641">"Network may\nbe monitored"</string> <string name="description_target_search" msgid="3091587249776033139">"Search"</string> <string name="description_direction_up" msgid="7169032478259485180">"Slide up for <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> <string name="description_direction_left" msgid="7207478719805562165">"Slide left for <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <plurals name="zen_mode_notification_title"> - <item quantity="one" msgid="7809876956258040354">"Notification hidden"</item> - <item quantity="other" msgid="7388721375827338153">"%d notifications hidden"</item> - </plurals> - <string name="zen_mode_notification_text" msgid="8336623711388065713">"Touch to show"</string> - <string name="zen_mode_title" msgid="8793432092004749188">"Do not disturb"</string> - <plurals name="keyguard_more_overflow_text"> - <item quantity="other" msgid="9180696159506883684">"%d more"</item> - </plurals> - <string name="notification_tap_again" msgid="7590196980943943842">"Tap again to open"</string> - <string name="keyguard_unlock" msgid="8043466894212841998">"Swipe up to unlock"</string> </resources> diff --git a/packages/SystemUI/res/values-en-rIN/strings.xml b/packages/SystemUI/res/values-en-rIN/strings.xml index f4098b7..342061e 100644 --- a/packages/SystemUI/res/values-en-rIN/strings.xml +++ b/packages/SystemUI/res/values-en-rIN/strings.xml @@ -78,7 +78,6 @@ <string name="accessibility_recent" msgid="8571350598987952883">"Recent apps"</string> <string name="accessibility_search_light" msgid="1103867596330271848">"Search"</string> <string name="accessibility_camera_button" msgid="8064671582820358152">"Camera"</string> - <string name="accessibility_phone_button" msgid="6738112589538563574">"Phone"</string> <string name="accessibility_ime_switch_button" msgid="5032926134740456424">"Switch input method button."</string> <string name="accessibility_compatibility_zoom_button" msgid="8461115318742350699">"Compatibility zoom button."</string> <string name="accessibility_compatibility_zoom_example" msgid="4220687294564945780">"Zoom smaller to larger screen."</string> @@ -205,22 +204,8 @@ <string name="quick_settings_inversion_label" msgid="1666358784283020762">"Colour inversion mode"</string> <string name="quick_settings_contrast_label" msgid="3319507551689108692">"Enhanced contrast mode"</string> <string name="quick_settings_color_space_label" msgid="853443689745584770">"Colour correction mode"</string> - <string name="recents_empty_message" msgid="2269156590813544104">"RECENTS"</string> - <string name="recents_app_info_button_label" msgid="2890317189376000030">"Application Info"</string> - <string name="recents_search_bar_label" msgid="8074997400187836677">"search"</string> <string name="ssl_ca_cert_warning" msgid="9005954106902053641">"Network may\nbe monitored"</string> <string name="description_target_search" msgid="3091587249776033139">"Search"</string> <string name="description_direction_up" msgid="7169032478259485180">"Slide up for <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> <string name="description_direction_left" msgid="7207478719805562165">"Slide left for <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <plurals name="zen_mode_notification_title"> - <item quantity="one" msgid="7809876956258040354">"Notification hidden"</item> - <item quantity="other" msgid="7388721375827338153">"%d notifications hidden"</item> - </plurals> - <string name="zen_mode_notification_text" msgid="8336623711388065713">"Touch to show"</string> - <string name="zen_mode_title" msgid="8793432092004749188">"Do not disturb"</string> - <plurals name="keyguard_more_overflow_text"> - <item quantity="other" msgid="9180696159506883684">"%d more"</item> - </plurals> - <string name="notification_tap_again" msgid="7590196980943943842">"Tap again to open"</string> - <string name="keyguard_unlock" msgid="8043466894212841998">"Swipe up to unlock"</string> </resources> diff --git a/packages/SystemUI/res/values-es/strings.xml b/packages/SystemUI/res/values-es/strings.xml index 1b73e18..2a977ee 100644 --- a/packages/SystemUI/res/values-es/strings.xml +++ b/packages/SystemUI/res/values-es/strings.xml @@ -78,7 +78,6 @@ <string name="accessibility_recent" msgid="8571350598987952883">"Aplicaciones recientes"</string> <string name="accessibility_search_light" msgid="1103867596330271848">"Buscar"</string> <string name="accessibility_camera_button" msgid="8064671582820358152">"Cámara"</string> - <string name="accessibility_phone_button" msgid="6738112589538563574">"Teléfono"</string> <string name="accessibility_ime_switch_button" msgid="5032926134740456424">"Botón Cambiar método de entrada"</string> <string name="accessibility_compatibility_zoom_button" msgid="8461115318742350699">"Botón de zoom de compatibilidad"</string> <string name="accessibility_compatibility_zoom_example" msgid="4220687294564945780">"Zoom de pantalla más pequeña a más grande"</string> @@ -199,28 +198,14 @@ <string name="quick_settings_wifi_not_connected" msgid="7171904845345573431">"No conectado"</string> <string name="quick_settings_wifi_no_network" msgid="2221993077220856376">"No hay red."</string> <string name="quick_settings_wifi_off_label" msgid="7558778100843885864">"Wi-Fi desactivado"</string> - <string name="quick_settings_remote_display_no_connection_label" msgid="372107699274391290">"Enviar contenido a pantalla"</string> + <string name="quick_settings_remote_display_no_connection_label" msgid="372107699274391290">"Pantalla de Cast"</string> <string name="quick_settings_brightness_dialog_title" msgid="8599674057673605368">"Brillo"</string> <string name="quick_settings_brightness_dialog_auto_brightness_label" msgid="5064982743784071218">"AUTO"</string> <string name="quick_settings_inversion_label" msgid="1666358784283020762">"Modo de inversión de color"</string> <string name="quick_settings_contrast_label" msgid="3319507551689108692">"Modo de contraste mejorado"</string> <string name="quick_settings_color_space_label" msgid="853443689745584770">"Modo de corrección de color"</string> - <string name="recents_empty_message" msgid="2269156590813544104">"RECIENTES"</string> - <string name="recents_app_info_button_label" msgid="2890317189376000030">"Información de la aplicación"</string> - <string name="recents_search_bar_label" msgid="8074997400187836677">"buscar"</string> <string name="ssl_ca_cert_warning" msgid="9005954106902053641">"La red se\npuede supervisar"</string> <string name="description_target_search" msgid="3091587249776033139">"Buscar"</string> <string name="description_direction_up" msgid="7169032478259485180">"Desliza el dedo hacia arriba para <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> <string name="description_direction_left" msgid="7207478719805562165">"Desliza el dedo hacia la izquierda para <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <plurals name="zen_mode_notification_title"> - <item quantity="one" msgid="7809876956258040354">"Notification oculta"</item> - <item quantity="other" msgid="7388721375827338153">"%d notificaciones ocultas"</item> - </plurals> - <string name="zen_mode_notification_text" msgid="8336623711388065713">"Toca para mostrar"</string> - <string name="zen_mode_title" msgid="8793432092004749188">"No molestar"</string> - <plurals name="keyguard_more_overflow_text"> - <item quantity="other" msgid="9180696159506883684">"%d más"</item> - </plurals> - <string name="notification_tap_again" msgid="7590196980943943842">"Toca de nuevo para abrir"</string> - <string name="keyguard_unlock" msgid="8043466894212841998">"Desliza el dedo hacia arriba para desbloquear"</string> </resources> diff --git a/packages/SystemUI/res/values-hi/strings.xml b/packages/SystemUI/res/values-hi/strings.xml index f9e6aad..3167fe7 100644 --- a/packages/SystemUI/res/values-hi/strings.xml +++ b/packages/SystemUI/res/values-hi/strings.xml @@ -78,7 +78,6 @@ <string name="accessibility_recent" msgid="8571350598987952883">"हाल ही के ऐप्स"</string> <string name="accessibility_search_light" msgid="1103867596330271848">"खोजें"</string> <string name="accessibility_camera_button" msgid="8064671582820358152">"कैमरा"</string> - <string name="accessibility_phone_button" msgid="6738112589538563574">"फ़ोन"</string> <string name="accessibility_ime_switch_button" msgid="5032926134740456424">"इनपुट पद्धति बटन स्विच करें."</string> <string name="accessibility_compatibility_zoom_button" msgid="8461115318742350699">"संगतता ज़ूम बटन."</string> <string name="accessibility_compatibility_zoom_example" msgid="4220687294564945780">"छोटी से बड़ी स्क्रीन पर ज़ूम करें."</string> @@ -205,22 +204,8 @@ <string name="quick_settings_inversion_label" msgid="1666358784283020762">"रंग व्युत्क्रम मोड"</string> <string name="quick_settings_contrast_label" msgid="3319507551689108692">"उन्नत कंट्रास्ट मोड"</string> <string name="quick_settings_color_space_label" msgid="853443689745584770">"रंग सुधार मोड"</string> - <string name="recents_empty_message" msgid="2269156590813544104">"हाल ही का"</string> - <string name="recents_app_info_button_label" msgid="2890317189376000030">"एप्लिकेशन जानकारी"</string> - <string name="recents_search_bar_label" msgid="8074997400187836677">"खोज"</string> <string name="ssl_ca_cert_warning" msgid="9005954106902053641">"नेटवर्क को\nमॉनीटर किया जा सकता है"</string> <string name="description_target_search" msgid="3091587249776033139">"खोजें"</string> <string name="description_direction_up" msgid="7169032478259485180">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> के लिए ऊपर स्लाइड करें."</string> <string name="description_direction_left" msgid="7207478719805562165">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> के लिए बाएं स्लाइड करें."</string> - <plurals name="zen_mode_notification_title"> - <item quantity="one" msgid="7809876956258040354">"सूचना छिपी हुई है"</item> - <item quantity="other" msgid="7388721375827338153">"%d सूचनाएं छिपी हुई हैं"</item> - </plurals> - <string name="zen_mode_notification_text" msgid="8336623711388065713">"दिखाने के लिए स्पर्श करें"</string> - <string name="zen_mode_title" msgid="8793432092004749188">"परेशान न करें"</string> - <plurals name="keyguard_more_overflow_text"> - <item quantity="other" msgid="9180696159506883684">"%d और"</item> - </plurals> - <string name="notification_tap_again" msgid="7590196980943943842">"खोलने के लिए पुन: टैप करें"</string> - <string name="keyguard_unlock" msgid="8043466894212841998">"अनलॉक करने के लिए ऊपर स्वाइप करें"</string> </resources> diff --git a/packages/SystemUI/res/values-hr/strings.xml b/packages/SystemUI/res/values-hr/strings.xml index 435f701..529f891 100644 --- a/packages/SystemUI/res/values-hr/strings.xml +++ b/packages/SystemUI/res/values-hr/strings.xml @@ -78,7 +78,6 @@ <string name="accessibility_recent" msgid="8571350598987952883">"Nedavne aplikacije"</string> <string name="accessibility_search_light" msgid="1103867596330271848">"Pretraži"</string> <string name="accessibility_camera_button" msgid="8064671582820358152">"Fotoaparat"</string> - <string name="accessibility_phone_button" msgid="6738112589538563574">"Telefon"</string> <string name="accessibility_ime_switch_button" msgid="5032926134740456424">"Gumb za promjenu načina unosa."</string> <string name="accessibility_compatibility_zoom_button" msgid="8461115318742350699">"Gumb za kompatibilnost zumiranja."</string> <string name="accessibility_compatibility_zoom_example" msgid="4220687294564945780">"Zumiranje manjeg zaslona na veći."</string> @@ -205,22 +204,8 @@ <string name="quick_settings_inversion_label" msgid="1666358784283020762">"Način inverzije boje"</string> <string name="quick_settings_contrast_label" msgid="3319507551689108692">"Način pojačanog kontrasta"</string> <string name="quick_settings_color_space_label" msgid="853443689745584770">"Način korekcije boje"</string> - <string name="recents_empty_message" msgid="2269156590813544104">"NEDAVNO"</string> - <string name="recents_app_info_button_label" msgid="2890317189376000030">"Informacije o aplikaciji"</string> - <string name="recents_search_bar_label" msgid="8074997400187836677">"pretraži"</string> <string name="ssl_ca_cert_warning" msgid="9005954106902053641">"Mreža se\nmožda prati"</string> <string name="description_target_search" msgid="3091587249776033139">"Pretraživanje"</string> <string name="description_direction_up" msgid="7169032478259485180">"Kliznite prema gore za <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> <string name="description_direction_left" msgid="7207478719805562165">"Kliznite lijevo za <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <plurals name="zen_mode_notification_title"> - <item quantity="one" msgid="7809876956258040354">"Obavijest je skrivena"</item> - <item quantity="other" msgid="7388721375827338153">"Broj skrivenih obavijesti: %d"</item> - </plurals> - <string name="zen_mode_notification_text" msgid="8336623711388065713">"Dodirnite za prikaz"</string> - <string name="zen_mode_title" msgid="8793432092004749188">"Ne ometaj"</string> - <plurals name="keyguard_more_overflow_text"> - <item quantity="other" msgid="9180696159506883684">"Još %d"</item> - </plurals> - <string name="notification_tap_again" msgid="7590196980943943842">"Dodirnite opet za otvaranje"</string> - <string name="keyguard_unlock" msgid="8043466894212841998">"Prijeđite prstom prema gore za otključavanje"</string> </resources> diff --git a/packages/SystemUI/res/values-hu/strings.xml b/packages/SystemUI/res/values-hu/strings.xml index 7685477..7e064dd 100644 --- a/packages/SystemUI/res/values-hu/strings.xml +++ b/packages/SystemUI/res/values-hu/strings.xml @@ -78,7 +78,6 @@ <string name="accessibility_recent" msgid="8571350598987952883">"Legújabb alkalmazás"</string> <string name="accessibility_search_light" msgid="1103867596330271848">"Keresés"</string> <string name="accessibility_camera_button" msgid="8064671582820358152">"Kamera"</string> - <string name="accessibility_phone_button" msgid="6738112589538563574">"Telefon"</string> <string name="accessibility_ime_switch_button" msgid="5032926134740456424">"Beviteli mód váltása gomb."</string> <string name="accessibility_compatibility_zoom_button" msgid="8461115318742350699">"Kompatibilitási zoom gomb."</string> <string name="accessibility_compatibility_zoom_example" msgid="4220687294564945780">"Kicsinyítsen a nagyobb képernyőhöz."</string> @@ -205,22 +204,8 @@ <string name="quick_settings_inversion_label" msgid="1666358784283020762">"Színinvertálás mód"</string> <string name="quick_settings_contrast_label" msgid="3319507551689108692">"Kontrasztjavítás mód"</string> <string name="quick_settings_color_space_label" msgid="853443689745584770">"Színjavítás mód"</string> - <string name="recents_empty_message" msgid="2269156590813544104">"LEGUTÓBBIAK"</string> - <string name="recents_app_info_button_label" msgid="2890317189376000030">"Az alkalmazás adatai"</string> - <string name="recents_search_bar_label" msgid="8074997400187836677">"keresés"</string> <string name="ssl_ca_cert_warning" msgid="9005954106902053641">"Lehet, hogy a\nhálózat felügyelt"</string> <string name="description_target_search" msgid="3091587249776033139">"Keresés"</string> <string name="description_direction_up" msgid="7169032478259485180">"A(z) <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> művelethez csúsztassa felfelé."</string> <string name="description_direction_left" msgid="7207478719805562165">"A(z) <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> művelethez csúsztassa balra."</string> - <plurals name="zen_mode_notification_title"> - <item quantity="one" msgid="7809876956258040354">"Értesítés elrejtve"</item> - <item quantity="other" msgid="7388721375827338153">"%d értesítés elrejtve"</item> - </plurals> - <string name="zen_mode_notification_text" msgid="8336623711388065713">"A megtekintéshez érintse meg"</string> - <string name="zen_mode_title" msgid="8793432092004749188">"Ne zavarjanak"</string> - <plurals name="keyguard_more_overflow_text"> - <item quantity="other" msgid="9180696159506883684">"%d további"</item> - </plurals> - <string name="notification_tap_again" msgid="7590196980943943842">"Koppintson rá ismét a megnyitáshoz"</string> - <string name="keyguard_unlock" msgid="8043466894212841998">"Húzza felfelé az ujját a feloldáshoz"</string> </resources> diff --git a/packages/SystemUI/res/values-in/strings.xml b/packages/SystemUI/res/values-in/strings.xml index cdb0816..167b101 100644 --- a/packages/SystemUI/res/values-in/strings.xml +++ b/packages/SystemUI/res/values-in/strings.xml @@ -78,7 +78,6 @@ <string name="accessibility_recent" msgid="8571350598987952883">"Apl terbaru"</string> <string name="accessibility_search_light" msgid="1103867596330271848">"Telusuri"</string> <string name="accessibility_camera_button" msgid="8064671582820358152">"Kamera"</string> - <string name="accessibility_phone_button" msgid="6738112589538563574">"Telepon"</string> <string name="accessibility_ime_switch_button" msgid="5032926134740456424">"Tombol beralih metode masukan."</string> <string name="accessibility_compatibility_zoom_button" msgid="8461115318742350699">"Tombol perbesar/perkecil kompatibilitas."</string> <string name="accessibility_compatibility_zoom_example" msgid="4220687294564945780">"Perbesar dari layar kecil ke besar."</string> @@ -205,22 +204,8 @@ <string name="quick_settings_inversion_label" msgid="1666358784283020762">"Mode inversi warna"</string> <string name="quick_settings_contrast_label" msgid="3319507551689108692">"Mode kontras yang disempurnakan"</string> <string name="quick_settings_color_space_label" msgid="853443689745584770">"Mode koreksi warna"</string> - <string name="recents_empty_message" msgid="2269156590813544104">"TERBARU"</string> - <string name="recents_app_info_button_label" msgid="2890317189376000030">"Info Aplikasi"</string> - <string name="recents_search_bar_label" msgid="8074997400187836677">"telusuri"</string> <string name="ssl_ca_cert_warning" msgid="9005954106902053641">"Jaringan bisa\ndiawasi"</string> <string name="description_target_search" msgid="3091587249776033139">"Telusuri"</string> <string name="description_direction_up" msgid="7169032478259485180">"Geser ke atas untuk <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> <string name="description_direction_left" msgid="7207478719805562165">"Geser ke kiri untuk <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <plurals name="zen_mode_notification_title"> - <item quantity="one" msgid="7809876956258040354">"Pemberitahuan disembunyikan"</item> - <item quantity="other" msgid="7388721375827338153">"%d pemberitahuan disembunyikan"</item> - </plurals> - <string name="zen_mode_notification_text" msgid="8336623711388065713">"Sentuh untuk menampilkan"</string> - <string name="zen_mode_title" msgid="8793432092004749188">"Jangan ganggu"</string> - <plurals name="keyguard_more_overflow_text"> - <item quantity="other" msgid="9180696159506883684">"%d lainnya"</item> - </plurals> - <string name="notification_tap_again" msgid="7590196980943943842">"Ketuk lagi untuk membuka"</string> - <string name="keyguard_unlock" msgid="8043466894212841998">"Gesek ke atas untuk membuka kunci"</string> </resources> diff --git a/packages/SystemUI/res/values-it/strings.xml b/packages/SystemUI/res/values-it/strings.xml index 401dbce..6321870 100644 --- a/packages/SystemUI/res/values-it/strings.xml +++ b/packages/SystemUI/res/values-it/strings.xml @@ -78,7 +78,6 @@ <string name="accessibility_recent" msgid="8571350598987952883">"Applicazioni recenti"</string> <string name="accessibility_search_light" msgid="1103867596330271848">"Cerca"</string> <string name="accessibility_camera_button" msgid="8064671582820358152">"Fotocamera"</string> - <string name="accessibility_phone_button" msgid="6738112589538563574">"Telefono"</string> <string name="accessibility_ime_switch_button" msgid="5032926134740456424">"Pulsante per cambiare metodo di immissione."</string> <string name="accessibility_compatibility_zoom_button" msgid="8461115318742350699">"Pulsante zoom compatibilità."</string> <string name="accessibility_compatibility_zoom_example" msgid="4220687294564945780">"Zoom inferiore per schermo più grande."</string> @@ -189,8 +188,8 @@ <string name="quick_settings_rotation_locked_portrait_label" msgid="1553131290066230775">"Bloccato in verticale"</string> <string name="quick_settings_rotation_locked_landscape_label" msgid="7216265671276086593">"Bloccato in orizzontale"</string> <string name="quick_settings_ime_label" msgid="7073463064369468429">"Metodo di immissione"</string> - <string name="quick_settings_location_label" msgid="5011327048748762257">"Geolocalizz."</string> - <string name="quick_settings_location_off_label" msgid="7464544086507331459">"Geolocalizz. non attiva"</string> + <string name="quick_settings_location_label" msgid="5011327048748762257">"Geolocalizzazione"</string> + <string name="quick_settings_location_off_label" msgid="7464544086507331459">"Posizione non attiva"</string> <string name="quick_settings_media_device_label" msgid="1302906836372603762">"Dispositivo multimediale"</string> <string name="quick_settings_rssi_label" msgid="7725671335550695589">"RSSI"</string> <string name="quick_settings_rssi_emergency_only" msgid="2713774041672886750">"Solo chiamate di emergenza"</string> @@ -207,22 +206,8 @@ <string name="quick_settings_inversion_label" msgid="1666358784283020762">"Modalità inversione colori"</string> <string name="quick_settings_contrast_label" msgid="3319507551689108692">"Modalità di contrasto avanzata"</string> <string name="quick_settings_color_space_label" msgid="853443689745584770">"Modalità di correzione del colore"</string> - <string name="recents_empty_message" msgid="2269156590813544104">"MESSAGGI RECENTI"</string> - <string name="recents_app_info_button_label" msgid="2890317189376000030">"Informazioni sull\'applicazione"</string> - <string name="recents_search_bar_label" msgid="8074997400187836677">"cerca"</string> <string name="ssl_ca_cert_warning" msgid="9005954106902053641">"La rete potrebbe\nessere monitorata"</string> <string name="description_target_search" msgid="3091587249776033139">"Ricerca"</string> <string name="description_direction_up" msgid="7169032478259485180">"Su per <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> <string name="description_direction_left" msgid="7207478719805562165">"A sinistra per <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <plurals name="zen_mode_notification_title"> - <item quantity="one" msgid="7809876956258040354">"Notifica nascosta"</item> - <item quantity="other" msgid="7388721375827338153">"%d notifiche nascoste"</item> - </plurals> - <string name="zen_mode_notification_text" msgid="8336623711388065713">"Tocca per visualizzare"</string> - <string name="zen_mode_title" msgid="8793432092004749188">"Non disturbare"</string> - <plurals name="keyguard_more_overflow_text"> - <item quantity="other" msgid="9180696159506883684">"Altre %d"</item> - </plurals> - <string name="notification_tap_again" msgid="7590196980943943842">"Tocca ancora per aprire"</string> - <string name="keyguard_unlock" msgid="8043466894212841998">"Scorri verso l\'alto per sbloccare"</string> </resources> diff --git a/packages/SystemUI/res/values-lo-rLA/strings.xml b/packages/SystemUI/res/values-lo-rLA/strings.xml index 991fb66..59cf520 100644 --- a/packages/SystemUI/res/values-lo-rLA/strings.xml +++ b/packages/SystemUI/res/values-lo-rLA/strings.xml @@ -78,7 +78,6 @@ <string name="accessibility_recent" msgid="8571350598987952883">"ແອັບຯຫຼ້າສຸດ"</string> <string name="accessibility_search_light" msgid="1103867596330271848">"ຊອກຫາ"</string> <string name="accessibility_camera_button" msgid="8064671582820358152">"ກ້ອງ"</string> - <string name="accessibility_phone_button" msgid="6738112589538563574">"ໂທລະສັບ"</string> <string name="accessibility_ime_switch_button" msgid="5032926134740456424">"ປຸ່ມສະລັບຮູບແບບການປ້ອນຂໍ້ມູນ."</string> <string name="accessibility_compatibility_zoom_button" msgid="8461115318742350699">"ປຸ່ມຊູມທີ່ໃຊ້ຮ່ວມກັນໄດ້."</string> <string name="accessibility_compatibility_zoom_example" msgid="4220687294564945780">"ຊູມຈໍນ້ອຍໄປເປັນຈໍຂະຫນາດໃຫຍ່."</string> @@ -205,22 +204,8 @@ <string name="quick_settings_inversion_label" msgid="1666358784283020762">"ໂໝດສະລັບສີ"</string> <string name="quick_settings_contrast_label" msgid="3319507551689108692">"ໂໝດຄວາມຕ່າງແສງ"</string> <string name="quick_settings_color_space_label" msgid="853443689745584770">"ໂໝດການແກ້ໄຂສີ"</string> - <string name="recents_empty_message" msgid="2269156590813544104">"ບໍ່ດົນມານີ້"</string> - <string name="recents_app_info_button_label" msgid="2890317189376000030">"ຂໍ້ມູນແອັບພລິເຄຊັນ"</string> - <string name="recents_search_bar_label" msgid="8074997400187836677">"ຊອກຫາ"</string> <string name="ssl_ca_cert_warning" msgid="9005954106902053641">"ເຄືອຄ່າຍອາດ\nຖືກຕິດຕາມ"</string> <string name="description_target_search" msgid="3091587249776033139">"ຊອກຫາ"</string> <string name="description_direction_up" msgid="7169032478259485180">"ເລື່ອນຂຶ້ນເພື່ອ <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> <string name="description_direction_left" msgid="7207478719805562165">"ເລື່ອນໄປທາງຊ້າຍເພື່ອ <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <plurals name="zen_mode_notification_title"> - <item quantity="one" msgid="7809876956258040354">"ເຊື່ອງການແຈ້ງເຕືອນແລ້ວ"</item> - <item quantity="other" msgid="7388721375827338153">"ເຊື່ອງ %d ການແຈ້ງເຕືອນແລ້ວ"</item> - </plurals> - <string name="zen_mode_notification_text" msgid="8336623711388065713">"ແຕະເພື່ອສະແດງ"</string> - <string name="zen_mode_title" msgid="8793432092004749188">"ຫ້າມລົບກວນ"</string> - <plurals name="keyguard_more_overflow_text"> - <item quantity="other" msgid="9180696159506883684">"%d ເພີ່ມເຕີມ"</item> - </plurals> - <string name="notification_tap_again" msgid="7590196980943943842">"ແຕະອີກຄັ້ງເພື່ອເປີດ"</string> - <string name="keyguard_unlock" msgid="8043466894212841998">"ເລື່ອນຂຶ້ນເພື່ອປົດລັອກ"</string> </resources> diff --git a/packages/SystemUI/res/values-lt/strings.xml b/packages/SystemUI/res/values-lt/strings.xml index b160a5a..3fe74b3 100644 --- a/packages/SystemUI/res/values-lt/strings.xml +++ b/packages/SystemUI/res/values-lt/strings.xml @@ -69,7 +69,7 @@ <string name="screenshot_failed_title" msgid="705781116746922771">"Nepavyko užfiksuoti ekrano kopijos."</string> <string name="screenshot_failed_text" msgid="8134011269572415402">"Nepavyko išsaugoti ekrano kopijos. Gali būti naudojama atmintis."</string> <string name="usb_preference_title" msgid="6551050377388882787">"USB failo perdavimo parinktys"</string> - <string name="use_mtp_button_title" msgid="4333504413563023626">"Įmontuoti kaip medijos leistuvę (MTP)"</string> + <string name="use_mtp_button_title" msgid="4333504413563023626">"Įmontuoti kaip medijos grotuvą (MTP)"</string> <string name="use_ptp_button_title" msgid="7517127540301625751">"Įmontuoti kaip fotoaparatą (PTP)"</string> <string name="installer_cd_button_title" msgid="2312667578562201583">"Įdiegti „Mac“ skirtą „Android“ perkėl. priem. pr."</string> <string name="accessibility_back" msgid="567011538994429120">"Atgal"</string> @@ -78,7 +78,6 @@ <string name="accessibility_recent" msgid="8571350598987952883">"Naujausios programos"</string> <string name="accessibility_search_light" msgid="1103867596330271848">"Ieškoti"</string> <string name="accessibility_camera_button" msgid="8064671582820358152">"Fotoaparatas"</string> - <string name="accessibility_phone_button" msgid="6738112589538563574">"Telefonas"</string> <string name="accessibility_ime_switch_button" msgid="5032926134740456424">"Perjungti įvesties metodo mygtuką."</string> <string name="accessibility_compatibility_zoom_button" msgid="8461115318742350699">"Suderinamumo priartinimo mygtukas."</string> <string name="accessibility_compatibility_zoom_example" msgid="4220687294564945780">"Padidinti ekraną."</string> @@ -205,22 +204,8 @@ <string name="quick_settings_inversion_label" msgid="1666358784283020762">"Spalvų inversijos režimas"</string> <string name="quick_settings_contrast_label" msgid="3319507551689108692">"Patobulinto kontrasto režimas"</string> <string name="quick_settings_color_space_label" msgid="853443689745584770">"Spalvų taisymo režimas"</string> - <string name="recents_empty_message" msgid="2269156590813544104">"PASTARIEJI"</string> - <string name="recents_app_info_button_label" msgid="2890317189376000030">"Programos informacija"</string> - <string name="recents_search_bar_label" msgid="8074997400187836677">"paieška"</string> <string name="ssl_ca_cert_warning" msgid="9005954106902053641">"Tinklas gali\nbūti stebimas"</string> <string name="description_target_search" msgid="3091587249776033139">"Paieška"</string> <string name="description_direction_up" msgid="7169032478259485180">"Slyskite aukštyn link <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> <string name="description_direction_left" msgid="7207478719805562165">"Slyskite į kairę link <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <plurals name="zen_mode_notification_title"> - <item quantity="one" msgid="7809876956258040354">"Pranešimas paslėptas"</item> - <item quantity="other" msgid="7388721375827338153">"Paslėpta pranešimų: %d"</item> - </plurals> - <string name="zen_mode_notification_text" msgid="8336623711388065713">"Palieskite, kad būtų rodoma"</string> - <string name="zen_mode_title" msgid="8793432092004749188">"Netrukdyti"</string> - <plurals name="keyguard_more_overflow_text"> - <item quantity="other" msgid="9180696159506883684">"Dar %d"</item> - </plurals> - <string name="notification_tap_again" msgid="7590196980943943842">"Palieskite dar kartą, kad atidarytumėte"</string> - <string name="keyguard_unlock" msgid="8043466894212841998">"Perbraukite aukštyn, kad atrakintumėte"</string> </resources> diff --git a/packages/SystemUI/res/values-lv/strings.xml b/packages/SystemUI/res/values-lv/strings.xml index 04571e7..4230b2e 100644 --- a/packages/SystemUI/res/values-lv/strings.xml +++ b/packages/SystemUI/res/values-lv/strings.xml @@ -78,7 +78,6 @@ <string name="accessibility_recent" msgid="8571350598987952883">"Nesen izmantotās lietotnes"</string> <string name="accessibility_search_light" msgid="1103867596330271848">"Meklēt"</string> <string name="accessibility_camera_button" msgid="8064671582820358152">"Kamera"</string> - <string name="accessibility_phone_button" msgid="6738112589538563574">"Tālruņa numurs"</string> <string name="accessibility_ime_switch_button" msgid="5032926134740456424">"Ievades metodes maiņas poga."</string> <string name="accessibility_compatibility_zoom_button" msgid="8461115318742350699">"Saderības tālummaiņas poga."</string> <string name="accessibility_compatibility_zoom_example" msgid="4220687294564945780">"Veikt tālummaiņu no mazāka ekrāna uz lielāku."</string> @@ -205,22 +204,8 @@ <string name="quick_settings_inversion_label" msgid="1666358784283020762">"Krāsu inversijas režīms"</string> <string name="quick_settings_contrast_label" msgid="3319507551689108692">"Uzlabota kontrasta režīms"</string> <string name="quick_settings_color_space_label" msgid="853443689745584770">"Krāsu korekcijas režīms"</string> - <string name="recents_empty_message" msgid="2269156590813544104">"JAUNĀKIE"</string> - <string name="recents_app_info_button_label" msgid="2890317189376000030">"Informācija par lietojumprogrammu"</string> - <string name="recents_search_bar_label" msgid="8074997400187836677">"Meklēt"</string> <string name="ssl_ca_cert_warning" msgid="9005954106902053641">"Tīkls var\ntikt uzraudzīts"</string> <string name="description_target_search" msgid="3091587249776033139">"Meklēt"</string> <string name="description_direction_up" msgid="7169032478259485180">"Velciet uz augšu, lai veiktu šādu darbību: <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> <string name="description_direction_left" msgid="7207478719805562165">"Velciet pa kreisi, lai veiktu šādu darbību: <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <plurals name="zen_mode_notification_title"> - <item quantity="one" msgid="7809876956258040354">"Paziņojums paslēpts"</item> - <item quantity="other" msgid="7388721375827338153">"%d paziņojumi paslēpti"</item> - </plurals> - <string name="zen_mode_notification_text" msgid="8336623711388065713">"Pieskarieties, lai rādītu"</string> - <string name="zen_mode_title" msgid="8793432092004749188">"Netraucēt"</string> - <plurals name="keyguard_more_overflow_text"> - <item quantity="other" msgid="9180696159506883684">"vēl %d"</item> - </plurals> - <string name="notification_tap_again" msgid="7590196980943943842">"Pieskarieties vēlreiz, lai atvērtu"</string> - <string name="keyguard_unlock" msgid="8043466894212841998">"Velciet uz augšu, lai atbloķētu"</string> </resources> diff --git a/packages/SystemUI/res/values-nb/strings.xml b/packages/SystemUI/res/values-nb/strings.xml index 9fa68b9..12deaef 100644 --- a/packages/SystemUI/res/values-nb/strings.xml +++ b/packages/SystemUI/res/values-nb/strings.xml @@ -78,7 +78,6 @@ <string name="accessibility_recent" msgid="8571350598987952883">"Nylige apper"</string> <string name="accessibility_search_light" msgid="1103867596330271848">"Søk"</string> <string name="accessibility_camera_button" msgid="8064671582820358152">"Kamera"</string> - <string name="accessibility_phone_button" msgid="6738112589538563574">"Telefonnummer"</string> <string name="accessibility_ime_switch_button" msgid="5032926134740456424">"Bytt knapp for inndatametode."</string> <string name="accessibility_compatibility_zoom_button" msgid="8461115318742350699">"Zoomknapp for kompatibilitet."</string> <string name="accessibility_compatibility_zoom_example" msgid="4220687294564945780">"Zoom fra mindre til større skjerm."</string> @@ -205,22 +204,8 @@ <string name="quick_settings_inversion_label" msgid="1666358784283020762">"Modus for fargeinvertering"</string> <string name="quick_settings_contrast_label" msgid="3319507551689108692">"Forbedret kontrastmodus"</string> <string name="quick_settings_color_space_label" msgid="853443689745584770">"Modus for fargekorrigering"</string> - <string name="recents_empty_message" msgid="2269156590813544104">"NYLIGE"</string> - <string name="recents_app_info_button_label" msgid="2890317189376000030">"Appinformasjon"</string> - <string name="recents_search_bar_label" msgid="8074997400187836677">"Søk"</string> <string name="ssl_ca_cert_warning" msgid="9005954106902053641">"Nettverket kan\nvære overvåket"</string> <string name="description_target_search" msgid="3091587249776033139">"Søk"</string> <string name="description_direction_up" msgid="7169032478259485180">"Dra opp for å <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> <string name="description_direction_left" msgid="7207478719805562165">"Dra til venstre for å <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <plurals name="zen_mode_notification_title"> - <item quantity="one" msgid="7809876956258040354">"Varselet er skjult"</item> - <item quantity="other" msgid="7388721375827338153">"%d varsler er skjult"</item> - </plurals> - <string name="zen_mode_notification_text" msgid="8336623711388065713">"Trykk for å vise"</string> - <string name="zen_mode_title" msgid="8793432092004749188">"Ikke forstyrr"</string> - <plurals name="keyguard_more_overflow_text"> - <item quantity="other" msgid="9180696159506883684">"%d til"</item> - </plurals> - <string name="notification_tap_again" msgid="7590196980943943842">"Trykk på nytt for å åpne"</string> - <string name="keyguard_unlock" msgid="8043466894212841998">"Sveip oppover for å låse opp"</string> </resources> diff --git a/packages/SystemUI/res/values-nl/strings.xml b/packages/SystemUI/res/values-nl/strings.xml index 8cf16bf..59c64b5 100644 --- a/packages/SystemUI/res/values-nl/strings.xml +++ b/packages/SystemUI/res/values-nl/strings.xml @@ -78,7 +78,6 @@ <string name="accessibility_recent" msgid="8571350598987952883">"Recente apps"</string> <string name="accessibility_search_light" msgid="1103867596330271848">"Zoeken"</string> <string name="accessibility_camera_button" msgid="8064671582820358152">"Camera"</string> - <string name="accessibility_phone_button" msgid="6738112589538563574">"Telefoon"</string> <string name="accessibility_ime_switch_button" msgid="5032926134740456424">"Knop voor wijzigen invoermethode."</string> <string name="accessibility_compatibility_zoom_button" msgid="8461115318742350699">"Knop voor compatibiliteitszoom."</string> <string name="accessibility_compatibility_zoom_example" msgid="4220687294564945780">"Kleiner scherm uitzoomen naar groter scherm."</string> @@ -205,22 +204,8 @@ <string name="quick_settings_inversion_label" msgid="1666358784283020762">"Modus voor kleurinversie"</string> <string name="quick_settings_contrast_label" msgid="3319507551689108692">"Modus voor verbeterd contrast"</string> <string name="quick_settings_color_space_label" msgid="853443689745584770">"Modus voor kleurcorrectie"</string> - <string name="recents_empty_message" msgid="2269156590813544104">"RECENTE"</string> - <string name="recents_app_info_button_label" msgid="2890317189376000030">"App-informatie"</string> - <string name="recents_search_bar_label" msgid="8074997400187836677">"zoeken"</string> <string name="ssl_ca_cert_warning" msgid="9005954106902053641">"Netwerk kan\nworden gecontroleerd"</string> <string name="description_target_search" msgid="3091587249776033139">"Zoeken"</string> <string name="description_direction_up" msgid="7169032478259485180">"Veeg omhoog voor <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> <string name="description_direction_left" msgid="7207478719805562165">"Veeg naar links voor <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <plurals name="zen_mode_notification_title"> - <item quantity="one" msgid="7809876956258040354">"Melding verborgen"</item> - <item quantity="other" msgid="7388721375827338153">"%d meldingen verborgen"</item> - </plurals> - <string name="zen_mode_notification_text" msgid="8336623711388065713">"Raak aan om weer te geven"</string> - <string name="zen_mode_title" msgid="8793432092004749188">"Niet storen"</string> - <plurals name="keyguard_more_overflow_text"> - <item quantity="other" msgid="9180696159506883684">"Nog %d"</item> - </plurals> - <string name="notification_tap_again" msgid="7590196980943943842">"Tik nogmaals om te openen"</string> - <string name="keyguard_unlock" msgid="8043466894212841998">"Veeg omhoog om te ontgrendelen"</string> </resources> diff --git a/packages/SystemUI/res/values-pt-rPT/strings.xml b/packages/SystemUI/res/values-pt-rPT/strings.xml index 11843b6..fc25ea8 100644 --- a/packages/SystemUI/res/values-pt-rPT/strings.xml +++ b/packages/SystemUI/res/values-pt-rPT/strings.xml @@ -78,7 +78,6 @@ <string name="accessibility_recent" msgid="8571350598987952883">"Aplicações recentes"</string> <string name="accessibility_search_light" msgid="1103867596330271848">"Pesquisar"</string> <string name="accessibility_camera_button" msgid="8064671582820358152">"Câmara"</string> - <string name="accessibility_phone_button" msgid="6738112589538563574">"Telemóvel"</string> <string name="accessibility_ime_switch_button" msgid="5032926134740456424">"Alternar botão de método de introdução."</string> <string name="accessibility_compatibility_zoom_button" msgid="8461115318742350699">"Botão zoom de compatibilidade."</string> <string name="accessibility_compatibility_zoom_example" msgid="4220687294564945780">"Zoom menor para ecrã maior."</string> @@ -205,22 +204,8 @@ <string name="quick_settings_inversion_label" msgid="1666358784283020762">"Modo de inversão de cor"</string> <string name="quick_settings_contrast_label" msgid="3319507551689108692">"Modo de contraste melhorado"</string> <string name="quick_settings_color_space_label" msgid="853443689745584770">"Modo de correção de cor"</string> - <string name="recents_empty_message" msgid="2269156590813544104">"RECENTES"</string> - <string name="recents_app_info_button_label" msgid="2890317189376000030">"Informações da aplicação"</string> - <string name="recents_search_bar_label" msgid="8074997400187836677">"pesquisar"</string> <string name="ssl_ca_cert_warning" msgid="9005954106902053641">"A rede pode ser\nmonitorizada"</string> <string name="description_target_search" msgid="3091587249776033139">"Pesquisar"</string> <string name="description_direction_up" msgid="7169032478259485180">"Deslize para cima para <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> ."</string> <string name="description_direction_left" msgid="7207478719805562165">"Deslize para a esquerda para <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> ."</string> - <plurals name="zen_mode_notification_title"> - <item quantity="one" msgid="7809876956258040354">"Notificação oculta"</item> - <item quantity="other" msgid="7388721375827338153">"%d notificações ocultas"</item> - </plurals> - <string name="zen_mode_notification_text" msgid="8336623711388065713">"Toque para mostrar"</string> - <string name="zen_mode_title" msgid="8793432092004749188">"Não incomodar"</string> - <plurals name="keyguard_more_overflow_text"> - <item quantity="other" msgid="9180696159506883684">"Mais %d"</item> - </plurals> - <string name="notification_tap_again" msgid="7590196980943943842">"Toque novamente para abrir"</string> - <string name="keyguard_unlock" msgid="8043466894212841998">"Deslizar rapidamente com o dedo para cima para desbloquear"</string> </resources> diff --git a/packages/SystemUI/res/values-rm/strings.xml b/packages/SystemUI/res/values-rm/strings.xml index 9f82651..adf54bc 100644 --- a/packages/SystemUI/res/values-rm/strings.xml +++ b/packages/SystemUI/res/values-rm/strings.xml @@ -126,8 +126,6 @@ <skip /> <!-- no translation found for accessibility_camera_button (8064671582820358152) --> <skip /> - <!-- no translation found for accessibility_phone_button (6738112589538563574) --> - <skip /> <!-- no translation found for accessibility_ime_switch_button (5032926134740456424) --> <skip /> <!-- no translation found for accessibility_compatibility_zoom_button (8461115318742350699) --> @@ -380,12 +378,6 @@ <skip /> <!-- no translation found for quick_settings_color_space_label (853443689745584770) --> <skip /> - <!-- no translation found for recents_empty_message (2269156590813544104) --> - <skip /> - <!-- no translation found for recents_app_info_button_label (2890317189376000030) --> - <skip /> - <!-- no translation found for recents_search_bar_label (8074997400187836677) --> - <skip /> <!-- no translation found for ssl_ca_cert_warning (9005954106902053641) --> <skip /> <!-- no translation found for description_target_search (3091587249776033139) --> @@ -394,15 +386,4 @@ <skip /> <!-- no translation found for description_direction_left (7207478719805562165) --> <skip /> - <!-- no translation found for zen_mode_notification_title:one (7809876956258040354) --> - <!-- no translation found for zen_mode_notification_title:other (7388721375827338153) --> - <!-- no translation found for zen_mode_notification_text (8336623711388065713) --> - <skip /> - <!-- no translation found for zen_mode_title (8793432092004749188) --> - <skip /> - <!-- no translation found for keyguard_more_overflow_text:other (9180696159506883684) --> - <!-- no translation found for notification_tap_again (7590196980943943842) --> - <skip /> - <!-- no translation found for keyguard_unlock (8043466894212841998) --> - <skip /> </resources> diff --git a/packages/SystemUI/res/values-sl/strings.xml b/packages/SystemUI/res/values-sl/strings.xml index 48d7727..a5b3244 100644 --- a/packages/SystemUI/res/values-sl/strings.xml +++ b/packages/SystemUI/res/values-sl/strings.xml @@ -78,7 +78,6 @@ <string name="accessibility_recent" msgid="8571350598987952883">"Nedavni programi"</string> <string name="accessibility_search_light" msgid="1103867596330271848">"Iskanje"</string> <string name="accessibility_camera_button" msgid="8064671582820358152">"Fotoaparat"</string> - <string name="accessibility_phone_button" msgid="6738112589538563574">"Telefon"</string> <string name="accessibility_ime_switch_button" msgid="5032926134740456424">"Gumb za preklop načina vnosa."</string> <string name="accessibility_compatibility_zoom_button" msgid="8461115318742350699">"Gumb povečave za združljivost."</string> <string name="accessibility_compatibility_zoom_example" msgid="4220687294564945780">"Povečava manjšega na večji zaslon."</string> @@ -184,7 +183,7 @@ <string name="quick_settings_brightness_label" msgid="6968372297018755815">"Svetlost"</string> <string name="quick_settings_rotation_unlocked_label" msgid="336054930362580584">"Samodejno vrtenje"</string> <string name="quick_settings_rotation_locked_label" msgid="8058646447242565486">"Zaklenjeno vrtenje"</string> - <string name="quick_settings_rotation_locked_portrait_label" msgid="1553131290066230775">"Zaklenjeno na pokončno postavitev"</string> + <string name="quick_settings_rotation_locked_portrait_label" msgid="1553131290066230775">"Zaklenjeno na navpično postavitev"</string> <string name="quick_settings_rotation_locked_landscape_label" msgid="7216265671276086593">"Zaklenjeno na ležečo postavitev"</string> <string name="quick_settings_ime_label" msgid="7073463064369468429">"Način vnosa"</string> <string name="quick_settings_location_label" msgid="5011327048748762257">"Lokacija"</string> @@ -205,22 +204,8 @@ <string name="quick_settings_inversion_label" msgid="1666358784283020762">"Način inverzije barv"</string> <string name="quick_settings_contrast_label" msgid="3319507551689108692">"Način izboljšanega kontrasta"</string> <string name="quick_settings_color_space_label" msgid="853443689745584770">"Način popravljanja barv"</string> - <string name="recents_empty_message" msgid="2269156590813544104">"NEDAVNI"</string> - <string name="recents_app_info_button_label" msgid="2890317189376000030">"Podatki o aplikaciji"</string> - <string name="recents_search_bar_label" msgid="8074997400187836677">"iskanje"</string> <string name="ssl_ca_cert_warning" msgid="9005954106902053641">"Omrežje je\nlahko spremljano"</string> <string name="description_target_search" msgid="3091587249776033139">"Iskanje"</string> <string name="description_direction_up" msgid="7169032478259485180">"Povlecite navzgor za <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> <string name="description_direction_left" msgid="7207478719805562165">"Povlecite v levo za <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> ."</string> - <plurals name="zen_mode_notification_title"> - <item quantity="one" msgid="7809876956258040354">"Obvestilo je skrito"</item> - <item quantity="other" msgid="7388721375827338153">"Skritih je toliko obvestil: %d"</item> - </plurals> - <string name="zen_mode_notification_text" msgid="8336623711388065713">"Dotaknite se za prikaz"</string> - <string name="zen_mode_title" msgid="8793432092004749188">"Ne moti"</string> - <plurals name="keyguard_more_overflow_text"> - <item quantity="other" msgid="9180696159506883684">"še %d"</item> - </plurals> - <string name="notification_tap_again" msgid="7590196980943943842">"Znova se dotaknite, da odprete"</string> - <string name="keyguard_unlock" msgid="8043466894212841998">"Povlecite, da odklenete"</string> </resources> diff --git a/packages/SystemUI/res/values-sr/strings.xml b/packages/SystemUI/res/values-sr/strings.xml index dba27a1..0bdccee 100644 --- a/packages/SystemUI/res/values-sr/strings.xml +++ b/packages/SystemUI/res/values-sr/strings.xml @@ -78,7 +78,6 @@ <string name="accessibility_recent" msgid="8571350598987952883">"Недавне апликације"</string> <string name="accessibility_search_light" msgid="1103867596330271848">"Претражите"</string> <string name="accessibility_camera_button" msgid="8064671582820358152">"Камера"</string> - <string name="accessibility_phone_button" msgid="6738112589538563574">"Телефон"</string> <string name="accessibility_ime_switch_button" msgid="5032926134740456424">"Дугме Промени метод уноса."</string> <string name="accessibility_compatibility_zoom_button" msgid="8461115318742350699">"Дугме Зум компатибилности."</string> <string name="accessibility_compatibility_zoom_example" msgid="4220687294564945780">"Зумирање са мањег на већи екран."</string> @@ -205,22 +204,8 @@ <string name="quick_settings_inversion_label" msgid="1666358784283020762">"Режим инверзије боје"</string> <string name="quick_settings_contrast_label" msgid="3319507551689108692">"Режим унапређеног контраста"</string> <string name="quick_settings_color_space_label" msgid="853443689745584770">"Режим корекције боје"</string> - <string name="recents_empty_message" msgid="2269156590813544104">"НАЈНОВИЈЕ"</string> - <string name="recents_app_info_button_label" msgid="2890317189376000030">"Информације о апликацији"</string> - <string name="recents_search_bar_label" msgid="8074997400187836677">"претражи"</string> <string name="ssl_ca_cert_warning" msgid="9005954106902053641">"Мрежа се можда\nнадгледа"</string> <string name="description_target_search" msgid="3091587249776033139">"Претрага"</string> <string name="description_direction_up" msgid="7169032478259485180">"Превуците нагоре за <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> <string name="description_direction_left" msgid="7207478719805562165">"Превуците улево за <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <plurals name="zen_mode_notification_title"> - <item quantity="one" msgid="7809876956258040354">"Обавештење је сакривено"</item> - <item quantity="other" msgid="7388721375827338153">"Сакривена обавештења: %d"</item> - </plurals> - <string name="zen_mode_notification_text" msgid="8336623711388065713">"Додирните за приказ"</string> - <string name="zen_mode_title" msgid="8793432092004749188">"Не узнемиравај"</string> - <plurals name="keyguard_more_overflow_text"> - <item quantity="other" msgid="9180696159506883684">"Још %d"</item> - </plurals> - <string name="notification_tap_again" msgid="7590196980943943842">"Додирните поново да бисте отворили"</string> - <string name="keyguard_unlock" msgid="8043466894212841998">"Превуците нагоре да бисте откључали"</string> </resources> diff --git a/packages/SystemUI/res/values-sv/strings.xml b/packages/SystemUI/res/values-sv/strings.xml index 0d58ed3..efe7fcb 100644 --- a/packages/SystemUI/res/values-sv/strings.xml +++ b/packages/SystemUI/res/values-sv/strings.xml @@ -78,7 +78,6 @@ <string name="accessibility_recent" msgid="8571350598987952883">"Senaste apparna"</string> <string name="accessibility_search_light" msgid="1103867596330271848">"Sök"</string> <string name="accessibility_camera_button" msgid="8064671582820358152">"Kamera"</string> - <string name="accessibility_phone_button" msgid="6738112589538563574">"Mobil"</string> <string name="accessibility_ime_switch_button" msgid="5032926134740456424">"Knapp för byte av inmatningsmetod."</string> <string name="accessibility_compatibility_zoom_button" msgid="8461115318742350699">"Knapp för kompatibilitetszoom."</string> <string name="accessibility_compatibility_zoom_example" msgid="4220687294564945780">"Zooma mindre skärm till större."</string> @@ -205,22 +204,8 @@ <string name="quick_settings_inversion_label" msgid="1666358784283020762">"Färginverteringsläge"</string> <string name="quick_settings_contrast_label" msgid="3319507551689108692">"Kontrastförbättringsläge"</string> <string name="quick_settings_color_space_label" msgid="853443689745584770">"Färgkorrigeringsläge"</string> - <string name="recents_empty_message" msgid="2269156590813544104">"NYA"</string> - <string name="recents_app_info_button_label" msgid="2890317189376000030">"Appinformation"</string> - <string name="recents_search_bar_label" msgid="8074997400187836677">"sök"</string> <string name="ssl_ca_cert_warning" msgid="9005954106902053641">"Nätverket kan\nvara övervakat"</string> <string name="description_target_search" msgid="3091587249776033139">"Sök"</string> <string name="description_direction_up" msgid="7169032478259485180">"Dra uppåt för <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> ."</string> <string name="description_direction_left" msgid="7207478719805562165">"Dra åt vänster för <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> ."</string> - <plurals name="zen_mode_notification_title"> - <item quantity="one" msgid="7809876956258040354">"Aviseringen har dolts"</item> - <item quantity="other" msgid="7388721375827338153">"%d aviseringar har dolts"</item> - </plurals> - <string name="zen_mode_notification_text" msgid="8336623711388065713">"Tryck här om du vill visa aviseringar"</string> - <string name="zen_mode_title" msgid="8793432092004749188">"Stör ej"</string> - <plurals name="keyguard_more_overflow_text"> - <item quantity="other" msgid="9180696159506883684">"%d till"</item> - </plurals> - <string name="notification_tap_again" msgid="7590196980943943842">"Tryck igen för att öppna"</string> - <string name="keyguard_unlock" msgid="8043466894212841998">"Dra uppåt om du vill låsa upp"</string> </resources> diff --git a/packages/SystemUI/res/values-sw600dp-land/values-land-sw600dp/dimens.xml b/packages/SystemUI/res/values-sw600dp-land/dimens.xml index e440de1..b510fef 100644 --- a/packages/SystemUI/res/values-sw600dp-land/values-land-sw600dp/dimens.xml +++ b/packages/SystemUI/res/values-sw600dp-land/dimens.xml @@ -18,4 +18,7 @@ <resources> <!-- Recent Applications parameters --> <dimen name="status_bar_recents_app_label_width">190dip</dimen> + + <fraction name="keyguard_clock_y_fraction_max">37%</fraction> + <fraction name="keyguard_clock_y_fraction_min">14%</fraction> </resources> diff --git a/packages/SystemUI/res/values-sw600dp/dimens.xml b/packages/SystemUI/res/values-sw600dp/dimens.xml index 7372181..22815f3 100644 --- a/packages/SystemUI/res/values-sw600dp/dimens.xml +++ b/packages/SystemUI/res/values-sw600dp/dimens.xml @@ -48,4 +48,15 @@ <!-- Width of the zen mode interstitial dialog. --> <dimen name="zen_mode_dialog_width">384dp</dimen> + + <!-- The fraction of the screen height where the clock on the Keyguard has its center. The + max value is used when no notifications are displaying, and the min value is when the + highest possible number of notifications are showing. --> + <fraction name="keyguard_clock_y_fraction_max">34%</fraction> + <fraction name="keyguard_clock_y_fraction_min">25%</fraction> + + <!-- The margin between the clock and the notifications on Keyguard. See + keyguard_clock_height_fraction_* for the difference between min and max.--> + <dimen name="keyguard_clock_notifications_margin_min">32dp</dimen> + <dimen name="keyguard_clock_notifications_margin_max">32dp</dimen> </resources> diff --git a/packages/SystemUI/res/values-sw720dp-land/dimens.xml b/packages/SystemUI/res/values-sw720dp-land/dimens.xml new file mode 100644 index 0000000..2532dd6 --- /dev/null +++ b/packages/SystemUI/res/values-sw720dp-land/dimens.xml @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + ~ Copyright (C) 2014 The Android Open Source Project + ~ + ~ Licensed under the Apache License, Version 2.0 (the "License"); + ~ you may not use this file except in compliance with the License. + ~ You may obtain a copy of the License at + ~ + ~ http://www.apache.org/licenses/LICENSE-2.0 + ~ + ~ Unless required by applicable law or agreed to in writing, software + ~ distributed under the License is distributed on an "AS IS" BASIS, + ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + ~ See the License for the specific language governing permissions and + ~ limitations under the License + --> +<resources> + <!-- The fraction of the screen height where the clock on the Keyguard has its center. The + min value is used when no notifications are displaying, and the max value is when the + highest possible number of notifications are showing. --> + <fraction name="keyguard_clock_y_fraction_max">35%</fraction> + <fraction name="keyguard_clock_y_fraction_min">20%</fraction> +</resources> diff --git a/packages/SystemUI/res/values-sw720dp/config.xml b/packages/SystemUI/res/values-sw720dp/config.xml index 7cf711a..d8bb8d7d 100644 --- a/packages/SystemUI/res/values-sw720dp/config.xml +++ b/packages/SystemUI/res/values-sw720dp/config.xml @@ -35,5 +35,9 @@ <!-- Transposes the search bar layout in landscape --> <bool name="recents_transpose_search_layout_with_orientation">false</bool> + + <!-- The maximum count of notifications on Keyguard. The rest will be collapsed in an overflow + card. --> + <integer name="keyguard_max_notification_count">5</integer> </resources> diff --git a/packages/SystemUI/res/values-sw720dp/dimens.xml b/packages/SystemUI/res/values-sw720dp/dimens.xml index a1c5b66..7695b12 100644 --- a/packages/SystemUI/res/values-sw720dp/dimens.xml +++ b/packages/SystemUI/res/values-sw720dp/dimens.xml @@ -65,5 +65,11 @@ <!-- Where to place the app icon over the thumbnail --> <dimen name="status_bar_recents_app_icon_left_margin">0dp</dimen> <dimen name="status_bar_recents_app_icon_top_margin">8dp</dimen> + + <!-- The fraction of the screen height where the clock on the Keyguard has its center. The + max value is used when no notifications are displaying, and the min value is when the + highest possible number of notifications are showing. --> + <fraction name="keyguard_clock_y_fraction_max">35%</fraction> + <fraction name="keyguard_clock_y_fraction_min">25%</fraction> </resources> diff --git a/packages/SystemUI/res/values-uk/strings.xml b/packages/SystemUI/res/values-uk/strings.xml index a5284ae..3a474a4 100644 --- a/packages/SystemUI/res/values-uk/strings.xml +++ b/packages/SystemUI/res/values-uk/strings.xml @@ -78,7 +78,6 @@ <string name="accessibility_recent" msgid="8571350598987952883">"Останні програми"</string> <string name="accessibility_search_light" msgid="1103867596330271848">"Пошук"</string> <string name="accessibility_camera_button" msgid="8064671582820358152">"Камера"</string> - <string name="accessibility_phone_button" msgid="6738112589538563574">"Номер телефону"</string> <string name="accessibility_ime_switch_button" msgid="5032926134740456424">"Кнопка перемикання методу введення."</string> <string name="accessibility_compatibility_zoom_button" msgid="8461115318742350699">"Кнопка масштабування сумісності."</string> <string name="accessibility_compatibility_zoom_example" msgid="4220687294564945780">"Збільшення екрана."</string> @@ -205,22 +204,8 @@ <string name="quick_settings_inversion_label" msgid="1666358784283020762">"Режим інверсії кольорів"</string> <string name="quick_settings_contrast_label" msgid="3319507551689108692">"Режим посиленого контрасту"</string> <string name="quick_settings_color_space_label" msgid="853443689745584770">"Режим коригування кольору"</string> - <string name="recents_empty_message" msgid="2269156590813544104">"ОСТАННІ"</string> - <string name="recents_app_info_button_label" msgid="2890317189376000030">"Інформація про додаток"</string> - <string name="recents_search_bar_label" msgid="8074997400187836677">"пошук"</string> <string name="ssl_ca_cert_warning" msgid="9005954106902053641">"Мережа може\nвідстежуватися"</string> <string name="description_target_search" msgid="3091587249776033139">"Пошук"</string> <string name="description_direction_up" msgid="7169032478259485180">"Проведіть пальцем угору, щоб <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> <string name="description_direction_left" msgid="7207478719805562165">"Проведіть пальцем ліворуч, щоб <xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <plurals name="zen_mode_notification_title"> - <item quantity="one" msgid="7809876956258040354">"Сповіщення сховано"</item> - <item quantity="other" msgid="7388721375827338153">"Сховано сповіщень: %d"</item> - </plurals> - <string name="zen_mode_notification_text" msgid="8336623711388065713">"Торкніться, щоб показати"</string> - <string name="zen_mode_title" msgid="8793432092004749188">"Не турбувати"</string> - <plurals name="keyguard_more_overflow_text"> - <item quantity="other" msgid="9180696159506883684">"Ще %d"</item> - </plurals> - <string name="notification_tap_again" msgid="7590196980943943842">"Торкніться знову, щоб відкрити"</string> - <string name="keyguard_unlock" msgid="8043466894212841998">"Проведіть пальцем угору, щоб розблокувати"</string> </resources> diff --git a/packages/SystemUI/res/values-zh-rHK/strings.xml b/packages/SystemUI/res/values-zh-rHK/strings.xml index 9d93094..d229347 100644 --- a/packages/SystemUI/res/values-zh-rHK/strings.xml +++ b/packages/SystemUI/res/values-zh-rHK/strings.xml @@ -78,7 +78,6 @@ <string name="accessibility_recent" msgid="8571350598987952883">"最近使用的應用程式"</string> <string name="accessibility_search_light" msgid="1103867596330271848">"搜尋"</string> <string name="accessibility_camera_button" msgid="8064671582820358152">"相機"</string> - <string name="accessibility_phone_button" msgid="6738112589538563574">"電話"</string> <string name="accessibility_ime_switch_button" msgid="5032926134740456424">"切換輸入法按鈕。"</string> <string name="accessibility_compatibility_zoom_button" msgid="8461115318742350699">"相容性縮放按鈕。"</string> <string name="accessibility_compatibility_zoom_example" msgid="4220687294564945780">"將較小螢幕的畫面放大在較大螢幕上顯示。"</string> @@ -207,22 +206,8 @@ <string name="quick_settings_inversion_label" msgid="1666358784283020762">"色彩反轉模式"</string> <string name="quick_settings_contrast_label" msgid="3319507551689108692">"增強對比模式"</string> <string name="quick_settings_color_space_label" msgid="853443689745584770">"色彩校準模式"</string> - <string name="recents_empty_message" msgid="2269156590813544104">"近期"</string> - <string name="recents_app_info_button_label" msgid="2890317189376000030">"應用程式資料"</string> - <string name="recents_search_bar_label" msgid="8074997400187836677">"搜尋"</string> <string name="ssl_ca_cert_warning" msgid="9005954106902053641">"網絡可能會\n受到監控"</string> <string name="description_target_search" msgid="3091587249776033139">"搜尋"</string> <string name="description_direction_up" msgid="7169032478259485180">"向上滑動即可<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>。"</string> <string name="description_direction_left" msgid="7207478719805562165">"向左滑動即可<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>。"</string> - <plurals name="zen_mode_notification_title"> - <item quantity="one" msgid="7809876956258040354">"已隱藏通知"</item> - <item quantity="other" msgid="7388721375827338153">"已隱藏 %d 則通知"</item> - </plurals> - <string name="zen_mode_notification_text" msgid="8336623711388065713">"輕觸即可顯示"</string> - <string name="zen_mode_title" msgid="8793432092004749188">"請勿騷擾"</string> - <plurals name="keyguard_more_overflow_text"> - <item quantity="other" msgid="9180696159506883684">"還有 %d 個"</item> - </plurals> - <string name="notification_tap_again" msgid="7590196980943943842">"再次輕按即可開啟"</string> - <string name="keyguard_unlock" msgid="8043466894212841998">"向上快速滑動即可解鎖"</string> </resources> diff --git a/packages/SystemUI/res/values-zu/strings.xml b/packages/SystemUI/res/values-zu/strings.xml index 48a1ace..d676b5c 100644 --- a/packages/SystemUI/res/values-zu/strings.xml +++ b/packages/SystemUI/res/values-zu/strings.xml @@ -78,7 +78,6 @@ <string name="accessibility_recent" msgid="8571350598987952883">"Izinhlelo zokusebenza zakamuva"</string> <string name="accessibility_search_light" msgid="1103867596330271848">"Sesha"</string> <string name="accessibility_camera_button" msgid="8064671582820358152">"Ikhamela"</string> - <string name="accessibility_phone_button" msgid="6738112589538563574">"Ifoni"</string> <string name="accessibility_ime_switch_button" msgid="5032926134740456424">"Vula indlela yokungena yenkinobho"</string> <string name="accessibility_compatibility_zoom_button" msgid="8461115318742350699">"Inkinobho evumelekile yokusondeza"</string> <string name="accessibility_compatibility_zoom_example" msgid="4220687294564945780">"Sondeza kancane esikrinini esikhudlwana"</string> @@ -205,22 +204,8 @@ <string name="quick_settings_inversion_label" msgid="1666358784283020762">"Imodi yokuguqulwa kombala"</string> <string name="quick_settings_contrast_label" msgid="3319507551689108692">"Imodi ethuthukisiwe yokugqama"</string> <string name="quick_settings_color_space_label" msgid="853443689745584770">"Imodi yokulungisa umbala"</string> - <string name="recents_empty_message" msgid="2269156590813544104">"OKWAKAMUVA"</string> - <string name="recents_app_info_button_label" msgid="2890317189376000030">"Ulwazi lohlelo lokusebenza"</string> - <string name="recents_search_bar_label" msgid="8074997400187836677">"sesha"</string> <string name="ssl_ca_cert_warning" msgid="9005954106902053641">"Kungenzeka inethiwekhi\niqashiwe"</string> <string name="description_target_search" msgid="3091587249776033139">"Sesha"</string> <string name="description_direction_up" msgid="7169032478259485180">"Shelelisela ngenhla ku-<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> <string name="description_direction_left" msgid="7207478719805562165">"Shelelisela ngakwesokunxele ku-<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g>."</string> - <plurals name="zen_mode_notification_title"> - <item quantity="one" msgid="7809876956258040354">"Isaziso sifihliwe"</item> - <item quantity="other" msgid="7388721375827338153">"%d izaziso zifihliwe"</item> - </plurals> - <string name="zen_mode_notification_text" msgid="8336623711388065713">"Thinta ukuze ubonise"</string> - <string name="zen_mode_title" msgid="8793432092004749188">"Ungaphazamisi"</string> - <plurals name="keyguard_more_overflow_text"> - <item quantity="other" msgid="9180696159506883684">"%d okuningi"</item> - </plurals> - <string name="notification_tap_again" msgid="7590196980943943842">"Thepha futhi ukuze uvule"</string> - <string name="keyguard_unlock" msgid="8043466894212841998">"Swayiphela phezulu ukuze uvule"</string> </resources> diff --git a/packages/SystemUI/res/values/colors.xml b/packages/SystemUI/res/values/colors.xml index 7de1bd0..77b4843 100644 --- a/packages/SystemUI/res/values/colors.xml +++ b/packages/SystemUI/res/values/colors.xml @@ -22,6 +22,7 @@ <drawable name="system_bar_background">@color/system_bar_background_opaque</drawable> <color name="system_bar_background_opaque">#ff000000</color> <color name="system_bar_background_semi_transparent">#66000000</color> <!-- 40% black --> + <color name="system_bar_background_transparent">#00000000</color> <color name="notification_panel_solid_background">#ff000000</color> <drawable name="status_bar_recents_app_thumbnail_background">#88000000</drawable> <color name="status_bar_recents_app_label_color">#ffffffff</color> @@ -40,8 +41,6 @@ <color name="system_secondary_color">#ff384248</color> <color name="system_accent_color">#ff7fcac3</color> <color name="system_error_color">#fff0592b</color> - <color name="quick_settings_tile_icon_enabled">#ffffffff</color> - <color name="quick_settings_tile_icon_disabled">#ffcccccc</color> <color name="quick_settings_tile_divider">#ff888888</color> <color name="quick_settings_tile_text">#FFFFFFFF</color> <color name="status_bar_clock_color">#FFFFFFFF</color> @@ -57,6 +56,18 @@ <!-- Tint color for the content on the notification overflow card. --> <color name="keyguard_overflow_content_color">#ff666666</color> + <!-- The color of the red speed bump dot --> + <color name="speed_bump_dot_red">#ffd50000</color> + + <!-- The color of the blue speed bump dot --> + <color name="speed_bump_dot_blue">#ff2962ff</color> + + <!-- The color of the yellow speed bump dot --> + <color name="speed_bump_dot_yellow">#ffffd600</color> + + <!-- The color of the green speed bump dot --> + <color name="speed_bump_dot_green">#ff00c853</color> + <!-- The default recents task bar background color. --> <color name="recents_task_bar_default_background_color">#e6444444</color> <!-- The default recents task bar text color. --> diff --git a/packages/SystemUI/res/values/dimens.xml b/packages/SystemUI/res/values/dimens.xml index 79612e0..29955dd 100644 --- a/packages/SystemUI/res/values/dimens.xml +++ b/packages/SystemUI/res/values/dimens.xml @@ -82,6 +82,9 @@ <!-- Height of a medium notification in the status bar --> <dimen name="notification_mid_height">128dp</dimen> + <!-- Height of a the summary ("more card") notification on keyguard. --> + <dimen name="notification_summary_height">40dp</dimen> + <!-- size at which Notification icons will be drawn in the status bar --> <dimen name="status_bar_icon_drawing_size">18dip</dimen> @@ -260,6 +263,15 @@ <!-- The padding between the individual notification cards. --> <dimen name="notification_padding">4dp</dimen> + <!-- The height of the collapsed speed bump view. --> + <dimen name="speed_bump_height_collapsed">24dp</dimen> + + <!-- The padding inset the explanation text needs compared to the collapsed height --> + <dimen name="speed_bump_text_padding_inset">10dp</dimen> + + <!-- The height of the speed bump dots. --> + <dimen name="speed_bump_dots_height">5dp</dimen> + <!-- The total height of the stack in its collapsed size (i.e. when quick settings is open) --> <dimen name="collapsed_stack_height">94dp</dimen> @@ -272,7 +284,6 @@ <dimen name="quick_settings_tmp_scrim_stroke_width">8dp</dimen> <dimen name="quick_settings_tmp_scrim_text_size">30dp</dimen> <dimen name="quick_settings_panel_padding">16dp</dimen> - <dimen name="quick_settings_tile_icon_outline">2dp</dimen> <dimen name="quick_settings_tile_text_size">12sp</dimen> <dimen name="quick_settings_tile_divider_height">1dp</dimen> @@ -280,4 +291,16 @@ <!-- Minimum distance the user has to drag down to go to the full shade. --> <dimen name="keyguard_drag_down_min_distance">100dp</dimen> + + <!-- The fraction of the screen height where the clock on the Keyguard has its center. The + max value is used when no notifications are displaying, and the min value is when the + highest possible number of notifications are showing. --> + <fraction name="keyguard_clock_y_fraction_max">29.5%</fraction> + <fraction name="keyguard_clock_y_fraction_min">18%</fraction> + + <!-- The margin between the clock and the notifications on Keyguard. See + keyguard_clock_height_fraction_* for the difference between min and max.--> + <dimen name="keyguard_clock_notifications_margin_min">22dp</dimen> + <dimen name="keyguard_clock_notifications_margin_max">36dp</dimen> + </resources> diff --git a/packages/SystemUI/res/values/strings.xml b/packages/SystemUI/res/values/strings.xml index a50a0ac..f5bc353 100644 --- a/packages/SystemUI/res/values/strings.xml +++ b/packages/SystemUI/res/values/strings.xml @@ -553,9 +553,14 @@ <item quantity="other">%d more</item> </plurals> + <!-- An explanation for the visual speed bump in the notifications, which will appear when you click on it. [CHAR LIMIT=50] --> + <string name="speed_bump_explanation">Less urgent notifications below</string> + <!-- Shows to explain the double tap interaction with notifications: After tapping a notification on Keyguard, this will explain users to tap again to launch a notification. [CHAR LIMIT=60] --> <string name="notification_tap_again">Tap again to open</string> <!-- Shows when people have pressed the unlock icon to explain how to unlock. [CHAR LIMIT=60] --> <string name="keyguard_unlock">Swipe up to unlock</string> + + <string name="bugreport_tile_extended" translatable="false">%s\n%s (%s)</string> </resources> diff --git a/packages/SystemUI/res/values/styles.xml b/packages/SystemUI/res/values/styles.xml index 1273e74..19888a8 100644 --- a/packages/SystemUI/res/values/styles.xml +++ b/packages/SystemUI/res/values/styles.xml @@ -22,8 +22,9 @@ <!-- Alternate Recents theme --> <style name="RecentsTheme" parent="@android:style/Theme.DeviceDefault.Wallpaper.NoTitleBar"> - <item name="android:windowTranslucentStatus">true</item> - <item name="android:windowTranslucentNavigation">true</item> + <item name="android:statusBarColor">@android:color/transparent</item> + <item name="android:navigationBarColor">@android:color/transparent</item> + <item name="android:windowDrawsSystemBarBackgrounds">true</item> <item name="android:windowAnimationStyle">@style/Animation.RecentsActivity</item> </style> @@ -192,4 +193,9 @@ </style> <style name="QSBorderless" parent="@android:style/Widget.Quantum.Button.Borderless" /> + + <style name="QSBorderless.Tiny"> + <item name="android:minHeight">12dip</item> + <item name="android:minWidth">12dip</item> + </style> </resources> diff --git a/packages/SystemUI/src/com/android/systemui/RecentsComponent.java b/packages/SystemUI/src/com/android/systemui/RecentsComponent.java index 323905f..7c85712 100644 --- a/packages/SystemUI/src/com/android/systemui/RecentsComponent.java +++ b/packages/SystemUI/src/com/android/systemui/RecentsComponent.java @@ -20,11 +20,9 @@ import android.view.Display; import android.view.View; public interface RecentsComponent { + void showRecents(boolean triggeredFromAltTab, View statusBarView); + void hideRecents(boolean triggeredFromAltTab); void toggleRecents(Display display, int layoutDirection, View statusBarView); - - void preloadRecentTasksList(); - - void cancelPreloadingRecentTasksList(); - - void closeRecents(); + void preloadRecents(); + void cancelPreloadingRecents(); } diff --git a/packages/SystemUI/src/com/android/systemui/qs/FilterCanvas.java b/packages/SystemUI/src/com/android/systemui/qs/FilterCanvas.java deleted file mode 100644 index 05c8ee3..0000000 --- a/packages/SystemUI/src/com/android/systemui/qs/FilterCanvas.java +++ /dev/null @@ -1,79 +0,0 @@ -/* - * Copyright (C) 2014 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.android.systemui.qs; - -import android.graphics.Canvas; -import android.graphics.Matrix; -import android.graphics.Paint; -import android.graphics.Path; -import android.graphics.Rect; - -/** Canvas that forwards calls to another canvas. Can be subclassed to transform drawing calls. - * Temporary solution to runtime modification of a single drawable shape into two - * enabled & disabled versions. See QSImageView. **/ -public class FilterCanvas extends Canvas { - private final Canvas mCanvas; - - public FilterCanvas(Canvas c) { - mCanvas = c; - } - - @Override - public void drawPath(Path path, Paint paint) { - mCanvas.drawPath(path, paint); - } - - @Override - public int getSaveCount() { - return mCanvas.getSaveCount(); - } - - @Override - public int save() { - return mCanvas.save(); - } - - @Override - public void translate(float dx, float dy) { - mCanvas.translate(dx, dy); - } - - @Override - public boolean clipRect(int left, int top, int right, int bottom) { - return mCanvas.clipRect(left, top, right, bottom); - } - - @Override - public boolean clipRect(Rect rect) { - return mCanvas.clipRect(rect); - } - - @Override - public void concat(Matrix matrix) { - mCanvas.concat(matrix); - } - - @Override - public void restoreToCount(int saveCount) { - mCanvas.restoreToCount(saveCount); - } - - @Override - public void drawRect(Rect r, Paint paint) { - mCanvas.drawRect(r, paint); - } -}
\ No newline at end of file diff --git a/packages/SystemUI/src/com/android/systemui/qs/GlobalSetting.java b/packages/SystemUI/src/com/android/systemui/qs/GlobalSetting.java index 1e15b9f..c169df0 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/GlobalSetting.java +++ b/packages/SystemUI/src/com/android/systemui/qs/GlobalSetting.java @@ -21,10 +21,10 @@ import android.database.ContentObserver; import android.os.Handler; import android.provider.Settings.Global; -import com.android.systemui.statusbar.policy.Disposable; +import com.android.systemui.statusbar.policy.Listenable; /** Helper for managing a global setting. **/ -public abstract class GlobalSetting extends ContentObserver implements Disposable { +public abstract class GlobalSetting extends ContentObserver implements Listenable { private final Context mContext; private final String mSettingName; @@ -34,8 +34,6 @@ public abstract class GlobalSetting extends ContentObserver implements Disposabl super(handler); mContext = context; mSettingName = settingName; - mContext.getContentResolver().registerContentObserver( - Global.getUriFor(mSettingName), false, this); } public int getValue() { @@ -47,8 +45,13 @@ public abstract class GlobalSetting extends ContentObserver implements Disposabl } @Override - public void dispose() { - mContext.getContentResolver().unregisterContentObserver(this); + public void setListening(boolean listening) { + if (listening) { + mContext.getContentResolver().registerContentObserver( + Global.getUriFor(mSettingName), false, this); + } else { + mContext.getContentResolver().unregisterContentObserver(this); + } } @Override diff --git a/packages/SystemUI/src/com/android/systemui/qs/QSImageView.java b/packages/SystemUI/src/com/android/systemui/qs/QSImageView.java deleted file mode 100644 index ed67560..0000000 --- a/packages/SystemUI/src/com/android/systemui/qs/QSImageView.java +++ /dev/null @@ -1,102 +0,0 @@ -/* - * Copyright (C) 2014 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.android.systemui.qs; - -import android.content.Context; -import android.content.res.Resources; -import android.graphics.Canvas; -import android.graphics.Paint; -import android.graphics.Paint.Style; -import android.graphics.Path; -import android.graphics.drawable.Drawable; -import android.graphics.drawable.VectorDrawable; -import android.util.AttributeSet; -import android.widget.ImageView; - -import com.android.systemui.R; - -/** ImageView that performs runtime modification of vector drawables (using FilterCanvas). **/ -public class QSImageView extends ImageView { - - private final int mOutlineWidth; - private final int mColorEnabled; - private final int mColorDisabled; - private FilterCanvas mFilterCanvas; - private Canvas mCanvas; - private boolean mEnabledVersion = true; - private boolean mFilter; - - public QSImageView(Context context) { - this(context, null); - } - - public QSImageView(Context context, AttributeSet attrs) { - super(context, attrs); - final Resources res = context.getResources(); - mOutlineWidth = res.getDimensionPixelSize(R.dimen.quick_settings_tile_icon_outline); - mColorEnabled = res.getColor(R.color.quick_settings_tile_icon_enabled); - mColorDisabled = res.getColor(R.color.quick_settings_tile_icon_disabled); - } - - public void setEnabledVersion(boolean enabledVersion) { - mEnabledVersion = enabledVersion; - invalidate(); - } - - @Override - public void setImageDrawable(Drawable drawable) { - mFilter = drawable instanceof VectorDrawable; - super.setImageDrawable(drawable); - } - - @Override - public void setImageResource(int resId) { - setImageDrawable(mContext.getDrawable(resId)); - } - - @Override - public void draw(Canvas canvas) { - if (mFilter) { - if (canvas != mCanvas) { - mCanvas = canvas; - mFilterCanvas = new QSFilterCanvas(canvas); - } - super.draw(mFilterCanvas); - } else { - super.draw(canvas); - } - } - - private class QSFilterCanvas extends FilterCanvas { - public QSFilterCanvas(Canvas c) { - super(c); - } - - @Override - public void drawPath(Path path, Paint paint) { - if (mEnabledVersion) { - paint.setColor(mColorEnabled); - } else { - paint.setStyle(Style.STROKE); - paint.setStrokeJoin(Paint.Join.ROUND); - paint.setColor(mColorDisabled); - paint.setStrokeWidth(mOutlineWidth); - } - super.drawPath(path, paint); - } - } -} diff --git a/packages/SystemUI/src/com/android/systemui/qs/QSPanel.java b/packages/SystemUI/src/com/android/systemui/qs/QSPanel.java index afb5483..6176eb6 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/QSPanel.java +++ b/packages/SystemUI/src/com/android/systemui/qs/QSPanel.java @@ -80,7 +80,10 @@ public class QSPanel extends ViewGroup { showDetail(false /*show*/, mDetailRecord); } for (TileRecord r : mRecords) { - r.tile.setShown(expanded); + r.tile.setListening(expanded); + if (expanded) { + r.tile.refreshState(); + } } } @@ -125,6 +128,7 @@ public class QSPanel extends ViewGroup { } }; r.tileView.init(click, clickSecondary); + r.tile.refreshState(); mRecords.add(r); addView(r.tileView); @@ -156,24 +160,29 @@ public class QSPanel extends ViewGroup { mCellHeight = (int)(mCellWidth / TILE_ASPECT); mLargeCellWidth = (int)(mCellWidth * LARGE_TILE_FACTOR); mLargeCellHeight = (int)(mCellHeight * LARGE_TILE_FACTOR); - int r = 0; - int c = 0; + int r = -1; + int c = -1; int rows = 0; + boolean rowIsDual = false; for (TileRecord record : mRecords) { if (record.tileView.getVisibility() == GONE) continue; + // wrap to next column if we've reached the max # of columns + // also don't allow dual + single tiles on the same row + if (r == -1 || c == (mColumns - 1) || rowIsDual != record.tile.supportsDualTargets()) { + r++; + c = 0; + rowIsDual = record.tile.supportsDualTargets(); + } else { + c++; + } record.row = r; record.col = c; rows = r + 1; - c++; - if (c == mColumns /*end of normal column*/ || r == 0 && c == 2 /*end of 1st column*/) { - c = 0; - r++; - } } for (TileRecord record : mRecords) { if (record.tileView.getVisibility() == GONE) continue; - record.tileView.setDual(record.row == 0); + record.tileView.setDual(record.tile.supportsDualTargets()); final int cw = record.row == 0 ? mLargeCellWidth : mCellWidth; final int ch = record.row == 0 ? mLargeCellHeight : mCellHeight; record.tileView.measure(exactly(cw), exactly(ch)); diff --git a/packages/SystemUI/src/com/android/systemui/qs/QSTile.java b/packages/SystemUI/src/com/android/systemui/qs/QSTile.java index a2a7bc3..835a5c4 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/QSTile.java +++ b/packages/SystemUI/src/com/android/systemui/qs/QSTile.java @@ -18,7 +18,7 @@ package com.android.systemui.qs; import android.content.Context; import android.content.Intent; -import android.graphics.drawable.VectorDrawable; +import android.graphics.drawable.Drawable; import android.os.Handler; import android.os.Looper; import android.os.Message; @@ -29,7 +29,7 @@ import android.view.ViewGroup; import com.android.systemui.qs.QSTile.State; import com.android.systemui.statusbar.policy.BluetoothController; import com.android.systemui.statusbar.policy.CastController; -import com.android.systemui.statusbar.policy.Disposable; +import com.android.systemui.statusbar.policy.Listenable; import com.android.systemui.statusbar.policy.LocationController; import com.android.systemui.statusbar.policy.NetworkController; import com.android.systemui.statusbar.policy.RotationLockController; @@ -46,8 +46,10 @@ import java.util.Objects; * handleUpdateState. Callbacks affecting state should use refreshState to trigger another * state update pass on tile looper. */ -public abstract class QSTile<TState extends State> implements Disposable { - private final String TAG = "QSTile." + getClass().getSimpleName(); +public abstract class QSTile<TState extends State> implements Listenable { + protected final String TAG = "QSTile." + getClass().getSimpleName(); + protected static final boolean DEBUG = false; + public static final int FEEDBACK_START_DELAY = 400; protected final Host mHost; protected final Context mContext; @@ -68,6 +70,10 @@ public abstract class QSTile<TState extends State> implements Disposable { mHandler = new H(host.getLooper()); } + public boolean supportsDualTargets() { + return false; + } + public Host getHost() { return mHost; } @@ -110,10 +116,6 @@ public abstract class QSTile<TState extends State> implements Disposable { mHandler.obtainMessage(H.USER_SWITCH, newUserId).sendToTarget(); } - public void setShown(boolean shown) { - mHandler.obtainMessage(H.SHOWN, shown ? 1 : 0, 0).sendToTarget(); - } - // call only on tile worker looper private void handleSetCallback(Callback callback) { @@ -125,10 +127,6 @@ public abstract class QSTile<TState extends State> implements Disposable { // optional } - protected void handleShown(boolean shown) { - // optional, discouraged - } - protected void handleRefreshState(Object arg) { handleUpdateState(mTmpState, arg); final boolean changed = mTmpState.copyTo(mState); @@ -160,7 +158,6 @@ public abstract class QSTile<TState extends State> implements Disposable { private static final int REFRESH_STATE = 4; private static final int SHOW_DETAIL = 5; private static final int USER_SWITCH = 6; - private static final int SHOWN = 7; private H(Looper looper) { super(looper); @@ -188,9 +185,6 @@ public abstract class QSTile<TState extends State> implements Disposable { } else if (msg.what == USER_SWITCH) { name = "handleUserSwitch"; handleUserSwitch(msg.arg1); - } else if (msg.what == SHOWN) { - name = "handleShown"; - handleShown(msg.arg1 != 0); } } catch (Throwable t) { final String error = "Error in " + name; @@ -211,7 +205,6 @@ public abstract class QSTile<TState extends State> implements Disposable { void collapsePanels(); Looper getLooper(); Context getContext(); - VectorDrawable getVectorDrawable(int resId); BluetoothController getBluetoothController(); LocationController getLocationController(); RotationLockController getRotationLockController(); @@ -225,7 +218,7 @@ public abstract class QSTile<TState extends State> implements Disposable { public static class State { public boolean visible; public int iconId; - public VectorDrawable icon; + public Drawable icon; public String label; public String contentDescription; diff --git a/packages/SystemUI/src/com/android/systemui/qs/QSTileView.java b/packages/SystemUI/src/com/android/systemui/qs/QSTileView.java index 17a95fb..4cfb636 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/QSTileView.java +++ b/packages/SystemUI/src/com/android/systemui/qs/QSTileView.java @@ -25,9 +25,11 @@ import android.os.Handler; import android.os.Looper; import android.os.Message; import android.util.TypedValue; +import android.view.ContextThemeWrapper; import android.view.Gravity; import android.view.View; import android.view.ViewGroup; +import android.widget.ImageView; import android.widget.ImageView.ScaleType; import android.widget.TextView; @@ -43,9 +45,9 @@ public class QSTileView extends ViewGroup { protected final Context mContext; private final View mIcon; private final View mDivider; - private final TextView mLabel; private final H mHandler = new H(); + private TextView mLabel; private boolean mDual; private OnClickListener mClickPrimary; private OnClickListener mClickSecondary; @@ -55,14 +57,7 @@ public class QSTileView extends ViewGroup { mContext = context; final Resources res = context.getResources(); - mLabel = new TextView(mContext); - mLabel.setId(android.R.id.title); - mLabel.setTextColor(res.getColor(R.color.quick_settings_tile_text)); - mLabel.setGravity(Gravity.CENTER); - mLabel.setTypeface(CONDENSED); - mLabel.setTextSize(TypedValue.COMPLEX_UNIT_PX, - res.getDimensionPixelSize(R.dimen.quick_settings_tile_text_size)); - addView(mLabel); + recreateLabel(); setClipChildren(false); mIcon = createIcon(); @@ -78,8 +73,33 @@ public class QSTileView extends ViewGroup { setBackground(getSelectableBackground()); } + private void recreateLabel() { + CharSequence labelText = null; + if (mLabel != null) { + labelText = mLabel.getText(); + removeView(mLabel); + } + final Resources res = mContext.getResources(); + mLabel = new TextView(mDual ? new ContextThemeWrapper(mContext, R.style.QSBorderless_Tiny) + : mContext); + mLabel.setId(android.R.id.title); + mLabel.setTextColor(res.getColor(R.color.quick_settings_tile_text)); + mLabel.setGravity(Gravity.CENTER); + mLabel.setTypeface(CONDENSED); + mLabel.setTextSize(TypedValue.COMPLEX_UNIT_PX, + res.getDimensionPixelSize(R.dimen.quick_settings_tile_text_size)); + if (labelText != null) { + mLabel.setText(labelText); + } + addView(mLabel); + } + public void setDual(boolean dual) { + final boolean changed = dual != mDual; mDual = dual; + if (changed) { + recreateLabel(); + } if (mDual) { setOnClickListener(mClickPrimary); mLabel.setClickable(true); @@ -98,7 +118,7 @@ public class QSTileView extends ViewGroup { } protected View createIcon() { - QSImageView icon = new QSImageView(mContext); + final ImageView icon = new ImageView(mContext); icon.setId(android.R.id.icon); icon.setScaleType(ScaleType.CENTER_INSIDE); return icon; @@ -120,9 +140,10 @@ public class QSTileView extends ViewGroup { final int iconSpec = exactly((int)mLabel.getTextSize() * 2); mIcon.measure(iconSpec, iconSpec); mLabel.measure(widthMeasureSpec, MeasureSpec.makeMeasureSpec(h, MeasureSpec.AT_MOST)); - mLabel.measure(widthMeasureSpec, exactly(mLabel.getMeasuredHeight() + p * 2)); if (mDual) { mDivider.measure(widthMeasureSpec, exactly(mDivider.getLayoutParams().height)); + } else { + mLabel.measure(widthMeasureSpec, exactly(mLabel.getMeasuredHeight() + p * 2)); } setMeasuredDimension(w, h); } @@ -156,15 +177,12 @@ public class QSTileView extends ViewGroup { } protected void handleStateChanged(QSTile.State state) { - if (mIcon instanceof QSImageView) { - QSImageView qsiv = (QSImageView) mIcon; + if (mIcon instanceof ImageView) { + ImageView iv = (ImageView) mIcon; if (state.icon != null) { - qsiv.setImageDrawable(state.icon); + iv.setImageDrawable(state.icon); } else if (state.iconId > 0) { - qsiv.setImageResource(state.iconId); - } - if (state.icon != null && state instanceof QSTile.BooleanState) { - qsiv.setEnabledVersion(((QSTile.BooleanState)state).value); + iv.setImageResource(state.iconId); } } mLabel.setText(state.label); diff --git a/packages/SystemUI/src/com/android/systemui/qs/SecureSetting.java b/packages/SystemUI/src/com/android/systemui/qs/SecureSetting.java index 4debaa9..3ed3d30 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/SecureSetting.java +++ b/packages/SystemUI/src/com/android/systemui/qs/SecureSetting.java @@ -21,10 +21,10 @@ import android.database.ContentObserver; import android.os.Handler; import android.provider.Settings.Secure; -import com.android.systemui.statusbar.policy.Disposable; +import com.android.systemui.statusbar.policy.Listenable; /** Helper for managing a secure setting. **/ -public abstract class SecureSetting extends ContentObserver implements Disposable { +public abstract class SecureSetting extends ContentObserver implements Listenable { private final Context mContext; private final String mSettingName; @@ -38,8 +38,7 @@ public abstract class SecureSetting extends ContentObserver implements Disposabl } public void rebindForCurrentUser() { - mContext.getContentResolver().registerContentObserver( - Secure.getUriFor(mSettingName), false, this); + setListening(true); } public int getValue() { @@ -51,8 +50,13 @@ public abstract class SecureSetting extends ContentObserver implements Disposabl } @Override - public void dispose() { - mContext.getContentResolver().unregisterContentObserver(this); + public void setListening(boolean listening) { + if (listening) { + mContext.getContentResolver().registerContentObserver( + Secure.getUriFor(mSettingName), false, this); + } else { + mContext.getContentResolver().unregisterContentObserver(this); + } } @Override diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/AirplaneModeTile.java b/packages/SystemUI/src/com/android/systemui/qs/tiles/AirplaneModeTile.java index 5fe8422..c0f9bf2 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/AirplaneModeTile.java +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/AirplaneModeTile.java @@ -39,11 +39,6 @@ public class AirplaneModeTile extends QSTile<QSTile.BooleanState> { handleRefreshState(value); } }; - - final IntentFilter filter = new IntentFilter(); - filter.addAction(Intent.ACTION_AIRPLANE_MODE_CHANGED); - mContext.registerReceiver(mReceiver, filter); - refreshState(); } @Override @@ -70,7 +65,6 @@ public class AirplaneModeTile extends QSTile<QSTile.BooleanState> { state.value = airplaneMode; state.visible = true; state.label = mContext.getString(R.string.quick_settings_airplane_mode_label); - state.icon = mHost.getVectorDrawable(R.drawable.ic_qs_airplane); if (airplaneMode) { state.iconId = R.drawable.ic_qs_airplane_on; state.contentDescription = mContext.getString( @@ -84,9 +78,15 @@ public class AirplaneModeTile extends QSTile<QSTile.BooleanState> { } } - public void dispose() { - mSetting.dispose(); - mContext.unregisterReceiver(mReceiver); + public void setListening(boolean listening) { + if (listening) { + final IntentFilter filter = new IntentFilter(); + filter.addAction(Intent.ACTION_AIRPLANE_MODE_CHANGED); + mContext.registerReceiver(mReceiver, filter); + } else { + mContext.unregisterReceiver(mReceiver); + } + mSetting.setListening(listening); } private final BroadcastReceiver mReceiver = new BroadcastReceiver() { diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/BluetoothTile.java b/packages/SystemUI/src/com/android/systemui/qs/tiles/BluetoothTile.java index 60a6047..7335ab4 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/BluetoothTile.java +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/BluetoothTile.java @@ -33,7 +33,11 @@ public class BluetoothTile extends QSTile<QSTile.BooleanState> { public BluetoothTile(Host host) { super(host); mController = host.getBluetoothController(); - mController.addStateChangedCallback(mCallback); + } + + @Override + public boolean supportsDualTargets() { + return true; } @Override @@ -42,8 +46,12 @@ public class BluetoothTile extends QSTile<QSTile.BooleanState> { } @Override - public void dispose() { - mController.removeStateChangedCallback(mCallback); + public void setListening(boolean listening) { + if (listening) { + mController.addStateChangedCallback(mCallback); + } else { + mController.removeStateChangedCallback(mCallback); + } } @Override @@ -64,14 +72,13 @@ public class BluetoothTile extends QSTile<QSTile.BooleanState> { final boolean connected = mController.isBluetoothConnected(); state.visible = supported; state.value = enabled; - state.icon = mHost.getVectorDrawable(R.drawable.ic_qs_bluetooth); final String stateContentDescription; if (enabled) { if (connected) { - state.iconId = R.drawable.ic_qs_bluetooth_on; + state.iconId = R.drawable.ic_qs_bluetooth_connected; stateContentDescription = mContext.getString(R.string.accessibility_desc_connected); } else { - state.iconId = R.drawable.ic_qs_bluetooth_not_connected; + state.iconId = R.drawable.ic_qs_bluetooth_on; stateContentDescription = mContext.getString(R.string.accessibility_desc_on); } state.label = mContext.getString(R.string.quick_settings_bluetooth_label); diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/BugreportTile.java b/packages/SystemUI/src/com/android/systemui/qs/tiles/BugreportTile.java index 0e9b9a7..fa41837 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/BugreportTile.java +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/BugreportTile.java @@ -21,6 +21,7 @@ import android.app.AlertDialog; import android.app.Dialog; import android.content.DialogInterface; import android.content.DialogInterface.OnClickListener; +import android.os.Build; import android.os.RemoteException; import android.provider.Settings.Global; import android.view.WindowManager; @@ -51,22 +52,30 @@ public class BugreportTile extends QSTile<QSTile.State> { } @Override - public void dispose() { - mSetting.dispose(); + public void setListening(boolean listening) { + mSetting.setListening(listening); } @Override protected void handleClick() { - mHost.collapsePanels(); - mUiHandler.post(mShowDialog); + mHandler.postDelayed(new Runnable() { + @Override + public void run() { + mHost.collapsePanels(); + mUiHandler.post(mShowDialog); + } + }, FEEDBACK_START_DELAY); } @Override protected void handleUpdateState(State state, Object pushArg) { state.visible = mSetting.getValue() != 0; - state.iconId = com.android.internal.R.drawable.stat_sys_adb; - state.icon = mHost.getVectorDrawable(R.drawable.ic_qs_bugreport); - state.label = mContext.getString(com.android.internal.R.string.bugreport_title); + state.iconId = R.drawable.ic_qs_bugreport; + state.label = mContext.getString( + R.string.bugreport_tile_extended, + mContext.getString(com.android.internal.R.string.bugreport_title), + Build.VERSION.RELEASE, + Build.ID); } private final Runnable mShowDialog = new Runnable() { diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/CastTile.java b/packages/SystemUI/src/com/android/systemui/qs/tiles/CastTile.java index a3eaa2c..907c77e 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/CastTile.java +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/CastTile.java @@ -35,14 +35,9 @@ public class CastTile extends QSTile<QSTile.BooleanState> { private final CastController mController; - private boolean mShown; - public CastTile(Host host) { super(host); mController = host.getCastController(); - if (mController != null) { - mController.addCallback(mCallback); - } } @Override @@ -51,9 +46,14 @@ public class CastTile extends QSTile<QSTile.BooleanState> { } @Override - public void dispose() { + public void setListening(boolean listening) { if (mController == null) return; - mController.removeCallback(mCallback); + if (listening) { + mController.addCallback(mCallback); + } else { + mController.removeCallback(mCallback); + } + mController.setDiscovering(listening); } @Override @@ -64,17 +64,13 @@ public class CastTile extends QSTile<QSTile.BooleanState> { } @Override - protected void handleShown(boolean shown) { - if (mShown == shown) return; - if (mController == null) return; - mShown = shown; - mController.setDiscovering(mShown); - } - - @Override protected void handleClick() { - mHost.collapsePanels(); - mUiHandler.post(mShowDialog); + mHandler.postDelayed(new Runnable() { + public void run() { + mHost.collapsePanels(); + mUiHandler.post(mShowDialog); + } + }, FEEDBACK_START_DELAY); } @Override @@ -82,13 +78,13 @@ public class CastTile extends QSTile<QSTile.BooleanState> { state.visible = true; state.label = mContext .getString(R.string.quick_settings_remote_display_no_connection_label); - state.icon = mHost.getVectorDrawable(R.drawable.ic_qs_cast); if (arg instanceof CallbackInfo) { final CallbackInfo cb = (CallbackInfo) arg; if (cb.connectedRouteName != null) { state.value = !cb.connecting; } } + state.iconId = state.value ? R.drawable.ic_qs_cast_on : R.drawable.ic_qs_cast_off; } private static class CallbackInfo { diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/CellularTile.java b/packages/SystemUI/src/com/android/systemui/qs/tiles/CellularTile.java index 86a4e79..182a0ce 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/CellularTile.java +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/CellularTile.java @@ -38,7 +38,6 @@ public class CellularTile extends QSTile<QSTile.SignalState> { public CellularTile(Host host) { super(host); mController = host.getNetworkController(); - mController.addNetworkSignalChangedCallback(mCallback); } @Override @@ -47,8 +46,12 @@ public class CellularTile extends QSTile<QSTile.SignalState> { } @Override - public void dispose() { - mController.removeNetworkSignalChangedCallback(mCallback); + public void setListening(boolean listening) { + if (listening) { + mController.addNetworkSignalChangedCallback(mCallback); + } else { + mController.removeNetworkSignalChangedCallback(mCallback); + } } @Override diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/ColorInversionTile.java b/packages/SystemUI/src/com/android/systemui/qs/tiles/ColorInversionTile.java index 66740af..5301362 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/ColorInversionTile.java +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/ColorInversionTile.java @@ -39,8 +39,6 @@ public class ColorInversionTile extends QSTile<QSTile.BooleanState> { handleRefreshState(value); } }; - - refreshState(); } @Override @@ -49,8 +47,8 @@ public class ColorInversionTile extends QSTile<QSTile.BooleanState> { } @Override - public void dispose() { - mSetting.dispose(); + public void setListening(boolean listening) { + mSetting.setListening(listening); } @Override @@ -73,6 +71,6 @@ public class ColorInversionTile extends QSTile<QSTile.BooleanState> { state.visible = mVisible; state.value = enabled; state.label = mContext.getString(R.string.quick_settings_inversion_label); - state.icon = mHost.getVectorDrawable(R.drawable.ic_qs_invert_colors); + state.iconId = R.drawable.ic_qs_color_inversion; } } diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/HotspotTile.java b/packages/SystemUI/src/com/android/systemui/qs/tiles/HotspotTile.java index 1a67afc..f2ba558 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/HotspotTile.java +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/HotspotTile.java @@ -42,7 +42,7 @@ public class HotspotTile extends QSTile<QSTile.State> { } @Override - public void dispose() { + public void setListening(boolean listening) { } @@ -55,6 +55,6 @@ public class HotspotTile extends QSTile<QSTile.State> { protected void handleUpdateState(State state, Object arg) { state.visible = mController != null; state.label = mContext.getString(R.string.quick_settings_hotspot_label); - state.icon = mHost.getVectorDrawable(R.drawable.ic_qs_hotspot); + state.iconId = R.drawable.ic_qs_hotspot_off; } } diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/LocationTile.java b/packages/SystemUI/src/com/android/systemui/qs/tiles/LocationTile.java index d32f98f..c5ad9e6 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/LocationTile.java +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/LocationTile.java @@ -16,6 +16,8 @@ package com.android.systemui.qs.tiles; +import android.graphics.drawable.AnimationDrawable; + import com.android.systemui.R; import com.android.systemui.qs.QSTile; import com.android.systemui.statusbar.policy.LocationController; @@ -29,7 +31,6 @@ public class LocationTile extends QSTile<QSTile.BooleanState> { public LocationTile(Host host) { super(host); mController = host.getLocationController(); - mController.addSettingsChangedCallback(mCallback); } @Override @@ -37,8 +38,13 @@ public class LocationTile extends QSTile<QSTile.BooleanState> { return new BooleanState(); } - public void dispose() { - mController.removeSettingsChangedCallback(mCallback); + @Override + public void setListening(boolean listening) { + if (listening) { + mController.addSettingsChangedCallback(mCallback); + } else { + mController.removeSettingsChangedCallback(mCallback); + } } @Override @@ -56,16 +62,27 @@ public class LocationTile extends QSTile<QSTile.BooleanState> { protected void handleUpdateState(BooleanState state, Object arg) { final boolean locationEnabled = mController.isLocationEnabled(); state.visible = true; - state.value = locationEnabled; - state.icon = mHost.getVectorDrawable(R.drawable.ic_qs_location); + if (state.value != locationEnabled) { + state.value = locationEnabled; + final AnimationDrawable d = (AnimationDrawable) mContext.getDrawable(locationEnabled + ? R.drawable.ic_qs_location_on + : R.drawable.ic_qs_location_off); + state.icon = d; + mUiHandler.post(new Runnable() { + @Override + public void run() { + d.start(); + } + }); + } if (locationEnabled) { - state.iconId = R.drawable.ic_qs_location_on; + if (state.icon == null) state.iconId = R.drawable.ic_qs_location_01; state.label = mContext.getString(R.string.quick_settings_location_label); state.contentDescription = mContext.getString( R.string.accessibility_quick_settings_location, mContext.getString(R.string.accessibility_desc_on)); } else { - state.iconId = R.drawable.ic_qs_location_off; + if (state.icon == null) state.iconId = R.drawable.ic_qs_location_11; state.label = mContext.getString(R.string.quick_settings_location_off_label); state.contentDescription = mContext.getString( R.string.accessibility_quick_settings_location, diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/RingerModeTile.java b/packages/SystemUI/src/com/android/systemui/qs/tiles/RingerModeTile.java index 36a579c..c5e9b52 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/RingerModeTile.java +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/RingerModeTile.java @@ -33,8 +33,6 @@ public class RingerModeTile extends QSTile<RingerModeTile.IntState> { public RingerModeTile(Host host) { super(host); mAudioManager = (AudioManager) mContext.getSystemService(Context.AUDIO_SERVICE); - final IntentFilter filter = new IntentFilter(AudioManager.RINGER_MODE_CHANGED_ACTION); - mContext.registerReceiver(mReceiver, filter); } @Override @@ -43,8 +41,13 @@ public class RingerModeTile extends QSTile<RingerModeTile.IntState> { } @Override - public void dispose() { - mContext.unregisterReceiver(mReceiver); + public void setListening(boolean listening) { + if (listening) { + final IntentFilter filter = new IntentFilter(AudioManager.RINGER_MODE_CHANGED_ACTION); + mContext.registerReceiver(mReceiver, filter); + } else { + mContext.unregisterReceiver(mReceiver); + } } @Override @@ -64,13 +67,13 @@ public class RingerModeTile extends QSTile<RingerModeTile.IntState> { state.visible = true; state.value = ringerMode; if (ringerMode == AudioManager.RINGER_MODE_VIBRATE) { - state.icon = mHost.getVectorDrawable(R.drawable.ic_qs_ringer_vibrate); + state.iconId = R.drawable.ic_qs_ringer_vibrate; state.label = "Vibrate"; } else if (ringerMode == AudioManager.RINGER_MODE_SILENT) { - state.icon = mHost.getVectorDrawable(R.drawable.ic_qs_ringer_silent); + state.iconId = R.drawable.ic_qs_ringer_silent; state.label = "Silent"; } else { - state.icon = mHost.getVectorDrawable(R.drawable.ic_qs_ringer_audible); + state.iconId = R.drawable.ic_qs_ringer_audible; state.label = "Audible"; } } diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/RotationLockTile.java b/packages/SystemUI/src/com/android/systemui/qs/tiles/RotationLockTile.java index 1f00824..1b0967b 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/RotationLockTile.java +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/RotationLockTile.java @@ -17,6 +17,8 @@ package com.android.systemui.qs.tiles; import android.content.res.Configuration; +import android.graphics.drawable.AnimationDrawable; +import android.graphics.drawable.Drawable; import com.android.systemui.R; import com.android.systemui.qs.QSTile; @@ -31,8 +33,6 @@ public class RotationLockTile extends QSTile<QSTile.BooleanState> { public RotationLockTile(Host host) { super(host); mController = host.getRotationLockController(); - if (mController == null) return; - mController.addRotationLockControllerCallback(mCallback); } @Override @@ -40,15 +40,19 @@ public class RotationLockTile extends QSTile<QSTile.BooleanState> { return new BooleanState(); } - public void dispose() { + public void setListening(boolean listening) { if (mController == null) return; - mController.removeRotationLockControllerCallback(mCallback); + if (listening) { + mController.addRotationLockControllerCallback(mCallback); + } else { + mController.removeRotationLockControllerCallback(mCallback); + } } @Override protected void handleClick() { if (mController == null) return; - mController.setRotationLocked(mState.value); + mController.setRotationLocked(!mState.value); } @Override @@ -56,7 +60,19 @@ public class RotationLockTile extends QSTile<QSTile.BooleanState> { if (mController == null) return; final boolean rotationLocked = mController.isRotationLocked(); state.visible = mController.isRotationLockAffordanceVisible(); - state.value = !rotationLocked; + if (state.value != rotationLocked) { + state.value = rotationLocked; + final AnimationDrawable d = (AnimationDrawable) mContext.getDrawable(rotationLocked + ? R.drawable.ic_qs_rotation_locked + : R.drawable.ic_qs_rotation_unlocked); + state.icon = d; + mUiHandler.post(new Runnable() { + @Override + public void run() { + d.start(); + } + }); + } if (rotationLocked) { final int lockOrientation = mController.getRotationLockOrientation(); final int label = lockOrientation == Configuration.ORIENTATION_PORTRAIT @@ -64,11 +80,15 @@ public class RotationLockTile extends QSTile<QSTile.BooleanState> { : lockOrientation == Configuration.ORIENTATION_LANDSCAPE ? R.string.quick_settings_rotation_locked_landscape_label : R.string.quick_settings_rotation_locked_label; - state.iconId = R.drawable.ic_qs_rotation_lock; state.label = mContext.getString(label); + if (state.icon == null) { + state.icon = mContext.getDrawable(R.drawable.ic_qs_rotation_15); + } } else { - state.iconId = R.drawable.ic_qs_rotation; state.label = mContext.getString(R.string.quick_settings_rotation_unlocked_label); + if (state.icon == null) { + state.icon = mContext.getDrawable(R.drawable.ic_qs_rotation_01); + } } } diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/WifiTile.java b/packages/SystemUI/src/com/android/systemui/qs/tiles/WifiTile.java index e08a6fa..ef7fb89 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/WifiTile.java +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/WifiTile.java @@ -20,6 +20,7 @@ import android.content.Context; import android.content.Intent; import android.content.res.Resources; import android.provider.Settings; +import android.util.Log; import com.android.systemui.R; import com.android.systemui.qs.QSTile; @@ -37,7 +38,11 @@ public class WifiTile extends QSTile<QSTile.SignalState> { public WifiTile(Host host) { super(host); mController = host.getNetworkController(); - mController.addNetworkSignalChangedCallback(mCallback); + } + + @Override + public boolean supportsDualTargets() { + return true; } @Override @@ -46,8 +51,12 @@ public class WifiTile extends QSTile<QSTile.SignalState> { } @Override - public void dispose() { - mController.removeNetworkSignalChangedCallback(mCallback); + public void setListening(boolean listening) { + if (listening) { + mController.addNetworkSignalChangedCallback(mCallback); + } else { + mController.removeNetworkSignalChangedCallback(mCallback); + } } @Override @@ -67,8 +76,9 @@ public class WifiTile extends QSTile<QSTile.SignalState> { @Override protected void handleUpdateState(SignalState state, Object arg) { - if (arg == null) return; state.visible = true; + if (DEBUG) Log.d(TAG, "handleUpdateState arg=" + arg); + if (arg == null) return; CallbackInfo cb = (CallbackInfo) arg; boolean wifiConnected = cb.enabled && (cb.wifiSignalIconId > 0) && (cb.enabledDesc != null); @@ -114,6 +124,18 @@ public class WifiTile extends QSTile<QSTile.SignalState> { boolean activityIn; boolean activityOut; String wifiSignalContentDescription; + + @Override + public String toString() { + return new StringBuilder("CallbackInfo[") + .append("enabled=").append(enabled) + .append(",wifiSignalIconId=").append(wifiSignalIconId) + .append(",enabledDesc=").append(enabledDesc) + .append(",activityIn=").append(activityIn) + .append(",activityOut=").append(activityOut) + .append(",wifiSignalContentDescription=").append(wifiSignalContentDescription) + .append(']').toString(); + } } private final NetworkSignalChangedCallback mCallback = new NetworkSignalChangedCallback() { @@ -121,6 +143,7 @@ public class WifiTile extends QSTile<QSTile.SignalState> { public void onWifiSignalChanged(boolean enabled, int wifiSignalIconId, boolean activityIn, boolean activityOut, String wifiSignalContentDescriptionId, String description) { + if (DEBUG) Log.d(TAG, "onWifiSignalChanged enabled=" + enabled); final CallbackInfo info = new CallbackInfo(); info.enabled = enabled; info.wifiSignalIconId = wifiSignalIconId; diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/ZenModeDetail.java b/packages/SystemUI/src/com/android/systemui/qs/tiles/ZenModeDetail.java index dceb856..2edefe7 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/ZenModeDetail.java +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/ZenModeDetail.java @@ -32,6 +32,7 @@ import android.view.ViewGroup; import android.widget.ArrayAdapter; import android.widget.CompoundButton; import android.widget.CompoundButton.OnCheckedChangeListener; +import android.widget.ImageView; import android.widget.ListView; import android.widget.RadioButton; import android.widget.RelativeLayout; @@ -39,7 +40,6 @@ import android.widget.Switch; import android.widget.TextView; import com.android.systemui.R; -import com.android.systemui.qs.QSImageView; import com.android.systemui.qs.QSTile; import com.android.systemui.statusbar.policy.ZenModeController; @@ -72,9 +72,7 @@ public class ZenModeDetail extends RelativeLayout { mContext = getContext(); mController = mHost.getZenModeController(); - final QSImageView close = (QSImageView) findViewById(android.R.id.button1); - close.setImageDrawable(mHost.getVectorDrawable(R.drawable.ic_qs_close)); - close.setEnabledVersion(true); + final ImageView close = (ImageView) findViewById(android.R.id.button1); close.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { @@ -239,9 +237,7 @@ public class ZenModeDetail extends RelativeLayout { title.setText(condition.summary); title.setEnabled(enabled); title.setAlpha(enabled ? 1 : .5f); - final QSImageView button1 = (QSImageView) row.findViewById(android.R.id.button1); - button1.setImageDrawable(mHost.getVectorDrawable(R.drawable.ic_qs_minus)); - button1.setEnabledVersion(true); + final ImageView button1 = (ImageView) row.findViewById(android.R.id.button1); button1.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { @@ -250,9 +246,7 @@ public class ZenModeDetail extends RelativeLayout { } }); - final QSImageView button2 = (QSImageView) row.findViewById(android.R.id.button2); - button2.setImageDrawable(mHost.getVectorDrawable(R.drawable.ic_qs_plus)); - button2.setEnabledVersion(true); + final ImageView button2 = (ImageView) row.findViewById(android.R.id.button2); button2.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/ZenModeTile.java b/packages/SystemUI/src/com/android/systemui/qs/tiles/ZenModeTile.java index 83918e8..bfa9c19 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/ZenModeTile.java +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/ZenModeTile.java @@ -17,6 +17,7 @@ package com.android.systemui.qs.tiles; import android.content.Context; +import android.util.Log; import android.view.ContextThemeWrapper; import android.view.LayoutInflater; import android.view.View; @@ -33,7 +34,6 @@ public class ZenModeTile extends QSTile<QSTile.BooleanState> { public ZenModeTile(Host host) { super(host); mController = host.getZenModeController(); - mController.addCallback(mCallback); } @Override @@ -51,8 +51,12 @@ public class ZenModeTile extends QSTile<QSTile.BooleanState> { } @Override - public void dispose() { - mController.removeCallback(mCallback); + public void setListening(boolean listening) { + if (listening) { + mController.addCallback(mCallback); + } else { + mController.removeCallback(mCallback); + } } @Override @@ -69,14 +73,14 @@ public class ZenModeTile extends QSTile<QSTile.BooleanState> { final boolean zen = arg instanceof Boolean ? (Boolean)arg : mController.isZen(); state.value = zen; state.visible = true; - state.iconId = R.drawable.stat_sys_zen_limited; - state.icon = mHost.getVectorDrawable(R.drawable.ic_qs_zen); + state.iconId = zen ? R.drawable.ic_qs_zen_on : R.drawable.ic_qs_zen_off; state.label = mContext.getString(R.string.zen_mode_title); } private final ZenModeController.Callback mCallback = new ZenModeController.Callback() { @Override public void onZenChanged(boolean zen) { + if (DEBUG) Log.d(TAG, "onZenChanged " + zen); refreshState(zen); } }; diff --git a/packages/SystemUI/src/com/android/systemui/recent/Recents.java b/packages/SystemUI/src/com/android/systemui/recent/Recents.java index ae18aa8..0cc09c8 100644 --- a/packages/SystemUI/src/com/android/systemui/recent/Recents.java +++ b/packages/SystemUI/src/com/android/systemui/recent/Recents.java @@ -27,7 +27,6 @@ import android.graphics.Paint; import android.graphics.drawable.BitmapDrawable; import android.graphics.drawable.Drawable; import android.os.Bundle; -import android.os.SystemProperties; import android.os.UserHandle; import android.util.DisplayMetrics; import android.util.Log; @@ -44,14 +43,12 @@ public class Recents extends SystemUI implements RecentsComponent { private static final boolean DEBUG = true; // Which recents to use - boolean mUseAlternateRecents; + boolean mUseAlternateRecents = true; AlternateRecentsComponent mAlternateRecents; boolean mBootCompleted = false; @Override public void start() { - Configuration config = mContext.getResources().getConfiguration(); - mUseAlternateRecents = (config.smallestScreenWidthDp < 600); if (mUseAlternateRecents) { if (mAlternateRecents == null) { mAlternateRecents = new AlternateRecentsComponent(mContext); @@ -68,10 +65,30 @@ public class Recents extends SystemUI implements RecentsComponent { } @Override + public void showRecents(boolean triggeredFromAltTab, View statusBarView) { + if (mUseAlternateRecents) { + mAlternateRecents.onShowRecents(triggeredFromAltTab, statusBarView); + } + } + + @Override + public void hideRecents(boolean triggeredFromAltTab) { + if (mUseAlternateRecents) { + mAlternateRecents.onHideRecents(triggeredFromAltTab); + } else { + Intent intent = new Intent(RecentsActivity.CLOSE_RECENTS_INTENT); + intent.setPackage("com.android.systemui"); + sendBroadcastSafely(intent); + + RecentTasksLoader.getInstance(mContext).cancelPreloadingFirstTask(); + } + } + + @Override public void toggleRecents(Display display, int layoutDirection, View statusBarView) { if (mUseAlternateRecents) { // Launch the alternate recents if required - mAlternateRecents.onToggleRecents(display, layoutDirection, statusBarView); + mAlternateRecents.onToggleRecents(statusBarView); return; } @@ -224,7 +241,7 @@ public class Recents extends SystemUI implements RecentsComponent { } @Override - public void preloadRecentTasksList() { + public void preloadRecents() { if (mUseAlternateRecents) { mAlternateRecents.onPreloadRecents(); } else { @@ -238,7 +255,7 @@ public class Recents extends SystemUI implements RecentsComponent { } @Override - public void cancelPreloadingRecentTasksList() { + public void cancelPreloadingRecents() { if (mUseAlternateRecents) { mAlternateRecents.onCancelPreloadingRecents(); } else { @@ -251,19 +268,6 @@ public class Recents extends SystemUI implements RecentsComponent { } } - @Override - public void closeRecents() { - if (mUseAlternateRecents) { - mAlternateRecents.onCloseRecents(); - } else { - Intent intent = new Intent(RecentsActivity.CLOSE_RECENTS_INTENT); - intent.setPackage("com.android.systemui"); - sendBroadcastSafely(intent); - - RecentTasksLoader.getInstance(mContext).cancelPreloadingFirstTask(); - } - } - /** * Send broadcast only if BOOT_COMPLETED */ diff --git a/packages/SystemUI/src/com/android/systemui/recents/AlternateRecentsComponent.java b/packages/SystemUI/src/com/android/systemui/recents/AlternateRecentsComponent.java index 19a1b11..ffd64d4 100644 --- a/packages/SystemUI/src/com/android/systemui/recents/AlternateRecentsComponent.java +++ b/packages/SystemUI/src/com/android/systemui/recents/AlternateRecentsComponent.java @@ -44,9 +44,9 @@ import android.view.View; import android.view.WindowManager; import com.android.systemui.R; -import java.util.ArrayList; import java.util.Iterator; import java.util.List; +import java.util.concurrent.atomic.AtomicBoolean; /** A proxy implementation for the recents component */ public class AlternateRecentsComponent { @@ -64,15 +64,17 @@ public class AlternateRecentsComponent { mSingleCountFirstTaskRect.offset(0, (int) statusBarHeight); mMultipleCountFirstTaskRect = replyData.getParcelable(KEY_MULTIPLE_TASK_STACK_RECT); mMultipleCountFirstTaskRect.offset(0, (int) statusBarHeight); - Console.log(Constants.Log.App.RecentsComponent, - "[RecentsComponent|RecentsMessageHandler|handleMessage]", - "singleTaskRect: " + mSingleCountFirstTaskRect + - " multipleTaskRect: " + mMultipleCountFirstTaskRect); + if (Console.Enabled) { + Console.log(Constants.Log.App.RecentsComponent, + "[RecentsComponent|RecentsMessageHandler|handleMessage]", + "singleTaskRect: " + mSingleCountFirstTaskRect + + " multipleTaskRect: " + mMultipleCountFirstTaskRect); + } // If we had the update the animation rects as a result of onServiceConnected, then // we check for whether we need to toggle the recents here. if (mToggleRecentsUponServiceBound) { - startAlternateRecentsActivity(); + startRecentsActivity(); mToggleRecentsUponServiceBound = false; } } @@ -83,16 +85,18 @@ public class AlternateRecentsComponent { class RecentsServiceConnection implements ServiceConnection { @Override public void onServiceConnected(ComponentName className, IBinder service) { - Console.log(Constants.Log.App.RecentsComponent, - "[RecentsComponent|ServiceConnection|onServiceConnected]", - "toggleRecents: " + mToggleRecentsUponServiceBound); + if (Console.Enabled) { + Console.log(Constants.Log.App.RecentsComponent, + "[RecentsComponent|ServiceConnection|onServiceConnected]", + "toggleRecents: " + mToggleRecentsUponServiceBound); + } mService = new Messenger(service); mServiceIsBound = true; if (hasValidTaskRects()) { - // Toggle recents if this new service connection was triggered by hitting recents + // Start recents if this new service connection was triggered by hitting recents if (mToggleRecentsUponServiceBound) { - startAlternateRecentsActivity(); + startRecentsActivity(); mToggleRecentsUponServiceBound = false; } } else { @@ -103,8 +107,10 @@ public class AlternateRecentsComponent { @Override public void onServiceDisconnected(ComponentName className) { - Console.log(Constants.Log.App.RecentsComponent, - "[RecentsComponent|ServiceConnection|onServiceDisconnected]"); + if (Console.Enabled) { + Console.log(Constants.Log.App.RecentsComponent, + "[RecentsComponent|ServiceConnection|onServiceDisconnected]"); + } mService = null; mServiceIsBound = false; } @@ -114,10 +120,12 @@ public class AlternateRecentsComponent { final public static int MSG_UPDATE_TASK_THUMBNAIL = 1; final public static int MSG_PRELOAD_TASKS = 2; final public static int MSG_CANCEL_PRELOAD_TASKS = 3; - final public static int MSG_CLOSE_RECENTS = 4; - final public static int MSG_TOGGLE_RECENTS = 5; + final public static int MSG_SHOW_RECENTS = 4; + final public static int MSG_HIDE_RECENTS = 5; + final public static int MSG_TOGGLE_RECENTS = 6; final public static String EXTRA_ANIMATING_WITH_THUMBNAIL = "recents.animatingWithThumbnail"; + final public static String EXTRA_FROM_ALT_TAB = "recents.triggeredFromAltTab"; final public static String KEY_CONFIGURATION_DATA = "recents.data.updateForConfiguration"; final public static String KEY_WINDOW_RECT = "recents.windowRect"; final public static String KEY_SYSTEM_INSETS = "recents.systemInsets"; @@ -142,7 +150,10 @@ public class AlternateRecentsComponent { boolean mToggleRecentsUponServiceBound; RecentsServiceConnection mConnection = new RecentsServiceConnection(); + // Variables to keep track of if we need to start recents after binding View mStatusBarView; + boolean mTriggeredFromAltTab; + Rect mSingleCountFirstTaskRect = new Rect(); Rect mMultipleCountFirstTaskRect = new Rect(); long mLastToggleTime; @@ -154,21 +165,21 @@ public class AlternateRecentsComponent { } public void onStart() { - Console.log(Constants.Log.App.RecentsComponent, "[RecentsComponent|start]"); + if (Console.Enabled) { + Console.log(Constants.Log.App.RecentsComponent, "[RecentsComponent|start]"); + } // Try to create a long-running connection to the recents service bindToRecentsService(false); } - /** Toggles the alternate recents activity */ - public void onToggleRecents(Display display, int layoutDirection, View statusBarView) { - Console.logStartTracingTime(Constants.Log.App.TimeRecentsStartup, - Constants.Log.App.TimeRecentsStartupKey); - Console.logStartTracingTime(Constants.Log.App.TimeRecentsLaunchTask, - Constants.Log.App.TimeRecentsLaunchKey); - Console.log(Constants.Log.App.RecentsComponent, "[RecentsComponent|toggleRecents]", - "serviceIsBound: " + mServiceIsBound); + /** Shows the recents */ + public void onShowRecents(boolean triggeredFromAltTab, View statusBarView) { + if (Console.Enabled) { + Console.log(Constants.Log.App.RecentsComponent, "[RecentsComponent|showRecents]"); + } mStatusBarView = statusBarView; + mTriggeredFromAltTab = triggeredFromAltTab; if (!mServiceIsBound) { // Try to create a long-running connection to the recents service before toggling // recents @@ -177,27 +188,22 @@ public class AlternateRecentsComponent { } try { - startAlternateRecentsActivity(); + startRecentsActivity(); } catch (ActivityNotFoundException e) { Console.logRawError("Failed to launch RecentAppsIntent", e); } } - public void onPreloadRecents() { - // Do nothing - } - - public void onCancelPreloadingRecents() { - // Do nothing - } - - public void onCloseRecents() { - Console.log(Constants.Log.App.RecentsComponent, "[RecentsComponent|closeRecents]"); + /** Hides the recents */ + public void onHideRecents(boolean triggeredFromAltTab) { + if (Console.Enabled) { + Console.log(Constants.Log.App.RecentsComponent, "[RecentsComponent|hideRecents]"); + } if (mServiceIsBound) { - // Try and update the recents configuration + // Notify recents to close it try { Bundle data = new Bundle(); - Message msg = Message.obtain(null, MSG_CLOSE_RECENTS, 0, 0); + Message msg = Message.obtain(null, MSG_HIDE_RECENTS, triggeredFromAltTab ? 1 : 0, 0); msg.setData(data); mService.send(msg); } catch (RemoteException re) { @@ -206,6 +212,40 @@ public class AlternateRecentsComponent { } } + /** Toggles the alternate recents activity */ + public void onToggleRecents(View statusBarView) { + if (Console.Enabled) { + Console.logStartTracingTime(Constants.Log.App.TimeRecentsStartup, + Constants.Log.App.TimeRecentsStartupKey); + Console.logStartTracingTime(Constants.Log.App.TimeRecentsLaunchTask, + Constants.Log.App.TimeRecentsLaunchKey); + Console.log(Constants.Log.App.RecentsComponent, "[RecentsComponent|toggleRecents]", + "serviceIsBound: " + mServiceIsBound); + } + mStatusBarView = statusBarView; + mTriggeredFromAltTab = false; + if (!mServiceIsBound) { + // Try to create a long-running connection to the recents service before toggling + // recents + bindToRecentsService(true); + return; + } + + try { + toggleRecentsActivity(); + } catch (ActivityNotFoundException e) { + Console.logRawError("Failed to launch RecentAppsIntent", e); + } + } + + public void onPreloadRecents() { + // Do nothing + } + + public void onCancelPreloadingRecents() { + // Do nothing + } + public void onConfigurationChanged(Configuration newConfig) { updateAnimationRects(); } @@ -355,20 +395,10 @@ public class AlternateRecentsComponent { taskRect.left, taskRect.top, null); } - /** Starts the recents activity */ - void startAlternateRecentsActivity() { - // If the user has toggled it too quickly, then just eat up the event here (it's better than - // showing a janky screenshot). - // NOTE: Ideally, the screenshot mechanism would take the window transform into account - if (System.currentTimeMillis() - mLastToggleTime < sMinToggleDelay) { - return; - } - - // If Recents is the front most activity, then we should just communicate with it directly - // to launch the first task or dismiss itself + /** Returns whether the recents is currently running */ + boolean isRecentsTopMost(AtomicBoolean isHomeTopMost) { SystemServicesProxy ssp = mSystemServicesProxy; List<ActivityManager.RunningTaskInfo> tasks = ssp.getRunningTasks(1); - boolean isTopTaskHome = false; if (!tasks.isEmpty()) { ActivityManager.RunningTaskInfo topTask = tasks.get(0); ComponentName topActivity = topTask.topActivity; @@ -376,33 +406,71 @@ public class AlternateRecentsComponent { // Check if the front most activity is recents if (topActivity.getPackageName().equals(sRecentsPackage) && topActivity.getClassName().equals(sRecentsActivity)) { - // Notify Recents to toggle itself - try { - Bundle data = new Bundle(); - Message msg = Message.obtain(null, MSG_TOGGLE_RECENTS, 0, 0); - msg.setData(data); - mService.send(msg); - - // Time this path - Console.logTraceTime(Constants.Log.App.TimeRecentsStartup, - Constants.Log.App.TimeRecentsStartupKey, "sendToggleRecents"); - Console.logTraceTime(Constants.Log.App.TimeRecentsLaunchTask, - Constants.Log.App.TimeRecentsLaunchKey, "sendToggleRecents"); - } catch (RemoteException re) { - re.printStackTrace(); + if (isHomeTopMost != null) { + isHomeTopMost.set(false); } - mLastToggleTime = System.currentTimeMillis(); - return; + return true; + } + + if (isHomeTopMost != null) { + isHomeTopMost.set(ssp.isInHomeStack(topTask.id)); } + } + return false; + } - // Determine whether the top task is currently home - isTopTaskHome = ssp.isInHomeStack(topTask.id); + /** Toggles the recents activity */ + void toggleRecentsActivity() { + // If the user has toggled it too quickly, then just eat up the event here (it's better than + // showing a janky screenshot). + // NOTE: Ideally, the screenshot mechanism would take the window transform into account + if (System.currentTimeMillis() - mLastToggleTime < sMinToggleDelay) { + return; } - // Otherwise, Recents is not the front-most activity and we should animate into it. If + // If Recents is the front most activity, then we should just communicate with it directly + // to launch the first task or dismiss itself + AtomicBoolean isTopTaskHome = new AtomicBoolean(); + if (isRecentsTopMost(isTopTaskHome)) { + // Notify recents to close itself + try { + Bundle data = new Bundle(); + Message msg = Message.obtain(null, MSG_TOGGLE_RECENTS, 0, 0); + msg.setData(data); + mService.send(msg); + + // Time this path + Console.logTraceTime(Constants.Log.App.TimeRecentsStartup, + Constants.Log.App.TimeRecentsStartupKey, "sendToggleRecents"); + Console.logTraceTime(Constants.Log.App.TimeRecentsLaunchTask, + Constants.Log.App.TimeRecentsLaunchKey, "sendToggleRecents"); + } catch (RemoteException re) { + re.printStackTrace(); + } + mLastToggleTime = System.currentTimeMillis(); + return; + } else { + // Otherwise, start the recents activity + startRecentsActivity(isTopTaskHome.get()); + } + } + + /** Starts the recents activity if it is not already running */ + void startRecentsActivity() { + // Check if the top task is in the home stack, and start the recents activity + AtomicBoolean isTopTaskHome = new AtomicBoolean(); + if (!isRecentsTopMost(isTopTaskHome)) { + startRecentsActivity(isTopTaskHome.get()); + } + } + + /** Starts the recents activity */ + void startRecentsActivity(boolean isTopTaskHome) { + // If Recents is not the front-most activity and we should animate into it. If // the activity at the root of the top task stack in the home stack, then we just do a // simple transition. Otherwise, we animate to the rects defined by the Recents service, // which can differ depending on the number of items in the list. + SystemServicesProxy ssp = mSystemServicesProxy; List<ActivityManager.RecentTaskInfo> recentTasks = ssp.getRecentTasks(2, UserHandle.CURRENT.getIdentifier()); Rect taskRect = hasMultipleRecentsTask(recentTasks) ? mMultipleCountFirstTaskRect : @@ -422,9 +490,6 @@ public class AlternateRecentsComponent { } // If there is no thumbnail transition, then just use a generic transition - // XXX: This should be different between home and from a recents-excluded app, perhaps the - // recents-excluded app should still show up in recents, when the app is in the - // foreground if (!useThumbnailTransition) { ActivityOptions opts = ActivityOptions.makeCustomAnimation(mContext, R.anim.recents_from_launcher_enter, @@ -444,6 +509,7 @@ public class AlternateRecentsComponent { intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS); intent.putExtra(EXTRA_ANIMATING_WITH_THUMBNAIL, animatingWithThumbnail); + intent.putExtra(EXTRA_FROM_ALT_TAB, mTriggeredFromAltTab); if (opts != null) { mContext.startActivityAsUser(intent, opts.toBundle(), new UserHandle( UserHandle.USER_CURRENT)); diff --git a/packages/SystemUI/src/com/android/systemui/recents/Console.java b/packages/SystemUI/src/com/android/systemui/recents/Console.java index c8d97cc..33e05dd 100644 --- a/packages/SystemUI/src/com/android/systemui/recents/Console.java +++ b/packages/SystemUI/src/com/android/systemui/recents/Console.java @@ -42,6 +42,9 @@ public class Console { public static final String AnsiCyan = "\u001B[36m"; // ClickEvents public static final String AnsiWhite = "\u001B[37m"; + // Console enabled state + public static final boolean Enabled = false; + /** Logs a key */ public static void log(String key) { log(true, key, "", AnsiReset); diff --git a/packages/SystemUI/src/com/android/systemui/recents/Constants.java b/packages/SystemUI/src/com/android/systemui/recents/Constants.java index 90998da..fcbd0f4 100644 --- a/packages/SystemUI/src/com/android/systemui/recents/Constants.java +++ b/packages/SystemUI/src/com/android/systemui/recents/Constants.java @@ -31,8 +31,8 @@ public class Constants { public static final boolean EnableTaskStackClipping = false; // Enables the use of theme colors as the task bar background public static final boolean EnableTaskBarThemeColors = true; - // Enables the info pane on long-press - public static final boolean EnableInfoPane = false; + // Enables app-info pane on long-pressing the icon + public static final boolean EnableDevAppInfoOnLongPress = true; // Enables the search bar layout public static final boolean EnableSearchLayout = true; // Enables the dynamic shadows behind each task @@ -69,6 +69,7 @@ public class Constants { public static final boolean TouchEvents = false; public static final boolean MeasureAndLayout = false; public static final boolean HwLayers = false; + public static final boolean Focus = false; } public static class TaskStack { diff --git a/packages/SystemUI/src/com/android/systemui/recents/RecentsActivity.java b/packages/SystemUI/src/com/android/systemui/recents/RecentsActivity.java index b74f6ac..e7119f6 100644 --- a/packages/SystemUI/src/com/android/systemui/recents/RecentsActivity.java +++ b/packages/SystemUI/src/com/android/systemui/recents/RecentsActivity.java @@ -28,6 +28,7 @@ import android.content.Intent; import android.content.IntentFilter; import android.os.Bundle; import android.util.Pair; +import android.view.KeyEvent; import android.view.LayoutInflater; import android.view.View; import android.view.WindowManager; @@ -79,9 +80,19 @@ public class RecentsActivity extends Activity implements RecentsView.RecentsView @Override public void onReceive(Context context, Intent intent) { String action = intent.getAction(); - Console.log(Constants.Log.App.SystemUIHandshake, - "[RecentsActivity|serviceBroadcast]", action, Console.AnsiRed); - if (action.equals(RecentsService.ACTION_TOGGLE_RECENTS_ACTIVITY)) { + if (Console.Enabled) { + Console.log(Constants.Log.App.SystemUIHandshake, + "[RecentsActivity|serviceBroadcast]", action, Console.AnsiRed); + } + if (action.equals(RecentsService.ACTION_HIDE_RECENTS_ACTIVITY)) { + if (intent.getBooleanExtra(RecentsService.EXTRA_TRIGGERED_FROM_ALT_TAB, false)) { + // Dismiss recents, launching the focused task + dismissRecentsIfVisible(); + } else { + // Otherwise, just finish the activity without launching any other activities + finish(); + } + } else if (action.equals(RecentsService.ACTION_TOGGLE_RECENTS_ACTIVITY)) { // Try and unfilter and filtered stacks if (!mRecentsView.unfilterFilteredStacks()) { // If there are no filtered stacks, dismiss recents and launch the first task @@ -105,6 +116,8 @@ public class RecentsActivity extends Activity implements RecentsView.RecentsView RecentsConfiguration config = RecentsConfiguration.getInstance(); config.launchedWithThumbnailAnimation = launchIntent.getBooleanExtra( AlternateRecentsComponent.EXTRA_ANIMATING_WITH_THUMBNAIL, false); + config.launchedFromAltTab = launchIntent.getBooleanExtra( + AlternateRecentsComponent.EXTRA_FROM_ALT_TAB, false); RecentsTaskLoader loader = RecentsTaskLoader.getInstance(); SpaceNode root = loader.reload(this, Constants.Values.RecentsTaskLoader.PreloadFirstTasksCount); @@ -153,10 +166,12 @@ public class RecentsActivity extends Activity implements RecentsView.RecentsView ssp.unbindSearchAppWidget(mAppWidgetHost, appWidgetId); appWidgetId = -1; } - Console.log(Constants.Log.App.SystemUIHandshake, - "[RecentsActivity|onCreate|settings|appWidgetId]", - "Id: " + appWidgetId, - Console.AnsiBlue); + if (Console.Enabled) { + Console.log(Constants.Log.App.SystemUIHandshake, + "[RecentsActivity|onCreate|settings|appWidgetId]", + "Id: " + appWidgetId, + Console.AnsiBlue); + } } // If there is no id, then bind a new search app widget @@ -164,10 +179,12 @@ public class RecentsActivity extends Activity implements RecentsView.RecentsView Pair<Integer, AppWidgetProviderInfo> widgetInfo = ssp.bindSearchAppWidget(mAppWidgetHost); if (widgetInfo != null) { - Console.log(Constants.Log.App.SystemUIHandshake, - "[RecentsActivity|onCreate|searchWidget]", - "Id: " + widgetInfo.first + " Info: " + widgetInfo.second, - Console.AnsiBlue); + if (Console.Enabled) { + Console.log(Constants.Log.App.SystemUIHandshake, + "[RecentsActivity|onCreate|searchWidget]", + "Id: " + widgetInfo.first + " Info: " + widgetInfo.second, + Console.AnsiBlue); + } // Save the app widget id into the settings config.updateSearchBarAppWidgetId(this, widgetInfo.first); @@ -183,10 +200,12 @@ public class RecentsActivity extends Activity implements RecentsView.RecentsView RecentsConfiguration config = RecentsConfiguration.getInstance(); int appWidgetId = config.searchBarAppWidgetId; if (appWidgetId >= 0) { - Console.log(Constants.Log.App.SystemUIHandshake, - "[RecentsActivity|onCreate|addSearchAppWidgetView]", - "Id: " + appWidgetId, - Console.AnsiBlue); + if (Console.Enabled) { + Console.log(Constants.Log.App.SystemUIHandshake, + "[RecentsActivity|onCreate|addSearchAppWidgetView]", + "Id: " + appWidgetId, + Console.AnsiBlue); + } mSearchAppWidgetHostView = mAppWidgetHost.createView(this, appWidgetId, mSearchAppWidgetInfo); Bundle opts = new Bundle(); @@ -205,8 +224,10 @@ public class RecentsActivity extends Activity implements RecentsView.RecentsView /** Dismisses recents if we are already visible and the intent is to toggle the recents view */ boolean dismissRecentsIfVisible() { if (mVisible) { - if (!mRecentsView.launchFirstTask()) { - finish(); + if (!mRecentsView.launchFocusedTask()) { + if (!mRecentsView.launchFirstTask()) { + finish(); + } } return true; } @@ -217,11 +238,13 @@ public class RecentsActivity extends Activity implements RecentsView.RecentsView @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - Console.logDivider(Constants.Log.App.SystemUIHandshake); - Console.log(Constants.Log.App.SystemUIHandshake, "[RecentsActivity|onCreate]", - getIntent().getAction() + " visible: " + mVisible, Console.AnsiRed); - Console.logTraceTime(Constants.Log.App.TimeRecentsStartup, - Constants.Log.App.TimeRecentsStartupKey, "onCreate"); + if (Console.Enabled) { + Console.logDivider(Constants.Log.App.SystemUIHandshake); + Console.log(Constants.Log.App.SystemUIHandshake, "[RecentsActivity|onCreate]", + getIntent().getAction() + " visible: " + mVisible, Console.AnsiRed); + Console.logTraceTime(Constants.Log.App.TimeRecentsStartup, + Constants.Log.App.TimeRecentsStartupKey, "onCreate"); + } // Initialize the loader and the configuration RecentsTaskLoader.initialize(this); @@ -236,6 +259,9 @@ public class RecentsActivity extends Activity implements RecentsView.RecentsView mRecentsView.setLayoutParams(new FrameLayout.LayoutParams( FrameLayout.LayoutParams.MATCH_PARENT, FrameLayout.LayoutParams.MATCH_PARENT)); + mRecentsView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_STABLE | + View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | + View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION); // Create the empty view LayoutInflater inflater = LayoutInflater.from(this); @@ -261,11 +287,13 @@ public class RecentsActivity extends Activity implements RecentsView.RecentsView // Reset the task launched flag if we encounter an onNewIntent() before onStop() mTaskLaunched = false; - Console.logDivider(Constants.Log.App.SystemUIHandshake); - Console.log(Constants.Log.App.SystemUIHandshake, "[RecentsActivity|onNewIntent]", - intent.getAction() + " visible: " + mVisible, Console.AnsiRed); - Console.logTraceTime(Constants.Log.App.TimeRecentsStartup, - Constants.Log.App.TimeRecentsStartupKey, "onNewIntent"); + if (Console.Enabled) { + Console.logDivider(Constants.Log.App.SystemUIHandshake); + Console.log(Constants.Log.App.SystemUIHandshake, "[RecentsActivity|onNewIntent]", + intent.getAction() + " visible: " + mVisible, Console.AnsiRed); + Console.logTraceTime(Constants.Log.App.TimeRecentsStartup, + Constants.Log.App.TimeRecentsStartupKey, "onNewIntent"); + } // Initialize the loader and the configuration RecentsTaskLoader.initialize(this); @@ -280,8 +308,10 @@ public class RecentsActivity extends Activity implements RecentsView.RecentsView @Override protected void onStart() { - Console.log(Constants.Log.App.SystemUIHandshake, "[RecentsActivity|onStart]", "", - Console.AnsiRed); + if (Console.Enabled) { + Console.log(Constants.Log.App.SystemUIHandshake, "[RecentsActivity|onStart]", "", + Console.AnsiRed); + } super.onStart(); mAppWidgetHost.startListening(); mVisible = true; @@ -289,20 +319,25 @@ public class RecentsActivity extends Activity implements RecentsView.RecentsView @Override protected void onResume() { - Console.log(Constants.Log.App.SystemUIHandshake, "[RecentsActivity|onResume]", "", - Console.AnsiRed); + if (Console.Enabled) { + Console.log(Constants.Log.App.SystemUIHandshake, "[RecentsActivity|onResume]", "", + Console.AnsiRed); + } super.onResume(); } @Override public void onAttachedToWindow() { - Console.log(Constants.Log.App.SystemUIHandshake, - "[RecentsActivity|onAttachedToWindow]", "", - Console.AnsiRed); + if (Console.Enabled) { + Console.log(Constants.Log.App.SystemUIHandshake, + "[RecentsActivity|onAttachedToWindow]", "", + Console.AnsiRed); + } super.onAttachedToWindow(); // Register the broadcast receiver to handle messages from our service IntentFilter filter = new IntentFilter(); + filter.addAction(RecentsService.ACTION_HIDE_RECENTS_ACTIVITY); filter.addAction(RecentsService.ACTION_TOGGLE_RECENTS_ACTIVITY); registerReceiver(mServiceBroadcastReceiver, filter); @@ -317,9 +352,11 @@ public class RecentsActivity extends Activity implements RecentsView.RecentsView @Override public void onDetachedFromWindow() { - Console.log(Constants.Log.App.SystemUIHandshake, - "[RecentsActivity|onDetachedFromWindow]", "", - Console.AnsiRed); + if (Console.Enabled) { + Console.log(Constants.Log.App.SystemUIHandshake, + "[RecentsActivity|onDetachedFromWindow]", "", + Console.AnsiRed); + } super.onDetachedFromWindow(); // Unregister any broadcast receivers we have registered @@ -330,15 +367,19 @@ public class RecentsActivity extends Activity implements RecentsView.RecentsView @Override protected void onPause() { - Console.log(Constants.Log.App.SystemUIHandshake, "[RecentsActivity|onPause]", "", - Console.AnsiRed); + if (Console.Enabled) { + Console.log(Constants.Log.App.SystemUIHandshake, "[RecentsActivity|onPause]", "", + Console.AnsiRed); + } super.onPause(); } @Override protected void onStop() { - Console.log(Constants.Log.App.SystemUIHandshake, "[RecentsActivity|onStop]", "", - Console.AnsiRed); + if (Console.Enabled) { + Console.log(Constants.Log.App.SystemUIHandshake, "[RecentsActivity|onStop]", "", + Console.AnsiRed); + } super.onStop(); mAppWidgetHost.stopListening(); @@ -348,8 +389,10 @@ public class RecentsActivity extends Activity implements RecentsView.RecentsView @Override protected void onDestroy() { - Console.log(Constants.Log.App.SystemUIHandshake, "[RecentsActivity|onDestroy]", "", - Console.AnsiRed); + if (Console.Enabled) { + Console.log(Constants.Log.App.SystemUIHandshake, "[RecentsActivity|onDestroy]", "", + Console.AnsiRed); + } super.onDestroy(); } @@ -362,19 +405,24 @@ public class RecentsActivity extends Activity implements RecentsView.RecentsView } @Override + public boolean onKeyDown(int keyCode, KeyEvent event) { + if (keyCode == KeyEvent.KEYCODE_TAB) { + // Focus the next task in the stack + final boolean backward = event.isShiftPressed(); + mRecentsView.focusNextTask(!backward); + return true; + } + + return super.onKeyDown(keyCode, event); + } + + @Override public void onBackPressed() { boolean interceptedByInfoPanelClose = false; - // Try and return from any open info panes - if (Constants.DebugFlags.App.EnableInfoPane) { - interceptedByInfoPanelClose = mRecentsView.closeOpenInfoPanes(); - } - - // If we haven't been intercepted already, then unfilter any stacks - if (!interceptedByInfoPanelClose) { - if (!mRecentsView.unfilterFilteredStacks()) { - super.onBackPressed(); - } + // Unfilter any stacks + if (!mRecentsView.unfilterFilteredStacks()) { + super.onBackPressed(); } } diff --git a/packages/SystemUI/src/com/android/systemui/recents/RecentsConfiguration.java b/packages/SystemUI/src/com/android/systemui/recents/RecentsConfiguration.java index 9afc1cb..d899c7b 100644 --- a/packages/SystemUI/src/com/android/systemui/recents/RecentsConfiguration.java +++ b/packages/SystemUI/src/com/android/systemui/recents/RecentsConfiguration.java @@ -65,6 +65,7 @@ public class RecentsConfiguration { public int taskBarViewLightTextColor; public int taskBarViewDarkTextColor; + public boolean launchedFromAltTab; public boolean launchedWithThumbnailAnimation; /** Private constructor */ @@ -94,9 +95,11 @@ public class RecentsConfiguration { Configuration.ORIENTATION_LANDSCAPE; transposeSearchLayoutWithOrientation = res.getBoolean(R.bool.recents_transpose_search_layout_with_orientation); - Console.log(Constants.Log.UI.MeasureAndLayout, - "[RecentsConfiguration|orientation]", isLandscape ? "Landscape" : "Portrait", - Console.AnsiGreen); + if (Console.Enabled) { + Console.log(Constants.Log.UI.MeasureAndLayout, + "[RecentsConfiguration|orientation]", isLandscape ? "Landscape" : "Portrait", + Console.AnsiGreen); + } displayRect.set(0, 0, dm.widthPixels, dm.heightPixels); animationPxMovementPerSecond = diff --git a/packages/SystemUI/src/com/android/systemui/recents/RecentsService.java b/packages/SystemUI/src/com/android/systemui/recents/RecentsService.java index 837cb34..4bdbb20 100644 --- a/packages/SystemUI/src/com/android/systemui/recents/RecentsService.java +++ b/packages/SystemUI/src/com/android/systemui/recents/RecentsService.java @@ -45,8 +45,10 @@ class SystemUIMessageHandler extends Handler { @Override public void handleMessage(Message msg) { - Console.log(Constants.Log.App.SystemUIHandshake, - "[RecentsService|handleMessage]", msg); + if (Console.Enabled) { + Console.log(Constants.Log.App.SystemUIHandshake, + "[RecentsService|handleMessage]", msg); + } Context context = mContext.get(); if (context == null) return; @@ -106,8 +108,14 @@ class SystemUIMessageHandler extends Handler { } catch (RemoteException re) { re.printStackTrace(); } - } else if (msg.what == AlternateRecentsComponent.MSG_CLOSE_RECENTS) { - // Do nothing + } else if (msg.what == AlternateRecentsComponent.MSG_HIDE_RECENTS) { + // Send a broadcast to hide recents + Intent intent = new Intent(RecentsService.ACTION_HIDE_RECENTS_ACTIVITY); + intent.setPackage(context.getPackageName()); + if (msg.arg1 != 0) { + intent.putExtra(RecentsService.EXTRA_TRIGGERED_FROM_ALT_TAB, true); + } + context.sendBroadcast(intent); } else if (msg.what == AlternateRecentsComponent.MSG_TOGGLE_RECENTS) { // Send a broadcast to toggle recents Intent intent = new Intent(RecentsService.ACTION_TOGGLE_RECENTS_ACTIVITY); @@ -125,37 +133,49 @@ class SystemUIMessageHandler extends Handler { /* Service */ public class RecentsService extends Service { + final static String ACTION_HIDE_RECENTS_ACTIVITY = "action_hide_recents_activity"; final static String ACTION_TOGGLE_RECENTS_ACTIVITY = "action_toggle_recents_activity"; + final static String EXTRA_TRIGGERED_FROM_ALT_TAB = "extra_triggered_from_alt_tab"; Messenger mSystemUIMessenger = new Messenger(new SystemUIMessageHandler(this)); @Override public void onCreate() { - Console.log(Constants.Log.App.SystemUIHandshake, "[RecentsService|onCreate]"); + if (Console.Enabled) { + Console.log(Constants.Log.App.SystemUIHandshake, "[RecentsService|onCreate]"); + } super.onCreate(); } @Override public IBinder onBind(Intent intent) { - Console.log(Constants.Log.App.SystemUIHandshake, "[RecentsService|onBind]"); + if (Console.Enabled) { + Console.log(Constants.Log.App.SystemUIHandshake, "[RecentsService|onBind]"); + } return mSystemUIMessenger.getBinder(); } @Override public boolean onUnbind(Intent intent) { - Console.log(Constants.Log.App.SystemUIHandshake, "[RecentsService|onUnbind]"); + if (Console.Enabled) { + Console.log(Constants.Log.App.SystemUIHandshake, "[RecentsService|onUnbind]"); + } return super.onUnbind(intent); } @Override public void onRebind(Intent intent) { - Console.log(Constants.Log.App.SystemUIHandshake, "[RecentsService|onRebind]"); + if (Console.Enabled) { + Console.log(Constants.Log.App.SystemUIHandshake, "[RecentsService|onRebind]"); + } super.onRebind(intent); } @Override public void onDestroy() { - Console.log(Constants.Log.App.SystemUIHandshake, "[RecentsService|onDestroy]"); + if (Console.Enabled) { + Console.log(Constants.Log.App.SystemUIHandshake, "[RecentsService|onDestroy]"); + } super.onDestroy(); } diff --git a/packages/SystemUI/src/com/android/systemui/recents/RecentsTaskLoader.java b/packages/SystemUI/src/com/android/systemui/recents/RecentsTaskLoader.java index 1ca0476..4685186 100644 --- a/packages/SystemUI/src/com/android/systemui/recents/RecentsTaskLoader.java +++ b/packages/SystemUI/src/com/android/systemui/recents/RecentsTaskLoader.java @@ -50,7 +50,9 @@ class TaskResourceLoadQueue { /** Adds a new task to the load queue */ void addTask(Task t, boolean forceLoad) { - Console.log(Constants.Log.App.TaskDataLoader, " [TaskResourceLoadQueue|addTask]"); + if (Console.Enabled) { + Console.log(Constants.Log.App.TaskDataLoader, " [TaskResourceLoadQueue|addTask]"); + } if (!mQueue.contains(t)) { mQueue.add(t); } @@ -67,7 +69,9 @@ class TaskResourceLoadQueue { * force reloaded. */ Pair<Task, Boolean> nextTask() { - Console.log(Constants.Log.App.TaskDataLoader, " [TaskResourceLoadQueue|nextTask]"); + if (Console.Enabled) { + Console.log(Constants.Log.App.TaskDataLoader, " [TaskResourceLoadQueue|nextTask]"); + } Task task = mQueue.poll(); Boolean forceLoadTask = null; if (task != null) { @@ -81,14 +85,18 @@ class TaskResourceLoadQueue { /** Removes a task from the load queue */ void removeTask(Task t) { - Console.log(Constants.Log.App.TaskDataLoader, " [TaskResourceLoadQueue|removeTask]"); + if (Console.Enabled) { + Console.log(Constants.Log.App.TaskDataLoader, " [TaskResourceLoadQueue|removeTask]"); + } mQueue.remove(t); mForceLoadSet.remove(t.key); } /** Clears all the tasks from the load queue */ void clearTasks() { - Console.log(Constants.Log.App.TaskDataLoader, " [TaskResourceLoadQueue|clearTasks]"); + if (Console.Enabled) { + Console.log(Constants.Log.App.TaskDataLoader, " [TaskResourceLoadQueue|clearTasks]"); + } mQueue.clear(); mForceLoadSet.clear(); } @@ -131,7 +139,9 @@ class TaskResourceLoader implements Runnable { /** Restarts the loader thread */ void start(Context context) { - Console.log(Constants.Log.App.TaskDataLoader, "[TaskResourceLoader|start]"); + if (Console.Enabled) { + Console.log(Constants.Log.App.TaskDataLoader, "[TaskResourceLoader|start]"); + } mContext = context; mCancelled = false; mSystemServicesProxy = new SystemServicesProxy(context); @@ -143,7 +153,9 @@ class TaskResourceLoader implements Runnable { /** Requests the loader thread to stop after the current iteration */ void stop() { - Console.log(Constants.Log.App.TaskDataLoader, "[TaskResourceLoader|stop]"); + if (Console.Enabled) { + Console.log(Constants.Log.App.TaskDataLoader, "[TaskResourceLoader|stop]"); + } // Mark as cancelled for the thread to pick up mCancelled = true; mSystemServicesProxy = null; @@ -157,19 +169,25 @@ class TaskResourceLoader implements Runnable { @Override public void run() { while (true) { - Console.log(Constants.Log.App.TaskDataLoader, - "[TaskResourceLoader|run|" + Thread.currentThread().getId() + "]"); - if (mCancelled) { + if (Console.Enabled) { Console.log(Constants.Log.App.TaskDataLoader, - "[TaskResourceLoader|cancel|" + Thread.currentThread().getId() + "]"); + "[TaskResourceLoader|run|" + Thread.currentThread().getId() + "]"); + } + if (mCancelled) { + if (Console.Enabled) { + Console.log(Constants.Log.App.TaskDataLoader, + "[TaskResourceLoader|cancel|" + Thread.currentThread().getId() + "]"); + } // We have to unset the context here, since the background thread may be using it // when we call stop() mContext = null; // If we are cancelled, then wait until we are started again synchronized(mLoadThread) { try { - Console.log(Constants.Log.App.TaskDataLoader, - "[TaskResourceLoader|waitOnLoadThreadCancelled]"); + if (Console.Enabled) { + Console.log(Constants.Log.App.TaskDataLoader, + "[TaskResourceLoader|waitOnLoadThreadCancelled]"); + } mLoadThread.wait(); } catch (InterruptedException ie) { ie.printStackTrace(); @@ -185,10 +203,12 @@ class TaskResourceLoader implements Runnable { if (t != null) { Drawable loadIcon = mApplicationIconCache.get(t.key); Bitmap loadThumbnail = mThumbnailCache.get(t.key); - Console.log(Constants.Log.App.TaskDataLoader, - " [TaskResourceLoader|load]", - t + " icon: " + loadIcon + " thumbnail: " + loadThumbnail + - " forceLoad: " + forceLoadTask); + if (Console.Enabled) { + Console.log(Constants.Log.App.TaskDataLoader, + " [TaskResourceLoader|load]", + t + " icon: " + loadIcon + " thumbnail: " + loadThumbnail + + " forceLoad: " + forceLoadTask); + } // Load the application icon if (loadIcon == null || forceLoadTask) { ActivityInfo info = ssp.getActivityInfo(t.key.baseIntent.getComponent(), @@ -196,9 +216,10 @@ class TaskResourceLoader implements Runnable { Drawable icon = ssp.getActivityIcon(info, t.userId); if (!mCancelled) { if (icon != null) { - Console.log(Constants.Log.App.TaskDataLoader, - " [TaskResourceLoader|loadIcon]", - icon); + if (Console.Enabled) { + Console.log(Constants.Log.App.TaskDataLoader, + " [TaskResourceLoader|loadIcon]", icon); + } loadIcon = icon; mApplicationIconCache.put(t.key, icon); } @@ -209,9 +230,10 @@ class TaskResourceLoader implements Runnable { Bitmap thumbnail = ssp.getTaskThumbnail(t.key.id); if (!mCancelled) { if (thumbnail != null) { - Console.log(Constants.Log.App.TaskDataLoader, - " [TaskResourceLoader|loadThumbnail]", - thumbnail); + if (Console.Enabled) { + Console.log(Constants.Log.App.TaskDataLoader, + " [TaskResourceLoader|loadThumbnail]", thumbnail); + } thumbnail.setHasAlpha(false); loadThumbnail = thumbnail; mThumbnailCache.put(t.key, thumbnail); @@ -239,8 +261,10 @@ class TaskResourceLoader implements Runnable { if (!mCancelled && mLoadQueue.isEmpty()) { synchronized(mLoadQueue) { try { - Console.log(Constants.Log.App.TaskDataLoader, - "[TaskResourceLoader|waitOnLoadQueue]"); + if (Console.Enabled) { + Console.log(Constants.Log.App.TaskDataLoader, + "[TaskResourceLoader|waitOnLoadQueue]"); + } mWaitingOnLoadQueue = true; mLoadQueue.wait(); mWaitingOnLoadQueue = false; @@ -320,9 +344,11 @@ public class RecentsTaskLoader { int thumbnailCacheSize = Constants.DebugFlags.App.DisableBackgroundCache ? 1 : mMaxThumbnailCacheSize; - Console.log(Constants.Log.App.TaskDataLoader, - "[RecentsTaskLoader|init]", "thumbnailCache: " + thumbnailCacheSize + - " iconCache: " + iconCacheSize); + if (Console.Enabled) { + Console.log(Constants.Log.App.TaskDataLoader, + "[RecentsTaskLoader|init]", "thumbnailCache: " + thumbnailCacheSize + + " iconCache: " + iconCacheSize); + } // Initialize the proxy, cache and loaders mSystemServicesProxy = new SystemServicesProxy(context); @@ -338,9 +364,11 @@ public class RecentsTaskLoader { mDefaultThumbnail = Bitmap.createBitmap(1, 1, Bitmap.Config.ARGB_8888); mDefaultThumbnail.eraseColor(0x00000000); mDefaultApplicationIcon = new BitmapDrawable(context.getResources(), icon); - Console.log(Constants.Log.App.TaskDataLoader, - "[RecentsTaskLoader|defaultBitmaps]", - "icon: " + mDefaultApplicationIcon + " thumbnail: " + mDefaultThumbnail, Console.AnsiRed); + if (Console.Enabled) { + Console.log(Constants.Log.App.TaskDataLoader, + "[RecentsTaskLoader|defaultBitmaps]", + "icon: " + mDefaultApplicationIcon + " thumbnail: " + mDefaultThumbnail, Console.AnsiRed); + } } /** Initializes the recents task loader */ @@ -368,11 +396,13 @@ public class RecentsTaskLoader { List<ActivityManager.RecentTaskInfo> tasks = ssp.getRecentTasks(25, UserHandle.CURRENT.getIdentifier()); Collections.reverse(tasks); - Console.log(Constants.Log.App.TimeSystemCalls, - "[RecentsTaskLoader|getRecentTasks]", - "" + (System.currentTimeMillis() - t1) + "ms"); - Console.log(Constants.Log.App.TaskDataLoader, - "[RecentsTaskLoader|tasks]", "" + tasks.size()); + if (Console.Enabled) { + Console.log(Constants.Log.App.TimeSystemCalls, + "[RecentsTaskLoader|getRecentTasks]", + "" + (System.currentTimeMillis() - t1) + "ms"); + Console.log(Constants.Log.App.TaskDataLoader, + "[RecentsTaskLoader|tasks]", "" + tasks.size()); + } return tasks; } @@ -381,7 +411,9 @@ public class RecentsTaskLoader { SpaceNode reload(Context context, int preloadCount) { long t1 = System.currentTimeMillis(); - Console.log(Constants.Log.App.TaskDataLoader, "[RecentsTaskLoader|reload]"); + if (Console.Enabled) { + Console.log(Constants.Log.App.TaskDataLoader, "[RecentsTaskLoader|reload]"); + } Resources res = context.getResources(); ArrayList<Task> tasksToForceLoad = new ArrayList<Task>(); TaskStack stack = new TaskStack(context); @@ -400,15 +432,14 @@ public class RecentsTaskLoader { ActivityInfo info = ssp.getActivityInfo(t.baseIntent.getComponent(), t.userId); if (info == null) continue; - ActivityManager.RecentsActivityValues av = t.activityValues; + ActivityManager.TaskDescription av = t.taskDescription; String activityLabel = null; BitmapDrawable activityIcon = null; int activityColor = 0; if (av != null) { - activityLabel = (av.label != null ? av.label.toString() : - ssp.getActivityLabel(info)); - activityIcon = (av.icon != null) ? new BitmapDrawable(res, av.icon) : null; - activityColor = av.colorPrimary; + activityLabel = (av.getLabel() != null ? av.getLabel() : ssp.getActivityLabel(info)); + activityIcon = (av.getIcon() != null) ? new BitmapDrawable(res, av.getIcon()) : null; + activityColor = av.getPrimaryColor(); } else { activityLabel = ssp.getActivityLabel(info); } @@ -420,9 +451,11 @@ public class RecentsTaskLoader { // Preload the specified number of apps if (i >= (taskCount - preloadCount)) { - Console.log(Constants.Log.App.TaskDataLoader, - "[RecentsTaskLoader|preloadTask]", - "i: " + i + " task: " + t.baseIntent.getComponent().getPackageName()); + if (Console.Enabled) { + Console.log(Constants.Log.App.TaskDataLoader, + "[RecentsTaskLoader|preloadTask]", + "i: " + i + " task: " + t.baseIntent.getComponent().getPackageName()); + } // Load the icon (if possible and not the foremost task, from the cache) if (!isForemostTask) { @@ -452,8 +485,10 @@ public class RecentsTaskLoader { } } if (task.thumbnail == null) { - Console.log(Constants.Log.App.TaskDataLoader, - "[RecentsTaskLoader|loadingTaskThumbnail]"); + if (Console.Enabled) { + Console.log(Constants.Log.App.TaskDataLoader, + "[RecentsTaskLoader|loadingTaskThumbnail]"); + } task.thumbnail = ssp.getTaskThumbnail(task.key.id); if (task.thumbnail != null) { task.thumbnail.setHasAlpha(false); @@ -465,13 +500,17 @@ public class RecentsTaskLoader { } // Add the task to the stack - Console.log(Constants.Log.App.TaskDataLoader, - " [RecentsTaskLoader|task]", t.baseIntent.getComponent().getPackageName()); + if (Console.Enabled) { + Console.log(Constants.Log.App.TaskDataLoader, + " [RecentsTaskLoader|task]", t.baseIntent.getComponent().getPackageName()); + } stack.addTask(task); } - Console.log(Constants.Log.App.TimeSystemCalls, - "[RecentsTaskLoader|getAllTaskTopThumbnail]", - "" + (System.currentTimeMillis() - t1) + "ms"); + if (Console.Enabled) { + Console.log(Constants.Log.App.TimeSystemCalls, + "[RecentsTaskLoader|getAllTaskTopThumbnail]", + "" + (System.currentTimeMillis() - t1) + "ms"); + } /* // Get all the stacks @@ -506,9 +545,11 @@ public class RecentsTaskLoader { Drawable applicationIcon = mApplicationIconCache.get(t.key); Bitmap thumbnail = mThumbnailCache.get(t.key); - Console.log(Constants.Log.App.TaskDataLoader, "[RecentsTaskLoader|loadTask]", - t + " applicationIcon: " + applicationIcon + " thumbnail: " + thumbnail + - " thumbnailCacheSize: " + mThumbnailCache.size()); + if (Console.Enabled) { + Console.log(Constants.Log.App.TaskDataLoader, "[RecentsTaskLoader|loadTask]", + t + " applicationIcon: " + applicationIcon + " thumbnail: " + thumbnail + + " thumbnailCacheSize: " + mThumbnailCache.size()); + } boolean requiresLoad = false; if (applicationIcon == null) { @@ -527,9 +568,11 @@ public class RecentsTaskLoader { /** Releases the task resource data back into the pool. */ public void unloadTaskData(Task t) { - Console.log(Constants.Log.App.TaskDataLoader, - "[RecentsTaskLoader|unloadTask]", t + - " thumbnailCacheSize: " + mThumbnailCache.size()); + if (Console.Enabled) { + Console.log(Constants.Log.App.TaskDataLoader, + "[RecentsTaskLoader|unloadTask]", t + + " thumbnailCacheSize: " + mThumbnailCache.size()); + } mLoadQueue.removeTask(t); t.notifyTaskDataUnloaded(mDefaultThumbnail, mDefaultApplicationIcon); @@ -537,8 +580,10 @@ public class RecentsTaskLoader { /** Completely removes the resource data from the pool. */ public void deleteTaskData(Task t, boolean notifyTaskDataUnloaded) { - Console.log(Constants.Log.App.TaskDataLoader, - "[RecentsTaskLoader|deleteTask]", t); + if (Console.Enabled) { + Console.log(Constants.Log.App.TaskDataLoader, + "[RecentsTaskLoader|deleteTask]", t); + } mLoadQueue.removeTask(t); mThumbnailCache.remove(t.key); @@ -550,7 +595,9 @@ public class RecentsTaskLoader { /** Stops the task loader and clears all pending tasks */ void stopLoader() { - Console.log(Constants.Log.App.TaskDataLoader, "[RecentsTaskLoader|stopLoader]"); + if (Console.Enabled) { + Console.log(Constants.Log.App.TaskDataLoader, "[RecentsTaskLoader|stopLoader]"); + } mLoader.stop(); mLoadQueue.clearTasks(); } @@ -571,8 +618,10 @@ public class RecentsTaskLoader { * out of memory. */ void onTrimMemory(int level) { - Console.log(Constants.Log.App.Memory, "[RecentsTaskLoader|onTrimMemory]", - Console.trimMemoryLevelToString(level)); + if (Console.Enabled) { + Console.log(Constants.Log.App.Memory, "[RecentsTaskLoader|onTrimMemory]", + Console.trimMemoryLevelToString(level)); + } switch (level) { case ComponentCallbacks2.TRIM_MEMORY_UI_HIDDEN: diff --git a/packages/SystemUI/src/com/android/systemui/recents/SystemServicesProxy.java b/packages/SystemUI/src/com/android/systemui/recents/SystemServicesProxy.java index 8d82883..7a3ffb8 100644 --- a/packages/SystemUI/src/com/android/systemui/recents/SystemServicesProxy.java +++ b/packages/SystemUI/src/com/android/systemui/recents/SystemServicesProxy.java @@ -96,18 +96,20 @@ public class SystemServicesProxy { int packageIndex = i % Constants.DebugFlags.App.SystemServicesProxyMockPackageCount; ComponentName cn = new ComponentName("com.android.test" + packageIndex, "com.android.test" + i + ".Activity"); + String description = "" + i + " - " + + Long.toString(Math.abs(new Random().nextLong()), 36); // Create the recent task info ActivityManager.RecentTaskInfo rti = new ActivityManager.RecentTaskInfo(); rti.id = rti.persistentId = i; rti.baseIntent = new Intent(); rti.baseIntent.setComponent(cn); - rti.activityValues = new ActivityManager.RecentsActivityValues(); - rti.description = "" + i + " - " + - Long.toString(Math.abs(new Random().nextLong()), 36); + rti.description = description; if (i % 2 == 0) { - rti.activityValues.label = rti.description; - rti.activityValues.icon = Bitmap.createBitmap(mDummyIcon); - rti.activityValues.colorPrimary = new Random().nextInt(); + rti.taskDescription = new ActivityManager.TaskDescription(description, + Bitmap.createBitmap(mDummyIcon), + 0xFF000000 | (0xFFFFFF & new Random().nextInt())); + } else { + rti.taskDescription = new ActivityManager.TaskDescription(); } tasks.add(rti); } diff --git a/packages/SystemUI/src/com/android/systemui/recents/views/RecentsView.java b/packages/SystemUI/src/com/android/systemui/recents/views/RecentsView.java index a6d7e67..cad9ce5 100644 --- a/packages/SystemUI/src/com/android/systemui/recents/views/RecentsView.java +++ b/packages/SystemUI/src/com/android/systemui/recents/views/RecentsView.java @@ -30,6 +30,7 @@ import android.os.UserHandle; import android.provider.Settings; import android.view.LayoutInflater; import android.view.View; +import android.view.WindowInsets; import android.widget.FrameLayout; import com.android.systemui.recents.Console; import com.android.systemui.recents.Constants; @@ -94,6 +95,38 @@ public class RecentsView extends FrameLayout implements TaskStackView.TaskStackV } } + /** Launches the focused task from the first stack if possible */ + public boolean launchFocusedTask() { + // Get the first stack view + int childCount = getChildCount(); + for (int i = 0; i < childCount; i++) { + View child = getChildAt(i); + if (child instanceof TaskStackView) { + TaskStackView stackView = (TaskStackView) child; + TaskStack stack = stackView.mStack; + // Iterate the stack views and try and find the focused task + int taskCount = stackView.getChildCount(); + for (int j = 0; j < taskCount; j++) { + TaskView tv = (TaskView) stackView.getChildAt(j); + Task task = tv.getTask(); + if (tv.isFocusedTask()) { + if (Console.Enabled) { + Console.log(Constants.Log.UI.Focus, "[RecentsView|launchFocusedTask]", + "Found focused Task"); + } + onTaskLaunched(stackView, tv, stack, task); + return true; + } + } + } + } + if (Console.Enabled) { + Console.log(Constants.Log.UI.Focus, "[RecentsView|launchFocusedTask]", + "No Tasks focused"); + } + return false; + } + /** Launches the first task from the first stack if possible */ public boolean launchFirstTask() { // Get the first stack view @@ -139,9 +172,11 @@ public class RecentsView extends FrameLayout implements TaskStackView.TaskStackV mSearchBar.setVisibility(mHasTasks ? View.VISIBLE : View.GONE); addView(mSearchBar); - Console.log(Constants.Log.App.SystemUIHandshake, "[RecentsView|setSearchBar]", - "" + (mSearchBar.getVisibility() == View.VISIBLE), - Console.AnsiBlue); + if (Console.Enabled) { + Console.log(Constants.Log.App.SystemUIHandshake, "[RecentsView|setSearchBar]", + "" + (mSearchBar.getVisibility() == View.VISIBLE), + Console.AnsiBlue); + } } } } @@ -156,10 +191,12 @@ public class RecentsView extends FrameLayout implements TaskStackView.TaskStackV int height = MeasureSpec.getSize(heightMeasureSpec); int heightMode = MeasureSpec.getMode(heightMeasureSpec); - Console.log(Constants.Log.UI.MeasureAndLayout, "[RecentsView|measure]", - "width: " + width + " height: " + height, Console.AnsiGreen); - Console.logTraceTime(Constants.Log.App.TimeRecentsStartup, - Constants.Log.App.TimeRecentsStartupKey, "RecentsView.onMeasure"); + if (Console.Enabled) { + Console.log(Constants.Log.UI.MeasureAndLayout, "[RecentsView|measure]", + "width: " + width + " height: " + height, Console.AnsiGreen); + Console.logTraceTime(Constants.Log.App.TimeRecentsStartup, + Constants.Log.App.TimeRecentsStartupKey, "RecentsView.onMeasure"); + } // Get the search bar bounds and measure the search bar layout RecentsConfiguration config = RecentsConfiguration.getInstance(); @@ -198,10 +235,12 @@ public class RecentsView extends FrameLayout implements TaskStackView.TaskStackV */ @Override protected void onLayout(boolean changed, int left, int top, int right, int bottom) { - Console.log(Constants.Log.UI.MeasureAndLayout, "[RecentsView|layout]", - new Rect(left, top, right, bottom) + " changed: " + changed, Console.AnsiGreen); - Console.logTraceTime(Constants.Log.App.TimeRecentsStartup, - Constants.Log.App.TimeRecentsStartupKey, "RecentsView.onLayout"); + if (Console.Enabled) { + Console.log(Constants.Log.UI.MeasureAndLayout, "[RecentsView|layout]", + new Rect(left, top, right, bottom) + " changed: " + changed, Console.AnsiGreen); + Console.logTraceTime(Constants.Log.App.TimeRecentsStartup, + Constants.Log.App.TimeRecentsStartupKey, "RecentsView.onLayout"); + } // Get the search bar bounds so that we lay it out RecentsConfiguration config = RecentsConfiguration.getInstance(); @@ -234,42 +273,46 @@ public class RecentsView extends FrameLayout implements TaskStackView.TaskStackV } } + /** Focuses the next task in the first stack view */ + public void focusNextTask(boolean forward) { + // Get the first stack view + TaskStackView stackView = null; + int childCount = getChildCount(); + for (int i = 0; i < childCount; i++) { + View child = getChildAt(i); + if (child instanceof TaskStackView) { + stackView = (TaskStackView) child; + break; + } + } + + if (stackView != null) { + stackView.focusNextTask(forward); + } + } + @Override protected void dispatchDraw(Canvas canvas) { - Console.log(Constants.Log.UI.Draw, "[RecentsView|dispatchDraw]", "", - Console.AnsiPurple); + if (Console.Enabled) { + Console.log(Constants.Log.UI.Draw, "[RecentsView|dispatchDraw]", "", + Console.AnsiPurple); + } super.dispatchDraw(canvas); } @Override - protected boolean fitSystemWindows(Rect insets) { - Console.log(Constants.Log.UI.MeasureAndLayout, - "[RecentsView|fitSystemWindows]", "insets: " + insets, Console.AnsiGreen); + public WindowInsets onApplyWindowInsets(WindowInsets insets) { + if (Console.Enabled) { + Console.log(Constants.Log.UI.MeasureAndLayout, + "[RecentsView|fitSystemWindows]", "insets: " + insets, Console.AnsiGreen); + } // Update the configuration with the latest system insets and trigger a relayout RecentsConfiguration config = RecentsConfiguration.getInstance(); - config.updateSystemInsets(insets); + config.updateSystemInsets(insets.getSystemWindowInsets()); requestLayout(); - return true; - } - - /** Closes any open info panes */ - public boolean closeOpenInfoPanes() { - if (mBSP != null) { - // Get the first stack view - int childCount = getChildCount(); - for (int i = 0; i < childCount; i++) { - View child = getChildAt(i); - if (child instanceof TaskStackView) { - TaskStackView stackView = (TaskStackView) child; - if (stackView.closeOpenInfoPanes()) { - return true; - } - } - } - } - return false; + return insets.consumeSystemWindowInsets(false, false, false, true); } /** Unfilters any filtered stacks */ @@ -299,9 +342,6 @@ public class RecentsView extends FrameLayout implements TaskStackView.TaskStackV mCb.onTaskLaunching(); } - // Close any open info panes - closeOpenInfoPanes(); - final Runnable launchRunnable = new Runnable() { @Override public void run() { diff --git a/packages/SystemUI/src/com/android/systemui/recents/views/SwipeHelper.java b/packages/SystemUI/src/com/android/systemui/recents/views/SwipeHelper.java index c34300c..3ee0545 100644 --- a/packages/SystemUI/src/com/android/systemui/recents/views/SwipeHelper.java +++ b/packages/SystemUI/src/com/android/systemui/recents/views/SwipeHelper.java @@ -178,9 +178,11 @@ public class SwipeHelper { } public boolean onInterceptTouchEvent(MotionEvent ev) { - Console.log(Constants.Log.UI.TouchEvents, - "[SwipeHelper|interceptTouchEvent]", - Console.motionEventActionToString(ev.getAction()), Console.AnsiBlue); + if (Console.Enabled) { + Console.log(Constants.Log.UI.TouchEvents, + "[SwipeHelper|interceptTouchEvent]", + Console.motionEventActionToString(ev.getAction()), Console.AnsiBlue); + } final int action = ev.getAction(); switch (action) { @@ -291,9 +293,11 @@ public class SwipeHelper { } public boolean onTouchEvent(MotionEvent ev) { - Console.log(Constants.Log.UI.TouchEvents, - "[SwipeHelper|touchEvent]", - Console.motionEventActionToString(ev.getAction()), Console.AnsiBlue); + if (Console.Enabled) { + Console.log(Constants.Log.UI.TouchEvents, + "[SwipeHelper|touchEvent]", + Console.motionEventActionToString(ev.getAction()), Console.AnsiBlue); + } if (!mDragging) { if (!onInterceptTouchEvent(ev)) { diff --git a/packages/SystemUI/src/com/android/systemui/recents/views/TaskInfoView.java b/packages/SystemUI/src/com/android/systemui/recents/views/TaskInfoView.java deleted file mode 100644 index f1c362a..0000000 --- a/packages/SystemUI/src/com/android/systemui/recents/views/TaskInfoView.java +++ /dev/null @@ -1,185 +0,0 @@ -/* - * Copyright (C) 2014 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.android.systemui.recents.views; - -import android.animation.Animator; -import android.animation.AnimatorListenerAdapter; -import android.animation.ObjectAnimator; -import android.content.Context; -import android.content.res.ColorStateList; -import android.graphics.Canvas; -import android.graphics.Path; -import android.graphics.Point; -import android.graphics.Rect; -import android.graphics.drawable.TouchFeedbackDrawable; -import android.util.AttributeSet; -import android.widget.Button; -import android.widget.FrameLayout; -import com.android.systemui.R; -import com.android.systemui.recents.Constants; -import com.android.systemui.recents.RecentsConfiguration; -import com.android.systemui.recents.Utilities; -import com.android.systemui.recents.model.Task; - - -/* The task info view */ -class TaskInfoView extends FrameLayout { - - Button mAppInfoButton; - - // Circular clip animation - boolean mCircularClipEnabled; - Path mClipPath = new Path(); - float mClipRadius; - float mMaxClipRadius; - Point mClipOrigin = new Point(); - ObjectAnimator mCircularClipAnimator; - - public TaskInfoView(Context context) { - this(context, null); - } - - public TaskInfoView(Context context, AttributeSet attrs) { - this(context, attrs, 0); - } - - public TaskInfoView(Context context, AttributeSet attrs, int defStyleAttr) { - this(context, attrs, defStyleAttr, 0); - } - - public TaskInfoView(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) { - super(context, attrs, defStyleAttr, defStyleRes); - } - - @Override - protected void onFinishInflate() { - // Initialize the buttons on the info panel - mAppInfoButton = (Button) findViewById(R.id.task_view_app_info_button); - } - - /** Updates the positions of each of the items to fit in the rect specified */ - void updateContents(Rect visibleRect) { - // Offset the app info button - mAppInfoButton.setTranslationY(visibleRect.top + - (visibleRect.height() - mAppInfoButton.getMeasuredHeight()) / 2); - } - - /** Sets the circular clip radius on this panel */ - public void setCircularClipRadius(float r) { - mClipRadius = r; - invalidate(); - } - - /** Gets the circular clip radius on this panel */ - public float getCircularClipRadius() { - return mClipRadius; - } - - /** Animates the circular clip radius on the icon */ - void animateCircularClip(Point o, float fromRadius, float toRadius, - final Runnable postRunnable, boolean animateInContent) { - if (mCircularClipAnimator != null) { - mCircularClipAnimator.cancel(); - } - - // Calculate the max clip radius to each of the corners - int w = getMeasuredWidth() - o.x; - int h = getMeasuredHeight() - o.y; - // origin to tl, tr, br, bl - mMaxClipRadius = (int) Math.ceil(Math.sqrt(o.x * o.x + o.y * o.y)); - mMaxClipRadius = (int) Math.max(mMaxClipRadius, Math.ceil(Math.sqrt(w * w + o.y * o.y))); - mMaxClipRadius = (int) Math.max(mMaxClipRadius, Math.ceil(Math.sqrt(w * w + h * h))); - mMaxClipRadius = (int) Math.max(mMaxClipRadius, Math.ceil(Math.sqrt(o.x * o.x + h * h))); - - mClipOrigin.set(o.x, o.y); - mClipRadius = fromRadius; - int duration = Utilities.calculateTranslationAnimationDuration((int) mMaxClipRadius); - mCircularClipAnimator = ObjectAnimator.ofFloat(this, "circularClipRadius", toRadius); - mCircularClipAnimator.setDuration(duration); - mCircularClipAnimator.setInterpolator( - RecentsConfiguration.getInstance().defaultBezierInterpolator); - mCircularClipAnimator.addListener(new AnimatorListenerAdapter() { - @Override - public void onAnimationEnd(Animator animation) { - mCircularClipEnabled = false; - if (postRunnable != null) { - postRunnable.run(); - } - } - }); - mCircularClipAnimator.start(); - mCircularClipEnabled = true; - - if (animateInContent) { - animateAppInfoButtonIn(duration); - } - } - - /** Cancels the circular clip animation. */ - void cancelCircularClipAnimation() { - if (mCircularClipAnimator != null) { - mCircularClipAnimator.cancel(); - } - } - - void animateAppInfoButtonIn(int duration) { - mAppInfoButton.setScaleX(0.75f); - mAppInfoButton.setScaleY(0.75f); - mAppInfoButton.animate() - .scaleX(1f) - .scaleY(1f) - .setDuration(duration) - .setInterpolator(RecentsConfiguration.getInstance().defaultBezierInterpolator) - .withLayer() - .start(); - } - - /** Binds the info view to the task */ - void rebindToTask(Task t, boolean animate) { - RecentsConfiguration configuration = RecentsConfiguration.getInstance(); - if (Constants.DebugFlags.App.EnableTaskBarThemeColors && t.colorPrimary != 0) { - setBackgroundColor(t.colorPrimary); - // Workaround: The button currently doesn't support setting a custom background tint - // not defined in the theme. Just lower the alpha on the button to make it blend more - // into the background. - if (mAppInfoButton.getBackground() instanceof TouchFeedbackDrawable) { - TouchFeedbackDrawable d = (TouchFeedbackDrawable) mAppInfoButton.getBackground(); - if (d != null) { - d.setAlpha(96); - } - } - } else { - setBackgroundColor(configuration.taskBarViewDefaultBackgroundColor); - } - } - - @Override - public void draw(Canvas canvas) { - int saveCount = 0; - if (mCircularClipEnabled) { - saveCount = canvas.save(Canvas.CLIP_SAVE_FLAG); - mClipPath.reset(); - mClipPath.addCircle(mClipOrigin.x, mClipOrigin.y, mClipRadius * mMaxClipRadius, - Path.Direction.CW); - canvas.clipPath(mClipPath); - } - super.draw(canvas); - if (mCircularClipEnabled) { - canvas.restoreToCount(saveCount); - } - } -} diff --git a/packages/SystemUI/src/com/android/systemui/recents/views/TaskStackView.java b/packages/SystemUI/src/com/android/systemui/recents/views/TaskStackView.java index b64225e..3e418ca 100644 --- a/packages/SystemUI/src/com/android/systemui/recents/views/TaskStackView.java +++ b/packages/SystemUI/src/com/android/systemui/recents/views/TaskStackView.java @@ -54,7 +54,7 @@ import java.util.Set; /* The visual representation of a task stack view */ public class TaskStackView extends FrameLayout implements TaskStack.TaskStackCallbacks, TaskView.TaskViewCallbacks, ViewPool.ViewPoolConsumer<TaskView, Task>, - View.OnClickListener, View.OnLongClickListener, RecentsPackageMonitor.PackageCallbacks { + View.OnClickListener, RecentsPackageMonitor.PackageCallbacks { /** The TaskView callbacks */ interface TaskStackViewCallbacks { @@ -79,7 +79,7 @@ public class TaskStackView extends FrameLayout implements TaskStack.TaskStackCal int mMinScroll; int mMaxScroll; int mStashedScroll; - int mLastInfoPaneStackScroll; + int mFocusedTaskIndex = -1; OverScroller mScroller; ObjectAnimator mScrollAnimator; @@ -113,8 +113,10 @@ public class TaskStackView extends FrameLayout implements TaskStack.TaskStackCal requestSynchronizeStackViewsWithModel(0); } void requestSynchronizeStackViewsWithModel(int duration) { - Console.log(Constants.Log.TaskStack.SynchronizeViewsWithModel, - "[TaskStackView|requestSynchronize]", "" + duration + "ms", Console.AnsiYellow); + if (Console.Enabled) { + Console.log(Constants.Log.TaskStack.SynchronizeViewsWithModel, + "[TaskStackView|requestSynchronize]", "" + duration + "ms", Console.AnsiYellow); + } if (!mStackViewsDirty) { invalidate(); } @@ -221,9 +223,11 @@ public class TaskStackView extends FrameLayout implements TaskStack.TaskStackCal /** Synchronizes the views with the model */ void synchronizeStackViewsWithModel() { - Console.log(Constants.Log.TaskStack.SynchronizeViewsWithModel, - "[TaskStackView|synchronizeViewsWithModel]", - "mStackViewsDirty: " + mStackViewsDirty, Console.AnsiYellow); + if (Console.Enabled) { + Console.log(Constants.Log.TaskStack.SynchronizeViewsWithModel, + "[TaskStackView|synchronizeViewsWithModel]", + "mStackViewsDirty: " + mStackViewsDirty, Console.AnsiYellow); + } if (mStackViewsDirty) { // XXX: Consider using TaskViewTransform pool to prevent allocations // XXX: Iterate children views, update transforms and remove all that are not visible @@ -277,8 +281,10 @@ public class TaskStackView extends FrameLayout implements TaskStack.TaskStackCal } } - Console.log(Constants.Log.TaskStack.SynchronizeViewsWithModel, - " [TaskStackView|viewChildren]", "" + getChildCount()); + if (Console.Enabled) { + Console.log(Constants.Log.TaskStack.SynchronizeViewsWithModel, + " [TaskStackView|viewChildren]", "" + getChildCount()); + } mStackViewsAnimationDuration = 0; mStackViewsDirty = false; @@ -289,23 +295,21 @@ public class TaskStackView extends FrameLayout implements TaskStack.TaskStackCal public void setStackScroll(int value) { mStackScroll = value; requestSynchronizeStackViewsWithModel(); - - // Close any open info panes if the user has scrolled away from them - boolean isAnimatingScroll = (mScrollAnimator != null && mScrollAnimator.isRunning()); - if (mLastInfoPaneStackScroll > -1 && !isAnimatingScroll) { - RecentsConfiguration config = RecentsConfiguration.getInstance(); - if (Math.abs(mStackScroll - mLastInfoPaneStackScroll) > - config.taskStackScrollDismissInfoPaneDistance) { - // Close any open info panes - closeOpenInfoPanes(); - } - } } /** Sets the current stack scroll without synchronizing the stack view with the model */ public void setStackScrollRaw(int value) { mStackScroll = value; } + /** + * Returns the scroll to such that the task transform at that index will have t=0. (If the scroll + * is not bounded) + */ + int getStackScrollForTaskIndex(int i) { + int taskHeight = mTaskRect.height(); + return (int) (i * Constants.Values.TaskStackView.StackOverlapPct * taskHeight); + } + /** Gets the current stack scroll */ public int getStackScroll() { return mStackScroll; @@ -445,26 +449,80 @@ public class TaskStackView extends FrameLayout implements TaskStack.TaskStackCal } } - /** Closes any open info panes. */ - boolean closeOpenInfoPanes() { - if (!Constants.DebugFlags.App.EnableInfoPane) return false; + /** Focuses the task at the specified index in the stack */ + void focusTask(int taskIndex, boolean scrollToNewPosition) { + if (Console.Enabled) { + Console.log(Constants.Log.UI.Focus, "[TaskStackView|focusTask]", "" + taskIndex); + } + if (0 <= taskIndex && taskIndex < mStack.getTaskCount()) { + mFocusedTaskIndex = taskIndex; + + // Focus the view if possible, otherwise, focus the view after we scroll into position + Task t = mStack.getTasks().get(taskIndex); + TaskView tv = getChildViewForTask(t); + Runnable postScrollRunnable = null; + if (tv != null) { + tv.setFocusedTask(); + if (Console.Enabled) { + Console.log(Constants.Log.UI.Focus, "[TaskStackView|focusTask]", "Requesting focus"); + } + } else { + postScrollRunnable = new Runnable() { + @Override + public void run() { + Task t = mStack.getTasks().get(mFocusedTaskIndex); + TaskView tv = getChildViewForTask(t); + if (tv != null) { + tv.setFocusedTask(); + if (Console.Enabled) { + Console.log(Constants.Log.UI.Focus, "[TaskStackView|focusTask]", + "Requesting focus after scroll animation"); + } + } + } + }; + } + + if (scrollToNewPosition) { + // Scroll the view into position + int newScroll = Math.max(mMinScroll, Math.min(mMaxScroll, + getStackScrollForTaskIndex(taskIndex))); - int childCount = getChildCount(); - for (int i = 0; i < childCount; i++) { - TaskView tv = (TaskView) getChildAt(i); - if (tv.isInfoPaneVisible()) { - tv.hideInfoPane(); - return true; + animateScroll(getStackScroll(), newScroll, postScrollRunnable); + } else { + if (postScrollRunnable != null) { + postScrollRunnable.run(); + } } } - return false; + } + + /** Focuses the next task in the stack */ + void focusNextTask(boolean forward) { + if (Console.Enabled) { + Console.log(Constants.Log.UI.Focus, "[TaskStackView|focusNextTask]", "" + + mFocusedTaskIndex); + } + + // Find the next index to focus + int numTasks = mStack.getTaskCount(); + if (mFocusedTaskIndex < 0) { + mFocusedTaskIndex = numTasks - 1; + } + if (0 <= mFocusedTaskIndex && mFocusedTaskIndex < numTasks) { + mFocusedTaskIndex = Math.max(0, Math.min(numTasks - 1, + mFocusedTaskIndex + (forward ? -1 : 1))); + } + focusTask(mFocusedTaskIndex, true); } /** Enables the hw layers and increments the hw layer requirement ref count */ void addHwLayersRefCount(String reason) { - Console.log(Constants.Log.UI.HwLayers, - "[TaskStackView|addHwLayersRefCount] refCount: " + - mHwLayersRefCount + "->" + (mHwLayersRefCount + 1) + " " + reason); + if (Console.Enabled) { + Console.log(Constants.Log.UI.HwLayers, + "[TaskStackView|addHwLayersRefCount] refCount: " + + mHwLayersRefCount + "->" + (mHwLayersRefCount + 1) + " " + reason); + } if (mHwLayersRefCount == 0) { // Enable hw layers on each of the children int childCount = getChildCount(); @@ -479,9 +537,11 @@ public class TaskStackView extends FrameLayout implements TaskStack.TaskStackCal /** Decrements the hw layer requirement ref count and disables the hw layers when we don't need them anymore. */ void decHwLayersRefCount(String reason) { - Console.log(Constants.Log.UI.HwLayers, - "[TaskStackView|decHwLayersRefCount] refCount: " + - mHwLayersRefCount + "->" + (mHwLayersRefCount - 1) + " " + reason); + if (Console.Enabled) { + Console.log(Constants.Log.UI.HwLayers, + "[TaskStackView|decHwLayersRefCount] refCount: " + + mHwLayersRefCount + "->" + (mHwLayersRefCount - 1) + " " + reason); + } mHwLayersRefCount--; if (mHwLayersRefCount == 0) { // Disable hw layers on each of the children @@ -521,8 +581,10 @@ public class TaskStackView extends FrameLayout implements TaskStack.TaskStackCal @Override public void dispatchDraw(Canvas canvas) { - Console.log(Constants.Log.UI.Draw, "[TaskStackView|dispatchDraw]", "", - Console.AnsiPurple); + if (Console.Enabled) { + Console.log(Constants.Log.UI.Draw, "[TaskStackView|dispatchDraw]", "", + Console.AnsiPurple); + } synchronizeStackViewsWithModel(); super.dispatchDraw(canvas); } @@ -606,9 +668,11 @@ public class TaskStackView extends FrameLayout implements TaskStack.TaskStackCal protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { int width = MeasureSpec.getSize(widthMeasureSpec); int height = MeasureSpec.getSize(heightMeasureSpec); - Console.log(Constants.Log.UI.MeasureAndLayout, "[TaskStackView|measure]", - "width: " + width + " height: " + height + - " awaitingFirstLayout: " + mAwaitingFirstLayout, Console.AnsiGreen); + if (Console.Enabled) { + Console.log(Constants.Log.UI.MeasureAndLayout, "[TaskStackView|measure]", + "width: " + width + " height: " + height + + " awaitingFirstLayout: " + mAwaitingFirstLayout, Console.AnsiGreen); + } // Compute our stack/task rects RecentsConfiguration config = RecentsConfiguration.getInstance(); @@ -631,6 +695,11 @@ public class TaskStackView extends FrameLayout implements TaskStack.TaskStackCal requestSynchronizeStackViewsWithModel(); synchronizeStackViewsWithModel(); + // Update the focused task index to be the next item to the top task + if (config.launchedFromAltTab) { + focusTask(Math.max(0, mStack.getTaskCount() - 2), false); + } + // Animate the task bar of the first task view if (config.launchedWithThumbnailAnimation) { TaskView tv = (TaskView) getChildAt(getChildCount() - 1); @@ -658,8 +727,10 @@ public class TaskStackView extends FrameLayout implements TaskStack.TaskStackCal */ @Override protected void onLayout(boolean changed, int left, int top, int right, int bottom) { - Console.log(Constants.Log.UI.MeasureAndLayout, "[TaskStackView|layout]", - "" + new Rect(left, top, right, bottom), Console.AnsiGreen); + if (Console.Enabled) { + Console.log(Constants.Log.UI.MeasureAndLayout, "[TaskStackView|layout]", + "" + new Rect(left, top, right, bottom), Console.AnsiGreen); + } // Debug logging if (Constants.Log.UI.MeasureAndLayout) { @@ -876,9 +947,6 @@ public class TaskStackView extends FrameLayout implements TaskStack.TaskStackCal @Override public void onStackFiltered(TaskStack newStack, final ArrayList<Task> curTasks, Task filteredTask) { - // Close any open info panes - closeOpenInfoPanes(); - // Stash the scroll and filtered task for us to restore to when we unfilter mStashedScroll = getStackScroll(); @@ -903,9 +971,6 @@ public class TaskStackView extends FrameLayout implements TaskStack.TaskStackCal @Override public void onStackUnfiltered(TaskStack newStack, final ArrayList<Task> curTasks) { - // Close any open info panes - closeOpenInfoPanes(); - // Calculate the current task transforms final ArrayList<TaskViewTransform> curTaskTransforms = getStackTransforms(curTasks, getStackScroll(), null, true); @@ -931,7 +996,9 @@ public class TaskStackView extends FrameLayout implements TaskStack.TaskStackCal @Override public TaskView createView(Context context) { - Console.log(Constants.Log.ViewPool.PoolCallbacks, "[TaskStackView|createPoolView]"); + if (Console.Enabled) { + Console.log(Constants.Log.ViewPool.PoolCallbacks, "[TaskStackView|createPoolView]"); + } return (TaskView) mInflater.inflate(R.layout.recents_task_view, this, false); } @@ -939,8 +1006,10 @@ public class TaskStackView extends FrameLayout implements TaskStack.TaskStackCal public void prepareViewToEnterPool(TaskView tv) { Task task = tv.getTask(); tv.resetViewProperties(); - Console.log(Constants.Log.ViewPool.PoolCallbacks, "[TaskStackView|returnToPool]", - tv.getTask() + " tv: " + tv); + if (Console.Enabled) { + Console.log(Constants.Log.ViewPool.PoolCallbacks, "[TaskStackView|returnToPool]", + tv.getTask() + " tv: " + tv); + } // Report that this tasks's data is no longer being used RecentsTaskLoader loader = RecentsTaskLoader.getInstance(); @@ -955,8 +1024,10 @@ public class TaskStackView extends FrameLayout implements TaskStack.TaskStackCal @Override public void prepareViewToLeavePool(TaskView tv, Task prepareData, boolean isNewView) { - Console.log(Constants.Log.ViewPool.PoolCallbacks, "[TaskStackView|leavePool]", - "isNewView: " + isNewView); + if (Console.Enabled) { + Console.log(Constants.Log.ViewPool.PoolCallbacks, "[TaskStackView|leavePool]", + "isNewView: " + isNewView); + } // Setup and attach the view to the window Task task = prepareData; @@ -978,16 +1049,15 @@ public class TaskStackView extends FrameLayout implements TaskStack.TaskStackCal } // Add/attach the view to the hierarchy - Console.log(Constants.Log.ViewPool.PoolCallbacks, " [TaskStackView|insertIndex]", - "" + insertIndex); + if (Console.Enabled) { + Console.log(Constants.Log.ViewPool.PoolCallbacks, " [TaskStackView|insertIndex]", + "" + insertIndex); + } if (isNewView) { addView(tv, insertIndex); // Set the callbacks and listeners for this new view tv.setOnClickListener(this); - if (Constants.DebugFlags.App.EnableInfoPane) { - tv.setOnLongClickListener(this); - } tv.setCallbacks(this); } else { attachViewToParent(tv, insertIndex, tv.getLayoutParams()); @@ -1008,9 +1078,11 @@ public class TaskStackView extends FrameLayout implements TaskStack.TaskStackCal @Override public void onTaskIconClicked(TaskView tv) { - Console.log(Constants.Log.UI.ClickEvents, "[TaskStack|Clicked|Icon]", - tv.getTask() + " is currently filtered: " + mStack.hasFilteredTasks(), - Console.AnsiCyan); + if (Console.Enabled) { + Console.log(Constants.Log.UI.ClickEvents, "[TaskStack|Clicked|Icon]", + tv.getTask() + " is currently filtered: " + mStack.hasFilteredTasks(), + Console.AnsiCyan); + } if (Constants.DebugFlags.App.EnableTaskFiltering) { if (mStack.hasFilteredTasks()) { mStack.unfilterTasks(); @@ -1021,17 +1093,6 @@ public class TaskStackView extends FrameLayout implements TaskStack.TaskStackCal } @Override - public void onTaskInfoPanelShown(TaskView tv) { - // Do nothing - } - - @Override - public void onTaskInfoPanelHidden(TaskView tv) { - // Unset the saved scroll - mLastInfoPaneStackScroll = -1; - } - - @Override public void onTaskAppInfoClicked(TaskView tv) { if (mCb != null) { mCb.onTaskAppInfoLaunched(tv.getTask()); @@ -1053,12 +1114,9 @@ public class TaskStackView extends FrameLayout implements TaskStack.TaskStackCal public void onClick(View v) { TaskView tv = (TaskView) v; Task task = tv.getTask(); - Console.log(Constants.Log.UI.ClickEvents, "[TaskStack|Clicked|Thumbnail]", - task + " cb: " + mCb); - - // Close any open info panes if the user taps on another task - if (closeOpenInfoPanes()) { - return; + if (Console.Enabled) { + Console.log(Constants.Log.UI.ClickEvents, "[TaskStack|Clicked|Thumbnail]", + task + " cb: " + mCb); } if (mCb != null) { @@ -1066,42 +1124,6 @@ public class TaskStackView extends FrameLayout implements TaskStack.TaskStackCal } } - @Override - public boolean onLongClick(View v) { - if (!Constants.DebugFlags.App.EnableInfoPane) return false; - - TaskView tv = (TaskView) v; - - // Close any other task info panels if we launch another info pane - closeOpenInfoPanes(); - - // Scroll the task view so that it is maximally visible - float overlapHeight = Constants.Values.TaskStackView.StackOverlapPct * mTaskRect.height(); - int taskIndex = mStack.indexOfTask(tv.getTask()); - int curScroll = getStackScroll(); - int newScroll = (int) Math.max(mMinScroll, Math.min(mMaxScroll, taskIndex * overlapHeight)); - TaskViewTransform transform = getStackTransform(taskIndex, curScroll); - Rect nonOverlapRect = new Rect(transform.rect); - if (taskIndex < (mStack.getTaskCount() - 1)) { - nonOverlapRect.bottom = nonOverlapRect.top + (int) overlapHeight; - } - - // XXX: Use HW Layers - if (transform.t < 0f) { - animateScroll(curScroll, newScroll, null); - } else if (nonOverlapRect.bottom > mStackRectSansPeek.bottom) { - // Check if we are out of bounds, if so, just scroll it in such that the bottom of the - // task view is visible - newScroll = curScroll - (mStackRectSansPeek.bottom - nonOverlapRect.bottom); - animateScroll(curScroll, newScroll, null); - } - mLastInfoPaneStackScroll = newScroll; - - // Show the info pane for this task view - tv.showInfoPane(new Rect(0, 0, 0, (int) overlapHeight)); - return true; - } - /**** RecentsPackageMonitor.PackageCallbacks Implementation ****/ @Override @@ -1205,9 +1227,11 @@ class TaskStackViewTouchHandler implements SwipeHelper.Callback { /** Touch preprocessing for handling below */ public boolean onInterceptTouchEvent(MotionEvent ev) { - Console.log(Constants.Log.UI.TouchEvents, - "[TaskStackViewTouchHandler|interceptTouchEvent]", - Console.motionEventActionToString(ev.getAction()), Console.AnsiBlue); + if (Console.Enabled) { + Console.log(Constants.Log.UI.TouchEvents, + "[TaskStackViewTouchHandler|interceptTouchEvent]", + Console.motionEventActionToString(ev.getAction()), Console.AnsiBlue); + } // Return early if we have no children boolean hasChildren = (mSv.getChildCount() > 0); @@ -1289,9 +1313,11 @@ class TaskStackViewTouchHandler implements SwipeHelper.Callback { /** Handles touch events once we have intercepted them */ public boolean onTouchEvent(MotionEvent ev) { - Console.log(Constants.Log.UI.TouchEvents, - "[TaskStackViewTouchHandler|touchEvent]", - Console.motionEventActionToString(ev.getAction()), Console.AnsiBlue); + if (Console.Enabled) { + Console.log(Constants.Log.UI.TouchEvents, + "[TaskStackViewTouchHandler|touchEvent]", + Console.motionEventActionToString(ev.getAction()), Console.AnsiBlue); + } // Short circuit if we have no children boolean hasChildren = (mSv.getChildCount() > 0); @@ -1392,12 +1418,14 @@ class TaskStackViewTouchHandler implements SwipeHelper.Callback { Math.abs((float) velocity / mMaximumVelocity)) * Constants.Values.TaskStackView.TaskStackOverscrollRange); - Console.log(Constants.Log.UI.TouchEvents, - "[TaskStackViewTouchHandler|fling]", - "scroll: " + mSv.getStackScroll() + " velocity: " + velocity + - " maxVelocity: " + mMaximumVelocity + - " overscrollRange: " + overscrollRange, - Console.AnsiGreen); + if (Console.Enabled) { + Console.log(Constants.Log.UI.TouchEvents, + "[TaskStackViewTouchHandler|fling]", + "scroll: " + mSv.getStackScroll() + " velocity: " + velocity + + " maxVelocity: " + mMaximumVelocity + + " overscrollRange: " + overscrollRange, + Console.AnsiGreen); + } // Fling scroll mSv.mScroller.fling(0, mSv.getStackScroll(), @@ -1477,13 +1505,6 @@ class TaskStackViewTouchHandler implements SwipeHelper.Callback { if (parent != null) { parent.requestDisallowInterceptTouchEvent(true); } - // If the info panel is currently showing on this view, then we need to dismiss it - if (Constants.DebugFlags.App.EnableInfoPane) { - TaskView tv = (TaskView) v; - if (tv.isInfoPaneVisible()) { - tv.hideInfoPane(); - } - } } @Override diff --git a/packages/SystemUI/src/com/android/systemui/recents/views/TaskView.java b/packages/SystemUI/src/com/android/systemui/recents/views/TaskView.java index 5fad629..16a3f45 100644 --- a/packages/SystemUI/src/com/android/systemui/recents/views/TaskView.java +++ b/packages/SystemUI/src/com/android/systemui/recents/views/TaskView.java @@ -18,6 +18,7 @@ package com.android.systemui.recents.views; import android.animation.TimeInterpolator; import android.animation.ValueAnimator; +import android.content.ContentResolver; import android.content.Context; import android.graphics.Canvas; import android.graphics.Outline; @@ -25,6 +26,7 @@ import android.graphics.Path; import android.graphics.Point; import android.graphics.Rect; import android.graphics.RectF; +import android.provider.Settings; import android.util.AttributeSet; import android.view.MotionEvent; import android.view.View; @@ -37,13 +39,11 @@ import com.android.systemui.recents.model.Task; /* A task view */ -public class TaskView extends FrameLayout implements View.OnClickListener, - Task.TaskCallbacks { +public class TaskView extends FrameLayout implements Task.TaskCallbacks, View.OnClickListener, + View.OnLongClickListener { /** The TaskView callbacks */ interface TaskViewCallbacks { public void onTaskIconClicked(TaskView tv); - public void onTaskInfoPanelShown(TaskView tv); - public void onTaskInfoPanelHidden(TaskView tv); public void onTaskAppInfoClicked(TaskView tv); public void onTaskDismissed(TaskView tv); @@ -56,13 +56,12 @@ public class TaskView extends FrameLayout implements View.OnClickListener, Task mTask; boolean mTaskDataLoaded; - boolean mTaskInfoPaneVisible; + boolean mIsFocused; Point mLastTouchDown = new Point(); Path mRoundedRectClipPath = new Path(); TaskThumbnailView mThumbnailView; TaskBarView mBarView; - TaskInfoView mInfoView; TaskViewCallbacks mCb; @@ -91,7 +90,6 @@ public class TaskView extends FrameLayout implements View.OnClickListener, // Bind the views mThumbnailView = (TaskThumbnailView) findViewById(R.id.task_view_thumbnail); mBarView = (TaskBarView) findViewById(R.id.task_view_bar); - mInfoView = (TaskInfoView) findViewById(R.id.task_view_info_pane); if (mTaskDataLoaded) { onTaskDataLoaded(false); @@ -277,63 +275,6 @@ public class TaskView extends FrameLayout implements View.OnClickListener, return outRect; } - /** Returns whether this task has an info pane visible */ - boolean isInfoPaneVisible() { - return mTaskInfoPaneVisible; - } - - /** Shows the info pane if it is not visible. */ - void showInfoPane(Rect taskVisibleRect) { - if (mTaskInfoPaneVisible) return; - - // Remove the bar view from the visible rect and update the info pane contents - taskVisibleRect.top += mBarView.getMeasuredHeight(); - mInfoView.updateContents(taskVisibleRect); - - // Show the info pane and animate it into view - mInfoView.setVisibility(View.VISIBLE); - mInfoView.animateCircularClip(mLastTouchDown, 0f, 1f, null, true); - mInfoView.setOnClickListener(this); - mTaskInfoPaneVisible = true; - - // Notify any callbacks - if (mCb != null) { - mCb.onTaskInfoPanelShown(this); - } - } - - /** Hides the info pane if it is visible. */ - void hideInfoPane() { - if (!mTaskInfoPaneVisible) return; - RecentsConfiguration config = RecentsConfiguration.getInstance(); - - // Cancel any circular clip animation - mInfoView.cancelCircularClipAnimation(); - - // Animate the info pane out - mInfoView.animate() - .alpha(0f) - .setDuration(config.taskViewInfoPaneAnimDuration) - .setInterpolator(config.defaultBezierInterpolator) - .withLayer() - .withEndAction(new Runnable() { - @Override - public void run() { - mInfoView.setVisibility(View.INVISIBLE); - mInfoView.setOnClickListener(null); - - mInfoView.setAlpha(1f); - } - }) - .start(); - mTaskInfoPaneVisible = false; - - // Notify any callbacks - if (mCb != null) { - mCb.onTaskInfoPanelHidden(this); - } - } - /** Enable the hw layers on this task view */ void enableHwLayers() { mThumbnailView.setLayerType(View.LAYER_TYPE_HARDWARE, null); @@ -351,7 +292,6 @@ public class TaskView extends FrameLayout implements View.OnClickListener, float dim = (1f - getScaleX()) / scaleRange; dim = mDimInterpolator.getInterpolation(Math.min(dim, 1f)); mDim = Math.max(0, Math.min(mMaxDim, (int) (dim * 255))); - invalidate(); } @Override @@ -367,6 +307,34 @@ public class TaskView extends FrameLayout implements View.OnClickListener, } } + /** + * Sets the focused task explicitly. We need a separate flag because requestFocus() won't happen + * if the view is not currently visible, or we are in touch state (where we still want to keep + * track of focus). + */ + public void setFocusedTask() { + mIsFocused = true; + requestFocus(); + } + + /** + * Updates the explicitly focused state when the view focus changes. + */ + @Override + protected void onFocusChanged(boolean gainFocus, int direction, Rect previouslyFocusedRect) { + super.onFocusChanged(gainFocus, direction, previouslyFocusedRect); + if (!gainFocus) { + mIsFocused = false; + } + } + + /** + * Returns whether we have explicitly been focused. + */ + public boolean isFocusedTask() { + return mIsFocused || isFocused(); + } + /**** TaskCallbacks Implementation ****/ /** Binds this task view to the task */ @@ -377,38 +345,45 @@ public class TaskView extends FrameLayout implements View.OnClickListener, @Override public void onTaskDataLoaded(boolean reloadingTaskData) { - if (mThumbnailView != null && mBarView != null && mInfoView != null) { + if (mThumbnailView != null && mBarView != null) { // Bind each of the views to the new task data mThumbnailView.rebindToTask(mTask, reloadingTaskData); mBarView.rebindToTask(mTask, reloadingTaskData); - mInfoView.rebindToTask(mTask, reloadingTaskData); // Rebind any listeners mBarView.mApplicationIcon.setOnClickListener(this); mBarView.mDismissButton.setOnClickListener(this); - mInfoView.mAppInfoButton.setOnClickListener(this); + if (Constants.DebugFlags.App.EnableDevAppInfoOnLongPress) { + ContentResolver cr = getContext().getContentResolver(); + boolean devOptsEnabled = Settings.Global.getInt(cr, + Settings.Global.DEVELOPMENT_SETTINGS_ENABLED, 0) != 0; + if (devOptsEnabled) { + mBarView.mApplicationIcon.setOnLongClickListener(this); + } + } } mTaskDataLoaded = true; } @Override public void onTaskDataUnloaded() { - if (mThumbnailView != null && mBarView != null && mInfoView != null) { + if (mThumbnailView != null && mBarView != null) { // Unbind each of the views from the task data and remove the task callback mTask.setCallbacks(null); mThumbnailView.unbindFromTask(); mBarView.unbindFromTask(); // Unbind any listeners mBarView.mApplicationIcon.setOnClickListener(null); - mInfoView.mAppInfoButton.setOnClickListener(null); + mBarView.mDismissButton.setOnClickListener(null); + if (Constants.DebugFlags.App.EnableDevAppInfoOnLongPress) { + mBarView.mApplicationIcon.setOnLongClickListener(null); + } } mTaskDataLoaded = false; } @Override public void onClick(View v) { - if (v == mInfoView) { - hideInfoPane(); - } else if (v == mBarView.mApplicationIcon) { + if (v == mBarView.mApplicationIcon) { mCb.onTaskIconClicked(this); } else if (v == mBarView.mDismissButton) { // Animate out the view and call the callback @@ -419,8 +394,15 @@ public class TaskView extends FrameLayout implements View.OnClickListener, mCb.onTaskDismissed(tv); } }); - } else if (v == mInfoView.mAppInfoButton) { + } + } + + @Override + public boolean onLongClick(View v) { + if (v == mBarView.mApplicationIcon) { mCb.onTaskAppInfoClicked(this); + return true; } + return false; } -}
\ No newline at end of file +} diff --git a/packages/SystemUI/src/com/android/systemui/settings/BrightnessController.java b/packages/SystemUI/src/com/android/systemui/settings/BrightnessController.java index c0a07e9..a770f58 100644 --- a/packages/SystemUI/src/com/android/systemui/settings/BrightnessController.java +++ b/packages/SystemUI/src/com/android/systemui/settings/BrightnessController.java @@ -193,7 +193,7 @@ public class BrightnessController implements ToggleSlider.Listener { } } else { final float adj = value / (BRIGHTNESS_ADJ_RESOLUTION / 2f) - 1; - setBrignessAdj(adj); + setBrightnessAdj(adj); if (!tracking) { AsyncTask.execute(new Runnable() { public void run() { @@ -223,7 +223,7 @@ public class BrightnessController implements ToggleSlider.Listener { } } - private void setBrignessAdj(float adj) { + private void setBrightnessAdj(float adj) { try { mPower.setTemporaryScreenAutoBrightnessAdjustmentSettingOverride(adj); } catch (RemoteException ex) { @@ -246,7 +246,7 @@ public class BrightnessController implements ToggleSlider.Listener { Settings.System.SCREEN_BRIGHTNESS_MODE, Settings.System.SCREEN_BRIGHTNESS_MODE_MANUAL, UserHandle.USER_CURRENT); - mAutomatic = automatic != 0; + mAutomatic = automatic != Settings.System.SCREEN_BRIGHTNESS_MODE_MANUAL; updateIcon(mAutomatic); } else { mControl.setChecked(false); diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/ActivatableNotificationView.java b/packages/SystemUI/src/com/android/systemui/statusbar/ActivatableNotificationView.java index 91df9ef..ac16164 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/ActivatableNotificationView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/ActivatableNotificationView.java @@ -19,17 +19,17 @@ package com.android.systemui.statusbar; import android.animation.Animator; import android.animation.AnimatorListenerAdapter; import android.animation.ObjectAnimator; +import android.animation.ValueAnimator; import android.content.Context; -import android.graphics.Canvas; -import android.graphics.drawable.Drawable; import android.util.AttributeSet; import android.view.MotionEvent; import android.view.View; import android.view.ViewConfiguration; import android.view.animation.AnimationUtils; import android.view.animation.Interpolator; +import android.view.animation.PathInterpolator; -import com.android.internal.R; +import com.android.systemui.R; /** * Base class for both {@link ExpandableNotificationRow} and {@link NotificationOverflowContainer} @@ -37,13 +37,22 @@ import com.android.internal.R; */ public abstract class ActivatableNotificationView extends ExpandableOutlineView { - private static final long DOUBLETAP_TIMEOUT_MS = 1000; + private static final long DOUBLETAP_TIMEOUT_MS = 1200; private static final int BACKGROUND_ANIMATION_LENGTH_MS = 220; + private static final int ACTIVATE_ANIMATION_LENGTH = 220; + + private static final Interpolator ACTIVATE_INVERSE_INTERPOLATOR + = new PathInterpolator(0.6f, 0, 0.5f, 1); + private static final Interpolator ACTIVATE_INVERSE_ALPHA_INTERPOLATOR + = new PathInterpolator(0, 0, 0.5f, 1); private boolean mDimmed; - private int mBgResId = R.drawable.notification_quantum_bg; - private int mDimmedBgResId = R.drawable.notification_quantum_bg_dim; + private int mBgResId = com.android.internal.R.drawable.notification_quantum_bg; + private int mDimmedBgResId = com.android.internal.R.drawable.notification_quantum_bg_dim; + + private int mBgTint = 0; + private int mDimmedBgTint = 0; /** * Flag to indicate that the notification has been touched once and the second touch will @@ -57,18 +66,30 @@ public abstract class ActivatableNotificationView extends ExpandableOutlineView private OnActivatedListener mOnActivatedListener; - protected Drawable mBackgroundNormal; - protected Drawable mBackgroundDimmed; - private ObjectAnimator mBackgroundAnimator; + private Interpolator mLinearOutSlowInInterpolator; private Interpolator mFastOutSlowInInterpolator; + private NotificationBackgroundView mBackgroundNormal; + private NotificationBackgroundView mBackgroundDimmed; + private ObjectAnimator mBackgroundAnimator; + public ActivatableNotificationView(Context context, AttributeSet attrs) { super(context, attrs); mTouchSlop = ViewConfiguration.get(context).getScaledTouchSlop(); - updateBackgroundResource(); - setWillNotDraw(false); mFastOutSlowInInterpolator = AnimationUtils.loadInterpolator(context, android.R.interpolator.fast_out_slow_in); + mLinearOutSlowInInterpolator = + AnimationUtils.loadInterpolator(context, android.R.interpolator.linear_out_slow_in); + setClipChildren(false); + setClipToPadding(false); + } + + @Override + protected void onFinishInflate() { + super.onFinishInflate(); + mBackgroundNormal = (NotificationBackgroundView) findViewById(R.id.backgroundNormal); + mBackgroundDimmed = (NotificationBackgroundView) findViewById(R.id.backgroundDimmed); + updateBackgroundResources(); } private final Runnable mTapTimeoutRunnable = new Runnable() { @@ -79,42 +100,6 @@ public abstract class ActivatableNotificationView extends ExpandableOutlineView }; @Override - protected void onDraw(Canvas canvas) { - draw(canvas, mBackgroundNormal); - draw(canvas, mBackgroundDimmed); - } - - private void draw(Canvas canvas, Drawable drawable) { - if (drawable != null) { - drawable.setBounds(0, mClipTopAmount, getWidth(), mActualHeight); - drawable.draw(canvas); - } - } - - @Override - protected boolean verifyDrawable(Drawable who) { - return super.verifyDrawable(who) || who == mBackgroundNormal - || who == mBackgroundDimmed; - } - - @Override - protected void drawableStateChanged() { - drawableStateChanged(mBackgroundNormal); - drawableStateChanged(mBackgroundDimmed); - } - - private void drawableStateChanged(Drawable d) { - if (d != null && d.isStateful()) { - d.setState(getDrawableState()); - } - } - - @Override - public void setOnClickListener(OnClickListener l) { - super.setOnClickListener(l); - } - - @Override public boolean onTouchEvent(MotionEvent event) { if (mDimmed) { return handleTouchEventDimmed(event); @@ -142,10 +127,9 @@ public abstract class ActivatableNotificationView extends ExpandableOutlineView case MotionEvent.ACTION_UP: if (isWithinTouchSlop(event)) { if (!mActivated) { - makeActive(event.getX(), event.getY()); + makeActive(); postDelayed(mTapTimeoutRunnable, DOUBLETAP_TIMEOUT_MS); } else { - makeInactive(); performClick(); } } else { @@ -161,23 +145,58 @@ public abstract class ActivatableNotificationView extends ExpandableOutlineView return true; } - private void makeActive(float x, float y) { - mBackgroundDimmed.setHotspot(0, x, y); + private void makeActive() { + startActivateAnimation(false /* reverse */); mActivated = true; if (mOnActivatedListener != null) { mOnActivatedListener.onActivated(this); } } + private void startActivateAnimation(boolean reverse) { + int widthHalf = mBackgroundNormal.getWidth()/2; + int heightHalf = mBackgroundNormal.getActualHeight()/2; + float radius = (float) Math.sqrt(widthHalf*widthHalf + heightHalf*heightHalf); + ValueAnimator animator = + mBackgroundNormal.createRevealAnimator(widthHalf, heightHalf, 0, radius); + mBackgroundNormal.setVisibility(View.VISIBLE); + Interpolator interpolator; + Interpolator alphaInterpolator; + if (!reverse) { + interpolator = mLinearOutSlowInInterpolator; + alphaInterpolator = mLinearOutSlowInInterpolator; + } else { + interpolator = ACTIVATE_INVERSE_INTERPOLATOR; + alphaInterpolator = ACTIVATE_INVERSE_ALPHA_INTERPOLATOR; + } + animator.setInterpolator(interpolator); + animator.setDuration(ACTIVATE_ANIMATION_LENGTH); + if (reverse) { + mBackgroundNormal.setAlpha(1f); + animator.addListener(new AnimatorListenerAdapter() { + @Override + public void onAnimationEnd(Animator animation) { + mBackgroundNormal.setVisibility(View.INVISIBLE); + } + }); + animator.reverse(); + } else { + mBackgroundNormal.setAlpha(0.4f); + animator.start(); + } + mBackgroundNormal.animate() + .alpha(reverse ? 0f : 1f) + .setInterpolator(alphaInterpolator) + .setDuration(ACTIVATE_ANIMATION_LENGTH); + } + /** * Cancels the hotspot and makes the notification inactive. */ private void makeInactive() { if (mActivated) { - // Make sure that we clear the hotspot from the center. - if (mBackgroundDimmed != null) { - mBackgroundDimmed.setHotspot(0, getWidth() / 2, getActualHeight() / 2); - mBackgroundDimmed.removeHotspot(0); + if (mDimmed) { + startActivateAnimation(true /* reverse */); } mActivated = false; } @@ -196,9 +215,9 @@ public abstract class ActivatableNotificationView extends ExpandableOutlineView if (mDimmed != dimmed) { mDimmed = dimmed; if (fade) { - fadeBackgroundResource(); + fadeBackground(); } else { - updateBackgroundResource(); + updateBackground(); } } } @@ -209,44 +228,50 @@ public abstract class ActivatableNotificationView extends ExpandableOutlineView * @param bgResId The background resource to use in normal state. * @param dimmedBgResId The background resource to use in dimmed state. */ - public void setBackgroundResourceIds(int bgResId, int dimmedBgResId) { + public void setBackgroundResourceIds(int bgResId, int bgTint, int dimmedBgResId, int dimmedTint) { mBgResId = bgResId; + mBgTint = bgTint; mDimmedBgResId = dimmedBgResId; - updateBackgroundResource(); + mDimmedBgTint = dimmedTint; + updateBackgroundResources(); + } + + public void setBackgroundResourceIds(int bgResId, int dimmedBgResId) { + setBackgroundResourceIds(bgResId, 0, dimmedBgResId, 0); } - private void fadeBackgroundResource() { + private void fadeBackground() { if (mDimmed) { - setBackgroundDimmed(mDimmedBgResId); + mBackgroundDimmed.setVisibility(View.VISIBLE); } else { - setBackgroundNormal(mBgResId); + mBackgroundNormal.setVisibility(View.VISIBLE); } - int startAlpha = mDimmed ? 255 : 0; - int endAlpha = mDimmed ? 0 : 255; + float startAlpha = mDimmed ? 1f : 0; + float endAlpha = mDimmed ? 0 : 1f; int duration = BACKGROUND_ANIMATION_LENGTH_MS; // Check whether there is already a background animation running. if (mBackgroundAnimator != null) { - startAlpha = (Integer) mBackgroundAnimator.getAnimatedValue(); + startAlpha = (Float) mBackgroundAnimator.getAnimatedValue(); duration = (int) mBackgroundAnimator.getCurrentPlayTime(); mBackgroundAnimator.removeAllListeners(); mBackgroundAnimator.cancel(); if (duration <= 0) { - updateBackgroundResource(); + updateBackground(); return; } } mBackgroundNormal.setAlpha(startAlpha); mBackgroundAnimator = - ObjectAnimator.ofInt(mBackgroundNormal, "alpha", startAlpha, endAlpha); + ObjectAnimator.ofFloat(mBackgroundNormal, View.ALPHA, startAlpha, endAlpha); mBackgroundAnimator.setInterpolator(mFastOutSlowInInterpolator); mBackgroundAnimator.setDuration(duration); mBackgroundAnimator.addListener(new AnimatorListenerAdapter() { @Override public void onAnimationEnd(Animator animation) { if (mDimmed) { - setBackgroundNormal(null); + mBackgroundNormal.setVisibility(View.INVISIBLE); } else { - setBackgroundDimmed(null); + mBackgroundDimmed.setVisibility(View.INVISIBLE); } mBackgroundAnimator = null; } @@ -254,53 +279,20 @@ public abstract class ActivatableNotificationView extends ExpandableOutlineView mBackgroundAnimator.start(); } - private void updateBackgroundResource() { + private void updateBackground() { if (mDimmed) { - setBackgroundDimmed(mDimmedBgResId); - mBackgroundDimmed.setAlpha(255); - setBackgroundNormal(null); + mBackgroundDimmed.setVisibility(View.VISIBLE); + mBackgroundNormal.setVisibility(View.INVISIBLE); } else { - setBackgroundDimmed(null); - setBackgroundNormal(mBgResId); - mBackgroundNormal.setAlpha(255); + mBackgroundDimmed.setVisibility(View.INVISIBLE); + mBackgroundNormal.setVisibility(View.VISIBLE); + mBackgroundNormal.setAlpha(1f); } } - /** - * Sets a background drawable for the normal state. As we need to change our bounds - * independently of layout, we need the notion of a background independently of the regular View - * background.. - */ - private void setBackgroundNormal(Drawable backgroundNormal) { - if (mBackgroundNormal != null) { - mBackgroundNormal.setCallback(null); - unscheduleDrawable(mBackgroundNormal); - } - mBackgroundNormal = backgroundNormal; - if (mBackgroundNormal != null) { - mBackgroundNormal.setCallback(this); - } - invalidate(); - } - - private void setBackgroundDimmed(Drawable overlay) { - if (mBackgroundDimmed != null) { - mBackgroundDimmed.setCallback(null); - unscheduleDrawable(mBackgroundDimmed); - } - mBackgroundDimmed = overlay; - if (mBackgroundDimmed != null) { - mBackgroundDimmed.setCallback(this); - } - invalidate(); - } - - private void setBackgroundNormal(int drawableResId) { - setBackgroundNormal(getResources().getDrawable(drawableResId)); - } - - private void setBackgroundDimmed(int drawableResId) { - setBackgroundDimmed(getResources().getDrawable(drawableResId)); + private void updateBackgroundResources() { + mBackgroundDimmed.setCustomBackground(mDimmedBgResId, mDimmedBgTint); + mBackgroundNormal.setCustomBackground(mBgResId, mBgTint); } @Override @@ -312,14 +304,16 @@ public abstract class ActivatableNotificationView extends ExpandableOutlineView @Override public void setActualHeight(int actualHeight, boolean notifyListeners) { super.setActualHeight(actualHeight, notifyListeners); - invalidate(); setPivotY(actualHeight / 2); + mBackgroundNormal.setActualHeight(actualHeight); + mBackgroundDimmed.setActualHeight(actualHeight); } @Override public void setClipTopAmount(int clipTopAmount) { super.setClipTopAmount(clipTopAmount); - invalidate(); + mBackgroundNormal.setClipTopAmount(clipTopAmount); + mBackgroundDimmed.setClipTopAmount(clipTopAmount); } public void setOnActivatedListener(OnActivatedListener onActivatedListener) { diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java index 898f06e..e699dd9 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java @@ -87,8 +87,9 @@ public abstract class BaseStatusBar extends SystemUI implements public static final boolean DEBUG = false; public static final boolean MULTIUSER_DEBUG = false; - protected static final int MSG_TOGGLE_RECENTS_PANEL = 1020; - protected static final int MSG_CLOSE_RECENTS_PANEL = 1021; + protected static final int MSG_SHOW_RECENT_APPS = 1019; + protected static final int MSG_HIDE_RECENT_APPS = 1020; + protected static final int MSG_TOGGLE_RECENTS_APPS = 1021; protected static final int MSG_PRELOAD_RECENT_APPS = 1022; protected static final int MSG_CANCEL_PRELOAD_RECENT_APPS = 1023; protected static final int MSG_OPEN_SEARCH_PANEL = 1024; @@ -428,14 +429,16 @@ public abstract class BaseStatusBar extends SystemUI implements protected void applyLegacyRowBackground(StatusBarNotification sbn, NotificationData.Entry entry) { + int version = 0; + try { + ApplicationInfo info = mContext.getPackageManager().getApplicationInfo(sbn.getPackageName(), 0); + version = info.targetSdkVersion; + } catch (NameNotFoundException ex) { + Log.e(TAG, "Failed looking up ApplicationInfo for " + sbn.getPackageName(), ex); + } + if (entry.expanded.getId() != com.android.internal.R.id.status_bar_latest_event_content) { - int version = 0; - try { - ApplicationInfo info = mContext.getPackageManager().getApplicationInfo(sbn.getPackageName(), 0); - version = info.targetSdkVersion; - } catch (NameNotFoundException ex) { - Log.e(TAG, "Failed looking up ApplicationInfo for " + sbn.getPackageName(), ex); - } + // Using custom RemoteViews if (version > 0 && version < Build.VERSION_CODES.GINGERBREAD) { entry.row.setBackgroundResource(R.drawable.notification_row_legacy_bg); } else if (version < Build.VERSION_CODES.L) { @@ -494,8 +497,22 @@ public abstract class BaseStatusBar extends SystemUI implements } @Override + public void showRecentApps(boolean triggeredFromAltTab) { + int msg = MSG_SHOW_RECENT_APPS; + mHandler.removeMessages(msg); + mHandler.obtainMessage(msg, triggeredFromAltTab ? 1 : 0, 0).sendToTarget(); + } + + @Override + public void hideRecentApps(boolean triggeredFromAltTab) { + int msg = MSG_HIDE_RECENT_APPS; + mHandler.removeMessages(msg); + mHandler.obtainMessage(msg, triggeredFromAltTab ? 1 : 0, 0).sendToTarget(); + } + + @Override public void toggleRecentApps() { - int msg = MSG_TOGGLE_RECENTS_PANEL; + int msg = MSG_TOGGLE_RECENTS_APPS; mHandler.removeMessages(msg); mHandler.sendEmptyMessage(msg); } @@ -578,12 +595,12 @@ public abstract class BaseStatusBar extends SystemUI implements public boolean onTouch(View v, MotionEvent event) { int action = event.getAction() & MotionEvent.ACTION_MASK; if (action == MotionEvent.ACTION_DOWN) { - preloadRecentTasksList(); + preloadRecents(); } else if (action == MotionEvent.ACTION_CANCEL) { - cancelPreloadingRecentTasksList(); + cancelPreloadingRecents(); } else if (action == MotionEvent.ACTION_UP) { if (!v.isPressed()) { - cancelPreloadingRecentTasksList(); + cancelPreloadingRecents(); } } @@ -591,28 +608,37 @@ public abstract class BaseStatusBar extends SystemUI implements } }; - protected void toggleRecentsActivity() { + /** Proxy for RecentsComponent */ + + protected void showRecents(boolean triggeredFromAltTab) { if (mRecents != null) { sendCloseSystemWindows(mContext, SYSTEM_DIALOG_REASON_RECENT_APPS); - mRecents.toggleRecents(mDisplay, mLayoutDirection, getStatusBarView()); + mRecents.showRecents(triggeredFromAltTab, getStatusBarView()); } } - protected void preloadRecentTasksList() { + protected void hideRecents(boolean triggeredFromAltTab) { if (mRecents != null) { - mRecents.preloadRecentTasksList(); + mRecents.hideRecents(triggeredFromAltTab); } } - protected void cancelPreloadingRecentTasksList() { + protected void toggleRecents() { if (mRecents != null) { - mRecents.cancelPreloadingRecentTasksList(); + sendCloseSystemWindows(mContext, SYSTEM_DIALOG_REASON_RECENT_APPS); + mRecents.toggleRecents(mDisplay, mLayoutDirection, getStatusBarView()); } } - protected void closeRecents() { + protected void preloadRecents() { if (mRecents != null) { - mRecents.closeRecents(); + mRecents.preloadRecents(); + } + } + + protected void cancelPreloadingRecents() { + if (mRecents != null) { + mRecents.cancelPreloadingRecents(); } } @@ -653,17 +679,20 @@ public abstract class BaseStatusBar extends SystemUI implements public void handleMessage(Message m) { Intent intent; switch (m.what) { - case MSG_TOGGLE_RECENTS_PANEL: - toggleRecentsActivity(); + case MSG_SHOW_RECENT_APPS: + showRecents(m.arg1 > 0); + break; + case MSG_HIDE_RECENT_APPS: + hideRecents(m.arg1 > 0); break; - case MSG_CLOSE_RECENTS_PANEL: - closeRecents(); + case MSG_TOGGLE_RECENTS_APPS: + toggleRecents(); break; case MSG_PRELOAD_RECENT_APPS: - preloadRecentTasksList(); + preloadRecents(); break; case MSG_CANCEL_PRELOAD_RECENT_APPS: - cancelPreloadingRecentTasksList(); + cancelPreloadingRecents(); break; case MSG_OPEN_SEARCH_PANEL: if (DEBUG) Log.d(TAG, "opening search panel"); @@ -875,6 +904,7 @@ public abstract class BaseStatusBar extends SystemUI implements entry.row = row; entry.row.setHeightRange(mRowMinHeight, mRowMaxHeight); entry.row.setOnActivatedListener(this); + entry.row.setIsBelowSpeedBump(isBelowSpeedBump(entry.notification)); entry.expanded = contentViewLocal; entry.expandedPublic = publicViewLocal; entry.setBigContentView(bigContentViewLocal); @@ -1037,8 +1067,8 @@ public abstract class BaseStatusBar extends SystemUI implements if (DEBUG) { Log.d(TAG, "addNotificationViews: added at " + pos); } - updateRowStates(); updateNotificationIcons(); + updateRowStates(); } private void addNotificationViews(IBinder key, StatusBarNotification notification) { @@ -1058,6 +1088,7 @@ public abstract class BaseStatusBar extends SystemUI implements mKeyguardIconOverflowContainer.getIconsView().removeAllViews(); int n = mNotificationData.size(); int visibleNotifications = 0; + int speedBumpIndex = -1; boolean onKeyguard = mState == StatusBarState.KEYGUARD; for (int i = n-1; i >= 0; i--) { NotificationData.Entry entry = mNotificationData.get(i); @@ -1085,6 +1116,10 @@ public abstract class BaseStatusBar extends SystemUI implements entry.row.setVisibility(View.VISIBLE); visibleNotifications++; } + if (entry.row.getVisibility() != View.GONE && speedBumpIndex == -1 + && entry.row.isBelowSpeedBump() ) { + speedBumpIndex = n - 1 - i; + } } if (onKeyguard && mKeyguardIconOverflowContainer.getIconsView().getChildCount() > 0) { @@ -1092,6 +1127,8 @@ public abstract class BaseStatusBar extends SystemUI implements } else { mKeyguardIconOverflowContainer.setVisibility(View.GONE); } + + mStackScroller.updateSpeedBumpIndex(speedBumpIndex); } private boolean shouldShowOnKeyguard(StatusBarNotification sbn) { @@ -1307,9 +1344,19 @@ public abstract class BaseStatusBar extends SystemUI implements } else { entry.row.setOnClickListener(null); } + boolean wasBelow = entry.row.isBelowSpeedBump(); + boolean nowBelow = isBelowSpeedBump(notification); + if (wasBelow != nowBelow) { + entry.row.setIsBelowSpeedBump(nowBelow); + } entry.row.notifyContentUpdated(); } + private boolean isBelowSpeedBump(StatusBarNotification notification) { + return notification.getNotification().priority == + Notification.PRIORITY_MIN; + } + protected void notifyHeadsUpScreenOn(boolean screenOn) { if (!screenOn && mInterruptingNotificationEntry != null) { mHandler.sendEmptyMessage(MSG_ESCALATE_HEADS_UP); diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/CommandQueue.java b/packages/SystemUI/src/com/android/systemui/statusbar/CommandQueue.java index 5362af5..b4a347b 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/CommandQueue.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/CommandQueue.java @@ -57,6 +57,8 @@ public class CommandQueue extends IStatusBar.Stub { private static final int MSG_PRELOAD_RECENT_APPS = 14 << MSG_SHIFT; private static final int MSG_CANCEL_PRELOAD_RECENT_APPS = 15 << MSG_SHIFT; private static final int MSG_SET_WINDOW_STATE = 16 << MSG_SHIFT; + private static final int MSG_SHOW_RECENT_APPS = 17 << MSG_SHIFT; + private static final int MSG_HIDE_RECENT_APPS = 18 << MSG_SHIFT; public static final int FLAG_EXCLUDE_NONE = 0; public static final int FLAG_EXCLUDE_SEARCH_PANEL = 1 << 0; @@ -96,11 +98,13 @@ public class CommandQueue extends IStatusBar.Stub { public void setImeWindowStatus(IBinder token, int vis, int backDisposition, boolean showImeSwitcher); public void setHardKeyboardStatus(boolean available, boolean enabled); + public void showRecentApps(boolean triggeredFromAltTab); + public void hideRecentApps(boolean triggeredFromAltTab); public void toggleRecentApps(); public void preloadRecentApps(); + public void cancelPreloadRecentApps(); public void showSearchPanel(); public void hideSearchPanel(); - public void cancelPreloadRecentApps(); public void setWindowState(int window, int state); } @@ -211,6 +215,22 @@ public class CommandQueue extends IStatusBar.Stub { } } + public void showRecentApps(boolean triggeredFromAltTab) { + synchronized (mList) { + mHandler.removeMessages(MSG_SHOW_RECENT_APPS); + mHandler.obtainMessage(MSG_SHOW_RECENT_APPS, + triggeredFromAltTab ? 1 : 0, 0, null).sendToTarget(); + } + } + + public void hideRecentApps(boolean triggeredFromAltTab) { + synchronized (mList) { + mHandler.removeMessages(MSG_HIDE_RECENT_APPS); + mHandler.obtainMessage(MSG_HIDE_RECENT_APPS, + triggeredFromAltTab ? 1 : 0, 0, null).sendToTarget(); + } + } + public void toggleRecentApps() { synchronized (mList) { mHandler.removeMessages(MSG_TOGGLE_RECENT_APPS); @@ -309,6 +329,12 @@ public class CommandQueue extends IStatusBar.Stub { case MSG_SET_HARD_KEYBOARD_STATUS: mCallbacks.setHardKeyboardStatus(msg.arg1 != 0, msg.arg2 != 0); break; + case MSG_SHOW_RECENT_APPS: + mCallbacks.showRecentApps(msg.arg1 != 0); + break; + case MSG_HIDE_RECENT_APPS: + mCallbacks.hideRecentApps(msg.arg1 != 0); + break; case MSG_TOGGLE_RECENT_APPS: mCallbacks.toggleRecentApps(); break; diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/ExpandableNotificationRow.java b/packages/SystemUI/src/com/android/systemui/statusbar/ExpandableNotificationRow.java index 39f2bb9..84005d1 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/ExpandableNotificationRow.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/ExpandableNotificationRow.java @@ -52,6 +52,8 @@ public class ExpandableNotificationRow extends ActivatableNotificationView { private NotificationContentView mPublicLayout; private NotificationContentView mPrivateLayout; private int mMaxExpandHeight; + private boolean mIsBelowSpeedBump; + private View mVetoButton; public ExpandableNotificationRow(Context context, AttributeSet attrs) { super(context, attrs); @@ -62,6 +64,7 @@ public class ExpandableNotificationRow extends ActivatableNotificationView { super.onFinishInflate(); mPublicLayout = (NotificationContentView) findViewById(R.id.expandedPublic); mPrivateLayout = (NotificationContentView) findViewById(R.id.expanded); + mVetoButton = findViewById(R.id.veto); } @Override @@ -223,7 +226,7 @@ public class ExpandableNotificationRow extends ActivatableNotificationView { @Override public void setActualHeight(int height, boolean notifyListeners) { - mPrivateLayout.setActualHeight(height, notifyListeners); + mPrivateLayout.setActualHeight(height); invalidate(); super.setActualHeight(height, notifyListeners); } @@ -244,6 +247,14 @@ public class ExpandableNotificationRow extends ActivatableNotificationView { mPrivateLayout.setClipTopAmount(clipTopAmount); } + public boolean isBelowSpeedBump() { + return mIsBelowSpeedBump; + } + + public void setIsBelowSpeedBump(boolean isBelow) { + this.mIsBelowSpeedBump = isBelow; + } + public void notifyContentUpdated() { mPrivateLayout.notifyContentUpdated(); } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/ExpandableView.java b/packages/SystemUI/src/com/android/systemui/statusbar/ExpandableView.java index 4bd0e1c..eaaac10 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/ExpandableView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/ExpandableView.java @@ -20,29 +20,82 @@ import android.content.Context; import android.util.AttributeSet; import android.view.MotionEvent; import android.view.View; +import android.view.ViewGroup; import android.widget.FrameLayout; +import com.android.systemui.R; + +import java.util.ArrayList; /** * An abstract view for expandable views. */ public abstract class ExpandableView extends FrameLayout { + private final int mMaxNotificationHeight; + private OnHeightChangedListener mOnHeightChangedListener; protected int mActualHeight; protected int mClipTopAmount; private boolean mActualHeightInitialized; + private ArrayList<View> mMatchParentViews = new ArrayList<View>(); public ExpandableView(Context context, AttributeSet attrs) { super(context, attrs); + mMaxNotificationHeight = getResources().getDimensionPixelSize( + R.dimen.notification_max_height); + } + + @Override + protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { + int ownMaxHeight = mMaxNotificationHeight; + int heightMode = MeasureSpec.getMode(heightMeasureSpec); + boolean hasFixedHeight = heightMode == MeasureSpec.EXACTLY; + boolean isHeightLimited = heightMode == MeasureSpec.AT_MOST; + if (hasFixedHeight || isHeightLimited) { + int size = MeasureSpec.getSize(heightMeasureSpec); + ownMaxHeight = Math.min(ownMaxHeight, size); + } + int newHeightSpec = MeasureSpec.makeMeasureSpec(ownMaxHeight, MeasureSpec.AT_MOST); + int maxChildHeight = 0; + int childCount = getChildCount(); + for (int i = 0; i < childCount; i++) { + View child = getChildAt(i); + int childHeightSpec = newHeightSpec; + ViewGroup.LayoutParams layoutParams = child.getLayoutParams(); + if (layoutParams.height != ViewGroup.LayoutParams.MATCH_PARENT) { + if (layoutParams.height >= 0) { + // An actual height is set + childHeightSpec = layoutParams.height > ownMaxHeight + ? MeasureSpec.makeMeasureSpec(ownMaxHeight, MeasureSpec.EXACTLY) + : MeasureSpec.makeMeasureSpec(layoutParams.height, MeasureSpec.EXACTLY); + } + child.measure(widthMeasureSpec, childHeightSpec); + int childHeight = child.getMeasuredHeight(); + maxChildHeight = Math.max(maxChildHeight, childHeight); + } else { + mMatchParentViews.add(child); + } + } + int ownHeight = hasFixedHeight ? ownMaxHeight : maxChildHeight; + newHeightSpec = MeasureSpec.makeMeasureSpec(ownHeight, MeasureSpec.EXACTLY); + for (View child : mMatchParentViews) { + child.measure(widthMeasureSpec, newHeightSpec); + } + mMatchParentViews.clear(); + int width = MeasureSpec.getSize(widthMeasureSpec); + setMeasuredDimension(width, ownHeight); } @Override protected void onLayout(boolean changed, int left, int top, int right, int bottom) { super.onLayout(changed, left, top, right, bottom); if (!mActualHeightInitialized && mActualHeight == 0) { - mActualHeight = getHeight(); + setActualHeight(getInitialHeight()); } - mActualHeightInitialized = true; + } + + protected int getInitialHeight() { + return getHeight(); } @Override @@ -73,6 +126,7 @@ public abstract class ExpandableView extends FrameLayout { } public void setActualHeight(int actualHeight) { + mActualHeightInitialized = true; setActualHeight(actualHeight, true); } @@ -146,6 +200,10 @@ public abstract class ExpandableView extends FrameLayout { } } + public boolean isTransparent() { + return false; + } + /** * A listener notifying when {@link #getActualHeight} changes. */ diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/InterceptedNotifications.java b/packages/SystemUI/src/com/android/systemui/statusbar/InterceptedNotifications.java index 6401695..9c39002 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/InterceptedNotifications.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/InterceptedNotifications.java @@ -89,7 +89,7 @@ public class InterceptedNotifications { return; } final Notification n = new Notification.Builder(mContext) - .setSmallIcon(R.drawable.stat_sys_zen_limited) + .setSmallIcon(R.drawable.ic_qs_zen_on) .setContentTitle(mContext.getResources().getQuantityString( R.plurals.zen_mode_notification_title, mIntercepted.size(), mIntercepted.size())) diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationBackgroundView.java b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationBackgroundView.java new file mode 100644 index 0000000..3c080fe --- /dev/null +++ b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationBackgroundView.java @@ -0,0 +1,112 @@ +/* + * Copyright (C) 2014 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License + */ + +package com.android.systemui.statusbar; + +import android.content.Context; +import android.graphics.Canvas; +import android.graphics.PorterDuff; +import android.graphics.drawable.Drawable; +import android.util.AttributeSet; +import android.view.View; + +/** + * A view that can be used for both the dimmed and normal background of an notification. + */ +public class NotificationBackgroundView extends View { + + private Drawable mBackground; + private int mClipTopAmount; + private int mActualHeight; + + public NotificationBackgroundView(Context context, AttributeSet attrs) { + super(context, attrs); + setWillNotDraw(false); + } + + @Override + protected void onDraw(Canvas canvas) { + draw(canvas, mBackground); + } + + private void draw(Canvas canvas, Drawable drawable) { + if (drawable != null) { + drawable.setBounds(0, mClipTopAmount, getWidth(), mActualHeight); + drawable.draw(canvas); + } + } + + @Override + protected boolean verifyDrawable(Drawable who) { + return super.verifyDrawable(who) || who == mBackground; + } + + @Override + protected void drawableStateChanged() { + drawableStateChanged(mBackground); + } + + private void drawableStateChanged(Drawable d) { + if (d != null && d.isStateful()) { + d.setState(getDrawableState()); + } + } + + /** + * Sets a background drawable. As we need to change our bounds independently of layout, we need + * the notion of a background independently of the regular View background.. + */ + public void setCustomBackground(Drawable background) { + if (mBackground != null) { + mBackground.setCallback(null); + unscheduleDrawable(mBackground); + } + mBackground = background; + if (mBackground != null) { + mBackground.setCallback(this); + } + invalidate(); + } + + public void setCustomBackground(int drawableResId, int tintColor) { + final Drawable d = getResources().getDrawable(drawableResId); + if (tintColor != 0) { + d.setColorFilter(tintColor, PorterDuff.Mode.SRC_ATOP); + } + setCustomBackground(d); + } + + public void setActualHeight(int actualHeight) { + mActualHeight = actualHeight; + invalidate(); + } + + public int getActualHeight() { + return mActualHeight; + } + + public void setClipTopAmount(int clipTopAmount) { + mClipTopAmount = clipTopAmount; + invalidate(); + } + + @Override + public boolean hasOverlappingRendering() { + + // Prevents this view from creating a layer when alpha is animating. + return false; + } +} diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationContentView.java b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationContentView.java index 9df2701..f9baecb 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationContentView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationContentView.java @@ -22,6 +22,7 @@ import android.util.AttributeSet; import android.view.Gravity; import android.view.View; +import android.widget.FrameLayout; import com.android.systemui.R; /** @@ -29,7 +30,7 @@ import com.android.systemui.R; * expanded layout. This class is responsible for clipping the content and and switching between the * expanded and contracted view depending on its clipped size. */ -public class NotificationContentView extends ExpandableView { +public class NotificationContentView extends FrameLayout { private final Rect mClipBounds = new Rect(); @@ -37,6 +38,8 @@ public class NotificationContentView extends ExpandableView { private View mExpandedChild; private int mSmallHeight; + private int mClipTopAmount; + private int mActualHeight; public NotificationContentView(Context context, AttributeSet attrs) { super(context, attrs); @@ -69,28 +72,24 @@ public class NotificationContentView extends ExpandableView { selectLayout(); } - @Override - public void setActualHeight(int actualHeight, boolean notifyListeners) { - super.setActualHeight(actualHeight, notifyListeners); + public void setActualHeight(int actualHeight) { + mActualHeight = actualHeight; selectLayout(); updateClipping(); } - @Override public int getMaxHeight() { // The maximum height is just the laid out height. return getHeight(); } - @Override public int getMinHeight() { return mSmallHeight; } - @Override public void setClipTopAmount(int clipTopAmount) { - super.setClipTopAmount(clipTopAmount); + mClipTopAmount = clipTopAmount; updateClipping(); } @@ -127,7 +126,6 @@ public class NotificationContentView extends ExpandableView { selectLayout(); } - @Override public boolean isContentExpandable() { return mExpandedChild != null; } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/SignalClusterView.java b/packages/SystemUI/src/com/android/systemui/statusbar/SignalClusterView.java index 2bc6f9c..f5d4889 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/SignalClusterView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/SignalClusterView.java @@ -19,6 +19,7 @@ package com.android.systemui.statusbar; import android.content.Context; import android.graphics.PorterDuff; import android.graphics.PorterDuffColorFilter; +import android.os.Build; import android.util.AttributeSet; import android.util.Log; import android.view.View; @@ -167,7 +168,7 @@ public class SignalClusterView } private void applyInetProblem(ImageView iv) { - iv.setColorFilter(mInetProblem ? PROBLEM_FILTER : null); + iv.setColorFilter(Build.IS_DEBUGGABLE && mInetProblem ? PROBLEM_FILTER : null); } // Run after each indicator change. diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/SpeedBumpDotView.java b/packages/SystemUI/src/com/android/systemui/statusbar/SpeedBumpDotView.java new file mode 100644 index 0000000..3ca021a --- /dev/null +++ b/packages/SystemUI/src/com/android/systemui/statusbar/SpeedBumpDotView.java @@ -0,0 +1,47 @@ +/* + * Copyright (C) 2014 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License + */ + +package com.android.systemui.statusbar; + +import android.content.Context; +import android.graphics.Canvas; +import android.graphics.Outline; +import android.graphics.Paint; +import android.util.AttributeSet; +import android.view.View; + +/** + * An single dot of the {@link com.android.systemui.statusbar.SpeedBumpDotsLayout} + */ +public class SpeedBumpDotView extends View { + + private final Paint mPaint = new Paint(); + + public SpeedBumpDotView(Context context, AttributeSet attrs) { + super(context, attrs); + mPaint.setAntiAlias(true); + } + + @Override + protected void onDraw(Canvas canvas) { + float radius = getWidth() / 2.0f; + canvas.drawCircle(radius, radius, radius, mPaint); + } + + public void setColor(int color) { + mPaint.setColor(color); + } +} diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/SpeedBumpDotsAlgorithm.java b/packages/SystemUI/src/com/android/systemui/statusbar/SpeedBumpDotsAlgorithm.java new file mode 100644 index 0000000..cac6327 --- /dev/null +++ b/packages/SystemUI/src/com/android/systemui/statusbar/SpeedBumpDotsAlgorithm.java @@ -0,0 +1,80 @@ +/* + * Copyright (C) 2014 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License + */ + +package com.android.systemui.statusbar; + +import android.content.Context; +import android.view.View; +import com.android.systemui.R; + +/** + * The Algorithm of the {@link com.android.systemui.statusbar.SpeedBumpDotsLayout} which can be + * queried for {@link * com.android.systemui.statusbar.SpeedBumpDotsState} + */ +public class SpeedBumpDotsAlgorithm { + + private final float mDotRadius; + + public SpeedBumpDotsAlgorithm(Context context) { + mDotRadius = context.getResources().getDimensionPixelSize(R.dimen.speed_bump_dots_height) + / 2.0f; + } + + public void getState(SpeedBumpDotsState resultState) { + + // First reset the current state and ensure that every View has a ViewState + resultState.resetViewStates(); + + SpeedBumpDotsLayout hostView = resultState.getHostView(); + boolean currentlyVisible = hostView.isCurrentlyVisible(); + resultState.setActiveState(currentlyVisible + ? SpeedBumpDotsState.SHOWN + : SpeedBumpDotsState.HIDDEN); + int hostWidth = hostView.getWidth(); + float layoutWidth = hostWidth - 2 * mDotRadius; + int childCount = hostView.getChildCount(); + float paddingBetween = layoutWidth / (childCount - 1); + float centerY = hostView.getHeight() / 2.0f; + for (int i = 0; i < childCount; i++) { + View child = hostView.getChildAt(i); + SpeedBumpDotsState.ViewState viewState = resultState.getViewStateForView(child); + if (currentlyVisible) { + float xTranslation = i * paddingBetween; + viewState.xTranslation = xTranslation; + viewState.yTranslation = calculateYTranslation(hostView, centerY, xTranslation, + layoutWidth); + } else { + viewState.xTranslation = layoutWidth / 2; + viewState.yTranslation = centerY - mDotRadius; + } + viewState.alpha = currentlyVisible ? 1.0f : 0.0f; + viewState.scale = currentlyVisible ? 1.0f : 0.5f; + } + } + + private float calculateYTranslation(SpeedBumpDotsLayout hostView, float centerY, + float xTranslation, float layoutWidth) { + float t = hostView.getAnimationProgress(); + if (t == 0.0f || t == 1.0f) { + return centerY - mDotRadius; + } + float damping = (0.5f -Math.abs(0.5f - t)) * 1.3f; + float partialOffset = xTranslation / layoutWidth; + float indentFactor = (float) (Math.sin((t + partialOffset * 1.5f) * - Math.PI) * damping); + return (1.0f - indentFactor) * centerY - mDotRadius; + } + +} diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/SpeedBumpDotsLayout.java b/packages/SystemUI/src/com/android/systemui/statusbar/SpeedBumpDotsLayout.java new file mode 100644 index 0000000..ddf5215 --- /dev/null +++ b/packages/SystemUI/src/com/android/systemui/statusbar/SpeedBumpDotsLayout.java @@ -0,0 +1,136 @@ +/* + * Copyright (C) 2014 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License + */ + +package com.android.systemui.statusbar; + +import android.animation.TimeAnimator; +import android.animation.ValueAnimator; +import android.content.Context; +import android.graphics.Canvas; +import android.util.AttributeSet; +import android.view.View; +import android.view.ViewGroup; +import android.view.animation.AccelerateDecelerateInterpolator; +import com.android.systemui.R; + +/** + * A layout with a certain number of dots which are integrated in the + * {@link com.android.systemui.statusbar.SpeedBumpView} + */ +public class SpeedBumpDotsLayout extends ViewGroup { + + private static final float DOT_CLICK_ANIMATION_LENGTH = 300; + private final int mDotSize; + private final SpeedBumpDotsAlgorithm mAlgorithm = new SpeedBumpDotsAlgorithm(getContext()); + private final SpeedBumpDotsState mCurrentState = new SpeedBumpDotsState(this); + private boolean mIsCurrentlyVisible = true; + private final ValueAnimator mClickAnimator; + private float mAnimationProgress; + private ValueAnimator.AnimatorUpdateListener mClickUpdateListener + = new ValueAnimator.AnimatorUpdateListener() { + @Override + public void onAnimationUpdate(ValueAnimator animation) { + mAnimationProgress = animation.getAnimatedFraction(); + updateChildren(); + } + }; + + public SpeedBumpDotsLayout(Context context, AttributeSet attrs) { + super(context, attrs); + mDotSize = getResources().getDimensionPixelSize(R.dimen.speed_bump_dots_height); + createDots(context, attrs); + mClickAnimator = TimeAnimator.ofFloat(0, DOT_CLICK_ANIMATION_LENGTH); + mClickAnimator.setInterpolator(new AccelerateDecelerateInterpolator()); + mClickAnimator.addUpdateListener(mClickUpdateListener); + } + + private void createDots(Context context, AttributeSet attrs) { + SpeedBumpDotView blueDot = new SpeedBumpDotView(context, attrs); + blueDot.setColor(getResources().getColor(R.color.speed_bump_dot_blue)); + addView(blueDot); + + SpeedBumpDotView redDot = new SpeedBumpDotView(context, attrs); + redDot.setColor(getResources().getColor(R.color.speed_bump_dot_red)); + addView(redDot); + + SpeedBumpDotView yellowDot = new SpeedBumpDotView(context, attrs); + yellowDot.setColor(getResources().getColor(R.color.speed_bump_dot_yellow)); + addView(yellowDot); + + SpeedBumpDotView greenDot = new SpeedBumpDotView(context, attrs); + greenDot.setColor(getResources().getColor(R.color.speed_bump_dot_green)); + addView(greenDot); + } + + @Override + protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { + super.onMeasure(widthMeasureSpec, heightMeasureSpec); + int childWidthSpec = MeasureSpec.makeMeasureSpec(mDotSize, + MeasureSpec.getMode(widthMeasureSpec)); + int childHeightSpec = MeasureSpec.makeMeasureSpec(mDotSize, + MeasureSpec.getMode(heightMeasureSpec)); + measureChildren(childWidthSpec, childHeightSpec); + } + + @Override + protected void onLayout(boolean changed, int l, int t, int r, int b) { + int childCount = getChildCount(); + for (int i = 0; i < childCount; i++) { + View child = getChildAt(i); + child.layout(0, 0, mDotSize, mDotSize); + } + if (changed) { + updateChildren(); + } + } + + private void updateChildren() { + mAlgorithm.getState(mCurrentState); + mCurrentState.apply(); + } + + public void performVisibilityAnimation(boolean visible) { + if (mClickAnimator.isRunning()) { + mClickAnimator.cancel(); + } + mIsCurrentlyVisible = visible; + mAlgorithm.getState(mCurrentState); + mCurrentState.animateToState(); + } + + public void setInvisible() { + mIsCurrentlyVisible = false; + mAlgorithm.getState(mCurrentState); + mCurrentState.apply(); + } + + public boolean isCurrentlyVisible() { + return mIsCurrentlyVisible; + } + + public void performDotClickAnimation() { + if (mClickAnimator.isRunning()) { + // don't perform an animation if it's running already + return; + } + mClickAnimator.start(); + } + + + public float getAnimationProgress() { + return mAnimationProgress; + } +} diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/SpeedBumpDotsState.java b/packages/SystemUI/src/com/android/systemui/statusbar/SpeedBumpDotsState.java new file mode 100644 index 0000000..06a7f95 --- /dev/null +++ b/packages/SystemUI/src/com/android/systemui/statusbar/SpeedBumpDotsState.java @@ -0,0 +1,139 @@ +/* + * Copyright (C) 2014 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License + */ + +package com.android.systemui.statusbar; + +import android.view.View; +import android.view.ViewPropertyAnimator; +import android.view.animation.AnimationUtils; +import android.view.animation.Interpolator; + +import java.util.HashMap; +import java.util.Map; + +/** + * A state of a {@link com.android.systemui.statusbar.SpeedBumpDotsLayout} + */ +public class SpeedBumpDotsState { + + public static final int HIDDEN = 1; + public static final int SHOWN = 2; + private static final int VISIBILITY_ANIMATION_DELAY_PER_ELEMENT = 80; + + private final SpeedBumpDotsLayout mHostView; + private final HashMap<View, ViewState> mStateMap = new HashMap<View, ViewState>(); + private final Interpolator mFastOutSlowInInterpolator; + private int mActiveState = 0; + + public SpeedBumpDotsState(SpeedBumpDotsLayout hostLayout) { + mHostView = hostLayout; + mFastOutSlowInInterpolator = AnimationUtils + .loadInterpolator(hostLayout.getContext(), + android.R.interpolator.fast_out_slow_in); + } + + public SpeedBumpDotsLayout getHostView() { + return mHostView; + } + + public void resetViewStates() { + int numChildren = mHostView.getChildCount(); + for (int i = 0; i < numChildren; i++) { + View child = mHostView.getChildAt(i); + ViewState viewState = mStateMap.get(child); + if (viewState == null) { + viewState = new ViewState(); + mStateMap.put(child, viewState); + } + } + } + + public ViewState getViewStateForView(View requestedView) { + return mStateMap.get(requestedView); + } + + public void apply() { + int childCount = mHostView.getChildCount(); + for (int i = 0; i < childCount; i++) { + View child = mHostView.getChildAt(i); + ViewState viewState = mStateMap.get(child); + float translationX = child.getTranslationX(); + float translationY = child.getTranslationY(); + float scale = child.getScaleX(); + float alpha = child.getAlpha(); + if (translationX != viewState.xTranslation) { + child.setTranslationX(viewState.xTranslation); + } + if (translationY != viewState.yTranslation) { + child.setTranslationY(viewState.yTranslation); + } + if (scale != viewState.scale) { + child.setScaleX(viewState.scale); + child.setScaleY(viewState.scale); + } + if (alpha != viewState.alpha) { + child.setAlpha(viewState.alpha); + } + } + } + + public void animateToState() { + int childCount = mHostView.getChildCount(); + int middleIndex = (childCount - 1) / 2; + long delayPerElement = VISIBILITY_ANIMATION_DELAY_PER_ELEMENT; + boolean isAppearing = getActiveState() == SHOWN; + boolean isDisappearing = getActiveState() == HIDDEN; + for (int i = 0; i < childCount; i++) { + int delayIndex; + if (i <= middleIndex) { + delayIndex = i * 2; + } else { + int distToMiddle = i - middleIndex; + delayIndex = (childCount - 1) - (distToMiddle - 1) * 2; + } + long startDelay = 0; + if (isAppearing || isDisappearing) { + if (isDisappearing) { + delayIndex = childCount - 1 - delayIndex; + } + startDelay = delayIndex * delayPerElement; + } + View child = mHostView.getChildAt(i); + ViewState viewState = mStateMap.get(child); + child.animate().setInterpolator(mFastOutSlowInInterpolator) + .setStartDelay(startDelay) + .alpha(viewState.alpha).withLayer() + .translationX(viewState.xTranslation) + .translationY(viewState.yTranslation) + .scaleX(viewState.scale).scaleY(viewState.scale); + } + } + + public int getActiveState() { + return mActiveState; + } + + public void setActiveState(int mActiveState) { + this.mActiveState = mActiveState; + } + + public static class ViewState { + float xTranslation; + float yTranslation; + float alpha; + float scale; + } +} diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/SpeedBumpView.java b/packages/SystemUI/src/com/android/systemui/statusbar/SpeedBumpView.java new file mode 100644 index 0000000..8ae503a --- /dev/null +++ b/packages/SystemUI/src/com/android/systemui/statusbar/SpeedBumpView.java @@ -0,0 +1,265 @@ +/* + * Copyright (C) 2014 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License + */ + +package com.android.systemui.statusbar; + +import android.animation.Animator; +import android.animation.AnimatorListenerAdapter; +import android.animation.ValueAnimator; +import android.content.Context; +import android.graphics.Outline; +import android.util.AttributeSet; +import android.view.View; +import android.view.animation.AnimationUtils; +import android.view.animation.Interpolator; +import android.widget.TextView; +import com.android.systemui.R; + +/** + * The view representing the separation between important and less important notifications + */ +public class SpeedBumpView extends ExpandableView implements View.OnClickListener { + + private final int mCollapsedHeight; + private final int mDotsHeight; + private final int mTextPaddingInset; + private SpeedBumpDotsLayout mDots; + private View mLineLeft; + private View mLineRight; + private boolean mIsExpanded; + private boolean mDividerVisible = true; + private ValueAnimator mCurrentAnimator; + private final Interpolator mFastOutSlowInInterpolator; + private float mCenterX; + private TextView mExplanationText; + private boolean mExplanationTextVisible = false; + private AnimatorListenerAdapter mHideExplanationListener = new AnimatorListenerAdapter() { + private boolean mCancelled; + + @Override + public void onAnimationEnd(Animator animation) { + if (!mCancelled) { + mExplanationText.setVisibility(View.INVISIBLE); + } + } + + @Override + public void onAnimationCancel(Animator animation) { + mCancelled = true; + } + + @Override + public void onAnimationStart(Animator animation) { + mCancelled = false; + } + }; + private Animator.AnimatorListener mAnimationFinishedListener = new AnimatorListenerAdapter() { + @Override + public void onAnimationEnd(Animator animation) { + mCurrentAnimator = null; + } + }; + + public SpeedBumpView(Context context, AttributeSet attrs) { + super(context, attrs); + mCollapsedHeight = getResources() + .getDimensionPixelSize(R.dimen.speed_bump_height_collapsed); + mTextPaddingInset = getResources().getDimensionPixelSize( + R.dimen.speed_bump_text_padding_inset); + mDotsHeight = getResources().getDimensionPixelSize(R.dimen.speed_bump_dots_height); + setOnClickListener(this); + mFastOutSlowInInterpolator = AnimationUtils.loadInterpolator(getContext(), + android.R.interpolator.fast_out_slow_in); + } + + @Override + protected void onFinishInflate() { + super.onFinishInflate(); + mDots = (SpeedBumpDotsLayout) findViewById(R.id.speed_bump_dots_layout); + mLineLeft = findViewById(R.id.speedbump_line_left); + mLineRight = findViewById(R.id.speedbump_line_right); + mExplanationText = (TextView) findViewById(R.id.speed_bump_text); + resetExplanationText(); + + } + + @Override + protected int getInitialHeight() { + return mCollapsedHeight; + } + + @Override + public int getIntrinsicHeight() { + return getActualHeight(); + } + + @Override + protected void onLayout(boolean changed, int left, int top, int right, int bottom) { + super.onLayout(changed, left, top, right, bottom); + Outline outline = new Outline(); + mCenterX = getWidth() / 2; + float centerY = getHeight() / 2; + // TODO: hide outline better + // Temporary workaround to hide outline on a transparent view + int outlineLeft = (int) (mCenterX - getResources().getDisplayMetrics().densityDpi * 8); + int outlineTop = (int) (centerY - mDotsHeight / 2); + outline.setOval(outlineLeft, outlineTop, outlineLeft + mDotsHeight, + outlineTop + mDotsHeight); + setOutline(outline); + mLineLeft.setPivotX(mLineLeft.getWidth()); + mLineLeft.setPivotY(mLineLeft.getHeight() / 2); + mLineRight.setPivotX(0); + mLineRight.setPivotY(mLineRight.getHeight() / 2); + } + + @Override + protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { + measureChildren(widthMeasureSpec, heightMeasureSpec); + int height = mCollapsedHeight + mExplanationText.getMeasuredHeight() - mTextPaddingInset; + setMeasuredDimension(MeasureSpec.getSize(widthMeasureSpec), height); + } + + @Override + public void onClick(View v) { + if (mCurrentAnimator != null) { + return; + } + int startValue = mIsExpanded ? getMaxHeight() : mCollapsedHeight; + int endValue = mIsExpanded ? mCollapsedHeight : getMaxHeight(); + mCurrentAnimator = ValueAnimator.ofInt(startValue, endValue); + mCurrentAnimator.setInterpolator(mFastOutSlowInInterpolator); + mCurrentAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() { + @Override + public void onAnimationUpdate(ValueAnimator animation) { + setActualHeight((int) animation.getAnimatedValue()); + } + }); + mCurrentAnimator.addListener(mAnimationFinishedListener); + mCurrentAnimator.start(); + mIsExpanded = !mIsExpanded; + mDots.performDotClickAnimation(); + animateExplanationTextInternal(mIsExpanded); + } + + private void animateExplanationTextInternal(boolean visible) { + if (mExplanationTextVisible != visible) { + float translationY = 0.0f; + float scale = 0.5f; + float alpha = 0.0f; + boolean needsHideListener = true; + if (visible) { + mExplanationText.setVisibility(VISIBLE); + translationY = mDots.getBottom() - mTextPaddingInset; + scale = 1.0f; + alpha = 1.0f; + needsHideListener = false; + } + mExplanationText.animate().setInterpolator(mFastOutSlowInInterpolator) + .alpha(alpha) + .scaleX(scale) + .scaleY(scale) + .translationY(translationY) + .setListener(needsHideListener ? mHideExplanationListener : null) + .withLayer(); + mExplanationTextVisible = visible; + } + } + + @Override + public boolean isTransparent() { + return true; + } + + public void performVisibilityAnimation(boolean nowVisible) { + animateDivider(nowVisible); + + // Animate explanation Text + if (mIsExpanded) { + animateExplanationTextInternal(nowVisible); + } + } + + public void animateDivider(boolean nowVisible) { + if (nowVisible != mDividerVisible) { + // Animate dividers + float endValue = nowVisible ? 1.0f : 0.0f; + float endTranslationXLeft = nowVisible ? 0.0f : mCenterX - mLineLeft.getRight(); + float endTranslationXRight = nowVisible ? 0.0f : mCenterX - mLineRight.getLeft(); + mLineLeft.animate() + .alpha(endValue) + .withLayer() + .scaleX(endValue) + .scaleY(endValue) + .translationX(endTranslationXLeft) + .setInterpolator(mFastOutSlowInInterpolator); + mLineRight.animate() + .alpha(endValue) + .withLayer() + .scaleX(endValue) + .scaleY(endValue) + .translationX(endTranslationXRight) + .setInterpolator(mFastOutSlowInInterpolator); + + // Animate dots + mDots.performVisibilityAnimation(nowVisible); + mDividerVisible = nowVisible; + } + } + + public void setInvisible() { + float endTranslationXLeft = mCenterX - mLineLeft.getRight(); + float endTranslationXRight = mCenterX - mLineRight.getLeft(); + mLineLeft.setAlpha(0.0f); + mLineLeft.setScaleX(0.0f); + mLineLeft.setScaleY(0.0f); + mLineLeft.setTranslationX(endTranslationXLeft); + mLineRight.setAlpha(0.0f); + mLineRight.setScaleX(0.0f); + mLineRight.setScaleY(0.0f); + mLineRight.setTranslationX(endTranslationXRight); + mDots.setInvisible(); + resetExplanationText(); + + mDividerVisible = false; + } + + public void collapse() { + if (mIsExpanded) { + setActualHeight(mCollapsedHeight); + mIsExpanded = false; + } + resetExplanationText(); + } + + public void animateExplanationText(boolean nowVisible) { + if (mIsExpanded) { + animateExplanationTextInternal(nowVisible); + } + } + + private void resetExplanationText() { + mExplanationText.setTranslationY(0); + mExplanationText.setVisibility(INVISIBLE); + mExplanationText.setAlpha(0.0f); + mExplanationText.setScaleX(0.5f); + mExplanationText.setScaleY(0.5f); + mExplanationTextVisible = false; + } + + public boolean isExpanded() { + return mIsExpanded; + } +} diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/BarTransitions.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/BarTransitions.java index eb63a54..a41ec22 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/BarTransitions.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/BarTransitions.java @@ -43,6 +43,7 @@ public class BarTransitions { public static final int MODE_SEMI_TRANSPARENT = 1; public static final int MODE_TRANSLUCENT = 2; public static final int MODE_LIGHTS_OUT = 3; + public static final int MODE_TRANSPARENT = 4; public static final int LIGHTS_IN_DURATION = 250; public static final int LIGHTS_OUT_DURATION = 750; @@ -69,7 +70,8 @@ public class BarTransitions { public void transitionTo(int mode, boolean animate) { // low-end devices do not support translucent modes, fallback to opaque - if (!HIGH_END && (mode == MODE_SEMI_TRANSPARENT || mode == MODE_TRANSLUCENT)) { + if (!HIGH_END && (mode == MODE_SEMI_TRANSPARENT || mode == MODE_TRANSLUCENT + || mode == MODE_TRANSPARENT)) { mode = MODE_OPAQUE; } if (mMode == mode) return; @@ -97,6 +99,7 @@ public class BarTransitions { if (mode == MODE_SEMI_TRANSPARENT) return "MODE_SEMI_TRANSPARENT"; if (mode == MODE_TRANSLUCENT) return "MODE_TRANSLUCENT"; if (mode == MODE_LIGHTS_OUT) return "MODE_LIGHTS_OUT"; + if (mode == MODE_TRANSPARENT) return "MODE_TRANSPARENT"; throw new IllegalArgumentException("Unknown mode " + mode); } @@ -111,6 +114,7 @@ public class BarTransitions { private static class BarBackgroundDrawable extends Drawable { private final int mOpaque; private final int mSemiTransparent; + private final int mTransparent; private final Drawable mGradient; private final TimeInterpolator mInterpolator; @@ -130,9 +134,11 @@ public class BarTransitions { if (DEBUG_COLORS) { mOpaque = 0xff0000ff; mSemiTransparent = 0x7f0000ff; + mTransparent = 0x2f0000ff; } else { mOpaque = res.getColor(R.color.system_bar_background_opaque); mSemiTransparent = res.getColor(R.color.system_bar_background_semi_transparent); + mTransparent = res.getColor(R.color.system_bar_background_transparent); } mGradient = res.getDrawable(gradientResourceId); mInterpolator = new LinearInterpolator(); @@ -184,9 +190,11 @@ public class BarTransitions { public void draw(Canvas canvas) { int targetGradientAlpha = 0, targetColor = 0; if (mMode == MODE_TRANSLUCENT) { - targetGradientAlpha = 0xff; + targetColor = mSemiTransparent; } else if (mMode == MODE_SEMI_TRANSPARENT) { targetColor = mSemiTransparent; + } else if (mMode == MODE_TRANSPARENT) { + targetColor = mTransparent; } else { targetColor = mOpaque; } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/DemoStatusIcons.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/DemoStatusIcons.java index 869edff..0a3fdef 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/DemoStatusIcons.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/DemoStatusIcons.java @@ -60,7 +60,8 @@ public class DemoStatusIcons extends LinearLayout implements DemoMode { } else if (mDemoMode && command.equals(COMMAND_STATUS)) { String volume = args.getString("volume"); if (volume != null) { - int iconId = volume.equals("silent") ? R.drawable.stat_sys_ringer_silent + int iconId = volume.equals("zen") ? R.drawable.stat_sys_ringer_zen + : volume.equals("silent") ? R.drawable.stat_sys_ringer_silent : volume.equals("vibrate") ? R.drawable.stat_sys_ringer_vibrate : 0; updateSlot("volume", null, iconId); diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarTransitions.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarTransitions.java index a0582ee..c83b479 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarTransitions.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarTransitions.java @@ -61,7 +61,7 @@ public final class NavigationBarTransitions extends BarTransitions { @Override public void transitionTo(int mode, boolean animate) { mRequestedMode = mode; - if (mVertical && mode == MODE_TRANSLUCENT) { + if (mVertical && (mode == MODE_TRANSLUCENT || mode == MODE_TRANSPARENT)) { // translucent mode not allowed when vertical mode = MODE_OPAQUE; } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java index 9054fe3..19252c0 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java @@ -18,6 +18,8 @@ package com.android.systemui.statusbar.phone; import android.animation.Animator; import android.animation.AnimatorListenerAdapter; +import android.animation.ObjectAnimator; +import android.animation.PropertyValuesHolder; import android.animation.ValueAnimator; import android.content.Context; import android.util.AttributeSet; @@ -25,6 +27,7 @@ import android.view.MotionEvent; import android.view.VelocityTracker; import android.view.View; import android.view.ViewGroup; +import android.view.ViewTreeObserver; import android.view.accessibility.AccessibilityEvent; import android.view.animation.AnimationUtils; import android.view.animation.Interpolator; @@ -36,12 +39,11 @@ import com.android.systemui.statusbar.FlingAnimationUtils; import com.android.systemui.statusbar.GestureRecorder; import com.android.systemui.statusbar.StatusBarState; import com.android.systemui.statusbar.stack.NotificationStackScrollLayout; +import com.android.systemui.statusbar.stack.StackStateAnimator; public class NotificationPanelView extends PanelView implements ExpandableView.OnHeightChangedListener, ObservableScrollView.Listener, View.OnClickListener { - public static final boolean DEBUG_GESTURES = true; - private static final int EXPANSION_ANIMATION_LENGTH = 375; PhoneStatusBar mStatusBar; private StatusBarHeaderView mHeader; @@ -78,6 +80,21 @@ public class NotificationPanelView extends PanelView implements private boolean mQsExpansionEnabled = true; private ValueAnimator mQsExpansionAnimator; private FlingAnimationUtils mFlingAnimationUtils; + private int mStatusBarMinHeight; + + private int mClockNotificationsMarginMin; + private int mClockNotificationsMarginMax; + private float mClockYFractionMin; + private float mClockYFractionMax; + private Interpolator mFastOutSlowInInterpolator; + private ObjectAnimator mClockAnimator; + private int mClockAnimationTarget = -1; + + /** + * The number (fractional) of notifications the "more" card counts when calculating how many + * notifications are currently visible for the y positioning of the clock. + */ + private float mMoreCardNotificationAmount; public NotificationPanelView(Context context, AttributeSet attrs) { super(context, attrs); @@ -112,24 +129,37 @@ public class NotificationPanelView extends PanelView implements mNotificationStackScroller = (NotificationStackScrollLayout) findViewById(R.id.notification_stack_scroller); mNotificationStackScroller.setOnHeightChangedListener(this); + mFastOutSlowInInterpolator = AnimationUtils.loadInterpolator(getContext(), + android.R.interpolator.fast_out_slow_in); + } + + @Override + protected void loadDimens() { + super.loadDimens(); mNotificationTopPadding = getResources().getDimensionPixelSize( R.dimen.notifications_top_padding); mMinStackHeight = getResources().getDimensionPixelSize(R.dimen.collapsed_stack_height); + mClockNotificationsMarginMin = getResources().getDimensionPixelSize( + R.dimen.keyguard_clock_notifications_margin_min); + mClockNotificationsMarginMax = getResources().getDimensionPixelSize( + R.dimen.keyguard_clock_notifications_margin_max); + mClockYFractionMin = + getResources().getFraction(R.fraction.keyguard_clock_y_fraction_min, 1, 1); + mClockYFractionMax = + getResources().getFraction(R.fraction.keyguard_clock_y_fraction_max, 1, 1); + mMoreCardNotificationAmount = + (float) getResources().getDimensionPixelSize(R.dimen.notification_summary_height) / + getResources().getDimensionPixelSize(R.dimen.notification_min_height); mFlingAnimationUtils = new FlingAnimationUtils(getContext()); + mStatusBarMinHeight = getResources().getDimensionPixelSize( + com.android.internal.R.dimen.status_bar_height); } @Override protected void onLayout(boolean changed, int left, int top, int right, int bottom) { super.onLayout(changed, left, top, right, bottom); - int keyguardBottomMargin = - ((MarginLayoutParams) mKeyguardStatusView.getLayoutParams()).bottomMargin; if (!mQsExpanded) { - mStackScrollerIntrinsicPadding = mStatusBar.getBarState() == StatusBarState.KEYGUARD - ? mKeyguardStatusView.getBottom() + keyguardBottomMargin - : mHeader.getBottom() + mNotificationTopPadding; - mNotificationStackScroller.setTopPadding(mStackScrollerIntrinsicPadding, - mAnimateNextTopPaddingChange); - mAnimateNextTopPaddingChange = false; + positionClockAndNotifications(); } // Calculate quick setting heights. @@ -140,8 +170,81 @@ public class NotificationPanelView extends PanelView implements } } - public void animateNextTopPaddingChange() { + /** + * Positions the clock and notifications dynamically depending on how many notifications are + * showing. + */ + private void positionClockAndNotifications() { + boolean animateClock = mNotificationStackScroller.isAddOrRemoveAnimationPending(); + if (mStatusBar.getBarState() != StatusBarState.KEYGUARD) { + mStackScrollerIntrinsicPadding = mHeader.getBottom() + mNotificationTopPadding; + } else { + int notificationCount = mNotificationStackScroller.getNotGoneChildCount(); + int y = getClockY(notificationCount) - mKeyguardStatusView.getHeight()/2; + int padding = getClockNotificationsPadding(notificationCount); + if (animateClock || mClockAnimator != null) { + startClockAnimation(y); + } else { + mKeyguardStatusView.setY(y); + } + mStackScrollerIntrinsicPadding = y + mKeyguardStatusView.getHeight() + padding; + } + mNotificationStackScroller.setTopPadding(mStackScrollerIntrinsicPadding, + mAnimateNextTopPaddingChange || animateClock); + mAnimateNextTopPaddingChange = false; + } + + private void startClockAnimation(int y) { + if (mClockAnimationTarget == y) { + return; + } + mClockAnimationTarget = y; + getViewTreeObserver().addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() { + @Override + public boolean onPreDraw() { + getViewTreeObserver().removeOnPreDrawListener(this); + if (mClockAnimator != null) { + mClockAnimator.removeAllListeners(); + mClockAnimator.cancel(); + } + mClockAnimator = + ObjectAnimator.ofFloat(mKeyguardStatusView, View.Y, mClockAnimationTarget); + mClockAnimator.setInterpolator(mFastOutSlowInInterpolator); + mClockAnimator.setDuration(StackStateAnimator.ANIMATION_DURATION_STANDARD); + mClockAnimator.addListener(new AnimatorListenerAdapter() { + @Override + public void onAnimationEnd(Animator animation) { + mClockAnimator = null; + mClockAnimationTarget = -1; + } + }); + StackStateAnimator.startInstantly(mClockAnimator); + return true; + } + }); + } + + private int getClockNotificationsPadding(int notificationCount) { + float t = notificationCount + / (mStatusBar.getMaxKeyguardNotifications() + mMoreCardNotificationAmount); + t = Math.min(t, 1.0f); + return (int) (t * mClockNotificationsMarginMin + (1 - t) * mClockNotificationsMarginMax); + } + + private float getClockYFraction(int notificationCount) { + float t = notificationCount + / (mStatusBar.getMaxKeyguardNotifications() + mMoreCardNotificationAmount); + t = Math.min(t, 1.0f); + return (1 - t) * mClockYFractionMax + t * mClockYFractionMin; + } + + private int getClockY(int notificationCount) { + return (int) (getClockYFraction(notificationCount) * getHeight()); + } + + public void animateToFullShade() { mAnimateNextTopPaddingChange = true; + mNotificationStackScroller.goToFullShade(); requestLayout(); } @@ -520,7 +623,9 @@ public class NotificationPanelView extends PanelView implements int notificationMarginBottom = mStackScrollerContainer.getPaddingBottom(); int emptyBottomMargin = notificationMarginBottom + mNotificationStackScroller.getEmptyBottomMargin(); - return maxPanelHeight - emptyBottomMargin; + int maxHeight = maxPanelHeight - emptyBottomMargin; + maxHeight = Math.max(maxHeight, mStatusBarMinHeight); + return maxHeight; } return super.getMaxPanelHeight(); } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PanelBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PanelBar.java index 324d6f3..8800625 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PanelBar.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PanelBar.java @@ -224,6 +224,5 @@ public class PanelBar extends FrameLayout { public void onTrackingStopped(PanelView panel) { mTracking = false; - panelExpansionChanged(panel, panel.getExpandedFraction()); } } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PanelHolder.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PanelHolder.java index c229a09..d7f34d5 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PanelHolder.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PanelHolder.java @@ -77,12 +77,6 @@ public class PanelHolder extends FrameLayout { event.getActionMasked(), (int) event.getX(), (int) event.getY()); } } - switch (event.getAction()) { - case MotionEvent.ACTION_DOWN: - PanelBar.LOG("PanelHolder got touch in open air, closing panels"); - mBar.collapseAllPanels(true); - break; - } return false; } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PanelView.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PanelView.java index 8c70517..517f763 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PanelView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PanelView.java @@ -20,6 +20,7 @@ import android.animation.ObjectAnimator; import android.animation.TimeAnimator; import android.animation.TimeAnimator.TimeListener; import android.content.Context; +import android.content.res.Configuration; import android.content.res.Resources; import android.util.AttributeSet; import android.util.Log; @@ -218,7 +219,7 @@ public class PanelView extends FrameLayout { }; private float mVel, mAccel; - protected int mMaxPanelHeight = 0; + protected int mMaxPanelHeight = -1; private String mViewName; private float mInitialTouchY; private float mInitialTouchX; @@ -321,7 +322,7 @@ public class PanelView extends FrameLayout { setOnHierarchyChangeListener(mHierarchyListener); } - private void loadDimens() { + protected void loadDimens() { final Resources res = getContext().getResources(); mSelfExpandVelocityPx = res.getDimension(R.dimen.self_expand_velocity); @@ -582,8 +583,14 @@ public class PanelView extends FrameLayout { @Override protected void onFinishInflate() { super.onFinishInflate(); + loadDimens(); + } + @Override + protected void onConfigurationChanged(Configuration newConfig) { + super.onConfigurationChanged(newConfig); loadDimens(); + mMaxPanelHeight = -1; } public void fling(float vel, boolean always) { @@ -617,7 +624,8 @@ public class PanelView extends FrameLayout { // Did one of our children change size? int newHeight = getMeasuredHeight(); - if (newHeight != mMaxPanelHeight) { + if (newHeight > mMaxPanelHeight) { + // we only adapt the max height if it's bigger mMaxPanelHeight = newHeight; // If the user isn't actively poking us, let's rubberband to the content if (!mTracking && !mTimeAnimator.isStarted() @@ -706,6 +714,7 @@ public class PanelView extends FrameLayout { * @return the default implementation simply returns the maximum height. */ protected int getMaxPanelHeight() { + mMaxPanelHeight = Math.max(mMaxPanelHeight, getHeight()); return mMaxPanelHeight; } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java index 23b0594..1072e49 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java @@ -26,6 +26,7 @@ import static com.android.systemui.statusbar.phone.BarTransitions.MODE_LIGHTS_OU import static com.android.systemui.statusbar.phone.BarTransitions.MODE_OPAQUE; import static com.android.systemui.statusbar.phone.BarTransitions.MODE_SEMI_TRANSPARENT; import static com.android.systemui.statusbar.phone.BarTransitions.MODE_TRANSLUCENT; +import static com.android.systemui.statusbar.phone.BarTransitions.MODE_TRANSPARENT; import android.animation.Animator; import android.animation.AnimatorListenerAdapter; @@ -105,6 +106,7 @@ import com.android.systemui.statusbar.NotificationData; import com.android.systemui.statusbar.NotificationData.Entry; import com.android.systemui.statusbar.NotificationOverflowContainer; import com.android.systemui.statusbar.SignalClusterView; +import com.android.systemui.statusbar.SpeedBumpView; import com.android.systemui.statusbar.StatusBarIconView; import com.android.systemui.statusbar.StatusBarState; import com.android.systemui.statusbar.policy.BatteryController; @@ -221,8 +223,6 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode, IconMerger mNotificationIcons; // [+> View mMoreIcon; - // mode indicator icon - ImageView mModeIcon; // expanded notifications NotificationPanelView mNotificationPanel; // the sliding/resizing panel within the notification window @@ -486,13 +486,14 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode, @Override public void setZenMode(int mode) { super.setZenMode(mode); - if (mModeIcon == null) return; if (!isDeviceProvisioned()) return; final boolean zen = mode != Settings.Global.ZEN_MODE_OFF; - mModeIcon.setVisibility(zen ? View.VISIBLE : View.GONE); if (!zen) { mIntercepted.releaseIntercepted(); } + if (mIconPolicy != null) { + mIconPolicy.setZenMode(zen); + } } @Override @@ -616,8 +617,6 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode, mNotificationIcons = (IconMerger)mStatusBarView.findViewById(R.id.notificationIcons); mMoreIcon = mStatusBarView.findViewById(R.id.moreIcon); mNotificationIcons.setOverflowIndicator(mMoreIcon); - mModeIcon = (ImageView)mStatusBarView.findViewById(R.id.modeIcon); - mModeIcon.setImageResource(R.drawable.stat_sys_zen_limited); mStatusBarContents = (LinearLayout)mStatusBarView.findViewById(R.id.status_bar_contents); mTickerView = mStatusBarView.findViewById(R.id.ticker); @@ -633,6 +632,10 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode, mKeyguardIconOverflowContainer.setOnClickListener(mOverflowClickListener); mStackScroller.addView(mKeyguardIconOverflowContainer); + SpeedBumpView speedBump = (SpeedBumpView) LayoutInflater.from(mContext).inflate( + R.layout.status_bar_notification_speed_bump, mStackScroller, false); + mStackScroller.setSpeedBumpView(speedBump); + mExpandedContents = mStackScroller; mHeader = (StatusBarHeaderView) mStatusBarWindow.findViewById(R.id.header); @@ -1149,7 +1152,7 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode, ArrayList<View> toRemove = new ArrayList<View>(); for (int i=0; i< mStackScroller.getChildCount(); i++) { View child = mStackScroller.getChildAt(i); - if (!toShow.contains(child) && child != mKeyguardIconOverflowContainer) { + if (!toShow.contains(child) && child instanceof ExpandableNotificationRow) { toRemove.add(child); } } @@ -1390,8 +1393,8 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode, if ((state & StatusBarManager.DISABLE_RECENT) != 0) { // close recents if it's visible - mHandler.removeMessages(MSG_CLOSE_RECENTS_PANEL); - mHandler.sendEmptyMessage(MSG_CLOSE_RECENTS_PANEL); + mHandler.removeMessages(MSG_HIDE_RECENT_APPS); + mHandler.sendEmptyMessage(MSG_HIDE_RECENT_APPS); } } @@ -1542,8 +1545,8 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode, } if ((flags & CommandQueue.FLAG_EXCLUDE_RECENTS_PANEL) == 0) { - mHandler.removeMessages(MSG_CLOSE_RECENTS_PANEL); - mHandler.sendEmptyMessage(MSG_CLOSE_RECENTS_PANEL); + mHandler.removeMessages(MSG_HIDE_RECENT_APPS); + mHandler.sendEmptyMessage(MSG_HIDE_RECENT_APPS); } if ((flags & CommandQueue.FLAG_EXCLUDE_SEARCH_PANEL) == 0) { @@ -1870,6 +1873,7 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode, private int barMode(int vis, int transientFlag, int translucentFlag) { return (vis & transientFlag) != 0 ? MODE_SEMI_TRANSPARENT : (vis & translucentFlag) != 0 ? MODE_TRANSLUCENT + : (vis & View.SYSTEM_UI_TRANSPARENT) != 0 ? MODE_TRANSPARENT : (vis & View.SYSTEM_UI_FLAG_LOW_PROFILE) != 0 ? MODE_LIGHTS_OUT : MODE_OPAQUE; } @@ -2558,13 +2562,13 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode, || (mDisabled & StatusBarManager.DISABLE_SEARCH) != 0; } - public void postStartSettingsActivity(final Intent intent) { - mHandler.post(new Runnable() { + public void postStartSettingsActivity(final Intent intent, int delay) { + mHandler.postDelayed(new Runnable() { @Override public void run() { handleStartSettingsActivity(intent, true /*onlyProvisioned*/); } - }); + }, delay); } private void handleStartSettingsActivity(Intent intent, boolean onlyProvisioned) { @@ -2580,7 +2584,7 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode, } public void startSettingsActivity(String action) { - postStartSettingsActivity(new Intent(action)); + postStartSettingsActivity(new Intent(action), 0); } private static class FastColorDrawable extends Drawable { @@ -2720,7 +2724,7 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode, setBarState(StatusBarState.SHADE); if (mLeaveOpenOnKeyguardHide) { mLeaveOpenOnKeyguardHide = false; - mNotificationPanel.animateNextTopPaddingChange(); + mNotificationPanel.animateToFullShade(); } else { instantCollapseNotificationPanel(); } @@ -2892,7 +2896,7 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode, mLeaveOpenOnKeyguardHide = true; showBouncer(); } else { - mNotificationPanel.animateNextTopPaddingChange(); + mNotificationPanel.animateToFullShade(); setBarState(StatusBarState.SHADE_LOCKED); updateKeyguardState(); } @@ -2915,4 +2919,12 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode, public void reattachSystemIcons() { mSystemIconArea.addView(mSystemIcons, 0); } + + public void onScreenTurnedOff() { + mStackScroller.setAnimationsEnabled(false); + } + + public void onScreenTurnedOn() { + mStackScroller.setAnimationsEnabled(true); + } } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarPolicy.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarPolicy.java index 194774d..b6f5ae0 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarPolicy.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarPolicy.java @@ -63,6 +63,9 @@ public class PhoneStatusBarPolicy { // ringer volume private boolean mVolumeVisible; + // zen mode + private boolean mZen; + // bluetooth device status private boolean mBluetoothEnabled = false; @@ -152,6 +155,11 @@ public class PhoneStatusBarPolicy { updateVolume(); } + public void setZenMode(boolean zen) { + mZen = zen; + updateVolume(); + } + private final void updateAlarm(Intent intent) { boolean alarmSet = intent.getBooleanExtra("alarmSet", false); mService.setIconVisibility("alarm_clock", alarmSet); @@ -195,11 +203,15 @@ public class PhoneStatusBarPolicy { AudioManager audioManager = (AudioManager) mContext.getSystemService(Context.AUDIO_SERVICE); final int ringerMode = audioManager.getRingerMode(); final boolean visible = ringerMode == AudioManager.RINGER_MODE_SILENT || - ringerMode == AudioManager.RINGER_MODE_VIBRATE; + ringerMode == AudioManager.RINGER_MODE_VIBRATE || + mZen; final int iconId; String contentDescription = null; - if (ringerMode == AudioManager.RINGER_MODE_VIBRATE) { + if (mZen) { + iconId = R.drawable.stat_sys_ringer_zen; + contentDescription = mContext.getString(R.string.zen_mode_title); + } else if (ringerMode == AudioManager.RINGER_MODE_VIBRATE) { iconId = R.drawable.stat_sys_ringer_vibrate; contentDescription = mContext.getString(R.string.accessibility_ringer_vibrate); } else { diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarTransitions.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarTransitions.java index 8406565..8520f40 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarTransitions.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarTransitions.java @@ -68,7 +68,8 @@ public final class PhoneStatusBarTransitions extends BarTransitions { } private boolean isOpaque(int mode) { - return !(mode == MODE_SEMI_TRANSPARENT || mode == MODE_TRANSLUCENT); + return !(mode == MODE_SEMI_TRANSPARENT || mode == MODE_TRANSLUCENT + || mode == MODE_TRANSPARENT); } @Override diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/QSTileHost.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/QSTileHost.java index 1fe3be5..7029898 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/QSTileHost.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/QSTileHost.java @@ -18,7 +18,6 @@ package com.android.systemui.statusbar.phone; import android.content.Context; import android.content.Intent; -import android.graphics.drawable.VectorDrawable; import android.os.HandlerThread; import android.os.Looper; @@ -113,7 +112,7 @@ public class QSTileHost implements QSTile.Host { @Override public void startSettingsActivity(final Intent intent) { - mStatusBar.postStartSettingsActivity(intent); + mStatusBar.postStartSettingsActivity(intent, QSTile.FEEDBACK_START_DELAY); } @Override @@ -137,11 +136,6 @@ public class QSTileHost implements QSTile.Host { } @Override - public VectorDrawable getVectorDrawable(int resId) { - return (VectorDrawable) mContext.getDrawable(resId); - } - - @Override public BluetoothController getBluetoothController() { return mBluetooth; } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarHeaderView.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarHeaderView.java index 2305445..36b063b 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarHeaderView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarHeaderView.java @@ -86,6 +86,7 @@ public class StatusBarHeaderView extends RelativeLayout implements View.OnClickL (ImageView) findViewById(R.id.brightness_icon), (ToggleSlider) findViewById(R.id.brightness_slider)); loadDimens(); + updateVisibilities(); } private void loadDimens() { diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManager.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManager.java index 77b760e..1040c15 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManager.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManager.java @@ -125,11 +125,13 @@ public class StatusBarKeyguardViewManager { public void onScreenTurnedOff() { mScreenOn = false; + mPhoneStatusBar.onScreenTurnedOff(); mBouncer.onScreenTurnedOff(); } public void onScreenTurnedOn(final IKeyguardShowCallback callback) { mScreenOn = true; + mPhoneStatusBar.onScreenTurnedOn(); if (callback != null) { callbackAfterDraw(callback); } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarWindowManager.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarWindowManager.java index 46a637b..b7bf6cd 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarWindowManager.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarWindowManager.java @@ -75,8 +75,7 @@ public class StatusBarWindowManager { | WindowManager.LayoutParams.FLAG_TOUCHABLE_WHEN_WAKING | WindowManager.LayoutParams.FLAG_SPLIT_TOUCH | WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH - | WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION - | WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS, + | WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS, PixelFormat.TRANSLUCENT); mLp.flags |= WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED; mLp.gravity = Gravity.TOP; diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/BluetoothControllerImpl.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/BluetoothControllerImpl.java index 1c7119f..5a19881 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/BluetoothControllerImpl.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/BluetoothControllerImpl.java @@ -59,6 +59,7 @@ public class BluetoothControllerImpl extends BroadcastReceiver implements Blueto public void addStateChangedCallback(BluetoothStateChangeCallback cb) { mChangeCallbacks.add(cb); + fireCallback(cb); } @Override @@ -131,7 +132,11 @@ public class BluetoothControllerImpl extends BroadcastReceiver implements Blueto private void fireCallbacks() { for (BluetoothStateChangeCallback cb : mChangeCallbacks) { - cb.onBluetoothStateChange(mEnabled); + fireCallback(cb); } } + + private void fireCallback(BluetoothStateChangeCallback cb) { + cb.onBluetoothStateChange(mEnabled); + } } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/CastControllerImpl.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/CastControllerImpl.java index 33a85b1..bcd865c 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/CastControllerImpl.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/CastControllerImpl.java @@ -28,6 +28,10 @@ public class CastControllerImpl implements CastController { private final ArrayList<Callback> mCallbacks = new ArrayList<Callback>(); private final MediaRouter mMediaRouter; + private boolean mEnabled; + private boolean mConnecting; + private String mConnectedRouteName; + public CastControllerImpl(Context context) { mMediaRouter = (MediaRouter) context.getSystemService(Context.MEDIA_ROUTER_SERVICE); } @@ -35,6 +39,7 @@ public class CastControllerImpl implements CastController { @Override public void addCallback(Callback callback) { mCallbacks.add(callback); + fireStateChanged(callback); } @Override @@ -76,12 +81,23 @@ public class CastControllerImpl implements CastController { if (connectedRoute != null) { connectedRouteName = connectedRoute.getName().toString(); } - fireStateChanged(enabled, connecting, connectedRouteName); + synchronized(mCallbacks) { + mEnabled = enabled; + mConnecting = connecting; + mConnectedRouteName = connectedRouteName; + } + fireStateChanged(); } - private void fireStateChanged(boolean enabled, boolean connecting, String connectedRouteName) { + private void fireStateChanged() { for (Callback callback : mCallbacks) { - callback.onStateChanged(enabled, connecting, connectedRouteName); + fireStateChanged(callback); + } + } + + private void fireStateChanged(Callback callback) { + synchronized(mCallbacks) { + callback.onStateChanged(mEnabled, mConnecting, mConnectedRouteName); } } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/Disposable.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/Listenable.java index 158e9c1..4fa59fd 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/Disposable.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/Listenable.java @@ -16,7 +16,7 @@ package com.android.systemui.statusbar.policy; -/** Common interface for items requiring manual cleanup. **/ -public interface Disposable { - void dispose(); +/** Common interface for components with an active listening state. **/ +public interface Listenable { + void setListening(boolean listening); } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/LocationControllerImpl.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/LocationControllerImpl.java index 9e5ad18..d5b2548 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/LocationControllerImpl.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/LocationControllerImpl.java @@ -92,6 +92,7 @@ public class LocationControllerImpl extends BroadcastReceiver implements Locatio */ public void addSettingsChangedCallback(LocationSettingsChangeCallback cb) { mSettingsChangeCallbacks.add(cb); + locationSettingsChanged(cb); } public void removeSettingsChangedCallback(LocationSettingsChangeCallback cb) { @@ -204,6 +205,10 @@ public class LocationControllerImpl extends BroadcastReceiver implements Locatio } } + private void locationSettingsChanged(LocationSettingsChangeCallback cb) { + cb.onLocationSettingsChanged(isLocationEnabled()); + } + @Override public void onReceive(Context context, Intent intent) { final String action = intent.getAction(); diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/RotationLockController.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/RotationLockController.java index 1eb678d..93c4691 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/RotationLockController.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/RotationLockController.java @@ -16,7 +16,7 @@ package com.android.systemui.statusbar.policy; -public interface RotationLockController extends Disposable { +public interface RotationLockController extends Listenable { int getRotationLockOrientation(); boolean isRotationLockAffordanceVisible(); boolean isRotationLocked(); diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/RotationLockControllerImpl.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/RotationLockControllerImpl.java index caa07ef..c3bcd94 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/RotationLockControllerImpl.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/RotationLockControllerImpl.java @@ -39,12 +39,12 @@ public final class RotationLockControllerImpl implements RotationLockController public RotationLockControllerImpl(Context context) { mContext = context; - RotationPolicy.registerRotationPolicyListener(mContext, - mRotationPolicyListener, UserHandle.USER_ALL); + setListening(true); } public void addRotationLockControllerCallback(RotationLockControllerCallback callback) { mCallbacks.add(callback); + notifyChanged(callback); } public void removeRotationLockControllerCallback(RotationLockControllerCallback callback) { @@ -68,14 +68,23 @@ public final class RotationLockControllerImpl implements RotationLockController } @Override - public void dispose() { - RotationPolicy.unregisterRotationPolicyListener(mContext, mRotationPolicyListener); + public void setListening(boolean listening) { + if (listening) { + RotationPolicy.registerRotationPolicyListener(mContext, mRotationPolicyListener, + UserHandle.USER_ALL); + } else { + RotationPolicy.unregisterRotationPolicyListener(mContext, mRotationPolicyListener); + } } private void notifyChanged() { for (RotationLockControllerCallback callback : mCallbacks) { - callback.onRotationLockStateChanged(RotationPolicy.isRotationLocked(mContext), - RotationPolicy.isRotationLockToggleVisible(mContext)); + notifyChanged(callback); } } + + private void notifyChanged(RotationLockControllerCallback callback) { + callback.onRotationLockStateChanged(RotationPolicy.isRotationLocked(mContext), + RotationPolicy.isRotationLockToggleVisible(mContext)); + } } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/ZenModeControllerImpl.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/ZenModeControllerImpl.java index d760f78..adf2935 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/ZenModeControllerImpl.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/ZenModeControllerImpl.java @@ -52,6 +52,7 @@ public class ZenModeControllerImpl implements ZenModeController { fireZenChanged(value != 0); } }; + mSetting.setListening(true); mNoMan = INotificationManager.Stub.asInterface( ServiceManager.getService(Context.NOTIFICATION_SERVICE)); } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/stack/AmbientState.java b/packages/SystemUI/src/com/android/systemui/statusbar/stack/AmbientState.java index deab757..b21e12c 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/stack/AmbientState.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/stack/AmbientState.java @@ -30,6 +30,7 @@ public class AmbientState { private View mActivatedChild; private float mOverScrollTopAmount; private float mOverScrollBottomAmount; + private int mSpeedBumpIndex = -1; public int getScrollY() { return mScrollY; @@ -86,4 +87,12 @@ public class AmbientState { public float getOverScrollAmount(boolean top) { return top ? mOverScrollTopAmount : mOverScrollBottomAmount; } + + public int getSpeedBumpIndex() { + return mSpeedBumpIndex; + } + + public void setSpeedBumpIndex(int speedBumpIndex) { + mSpeedBumpIndex = speedBumpIndex; + } } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/stack/NotificationStackScrollLayout.java b/packages/SystemUI/src/com/android/systemui/statusbar/stack/NotificationStackScrollLayout.java index fbb6695..3ef998e 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/stack/NotificationStackScrollLayout.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/stack/NotificationStackScrollLayout.java @@ -39,6 +39,7 @@ import com.android.systemui.R; import com.android.systemui.SwipeHelper; import com.android.systemui.statusbar.ExpandableNotificationRow; import com.android.systemui.statusbar.ExpandableView; +import com.android.systemui.statusbar.SpeedBumpView; import com.android.systemui.statusbar.stack.StackScrollState.ViewState; import com.android.systemui.statusbar.policy.ScrollAdapter; @@ -107,6 +108,7 @@ public class NotificationStackScrollLayout extends ViewGroup = new ArrayList<AnimationEvent>(); private ArrayList<View> mSwipedOutViews = new ArrayList<View>(); private final StackStateAnimator mStateAnimator = new StackStateAnimator(this); + private boolean mAnimationsEnabled; /** * The raw amount of the overScroll on the top, which is not rubber-banded. @@ -126,6 +128,8 @@ public class NotificationStackScrollLayout extends ViewGroup private boolean mActivateNeedsAnimation; private boolean mIsExpanded = true; private boolean mChildrenUpdateRequested; + private SpeedBumpView mSpeedBumpView; + private boolean mIsExpansionChanging; private ViewTreeObserver.OnPreDrawListener mChildrenUpdater = new ViewTreeObserver.OnPreDrawListener() { @Override @@ -244,6 +248,22 @@ public class NotificationStackScrollLayout extends ViewGroup requestChildrenUpdate(); } + public void updateSpeedBumpIndex(int newIndex) { + int currentIndex = indexOfChild(mSpeedBumpView); + + // If we are currently layouted before the new speed bump index, we have to decrease it. + boolean validIndex = newIndex > 0; + if (newIndex > getChildCount() - 1) { + validIndex = false; + newIndex = -1; + } + if (validIndex && currentIndex != newIndex) { + changeViewPosition(mSpeedBumpView, newIndex); + } + updateSpeedBump(validIndex); + mAmbientState.setSpeedBumpIndex(newIndex); + } + public void setChildLocationsChangedListener(OnChildLocationsChangedListener listener) { mListener = listener; } @@ -333,7 +353,7 @@ public class NotificationStackScrollLayout extends ViewGroup mTopPadding = topPadding; updateAlgorithmHeightAndPadding(); updateContentHeight(); - if (animate) { + if (animate && mAnimationsEnabled && mIsExpanded) { mTopPaddingNeedsAnimation = true; mNeedsAnimation = true; } @@ -421,9 +441,11 @@ public class NotificationStackScrollLayout extends ViewGroup public void onChildSnappedBack(View animView) { mAmbientState.onDragFinished(animView); if (!mDragAnimPendingChildren.contains(animView)) { - mSnappedBackChildren.add(animView); + if (mAnimationsEnabled) { + mSnappedBackChildren.add(animView); + mNeedsAnimation = true; + } requestChildrenUpdate(); - mNeedsAnimation = true; } else { // We start the swipe and snap back in the same frame, we don't want any animation mDragAnimPendingChildren.remove(animView); @@ -432,10 +454,12 @@ public class NotificationStackScrollLayout extends ViewGroup public void onBeginDrag(View v) { setSwipingInProgress(true); - mDragAnimPendingChildren.add(v); mAmbientState.onBeginDrag(v); + if (mAnimationsEnabled) { + mDragAnimPendingChildren.add(v); + mNeedsAnimation = true; + } requestChildrenUpdate(); - mNeedsAnimation = true; } public void onDragCancelled(View v) { @@ -774,9 +798,29 @@ public class NotificationStackScrollLayout extends ViewGroup } @Override - protected int computeVerticalScrollRange() { - // needed for the overScroller - return mContentHeight; + protected boolean overScrollBy(int deltaX, int deltaY, + int scrollX, int scrollY, + int scrollRangeX, int scrollRangeY, + int maxOverScrollX, int maxOverScrollY, + boolean isTouchEvent) { + + int newScrollY = scrollY + deltaY; + + final int top = -maxOverScrollY; + final int bottom = maxOverScrollY + scrollRangeY; + + boolean clampedY = false; + if (newScrollY > bottom) { + newScrollY = bottom; + clampedY = true; + } else if (newScrollY < top) { + newScrollY = top; + clampedY = true; + } + + onOverScrolled(0, newScrollY, false, clampedY); + + return clampedY; } /** @@ -942,6 +986,21 @@ public class NotificationStackScrollLayout extends ViewGroup return null; } + /** + * @return the number of children which have visibility unequal to GONE + */ + public int getNotGoneChildCount() { + int childCount = getChildCount(); + int count = 0; + for (int i = 0; i < childCount; i++) { + View child = getChildAt(i); + if (child.getVisibility() != View.GONE) { + count++; + } + } + return count; + } + private int getMaxExpandHeight(View view) { if (view instanceof ExpandableNotificationRow) { ExpandableNotificationRow row = (ExpandableNotificationRow) view; @@ -984,8 +1043,7 @@ public class NotificationStackScrollLayout extends ViewGroup */ private void fling(int velocityY) { if (getChildCount() > 0) { - int height = (int) getLayoutHeight(); - int bottom = getContentHeight(); + int scrollRange = getScrollRange(); float topAmount = getCurrentOverScrollAmount(true); float bottomAmount = getCurrentOverScrollAmount(false); @@ -1004,7 +1062,7 @@ public class NotificationStackScrollLayout extends ViewGroup mMaxOverScroll = 0.0f; } mScroller.fling(mScrollX, mOwnScrollY, 1, velocityY, 0, 0, 0, - Math.max(0, bottom - height), 0, height/2); + Math.max(0, scrollRange), 0, Integer.MAX_VALUE / 2); postInvalidateOnAnimation(); } @@ -1044,8 +1102,11 @@ public class NotificationStackScrollLayout extends ViewGroup mCurrentStackScrollState.removeViewStateForView(child); mStackScrollAlgorithm.notifyChildrenChanged(this); updateScrollStateForRemovedChild(child); - if (mIsExpanded) { + generateRemoveAnimation(child); + } + private void generateRemoveAnimation(View child) { + if (mIsExpanded && mAnimationsEnabled) { if (!mChildrenToAddAnimated.contains(child)) { // Generate Animations mChildrenToRemoveAnimated.add(child); @@ -1103,8 +1164,17 @@ public class NotificationStackScrollLayout extends ViewGroup } } + public void setAnimationsEnabled(boolean animationsEnabled) { + mAnimationsEnabled = animationsEnabled; + } + + public boolean isAddOrRemoveAnimationPending() { + return mNeedsAnimation + && (!mChildrenToAddAnimated.isEmpty() || !mChildrenToRemoveAnimated.isEmpty()); + } + public void generateAddAnimation(View child) { - if (mIsExpanded) { + if (mIsExpanded && mAnimationsEnabled) { // Generate Animations mChildrenToAddAnimated.add(child); @@ -1120,7 +1190,9 @@ public class NotificationStackScrollLayout extends ViewGroup */ public void changeViewPosition(View child, int newIndex) { if (child != null && child.getParent() == this) { - // TODO: handle this + removeView(child); + addView(child, newIndex); + // TODO: handle events } } @@ -1362,10 +1434,12 @@ public class NotificationStackScrollLayout extends ViewGroup } public void onExpansionStarted() { + mIsExpansionChanging = true; mStackScrollAlgorithm.onExpansionStarted(mCurrentStackScrollState); } public void onExpansionStopped() { + mIsExpansionChanging = false; mStackScrollAlgorithm.onExpansionStopped(); } @@ -1374,6 +1448,7 @@ public class NotificationStackScrollLayout extends ViewGroup mStackScrollAlgorithm.setIsExpanded(isExpanded); if (!isExpanded) { mOwnScrollY = 0; + mSpeedBumpView.collapse(); } } @@ -1404,7 +1479,7 @@ public class NotificationStackScrollLayout extends ViewGroup mStackScrollAlgorithm.setDimmed(dimmed); mAmbientState.setDimmed(dimmed); updatePadding(dimmed); - if (animate) { + if (animate && mAnimationsEnabled) { mDimmedNeedsAnimation = true; mNeedsAnimation = true; } @@ -1416,8 +1491,10 @@ public class NotificationStackScrollLayout extends ViewGroup */ public void setActivatedChild(View activatedChild) { mAmbientState.setActivatedChild(activatedChild); - mActivateNeedsAnimation = true; - mNeedsAnimation = true; + if (mAnimationsEnabled) { + mActivateNeedsAnimation = true; + mNeedsAnimation = true; + } requestChildrenUpdate(); } @@ -1432,6 +1509,34 @@ public class NotificationStackScrollLayout extends ViewGroup } } + public void setSpeedBumpView(SpeedBumpView speedBumpView) { + mSpeedBumpView = speedBumpView; + addView(speedBumpView); + } + + private void updateSpeedBump(boolean visible) { + int newVisibility = visible ? VISIBLE : GONE; + int oldVisibility = mSpeedBumpView.getVisibility(); + if (newVisibility != oldVisibility) { + mSpeedBumpView.setVisibility(newVisibility); + if (visible) { + mSpeedBumpView.collapse(); + // Make invisible to ensure that the appear animation is played. + mSpeedBumpView.setInvisible(); + if (!mIsExpansionChanging) { + generateAddAnimation(mSpeedBumpView); + } + } else { + mSpeedBumpView.performVisibilityAnimation(false); + generateRemoveAnimation(mSpeedBumpView); + } + } + } + + public void goToFullShade() { + updateSpeedBump(true); + } + /** * A listener that is notified when some child locations might have changed. */ diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/stack/StackScrollState.java b/packages/SystemUI/src/com/android/systemui/statusbar/stack/StackScrollState.java index 8fc26d8..011411c 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/stack/StackScrollState.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/stack/StackScrollState.java @@ -23,6 +23,7 @@ import android.view.View; import android.view.ViewGroup; import com.android.systemui.statusbar.ExpandableView; +import com.android.systemui.statusbar.SpeedBumpView; import java.util.HashMap; import java.util.Map; @@ -167,11 +168,48 @@ public class StackScrollState { clipHeight, (int) (newHeight - (previousNotificationStart - newYTranslation))); - previousNotificationStart = newYTranslation + child.getClipTopAmount(); - previousNotificationEnd = newNotificationEnd; - previousNotificationIsSwiped = child.getTranslationX() != 0; + if (!child.isTransparent()) { + // Only update the previous values if we are not transparent, + // otherwise we would clip to a transparent view. + previousNotificationStart = newYTranslation + child.getClipTopAmount(); + previousNotificationEnd = newNotificationEnd; + previousNotificationIsSwiped = child.getTranslationX() != 0; + } + + if(child instanceof SpeedBumpView) { + performSpeedBumpAnimation(i, (SpeedBumpView) child, newNotificationEnd, + newYTranslation); + } + } + } + } + + private void performSpeedBumpAnimation(int i, SpeedBumpView speedBump, float speedBumpEnd, + float speedBumpStart) { + View nextChild = getNextChildNotGone(i); + if (nextChild != null) { + ViewState nextState = getViewStateForView(nextChild); + boolean startIsAboveNext = nextState.yTranslation > speedBumpStart; + speedBump.animateDivider(startIsAboveNext); + + // handle expanded case + if (speedBump.isExpanded()) { + boolean endIsAboveNext = nextState.yTranslation > speedBumpEnd; + speedBump.animateExplanationText(endIsAboveNext); + } + + } + } + + private View getNextChildNotGone(int childIndex) { + int childCount = mHostView.getChildCount(); + for (int i = childIndex + 1; i < childCount; i++) { + View child = mHostView.getChildAt(i); + if (child.getVisibility() != View.GONE) { + return child; } } + return null; } /** diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/stack/StackStateAnimator.java b/packages/SystemUI/src/com/android/systemui/statusbar/stack/StackStateAnimator.java index 5ac51f8..a9dcdd6 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/stack/StackStateAnimator.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/stack/StackStateAnimator.java @@ -434,7 +434,7 @@ public class StackStateAnimator { /** * Start an animator instantly instead of waiting on the next synchronization frame */ - private void startInstantly(ValueAnimator animator) { + public static void startInstantly(ValueAnimator animator) { animator.start(); animator.setCurrentPlayTime(0); } |