diff options
247 files changed, 1864 insertions, 1501 deletions
diff --git a/aconfig/launcher.aconfig b/aconfig/launcher.aconfig index d3c5c019fd..b083390b06 100644 --- a/aconfig/launcher.aconfig +++ b/aconfig/launcher.aconfig @@ -694,3 +694,13 @@ flag { purpose: PURPOSE_BUGFIX } } + +flag { + name: "enable_taskbar_for_direct_boot" + namespace: "launcher" + description: "Initializes parts of Taskbar before onUserUnlocked" + bug: "324485921" + metadata { + purpose: PURPOSE_BUGFIX + } +} diff --git a/quickstep/res/drawable/ic_save_app_pair_left_right.xml b/quickstep/res/drawable/ic_save_app_pair_left_right.xml index b104f44b76..509bc98f65 100644 --- a/quickstep/res/drawable/ic_save_app_pair_left_right.xml +++ b/quickstep/res/drawable/ic_save_app_pair_left_right.xml @@ -1,28 +1,25 @@ -<?xml version="1.0" encoding="utf-8"?> - <!-- - Copyright (C) 2024 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. ---> - + ~ Copyright (C) 2025 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" - android:width="24dp" - android:height="24dp" - android:viewportWidth="24" - android:viewportHeight="24"> - <path - android:pathData="M8.5,4.5H3.5C2.4,4.5 1.5,5.4 1.5,6.5V18.5C1.5,19.6 2.4,20.5 3.5,20.5H8.5C9.6,20.5 10.5,19.6 10.5,18.5V6.5C10.5,5.4 9.6,4.5 8.5,4.5ZM8.5,18.5H3.5V6.5H8.5V18.5ZM14.5,6.5H19.5V13.5H21.5V6.5C21.5,5.4 20.6,4.5 19.5,4.5H14.5C13.4,4.5 12.5,5.4 12.5,6.5V18.5C12.5,19.6 13.4,20.5 14.5,20.5H15.5V18.5H14.5V6.5ZM20.5,14.5V16.5H22.5V18.5H20.5V20.5H18.5V18.5H16.5V16.5H18.5V14.5H20.5Z" - android:fillColor="#48473A" - android:fillType="evenOdd"/> + android:width="20dp" + android:height="20dp" + android:tint="?attr/colorControlNormal" + android:viewportHeight="960" + android:viewportWidth="960"> + <path + android:fillColor="@android:color/white" + android:pathData="M744,816L720,816Q704.7,816 694.35,805.71Q684,795.42 684,780.21Q684,765 694.35,754.5Q704.7,744 720,744L744,744L744,720Q744,704.7 754.29,694.35Q764.58,684 779.79,684Q795,684 805.5,694.35Q816,704.7 816,720L816,744L840,744Q855.3,744 865.65,754.29Q876,764.58 876,779.79Q876,795 865.65,805.5Q855.3,816 840,816L816,816L816,840Q816,855.3 805.71,865.65Q795.42,876 780.21,876Q765,876 754.5,865.65Q744,855.3 744,840L744,816ZM215.74,816Q186,816 165,794.85Q144,773.7 144,744L144,216Q144,186.3 165.18,165.15Q186.35,144 216.09,144L360.26,144Q390,144 411,165.15Q432,186.3 432,216L432,744Q432,773.7 410.82,794.85Q389.65,816 359.91,816L215.74,816ZM616,816Q581,816 554.5,796Q528,776 528,743.95L528,216Q528,186.3 549.18,165.15Q570.35,144 600.09,144L744.26,144Q774,144 795,165.15Q816,186.3 816,216L816,616Q807,614 798,613Q789,612 780,612Q709.79,612 660.9,661Q612,710 612,780Q612,789 613,798Q614,807 616,816Z" /> </vector> diff --git a/quickstep/res/drawable/ic_save_app_pair_up_down.xml b/quickstep/res/drawable/ic_save_app_pair_up_down.xml index 86f110ce5e..282751c84c 100644 --- a/quickstep/res/drawable/ic_save_app_pair_up_down.xml +++ b/quickstep/res/drawable/ic_save_app_pair_up_down.xml @@ -1,28 +1,25 @@ -<?xml version="1.0" encoding="utf-8"?> - <!-- - Copyright (C) 2024 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. ---> - + ~ Copyright (C) 2025 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" - android:width="24dp" - android:height="24dp" - android:viewportWidth="24" - android:viewportHeight="24"> - <path - android:pathData="M18,2L6,2C4.9,2 4,2.9 4,4L4,9C4,10.1 4.9,11 6,11L18,11C19.1,11 20,10.1 20,9L20,4C20,2.9 19.1,2 18,2ZM18,9L6,9L6,4L18,4L18,9ZM18,13L6,13C4.9,13 4,13.9 4,15L4,20C4,21.1 4.9,22 6,22L13,22L13,20L6,20L6,15L18,15L18,16L20,16L20,15C20,13.9 19.1,13 18,13ZM16,17L18,17L18,19L20,19L20,21L18,21L18,23L16,23L16,21L14,21L14,19L16,19L16,17Z" - android:fillColor="#48473A" - android:fillType="evenOdd"/> -</vector> + android:width="20dp" + android:height="20dp" + android:tint="?attr/colorControlNormal" + android:viewportHeight="960" + android:viewportWidth="960"> + <path + android:fillColor="@android:color/white" + android:pathData="M744,816L720,816Q704.7,816 694.35,805.71Q684,795.42 684,780.21Q684,765 694.35,754.5Q704.7,744 720,744L744,744L744,720Q744,704.7 754.29,694.35Q764.58,684 779.79,684Q795,684 805.5,694.35Q816,704.7 816,720L816,744L840,744Q855.3,744 865.65,754.29Q876,764.58 876,779.79Q876,795 865.65,805.5Q855.3,816 840,816L816,816L816,840Q816,855.3 805.71,865.65Q795.42,876 780.21,876Q765,876 754.5,865.65Q744,855.3 744,840L744,816ZM216,432Q183,432 163.5,412.5Q144,393 144,360L144,216Q144,183 163.5,163.5Q183,144 216,144L744,144Q777,144 796.5,163.5Q816,183 816,216L816,360Q816,393 796.5,412.5Q777,432 744,432L216,432ZM215.62,816Q183,816 163.5,796.5Q144,777 144,744L144,600Q144,567 163.5,547.5Q183,528 216,528L744,528Q777,528 796.5,547.5Q816,567 816,600L816,616Q808,614 798.06,613Q788.13,612 780,612Q709.44,612 660.72,661.5Q612,711 612,780Q612,789.94 612.5,798.97Q613,808 615,816L215.62,816Z" /> +</vector>
\ No newline at end of file diff --git a/quickstep/res/layout/task.xml b/quickstep/res/layout/task.xml index def5a1e0a9..4abfbbe152 100644 --- a/quickstep/res/layout/task.xml +++ b/quickstep/res/layout/task.xml @@ -30,6 +30,7 @@ <ViewStub android:id="@+id/task_content_view" + android:inflatedId="@id/task_content_view" android:layout_width="match_parent" android:layout_height="match_parent" /> diff --git a/quickstep/res/layout/task_grouped.xml b/quickstep/res/layout/task_grouped.xml index a9a6dc1fc7..a7c48561c8 100644 --- a/quickstep/res/layout/task_grouped.xml +++ b/quickstep/res/layout/task_grouped.xml @@ -35,11 +35,13 @@ <ViewStub android:id="@+id/task_content_view" + android:inflatedId="@id/task_content_view" android:layout_width="match_parent" android:layout_height="match_parent" /> <ViewStub android:id="@+id/bottomright_task_content_view" + android:inflatedId="@id/bottomright_task_content_view" android:layout_width="match_parent" android:layout_height="match_parent" /> diff --git a/quickstep/res/values-af/strings.xml b/quickstep/res/values-af/strings.xml index c2f572b1b4..025a7d07c4 100644 --- a/quickstep/res/values-af/strings.xml +++ b/quickstep/res/values-af/strings.xml @@ -140,15 +140,12 @@ <string name="move_drop_target_top_or_left" msgid="2988702185049595807">"Skuif na links bo"</string> <string name="move_drop_target_bottom_or_right" msgid="5431393418797620162">"Skuif na regs onder"</string> <string name="open_app_as_a_bubble" msgid="6642626287247807473">"Maak app as ’n borrel oop"</string> - <!-- no translation found for quick_switch_pane_title (4677158207760585812) --> - <skip /> - <!-- no translation found for quick_switch_content_description (2851244536728720005) --> - <skip /> + <string name="quick_switch_pane_title" msgid="4677158207760585812">"Onlangse apps"</string> + <string name="quick_switch_content_description" msgid="2851244536728720005">"Onlangse applys"</string> <string name="quick_switch_overflow" msgid="3679780650881041632">"{count,plural, =1{meer app}other{meer apps}}"</string> <string name="quick_switch_desktop" msgid="8393802056024499749">"Werkskerm"</string> <string name="quick_switch_split_task" msgid="5598194724255333896">"<xliff:g id="APP_NAME_1">%1$s</xliff:g> en <xliff:g id="APP_NAME_2">%2$s</xliff:g>"</string> - <!-- no translation found for quick_switch_task_with_position_in_parent (4968670948331508951) --> - <skip /> + <string name="quick_switch_task_with_position_in_parent" msgid="4968670948331508951">"<xliff:g id="TASK_DESCRIPTION">%1$s</xliff:g>, item <xliff:g id="INDEX_IN_PARENT">%2$d</xliff:g> van <xliff:g id="TOTAL_TASKS">%3$d</xliff:g>"</string> <!-- no translation found for quick_switch_scroll_arrow_left (6527033155534184309) --> <skip /> <!-- no translation found for quick_switch_scroll_arrow_right (7319779291086916348) --> diff --git a/quickstep/res/values-am/strings.xml b/quickstep/res/values-am/strings.xml index e335423776..fc4c4c46d3 100644 --- a/quickstep/res/values-am/strings.xml +++ b/quickstep/res/values-am/strings.xml @@ -140,15 +140,12 @@ <string name="move_drop_target_top_or_left" msgid="2988702185049595807">"ወደ ላይ/ግራ ይውሰዱ"</string> <string name="move_drop_target_bottom_or_right" msgid="5431393418797620162">"ወደ ታች/ቀኝ ይውሰዱ"</string> <string name="open_app_as_a_bubble" msgid="6642626287247807473">"መተግበሪያን እንደ ዓረፋ ይክፈቱ"</string> - <!-- no translation found for quick_switch_pane_title (4677158207760585812) --> - <skip /> - <!-- no translation found for quick_switch_content_description (2851244536728720005) --> - <skip /> + <string name="quick_switch_pane_title" msgid="4677158207760585812">"የቅርብ ጊዜ መተግበሪያዎች"</string> + <string name="quick_switch_content_description" msgid="2851244536728720005">"የቅርብ ጊዜ መተግበሪያ ዝርዝር"</string> <string name="quick_switch_overflow" msgid="3679780650881041632">"{count,plural, =1{ተጨማሪ መተግበሪያ}one{ተጨማሪ መተግበሪያ}other{ተጨማሪ መተግበሪያዎች}}"</string> <string name="quick_switch_desktop" msgid="8393802056024499749">"ዴስክቶፕ"</string> <string name="quick_switch_split_task" msgid="5598194724255333896">"<xliff:g id="APP_NAME_1">%1$s</xliff:g> እና <xliff:g id="APP_NAME_2">%2$s</xliff:g>"</string> - <!-- no translation found for quick_switch_task_with_position_in_parent (4968670948331508951) --> - <skip /> + <string name="quick_switch_task_with_position_in_parent" msgid="4968670948331508951">"<xliff:g id="TASK_DESCRIPTION">%1$s</xliff:g>፣ ንጥል <xliff:g id="INDEX_IN_PARENT">%2$d</xliff:g> ከ<xliff:g id="TOTAL_TASKS">%3$d</xliff:g>"</string> <!-- no translation found for quick_switch_scroll_arrow_left (6527033155534184309) --> <skip /> <!-- no translation found for quick_switch_scroll_arrow_right (7319779291086916348) --> diff --git a/quickstep/res/values-ar/strings.xml b/quickstep/res/values-ar/strings.xml index 8fbc23b95f..17bcbee55b 100644 --- a/quickstep/res/values-ar/strings.xml +++ b/quickstep/res/values-ar/strings.xml @@ -140,15 +140,12 @@ <string name="move_drop_target_top_or_left" msgid="2988702185049595807">"الانتقال إلى يمين الشاشة أو أعلاها"</string> <string name="move_drop_target_bottom_or_right" msgid="5431393418797620162">"الانتقال إلى يسار الشاشة أو أسفلها"</string> <string name="open_app_as_a_bubble" msgid="6642626287247807473">"فتح التطبيق كفقاعة"</string> - <!-- no translation found for quick_switch_pane_title (4677158207760585812) --> - <skip /> - <!-- no translation found for quick_switch_content_description (2851244536728720005) --> - <skip /> + <string name="quick_switch_pane_title" msgid="4677158207760585812">"التطبيقات المستخدَمة مؤخرًا"</string> + <string name="quick_switch_content_description" msgid="2851244536728720005">"قائمة التطبيقات المستخدَمة مؤخرًا"</string> <string name="quick_switch_overflow" msgid="3679780650881041632">"{count,plural, =1{تطبيق واحد آخر}zero{تطبيق آخر}two{تطبيقان آخران}few{تطبيقات أخرى}many{تطبيقًا آخر}other{تطبيق آخر}}"</string> <string name="quick_switch_desktop" msgid="8393802056024499749">"وضع الكمبيوتر المكتبي"</string> <string name="quick_switch_split_task" msgid="5598194724255333896">"\"<xliff:g id="APP_NAME_1">%1$s</xliff:g>\" و\"<xliff:g id="APP_NAME_2">%2$s</xliff:g>\""</string> - <!-- no translation found for quick_switch_task_with_position_in_parent (4968670948331508951) --> - <skip /> + <string name="quick_switch_task_with_position_in_parent" msgid="4968670948331508951">"<xliff:g id="TASK_DESCRIPTION">%1$s</xliff:g>، العنصر رقم <xliff:g id="INDEX_IN_PARENT">%2$d</xliff:g> من إجمالي <xliff:g id="TOTAL_TASKS">%3$d</xliff:g>"</string> <!-- no translation found for quick_switch_scroll_arrow_left (6527033155534184309) --> <skip /> <!-- no translation found for quick_switch_scroll_arrow_right (7319779291086916348) --> diff --git a/quickstep/res/values-as/strings.xml b/quickstep/res/values-as/strings.xml index 8c1ccda9cf..0f8126beb4 100644 --- a/quickstep/res/values-as/strings.xml +++ b/quickstep/res/values-as/strings.xml @@ -140,15 +140,12 @@ <string name="move_drop_target_top_or_left" msgid="2988702185049595807">"ওপৰৰ বাঁওফাললৈ নিয়ক"</string> <string name="move_drop_target_bottom_or_right" msgid="5431393418797620162">"তলৰ সোঁফাললৈ নিয়ক"</string> <string name="open_app_as_a_bubble" msgid="6642626287247807473">"বাবল হিচাপে এপ্টো খোলক"</string> - <!-- no translation found for quick_switch_pane_title (4677158207760585812) --> - <skip /> - <!-- no translation found for quick_switch_content_description (2851244536728720005) --> - <skip /> + <string name="quick_switch_pane_title" msgid="4677158207760585812">"শেহতীয়া এপ্সমূহ"</string> + <string name="quick_switch_content_description" msgid="2851244536728720005">"শেহতীয়া এপৰ সূচী"</string> <string name="quick_switch_overflow" msgid="3679780650881041632">"{count,plural, =1{অধিক এপ্}one{অধিক এপ্}other{অধিক এপ্}}"</string> <string name="quick_switch_desktop" msgid="8393802056024499749">"ডেস্কটপ"</string> <string name="quick_switch_split_task" msgid="5598194724255333896">"<xliff:g id="APP_NAME_1">%1$s</xliff:g> আৰু <xliff:g id="APP_NAME_2">%2$s</xliff:g>"</string> - <!-- no translation found for quick_switch_task_with_position_in_parent (4968670948331508951) --> - <skip /> + <string name="quick_switch_task_with_position_in_parent" msgid="4968670948331508951">"<xliff:g id="TASK_DESCRIPTION">%1$s</xliff:g>, <xliff:g id="TOTAL_TASKS">%3$d</xliff:g>টাৰ ভিতৰত <xliff:g id="INDEX_IN_PARENT">%2$d</xliff:g>তম বস্তু"</string> <!-- no translation found for quick_switch_scroll_arrow_left (6527033155534184309) --> <skip /> <!-- no translation found for quick_switch_scroll_arrow_right (7319779291086916348) --> diff --git a/quickstep/res/values-az/strings.xml b/quickstep/res/values-az/strings.xml index 53de211216..f88a48c54e 100644 --- a/quickstep/res/values-az/strings.xml +++ b/quickstep/res/values-az/strings.xml @@ -140,15 +140,12 @@ <string name="move_drop_target_top_or_left" msgid="2988702185049595807">"Yuxarı/sola köçürün"</string> <string name="move_drop_target_bottom_or_right" msgid="5431393418797620162">"Aşağı/sağa köçürün"</string> <string name="open_app_as_a_bubble" msgid="6642626287247807473">"Tətbiqi yumrucuq kimi açın"</string> - <!-- no translation found for quick_switch_pane_title (4677158207760585812) --> - <skip /> - <!-- no translation found for quick_switch_content_description (2851244536728720005) --> - <skip /> + <string name="quick_switch_pane_title" msgid="4677158207760585812">"Son tətbiqlər"</string> + <string name="quick_switch_content_description" msgid="2851244536728720005">"Son tətbiq siyahısı"</string> <string name="quick_switch_overflow" msgid="3679780650881041632">"{count,plural, =1{əlavə tətbiq}other{əlavə tətbiq}}"</string> <string name="quick_switch_desktop" msgid="8393802056024499749">"Masaüstü"</string> <string name="quick_switch_split_task" msgid="5598194724255333896">"<xliff:g id="APP_NAME_1">%1$s</xliff:g> və <xliff:g id="APP_NAME_2">%2$s</xliff:g>"</string> - <!-- no translation found for quick_switch_task_with_position_in_parent (4968670948331508951) --> - <skip /> + <string name="quick_switch_task_with_position_in_parent" msgid="4968670948331508951">"<xliff:g id="TASK_DESCRIPTION">%1$s</xliff:g>, element <xliff:g id="INDEX_IN_PARENT">%2$d</xliff:g>/<xliff:g id="TOTAL_TASKS">%3$d</xliff:g>"</string> <!-- no translation found for quick_switch_scroll_arrow_left (6527033155534184309) --> <skip /> <!-- no translation found for quick_switch_scroll_arrow_right (7319779291086916348) --> diff --git a/quickstep/res/values-b+sr+Latn/strings.xml b/quickstep/res/values-b+sr+Latn/strings.xml index 1db58bed6a..8b60c14da3 100644 --- a/quickstep/res/values-b+sr+Latn/strings.xml +++ b/quickstep/res/values-b+sr+Latn/strings.xml @@ -140,15 +140,12 @@ <string name="move_drop_target_top_or_left" msgid="2988702185049595807">"Premesti gore levo"</string> <string name="move_drop_target_bottom_or_right" msgid="5431393418797620162">"Premesti dole desno"</string> <string name="open_app_as_a_bubble" msgid="6642626287247807473">"Otvori aplikaciju kao oblačić"</string> - <!-- no translation found for quick_switch_pane_title (4677158207760585812) --> - <skip /> - <!-- no translation found for quick_switch_content_description (2851244536728720005) --> - <skip /> + <string name="quick_switch_pane_title" msgid="4677158207760585812">"Nedavne aplikacije"</string> + <string name="quick_switch_content_description" msgid="2851244536728720005">"Lista nedavnih aplikacija"</string> <string name="quick_switch_overflow" msgid="3679780650881041632">"{count,plural, =1{dodatna aplikacija}one{dodatna aplikacija}few{dodatne aplikacije}other{dodatnih aplikacija}}"</string> <string name="quick_switch_desktop" msgid="8393802056024499749">"Računar"</string> <string name="quick_switch_split_task" msgid="5598194724255333896">"<xliff:g id="APP_NAME_1">%1$s</xliff:g> i <xliff:g id="APP_NAME_2">%2$s</xliff:g>"</string> - <!-- no translation found for quick_switch_task_with_position_in_parent (4968670948331508951) --> - <skip /> + <string name="quick_switch_task_with_position_in_parent" msgid="4968670948331508951">"<xliff:g id="TASK_DESCRIPTION">%1$s</xliff:g>, stavka <xliff:g id="INDEX_IN_PARENT">%2$d</xliff:g> od <xliff:g id="TOTAL_TASKS">%3$d</xliff:g>"</string> <!-- no translation found for quick_switch_scroll_arrow_left (6527033155534184309) --> <skip /> <!-- no translation found for quick_switch_scroll_arrow_right (7319779291086916348) --> diff --git a/quickstep/res/values-be/strings.xml b/quickstep/res/values-be/strings.xml index 20c914d9d3..f0d4ee4a0d 100644 --- a/quickstep/res/values-be/strings.xml +++ b/quickstep/res/values-be/strings.xml @@ -140,15 +140,12 @@ <string name="move_drop_target_top_or_left" msgid="2988702185049595807">"Перамясціць уверх/улева"</string> <string name="move_drop_target_bottom_or_right" msgid="5431393418797620162">"Перамясціць уніз/управа"</string> <string name="open_app_as_a_bubble" msgid="6642626287247807473">"Адкрыць праграму ва ўсплывальным акне"</string> - <!-- no translation found for quick_switch_pane_title (4677158207760585812) --> - <skip /> - <!-- no translation found for quick_switch_content_description (2851244536728720005) --> - <skip /> + <string name="quick_switch_pane_title" msgid="4677158207760585812">"Нядаўнія праграмы"</string> + <string name="quick_switch_content_description" msgid="2851244536728720005">"Спіс нядаўніх праграм"</string> <string name="quick_switch_overflow" msgid="3679780650881041632">"{count,plural, =1{даступная праграма}one{даступная праграма}few{даступныя праграмы}many{даступных праграм}other{даступнай праграмы}}"</string> <string name="quick_switch_desktop" msgid="8393802056024499749">"Працоўны стол"</string> <string name="quick_switch_split_task" msgid="5598194724255333896">"<xliff:g id="APP_NAME_1">%1$s</xliff:g> і <xliff:g id="APP_NAME_2">%2$s</xliff:g>"</string> - <!-- no translation found for quick_switch_task_with_position_in_parent (4968670948331508951) --> - <skip /> + <string name="quick_switch_task_with_position_in_parent" msgid="4968670948331508951">"<xliff:g id="TASK_DESCRIPTION">%1$s</xliff:g>, элемент <xliff:g id="INDEX_IN_PARENT">%2$d</xliff:g> з <xliff:g id="TOTAL_TASKS">%3$d</xliff:g>"</string> <!-- no translation found for quick_switch_scroll_arrow_left (6527033155534184309) --> <skip /> <!-- no translation found for quick_switch_scroll_arrow_right (7319779291086916348) --> diff --git a/quickstep/res/values-bg/strings.xml b/quickstep/res/values-bg/strings.xml index 414219ad52..10401866a1 100644 --- a/quickstep/res/values-bg/strings.xml +++ b/quickstep/res/values-bg/strings.xml @@ -140,15 +140,12 @@ <string name="move_drop_target_top_or_left" msgid="2988702185049595807">"Преместване горе/вляво"</string> <string name="move_drop_target_bottom_or_right" msgid="5431393418797620162">"Преместване долу/вдясно"</string> <string name="open_app_as_a_bubble" msgid="6642626287247807473">"Отваряне на приложението като балонче"</string> - <!-- no translation found for quick_switch_pane_title (4677158207760585812) --> - <skip /> - <!-- no translation found for quick_switch_content_description (2851244536728720005) --> - <skip /> + <string name="quick_switch_pane_title" msgid="4677158207760585812">"Скорошни приложения"</string> + <string name="quick_switch_content_description" msgid="2851244536728720005">"Списък със скорошни приложения"</string> <string name="quick_switch_overflow" msgid="3679780650881041632">"{count,plural, =1{допълнително приложение}other{допълнителни приложения}}"</string> <string name="quick_switch_desktop" msgid="8393802056024499749">"Режим за настолни компютри"</string> <string name="quick_switch_split_task" msgid="5598194724255333896">"<xliff:g id="APP_NAME_1">%1$s</xliff:g> и <xliff:g id="APP_NAME_2">%2$s</xliff:g>"</string> - <!-- no translation found for quick_switch_task_with_position_in_parent (4968670948331508951) --> - <skip /> + <string name="quick_switch_task_with_position_in_parent" msgid="4968670948331508951">"<xliff:g id="TASK_DESCRIPTION">%1$s</xliff:g>, елемент <xliff:g id="INDEX_IN_PARENT">%2$d</xliff:g> от <xliff:g id="TOTAL_TASKS">%3$d</xliff:g>"</string> <!-- no translation found for quick_switch_scroll_arrow_left (6527033155534184309) --> <skip /> <!-- no translation found for quick_switch_scroll_arrow_right (7319779291086916348) --> diff --git a/quickstep/res/values-bn/strings.xml b/quickstep/res/values-bn/strings.xml index 001c008be6..2c700670d5 100644 --- a/quickstep/res/values-bn/strings.xml +++ b/quickstep/res/values-bn/strings.xml @@ -140,15 +140,12 @@ <string name="move_drop_target_top_or_left" msgid="2988702185049595807">"উপরে/বাঁদিকে সরান"</string> <string name="move_drop_target_bottom_or_right" msgid="5431393418797620162">"নিচে/ডানদিকে সরান"</string> <string name="open_app_as_a_bubble" msgid="6642626287247807473">"বাবল হিসেবে অ্যাপ খুলুন"</string> - <!-- no translation found for quick_switch_pane_title (4677158207760585812) --> - <skip /> - <!-- no translation found for quick_switch_content_description (2851244536728720005) --> - <skip /> + <string name="quick_switch_pane_title" msgid="4677158207760585812">"সম্প্রতি ব্যবহৃত অ্যাপ"</string> + <string name="quick_switch_content_description" msgid="2851244536728720005">"সাম্প্রতিক অ্যাপের তালিকা"</string> <string name="quick_switch_overflow" msgid="3679780650881041632">"{count,plural, =1{আরও অ্যাপ}one{আরও অ্যাপ}other{আরও অ্যাপ}}"</string> <string name="quick_switch_desktop" msgid="8393802056024499749">"ডেস্কটপ"</string> <string name="quick_switch_split_task" msgid="5598194724255333896">"<xliff:g id="APP_NAME_1">%1$s</xliff:g> ও <xliff:g id="APP_NAME_2">%2$s</xliff:g>"</string> - <!-- no translation found for quick_switch_task_with_position_in_parent (4968670948331508951) --> - <skip /> + <string name="quick_switch_task_with_position_in_parent" msgid="4968670948331508951">"<xliff:g id="TASK_DESCRIPTION">%1$s</xliff:g>, <xliff:g id="TOTAL_TASKS">%3$d</xliff:g>টি টাস্কের মধ্যে <xliff:g id="INDEX_IN_PARENT">%2$d</xliff:g> নম্বর আইটেম"</string> <!-- no translation found for quick_switch_scroll_arrow_left (6527033155534184309) --> <skip /> <!-- no translation found for quick_switch_scroll_arrow_right (7319779291086916348) --> diff --git a/quickstep/res/values-bs/strings.xml b/quickstep/res/values-bs/strings.xml index 1eb88aa1d5..45bde4ca18 100644 --- a/quickstep/res/values-bs/strings.xml +++ b/quickstep/res/values-bs/strings.xml @@ -140,15 +140,12 @@ <string name="move_drop_target_top_or_left" msgid="2988702185049595807">"Premjesti gore lijevo"</string> <string name="move_drop_target_bottom_or_right" msgid="5431393418797620162">"Premjesti dolje desno"</string> <string name="open_app_as_a_bubble" msgid="6642626287247807473">"Otvori aplikaciju kao oblačić"</string> - <!-- no translation found for quick_switch_pane_title (4677158207760585812) --> - <skip /> - <!-- no translation found for quick_switch_content_description (2851244536728720005) --> - <skip /> + <string name="quick_switch_pane_title" msgid="4677158207760585812">"Nedavne aplikacije"</string> + <string name="quick_switch_content_description" msgid="2851244536728720005">"Liste nedavnih aplikacija"</string> <string name="quick_switch_overflow" msgid="3679780650881041632">"{count,plural, =1{dodatna aplikacija}one{dodatna aplikacija}few{dodatne aplikacije}other{dodatnih aplikacija}}"</string> <string name="quick_switch_desktop" msgid="8393802056024499749">"Računar"</string> <string name="quick_switch_split_task" msgid="5598194724255333896">"<xliff:g id="APP_NAME_1">%1$s</xliff:g> i <xliff:g id="APP_NAME_2">%2$s</xliff:g>"</string> - <!-- no translation found for quick_switch_task_with_position_in_parent (4968670948331508951) --> - <skip /> + <string name="quick_switch_task_with_position_in_parent" msgid="4968670948331508951">"<xliff:g id="TASK_DESCRIPTION">%1$s</xliff:g>, <xliff:g id="INDEX_IN_PARENT">%2$d</xliff:g>. stavka od <xliff:g id="TOTAL_TASKS">%3$d</xliff:g>"</string> <!-- no translation found for quick_switch_scroll_arrow_left (6527033155534184309) --> <skip /> <!-- no translation found for quick_switch_scroll_arrow_right (7319779291086916348) --> diff --git a/quickstep/res/values-ca/strings.xml b/quickstep/res/values-ca/strings.xml index 6397b1438f..07a7349406 100644 --- a/quickstep/res/values-ca/strings.xml +++ b/quickstep/res/values-ca/strings.xml @@ -140,15 +140,12 @@ <string name="move_drop_target_top_or_left" msgid="2988702185049595807">"Mou a la part superior o a l\'esquerra"</string> <string name="move_drop_target_bottom_or_right" msgid="5431393418797620162">"Mou a la part inferior o a la dreta"</string> <string name="open_app_as_a_bubble" msgid="6642626287247807473">"Obre l\'aplicació com a bombolla"</string> - <!-- no translation found for quick_switch_pane_title (4677158207760585812) --> - <skip /> - <!-- no translation found for quick_switch_content_description (2851244536728720005) --> - <skip /> + <string name="quick_switch_pane_title" msgid="4677158207760585812">"Aplicacions recents"</string> + <string name="quick_switch_content_description" msgid="2851244536728720005">"Llista d\'aplicacions recents"</string> <string name="quick_switch_overflow" msgid="3679780650881041632">"{count,plural, =1{aplicació més}other{aplicacions més}}"</string> <string name="quick_switch_desktop" msgid="8393802056024499749">"Escriptori"</string> <string name="quick_switch_split_task" msgid="5598194724255333896">"<xliff:g id="APP_NAME_1">%1$s</xliff:g> i <xliff:g id="APP_NAME_2">%2$s</xliff:g>"</string> - <!-- no translation found for quick_switch_task_with_position_in_parent (4968670948331508951) --> - <skip /> + <string name="quick_switch_task_with_position_in_parent" msgid="4968670948331508951">"<xliff:g id="TASK_DESCRIPTION">%1$s</xliff:g>, element <xliff:g id="INDEX_IN_PARENT">%2$d</xliff:g> de <xliff:g id="TOTAL_TASKS">%3$d</xliff:g>"</string> <!-- no translation found for quick_switch_scroll_arrow_left (6527033155534184309) --> <skip /> <!-- no translation found for quick_switch_scroll_arrow_right (7319779291086916348) --> diff --git a/quickstep/res/values-cs/strings.xml b/quickstep/res/values-cs/strings.xml index 3b000efc79..98ed9346df 100644 --- a/quickstep/res/values-cs/strings.xml +++ b/quickstep/res/values-cs/strings.xml @@ -140,15 +140,12 @@ <string name="move_drop_target_top_or_left" msgid="2988702185049595807">"Přesunout doleva nahoru"</string> <string name="move_drop_target_bottom_or_right" msgid="5431393418797620162">"Přesunout doprava dolů"</string> <string name="open_app_as_a_bubble" msgid="6642626287247807473">"Otevřít aplikaci jako bublinu"</string> - <!-- no translation found for quick_switch_pane_title (4677158207760585812) --> - <skip /> - <!-- no translation found for quick_switch_content_description (2851244536728720005) --> - <skip /> + <string name="quick_switch_pane_title" msgid="4677158207760585812">"Poslední aplikace"</string> + <string name="quick_switch_content_description" msgid="2851244536728720005">"Seznam posledních aplikací"</string> <string name="quick_switch_overflow" msgid="3679780650881041632">"{count,plural, =1{další aplikace}few{další aplikace}many{další aplikace}other{dalších aplikací}}"</string> <string name="quick_switch_desktop" msgid="8393802056024499749">"Počítač"</string> <string name="quick_switch_split_task" msgid="5598194724255333896">"<xliff:g id="APP_NAME_1">%1$s</xliff:g> a <xliff:g id="APP_NAME_2">%2$s</xliff:g>"</string> - <!-- no translation found for quick_switch_task_with_position_in_parent (4968670948331508951) --> - <skip /> + <string name="quick_switch_task_with_position_in_parent" msgid="4968670948331508951">"<xliff:g id="TASK_DESCRIPTION">%1$s</xliff:g>, položka <xliff:g id="INDEX_IN_PARENT">%2$d</xliff:g> z <xliff:g id="TOTAL_TASKS">%3$d</xliff:g>"</string> <!-- no translation found for quick_switch_scroll_arrow_left (6527033155534184309) --> <skip /> <!-- no translation found for quick_switch_scroll_arrow_right (7319779291086916348) --> diff --git a/quickstep/res/values-da/strings.xml b/quickstep/res/values-da/strings.xml index cf45967422..d4ec1e681c 100644 --- a/quickstep/res/values-da/strings.xml +++ b/quickstep/res/values-da/strings.xml @@ -140,15 +140,12 @@ <string name="move_drop_target_top_or_left" msgid="2988702185049595807">"Flyt til toppen eller venstre side"</string> <string name="move_drop_target_bottom_or_right" msgid="5431393418797620162">"Flyt til bunden eller højre side"</string> <string name="open_app_as_a_bubble" msgid="6642626287247807473">"Åbn appen som en boble"</string> - <!-- no translation found for quick_switch_pane_title (4677158207760585812) --> - <skip /> - <!-- no translation found for quick_switch_content_description (2851244536728720005) --> - <skip /> + <string name="quick_switch_pane_title" msgid="4677158207760585812">"Seneste apps"</string> + <string name="quick_switch_content_description" msgid="2851244536728720005">"Liste over seneste apps"</string> <string name="quick_switch_overflow" msgid="3679780650881041632">"{count,plural, =1{yderligere app}one{yderligere app}other{yderligere apps}}"</string> <string name="quick_switch_desktop" msgid="8393802056024499749">"Computertilstand"</string> <string name="quick_switch_split_task" msgid="5598194724255333896">"<xliff:g id="APP_NAME_1">%1$s</xliff:g> og <xliff:g id="APP_NAME_2">%2$s</xliff:g>"</string> - <!-- no translation found for quick_switch_task_with_position_in_parent (4968670948331508951) --> - <skip /> + <string name="quick_switch_task_with_position_in_parent" msgid="4968670948331508951">"<xliff:g id="TASK_DESCRIPTION">%1$s</xliff:g>, element <xliff:g id="INDEX_IN_PARENT">%2$d</xliff:g> af <xliff:g id="TOTAL_TASKS">%3$d</xliff:g>"</string> <!-- no translation found for quick_switch_scroll_arrow_left (6527033155534184309) --> <skip /> <!-- no translation found for quick_switch_scroll_arrow_right (7319779291086916348) --> diff --git a/quickstep/res/values-de/strings.xml b/quickstep/res/values-de/strings.xml index f15838e094..e3ab11cd95 100644 --- a/quickstep/res/values-de/strings.xml +++ b/quickstep/res/values-de/strings.xml @@ -140,15 +140,12 @@ <string name="move_drop_target_top_or_left" msgid="2988702185049595807">"Nach oben / Nach links verschieben"</string> <string name="move_drop_target_bottom_or_right" msgid="5431393418797620162">"Nach unten / Nach rechts verschieben"</string> <string name="open_app_as_a_bubble" msgid="6642626287247807473">"App als Bubble öffnen"</string> - <!-- no translation found for quick_switch_pane_title (4677158207760585812) --> - <skip /> - <!-- no translation found for quick_switch_content_description (2851244536728720005) --> - <skip /> + <string name="quick_switch_pane_title" msgid="4677158207760585812">"Zuletzt aktive Apps"</string> + <string name="quick_switch_content_description" msgid="2851244536728720005">"Liste der zuletzt aktiven Apps"</string> <string name="quick_switch_overflow" msgid="3679780650881041632">"{count,plural, =1{weitere App}other{weitere Apps}}"</string> <string name="quick_switch_desktop" msgid="8393802056024499749">"Desktopmodus"</string> <string name="quick_switch_split_task" msgid="5598194724255333896">"<xliff:g id="APP_NAME_1">%1$s</xliff:g> und <xliff:g id="APP_NAME_2">%2$s</xliff:g>"</string> - <!-- no translation found for quick_switch_task_with_position_in_parent (4968670948331508951) --> - <skip /> + <string name="quick_switch_task_with_position_in_parent" msgid="4968670948331508951">"<xliff:g id="TASK_DESCRIPTION">%1$s</xliff:g>, Element <xliff:g id="INDEX_IN_PARENT">%2$d</xliff:g> von <xliff:g id="TOTAL_TASKS">%3$d</xliff:g>"</string> <!-- no translation found for quick_switch_scroll_arrow_left (6527033155534184309) --> <skip /> <!-- no translation found for quick_switch_scroll_arrow_right (7319779291086916348) --> diff --git a/quickstep/res/values-el/strings.xml b/quickstep/res/values-el/strings.xml index a94a2f226d..eae51d1535 100644 --- a/quickstep/res/values-el/strings.xml +++ b/quickstep/res/values-el/strings.xml @@ -140,15 +140,12 @@ <string name="move_drop_target_top_or_left" msgid="2988702185049595807">"Μετακίνηση επάνω/αριστερά"</string> <string name="move_drop_target_bottom_or_right" msgid="5431393418797620162">"Μετακίνηση κάτω/δεξιά"</string> <string name="open_app_as_a_bubble" msgid="6642626287247807473">"Άνοιγμα εφαρμογής σε συννεφάκι"</string> - <!-- no translation found for quick_switch_pane_title (4677158207760585812) --> - <skip /> - <!-- no translation found for quick_switch_content_description (2851244536728720005) --> - <skip /> + <string name="quick_switch_pane_title" msgid="4677158207760585812">"Πρόσφατες εφαρμογές"</string> + <string name="quick_switch_content_description" msgid="2851244536728720005">"Λίστα πρόσφατων εφαρμογών"</string> <string name="quick_switch_overflow" msgid="3679780650881041632">"{count,plural, =1{ακόμη εφαρμογή}other{ακόμη εφαρμογές}}"</string> <string name="quick_switch_desktop" msgid="8393802056024499749">"Υπολογιστής"</string> <string name="quick_switch_split_task" msgid="5598194724255333896">"<xliff:g id="APP_NAME_1">%1$s</xliff:g> και <xliff:g id="APP_NAME_2">%2$s</xliff:g>"</string> - <!-- no translation found for quick_switch_task_with_position_in_parent (4968670948331508951) --> - <skip /> + <string name="quick_switch_task_with_position_in_parent" msgid="4968670948331508951">"<xliff:g id="TASK_DESCRIPTION">%1$s</xliff:g>, στοιχείο <xliff:g id="INDEX_IN_PARENT">%2$d</xliff:g> από <xliff:g id="TOTAL_TASKS">%3$d</xliff:g>"</string> <!-- no translation found for quick_switch_scroll_arrow_left (6527033155534184309) --> <skip /> <!-- no translation found for quick_switch_scroll_arrow_right (7319779291086916348) --> diff --git a/quickstep/res/values-en-rAU/strings.xml b/quickstep/res/values-en-rAU/strings.xml index 9082df4293..6397fa5e8c 100644 --- a/quickstep/res/values-en-rAU/strings.xml +++ b/quickstep/res/values-en-rAU/strings.xml @@ -140,15 +140,12 @@ <string name="move_drop_target_top_or_left" msgid="2988702185049595807">"Move to top/left"</string> <string name="move_drop_target_bottom_or_right" msgid="5431393418797620162">"Move to bottom/right"</string> <string name="open_app_as_a_bubble" msgid="6642626287247807473">"Open app as a bubble"</string> - <!-- no translation found for quick_switch_pane_title (4677158207760585812) --> - <skip /> - <!-- no translation found for quick_switch_content_description (2851244536728720005) --> - <skip /> + <string name="quick_switch_pane_title" msgid="4677158207760585812">"Recent apps"</string> + <string name="quick_switch_content_description" msgid="2851244536728720005">"Recent app list"</string> <string name="quick_switch_overflow" msgid="3679780650881041632">"{count,plural, =1{more app}other{more apps}}"</string> <string name="quick_switch_desktop" msgid="8393802056024499749">"Desktop"</string> <string name="quick_switch_split_task" msgid="5598194724255333896">"<xliff:g id="APP_NAME_1">%1$s</xliff:g> and <xliff:g id="APP_NAME_2">%2$s</xliff:g>"</string> - <!-- no translation found for quick_switch_task_with_position_in_parent (4968670948331508951) --> - <skip /> + <string name="quick_switch_task_with_position_in_parent" msgid="4968670948331508951">"<xliff:g id="TASK_DESCRIPTION">%1$s</xliff:g>, item <xliff:g id="INDEX_IN_PARENT">%2$d</xliff:g> of <xliff:g id="TOTAL_TASKS">%3$d</xliff:g>"</string> <!-- no translation found for quick_switch_scroll_arrow_left (6527033155534184309) --> <skip /> <!-- no translation found for quick_switch_scroll_arrow_right (7319779291086916348) --> diff --git a/quickstep/res/values-en-rCA/strings.xml b/quickstep/res/values-en-rCA/strings.xml index 0d9e57254d..fcd7c66490 100644 --- a/quickstep/res/values-en-rCA/strings.xml +++ b/quickstep/res/values-en-rCA/strings.xml @@ -146,10 +146,8 @@ <string name="quick_switch_desktop" msgid="8393802056024499749">"Desktop"</string> <string name="quick_switch_split_task" msgid="5598194724255333896">"<xliff:g id="APP_NAME_1">%1$s</xliff:g> and <xliff:g id="APP_NAME_2">%2$s</xliff:g>"</string> <string name="quick_switch_task_with_position_in_parent" msgid="4968670948331508951">"<xliff:g id="TASK_DESCRIPTION">%1$s</xliff:g>, item <xliff:g id="INDEX_IN_PARENT">%2$d</xliff:g> of <xliff:g id="TOTAL_TASKS">%3$d</xliff:g>"</string> - <!-- no translation found for quick_switch_scroll_arrow_left (6527033155534184309) --> - <skip /> - <!-- no translation found for quick_switch_scroll_arrow_right (7319779291086916348) --> - <skip /> + <string name="quick_switch_scroll_arrow_left" msgid="6527033155534184309">"Scroll left"</string> + <string name="quick_switch_scroll_arrow_right" msgid="7319779291086916348">"Scroll right"</string> <string name="bubble_bar_bubble_fallback_description" msgid="7811684548953452009">"Bubble"</string> <string name="bubble_bar_overflow_description" msgid="8617628132733151708">"Overflow"</string> <string name="bubble_bar_bubble_description" msgid="1882466152448446446">"<xliff:g id="NOTIFICATION_TITLE">%1$s</xliff:g> from <xliff:g id="APP_NAME">%2$s</xliff:g>"</string> diff --git a/quickstep/res/values-en-rGB/strings.xml b/quickstep/res/values-en-rGB/strings.xml index 9082df4293..6397fa5e8c 100644 --- a/quickstep/res/values-en-rGB/strings.xml +++ b/quickstep/res/values-en-rGB/strings.xml @@ -140,15 +140,12 @@ <string name="move_drop_target_top_or_left" msgid="2988702185049595807">"Move to top/left"</string> <string name="move_drop_target_bottom_or_right" msgid="5431393418797620162">"Move to bottom/right"</string> <string name="open_app_as_a_bubble" msgid="6642626287247807473">"Open app as a bubble"</string> - <!-- no translation found for quick_switch_pane_title (4677158207760585812) --> - <skip /> - <!-- no translation found for quick_switch_content_description (2851244536728720005) --> - <skip /> + <string name="quick_switch_pane_title" msgid="4677158207760585812">"Recent apps"</string> + <string name="quick_switch_content_description" msgid="2851244536728720005">"Recent app list"</string> <string name="quick_switch_overflow" msgid="3679780650881041632">"{count,plural, =1{more app}other{more apps}}"</string> <string name="quick_switch_desktop" msgid="8393802056024499749">"Desktop"</string> <string name="quick_switch_split_task" msgid="5598194724255333896">"<xliff:g id="APP_NAME_1">%1$s</xliff:g> and <xliff:g id="APP_NAME_2">%2$s</xliff:g>"</string> - <!-- no translation found for quick_switch_task_with_position_in_parent (4968670948331508951) --> - <skip /> + <string name="quick_switch_task_with_position_in_parent" msgid="4968670948331508951">"<xliff:g id="TASK_DESCRIPTION">%1$s</xliff:g>, item <xliff:g id="INDEX_IN_PARENT">%2$d</xliff:g> of <xliff:g id="TOTAL_TASKS">%3$d</xliff:g>"</string> <!-- no translation found for quick_switch_scroll_arrow_left (6527033155534184309) --> <skip /> <!-- no translation found for quick_switch_scroll_arrow_right (7319779291086916348) --> diff --git a/quickstep/res/values-en-rIN/strings.xml b/quickstep/res/values-en-rIN/strings.xml index 9082df4293..6397fa5e8c 100644 --- a/quickstep/res/values-en-rIN/strings.xml +++ b/quickstep/res/values-en-rIN/strings.xml @@ -140,15 +140,12 @@ <string name="move_drop_target_top_or_left" msgid="2988702185049595807">"Move to top/left"</string> <string name="move_drop_target_bottom_or_right" msgid="5431393418797620162">"Move to bottom/right"</string> <string name="open_app_as_a_bubble" msgid="6642626287247807473">"Open app as a bubble"</string> - <!-- no translation found for quick_switch_pane_title (4677158207760585812) --> - <skip /> - <!-- no translation found for quick_switch_content_description (2851244536728720005) --> - <skip /> + <string name="quick_switch_pane_title" msgid="4677158207760585812">"Recent apps"</string> + <string name="quick_switch_content_description" msgid="2851244536728720005">"Recent app list"</string> <string name="quick_switch_overflow" msgid="3679780650881041632">"{count,plural, =1{more app}other{more apps}}"</string> <string name="quick_switch_desktop" msgid="8393802056024499749">"Desktop"</string> <string name="quick_switch_split_task" msgid="5598194724255333896">"<xliff:g id="APP_NAME_1">%1$s</xliff:g> and <xliff:g id="APP_NAME_2">%2$s</xliff:g>"</string> - <!-- no translation found for quick_switch_task_with_position_in_parent (4968670948331508951) --> - <skip /> + <string name="quick_switch_task_with_position_in_parent" msgid="4968670948331508951">"<xliff:g id="TASK_DESCRIPTION">%1$s</xliff:g>, item <xliff:g id="INDEX_IN_PARENT">%2$d</xliff:g> of <xliff:g id="TOTAL_TASKS">%3$d</xliff:g>"</string> <!-- no translation found for quick_switch_scroll_arrow_left (6527033155534184309) --> <skip /> <!-- no translation found for quick_switch_scroll_arrow_right (7319779291086916348) --> diff --git a/quickstep/res/values-es-rUS/strings.xml b/quickstep/res/values-es-rUS/strings.xml index 78bb88a0bc..703c434b77 100644 --- a/quickstep/res/values-es-rUS/strings.xml +++ b/quickstep/res/values-es-rUS/strings.xml @@ -96,7 +96,7 @@ <string name="action_share" msgid="2648470652637092375">"Compartir"</string> <string name="action_screenshot" msgid="8171125848358142917">"Captura de pantalla"</string> <string name="action_split" msgid="2098009717623550676">"Pantalla dividida"</string> - <string name="action_save_app_pair" msgid="5974823919237645229">"Guardar vinculación"</string> + <string name="action_save_app_pair" msgid="5974823919237645229">"Guardar grupo de apps"</string> <string name="toast_split_select_app" msgid="8464310533320556058">"Presiona otra app para usar la pantalla dividida"</string> <string name="toast_contextual_split_select_app" msgid="433510957123687090">"Elige otra app para usar la pantalla dividida"</string> <string name="toast_split_select_app_cancel" msgid="1939025102486630426">"Cancelar"</string> @@ -140,15 +140,12 @@ <string name="move_drop_target_top_or_left" msgid="2988702185049595807">"Mover a la parte superior o izquierda"</string> <string name="move_drop_target_bottom_or_right" msgid="5431393418797620162">"Mover a la parte inferior o derecha"</string> <string name="open_app_as_a_bubble" msgid="6642626287247807473">"Abrir app como burbuja"</string> - <!-- no translation found for quick_switch_pane_title (4677158207760585812) --> - <skip /> - <!-- no translation found for quick_switch_content_description (2851244536728720005) --> - <skip /> + <string name="quick_switch_pane_title" msgid="4677158207760585812">"Apps recientes"</string> + <string name="quick_switch_content_description" msgid="2851244536728720005">"Lista de apps recientes"</string> <string name="quick_switch_overflow" msgid="3679780650881041632">"{count,plural, =1{app más}other{apps más}}"</string> <string name="quick_switch_desktop" msgid="8393802056024499749">"Escritorio"</string> <string name="quick_switch_split_task" msgid="5598194724255333896">"<xliff:g id="APP_NAME_1">%1$s</xliff:g> y <xliff:g id="APP_NAME_2">%2$s</xliff:g>"</string> - <!-- no translation found for quick_switch_task_with_position_in_parent (4968670948331508951) --> - <skip /> + <string name="quick_switch_task_with_position_in_parent" msgid="4968670948331508951">"<xliff:g id="TASK_DESCRIPTION">%1$s</xliff:g>, elemento <xliff:g id="INDEX_IN_PARENT">%2$d</xliff:g> de <xliff:g id="TOTAL_TASKS">%3$d</xliff:g>"</string> <!-- no translation found for quick_switch_scroll_arrow_left (6527033155534184309) --> <skip /> <!-- no translation found for quick_switch_scroll_arrow_right (7319779291086916348) --> diff --git a/quickstep/res/values-es/strings.xml b/quickstep/res/values-es/strings.xml index 542e8aacf3..56489dac40 100644 --- a/quickstep/res/values-es/strings.xml +++ b/quickstep/res/values-es/strings.xml @@ -140,15 +140,12 @@ <string name="move_drop_target_top_or_left" msgid="2988702185049595807">"Mover arriba/a la izquierda"</string> <string name="move_drop_target_bottom_or_right" msgid="5431393418797620162">"Mover abajo/a la derecha"</string> <string name="open_app_as_a_bubble" msgid="6642626287247807473">"Abrir aplicación como burbuja"</string> - <!-- no translation found for quick_switch_pane_title (4677158207760585812) --> - <skip /> - <!-- no translation found for quick_switch_content_description (2851244536728720005) --> - <skip /> + <string name="quick_switch_pane_title" msgid="4677158207760585812">"Aplicaciones recientes"</string> + <string name="quick_switch_content_description" msgid="2851244536728720005">"Lista de aplicaciones recientes"</string> <string name="quick_switch_overflow" msgid="3679780650881041632">"{count,plural, =1{app más}other{apps más}}"</string> <string name="quick_switch_desktop" msgid="8393802056024499749">"Ordenador"</string> <string name="quick_switch_split_task" msgid="5598194724255333896">"<xliff:g id="APP_NAME_1">%1$s</xliff:g> y <xliff:g id="APP_NAME_2">%2$s</xliff:g>"</string> - <!-- no translation found for quick_switch_task_with_position_in_parent (4968670948331508951) --> - <skip /> + <string name="quick_switch_task_with_position_in_parent" msgid="4968670948331508951">"<xliff:g id="TASK_DESCRIPTION">%1$s</xliff:g>, elemento <xliff:g id="INDEX_IN_PARENT">%2$d</xliff:g> de <xliff:g id="TOTAL_TASKS">%3$d</xliff:g>"</string> <!-- no translation found for quick_switch_scroll_arrow_left (6527033155534184309) --> <skip /> <!-- no translation found for quick_switch_scroll_arrow_right (7319779291086916348) --> diff --git a/quickstep/res/values-et/strings.xml b/quickstep/res/values-et/strings.xml index 66d0b9f7f9..c37268221d 100644 --- a/quickstep/res/values-et/strings.xml +++ b/quickstep/res/values-et/strings.xml @@ -140,15 +140,12 @@ <string name="move_drop_target_top_or_left" msgid="2988702185049595807">"Teisalda üles/vasakule"</string> <string name="move_drop_target_bottom_or_right" msgid="5431393418797620162">"Teisalda alla/paremale"</string> <string name="open_app_as_a_bubble" msgid="6642626287247807473">"Rakenduse avamine mullina"</string> - <!-- no translation found for quick_switch_pane_title (4677158207760585812) --> - <skip /> - <!-- no translation found for quick_switch_content_description (2851244536728720005) --> - <skip /> + <string name="quick_switch_pane_title" msgid="4677158207760585812">"Hiljutised rakendused"</string> + <string name="quick_switch_content_description" msgid="2851244536728720005">"Hiljutiste rakenduste loend"</string> <string name="quick_switch_overflow" msgid="3679780650881041632">"{count,plural, =1{rakendus veel}other{rakendust veel}}"</string> <string name="quick_switch_desktop" msgid="8393802056024499749">"Lauaarvuti"</string> <string name="quick_switch_split_task" msgid="5598194724255333896">"<xliff:g id="APP_NAME_1">%1$s</xliff:g> ja <xliff:g id="APP_NAME_2">%2$s</xliff:g>"</string> - <!-- no translation found for quick_switch_task_with_position_in_parent (4968670948331508951) --> - <skip /> + <string name="quick_switch_task_with_position_in_parent" msgid="4968670948331508951">"<xliff:g id="TASK_DESCRIPTION">%1$s</xliff:g>, üksus <xliff:g id="INDEX_IN_PARENT">%2$d</xliff:g>/<xliff:g id="TOTAL_TASKS">%3$d</xliff:g>"</string> <!-- no translation found for quick_switch_scroll_arrow_left (6527033155534184309) --> <skip /> <!-- no translation found for quick_switch_scroll_arrow_right (7319779291086916348) --> diff --git a/quickstep/res/values-eu/strings.xml b/quickstep/res/values-eu/strings.xml index 618992c608..77b6b6decd 100644 --- a/quickstep/res/values-eu/strings.xml +++ b/quickstep/res/values-eu/strings.xml @@ -140,15 +140,12 @@ <string name="move_drop_target_top_or_left" msgid="2988702185049595807">"Eraman gora, ezkerretara"</string> <string name="move_drop_target_bottom_or_right" msgid="5431393418797620162">"Eraman behera, eskuinetara"</string> <string name="open_app_as_a_bubble" msgid="6642626287247807473">"Ireki aplikazioa burbuila gisa"</string> - <!-- no translation found for quick_switch_pane_title (4677158207760585812) --> - <skip /> - <!-- no translation found for quick_switch_content_description (2851244536728720005) --> - <skip /> + <string name="quick_switch_pane_title" msgid="4677158207760585812">"Azkenaldiko aplikazioak"</string> + <string name="quick_switch_content_description" msgid="2851244536728720005">"Azkenaldiko aplikazioen zerrenda"</string> <string name="quick_switch_overflow" msgid="3679780650881041632">"{count,plural, =1{aplikazio gehiago}other{aplikazio gehiago}}"</string> <string name="quick_switch_desktop" msgid="8393802056024499749">"Ordenagailua"</string> <string name="quick_switch_split_task" msgid="5598194724255333896">"<xliff:g id="APP_NAME_1">%1$s</xliff:g> eta <xliff:g id="APP_NAME_2">%2$s</xliff:g>"</string> - <!-- no translation found for quick_switch_task_with_position_in_parent (4968670948331508951) --> - <skip /> + <string name="quick_switch_task_with_position_in_parent" msgid="4968670948331508951">"<xliff:g id="TASK_DESCRIPTION">%1$s</xliff:g>, <xliff:g id="TOTAL_TASKS">%3$d</xliff:g> elementutatik <xliff:g id="INDEX_IN_PARENT">%2$d</xliff:g>garrena"</string> <!-- no translation found for quick_switch_scroll_arrow_left (6527033155534184309) --> <skip /> <!-- no translation found for quick_switch_scroll_arrow_right (7319779291086916348) --> diff --git a/quickstep/res/values-fa/strings.xml b/quickstep/res/values-fa/strings.xml index 9745b58542..7b9b719c10 100644 --- a/quickstep/res/values-fa/strings.xml +++ b/quickstep/res/values-fa/strings.xml @@ -140,15 +140,12 @@ <string name="move_drop_target_top_or_left" msgid="2988702185049595807">"انتقال به بالا/ چپ"</string> <string name="move_drop_target_bottom_or_right" msgid="5431393418797620162">"انتقال به پایین/ راست"</string> <string name="open_app_as_a_bubble" msgid="6642626287247807473">"باز کردن برنامه بهصورت حبابک"</string> - <!-- no translation found for quick_switch_pane_title (4677158207760585812) --> - <skip /> - <!-- no translation found for quick_switch_content_description (2851244536728720005) --> - <skip /> + <string name="quick_switch_pane_title" msgid="4677158207760585812">"برنامههای اخیر"</string> + <string name="quick_switch_content_description" msgid="2851244536728720005">"فهرست برنامههای اخیر"</string> <string name="quick_switch_overflow" msgid="3679780650881041632">"{count,plural, =1{برنامه دیگر}one{برنامه دیگر}other{برنامه دیگر}}"</string> <string name="quick_switch_desktop" msgid="8393802056024499749">"رایانه"</string> <string name="quick_switch_split_task" msgid="5598194724255333896">"<xliff:g id="APP_NAME_1">%1$s</xliff:g> و <xliff:g id="APP_NAME_2">%2$s</xliff:g>"</string> - <!-- no translation found for quick_switch_task_with_position_in_parent (4968670948331508951) --> - <skip /> + <string name="quick_switch_task_with_position_in_parent" msgid="4968670948331508951">"<xliff:g id="TASK_DESCRIPTION">%1$s</xliff:g>، مورد <xliff:g id="INDEX_IN_PARENT">%2$d</xliff:g> از <xliff:g id="TOTAL_TASKS">%3$d</xliff:g>"</string> <!-- no translation found for quick_switch_scroll_arrow_left (6527033155534184309) --> <skip /> <!-- no translation found for quick_switch_scroll_arrow_right (7319779291086916348) --> diff --git a/quickstep/res/values-fi/strings.xml b/quickstep/res/values-fi/strings.xml index af132e7f61..03736047d0 100644 --- a/quickstep/res/values-fi/strings.xml +++ b/quickstep/res/values-fi/strings.xml @@ -140,15 +140,12 @@ <string name="move_drop_target_top_or_left" msgid="2988702185049595807">"Siirrä ylös tai vasemmalle"</string> <string name="move_drop_target_bottom_or_right" msgid="5431393418797620162">"Siirrä alas tai oikealle"</string> <string name="open_app_as_a_bubble" msgid="6642626287247807473">"Avaa sovellus kuplana"</string> - <!-- no translation found for quick_switch_pane_title (4677158207760585812) --> - <skip /> - <!-- no translation found for quick_switch_content_description (2851244536728720005) --> - <skip /> + <string name="quick_switch_pane_title" msgid="4677158207760585812">"Viimeaikaiset sovellukset"</string> + <string name="quick_switch_content_description" msgid="2851244536728720005">"Viimeaikaisten sovellusten lista"</string> <string name="quick_switch_overflow" msgid="3679780650881041632">"{count,plural, =1{muu sovellus}other{muuta sovellusta}}"</string> <string name="quick_switch_desktop" msgid="8393802056024499749">"Tietokone"</string> <string name="quick_switch_split_task" msgid="5598194724255333896">"<xliff:g id="APP_NAME_1">%1$s</xliff:g> ja <xliff:g id="APP_NAME_2">%2$s</xliff:g>"</string> - <!-- no translation found for quick_switch_task_with_position_in_parent (4968670948331508951) --> - <skip /> + <string name="quick_switch_task_with_position_in_parent" msgid="4968670948331508951">"<xliff:g id="TASK_DESCRIPTION">%1$s</xliff:g>, kohde <xliff:g id="INDEX_IN_PARENT">%2$d</xliff:g>/<xliff:g id="TOTAL_TASKS">%3$d</xliff:g>"</string> <!-- no translation found for quick_switch_scroll_arrow_left (6527033155534184309) --> <skip /> <!-- no translation found for quick_switch_scroll_arrow_right (7319779291086916348) --> diff --git a/quickstep/res/values-fr-rCA/strings.xml b/quickstep/res/values-fr-rCA/strings.xml index 6c4fcc4d72..fcf03bedf3 100644 --- a/quickstep/res/values-fr-rCA/strings.xml +++ b/quickstep/res/values-fr-rCA/strings.xml @@ -140,15 +140,12 @@ <string name="move_drop_target_top_or_left" msgid="2988702185049595807">"Déplacer vers le coin supérieur gauche de l\'écran"</string> <string name="move_drop_target_bottom_or_right" msgid="5431393418797620162">"Déplacer vers le coin inférieur droit de l\'écran"</string> <string name="open_app_as_a_bubble" msgid="6642626287247807473">"Ouvrir l\'appli sous forme de bulle"</string> - <!-- no translation found for quick_switch_pane_title (4677158207760585812) --> - <skip /> - <!-- no translation found for quick_switch_content_description (2851244536728720005) --> - <skip /> + <string name="quick_switch_pane_title" msgid="4677158207760585812">"Applis récentes"</string> + <string name="quick_switch_content_description" msgid="2851244536728720005">"Liste des applis récentes"</string> <string name="quick_switch_overflow" msgid="3679780650881041632">"{count,plural, =1{autre appli}one{autre appli}other{autres applis}}"</string> <string name="quick_switch_desktop" msgid="8393802056024499749">"Bureau"</string> <string name="quick_switch_split_task" msgid="5598194724255333896">"<xliff:g id="APP_NAME_1">%1$s</xliff:g> et <xliff:g id="APP_NAME_2">%2$s</xliff:g>"</string> - <!-- no translation found for quick_switch_task_with_position_in_parent (4968670948331508951) --> - <skip /> + <string name="quick_switch_task_with_position_in_parent" msgid="4968670948331508951">"<xliff:g id="TASK_DESCRIPTION">%1$s</xliff:g>, élément <xliff:g id="INDEX_IN_PARENT">%2$d</xliff:g> de <xliff:g id="TOTAL_TASKS">%3$d</xliff:g>"</string> <!-- no translation found for quick_switch_scroll_arrow_left (6527033155534184309) --> <skip /> <!-- no translation found for quick_switch_scroll_arrow_right (7319779291086916348) --> diff --git a/quickstep/res/values-fr/strings.xml b/quickstep/res/values-fr/strings.xml index 09079d83d8..9a14df83c9 100644 --- a/quickstep/res/values-fr/strings.xml +++ b/quickstep/res/values-fr/strings.xml @@ -140,15 +140,12 @@ <string name="move_drop_target_top_or_left" msgid="2988702185049595807">"Déplacer en haut ou à gauche"</string> <string name="move_drop_target_bottom_or_right" msgid="5431393418797620162">"Déplacer en bas ou à droite"</string> <string name="open_app_as_a_bubble" msgid="6642626287247807473">"Ouvrir l\'appli sous forme de bulle"</string> - <!-- no translation found for quick_switch_pane_title (4677158207760585812) --> - <skip /> - <!-- no translation found for quick_switch_content_description (2851244536728720005) --> - <skip /> + <string name="quick_switch_pane_title" msgid="4677158207760585812">"Applis récentes"</string> + <string name="quick_switch_content_description" msgid="2851244536728720005">"Liste des applis récentes"</string> <string name="quick_switch_overflow" msgid="3679780650881041632">"{count,plural, =1{autre application}one{autre application}other{autres applications}}"</string> <string name="quick_switch_desktop" msgid="8393802056024499749">"Mode ordinateur"</string> <string name="quick_switch_split_task" msgid="5598194724255333896">"<xliff:g id="APP_NAME_1">%1$s</xliff:g> et <xliff:g id="APP_NAME_2">%2$s</xliff:g>"</string> - <!-- no translation found for quick_switch_task_with_position_in_parent (4968670948331508951) --> - <skip /> + <string name="quick_switch_task_with_position_in_parent" msgid="4968670948331508951">"Élément <xliff:g id="TASK_DESCRIPTION">%1$s</xliff:g> sur <xliff:g id="INDEX_IN_PARENT">%2$d</xliff:g> : <xliff:g id="TOTAL_TASKS">%3$d</xliff:g>"</string> <!-- no translation found for quick_switch_scroll_arrow_left (6527033155534184309) --> <skip /> <!-- no translation found for quick_switch_scroll_arrow_right (7319779291086916348) --> diff --git a/quickstep/res/values-gl/strings.xml b/quickstep/res/values-gl/strings.xml index 3840b5edc6..9a3cfa01c5 100644 --- a/quickstep/res/values-gl/strings.xml +++ b/quickstep/res/values-gl/strings.xml @@ -140,15 +140,12 @@ <string name="move_drop_target_top_or_left" msgid="2988702185049595807">"Mover á parte superior ou á esquerda"</string> <string name="move_drop_target_bottom_or_right" msgid="5431393418797620162">"Mover á parte inferior ou á dereita"</string> <string name="open_app_as_a_bubble" msgid="6642626287247807473">"Abrir aplicación como unha burbulla"</string> - <!-- no translation found for quick_switch_pane_title (4677158207760585812) --> - <skip /> - <!-- no translation found for quick_switch_content_description (2851244536728720005) --> - <skip /> + <string name="quick_switch_pane_title" msgid="4677158207760585812">"Aplicacións recentes"</string> + <string name="quick_switch_content_description" msgid="2851244536728720005">"Lista de aplicacións recentes"</string> <string name="quick_switch_overflow" msgid="3679780650881041632">"{count,plural, =1{aplicación máis}other{aplicacións máis}}"</string> <string name="quick_switch_desktop" msgid="8393802056024499749">"Escritorio"</string> <string name="quick_switch_split_task" msgid="5598194724255333896">"<xliff:g id="APP_NAME_1">%1$s</xliff:g> e <xliff:g id="APP_NAME_2">%2$s</xliff:g>"</string> - <!-- no translation found for quick_switch_task_with_position_in_parent (4968670948331508951) --> - <skip /> + <string name="quick_switch_task_with_position_in_parent" msgid="4968670948331508951">"<xliff:g id="TASK_DESCRIPTION">%1$s</xliff:g>, artigo <xliff:g id="INDEX_IN_PARENT">%2$d</xliff:g> de <xliff:g id="TOTAL_TASKS">%3$d</xliff:g>"</string> <!-- no translation found for quick_switch_scroll_arrow_left (6527033155534184309) --> <skip /> <!-- no translation found for quick_switch_scroll_arrow_right (7319779291086916348) --> diff --git a/quickstep/res/values-gu/strings.xml b/quickstep/res/values-gu/strings.xml index c39fe204f4..736ce925da 100644 --- a/quickstep/res/values-gu/strings.xml +++ b/quickstep/res/values-gu/strings.xml @@ -140,15 +140,12 @@ <string name="move_drop_target_top_or_left" msgid="2988702185049595807">"સૌથી ઉપર ડાબી બાજુએ ખસેડો"</string> <string name="move_drop_target_bottom_or_right" msgid="5431393418797620162">"સૌથી નીચે જમણી બાજુએ ખસેડો"</string> <string name="open_app_as_a_bubble" msgid="6642626287247807473">"બબલ તરીકે ઍપ ખોલો"</string> - <!-- no translation found for quick_switch_pane_title (4677158207760585812) --> - <skip /> - <!-- no translation found for quick_switch_content_description (2851244536728720005) --> - <skip /> + <string name="quick_switch_pane_title" msgid="4677158207760585812">"તાજેતરની ઍપ"</string> + <string name="quick_switch_content_description" msgid="2851244536728720005">"તાજેતરની ઍપની સૂચિ"</string> <string name="quick_switch_overflow" msgid="3679780650881041632">"{count,plural, =1{વધુ ઍપ}one{વધુ ઍપ}other{વધુ ઍપ}}"</string> <string name="quick_switch_desktop" msgid="8393802056024499749">"ડેસ્કટૉપ"</string> <string name="quick_switch_split_task" msgid="5598194724255333896">"<xliff:g id="APP_NAME_1">%1$s</xliff:g> અને <xliff:g id="APP_NAME_2">%2$s</xliff:g>"</string> - <!-- no translation found for quick_switch_task_with_position_in_parent (4968670948331508951) --> - <skip /> + <string name="quick_switch_task_with_position_in_parent" msgid="4968670948331508951">"<xliff:g id="TASK_DESCRIPTION">%1$s</xliff:g>, <xliff:g id="TOTAL_TASKS">%3$d</xliff:g>માંથી આઇટમ <xliff:g id="INDEX_IN_PARENT">%2$d</xliff:g>"</string> <!-- no translation found for quick_switch_scroll_arrow_left (6527033155534184309) --> <skip /> <!-- no translation found for quick_switch_scroll_arrow_right (7319779291086916348) --> diff --git a/quickstep/res/values-hi/strings.xml b/quickstep/res/values-hi/strings.xml index af248117cb..8c8d7ae029 100644 --- a/quickstep/res/values-hi/strings.xml +++ b/quickstep/res/values-hi/strings.xml @@ -140,15 +140,12 @@ <string name="move_drop_target_top_or_left" msgid="2988702185049595807">"ऊपर/बाईं तरफ़ ले जाएं"</string> <string name="move_drop_target_bottom_or_right" msgid="5431393418797620162">"नीचे/दाईं तरफ़ ले जाएं"</string> <string name="open_app_as_a_bubble" msgid="6642626287247807473">"ऐप्लिकेशन को बबल के तौर पर खोलें"</string> - <!-- no translation found for quick_switch_pane_title (4677158207760585812) --> - <skip /> - <!-- no translation found for quick_switch_content_description (2851244536728720005) --> - <skip /> + <string name="quick_switch_pane_title" msgid="4677158207760585812">"हाल ही में इस्तेमाल किए गए ऐप्लिकेशन"</string> + <string name="quick_switch_content_description" msgid="2851244536728720005">"हाल ही में इस्तेमाल किए गए ऐप्लिकेशन की सूची"</string> <string name="quick_switch_overflow" msgid="3679780650881041632">"{count,plural, =1{ज़्यादा ऐप्लिकेशन}one{ज़्यादा ऐप्लिकेशन}other{ज़्यादा ऐप्लिकेशन}}"</string> <string name="quick_switch_desktop" msgid="8393802056024499749">"डेस्कटॉप"</string> <string name="quick_switch_split_task" msgid="5598194724255333896">"<xliff:g id="APP_NAME_1">%1$s</xliff:g> और <xliff:g id="APP_NAME_2">%2$s</xliff:g>"</string> - <!-- no translation found for quick_switch_task_with_position_in_parent (4968670948331508951) --> - <skip /> + <string name="quick_switch_task_with_position_in_parent" msgid="4968670948331508951">"<xliff:g id="TASK_DESCRIPTION">%1$s</xliff:g>, <xliff:g id="TOTAL_TASKS">%3$d</xliff:g> में से <xliff:g id="INDEX_IN_PARENT">%2$d</xliff:g> आइटम"</string> <!-- no translation found for quick_switch_scroll_arrow_left (6527033155534184309) --> <skip /> <!-- no translation found for quick_switch_scroll_arrow_right (7319779291086916348) --> diff --git a/quickstep/res/values-hr/strings.xml b/quickstep/res/values-hr/strings.xml index fca73aaa0f..2fb667909c 100644 --- a/quickstep/res/values-hr/strings.xml +++ b/quickstep/res/values-hr/strings.xml @@ -140,15 +140,12 @@ <string name="move_drop_target_top_or_left" msgid="2988702185049595807">"Premjesti gore/lijevo"</string> <string name="move_drop_target_bottom_or_right" msgid="5431393418797620162">"Premjesti dolje/desno"</string> <string name="open_app_as_a_bubble" msgid="6642626287247807473">"Otvori aplikaciju kao oblačić"</string> - <!-- no translation found for quick_switch_pane_title (4677158207760585812) --> - <skip /> - <!-- no translation found for quick_switch_content_description (2851244536728720005) --> - <skip /> + <string name="quick_switch_pane_title" msgid="4677158207760585812">"Nedavne aplikacije"</string> + <string name="quick_switch_content_description" msgid="2851244536728720005">"Popis nedavnih aplikacija"</string> <string name="quick_switch_overflow" msgid="3679780650881041632">"{count,plural, =1{dodatna aplikacija}one{dodatna aplikacija}few{dodatne aplikacije}other{dodatnih aplikacija}}"</string> <string name="quick_switch_desktop" msgid="8393802056024499749">"Računalo"</string> <string name="quick_switch_split_task" msgid="5598194724255333896">"<xliff:g id="APP_NAME_1">%1$s</xliff:g> i <xliff:g id="APP_NAME_2">%2$s</xliff:g>"</string> - <!-- no translation found for quick_switch_task_with_position_in_parent (4968670948331508951) --> - <skip /> + <string name="quick_switch_task_with_position_in_parent" msgid="4968670948331508951">"<xliff:g id="TASK_DESCRIPTION">%1$s</xliff:g>, stavka <xliff:g id="INDEX_IN_PARENT">%2$d</xliff:g> od <xliff:g id="TOTAL_TASKS">%3$d</xliff:g>"</string> <!-- no translation found for quick_switch_scroll_arrow_left (6527033155534184309) --> <skip /> <!-- no translation found for quick_switch_scroll_arrow_right (7319779291086916348) --> diff --git a/quickstep/res/values-hy/strings.xml b/quickstep/res/values-hy/strings.xml index 184e281587..e418e8ee5b 100644 --- a/quickstep/res/values-hy/strings.xml +++ b/quickstep/res/values-hy/strings.xml @@ -140,15 +140,12 @@ <string name="move_drop_target_top_or_left" msgid="2988702185049595807">"Տեղափոխել վերևի ձախ անկյուն"</string> <string name="move_drop_target_bottom_or_right" msgid="5431393418797620162">"Տեղափոխել ներքևի աջ անկյուն"</string> <string name="open_app_as_a_bubble" msgid="6642626287247807473">"Բացել հավելվածը պղպջակի ձևով"</string> - <!-- no translation found for quick_switch_pane_title (4677158207760585812) --> - <skip /> - <!-- no translation found for quick_switch_content_description (2851244536728720005) --> - <skip /> + <string name="quick_switch_pane_title" msgid="4677158207760585812">"Վերջերս բացված հավելվածներ"</string> + <string name="quick_switch_content_description" msgid="2851244536728720005">"Վերջերս բացված հավելվածների ցանկ"</string> <string name="quick_switch_overflow" msgid="3679780650881041632">"{count,plural, =1{լրացուցիչ հավելված}one{լրացուցիչ հավելված}other{լրացուցիչ հավելված}}"</string> <string name="quick_switch_desktop" msgid="8393802056024499749">"Համակարգիչ"</string> <string name="quick_switch_split_task" msgid="5598194724255333896">"<xliff:g id="APP_NAME_1">%1$s</xliff:g> և <xliff:g id="APP_NAME_2">%2$s</xliff:g>"</string> - <!-- no translation found for quick_switch_task_with_position_in_parent (4968670948331508951) --> - <skip /> + <string name="quick_switch_task_with_position_in_parent" msgid="4968670948331508951">"<xliff:g id="TASK_DESCRIPTION">%1$s</xliff:g>, տարր <xliff:g id="INDEX_IN_PARENT">%2$d</xliff:g>՝ <xliff:g id="TOTAL_TASKS">%3$d</xliff:g>-ից"</string> <!-- no translation found for quick_switch_scroll_arrow_left (6527033155534184309) --> <skip /> <!-- no translation found for quick_switch_scroll_arrow_right (7319779291086916348) --> diff --git a/quickstep/res/values-in/strings.xml b/quickstep/res/values-in/strings.xml index 19ce0ad8bf..0fda663a0e 100644 --- a/quickstep/res/values-in/strings.xml +++ b/quickstep/res/values-in/strings.xml @@ -140,15 +140,12 @@ <string name="move_drop_target_top_or_left" msgid="2988702185049595807">"Pindahkan ke atas/kiri"</string> <string name="move_drop_target_bottom_or_right" msgid="5431393418797620162">"Pindahkan ke bawah/kanan"</string> <string name="open_app_as_a_bubble" msgid="6642626287247807473">"Buka aplikasi sebagai balon"</string> - <!-- no translation found for quick_switch_pane_title (4677158207760585812) --> - <skip /> - <!-- no translation found for quick_switch_content_description (2851244536728720005) --> - <skip /> + <string name="quick_switch_pane_title" msgid="4677158207760585812">"Aplikasi yang baru dibuka"</string> + <string name="quick_switch_content_description" msgid="2851244536728720005">"Daftar aplikasi yang baru dibuka"</string> <string name="quick_switch_overflow" msgid="3679780650881041632">"{count,plural, =1{aplikasi lainnya}other{aplikasi lainnya}}"</string> <string name="quick_switch_desktop" msgid="8393802056024499749">"Desktop"</string> <string name="quick_switch_split_task" msgid="5598194724255333896">"<xliff:g id="APP_NAME_1">%1$s</xliff:g> dan <xliff:g id="APP_NAME_2">%2$s</xliff:g>"</string> - <!-- no translation found for quick_switch_task_with_position_in_parent (4968670948331508951) --> - <skip /> + <string name="quick_switch_task_with_position_in_parent" msgid="4968670948331508951">"<xliff:g id="TASK_DESCRIPTION">%1$s</xliff:g>, item <xliff:g id="INDEX_IN_PARENT">%2$d</xliff:g> dari <xliff:g id="TOTAL_TASKS">%3$d</xliff:g>"</string> <!-- no translation found for quick_switch_scroll_arrow_left (6527033155534184309) --> <skip /> <!-- no translation found for quick_switch_scroll_arrow_right (7319779291086916348) --> diff --git a/quickstep/res/values-is/strings.xml b/quickstep/res/values-is/strings.xml index 77e2fd0fb8..abfc7cf22a 100644 --- a/quickstep/res/values-is/strings.xml +++ b/quickstep/res/values-is/strings.xml @@ -140,15 +140,12 @@ <string name="move_drop_target_top_or_left" msgid="2988702185049595807">"Færa efst/til vinstri"</string> <string name="move_drop_target_bottom_or_right" msgid="5431393418797620162">"Færa neðst/til hægri"</string> <string name="open_app_as_a_bubble" msgid="6642626287247807473">"Opna forrit sem blöðru"</string> - <!-- no translation found for quick_switch_pane_title (4677158207760585812) --> - <skip /> - <!-- no translation found for quick_switch_content_description (2851244536728720005) --> - <skip /> + <string name="quick_switch_pane_title" msgid="4677158207760585812">"Nýleg forrit"</string> + <string name="quick_switch_content_description" msgid="2851244536728720005">"Listi yfir nýleg forrit"</string> <string name="quick_switch_overflow" msgid="3679780650881041632">"{count,plural, =1{forrit til viðbótar}one{forrit til viðbótar}other{forrit til viðbótar}}"</string> <string name="quick_switch_desktop" msgid="8393802056024499749">"Skjáborð"</string> <string name="quick_switch_split_task" msgid="5598194724255333896">"<xliff:g id="APP_NAME_1">%1$s</xliff:g> og <xliff:g id="APP_NAME_2">%2$s</xliff:g>"</string> - <!-- no translation found for quick_switch_task_with_position_in_parent (4968670948331508951) --> - <skip /> + <string name="quick_switch_task_with_position_in_parent" msgid="4968670948331508951">"<xliff:g id="TASK_DESCRIPTION">%1$s</xliff:g>, atriði <xliff:g id="INDEX_IN_PARENT">%2$d</xliff:g> af <xliff:g id="TOTAL_TASKS">%3$d</xliff:g>"</string> <!-- no translation found for quick_switch_scroll_arrow_left (6527033155534184309) --> <skip /> <!-- no translation found for quick_switch_scroll_arrow_right (7319779291086916348) --> diff --git a/quickstep/res/values-it/strings.xml b/quickstep/res/values-it/strings.xml index 2069ecef15..00529b744a 100644 --- a/quickstep/res/values-it/strings.xml +++ b/quickstep/res/values-it/strings.xml @@ -140,15 +140,12 @@ <string name="move_drop_target_top_or_left" msgid="2988702185049595807">"Sposta in alto/a sinistra"</string> <string name="move_drop_target_bottom_or_right" msgid="5431393418797620162">"Sposta in basso/a destra"</string> <string name="open_app_as_a_bubble" msgid="6642626287247807473">"Apri l\'app come fumetto"</string> - <!-- no translation found for quick_switch_pane_title (4677158207760585812) --> - <skip /> - <!-- no translation found for quick_switch_content_description (2851244536728720005) --> - <skip /> + <string name="quick_switch_pane_title" msgid="4677158207760585812">"App recenti"</string> + <string name="quick_switch_content_description" msgid="2851244536728720005">"Elenco app recenti"</string> <string name="quick_switch_overflow" msgid="3679780650881041632">"{count,plural, =1{altra app}other{altre app}}"</string> <string name="quick_switch_desktop" msgid="8393802056024499749">"Desktop"</string> <string name="quick_switch_split_task" msgid="5598194724255333896">"<xliff:g id="APP_NAME_1">%1$s</xliff:g> e <xliff:g id="APP_NAME_2">%2$s</xliff:g>"</string> - <!-- no translation found for quick_switch_task_with_position_in_parent (4968670948331508951) --> - <skip /> + <string name="quick_switch_task_with_position_in_parent" msgid="4968670948331508951">"<xliff:g id="TASK_DESCRIPTION">%1$s</xliff:g>, elemento <xliff:g id="INDEX_IN_PARENT">%2$d</xliff:g> di <xliff:g id="TOTAL_TASKS">%3$d</xliff:g>"</string> <!-- no translation found for quick_switch_scroll_arrow_left (6527033155534184309) --> <skip /> <!-- no translation found for quick_switch_scroll_arrow_right (7319779291086916348) --> diff --git a/quickstep/res/values-iw/strings.xml b/quickstep/res/values-iw/strings.xml index 2b2302b7f3..32783628fd 100644 --- a/quickstep/res/values-iw/strings.xml +++ b/quickstep/res/values-iw/strings.xml @@ -140,15 +140,12 @@ <string name="move_drop_target_top_or_left" msgid="2988702185049595807">"העברה לפינה השמאלית/העליונה"</string> <string name="move_drop_target_bottom_or_right" msgid="5431393418797620162">"העברה לפינה הימנית/התחתונה"</string> <string name="open_app_as_a_bubble" msgid="6642626287247807473">"פתיחת האפליקציה בבועה"</string> - <!-- no translation found for quick_switch_pane_title (4677158207760585812) --> - <skip /> - <!-- no translation found for quick_switch_content_description (2851244536728720005) --> - <skip /> + <string name="quick_switch_pane_title" msgid="4677158207760585812">"אפליקציות אחרונות"</string> + <string name="quick_switch_content_description" msgid="2851244536728720005">"רשימת האפליקציות האחרונות"</string> <string name="quick_switch_overflow" msgid="3679780650881041632">"{count,plural, =1{אפליקציה נוספת}one{אפליקציות נוספות}two{אפליקציות נוספות}other{אפליקציות נוספות}}"</string> <string name="quick_switch_desktop" msgid="8393802056024499749">"מחשב"</string> <string name="quick_switch_split_task" msgid="5598194724255333896">"<xliff:g id="APP_NAME_1">%1$s</xliff:g> ו-<xliff:g id="APP_NAME_2">%2$s</xliff:g>"</string> - <!-- no translation found for quick_switch_task_with_position_in_parent (4968670948331508951) --> - <skip /> + <string name="quick_switch_task_with_position_in_parent" msgid="4968670948331508951">"<xliff:g id="TASK_DESCRIPTION">%1$s</xliff:g>, פריט <xliff:g id="INDEX_IN_PARENT">%2$d</xliff:g> מתוך <xliff:g id="TOTAL_TASKS">%3$d</xliff:g>"</string> <!-- no translation found for quick_switch_scroll_arrow_left (6527033155534184309) --> <skip /> <!-- no translation found for quick_switch_scroll_arrow_right (7319779291086916348) --> diff --git a/quickstep/res/values-ka/strings.xml b/quickstep/res/values-ka/strings.xml index c590ade480..ac46836c49 100644 --- a/quickstep/res/values-ka/strings.xml +++ b/quickstep/res/values-ka/strings.xml @@ -140,15 +140,12 @@ <string name="move_drop_target_top_or_left" msgid="2988702185049595807">"ზემოთ/მარცხნივ გადატანა"</string> <string name="move_drop_target_bottom_or_right" msgid="5431393418797620162">"ქვემოთ/მარჯვნივ გადატანა"</string> <string name="open_app_as_a_bubble" msgid="6642626287247807473">"აპის გახსნა ბუშტის სახით"</string> - <!-- no translation found for quick_switch_pane_title (4677158207760585812) --> - <skip /> - <!-- no translation found for quick_switch_content_description (2851244536728720005) --> - <skip /> + <string name="quick_switch_pane_title" msgid="4677158207760585812">"ბოლოდროინდელი აპები"</string> + <string name="quick_switch_content_description" msgid="2851244536728720005">"ბოლოდროინდელი აპების სია"</string> <string name="quick_switch_overflow" msgid="3679780650881041632">"{count,plural, =1{სხვა აპი}other{სხვა აპი}}"</string> <string name="quick_switch_desktop" msgid="8393802056024499749">"დესკტოპი"</string> <string name="quick_switch_split_task" msgid="5598194724255333896">"<xliff:g id="APP_NAME_1">%1$s</xliff:g> და <xliff:g id="APP_NAME_2">%2$s</xliff:g>"</string> - <!-- no translation found for quick_switch_task_with_position_in_parent (4968670948331508951) --> - <skip /> + <string name="quick_switch_task_with_position_in_parent" msgid="4968670948331508951">"<xliff:g id="TASK_DESCRIPTION">%1$s</xliff:g>, <xliff:g id="INDEX_IN_PARENT">%2$d</xliff:g>-ე ერთეული <xliff:g id="TOTAL_TASKS">%3$d</xliff:g>-დან"</string> <!-- no translation found for quick_switch_scroll_arrow_left (6527033155534184309) --> <skip /> <!-- no translation found for quick_switch_scroll_arrow_right (7319779291086916348) --> diff --git a/quickstep/res/values-kk/strings.xml b/quickstep/res/values-kk/strings.xml index b9785a4eaf..c2861d6c00 100644 --- a/quickstep/res/values-kk/strings.xml +++ b/quickstep/res/values-kk/strings.xml @@ -140,15 +140,12 @@ <string name="move_drop_target_top_or_left" msgid="2988702185049595807">"Жоғары/солға жылжыту"</string> <string name="move_drop_target_bottom_or_right" msgid="5431393418797620162">"Төмен/оңға жылжыту"</string> <string name="open_app_as_a_bubble" msgid="6642626287247807473">"Қолданбаны қалқыма терезе түрінде ашу"</string> - <!-- no translation found for quick_switch_pane_title (4677158207760585812) --> - <skip /> - <!-- no translation found for quick_switch_content_description (2851244536728720005) --> - <skip /> + <string name="quick_switch_pane_title" msgid="4677158207760585812">"Соңғы қолданбалар"</string> + <string name="quick_switch_content_description" msgid="2851244536728720005">"Соңғы қолданбалар тізімі"</string> <string name="quick_switch_overflow" msgid="3679780650881041632">"{count,plural, =1{қосымша қолданба}other{қосымша қолданба}}"</string> <string name="quick_switch_desktop" msgid="8393802056024499749">"Компьютер"</string> <string name="quick_switch_split_task" msgid="5598194724255333896">"<xliff:g id="APP_NAME_1">%1$s</xliff:g> және <xliff:g id="APP_NAME_2">%2$s</xliff:g>"</string> - <!-- no translation found for quick_switch_task_with_position_in_parent (4968670948331508951) --> - <skip /> + <string name="quick_switch_task_with_position_in_parent" msgid="4968670948331508951">"<xliff:g id="TASK_DESCRIPTION">%1$s</xliff:g>, <xliff:g id="INDEX_IN_PARENT">%2$d</xliff:g>/<xliff:g id="TOTAL_TASKS">%3$d</xliff:g> элемент"</string> <!-- no translation found for quick_switch_scroll_arrow_left (6527033155534184309) --> <skip /> <!-- no translation found for quick_switch_scroll_arrow_right (7319779291086916348) --> diff --git a/quickstep/res/values-km/strings.xml b/quickstep/res/values-km/strings.xml index a139ca39de..799bcda688 100644 --- a/quickstep/res/values-km/strings.xml +++ b/quickstep/res/values-km/strings.xml @@ -140,15 +140,12 @@ <string name="move_drop_target_top_or_left" msgid="2988702185049595807">"ផ្លាស់ទីទៅខាងលើ/ឆ្វេង"</string> <string name="move_drop_target_bottom_or_right" msgid="5431393418797620162">"ផ្លាស់ទីទៅខាងក្រោម/ស្ដាំ"</string> <string name="open_app_as_a_bubble" msgid="6642626287247807473">"បើកកម្មវិធីជាផ្ទាំងសារ"</string> - <!-- no translation found for quick_switch_pane_title (4677158207760585812) --> - <skip /> - <!-- no translation found for quick_switch_content_description (2851244536728720005) --> - <skip /> + <string name="quick_switch_pane_title" msgid="4677158207760585812">"កម្មវិធីថ្មីៗ"</string> + <string name="quick_switch_content_description" msgid="2851244536728720005">"បញ្ជីកម្មវិធីថ្មីៗ"</string> <string name="quick_switch_overflow" msgid="3679780650881041632">"{count,plural, =1{កម្មវិធីច្រើនទៀត}other{កម្មវិធីច្រើនទៀត}}"</string> <string name="quick_switch_desktop" msgid="8393802056024499749">"អេក្រង់ដើម"</string> <string name="quick_switch_split_task" msgid="5598194724255333896">"<xliff:g id="APP_NAME_1">%1$s</xliff:g> និង <xliff:g id="APP_NAME_2">%2$s</xliff:g>"</string> - <!-- no translation found for quick_switch_task_with_position_in_parent (4968670948331508951) --> - <skip /> + <string name="quick_switch_task_with_position_in_parent" msgid="4968670948331508951">"<xliff:g id="TASK_DESCRIPTION">%1$s</xliff:g> ធាតុទី <xliff:g id="INDEX_IN_PARENT">%2$d</xliff:g> នៃ <xliff:g id="TOTAL_TASKS">%3$d</xliff:g>"</string> <!-- no translation found for quick_switch_scroll_arrow_left (6527033155534184309) --> <skip /> <!-- no translation found for quick_switch_scroll_arrow_right (7319779291086916348) --> diff --git a/quickstep/res/values-kn/strings.xml b/quickstep/res/values-kn/strings.xml index a1907d50a9..c88aed2e19 100644 --- a/quickstep/res/values-kn/strings.xml +++ b/quickstep/res/values-kn/strings.xml @@ -140,15 +140,12 @@ <string name="move_drop_target_top_or_left" msgid="2988702185049595807">"ಮೇಲಿನ/ಎಡಭಾಗಕ್ಕೆ ಸರಿಸಿ"</string> <string name="move_drop_target_bottom_or_right" msgid="5431393418797620162">"ಕೆಳಗಿನ/ಬಲಭಾಗಕ್ಕೆ ಸರಿಸಿ"</string> <string name="open_app_as_a_bubble" msgid="6642626287247807473">"ಆ್ಯಪ್ ಅನ್ನು ಬಬಲ್ ಆಗಿ ತೆರೆಯಿರಿ"</string> - <!-- no translation found for quick_switch_pane_title (4677158207760585812) --> - <skip /> - <!-- no translation found for quick_switch_content_description (2851244536728720005) --> - <skip /> + <string name="quick_switch_pane_title" msgid="4677158207760585812">"ಇತ್ತೀಚಿನ ಆ್ಯಪ್ಗಳು"</string> + <string name="quick_switch_content_description" msgid="2851244536728720005">"ಇತ್ತೀಚಿನ ಆ್ಯಪ್ ಪಟ್ಟಿ"</string> <string name="quick_switch_overflow" msgid="3679780650881041632">"{count,plural, =1{ಹೆಚ್ಚಿನ ಆ್ಯಪ್}one{ಹೆಚ್ಚಿನ ಆ್ಯಪ್ಗಳು}other{ಹೆಚ್ಚಿನ ಆ್ಯಪ್ಗಳು}}"</string> <string name="quick_switch_desktop" msgid="8393802056024499749">"ಡೆಸ್ಕ್ಟಾಪ್"</string> <string name="quick_switch_split_task" msgid="5598194724255333896">"<xliff:g id="APP_NAME_1">%1$s</xliff:g> ಮತ್ತು <xliff:g id="APP_NAME_2">%2$s</xliff:g>"</string> - <!-- no translation found for quick_switch_task_with_position_in_parent (4968670948331508951) --> - <skip /> + <string name="quick_switch_task_with_position_in_parent" msgid="4968670948331508951">"<xliff:g id="TASK_DESCRIPTION">%1$s</xliff:g>, <xliff:g id="TOTAL_TASKS">%3$d</xliff:g> ರಲ್ಲಿ <xliff:g id="INDEX_IN_PARENT">%2$d</xliff:g> ಐಟಂ"</string> <!-- no translation found for quick_switch_scroll_arrow_left (6527033155534184309) --> <skip /> <!-- no translation found for quick_switch_scroll_arrow_right (7319779291086916348) --> diff --git a/quickstep/res/values-ko/strings.xml b/quickstep/res/values-ko/strings.xml index 1e7e850291..5df9fdd548 100644 --- a/quickstep/res/values-ko/strings.xml +++ b/quickstep/res/values-ko/strings.xml @@ -140,15 +140,12 @@ <string name="move_drop_target_top_or_left" msgid="2988702185049595807">"상단/왼쪽으로 이동"</string> <string name="move_drop_target_bottom_or_right" msgid="5431393418797620162">"하단/오른쪽으로 이동"</string> <string name="open_app_as_a_bubble" msgid="6642626287247807473">"앱을 대화창으로 열기"</string> - <!-- no translation found for quick_switch_pane_title (4677158207760585812) --> - <skip /> - <!-- no translation found for quick_switch_content_description (2851244536728720005) --> - <skip /> + <string name="quick_switch_pane_title" msgid="4677158207760585812">"최근 앱"</string> + <string name="quick_switch_content_description" msgid="2851244536728720005">"최근 앱 목록"</string> <string name="quick_switch_overflow" msgid="3679780650881041632">"{count,plural, =1{추가 앱}other{추가 앱}}"</string> <string name="quick_switch_desktop" msgid="8393802056024499749">"데스크톱"</string> <string name="quick_switch_split_task" msgid="5598194724255333896">"<xliff:g id="APP_NAME_1">%1$s</xliff:g> 및 <xliff:g id="APP_NAME_2">%2$s</xliff:g>"</string> - <!-- no translation found for quick_switch_task_with_position_in_parent (4968670948331508951) --> - <skip /> + <string name="quick_switch_task_with_position_in_parent" msgid="4968670948331508951">"<xliff:g id="TASK_DESCRIPTION">%1$s</xliff:g>, <xliff:g id="TOTAL_TASKS">%3$d</xliff:g>개 중 <xliff:g id="INDEX_IN_PARENT">%2$d</xliff:g>번째 항목"</string> <!-- no translation found for quick_switch_scroll_arrow_left (6527033155534184309) --> <skip /> <!-- no translation found for quick_switch_scroll_arrow_right (7319779291086916348) --> diff --git a/quickstep/res/values-ky/strings.xml b/quickstep/res/values-ky/strings.xml index 3190dee37c..049da10fae 100644 --- a/quickstep/res/values-ky/strings.xml +++ b/quickstep/res/values-ky/strings.xml @@ -140,15 +140,12 @@ <string name="move_drop_target_top_or_left" msgid="2988702185049595807">"Жогорку/сол бурчка жылдыруу"</string> <string name="move_drop_target_bottom_or_right" msgid="5431393418797620162">"Төмөнкү/оң бурчка жылдыруу"</string> <string name="open_app_as_a_bubble" msgid="6642626287247807473">"Колдонмону көбүкчө катары ачуу"</string> - <!-- no translation found for quick_switch_pane_title (4677158207760585812) --> - <skip /> - <!-- no translation found for quick_switch_content_description (2851244536728720005) --> - <skip /> + <string name="quick_switch_pane_title" msgid="4677158207760585812">"Акыркы колдонмолор"</string> + <string name="quick_switch_content_description" msgid="2851244536728720005">"Акыркы колдонмолордун тизмеси"</string> <string name="quick_switch_overflow" msgid="3679780650881041632">"{count,plural, =1{колдонмо бар}other{колдонмо бар}}"</string> <string name="quick_switch_desktop" msgid="8393802056024499749">"Компьютер"</string> <string name="quick_switch_split_task" msgid="5598194724255333896">"<xliff:g id="APP_NAME_1">%1$s</xliff:g> жана <xliff:g id="APP_NAME_2">%2$s</xliff:g>"</string> - <!-- no translation found for quick_switch_task_with_position_in_parent (4968670948331508951) --> - <skip /> + <string name="quick_switch_task_with_position_in_parent" msgid="4968670948331508951">"<xliff:g id="TASK_DESCRIPTION">%1$s</xliff:g>, <xliff:g id="TOTAL_TASKS">%3$d</xliff:g> ичинен <xliff:g id="INDEX_IN_PARENT">%2$d</xliff:g> нерсе"</string> <!-- no translation found for quick_switch_scroll_arrow_left (6527033155534184309) --> <skip /> <!-- no translation found for quick_switch_scroll_arrow_right (7319779291086916348) --> diff --git a/quickstep/res/values-lo/strings.xml b/quickstep/res/values-lo/strings.xml index 42b487eaad..9eb169adf7 100644 --- a/quickstep/res/values-lo/strings.xml +++ b/quickstep/res/values-lo/strings.xml @@ -140,15 +140,12 @@ <string name="move_drop_target_top_or_left" msgid="2988702185049595807">"ຍ້າຍໄປຊ້າຍ/ເທິງ"</string> <string name="move_drop_target_bottom_or_right" msgid="5431393418797620162">"ຍ້າຍໄປຂວາ/ລຸ່ມ"</string> <string name="open_app_as_a_bubble" msgid="6642626287247807473">"ເປີດແອັບເປັນຟອງ"</string> - <!-- no translation found for quick_switch_pane_title (4677158207760585812) --> - <skip /> - <!-- no translation found for quick_switch_content_description (2851244536728720005) --> - <skip /> + <string name="quick_switch_pane_title" msgid="4677158207760585812">"ແອັບຫຼ້າສຸດ"</string> + <string name="quick_switch_content_description" msgid="2851244536728720005">"ລາຍຊື່ແອັບຫຼ້າສຸດ"</string> <string name="quick_switch_overflow" msgid="3679780650881041632">"{count,plural, =1{ແອັບເພີ່ມເຕີມ}other{ແອັບເພີ່ມເຕີມ}}"</string> <string name="quick_switch_desktop" msgid="8393802056024499749">"ເດັສທັອບ"</string> <string name="quick_switch_split_task" msgid="5598194724255333896">"<xliff:g id="APP_NAME_1">%1$s</xliff:g> ແລະ <xliff:g id="APP_NAME_2">%2$s</xliff:g>"</string> - <!-- no translation found for quick_switch_task_with_position_in_parent (4968670948331508951) --> - <skip /> + <string name="quick_switch_task_with_position_in_parent" msgid="4968670948331508951">"<xliff:g id="TASK_DESCRIPTION">%1$s</xliff:g>, ລາຍການທີ <xliff:g id="INDEX_IN_PARENT">%2$d</xliff:g> ຈາກທັງໝົດ <xliff:g id="TOTAL_TASKS">%3$d</xliff:g>"</string> <!-- no translation found for quick_switch_scroll_arrow_left (6527033155534184309) --> <skip /> <!-- no translation found for quick_switch_scroll_arrow_right (7319779291086916348) --> diff --git a/quickstep/res/values-lt/strings.xml b/quickstep/res/values-lt/strings.xml index 20fcc803cf..2cbdc8e4f4 100644 --- a/quickstep/res/values-lt/strings.xml +++ b/quickstep/res/values-lt/strings.xml @@ -140,15 +140,12 @@ <string name="move_drop_target_top_or_left" msgid="2988702185049595807">"Perkelti aukštyn, kairėn"</string> <string name="move_drop_target_bottom_or_right" msgid="5431393418797620162">"Perkelti žemyn, dešinėn"</string> <string name="open_app_as_a_bubble" msgid="6642626287247807473">"Atidaryti programą kaip burbulą"</string> - <!-- no translation found for quick_switch_pane_title (4677158207760585812) --> - <skip /> - <!-- no translation found for quick_switch_content_description (2851244536728720005) --> - <skip /> + <string name="quick_switch_pane_title" msgid="4677158207760585812">"Naujausios programos"</string> + <string name="quick_switch_content_description" msgid="2851244536728720005">"Naujausių programų sąrašas"</string> <string name="quick_switch_overflow" msgid="3679780650881041632">"{count,plural, =1{papildoma programa}one{papildoma programa}few{papildomos programos}many{papildomos programos}other{papildomų programų}}"</string> <string name="quick_switch_desktop" msgid="8393802056024499749">"Stalinis kompiuteris"</string> <string name="quick_switch_split_task" msgid="5598194724255333896">"„<xliff:g id="APP_NAME_1">%1$s</xliff:g>“ ir „<xliff:g id="APP_NAME_2">%2$s</xliff:g>“"</string> - <!-- no translation found for quick_switch_task_with_position_in_parent (4968670948331508951) --> - <skip /> + <string name="quick_switch_task_with_position_in_parent" msgid="4968670948331508951">"<xliff:g id="TASK_DESCRIPTION">%1$s</xliff:g>, <xliff:g id="INDEX_IN_PARENT">%2$d</xliff:g> element. iš <xliff:g id="TOTAL_TASKS">%3$d</xliff:g>"</string> <!-- no translation found for quick_switch_scroll_arrow_left (6527033155534184309) --> <skip /> <!-- no translation found for quick_switch_scroll_arrow_right (7319779291086916348) --> diff --git a/quickstep/res/values-lv/strings.xml b/quickstep/res/values-lv/strings.xml index 7b256a7f4e..f8cda4a2f2 100644 --- a/quickstep/res/values-lv/strings.xml +++ b/quickstep/res/values-lv/strings.xml @@ -140,15 +140,12 @@ <string name="move_drop_target_top_or_left" msgid="2988702185049595807">"Pārvietot uz augšējo/kreiso stūri"</string> <string name="move_drop_target_bottom_or_right" msgid="5431393418797620162">"Pārvietot uz apakšējo/labo stūri"</string> <string name="open_app_as_a_bubble" msgid="6642626287247807473">"Atvērt lietotni kā burbuli"</string> - <!-- no translation found for quick_switch_pane_title (4677158207760585812) --> - <skip /> - <!-- no translation found for quick_switch_content_description (2851244536728720005) --> - <skip /> + <string name="quick_switch_pane_title" msgid="4677158207760585812">"Pēdējās izmantotās lietotnes"</string> + <string name="quick_switch_content_description" msgid="2851244536728720005">"Pēdējo izmantoto lietotņu saraksts"</string> <string name="quick_switch_overflow" msgid="3679780650881041632">"{count,plural, =1{papildu lietotne}zero{papildu lietotņu}one{papildu lietotne}other{papildu lietotnes}}"</string> <string name="quick_switch_desktop" msgid="8393802056024499749">"Darbvirsma"</string> <string name="quick_switch_split_task" msgid="5598194724255333896">"“<xliff:g id="APP_NAME_1">%1$s</xliff:g>” un “<xliff:g id="APP_NAME_2">%2$s</xliff:g>”"</string> - <!-- no translation found for quick_switch_task_with_position_in_parent (4968670948331508951) --> - <skip /> + <string name="quick_switch_task_with_position_in_parent" msgid="4968670948331508951">"<xliff:g id="TASK_DESCRIPTION">%1$s</xliff:g>; <xliff:g id="INDEX_IN_PARENT">%2$d</xliff:g>. vienums no <xliff:g id="TOTAL_TASKS">%3$d</xliff:g>"</string> <!-- no translation found for quick_switch_scroll_arrow_left (6527033155534184309) --> <skip /> <!-- no translation found for quick_switch_scroll_arrow_right (7319779291086916348) --> diff --git a/quickstep/res/values-mk/strings.xml b/quickstep/res/values-mk/strings.xml index 08dc4591b4..d5fe673309 100644 --- a/quickstep/res/values-mk/strings.xml +++ b/quickstep/res/values-mk/strings.xml @@ -140,15 +140,12 @@ <string name="move_drop_target_top_or_left" msgid="2988702185049595807">"Премести горе лево"</string> <string name="move_drop_target_bottom_or_right" msgid="5431393418797620162">"Премести долу десно"</string> <string name="open_app_as_a_bubble" msgid="6642626287247807473">"Отвори апликација како балонче"</string> - <!-- no translation found for quick_switch_pane_title (4677158207760585812) --> - <skip /> - <!-- no translation found for quick_switch_content_description (2851244536728720005) --> - <skip /> + <string name="quick_switch_pane_title" msgid="4677158207760585812">"Неодамнешни апликации"</string> + <string name="quick_switch_content_description" msgid="2851244536728720005">"Список со неодамнешни апликации"</string> <string name="quick_switch_overflow" msgid="3679780650881041632">"{count,plural, =1{дополнителна апликација}one{дополнителна апликација}other{дополнителни апликации}}"</string> <string name="quick_switch_desktop" msgid="8393802056024499749">"Режим за компјутер"</string> <string name="quick_switch_split_task" msgid="5598194724255333896">"<xliff:g id="APP_NAME_1">%1$s</xliff:g> и <xliff:g id="APP_NAME_2">%2$s</xliff:g>"</string> - <!-- no translation found for quick_switch_task_with_position_in_parent (4968670948331508951) --> - <skip /> + <string name="quick_switch_task_with_position_in_parent" msgid="4968670948331508951">"<xliff:g id="TASK_DESCRIPTION">%1$s</xliff:g>, ставка <xliff:g id="INDEX_IN_PARENT">%2$d</xliff:g> од <xliff:g id="TOTAL_TASKS">%3$d</xliff:g>"</string> <!-- no translation found for quick_switch_scroll_arrow_left (6527033155534184309) --> <skip /> <!-- no translation found for quick_switch_scroll_arrow_right (7319779291086916348) --> diff --git a/quickstep/res/values-ml/strings.xml b/quickstep/res/values-ml/strings.xml index 9b87841c50..099e0003e6 100644 --- a/quickstep/res/values-ml/strings.xml +++ b/quickstep/res/values-ml/strings.xml @@ -140,15 +140,12 @@ <string name="move_drop_target_top_or_left" msgid="2988702185049595807">"മുകളിലേക്കോ ഇടത്തേക്കോ നീക്കുക"</string> <string name="move_drop_target_bottom_or_right" msgid="5431393418797620162">"താഴേക്കോ വലത്തേക്കോ നീക്കുക"</string> <string name="open_app_as_a_bubble" msgid="6642626287247807473">"ആപ്പ് ഒരു ബബിളായി തുറക്കുക"</string> - <!-- no translation found for quick_switch_pane_title (4677158207760585812) --> - <skip /> - <!-- no translation found for quick_switch_content_description (2851244536728720005) --> - <skip /> + <string name="quick_switch_pane_title" msgid="4677158207760585812">"അടുത്തിടെ തുറന്ന ആപ്പുകൾ"</string> + <string name="quick_switch_content_description" msgid="2851244536728720005">"അടുത്തിടെ തുറന്ന ആപ്പ് ലിസ്റ്റ്"</string> <string name="quick_switch_overflow" msgid="3679780650881041632">"{count,plural, =1{കൂടുതൽ ആപ്പ്}other{കൂടുതൽ ആപ്പുകൾ}}"</string> <string name="quick_switch_desktop" msgid="8393802056024499749">"ഡെസ്ക്ടോപ്പ്"</string> <string name="quick_switch_split_task" msgid="5598194724255333896">"<xliff:g id="APP_NAME_1">%1$s</xliff:g>, <xliff:g id="APP_NAME_2">%2$s</xliff:g>"</string> - <!-- no translation found for quick_switch_task_with_position_in_parent (4968670948331508951) --> - <skip /> + <string name="quick_switch_task_with_position_in_parent" msgid="4968670948331508951">"<xliff:g id="TASK_DESCRIPTION">%1$s</xliff:g>, <xliff:g id="TOTAL_TASKS">%3$d</xliff:g>-ൽ <xliff:g id="INDEX_IN_PARENT">%2$d</xliff:g>-ാമത്തെ ഇനം"</string> <!-- no translation found for quick_switch_scroll_arrow_left (6527033155534184309) --> <skip /> <!-- no translation found for quick_switch_scroll_arrow_right (7319779291086916348) --> diff --git a/quickstep/res/values-mn/strings.xml b/quickstep/res/values-mn/strings.xml index f390e211da..d41faafd82 100644 --- a/quickstep/res/values-mn/strings.xml +++ b/quickstep/res/values-mn/strings.xml @@ -140,15 +140,12 @@ <string name="move_drop_target_top_or_left" msgid="2988702185049595807">"Зүүн дээд хэсэг рүү зөөх"</string> <string name="move_drop_target_bottom_or_right" msgid="5431393418797620162">"Баруун доод хэсэг рүү зөөх"</string> <string name="open_app_as_a_bubble" msgid="6642626287247807473">"Аппыг бөмбөлөг байдлаар нээх"</string> - <!-- no translation found for quick_switch_pane_title (4677158207760585812) --> - <skip /> - <!-- no translation found for quick_switch_content_description (2851244536728720005) --> - <skip /> + <string name="quick_switch_pane_title" msgid="4677158207760585812">"Саяхны апп"</string> + <string name="quick_switch_content_description" msgid="2851244536728720005">"Саяхны аппын жагсаалт"</string> <string name="quick_switch_overflow" msgid="3679780650881041632">"{count,plural, =1{бусад апп}other{бусад апп}}"</string> <string name="quick_switch_desktop" msgid="8393802056024499749">"Дэлгэц"</string> <string name="quick_switch_split_task" msgid="5598194724255333896">"<xliff:g id="APP_NAME_1">%1$s</xliff:g> болон <xliff:g id="APP_NAME_2">%2$s</xliff:g>"</string> - <!-- no translation found for quick_switch_task_with_position_in_parent (4968670948331508951) --> - <skip /> + <string name="quick_switch_task_with_position_in_parent" msgid="4968670948331508951">"<xliff:g id="TASK_DESCRIPTION">%1$s</xliff:g>, <xliff:g id="TOTAL_TASKS">%3$d</xliff:g>-н <xliff:g id="INDEX_IN_PARENT">%2$d</xliff:g>-р зүйл"</string> <!-- no translation found for quick_switch_scroll_arrow_left (6527033155534184309) --> <skip /> <!-- no translation found for quick_switch_scroll_arrow_right (7319779291086916348) --> diff --git a/quickstep/res/values-mr/strings.xml b/quickstep/res/values-mr/strings.xml index 4e6d30951d..5aa9dfcba7 100644 --- a/quickstep/res/values-mr/strings.xml +++ b/quickstep/res/values-mr/strings.xml @@ -140,15 +140,12 @@ <string name="move_drop_target_top_or_left" msgid="2988702185049595807">"सर्वात वरती/डावीकडे हलवा"</string> <string name="move_drop_target_bottom_or_right" msgid="5431393418797620162">"तळाशी/उजवीकडे हलवा"</string> <string name="open_app_as_a_bubble" msgid="6642626287247807473">"बबल म्हणून अॅप उघडा"</string> - <!-- no translation found for quick_switch_pane_title (4677158207760585812) --> - <skip /> - <!-- no translation found for quick_switch_content_description (2851244536728720005) --> - <skip /> + <string name="quick_switch_pane_title" msgid="4677158207760585812">"अलीकडील ॲप्स"</string> + <string name="quick_switch_content_description" msgid="2851244536728720005">"अलीकडील ॲपची सूची"</string> <string name="quick_switch_overflow" msgid="3679780650881041632">"{count,plural, =1{आणखी अॅप}other{आणखी अॅप्स}}"</string> <string name="quick_switch_desktop" msgid="8393802056024499749">"डेस्कटॉप"</string> <string name="quick_switch_split_task" msgid="5598194724255333896">"<xliff:g id="APP_NAME_1">%1$s</xliff:g> आणि <xliff:g id="APP_NAME_2">%2$s</xliff:g>"</string> - <!-- no translation found for quick_switch_task_with_position_in_parent (4968670948331508951) --> - <skip /> + <string name="quick_switch_task_with_position_in_parent" msgid="4968670948331508951">"<xliff:g id="TASK_DESCRIPTION">%1$s</xliff:g>, <xliff:g id="TOTAL_TASKS">%3$d</xliff:g> पैकी <xliff:g id="INDEX_IN_PARENT">%2$d</xliff:g> आयटम"</string> <!-- no translation found for quick_switch_scroll_arrow_left (6527033155534184309) --> <skip /> <!-- no translation found for quick_switch_scroll_arrow_right (7319779291086916348) --> diff --git a/quickstep/res/values-my/strings.xml b/quickstep/res/values-my/strings.xml index 8f90b8b1ce..499269c27f 100644 --- a/quickstep/res/values-my/strings.xml +++ b/quickstep/res/values-my/strings.xml @@ -140,15 +140,12 @@ <string name="move_drop_target_top_or_left" msgid="2988702185049595807">"အပေါ်/ဘယ်ဘက်သို့ ရွှေ့ရန်"</string> <string name="move_drop_target_bottom_or_right" msgid="5431393418797620162">"အောက်ခြေ/ညာဘက်သို့ ရွှေ့ရန်"</string> <string name="open_app_as_a_bubble" msgid="6642626287247807473">"အက်ပ်ကို ပူဖောင်းကွက်အဖြစ် ဖွင့်ရန်"</string> - <!-- no translation found for quick_switch_pane_title (4677158207760585812) --> - <skip /> - <!-- no translation found for quick_switch_content_description (2851244536728720005) --> - <skip /> + <string name="quick_switch_pane_title" msgid="4677158207760585812">"မကြာသေးမီက အက်ပ်များ"</string> + <string name="quick_switch_content_description" msgid="2851244536728720005">"မကြာသေးမီက အက်ပ်စာရင်း"</string> <string name="quick_switch_overflow" msgid="3679780650881041632">"{count,plural, =1{နောက်ထပ်အက်ပ်}other{နောက်ထပ်အက်ပ်များ}}"</string> <string name="quick_switch_desktop" msgid="8393802056024499749">"ဒက်စ်တော့"</string> <string name="quick_switch_split_task" msgid="5598194724255333896">"<xliff:g id="APP_NAME_1">%1$s</xliff:g> နှင့် <xliff:g id="APP_NAME_2">%2$s</xliff:g>"</string> - <!-- no translation found for quick_switch_task_with_position_in_parent (4968670948331508951) --> - <skip /> + <string name="quick_switch_task_with_position_in_parent" msgid="4968670948331508951">"<xliff:g id="TASK_DESCRIPTION">%1$s</xliff:g>၊ <xliff:g id="TOTAL_TASKS">%3$d</xliff:g> ခုအနက် <xliff:g id="INDEX_IN_PARENT">%2$d</xliff:g>"</string> <!-- no translation found for quick_switch_scroll_arrow_left (6527033155534184309) --> <skip /> <!-- no translation found for quick_switch_scroll_arrow_right (7319779291086916348) --> diff --git a/quickstep/res/values-nb/strings.xml b/quickstep/res/values-nb/strings.xml index a5799c5525..7ec515ce98 100644 --- a/quickstep/res/values-nb/strings.xml +++ b/quickstep/res/values-nb/strings.xml @@ -140,15 +140,12 @@ <string name="move_drop_target_top_or_left" msgid="2988702185049595807">"Flytt til øverst/venstre"</string> <string name="move_drop_target_bottom_or_right" msgid="5431393418797620162">"Flytt til nederst/høyre"</string> <string name="open_app_as_a_bubble" msgid="6642626287247807473">"Åpne appen som en boble"</string> - <!-- no translation found for quick_switch_pane_title (4677158207760585812) --> - <skip /> - <!-- no translation found for quick_switch_content_description (2851244536728720005) --> - <skip /> + <string name="quick_switch_pane_title" msgid="4677158207760585812">"Nylige apper"</string> + <string name="quick_switch_content_description" msgid="2851244536728720005">"Liste over nylige apper"</string> <string name="quick_switch_overflow" msgid="3679780650881041632">"{count,plural, =1{app til}other{apper til}}"</string> <string name="quick_switch_desktop" msgid="8393802056024499749">"Skrivebord"</string> <string name="quick_switch_split_task" msgid="5598194724255333896">"<xliff:g id="APP_NAME_1">%1$s</xliff:g> og <xliff:g id="APP_NAME_2">%2$s</xliff:g>"</string> - <!-- no translation found for quick_switch_task_with_position_in_parent (4968670948331508951) --> - <skip /> + <string name="quick_switch_task_with_position_in_parent" msgid="4968670948331508951">"<xliff:g id="TASK_DESCRIPTION">%1$s</xliff:g>, element <xliff:g id="INDEX_IN_PARENT">%2$d</xliff:g> av <xliff:g id="TOTAL_TASKS">%3$d</xliff:g>"</string> <!-- no translation found for quick_switch_scroll_arrow_left (6527033155534184309) --> <skip /> <!-- no translation found for quick_switch_scroll_arrow_right (7319779291086916348) --> diff --git a/quickstep/res/values-ne/strings.xml b/quickstep/res/values-ne/strings.xml index b1b03e4382..91c6bba275 100644 --- a/quickstep/res/values-ne/strings.xml +++ b/quickstep/res/values-ne/strings.xml @@ -140,15 +140,12 @@ <string name="move_drop_target_top_or_left" msgid="2988702185049595807">"सिरान/बायाँतिर सार्नुहोस्"</string> <string name="move_drop_target_bottom_or_right" msgid="5431393418797620162">"फेद/दायाँतिर सार्नुहोस्"</string> <string name="open_app_as_a_bubble" msgid="6642626287247807473">"एपलाई बबलका रूपमा खोल्नुहोस्"</string> - <!-- no translation found for quick_switch_pane_title (4677158207760585812) --> - <skip /> - <!-- no translation found for quick_switch_content_description (2851244536728720005) --> - <skip /> + <string name="quick_switch_pane_title" msgid="4677158207760585812">"हालसालै चलाइएका एपहरू"</string> + <string name="quick_switch_content_description" msgid="2851244536728720005">"हालसालै चलाइएको एपको सूची"</string> <string name="quick_switch_overflow" msgid="3679780650881041632">"{count,plural, =1{थप एप}other{थप एपहरू}}"</string> <string name="quick_switch_desktop" msgid="8393802056024499749">"डेस्कटप"</string> <string name="quick_switch_split_task" msgid="5598194724255333896">"<xliff:g id="APP_NAME_1">%1$s</xliff:g> र <xliff:g id="APP_NAME_2">%2$s</xliff:g>"</string> - <!-- no translation found for quick_switch_task_with_position_in_parent (4968670948331508951) --> - <skip /> + <string name="quick_switch_task_with_position_in_parent" msgid="4968670948331508951">"<xliff:g id="TASK_DESCRIPTION">%1$s</xliff:g>, <xliff:g id="TOTAL_TASKS">%3$d</xliff:g> मध्ये <xliff:g id="INDEX_IN_PARENT">%2$d</xliff:g> औँ वस्तु"</string> <!-- no translation found for quick_switch_scroll_arrow_left (6527033155534184309) --> <skip /> <!-- no translation found for quick_switch_scroll_arrow_right (7319779291086916348) --> diff --git a/quickstep/res/values-nl/strings.xml b/quickstep/res/values-nl/strings.xml index bd4dfc5806..9e49f13252 100644 --- a/quickstep/res/values-nl/strings.xml +++ b/quickstep/res/values-nl/strings.xml @@ -140,15 +140,12 @@ <string name="move_drop_target_top_or_left" msgid="2988702185049595807">"Naar boven/links verplaatsen"</string> <string name="move_drop_target_bottom_or_right" msgid="5431393418797620162">"Naar beneden/rechts verplaatsen"</string> <string name="open_app_as_a_bubble" msgid="6642626287247807473">"App openen als ballon"</string> - <!-- no translation found for quick_switch_pane_title (4677158207760585812) --> - <skip /> - <!-- no translation found for quick_switch_content_description (2851244536728720005) --> - <skip /> + <string name="quick_switch_pane_title" msgid="4677158207760585812">"Recente apps"</string> + <string name="quick_switch_content_description" msgid="2851244536728720005">"Lijst met recente apps"</string> <string name="quick_switch_overflow" msgid="3679780650881041632">"{count,plural, =1{extra app}other{extra apps}}"</string> <string name="quick_switch_desktop" msgid="8393802056024499749">"Desktop"</string> <string name="quick_switch_split_task" msgid="5598194724255333896">"<xliff:g id="APP_NAME_1">%1$s</xliff:g> en <xliff:g id="APP_NAME_2">%2$s</xliff:g>"</string> - <!-- no translation found for quick_switch_task_with_position_in_parent (4968670948331508951) --> - <skip /> + <string name="quick_switch_task_with_position_in_parent" msgid="4968670948331508951">"<xliff:g id="TASK_DESCRIPTION">%1$s</xliff:g>, item <xliff:g id="INDEX_IN_PARENT">%2$d</xliff:g> van <xliff:g id="TOTAL_TASKS">%3$d</xliff:g>"</string> <!-- no translation found for quick_switch_scroll_arrow_left (6527033155534184309) --> <skip /> <!-- no translation found for quick_switch_scroll_arrow_right (7319779291086916348) --> diff --git a/quickstep/res/values-or/strings.xml b/quickstep/res/values-or/strings.xml index 7efa0266a9..4721e74cfb 100644 --- a/quickstep/res/values-or/strings.xml +++ b/quickstep/res/values-or/strings.xml @@ -140,15 +140,12 @@ <string name="move_drop_target_top_or_left" msgid="2988702185049595807">"ଶୀର୍ଷ/ବାମକୁ ମୁଭ କରନ୍ତୁ"</string> <string name="move_drop_target_bottom_or_right" msgid="5431393418797620162">"ନିମ୍ନ/ଡାହାଣକୁ ମୁଭ କରନ୍ତୁ"</string> <string name="open_app_as_a_bubble" msgid="6642626287247807473">"ଏକ ବବଲ ଭାବେ ଆପ ଖୋଲନ୍ତୁ"</string> - <!-- no translation found for quick_switch_pane_title (4677158207760585812) --> - <skip /> - <!-- no translation found for quick_switch_content_description (2851244536728720005) --> - <skip /> + <string name="quick_switch_pane_title" msgid="4677158207760585812">"ବର୍ତ୍ତମାନର ଆପ"</string> + <string name="quick_switch_content_description" msgid="2851244536728720005">"ବର୍ତ୍ତମାନର ଆପ ତାଲିକା"</string> <string name="quick_switch_overflow" msgid="3679780650881041632">"{count,plural, =1{ଅଧିକ ଆପ}other{ଅଧିକ ଆପ୍ସ}}"</string> <string name="quick_switch_desktop" msgid="8393802056024499749">"ଡେସ୍କଟପ"</string> <string name="quick_switch_split_task" msgid="5598194724255333896">"<xliff:g id="APP_NAME_1">%1$s</xliff:g> ଏବଂ <xliff:g id="APP_NAME_2">%2$s</xliff:g>"</string> - <!-- no translation found for quick_switch_task_with_position_in_parent (4968670948331508951) --> - <skip /> + <string name="quick_switch_task_with_position_in_parent" msgid="4968670948331508951">"<xliff:g id="TASK_DESCRIPTION">%1$s</xliff:g>, <xliff:g id="TOTAL_TASKS">%3$d</xliff:g>ର <xliff:g id="INDEX_IN_PARENT">%2$d</xliff:g> ଆଇଟମ"</string> <!-- no translation found for quick_switch_scroll_arrow_left (6527033155534184309) --> <skip /> <!-- no translation found for quick_switch_scroll_arrow_right (7319779291086916348) --> diff --git a/quickstep/res/values-pa/strings.xml b/quickstep/res/values-pa/strings.xml index 798619bc66..f081b67b0e 100644 --- a/quickstep/res/values-pa/strings.xml +++ b/quickstep/res/values-pa/strings.xml @@ -140,15 +140,12 @@ <string name="move_drop_target_top_or_left" msgid="2988702185049595807">"ਸਿਖਰਲੇ/ਖੱਬੇ ਪਾਸੇ ਲੈ ਕੇ ਜਾਓ"</string> <string name="move_drop_target_bottom_or_right" msgid="5431393418797620162">"ਹੇਠਾਂ/ਸੱਜੇ ਪਾਸੇ ਲੈ ਕੇ ਜਾਓ"</string> <string name="open_app_as_a_bubble" msgid="6642626287247807473">"ਐਪ ਨੂੰ ਬਬਲ ਵਜੋਂ ਖੋਲ੍ਹੋ"</string> - <!-- no translation found for quick_switch_pane_title (4677158207760585812) --> - <skip /> - <!-- no translation found for quick_switch_content_description (2851244536728720005) --> - <skip /> + <string name="quick_switch_pane_title" msgid="4677158207760585812">"ਹਾਲੀਆ ਐਪਾਂ"</string> + <string name="quick_switch_content_description" msgid="2851244536728720005">"ਹਾਲੀਆ ਐਪ ਸੂਚੀ"</string> <string name="quick_switch_overflow" msgid="3679780650881041632">"{count,plural, =1{ਹੋਰ ਐਪ}one{ਹੋਰ ਐਪ}other{ਹੋਰ ਐਪਾਂ}}"</string> <string name="quick_switch_desktop" msgid="8393802056024499749">"ਡੈਸਕਟਾਪ"</string> <string name="quick_switch_split_task" msgid="5598194724255333896">"<xliff:g id="APP_NAME_1">%1$s</xliff:g> ਅਤੇ <xliff:g id="APP_NAME_2">%2$s</xliff:g>"</string> - <!-- no translation found for quick_switch_task_with_position_in_parent (4968670948331508951) --> - <skip /> + <string name="quick_switch_task_with_position_in_parent" msgid="4968670948331508951">"<xliff:g id="TASK_DESCRIPTION">%1$s</xliff:g>, <xliff:g id="TOTAL_TASKS">%3$d</xliff:g> ਵਿੱਚੋਂ <xliff:g id="INDEX_IN_PARENT">%2$d</xliff:g> ਆਈਟਮ"</string> <!-- no translation found for quick_switch_scroll_arrow_left (6527033155534184309) --> <skip /> <!-- no translation found for quick_switch_scroll_arrow_right (7319779291086916348) --> diff --git a/quickstep/res/values-pl/strings.xml b/quickstep/res/values-pl/strings.xml index 6f6b08b08e..9970dee960 100644 --- a/quickstep/res/values-pl/strings.xml +++ b/quickstep/res/values-pl/strings.xml @@ -140,15 +140,12 @@ <string name="move_drop_target_top_or_left" msgid="2988702185049595807">"Przesuń w górny lewy róg"</string> <string name="move_drop_target_bottom_or_right" msgid="5431393418797620162">"Przesuń w dolny prawy róg"</string> <string name="open_app_as_a_bubble" msgid="6642626287247807473">"Otwórz aplikację jako dymek"</string> - <!-- no translation found for quick_switch_pane_title (4677158207760585812) --> - <skip /> - <!-- no translation found for quick_switch_content_description (2851244536728720005) --> - <skip /> + <string name="quick_switch_pane_title" msgid="4677158207760585812">"Ostatnie aplikacje"</string> + <string name="quick_switch_content_description" msgid="2851244536728720005">"Lista ostatnich aplikacji"</string> <string name="quick_switch_overflow" msgid="3679780650881041632">"{count,plural, =1{inna aplikacja}few{inne aplikacje}many{innych aplikacji}other{innej aplikacji}}"</string> <string name="quick_switch_desktop" msgid="8393802056024499749">"Pulpit"</string> <string name="quick_switch_split_task" msgid="5598194724255333896">"<xliff:g id="APP_NAME_1">%1$s</xliff:g> i <xliff:g id="APP_NAME_2">%2$s</xliff:g>"</string> - <!-- no translation found for quick_switch_task_with_position_in_parent (4968670948331508951) --> - <skip /> + <string name="quick_switch_task_with_position_in_parent" msgid="4968670948331508951">"<xliff:g id="TASK_DESCRIPTION">%1$s</xliff:g>, element <xliff:g id="INDEX_IN_PARENT">%2$d</xliff:g> z <xliff:g id="TOTAL_TASKS">%3$d</xliff:g>"</string> <!-- no translation found for quick_switch_scroll_arrow_left (6527033155534184309) --> <skip /> <!-- no translation found for quick_switch_scroll_arrow_right (7319779291086916348) --> diff --git a/quickstep/res/values-pt/strings.xml b/quickstep/res/values-pt/strings.xml index 892881b28f..92fed63ed5 100644 --- a/quickstep/res/values-pt/strings.xml +++ b/quickstep/res/values-pt/strings.xml @@ -140,15 +140,12 @@ <string name="move_drop_target_top_or_left" msgid="2988702185049595807">"Mover para cima/para a esquerda"</string> <string name="move_drop_target_bottom_or_right" msgid="5431393418797620162">"Mover para baixo/para a direita"</string> <string name="open_app_as_a_bubble" msgid="6642626287247807473">"Abrir o app como um balão"</string> - <!-- no translation found for quick_switch_pane_title (4677158207760585812) --> - <skip /> - <!-- no translation found for quick_switch_content_description (2851244536728720005) --> - <skip /> + <string name="quick_switch_pane_title" msgid="4677158207760585812">"Apps recentes"</string> + <string name="quick_switch_content_description" msgid="2851244536728720005">"Lista de apps recentes"</string> <string name="quick_switch_overflow" msgid="3679780650881041632">"{count,plural, =1{outro app}one{outro app}other{outros apps}}"</string> <string name="quick_switch_desktop" msgid="8393802056024499749">"Computador"</string> <string name="quick_switch_split_task" msgid="5598194724255333896">"<xliff:g id="APP_NAME_1">%1$s</xliff:g> e <xliff:g id="APP_NAME_2">%2$s</xliff:g>"</string> - <!-- no translation found for quick_switch_task_with_position_in_parent (4968670948331508951) --> - <skip /> + <string name="quick_switch_task_with_position_in_parent" msgid="4968670948331508951">"<xliff:g id="TASK_DESCRIPTION">%1$s</xliff:g>, item <xliff:g id="INDEX_IN_PARENT">%2$d</xliff:g> de <xliff:g id="TOTAL_TASKS">%3$d</xliff:g>"</string> <!-- no translation found for quick_switch_scroll_arrow_left (6527033155534184309) --> <skip /> <!-- no translation found for quick_switch_scroll_arrow_right (7319779291086916348) --> diff --git a/quickstep/res/values-ro/strings.xml b/quickstep/res/values-ro/strings.xml index 3be5fccb6d..4b1ee4d8ff 100644 --- a/quickstep/res/values-ro/strings.xml +++ b/quickstep/res/values-ro/strings.xml @@ -140,15 +140,12 @@ <string name="move_drop_target_top_or_left" msgid="2988702185049595807">"Mută în stânga sus"</string> <string name="move_drop_target_bottom_or_right" msgid="5431393418797620162">"Mută în dreapta jos"</string> <string name="open_app_as_a_bubble" msgid="6642626287247807473">"Deschide aplicația ca balon"</string> - <!-- no translation found for quick_switch_pane_title (4677158207760585812) --> - <skip /> - <!-- no translation found for quick_switch_content_description (2851244536728720005) --> - <skip /> + <string name="quick_switch_pane_title" msgid="4677158207760585812">"Aplicații recente"</string> + <string name="quick_switch_content_description" msgid="2851244536728720005">"Lista de aplicații recente"</string> <string name="quick_switch_overflow" msgid="3679780650881041632">"{count,plural, =1{aplicație suplimentară}few{mai multe aplicații}other{mai multe aplicații}}"</string> <string name="quick_switch_desktop" msgid="8393802056024499749">"Computer"</string> <string name="quick_switch_split_task" msgid="5598194724255333896">"<xliff:g id="APP_NAME_1">%1$s</xliff:g> și <xliff:g id="APP_NAME_2">%2$s</xliff:g>"</string> - <!-- no translation found for quick_switch_task_with_position_in_parent (4968670948331508951) --> - <skip /> + <string name="quick_switch_task_with_position_in_parent" msgid="4968670948331508951">"<xliff:g id="TASK_DESCRIPTION">%1$s</xliff:g>, articolul <xliff:g id="INDEX_IN_PARENT">%2$d</xliff:g> din <xliff:g id="TOTAL_TASKS">%3$d</xliff:g>"</string> <!-- no translation found for quick_switch_scroll_arrow_left (6527033155534184309) --> <skip /> <!-- no translation found for quick_switch_scroll_arrow_right (7319779291086916348) --> diff --git a/quickstep/res/values-ru/strings.xml b/quickstep/res/values-ru/strings.xml index 8129585816..f46de34767 100644 --- a/quickstep/res/values-ru/strings.xml +++ b/quickstep/res/values-ru/strings.xml @@ -140,15 +140,12 @@ <string name="move_drop_target_top_or_left" msgid="2988702185049595807">"Переместить вверх или влево"</string> <string name="move_drop_target_bottom_or_right" msgid="5431393418797620162">"Переместить вниз или вправо"</string> <string name="open_app_as_a_bubble" msgid="6642626287247807473">"Открыть приложение во всплывающем окне"</string> - <!-- no translation found for quick_switch_pane_title (4677158207760585812) --> - <skip /> - <!-- no translation found for quick_switch_content_description (2851244536728720005) --> - <skip /> + <string name="quick_switch_pane_title" msgid="4677158207760585812">"Недавние приложения"</string> + <string name="quick_switch_content_description" msgid="2851244536728720005">"Список недавних приложений"</string> <string name="quick_switch_overflow" msgid="3679780650881041632">"{count,plural, =1{дополнительное приложение}one{дополнительное приложение}few{дополнительных приложения}many{дополнительных приложений}other{дополнительного приложения}}"</string> <string name="quick_switch_desktop" msgid="8393802056024499749">"Режим компьютера"</string> <string name="quick_switch_split_task" msgid="5598194724255333896">"<xliff:g id="APP_NAME_1">%1$s</xliff:g> и <xliff:g id="APP_NAME_2">%2$s</xliff:g>"</string> - <!-- no translation found for quick_switch_task_with_position_in_parent (4968670948331508951) --> - <skip /> + <string name="quick_switch_task_with_position_in_parent" msgid="4968670948331508951">"<xliff:g id="TASK_DESCRIPTION">%1$s</xliff:g>, элемент <xliff:g id="INDEX_IN_PARENT">%2$d</xliff:g> из <xliff:g id="TOTAL_TASKS">%3$d</xliff:g>"</string> <!-- no translation found for quick_switch_scroll_arrow_left (6527033155534184309) --> <skip /> <!-- no translation found for quick_switch_scroll_arrow_right (7319779291086916348) --> diff --git a/quickstep/res/values-si/strings.xml b/quickstep/res/values-si/strings.xml index 2d6a3b97a1..d413b0dd70 100644 --- a/quickstep/res/values-si/strings.xml +++ b/quickstep/res/values-si/strings.xml @@ -140,15 +140,12 @@ <string name="move_drop_target_top_or_left" msgid="2988702185049595807">"ඉහළ/වම වෙත ගෙන යන්න"</string> <string name="move_drop_target_bottom_or_right" msgid="5431393418797620162">"පහළ/දකුණ වෙත ගෙන යන්න"</string> <string name="open_app_as_a_bubble" msgid="6642626287247807473">"යෙදුම බුබුලක් ලෙස විවෘත කරන්න"</string> - <!-- no translation found for quick_switch_pane_title (4677158207760585812) --> - <skip /> - <!-- no translation found for quick_switch_content_description (2851244536728720005) --> - <skip /> + <string name="quick_switch_pane_title" msgid="4677158207760585812">"මෑත යෙදුම්"</string> + <string name="quick_switch_content_description" msgid="2851244536728720005">"මෑත යෙදුම් ලැයිස්තුව"</string> <string name="quick_switch_overflow" msgid="3679780650881041632">"{count,plural, =1{තව යෙදුම}one{තවත් යෙදුම්}other{තවත් යෙදුම්}}"</string> <string name="quick_switch_desktop" msgid="8393802056024499749">"ඩෙස්ක්ටොපය"</string> <string name="quick_switch_split_task" msgid="5598194724255333896">"<xliff:g id="APP_NAME_1">%1$s</xliff:g> සහ <xliff:g id="APP_NAME_2">%2$s</xliff:g>"</string> - <!-- no translation found for quick_switch_task_with_position_in_parent (4968670948331508951) --> - <skip /> + <string name="quick_switch_task_with_position_in_parent" msgid="4968670948331508951">"<xliff:g id="TASK_DESCRIPTION">%1$s</xliff:g>, අයිතම <xliff:g id="TOTAL_TASKS">%3$d</xliff:g>න් <xliff:g id="INDEX_IN_PARENT">%2$d</xliff:g>"</string> <!-- no translation found for quick_switch_scroll_arrow_left (6527033155534184309) --> <skip /> <!-- no translation found for quick_switch_scroll_arrow_right (7319779291086916348) --> diff --git a/quickstep/res/values-sk/strings.xml b/quickstep/res/values-sk/strings.xml index e3a86cbe00..8b87d38c27 100644 --- a/quickstep/res/values-sk/strings.xml +++ b/quickstep/res/values-sk/strings.xml @@ -140,15 +140,12 @@ <string name="move_drop_target_top_or_left" msgid="2988702185049595807">"Presunúť hore alebo doľava"</string> <string name="move_drop_target_bottom_or_right" msgid="5431393418797620162">"Presunúť dole alebo doprava"</string> <string name="open_app_as_a_bubble" msgid="6642626287247807473">"Otvoriť aplikáciu ako bublinu"</string> - <!-- no translation found for quick_switch_pane_title (4677158207760585812) --> - <skip /> - <!-- no translation found for quick_switch_content_description (2851244536728720005) --> - <skip /> + <string name="quick_switch_pane_title" msgid="4677158207760585812">"Nedávne aplikácie"</string> + <string name="quick_switch_content_description" msgid="2851244536728720005">"Zoznam nedávnych aplikácií"</string> <string name="quick_switch_overflow" msgid="3679780650881041632">"{count,plural, =1{ďalšia aplikácia}few{ďalšie aplikácie}many{ďalšie aplikácie}other{ďalšie aplikácie}}"</string> <string name="quick_switch_desktop" msgid="8393802056024499749">"Počítač"</string> <string name="quick_switch_split_task" msgid="5598194724255333896">"<xliff:g id="APP_NAME_1">%1$s</xliff:g> a <xliff:g id="APP_NAME_2">%2$s</xliff:g>"</string> - <!-- no translation found for quick_switch_task_with_position_in_parent (4968670948331508951) --> - <skip /> + <string name="quick_switch_task_with_position_in_parent" msgid="4968670948331508951">"<xliff:g id="TASK_DESCRIPTION">%1$s</xliff:g>, <xliff:g id="INDEX_IN_PARENT">%2$d</xliff:g>. položka z <xliff:g id="TOTAL_TASKS">%3$d</xliff:g>"</string> <!-- no translation found for quick_switch_scroll_arrow_left (6527033155534184309) --> <skip /> <!-- no translation found for quick_switch_scroll_arrow_right (7319779291086916348) --> diff --git a/quickstep/res/values-sq/strings.xml b/quickstep/res/values-sq/strings.xml index 0bea11d2ae..5ab85facaf 100644 --- a/quickstep/res/values-sq/strings.xml +++ b/quickstep/res/values-sq/strings.xml @@ -140,15 +140,12 @@ <string name="move_drop_target_top_or_left" msgid="2988702185049595807">"Lëviz në krye/majtas"</string> <string name="move_drop_target_bottom_or_right" msgid="5431393418797620162">"Lëviz në fund/djathtas"</string> <string name="open_app_as_a_bubble" msgid="6642626287247807473">"Hap aplikacionin si një flluskë"</string> - <!-- no translation found for quick_switch_pane_title (4677158207760585812) --> - <skip /> - <!-- no translation found for quick_switch_content_description (2851244536728720005) --> - <skip /> + <string name="quick_switch_pane_title" msgid="4677158207760585812">"Aplikacionet e fundit"</string> + <string name="quick_switch_content_description" msgid="2851244536728720005">"Lista e aplikacioneve të fundit"</string> <string name="quick_switch_overflow" msgid="3679780650881041632">"{count,plural, =1{aplikacion tjetër}other{aplikacione të tjera}}"</string> <string name="quick_switch_desktop" msgid="8393802056024499749">"Desktop"</string> <string name="quick_switch_split_task" msgid="5598194724255333896">"<xliff:g id="APP_NAME_1">%1$s</xliff:g> dhe <xliff:g id="APP_NAME_2">%2$s</xliff:g>"</string> - <!-- no translation found for quick_switch_task_with_position_in_parent (4968670948331508951) --> - <skip /> + <string name="quick_switch_task_with_position_in_parent" msgid="4968670948331508951">"<xliff:g id="TASK_DESCRIPTION">%1$s</xliff:g>, artikulli <xliff:g id="INDEX_IN_PARENT">%2$d</xliff:g> nga <xliff:g id="TOTAL_TASKS">%3$d</xliff:g>"</string> <!-- no translation found for quick_switch_scroll_arrow_left (6527033155534184309) --> <skip /> <!-- no translation found for quick_switch_scroll_arrow_right (7319779291086916348) --> diff --git a/quickstep/res/values-sr/strings.xml b/quickstep/res/values-sr/strings.xml index 06ca295a01..4e32155e4c 100644 --- a/quickstep/res/values-sr/strings.xml +++ b/quickstep/res/values-sr/strings.xml @@ -140,15 +140,12 @@ <string name="move_drop_target_top_or_left" msgid="2988702185049595807">"Премести горе лево"</string> <string name="move_drop_target_bottom_or_right" msgid="5431393418797620162">"Премести доле десно"</string> <string name="open_app_as_a_bubble" msgid="6642626287247807473">"Отвори апликацију као облачић"</string> - <!-- no translation found for quick_switch_pane_title (4677158207760585812) --> - <skip /> - <!-- no translation found for quick_switch_content_description (2851244536728720005) --> - <skip /> + <string name="quick_switch_pane_title" msgid="4677158207760585812">"Недавне апликације"</string> + <string name="quick_switch_content_description" msgid="2851244536728720005">"Листа недавних апликација"</string> <string name="quick_switch_overflow" msgid="3679780650881041632">"{count,plural, =1{додатна апликација}one{додатна апликација}few{додатне апликације}other{додатних апликација}}"</string> <string name="quick_switch_desktop" msgid="8393802056024499749">"Рачунар"</string> <string name="quick_switch_split_task" msgid="5598194724255333896">"<xliff:g id="APP_NAME_1">%1$s</xliff:g> и <xliff:g id="APP_NAME_2">%2$s</xliff:g>"</string> - <!-- no translation found for quick_switch_task_with_position_in_parent (4968670948331508951) --> - <skip /> + <string name="quick_switch_task_with_position_in_parent" msgid="4968670948331508951">"<xliff:g id="TASK_DESCRIPTION">%1$s</xliff:g>, ставка <xliff:g id="INDEX_IN_PARENT">%2$d</xliff:g> од <xliff:g id="TOTAL_TASKS">%3$d</xliff:g>"</string> <!-- no translation found for quick_switch_scroll_arrow_left (6527033155534184309) --> <skip /> <!-- no translation found for quick_switch_scroll_arrow_right (7319779291086916348) --> diff --git a/quickstep/res/values-sv/strings.xml b/quickstep/res/values-sv/strings.xml index 8f57cad05d..0ac4d4615b 100644 --- a/quickstep/res/values-sv/strings.xml +++ b/quickstep/res/values-sv/strings.xml @@ -140,15 +140,12 @@ <string name="move_drop_target_top_or_left" msgid="2988702185049595807">"Flytta högst upp/till vänster"</string> <string name="move_drop_target_bottom_or_right" msgid="5431393418797620162">"Flytta längst ned/till höger"</string> <string name="open_app_as_a_bubble" msgid="6642626287247807473">"Öppna appen som en bubbla"</string> - <!-- no translation found for quick_switch_pane_title (4677158207760585812) --> - <skip /> - <!-- no translation found for quick_switch_content_description (2851244536728720005) --> - <skip /> + <string name="quick_switch_pane_title" msgid="4677158207760585812">"Senaste apparna"</string> + <string name="quick_switch_content_description" msgid="2851244536728720005">"Lista över senaste appar"</string> <string name="quick_switch_overflow" msgid="3679780650881041632">"{count,plural, =1{app till}other{appar till}}"</string> <string name="quick_switch_desktop" msgid="8393802056024499749">"Skrivbordsläge"</string> <string name="quick_switch_split_task" msgid="5598194724255333896">"<xliff:g id="APP_NAME_1">%1$s</xliff:g> och <xliff:g id="APP_NAME_2">%2$s</xliff:g>"</string> - <!-- no translation found for quick_switch_task_with_position_in_parent (4968670948331508951) --> - <skip /> + <string name="quick_switch_task_with_position_in_parent" msgid="4968670948331508951">"<xliff:g id="TASK_DESCRIPTION">%1$s</xliff:g>, objekt <xliff:g id="INDEX_IN_PARENT">%2$d</xliff:g> av <xliff:g id="TOTAL_TASKS">%3$d</xliff:g>"</string> <!-- no translation found for quick_switch_scroll_arrow_left (6527033155534184309) --> <skip /> <!-- no translation found for quick_switch_scroll_arrow_right (7319779291086916348) --> diff --git a/quickstep/res/values-sw/strings.xml b/quickstep/res/values-sw/strings.xml index 7aaf14ea93..b3afda5368 100644 --- a/quickstep/res/values-sw/strings.xml +++ b/quickstep/res/values-sw/strings.xml @@ -140,15 +140,12 @@ <string name="move_drop_target_top_or_left" msgid="2988702185049595807">"Sogeza juu/kushoto"</string> <string name="move_drop_target_bottom_or_right" msgid="5431393418797620162">"Sogeza chini/kulia"</string> <string name="open_app_as_a_bubble" msgid="6642626287247807473">"Fungua programu kama kiputo"</string> - <!-- no translation found for quick_switch_pane_title (4677158207760585812) --> - <skip /> - <!-- no translation found for quick_switch_content_description (2851244536728720005) --> - <skip /> + <string name="quick_switch_pane_title" msgid="4677158207760585812">"Programu ulizofungua hivi majuzi"</string> + <string name="quick_switch_content_description" msgid="2851244536728720005">"Orodha ya programu ulizofungua hivi majuzi"</string> <string name="quick_switch_overflow" msgid="3679780650881041632">"{count,plural, =1{programu nyingine}other{programu zingine}}"</string> <string name="quick_switch_desktop" msgid="8393802056024499749">"Kompyuta ya Mezani"</string> <string name="quick_switch_split_task" msgid="5598194724255333896">"<xliff:g id="APP_NAME_1">%1$s</xliff:g> na <xliff:g id="APP_NAME_2">%2$s</xliff:g>"</string> - <!-- no translation found for quick_switch_task_with_position_in_parent (4968670948331508951) --> - <skip /> + <string name="quick_switch_task_with_position_in_parent" msgid="4968670948331508951">"<xliff:g id="TASK_DESCRIPTION">%1$s</xliff:g>, kipengee cha <xliff:g id="INDEX_IN_PARENT">%2$d</xliff:g> kati ya <xliff:g id="TOTAL_TASKS">%3$d</xliff:g>"</string> <!-- no translation found for quick_switch_scroll_arrow_left (6527033155534184309) --> <skip /> <!-- no translation found for quick_switch_scroll_arrow_right (7319779291086916348) --> diff --git a/quickstep/res/values-ta/strings.xml b/quickstep/res/values-ta/strings.xml index b0b771e647..f6e102124b 100644 --- a/quickstep/res/values-ta/strings.xml +++ b/quickstep/res/values-ta/strings.xml @@ -140,15 +140,12 @@ <string name="move_drop_target_top_or_left" msgid="2988702185049595807">"மேலே/இடதுபுறம் நகர்த்தும்"</string> <string name="move_drop_target_bottom_or_right" msgid="5431393418797620162">"கீழே/வலதுபுறம் நகர்த்தும்"</string> <string name="open_app_as_a_bubble" msgid="6642626287247807473">"ஆப்ஸைக் குமிழாகத் திற"</string> - <!-- no translation found for quick_switch_pane_title (4677158207760585812) --> - <skip /> - <!-- no translation found for quick_switch_content_description (2851244536728720005) --> - <skip /> + <string name="quick_switch_pane_title" msgid="4677158207760585812">"சமீபத்திய ஆப்ஸ்"</string> + <string name="quick_switch_content_description" msgid="2851244536728720005">"சமீபத்திய ஆப்ஸ் பட்டியல்"</string> <string name="quick_switch_overflow" msgid="3679780650881041632">"{count,plural, =1{கூடுதல் ஆப்ஸ்}other{கூடுதல் ஆப்ஸ்}}"</string> <string name="quick_switch_desktop" msgid="8393802056024499749">"டெஸ்க்டாப்"</string> <string name="quick_switch_split_task" msgid="5598194724255333896">"<xliff:g id="APP_NAME_1">%1$s</xliff:g> மற்றும் <xliff:g id="APP_NAME_2">%2$s</xliff:g>"</string> - <!-- no translation found for quick_switch_task_with_position_in_parent (4968670948331508951) --> - <skip /> + <string name="quick_switch_task_with_position_in_parent" msgid="4968670948331508951">"<xliff:g id="TASK_DESCRIPTION">%1$s</xliff:g>, <xliff:g id="TOTAL_TASKS">%3$d</xliff:g> இல் <xliff:g id="INDEX_IN_PARENT">%2$d</xliff:g> கட்டம்"</string> <!-- no translation found for quick_switch_scroll_arrow_left (6527033155534184309) --> <skip /> <!-- no translation found for quick_switch_scroll_arrow_right (7319779291086916348) --> diff --git a/quickstep/res/values-te/strings.xml b/quickstep/res/values-te/strings.xml index 5f0e7a4fde..5ab198e81d 100644 --- a/quickstep/res/values-te/strings.xml +++ b/quickstep/res/values-te/strings.xml @@ -140,15 +140,12 @@ <string name="move_drop_target_top_or_left" msgid="2988702185049595807">"ఎగువ/ఎడమ వైపునకు తరలించండి"</string> <string name="move_drop_target_bottom_or_right" msgid="5431393418797620162">"దిగువ/కుడి వైపునకు తరలించండి"</string> <string name="open_app_as_a_bubble" msgid="6642626287247807473">"యాప్ను బబుల్లాగా తెరవండి"</string> - <!-- no translation found for quick_switch_pane_title (4677158207760585812) --> - <skip /> - <!-- no translation found for quick_switch_content_description (2851244536728720005) --> - <skip /> + <string name="quick_switch_pane_title" msgid="4677158207760585812">"ఇటీవలి యాప్లు"</string> + <string name="quick_switch_content_description" msgid="2851244536728720005">"ఇటీవలి యాప్ లిస్ట్"</string> <string name="quick_switch_overflow" msgid="3679780650881041632">"{count,plural, =1{మరో యాప్}other{మరిన్ని యాప్లు}}"</string> <string name="quick_switch_desktop" msgid="8393802056024499749">"డెస్క్టాప్"</string> <string name="quick_switch_split_task" msgid="5598194724255333896">"<xliff:g id="APP_NAME_1">%1$s</xliff:g>, <xliff:g id="APP_NAME_2">%2$s</xliff:g>"</string> - <!-- no translation found for quick_switch_task_with_position_in_parent (4968670948331508951) --> - <skip /> + <string name="quick_switch_task_with_position_in_parent" msgid="4968670948331508951">"<xliff:g id="TASK_DESCRIPTION">%1$s</xliff:g>, <xliff:g id="TOTAL_TASKS">%3$d</xliff:g>లో <xliff:g id="INDEX_IN_PARENT">%2$d</xliff:g>వ ఐటెమ్"</string> <!-- no translation found for quick_switch_scroll_arrow_left (6527033155534184309) --> <skip /> <!-- no translation found for quick_switch_scroll_arrow_right (7319779291086916348) --> diff --git a/quickstep/res/values-th/strings.xml b/quickstep/res/values-th/strings.xml index 9a88f92cfb..98380033c2 100644 --- a/quickstep/res/values-th/strings.xml +++ b/quickstep/res/values-th/strings.xml @@ -140,15 +140,12 @@ <string name="move_drop_target_top_or_left" msgid="2988702185049595807">"ย้ายไปที่ด้านบนหรือด้านซ้าย"</string> <string name="move_drop_target_bottom_or_right" msgid="5431393418797620162">"ย้ายไปที่ด้านล่างหรือด้านขวา"</string> <string name="open_app_as_a_bubble" msgid="6642626287247807473">"เปิดแอปเป็นบับเบิล"</string> - <!-- no translation found for quick_switch_pane_title (4677158207760585812) --> - <skip /> - <!-- no translation found for quick_switch_content_description (2851244536728720005) --> - <skip /> + <string name="quick_switch_pane_title" msgid="4677158207760585812">"แอปล่าสุด"</string> + <string name="quick_switch_content_description" msgid="2851244536728720005">"รายการแอปล่าสุด"</string> <string name="quick_switch_overflow" msgid="3679780650881041632">"{count,plural, =1{แอปเพิ่มเติม}other{แอปเพิ่มเติม}}"</string> <string name="quick_switch_desktop" msgid="8393802056024499749">"เดสก์ท็อป"</string> <string name="quick_switch_split_task" msgid="5598194724255333896">"<xliff:g id="APP_NAME_1">%1$s</xliff:g> และ <xliff:g id="APP_NAME_2">%2$s</xliff:g>"</string> - <!-- no translation found for quick_switch_task_with_position_in_parent (4968670948331508951) --> - <skip /> + <string name="quick_switch_task_with_position_in_parent" msgid="4968670948331508951">"<xliff:g id="TASK_DESCRIPTION">%1$s</xliff:g>, รายการที่ <xliff:g id="INDEX_IN_PARENT">%2$d</xliff:g> จาก <xliff:g id="TOTAL_TASKS">%3$d</xliff:g>"</string> <!-- no translation found for quick_switch_scroll_arrow_left (6527033155534184309) --> <skip /> <!-- no translation found for quick_switch_scroll_arrow_right (7319779291086916348) --> diff --git a/quickstep/res/values-tl/strings.xml b/quickstep/res/values-tl/strings.xml index f85cce4d3c..52619b9880 100644 --- a/quickstep/res/values-tl/strings.xml +++ b/quickstep/res/values-tl/strings.xml @@ -140,15 +140,12 @@ <string name="move_drop_target_top_or_left" msgid="2988702185049595807">"Ilipat sa itaas/kaliwa"</string> <string name="move_drop_target_bottom_or_right" msgid="5431393418797620162">"Ilipat sa ibaba/kanan"</string> <string name="open_app_as_a_bubble" msgid="6642626287247807473">"Buksan ang app bilang bubble"</string> - <!-- no translation found for quick_switch_pane_title (4677158207760585812) --> - <skip /> - <!-- no translation found for quick_switch_content_description (2851244536728720005) --> - <skip /> + <string name="quick_switch_pane_title" msgid="4677158207760585812">"Mga kamakailang app"</string> + <string name="quick_switch_content_description" msgid="2851244536728720005">"Kamakailang listahan ng app"</string> <string name="quick_switch_overflow" msgid="3679780650881041632">"{count,plural, =1{pang app}one{pang app}other{pang app}}"</string> <string name="quick_switch_desktop" msgid="8393802056024499749">"Desktop"</string> <string name="quick_switch_split_task" msgid="5598194724255333896">"<xliff:g id="APP_NAME_1">%1$s</xliff:g> at <xliff:g id="APP_NAME_2">%2$s</xliff:g>"</string> - <!-- no translation found for quick_switch_task_with_position_in_parent (4968670948331508951) --> - <skip /> + <string name="quick_switch_task_with_position_in_parent" msgid="4968670948331508951">"<xliff:g id="TASK_DESCRIPTION">%1$s</xliff:g>, item <xliff:g id="INDEX_IN_PARENT">%2$d</xliff:g> ng <xliff:g id="TOTAL_TASKS">%3$d</xliff:g>"</string> <!-- no translation found for quick_switch_scroll_arrow_left (6527033155534184309) --> <skip /> <!-- no translation found for quick_switch_scroll_arrow_right (7319779291086916348) --> diff --git a/quickstep/res/values-tr/strings.xml b/quickstep/res/values-tr/strings.xml index c39a65f35f..f30205a907 100644 --- a/quickstep/res/values-tr/strings.xml +++ b/quickstep/res/values-tr/strings.xml @@ -140,15 +140,12 @@ <string name="move_drop_target_top_or_left" msgid="2988702185049595807">"Sol üste taşı"</string> <string name="move_drop_target_bottom_or_right" msgid="5431393418797620162">"Sağ alta taşı"</string> <string name="open_app_as_a_bubble" msgid="6642626287247807473">"Uygulamayı balon olarak aç"</string> - <!-- no translation found for quick_switch_pane_title (4677158207760585812) --> - <skip /> - <!-- no translation found for quick_switch_content_description (2851244536728720005) --> - <skip /> + <string name="quick_switch_pane_title" msgid="4677158207760585812">"Son uygulamalar"</string> + <string name="quick_switch_content_description" msgid="2851244536728720005">"Son uygulama listesi"</string> <string name="quick_switch_overflow" msgid="3679780650881041632">"{count,plural, =1{uygulama daha}other{uygulama daha}}"</string> <string name="quick_switch_desktop" msgid="8393802056024499749">"Masaüstü"</string> <string name="quick_switch_split_task" msgid="5598194724255333896">"<xliff:g id="APP_NAME_1">%1$s</xliff:g> ve <xliff:g id="APP_NAME_2">%2$s</xliff:g>"</string> - <!-- no translation found for quick_switch_task_with_position_in_parent (4968670948331508951) --> - <skip /> + <string name="quick_switch_task_with_position_in_parent" msgid="4968670948331508951">"<xliff:g id="TASK_DESCRIPTION">%1$s</xliff:g>, <xliff:g id="INDEX_IN_PARENT">%2$d</xliff:g>/<xliff:g id="TOTAL_TASKS">%3$d</xliff:g> öğe"</string> <!-- no translation found for quick_switch_scroll_arrow_left (6527033155534184309) --> <skip /> <!-- no translation found for quick_switch_scroll_arrow_right (7319779291086916348) --> diff --git a/quickstep/res/values-uk/strings.xml b/quickstep/res/values-uk/strings.xml index 433e02017d..4cda8cfc79 100644 --- a/quickstep/res/values-uk/strings.xml +++ b/quickstep/res/values-uk/strings.xml @@ -140,15 +140,12 @@ <string name="move_drop_target_top_or_left" msgid="2988702185049595807">"Перемістити вгору або вліво"</string> <string name="move_drop_target_bottom_or_right" msgid="5431393418797620162">"Перемістити вниз або вправо"</string> <string name="open_app_as_a_bubble" msgid="6642626287247807473">"Відкрити додаток у спливаючому вікні"</string> - <!-- no translation found for quick_switch_pane_title (4677158207760585812) --> - <skip /> - <!-- no translation found for quick_switch_content_description (2851244536728720005) --> - <skip /> + <string name="quick_switch_pane_title" msgid="4677158207760585812">"Нещодавні додатки"</string> + <string name="quick_switch_content_description" msgid="2851244536728720005">"Список нещодавніх додатків"</string> <string name="quick_switch_overflow" msgid="3679780650881041632">"{count,plural, =1{інший додаток}one{інший додаток}few{інші додатки}many{інших додатків}other{іншого додатка}}"</string> <string name="quick_switch_desktop" msgid="8393802056024499749">"Комп’ютер"</string> <string name="quick_switch_split_task" msgid="5598194724255333896">"<xliff:g id="APP_NAME_1">%1$s</xliff:g> та <xliff:g id="APP_NAME_2">%2$s</xliff:g>"</string> - <!-- no translation found for quick_switch_task_with_position_in_parent (4968670948331508951) --> - <skip /> + <string name="quick_switch_task_with_position_in_parent" msgid="4968670948331508951">"<xliff:g id="TASK_DESCRIPTION">%1$s</xliff:g>, об’єкт <xliff:g id="INDEX_IN_PARENT">%2$d</xliff:g> з <xliff:g id="TOTAL_TASKS">%3$d</xliff:g>"</string> <!-- no translation found for quick_switch_scroll_arrow_left (6527033155534184309) --> <skip /> <!-- no translation found for quick_switch_scroll_arrow_right (7319779291086916348) --> diff --git a/quickstep/res/values-ur/strings.xml b/quickstep/res/values-ur/strings.xml index 603760c6a7..a5508d47c5 100644 --- a/quickstep/res/values-ur/strings.xml +++ b/quickstep/res/values-ur/strings.xml @@ -140,15 +140,12 @@ <string name="move_drop_target_top_or_left" msgid="2988702185049595807">"اوپر/بائیں طرف منتقل کریں"</string> <string name="move_drop_target_bottom_or_right" msgid="5431393418797620162">"نیچے/دائیں طرف منتقل کریں"</string> <string name="open_app_as_a_bubble" msgid="6642626287247807473">"ایپ کو بطور ببل کھولیں"</string> - <!-- no translation found for quick_switch_pane_title (4677158207760585812) --> - <skip /> - <!-- no translation found for quick_switch_content_description (2851244536728720005) --> - <skip /> + <string name="quick_switch_pane_title" msgid="4677158207760585812">"حالیہ ایپس"</string> + <string name="quick_switch_content_description" msgid="2851244536728720005">"حالیہ ایپ کی فہرست"</string> <string name="quick_switch_overflow" msgid="3679780650881041632">"{count,plural, =1{مزید ایپ}other{مزید ایپس}}"</string> <string name="quick_switch_desktop" msgid="8393802056024499749">"ڈیسک ٹاپ"</string> <string name="quick_switch_split_task" msgid="5598194724255333896">"<xliff:g id="APP_NAME_1">%1$s</xliff:g> اور <xliff:g id="APP_NAME_2">%2$s</xliff:g>"</string> - <!-- no translation found for quick_switch_task_with_position_in_parent (4968670948331508951) --> - <skip /> + <string name="quick_switch_task_with_position_in_parent" msgid="4968670948331508951">"<xliff:g id="TASK_DESCRIPTION">%1$s</xliff:g>، آئٹم <xliff:g id="INDEX_IN_PARENT">%2$d</xliff:g> از <xliff:g id="TOTAL_TASKS">%3$d</xliff:g>"</string> <!-- no translation found for quick_switch_scroll_arrow_left (6527033155534184309) --> <skip /> <!-- no translation found for quick_switch_scroll_arrow_right (7319779291086916348) --> diff --git a/quickstep/res/values-uz/strings.xml b/quickstep/res/values-uz/strings.xml index f28957383b..e091d69a33 100644 --- a/quickstep/res/values-uz/strings.xml +++ b/quickstep/res/values-uz/strings.xml @@ -140,15 +140,12 @@ <string name="move_drop_target_top_or_left" msgid="2988702185049595807">"Yuqoriga yoki chapga oʻtkazish"</string> <string name="move_drop_target_bottom_or_right" msgid="5431393418797620162">"Pastga yoki oʻngga oʻtkazish"</string> <string name="open_app_as_a_bubble" msgid="6642626287247807473">"Ilovani qalqib chiquvchi oynada ochish"</string> - <!-- no translation found for quick_switch_pane_title (4677158207760585812) --> - <skip /> - <!-- no translation found for quick_switch_content_description (2851244536728720005) --> - <skip /> + <string name="quick_switch_pane_title" msgid="4677158207760585812">"Oxirgi ilovalar"</string> + <string name="quick_switch_content_description" msgid="2851244536728720005">"Oxirgi ilovalar roʻyxati"</string> <string name="quick_switch_overflow" msgid="3679780650881041632">"{count,plural, =1{boshqa ilova}other{boshqa ilovalar}}"</string> <string name="quick_switch_desktop" msgid="8393802056024499749">"Kompyuter"</string> <string name="quick_switch_split_task" msgid="5598194724255333896">"<xliff:g id="APP_NAME_1">%1$s</xliff:g> va <xliff:g id="APP_NAME_2">%2$s</xliff:g>"</string> - <!-- no translation found for quick_switch_task_with_position_in_parent (4968670948331508951) --> - <skip /> + <string name="quick_switch_task_with_position_in_parent" msgid="4968670948331508951">"<xliff:g id="TASK_DESCRIPTION">%1$s</xliff:g>, <xliff:g id="INDEX_IN_PARENT">%2$d</xliff:g>-element, jami: <xliff:g id="TOTAL_TASKS">%3$d</xliff:g> ta"</string> <!-- no translation found for quick_switch_scroll_arrow_left (6527033155534184309) --> <skip /> <!-- no translation found for quick_switch_scroll_arrow_right (7319779291086916348) --> diff --git a/quickstep/res/values-vi/strings.xml b/quickstep/res/values-vi/strings.xml index d0f5252f01..44cfb44b93 100644 --- a/quickstep/res/values-vi/strings.xml +++ b/quickstep/res/values-vi/strings.xml @@ -140,15 +140,12 @@ <string name="move_drop_target_top_or_left" msgid="2988702185049595807">"Chuyển lên trên cùng/sang bên trái"</string> <string name="move_drop_target_bottom_or_right" msgid="5431393418797620162">"Chuyển xuống dưới cùng/sang bên phải"</string> <string name="open_app_as_a_bubble" msgid="6642626287247807473">"Mở ứng dụng dưới dạng bong bóng"</string> - <!-- no translation found for quick_switch_pane_title (4677158207760585812) --> - <skip /> - <!-- no translation found for quick_switch_content_description (2851244536728720005) --> - <skip /> + <string name="quick_switch_pane_title" msgid="4677158207760585812">"Các ứng dụng gần đây"</string> + <string name="quick_switch_content_description" msgid="2851244536728720005">"Danh sách ứng dụng gần đây"</string> <string name="quick_switch_overflow" msgid="3679780650881041632">"{count,plural, =1{ứng dụng khác}other{ứng dụng khác}}"</string> <string name="quick_switch_desktop" msgid="8393802056024499749">"Máy tính"</string> <string name="quick_switch_split_task" msgid="5598194724255333896">"<xliff:g id="APP_NAME_1">%1$s</xliff:g> và <xliff:g id="APP_NAME_2">%2$s</xliff:g>"</string> - <!-- no translation found for quick_switch_task_with_position_in_parent (4968670948331508951) --> - <skip /> + <string name="quick_switch_task_with_position_in_parent" msgid="4968670948331508951">"<xliff:g id="TASK_DESCRIPTION">%1$s</xliff:g>, mục <xliff:g id="INDEX_IN_PARENT">%2$d</xliff:g> trong số <xliff:g id="TOTAL_TASKS">%3$d</xliff:g>"</string> <!-- no translation found for quick_switch_scroll_arrow_left (6527033155534184309) --> <skip /> <!-- no translation found for quick_switch_scroll_arrow_right (7319779291086916348) --> diff --git a/quickstep/res/values-zh-rCN/strings.xml b/quickstep/res/values-zh-rCN/strings.xml index 6548148b35..0494f54035 100644 --- a/quickstep/res/values-zh-rCN/strings.xml +++ b/quickstep/res/values-zh-rCN/strings.xml @@ -140,15 +140,12 @@ <string name="move_drop_target_top_or_left" msgid="2988702185049595807">"移到顶部/左侧"</string> <string name="move_drop_target_bottom_or_right" msgid="5431393418797620162">"移到底部/右侧"</string> <string name="open_app_as_a_bubble" msgid="6642626287247807473">"以气泡的形式打开应用"</string> - <!-- no translation found for quick_switch_pane_title (4677158207760585812) --> - <skip /> - <!-- no translation found for quick_switch_content_description (2851244536728720005) --> - <skip /> + <string name="quick_switch_pane_title" msgid="4677158207760585812">"最近打开过的应用"</string> + <string name="quick_switch_content_description" msgid="2851244536728720005">"“最近打开过的应用”列表"</string> <string name="quick_switch_overflow" msgid="3679780650881041632">"{count,plural, =1{多个应用}other{多个应用}}"</string> <string name="quick_switch_desktop" msgid="8393802056024499749">"桌面模式"</string> <string name="quick_switch_split_task" msgid="5598194724255333896">"<xliff:g id="APP_NAME_1">%1$s</xliff:g>和<xliff:g id="APP_NAME_2">%2$s</xliff:g>"</string> - <!-- no translation found for quick_switch_task_with_position_in_parent (4968670948331508951) --> - <skip /> + <string name="quick_switch_task_with_position_in_parent" msgid="4968670948331508951">"<xliff:g id="TASK_DESCRIPTION">%1$s</xliff:g>,第 <xliff:g id="INDEX_IN_PARENT">%2$d</xliff:g> 项(共 <xliff:g id="TOTAL_TASKS">%3$d</xliff:g> 项)"</string> <!-- no translation found for quick_switch_scroll_arrow_left (6527033155534184309) --> <skip /> <!-- no translation found for quick_switch_scroll_arrow_right (7319779291086916348) --> diff --git a/quickstep/res/values-zh-rHK/strings.xml b/quickstep/res/values-zh-rHK/strings.xml index 0606463f80..d199ee1dec 100644 --- a/quickstep/res/values-zh-rHK/strings.xml +++ b/quickstep/res/values-zh-rHK/strings.xml @@ -140,15 +140,12 @@ <string name="move_drop_target_top_or_left" msgid="2988702185049595807">"移至上方/左側"</string> <string name="move_drop_target_bottom_or_right" msgid="5431393418797620162">"移至底部/右側"</string> <string name="open_app_as_a_bubble" msgid="6642626287247807473">"在小視窗開啟應用程式"</string> - <!-- no translation found for quick_switch_pane_title (4677158207760585812) --> - <skip /> - <!-- no translation found for quick_switch_content_description (2851244536728720005) --> - <skip /> + <string name="quick_switch_pane_title" msgid="4677158207760585812">"最近開啟的應用程式"</string> + <string name="quick_switch_content_description" msgid="2851244536728720005">"「最近開啟的應用程式」清單"</string> <string name="quick_switch_overflow" msgid="3679780650881041632">"{count,plural, =1{個其他應用程式}other{個其他應用程式}}"</string> <string name="quick_switch_desktop" msgid="8393802056024499749">"桌面"</string> <string name="quick_switch_split_task" msgid="5598194724255333896">"「<xliff:g id="APP_NAME_1">%1$s</xliff:g>」和「<xliff:g id="APP_NAME_2">%2$s</xliff:g>」"</string> - <!-- no translation found for quick_switch_task_with_position_in_parent (4968670948331508951) --> - <skip /> + <string name="quick_switch_task_with_position_in_parent" msgid="4968670948331508951">"<xliff:g id="TASK_DESCRIPTION">%1$s</xliff:g>,第 <xliff:g id="INDEX_IN_PARENT">%2$d</xliff:g> 個項目,總共有 <xliff:g id="TOTAL_TASKS">%3$d</xliff:g> 項"</string> <!-- no translation found for quick_switch_scroll_arrow_left (6527033155534184309) --> <skip /> <!-- no translation found for quick_switch_scroll_arrow_right (7319779291086916348) --> diff --git a/quickstep/res/values-zh-rTW/strings.xml b/quickstep/res/values-zh-rTW/strings.xml index 44c6fdfed3..7b9efb7ef5 100644 --- a/quickstep/res/values-zh-rTW/strings.xml +++ b/quickstep/res/values-zh-rTW/strings.xml @@ -140,15 +140,12 @@ <string name="move_drop_target_top_or_left" msgid="2988702185049595807">"移到上方/左側"</string> <string name="move_drop_target_bottom_or_right" msgid="5431393418797620162">"移到底部/右側"</string> <string name="open_app_as_a_bubble" msgid="6642626287247807473">"以泡泡形式開啟應用程式"</string> - <!-- no translation found for quick_switch_pane_title (4677158207760585812) --> - <skip /> - <!-- no translation found for quick_switch_content_description (2851244536728720005) --> - <skip /> + <string name="quick_switch_pane_title" msgid="4677158207760585812">"最近開啟的應用程式"</string> + <string name="quick_switch_content_description" msgid="2851244536728720005">"「最近開啟的應用程式」清單"</string> <string name="quick_switch_overflow" msgid="3679780650881041632">"{count,plural, =1{個其他應用程式}other{個其他應用程式}}"</string> <string name="quick_switch_desktop" msgid="8393802056024499749">"電腦模式"</string> <string name="quick_switch_split_task" msgid="5598194724255333896">"「<xliff:g id="APP_NAME_1">%1$s</xliff:g>」和「<xliff:g id="APP_NAME_2">%2$s</xliff:g>」"</string> - <!-- no translation found for quick_switch_task_with_position_in_parent (4968670948331508951) --> - <skip /> + <string name="quick_switch_task_with_position_in_parent" msgid="4968670948331508951">"<xliff:g id="TASK_DESCRIPTION">%1$s</xliff:g>,第 <xliff:g id="INDEX_IN_PARENT">%2$d</xliff:g> 個項目,共 <xliff:g id="TOTAL_TASKS">%3$d</xliff:g> 項"</string> <!-- no translation found for quick_switch_scroll_arrow_left (6527033155534184309) --> <skip /> <!-- no translation found for quick_switch_scroll_arrow_right (7319779291086916348) --> diff --git a/quickstep/res/values-zu/strings.xml b/quickstep/res/values-zu/strings.xml index c666ee7eac..8d344e2f7e 100644 --- a/quickstep/res/values-zu/strings.xml +++ b/quickstep/res/values-zu/strings.xml @@ -140,15 +140,12 @@ <string name="move_drop_target_top_or_left" msgid="2988702185049595807">"Hamba phezulu/kwesokunxele"</string> <string name="move_drop_target_bottom_or_right" msgid="5431393418797620162">"Hamba phansi/kwesokudla"</string> <string name="open_app_as_a_bubble" msgid="6642626287247807473">"Vula i-app njengebhamuza"</string> - <!-- no translation found for quick_switch_pane_title (4677158207760585812) --> - <skip /> - <!-- no translation found for quick_switch_content_description (2851244536728720005) --> - <skip /> + <string name="quick_switch_pane_title" msgid="4677158207760585812">"Ama-app wakamuva"</string> + <string name="quick_switch_content_description" msgid="2851244536728720005">"Uhlu lwe-app lwakamuva"</string> <string name="quick_switch_overflow" msgid="3679780650881041632">"{count,plural, =1{i-app eyengeziwe}one{ama-app engeziwe}other{ama-app engeziwe}}"</string> <string name="quick_switch_desktop" msgid="8393802056024499749">"Ideskithophu"</string> <string name="quick_switch_split_task" msgid="5598194724255333896">"I-<xliff:g id="APP_NAME_1">%1$s</xliff:g> ne-<xliff:g id="APP_NAME_2">%2$s</xliff:g>"</string> - <!-- no translation found for quick_switch_task_with_position_in_parent (4968670948331508951) --> - <skip /> + <string name="quick_switch_task_with_position_in_parent" msgid="4968670948331508951">"I-<xliff:g id="TASK_DESCRIPTION">%1$s</xliff:g>, into engu-<xliff:g id="INDEX_IN_PARENT">%2$d</xliff:g> kwezingu-<xliff:g id="TOTAL_TASKS">%3$d</xliff:g>"</string> <!-- no translation found for quick_switch_scroll_arrow_left (6527033155534184309) --> <skip /> <!-- no translation found for quick_switch_scroll_arrow_right (7319779291086916348) --> diff --git a/quickstep/res/values/ids.xml b/quickstep/res/values/ids.xml index 14928fd941..c71bb762db 100644 --- a/quickstep/res/values/ids.xml +++ b/quickstep/res/values/ids.xml @@ -21,6 +21,4 @@ <item type="id" name="action_dismiss_all" /> <item type="id" name="bubble_bar_flyout_view" /> - <!-- TODO(b/361500574): Delete with enableRefactorTaskThumbnail --> - <item type="id" name="bottomright_snapshot" /> </resources>
\ No newline at end of file diff --git a/quickstep/src/com/android/launcher3/taskbar/BarsLocationAnimatorHelper.kt b/quickstep/src/com/android/launcher3/taskbar/BarsLocationAnimatorHelper.kt index b8060e1792..ad847b47ee 100644 --- a/quickstep/src/com/android/launcher3/taskbar/BarsLocationAnimatorHelper.kt +++ b/quickstep/src/com/android/launcher3/taskbar/BarsLocationAnimatorHelper.kt @@ -20,6 +20,7 @@ import android.animation.Animator import android.animation.AnimatorSet import android.animation.ObjectAnimator import android.animation.ValueAnimator +import android.content.Context import android.view.View import androidx.dynamicanimation.animation.SpringForce import com.android.app.animation.Interpolators @@ -30,11 +31,10 @@ import com.android.wm.shell.shared.bubbles.BubbleBarLocation /** Animator helper that creates bars animators. */ object BarsLocationAnimatorHelper { - - private const val FADE_OUT_ANIM_ALPHA_DURATION_MS: Long = 50L - private const val FADE_OUT_ANIM_ALPHA_DELAY_MS: Long = 50L - private const val FADE_OUT_ANIM_POSITION_DURATION_MS: Long = 100L - private const val FADE_IN_ANIM_ALPHA_DURATION_MS: Long = 100L + const val FADE_OUT_ANIM_ALPHA_DURATION_MS: Long = 50L + const val FADE_OUT_ANIM_ALPHA_DELAY_MS: Long = 50L + const val FADE_OUT_ANIM_POSITION_DURATION_MS: Long = 100L + const val FADE_IN_ANIM_ALPHA_DURATION_MS: Long = 100L // Use STIFFNESS_MEDIUMLOW which is not defined in the API constants private const val FADE_IN_ANIM_POSITION_SPRING_STIFFNESS: Float = 400f @@ -45,13 +45,13 @@ object BarsLocationAnimatorHelper { // During fade in animation we shift the bubble bar 1/60th of the screen width private const val FADE_IN_ANIM_POSITION_SHIFT: Float = 1 / 60f - private val View.screenWidth: Int + private val Context.screenWidth: Int get() = resources.displayMetrics.widthPixels - private val View.outShift: Float + val Context.outShift: Float get() = screenWidth * FADE_OUT_ANIM_POSITION_SHIFT - private val View.inShiftX: Float + val Context.inShiftX: Float get() = screenWidth * FADE_IN_ANIM_POSITION_SHIFT /** @@ -108,7 +108,7 @@ object BarsLocationAnimatorHelper { targetViewAlphaAnim: ObjectAnimator, bubbleBarView: View, ): Animator { - val shift: Float = bubbleBarView.outShift + val shift: Float = bubbleBarView.context.outShift val onLeft = newLocation.isOnLeft(bubbleBarView.isLayoutRtl) val startTx: Float @@ -132,15 +132,19 @@ object BarsLocationAnimatorHelper { return createLocationInAnimator(startTx, finalTx, targetViewAlphaAnim, bubbleBarView) } - /** Creates an animator for the bubble bar view out part. */ + /** + * Creates an animator for the bubble bar view out part. + * + * @param targetLocation the location bubble bar should animate to. + */ @JvmStatic fun getBubbleBarLocationOutAnimator( bubbleBarView: View, - bubbleBarLocation: BubbleBarLocation, + targetLocation: BubbleBarLocation, targetViewAlphaAnim: ObjectAnimator, ): Animator { - val onLeft = bubbleBarLocation.isOnLeft(bubbleBarView.isLayoutRtl) - val shift = bubbleBarView.outShift + val onLeft = targetLocation.isOnLeft(bubbleBarView.isLayoutRtl) + val shift = bubbleBarView.context.outShift val finalTx = bubbleBarView.translationX + (if (onLeft) -shift else shift) return this.createLocationOutAnimator(finalTx, targetViewAlphaAnim, bubbleBarView) } @@ -152,7 +156,7 @@ object BarsLocationAnimatorHelper { navButtonsView: View, navBarTargetTranslationX: Float, ): Animator { - val outShift: Float = navButtonsView.outShift + val outShift: Float = navButtonsView.context.outShift val isNavBarOnRight: Boolean = location.isOnLeft(navButtonsView.isLayoutRtl) val finalOutTx = navButtonsView.translationX + (if (isNavBarOnRight) outShift else -outShift) @@ -162,7 +166,7 @@ object BarsLocationAnimatorHelper { ObjectAnimator.ofFloat(navButtonsView, LauncherAnimUtils.VIEW_ALPHA, 0f), navButtonsView, ) - val inShift: Float = navButtonsView.inShiftX + val inShift: Float = navButtonsView.context.inShiftX val inStartX = navBarTargetTranslationX + (if (isNavBarOnRight) -inShift else inShift) val fadeIn: Animator = createLocationInAnimator( diff --git a/quickstep/src/com/android/launcher3/taskbar/FallbackTaskbarUIController.java b/quickstep/src/com/android/launcher3/taskbar/FallbackTaskbarUIController.java index d6327bc3cd..5b1e8593a1 100644 --- a/quickstep/src/com/android/launcher3/taskbar/FallbackTaskbarUIController.java +++ b/quickstep/src/com/android/launcher3/taskbar/FallbackTaskbarUIController.java @@ -26,11 +26,15 @@ import androidx.annotation.Nullable; import com.android.launcher3.popup.SystemShortcut; import com.android.launcher3.statemanager.StateManager; import com.android.launcher3.statemanager.StatefulContainer; +import com.android.quickstep.FallbackActivityInterface; +import com.android.quickstep.GestureState; +import com.android.quickstep.RecentsAnimationCallbacks; import com.android.quickstep.TopTaskTracker; import com.android.quickstep.fallback.RecentsState; import com.android.quickstep.views.RecentsView; import com.android.quickstep.views.RecentsViewContainer; +import java.io.PrintWriter; import java.util.stream.Stream; /** @@ -92,11 +96,19 @@ public class FallbackTaskbarUIController mRecentsContainer.getStateManager().removeStateListener(mStateListener); } + @Nullable + @Override + public Animator getParallelAnimationToGestureEndTarget(GestureState.GestureEndTarget endTarget, + long duration, RecentsAnimationCallbacks callbacks) { + return createAnimToRecentsState( + FallbackActivityInterface.INSTANCE.stateFromGestureEndTarget(endTarget), duration); + } + /** * Creates an animation to animate the taskbar for the given state (but does not start it). * Currently this animation just force stashes the taskbar in Overview. */ - public Animator createAnimToRecentsState(RecentsState toState, long duration) { + private Animator createAnimToRecentsState(RecentsState toState, long duration) { // Force stash taskbar (disallow unstashing) when: // - in a 3P launcher or overview task. // - not running in a test harness (unstash is needed for tests) @@ -134,7 +146,8 @@ public class FallbackTaskbarUIController private boolean isIn3pHomeOrRecents() { TopTaskTracker.CachedTaskInfo topTask = TopTaskTracker.INSTANCE - .get(mControllers.taskbarActivityContext).getCachedTopTask(true); + .get(mControllers.taskbarActivityContext).getCachedTopTask(true, + mRecentsContainer.asContext().getDisplayId()); return topTask.isHomeTask() || topTask.isRecentsTask(); } @@ -142,4 +155,12 @@ public class FallbackTaskbarUIController protected String getTaskbarUIControllerName() { return "FallbackTaskbarUIController<" + mRecentsContainer.getClass().getSimpleName() + ">"; } + + @Override + protected void dumpLogs(String prefix, PrintWriter pw) { + super.dumpLogs(prefix, pw); + + pw.println(String.format("%s\tRecentsState=%s", prefix, + mRecentsContainer.getStateManager().getState())); + } } diff --git a/quickstep/src/com/android/launcher3/taskbar/LauncherTaskbarUIController.java b/quickstep/src/com/android/launcher3/taskbar/LauncherTaskbarUIController.java index 913035ae21..3d5e214391 100644 --- a/quickstep/src/com/android/launcher3/taskbar/LauncherTaskbarUIController.java +++ b/quickstep/src/com/android/launcher3/taskbar/LauncherTaskbarUIController.java @@ -48,11 +48,16 @@ import com.android.launcher3.uioverrides.QuickstepLauncher; import com.android.launcher3.util.DisplayController; import com.android.launcher3.util.MultiPropertyFactory; import com.android.launcher3.util.OnboardingPrefs; +import com.android.quickstep.GestureState; import com.android.quickstep.HomeVisibilityState; +import com.android.quickstep.LauncherActivityInterface; import com.android.quickstep.RecentsAnimationCallbacks; import com.android.quickstep.SystemUiProxy; +import com.android.quickstep.fallback.window.RecentsDisplayModel; +import com.android.quickstep.fallback.window.RecentsWindowFlags; import com.android.quickstep.util.SplitTask; import com.android.quickstep.views.RecentsView; +import com.android.quickstep.views.RecentsViewContainer; import com.android.systemui.shared.system.QuickStepContract.SystemUiStateFlags; import com.android.wm.shell.shared.bubbles.BubbleBarLocation; import com.android.wm.shell.shared.desktopmode.DesktopModeStatus; @@ -100,6 +105,8 @@ public class LauncherTaskbarUIController extends TaskbarUIController { // Initialized in init. private final TaskbarLauncherStateController mTaskbarLauncherStateController = new TaskbarLauncherStateController(); + // When overview-in-a-window is enabled, that window is the container, else it is mLauncher. + private RecentsViewContainer mRecentsViewContainer; public LauncherTaskbarUIController(QuickstepLauncher launcher) { mLauncher = launcher; @@ -112,8 +119,19 @@ public class LauncherTaskbarUIController extends TaskbarUIController { mTaskbarLauncherStateController.init(mControllers, mLauncher, mControllers.getSharedState().sysuiStateFlags); - + final TaskbarActivityContext taskbarContext = mControllers.taskbarActivityContext; + if (RecentsWindowFlags.getEnableOverviewInWindow()) { + mRecentsViewContainer = RecentsDisplayModel.getINSTANCE() + .get(taskbarContext).getRecentsWindowManager(taskbarContext.getDisplayId()); + } + if (mRecentsViewContainer == null) { + mRecentsViewContainer = mLauncher; + } mLauncher.setTaskbarUIController(this); + if (mRecentsViewContainer != mLauncher) { + mRecentsViewContainer.setTaskbarUIController(this); + } + mHomeState.addListener(mVisibilityChangeListener); onLauncherVisibilityChanged( Flags.useActivityOverlay() @@ -142,6 +160,9 @@ public class LauncherTaskbarUIController extends TaskbarUIController { mTaskbarLauncherStateController.onDestroy(); mLauncher.setTaskbarUIController(null); + if (mRecentsViewContainer != mLauncher) { + mRecentsViewContainer.setTaskbarUIController(null); + } mHomeState.removeListener(mVisibilityChangeListener); } @@ -203,13 +224,18 @@ public class LauncherTaskbarUIController extends TaskbarUIController { */ @Override public void onLauncherVisibilityChanged(boolean isVisible) { - if (DesktopModeStatus.enterDesktopByDefaultOnFreeformDisplay(mLauncher)) { + if (DesktopModeStatus.enterDesktopByDefaultOnFreeformDisplay(mLauncher) + && mControllers.taskbarActivityContext.isPrimaryDisplay()) { DisplayController.INSTANCE.get(mLauncher).notifyConfigChange(); } + onLauncherVisibilityChanged(isVisible, false /* fromInit */); } private void onLauncherVisibilityChanged(boolean isVisible, boolean fromInitOrDestroy) { + if (mControllers == null) { + return; + } onLauncherVisibilityChanged( isVisible, fromInitOrDestroy, @@ -223,12 +249,12 @@ public class LauncherTaskbarUIController extends TaskbarUIController { if (!Flags.predictiveBackToHomePolish()) { shouldOverrideToFastAnimation |= mLauncher.getPredictiveBackToHomeInProgress(); } - boolean isPinnedTaskbar = - mControllers.taskbarActivityContext.isPinnedTaskbar(); - if (isVisible || isPinnedTaskbar) { - return getTaskbarToHomeDuration(shouldOverrideToFastAnimation, isPinnedTaskbar); + + boolean isPinned = mControllers.taskbarActivityContext.isPinnedTaskbar(); + if (isVisible || isPinned) { + return getTaskbarToHomeDuration(shouldOverrideToFastAnimation, isPinned); } else { - return mControllers.taskbarActivityContext.isTransientTaskbar() + return (mControllers.taskbarActivityContext.isTransientTaskbar()) ? TRANSIENT_TASKBAR_TRANSITION_DURATION : TASKBAR_TO_APP_DURATION; } } @@ -239,7 +265,7 @@ public class LauncherTaskbarUIController extends TaskbarUIController { // Launcher is resumed during the swipe-to-overview gesture under shell-transitions, so // avoid updating taskbar state in that situation (when it's non-interactive -- or // "background") to avoid premature animations. - LauncherState state = mLauncher.getStateManager().getState(); + LauncherState state = mTaskbarLauncherStateController.getLauncherState(); boolean nonInteractiveState = state.hasFlag(FLAG_NON_INTERACTIVE) && !state.isTaskbarAlignedWithHotseat(mLauncher); if (isVisible && (nonInteractiveState || mSkipLauncherVisibilityChange)) { @@ -295,13 +321,16 @@ public class LauncherTaskbarUIController extends TaskbarUIController { /** * Create Taskbar animation when going from an app to Launcher as part of recents transition. - * @param toState If known, the state we will end up in when reaching Launcher. - * @param callbacks callbacks to track the recents animation lifecycle. The state change is - * automatically reset once the recents animation finishes + * {@inheritDoc} */ - public Animator createAnimToLauncher(@NonNull LauncherState toState, - @NonNull RecentsAnimationCallbacks callbacks, long duration) { - return mTaskbarLauncherStateController.createAnimToLauncher(toState, callbacks, duration); + @Override + public Animator getParallelAnimationToGestureEndTarget( + GestureState.GestureEndTarget gestureEndTarget, long duration, + RecentsAnimationCallbacks callbacks) { + return mTaskbarLauncherStateController.createAnimToLauncher( + LauncherActivityInterface.INSTANCE.stateFromGestureEndTarget(gestureEndTarget), + callbacks, + duration); } /** @@ -508,7 +537,7 @@ public class LauncherTaskbarUIController extends TaskbarUIController { @Override public RecentsView getRecentsView() { - return mLauncher.getOverviewPanel(); + return mRecentsViewContainer.getOverviewPanel(); } @Override @@ -537,6 +566,7 @@ public class LauncherTaskbarUIController extends TaskbarUIController { "WIDGETS_PAGE_PROGRESS_INDEX", "SYSUI_SURFACE_PROGRESS_INDEX", "LAUNCHER_PAUSE_PROGRESS_INDEX"); + pw.println(String.format("%s\tmRecentsWindowContainer=%s", prefix, mRecentsViewContainer)); mTaskbarLauncherStateController.dumpLogs(prefix + "\t", pw); } diff --git a/quickstep/src/com/android/launcher3/taskbar/NavbarButtonsViewController.java b/quickstep/src/com/android/launcher3/taskbar/NavbarButtonsViewController.java index 7d2dc71961..f03b7d147b 100644 --- a/quickstep/src/com/android/launcher3/taskbar/NavbarButtonsViewController.java +++ b/quickstep/src/com/android/launcher3/taskbar/NavbarButtonsViewController.java @@ -72,6 +72,7 @@ import android.graphics.drawable.Drawable; import android.graphics.drawable.PaintDrawable; import android.graphics.drawable.RotateDrawable; import android.inputmethodservice.InputMethodService; +import android.os.Bundle; import android.os.Handler; import android.os.SystemProperties; import android.util.Property; @@ -84,6 +85,7 @@ import android.view.View.OnAttachStateChangeListener; import android.view.ViewGroup; import android.view.ViewTreeObserver; import android.view.WindowManager; +import android.view.accessibility.AccessibilityNodeInfo; import android.view.inputmethod.Flags; import android.widget.FrameLayout; import android.widget.ImageView; @@ -682,12 +684,16 @@ public class NavbarButtonsViewController implements TaskbarControllers.LoggableT /** * Sets the AccessibilityDelegate for the back button. + * + * When setting a back button accessibility delegate, make sure to not dispatch any duplicate + * click events. Click events get injected in the internal accessibility delegate in + * {@link #setupBackButtonAccessibility(View, AccessibilityDelegate)}. */ public void setBackButtonAccessibilityDelegate(AccessibilityDelegate accessibilityDelegate) { if (mBackButton == null) { return; } - mBackButton.setAccessibilityDelegate(accessibilityDelegate); + setupBackButtonAccessibility(mBackButton, accessibilityDelegate); } public void setWallpaperVisible(boolean isVisible) { @@ -879,6 +885,7 @@ public class NavbarButtonsViewController implements TaskbarControllers.LoggableT navButtonController.getButtonContentDescription(buttonType))); if (predictiveBackThreeButtonNav() && buttonType == BUTTON_BACK) { // set up special touch listener for back button to support predictive back + setupBackButtonAccessibility(buttonView, null); setBackButtonTouchListener(buttonView, navButtonController); // Set this View clickable, so that NearestTouchFrame.java forwards closeby touches to // this View @@ -892,6 +899,28 @@ public class NavbarButtonsViewController implements TaskbarControllers.LoggableT return buttonView; } + private void setupBackButtonAccessibility(View backButton, + AccessibilityDelegate accessibilityDelegate) { + View.AccessibilityDelegate backButtonAccessibilityDelegate = + new View.AccessibilityDelegate() { + @Override + public boolean performAccessibilityAction(View host, int action, Bundle args) { + if (accessibilityDelegate != null) { + accessibilityDelegate.performAccessibilityAction(host, action, args); + } + if (action == AccessibilityNodeInfo.ACTION_CLICK) { + mControllers.navButtonController.sendBackKeyEvent(KeyEvent.ACTION_DOWN, + /*cancelled*/ false); + mControllers.navButtonController.sendBackKeyEvent(KeyEvent.ACTION_UP, + /*cancelled*/ false); + return true; + } + return super.performAccessibilityAction(host, action, args); + } + }; + backButton.setAccessibilityDelegate(backButtonAccessibilityDelegate); + } + private void setBackButtonTouchListener(View buttonView, TaskbarNavButtonController navButtonController) { final RectF rect = new RectF(); diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarActivityContext.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarActivityContext.java index 66887d0bfc..fc93d4a0ab 100644 --- a/quickstep/src/com/android/launcher3/taskbar/TaskbarActivityContext.java +++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarActivityContext.java @@ -1593,8 +1593,7 @@ public class TaskbarActivityContext extends BaseTaskbarContext { } else if (tag instanceof AppInfo) { // Tapping an item in AllApps AppInfo info = (AppInfo) tag; - if (recents != null - && taskbarUIController.getRecentsView().isSplitSelectionActive()) { + if (recents != null && recents.isSplitSelectionActive()) { // If we are selecting a second app for split, launch the split tasks taskbarUIController.triggerSecondAppForSplit(info, info.intent, view); } else { diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarDragController.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarDragController.java index 142f458b3b..4b977e0d23 100644 --- a/quickstep/src/com/android/launcher3/taskbar/TaskbarDragController.java +++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarDragController.java @@ -510,6 +510,8 @@ public class TaskbarDragController extends DragController<BaseTaskbarContext> im } else { // This will take care of calling maybeOnDragEnd() after the animation animateGlobalDragViewToOriginalPosition(btv, dragEvent); + //TODO(b/399678274): hide drop target in shell + notifyBubbleBarItemDragCanceled(); } mActivity.getDragLayer().setOnDragListener(null); @@ -536,10 +538,10 @@ public class TaskbarDragController extends DragController<BaseTaskbarContext> im mControllers.taskbarAutohideSuspendController.updateFlag( TaskbarAutohideSuspendController.FLAG_AUTOHIDE_SUSPEND_DRAGGING, false); mActivity.onDragEnd(); + // If an item is dropped on the bubble bar, the bubble bar handles the drop, + // so it should not collapse along with the taskbar. + boolean droppedOnBubbleBar = notifyBubbleBarItemDropped(); if (mReturnAnimator == null) { - // If an item is dropped on the bubble bar, the bubble bar handles the drop, - // so it should not collapse along with the taskbar. - boolean droppedOnBubbleBar = notifyBubbleBarItemDropped(); // Upon successful drag, immediately stash taskbar. // Note, this must be done last to ensure no AutohideSuspendFlags are active, as // that will prevent us from stashing until the timeout. @@ -563,12 +565,17 @@ public class TaskbarDragController extends DragController<BaseTaskbarContext> im BubbleBarViewController bubbleBarViewController = bc.bubbleBarViewController; boolean showingDropTarget = bubbleBarViewController.isShowingDropTarget(); if (showingDropTarget) { - bubbleBarViewController.onItemDroppedInBubbleBarDragZone(); + bubbleBarViewController.onItemDragCompleted(); } return showingDropTarget; }).orElse(false); } + private void notifyBubbleBarItemDragCanceled() { + mControllers.bubbleControllers.ifPresent(bc -> + bc.bubbleBarViewController.onItemDraggedOutsideBubbleBarDropZone()); + } + @Override protected void endDrag() { if (mDisallowGlobalDrag && !mIsDropHandledByDropTarget) { diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarLauncherStateController.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarLauncherStateController.java index 98415d1a71..77c3e0a41c 100644 --- a/quickstep/src/com/android/launcher3/taskbar/TaskbarLauncherStateController.java +++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarLauncherStateController.java @@ -33,6 +33,7 @@ import static com.android.launcher3.taskbar.bubbles.BubbleBarView.FADE_IN_ANIM_A import static com.android.launcher3.taskbar.bubbles.BubbleBarView.FADE_OUT_ANIM_POSITION_DURATION_MS; import static com.android.launcher3.util.FlagDebugUtils.appendFlag; import static com.android.launcher3.util.FlagDebugUtils.formatFlagChange; +import static com.android.quickstep.fallback.RecentsStateUtilsKt.toLauncherState; import static com.android.quickstep.util.SystemUiFlagUtils.isTaskbarHidden; import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_AWAKE; @@ -63,6 +64,10 @@ import com.android.launcher3.uioverrides.QuickstepLauncher; import com.android.launcher3.util.MultiPropertyFactory.MultiProperty; import com.android.quickstep.RecentsAnimationCallbacks; import com.android.quickstep.RecentsAnimationController; +import com.android.quickstep.fallback.RecentsState; +import com.android.quickstep.fallback.window.RecentsDisplayModel; +import com.android.quickstep.fallback.window.RecentsWindowFlags; +import com.android.quickstep.fallback.window.RecentsWindowManager; import com.android.quickstep.util.ScalingWorkspaceRevealAnim; import com.android.quickstep.util.SystemUiFlagUtils; import com.android.quickstep.views.RecentsView; @@ -74,6 +79,7 @@ import com.android.wm.shell.shared.bubbles.BubbleBarLocation; import java.io.PrintWriter; import java.util.HashMap; import java.util.StringJoiner; +import java.util.function.Consumer; /** * Track LauncherState, RecentsAnimation, resumed state for task bar in one place here and animate @@ -209,7 +215,7 @@ public class TaskbarLauncherStateController { }; private final StateManager.StateListener<LauncherState> mStateListener = - new StateManager.StateListener<LauncherState>() { + new StateManager.StateListener<>() { @Override public void onStateTransitionStart(LauncherState toState) { @@ -243,6 +249,20 @@ public class TaskbarLauncherStateController { } }; + private final StateManager.StateListener<RecentsState> mRecentsStateListener = + new StateManager.StateListener<>() { + + @Override + public void onStateTransitionStart(RecentsState toState) { + mStateListener.onStateTransitionStart(toLauncherState(toState)); + } + + @Override + public void onStateTransitionComplete(RecentsState finalState) { + mStateListener.onStateTransitionComplete(toLauncherState(finalState)); + } + }; + /** * Callback for when launcher state transition completes after user swipes to home. * @param finalState The final state of the transition. @@ -278,6 +298,8 @@ public class TaskbarLauncherStateController { if (!mControllers.taskbarActivityContext.isPhoneMode()) { mLauncher.getStateManager().addStateListener(mStateListener); + runForRecentsWindowManager(recentsWindowManager -> + recentsWindowManager.getStateManager().addStateListener(mRecentsStateListener)); } mLauncherState = launcher.getStateManager().getState(); updateStateForSysuiFlags(sysuiStateFlags, /*applyState*/ false); @@ -302,6 +324,8 @@ public class TaskbarLauncherStateController { mLauncher.getHotseat().setIconsAlpha(1f, ALPHA_CHANNEL_TASKBAR_ALIGNMENT); mLauncher.getStateManager().removeStateListener(mStateListener); + runForRecentsWindowManager(recentsWindowManager -> + recentsWindowManager.getStateManager().removeStateListener(mRecentsStateListener)); mCanSyncViews = !mControllers.taskbarActivityContext.isPhoneMode(); mLauncher.removeOnDeviceProfileChangeListener(mOnDeviceProfileChangeListener); @@ -340,12 +364,15 @@ public class TaskbarLauncherStateController { } mTaskBarRecentsAnimationListener = new TaskBarRecentsAnimationListener(callbacks); callbacks.addListener(mTaskBarRecentsAnimationListener); - ((RecentsView) mLauncher.getOverviewPanel()).setTaskLaunchListener(() -> - mTaskBarRecentsAnimationListener.endGestureStateOverride(true, false /*canceled*/)); + RecentsView recentsView = mControllers.uiController.getRecentsView(); + if (recentsView != null) { + recentsView.setTaskLaunchListener(() -> mTaskBarRecentsAnimationListener + .endGestureStateOverride(true, false /*canceled*/)); + recentsView.setTaskLaunchCancelledRunnable(() -> { + updateStateForUserFinishedToApp(false /* finishedToApp */); + }); + } - ((RecentsView) mLauncher.getOverviewPanel()).setTaskLaunchCancelledRunnable(() -> { - updateStateForUserFinishedToApp(false /* finishedToApp */); - }); return animatorSet; } @@ -823,6 +850,15 @@ public class TaskbarLauncherStateController { return mLauncherState.isRecentsViewVisible; } + /** + * Returns the current mLauncherState. Note that this could represent RecentsState as well, as + * we convert those to equivalent LauncherStates even if Launcher Activity is not actually in + * those states (for the case where the state is represented in a separate Window instead). + */ + public LauncherState getLauncherState() { + return mLauncherState; + } + private void playStateTransitionAnim(AnimatorSet animatorSet, long duration, boolean committed) { boolean isInStashedState = mLauncherState.isTaskbarStashed(mLauncher); @@ -1060,7 +1096,10 @@ public class TaskbarLauncherStateController { boolean canceled) { mCallbacks.removeListener(this); mTaskBarRecentsAnimationListener = null; - ((RecentsView) mLauncher.getOverviewPanel()).setTaskLaunchListener(null); + RecentsView recentsView = mControllers.uiController.getRecentsView(); + if (recentsView != null) { + recentsView.setTaskLaunchListener(null); + } if (mSkipNextRecentsAnimEnd && !canceled) { mSkipNextRecentsAnimEnd = false; @@ -1099,6 +1138,20 @@ public class TaskbarLauncherStateController { controller.applyState(); } + /** + * Helper function to run a callback on the RecentsWindowManager (if it exists). + */ + private void runForRecentsWindowManager(Consumer<RecentsWindowManager> callback) { + if (RecentsWindowFlags.getEnableOverviewInWindow()) { + final TaskbarActivityContext taskbarContext = mControllers.taskbarActivityContext; + RecentsWindowManager recentsWindowManager = RecentsDisplayModel.getINSTANCE() + .get(taskbarContext).getRecentsWindowManager(taskbarContext.getDisplayId()); + if (recentsWindowManager != null) { + callback.accept(recentsWindowManager); + } + } + } + private static String getStateString(int flags) { StringJoiner result = new StringJoiner("|"); appendFlag(result, flags, FLAG_VISIBLE, "flag_visible"); diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarManager.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarManager.java index 1521715ce0..ebff620159 100644 --- a/quickstep/src/com/android/launcher3/taskbar/TaskbarManager.java +++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarManager.java @@ -17,8 +17,8 @@ package com.android.launcher3.taskbar; import static android.content.Context.RECEIVER_EXPORTED; import static android.content.Context.RECEIVER_NOT_EXPORTED; -import static android.content.pm.PackageManager.FEATURE_PC; import static android.content.pm.PackageManager.FEATURE_FREEFORM_WINDOW_MANAGEMENT; +import static android.content.pm.PackageManager.FEATURE_PC; import static android.view.WindowManager.LayoutParams.TYPE_NAVIGATION_BAR; import static android.view.WindowManager.LayoutParams.TYPE_NAVIGATION_BAR_PANEL; @@ -82,6 +82,8 @@ import com.android.launcher3.util.SettingsCache; import com.android.launcher3.util.SimpleBroadcastReceiver; import com.android.quickstep.AllAppsActionManager; import com.android.quickstep.RecentsActivity; +import com.android.quickstep.SystemDecorationChangeObserver; +import com.android.quickstep.SystemDecorationChangeObserver.DisplayDecorationListener; import com.android.quickstep.SystemUiProxy; import com.android.quickstep.fallback.window.RecentsDisplayModel; import com.android.quickstep.fallback.window.RecentsWindowFlags; @@ -107,7 +109,7 @@ import java.util.StringJoiner; /** * Class to manage taskbar lifecycle */ -public class TaskbarManager { +public class TaskbarManager implements DisplayDecorationListener { private static final String TAG = "TaskbarManager"; private static final boolean DEBUG = false; private static final int TASKBAR_DESTROY_DURATION = 100; @@ -454,6 +456,8 @@ public class TaskbarManager { .register(USER_SETUP_COMPLETE_URI, mOnSettingsChangeListener); SettingsCache.INSTANCE.get(mPrimaryWindowContext) .register(NAV_BAR_KIDS_MODE, mOnSettingsChangeListener); + SystemDecorationChangeObserver.getINSTANCE().get(mPrimaryWindowContext) + .registerDisplayDecorationListener(this); mShutdownReceiver = new SimpleBroadcastReceiver( mPrimaryWindowContext, UI_HELPER_EXECUTOR, i -> destroyAllTaskbars()); @@ -697,7 +701,9 @@ public class TaskbarManager { private TaskbarUIController createTaskbarUIControllerForRecentsViewContainer( RecentsViewContainer container) { debugPrimaryTaskbar("createTaskbarUIControllerForRecentsViewContainer"); - if (container instanceof QuickstepLauncher quickstepLauncher) { + if (mActivity instanceof QuickstepLauncher quickstepLauncher) { + // If 1P Launcher is default, always use LauncherTaskbarUIController, regardless of + // whether the recents container is NexusLauncherActivity or RecentsWindowManager. return new LauncherTaskbarUIController(quickstepLauncher); } // If a 3P Launcher is default, always use FallbackTaskbarUIController regardless of @@ -955,6 +961,7 @@ public class TaskbarManager { * Signal from SysUI indicating that a non-mirroring display was just connected to the * primary device or a previously mirroring display is switched to extended mode. */ + @Override public void onDisplayAddSystemDecorations(int displayId) { debugTaskbarManager("onDisplayAddSystemDecorations: ", displayId); Display display = getDisplay(displayId); @@ -1018,6 +1025,7 @@ public class TaskbarManager { * Signal from SysUI indicating that a previously connected non-mirroring display was just * removed from the primary device. */ + @Override public void onDisplayRemoved(int displayId) { debugTaskbarManager("onDisplayRemoved: ", displayId); if (!DesktopExperienceFlags.ENABLE_TASKBAR_CONNECTED_DISPLAYS.isTrue() || isDefaultDisplay( @@ -1057,6 +1065,7 @@ public class TaskbarManager { /** * Signal from SysUI indicating that system decorations should be removed from the display. */ + @Override public void onDisplayRemoveSystemDecorations(int displayId) { // The display mirroring starts. The handling logic is the same as when removing a // display. @@ -1100,6 +1109,8 @@ public class TaskbarManager { .unregister(USER_SETUP_COMPLETE_URI, mOnSettingsChangeListener); SettingsCache.INSTANCE.get(mPrimaryWindowContext) .unregister(NAV_BAR_KIDS_MODE, mOnSettingsChangeListener); + SystemDecorationChangeObserver.getINSTANCE().get(mPrimaryWindowContext) + .unregisterDisplayDecorationListener(this); debugPrimaryTaskbar("destroy: unregistering component callbacks"); removeAndUnregisterComponentCallbacks(getDefaultDisplayId()); mShutdownReceiver.unregisterReceiverSafely(); diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarUIController.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarUIController.java index 061a5a127e..b567871b92 100644 --- a/quickstep/src/com/android/launcher3/taskbar/TaskbarUIController.java +++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarUIController.java @@ -21,6 +21,7 @@ import static com.android.launcher3.LauncherSettings.Favorites.CONTAINER_HOTSEAT import static com.android.launcher3.LauncherSettings.Favorites.CONTAINER_HOTSEAT_PREDICTION; import static com.android.launcher3.taskbar.TaskbarStashController.FLAG_IN_APP; +import android.animation.Animator; import android.content.Intent; import android.graphics.drawable.BitmapDrawable; import android.view.MotionEvent; @@ -38,6 +39,8 @@ import com.android.launcher3.model.data.ItemInfoWithIcon; import com.android.launcher3.popup.SystemShortcut; import com.android.launcher3.taskbar.bubbles.BubbleBarController; import com.android.launcher3.util.SplitConfigurationOptions; +import com.android.quickstep.GestureState; +import com.android.quickstep.RecentsAnimationCallbacks; import com.android.quickstep.util.SplitTask; import com.android.quickstep.views.RecentsView; import com.android.quickstep.views.TaskContainer; @@ -455,4 +458,18 @@ public class TaskbarUIController implements BubbleBarController.BubbleBarLocatio */ public void onSwipeToUnstashTaskbar() { } + + /** + * Called at the end of a gesture (see {@link GestureState.GestureEndTarget}). + * @param endTarget Where the gesture animation is going to. + * @param callbacks callbacks to track the recents animation lifecycle. The state change is + * automatically reset once the recents animation finishes + * @return An optional Animator to play in parallel with the default gesture end animation. + */ + public @Nullable Animator getParallelAnimationToGestureEndTarget( + GestureState.GestureEndTarget endTarget, + long duration, + RecentsAnimationCallbacks callbacks) { + return null; + } } diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarViewCallbacksFactory.kt b/quickstep/src/com/android/launcher3/taskbar/TaskbarViewCallbacksFactory.kt index 17da5336f4..6e948894c2 100644 --- a/quickstep/src/com/android/launcher3/taskbar/TaskbarViewCallbacksFactory.kt +++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarViewCallbacksFactory.kt @@ -42,7 +42,8 @@ open class TaskbarViewCallbacksFactory : ResourceBasedOverride { if (contextualSearchInvoked) { val runningPackage = TopTaskTracker.INSTANCE[activity].getCachedTopTask( - /* filterOnlyVisibleRecents */ true + /* filterOnlyVisibleRecents */ true, + activity.display.displayId, ) .getPackageName() activity.statsLogManager diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarViewController.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarViewController.java index 1d5730d1c7..f15ef8c52c 100644 --- a/quickstep/src/com/android/launcher3/taskbar/TaskbarViewController.java +++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarViewController.java @@ -495,7 +495,8 @@ public class TaskbarViewController implements TaskbarControllers.LoggableTaskbar View[] iconViews = mTaskbarView.getIconViews(); float finalScale; - if (mControllers.getSharedState().startTaskbarVariantIsTransient) { + TaskbarSharedState sharedState = mControllers.getSharedState(); + if (sharedState != null || mControllers.getSharedState().startTaskbarVariantIsTransient) { finalScale = mapRange(scale, 1f, ((float) mPersistentIconSize / mTransientIconSize)); } else { finalScale = mapRange(scale, ((float) mTransientIconSize / mPersistentIconSize), 1f); diff --git a/quickstep/src/com/android/launcher3/taskbar/bubbles/BubbleBarView.java b/quickstep/src/com/android/launcher3/taskbar/bubbles/BubbleBarView.java index 1abef8a63f..6380c2371b 100644 --- a/quickstep/src/com/android/launcher3/taskbar/bubbles/BubbleBarView.java +++ b/quickstep/src/com/android/launcher3/taskbar/bubbles/BubbleBarView.java @@ -18,6 +18,7 @@ package com.android.launcher3.taskbar.bubbles; import static com.android.launcher3.LauncherAnimUtils.VIEW_ALPHA; import android.animation.Animator; +import android.animation.AnimatorListenerAdapter; import android.animation.ObjectAnimator; import android.animation.ValueAnimator; import android.annotation.NonNull; @@ -560,30 +561,52 @@ public class BubbleBarView extends FrameLayout { // First animator hides the bar. // After it completes, bubble positions in the bar and arrow position is updated. // Second animator is started to show the bar. - ObjectAnimator alphaOutAnim = ObjectAnimator.ofFloat( - this, getLocationAnimAlphaProperty(), 0f); - mBubbleBarLocationAnimator = BarsLocationAnimatorHelper.getBubbleBarLocationOutAnimator( - this, - bubbleBarLocation, - alphaOutAnim); + mBubbleBarLocationAnimator = animateToBubbleBarLocationOut(bubbleBarLocation); mBubbleBarLocationAnimator.addListener(AnimatorListeners.forEndCallback(() -> { - updateBubblesLayoutProperties(bubbleBarLocation); - mBubbleBarBackground.setAnchorLeft(bubbleBarLocation.isOnLeft(isLayoutRtl())); - ObjectAnimator alphaInAnim = ObjectAnimator.ofFloat(BubbleBarView.this, - getLocationAnimAlphaProperty(), 1f); - // Animate it in - mBubbleBarLocationAnimator = BarsLocationAnimatorHelper.getBubbleBarLocationInAnimator( - bubbleBarLocation, - mBubbleBarLocation, - getDistanceFromOtherSide(), - alphaInAnim, - BubbleBarView.this); + mBubbleBarLocationAnimator = animateToBubbleBarLocationIn(mBubbleBarLocation, + bubbleBarLocation); mBubbleBarLocationAnimator.start(); })); mBubbleBarLocationAnimator.start(); } + /** Creates animator for animating bubble bar in. */ + public Animator animateToBubbleBarLocationIn(BubbleBarLocation fromLocation, + BubbleBarLocation toLocation) { + updateBubblesLayoutProperties(toLocation); + mBubbleBarBackground.setAnchorLeft(toLocation.isOnLeft(isLayoutRtl())); + ObjectAnimator alphaInAnim = ObjectAnimator.ofFloat(BubbleBarView.this, + getLocationAnimAlphaProperty(), 1f); + return BarsLocationAnimatorHelper.getBubbleBarLocationInAnimator(toLocation, fromLocation, + getDistanceFromOtherSide(), alphaInAnim, this); + } + + /** + * Creates animator for animating bubble bar out. + * + * @param targetLocation the location bubble br should animate to. + */ + public Animator animateToBubbleBarLocationOut(BubbleBarLocation targetLocation) { + ObjectAnimator alphaOutAnim = ObjectAnimator.ofFloat( + this, getLocationAnimAlphaProperty(), 0f); + Animator outAnimation = BarsLocationAnimatorHelper.getBubbleBarLocationOutAnimator( + this, + targetLocation, + alphaOutAnim); + outAnimation.addListener(new AnimatorListenerAdapter() { + @Override + public void onAnimationEnd(@NonNull Animator animation, boolean isReverse) { + // need to restore the original bar view state in case icon is dropped to the bubble + // bar original location + updateBubblesLayoutProperties(targetLocation); + mBubbleBarBackground.setAnchorLeft(targetLocation.isOnLeft(isLayoutRtl())); + setTranslationX(0f); + } + }); + return outAnimation; + } + /** * Get property that can be used to animate the alpha value for the bar. * When a bubble is being dragged, uses {@link #BUBBLE_DRAG_ALPHA}. diff --git a/quickstep/src/com/android/launcher3/taskbar/bubbles/BubbleBarViewController.java b/quickstep/src/com/android/launcher3/taskbar/bubbles/BubbleBarViewController.java index 9fb283cccf..ce4a14f551 100644 --- a/quickstep/src/com/android/launcher3/taskbar/bubbles/BubbleBarViewController.java +++ b/quickstep/src/com/android/launcher3/taskbar/bubbles/BubbleBarViewController.java @@ -194,9 +194,11 @@ public class BubbleBarViewController { private boolean mHiddenForStashed; private boolean mShouldShowEducation; public boolean mOverflowAdded; - private boolean mIsLocationUpdatedForDropTarget = false; private boolean mWasStashedBeforeEnteringBubbleDragZone = false; + /** This field is used solely to track the bubble bar location prior to the start of the drag */ + private @Nullable BubbleBarLocation mBubbleBarDragLocation; + private BubbleBarViewAnimator mBubbleBarViewAnimator; private final FrameLayout mBubbleBarContainer; private BubbleBarFlyoutController mBubbleBarFlyoutController; @@ -364,7 +366,7 @@ public class BubbleBarViewController { @Override public boolean isOnLeft() { boolean shouldRevertLocation = - mBarView.isShowingDropTarget() && mIsLocationUpdatedForDropTarget; + mBarView.isShowingDropTarget() && isLocationUpdatedForDropTarget(); boolean isOnLeft = mBarView.getBubbleBarLocation().isOnLeft(mBarView.isLayoutRtl()); return shouldRevertLocation != isOnLeft; } @@ -616,6 +618,17 @@ public class BubbleBarViewController { mBarView.animateToBubbleBarLocation(bubbleBarLocation); } + /** Return animator for animating bubble bar in. */ + public Animator animateBubbleBarLocationIn(BubbleBarLocation fromLocation, + BubbleBarLocation toLocation) { + return mBarView.animateToBubbleBarLocationIn(fromLocation, toLocation); + } + + /** Return animator for animating bubble bar out. */ + public Animator animateBubbleBarLocationOut(BubbleBarLocation toLocation) { + return mBarView.animateToBubbleBarLocationOut(toLocation); + } + /** Returns whether the Bubble Bar is currently displaying a drop target. */ public boolean isShowingDropTarget() { return mBarView.isShowingDropTarget(); @@ -628,25 +641,18 @@ public class BubbleBarViewController { * updated. */ public void onDragItemOverBubbleBarDragZone(@NonNull BubbleBarLocation bubbleBarLocation) { - Log.w("BBAnimation", "onDragItemOverBubbleBarDragZone()"); + mBubbleBarDragLocation = bubbleBarLocation; mBarView.showDropTarget(/* isDropTarget = */ true); - boolean isRtl = mBarView.isLayoutRtl(); - mIsLocationUpdatedForDropTarget = getBubbleBarLocation().isOnLeft(isRtl) - != bubbleBarLocation.isOnLeft(isRtl); mWasStashedBeforeEnteringBubbleDragZone = hasBubbles() && mBubbleStashController.isStashed(); if (mWasStashedBeforeEnteringBubbleDragZone) { - if (mIsLocationUpdatedForDropTarget) { - // bubble bar is stashed an location updated - //TODO(b/399678274) add animation - mBubbleStashController.showBubbleBarImmediate(); - animateBubbleBarLocation(bubbleBarLocation); - } else { - // bubble bar is stashed and location the same - just un-stash - mBubbleStashController.showBubbleBar(/* expandBubbles = */ false); - } + // bubble bar is stashed - un-stash at drag location + mBubbleStashController.showBubbleBarAtLocation( + /* fromLocation = */ getBubbleBarLocation(), + /* toLocation = */ mBubbleBarDragLocation + ); } else if (hasBubbles()) { - if (mIsLocationUpdatedForDropTarget) { + if (isLocationUpdatedForDropTarget()) { // bubble bar has bubbles and location is changed - animate bar to the opposite side animateBubbleBarLocation(bubbleBarLocation); } @@ -661,7 +667,12 @@ public class BubbleBarViewController { * {@link #onDragItemOverBubbleBarDragZone}}. */ public boolean isLocationUpdatedForDropTarget() { - return mIsLocationUpdatedForDropTarget; + if (mBubbleBarDragLocation == null) { + return false; + } + boolean isRtl = mBarView.isLayoutRtl(); + return getBubbleBarLocation().isOnLeft(isRtl) + != mBubbleBarDragLocation.isOnLeft(isRtl); } /** @@ -671,39 +682,34 @@ public class BubbleBarViewController { * mode and reset the value returned from {@link #isLocationUpdatedForDropTarget()} to false. */ public void onItemDraggedOutsideBubbleBarDropZone() { - Log.w("BBAnimation", "onItemDraggedOutsideBubbleBarDropZone()"); - mBarView.showDropTarget(/* isDropTarget = */ false); - if (mWasStashedBeforeEnteringBubbleDragZone) { - if (mIsLocationUpdatedForDropTarget) { - // bubble bar was stashed and location updated - //TODO(b/399678274) add animation - animateBubbleBarLocation(getBubbleBarLocation()); - mBubbleStashController.stashBubbleBarImmediate(); - } else { - // bubble bar was stashed and location the same - just stash it back - mBubbleStashController.stashBubbleBar(); - } + if (!isShowingDropTarget()) { + return; + } + if (mWasStashedBeforeEnteringBubbleDragZone && mBubbleBarDragLocation != null) { + // bubble bar was stashed - stash at original location + mBubbleStashController.stashBubbleBarToLocation( + /* fromLocation = */ mBubbleBarDragLocation, + /* toLocation = */ getBubbleBarLocation() + ); } else if (hasBubbles()) { - if (mIsLocationUpdatedForDropTarget) { - // bubble bar has bubbles and location was changed - return to the original location + if (isLocationUpdatedForDropTarget()) { + // bubble bar has bubbles and location was changed - return to the original + // location animateBubbleBarLocation(getBubbleBarLocation()); } } - mBubbleBarPinController.hideDropTarget(); - mIsLocationUpdatedForDropTarget = false; - mWasStashedBeforeEnteringBubbleDragZone = false; + onItemDragCompleted(); } /** * Notifies the controller that the drag has completed over the Bubble Bar drop zone. * The controller will hide the drop target if there are no bubbles and exit drop target mode. */ - public void onItemDroppedInBubbleBarDragZone() { - Log.w("BBAnimation", "onItemDroppedInBubbleBarDragZone()"); + public void onItemDragCompleted() { mBarView.showDropTarget(/* isDropTarget = */ false); mBubbleBarPinController.hideDropTarget(); - mIsLocationUpdatedForDropTarget = false; mWasStashedBeforeEnteringBubbleDragZone = false; + mBubbleBarDragLocation = null; } /** @@ -842,6 +848,7 @@ public class BubbleBarViewController { boolean hiddenForStashedAndNotAnimating = mHiddenForStashed && !mBubbleBarViewAnimator.isAnimating(); if (mHiddenForSysui || mHiddenForNoBubbles || hiddenForStashedAndNotAnimating) { + //TODO(b/404870188) this visibility change cause search view drag misbehavior mBarView.setVisibility(INVISIBLE); } else { mBarView.setVisibility(VISIBLE); diff --git a/quickstep/src/com/android/launcher3/taskbar/bubbles/BubbleStashedHandleViewController.java b/quickstep/src/com/android/launcher3/taskbar/bubbles/BubbleStashedHandleViewController.java index 3640c3b60e..ec540e0088 100644 --- a/quickstep/src/com/android/launcher3/taskbar/bubbles/BubbleStashedHandleViewController.java +++ b/quickstep/src/com/android/launcher3/taskbar/bubbles/BubbleStashedHandleViewController.java @@ -272,6 +272,11 @@ public class BubbleStashedHandleViewController { updateTranslationY(); } + /** Sets translation X for stash handle. */ + public void setTranslationX(float translationX) { + mStashedHandleView.setTranslationX(translationX); + } + private void updateTranslationY() { mStashedHandleView.setTranslationY(mTranslationForSwipeY + mTranslationForStashY); } diff --git a/quickstep/src/com/android/launcher3/taskbar/bubbles/stashing/BubbleStashController.kt b/quickstep/src/com/android/launcher3/taskbar/bubbles/stashing/BubbleStashController.kt index fec1eaf55c..ec272ac873 100644 --- a/quickstep/src/com/android/launcher3/taskbar/bubbles/stashing/BubbleStashController.kt +++ b/quickstep/src/com/android/launcher3/taskbar/bubbles/stashing/BubbleStashController.kt @@ -131,6 +131,12 @@ interface BubbleStashController { */ fun stashBubbleBar() + /** + * Animates the bubble bar to the handle at provided location. Does not update bubble bar + * location. + */ + fun stashBubbleBarToLocation(fromLocation: BubbleBarLocation, toLocation: BubbleBarLocation) {} + /** Shows the bubble bar, and expands bubbles depending on [expandBubbles]. */ fun showBubbleBar(expandBubbles: Boolean) { showBubbleBar(expandBubbles = expandBubbles, bubbleBarGesture = false) @@ -144,6 +150,9 @@ interface BubbleStashController { */ fun showBubbleBar(expandBubbles: Boolean, bubbleBarGesture: Boolean) + /** Animates the bubble bar at the provided location. Does not update bubble bar location. */ + fun showBubbleBarAtLocation(fromLocation: BubbleBarLocation, toLocation: BubbleBarLocation) {} + // TODO(b/354218264): Move to BubbleBarViewAnimator /** * The difference on the Y axis between the center of the handle and the center of the bubble diff --git a/quickstep/src/com/android/launcher3/taskbar/bubbles/stashing/TransientBubbleStashController.kt b/quickstep/src/com/android/launcher3/taskbar/bubbles/stashing/TransientBubbleStashController.kt index 9c148e2191..82bb071bc3 100644 --- a/quickstep/src/com/android/launcher3/taskbar/bubbles/stashing/TransientBubbleStashController.kt +++ b/quickstep/src/com/android/launcher3/taskbar/bubbles/stashing/TransientBubbleStashController.kt @@ -18,6 +18,7 @@ package com.android.launcher3.taskbar.bubbles.stashing import android.animation.Animator import android.animation.AnimatorSet +import android.animation.ValueAnimator import android.content.Context import android.graphics.Rect import android.view.MotionEvent @@ -31,6 +32,12 @@ import com.android.app.animation.Interpolators.LINEAR import com.android.launcher3.R import com.android.launcher3.anim.AnimatedFloat import com.android.launcher3.anim.SpringAnimationBuilder +import com.android.launcher3.taskbar.BarsLocationAnimatorHelper.FADE_IN_ANIM_ALPHA_DURATION_MS +import com.android.launcher3.taskbar.BarsLocationAnimatorHelper.FADE_OUT_ANIM_ALPHA_DELAY_MS +import com.android.launcher3.taskbar.BarsLocationAnimatorHelper.FADE_OUT_ANIM_ALPHA_DURATION_MS +import com.android.launcher3.taskbar.BarsLocationAnimatorHelper.FADE_OUT_ANIM_POSITION_DURATION_MS +import com.android.launcher3.taskbar.BarsLocationAnimatorHelper.inShiftX +import com.android.launcher3.taskbar.BarsLocationAnimatorHelper.outShift import com.android.launcher3.taskbar.TaskbarInsetsController import com.android.launcher3.taskbar.TaskbarStashController.TASKBAR_STASH_ALPHA_START_DELAY import com.android.launcher3.taskbar.TaskbarStashController.TRANSIENT_TASKBAR_STASH_ALPHA_DURATION @@ -44,6 +51,7 @@ import com.android.launcher3.taskbar.bubbles.stashing.BubbleStashController.Task import com.android.launcher3.util.MultiPropertyFactory import com.android.wm.shell.shared.animation.PhysicsAnimator import com.android.wm.shell.shared.bubbles.BubbleBarLocation +import com.android.wm.shell.shared.bubbles.ContextUtils.isRtl import kotlin.math.max class TransientBubbleStashController( @@ -187,6 +195,11 @@ class TransientBubbleStashController( } override fun showBubbleBarImmediate(bubbleBarTranslationY: Float) { + showBubbleBarImmediateVisually(bubbleBarTranslationY) + onIsStashedChanged() + } + + private fun showBubbleBarImmediateVisually(bubbleBarTranslationY: Float) { bubbleStashedHandleViewController?.setTranslationYForSwipe(0f) stashHandleViewAlpha?.value = 0f this.bubbleBarTranslationYAnimator.updateValue(bubbleBarTranslationY) @@ -197,10 +210,14 @@ class TransientBubbleStashController( bubbleBarBackgroundScaleY.updateValue(1f) isStashed = false bubbleBarViewController.setHiddenForStashed(false) - onIsStashedChanged() } override fun stashBubbleBarImmediate() { + stashBubbleBarImmediateVisually() + onIsStashedChanged() + } + + private fun stashBubbleBarImmediateVisually() { bubbleStashedHandleViewController?.setTranslationYForSwipe(0f) stashHandleViewAlpha?.value = 1f this.bubbleBarTranslationYAnimator.updateValue(getStashTranslation()) @@ -212,7 +229,6 @@ class TransientBubbleStashController( bubbleBarBackgroundScaleY.updateValue(getStashScaleY()) isStashed = true bubbleBarViewController.setHiddenForStashed(true) - onIsStashedChanged() } override fun getTouchableHeight(): Int = @@ -247,6 +263,29 @@ class TransientBubbleStashController( updateStashedAndExpandedState(stash = true, expand = false) } + override fun stashBubbleBarToLocation( + fromLocation: BubbleBarLocation, + toLocation: BubbleBarLocation, + ) { + if (fromLocation.isSameSideWith(toLocation)) { + updateStashedAndExpandedState( + stash = true, + expand = false, + updateTouchRegionOnEnd = false, + ) + return + } + cancelAnimation() + animator = + AnimatorSet().apply { + playSequentially( + bubbleBarViewController.animateBubbleBarLocationOut(toLocation), + createHandleInAnimator(location = toLocation), + ) + start() + } + } + override fun showBubbleBar(expandBubbles: Boolean, bubbleBarGesture: Boolean) { updateStashedAndExpandedState( stash = false, @@ -255,6 +294,33 @@ class TransientBubbleStashController( ) } + override fun showBubbleBarAtLocation( + fromLocation: BubbleBarLocation, + toLocation: BubbleBarLocation, + ) { + if (fromLocation.isSameSideWith(toLocation)) { + updateStashedAndExpandedState( + stash = false, + expand = false, + updateTouchRegionOnEnd = false, + ) + return + } + cancelAnimation() + val bubbleBarInAnimation = + bubbleBarViewController.animateBubbleBarLocationIn(fromLocation, toLocation).apply { + doOnStart { showBubbleBarImmediateVisually(bubbleBarTranslationY) } + } + animator = + AnimatorSet().apply { + playSequentially( + createHandleOutAnimator(location = toLocation), + bubbleBarInAnimation, + ) + start() + } + } + override fun getDiffBetweenHandleAndBarCenters(): Float { // the difference between the centers of the handle and the bubble bar is the difference // between their distance from the bottom of the screen. @@ -392,7 +458,7 @@ class TransientBubbleStashController( bubbleBarAlpha.value = 1f } animatorSet.doOnEnd { - animator = null + cancelAnimation() controllersAfterInitAction.runAfterInit { if (isStashed) { bubbleBarAlpha.value = 0f @@ -486,6 +552,7 @@ class TransientBubbleStashController( stash: Boolean, expand: Boolean, bubbleBarGesture: Boolean = false, + updateTouchRegionOnEnd: Boolean = true, ) { if (bubbleBarViewController.isHiddenForNoBubbles) { // If there are no bubbles the bar and handle are invisible, nothing to do here. @@ -498,11 +565,13 @@ class TransientBubbleStashController( // notify the view controller that the stash state is about to change so that it can // cancel an ongoing animation if there is one. bubbleBarViewController.onStashStateChanging() - animator?.cancel() + cancelAnimation() animator = createStashAnimator(isStashed, BAR_STASH_DURATION).apply { updateBarVisibility(isStashed) - updateTouchRegionOnAnimationEnd() + if (updateTouchRegionOnEnd) { + updateTouchRegionOnAnimationEnd() + } start() } } @@ -512,6 +581,11 @@ class TransientBubbleStashController( } } + private fun cancelAnimation() { + animator?.cancel() + animator = null + } + override fun getHandleViewAlpha(): MultiPropertyFactory<View>.MultiProperty? = // only return handle alpha if the bubble bar is stashed and has bubbles if (isStashed && bubbleBarViewController.hasBubbles()) { @@ -534,6 +608,49 @@ class TransientBubbleStashController( return this } + // TODO(b/399678274) add tests + private fun createHandleInAnimator(location: BubbleBarLocation): Animator? { + val stashHandleViewController = bubbleStashedHandleViewController ?: return null + val handleAlpha = stashHandleViewController.stashedHandleAlpha.get(0) + val shift = context.inShiftX + val startX = if (location.isOnLeft(context.isRtl)) shift else -shift + val handleTranslationX = + ValueAnimator.ofFloat(startX, 0f).apply { + addUpdateListener { v -> + stashHandleViewController.setTranslationX(v.animatedValue as Float) + } + duration = FADE_IN_ANIM_ALPHA_DURATION_MS + } + val handleAlphaAnimation = + handleAlpha.animateToValue(1f).apply { duration = FADE_IN_ANIM_ALPHA_DURATION_MS } + return AnimatorSet().apply { + playTogether(handleTranslationX, handleAlphaAnimation) + doOnStart { stashBubbleBarImmediateVisually() } + } + } + + private fun createHandleOutAnimator(location: BubbleBarLocation): Animator? { + val stashHandleViewController = bubbleStashedHandleViewController ?: return null + val handleAlpha = stashHandleViewController.stashedHandleAlpha.get(0) + val shift = context.outShift + val endX = if (location.isOnLeft(context.isRtl)) -shift else shift + val handleTranslationX = + ValueAnimator.ofFloat(0f, endX).apply { + addUpdateListener { v -> + stashHandleViewController.setTranslationX(v.animatedValue as Float) + } + duration = FADE_OUT_ANIM_POSITION_DURATION_MS + // in case item dropped to the opposite side - need to clear translation + doOnEnd { stashHandleViewController.setTranslationX(0f) } + } + val handleAlphaAnimation = + handleAlpha.animateToValue(0f).apply { + duration = FADE_OUT_ANIM_ALPHA_DURATION_MS + startDelay = FADE_OUT_ANIM_ALPHA_DELAY_MS + } + return AnimatorSet().apply { playTogether(handleTranslationX, handleAlphaAnimation) } + } + private fun Animator.setBubbleBarPivotDuringAnim(pivotX: Float, pivotY: Float): Animator { var initialPivotX = Float.NaN var initialPivotY = Float.NaN @@ -549,4 +666,9 @@ class TransientBubbleStashController( } return this } + + private fun BubbleBarLocation.isSameSideWith(anotherLocation: BubbleBarLocation): Boolean { + val isRtl = context.isRtl + return this.isOnLeft(isRtl) == anotherLocation.isOnLeft(isRtl) + } } diff --git a/quickstep/src/com/android/launcher3/uioverrides/touchcontrollers/TaskViewDismissTouchController.kt b/quickstep/src/com/android/launcher3/uioverrides/touchcontrollers/TaskViewDismissTouchController.kt index 76eb138ed6..eac5235dda 100644 --- a/quickstep/src/com/android/launcher3/uioverrides/touchcontrollers/TaskViewDismissTouchController.kt +++ b/quickstep/src/com/android/launcher3/uioverrides/touchcontrollers/TaskViewDismissTouchController.kt @@ -212,10 +212,6 @@ CONTAINER : RecentsViewContainer { val currentDisplacement = taskBeingDragged.secondaryDismissTranslationProperty.get(taskBeingDragged) - if (currentDisplacement == 0f) { - clearState() - return - } val isBeyondDismissThreshold = abs(currentDisplacement) > abs(DISMISS_THRESHOLD_FRACTION * dismissLength) val velocityIsGoingUp = recentsView.pagedOrientationHandler.isGoingUp(velocity, isRtl) @@ -229,7 +225,6 @@ CONTAINER : RecentsViewContainer { taskBeingDragged, velocity, isDismissing, - detector, dismissLength, this::clearState, ) diff --git a/quickstep/src/com/android/quickstep/AbsSwipeUpHandler.java b/quickstep/src/com/android/quickstep/AbsSwipeUpHandler.java index 168b856b25..47aa1de646 100644 --- a/quickstep/src/com/android/quickstep/AbsSwipeUpHandler.java +++ b/quickstep/src/com/android/quickstep/AbsSwipeUpHandler.java @@ -1614,7 +1614,7 @@ public abstract class AbsSwipeUpHandler< TaskStackChangeListeners.getInstance().registerTaskStackListener( mActivityRestartListener); - mParallelRunningAnim = mContainerInterface.getParallelAnimationToLauncher( + mParallelRunningAnim = mContainerInterface.getParallelAnimationToGestureEndTarget( mGestureState.getEndTarget(), duration, mTaskAnimationManager.getCurrentCallbacks()); if (mParallelRunningAnim != null) { diff --git a/quickstep/src/com/android/quickstep/BaseContainerInterface.java b/quickstep/src/com/android/quickstep/BaseContainerInterface.java index c64067aa58..244dfc3971 100644 --- a/quickstep/src/com/android/quickstep/BaseContainerInterface.java +++ b/quickstep/src/com/android/quickstep/BaseContainerInterface.java @@ -182,7 +182,7 @@ public abstract class BaseContainerInterface<STATE_TYPE extends BaseState<STATE_ * Called when the gesture ends and the animation starts towards the given target. Used to add * an optional additional animation with the same duration. */ - public @Nullable Animator getParallelAnimationToLauncher( + public @Nullable Animator getParallelAnimationToGestureEndTarget( GestureState.GestureEndTarget endTarget, long duration, RecentsAnimationCallbacks callbacks) { if (endTarget == RECENTS) { diff --git a/quickstep/src/com/android/quickstep/DisplayModel.kt b/quickstep/src/com/android/quickstep/DisplayModel.kt index 3de6fd05ed..0b8af4045b 100644 --- a/quickstep/src/com/android/quickstep/DisplayModel.kt +++ b/quickstep/src/com/android/quickstep/DisplayModel.kt @@ -23,10 +23,13 @@ import android.util.SparseArray import android.view.Display import androidx.core.util.valueIterator import com.android.quickstep.DisplayModel.DisplayResource +import com.android.quickstep.SystemDecorationChangeObserver.Companion.INSTANCE +import com.android.quickstep.SystemDecorationChangeObserver.DisplayDecorationListener import java.io.PrintWriter /** data model for managing resources with lifecycles that match that of the connected display */ -abstract class DisplayModel<RESOURCE_TYPE : DisplayResource>(val context: Context) { +abstract class DisplayModel<RESOURCE_TYPE : DisplayResource>(val context: Context) : + DisplayDecorationListener { companion object { private const val TAG = "DisplayModel" @@ -34,19 +37,20 @@ abstract class DisplayModel<RESOURCE_TYPE : DisplayResource>(val context: Contex } private val displayManager = context.getSystemService(Context.DISPLAY_SERVICE) as DisplayManager + private var systemDecorationChangeObserver: SystemDecorationChangeObserver? = null protected val displayResourceArray = SparseArray<RESOURCE_TYPE>() - fun onDisplayAddSystemDecorations(displayId: Int) { + override fun onDisplayAddSystemDecorations(displayId: Int) { if (DEBUG) Log.d(TAG, "onDisplayAdded: displayId=$displayId") storeDisplayResource(displayId) } - fun onDisplayRemoved(displayId: Int) { + override fun onDisplayRemoved(displayId: Int) { if (DEBUG) Log.d(TAG, "onDisplayRemoved: displayId=$displayId") deleteDisplayResource(displayId) } - fun onDisplayRemoveSystemDecorations(displayId: Int) { + override fun onDisplayRemoveSystemDecorations(displayId: Int) { if (DEBUG) Log.d(TAG, "onDisplayRemoveSystemDecorations: displayId=$displayId") deleteDisplayResource(displayId) } @@ -54,12 +58,16 @@ abstract class DisplayModel<RESOURCE_TYPE : DisplayResource>(val context: Contex protected abstract fun createDisplayResource(display: Display): RESOURCE_TYPE protected fun initializeDisplays() { + systemDecorationChangeObserver = INSTANCE[context] + systemDecorationChangeObserver?.registerDisplayDecorationListener(this) displayManager.displays .filter { getDisplayResource(it.displayId) == null } .forEach { storeDisplayResource(it.displayId) } } fun destroy() { + systemDecorationChangeObserver?.unregisterDisplayDecorationListener(this) + systemDecorationChangeObserver = null displayResourceArray.valueIterator().forEach { displayResource -> displayResource.cleanup() } diff --git a/quickstep/src/com/android/quickstep/FallbackActivityInterface.java b/quickstep/src/com/android/quickstep/FallbackActivityInterface.java index d8e0296a68..7654471555 100644 --- a/quickstep/src/com/android/quickstep/FallbackActivityInterface.java +++ b/quickstep/src/com/android/quickstep/FallbackActivityInterface.java @@ -203,16 +203,16 @@ public final class FallbackActivityInterface extends } @Override - public @Nullable Animator getParallelAnimationToLauncher(GestureEndTarget endTarget, + public @Nullable Animator getParallelAnimationToGestureEndTarget(GestureEndTarget endTarget, long duration, RecentsAnimationCallbacks callbacks) { FallbackTaskbarUIController uiController = getTaskbarController(); - Animator superAnimator = super.getParallelAnimationToLauncher( + Animator superAnimator = super.getParallelAnimationToGestureEndTarget( endTarget, duration, callbacks); if (uiController == null) { return superAnimator; } - RecentsState toState = stateFromGestureEndTarget(endTarget); - Animator taskbarAnimator = uiController.createAnimToRecentsState(toState, duration); + Animator taskbarAnimator = uiController.getParallelAnimationToGestureEndTarget( + endTarget, duration, callbacks); if (taskbarAnimator == null) { return superAnimator; } diff --git a/quickstep/src/com/android/quickstep/FallbackWindowInterface.java b/quickstep/src/com/android/quickstep/FallbackWindowInterface.java index 35630ef57f..503f047e4f 100644 --- a/quickstep/src/com/android/quickstep/FallbackWindowInterface.java +++ b/quickstep/src/com/android/quickstep/FallbackWindowInterface.java @@ -31,7 +31,7 @@ import androidx.annotation.Nullable; import com.android.launcher3.DeviceProfile; import com.android.launcher3.statemanager.StateManager; -import com.android.launcher3.taskbar.FallbackTaskbarUIController; +import com.android.launcher3.taskbar.TaskbarUIController; import com.android.launcher3.util.DisplayController; import com.android.quickstep.GestureState.GestureEndTarget; import com.android.quickstep.fallback.RecentsState; @@ -104,14 +104,9 @@ public final class FallbackWindowInterface extends BaseWindowInterface{ } @Override - public FallbackTaskbarUIController getTaskbarController() { + public TaskbarUIController getTaskbarController() { RecentsWindowManager manager = getCreatedContainer(); - if (manager == null) { - return null; - } - return null; - // todo b/365775636: pass a taskbar implementation - // return manager.getTaskbarUIController(); + return manager == null ? null : manager.getTaskbarUIController(); } @Override @@ -213,16 +208,16 @@ public final class FallbackWindowInterface extends BaseWindowInterface{ } @Override - public @Nullable Animator getParallelAnimationToLauncher(GestureEndTarget endTarget, + public @Nullable Animator getParallelAnimationToGestureEndTarget(GestureEndTarget endTarget, long duration, RecentsAnimationCallbacks callbacks) { - FallbackTaskbarUIController uiController = getTaskbarController(); - Animator superAnimator = super.getParallelAnimationToLauncher( + TaskbarUIController uiController = getTaskbarController(); + Animator superAnimator = super.getParallelAnimationToGestureEndTarget( endTarget, duration, callbacks); if (uiController == null) { return superAnimator; } - RecentsState toState = stateFromGestureEndTarget(endTarget); - Animator taskbarAnimator = uiController.createAnimToRecentsState(toState, duration); + Animator taskbarAnimator = uiController.getParallelAnimationToGestureEndTarget( + endTarget, duration, callbacks); if (taskbarAnimator == null) { return superAnimator; } diff --git a/quickstep/src/com/android/quickstep/InputConsumerUtils.kt b/quickstep/src/com/android/quickstep/InputConsumerUtils.kt index c8ca5344c2..89b5b291c6 100644 --- a/quickstep/src/com/android/quickstep/InputConsumerUtils.kt +++ b/quickstep/src/com/android/quickstep/InputConsumerUtils.kt @@ -550,7 +550,7 @@ object InputConsumerUtils { (com.android.launcher3.Flags.useActivityOverlay() && runningTask != null && runningTask.isHomeTask && - overviewComponentObserver.isHomeAndOverviewSame && + overviewComponentObserver.isHomeAndOverviewSameActivity && !launcherResumedThroughShellTransition && !previousGestureState.isRecentsAnimationRunning) diff --git a/quickstep/src/com/android/quickstep/LauncherActivityInterface.java b/quickstep/src/com/android/quickstep/LauncherActivityInterface.java index ac0aa76ad5..fa8e4846b3 100644 --- a/quickstep/src/com/android/quickstep/LauncherActivityInterface.java +++ b/quickstep/src/com/android/quickstep/LauncherActivityInterface.java @@ -261,7 +261,8 @@ public final class LauncherActivityInterface extends return launcher != null && launcher.getStateManager().getState() == OVERVIEW && launcher.isStarted() - && TopTaskTracker.INSTANCE.get(launcher).getCachedTopTask(false).isHomeTask(); + && TopTaskTracker.INSTANCE.get(launcher).getCachedTopTask(false, + launcher.getDisplayId()).isHomeTask(); } private boolean isInMinusOne() { @@ -270,7 +271,8 @@ public final class LauncherActivityInterface extends return launcher != null && launcher.getStateManager().getState() == NORMAL && !launcher.isStarted() - && TopTaskTracker.INSTANCE.get(launcher).getCachedTopTask(false).isHomeTask(); + && TopTaskTracker.INSTANCE.get(launcher).getCachedTopTask(false, + launcher.getDisplayId()).isHomeTask(); } @Override @@ -298,16 +300,16 @@ public final class LauncherActivityInterface extends } @Override - public @Nullable Animator getParallelAnimationToLauncher(GestureEndTarget endTarget, + public @Nullable Animator getParallelAnimationToGestureEndTarget(GestureEndTarget endTarget, long duration, RecentsAnimationCallbacks callbacks) { LauncherTaskbarUIController uiController = getTaskbarController(); - Animator superAnimator = super.getParallelAnimationToLauncher( + Animator superAnimator = super.getParallelAnimationToGestureEndTarget( endTarget, duration, callbacks); if (uiController == null || callbacks == null) { return superAnimator; } - LauncherState toState = stateFromGestureEndTarget(endTarget); - Animator taskbarAnimator = uiController.createAnimToLauncher(toState, callbacks, duration); + Animator taskbarAnimator = uiController.getParallelAnimationToGestureEndTarget(endTarget, + duration, callbacks); if (superAnimator == null) { return taskbarAnimator; } else { diff --git a/quickstep/src/com/android/quickstep/OverviewCommandHelper.kt b/quickstep/src/com/android/quickstep/OverviewCommandHelper.kt index 6a9c3dd519..8b9a3daea8 100644 --- a/quickstep/src/com/android/quickstep/OverviewCommandHelper.kt +++ b/quickstep/src/com/android/quickstep/OverviewCommandHelper.kt @@ -450,10 +450,10 @@ constructor( ) gestureState.isHandlingAtomicEvent = true val interactionHandler = - touchInteractionService.swipeUpHandlerFactory.newHandler( - gestureState, - command.createTime, - ) + touchInteractionService + // TODO(b/404757863): use command.displayId instead of focusedDisplayId. + .getSwipeUpHandlerFactory(focusedDisplayId) + .newHandler(gestureState, command.createTime) interactionHandler.setGestureEndCallback { onTransitionComplete(command, interactionHandler, onCallbackResult) } @@ -570,12 +570,7 @@ constructor( private fun updateRecentsViewFocus(command: CommandInfo) { val recentsView: RecentsView<*, *> = getVisibleRecentsView(command.displayId) ?: return - if ( - command.type != KEYBOARD_INPUT && - command.type != HIDE && - command.type != SHOW && - command.type != TOGGLE - ) { + if (command.type != KEYBOARD_INPUT && command.type != HIDE && command.type != SHOW) { return } diff --git a/quickstep/src/com/android/quickstep/OverviewComponentObserver.java b/quickstep/src/com/android/quickstep/OverviewComponentObserver.java index 7d3a1da76f..e7386dcb93 100644 --- a/quickstep/src/com/android/quickstep/OverviewComponentObserver.java +++ b/quickstep/src/com/android/quickstep/OverviewComponentObserver.java @@ -24,6 +24,7 @@ import static android.view.Display.DEFAULT_DISPLAY; import static com.android.launcher3.Flags.enableOverviewOnConnectedDisplays; import static com.android.launcher3.config.FeatureFlags.SEPARATE_RECENTS_ACTIVITY; import static com.android.launcher3.util.Executors.MAIN_EXECUTOR; +import static com.android.quickstep.fallback.window.RecentsWindowFlags.enableFallbackOverviewInWindow; import static com.android.quickstep.fallback.window.RecentsWindowFlags.enableLauncherOverviewInWindow; import static com.android.systemui.shared.system.PackageManagerWrapper.ACTION_PREFERRED_ACTIVITY_CHANGED; @@ -50,7 +51,6 @@ import com.android.launcher3.util.DaggerSingletonObject; import com.android.launcher3.util.DaggerSingletonTracker; import com.android.launcher3.util.SimpleBroadcastReceiver; import com.android.quickstep.fallback.window.RecentsDisplayModel; -import com.android.quickstep.fallback.window.RecentsWindowFlags; import com.android.quickstep.util.ActiveGestureProtoLogProxy; import com.android.systemui.shared.system.PackageManagerWrapper; @@ -181,7 +181,7 @@ public final class OverviewComponentObserver { mDefaultDisplayContainerInterface.onAssistantVisibilityChanged(0.f); } - if (SEPARATE_RECENTS_ACTIVITY.get() || enableLauncherOverviewInWindow.isTrue()) { + if (SEPARATE_RECENTS_ACTIVITY.get()) { mIsDefaultHome = false; if (defaultHome == null) { defaultHome = mMyHomeIntent.getComponent(); @@ -194,8 +194,13 @@ public final class OverviewComponentObserver { + ", mIsDefaultHome=" + mIsDefaultHome); if (!mIsHomeDisabled && (defaultHome == null || mIsDefaultHome)) { - // User default home is same as out home app. Use Overview integrated in Launcher. - mDefaultDisplayContainerInterface = LauncherActivityInterface.INSTANCE; + // User default home is same as our home app. Use Overview integrated in Launcher. + if (enableLauncherOverviewInWindow.isTrue()) { + mDefaultDisplayContainerInterface = + mRecentsDisplayModel.getFallbackWindowInterface(DEFAULT_DISPLAY); + } else { + mDefaultDisplayContainerInterface = LauncherActivityInterface.INSTANCE; + } mIsHomeAndOverviewSame = true; mOverviewIntent = mMyHomeIntent; mCurrentHomeIntent.setComponent(mMyHomeIntent.getComponent()); @@ -204,7 +209,7 @@ public final class OverviewComponentObserver { unregisterOtherHomeAppUpdateReceiver(); } else { // The default home app is a different launcher. Use the fallback Overview instead. - if (RecentsWindowFlags.Companion.getEnableOverviewInWindow()) { + if (enableFallbackOverviewInWindow.isTrue()) { mDefaultDisplayContainerInterface = mRecentsDisplayModel.getFallbackWindowInterface(DEFAULT_DISPLAY); } else { @@ -290,12 +295,16 @@ public final class OverviewComponentObserver { } /** - * Returns true if home and overview are same activity. + * Returns true if home and overview are same process. */ public boolean isHomeAndOverviewSame() { return mIsHomeAndOverviewSame; } + public boolean isHomeAndOverviewSameActivity() { + return isHomeAndOverviewSame() && !enableLauncherOverviewInWindow.isTrue(); + } + /** * Get the current control helper for managing interactions to the overview container for * the given displayId. diff --git a/quickstep/src/com/android/quickstep/RecentTasksList.java b/quickstep/src/com/android/quickstep/RecentTasksList.java index dab78c5df3..a77241549c 100644 --- a/quickstep/src/com/android/quickstep/RecentTasksList.java +++ b/quickstep/src/com/android/quickstep/RecentTasksList.java @@ -504,7 +504,7 @@ public class RecentTasksList implements WindowManagerProxy.DesktopVisibilityList for (TaskInfo taskInfo : recentTaskInfo.getTaskInfoList()) { Task task = createTask(taskInfo, minimizedTaskIds); List<Task> tasks = perDisplayTasks.computeIfAbsent( - ExternalDisplaysKt.getDisplayId(task), + ExternalDisplaysKt.getSafeDisplayId(task), k -> new ArrayList<>()); tasks.add(task); } diff --git a/quickstep/src/com/android/quickstep/SystemDecorationChangeObserver.kt b/quickstep/src/com/android/quickstep/SystemDecorationChangeObserver.kt new file mode 100644 index 0000000000..45594786aa --- /dev/null +++ b/quickstep/src/com/android/quickstep/SystemDecorationChangeObserver.kt @@ -0,0 +1,81 @@ +/* + * Copyright (C) 2025 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.quickstep + +import android.content.Context +import android.util.Log +import com.android.launcher3.dagger.ApplicationContext +import com.android.launcher3.dagger.LauncherAppSingleton +import com.android.launcher3.util.DaggerSingletonObject +import com.android.launcher3.util.Executors.MAIN_EXECUTOR +import com.android.quickstep.dagger.QuickstepBaseAppComponent +import javax.inject.Inject + +@LauncherAppSingleton +class SystemDecorationChangeObserver @Inject constructor(@ApplicationContext context: Context) { + companion object { + private const val TAG = "SystemDecorationChangeObserver" + private const val DEBUG = false + + @JvmStatic + val INSTANCE: DaggerSingletonObject<SystemDecorationChangeObserver> = + DaggerSingletonObject<SystemDecorationChangeObserver>( + QuickstepBaseAppComponent::getSystemDecorationChangeObserver + ) + } + + interface DisplayDecorationListener { + fun onDisplayAddSystemDecorations(displayId: Int) + + fun onDisplayRemoved(displayId: Int) + + fun onDisplayRemoveSystemDecorations(displayId: Int) + } + + fun notifyAddSystemDecorations(displayId: Int) { + if (DEBUG) Log.d(TAG, "SystemDecorationAdded: $displayId") + for (listener in mDisplayDecorationListeners) { + MAIN_EXECUTOR.execute { listener.onDisplayAddSystemDecorations(displayId) } + } + } + + fun notifyOnDisplayRemoved(displayId: Int) { + if (DEBUG) Log.d(TAG, "displayRemoved: $displayId") + for (listener in mDisplayDecorationListeners) { + MAIN_EXECUTOR.execute { listener.onDisplayRemoved(displayId) } + } + } + + fun notifyDisplayRemoveSystemDecorations(displayId: Int) { + if (DEBUG) Log.d(TAG, "SystemDecorationRemoved: $displayId") + for (listener in mDisplayDecorationListeners) { + MAIN_EXECUTOR.execute { listener.onDisplayRemoveSystemDecorations(displayId) } + } + } + + private val mDisplayDecorationListeners = ArrayList<DisplayDecorationListener>() + + fun registerDisplayDecorationListener(listener: DisplayDecorationListener) { + if (DEBUG) Log.d(TAG, "registerDisplayDecorationListener") + mDisplayDecorationListeners.add(listener) + } + + fun unregisterDisplayDecorationListener(listener: DisplayDecorationListener) { + if (DEBUG) Log.d(TAG, "unregisterDisplayDecorationListener") + mDisplayDecorationListeners.remove(listener) + } +} diff --git a/quickstep/src/com/android/quickstep/TaskOverlayFactory.java b/quickstep/src/com/android/quickstep/TaskOverlayFactory.java index df66a5e30e..ae6bfbc517 100644 --- a/quickstep/src/com/android/quickstep/TaskOverlayFactory.java +++ b/quickstep/src/com/android/quickstep/TaskOverlayFactory.java @@ -202,10 +202,14 @@ public class TaskOverlayFactory implements ResourceBasedOverride { */ public void initOverlay(Task task, @Nullable Bitmap thumbnail, Matrix matrix, boolean rotated) { - getActionsView().updateDisabledFlags(DISABLED_NO_THUMBNAIL, thumbnail == null); + if (!enableRefactorTaskThumbnail()) { + getActionsView().updateDisabledFlags(DISABLED_NO_THUMBNAIL, thumbnail == null); + } if (thumbnail != null) { - getActionsView().updateDisabledFlags(DISABLED_ROTATED, rotated); + if (!enableRefactorTaskThumbnail()) { + getActionsView().updateDisabledFlags(DISABLED_ROTATED, rotated); + } getActionsView().setCallbacks(new OverlayUICallbacksImpl(isRealSnapshot(), task)); } } diff --git a/quickstep/src/com/android/quickstep/TopTaskTracker.java b/quickstep/src/com/android/quickstep/TopTaskTracker.java index 8116a8867d..7e773e3a58 100644 --- a/quickstep/src/com/android/quickstep/TopTaskTracker.java +++ b/quickstep/src/com/android/quickstep/TopTaskTracker.java @@ -22,8 +22,10 @@ import static android.content.Intent.ACTION_CHOOSER; import static android.content.Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS; import static android.view.Display.DEFAULT_DISPLAY; +import static com.android.launcher3.Flags.enableOverviewOnConnectedDisplays; import static com.android.launcher3.util.SplitConfigurationOptions.STAGE_POSITION_TOP_OR_LEFT; import static com.android.launcher3.util.SplitConfigurationOptions.STAGE_TYPE_A; +import static com.android.quickstep.fallback.window.RecentsWindowFlags.enableOverviewOnConnectedDisplays; import static com.android.wm.shell.Flags.enableShellTopTaskTracking; import static com.android.wm.shell.Flags.enableFlexibleSplit; import static com.android.wm.shell.shared.GroupedTaskInfo.TYPE_SPLIT; @@ -47,6 +49,7 @@ import com.android.launcher3.util.SplitConfigurationOptions.StageType; import com.android.launcher3.util.TraceHelper; import com.android.quickstep.dagger.QuickstepBaseAppComponent; import com.android.quickstep.util.DesksUtils; +import com.android.quickstep.util.ExternalDisplaysKt; import com.android.systemui.shared.recents.model.Task; import com.android.systemui.shared.recents.model.Task.TaskKey; import com.android.systemui.shared.system.ActivityManagerWrapper; @@ -316,21 +319,26 @@ public class TopTaskTracker extends ISplitScreenListener.Stub implements TaskSta */ @NonNull @UiThread - public CachedTaskInfo getCachedTopTask(boolean filterOnlyVisibleRecents) { + public CachedTaskInfo getCachedTopTask(boolean filterOnlyVisibleRecents, int displayId) { if (enableShellTopTaskTracking()) { // TODO(346588978): Currently ignore filterOnlyVisibleRecents, but perhaps make this an // explicit filter For things to ignore (ie. PIP/Bubbles/Assistant/etc/so that this is // explicit) - // TODO(346588978): This assumes default display as gesture nav is only supported there - return new CachedTaskInfo(mVisibleTasks.get(DEFAULT_DISPLAY)); + return new CachedTaskInfo(mVisibleTasks.get(displayId)); } else { if (filterOnlyVisibleRecents) { // Since we only know about the top most task, any filtering may not be applied on // the cache. The second to top task may change while the top task is still the // same. - RunningTaskInfo[] tasks = TraceHelper.allowIpcs("getCachedTopTask.true", () -> + TaskInfo[] tasks = TraceHelper.allowIpcs("getCachedTopTask.true", () -> ActivityManagerWrapper.getInstance().getRunningTasks(true)); - return new CachedTaskInfo(Arrays.asList(tasks)); + if (enableOverviewOnConnectedDisplays()) { + return new CachedTaskInfo(Arrays.stream(tasks).filter( + info -> ExternalDisplaysKt.getSafeDisplayId(info) + == displayId).toList()); + } else { + return new CachedTaskInfo(Arrays.asList(tasks)); + } } if (mOrderedTaskList.isEmpty()) { @@ -344,7 +352,12 @@ public class TopTaskTracker extends ISplitScreenListener.Stub implements TaskSta // Strip the pinned task and recents task tasks.removeIf(t -> t.taskId == mPinnedTaskId || isRecentsTask(t) || DesksUtils.isDesktopWallpaperTask(t)); - return new CachedTaskInfo(tasks); + if (enableOverviewOnConnectedDisplays()) { + return new CachedTaskInfo(tasks.stream().filter( + info -> ExternalDisplaysKt.getSafeDisplayId(info) == displayId).toList()); + } else { + return new CachedTaskInfo(tasks); + } } } diff --git a/quickstep/src/com/android/quickstep/TouchInteractionService.java b/quickstep/src/com/android/quickstep/TouchInteractionService.java index 7878e68a94..3543ad1427 100644 --- a/quickstep/src/com/android/quickstep/TouchInteractionService.java +++ b/quickstep/src/com/android/quickstep/TouchInteractionService.java @@ -95,7 +95,6 @@ import com.android.quickstep.OverviewCommandHelper.CommandType; import com.android.quickstep.OverviewComponentObserver.OverviewChangeListener; import com.android.quickstep.fallback.window.RecentsDisplayModel; import com.android.quickstep.fallback.window.RecentsDisplayModel.RecentsDisplayResource; -import com.android.quickstep.fallback.window.RecentsWindowFlags; import com.android.quickstep.fallback.window.RecentsWindowSwipeHandler; import com.android.quickstep.inputconsumers.BubbleBarInputConsumer; import com.android.quickstep.inputconsumers.OneHandedModeInputConsumer; @@ -315,32 +314,25 @@ public class TouchInteractionService extends Service { @BinderThread @Override public void onDisplayAddSystemDecorations(int displayId) { - executeForTaskbarManager(taskbarManager -> - taskbarManager.onDisplayAddSystemDecorations(displayId)); - - executeForRecentsDisplayModel(displayModel -> - displayModel.onDisplayAddSystemDecorations(displayId)); + executeForTouchInteractionService(tis -> + tis.mSystemDecorationChangeObserver.notifyAddSystemDecorations(displayId)); } @BinderThread @Override public void onDisplayRemoved(int displayId) { - executeForTaskbarManager(taskbarManager -> - taskbarManager.onDisplayRemoved(displayId)); executeForTouchInteractionService(tis -> { + tis.mSystemDecorationChangeObserver.notifyOnDisplayRemoved(displayId); tis.mDeviceState.clearSysUIStateFlagsForDisplay(displayId); }); - executeForRecentsDisplayModel(displayModel -> - displayModel.onDisplayRemoved(displayId)); } @BinderThread @Override public void onDisplayRemoveSystemDecorations(int displayId) { - executeForTaskbarManager(taskbarManager -> - taskbarManager.onDisplayRemoveSystemDecorations(displayId)); - executeForRecentsDisplayModel(displayModel -> - displayModel.onDisplayRemoveSystemDecorations(displayId)); + executeForTouchInteractionService(tis -> { + tis.mSystemDecorationChangeObserver.notifyDisplayRemoveSystemDecorations(displayId); + }); } @BinderThread @@ -452,15 +444,6 @@ public class TouchInteractionService extends Service { })); } - private void executeForRecentsDisplayModel( - @NonNull Consumer<RecentsDisplayModel> recentsDisplayModelConsumer) { - MAIN_EXECUTOR.execute(() -> executeForTouchInteractionService(tis -> { - RecentsDisplayModel recentsDisplayModel = tis.mRecentsDisplayModel; - if (recentsDisplayModel == null) return; - recentsDisplayModelConsumer.accept(recentsDisplayModel); - })); - } - /** * Returns the {@link TaskbarManager}. * <p> @@ -597,6 +580,8 @@ public class TouchInteractionService extends Service { private RecentsDisplayModel mRecentsDisplayModel; + private SystemDecorationChangeObserver mSystemDecorationChangeObserver; + @Override public void onCreate() { super.onCreate(); @@ -608,6 +593,7 @@ public class TouchInteractionService extends Service { mDeviceState = RecentsAnimationDeviceState.INSTANCE.get(this); mRotationTouchHelper = RotationTouchHelper.INSTANCE.get(this); mRecentsDisplayModel = RecentsDisplayModel.getINSTANCE().get(this); + mSystemDecorationChangeObserver = SystemDecorationChangeObserver.getINSTANCE().get(this); mAllAppsActionManager = new AllAppsActionManager( this, UI_HELPER_EXECUTOR, this::createAllAppsPendingIntent); mTrackpadsConnected = new ActiveTrackpadList(this, () -> { @@ -965,7 +951,7 @@ public class TouchInteractionService extends Service { mGestureState, taskAnimationManager, inputMonitorCompat, - getSwipeUpHandlerFactory(), + getSwipeUpHandlerFactory(displayId), this::onConsumerInactive, inputEventReceiver, mTaskbarManager, @@ -1089,7 +1075,7 @@ public class TouchInteractionService extends Service { // previousTaskInfo can be null iff previousGestureState == GestureState.DEFAULT_STATE taskInfo = previousTaskInfo != null ? previousTaskInfo - : TopTaskTracker.INSTANCE.get(this).getCachedTopTask(false); + : TopTaskTracker.INSTANCE.get(this).getCachedTopTask(false, displayId); gestureState.updateRunningTask(taskInfo); gestureState.updateLastStartedTaskIds(previousGestureState.getLastStartedTaskIds()); gestureState.updatePreviouslyAppearedTaskIds( @@ -1099,7 +1085,7 @@ public class TouchInteractionService extends Service { mOverviewComponentObserver, displayId, ActiveGestureLog.INSTANCE.incrementLogId()); - taskInfo = TopTaskTracker.INSTANCE.get(this).getCachedTopTask(false); + taskInfo = TopTaskTracker.INSTANCE.get(this).getCachedTopTask(false, displayId); gestureState.updateRunningTask(taskInfo); } gestureState.setTrackpadGestureType(trackpadGestureType); @@ -1110,11 +1096,20 @@ public class TouchInteractionService extends Service { return gestureState; } - public AbsSwipeUpHandler.Factory getSwipeUpHandlerFactory() { - return mOverviewComponentObserver.isHomeAndOverviewSame() - ? mLauncherSwipeHandlerFactory - : (RecentsWindowFlags.Companion.getEnableOverviewInWindow() - ? mRecentsWindowSwipeHandlerFactory : mFallbackSwipeHandlerFactory); + /** + * Returns a AbsSwipeUpHandler.Factory, used to instantiate AbsSwipeUpHandler later. + * @param displayId The displayId of the display this handler will be used on. + */ + public AbsSwipeUpHandler.Factory getSwipeUpHandlerFactory(int displayId) { + BaseContainerInterface<?, ?> containerInterface = + mOverviewComponentObserver.getContainerInterface(displayId); + if (containerInterface instanceof FallbackWindowInterface) { + return mRecentsWindowSwipeHandlerFactory; + } else if (containerInterface instanceof LauncherActivityInterface) { + return mLauncherSwipeHandlerFactory; + } else { + return mFallbackSwipeHandlerFactory; + } } /** diff --git a/quickstep/src/com/android/quickstep/dagger/QuickstepBaseAppComponent.java b/quickstep/src/com/android/quickstep/dagger/QuickstepBaseAppComponent.java index d79a8eaca1..23b8a82b2a 100644 --- a/quickstep/src/com/android/quickstep/dagger/QuickstepBaseAppComponent.java +++ b/quickstep/src/com/android/quickstep/dagger/QuickstepBaseAppComponent.java @@ -25,6 +25,7 @@ import com.android.quickstep.RecentsAnimationDeviceState; import com.android.quickstep.RecentsModel; import com.android.quickstep.RotationTouchHelper; import com.android.quickstep.SimpleOrientationTouchTransformer; +import com.android.quickstep.SystemDecorationChangeObserver; import com.android.quickstep.SystemUiProxy; import com.android.quickstep.TopTaskTracker; import com.android.quickstep.fallback.window.RecentsDisplayModel; @@ -71,4 +72,5 @@ public interface QuickstepBaseAppComponent extends LauncherBaseAppComponent { SimpleOrientationTouchTransformer getSimpleOrientationTouchTransformer(); + SystemDecorationChangeObserver getSystemDecorationChangeObserver(); } diff --git a/quickstep/src/com/android/quickstep/fallback/RecentsState.java b/quickstep/src/com/android/quickstep/fallback/RecentsState.java index 00aa1090e0..77aac4176d 100644 --- a/quickstep/src/com/android/quickstep/fallback/RecentsState.java +++ b/quickstep/src/com/android/quickstep/fallback/RecentsState.java @@ -50,23 +50,31 @@ public class RecentsState implements BaseState<RecentsState> { private static final int FLAG_ADD_DESK_BUTTON = BaseState.getFlag(10); private static final int FLAG_SHOW_EXPLODED_DESKTOP_VIEW = BaseState.getFlag(11); + public static final int DEFAULT_STATE_ORDINAL = 0; + public static final int MODAL_TASK_ORDINAL = 1; + public static final int BACKGROUND_APP_ORDINAL = 2; + public static final int HOME_STATE_ORDINAL = 3; + public static final int BG_LAUNCHER_ORDINAL = 4; + public static final int OVERVIEW_SPLIT_SELECT_ORDINAL = 5; + private static final RecentsState[] sAllStates = new RecentsState[6]; - public static final RecentsState DEFAULT = new RecentsState(0, + public static final RecentsState DEFAULT = new RecentsState(DEFAULT_STATE_ORDINAL, FLAG_DISABLE_RESTORE | FLAG_CLEAR_ALL_BUTTON | FLAG_OVERVIEW_ACTIONS | FLAG_SHOW_AS_GRID | FLAG_SCRIM | FLAG_LIVE_TILE | FLAG_RECENTS_VIEW_VISIBLE | FLAG_ADD_DESK_BUTTON | FLAG_SHOW_EXPLODED_DESKTOP_VIEW); - public static final RecentsState MODAL_TASK = new ModalState(1, + public static final RecentsState MODAL_TASK = new ModalState(MODAL_TASK_ORDINAL, FLAG_DISABLE_RESTORE | FLAG_OVERVIEW_ACTIONS | FLAG_MODAL | FLAG_SHOW_AS_GRID | FLAG_SCRIM | FLAG_LIVE_TILE | FLAG_RECENTS_VIEW_VISIBLE | FLAG_SHOW_EXPLODED_DESKTOP_VIEW); - public static final RecentsState BACKGROUND_APP = new BackgroundAppState(2, + public static final RecentsState BACKGROUND_APP = new BackgroundAppState(BACKGROUND_APP_ORDINAL, FLAG_DISABLE_RESTORE | FLAG_NON_INTERACTIVE | FLAG_FULL_SCREEN | FLAG_RECENTS_VIEW_VISIBLE | FLAG_TASK_THUMBNAIL_SPLASH | FLAG_DETACH_DESKTOP_CAROUSEL); - public static final RecentsState HOME = new RecentsState(3, 0); - public static final RecentsState BG_LAUNCHER = new LauncherState(4, 0); - public static final RecentsState OVERVIEW_SPLIT_SELECT = new RecentsState(5, + public static final RecentsState HOME = new RecentsState(HOME_STATE_ORDINAL, 0); + public static final RecentsState BG_LAUNCHER = new LauncherState(BG_LAUNCHER_ORDINAL, 0); + public static final RecentsState OVERVIEW_SPLIT_SELECT = new RecentsState( + OVERVIEW_SPLIT_SELECT_ORDINAL, FLAG_SHOW_AS_GRID | FLAG_SCRIM | FLAG_RECENTS_VIEW_VISIBLE | FLAG_CLOSE_POPUPS | FLAG_DISABLE_RESTORE | FLAG_SHOW_EXPLODED_DESKTOP_VIEW); @@ -90,7 +98,15 @@ public class RecentsState implements BaseState<RecentsState> { @Override public String toString() { - return "Ordinal-" + ordinal; + return switch (ordinal) { + case DEFAULT_STATE_ORDINAL -> "DEFAULT"; + case MODAL_TASK_ORDINAL -> "MODAL_TASK"; + case BACKGROUND_APP_ORDINAL -> "BACKGROUND_APP"; + case HOME_STATE_ORDINAL -> "HOME"; + case BG_LAUNCHER_ORDINAL -> "BG_LAUNCHER"; + case OVERVIEW_SPLIT_SELECT_ORDINAL -> "SPLIT_SELECT"; + default -> "Unknown Ordinal-" + ordinal; + }; } @Override diff --git a/quickstep/src/com/android/quickstep/fallback/RecentsStateUtils.kt b/quickstep/src/com/android/quickstep/fallback/RecentsStateUtils.kt new file mode 100644 index 0000000000..fec8a809b9 --- /dev/null +++ b/quickstep/src/com/android/quickstep/fallback/RecentsStateUtils.kt @@ -0,0 +1,33 @@ +/* + * Copyright (C) 2025 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.quickstep.fallback + +import com.android.launcher3.LauncherState + +fun RecentsState.toLauncherState(): LauncherState { + return when (ordinal) { + RecentsState.DEFAULT_STATE_ORDINAL -> LauncherState.OVERVIEW + RecentsState.MODAL_TASK_ORDINAL -> LauncherState.OVERVIEW_MODAL_TASK + RecentsState.BACKGROUND_APP_ORDINAL -> LauncherState.BACKGROUND_APP + RecentsState.HOME_STATE_ORDINAL -> LauncherState.NORMAL + RecentsState.BG_LAUNCHER_ORDINAL -> LauncherState.NORMAL + RecentsState.OVERVIEW_SPLIT_SELECT_ORDINAL -> LauncherState.OVERVIEW_SPLIT_SELECT + else -> LauncherState.NORMAL + } +} + +fun RecentsState.toLauncherStateOrdinal(): Int = toLauncherState().ordinal diff --git a/quickstep/src/com/android/quickstep/fallback/window/RecentsWindowManager.kt b/quickstep/src/com/android/quickstep/fallback/window/RecentsWindowManager.kt index 1a3a2e3dfe..bc08af2da6 100644 --- a/quickstep/src/com/android/quickstep/fallback/window/RecentsWindowManager.kt +++ b/quickstep/src/com/android/quickstep/fallback/window/RecentsWindowManager.kt @@ -44,9 +44,6 @@ import com.android.launcher3.statemanager.StateManager.AtomicAnimationFactory import com.android.launcher3.statemanager.StatefulContainer import com.android.launcher3.taskbar.TaskbarUIController import com.android.launcher3.testing.TestLogging -import com.android.launcher3.testing.shared.TestProtocol.NORMAL_STATE_ORDINAL -import com.android.launcher3.testing.shared.TestProtocol.OVERVIEW_SPLIT_SELECT_ORDINAL -import com.android.launcher3.testing.shared.TestProtocol.OVERVIEW_STATE_ORDINAL import com.android.launcher3.testing.shared.TestProtocol.SEQUENCE_MAIN import com.android.launcher3.util.ContextTracker import com.android.launcher3.util.DisplayController @@ -70,8 +67,7 @@ import com.android.quickstep.fallback.RecentsState.BACKGROUND_APP import com.android.quickstep.fallback.RecentsState.BG_LAUNCHER import com.android.quickstep.fallback.RecentsState.DEFAULT import com.android.quickstep.fallback.RecentsState.HOME -import com.android.quickstep.fallback.RecentsState.MODAL_TASK -import com.android.quickstep.fallback.RecentsState.OVERVIEW_SPLIT_SELECT +import com.android.quickstep.fallback.toLauncherStateOrdinal import com.android.quickstep.util.RecentsAtomicAnimationFactory import com.android.quickstep.util.RecentsWindowProtoLogProxy import com.android.quickstep.util.SplitSelectStateController @@ -355,40 +351,16 @@ class RecentsWindowManager(context: Context, wallpaperColorHints: Int) : override fun onStateSetStart(state: RecentsState) { super.onStateSetStart(state) - RecentsWindowProtoLogProxy.logOnStateSetStart(getStateName(state)) + RecentsWindowProtoLogProxy.logOnStateSetStart(state.toString()) } override fun onStateSetEnd(state: RecentsState) { super.onStateSetEnd(state) - RecentsWindowProtoLogProxy.logOnStateSetEnd(getStateName(state)) + RecentsWindowProtoLogProxy.logOnStateSetEnd(state.toString()) if (state == HOME || state == BG_LAUNCHER) { cleanupRecentsWindow() } - when (state) { - HOME, - BG_LAUNCHER -> - AccessibilityManagerCompat.sendStateEventToTest(baseContext, NORMAL_STATE_ORDINAL) - DEFAULT -> - AccessibilityManagerCompat.sendStateEventToTest(baseContext, OVERVIEW_STATE_ORDINAL) - OVERVIEW_SPLIT_SELECT -> - AccessibilityManagerCompat.sendStateEventToTest( - baseContext, - OVERVIEW_SPLIT_SELECT_ORDINAL, - ) - } - } - - private fun getStateName(state: RecentsState?): String { - return when (state) { - null -> "NULL" - DEFAULT -> "DEFAULT" - MODAL_TASK -> "MODAL_TASK" - BACKGROUND_APP -> "BACKGROUND_APP" - HOME -> "HOME" - BG_LAUNCHER -> "BG_LAUNCHER" - OVERVIEW_SPLIT_SELECT -> "OVERVIEW_SPLIT_SELECT" - else -> "ordinal=" + state.ordinal - } + AccessibilityManagerCompat.sendStateEventToTest(baseContext, state.toLauncherStateOrdinal()) } override fun getSystemUiController(): SystemUiController? { diff --git a/quickstep/src/com/android/quickstep/fallback/window/RecentsWindowSwipeHandler.java b/quickstep/src/com/android/quickstep/fallback/window/RecentsWindowSwipeHandler.java index 1d85febad2..b365ddf3a4 100644 --- a/quickstep/src/com/android/quickstep/fallback/window/RecentsWindowSwipeHandler.java +++ b/quickstep/src/com/android/quickstep/fallback/window/RecentsWindowSwipeHandler.java @@ -222,6 +222,7 @@ public class RecentsWindowSwipeHandler extends AbsSwipeUpHandler<RecentsWindowMa @Override protected void finishRecentsControllerToHome(Runnable callback) { final Runnable recentsCallback; + // TODO(b/404866791): check if this is actually necessary for this recents-in-window class if (mAppCanEnterPip) { // Make sure Launcher is resumed after auto-enter-pip transition to actually trigger // the PiP task appearing. @@ -238,7 +239,7 @@ public class RecentsWindowSwipeHandler extends AbsSwipeUpHandler<RecentsWindowMa } mRecentsView.cleanupRemoteTargets(); mRecentsAnimationController.finish( - mAppCanEnterPip /* toRecents */, recentsCallback, true /* sendUserLeaveHint */); + true /* toRecents */, recentsCallback, true /* sendUserLeaveHint */); } @Override diff --git a/quickstep/src/com/android/quickstep/inputconsumers/NavHandleLongPressHandler.java b/quickstep/src/com/android/quickstep/inputconsumers/NavHandleLongPressHandler.java index 107babd61e..571a5468d1 100644 --- a/quickstep/src/com/android/quickstep/inputconsumers/NavHandleLongPressHandler.java +++ b/quickstep/src/com/android/quickstep/inputconsumers/NavHandleLongPressHandler.java @@ -88,7 +88,7 @@ public class NavHandleLongPressHandler implements ResourceBasedOverride { */ @Nullable @VisibleForTesting - final Runnable getLongPressRunnable(NavHandle navHandle) { + final Runnable getLongPressRunnable(NavHandle navHandle, int displayId) { if (!isContextualSearchEntrypointEnabled(navHandle)) { Log.i(TAG, "Contextual Search invocation failed: entry point disabled"); mVibratorWrapper.cancelVibrate(); @@ -116,7 +116,7 @@ public class NavHandleLongPressHandler implements ResourceBasedOverride { Log.i(TAG, "Contextual Search invocation successful"); String runningPackage = TopTaskTracker.INSTANCE.get(mContext).getCachedTopTask( - /* filterOnlyVisibleRecents */ true).getPackageName(); + /* filterOnlyVisibleRecents */ true, displayId).getPackageName(); mStatsLogManager.logger().withPackageName(runningPackage) .log(LAUNCHER_LAUNCH_ASSISTANT_SUCCESSFUL_NAV_HANDLE); } else { diff --git a/quickstep/src/com/android/quickstep/inputconsumers/NavHandleLongPressInputConsumer.java b/quickstep/src/com/android/quickstep/inputconsumers/NavHandleLongPressInputConsumer.java index baabde884e..af7c975e0b 100644 --- a/quickstep/src/com/android/quickstep/inputconsumers/NavHandleLongPressInputConsumer.java +++ b/quickstep/src/com/android/quickstep/inputconsumers/NavHandleLongPressInputConsumer.java @@ -214,7 +214,7 @@ public class NavHandleLongPressInputConsumer extends DelegateInputConsumer { && !mDeepPressLogged) { // Log deep press even if feature is disabled. String runningPackage = mTopTaskTracker.getCachedTopTask( - /* filterOnlyVisibleRecents */ true).getPackageName(); + /* filterOnlyVisibleRecents */ true, getDisplayId()).getPackageName(); mStatsLogManager.logger().withPackageName(runningPackage).log( mNavHandle.isNavHandleStashedTaskbar() ? LAUNCHER_DEEP_PRESS_STASHED_TASKBAR : LAUNCHER_DEEP_PRESS_NAVBAR); @@ -233,12 +233,13 @@ public class NavHandleLongPressInputConsumer extends DelegateInputConsumer { Log.d(TAG, "triggerLongPress"); } String runningPackage = mTopTaskTracker.getCachedTopTask( - /* filterOnlyVisibleRecents */ true).getPackageName(); + /* filterOnlyVisibleRecents */ true, getDisplayId()).getPackageName(); mStatsLogManager.logger().withPackageName(runningPackage).log( mNavHandle.isNavHandleStashedTaskbar() ? LAUNCHER_LONG_PRESS_STASHED_TASKBAR : LAUNCHER_LONG_PRESS_NAVBAR); - Runnable longPressRunnable = mNavHandleLongPressHandler.getLongPressRunnable(mNavHandle); + Runnable longPressRunnable = mNavHandleLongPressHandler.getLongPressRunnable(mNavHandle, + getDisplayId()); if (longPressRunnable == null) { return; } diff --git a/quickstep/src/com/android/quickstep/inputconsumers/OtherActivityInputConsumer.java b/quickstep/src/com/android/quickstep/inputconsumers/OtherActivityInputConsumer.java index 2db75738f4..54cc391293 100644 --- a/quickstep/src/com/android/quickstep/inputconsumers/OtherActivityInputConsumer.java +++ b/quickstep/src/com/android/quickstep/inputconsumers/OtherActivityInputConsumer.java @@ -58,6 +58,7 @@ import com.android.quickstep.RecentsAnimationDeviceState; import com.android.quickstep.RecentsAnimationTargets; import com.android.quickstep.RotationTouchHelper; import com.android.quickstep.TaskAnimationManager; +import com.android.quickstep.util.ActiveGestureProtoLogProxy; import com.android.quickstep.util.CachedEventDispatcher; import com.android.quickstep.util.MotionPauseDetector; import com.android.quickstep.util.NavBarPosition; @@ -424,6 +425,8 @@ public class OtherActivityInputConsumer extends ContextWrapper implements InputC mMotionPauseDetector.setIsTrackpadGesture(mGestureState.isTrackpadGesture()); mInteractionHandler.initWhenReady( "OtherActivityInputConsumer.startTouchTrackingForWindowAnimation"); + ActiveGestureProtoLogProxy.logGestureStartSwipeHandler( + mInteractionHandler.getClass().getSimpleName()); if (DEBUG) { Log.d(TAG, "startTouchTrackingForWindowAnimation: isRecentsAnimationRunning=" diff --git a/quickstep/src/com/android/quickstep/orientation/LandscapePagedViewHandler.kt b/quickstep/src/com/android/quickstep/orientation/LandscapePagedViewHandler.kt index 7dff504f24..b8f43a4c36 100644 --- a/quickstep/src/com/android/quickstep/orientation/LandscapePagedViewHandler.kt +++ b/quickstep/src/com/android/quickstep/orientation/LandscapePagedViewHandler.kt @@ -275,7 +275,7 @@ open class LandscapePagedViewHandler : RecentsPagedOrientationHandler { desiredTaskId: Int, banner: View, ): Pair<Float, Float> { - val snapshotParams = thumbnailViews[0].layoutParams as ViewGroup.MarginLayoutParams + val snapshotParams = thumbnailViews[0].layoutParams as LinearLayout.LayoutParams val translationX = banner.height.toFloat() val translationY: Float if (splitBounds == null) { diff --git a/quickstep/src/com/android/quickstep/orientation/PortraitPagedViewHandler.kt b/quickstep/src/com/android/quickstep/orientation/PortraitPagedViewHandler.kt index c6b2f3c0a7..15eb69e47a 100644 --- a/quickstep/src/com/android/quickstep/orientation/PortraitPagedViewHandler.kt +++ b/quickstep/src/com/android/quickstep/orientation/PortraitPagedViewHandler.kt @@ -255,8 +255,7 @@ class PortraitPagedViewHandler : DefaultPagedViewHandler(), RecentsPagedOrientat } } else { if (desiredTaskId == splitBounds.leftTopTaskId) { - val snapshotParams = - thumbnailViews[0].layoutParams as ViewGroup.MarginLayoutParams + val snapshotParams = thumbnailViews[0].layoutParams as LinearLayout.LayoutParams val bottomRightTaskPlusDividerPercent = (splitBounds.rightBottomTaskPercent + splitBounds.dividerPercent) translationY = diff --git a/quickstep/src/com/android/quickstep/orientation/SeascapePagedViewHandler.kt b/quickstep/src/com/android/quickstep/orientation/SeascapePagedViewHandler.kt index f0b67efad0..80b50cbd83 100644 --- a/quickstep/src/com/android/quickstep/orientation/SeascapePagedViewHandler.kt +++ b/quickstep/src/com/android/quickstep/orientation/SeascapePagedViewHandler.kt @@ -25,8 +25,8 @@ import android.view.Gravity import android.view.Surface import android.view.View import android.view.View.MeasureSpec -import android.view.ViewGroup import android.widget.FrameLayout +import android.widget.LinearLayout import androidx.core.util.component1 import androidx.core.util.component2 import androidx.core.view.updateLayoutParams @@ -152,7 +152,7 @@ class SeascapePagedViewHandler : LandscapePagedViewHandler() { desiredTaskId: Int, banner: View, ): Pair<Float, Float> { - val snapshotParams = thumbnailViews[0].layoutParams as ViewGroup.MarginLayoutParams + val snapshotParams = thumbnailViews[0].layoutParams as LinearLayout.LayoutParams val translationX: Float = (taskViewWidth - banner.height).toFloat() val translationY: Float if (splitBounds == null) { diff --git a/quickstep/src/com/android/quickstep/recents/ui/viewmodel/TaskTileUiState.kt b/quickstep/src/com/android/quickstep/recents/ui/viewmodel/TaskTileUiState.kt index 8a6a8051f1..863d30b2e4 100644 --- a/quickstep/src/com/android/quickstep/recents/ui/viewmodel/TaskTileUiState.kt +++ b/quickstep/src/com/android/quickstep/recents/ui/viewmodel/TaskTileUiState.kt @@ -37,6 +37,7 @@ data class TaskTileUiState( val hasHeader: Boolean, val sysUiStatusNavFlags: Int, val taskOverlayEnabled: Boolean, + val isCentralTask: Boolean, ) sealed class TaskData { diff --git a/quickstep/src/com/android/quickstep/recents/ui/viewmodel/TaskViewModel.kt b/quickstep/src/com/android/quickstep/recents/ui/viewmodel/TaskViewModel.kt index 09e20711d0..fac0c0a0bb 100644 --- a/quickstep/src/com/android/quickstep/recents/ui/viewmodel/TaskViewModel.kt +++ b/quickstep/src/com/android/quickstep/recents/ui/viewmodel/TaskViewModel.kt @@ -29,7 +29,6 @@ import com.android.quickstep.recents.domain.usecase.IsThumbnailValidUseCase import com.android.quickstep.recents.domain.usecase.ThumbnailPosition import com.android.quickstep.recents.viewmodel.RecentsViewData import com.android.quickstep.views.TaskViewType -import com.android.quickstep.views.TaskViewType.SINGLE import com.android.systemui.shared.recents.model.ThumbnailData import kotlinx.coroutines.ExperimentalCoroutinesApi import kotlinx.coroutines.flow.Flow @@ -66,6 +65,12 @@ class TaskViewModel( } .distinctUntilChanged() + private val isCentralTask = + combine(taskIds, recentsViewData.centralTaskIds) { taskIds, centralTaskIds -> + taskIds == centralTaskIds + } + .distinctUntilChanged() + private val taskData = taskIds.flatMapLatest { ids -> // Combine Tasks requests @@ -79,14 +84,12 @@ class TaskViewModel( combine(recentsViewData.overlayEnabled, recentsViewData.settledFullyVisibleTaskIds) { isOverlayEnabled, settledFullyVisibleTaskIds -> - taskViewType == SINGLE && - isOverlayEnabled && - settledFullyVisibleTaskIds.any { it in taskIds.value } + isOverlayEnabled && settledFullyVisibleTaskIds.any { it in taskIds.value } } .distinctUntilChanged() val state: Flow<TaskTileUiState> = - combine(taskData, isLiveTile, overlayEnabled, ::mapToTaskTile) + combine(taskData, isLiveTile, overlayEnabled, isCentralTask, ::mapToTaskTile) .distinctUntilChanged() .flowOn(dispatcherProvider.background) @@ -114,6 +117,7 @@ class TaskViewModel( tasks: List<TaskData>, isLiveTile: Boolean, overlayEnabled: Boolean, + isCentralTask: Boolean, ): TaskTileUiState { val firstThumbnailData = (tasks.firstOrNull() as? TaskData.Data)?.thumbnailData return TaskTileUiState( @@ -122,6 +126,7 @@ class TaskViewModel( hasHeader = taskViewType == TaskViewType.DESKTOP, sysUiStatusNavFlags = getSysUiStatusNavFlagsUseCase(firstThumbnailData), taskOverlayEnabled = overlayEnabled, + isCentralTask = isCentralTask, ) } diff --git a/quickstep/src/com/android/quickstep/recents/viewmodel/RecentsViewData.kt b/quickstep/src/com/android/quickstep/recents/viewmodel/RecentsViewData.kt index 2465a4671b..803fb354ff 100644 --- a/quickstep/src/com/android/quickstep/recents/viewmodel/RecentsViewData.kt +++ b/quickstep/src/com/android/quickstep/recents/viewmodel/RecentsViewData.kt @@ -27,6 +27,9 @@ class RecentsViewData { // The settled set of visible taskIds that is updated after RecentsView scroll settles. val settledFullyVisibleTaskIds = MutableStateFlow(emptySet<Int>()) + // The id for the task ids in the TaskView that controls the Actions View + val centralTaskIds = MutableStateFlow(emptySet<Int>()) + // A list of taskIds that are associated with a RecentsAnimationController. */ val runningTaskIds = MutableStateFlow(emptySet<Int>()) diff --git a/quickstep/src/com/android/quickstep/recents/viewmodel/RecentsViewModel.kt b/quickstep/src/com/android/quickstep/recents/viewmodel/RecentsViewModel.kt index 5ff8aaa840..4d168c7476 100644 --- a/quickstep/src/com/android/quickstep/recents/viewmodel/RecentsViewModel.kt +++ b/quickstep/src/com/android/quickstep/recents/viewmodel/RecentsViewModel.kt @@ -38,6 +38,10 @@ class RecentsViewModel( recentsViewData.settledFullyVisibleTaskIds.value = taskIds } + fun updateCentralTaskIds(taskIds: Set<Int>) { + recentsViewData.centralTaskIds.value = taskIds + } + fun setOverlayEnabled(isOverlayEnabled: Boolean) { recentsViewData.overlayEnabled.value = isOverlayEnabled } diff --git a/quickstep/src/com/android/quickstep/util/AppPairsController.java b/quickstep/src/com/android/quickstep/util/AppPairsController.java index 8385485253..24c01ae26d 100644 --- a/quickstep/src/com/android/quickstep/util/AppPairsController.java +++ b/quickstep/src/com/android/quickstep/util/AppPairsController.java @@ -32,7 +32,6 @@ import static com.android.wm.shell.shared.split.SplitScreenConstants.SNAP_TO_NON import static com.android.wm.shell.shared.split.SplitScreenConstants.getIndex; import static com.android.wm.shell.shared.split.SplitScreenConstants.isPersistentSnapPosition; -import android.content.Context; import android.content.Intent; import android.content.pm.LauncherApps; import android.util.Log; @@ -93,10 +92,10 @@ public class AppPairsController { private static final int BITMASK_SIZE = 16; private static final int BITMASK_FOR_SNAP_POSITION = (1 << BITMASK_SIZE) - 1; - private Context mContext; + private ActivityContext mContext; private final SplitSelectStateController mSplitSelectStateController; private final StatsLogManager mStatsLogManager; - public AppPairsController(Context context, + public AppPairsController(ActivityContext context, SplitSelectStateController splitSelectStateController, StatsLogManager statsLogManager) { mContext = context; @@ -208,7 +207,7 @@ public class AppPairsController { } AppPairInfo newAppPair = new AppPairInfo(apps); - IconCache iconCache = LauncherAppState.getInstance(mContext).getIconCache(); + IconCache iconCache = LauncherAppState.getInstance(mContext.asContext()).getIconCache(); MODEL_EXECUTOR.execute(() -> { newAppPair.getAppContents().forEach(member -> { member.title = ""; @@ -216,8 +215,8 @@ public class AppPairsController { iconCache.getTitleAndIcon(member, member.getMatchingLookupFlag()); }); MAIN_EXECUTOR.execute(() -> { - LauncherAccessibilityDelegate delegate = - QuickstepLauncher.getLauncher(mContext).getAccessibilityDelegate(); + LauncherAccessibilityDelegate delegate = QuickstepLauncher.getLauncher( + mContext.asContext()).getAccessibilityDelegate(); if (delegate != null) { delegate.addToWorkspace(newAppPair, true, (success) -> { if (success) { @@ -300,7 +299,7 @@ public class AppPairsController { */ @Nullable private AppInfo resolveAppInfoByComponent(@NonNull ComponentKey key) { - AllAppsStore appsStore = ActivityContext.lookupContext(mContext) + AllAppsStore appsStore = ActivityContext.lookupContext(mContext.asContext()) .getAppsView().getAppsStore(); // First look up the app info in order of: @@ -326,7 +325,7 @@ public class AppPairsController { if (appInfo == null) { return null; } - return appInfo.makeWorkspaceItem(mContext); + return appInfo.makeWorkspaceItem(mContext.asContext()); } /** @@ -418,7 +417,7 @@ public class AppPairsController { } else { // Tapped an app pair while in a single app final TopTaskTracker.CachedTaskInfo runningTask = topTaskTracker - .getCachedTopTask(false /* filterOnlyVisibleRecents */); + .getCachedTopTask(false /* filterOnlyVisibleRecents */, context.getDisplayId()); mSplitSelectStateController.findLastActiveTasksAndRunCallback( componentKeys, @@ -548,6 +547,6 @@ public class AppPairsController { */ @VisibleForTesting public TopTaskTracker getTopTaskTracker() { - return TopTaskTracker.INSTANCE.get(mContext); + return TopTaskTracker.INSTANCE.get(mContext.asContext()); } } diff --git a/quickstep/src/com/android/quickstep/util/ContextualSearchInvoker.kt b/quickstep/src/com/android/quickstep/util/ContextualSearchInvoker.kt index 3bc9adcba6..e574cc7cdd 100644 --- a/quickstep/src/com/android/quickstep/util/ContextualSearchInvoker.kt +++ b/quickstep/src/com/android/quickstep/util/ContextualSearchInvoker.kt @@ -87,7 +87,8 @@ internal constructor( if (success) { val runningPackage = TopTaskTracker.INSTANCE[context].getCachedTopTask( - /* filterOnlyVisibleRecents */ true + /* filterOnlyVisibleRecents */ true, + DEFAULT_DISPLAY, ) .getPackageName() statsLogManager diff --git a/quickstep/src/com/android/quickstep/util/ContextualSearchStateManager.java b/quickstep/src/com/android/quickstep/util/ContextualSearchStateManager.java index a8d3c6d5a3..136c496dce 100644 --- a/quickstep/src/com/android/quickstep/util/ContextualSearchStateManager.java +++ b/quickstep/src/com/android/quickstep/util/ContextualSearchStateManager.java @@ -18,6 +18,7 @@ package com.android.quickstep.util; import static android.app.contextualsearch.ContextualSearchManager.ACTION_LAUNCH_CONTEXTUAL_SEARCH; import static android.app.contextualsearch.ContextualSearchManager.ENTRYPOINT_SYSTEM_ACTION; import static android.app.contextualsearch.ContextualSearchManager.FEATURE_CONTEXTUAL_SEARCH; +import static android.view.Display.DEFAULT_DISPLAY; import static com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_LAUNCH_OMNI_SUCCESSFUL_SYSTEM_ACTION; import static com.android.launcher3.util.Executors.UI_HELPER_EXECUTOR; @@ -244,7 +245,8 @@ public class ContextualSearchStateManager { ENTRYPOINT_SYSTEM_ACTION); if (contextualSearchInvoked) { String runningPackage = mTopTaskTracker.getCachedTopTask( - /* filterOnlyVisibleRecents */ true).getPackageName(); + /* filterOnlyVisibleRecents */ true, + DEFAULT_DISPLAY).getPackageName(); StatsLogManager.newInstance(mContext).logger() .withPackageName(runningPackage) .log(LAUNCHER_LAUNCH_OMNI_SUCCESSFUL_SYSTEM_ACTION); diff --git a/quickstep/src/com/android/quickstep/util/ExternalDisplays.kt b/quickstep/src/com/android/quickstep/util/ExternalDisplays.kt index 455b3121ec..0aaca31f8b 100644 --- a/quickstep/src/com/android/quickstep/util/ExternalDisplays.kt +++ b/quickstep/src/com/android/quickstep/util/ExternalDisplays.kt @@ -16,6 +16,7 @@ package com.android.quickstep.util +import android.app.TaskInfo import android.view.Display.DEFAULT_DISPLAY import android.view.Display.INVALID_DISPLAY import com.android.systemui.shared.recents.model.Task @@ -24,10 +25,9 @@ import com.android.systemui.shared.recents.model.Task val Int.isExternalDisplay get() = this != DEFAULT_DISPLAY -/** Returns displayId of this [Task], default to [DEFAULT_DISPLAY] */ -val Task?.displayId +val Int?.safeDisplayId get() = - this?.key?.displayId.let { displayId -> + this.let { displayId -> when (displayId) { null -> DEFAULT_DISPLAY INVALID_DISPLAY -> DEFAULT_DISPLAY @@ -35,6 +35,14 @@ val Task?.displayId } } +/** Returns displayId of this [Task], default to [DEFAULT_DISPLAY] */ +val Task?.safeDisplayId + get() = this?.key?.displayId.safeDisplayId + /** Returns if this task belongs tto [DEFAULT_DISPLAY] */ val Task?.isExternalDisplay - get() = displayId.isExternalDisplay + get() = safeDisplayId.isExternalDisplay + +/** Returns displayId of this [TaskInfo], default to [DEFAULT_DISPLAY] */ +val TaskInfo?.safeDisplayId + get() = this?.displayId.safeDisplayId diff --git a/quickstep/src/com/android/quickstep/util/SplitSelectStateController.java b/quickstep/src/com/android/quickstep/util/SplitSelectStateController.java index fd8b356708..08f2552157 100644 --- a/quickstep/src/com/android/quickstep/util/SplitSelectStateController.java +++ b/quickstep/src/com/android/quickstep/util/SplitSelectStateController.java @@ -195,7 +195,7 @@ public class SplitSelectStateController { mRecentTasksModel = recentsModel; mActivityBackCallback = activityBackCallback; mSplitAnimationController = new SplitAnimationController(this); - mAppPairsController = new AppPairsController(mContainer.asContext(), this, statsLogManager); + mAppPairsController = new AppPairsController(mContainer, this, statsLogManager); mSplitSelectDataHolder = new SplitSelectDataHolder(mContainer.asContext()); } diff --git a/quickstep/src/com/android/quickstep/views/DesktopTaskView.kt b/quickstep/src/com/android/quickstep/views/DesktopTaskView.kt index 9d07b30ec0..8876633bd3 100644 --- a/quickstep/src/com/android/quickstep/views/DesktopTaskView.kt +++ b/quickstep/src/com/android/quickstep/views/DesktopTaskView.kt @@ -78,27 +78,14 @@ class DesktopTaskView @JvmOverloads constructor(context: Context, attrs: Attribu private val contentViewFullscreenParams = FullscreenDrawParams(context) - private val taskThumbnailViewDeprecatedPool = - if (!enableRefactorTaskThumbnail()) { - ViewPool<TaskThumbnailViewDeprecated>( - context, - this, - R.layout.task_thumbnail_deprecated, - VIEW_POOL_MAX_SIZE, - VIEW_POOL_INITIAL_SIZE, - ) - } else null - private val taskContentViewPool = - if (enableRefactorTaskThumbnail()) { - ViewPool<TaskContentView>( - context, - this, - R.layout.task_content_view, - VIEW_POOL_MAX_SIZE, - VIEW_POOL_INITIAL_SIZE, - ) - } else null + ViewPool<TaskContentView>( + context, + this, + R.layout.task_content_view, + VIEW_POOL_MAX_SIZE, + VIEW_POOL_INITIAL_SIZE, + ) private val tempPointF = PointF() private val lastComputedTaskSize = Rect() @@ -275,7 +262,7 @@ class DesktopTaskView @JvmOverloads constructor(context: Context, attrs: Attribu if ( enableDesktopRecentsTransitionsCornersBugfix() && enableRefactorTaskThumbnail() ) { - (it.taskContentView as TaskContentView).outlineBounds = + it.taskContentView?.outlineBounds = if (intersects(overviewTaskPosition, screenRect)) Rect(overviewTaskPosition).apply { intersectUnchecked(screenRect) @@ -326,15 +313,13 @@ class DesktopTaskView @JvmOverloads constructor(context: Context, attrs: Attribu val backgroundViewIndex = contentView.indexOfChild(backgroundView) taskContainers = tasks.map { task -> - val taskContentView = - if (enableRefactorTaskThumbnail()) taskContentViewPool!!.view - else taskThumbnailViewDeprecatedPool!!.view + val taskContentView = taskContentViewPool.view contentView.addView(taskContentView, backgroundViewIndex + 1) val snapshotView = if (enableRefactorTaskThumbnail()) { taskContentView.findViewById<TaskThumbnailView>(R.id.snapshot) } else { - taskContentView + taskContentView.findViewById<TaskThumbnailViewDeprecated>(R.id.snapshot) } TaskContainer( @@ -494,11 +479,7 @@ class DesktopTaskView @JvmOverloads constructor(context: Context, attrs: Attribu private fun removeAndRecycleThumbnailView(taskContainer: TaskContainer) { contentView.removeView(taskContainer.taskContentView) - if (enableRefactorTaskThumbnail()) { - taskContentViewPool!!.recycle(taskContainer.taskContentView as TaskContentView) - } else { - taskThumbnailViewDeprecatedPool!!.recycle(taskContainer.thumbnailViewDeprecated) - } + taskContentViewPool.recycle(taskContainer.taskContentView) } private fun updateTaskPositions() { diff --git a/quickstep/src/com/android/quickstep/views/GroupedTaskView.kt b/quickstep/src/com/android/quickstep/views/GroupedTaskView.kt index 3b8607b41c..10a2e902cb 100644 --- a/quickstep/src/com/android/quickstep/views/GroupedTaskView.kt +++ b/quickstep/src/com/android/quickstep/views/GroupedTaskView.kt @@ -24,7 +24,6 @@ import android.view.View import android.view.ViewStub import com.android.internal.jank.Cuj import com.android.launcher3.Flags.enableOverviewIconMenu -import com.android.launcher3.Flags.enableRefactorTaskThumbnail import com.android.launcher3.R import com.android.launcher3.Utilities import com.android.launcher3.util.RunnableList @@ -95,16 +94,8 @@ class GroupedTaskView @JvmOverloads constructor(context: Context, attrs: Attribu override fun inflateViewStubs() { super.inflateViewStubs() - val taskContentViewLayoutId = - if (enableRefactorTaskThumbnail()) R.layout.task_content_view - else R.layout.task_thumbnail_deprecated findViewById<ViewStub>(R.id.bottomright_task_content_view) - ?.apply { - inflatedId = - if (enableRefactorTaskThumbnail()) R.id.bottomright_task_content_view - else R.id.bottomright_snapshot - layoutResource = taskContentViewLayoutId - } + ?.apply { layoutResource = R.layout.task_content_view } ?.inflate() findViewById<ViewStub>(R.id.bottomRight_icon) ?.apply { @@ -143,7 +134,7 @@ class GroupedTaskView @JvmOverloads constructor(context: Context, attrs: Attribu createTaskContainer( secondaryTask, R.id.bottomright_task_content_view, - if (enableRefactorTaskThumbnail()) R.id.snapshot else R.id.bottomright_snapshot, + R.id.snapshot, R.id.bottomRight_icon, R.id.show_windows_right, R.id.bottomRight_digital_wellbeing_toast, diff --git a/quickstep/src/com/android/quickstep/views/IconAppChipView.kt b/quickstep/src/com/android/quickstep/views/IconAppChipView.kt index 46ed29b7c8..f4fd12792a 100644 --- a/quickstep/src/com/android/quickstep/views/IconAppChipView.kt +++ b/quickstep/src/com/android/quickstep/views/IconAppChipView.kt @@ -432,6 +432,11 @@ constructor( } } + fun reset() { + setText(null) + setDrawable(null) + } + override fun asView(): View = this enum class AppChipStatus { diff --git a/quickstep/src/com/android/quickstep/views/RecentsDismissUtils.kt b/quickstep/src/com/android/quickstep/views/RecentsDismissUtils.kt index db18394d19..6acaeae8db 100644 --- a/quickstep/src/com/android/quickstep/views/RecentsDismissUtils.kt +++ b/quickstep/src/com/android/quickstep/views/RecentsDismissUtils.kt @@ -24,7 +24,6 @@ import androidx.dynamicanimation.animation.SpringForce import com.android.launcher3.Flags.enableGridOnlyOverview import com.android.launcher3.R import com.android.launcher3.Utilities.boundToRange -import com.android.launcher3.touch.SingleAxisSwipeDetector import com.android.launcher3.util.DynamicResource import com.android.launcher3.util.MSDLPlayerWrapper import com.android.quickstep.util.TaskGridNavHelper @@ -33,6 +32,7 @@ import com.google.android.msdl.data.model.MSDLToken import com.google.android.msdl.domain.InteractionProperties import kotlin.math.abs import kotlin.math.roundToInt +import kotlin.math.sign /** * Helper class for [RecentsView]. This util class contains refactored and extracted functions from @@ -51,7 +51,6 @@ class RecentsDismissUtils(private val recentsView: RecentsView<*, *>) { draggedTaskView: TaskView?, velocity: Float, isDismissing: Boolean, - detector: SingleAxisSwipeDetector, dismissLength: Int, onEndRunnable: () -> Unit, ): SpringAnimation? { @@ -60,11 +59,14 @@ class RecentsDismissUtils(private val recentsView: RecentsView<*, *>) { FloatPropertyCompat.createFloatPropertyCompat( draggedTaskView.secondaryDismissTranslationProperty ) + val minVelocity = + recentsView.pagedOrientationHandler.getSecondaryDimension(draggedTaskView).toFloat() + val startVelocity = abs(velocity).coerceAtLeast(minVelocity) * velocity.sign // Animate dragged task towards dismissal or rest state. val draggedTaskViewSpringAnimation = SpringAnimation(draggedTaskView, taskDismissFloatProperty) .setSpring(createExpressiveDismissSpringForce()) - .setStartVelocity(if (detector.isFling(velocity)) velocity else 0f) + .setStartVelocity(startVelocity) .addUpdateListener { animation, value, _ -> if (isDismissing && abs(value) >= abs(dismissLength)) { animation.cancel() @@ -103,6 +105,7 @@ class RecentsDismissUtils(private val recentsView: RecentsView<*, *>) { draggedTaskViewSpringAnimation, driverProgressThreshold = 0f, isSpringDirectionVertical = true, + minVelocity = startVelocity, ) } return draggedTaskViewSpringAnimation @@ -114,15 +117,11 @@ class RecentsDismissUtils(private val recentsView: RecentsView<*, *>) { tasksToExclude: List<TaskView> = emptyList(), driverProgressThreshold: Float, isSpringDirectionVertical: Boolean, + minVelocity: Float, ) { // Empty spring animation exists for conditional start, and to drive neighboring springs. val neighborsToSettle = SpringAnimation(FloatValueHolder()).setSpring(createExpressiveDismissSpringForce()) - addThresholdSpringAnimationTrigger( - springAnimationDriver, - progressThreshold = driverProgressThreshold, - neighborsToSettle, - ) // Add tasks before dragged index, fanning out from the dragged task. // The order they are added matters, as each spring drives the next. @@ -152,6 +151,19 @@ class RecentsDismissUtils(private val recentsView: RecentsView<*, *>) { isSpringDirectionVertical, ) } + + val isCurrentDisplacementAboveOrigin = + recentsView.pagedOrientationHandler.isGoingUp( + draggedTaskView.secondaryDismissTranslationProperty.get(draggedTaskView), + recentsView.isRtl, + ) + addThresholdSpringAnimationTrigger( + springAnimationDriver, + progressThreshold = driverProgressThreshold, + neighborsToSettle, + isCurrentDisplacementAboveOrigin, + minVelocity, + ) } /** As spring passes threshold for the first time, run conditional spring with velocity. */ @@ -159,25 +171,35 @@ class RecentsDismissUtils(private val recentsView: RecentsView<*, *>) { springAnimationDriver: SpringAnimation, progressThreshold: Float, conditionalSpring: SpringAnimation, + isCurrentDisplacementAboveOrigin: Boolean, + minVelocity: Float, ) { - var lastPosition = 0f - var startSettling = false - springAnimationDriver.addUpdateListener { _, value, velocity -> - // We do not compare to the threshold directly, as the update listener - // does not necessarily hit every value. Do not check again once it has started - // settling, as a spring can bounce past the end value multiple times. - if (startSettling) return@addUpdateListener - if ( - lastPosition < progressThreshold && value >= progressThreshold || - lastPosition > progressThreshold && value <= progressThreshold - ) { - startSettling = true - } - lastPosition = value - if (startSettling) { - conditionalSpring.setStartVelocity(velocity).animateToFinalPosition(0f) - playDismissSettlingHaptic(velocity) + val runSettlingAtVelocity = { velocity: Float -> + conditionalSpring.setStartVelocity(velocity).animateToFinalPosition(0f) + playDismissSettlingHaptic(velocity) + } + if (isCurrentDisplacementAboveOrigin) { + var lastPosition = 0f + var startSettling = false + springAnimationDriver.addUpdateListener { _, value, velocity -> + // We do not compare to the threshold directly, as the update listener + // does not necessarily hit every value. Do not check again once it has started + // settling, as a spring can bounce past the end value multiple times. + if (startSettling) return@addUpdateListener + if ( + lastPosition < progressThreshold && value >= progressThreshold || + lastPosition > progressThreshold && value <= progressThreshold + ) { + startSettling = true + } + lastPosition = value + if (startSettling) { + runSettlingAtVelocity(velocity) + } } + } else { + // Run settling animations immediately when displacement is already below settled state. + runSettlingAtVelocity(minVelocity) } } @@ -429,6 +451,7 @@ class RecentsDismissUtils(private val recentsView: RecentsView<*, *>) { tasksToExclude = tasksToReflow, driverProgressThreshold = dismissedTaskGap, isSpringDirectionVertical = false, + minVelocity = 0f, ) } else { springAnimationDriver.addEndListener { _, _, _, _ -> diff --git a/quickstep/src/com/android/quickstep/views/RecentsView.java b/quickstep/src/com/android/quickstep/views/RecentsView.java index 4feeb95f04..8f7dc808d1 100644 --- a/quickstep/src/com/android/quickstep/views/RecentsView.java +++ b/quickstep/src/com/android/quickstep/views/RecentsView.java @@ -169,7 +169,6 @@ import com.android.launcher3.statemanager.StatefulContainer; import com.android.launcher3.testing.TestLogging; import com.android.launcher3.testing.shared.TestProtocol; import com.android.launcher3.touch.OverScroll; -import com.android.launcher3.touch.SingleAxisSwipeDetector; import com.android.launcher3.util.CancellableTask; import com.android.launcher3.util.DynamicResource; import com.android.launcher3.util.IntArray; @@ -859,7 +858,7 @@ public abstract class RecentsView< */ private boolean mAnyTaskHasBeenDismissed; - private final RecentsViewModel mRecentsViewModel; + protected final RecentsViewModel mRecentsViewModel; private final RecentsViewModelHelper mHelper; protected final RecentsViewUtils mUtils = new RecentsViewUtils(this); protected final RecentsDismissUtils mDismissUtils = new RecentsDismissUtils(this); @@ -1595,7 +1594,7 @@ public abstract class RecentsView< /** * Returns true if the given TaskView is in expected scroll position. */ - public boolean isTaskInExpectedScrollPosition(TaskView taskView) { + public boolean isTaskInExpectedScrollPosition(@NonNull TaskView taskView) { return getScrollForPage(indexOfChild(taskView)) == getPagedOrientationHandler().getPrimaryScroll(this); } @@ -3943,8 +3942,10 @@ public abstract class RecentsView< newClearAllShortTotalWidthTranslation = expectedFirstTaskStart - firstTaskStart; } } - if (lastGridTaskView != null && (isTaskViewVisible(lastGridTaskView) || ( - isExpressiveDismiss && lastGridTaskView == dismissedTaskView))) { + if (lastGridTaskView != null && ( + (!isExpressiveDismiss && lastGridTaskView.isVisibleToUser()) || (isExpressiveDismiss + && (isTaskViewVisible(lastGridTaskView) + || lastGridTaskView == dismissedTaskView)))) { // After dismissal, animate translation of the remaining tasks to fill any gap left // between the end of the grid and the clear all button. Only animate if the clear // all button is visible or would become visible after dismissal. @@ -5993,6 +5994,9 @@ public abstract class RecentsView< updateCurrentTaskActionsVisibility(); loadVisibleTaskData(TaskView.FLAG_UPDATE_ALL); updateEnabledOverlays(); + if (enableRefactorTaskThumbnail()) { + mUtils.updateCentralTask(); + } } @Override @@ -7186,10 +7190,10 @@ public abstract class RecentsView< * spring in response to the perceived impact of the settling task. */ public SpringAnimation createTaskDismissSettlingSpringAnimation(TaskView draggedTaskView, - float velocity, boolean isDismissing, SingleAxisSwipeDetector detector, - int dismissLength, Function0<Unit> onEndRunnable) { + float velocity, boolean isDismissing, int dismissLength, + Function0<Unit> onEndRunnable) { return mDismissUtils.createTaskDismissSettlingSpringAnimation(draggedTaskView, velocity, - isDismissing, detector, dismissLength, onEndRunnable); + isDismissing, dismissLength, onEndRunnable); } /** diff --git a/quickstep/src/com/android/quickstep/views/RecentsViewUtils.kt b/quickstep/src/com/android/quickstep/views/RecentsViewUtils.kt index 51a5d0f0d6..50941fefa8 100644 --- a/quickstep/src/com/android/quickstep/views/RecentsViewUtils.kt +++ b/quickstep/src/com/android/quickstep/views/RecentsViewUtils.kt @@ -391,6 +391,27 @@ class RecentsViewUtils(private val recentsView: RecentsView<*, *>) { } } + fun updateCentralTask() { + val isTablet: Boolean = getDeviceProfile().isTablet + val actionsViewCanRelateToTaskView = !(isTablet && enableGridOnlyOverview()) + val focusedTaskView = recentsView.focusedTaskView + val currentPageTaskView = recentsView.currentPageTaskView + + fun isInExpectedScrollPosition(taskView: TaskView?) = + taskView?.let { recentsView.isTaskInExpectedScrollPosition(it) } ?: false + + val centralTaskIds: Set<Int> = + when { + !actionsViewCanRelateToTaskView -> emptySet() + isTablet && isInExpectedScrollPosition(focusedTaskView) -> + focusedTaskView!!.taskIdSet + isInExpectedScrollPosition(currentPageTaskView) -> currentPageTaskView!!.taskIdSet + else -> emptySet() + } + + recentsView.mRecentsViewModel.updateCentralTaskIds(centralTaskIds) + } + var deskExplodeProgress: Float = 0f set(value) { field = value diff --git a/quickstep/src/com/android/quickstep/views/TaskContainer.kt b/quickstep/src/com/android/quickstep/views/TaskContainer.kt index a98b17dbce..31ed465349 100644 --- a/quickstep/src/com/android/quickstep/views/TaskContainer.kt +++ b/quickstep/src/com/android/quickstep/views/TaskContainer.kt @@ -22,6 +22,7 @@ import android.util.Log import android.view.View import android.view.View.OnClickListener import com.android.app.tracing.traceSection +import com.android.launcher3.Flags.enableOverviewIconMenu import com.android.launcher3.Flags.enableRefactorTaskThumbnail import com.android.launcher3.model.data.TaskViewItemInfo import com.android.launcher3.util.SplitConfigurationOptions @@ -40,8 +41,7 @@ import com.android.systemui.shared.recents.model.ThumbnailData class TaskContainer( val taskView: TaskView, val task: Task, - // TODO(b/361500574): Upon flag cleanup, use the TaskContentView type and remove the getter - val taskContentView: View, + val taskContentView: TaskContentView, val snapshotView: View, val iconView: TaskViewIcon, /** @@ -63,10 +63,8 @@ class TaskContainer( init { if (enableRefactorTaskThumbnail()) { - require(taskContentView is TaskContentView) require(snapshotView is TaskThumbnailView) } else { - require(taskContentView is TaskThumbnailViewDeprecated) require(snapshotView is TaskThumbnailViewDeprecated) } } @@ -125,6 +123,10 @@ class TaskContainer( } else { thumbnailViewDeprecated.setShowSplashForSplitSelection(false) } + + if (enableOverviewIconMenu()) { + (iconView as IconAppChipView).reset() + } } fun setOverlayEnabled(enabled: Boolean) { @@ -177,7 +179,7 @@ class TaskContainer( clickCloseListener: OnClickListener?, ) = traceSection("TaskContainer.setState") { - (taskContentView as TaskContentView).setState( + taskContentView.setState( TaskUiStateMapper.toTaskHeaderState(state, hasHeader, clickCloseListener), TaskUiStateMapper.toTaskThumbnailUiState(state, liveTile), state?.taskId, diff --git a/quickstep/src/com/android/quickstep/views/TaskMenuView.kt b/quickstep/src/com/android/quickstep/views/TaskMenuView.kt index 4d4ce4e583..f7cb7bef78 100644 --- a/quickstep/src/com/android/quickstep/views/TaskMenuView.kt +++ b/quickstep/src/com/android/quickstep/views/TaskMenuView.kt @@ -251,6 +251,7 @@ constructor(context: Context?, attrs: AttributeSet?, defStyleAttr: Int = 0) : rotation = orientationHandler.degreesRotated if (enableOverviewIconMenu()) { + elevation = resources.getDimension(R.dimen.task_thumbnail_icon_menu_elevation) translationX = thumbnailAlignedX translationY = thumbnailAlignedY } else { @@ -472,8 +473,8 @@ constructor(context: Context?, attrs: AttributeSet?, defStyleAttr: Int = 0) : val isLastMenuOptionFocused = optionLayout.indexOfChild(optionLayout.focusedChild) == optionLayout.childCount - 1 if ( - (isLastMenuOptionFocused && event.keyCode == KeyEvent.KEYCODE_DPAD_DOWN) - || (isFirstMenuOptionFocused && event.keyCode == KeyEvent.KEYCODE_DPAD_UP) + (isLastMenuOptionFocused && event.keyCode == KeyEvent.KEYCODE_DPAD_DOWN) || + (isFirstMenuOptionFocused && event.keyCode == KeyEvent.KEYCODE_DPAD_UP) ) { iconView.requestFocus() return true diff --git a/quickstep/src/com/android/quickstep/views/TaskView.kt b/quickstep/src/com/android/quickstep/views/TaskView.kt index daecbfd4c4..a108afc34b 100644 --- a/quickstep/src/com/android/quickstep/views/TaskView.kt +++ b/quickstep/src/com/android/quickstep/views/TaskView.kt @@ -97,9 +97,11 @@ import com.android.quickstep.util.BorderAnimator.Companion.createSimpleBorderAni import com.android.quickstep.util.RecentsOrientedState import com.android.quickstep.util.TaskCornerRadius import com.android.quickstep.util.TaskRemovedDuringLaunchListener -import com.android.quickstep.util.displayId import com.android.quickstep.util.isExternalDisplay +import com.android.quickstep.util.safeDisplayId import com.android.quickstep.views.IconAppChipView.AppChipStatus +import com.android.quickstep.views.OverviewActionsView.DISABLED_NO_THUMBNAIL +import com.android.quickstep.views.OverviewActionsView.DISABLED_ROTATED import com.android.quickstep.views.RecentsView.UNBOUND_TASK_VIEW_ID import com.android.systemui.shared.recents.model.Task import com.android.systemui.shared.recents.model.ThumbnailData @@ -153,7 +155,7 @@ constructor( get() = this === recentsView?.selectedTaskView open val displayId: Int - get() = taskContainers.firstOrNull()?.task.displayId + get() = taskContainers.firstOrNull()?.task.safeDisplayId val isExternalDisplay: Boolean get() = displayId.isExternalDisplay @@ -765,16 +767,8 @@ constructor( } protected open fun inflateViewStubs() { - val taskContentViewLayoutId = - if (enableRefactorTaskThumbnail()) R.layout.task_content_view - else R.layout.task_thumbnail_deprecated - findViewById<ViewStub>(R.id.task_content_view) - ?.apply { - inflatedId = - if (enableRefactorTaskThumbnail()) R.id.task_content_view else R.id.snapshot - layoutResource = taskContentViewLayoutId - } + ?.apply { layoutResource = R.layout.task_content_view } ?.inflate() findViewById<ViewStub>(R.id.icon) @@ -837,6 +831,20 @@ constructor( height = container.thumbnailView.height, ) container.setOverlayEnabled(state.taskOverlayEnabled, thumbnailPosition) + if (state.isCentralTask) { + this.container.actionsView.let { + it.updateDisabledFlags( + DISABLED_ROTATED, + thumbnailPosition?.isRotated ?: false, + ) + it.updateDisabledFlags( + DISABLED_NO_THUMBNAIL, + state.tasks.any { taskData -> + (taskData as? TaskData.Data)?.thumbnailData?.thumbnail == null + }, + ) + } + } if (enableOverviewIconMenu()) { setIconState(container, containerState) @@ -944,7 +952,7 @@ constructor( taskContainers.forEach { container -> container.bind() if (enableRefactorTaskThumbnail()) { - (container.taskContentView as TaskContentView).cornerRadius = + container.taskContentView.cornerRadius = thumbnailFullscreenParams.currentCornerRadius container.taskContentView.doOnSizeChange { width, height -> updateThumbnailValidity(container) @@ -983,17 +991,12 @@ constructor( ): TaskContainer = traceSection("TaskView.createTaskContainer") { val iconView = findViewById<View>(iconViewId) as TaskViewIcon - val taskContentView = - if (enableRefactorTaskThumbnail()) findViewById<View>(taskContentViewId) - else findViewById(thumbnailViewId) - val snapshotView = - if (enableRefactorTaskThumbnail()) taskContentView.findViewById(thumbnailViewId) - else taskContentView + val taskContentView = findViewById<TaskContentView>(taskContentViewId) return TaskContainer( this, task, taskContentView, - snapshotView, + taskContentView.findViewById(thumbnailViewId), iconView, TransformingTouchDelegate(iconView.asView()), stagePosition, @@ -1814,8 +1817,7 @@ constructor( updateFullscreenParams(thumbnailFullscreenParams) taskContainers.forEach { if (enableRefactorTaskThumbnail()) { - (it.taskContentView as TaskContentView).cornerRadius = - thumbnailFullscreenParams.currentCornerRadius + it.taskContentView.cornerRadius = thumbnailFullscreenParams.currentCornerRadius } else { it.thumbnailViewDeprecated.setFullscreenParams(thumbnailFullscreenParams) } diff --git a/quickstep/src_protolog/com/android/quickstep/util/ActiveGestureProtoLogProxy.java b/quickstep/src_protolog/com/android/quickstep/util/ActiveGestureProtoLogProxy.java index 773a039cf3..2532fcf8cf 100644 --- a/quickstep/src_protolog/com/android/quickstep/util/ActiveGestureProtoLogProxy.java +++ b/quickstep/src_protolog/com/android/quickstep/util/ActiveGestureProtoLogProxy.java @@ -544,7 +544,7 @@ public class ActiveGestureProtoLogProxy { @NonNull Point displaySize, @NonNull RectF swipeRegion, @NonNull RectF ohmRegion, int gesturalHeight, int largerGesturalHeight, @NonNull String reason) { if (!enableActiveGestureProtoLog() || !isProtoLogInitialized()) return; - ProtoLog.d(ACTIVE_GESTURE_LOG, + ProtoLog.d(ACTIVE_GESTURE_LOG, "OrientationTouchTransformer.createRegionForDisplay: " + "dispRot=%d, dispSize=%s, swipeRegion=%s, ohmRegion=%s, " + "gesturalHeight=%d, largerGesturalHeight=%d, reason=%s", @@ -560,4 +560,14 @@ public class ActiveGestureProtoLogProxy { ProtoLog.d(ACTIVE_GESTURE_LOG, "TaskAnimationManager not available for displayId=%d", displayId); } + + public static void logGestureStartSwipeHandler(@NonNull String interactionHandler) { + ActiveGestureLog.INSTANCE.addLog(new ActiveGestureLog.CompoundString( + "OtherActivityInputConsumer.startTouchTrackingForWindowAnimation: " + + "interactionHandler=%s", interactionHandler)); + if (!enableActiveGestureProtoLog() || !isProtoLogInitialized()) return; + ProtoLog.d(ACTIVE_GESTURE_LOG, + "OtherActivityInputConsumer.startTouchTrackingForWindowAnimation: " + + "interactionHandler=%s", interactionHandler); + } } diff --git a/quickstep/tests/multivalentTests/src/com/android/quickstep/AbsSwipeUpHandlerTestCase.java b/quickstep/tests/multivalentTests/src/com/android/quickstep/AbsSwipeUpHandlerTestCase.java index 78240000c3..2f5f160898 100644 --- a/quickstep/tests/multivalentTests/src/com/android/quickstep/AbsSwipeUpHandlerTestCase.java +++ b/quickstep/tests/multivalentTests/src/com/android/quickstep/AbsSwipeUpHandlerTestCase.java @@ -292,7 +292,7 @@ public abstract class AbsSwipeUpHandlerTestCase< public void testHomeGesture_invalidatesHandlerAfterParallelAnim() { ValueAnimator parallelAnim = new ValueAnimator(); parallelAnim.setRepeatCount(ValueAnimator.INFINITE); - when(mActivityInterface.getParallelAnimationToLauncher(any(), anyLong(), any())) + when(mActivityInterface.getParallelAnimationToGestureEndTarget(any(), anyLong(), any())) .thenReturn(parallelAnim); SWIPE_HANDLER handler = createSwipeUpHandlerForGesture(GestureState.GestureEndTarget.HOME); runOnMainSync(() -> { @@ -306,7 +306,7 @@ public abstract class AbsSwipeUpHandlerTestCase< @Test public void testHomeGesture_invalidatesHandlerIfNoParallelAnim() { - when(mActivityInterface.getParallelAnimationToLauncher(any(), anyLong(), any())) + when(mActivityInterface.getParallelAnimationToGestureEndTarget(any(), anyLong(), any())) .thenReturn(null); SWIPE_HANDLER handler = createSwipeUpHandlerForGesture(GestureState.GestureEndTarget.HOME); runOnMainSync(() -> { diff --git a/quickstep/tests/multivalentTests/src/com/android/quickstep/fallback/RecentsStateUtilsTest.kt b/quickstep/tests/multivalentTests/src/com/android/quickstep/fallback/RecentsStateUtilsTest.kt new file mode 100644 index 0000000000..4e9dae8da0 --- /dev/null +++ b/quickstep/tests/multivalentTests/src/com/android/quickstep/fallback/RecentsStateUtilsTest.kt @@ -0,0 +1,66 @@ +/* + * Copyright (C) 2025 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.quickstep.fallback + +import com.android.launcher3.testing.shared.TestProtocol.BACKGROUND_APP_STATE_ORDINAL +import com.android.launcher3.testing.shared.TestProtocol.NORMAL_STATE_ORDINAL +import com.android.launcher3.testing.shared.TestProtocol.OVERVIEW_MODAL_TASK_STATE_ORDINAL +import com.android.launcher3.testing.shared.TestProtocol.OVERVIEW_SPLIT_SELECT_ORDINAL +import com.android.launcher3.testing.shared.TestProtocol.OVERVIEW_STATE_ORDINAL +import com.android.launcher3.util.LauncherMultivalentJUnit +import com.android.launcher3.util.LauncherMultivalentJUnit.EmulatedDevices +import com.google.common.truth.Truth.assertThat +import org.junit.Test +import org.junit.runner.RunWith + +@RunWith(LauncherMultivalentJUnit::class) +@EmulatedDevices(["pixelTablet2023"]) +class RecentsStateUtilsTest { + + @Test + fun testRecentsStateDefault_toLauncherStateOrdinal_isOverviewStateOrdinal() { + assertThat(RecentsState.DEFAULT.toLauncherStateOrdinal()).isEqualTo(OVERVIEW_STATE_ORDINAL) + } + + @Test + fun testRecentsStateModal_toLauncherStateOrdinal_isModalTaskStateOrdinal() { + assertThat(RecentsState.MODAL_TASK.toLauncherStateOrdinal()) + .isEqualTo(OVERVIEW_MODAL_TASK_STATE_ORDINAL) + } + + @Test + fun testRecentsStateBackgroundApp_toLauncherStateOrdinal_isBackgroundAppStateOrdinal() { + assertThat(RecentsState.BACKGROUND_APP.toLauncherStateOrdinal()) + .isEqualTo(BACKGROUND_APP_STATE_ORDINAL) + } + + @Test + fun testRecentsStateHome_toLauncherStateOrdinal_isNormalStateOrdinal() { + assertThat(RecentsState.HOME.toLauncherStateOrdinal()).isEqualTo(NORMAL_STATE_ORDINAL) + } + + @Test + fun testRecentsStateBgLauncher_toLauncherStateOrdinal_isNormalStateOrdinal() { + assertThat(RecentsState.BG_LAUNCHER.toLauncherStateOrdinal()) + .isEqualTo(NORMAL_STATE_ORDINAL) + } + + @Test + fun testRecentsStateOverviewSplitSelect_toLauncherStateOrdinal_isOverviewSplitSelectStateOrdinal() { + assertThat(RecentsState.OVERVIEW_SPLIT_SELECT.toLauncherStateOrdinal()) + .isEqualTo(OVERVIEW_SPLIT_SELECT_ORDINAL) + } +} diff --git a/quickstep/tests/multivalentTests/src/com/android/quickstep/inputconsumers/NavHandleLongPressInputConsumerTest.java b/quickstep/tests/multivalentTests/src/com/android/quickstep/inputconsumers/NavHandleLongPressInputConsumerTest.java index cfeade8ff3..ee9505cdbb 100644 --- a/quickstep/tests/multivalentTests/src/com/android/quickstep/inputconsumers/NavHandleLongPressInputConsumerTest.java +++ b/quickstep/tests/multivalentTests/src/com/android/quickstep/inputconsumers/NavHandleLongPressInputConsumerTest.java @@ -36,6 +36,7 @@ import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.anyBoolean; +import static org.mockito.ArgumentMatchers.anyInt; import static org.mockito.ArgumentMatchers.anyLong; import static org.mockito.Mockito.never; import static org.mockito.Mockito.times; @@ -105,11 +106,12 @@ public class NavHandleLongPressInputConsumerTest { @Before public void setup() { MockitoAnnotations.initMocks(this); - when(mTopTaskTracker.getCachedTopTask(anyBoolean())).thenReturn(mTaskInfo); + when(mTopTaskTracker.getCachedTopTask(anyBoolean(), anyInt())).thenReturn(mTaskInfo); when(mDeviceState.getSquaredTouchSlop()).thenReturn(SQUARED_TOUCH_SLOP); when(mDelegate.allowInterceptByParent()).thenReturn(true); mLongPressTriggered.set(false); - when(mNavHandleLongPressHandler.getLongPressRunnable(any())).thenReturn(mLongPressRunnable); + when(mNavHandleLongPressHandler.getLongPressRunnable(any(), anyInt())).thenReturn( + mLongPressRunnable); when(mStatsLogger.withPackageName(any())).thenReturn(mStatsLogger); when(mStatsLatencyLogger.withInstanceId(any())).thenReturn(mStatsLatencyLogger); when(mStatsLatencyLogger.withLatency(anyLong())).thenReturn(mStatsLatencyLogger); diff --git a/quickstep/tests/multivalentTests/src/com/android/quickstep/recents/ui/viewmodel/TaskViewModelTest.kt b/quickstep/tests/multivalentTests/src/com/android/quickstep/recents/ui/viewmodel/TaskViewModelTest.kt index 18b9fe9685..333c2856e6 100644 --- a/quickstep/tests/multivalentTests/src/com/android/quickstep/recents/ui/viewmodel/TaskViewModelTest.kt +++ b/quickstep/tests/multivalentTests/src/com/android/quickstep/recents/ui/viewmodel/TaskViewModelTest.kt @@ -85,6 +85,7 @@ class TaskViewModelTest { hasHeader = false, sysUiStatusNavFlags = FLAGS_APPEARANCE_LIGHT_THEME, taskOverlayEnabled = false, + isCentralTask = false, ) assertThat(sut.state.first()).isEqualTo(expectedResult) } @@ -132,6 +133,7 @@ class TaskViewModelTest { hasHeader = false, sysUiStatusNavFlags = FLAGS_APPEARANCE_LIGHT_THEME, taskOverlayEnabled = false, + isCentralTask = false, ) assertThat(sut.state.first()).isEqualTo(expectedResult) } @@ -155,6 +157,7 @@ class TaskViewModelTest { hasHeader = false, sysUiStatusNavFlags = FLAGS_APPEARANCE_LIGHT_THEME, taskOverlayEnabled = false, + isCentralTask = false, ) assertThat(sut.state.first()).isEqualTo(expectedResult) } @@ -178,6 +181,7 @@ class TaskViewModelTest { hasHeader = false, sysUiStatusNavFlags = FLAGS_APPEARANCE_LIGHT_THEME, taskOverlayEnabled = false, + isCentralTask = false, ) assertThat(sut.state.first()).isEqualTo(expectedResult) } @@ -200,6 +204,7 @@ class TaskViewModelTest { hasHeader = false, sysUiStatusNavFlags = FLAGS_APPEARANCE_LIGHT_THEME, taskOverlayEnabled = false, + isCentralTask = false, ) assertThat(sut.state.first()).isEqualTo(expectedResult) } @@ -218,6 +223,7 @@ class TaskViewModelTest { hasHeader = false, sysUiStatusNavFlags = FLAGS_APPEARANCE_LIGHT_THEME, taskOverlayEnabled = false, + isCentralTask = false, ) assertThat(sut.state.first()).isEqualTo(expectedResult) } @@ -233,6 +239,7 @@ class TaskViewModelTest { hasHeader = false, sysUiStatusNavFlags = FLAGS_APPEARANCE_DEFAULT, taskOverlayEnabled = false, + isCentralTask = false, ) assertThat(sut.state.first()).isEqualTo(expectedResult) } @@ -248,45 +255,41 @@ class TaskViewModelTest { } @Test - fun taskOverlayDisabled_when_usingGroupedTask() = + fun taskOverlayDisabled_when_OverlayIsEnabledForInvisibleTask() = testScope.runTest { - sut = createTaskViewModel(TaskViewType.GROUPED) sut.bind(TASK_MODEL_1.id) recentsViewData.overlayEnabled.value = true - recentsViewData.settledFullyVisibleTaskIds.value = setOf(1) + recentsViewData.settledFullyVisibleTaskIds.value = setOf(2) assertThat(sut.state.first().taskOverlayEnabled).isFalse() } @Test - fun taskOverlayDisabled_when_usingDesktopTask() = + fun taskOverlayDisabled_when_OverlayIsDisabledForVisibleTask() = testScope.runTest { - sut = createTaskViewModel(TaskViewType.DESKTOP) sut.bind(TASK_MODEL_1.id) - recentsViewData.overlayEnabled.value = true + recentsViewData.overlayEnabled.value = false recentsViewData.settledFullyVisibleTaskIds.value = setOf(1) assertThat(sut.state.first().taskOverlayEnabled).isFalse() } @Test - fun taskOverlayDisabled_when_OverlayIsEnabledForInvisibleTask() = + fun isCentralTask_when_CentralTaskIdsMatchTaskIds() = testScope.runTest { - sut.bind(TASK_MODEL_1.id) - recentsViewData.overlayEnabled.value = true - recentsViewData.settledFullyVisibleTaskIds.value = setOf(2) + sut.bind(TASK_MODEL_1.id, TASK_MODEL_2.id) + recentsViewData.centralTaskIds.value = setOf(TASK_MODEL_1.id, TASK_MODEL_2.id) - assertThat(sut.state.first().taskOverlayEnabled).isFalse() + assertThat(sut.state.first().isCentralTask).isTrue() } @Test - fun taskOverlayDisabled_when_OverlayIsDisabledForVisibleTask() = + fun isNotCentralTask_when_CentralTaskIdsDoMatchTaskIds() = testScope.runTest { - sut.bind(TASK_MODEL_1.id) - recentsViewData.overlayEnabled.value = false - recentsViewData.settledFullyVisibleTaskIds.value = setOf(1) + sut.bind(TASK_MODEL_1.id, TASK_MODEL_2.id) + recentsViewData.centralTaskIds.value = setOf(TASK_MODEL_3.id) - assertThat(sut.state.first().taskOverlayEnabled).isFalse() + assertThat(sut.state.first().isCentralTask).isFalse() } @Test diff --git a/quickstep/tests/multivalentTests/src/com/android/quickstep/util/AppPairsControllerTest.kt b/quickstep/tests/multivalentTests/src/com/android/quickstep/util/AppPairsControllerTest.kt index 76d36d3658..c325af4d3e 100644 --- a/quickstep/tests/multivalentTests/src/com/android/quickstep/util/AppPairsControllerTest.kt +++ b/quickstep/tests/multivalentTests/src/com/android/quickstep/util/AppPairsControllerTest.kt @@ -17,8 +17,9 @@ package com.android.quickstep.util import android.app.WindowConfiguration.WINDOWING_MODE_FREEFORM -import android.content.Context import android.content.res.Resources +import android.view.Display +import android.view.Display.DEFAULT_DISPLAY import androidx.test.ext.junit.runners.AndroidJUnit4 import com.android.launcher3.apppairs.AppPairIcon import com.android.launcher3.logging.StatsLogManager @@ -26,6 +27,7 @@ import com.android.launcher3.model.data.ItemInfo import com.android.launcher3.taskbar.TaskbarActivityContext import com.android.launcher3.util.SplitConfigurationOptions.STAGE_POSITION_BOTTOM_OR_RIGHT import com.android.launcher3.util.SplitConfigurationOptions.STAGE_POSITION_TOP_OR_LEFT +import com.android.launcher3.views.ActivityContext import com.android.quickstep.TopTaskTracker import com.android.quickstep.TopTaskTracker.CachedTaskInfo import com.android.systemui.shared.recents.model.Task @@ -56,7 +58,7 @@ import org.mockito.kotlin.whenever @RunWith(AndroidJUnit4::class) class AppPairsControllerTest { - @Mock lateinit var context: Context + @Mock lateinit var context: ActivityContext @Mock lateinit var resources: Resources @Mock lateinit var splitSelectStateController: SplitSelectStateController @Mock lateinit var statsLogManager: StatsLogManager @@ -83,6 +85,7 @@ class AppPairsControllerTest { } @Mock lateinit var mockAppPairIcon: AppPairIcon + @Mock lateinit var mockDisplay: Display @Mock lateinit var mockTaskbarActivityContext: TaskbarActivityContext @Mock lateinit var mockTopTaskTracker: TopTaskTracker @Mock lateinit var mockCachedTaskInfo: CachedTaskInfo @@ -105,8 +108,10 @@ class AppPairsControllerTest { // Stub methods on appPairsController so that they return mocks spyAppPairsController = spy(appPairsController) whenever(mockAppPairIcon.context).thenReturn(mockTaskbarActivityContext) + whenever(mockAppPairIcon.display).thenReturn(mockDisplay) + whenever(mockDisplay.displayId).thenReturn(DEFAULT_DISPLAY) doReturn(mockTopTaskTracker).whenever(spyAppPairsController).topTaskTracker - whenever(mockTopTaskTracker.getCachedTopTask(any())).thenReturn(mockCachedTaskInfo) + whenever(mockTopTaskTracker.getCachedTopTask(any(), any())).thenReturn(mockCachedTaskInfo) whenever(mockTask1.getKey()).thenReturn(mockTaskKey1) whenever(mockTask2.getKey()).thenReturn(mockTaskKey2) doNothing().whenever(spyAppPairsController).launchAppPair(any(), any()) diff --git a/quickstep/tests/src/com/android/quickstep/InputConsumerUtilsTest.java b/quickstep/tests/src/com/android/quickstep/InputConsumerUtilsTest.java index 93b979cc32..1464ca8432 100644 --- a/quickstep/tests/src/com/android/quickstep/InputConsumerUtilsTest.java +++ b/quickstep/tests/src/com/android/quickstep/InputConsumerUtilsTest.java @@ -293,7 +293,7 @@ public class InputConsumerUtilsTest { @Test public void testNewBaseConsumer_launcherChildActivityResumed_returnsDefaultInputConsumer() { when(mRunningTask.isHomeTask()).thenReturn(true); - when(mOverviewComponentObserver.isHomeAndOverviewSame()).thenReturn(true); + when(mOverviewComponentObserver.isHomeAndOverviewSameActivity()).thenReturn(true); assertEqualsDefaultInputConsumer(this::createBaseInputConsumer); } diff --git a/res/drawable/ic_split_horizontal.xml b/res/drawable/ic_split_horizontal.xml index 2efd2b9bc2..26efedc4d9 100644 --- a/res/drawable/ic_split_horizontal.xml +++ b/res/drawable/ic_split_horizontal.xml @@ -1,9 +1,25 @@ +<!-- + ~ Copyright (C) 2025 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" - android:width="24dp" - android:height="24dp" - android:viewportWidth="24" - android:viewportHeight="24"> - <path - android:pathData="M4,6L9,6L9,18L4,18L4,6ZM2,6L2,18C2,19.1 2.9,20 4,20L9,20C10.1,20 11,19.1 11,18L11,6C11,4.9 10.1,4 9,4L4,4C2.9,4 2,4.9 2,6ZM15,6L20,6L20,18L15,18L15,6ZM13,6L13,18C13,19.1 13.9,20 15,20L20,20C21.1,20 22,19.1 22,18L22,6C22,4.9 21.1,4 20,4L15,4C13.9,4 13,4.9 13,6Z" - android:fillColor="#000000"/> + android:width="20dp" + android:height="20dp" + android:tint="?attr/colorControlNormal" + android:viewportHeight="960" + android:viewportWidth="960"> + <path + android:fillColor="@android:color/white" + android:pathData="M552,624L684,624Q699.3,624 709.65,613.66Q720,603.32 720,588.04L720,372.28Q720,357 709.65,346.5Q699.3,336 684,336L552,336Q536.7,336 526.35,346.34Q516,356.68 516,371.96L516,587.72Q516,603 526.35,613.5Q536.7,624 552,624ZM276,624L408,624Q423.3,624 433.65,613.66Q444,603.32 444,588.04L444,372.28Q444,357 433.65,346.5Q423.3,336 408,336L276,336Q260.7,336 250.35,346.34Q240,356.68 240,371.96L240,587.72Q240,603 250.35,613.5Q260.7,624 276,624ZM168,768Q138.3,768 117.15,746.84Q96,725.68 96,695.96L96,263.72Q96,234 117.15,213Q138.3,192 168,192L792,192Q821.7,192 842.85,213.16Q864,234.32 864,264.04L864,696.28Q864,726 842.85,747Q821.7,768 792,768L168,768ZM792,264L168,264Q168,264 168,264Q168,264 168,264L168,696Q168,696 168,696Q168,696 168,696L792,696Q792,696 792,696Q792,696 792,696L792,264Q792,264 792,264Q792,264 792,264ZM168,264Q168,264 168,264Q168,264 168,264L168,696Q168,696 168,696Q168,696 168,696L168,696Q168,696 168,696Q168,696 168,696L168,264Q168,264 168,264Q168,264 168,264Z" /> </vector> diff --git a/res/drawable/ic_split_vertical.xml b/res/drawable/ic_split_vertical.xml index 9bc97851ab..787953a52f 100644 --- a/res/drawable/ic_split_vertical.xml +++ b/res/drawable/ic_split_vertical.xml @@ -1,9 +1,25 @@ +<!-- + ~ Copyright (C) 2025 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" - android:width="24dp" - android:height="24dp" - android:viewportWidth="24" - android:viewportHeight="24"> - <path - android:pathData="M18,4V9H6V4H18ZM18,2H6C4.9,2 4,2.9 4,4V9C4,10.1 4.9,11 6,11H18C19.1,11 20,10.1 20,9V4C20,2.9 19.1,2 18,2ZM18,15V20H6V15H18ZM18,13H6C4.9,13 4,13.9 4,15V20C4,21.1 4.9,22 6,22H18C19.1,22 20,21.1 20,20V15C20,13.9 19.1,13 18,13Z" - android:fillColor="#000000"/> + android:width="20dp" + android:height="20dp" + android:tint="?attr/colorControlNormal" + android:viewportHeight="960" + android:viewportWidth="960"> + <path + android:fillColor="@android:color/white" + android:pathData="M371.96,720L587.72,720Q603,720 613.5,709.65Q624,699.3 624,684L624,552Q624,536.7 613.66,526.35Q603.32,516 588.04,516L372.28,516Q357,516 346.5,526.35Q336,536.7 336,552L336,684Q336,699.3 346.34,709.65Q356.68,720 371.96,720ZM371.96,444L587.72,444Q603,444 613.5,433.65Q624,423.3 624,408L624,276Q624,260.7 613.66,250.35Q603.32,240 588.04,240L372.28,240Q357,240 346.5,250.35Q336,260.7 336,276L336,408Q336,423.3 346.34,433.65Q356.68,444 371.96,444ZM768,792Q768,821.7 746.84,842.85Q725.68,864 695.96,864L263.72,864Q234,864 213,842.85Q192,821.7 192,792L192,168Q192,138.3 213.16,117.15Q234.32,96 264.04,96L696.28,96Q726,96 747,117.15Q768,138.3 768,168L768,792ZM696,792L696,168Q696,168 696,168Q696,168 696,168L264,168Q264,168 264,168Q264,168 264,168L264,792Q264,792 264,792Q264,792 264,792L696,792Q696,792 696,792Q696,792 696,792ZM696,168Q696,168 696,168Q696,168 696,168L264,168Q264,168 264,168Q264,168 264,168L264,168Q264,168 264,168Q264,168 264,168L696,168Q696,168 696,168Q696,168 696,168Z" /> </vector> diff --git a/res/values-af/strings.xml b/res/values-af/strings.xml index 4133419051..962a018232 100644 --- a/res/values-af/strings.xml +++ b/res/values-af/strings.xml @@ -131,8 +131,7 @@ <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Muurpapier en styl"</string> <string name="edit_home_screen" msgid="8947858375782098427">"Wysig tuisskerm"</string> <string name="settings_button_text" msgid="8873672322605444408">"Tuis-instellings"</string> - <!-- no translation found for all_apps_home_screen (8658178652647896497) --> - <skip /> + <string name="all_apps_home_screen" msgid="8658178652647896497">"Apps"</string> <string name="msg_disabled_by_admin" msgid="6898038085516271325">"Gedeaktiveer deur jou administrateur"</string> <string name="allow_rotation_title" msgid="7222049633713050106">"Laat toe dat tuisskerm gedraai word"</string> <string name="allow_rotation_desc" msgid="8662546029078692509">"Wanneer foon gedraai word"</string> @@ -186,10 +185,8 @@ <string name="action_decrease_height" msgid="282377193880900022">"Verminder hoogte"</string> <string name="widget_resized" msgid="9130327887929620">"Legstukgrootte is verander na breedte <xliff:g id="NUMBER_0">%1$s</xliff:g> hoogte <xliff:g id="NUMBER_1">%2$s</xliff:g>"</string> <string name="action_deep_shortcut" msgid="4766835855579976045">"Kortpadkieslys"</string> - <!-- no translation found for widget_frame_name (8782828448471444270) --> - <skip /> - <!-- no translation found for action_close (1077760267194136901) --> - <skip /> + <string name="widget_frame_name" msgid="8782828448471444270">"Verander grootte van legstukraam vir <xliff:g id="STRING">%1$s</xliff:g>"</string> + <string name="action_close" msgid="1077760267194136901">"Maak toe"</string> <string name="action_dismiss_notification" msgid="5909461085055959187">"Maak toe"</string> <string name="accessibility_close" msgid="2277148124685870734">"Maak toe"</string> <string name="all_apps_personal_tab" msgid="4190252696685155002">"Persoonlik"</string> diff --git a/res/values-am/strings.xml b/res/values-am/strings.xml index 4cb4e1ac1f..1fbff54b09 100644 --- a/res/values-am/strings.xml +++ b/res/values-am/strings.xml @@ -131,8 +131,7 @@ <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"ልጣፍ እና ቅጥ"</string> <string name="edit_home_screen" msgid="8947858375782098427">"መነሻ ማያ ገጽን አርትዕ"</string> <string name="settings_button_text" msgid="8873672322605444408">"የመነሻ ቅንብሮች"</string> - <!-- no translation found for all_apps_home_screen (8658178652647896497) --> - <skip /> + <string name="all_apps_home_screen" msgid="8658178652647896497">"መተግበሪያዎች"</string> <string name="msg_disabled_by_admin" msgid="6898038085516271325">"በእርስዎ አስተዳዳሪ የተሰናከለ"</string> <string name="allow_rotation_title" msgid="7222049633713050106">"የመነሻ ማያ ገፅ ማሽከርከርን ይፍቀዱ"</string> <string name="allow_rotation_desc" msgid="8662546029078692509">"ስልኩ ሲዞር"</string> @@ -186,10 +185,8 @@ <string name="action_decrease_height" msgid="282377193880900022">"ቁመት ይቀንሱ"</string> <string name="widget_resized" msgid="9130327887929620">"የመግብር መጠን ወደ ስፋት <xliff:g id="NUMBER_0">%1$s</xliff:g> ቁመት <xliff:g id="NUMBER_1">%2$s</xliff:g> ተለውጧል"</string> <string name="action_deep_shortcut" msgid="4766835855579976045">"የአቋራጭ ምናሌ"</string> - <!-- no translation found for widget_frame_name (8782828448471444270) --> - <skip /> - <!-- no translation found for action_close (1077760267194136901) --> - <skip /> + <string name="widget_frame_name" msgid="8782828448471444270">"ለ<xliff:g id="STRING">%1$s</xliff:g> የሚሆን የምግብር መጠን መቀይር ክፍለ ገጸ ድር"</string> + <string name="action_close" msgid="1077760267194136901">"ዝጋ"</string> <string name="action_dismiss_notification" msgid="5909461085055959187">"አሰናብት"</string> <string name="accessibility_close" msgid="2277148124685870734">"ዝጋ"</string> <string name="all_apps_personal_tab" msgid="4190252696685155002">"የግል"</string> diff --git a/res/values-ar/strings.xml b/res/values-ar/strings.xml index 3961d11e3c..bd49e081c1 100644 --- a/res/values-ar/strings.xml +++ b/res/values-ar/strings.xml @@ -131,8 +131,7 @@ <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"الخلفية والأسلوب"</string> <string name="edit_home_screen" msgid="8947858375782098427">"تعديل الشاشة الرئيسية"</string> <string name="settings_button_text" msgid="8873672322605444408">"إعدادات الشاشة الرئيسية"</string> - <!-- no translation found for all_apps_home_screen (8658178652647896497) --> - <skip /> + <string name="all_apps_home_screen" msgid="8658178652647896497">"التطبيقات"</string> <string name="msg_disabled_by_admin" msgid="6898038085516271325">"أوقف المشرف هذه الميزة"</string> <string name="allow_rotation_title" msgid="7222049633713050106">"السماح بتدوير الشاشة الرئيسية"</string> <string name="allow_rotation_desc" msgid="8662546029078692509">"عند تدوير الهاتف"</string> @@ -186,10 +185,8 @@ <string name="action_decrease_height" msgid="282377193880900022">"تقليل الارتفاع"</string> <string name="widget_resized" msgid="9130327887929620">"تم تغيير حجم التطبيق المصغَّر إلى العرض <xliff:g id="NUMBER_0">%1$s</xliff:g> والارتفاع <xliff:g id="NUMBER_1">%2$s</xliff:g>"</string> <string name="action_deep_shortcut" msgid="4766835855579976045">"قائمة الاختصارات"</string> - <!-- no translation found for widget_frame_name (8782828448471444270) --> - <skip /> - <!-- no translation found for action_close (1077760267194136901) --> - <skip /> + <string name="widget_frame_name" msgid="8782828448471444270">"تغيير حجم إطار تطبيق \"<xliff:g id="STRING">%1$s</xliff:g>\" المصغّر"</string> + <string name="action_close" msgid="1077760267194136901">"إغلاق"</string> <string name="action_dismiss_notification" msgid="5909461085055959187">"تجاهل"</string> <string name="accessibility_close" msgid="2277148124685870734">"إغلاق"</string> <string name="all_apps_personal_tab" msgid="4190252696685155002">"شخصية"</string> @@ -220,6 +217,5 @@ <string name="ps_container_transition" msgid="8667331812048014412">"النقل إلى المساحة الخاصة"</string> <string name="ps_add_button_label" msgid="8127988716897128773">"تثبيت"</string> <string name="ps_add_button_content_description" msgid="3254274107740952556">"تثبيت التطبيقات في المساحة الخاصّة"</string> - <!-- no translation found for ps_app_content_description (1129133475892816226) --> - <skip /> + <string name="ps_app_content_description" msgid="1129133475892816226">"إضافة ملفات والمزيد إلى \"المساحة الخاصّة\""</string> </resources> diff --git a/res/values-as/strings.xml b/res/values-as/strings.xml index b1b411374c..87301ff237 100644 --- a/res/values-as/strings.xml +++ b/res/values-as/strings.xml @@ -131,8 +131,7 @@ <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"ৱালপেপাৰ আৰু শৈলী"</string> <string name="edit_home_screen" msgid="8947858375782098427">"গৃহ স্ক্ৰীন সম্পাদনা কৰক"</string> <string name="settings_button_text" msgid="8873672322605444408">"গৃহ ছেটিং"</string> - <!-- no translation found for all_apps_home_screen (8658178652647896497) --> - <skip /> + <string name="all_apps_home_screen" msgid="8658178652647896497">"এপ্"</string> <string name="msg_disabled_by_admin" msgid="6898038085516271325">"আপোনাৰ প্ৰশাসকে অক্ষম কৰি ৰাখিছে"</string> <string name="allow_rotation_title" msgid="7222049633713050106">"গৃহ স্ক্ৰীন ঘূৰোৱাৰ অনুমতি দিয়ক"</string> <string name="allow_rotation_desc" msgid="8662546029078692509">"ফ\'নটো যেতিয়া ঘূৰোৱা হয়"</string> @@ -186,10 +185,8 @@ <string name="action_decrease_height" msgid="282377193880900022">"উচ্চতা হ্ৰাস কৰক"</string> <string name="widget_resized" msgid="9130327887929620">"ৱিজেটৰ আকাৰ সলনি কৰি প্ৰস্থ <xliff:g id="NUMBER_0">%1$s</xliff:g> আৰু উচ্চতা <xliff:g id="NUMBER_1">%2$s</xliff:g> কৰা হ’ল"</string> <string name="action_deep_shortcut" msgid="4766835855579976045">"শ্বৰ্টকাটৰ মেনু"</string> - <!-- no translation found for widget_frame_name (8782828448471444270) --> - <skip /> - <!-- no translation found for action_close (1077760267194136901) --> - <skip /> + <string name="widget_frame_name" msgid="8782828448471444270">"<xliff:g id="STRING">%1$s</xliff:g>ৰ বাবে ৱিজেটৰ আকাৰ সলনি কৰা ফ্রে’ম"</string> + <string name="action_close" msgid="1077760267194136901">"বন্ধ কৰক"</string> <string name="action_dismiss_notification" msgid="5909461085055959187">"অগ্ৰাহ্য কৰক"</string> <string name="accessibility_close" msgid="2277148124685870734">"বন্ধ কৰক"</string> <string name="all_apps_personal_tab" msgid="4190252696685155002">"ব্যক্তিগত"</string> diff --git a/res/values-az/strings.xml b/res/values-az/strings.xml index 061b62137b..b37830289d 100644 --- a/res/values-az/strings.xml +++ b/res/values-az/strings.xml @@ -131,8 +131,7 @@ <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Divar kağızı və üslub"</string> <string name="edit_home_screen" msgid="8947858375782098427">"Əsas ekranı redaktə edin"</string> <string name="settings_button_text" msgid="8873672322605444408">"Home ayarları"</string> - <!-- no translation found for all_apps_home_screen (8658178652647896497) --> - <skip /> + <string name="all_apps_home_screen" msgid="8658178652647896497">"Tətbiqlər"</string> <string name="msg_disabled_by_admin" msgid="6898038085516271325">"Admininiz tərəfindən deaktiv edilib"</string> <string name="allow_rotation_title" msgid="7222049633713050106">"Əsas ekran çevrilsin"</string> <string name="allow_rotation_desc" msgid="8662546029078692509">"Telefon çevrilən zaman"</string> @@ -186,10 +185,8 @@ <string name="action_decrease_height" msgid="282377193880900022">"Hündürlüyü azaldın"</string> <string name="widget_resized" msgid="9130327887929620">"Vidcetin eni <xliff:g id="NUMBER_0">%1$s</xliff:g> hündürlüyü <xliff:g id="NUMBER_1">%2$s</xliff:g> kimi ölçüləndirildi"</string> <string name="action_deep_shortcut" msgid="4766835855579976045">"Qısayol menyusu"</string> - <!-- no translation found for widget_frame_name (8782828448471444270) --> - <skip /> - <!-- no translation found for action_close (1077760267194136901) --> - <skip /> + <string name="widget_frame_name" msgid="8782828448471444270">"<xliff:g id="STRING">%1$s</xliff:g> üçün vidcet ölçüsünü dəyişdirmə çərçivəsi"</string> + <string name="action_close" msgid="1077760267194136901">"Bağlayın"</string> <string name="action_dismiss_notification" msgid="5909461085055959187">"Rədd edin"</string> <string name="accessibility_close" msgid="2277148124685870734">"Bağlayın"</string> <string name="all_apps_personal_tab" msgid="4190252696685155002">"Şəxsi"</string> @@ -220,6 +217,5 @@ <string name="ps_container_transition" msgid="8667331812048014412">"Şəxsi məkana keçid"</string> <string name="ps_add_button_label" msgid="8127988716897128773">"Quraşdırın"</string> <string name="ps_add_button_content_description" msgid="3254274107740952556">"Tətbiqləri şəxsi sahədə quraşdırın"</string> - <!-- no translation found for ps_app_content_description (1129133475892816226) --> - <skip /> + <string name="ps_app_content_description" msgid="1129133475892816226">"Private Space-ə fayllar və s. əlavə edin"</string> </resources> diff --git a/res/values-b+sr+Latn/strings.xml b/res/values-b+sr+Latn/strings.xml index b53224a056..de03de52b6 100644 --- a/res/values-b+sr+Latn/strings.xml +++ b/res/values-b+sr+Latn/strings.xml @@ -131,8 +131,7 @@ <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Pozadina i stil"</string> <string name="edit_home_screen" msgid="8947858375782098427">"Izmeni početni ekran"</string> <string name="settings_button_text" msgid="8873672322605444408">"Podešavanja početnog ekrana"</string> - <!-- no translation found for all_apps_home_screen (8658178652647896497) --> - <skip /> + <string name="all_apps_home_screen" msgid="8658178652647896497">"Aplikacije"</string> <string name="msg_disabled_by_admin" msgid="6898038085516271325">"Administrator je onemogućio"</string> <string name="allow_rotation_title" msgid="7222049633713050106">"Dozvoli rotaciju početnog ekrana"</string> <string name="allow_rotation_desc" msgid="8662546029078692509">"Kada se telefon rotira"</string> @@ -186,10 +185,8 @@ <string name="action_decrease_height" msgid="282377193880900022">"Smanji visinu"</string> <string name="widget_resized" msgid="9130327887929620">"Veličina vidžeta je promenjena na širinu <xliff:g id="NUMBER_0">%1$s</xliff:g> i visinu <xliff:g id="NUMBER_1">%2$s</xliff:g>"</string> <string name="action_deep_shortcut" msgid="4766835855579976045">"Meni sa prečicama"</string> - <!-- no translation found for widget_frame_name (8782828448471444270) --> - <skip /> - <!-- no translation found for action_close (1077760267194136901) --> - <skip /> + <string name="widget_frame_name" msgid="8782828448471444270">"Promena veličine okvira vidžeta za: <xliff:g id="STRING">%1$s</xliff:g>"</string> + <string name="action_close" msgid="1077760267194136901">"Zatvorite"</string> <string name="action_dismiss_notification" msgid="5909461085055959187">"Odbaci"</string> <string name="accessibility_close" msgid="2277148124685870734">"Zatvori"</string> <string name="all_apps_personal_tab" msgid="4190252696685155002">"Lično"</string> @@ -220,6 +217,5 @@ <string name="ps_container_transition" msgid="8667331812048014412">"Prenos privatnog prostora"</string> <string name="ps_add_button_label" msgid="8127988716897128773">"Instalirajte"</string> <string name="ps_add_button_content_description" msgid="3254274107740952556">"Instaliraj aplikacije u privatan prostor"</string> - <!-- no translation found for ps_app_content_description (1129133475892816226) --> - <skip /> + <string name="ps_app_content_description" msgid="1129133475892816226">"Dodajte fajlove i drugo u privatan prostor"</string> </resources> diff --git a/res/values-be/strings.xml b/res/values-be/strings.xml index b12eb23e09..a0ff53c731 100644 --- a/res/values-be/strings.xml +++ b/res/values-be/strings.xml @@ -131,8 +131,7 @@ <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Шпалеры і стыль"</string> <string name="edit_home_screen" msgid="8947858375782098427">"Змяніць Галоўны экран"</string> <string name="settings_button_text" msgid="8873672322605444408">"Налады галоўнага экрана"</string> - <!-- no translation found for all_apps_home_screen (8658178652647896497) --> - <skip /> + <string name="all_apps_home_screen" msgid="8658178652647896497">"Праграмы"</string> <string name="msg_disabled_by_admin" msgid="6898038085516271325">"Адключаная адміністратарам"</string> <string name="allow_rotation_title" msgid="7222049633713050106">"Дазволіць паварот галоўнага экрана"</string> <string name="allow_rotation_desc" msgid="8662546029078692509">"Пры павароце тэлефона"</string> @@ -186,10 +185,8 @@ <string name="action_decrease_height" msgid="282377193880900022">"Паменшыць вышыню"</string> <string name="widget_resized" msgid="9130327887929620">"Памеры віджэта зменены на: шырыня <xliff:g id="NUMBER_0">%1$s</xliff:g>, вышыня <xliff:g id="NUMBER_1">%2$s</xliff:g>"</string> <string name="action_deep_shortcut" msgid="4766835855579976045">"Меню спалучэнняў клавіш"</string> - <!-- no translation found for widget_frame_name (8782828448471444270) --> - <skip /> - <!-- no translation found for action_close (1077760267194136901) --> - <skip /> + <string name="widget_frame_name" msgid="8782828448471444270">"Рамка змянення памеру для віджэта \"<xliff:g id="STRING">%1$s</xliff:g>\""</string> + <string name="action_close" msgid="1077760267194136901">"Закрыць"</string> <string name="action_dismiss_notification" msgid="5909461085055959187">"Адхіліць"</string> <string name="accessibility_close" msgid="2277148124685870734">"Закрыць"</string> <string name="all_apps_personal_tab" msgid="4190252696685155002">"Асабістыя"</string> @@ -220,6 +217,5 @@ <string name="ps_container_transition" msgid="8667331812048014412">"Пераход у прыватную вобласць"</string> <string name="ps_add_button_label" msgid="8127988716897128773">"Усталяваць"</string> <string name="ps_add_button_content_description" msgid="3254274107740952556">"Усталяваць праграмы ў прыватнай прасторы"</string> - <!-- no translation found for ps_app_content_description (1129133475892816226) --> - <skip /> + <string name="ps_app_content_description" msgid="1129133475892816226">"Дадавайце файлы і іншае змесціва ў прыватную прастору"</string> </resources> diff --git a/res/values-bg/strings.xml b/res/values-bg/strings.xml index ee4dabc8e8..60624a2aba 100644 --- a/res/values-bg/strings.xml +++ b/res/values-bg/strings.xml @@ -131,8 +131,7 @@ <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Тапет и стил"</string> <string name="edit_home_screen" msgid="8947858375782098427">"Редактиране на началния екран"</string> <string name="settings_button_text" msgid="8873672322605444408">"Настройки за началния екран"</string> - <!-- no translation found for all_apps_home_screen (8658178652647896497) --> - <skip /> + <string name="all_apps_home_screen" msgid="8658178652647896497">"Приложения"</string> <string name="msg_disabled_by_admin" msgid="6898038085516271325">"Деактивирано от администратора ви"</string> <string name="allow_rotation_title" msgid="7222049633713050106">"Разрешаване на завъртането на началния екран"</string> <string name="allow_rotation_desc" msgid="8662546029078692509">"При завъртане на телефона"</string> @@ -186,10 +185,8 @@ <string name="action_decrease_height" msgid="282377193880900022">"Намаляване на височината"</string> <string name="widget_resized" msgid="9130327887929620">"Приспособлението е преоразмерено към ширина <xliff:g id="NUMBER_0">%1$s</xliff:g> и височина <xliff:g id="NUMBER_1">%2$s</xliff:g>"</string> <string name="action_deep_shortcut" msgid="4766835855579976045">"Меню за клавишните комбинации"</string> - <!-- no translation found for widget_frame_name (8782828448471444270) --> - <skip /> - <!-- no translation found for action_close (1077760267194136901) --> - <skip /> + <string name="widget_frame_name" msgid="8782828448471444270">"Рамка за преоразмеряване на приспособлението за <xliff:g id="STRING">%1$s</xliff:g>"</string> + <string name="action_close" msgid="1077760267194136901">"Затваряне"</string> <string name="action_dismiss_notification" msgid="5909461085055959187">"Отхвърляне"</string> <string name="accessibility_close" msgid="2277148124685870734">"Затваряне"</string> <string name="all_apps_personal_tab" msgid="4190252696685155002">"Лични"</string> @@ -220,6 +217,5 @@ <string name="ps_container_transition" msgid="8667331812048014412">"Преминаване към частното пространство"</string> <string name="ps_add_button_label" msgid="8127988716897128773">"Инсталиране"</string> <string name="ps_add_button_content_description" msgid="3254274107740952556">"Инсталиране на приложения в частно пространство"</string> - <!-- no translation found for ps_app_content_description (1129133475892816226) --> - <skip /> + <string name="ps_app_content_description" msgid="1129133475892816226">"Добавяне на файлове и др. в частно пространство"</string> </resources> diff --git a/res/values-bn/strings.xml b/res/values-bn/strings.xml index a889a94f57..f7c68d5c64 100644 --- a/res/values-bn/strings.xml +++ b/res/values-bn/strings.xml @@ -131,8 +131,7 @@ <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"ওয়ালপেপার এবং স্টাইল"</string> <string name="edit_home_screen" msgid="8947858375782098427">"হোম স্ক্রিন এডিট করুন"</string> <string name="settings_button_text" msgid="8873672322605444408">"হোম সেটিংস"</string> - <!-- no translation found for all_apps_home_screen (8658178652647896497) --> - <skip /> + <string name="all_apps_home_screen" msgid="8658178652647896497">"অ্যাপ"</string> <string name="msg_disabled_by_admin" msgid="6898038085516271325">"আপনার প্রশাসক দ্বারা অক্ষম করা হয়েছে"</string> <string name="allow_rotation_title" msgid="7222049633713050106">"হোম স্ক্রিন রোটেট করার অনুমতি দিন"</string> <string name="allow_rotation_desc" msgid="8662546029078692509">"যখন ফোনটি ঘোরানো হয়"</string> @@ -186,10 +185,8 @@ <string name="action_decrease_height" msgid="282377193880900022">"উচ্চতা কমান"</string> <string name="widget_resized" msgid="9130327887929620">"উইজেটের আকার প্রস্থ <xliff:g id="NUMBER_0">%1$s</xliff:g> উচ্চতা <xliff:g id="NUMBER_1">%2$s</xliff:g> তে পরিবর্তন করা হয়েছে"</string> <string name="action_deep_shortcut" msgid="4766835855579976045">"শর্টকাট মেনু"</string> - <!-- no translation found for widget_frame_name (8782828448471444270) --> - <skip /> - <!-- no translation found for action_close (1077760267194136901) --> - <skip /> + <string name="widget_frame_name" msgid="8782828448471444270">"<xliff:g id="STRING">%1$s</xliff:g>-এর জন্য উইজেট ছোট বড় করার ফ্রেম"</string> + <string name="action_close" msgid="1077760267194136901">"বন্ধ করুন"</string> <string name="action_dismiss_notification" msgid="5909461085055959187">"খারিজ করুন"</string> <string name="accessibility_close" msgid="2277148124685870734">"বন্ধ করুন"</string> <string name="all_apps_personal_tab" msgid="4190252696685155002">"ব্যক্তিগত"</string> diff --git a/res/values-bs/strings.xml b/res/values-bs/strings.xml index 43088791ec..96d567ca49 100644 --- a/res/values-bs/strings.xml +++ b/res/values-bs/strings.xml @@ -131,8 +131,7 @@ <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Pozadinska slika i stil"</string> <string name="edit_home_screen" msgid="8947858375782098427">"Uredi Početni ekran"</string> <string name="settings_button_text" msgid="8873672322605444408">"Postavke početnog ekrana"</string> - <!-- no translation found for all_apps_home_screen (8658178652647896497) --> - <skip /> + <string name="all_apps_home_screen" msgid="8658178652647896497">"Aplikacije"</string> <string name="msg_disabled_by_admin" msgid="6898038085516271325">"Onemogućio vaš administrator"</string> <string name="allow_rotation_title" msgid="7222049633713050106">"Dozvoli rotiranje početnog ekrana"</string> <string name="allow_rotation_desc" msgid="8662546029078692509">"Kada se telefon zarotira"</string> @@ -186,10 +185,8 @@ <string name="action_decrease_height" msgid="282377193880900022">"Smanji visinu"</string> <string name="widget_resized" msgid="9130327887929620">"Veličina vidžeta je promijenjena na širinu <xliff:g id="NUMBER_0">%1$s</xliff:g> visinu <xliff:g id="NUMBER_1">%2$s</xliff:g>"</string> <string name="action_deep_shortcut" msgid="4766835855579976045">"Meni prečica"</string> - <!-- no translation found for widget_frame_name (8782828448471444270) --> - <skip /> - <!-- no translation found for action_close (1077760267194136901) --> - <skip /> + <string name="widget_frame_name" msgid="8782828448471444270">"Promjena veličine okvira vidžeta za aplikaciju <xliff:g id="STRING">%1$s</xliff:g>"</string> + <string name="action_close" msgid="1077760267194136901">"Zatvaranje"</string> <string name="action_dismiss_notification" msgid="5909461085055959187">"Odbaci"</string> <string name="accessibility_close" msgid="2277148124685870734">"Zatvaranje"</string> <string name="all_apps_personal_tab" msgid="4190252696685155002">"Lično"</string> diff --git a/res/values-ca/strings.xml b/res/values-ca/strings.xml index 434117b6e4..839c6813dd 100644 --- a/res/values-ca/strings.xml +++ b/res/values-ca/strings.xml @@ -131,8 +131,7 @@ <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Estil i fons de pantalla"</string> <string name="edit_home_screen" msgid="8947858375782098427">"Edita la pantalla d\'inici"</string> <string name="settings_button_text" msgid="8873672322605444408">"Configuració de la pantalla d\'inici"</string> - <!-- no translation found for all_apps_home_screen (8658178652647896497) --> - <skip /> + <string name="all_apps_home_screen" msgid="8658178652647896497">"Aplicacions"</string> <string name="msg_disabled_by_admin" msgid="6898038085516271325">"Desactivada per l\'administrador"</string> <string name="allow_rotation_title" msgid="7222049633713050106">"Permet la rotació de la pantalla d\'inici"</string> <string name="allow_rotation_desc" msgid="8662546029078692509">"En girar el telèfon"</string> @@ -186,10 +185,8 @@ <string name="action_decrease_height" msgid="282377193880900022">"Redueix l\'alçada"</string> <string name="widget_resized" msgid="9130327887929620">"S\'ha canviat la mida del widget a l\'amplada <xliff:g id="NUMBER_0">%1$s</xliff:g> i l\'alçada <xliff:g id="NUMBER_1">%2$s</xliff:g>"</string> <string name="action_deep_shortcut" msgid="4766835855579976045">"Menú de dreceres"</string> - <!-- no translation found for widget_frame_name (8782828448471444270) --> - <skip /> - <!-- no translation found for action_close (1077760267194136901) --> - <skip /> + <string name="widget_frame_name" msgid="8782828448471444270">"Marc de canvi de mida del widget per a <xliff:g id="STRING">%1$s</xliff:g>"</string> + <string name="action_close" msgid="1077760267194136901">"Tanca"</string> <string name="action_dismiss_notification" msgid="5909461085055959187">"Ignora"</string> <string name="accessibility_close" msgid="2277148124685870734">"Tanca"</string> <string name="all_apps_personal_tab" msgid="4190252696685155002">"Personal"</string> diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml index bc73d08e5a..e297418b11 100644 --- a/res/values-cs/strings.xml +++ b/res/values-cs/strings.xml @@ -131,8 +131,7 @@ <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Tapety a styl"</string> <string name="edit_home_screen" msgid="8947858375782098427">"Upravit plochu"</string> <string name="settings_button_text" msgid="8873672322605444408">"Nastavení plochy"</string> - <!-- no translation found for all_apps_home_screen (8658178652647896497) --> - <skip /> + <string name="all_apps_home_screen" msgid="8658178652647896497">"Aplikace"</string> <string name="msg_disabled_by_admin" msgid="6898038085516271325">"Zakázáno administrátorem"</string> <string name="allow_rotation_title" msgid="7222049633713050106">"Povolit otáčení plochy"</string> <string name="allow_rotation_desc" msgid="8662546029078692509">"Při otočení telefonu"</string> @@ -186,10 +185,8 @@ <string name="action_decrease_height" msgid="282377193880900022">"Snížit výšku"</string> <string name="widget_resized" msgid="9130327887929620">"Velikost widgetu upravena: šířka <xliff:g id="NUMBER_0">%1$s</xliff:g>, výška <xliff:g id="NUMBER_1">%2$s</xliff:g>"</string> <string name="action_deep_shortcut" msgid="4766835855579976045">"Nabídka zkratek"</string> - <!-- no translation found for widget_frame_name (8782828448471444270) --> - <skip /> - <!-- no translation found for action_close (1077760267194136901) --> - <skip /> + <string name="widget_frame_name" msgid="8782828448471444270">"Rámec widgetu pro změnu velikosti pro <xliff:g id="STRING">%1$s</xliff:g>"</string> + <string name="action_close" msgid="1077760267194136901">"Zavřít"</string> <string name="action_dismiss_notification" msgid="5909461085055959187">"Zavřít"</string> <string name="accessibility_close" msgid="2277148124685870734">"Zavřít"</string> <string name="all_apps_personal_tab" msgid="4190252696685155002">"Osobní"</string> diff --git a/res/values-da/strings.xml b/res/values-da/strings.xml index 0a2f74f7db..9691fb0d98 100644 --- a/res/values-da/strings.xml +++ b/res/values-da/strings.xml @@ -131,8 +131,7 @@ <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Baggrund og stil"</string> <string name="edit_home_screen" msgid="8947858375782098427">"Rediger startskærm"</string> <string name="settings_button_text" msgid="8873672322605444408">"Indst. for startskærm"</string> - <!-- no translation found for all_apps_home_screen (8658178652647896497) --> - <skip /> + <string name="all_apps_home_screen" msgid="8658178652647896497">"Apps"</string> <string name="msg_disabled_by_admin" msgid="6898038085516271325">"Deaktiveret af din administrator"</string> <string name="allow_rotation_title" msgid="7222049633713050106">"Tillad rotation af startskærmen"</string> <string name="allow_rotation_desc" msgid="8662546029078692509">"Når telefonen roteres"</string> @@ -186,10 +185,8 @@ <string name="action_decrease_height" msgid="282377193880900022">"Reducer højden"</string> <string name="widget_resized" msgid="9130327887929620">"Størrelsen for widgetten er ændret til bredde <xliff:g id="NUMBER_0">%1$s</xliff:g> og højde <xliff:g id="NUMBER_1">%2$s</xliff:g>"</string> <string name="action_deep_shortcut" msgid="4766835855579976045">"Genvejsmenu"</string> - <!-- no translation found for widget_frame_name (8782828448471444270) --> - <skip /> - <!-- no translation found for action_close (1077760267194136901) --> - <skip /> + <string name="widget_frame_name" msgid="8782828448471444270">"Widget til at tilpasse størrelsen på rammen for <xliff:g id="STRING">%1$s</xliff:g>"</string> + <string name="action_close" msgid="1077760267194136901">"Luk"</string> <string name="action_dismiss_notification" msgid="5909461085055959187">"Afvis"</string> <string name="accessibility_close" msgid="2277148124685870734">"Luk"</string> <string name="all_apps_personal_tab" msgid="4190252696685155002">"Personlig"</string> diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml index 69e1d90294..fc390f6487 100644 --- a/res/values-de/strings.xml +++ b/res/values-de/strings.xml @@ -131,8 +131,7 @@ <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Hintergrund & Stil"</string> <string name="edit_home_screen" msgid="8947858375782098427">"Startbildschirm bearbeiten"</string> <string name="settings_button_text" msgid="8873672322605444408">"Einstellungen"</string> - <!-- no translation found for all_apps_home_screen (8658178652647896497) --> - <skip /> + <string name="all_apps_home_screen" msgid="8658178652647896497">"Apps"</string> <string name="msg_disabled_by_admin" msgid="6898038085516271325">"Von deinem Administrator deaktiviert"</string> <string name="allow_rotation_title" msgid="7222049633713050106">"Drehen des Startbildschirms zulassen"</string> <string name="allow_rotation_desc" msgid="8662546029078692509">"Beim Drehen des Smartphones"</string> @@ -186,10 +185,8 @@ <string name="action_decrease_height" msgid="282377193880900022">"Höhe verringern"</string> <string name="widget_resized" msgid="9130327887929620">"Größe des Widgets zu Breite <xliff:g id="NUMBER_0">%1$s</xliff:g> und Höhe <xliff:g id="NUMBER_1">%2$s</xliff:g> geändert"</string> <string name="action_deep_shortcut" msgid="4766835855579976045">"Menü für Tastenkombinationen"</string> - <!-- no translation found for widget_frame_name (8782828448471444270) --> - <skip /> - <!-- no translation found for action_close (1077760267194136901) --> - <skip /> + <string name="widget_frame_name" msgid="8782828448471444270">"Frame „Widget-Größe anpassen“ für <xliff:g id="STRING">%1$s</xliff:g>"</string> + <string name="action_close" msgid="1077760267194136901">"Schließen"</string> <string name="action_dismiss_notification" msgid="5909461085055959187">"Schließen"</string> <string name="accessibility_close" msgid="2277148124685870734">"Schließen"</string> <string name="all_apps_personal_tab" msgid="4190252696685155002">"Privat"</string> diff --git a/res/values-el/strings.xml b/res/values-el/strings.xml index aaa575c256..eff7d24973 100644 --- a/res/values-el/strings.xml +++ b/res/values-el/strings.xml @@ -131,8 +131,7 @@ <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Ταπετσαρία και στιλ"</string> <string name="edit_home_screen" msgid="8947858375782098427">"Επεξεργασία αρχικής οθόνης"</string> <string name="settings_button_text" msgid="8873672322605444408">"Ρυθμ. Αρχικής οθόνης"</string> - <!-- no translation found for all_apps_home_screen (8658178652647896497) --> - <skip /> + <string name="all_apps_home_screen" msgid="8658178652647896497">"Εφαρμογές"</string> <string name="msg_disabled_by_admin" msgid="6898038085516271325">"Απενεργοποιήθηκε από τον διαχειριστή σας"</string> <string name="allow_rotation_title" msgid="7222049633713050106">"Να επιτρέπεται η περιστροφή της αρχικής οθόνης"</string> <string name="allow_rotation_desc" msgid="8662546029078692509">"Όταν το τηλέφωνο περιστρέφεται"</string> @@ -186,10 +185,8 @@ <string name="action_decrease_height" msgid="282377193880900022">"Μείωση του ύψους"</string> <string name="widget_resized" msgid="9130327887929620">"Έγινε προσαρμογή του μεγέθους του γραφικού στοιχείου σε <xliff:g id="NUMBER_0">%1$s</xliff:g> πλάτος και <xliff:g id="NUMBER_1">%2$s</xliff:g> ύψος"</string> <string name="action_deep_shortcut" msgid="4766835855579976045">"Μενού συντομεύσεων"</string> - <!-- no translation found for widget_frame_name (8782828448471444270) --> - <skip /> - <!-- no translation found for action_close (1077760267194136901) --> - <skip /> + <string name="widget_frame_name" msgid="8782828448471444270">"Πλαίσιο αλλαγής μεγέθους γραφικού στοιχείου για <xliff:g id="STRING">%1$s</xliff:g>"</string> + <string name="action_close" msgid="1077760267194136901">"Κλείσιμο"</string> <string name="action_dismiss_notification" msgid="5909461085055959187">"Παράβλεψη"</string> <string name="accessibility_close" msgid="2277148124685870734">"Κλείσιμο"</string> <string name="all_apps_personal_tab" msgid="4190252696685155002">"Προσωπικές"</string> @@ -220,6 +217,5 @@ <string name="ps_container_transition" msgid="8667331812048014412">"Μετάβαση στον Ιδιωτικό χώρο"</string> <string name="ps_add_button_label" msgid="8127988716897128773">"Εγκατάσταση"</string> <string name="ps_add_button_content_description" msgid="3254274107740952556">"Εγκατάσταση εφαρμογών στον ιδιωτικό χώρο"</string> - <!-- no translation found for ps_app_content_description (1129133475892816226) --> - <skip /> + <string name="ps_app_content_description" msgid="1129133475892816226">"Προσθέστε αρχεία και άλλα στοιχεία στον Ιδιωτικό χώρο"</string> </resources> diff --git a/res/values-en-rAU/strings.xml b/res/values-en-rAU/strings.xml index db602e780e..46a9a357c0 100644 --- a/res/values-en-rAU/strings.xml +++ b/res/values-en-rAU/strings.xml @@ -131,8 +131,7 @@ <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Wallpaper and style"</string> <string name="edit_home_screen" msgid="8947858375782098427">"Edit home screen"</string> <string name="settings_button_text" msgid="8873672322605444408">"Home settings"</string> - <!-- no translation found for all_apps_home_screen (8658178652647896497) --> - <skip /> + <string name="all_apps_home_screen" msgid="8658178652647896497">"Apps"</string> <string name="msg_disabled_by_admin" msgid="6898038085516271325">"Disabled by your admin"</string> <string name="allow_rotation_title" msgid="7222049633713050106">"Allow home screen rotation"</string> <string name="allow_rotation_desc" msgid="8662546029078692509">"When phone is rotated"</string> @@ -186,10 +185,8 @@ <string name="action_decrease_height" msgid="282377193880900022">"Decrease height"</string> <string name="widget_resized" msgid="9130327887929620">"Widget re-sized to width <xliff:g id="NUMBER_0">%1$s</xliff:g> height <xliff:g id="NUMBER_1">%2$s</xliff:g>"</string> <string name="action_deep_shortcut" msgid="4766835855579976045">"Shortcut menu"</string> - <!-- no translation found for widget_frame_name (8782828448471444270) --> - <skip /> - <!-- no translation found for action_close (1077760267194136901) --> - <skip /> + <string name="widget_frame_name" msgid="8782828448471444270">"Widget resize frame for <xliff:g id="STRING">%1$s</xliff:g>"</string> + <string name="action_close" msgid="1077760267194136901">"Close"</string> <string name="action_dismiss_notification" msgid="5909461085055959187">"Dismiss"</string> <string name="accessibility_close" msgid="2277148124685870734">"Close"</string> <string name="all_apps_personal_tab" msgid="4190252696685155002">"Personal"</string> diff --git a/res/values-en-rGB/strings.xml b/res/values-en-rGB/strings.xml index db602e780e..46a9a357c0 100644 --- a/res/values-en-rGB/strings.xml +++ b/res/values-en-rGB/strings.xml @@ -131,8 +131,7 @@ <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Wallpaper and style"</string> <string name="edit_home_screen" msgid="8947858375782098427">"Edit home screen"</string> <string name="settings_button_text" msgid="8873672322605444408">"Home settings"</string> - <!-- no translation found for all_apps_home_screen (8658178652647896497) --> - <skip /> + <string name="all_apps_home_screen" msgid="8658178652647896497">"Apps"</string> <string name="msg_disabled_by_admin" msgid="6898038085516271325">"Disabled by your admin"</string> <string name="allow_rotation_title" msgid="7222049633713050106">"Allow home screen rotation"</string> <string name="allow_rotation_desc" msgid="8662546029078692509">"When phone is rotated"</string> @@ -186,10 +185,8 @@ <string name="action_decrease_height" msgid="282377193880900022">"Decrease height"</string> <string name="widget_resized" msgid="9130327887929620">"Widget re-sized to width <xliff:g id="NUMBER_0">%1$s</xliff:g> height <xliff:g id="NUMBER_1">%2$s</xliff:g>"</string> <string name="action_deep_shortcut" msgid="4766835855579976045">"Shortcut menu"</string> - <!-- no translation found for widget_frame_name (8782828448471444270) --> - <skip /> - <!-- no translation found for action_close (1077760267194136901) --> - <skip /> + <string name="widget_frame_name" msgid="8782828448471444270">"Widget resize frame for <xliff:g id="STRING">%1$s</xliff:g>"</string> + <string name="action_close" msgid="1077760267194136901">"Close"</string> <string name="action_dismiss_notification" msgid="5909461085055959187">"Dismiss"</string> <string name="accessibility_close" msgid="2277148124685870734">"Close"</string> <string name="all_apps_personal_tab" msgid="4190252696685155002">"Personal"</string> diff --git a/res/values-en-rIN/strings.xml b/res/values-en-rIN/strings.xml index db602e780e..46a9a357c0 100644 --- a/res/values-en-rIN/strings.xml +++ b/res/values-en-rIN/strings.xml @@ -131,8 +131,7 @@ <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Wallpaper and style"</string> <string name="edit_home_screen" msgid="8947858375782098427">"Edit home screen"</string> <string name="settings_button_text" msgid="8873672322605444408">"Home settings"</string> - <!-- no translation found for all_apps_home_screen (8658178652647896497) --> - <skip /> + <string name="all_apps_home_screen" msgid="8658178652647896497">"Apps"</string> <string name="msg_disabled_by_admin" msgid="6898038085516271325">"Disabled by your admin"</string> <string name="allow_rotation_title" msgid="7222049633713050106">"Allow home screen rotation"</string> <string name="allow_rotation_desc" msgid="8662546029078692509">"When phone is rotated"</string> @@ -186,10 +185,8 @@ <string name="action_decrease_height" msgid="282377193880900022">"Decrease height"</string> <string name="widget_resized" msgid="9130327887929620">"Widget re-sized to width <xliff:g id="NUMBER_0">%1$s</xliff:g> height <xliff:g id="NUMBER_1">%2$s</xliff:g>"</string> <string name="action_deep_shortcut" msgid="4766835855579976045">"Shortcut menu"</string> - <!-- no translation found for widget_frame_name (8782828448471444270) --> - <skip /> - <!-- no translation found for action_close (1077760267194136901) --> - <skip /> + <string name="widget_frame_name" msgid="8782828448471444270">"Widget resize frame for <xliff:g id="STRING">%1$s</xliff:g>"</string> + <string name="action_close" msgid="1077760267194136901">"Close"</string> <string name="action_dismiss_notification" msgid="5909461085055959187">"Dismiss"</string> <string name="accessibility_close" msgid="2277148124685870734">"Close"</string> <string name="all_apps_personal_tab" msgid="4190252696685155002">"Personal"</string> diff --git a/res/values-es-rUS/strings.xml b/res/values-es-rUS/strings.xml index 6dd87e167a..d5476caed5 100644 --- a/res/values-es-rUS/strings.xml +++ b/res/values-es-rUS/strings.xml @@ -33,7 +33,7 @@ <string name="split_app_usage_settings" msgid="7214375263347964093">"Configuración del uso de %1$s"</string> <string name="new_window_option_taskbar" msgid="6448780542727767211">"Ventana nueva"</string> <string name="manage_windows_option_taskbar" msgid="2294109489960654212">"Administrar ventanas"</string> - <string name="save_app_pair" msgid="5647523853662686243">"Guardar vinculación"</string> + <string name="save_app_pair" msgid="5647523853662686243">"Guardar grupo de apps"</string> <string name="app_pair_default_title" msgid="4045241727446873529">"<xliff:g id="APP1">%1$s</xliff:g> | <xliff:g id="APP2">%2$s</xliff:g>"</string> <string name="app_pair_unlaunchable_at_screen_size" msgid="3446551575502685376">"No se admite esta vinculación de apps en este dispositivo"</string> <string name="app_pair_needs_unfold" msgid="4588897528143807002">"Abre el dispositivo para usar esta vinculación de apps"</string> @@ -131,8 +131,7 @@ <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Fondo de pantalla y estilo"</string> <string name="edit_home_screen" msgid="8947858375782098427">"Editar pantalla principal"</string> <string name="settings_button_text" msgid="8873672322605444408">"Configuración de pantalla principal"</string> - <!-- no translation found for all_apps_home_screen (8658178652647896497) --> - <skip /> + <string name="all_apps_home_screen" msgid="8658178652647896497">"Apps"</string> <string name="msg_disabled_by_admin" msgid="6898038085516271325">"El administrador inhabilitó esta función"</string> <string name="allow_rotation_title" msgid="7222049633713050106">"Permitir la rotación de la pantalla principal"</string> <string name="allow_rotation_desc" msgid="8662546029078692509">"Al girar el teléfono"</string> @@ -186,10 +185,8 @@ <string name="action_decrease_height" msgid="282377193880900022">"Reducir la altura"</string> <string name="widget_resized" msgid="9130327887929620">"Se cambió la dimensión del widget a <xliff:g id="NUMBER_0">%1$s</xliff:g> de ancho y <xliff:g id="NUMBER_1">%2$s</xliff:g> de alto."</string> <string name="action_deep_shortcut" msgid="4766835855579976045">"Menú de accesos directos"</string> - <!-- no translation found for widget_frame_name (8782828448471444270) --> - <skip /> - <!-- no translation found for action_close (1077760267194136901) --> - <skip /> + <string name="widget_frame_name" msgid="8782828448471444270">"Marco de cambio de tamaño del widget para <xliff:g id="STRING">%1$s</xliff:g>"</string> + <string name="action_close" msgid="1077760267194136901">"Cerrar"</string> <string name="action_dismiss_notification" msgid="5909461085055959187">"Descartar"</string> <string name="accessibility_close" msgid="2277148124685870734">"Cerrar"</string> <string name="all_apps_personal_tab" msgid="4190252696685155002">"Personal"</string> diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml index c604da7bbb..7e8ff04f5d 100644 --- a/res/values-es/strings.xml +++ b/res/values-es/strings.xml @@ -131,8 +131,7 @@ <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Fondo de pantalla y estilo"</string> <string name="edit_home_screen" msgid="8947858375782098427">"Editar pantalla de inicio"</string> <string name="settings_button_text" msgid="8873672322605444408">"Ajustes de la pantalla de inicio"</string> - <!-- no translation found for all_apps_home_screen (8658178652647896497) --> - <skip /> + <string name="all_apps_home_screen" msgid="8658178652647896497">"Aplicaciones"</string> <string name="msg_disabled_by_admin" msgid="6898038085516271325">"Inhabilitado por el administrador"</string> <string name="allow_rotation_title" msgid="7222049633713050106">"Permitir rotación de la pantalla de inicio"</string> <string name="allow_rotation_desc" msgid="8662546029078692509">"Al girar el teléfono"</string> @@ -186,10 +185,8 @@ <string name="action_decrease_height" msgid="282377193880900022">"Reducir altura"</string> <string name="widget_resized" msgid="9130327887929620">"Se ha modificado el tamaño del widget a <xliff:g id="NUMBER_0">%1$s</xliff:g> de ancho y <xliff:g id="NUMBER_1">%2$s</xliff:g> de alto"</string> <string name="action_deep_shortcut" msgid="4766835855579976045">"Menú de combinaciones de teclas"</string> - <!-- no translation found for widget_frame_name (8782828448471444270) --> - <skip /> - <!-- no translation found for action_close (1077760267194136901) --> - <skip /> + <string name="widget_frame_name" msgid="8782828448471444270">"Marco de cambio de tamaño del widget de <xliff:g id="STRING">%1$s</xliff:g>"</string> + <string name="action_close" msgid="1077760267194136901">"Cerrar"</string> <string name="action_dismiss_notification" msgid="5909461085055959187">"Cerrar"</string> <string name="accessibility_close" msgid="2277148124685870734">"Cerrar"</string> <string name="all_apps_personal_tab" msgid="4190252696685155002">"Personal"</string> diff --git a/res/values-et/strings.xml b/res/values-et/strings.xml index 3d270c9613..3a4b3e20f2 100644 --- a/res/values-et/strings.xml +++ b/res/values-et/strings.xml @@ -131,8 +131,7 @@ <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Taustapilt ja stiil"</string> <string name="edit_home_screen" msgid="8947858375782098427">"Muuda avaekraani"</string> <string name="settings_button_text" msgid="8873672322605444408">"Avakuva seaded"</string> - <!-- no translation found for all_apps_home_screen (8658178652647896497) --> - <skip /> + <string name="all_apps_home_screen" msgid="8658178652647896497">"Rakendused"</string> <string name="msg_disabled_by_admin" msgid="6898038085516271325">"Keelas administraator"</string> <string name="allow_rotation_title" msgid="7222049633713050106">"Luba avakuva pööramine"</string> <string name="allow_rotation_desc" msgid="8662546029078692509">"Kui telefoni pööratakse"</string> @@ -186,10 +185,8 @@ <string name="action_decrease_height" msgid="282377193880900022">"Vähenda kõrgust"</string> <string name="widget_resized" msgid="9130327887929620">"Vidina suurust muudeti. Laius: <xliff:g id="NUMBER_0">%1$s</xliff:g>. Kõrgus: <xliff:g id="NUMBER_1">%2$s</xliff:g>"</string> <string name="action_deep_shortcut" msgid="4766835855579976045">"Kiirmenüü"</string> - <!-- no translation found for widget_frame_name (8782828448471444270) --> - <skip /> - <!-- no translation found for action_close (1077760267194136901) --> - <skip /> + <string name="widget_frame_name" msgid="8782828448471444270">"Vidina <xliff:g id="STRING">%1$s</xliff:g> suuruse muutmise raam"</string> + <string name="action_close" msgid="1077760267194136901">"Sule"</string> <string name="action_dismiss_notification" msgid="5909461085055959187">"Loobu"</string> <string name="accessibility_close" msgid="2277148124685870734">"Sule"</string> <string name="all_apps_personal_tab" msgid="4190252696685155002">"Isiklik"</string> diff --git a/res/values-eu/strings.xml b/res/values-eu/strings.xml index 07a75a1652..8a84353190 100644 --- a/res/values-eu/strings.xml +++ b/res/values-eu/strings.xml @@ -131,8 +131,7 @@ <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Horma-papera eta estiloa"</string> <string name="edit_home_screen" msgid="8947858375782098427">"Editatu orri nagusia"</string> <string name="settings_button_text" msgid="8873672322605444408">"Orri nagusiaren ezarpenak"</string> - <!-- no translation found for all_apps_home_screen (8658178652647896497) --> - <skip /> + <string name="all_apps_home_screen" msgid="8658178652647896497">"Aplikazioak"</string> <string name="msg_disabled_by_admin" msgid="6898038085516271325">"Administratzaileak desgaitu du"</string> <string name="allow_rotation_title" msgid="7222049633713050106">"Eman orri nagusia biratzeko baimena"</string> <string name="allow_rotation_desc" msgid="8662546029078692509">"Telefonoa biratzean"</string> @@ -186,10 +185,8 @@ <string name="action_decrease_height" msgid="282377193880900022">"Txikitu altuera"</string> <string name="widget_resized" msgid="9130327887929620">"Aldatu da widgetaren tamaina. Zabalera: <xliff:g id="NUMBER_0">%1$s</xliff:g>. Altuera: <xliff:g id="NUMBER_1">%2$s</xliff:g>."</string> <string name="action_deep_shortcut" msgid="4766835855579976045">"Lasterbideen menua"</string> - <!-- no translation found for widget_frame_name (8782828448471444270) --> - <skip /> - <!-- no translation found for action_close (1077760267194136901) --> - <skip /> + <string name="widget_frame_name" msgid="8782828448471444270">"<xliff:g id="STRING">%1$s</xliff:g> aplikazioaren widgetaren tamaina aldatzeko markoa"</string> + <string name="action_close" msgid="1077760267194136901">"Itxi"</string> <string name="action_dismiss_notification" msgid="5909461085055959187">"Baztertu"</string> <string name="accessibility_close" msgid="2277148124685870734">"Itxi"</string> <string name="all_apps_personal_tab" msgid="4190252696685155002">"Pertsonalak"</string> diff --git a/res/values-fa/strings.xml b/res/values-fa/strings.xml index 4afde8a007..6e6a1c08d1 100644 --- a/res/values-fa/strings.xml +++ b/res/values-fa/strings.xml @@ -131,8 +131,7 @@ <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"کاغذدیواری و سبک"</string> <string name="edit_home_screen" msgid="8947858375782098427">"ویرایش «صفحه اصلی»"</string> <string name="settings_button_text" msgid="8873672322605444408">"تنظیمات صفحه اصلی"</string> - <!-- no translation found for all_apps_home_screen (8658178652647896497) --> - <skip /> + <string name="all_apps_home_screen" msgid="8658178652647896497">"برنامهها"</string> <string name="msg_disabled_by_admin" msgid="6898038085516271325">"توسط سرپرست سیستم غیرفعال شده است"</string> <string name="allow_rotation_title" msgid="7222049633713050106">"مجاز کردن چرخش صفحه اصلی"</string> <string name="allow_rotation_desc" msgid="8662546029078692509">"وقتی تلفن چرخانده میشود"</string> @@ -186,10 +185,8 @@ <string name="action_decrease_height" msgid="282377193880900022">"کاهش ارتفاع"</string> <string name="widget_resized" msgid="9130327887929620">"اندازه ابزاره به عرض <xliff:g id="NUMBER_0">%1$s</xliff:g> ارتفاع <xliff:g id="NUMBER_1">%2$s</xliff:g> تغییر کرد"</string> <string name="action_deep_shortcut" msgid="4766835855579976045">"منو میانبر"</string> - <!-- no translation found for widget_frame_name (8782828448471444270) --> - <skip /> - <!-- no translation found for action_close (1077760267194136901) --> - <skip /> + <string name="widget_frame_name" msgid="8782828448471444270">"قاب تغییر اندازه ابزاره برای <xliff:g id="STRING">%1$s</xliff:g>"</string> + <string name="action_close" msgid="1077760267194136901">"بستن"</string> <string name="action_dismiss_notification" msgid="5909461085055959187">"رد کردن"</string> <string name="accessibility_close" msgid="2277148124685870734">"بستن"</string> <string name="all_apps_personal_tab" msgid="4190252696685155002">"شخصی"</string> @@ -220,6 +217,5 @@ <string name="ps_container_transition" msgid="8667331812048014412">"انتقال «فضای خصوصی»"</string> <string name="ps_add_button_label" msgid="8127988716897128773">"نصب"</string> <string name="ps_add_button_content_description" msgid="3254274107740952556">"نصب برنامهها در «فضای خصوصی»"</string> - <!-- no translation found for ps_app_content_description (1129133475892816226) --> - <skip /> + <string name="ps_app_content_description" msgid="1129133475892816226">"افزودن فایلها و موارد دیگر به «فضای خصوصی»"</string> </resources> diff --git a/res/values-fi/strings.xml b/res/values-fi/strings.xml index 8a0de4c603..ff27a1b3fe 100644 --- a/res/values-fi/strings.xml +++ b/res/values-fi/strings.xml @@ -131,8 +131,7 @@ <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Taustakuva ja tyyli"</string> <string name="edit_home_screen" msgid="8947858375782098427">"Muokkaa aloitusnäyttöä"</string> <string name="settings_button_text" msgid="8873672322605444408">"Aloitusnäyttö"</string> - <!-- no translation found for all_apps_home_screen (8658178652647896497) --> - <skip /> + <string name="all_apps_home_screen" msgid="8658178652647896497">"Sovellukset"</string> <string name="msg_disabled_by_admin" msgid="6898038085516271325">"Järjestelmänvalvoja on poistanut toiminnon käytöstä."</string> <string name="allow_rotation_title" msgid="7222049633713050106">"Salli aloitusnäytön kiertäminen"</string> <string name="allow_rotation_desc" msgid="8662546029078692509">"Kun puhelinta kierretään"</string> @@ -186,10 +185,8 @@ <string name="action_decrease_height" msgid="282377193880900022">"Vähennä korkeutta"</string> <string name="widget_resized" msgid="9130327887929620">"Widgetin kokoa muutettiin. Sen leveys on nyt <xliff:g id="NUMBER_0">%1$s</xliff:g> ja korkeus <xliff:g id="NUMBER_1">%2$s</xliff:g>."</string> <string name="action_deep_shortcut" msgid="4766835855579976045">"Pikanäppäinvalikko"</string> - <!-- no translation found for widget_frame_name (8782828448471444270) --> - <skip /> - <!-- no translation found for action_close (1077760267194136901) --> - <skip /> + <string name="widget_frame_name" msgid="8782828448471444270">"Widgetin koon muuttaminen (<xliff:g id="STRING">%1$s</xliff:g>)"</string> + <string name="action_close" msgid="1077760267194136901">"Sulje"</string> <string name="action_dismiss_notification" msgid="5909461085055959187">"Hylkää"</string> <string name="accessibility_close" msgid="2277148124685870734">"Sulje"</string> <string name="all_apps_personal_tab" msgid="4190252696685155002">"Henkilökohtaiset"</string> diff --git a/res/values-fr-rCA/strings.xml b/res/values-fr-rCA/strings.xml index 159d980b96..f9b851c057 100644 --- a/res/values-fr-rCA/strings.xml +++ b/res/values-fr-rCA/strings.xml @@ -131,8 +131,7 @@ <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Fond d\'écran et style"</string> <string name="edit_home_screen" msgid="8947858375782098427">"Modifier l\'écran d\'accueil"</string> <string name="settings_button_text" msgid="8873672322605444408">"Paramètres d\'accueil"</string> - <!-- no translation found for all_apps_home_screen (8658178652647896497) --> - <skip /> + <string name="all_apps_home_screen" msgid="8658178652647896497">"Applis"</string> <string name="msg_disabled_by_admin" msgid="6898038085516271325">"Cette fonction est désactivée par votre administrateur"</string> <string name="allow_rotation_title" msgid="7222049633713050106">"Autoriser la rotation de l\'écran d\'accueil"</string> <string name="allow_rotation_desc" msgid="8662546029078692509">"Lorsque vous faites pivoter le téléphone"</string> @@ -186,10 +185,8 @@ <string name="action_decrease_height" msgid="282377193880900022">"Diminuer la hauteur"</string> <string name="widget_resized" msgid="9130327887929620">"Le widget a été redimensionné (largeur : <xliff:g id="NUMBER_0">%1$s</xliff:g>, hauteur : <xliff:g id="NUMBER_1">%2$s</xliff:g>)"</string> <string name="action_deep_shortcut" msgid="4766835855579976045">"Menu des raccourcis"</string> - <!-- no translation found for widget_frame_name (8782828448471444270) --> - <skip /> - <!-- no translation found for action_close (1077760267194136901) --> - <skip /> + <string name="widget_frame_name" msgid="8782828448471444270">"Cadre de redimensionnement du widget pour <xliff:g id="STRING">%1$s</xliff:g>"</string> + <string name="action_close" msgid="1077760267194136901">"Fermer"</string> <string name="action_dismiss_notification" msgid="5909461085055959187">"Ignorer"</string> <string name="accessibility_close" msgid="2277148124685870734">"Fermer"</string> <string name="all_apps_personal_tab" msgid="4190252696685155002">"Personnel"</string> @@ -220,6 +217,5 @@ <string name="ps_container_transition" msgid="8667331812048014412">"Transition vers l\'Espace privé"</string> <string name="ps_add_button_label" msgid="8127988716897128773">"Installer"</string> <string name="ps_add_button_content_description" msgid="3254274107740952556">"Installer des applis dans l\'Espace privé"</string> - <!-- no translation found for ps_app_content_description (1129133475892816226) --> - <skip /> + <string name="ps_app_content_description" msgid="1129133475892816226">"Ajouter des fichiers et plus à l\'espace privé"</string> </resources> diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml index 837425b7ad..0c62a9d217 100644 --- a/res/values-fr/strings.xml +++ b/res/values-fr/strings.xml @@ -131,8 +131,7 @@ <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Fond d\'écran et style"</string> <string name="edit_home_screen" msgid="8947858375782098427">"Modifier l\'écran d\'accueil"</string> <string name="settings_button_text" msgid="8873672322605444408">"Paramètres de l\'accueil"</string> - <!-- no translation found for all_apps_home_screen (8658178652647896497) --> - <skip /> + <string name="all_apps_home_screen" msgid="8658178652647896497">"Applis"</string> <string name="msg_disabled_by_admin" msgid="6898038085516271325">"Désactivé par votre administrateur"</string> <string name="allow_rotation_title" msgid="7222049633713050106">"Autoriser la rotation de l\'écran d\'accueil"</string> <string name="allow_rotation_desc" msgid="8662546029078692509">"Lorsque vous faites pivoter le téléphone"</string> @@ -186,10 +185,8 @@ <string name="action_decrease_height" msgid="282377193880900022">"Diminuer la hauteur"</string> <string name="widget_resized" msgid="9130327887929620">"Le widget a bien été redimensionné (largeur : <xliff:g id="NUMBER_0">%1$s</xliff:g>, hauteur : <xliff:g id="NUMBER_1">%2$s</xliff:g>)."</string> <string name="action_deep_shortcut" msgid="4766835855579976045">"Menu de raccourci"</string> - <!-- no translation found for widget_frame_name (8782828448471444270) --> - <skip /> - <!-- no translation found for action_close (1077760267194136901) --> - <skip /> + <string name="widget_frame_name" msgid="8782828448471444270">"Cadre de redimensionnement du widget pour <xliff:g id="STRING">%1$s</xliff:g>"</string> + <string name="action_close" msgid="1077760267194136901">"Fermer"</string> <string name="action_dismiss_notification" msgid="5909461085055959187">"Ignorer"</string> <string name="accessibility_close" msgid="2277148124685870734">"Fermer"</string> <string name="all_apps_personal_tab" msgid="4190252696685155002">"Personnel"</string> diff --git a/res/values-gl/strings.xml b/res/values-gl/strings.xml index 5c9b179314..21e16cc8aa 100644 --- a/res/values-gl/strings.xml +++ b/res/values-gl/strings.xml @@ -131,8 +131,7 @@ <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Estilo e fondo de pantalla"</string> <string name="edit_home_screen" msgid="8947858375782098427">"Editar pantalla de inicio"</string> <string name="settings_button_text" msgid="8873672322605444408">"Configuración da pantalla de inicio"</string> - <!-- no translation found for all_apps_home_screen (8658178652647896497) --> - <skip /> + <string name="all_apps_home_screen" msgid="8658178652647896497">"Aplicacións"</string> <string name="msg_disabled_by_admin" msgid="6898038085516271325">"Función desactivada polo administrador"</string> <string name="allow_rotation_title" msgid="7222049633713050106">"Permitir xirar a pantalla de inicio"</string> <string name="allow_rotation_desc" msgid="8662546029078692509">"Ao xirar o teléfono"</string> @@ -186,10 +185,8 @@ <string name="action_decrease_height" msgid="282377193880900022">"Reducir altura"</string> <string name="widget_resized" msgid="9130327887929620">"Cambiouse o tamaño do widget polo ancho <xliff:g id="NUMBER_0">%1$s</xliff:g> e a altura <xliff:g id="NUMBER_1">%2$s</xliff:g>"</string> <string name="action_deep_shortcut" msgid="4766835855579976045">"Menú do atallo"</string> - <!-- no translation found for widget_frame_name (8782828448471444270) --> - <skip /> - <!-- no translation found for action_close (1077760267194136901) --> - <skip /> + <string name="widget_frame_name" msgid="8782828448471444270">"Marco do cambio de tamaño do widget para <xliff:g id="STRING">%1$s</xliff:g>"</string> + <string name="action_close" msgid="1077760267194136901">"Pechar"</string> <string name="action_dismiss_notification" msgid="5909461085055959187">"Pechar"</string> <string name="accessibility_close" msgid="2277148124685870734">"Pechar"</string> <string name="all_apps_personal_tab" msgid="4190252696685155002">"Persoal"</string> diff --git a/res/values-gu/strings.xml b/res/values-gu/strings.xml index 5f9407b84e..a619bcb836 100644 --- a/res/values-gu/strings.xml +++ b/res/values-gu/strings.xml @@ -131,8 +131,7 @@ <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"વૉલપેપર અને સ્ટાઇલ"</string> <string name="edit_home_screen" msgid="8947858375782098427">"હોમ સ્ક્રીનમાં ફેરફાર કરો"</string> <string name="settings_button_text" msgid="8873672322605444408">"હોમ સેટિંગ"</string> - <!-- no translation found for all_apps_home_screen (8658178652647896497) --> - <skip /> + <string name="all_apps_home_screen" msgid="8658178652647896497">"ઍપ"</string> <string name="msg_disabled_by_admin" msgid="6898038085516271325">"તમારા વ્યવસ્થાપક દ્વારા અક્ષમ કરેલ"</string> <string name="allow_rotation_title" msgid="7222049633713050106">"હોમ સ્ક્રીનને ફેરવવાની મંજૂરી આપો"</string> <string name="allow_rotation_desc" msgid="8662546029078692509">"જ્યારે ફોન ફેરવવામાં આવે ત્યારે"</string> @@ -186,18 +185,14 @@ <string name="action_decrease_height" msgid="282377193880900022">"ઊંચાઈ ઘટાડો"</string> <string name="widget_resized" msgid="9130327887929620">"વિજેટનો આકાર બદલીને <xliff:g id="NUMBER_0">%1$s</xliff:g> પહોળાઈ <xliff:g id="NUMBER_1">%2$s</xliff:g> ઊંચાઈ કર્યો"</string> <string name="action_deep_shortcut" msgid="4766835855579976045">"શૉર્ટકટ મેનૂ"</string> - <!-- no translation found for widget_frame_name (8782828448471444270) --> - <skip /> - <!-- no translation found for action_close (1077760267194136901) --> - <skip /> + <string name="widget_frame_name" msgid="8782828448471444270">"<xliff:g id="STRING">%1$s</xliff:g> માટે વિજેટનું કદ બદલવાની ફ્રેમ"</string> + <string name="action_close" msgid="1077760267194136901">"બંધ કરો"</string> <string name="action_dismiss_notification" msgid="5909461085055959187">"છોડી દો"</string> <string name="accessibility_close" msgid="2277148124685870734">"બંધ કરો"</string> <string name="all_apps_personal_tab" msgid="4190252696685155002">"વ્યક્તિગત ઍપ"</string> <string name="all_apps_work_tab" msgid="4884822796154055118">"ઑફિસની ઍપ"</string> - <!-- no translation found for all_apps_personal_tab_content_description (6286808898381807242) --> - <skip /> - <!-- no translation found for all_apps_work_tab_content_description (3835637212347968316) --> - <skip /> + <string name="all_apps_personal_tab_content_description" msgid="6286808898381807242">"વ્યક્તિગત ઍપનું ટૅબ"</string> + <string name="all_apps_work_tab_content_description" msgid="3835637212347968316">"ઑફિસ માટેની ઍપનું ટૅબ"</string> <string name="work_profile_toggle_label" msgid="3081029915775481146">"ઑફિસની પ્રોફાઇલ"</string> <string name="work_profile_edu_work_apps" msgid="7895468576497746520">"ઑફિસની ઍપને બૅજ આપેલા હોય છે અને તમારા IT ઍડમિન તેમને જોઈ શકે છે"</string> <string name="work_profile_edu_accept" msgid="6069788082535149071">"સમજાઈ ગયું"</string> diff --git a/res/values-hi/strings.xml b/res/values-hi/strings.xml index 5bd0c6f499..3aad85f2aa 100644 --- a/res/values-hi/strings.xml +++ b/res/values-hi/strings.xml @@ -131,8 +131,7 @@ <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"वॉलपेपर और स्टाइल"</string> <string name="edit_home_screen" msgid="8947858375782098427">"होम स्क्रीन में बदलाव करें"</string> <string name="settings_button_text" msgid="8873672322605444408">"होम स्क्रीन की सेटिंग"</string> - <!-- no translation found for all_apps_home_screen (8658178652647896497) --> - <skip /> + <string name="all_apps_home_screen" msgid="8658178652647896497">"ऐप्लिकेशन"</string> <string name="msg_disabled_by_admin" msgid="6898038085516271325">"आपके एडमिन ने बंद किया हुआ है"</string> <string name="allow_rotation_title" msgid="7222049633713050106">"होम स्क्रीन घुमाने की अनुमति दें"</string> <string name="allow_rotation_desc" msgid="8662546029078692509">"फ़ोन घुुमाए जाने पर"</string> @@ -186,10 +185,8 @@ <string name="action_decrease_height" msgid="282377193880900022">"ऊंचाई घटाएं"</string> <string name="widget_resized" msgid="9130327887929620">"विजेट का आकार बदलकर उसकी चौड़ाई <xliff:g id="NUMBER_0">%1$s</xliff:g> और ऊंचाई <xliff:g id="NUMBER_1">%2$s</xliff:g> कर दी गई"</string> <string name="action_deep_shortcut" msgid="4766835855579976045">"शॉर्टकट मेन्यू"</string> - <!-- no translation found for widget_frame_name (8782828448471444270) --> - <skip /> - <!-- no translation found for action_close (1077760267194136901) --> - <skip /> + <string name="widget_frame_name" msgid="8782828448471444270">"<xliff:g id="STRING">%1$s</xliff:g> के लिए, विजेट का साइज़ बदलने वाला फ़्रेम"</string> + <string name="action_close" msgid="1077760267194136901">"बंद करें"</string> <string name="action_dismiss_notification" msgid="5909461085055959187">"खारिज करें"</string> <string name="accessibility_close" msgid="2277148124685870734">"बंद करें"</string> <string name="all_apps_personal_tab" msgid="4190252696685155002">"निजी ऐप्लिकेशन"</string> diff --git a/res/values-hr/strings.xml b/res/values-hr/strings.xml index 6ff744194c..bdb088bfc9 100644 --- a/res/values-hr/strings.xml +++ b/res/values-hr/strings.xml @@ -131,8 +131,7 @@ <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Pozadina i stil"</string> <string name="edit_home_screen" msgid="8947858375782098427">"Uredi početni zaslon"</string> <string name="settings_button_text" msgid="8873672322605444408">"Postavke početnog zaslona"</string> - <!-- no translation found for all_apps_home_screen (8658178652647896497) --> - <skip /> + <string name="all_apps_home_screen" msgid="8658178652647896497">"Aplikacije"</string> <string name="msg_disabled_by_admin" msgid="6898038085516271325">"Onemogućio administrator"</string> <string name="allow_rotation_title" msgid="7222049633713050106">"Dopusti zakretanje početnog zaslona"</string> <string name="allow_rotation_desc" msgid="8662546029078692509">"Kada se telefon zakrene"</string> @@ -186,10 +185,8 @@ <string name="action_decrease_height" msgid="282377193880900022">"Smanjenje visine"</string> <string name="widget_resized" msgid="9130327887929620">"Širina widgeta promijenjena je na <xliff:g id="NUMBER_0">%1$s</xliff:g>, a visina na <xliff:g id="NUMBER_1">%2$s</xliff:g>"</string> <string name="action_deep_shortcut" msgid="4766835855579976045">"Izbornik prečaca"</string> - <!-- no translation found for widget_frame_name (8782828448471444270) --> - <skip /> - <!-- no translation found for action_close (1077760267194136901) --> - <skip /> + <string name="widget_frame_name" msgid="8782828448471444270">"Okvir za promjenu veličine widgeta za <xliff:g id="STRING">%1$s</xliff:g>"</string> + <string name="action_close" msgid="1077760267194136901">"Zatvori"</string> <string name="action_dismiss_notification" msgid="5909461085055959187">"Odbaci"</string> <string name="accessibility_close" msgid="2277148124685870734">"Zatvori"</string> <string name="all_apps_personal_tab" msgid="4190252696685155002">"Osobno"</string> diff --git a/res/values-hu/strings.xml b/res/values-hu/strings.xml index 5920dffb5c..8abfaac0c1 100644 --- a/res/values-hu/strings.xml +++ b/res/values-hu/strings.xml @@ -131,8 +131,7 @@ <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Háttérkép és stílus"</string> <string name="edit_home_screen" msgid="8947858375782098427">"Kezdőképernyő szerkesztése"</string> <string name="settings_button_text" msgid="8873672322605444408">"Kezdőképernyő beállításai"</string> - <!-- no translation found for all_apps_home_screen (8658178652647896497) --> - <skip /> + <string name="all_apps_home_screen" msgid="8658178652647896497">"Alkalmazások"</string> <string name="msg_disabled_by_admin" msgid="6898038085516271325">"A rendszergazda letiltotta"</string> <string name="allow_rotation_title" msgid="7222049633713050106">"A kezdőképernyő elforgatásának engedélyezése"</string> <string name="allow_rotation_desc" msgid="8662546029078692509">"A telefon elforgatásakor"</string> @@ -186,10 +185,8 @@ <string name="action_decrease_height" msgid="282377193880900022">"Magasság csökkentése"</string> <string name="widget_resized" msgid="9130327887929620">"Modul átméretezve <xliff:g id="NUMBER_0">%1$s</xliff:g> szélességre és <xliff:g id="NUMBER_1">%2$s</xliff:g> magasságra"</string> <string name="action_deep_shortcut" msgid="4766835855579976045">"Gyorsparancsok menüje"</string> - <!-- no translation found for widget_frame_name (8782828448471444270) --> - <skip /> - <!-- no translation found for action_close (1077760267194136901) --> - <skip /> + <string name="widget_frame_name" msgid="8782828448471444270">"<xliff:g id="STRING">%1$s</xliff:g> modul átméretezési kerete"</string> + <string name="action_close" msgid="1077760267194136901">"Bezárás"</string> <string name="action_dismiss_notification" msgid="5909461085055959187">"Elvetés"</string> <string name="accessibility_close" msgid="2277148124685870734">"Bezárás"</string> <string name="all_apps_personal_tab" msgid="4190252696685155002">"Személyes"</string> diff --git a/res/values-hy/strings.xml b/res/values-hy/strings.xml index 38e0bf1f13..9c6fc183ec 100644 --- a/res/values-hy/strings.xml +++ b/res/values-hy/strings.xml @@ -131,8 +131,7 @@ <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Պաստառ և ոճ"</string> <string name="edit_home_screen" msgid="8947858375782098427">"Փոփոխել հիմնական էկրանը"</string> <string name="settings_button_text" msgid="8873672322605444408">"Գլխավոր էկրանի կարգավորումներ"</string> - <!-- no translation found for all_apps_home_screen (8658178652647896497) --> - <skip /> + <string name="all_apps_home_screen" msgid="8658178652647896497">"Հավելվածներ"</string> <string name="msg_disabled_by_admin" msgid="6898038085516271325">"Անջատվել է ձեր ադմինիստրատորի կողմից"</string> <string name="allow_rotation_title" msgid="7222049633713050106">"Թույլ տալ հիմնական էկրանի պտտումը"</string> <string name="allow_rotation_desc" msgid="8662546029078692509">"Հեռախոսը պտտելու դեպքում"</string> @@ -186,10 +185,8 @@ <string name="action_decrease_height" msgid="282377193880900022">"Նվազեցնել բարձրությունը"</string> <string name="widget_resized" msgid="9130327887929620">"Վիջեթի լայնությունը փոխվել է <xliff:g id="NUMBER_0">%1$s</xliff:g>-ի, իսկ բարձրությունը՝ <xliff:g id="NUMBER_1">%2$s</xliff:g>-ի"</string> <string name="action_deep_shortcut" msgid="4766835855579976045">"Դյուրանցման ընտրացանկ"</string> - <!-- no translation found for widget_frame_name (8782828448471444270) --> - <skip /> - <!-- no translation found for action_close (1077760267194136901) --> - <skip /> + <string name="widget_frame_name" msgid="8782828448471444270">"«<xliff:g id="STRING">%1$s</xliff:g>» վիջեթի չափսի փոփոխման շրջանակ"</string> + <string name="action_close" msgid="1077760267194136901">"Փակել"</string> <string name="action_dismiss_notification" msgid="5909461085055959187">"Անտեսել"</string> <string name="accessibility_close" msgid="2277148124685870734">"Փակել"</string> <string name="all_apps_personal_tab" msgid="4190252696685155002">"Անձնական"</string> diff --git a/res/values-in/strings.xml b/res/values-in/strings.xml index a850e9c95d..986f36cecb 100644 --- a/res/values-in/strings.xml +++ b/res/values-in/strings.xml @@ -131,8 +131,7 @@ <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Wallpaper & gaya"</string> <string name="edit_home_screen" msgid="8947858375782098427">"Edit Layar Utama"</string> <string name="settings_button_text" msgid="8873672322605444408">"Setelan layar utama"</string> - <!-- no translation found for all_apps_home_screen (8658178652647896497) --> - <skip /> + <string name="all_apps_home_screen" msgid="8658178652647896497">"Aplikasi"</string> <string name="msg_disabled_by_admin" msgid="6898038085516271325">"Dinonaktifkan oleh admin"</string> <string name="allow_rotation_title" msgid="7222049633713050106">"Izinkan layar utama diputar"</string> <string name="allow_rotation_desc" msgid="8662546029078692509">"Saat ponsel diputar"</string> @@ -186,10 +185,8 @@ <string name="action_decrease_height" msgid="282377193880900022">"Kurangi tinggi"</string> <string name="widget_resized" msgid="9130327887929620">"Widget diubah ukurannya menjadi lebar <xliff:g id="NUMBER_0">%1$s</xliff:g> tinggi <xliff:g id="NUMBER_1">%2$s</xliff:g>"</string> <string name="action_deep_shortcut" msgid="4766835855579976045">"Menu Pintasan"</string> - <!-- no translation found for widget_frame_name (8782828448471444270) --> - <skip /> - <!-- no translation found for action_close (1077760267194136901) --> - <skip /> + <string name="widget_frame_name" msgid="8782828448471444270">"Bingkai Ubah Ukuran Widget untuk <xliff:g id="STRING">%1$s</xliff:g>"</string> + <string name="action_close" msgid="1077760267194136901">"Tutup"</string> <string name="action_dismiss_notification" msgid="5909461085055959187">"Tutup"</string> <string name="accessibility_close" msgid="2277148124685870734">"Tutup"</string> <string name="all_apps_personal_tab" msgid="4190252696685155002">"Pribadi"</string> diff --git a/res/values-is/strings.xml b/res/values-is/strings.xml index 0dbcda2cc0..1c240063e0 100644 --- a/res/values-is/strings.xml +++ b/res/values-is/strings.xml @@ -131,8 +131,7 @@ <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Veggfóður og stíll"</string> <string name="edit_home_screen" msgid="8947858375782098427">"Breyta heimaskjá"</string> <string name="settings_button_text" msgid="8873672322605444408">"Heimastillingar"</string> - <!-- no translation found for all_apps_home_screen (8658178652647896497) --> - <skip /> + <string name="all_apps_home_screen" msgid="8658178652647896497">"Forrit"</string> <string name="msg_disabled_by_admin" msgid="6898038085516271325">"Gert óvirkt af kerfisstjóra"</string> <string name="allow_rotation_title" msgid="7222049633713050106">"Leyfa snúning á heimaskjá"</string> <string name="allow_rotation_desc" msgid="8662546029078692509">"Þegar símanum er snúið"</string> @@ -186,10 +185,8 @@ <string name="action_decrease_height" msgid="282377193880900022">"Minnka hæð"</string> <string name="widget_resized" msgid="9130327887929620">"Stærð græju breytt í <xliff:g id="NUMBER_0">%1$s</xliff:g> á breidd og <xliff:g id="NUMBER_1">%2$s</xliff:g> á hæð"</string> <string name="action_deep_shortcut" msgid="4766835855579976045">"Flýtileiðavalmynd"</string> - <!-- no translation found for widget_frame_name (8782828448471444270) --> - <skip /> - <!-- no translation found for action_close (1077760267194136901) --> - <skip /> + <string name="widget_frame_name" msgid="8782828448471444270">"Rammi til að breyta stærð græjunnar „<xliff:g id="STRING">%1$s</xliff:g>“"</string> + <string name="action_close" msgid="1077760267194136901">"Loka"</string> <string name="action_dismiss_notification" msgid="5909461085055959187">"Hunsa"</string> <string name="accessibility_close" msgid="2277148124685870734">"Loka"</string> <string name="all_apps_personal_tab" msgid="4190252696685155002">"Persónulegt"</string> diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml index 29e28e1fe7..3b237908f8 100644 --- a/res/values-it/strings.xml +++ b/res/values-it/strings.xml @@ -131,8 +131,7 @@ <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Sfondo e stile"</string> <string name="edit_home_screen" msgid="8947858375782098427">"Modifica schermata Home"</string> <string name="settings_button_text" msgid="8873672322605444408">"Impostazioni schermata Home"</string> - <!-- no translation found for all_apps_home_screen (8658178652647896497) --> - <skip /> + <string name="all_apps_home_screen" msgid="8658178652647896497">"App"</string> <string name="msg_disabled_by_admin" msgid="6898038085516271325">"Disattivata dall\'amministratore"</string> <string name="allow_rotation_title" msgid="7222049633713050106">"Consenti rotazione della schermata Home"</string> <string name="allow_rotation_desc" msgid="8662546029078692509">"Con il telefono ruotato"</string> @@ -186,10 +185,8 @@ <string name="action_decrease_height" msgid="282377193880900022">"Riduci altezza"</string> <string name="widget_resized" msgid="9130327887929620">"Widget ridimensionato a larghezza <xliff:g id="NUMBER_0">%1$s</xliff:g>, altezza <xliff:g id="NUMBER_1">%2$s</xliff:g>"</string> <string name="action_deep_shortcut" msgid="4766835855579976045">"Menu scorciatoie"</string> - <!-- no translation found for widget_frame_name (8782828448471444270) --> - <skip /> - <!-- no translation found for action_close (1077760267194136901) --> - <skip /> + <string name="widget_frame_name" msgid="8782828448471444270">"Frame ridimensionamento widget per <xliff:g id="STRING">%1$s</xliff:g>"</string> + <string name="action_close" msgid="1077760267194136901">"Chiudi"</string> <string name="action_dismiss_notification" msgid="5909461085055959187">"Ignora"</string> <string name="accessibility_close" msgid="2277148124685870734">"Esci"</string> <string name="all_apps_personal_tab" msgid="4190252696685155002">"Personali"</string> @@ -220,6 +217,5 @@ <string name="ps_container_transition" msgid="8667331812048014412">"Transizione dello Spazio privato in corso…"</string> <string name="ps_add_button_label" msgid="8127988716897128773">"Installa"</string> <string name="ps_add_button_content_description" msgid="3254274107740952556">"Installa le app su spazi privati"</string> - <!-- no translation found for ps_app_content_description (1129133475892816226) --> - <skip /> + <string name="ps_app_content_description" msgid="1129133475892816226">"Aggiungi file e altro allo spazio privato"</string> </resources> diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml index 9cc6a83407..08a2889827 100644 --- a/res/values-ja/strings.xml +++ b/res/values-ja/strings.xml @@ -131,8 +131,7 @@ <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"壁紙とスタイル"</string> <string name="edit_home_screen" msgid="8947858375782098427">"ホーム画面を編集"</string> <string name="settings_button_text" msgid="8873672322605444408">"ホームの設定"</string> - <!-- no translation found for all_apps_home_screen (8658178652647896497) --> - <skip /> + <string name="all_apps_home_screen" msgid="8658178652647896497">"アプリ"</string> <string name="msg_disabled_by_admin" msgid="6898038085516271325">"管理者により無効にされています"</string> <string name="allow_rotation_title" msgid="7222049633713050106">"ホーム画面の回転を許可"</string> <string name="allow_rotation_desc" msgid="8662546029078692509">"スマートフォンの向きに合わせます"</string> @@ -186,10 +185,8 @@ <string name="action_decrease_height" msgid="282377193880900022">"高さを低くする"</string> <string name="widget_resized" msgid="9130327887929620">"ウィジェットのサイズを幅<xliff:g id="NUMBER_0">%1$s</xliff:g>、高さ<xliff:g id="NUMBER_1">%2$s</xliff:g>に変更しました"</string> <string name="action_deep_shortcut" msgid="4766835855579976045">"ショートカット メニュー"</string> - <!-- no translation found for widget_frame_name (8782828448471444270) --> - <skip /> - <!-- no translation found for action_close (1077760267194136901) --> - <skip /> + <string name="widget_frame_name" msgid="8782828448471444270">"<xliff:g id="STRING">%1$s</xliff:g> のウィジェットのサイズ変更フレーム"</string> + <string name="action_close" msgid="1077760267194136901">"閉じる"</string> <string name="action_dismiss_notification" msgid="5909461085055959187">"表示しない"</string> <string name="accessibility_close" msgid="2277148124685870734">"閉じる"</string> <string name="all_apps_personal_tab" msgid="4190252696685155002">"個人用"</string> @@ -220,6 +217,5 @@ <string name="ps_container_transition" msgid="8667331812048014412">"プライベート スペース移行中"</string> <string name="ps_add_button_label" msgid="8127988716897128773">"インストール"</string> <string name="ps_add_button_content_description" msgid="3254274107740952556">"プライベート スペースにアプリをインストールします"</string> - <!-- no translation found for ps_app_content_description (1129133475892816226) --> - <skip /> + <string name="ps_app_content_description" msgid="1129133475892816226">"プライベート スペースにファイルなどを追加する"</string> </resources> diff --git a/res/values-ka/strings.xml b/res/values-ka/strings.xml index 108176bdd2..38547f56f1 100644 --- a/res/values-ka/strings.xml +++ b/res/values-ka/strings.xml @@ -131,8 +131,7 @@ <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"ფონი და სტილი"</string> <string name="edit_home_screen" msgid="8947858375782098427">"მთავარი ეკრანის რედაქტირება"</string> <string name="settings_button_text" msgid="8873672322605444408">"მთავარი გვერდის პარამეტრები"</string> - <!-- no translation found for all_apps_home_screen (8658178652647896497) --> - <skip /> + <string name="all_apps_home_screen" msgid="8658178652647896497">"აპები"</string> <string name="msg_disabled_by_admin" msgid="6898038085516271325">"გათიშულია თქვენი ადმინისტრატორის მიერ"</string> <string name="allow_rotation_title" msgid="7222049633713050106">"მთავარი ეკრანის შეტრიალების დაშვება"</string> <string name="allow_rotation_desc" msgid="8662546029078692509">"ტელეფონის შეტრიალებისას"</string> @@ -186,10 +185,8 @@ <string name="action_decrease_height" msgid="282377193880900022">"სიმაღლის შემცირება"</string> <string name="widget_resized" msgid="9130327887929620">"ვიჯეტის ზომები შეიცვალა: სიგანე <xliff:g id="NUMBER_0">%1$s</xliff:g> სიმაღლე <xliff:g id="NUMBER_1">%2$s</xliff:g>"</string> <string name="action_deep_shortcut" msgid="4766835855579976045">"მალსახმობის მენიუ"</string> - <!-- no translation found for widget_frame_name (8782828448471444270) --> - <skip /> - <!-- no translation found for action_close (1077760267194136901) --> - <skip /> + <string name="widget_frame_name" msgid="8782828448471444270">"ვიჯეტის ზომის შეცვლის ფრეიმი <xliff:g id="STRING">%1$s</xliff:g>-ისთვის"</string> + <string name="action_close" msgid="1077760267194136901">"დახურვა"</string> <string name="action_dismiss_notification" msgid="5909461085055959187">"დახურვა"</string> <string name="accessibility_close" msgid="2277148124685870734">"დახურვა"</string> <string name="all_apps_personal_tab" msgid="4190252696685155002">"პირადი"</string> @@ -220,6 +217,5 @@ <string name="ps_container_transition" msgid="8667331812048014412">"პირად სივრცეზე გადასვლა"</string> <string name="ps_add_button_label" msgid="8127988716897128773">"ინსტალაცია"</string> <string name="ps_add_button_content_description" msgid="3254274107740952556">"კერძო სივრცეში აპების ინსტალაცია"</string> - <!-- no translation found for ps_app_content_description (1129133475892816226) --> - <skip /> + <string name="ps_app_content_description" msgid="1129133475892816226">"კერძო სივრცეში დაამატეთ ფაილები და სხვა"</string> </resources> diff --git a/res/values-km/strings.xml b/res/values-km/strings.xml index 1c12f04645..f096671010 100644 --- a/res/values-km/strings.xml +++ b/res/values-km/strings.xml @@ -131,8 +131,7 @@ <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"ផ្ទាំងរូបភាព និងរចនាបថ"</string> <string name="edit_home_screen" msgid="8947858375782098427">"កែអេក្រង់ដើម"</string> <string name="settings_button_text" msgid="8873672322605444408">"ការកំណត់ទំព័រដើម"</string> - <!-- no translation found for all_apps_home_screen (8658178652647896497) --> - <skip /> + <string name="all_apps_home_screen" msgid="8658178652647896497">"កម្មវិធី"</string> <string name="msg_disabled_by_admin" msgid="6898038085516271325">"បានបិទដំណើរការដោយអ្នកគ្រប់គ្រងរបស់អ្នក"</string> <string name="allow_rotation_title" msgid="7222049633713050106">"អនុញ្ញាតការបងិ្វលអេក្រង់ដើម"</string> <string name="allow_rotation_desc" msgid="8662546029078692509">"នៅពេលដែលបង្វិលទូរសព្ទ"</string> @@ -186,10 +185,8 @@ <string name="action_decrease_height" msgid="282377193880900022">"បន្ថយកម្ពស់"</string> <string name="widget_resized" msgid="9130327887929620">"ធាតុក្រាហ្វិកដែលបានប្តូរទំហំទៅទទឹងប្រវែង <xliff:g id="NUMBER_0">%1$s</xliff:g> កម្ពស់ប្រវែង <xliff:g id="NUMBER_1">%2$s</xliff:g>"</string> <string name="action_deep_shortcut" msgid="4766835855579976045">"ម៉ឺនុយផ្លូវកាត់"</string> - <!-- no translation found for widget_frame_name (8782828448471444270) --> - <skip /> - <!-- no translation found for action_close (1077760267194136901) --> - <skip /> + <string name="widget_frame_name" msgid="8782828448471444270">"ហ្វ្រេមប្ដូរទំហំធាតុក្រាហ្វិកសម្រាប់ <xliff:g id="STRING">%1$s</xliff:g>"</string> + <string name="action_close" msgid="1077760267194136901">"បិទ"</string> <string name="action_dismiss_notification" msgid="5909461085055959187">"ច្រានចោល"</string> <string name="accessibility_close" msgid="2277148124685870734">"បិទ"</string> <string name="all_apps_personal_tab" msgid="4190252696685155002">"ផ្ទាល់ខ្លួន"</string> @@ -220,6 +217,5 @@ <string name="ps_container_transition" msgid="8667331812048014412">"ការផ្លាស់ប្ដូរ Private Space"</string> <string name="ps_add_button_label" msgid="8127988716897128773">"ដំឡើង"</string> <string name="ps_add_button_content_description" msgid="3254274107740952556">"ដំឡើងកម្មវិធីទៅលំហឯកជន"</string> - <!-- no translation found for ps_app_content_description (1129133475892816226) --> - <skip /> + <string name="ps_app_content_description" msgid="1129133475892816226">"បញ្ចូលឯកសារ និងអ្វីៗជាច្រើនទៀតទៅលំហឯកជន"</string> </resources> diff --git a/res/values-kn/strings.xml b/res/values-kn/strings.xml index e30b80b9d5..c27bbde11b 100644 --- a/res/values-kn/strings.xml +++ b/res/values-kn/strings.xml @@ -131,8 +131,7 @@ <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"ವಾಲ್ಪೇಪರ್ ಮತ್ತು ಶೈಲಿ"</string> <string name="edit_home_screen" msgid="8947858375782098427">"ಹೋಮ್ ಸ್ಕ್ರೀನ್ ಅನ್ನು ಎಡಿಟ್ ಮಾಡಿ"</string> <string name="settings_button_text" msgid="8873672322605444408">"ಹೋಮ್ ಸೆಟ್ಟಿಂಗ್ಗಳು"</string> - <!-- no translation found for all_apps_home_screen (8658178652647896497) --> - <skip /> + <string name="all_apps_home_screen" msgid="8658178652647896497">"ಆ್ಯಪ್ಗಳು"</string> <string name="msg_disabled_by_admin" msgid="6898038085516271325">"ನಿಮ್ಮ ನಿರ್ವಾಹಕರು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಿದ್ದಾರೆ"</string> <string name="allow_rotation_title" msgid="7222049633713050106">"ಹೋಮ್ ಸ್ಕ್ರೀನ್ ತಿರುಗುವಿಕೆಯನ್ನು ಅನುಮತಿಸಿ"</string> <string name="allow_rotation_desc" msgid="8662546029078692509">"ಫೋನ್ ತಿರುಗಿಸಿದಾಗ"</string> @@ -186,10 +185,8 @@ <string name="action_decrease_height" msgid="282377193880900022">"ಎತ್ತರವನ್ನು ಕಡಿಮೆ ಮಾಡಿ"</string> <string name="widget_resized" msgid="9130327887929620">"ವಿಜೆಟ್ ಅನ್ನು <xliff:g id="NUMBER_0">%1$s</xliff:g> ಅಗಲ <xliff:g id="NUMBER_1">%2$s</xliff:g> ಎತ್ತರಕ್ಕೆ ಮರುಗಾತ್ರಗೊಳಿಸಲಾಗಿದೆ"</string> <string name="action_deep_shortcut" msgid="4766835855579976045">"ಶಾರ್ಟ್ಕಟ್ ಮೆನು"</string> - <!-- no translation found for widget_frame_name (8782828448471444270) --> - <skip /> - <!-- no translation found for action_close (1077760267194136901) --> - <skip /> + <string name="widget_frame_name" msgid="8782828448471444270">"<xliff:g id="STRING">%1$s</xliff:g> ಗಾಗಿ ವಿಜೆಟ್ ಮರುಗಾತ್ರಗೊಳಿಸುವಿಕೆ ಫ್ರೇಮ್"</string> + <string name="action_close" msgid="1077760267194136901">"ಮುಚ್ಚಿರಿ"</string> <string name="action_dismiss_notification" msgid="5909461085055959187">"ವಜಾಗೊಳಿಸಿ"</string> <string name="accessibility_close" msgid="2277148124685870734">"ಮುಚ್ಚಿರಿ"</string> <string name="all_apps_personal_tab" msgid="4190252696685155002">"ವೈಯಕ್ತಿಕ"</string> @@ -220,6 +217,5 @@ <string name="ps_container_transition" msgid="8667331812048014412">"ಖಾಸಗಿ ಸ್ಪೇಸ್ ಪರಿವರ್ತನೆಯಾಗುತ್ತಿದೆ"</string> <string name="ps_add_button_label" msgid="8127988716897128773">"ಇನ್ಸ್ಟಾಲ್"</string> <string name="ps_add_button_content_description" msgid="3254274107740952556">"ಆ್ಯಪ್ಗಳನ್ನು ಪ್ರೈವೇಟ್ ಸ್ಪೇಸ್ನಲ್ಲಿ ಇನ್ಸ್ಟಾಲ್ ಮಾಡಿ"</string> - <!-- no translation found for ps_app_content_description (1129133475892816226) --> - <skip /> + <string name="ps_app_content_description" msgid="1129133475892816226">"ಪ್ರೈವೆಟ್ ಸ್ಪೇಸ್ಗೆ ಫೈಲ್ಗಳು ಮತ್ತು ಹೆಚ್ಚಿನದನ್ನು ಸೇರಿಸಿ"</string> </resources> diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml index 1d60d882ee..ec54bd62ca 100644 --- a/res/values-ko/strings.xml +++ b/res/values-ko/strings.xml @@ -131,8 +131,7 @@ <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"배경화면 및 스타일"</string> <string name="edit_home_screen" msgid="8947858375782098427">"홈 화면 수정"</string> <string name="settings_button_text" msgid="8873672322605444408">"홈 설정"</string> - <!-- no translation found for all_apps_home_screen (8658178652647896497) --> - <skip /> + <string name="all_apps_home_screen" msgid="8658178652647896497">"앱"</string> <string name="msg_disabled_by_admin" msgid="6898038085516271325">"관리자가 사용 중지함"</string> <string name="allow_rotation_title" msgid="7222049633713050106">"홈 화면 회전 허용"</string> <string name="allow_rotation_desc" msgid="8662546029078692509">"휴대전화 회전 시"</string> @@ -186,10 +185,8 @@ <string name="action_decrease_height" msgid="282377193880900022">"높이 줄이기"</string> <string name="widget_resized" msgid="9130327887929620">"폭 <xliff:g id="NUMBER_0">%1$s</xliff:g>, 높이 <xliff:g id="NUMBER_1">%2$s</xliff:g>로 위젯 크기 조정됨"</string> <string name="action_deep_shortcut" msgid="4766835855579976045">"바로가기 메뉴"</string> - <!-- no translation found for widget_frame_name (8782828448471444270) --> - <skip /> - <!-- no translation found for action_close (1077760267194136901) --> - <skip /> + <string name="widget_frame_name" msgid="8782828448471444270">"<xliff:g id="STRING">%1$s</xliff:g>의 위젯 크기 조절 프레임"</string> + <string name="action_close" msgid="1077760267194136901">"닫기"</string> <string name="action_dismiss_notification" msgid="5909461085055959187">"닫기"</string> <string name="accessibility_close" msgid="2277148124685870734">"닫기"</string> <string name="all_apps_personal_tab" msgid="4190252696685155002">"개인"</string> diff --git a/res/values-ky/strings.xml b/res/values-ky/strings.xml index 638e107dc4..079328ff60 100644 --- a/res/values-ky/strings.xml +++ b/res/values-ky/strings.xml @@ -131,8 +131,7 @@ <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Тушкагаз жана стиль"</string> <string name="edit_home_screen" msgid="8947858375782098427">"Башкы экранды түзөтүү"</string> <string name="settings_button_text" msgid="8873672322605444408">"Башкы бет параметрлери"</string> - <!-- no translation found for all_apps_home_screen (8658178652647896497) --> - <skip /> + <string name="all_apps_home_screen" msgid="8658178652647896497">"Колдонмолор"</string> <string name="msg_disabled_by_admin" msgid="6898038085516271325">"Администраторуңуз өчүрүп койгон"</string> <string name="allow_rotation_title" msgid="7222049633713050106">"Башкы экранды бурууга уруксат берүү"</string> <string name="allow_rotation_desc" msgid="8662546029078692509">"Телефон бурулганда"</string> @@ -186,10 +185,8 @@ <string name="action_decrease_height" msgid="282377193880900022">"Жапыздатуу"</string> <string name="widget_resized" msgid="9130327887929620">"Виджеттин кеңдиги <xliff:g id="NUMBER_0">%1$s</xliff:g> бийиктиги <xliff:g id="NUMBER_1">%2$s</xliff:g> болду"</string> <string name="action_deep_shortcut" msgid="4766835855579976045">"Ыкчам баскычтын менюсу"</string> - <!-- no translation found for widget_frame_name (8782828448471444270) --> - <skip /> - <!-- no translation found for action_close (1077760267194136901) --> - <skip /> + <string name="widget_frame_name" msgid="8782828448471444270">"<xliff:g id="STRING">%1$s</xliff:g> үчүн виджеттин өлчөмүн өзгөртүү"</string> + <string name="action_close" msgid="1077760267194136901">"Жабуу"</string> <string name="action_dismiss_notification" msgid="5909461085055959187">"Этибарга албоо"</string> <string name="accessibility_close" msgid="2277148124685870734">"Жабуу"</string> <string name="all_apps_personal_tab" msgid="4190252696685155002">"Жеке колдонмолор"</string> @@ -220,6 +217,5 @@ <string name="ps_container_transition" msgid="8667331812048014412">"Жеке чөйрөгө өтүү"</string> <string name="ps_add_button_label" msgid="8127988716897128773">"Орнотуу"</string> <string name="ps_add_button_content_description" msgid="3254274107740952556">"Колдонмолорду Жеке мейкиндикке орнотуe"</string> - <!-- no translation found for ps_app_content_description (1129133475892816226) --> - <skip /> + <string name="ps_app_content_description" msgid="1129133475892816226">"Жеке мейкиндикке файлдарды жана башкаларды кошуу"</string> </resources> diff --git a/res/values-lo/strings.xml b/res/values-lo/strings.xml index d459fd9437..e3a85d6d5f 100644 --- a/res/values-lo/strings.xml +++ b/res/values-lo/strings.xml @@ -131,8 +131,7 @@ <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"ຮູບພື້ນຫຼັງ ແລະ ຮູບແບບ"</string> <string name="edit_home_screen" msgid="8947858375782098427">"ແກ້ໄຂໂຮມສະກຣີນ"</string> <string name="settings_button_text" msgid="8873672322605444408">"ການຕັ້ງຄ່າໜ້າຫຼັກ"</string> - <!-- no translation found for all_apps_home_screen (8658178652647896497) --> - <skip /> + <string name="all_apps_home_screen" msgid="8658178652647896497">"ແອັບ"</string> <string name="msg_disabled_by_admin" msgid="6898038085516271325">"ຖືກປິດການນຳໃຊ້ໂດຍຜູ້ເບິ່ງແຍງລະບົບຂອງທ່ານ"</string> <string name="allow_rotation_title" msgid="7222049633713050106">"ອະນຸຍາດໃຫ້ໝຸນໜ້າຈໍຢູ່ໂຮມສະກຣີນໄດ້"</string> <string name="allow_rotation_desc" msgid="8662546029078692509">"ເມື່ອໝຸນໂທລະສັບ"</string> @@ -186,10 +185,8 @@ <string name="action_decrease_height" msgid="282377193880900022">"ຫຼຸດລວງສູງລົງ"</string> <string name="widget_resized" msgid="9130327887929620">"ປ່ຽນຂະໜາດວິດເຈັດເປັນລວງກ້ວາງ <xliff:g id="NUMBER_0">%1$s</xliff:g> ລວງສູງ <xliff:g id="NUMBER_1">%2$s</xliff:g> ແລ້ວ"</string> <string name="action_deep_shortcut" msgid="4766835855579976045">"ເມນູທາງລັດ"</string> - <!-- no translation found for widget_frame_name (8782828448471444270) --> - <skip /> - <!-- no translation found for action_close (1077760267194136901) --> - <skip /> + <string name="widget_frame_name" msgid="8782828448471444270">"ປັບຂະໜາດກອບວິດເຈັດສຳລັບ <xliff:g id="STRING">%1$s</xliff:g>"</string> + <string name="action_close" msgid="1077760267194136901">"ປິດ"</string> <string name="action_dismiss_notification" msgid="5909461085055959187">"ປິດໄວ້"</string> <string name="accessibility_close" msgid="2277148124685870734">"ປິດ"</string> <string name="all_apps_personal_tab" msgid="4190252696685155002">"ສ່ວນຕົວ"</string> @@ -220,6 +217,5 @@ <string name="ps_container_transition" msgid="8667331812048014412">"ການປ່ຽນແປງພື້ນທີ່ສ່ວນຕົວ"</string> <string name="ps_add_button_label" msgid="8127988716897128773">"ຕິດຕັ້ງ"</string> <string name="ps_add_button_content_description" msgid="3254274107740952556">"ຕິດຕັ້ງແອັບໄປໃສ່ພື້ນທີ່ສ່ວນບຸກຄົນ"</string> - <!-- no translation found for ps_app_content_description (1129133475892816226) --> - <skip /> + <string name="ps_app_content_description" msgid="1129133475892816226">"ເພີ່ມໄຟລ໌ ແລະ ອື່ນໆໃສ່ພື້ນທີ່ສ່ວນບຸກຄົນ"</string> </resources> diff --git a/res/values-lt/strings.xml b/res/values-lt/strings.xml index 2421ddd4dc..d1cbf9a33e 100644 --- a/res/values-lt/strings.xml +++ b/res/values-lt/strings.xml @@ -131,8 +131,7 @@ <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Ekrano fonas ir stilius"</string> <string name="edit_home_screen" msgid="8947858375782098427">"Redaguoti pagrindinį ekraną"</string> <string name="settings_button_text" msgid="8873672322605444408">"Pagrindinio ekrano nustatymai"</string> - <!-- no translation found for all_apps_home_screen (8658178652647896497) --> - <skip /> + <string name="all_apps_home_screen" msgid="8658178652647896497">"Programos"</string> <string name="msg_disabled_by_admin" msgid="6898038085516271325">"Išjungė administratorius"</string> <string name="allow_rotation_title" msgid="7222049633713050106">"Leisti pasukti pagrindinį ekraną"</string> <string name="allow_rotation_desc" msgid="8662546029078692509">"Kai telefonas pasukamas"</string> @@ -186,10 +185,8 @@ <string name="action_decrease_height" msgid="282377193880900022">"Sumažinti aukštį"</string> <string name="widget_resized" msgid="9130327887929620">"Valdiklio dydis pakeistas: plotis – <xliff:g id="NUMBER_0">%1$s</xliff:g>, aukštis – <xliff:g id="NUMBER_1">%2$s</xliff:g>"</string> <string name="action_deep_shortcut" msgid="4766835855579976045">"Sparčiųjų klavišų meniu"</string> - <!-- no translation found for widget_frame_name (8782828448471444270) --> - <skip /> - <!-- no translation found for action_close (1077760267194136901) --> - <skip /> + <string name="widget_frame_name" msgid="8782828448471444270">"„<xliff:g id="STRING">%1$s</xliff:g>“ valdiklio dydžio keitimo rėmelis"</string> + <string name="action_close" msgid="1077760267194136901">"Uždaryti"</string> <string name="action_dismiss_notification" msgid="5909461085055959187">"Atsisakyti"</string> <string name="accessibility_close" msgid="2277148124685870734">"Uždaryti"</string> <string name="all_apps_personal_tab" msgid="4190252696685155002">"Asmeninės"</string> diff --git a/res/values-mk/strings.xml b/res/values-mk/strings.xml index aebd1f181b..ed01b0ed7f 100644 --- a/res/values-mk/strings.xml +++ b/res/values-mk/strings.xml @@ -131,8 +131,7 @@ <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Тапет и стил"</string> <string name="edit_home_screen" msgid="8947858375782098427">"Изменете го почетниот екран"</string> <string name="settings_button_text" msgid="8873672322605444408">"Поставки за почетен екран"</string> - <!-- no translation found for all_apps_home_screen (8658178652647896497) --> - <skip /> + <string name="all_apps_home_screen" msgid="8658178652647896497">"Апликации"</string> <string name="msg_disabled_by_admin" msgid="6898038085516271325">"Оневозможено од администраторот"</string> <string name="allow_rotation_title" msgid="7222049633713050106">"Дозволи ротирање на почетниот екран"</string> <string name="allow_rotation_desc" msgid="8662546029078692509">"Кога телефонот се ротира"</string> @@ -186,10 +185,8 @@ <string name="action_decrease_height" msgid="282377193880900022">"Намали висина"</string> <string name="widget_resized" msgid="9130327887929620">"Големината на виџетот е променета на ширина <xliff:g id="NUMBER_0">%1$s</xliff:g> висина <xliff:g id="NUMBER_1">%2$s</xliff:g>"</string> <string name="action_deep_shortcut" msgid="4766835855579976045">"Мени за кратенки"</string> - <!-- no translation found for widget_frame_name (8782828448471444270) --> - <skip /> - <!-- no translation found for action_close (1077760267194136901) --> - <skip /> + <string name="widget_frame_name" msgid="8782828448471444270">"Рамка за промена на големината на виџетот за <xliff:g id="STRING">%1$s</xliff:g>"</string> + <string name="action_close" msgid="1077760267194136901">"Затвори"</string> <string name="action_dismiss_notification" msgid="5909461085055959187">"Отфрли"</string> <string name="accessibility_close" msgid="2277148124685870734">"Затвори"</string> <string name="all_apps_personal_tab" msgid="4190252696685155002">"Лично"</string> @@ -220,6 +217,5 @@ <string name="ps_container_transition" msgid="8667331812048014412">"Префрлање на „Приватен простор“"</string> <string name="ps_add_button_label" msgid="8127988716897128773">"Инсталирајте"</string> <string name="ps_add_button_content_description" msgid="3254274107740952556">"Инсталирање апликации во „Приватен простор“"</string> - <!-- no translation found for ps_app_content_description (1129133475892816226) --> - <skip /> + <string name="ps_app_content_description" msgid="1129133475892816226">"Додавање датотеки и друго во „Приватен простор“"</string> </resources> diff --git a/res/values-ml/strings.xml b/res/values-ml/strings.xml index 68d484bd24..0c5f3cdcb0 100644 --- a/res/values-ml/strings.xml +++ b/res/values-ml/strings.xml @@ -131,8 +131,7 @@ <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"വാൾപേപ്പറും സ്റ്റൈലും"</string> <string name="edit_home_screen" msgid="8947858375782098427">"ഹോം സ്ക്രീൻ എഡിറ്റ് ചെയ്യുക"</string> <string name="settings_button_text" msgid="8873672322605444408">"ഹോം ക്രമീകരണം"</string> - <!-- no translation found for all_apps_home_screen (8658178652647896497) --> - <skip /> + <string name="all_apps_home_screen" msgid="8658178652647896497">"ആപ്പുകൾ"</string> <string name="msg_disabled_by_admin" msgid="6898038085516271325">"അഡ്മിൻ പ്രവർത്തനരഹിതമാക്കിയിരിക്കുന്നു"</string> <string name="allow_rotation_title" msgid="7222049633713050106">"ഹോം സ്ക്രീൻ റൊട്ടേഷൻ അനുവദിക്കുക"</string> <string name="allow_rotation_desc" msgid="8662546029078692509">"ഫോൺ തിരിച്ച നിലയിലായിരിക്കുമ്പോൾ"</string> @@ -186,10 +185,8 @@ <string name="action_decrease_height" msgid="282377193880900022">"ഉയരം കുറയ്ക്കുക"</string> <string name="widget_resized" msgid="9130327887929620">"വീതി <xliff:g id="NUMBER_0">%1$s</xliff:g> ഉയരം <xliff:g id="NUMBER_1">%2$s</xliff:g>-ലേക്ക് വിഡ്ജെറ്റിന്റെ വലുപ്പം മാറ്റി"</string> <string name="action_deep_shortcut" msgid="4766835855579976045">"കുറുക്കുവഴി മെനു"</string> - <!-- no translation found for widget_frame_name (8782828448471444270) --> - <skip /> - <!-- no translation found for action_close (1077760267194136901) --> - <skip /> + <string name="widget_frame_name" msgid="8782828448471444270">"<xliff:g id="STRING">%1$s</xliff:g> എന്നതിനുള്ള വിജറ്റിന്റെ വലുപ്പം മാറ്റുന്നതിനുള്ള ഫ്രെയിം"</string> + <string name="action_close" msgid="1077760267194136901">"അടയ്ക്കുക"</string> <string name="action_dismiss_notification" msgid="5909461085055959187">"നിരസിക്കുക"</string> <string name="accessibility_close" msgid="2277148124685870734">"അടയ്ക്കൂ"</string> <string name="all_apps_personal_tab" msgid="4190252696685155002">"വ്യക്തിപരം"</string> @@ -220,6 +217,5 @@ <string name="ps_container_transition" msgid="8667331812048014412">"പ്രൈവറ്റ് സ്പേസ് ട്രാൻസിഷനിംഗ്"</string> <string name="ps_add_button_label" msgid="8127988716897128773">"ഇൻസ്റ്റാൾ ചെയ്യുക"</string> <string name="ps_add_button_content_description" msgid="3254274107740952556">"സ്വകാര്യ സ്പേസിലേക്ക് ആപ്പുകൾ ഇൻസ്റ്റാൾ ചെയ്യുക"</string> - <!-- no translation found for ps_app_content_description (1129133475892816226) --> - <skip /> + <string name="ps_app_content_description" msgid="1129133475892816226">"സ്വകാര്യ സ്പേസിലേക്ക് ഫയലുകളും മറ്റും ചേർക്കുക"</string> </resources> diff --git a/res/values-mn/strings.xml b/res/values-mn/strings.xml index 1eeea10a6a..631e310e2e 100644 --- a/res/values-mn/strings.xml +++ b/res/values-mn/strings.xml @@ -131,8 +131,7 @@ <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Дэлгэцийн зураг, загвар"</string> <string name="edit_home_screen" msgid="8947858375782098427">"Үндсэн нүүрийг засах"</string> <string name="settings_button_text" msgid="8873672322605444408">"Нүүр хуудасны тохиргоо"</string> - <!-- no translation found for all_apps_home_screen (8658178652647896497) --> - <skip /> + <string name="all_apps_home_screen" msgid="8658178652647896497">"Апп"</string> <string name="msg_disabled_by_admin" msgid="6898038085516271325">"Таны админ идэвхгүй болгосон"</string> <string name="allow_rotation_title" msgid="7222049633713050106">"Үндсэн нүүрийг эргүүлэхийг зөвшөөрөх"</string> <string name="allow_rotation_desc" msgid="8662546029078692509">"Утсыг эргүүлсэн үед"</string> @@ -186,10 +185,8 @@ <string name="action_decrease_height" msgid="282377193880900022">"Намсгах"</string> <string name="widget_resized" msgid="9130327887929620">"Виджэтийн өргөн <xliff:g id="NUMBER_0">%1$s</xliff:g>, өндөр <xliff:g id="NUMBER_1">%2$s</xliff:g> болсон"</string> <string name="action_deep_shortcut" msgid="4766835855579976045">"Товчлолын цэс"</string> - <!-- no translation found for widget_frame_name (8782828448471444270) --> - <skip /> - <!-- no translation found for action_close (1077760267194136901) --> - <skip /> + <string name="widget_frame_name" msgid="8782828448471444270">"<xliff:g id="STRING">%1$s</xliff:g>-н виджетийн хэмжээг өөрчлөх фрейм"</string> + <string name="action_close" msgid="1077760267194136901">"Хаах"</string> <string name="action_dismiss_notification" msgid="5909461085055959187">"Хаах"</string> <string name="accessibility_close" msgid="2277148124685870734">"Хаах"</string> <string name="all_apps_personal_tab" msgid="4190252696685155002">"Хувийн"</string> diff --git a/res/values-mr/strings.xml b/res/values-mr/strings.xml index 5c19b74ef9..78b1cdec3a 100644 --- a/res/values-mr/strings.xml +++ b/res/values-mr/strings.xml @@ -131,8 +131,7 @@ <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"वॉलपेपर आणि शैली"</string> <string name="edit_home_screen" msgid="8947858375782098427">"होम स्क्रीन संपादित करा"</string> <string name="settings_button_text" msgid="8873672322605444408">"होम सेटिंग्ज"</string> - <!-- no translation found for all_apps_home_screen (8658178652647896497) --> - <skip /> + <string name="all_apps_home_screen" msgid="8658178652647896497">"ॲप्स"</string> <string name="msg_disabled_by_admin" msgid="6898038085516271325">"आपल्या प्रशासकाने अक्षम केले"</string> <string name="allow_rotation_title" msgid="7222049633713050106">"होम स्क्रीन फिरवण्याची अनुमती द्या"</string> <string name="allow_rotation_desc" msgid="8662546029078692509">"फोन फिरवला जातो तेव्हा"</string> @@ -186,10 +185,8 @@ <string name="action_decrease_height" msgid="282377193880900022">"उंची कमी करा"</string> <string name="widget_resized" msgid="9130327887929620">"विजेटचा आकार रुंदी <xliff:g id="NUMBER_0">%1$s</xliff:g> उंची <xliff:g id="NUMBER_1">%2$s</xliff:g> मध्ये बदलला"</string> <string name="action_deep_shortcut" msgid="4766835855579976045">"शॉर्टकट मेनू"</string> - <!-- no translation found for widget_frame_name (8782828448471444270) --> - <skip /> - <!-- no translation found for action_close (1077760267194136901) --> - <skip /> + <string name="widget_frame_name" msgid="8782828448471444270">"<xliff:g id="STRING">%1$s</xliff:g> साठी विजेटचा आकार बदलण्याची फ्रेम"</string> + <string name="action_close" msgid="1077760267194136901">"बंद करा"</string> <string name="action_dismiss_notification" msgid="5909461085055959187">"डिसमिस करा"</string> <string name="accessibility_close" msgid="2277148124685870734">"बंद करा"</string> <string name="all_apps_personal_tab" msgid="4190252696685155002">"वैयक्तिक"</string> @@ -220,6 +217,5 @@ <string name="ps_container_transition" msgid="8667331812048014412">"खाजगी स्पेस वर स्विच करणे"</string> <string name="ps_add_button_label" msgid="8127988716897128773">"इंस्टॉल करा"</string> <string name="ps_add_button_content_description" msgid="3254274107740952556">"अॅप्स खाजगी स्पेस मध्ये इंस्टॉल करा"</string> - <!-- no translation found for ps_app_content_description (1129133475892816226) --> - <skip /> + <string name="ps_app_content_description" msgid="1129133475892816226">"खाजगी स्पेस मध्ये फाइल आणि आणखी बऱ्याच गोष्टी जोडा"</string> </resources> diff --git a/res/values-ms/strings.xml b/res/values-ms/strings.xml index 4982d02829..afcee624c0 100644 --- a/res/values-ms/strings.xml +++ b/res/values-ms/strings.xml @@ -131,8 +131,7 @@ <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Hiasan latar & gaya"</string> <string name="edit_home_screen" msgid="8947858375782098427">"Edit Skrin Utama"</string> <string name="settings_button_text" msgid="8873672322605444408">"Tetapan skrin utama"</string> - <!-- no translation found for all_apps_home_screen (8658178652647896497) --> - <skip /> + <string name="all_apps_home_screen" msgid="8658178652647896497">"Apl"</string> <string name="msg_disabled_by_admin" msgid="6898038085516271325">"Dilumpuhkan oleh pentadbir anda"</string> <string name="allow_rotation_title" msgid="7222049633713050106">"Benarkan putaran skrin utama"</string> <string name="allow_rotation_desc" msgid="8662546029078692509">"Apabila telefon diputar"</string> @@ -186,10 +185,8 @@ <string name="action_decrease_height" msgid="282377193880900022">"Kurangkan ketinggian"</string> <string name="widget_resized" msgid="9130327887929620">"Saiz widget diubah menjadi <xliff:g id="NUMBER_0">%1$s</xliff:g> lebar <xliff:g id="NUMBER_1">%2$s</xliff:g> tinggi"</string> <string name="action_deep_shortcut" msgid="4766835855579976045">"Menu Pintasan"</string> - <!-- no translation found for widget_frame_name (8782828448471444270) --> - <skip /> - <!-- no translation found for action_close (1077760267194136901) --> - <skip /> + <string name="widget_frame_name" msgid="8782828448471444270">"Bingkai Ubah Saiz Widget untuk <xliff:g id="STRING">%1$s</xliff:g>"</string> + <string name="action_close" msgid="1077760267194136901">"Tutup"</string> <string name="action_dismiss_notification" msgid="5909461085055959187">"Ketepikan"</string> <string name="accessibility_close" msgid="2277148124685870734">"Tutup"</string> <string name="all_apps_personal_tab" msgid="4190252696685155002">"Peribadi"</string> @@ -220,6 +217,5 @@ <string name="ps_container_transition" msgid="8667331812048014412">"Peralihan Ruang Peribadi"</string> <string name="ps_add_button_label" msgid="8127988716897128773">"Pasang"</string> <string name="ps_add_button_content_description" msgid="3254274107740952556">"Pasang apl pada Ruang Peribadi"</string> - <!-- no translation found for ps_app_content_description (1129133475892816226) --> - <skip /> + <string name="ps_app_content_description" msgid="1129133475892816226">"Tambahkan fail dan banyak lagi pada Ruang Persendirian"</string> </resources> diff --git a/res/values-my/strings.xml b/res/values-my/strings.xml index 9ef175863e..c467055871 100644 --- a/res/values-my/strings.xml +++ b/res/values-my/strings.xml @@ -131,8 +131,7 @@ <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"နောက်ခံနှင့် ပုံစံ"</string> <string name="edit_home_screen" msgid="8947858375782098427">"ပင်မစာမျက်နှာ တည်းဖြတ်ရန်"</string> <string name="settings_button_text" msgid="8873672322605444408">"ပင်မဆက်တင်များ"</string> - <!-- no translation found for all_apps_home_screen (8658178652647896497) --> - <skip /> + <string name="all_apps_home_screen" msgid="8658178652647896497">"အက်ပ်များ"</string> <string name="msg_disabled_by_admin" msgid="6898038085516271325">"သင့်စီမံခန့်ခွဲသူက ပိတ်လိုက်ပါသည်"</string> <string name="allow_rotation_title" msgid="7222049633713050106">"ပင်မစာမျက်နှာလှည့်ခြင်းကို ခွင့်ပြုခြင်း"</string> <string name="allow_rotation_desc" msgid="8662546029078692509">"ဖုန်းကိုလှည့်ထားစဉ်"</string> @@ -186,10 +185,8 @@ <string name="action_decrease_height" msgid="282377193880900022">"အမြင့်အား လျှော့ပါ"</string> <string name="widget_resized" msgid="9130327887929620">"Widget အား အကျယ် <xliff:g id="NUMBER_0">%1$s</xliff:g> အမြင့် <xliff:g id="NUMBER_1">%2$s</xliff:g> အရွယ်အစားပြန်လည်ချိန်ညှိပြီး၏"</string> <string name="action_deep_shortcut" msgid="4766835855579976045">"ဖြတ်လမ်းလင့်ခ် မီနူး"</string> - <!-- no translation found for widget_frame_name (8782828448471444270) --> - <skip /> - <!-- no translation found for action_close (1077760267194136901) --> - <skip /> + <string name="widget_frame_name" msgid="8782828448471444270">"<xliff:g id="STRING">%1$s</xliff:g> အတွက် ဝိဂျက်အရွယ်ပြင်ဖရိမ်"</string> + <string name="action_close" msgid="1077760267194136901">"ပိတ်ရန်"</string> <string name="action_dismiss_notification" msgid="5909461085055959187">"ပယ်ရန်"</string> <string name="accessibility_close" msgid="2277148124685870734">"ပိတ်ရန်"</string> <string name="all_apps_personal_tab" msgid="4190252696685155002">"ကိုယ်ပိုင်"</string> diff --git a/res/values-nb/strings.xml b/res/values-nb/strings.xml index 4fb36425c2..f4e10fc51d 100644 --- a/res/values-nb/strings.xml +++ b/res/values-nb/strings.xml @@ -131,8 +131,7 @@ <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Bakgrunn og stil"</string> <string name="edit_home_screen" msgid="8947858375782098427">"Endre startsiden"</string> <string name="settings_button_text" msgid="8873672322605444408">"Startsideinnstillinger"</string> - <!-- no translation found for all_apps_home_screen (8658178652647896497) --> - <skip /> + <string name="all_apps_home_screen" msgid="8658178652647896497">"Apper"</string> <string name="msg_disabled_by_admin" msgid="6898038085516271325">"Administratoren har slått av funksjonen"</string> <string name="allow_rotation_title" msgid="7222049633713050106">"Tillat at startskjermen roterer"</string> <string name="allow_rotation_desc" msgid="8662546029078692509">"Når telefonen roteres"</string> @@ -186,10 +185,8 @@ <string name="action_decrease_height" msgid="282377193880900022">"Reduser høyden"</string> <string name="widget_resized" msgid="9130327887929620">"Størrelsen på modulen er endret til bredde <xliff:g id="NUMBER_0">%1$s</xliff:g> og høyde <xliff:g id="NUMBER_1">%2$s</xliff:g>"</string> <string name="action_deep_shortcut" msgid="4766835855579976045">"Hurtigtastmeny"</string> - <!-- no translation found for widget_frame_name (8782828448471444270) --> - <skip /> - <!-- no translation found for action_close (1077760267194136901) --> - <skip /> + <string name="widget_frame_name" msgid="8782828448471444270">"Modul – endre størrelse på rammen for <xliff:g id="STRING">%1$s</xliff:g>"</string> + <string name="action_close" msgid="1077760267194136901">"Lukk"</string> <string name="action_dismiss_notification" msgid="5909461085055959187">"Avvis"</string> <string name="accessibility_close" msgid="2277148124685870734">"Lukk"</string> <string name="all_apps_personal_tab" msgid="4190252696685155002">"Personlig"</string> diff --git a/res/values-ne/strings.xml b/res/values-ne/strings.xml index 38167de0f1..00cbba0d6f 100644 --- a/res/values-ne/strings.xml +++ b/res/values-ne/strings.xml @@ -131,8 +131,7 @@ <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"वालपेपर तथा शैली"</string> <string name="edit_home_screen" msgid="8947858375782098427">"होम स्क्रिन बदल्नुहोस्"</string> <string name="settings_button_text" msgid="8873672322605444408">"होम पेजका सेटिङहरू"</string> - <!-- no translation found for all_apps_home_screen (8658178652647896497) --> - <skip /> + <string name="all_apps_home_screen" msgid="8658178652647896497">"एपहरू"</string> <string name="msg_disabled_by_admin" msgid="6898038085516271325">"तपाईँको प्रशासकद्वारा असक्षम गरिएको"</string> <string name="allow_rotation_title" msgid="7222049633713050106">"होम स्क्रिन रोटेट हुन दिइयोस्"</string> <string name="allow_rotation_desc" msgid="8662546029078692509">"फोन घुमाउँदा"</string> @@ -186,18 +185,14 @@ <string name="action_decrease_height" msgid="282377193880900022">"उँचाइ घटाउनुहोस्"</string> <string name="widget_resized" msgid="9130327887929620">"विजेट चौडाइ <xliff:g id="NUMBER_0">%1$s</xliff:g> उचाइ <xliff:g id="NUMBER_1">%2$s</xliff:g> मा पुनः आकार मिलाइयो"</string> <string name="action_deep_shortcut" msgid="4766835855579976045">"सर्टकटसम्बन्धी मेनु"</string> - <!-- no translation found for widget_frame_name (8782828448471444270) --> - <skip /> - <!-- no translation found for action_close (1077760267194136901) --> - <skip /> + <string name="widget_frame_name" msgid="8782828448471444270">"<xliff:g id="STRING">%1$s</xliff:g> एपको विजेटको आकार बदल्ने फ्रेम"</string> + <string name="action_close" msgid="1077760267194136901">"बन्द गर्नुहोस्"</string> <string name="action_dismiss_notification" msgid="5909461085055959187">"खारेज गर्नुहोस्"</string> <string name="accessibility_close" msgid="2277148124685870734">"बन्द गर्नुहोस्"</string> <string name="all_apps_personal_tab" msgid="4190252696685155002">"व्यक्तिगत"</string> <string name="all_apps_work_tab" msgid="4884822796154055118">"कामसम्बन्धी"</string> - <!-- no translation found for all_apps_personal_tab_content_description (6286808898381807242) --> - <skip /> - <!-- no translation found for all_apps_work_tab_content_description (3835637212347968316) --> - <skip /> + <string name="all_apps_personal_tab_content_description" msgid="6286808898381807242">"\"व्यक्तिगत एपहरू\" ट्याब"</string> + <string name="all_apps_work_tab_content_description" msgid="3835637212347968316">"\"कामसम्बन्धी एपहरू\" ट्याब"</string> <string name="work_profile_toggle_label" msgid="3081029915775481146">"कार्य प्रोफाइल"</string> <string name="work_profile_edu_work_apps" msgid="7895468576497746520">"कामसम्बन्धी एपहरूमा ब्याज अङ्कित हुन्छ र तपाईंका IT एड्मिन ती एप हेर्न सक्छन्"</string> <string name="work_profile_edu_accept" msgid="6069788082535149071">"बुझेँ"</string> diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml index 2b99b690ab..5fa50c6715 100644 --- a/res/values-nl/strings.xml +++ b/res/values-nl/strings.xml @@ -131,8 +131,7 @@ <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Achtergrond en stijl"</string> <string name="edit_home_screen" msgid="8947858375782098427">"Startscherm bewerken"</string> <string name="settings_button_text" msgid="8873672322605444408">"Instellingen Start"</string> - <!-- no translation found for all_apps_home_screen (8658178652647896497) --> - <skip /> + <string name="all_apps_home_screen" msgid="8658178652647896497">"Apps"</string> <string name="msg_disabled_by_admin" msgid="6898038085516271325">"Uitgezet door je beheerder"</string> <string name="allow_rotation_title" msgid="7222049633713050106">"Draaien van startscherm toestaan"</string> <string name="allow_rotation_desc" msgid="8662546029078692509">"Als de telefoon gedraaid is"</string> @@ -186,10 +185,8 @@ <string name="action_decrease_height" msgid="282377193880900022">"Hoogte verkleinen"</string> <string name="widget_resized" msgid="9130327887929620">"Formaat van widget gewijzigd in breedte <xliff:g id="NUMBER_0">%1$s</xliff:g> en hoogte <xliff:g id="NUMBER_1">%2$s</xliff:g>"</string> <string name="action_deep_shortcut" msgid="4766835855579976045">"Snelmenu"</string> - <!-- no translation found for widget_frame_name (8782828448471444270) --> - <skip /> - <!-- no translation found for action_close (1077760267194136901) --> - <skip /> + <string name="widget_frame_name" msgid="8782828448471444270">"Frame voor widgetformaat aanpassen voor <xliff:g id="STRING">%1$s</xliff:g>"</string> + <string name="action_close" msgid="1077760267194136901">"Sluiten"</string> <string name="action_dismiss_notification" msgid="5909461085055959187">"Sluiten"</string> <string name="accessibility_close" msgid="2277148124685870734">"Sluiten"</string> <string name="all_apps_personal_tab" msgid="4190252696685155002">"Privé"</string> diff --git a/res/values-or/strings.xml b/res/values-or/strings.xml index 2b924de1fc..d2b1906528 100644 --- a/res/values-or/strings.xml +++ b/res/values-or/strings.xml @@ -131,8 +131,7 @@ <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"ୱାଲପେପର ଏବଂ ଷ୍ଟାଇଲ"</string> <string name="edit_home_screen" msgid="8947858375782098427">"ହୋମ ସ୍କ୍ରିନକୁ ଏଡିଟ କରନ୍ତୁ"</string> <string name="settings_button_text" msgid="8873672322605444408">"ହୋମ ସେଟିଂସ"</string> - <!-- no translation found for all_apps_home_screen (8658178652647896497) --> - <skip /> + <string name="all_apps_home_screen" msgid="8658178652647896497">"ଆପ୍ସ"</string> <string name="msg_disabled_by_admin" msgid="6898038085516271325">"ଆପଣଙ୍କ ଆଡମିନଙ୍କ ଦ୍ୱାରା ଅକ୍ଷମ କରାଯାଇଛି"</string> <string name="allow_rotation_title" msgid="7222049633713050106">"ହୋମ ସ୍କ୍ରିନ ରୋଟେସନକୁ ଅନୁମତି ଦିଅନ୍ତୁ"</string> <string name="allow_rotation_desc" msgid="8662546029078692509">"ଯେତେବେଳେ ଫୋନକୁ ରୋଟେଟ କରାଯାଇଥାଏ"</string> @@ -186,10 +185,8 @@ <string name="action_decrease_height" msgid="282377193880900022">"ଉଚ୍ଚତା କମ୍ କରନ୍ତୁ"</string> <string name="widget_resized" msgid="9130327887929620">"ୱିଜେଟକୁ <xliff:g id="NUMBER_0">%1$s</xliff:g> ଓସାର ଓ <xliff:g id="NUMBER_1">%2$s</xliff:g> ଉଚ୍ଚରେ ପୁନଃଆକାର ଦିଆଗଲା"</string> <string name="action_deep_shortcut" msgid="4766835855579976045">"ସର୍ଟକଟ ମେନୁ"</string> - <!-- no translation found for widget_frame_name (8782828448471444270) --> - <skip /> - <!-- no translation found for action_close (1077760267194136901) --> - <skip /> + <string name="widget_frame_name" msgid="8782828448471444270">"<xliff:g id="STRING">%1$s</xliff:g> ପାଇଁ ୱିଜେଟ ରିସାଇଜ ଫ୍ରେମ"</string> + <string name="action_close" msgid="1077760267194136901">"ବନ୍ଦ କରନ୍ତୁ"</string> <string name="action_dismiss_notification" msgid="5909461085055959187">"ଖାରଜ କରନ୍ତୁ"</string> <string name="accessibility_close" msgid="2277148124685870734">"ବନ୍ଦ କରନ୍ତୁ"</string> <string name="all_apps_personal_tab" msgid="4190252696685155002">"ବ୍ୟକ୍ତିଗତ"</string> diff --git a/res/values-pa/strings.xml b/res/values-pa/strings.xml index 934266da71..04244698a9 100644 --- a/res/values-pa/strings.xml +++ b/res/values-pa/strings.xml @@ -131,8 +131,7 @@ <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"ਵਾਲਪੇਪਰ ਅਤੇ ਸਟਾਈਲ"</string> <string name="edit_home_screen" msgid="8947858375782098427">"ਹੋਮ ਸਕ੍ਰੀਨ ਦਾ ਸੰਪਾਦਨ ਕਰੋ"</string> <string name="settings_button_text" msgid="8873672322605444408">"ਹੋਮ ਸੈਟਿੰਗਾਂ"</string> - <!-- no translation found for all_apps_home_screen (8658178652647896497) --> - <skip /> + <string name="all_apps_home_screen" msgid="8658178652647896497">"ਐਪਾਂ"</string> <string name="msg_disabled_by_admin" msgid="6898038085516271325">"ਤੁਹਾਡੇ ਪ੍ਰਸ਼ਾਸਕ ਦੁਆਰਾ ਅਯੋਗ ਬਣਾਈ ਗਈ"</string> <string name="allow_rotation_title" msgid="7222049633713050106">"ਹੋਮ ਸਕ੍ਰੀਨ ਨੂੰ ਘੁਮਾਉਣ ਦੀ ਆਗਿਆ ਦਿਓ"</string> <string name="allow_rotation_desc" msgid="8662546029078692509">"ਜਦੋਂ ਫ਼ੋਨ ਘੁਮਾਇਆ ਜਾਂਦਾ ਹੈ"</string> @@ -186,10 +185,8 @@ <string name="action_decrease_height" msgid="282377193880900022">"ਉਂਚਾਈ ਘਟਾਓ"</string> <string name="widget_resized" msgid="9130327887929620">"ਵਿਜੈਟ ਨੂੰ ਚੌੜਾਈ <xliff:g id="NUMBER_0">%1$s</xliff:g> ਉਂਚਾਈ <xliff:g id="NUMBER_1">%2$s</xliff:g> ਨੂੰ ਮੁੜ ਆਕਾਰ ਦਿੱਤਾ"</string> <string name="action_deep_shortcut" msgid="4766835855579976045">"ਸ਼ਾਰਟਕੱਟ ਮੀਨੂ"</string> - <!-- no translation found for widget_frame_name (8782828448471444270) --> - <skip /> - <!-- no translation found for action_close (1077760267194136901) --> - <skip /> + <string name="widget_frame_name" msgid="8782828448471444270">"<xliff:g id="STRING">%1$s</xliff:g> ਲਈ, ਵਿਜੇਟ ਦਾ ਆਕਾਰ ਬਦਲਣ ਵਾਲਾ ਫ੍ਰੇਮ"</string> + <string name="action_close" msgid="1077760267194136901">"ਬੰਦ ਕਰੋ"</string> <string name="action_dismiss_notification" msgid="5909461085055959187">"ਖਾਰਜ ਕਰੋ"</string> <string name="accessibility_close" msgid="2277148124685870734">"ਬੰਦ ਕਰੋ"</string> <string name="all_apps_personal_tab" msgid="4190252696685155002">"ਨਿੱਜੀ"</string> @@ -220,6 +217,5 @@ <string name="ps_container_transition" msgid="8667331812048014412">"ਪ੍ਰਾਈਵੇਟ ਸਪੇਸ ਨੂੰ ਤਬਦੀਲ ਕਰਨਾ"</string> <string name="ps_add_button_label" msgid="8127988716897128773">"ਸਥਾਪਤ ਕਰੋ"</string> <string name="ps_add_button_content_description" msgid="3254274107740952556">"ਪ੍ਰਾਈਵੇਟ ਸਪੇਸ ਵਿੱਚ ਐਪਾਂ ਸਥਾਪਤ ਕਰੋ"</string> - <!-- no translation found for ps_app_content_description (1129133475892816226) --> - <skip /> + <string name="ps_app_content_description" msgid="1129133475892816226">"ਪ੍ਰਾਈਵੇਟ ਸਪੇਸ ਵਿੱਚ ਫ਼ਾਈਲਾਂ ਅਤੇ ਹੋਰ ਚੀਜ਼ਾਂ ਨੂੰ ਸ਼ਾਮਲ ਕਰੋ"</string> </resources> diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml index 36fa4e8905..327c5ea3af 100644 --- a/res/values-pl/strings.xml +++ b/res/values-pl/strings.xml @@ -131,8 +131,7 @@ <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Tapeta i styl"</string> <string name="edit_home_screen" msgid="8947858375782098427">"Edytuj ekran główny"</string> <string name="settings_button_text" msgid="8873672322605444408">"Ustawienia ekranu głównego"</string> - <!-- no translation found for all_apps_home_screen (8658178652647896497) --> - <skip /> + <string name="all_apps_home_screen" msgid="8658178652647896497">"Aplikacje"</string> <string name="msg_disabled_by_admin" msgid="6898038085516271325">"Funkcja wyłączona przez administratora"</string> <string name="allow_rotation_title" msgid="7222049633713050106">"Zezwalaj na obrót ekranu głównego"</string> <string name="allow_rotation_desc" msgid="8662546029078692509">"Po obróceniu telefonu"</string> @@ -186,10 +185,8 @@ <string name="action_decrease_height" msgid="282377193880900022">"Zmniejsz wysokość"</string> <string name="widget_resized" msgid="9130327887929620">"Szerokość i wysokość widżetu zmieniła się na <xliff:g id="NUMBER_0">%1$s</xliff:g> x <xliff:g id="NUMBER_1">%2$s</xliff:g>"</string> <string name="action_deep_shortcut" msgid="4766835855579976045">"Menu skrótów"</string> - <!-- no translation found for widget_frame_name (8782828448471444270) --> - <skip /> - <!-- no translation found for action_close (1077760267194136901) --> - <skip /> + <string name="widget_frame_name" msgid="8782828448471444270">"Ramka zmiany rozmiaru widżetu dla: <xliff:g id="STRING">%1$s</xliff:g>"</string> + <string name="action_close" msgid="1077760267194136901">"Zamknij"</string> <string name="action_dismiss_notification" msgid="5909461085055959187">"Zamknij"</string> <string name="accessibility_close" msgid="2277148124685870734">"Zamknij"</string> <string name="all_apps_personal_tab" msgid="4190252696685155002">"Osobiste"</string> diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml index 50252d5eee..54fcb9a6db 100644 --- a/res/values-pt-rPT/strings.xml +++ b/res/values-pt-rPT/strings.xml @@ -131,8 +131,7 @@ <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Imagem fundo/estilo"</string> <string name="edit_home_screen" msgid="8947858375782098427">"Editar ecrã principal"</string> <string name="settings_button_text" msgid="8873672322605444408">"Definições de início"</string> - <!-- no translation found for all_apps_home_screen (8658178652647896497) --> - <skip /> + <string name="all_apps_home_screen" msgid="8658178652647896497">"Apps"</string> <string name="msg_disabled_by_admin" msgid="6898038085516271325">"Desativada pelo gestor"</string> <string name="allow_rotation_title" msgid="7222049633713050106">"Permitir rotação do ecrã principal"</string> <string name="allow_rotation_desc" msgid="8662546029078692509">"Quando o telemóvel é rodado"</string> @@ -186,10 +185,8 @@ <string name="action_decrease_height" msgid="282377193880900022">"Diminuir altura"</string> <string name="widget_resized" msgid="9130327887929620">"Widget redimensionado para a largura <xliff:g id="NUMBER_0">%1$s</xliff:g>, altura <xliff:g id="NUMBER_1">%2$s</xliff:g>"</string> <string name="action_deep_shortcut" msgid="4766835855579976045">"Menu de atalho"</string> - <!-- no translation found for widget_frame_name (8782828448471444270) --> - <skip /> - <!-- no translation found for action_close (1077760267194136901) --> - <skip /> + <string name="widget_frame_name" msgid="8782828448471444270">"Frame de redimensionamento do widget para <xliff:g id="STRING">%1$s</xliff:g>"</string> + <string name="action_close" msgid="1077760267194136901">"Fechar"</string> <string name="action_dismiss_notification" msgid="5909461085055959187">"Ignorar"</string> <string name="accessibility_close" msgid="2277148124685870734">"Fechar"</string> <string name="all_apps_personal_tab" msgid="4190252696685155002">"Pessoal"</string> @@ -220,6 +217,5 @@ <string name="ps_container_transition" msgid="8667331812048014412">"Transição do espaço privado"</string> <string name="ps_add_button_label" msgid="8127988716897128773">"Instalar"</string> <string name="ps_add_button_content_description" msgid="3254274107740952556">"Instale apps no espaço privado"</string> - <!-- no translation found for ps_app_content_description (1129133475892816226) --> - <skip /> + <string name="ps_app_content_description" msgid="1129133475892816226">"Adicione ficheiros e muito mais ao espaço privado"</string> </resources> diff --git a/res/values-ro/strings.xml b/res/values-ro/strings.xml index 458f46e328..9a61bb4d94 100644 --- a/res/values-ro/strings.xml +++ b/res/values-ro/strings.xml @@ -131,8 +131,7 @@ <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Imagine de fundal și stil"</string> <string name="edit_home_screen" msgid="8947858375782098427">"Editează ecranul de pornire"</string> <string name="settings_button_text" msgid="8873672322605444408">"Setări ecran de pornire"</string> - <!-- no translation found for all_apps_home_screen (8658178652647896497) --> - <skip /> + <string name="all_apps_home_screen" msgid="8658178652647896497">"Aplicații"</string> <string name="msg_disabled_by_admin" msgid="6898038085516271325">"Dezactivată de administrator"</string> <string name="allow_rotation_title" msgid="7222049633713050106">"Permite rotirea ecranului de pornire"</string> <string name="allow_rotation_desc" msgid="8662546029078692509">"Când telefonul este rotit"</string> @@ -186,10 +185,8 @@ <string name="action_decrease_height" msgid="282377193880900022">"Redu înălțimea"</string> <string name="widget_resized" msgid="9130327887929620">"Widgetul a fost redimensionat la lățimea <xliff:g id="NUMBER_0">%1$s</xliff:g> și înălțimea <xliff:g id="NUMBER_1">%2$s</xliff:g>"</string> <string name="action_deep_shortcut" msgid="4766835855579976045">"Meniu de comenzi rapide"</string> - <!-- no translation found for widget_frame_name (8782828448471444270) --> - <skip /> - <!-- no translation found for action_close (1077760267194136901) --> - <skip /> + <string name="widget_frame_name" msgid="8782828448471444270">"Cadru de redimensionare a widgetului pentru <xliff:g id="STRING">%1$s</xliff:g>"</string> + <string name="action_close" msgid="1077760267194136901">"Închide"</string> <string name="action_dismiss_notification" msgid="5909461085055959187">"Închide"</string> <string name="accessibility_close" msgid="2277148124685870734">"Închide"</string> <string name="all_apps_personal_tab" msgid="4190252696685155002">"Personale"</string> diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml index 52995969bb..5cae2fd3b1 100644 --- a/res/values-ru/strings.xml +++ b/res/values-ru/strings.xml @@ -131,8 +131,7 @@ <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Обои и стиль"</string> <string name="edit_home_screen" msgid="8947858375782098427">"Изменить главный экран"</string> <string name="settings_button_text" msgid="8873672322605444408">"Главный экран"</string> - <!-- no translation found for all_apps_home_screen (8658178652647896497) --> - <skip /> + <string name="all_apps_home_screen" msgid="8658178652647896497">"Приложения"</string> <string name="msg_disabled_by_admin" msgid="6898038085516271325">"Функция отключена администратором"</string> <string name="allow_rotation_title" msgid="7222049633713050106">"Разрешить поворачивать главный экран"</string> <string name="allow_rotation_desc" msgid="8662546029078692509">"При повороте телефона"</string> @@ -186,10 +185,8 @@ <string name="action_decrease_height" msgid="282377193880900022">"Уменьшить высоту"</string> <string name="widget_resized" msgid="9130327887929620">"Изменен размер виджета: до <xliff:g id="NUMBER_0">%1$s</xliff:g> в ширину и <xliff:g id="NUMBER_1">%2$s</xliff:g> в высоту"</string> <string name="action_deep_shortcut" msgid="4766835855579976045">"Быстрое меню"</string> - <!-- no translation found for widget_frame_name (8782828448471444270) --> - <skip /> - <!-- no translation found for action_close (1077760267194136901) --> - <skip /> + <string name="widget_frame_name" msgid="8782828448471444270">"Рамка изменения размеров виджета \"<xliff:g id="STRING">%1$s</xliff:g>\""</string> + <string name="action_close" msgid="1077760267194136901">"Закрыть"</string> <string name="action_dismiss_notification" msgid="5909461085055959187">"Закрыть"</string> <string name="accessibility_close" msgid="2277148124685870734">"Закрыть"</string> <string name="all_apps_personal_tab" msgid="4190252696685155002">"Личные"</string> @@ -220,6 +217,5 @@ <string name="ps_container_transition" msgid="8667331812048014412">"Переход к личному пространству"</string> <string name="ps_add_button_label" msgid="8127988716897128773">"Установить"</string> <string name="ps_add_button_content_description" msgid="3254274107740952556">"Установить приложения в личном пространстве"</string> - <!-- no translation found for ps_app_content_description (1129133475892816226) --> - <skip /> + <string name="ps_app_content_description" msgid="1129133475892816226">"Добавляйте в частное пространство файлы и многое другое"</string> </resources> diff --git a/res/values-si/strings.xml b/res/values-si/strings.xml index 766dafd336..ea02797bc0 100644 --- a/res/values-si/strings.xml +++ b/res/values-si/strings.xml @@ -131,8 +131,7 @@ <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"වෝල්පේපරය සහ මෝස්තරය"</string> <string name="edit_home_screen" msgid="8947858375782098427">"මුල් තිරය සංස්කරණය කරන්න"</string> <string name="settings_button_text" msgid="8873672322605444408">"නිවසේ සැකසීම්"</string> - <!-- no translation found for all_apps_home_screen (8658178652647896497) --> - <skip /> + <string name="all_apps_home_screen" msgid="8658178652647896497">"යෙදුම්"</string> <string name="msg_disabled_by_admin" msgid="6898038085516271325">"ඔබගේ පරිපාලක විසින් අබල කරන ලදී"</string> <string name="allow_rotation_title" msgid="7222049633713050106">"මුල් තිරය කරකැවීමට ඉඩ දෙන්න"</string> <string name="allow_rotation_desc" msgid="8662546029078692509">"දුරකථනය කරකවන විට"</string> @@ -186,10 +185,8 @@ <string name="action_decrease_height" msgid="282377193880900022">"උස අඩු කරන්න"</string> <string name="widget_resized" msgid="9130327887929620">"විජට් පළල <xliff:g id="NUMBER_0">%1$s</xliff:g> උස <xliff:g id="NUMBER_1">%2$s</xliff:g> වෙත ප්රමාණකරණය කරන ලදි"</string> <string name="action_deep_shortcut" msgid="4766835855579976045">"කෙටිමං මෙනුව"</string> - <!-- no translation found for widget_frame_name (8782828448471444270) --> - <skip /> - <!-- no translation found for action_close (1077760267194136901) --> - <skip /> + <string name="widget_frame_name" msgid="8782828448471444270">"<xliff:g id="STRING">%1$s</xliff:g> සඳහා විජට් ප්රමාණය වෙනස් කිරීමේ රාමුව"</string> + <string name="action_close" msgid="1077760267194136901">"වසන්න"</string> <string name="action_dismiss_notification" msgid="5909461085055959187">"ඉවතලන්න"</string> <string name="accessibility_close" msgid="2277148124685870734">"වසන්න"</string> <string name="all_apps_personal_tab" msgid="4190252696685155002">"පුද්ගලික"</string> @@ -220,6 +217,5 @@ <string name="ps_container_transition" msgid="8667331812048014412">"පෞද්ගලික අවකාශ සංක්රමණය"</string> <string name="ps_add_button_label" msgid="8127988716897128773">"ස්ථාපන කරන්න"</string> <string name="ps_add_button_content_description" msgid="3254274107740952556">"පෞද්ගලික අවකාශයට යෙදුම් ස්ථාපනය කරන්න"</string> - <!-- no translation found for ps_app_content_description (1129133475892816226) --> - <skip /> + <string name="ps_app_content_description" msgid="1129133475892816226">"රහසිගත අවකාශයට ගොනු සහ තවත් දේ එක් කරන්න"</string> </resources> diff --git a/res/values-sk/strings.xml b/res/values-sk/strings.xml index 465ed09fd1..504ca56dff 100644 --- a/res/values-sk/strings.xml +++ b/res/values-sk/strings.xml @@ -131,8 +131,7 @@ <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Tapeta a štýl"</string> <string name="edit_home_screen" msgid="8947858375782098427">"Upraviť plochu"</string> <string name="settings_button_text" msgid="8873672322605444408">"Nastavenia plochy"</string> - <!-- no translation found for all_apps_home_screen (8658178652647896497) --> - <skip /> + <string name="all_apps_home_screen" msgid="8658178652647896497">"Aplikácie"</string> <string name="msg_disabled_by_admin" msgid="6898038085516271325">"Zakázané vaším správcom"</string> <string name="allow_rotation_title" msgid="7222049633713050106">"Povoliť otáčanie plochy"</string> <string name="allow_rotation_desc" msgid="8662546029078692509">"Pri otočení telefónu"</string> @@ -186,10 +185,8 @@ <string name="action_decrease_height" msgid="282377193880900022">"Znížiť výšku"</string> <string name="widget_resized" msgid="9130327887929620">"Veľkosť miniaplikácie bola zmenená na <xliff:g id="NUMBER_0">%1$s</xliff:g> x <xliff:g id="NUMBER_1">%2$s</xliff:g> (šírka x výška)"</string> <string name="action_deep_shortcut" msgid="4766835855579976045">"Ponuka skratiek"</string> - <!-- no translation found for widget_frame_name (8782828448471444270) --> - <skip /> - <!-- no translation found for action_close (1077760267194136901) --> - <skip /> + <string name="widget_frame_name" msgid="8782828448471444270">"Rám na zmenu veľkosti miniaplikácie pre <xliff:g id="STRING">%1$s</xliff:g>"</string> + <string name="action_close" msgid="1077760267194136901">"Zavrieť"</string> <string name="action_dismiss_notification" msgid="5909461085055959187">"Zavrieť"</string> <string name="accessibility_close" msgid="2277148124685870734">"Zavrieť"</string> <string name="all_apps_personal_tab" msgid="4190252696685155002">"Osobné"</string> diff --git a/res/values-sl/strings.xml b/res/values-sl/strings.xml index a32a0a971c..4235d03254 100644 --- a/res/values-sl/strings.xml +++ b/res/values-sl/strings.xml @@ -131,8 +131,7 @@ <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Zaslonsko ozadje in slog"</string> <string name="edit_home_screen" msgid="8947858375782098427">"Urejanje začetnega zaslona"</string> <string name="settings_button_text" msgid="8873672322605444408">"Začetni zaslon"</string> - <!-- no translation found for all_apps_home_screen (8658178652647896497) --> - <skip /> + <string name="all_apps_home_screen" msgid="8658178652647896497">"Aplikacije"</string> <string name="msg_disabled_by_admin" msgid="6898038085516271325">"Onemogočil skrbnik."</string> <string name="allow_rotation_title" msgid="7222049633713050106">"Dovoli sukanje začetnega zaslona"</string> <string name="allow_rotation_desc" msgid="8662546029078692509">"Ko se telefon zasuka"</string> @@ -186,10 +185,8 @@ <string name="action_decrease_height" msgid="282377193880900022">"Zmanjšanje višine"</string> <string name="widget_resized" msgid="9130327887929620">"Velikost pripomočka je bila spremenjena na <xliff:g id="NUMBER_0">%1$s</xliff:g> širine in <xliff:g id="NUMBER_1">%2$s</xliff:g> višine"</string> <string name="action_deep_shortcut" msgid="4766835855579976045">"Meni z bližnjicami"</string> - <!-- no translation found for widget_frame_name (8782828448471444270) --> - <skip /> - <!-- no translation found for action_close (1077760267194136901) --> - <skip /> + <string name="widget_frame_name" msgid="8782828448471444270">"Okvir za spreminjanje velikosti pripomočka za aplikacijo <xliff:g id="STRING">%1$s</xliff:g>"</string> + <string name="action_close" msgid="1077760267194136901">"Zapri"</string> <string name="action_dismiss_notification" msgid="5909461085055959187">"Opusti"</string> <string name="accessibility_close" msgid="2277148124685870734">"Zapri"</string> <string name="all_apps_personal_tab" msgid="4190252696685155002">"Osebno"</string> @@ -220,6 +217,5 @@ <string name="ps_container_transition" msgid="8667331812048014412">"Preklapljanje zasebnega prostora"</string> <string name="ps_add_button_label" msgid="8127988716897128773">"Namestitev"</string> <string name="ps_add_button_content_description" msgid="3254274107740952556">"Nameščanje aplikacij v zasebni prostor"</string> - <!-- no translation found for ps_app_content_description (1129133475892816226) --> - <skip /> + <string name="ps_app_content_description" msgid="1129133475892816226">"Dodajte datoteke in drugo v zasebni prostor"</string> </resources> diff --git a/res/values-sq/strings.xml b/res/values-sq/strings.xml index d1b955c612..2906849bf4 100644 --- a/res/values-sq/strings.xml +++ b/res/values-sq/strings.xml @@ -131,8 +131,7 @@ <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Imazhi i sfondit dhe stili"</string> <string name="edit_home_screen" msgid="8947858375782098427">"Modifiko ekranin bazë"</string> <string name="settings_button_text" msgid="8873672322605444408">"Cilësimet e ekranit bazë"</string> - <!-- no translation found for all_apps_home_screen (8658178652647896497) --> - <skip /> + <string name="all_apps_home_screen" msgid="8658178652647896497">"Aplikacionet"</string> <string name="msg_disabled_by_admin" msgid="6898038085516271325">"Çaktivizuar nga administratori"</string> <string name="allow_rotation_title" msgid="7222049633713050106">"Lejo rrotullimin e ekranit bazë"</string> <string name="allow_rotation_desc" msgid="8662546029078692509">"Kur telefoni rrotullohet"</string> @@ -186,10 +185,8 @@ <string name="action_decrease_height" msgid="282377193880900022">"Zvogëlo lartësinë"</string> <string name="widget_resized" msgid="9130327887929620">"Madhësia e miniaplikacionit u ndryshua me gjerësinë <xliff:g id="NUMBER_0">%1$s</xliff:g> dhe lartësinë <xliff:g id="NUMBER_1">%2$s</xliff:g>"</string> <string name="action_deep_shortcut" msgid="4766835855579976045">"Menyja e shkurtoreve"</string> - <!-- no translation found for widget_frame_name (8782828448471444270) --> - <skip /> - <!-- no translation found for action_close (1077760267194136901) --> - <skip /> + <string name="widget_frame_name" msgid="8782828448471444270">"Kuadri i ndryshimit të përmasave të miniaplikacionit për <xliff:g id="STRING">%1$s</xliff:g>"</string> + <string name="action_close" msgid="1077760267194136901">"Mbyll"</string> <string name="action_dismiss_notification" msgid="5909461085055959187">"Hiqe"</string> <string name="accessibility_close" msgid="2277148124685870734">"Mbyll"</string> <string name="all_apps_personal_tab" msgid="4190252696685155002">"Personale"</string> diff --git a/res/values-sr/strings.xml b/res/values-sr/strings.xml index ca04201c26..b661b99187 100644 --- a/res/values-sr/strings.xml +++ b/res/values-sr/strings.xml @@ -131,8 +131,7 @@ <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Позадина и стил"</string> <string name="edit_home_screen" msgid="8947858375782098427">"Измени почетни екран"</string> <string name="settings_button_text" msgid="8873672322605444408">"Подешавања почетног екрана"</string> - <!-- no translation found for all_apps_home_screen (8658178652647896497) --> - <skip /> + <string name="all_apps_home_screen" msgid="8658178652647896497">"Апликације"</string> <string name="msg_disabled_by_admin" msgid="6898038085516271325">"Администратор је онемогућио"</string> <string name="allow_rotation_title" msgid="7222049633713050106">"Дозволи ротацију почетног екрана"</string> <string name="allow_rotation_desc" msgid="8662546029078692509">"Када се телефон ротира"</string> @@ -186,10 +185,8 @@ <string name="action_decrease_height" msgid="282377193880900022">"Смањи висину"</string> <string name="widget_resized" msgid="9130327887929620">"Величина виџета је промењена на ширину <xliff:g id="NUMBER_0">%1$s</xliff:g> и висину <xliff:g id="NUMBER_1">%2$s</xliff:g>"</string> <string name="action_deep_shortcut" msgid="4766835855579976045">"Мени са пречицама"</string> - <!-- no translation found for widget_frame_name (8782828448471444270) --> - <skip /> - <!-- no translation found for action_close (1077760267194136901) --> - <skip /> + <string name="widget_frame_name" msgid="8782828448471444270">"Промена величине оквира виџета за: <xliff:g id="STRING">%1$s</xliff:g>"</string> + <string name="action_close" msgid="1077760267194136901">"Затворите"</string> <string name="action_dismiss_notification" msgid="5909461085055959187">"Одбаци"</string> <string name="accessibility_close" msgid="2277148124685870734">"Затвори"</string> <string name="all_apps_personal_tab" msgid="4190252696685155002">"Лично"</string> @@ -220,6 +217,5 @@ <string name="ps_container_transition" msgid="8667331812048014412">"Пренос приватног простора"</string> <string name="ps_add_button_label" msgid="8127988716897128773">"Инсталирајте"</string> <string name="ps_add_button_content_description" msgid="3254274107740952556">"Инсталирај апликације у приватан простор"</string> - <!-- no translation found for ps_app_content_description (1129133475892816226) --> - <skip /> + <string name="ps_app_content_description" msgid="1129133475892816226">"Додајте фајлове и друго у приватан простор"</string> </resources> diff --git a/res/values-sv/strings.xml b/res/values-sv/strings.xml index dd91e4bc56..898873a4f9 100644 --- a/res/values-sv/strings.xml +++ b/res/values-sv/strings.xml @@ -131,8 +131,7 @@ <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Bakgrund och utseende"</string> <string name="edit_home_screen" msgid="8947858375782098427">"Redigera startskärm"</string> <string name="settings_button_text" msgid="8873672322605444408">"Startinställningar"</string> - <!-- no translation found for all_apps_home_screen (8658178652647896497) --> - <skip /> + <string name="all_apps_home_screen" msgid="8658178652647896497">"Appar"</string> <string name="msg_disabled_by_admin" msgid="6898038085516271325">"Inaktiverat av administratören"</string> <string name="allow_rotation_title" msgid="7222049633713050106">"Tillåt rotering av startskärmen"</string> <string name="allow_rotation_desc" msgid="8662546029078692509">"När telefonen vrids"</string> @@ -186,10 +185,8 @@ <string name="action_decrease_height" msgid="282377193880900022">"Minska höjden"</string> <string name="widget_resized" msgid="9130327887929620">"Widgetens storlek har ändrats till: bredd <xliff:g id="NUMBER_0">%1$s</xliff:g>, höjd <xliff:g id="NUMBER_1">%2$s</xliff:g>"</string> <string name="action_deep_shortcut" msgid="4766835855579976045">"Snabbmeny"</string> - <!-- no translation found for widget_frame_name (8782828448471444270) --> - <skip /> - <!-- no translation found for action_close (1077760267194136901) --> - <skip /> + <string name="widget_frame_name" msgid="8782828448471444270">"Widget för att ändra ramstorlek för <xliff:g id="STRING">%1$s</xliff:g>"</string> + <string name="action_close" msgid="1077760267194136901">"Stäng"</string> <string name="action_dismiss_notification" msgid="5909461085055959187">"Ignorera"</string> <string name="accessibility_close" msgid="2277148124685870734">"Stäng"</string> <string name="all_apps_personal_tab" msgid="4190252696685155002">"Privat"</string> diff --git a/res/values-sw/strings.xml b/res/values-sw/strings.xml index bd6e135015..c6ee27b9fc 100644 --- a/res/values-sw/strings.xml +++ b/res/values-sw/strings.xml @@ -131,8 +131,7 @@ <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Mandhari na mtindo"</string> <string name="edit_home_screen" msgid="8947858375782098427">"Badilisha Skrini ya Kwanza"</string> <string name="settings_button_text" msgid="8873672322605444408">"Mipangilio ya mwanzo"</string> - <!-- no translation found for all_apps_home_screen (8658178652647896497) --> - <skip /> + <string name="all_apps_home_screen" msgid="8658178652647896497">"Programu"</string> <string name="msg_disabled_by_admin" msgid="6898038085516271325">"Imezimwa na msimamizi wako"</string> <string name="allow_rotation_title" msgid="7222049633713050106">"Ruhusu kipengele cha kuzungusha skrini ya kwanza"</string> <string name="allow_rotation_desc" msgid="8662546029078692509">"Simu inapozungushwa"</string> @@ -186,10 +185,8 @@ <string name="action_decrease_height" msgid="282377193880900022">"Punguza urefu"</string> <string name="widget_resized" msgid="9130327887929620">"Wijeti imepunguzwa hadi upana <xliff:g id="NUMBER_0">%1$s</xliff:g> urefu <xliff:g id="NUMBER_1">%2$s</xliff:g>"</string> <string name="action_deep_shortcut" msgid="4766835855579976045">"Menyu ya Njia za Mkato"</string> - <!-- no translation found for widget_frame_name (8782828448471444270) --> - <skip /> - <!-- no translation found for action_close (1077760267194136901) --> - <skip /> + <string name="widget_frame_name" msgid="8782828448471444270">"Fremu ya Kubadilisha Ukubwa wa Wijeti ya <xliff:g id="STRING">%1$s</xliff:g>"</string> + <string name="action_close" msgid="1077760267194136901">"Funga"</string> <string name="action_dismiss_notification" msgid="5909461085055959187">"Ondoa"</string> <string name="accessibility_close" msgid="2277148124685870734">"Funga"</string> <string name="all_apps_personal_tab" msgid="4190252696685155002">"Binafsi"</string> diff --git a/res/values-ta/strings.xml b/res/values-ta/strings.xml index 743df88adc..73782da00d 100644 --- a/res/values-ta/strings.xml +++ b/res/values-ta/strings.xml @@ -131,8 +131,7 @@ <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"வால்பேப்பர் & ஸ்டைல்"</string> <string name="edit_home_screen" msgid="8947858375782098427">"முகப்புத் திரையில் மாற்று"</string> <string name="settings_button_text" msgid="8873672322605444408">"முகப்பு அமைப்புகள்"</string> - <!-- no translation found for all_apps_home_screen (8658178652647896497) --> - <skip /> + <string name="all_apps_home_screen" msgid="8658178652647896497">"ஆப்ஸ்"</string> <string name="msg_disabled_by_admin" msgid="6898038085516271325">"உங்கள் நிர்வாகி முடக்கியுள்ளார்"</string> <string name="allow_rotation_title" msgid="7222049633713050106">"முகப்புத் திரை சுழற்சியை அனுமதித்தல்"</string> <string name="allow_rotation_desc" msgid="8662546029078692509">"மொபைலைச் சுழற்றும் போது"</string> @@ -186,10 +185,8 @@ <string name="action_decrease_height" msgid="282377193880900022">"உயரத்தைக் குறை"</string> <string name="widget_resized" msgid="9130327887929620">"அகலம் <xliff:g id="NUMBER_0">%1$s</xliff:g> மற்றும் உயரம் <xliff:g id="NUMBER_1">%2$s</xliff:g>க்கு விட்ஜெட் அளவு மாற்றப்பட்டது"</string> <string name="action_deep_shortcut" msgid="4766835855579976045">"ஷார்ட்கட் மெனு"</string> - <!-- no translation found for widget_frame_name (8782828448471444270) --> - <skip /> - <!-- no translation found for action_close (1077760267194136901) --> - <skip /> + <string name="widget_frame_name" msgid="8782828448471444270">"<xliff:g id="STRING">%1$s</xliff:g>க்கான விட்ஜெட்டின் அளவை மாற்றும் சட்டம்"</string> + <string name="action_close" msgid="1077760267194136901">"மூடும்"</string> <string name="action_dismiss_notification" msgid="5909461085055959187">"நிராகரி"</string> <string name="accessibility_close" msgid="2277148124685870734">"மூடும் பட்டன்"</string> <string name="all_apps_personal_tab" msgid="4190252696685155002">"தனிப்பட்டவை"</string> diff --git a/res/values-te/strings.xml b/res/values-te/strings.xml index 4df936cfe4..6f9ba1e7e0 100644 --- a/res/values-te/strings.xml +++ b/res/values-te/strings.xml @@ -131,8 +131,7 @@ <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"వాల్పేపర్ & స్టయిల్"</string> <string name="edit_home_screen" msgid="8947858375782098427">"మొదటి స్క్రీన్ను ఎడిట్ చేయండి"</string> <string name="settings_button_text" msgid="8873672322605444408">"మొదటి స్క్రీన్ సెట్టింగ్లు"</string> - <!-- no translation found for all_apps_home_screen (8658178652647896497) --> - <skip /> + <string name="all_apps_home_screen" msgid="8658178652647896497">"యాప్లు"</string> <string name="msg_disabled_by_admin" msgid="6898038085516271325">"మీ నిర్వాహకులు నిలిపివేసారు"</string> <string name="allow_rotation_title" msgid="7222049633713050106">"మొదటి స్క్రీన్ రొటేషన్ను అనుమతించండి"</string> <string name="allow_rotation_desc" msgid="8662546029078692509">"ఫోన్ను తిప్పినప్పుడు"</string> @@ -186,10 +185,8 @@ <string name="action_decrease_height" msgid="282377193880900022">"ఎత్తును తగ్గించు"</string> <string name="widget_resized" msgid="9130327887929620">"విడ్జెట్ సైజ్ వెడల్పు <xliff:g id="NUMBER_0">%1$s</xliff:g>కి, ఎత్తు <xliff:g id="NUMBER_1">%2$s</xliff:g>కి మార్చబడింది"</string> <string name="action_deep_shortcut" msgid="4766835855579976045">"షార్ట్కట్ మెనూ"</string> - <!-- no translation found for widget_frame_name (8782828448471444270) --> - <skip /> - <!-- no translation found for action_close (1077760267194136901) --> - <skip /> + <string name="widget_frame_name" msgid="8782828448471444270">"<xliff:g id="STRING">%1$s</xliff:g> విడ్జెట్ సైజ్ను మార్చే ఫ్రేమ్"</string> + <string name="action_close" msgid="1077760267194136901">"మూసివేయండి"</string> <string name="action_dismiss_notification" msgid="5909461085055959187">"తీసివేయండి"</string> <string name="accessibility_close" msgid="2277148124685870734">"మూసివేస్తుంది"</string> <string name="all_apps_personal_tab" msgid="4190252696685155002">"వ్యక్తిగతం"</string> @@ -220,6 +217,5 @@ <string name="ps_container_transition" msgid="8667331812048014412">"ప్రైవేట్ స్పేస్ కేటాయించడం జరుగుతుంది"</string> <string name="ps_add_button_label" msgid="8127988716897128773">"ఇన్స్టాల్ చేయండి"</string> <string name="ps_add_button_content_description" msgid="3254274107740952556">"ప్రైవేట్ స్పేస్కు యాప్లను ఇన్స్టాల్ చేయండి"</string> - <!-- no translation found for ps_app_content_description (1129133475892816226) --> - <skip /> + <string name="ps_app_content_description" msgid="1129133475892816226">"ప్రైవేట్ స్పేస్కు ఫైళ్లను, మరిన్నింటిని జోడించండి"</string> </resources> diff --git a/res/values-th/strings.xml b/res/values-th/strings.xml index 9107582d92..af96acd1f0 100644 --- a/res/values-th/strings.xml +++ b/res/values-th/strings.xml @@ -131,8 +131,7 @@ <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"วอลเปเปอร์และสไตล์"</string> <string name="edit_home_screen" msgid="8947858375782098427">"แก้ไขหน้าจอหลัก"</string> <string name="settings_button_text" msgid="8873672322605444408">"การตั้งค่าหน้าจอหลัก"</string> - <!-- no translation found for all_apps_home_screen (8658178652647896497) --> - <skip /> + <string name="all_apps_home_screen" msgid="8658178652647896497">"แอป"</string> <string name="msg_disabled_by_admin" msgid="6898038085516271325">"ปิดใช้โดยผู้ดูแลระบบ"</string> <string name="allow_rotation_title" msgid="7222049633713050106">"อนุญาตให้หมุนหน้าจอหลัก"</string> <string name="allow_rotation_desc" msgid="8662546029078692509">"เมื่อหมุนโทรศัพท์"</string> @@ -186,10 +185,8 @@ <string name="action_decrease_height" msgid="282377193880900022">"ลดความสูง"</string> <string name="widget_resized" msgid="9130327887929620">"ปรับขนาดของวิดเจ็ตเป็นกว้าง <xliff:g id="NUMBER_0">%1$s</xliff:g> สูง <xliff:g id="NUMBER_1">%2$s</xliff:g> แล้ว"</string> <string name="action_deep_shortcut" msgid="4766835855579976045">"เมนูแป้นพิมพ์ลัด"</string> - <!-- no translation found for widget_frame_name (8782828448471444270) --> - <skip /> - <!-- no translation found for action_close (1077760267194136901) --> - <skip /> + <string name="widget_frame_name" msgid="8782828448471444270">"เฟรมปรับขนาดวิดเจ็ตสำหรับ <xliff:g id="STRING">%1$s</xliff:g>"</string> + <string name="action_close" msgid="1077760267194136901">"ปิด"</string> <string name="action_dismiss_notification" msgid="5909461085055959187">"ปิด"</string> <string name="accessibility_close" msgid="2277148124685870734">"ปิด"</string> <string name="all_apps_personal_tab" msgid="4190252696685155002">"ส่วนตัว"</string> @@ -220,6 +217,5 @@ <string name="ps_container_transition" msgid="8667331812048014412">"การเปลี่ยนไปใช้พื้นที่ส่วนตัว"</string> <string name="ps_add_button_label" msgid="8127988716897128773">"ติดตั้ง"</string> <string name="ps_add_button_content_description" msgid="3254274107740952556">"ติดตั้งแอปไปยังพื้นที่ส่วนตัว"</string> - <!-- no translation found for ps_app_content_description (1129133475892816226) --> - <skip /> + <string name="ps_app_content_description" msgid="1129133475892816226">"เพิ่มไฟล์และอื่นๆ ไปยังพื้นที่ส่วนตัว"</string> </resources> diff --git a/res/values-tl/strings.xml b/res/values-tl/strings.xml index 59661c0ecc..8125328935 100644 --- a/res/values-tl/strings.xml +++ b/res/values-tl/strings.xml @@ -131,8 +131,7 @@ <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Wallpaper & istilo"</string> <string name="edit_home_screen" msgid="8947858375782098427">"I-edit ang Home Screen"</string> <string name="settings_button_text" msgid="8873672322605444408">"Mga setting ng Home"</string> - <!-- no translation found for all_apps_home_screen (8658178652647896497) --> - <skip /> + <string name="all_apps_home_screen" msgid="8658178652647896497">"Mga App"</string> <string name="msg_disabled_by_admin" msgid="6898038085516271325">"Na-disable ng iyong admin"</string> <string name="allow_rotation_title" msgid="7222049633713050106">"Payagan ang pag-rotate ng home screen"</string> <string name="allow_rotation_desc" msgid="8662546029078692509">"Kailan maro-rotate ang telepono"</string> @@ -186,10 +185,8 @@ <string name="action_decrease_height" msgid="282377193880900022">"Bawasan ang taas"</string> <string name="widget_resized" msgid="9130327887929620">"Na-resize ang widget sa lapad <xliff:g id="NUMBER_0">%1$s</xliff:g> taas <xliff:g id="NUMBER_1">%2$s</xliff:g>"</string> <string name="action_deep_shortcut" msgid="4766835855579976045">"Menu ng Shortcut"</string> - <!-- no translation found for widget_frame_name (8782828448471444270) --> - <skip /> - <!-- no translation found for action_close (1077760267194136901) --> - <skip /> + <string name="widget_frame_name" msgid="8782828448471444270">"Frame sa Pag-resize ng Widget para sa <xliff:g id="STRING">%1$s</xliff:g>"</string> + <string name="action_close" msgid="1077760267194136901">"Isara"</string> <string name="action_dismiss_notification" msgid="5909461085055959187">"I-dismiss"</string> <string name="accessibility_close" msgid="2277148124685870734">"Isara"</string> <string name="all_apps_personal_tab" msgid="4190252696685155002">"Personal"</string> @@ -220,6 +217,5 @@ <string name="ps_container_transition" msgid="8667331812048014412">"Pag-transition ng Pribadong Space"</string> <string name="ps_add_button_label" msgid="8127988716897128773">"I-install"</string> <string name="ps_add_button_content_description" msgid="3254274107740952556">"Mag-install ng mga app sa Pribadong Space"</string> - <!-- no translation found for ps_app_content_description (1129133475892816226) --> - <skip /> + <string name="ps_app_content_description" msgid="1129133475892816226">"Magdagdag ng mga file at higit pa sa Pribadong Space"</string> </resources> diff --git a/res/values-tr/strings.xml b/res/values-tr/strings.xml index c834f6c472..c5504fe67e 100644 --- a/res/values-tr/strings.xml +++ b/res/values-tr/strings.xml @@ -131,8 +131,7 @@ <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Duvar kağıdı ve stil"</string> <string name="edit_home_screen" msgid="8947858375782098427">"Ana ekranı düzenleyin"</string> <string name="settings_button_text" msgid="8873672322605444408">"Ana ekran ayarları"</string> - <!-- no translation found for all_apps_home_screen (8658178652647896497) --> - <skip /> + <string name="all_apps_home_screen" msgid="8658178652647896497">"Uygulamalar"</string> <string name="msg_disabled_by_admin" msgid="6898038085516271325">"Yöneticiniz tarafından devre dışı bırakıldı"</string> <string name="allow_rotation_title" msgid="7222049633713050106">"Ana ekranı döndürmeye izin ver"</string> <string name="allow_rotation_desc" msgid="8662546029078692509">"Telefon döndürüldüğünde"</string> @@ -186,10 +185,8 @@ <string name="action_decrease_height" msgid="282377193880900022">"Yüksekliği azalt"</string> <string name="widget_resized" msgid="9130327887929620">"Widget, <xliff:g id="NUMBER_0">%1$s</xliff:g> genişlik ve <xliff:g id="NUMBER_1">%2$s</xliff:g> yükseklik değerine yeniden boyutlandırıldı"</string> <string name="action_deep_shortcut" msgid="4766835855579976045">"Kısayol Menüsü"</string> - <!-- no translation found for widget_frame_name (8782828448471444270) --> - <skip /> - <!-- no translation found for action_close (1077760267194136901) --> - <skip /> + <string name="widget_frame_name" msgid="8782828448471444270">"<xliff:g id="STRING">%1$s</xliff:g> Widget\'ını Yeniden Boyutlandırma Çerçevesi"</string> + <string name="action_close" msgid="1077760267194136901">"Kapat"</string> <string name="action_dismiss_notification" msgid="5909461085055959187">"Kapat"</string> <string name="accessibility_close" msgid="2277148124685870734">"Kapat"</string> <string name="all_apps_personal_tab" msgid="4190252696685155002">"Kişisel"</string> diff --git a/res/values-ur/strings.xml b/res/values-ur/strings.xml index efe5297bda..36000c0c90 100644 --- a/res/values-ur/strings.xml +++ b/res/values-ur/strings.xml @@ -131,8 +131,7 @@ <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"وال پیپر اور طرز"</string> <string name="edit_home_screen" msgid="8947858375782098427">"ہوم اسکرین میں ترمیم کریں"</string> <string name="settings_button_text" msgid="8873672322605444408">"ہوم ترتیبات"</string> - <!-- no translation found for all_apps_home_screen (8658178652647896497) --> - <skip /> + <string name="all_apps_home_screen" msgid="8658178652647896497">"ایپس"</string> <string name="msg_disabled_by_admin" msgid="6898038085516271325">"آپ کے منتظم کی طرف سے غیر فعال کر دیا گیا"</string> <string name="allow_rotation_title" msgid="7222049633713050106">"ہوم اسکرین گھمانے کی اجازت دیں"</string> <string name="allow_rotation_desc" msgid="8662546029078692509">"جب فون گھمایا جاتا ہے"</string> @@ -186,10 +185,8 @@ <string name="action_decrease_height" msgid="282377193880900022">"اونچائی کم کریں"</string> <string name="widget_resized" msgid="9130327887929620">"ویجیٹ کے سائز کو چوڑائی <xliff:g id="NUMBER_0">%1$s</xliff:g> اونچائی <xliff:g id="NUMBER_1">%2$s</xliff:g> میں تبدیل کر دیا گیا"</string> <string name="action_deep_shortcut" msgid="4766835855579976045">"شارٹ کٹ مینیو"</string> - <!-- no translation found for widget_frame_name (8782828448471444270) --> - <skip /> - <!-- no translation found for action_close (1077760267194136901) --> - <skip /> + <string name="widget_frame_name" msgid="8782828448471444270">"<xliff:g id="STRING">%1$s</xliff:g> کے لیے ویجیٹ کا سائز تبدیل کرنے کا فریم"</string> + <string name="action_close" msgid="1077760267194136901">"بند کریں"</string> <string name="action_dismiss_notification" msgid="5909461085055959187">"برخاست کریں"</string> <string name="accessibility_close" msgid="2277148124685870734">"بند کریں"</string> <string name="all_apps_personal_tab" msgid="4190252696685155002">"ذاتی"</string> diff --git a/res/values-uz/strings.xml b/res/values-uz/strings.xml index 8d65f8c5c6..72201f51f9 100644 --- a/res/values-uz/strings.xml +++ b/res/values-uz/strings.xml @@ -131,8 +131,7 @@ <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Fon rasmi va uslubi"</string> <string name="edit_home_screen" msgid="8947858375782098427">"Bosh ekranni tahrirlash"</string> <string name="settings_button_text" msgid="8873672322605444408">"Bosh ekran sozlamalari"</string> - <!-- no translation found for all_apps_home_screen (8658178652647896497) --> - <skip /> + <string name="all_apps_home_screen" msgid="8658178652647896497">"Ilovalar"</string> <string name="msg_disabled_by_admin" msgid="6898038085516271325">"Administrator tomonidan o‘chirilgan"</string> <string name="allow_rotation_title" msgid="7222049633713050106">"Bosh ekranni burishga ruxsat"</string> <string name="allow_rotation_desc" msgid="8662546029078692509">"Telefon burilganda"</string> @@ -186,10 +185,8 @@ <string name="action_decrease_height" msgid="282377193880900022">"Bo‘yini kichraytirish"</string> <string name="widget_resized" msgid="9130327887929620">"Vidjetning eni <xliff:g id="NUMBER_0">%1$s</xliff:g>, bo‘yi <xliff:g id="NUMBER_1">%2$s</xliff:g> qilib o‘zgartirildi"</string> <string name="action_deep_shortcut" msgid="4766835855579976045">"Tezkor tugma menyusi"</string> - <!-- no translation found for widget_frame_name (8782828448471444270) --> - <skip /> - <!-- no translation found for action_close (1077760267194136901) --> - <skip /> + <string name="widget_frame_name" msgid="8782828448471444270">"<xliff:g id="STRING">%1$s</xliff:g> vidjeti oʻlchamini oʻzgartirish freymi"</string> + <string name="action_close" msgid="1077760267194136901">"Yopish"</string> <string name="action_dismiss_notification" msgid="5909461085055959187">"Yopish"</string> <string name="accessibility_close" msgid="2277148124685870734">"Yopish"</string> <string name="all_apps_personal_tab" msgid="4190252696685155002">"Shaxsiy"</string> @@ -220,6 +217,5 @@ <string name="ps_container_transition" msgid="8667331812048014412">"Maxfiy joyga almashtirish"</string> <string name="ps_add_button_label" msgid="8127988716897128773">"Oʻrnatish"</string> <string name="ps_add_button_content_description" msgid="3254274107740952556">"Ilovalarni Maxfiy makonga oʻrnatish"</string> - <!-- no translation found for ps_app_content_description (1129133475892816226) --> - <skip /> + <string name="ps_app_content_description" msgid="1129133475892816226">"Maxfiy makonga fayllar va boshqalarni qoʻshish"</string> </resources> diff --git a/res/values-vi/strings.xml b/res/values-vi/strings.xml index 78cf3e3b13..a3ecb4e874 100644 --- a/res/values-vi/strings.xml +++ b/res/values-vi/strings.xml @@ -131,8 +131,7 @@ <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Hình nền và phong cách"</string> <string name="edit_home_screen" msgid="8947858375782098427">"Chỉnh sửa Màn hình chính"</string> <string name="settings_button_text" msgid="8873672322605444408">"Cài đặt màn hình chính"</string> - <!-- no translation found for all_apps_home_screen (8658178652647896497) --> - <skip /> + <string name="all_apps_home_screen" msgid="8658178652647896497">"Ứng dụng"</string> <string name="msg_disabled_by_admin" msgid="6898038085516271325">"Bị tắt bởi quản trị viên của bạn"</string> <string name="allow_rotation_title" msgid="7222049633713050106">"Cho phép xoay màn hình chính"</string> <string name="allow_rotation_desc" msgid="8662546029078692509">"Khi xoay điện thoại"</string> @@ -186,10 +185,8 @@ <string name="action_decrease_height" msgid="282377193880900022">"Giảm chiều cao"</string> <string name="widget_resized" msgid="9130327887929620">"Đã đổi kích thước tiện ích thành chiều rộng <xliff:g id="NUMBER_0">%1$s</xliff:g> chiều cao <xliff:g id="NUMBER_1">%2$s</xliff:g>"</string> <string name="action_deep_shortcut" msgid="4766835855579976045">"Trình đơn lối tắt"</string> - <!-- no translation found for widget_frame_name (8782828448471444270) --> - <skip /> - <!-- no translation found for action_close (1077760267194136901) --> - <skip /> + <string name="widget_frame_name" msgid="8782828448471444270">"Khung đổi kích thước tiện ích của <xliff:g id="STRING">%1$s</xliff:g>"</string> + <string name="action_close" msgid="1077760267194136901">"Đóng"</string> <string name="action_dismiss_notification" msgid="5909461085055959187">"Loại bỏ"</string> <string name="accessibility_close" msgid="2277148124685870734">"Đóng"</string> <string name="all_apps_personal_tab" msgid="4190252696685155002">"Cá nhân"</string> diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml index 6e69045988..0b610dc968 100644 --- a/res/values-zh-rCN/strings.xml +++ b/res/values-zh-rCN/strings.xml @@ -131,8 +131,7 @@ <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"壁纸与风格"</string> <string name="edit_home_screen" msgid="8947858375782098427">"修改主屏幕"</string> <string name="settings_button_text" msgid="8873672322605444408">"主屏幕设置"</string> - <!-- no translation found for all_apps_home_screen (8658178652647896497) --> - <skip /> + <string name="all_apps_home_screen" msgid="8658178652647896497">"应用"</string> <string name="msg_disabled_by_admin" msgid="6898038085516271325">"已被您的管理员停用"</string> <string name="allow_rotation_title" msgid="7222049633713050106">"允许旋转主屏幕"</string> <string name="allow_rotation_desc" msgid="8662546029078692509">"手机旋转时"</string> @@ -186,10 +185,8 @@ <string name="action_decrease_height" msgid="282377193880900022">"减小高度"</string> <string name="widget_resized" msgid="9130327887929620">"微件尺寸已调整为:宽度 <xliff:g id="NUMBER_0">%1$s</xliff:g>,高度 <xliff:g id="NUMBER_1">%2$s</xliff:g>"</string> <string name="action_deep_shortcut" msgid="4766835855579976045">"快捷键菜单"</string> - <!-- no translation found for widget_frame_name (8782828448471444270) --> - <skip /> - <!-- no translation found for action_close (1077760267194136901) --> - <skip /> + <string name="widget_frame_name" msgid="8782828448471444270">"<xliff:g id="STRING">%1$s</xliff:g>的微件调整大小框架"</string> + <string name="action_close" msgid="1077760267194136901">"关闭"</string> <string name="action_dismiss_notification" msgid="5909461085055959187">"关闭"</string> <string name="accessibility_close" msgid="2277148124685870734">"关闭"</string> <string name="all_apps_personal_tab" msgid="4190252696685155002">"个人"</string> diff --git a/res/values-zh-rHK/strings.xml b/res/values-zh-rHK/strings.xml index 2e0e929678..6262df5d99 100644 --- a/res/values-zh-rHK/strings.xml +++ b/res/values-zh-rHK/strings.xml @@ -131,8 +131,7 @@ <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"桌布和樣式"</string> <string name="edit_home_screen" msgid="8947858375782098427">"編輯主畫面"</string> <string name="settings_button_text" msgid="8873672322605444408">"主畫面設定"</string> - <!-- no translation found for all_apps_home_screen (8658178652647896497) --> - <skip /> + <string name="all_apps_home_screen" msgid="8658178652647896497">"應用程式"</string> <string name="msg_disabled_by_admin" msgid="6898038085516271325">"已由你的管理員停用"</string> <string name="allow_rotation_title" msgid="7222049633713050106">"允許旋轉主畫面"</string> <string name="allow_rotation_desc" msgid="8662546029078692509">"隨手機旋轉"</string> @@ -186,10 +185,8 @@ <string name="action_decrease_height" msgid="282377193880900022">"減少高度"</string> <string name="widget_resized" msgid="9130327887929620">"已調整小工具的大小至闊 <xliff:g id="NUMBER_0">%1$s</xliff:g> 高 <xliff:g id="NUMBER_1">%2$s</xliff:g>"</string> <string name="action_deep_shortcut" msgid="4766835855579976045">"快速鍵選單"</string> - <!-- no translation found for widget_frame_name (8782828448471444270) --> - <skip /> - <!-- no translation found for action_close (1077760267194136901) --> - <skip /> + <string name="widget_frame_name" msgid="8782828448471444270">"「<xliff:g id="STRING">%1$s</xliff:g>」嘅小工具調整大小框架"</string> + <string name="action_close" msgid="1077760267194136901">"閂"</string> <string name="action_dismiss_notification" msgid="5909461085055959187">"關閉"</string> <string name="accessibility_close" msgid="2277148124685870734">"關閉"</string> <string name="all_apps_personal_tab" msgid="4190252696685155002">"個人"</string> diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml index 2b4a8b3070..9bb1056a2b 100644 --- a/res/values-zh-rTW/strings.xml +++ b/res/values-zh-rTW/strings.xml @@ -131,8 +131,7 @@ <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"桌布和樣式"</string> <string name="edit_home_screen" msgid="8947858375782098427">"編輯主畫面"</string> <string name="settings_button_text" msgid="8873672322605444408">"主畫面設定"</string> - <!-- no translation found for all_apps_home_screen (8658178652647896497) --> - <skip /> + <string name="all_apps_home_screen" msgid="8658178652647896497">"應用程式"</string> <string name="msg_disabled_by_admin" msgid="6898038085516271325">"已由你的管理員停用"</string> <string name="allow_rotation_title" msgid="7222049633713050106">"允許旋轉主畫面"</string> <string name="allow_rotation_desc" msgid="8662546029078692509">"當手機旋轉時"</string> @@ -186,10 +185,8 @@ <string name="action_decrease_height" msgid="282377193880900022">"減少高度"</string> <string name="widget_resized" msgid="9130327887929620">"已將小工具的寬度和高度分別調整為 <xliff:g id="NUMBER_0">%1$s</xliff:g> 和 <xliff:g id="NUMBER_1">%2$s</xliff:g>"</string> <string name="action_deep_shortcut" msgid="4766835855579976045">"快速鍵選單"</string> - <!-- no translation found for widget_frame_name (8782828448471444270) --> - <skip /> - <!-- no translation found for action_close (1077760267194136901) --> - <skip /> + <string name="widget_frame_name" msgid="8782828448471444270">"「<xliff:g id="STRING">%1$s</xliff:g>」的小工具調整大小框架"</string> + <string name="action_close" msgid="1077760267194136901">"關閉"</string> <string name="action_dismiss_notification" msgid="5909461085055959187">"關閉"</string> <string name="accessibility_close" msgid="2277148124685870734">"關閉"</string> <string name="all_apps_personal_tab" msgid="4190252696685155002">"個人"</string> diff --git a/res/values-zu/strings.xml b/res/values-zu/strings.xml index dc40b80dfa..82fafc69a0 100644 --- a/res/values-zu/strings.xml +++ b/res/values-zu/strings.xml @@ -131,8 +131,7 @@ <string name="styles_wallpaper_button_text" msgid="8216961355289236794">"Isithombe sangemuva nesitayela"</string> <string name="edit_home_screen" msgid="8947858375782098427">"Hlela Isikrini Sasekhaya"</string> <string name="settings_button_text" msgid="8873672322605444408">"Amasethingi asekhaya"</string> - <!-- no translation found for all_apps_home_screen (8658178652647896497) --> - <skip /> + <string name="all_apps_home_screen" msgid="8658178652647896497">"Ama-app"</string> <string name="msg_disabled_by_admin" msgid="6898038085516271325">"Kukhutshazwe umlawuli wakho"</string> <string name="allow_rotation_title" msgid="7222049633713050106">"Vumela ukuzungezisa kwesikrini sasekhaya"</string> <string name="allow_rotation_desc" msgid="8662546029078692509">"Uma ifoni iphendukiswa"</string> @@ -186,10 +185,8 @@ <string name="action_decrease_height" msgid="282377193880900022">"Nciphisa ubude"</string> <string name="widget_resized" msgid="9130327887929620">"Iwijethi inikezwe usayizi omusha ngobubanzi obungu-<xliff:g id="NUMBER_0">%1$s</xliff:g> ubude obungu-<xliff:g id="NUMBER_1">%2$s</xliff:g>"</string> <string name="action_deep_shortcut" msgid="4766835855579976045">"Imenyu Yezinqamuleli"</string> - <!-- no translation found for widget_frame_name (8782828448471444270) --> - <skip /> - <!-- no translation found for action_close (1077760267194136901) --> - <skip /> + <string name="widget_frame_name" msgid="8782828448471444270">"Uhlaka Lokushintsha Usayizi Wewijethi we-<xliff:g id="STRING">%1$s</xliff:g>"</string> + <string name="action_close" msgid="1077760267194136901">"Vala"</string> <string name="action_dismiss_notification" msgid="5909461085055959187">"Cashisa"</string> <string name="accessibility_close" msgid="2277148124685870734">"Vala"</string> <string name="all_apps_personal_tab" msgid="4190252696685155002">"Okomuntu siqu"</string> diff --git a/res/values/dimens.xml b/res/values/dimens.xml index a15c130076..4d0379d462 100644 --- a/res/values/dimens.xml +++ b/res/values/dimens.xml @@ -315,7 +315,7 @@ <dimen name="page_indicator_gap_width">4dp</dimen> <dimen name="page_indicator_size">10dp</dimen> - + <dimen name="folder_title_min_width">100dp</dimen> <dimen name="folder_cell_x_padding">9dp</dimen> <dimen name="folder_cell_y_padding">6dp</dimen> <!-- label text size = workspace text size multiplied by this scale --> diff --git a/src/com/android/launcher3/GridType.kt b/src/com/android/launcher3/GridType.kt new file mode 100644 index 0000000000..d006b8f35f --- /dev/null +++ b/src/com/android/launcher3/GridType.kt @@ -0,0 +1,33 @@ +/* + * Copyright (C) 2025 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.launcher3 + +import androidx.annotation.IntDef + +/** The type of grid. */ +@IntDef(GridType.GRID_TYPE_ONE_GRID, GridType.GRID_TYPE_NON_ONE_GRID, GridType.GRID_TYPE_ANY) +@Retention(AnnotationRetention.SOURCE) +annotation class GridType { + companion object { + /** These are grids that use one grid spec. */ + const val GRID_TYPE_ONE_GRID = 1 + /** These are grids that don't use one grid spec. */ + const val GRID_TYPE_NON_ONE_GRID = 2 + /** Any grid type. */ + const val GRID_TYPE_ANY = GRID_TYPE_NON_ONE_GRID or GRID_TYPE_ONE_GRID + } +} diff --git a/src/com/android/launcher3/InvariantDeviceProfile.java b/src/com/android/launcher3/InvariantDeviceProfile.java index f189549463..15a4fc4072 100644 --- a/src/com/android/launcher3/InvariantDeviceProfile.java +++ b/src/com/android/launcher3/InvariantDeviceProfile.java @@ -16,6 +16,9 @@ package com.android.launcher3; +import static com.android.launcher3.GridType.GRID_TYPE_ANY; +import static com.android.launcher3.GridType.GRID_TYPE_NON_ONE_GRID; +import static com.android.launcher3.GridType.GRID_TYPE_ONE_GRID; import static com.android.launcher3.LauncherPrefs.DB_FILE; import static com.android.launcher3.LauncherPrefs.ENABLE_TWOLINE_ALLAPPS_TOGGLE; import static com.android.launcher3.LauncherPrefs.FIXED_LANDSCAPE_MODE; @@ -241,6 +244,8 @@ public class InvariantDeviceProfile { */ public boolean isFixedLandscape = false; + @GridType + public int gridType; public String dbFile; public int defaultLayoutId; public int demoModeLayoutId; @@ -369,6 +374,7 @@ public class InvariantDeviceProfile { numColumns = closestProfile.numColumns; numSearchContainerColumns = closestProfile.numSearchContainerColumns; dbFile = closestProfile.dbFile; + gridType = closestProfile.gridType; defaultLayoutId = closestProfile.defaultLayoutId; demoModeLayoutId = closestProfile.demoModeLayoutId; @@ -936,10 +942,7 @@ public class InvariantDeviceProfile { private static final int DEVICE_CATEGORY_PHONE = 1 << 0; private static final int DEVICE_CATEGORY_TABLET = 1 << 1; private static final int DEVICE_CATEGORY_MULTI_DISPLAY = 1 << 2; - private static final int GRID_TYPE_ONE_GRID = 1 << 0; - private static final int GRID_TYPE_NON_ONE_GRID = 1 << 1; - private static final int GRID_TYPE_ALL = 1 << 2; - private static final int DEVICE_CATEGORY_ALL = + private static final int DEVICE_CATEGORY_ANY = DEVICE_CATEGORY_PHONE | DEVICE_CATEGORY_TABLET | DEVICE_CATEGORY_MULTI_DISPLAY; private static final int INLINE_QSB_FOR_PORTRAIT = 1 << 0; @@ -955,6 +958,7 @@ public class InvariantDeviceProfile { public final int numColumns; public final int numSearchContainerColumns; public final int deviceCategory; + @GridType public final int gridType; private final int[] numFolderRows = new int[COUNT_SIZES]; @@ -1003,7 +1007,7 @@ public class InvariantDeviceProfile { gridIconId = a.getResourceId( R.styleable.GridDisplayOption_gridIconId, INVALID_RESOURCE_HANDLE); deviceCategory = a.getInt(R.styleable.GridDisplayOption_deviceCategory, - DEVICE_CATEGORY_ALL); + DEVICE_CATEGORY_ANY); mGridSizeSpecsId = a.getResourceId( R.styleable.GridDisplayOption_gridSizeSpecsId, INVALID_RESOURCE_HANDLE); mIsDualGrid = a.getBoolean(R.styleable.GridDisplayOption_isDualGrid, false); @@ -1141,7 +1145,7 @@ public class InvariantDeviceProfile { } mIsFixedLandscape = a.getBoolean(R.styleable.GridDisplayOption_isFixedLandscape, false); - gridType = a.getInt(R.styleable.GridDisplayOption_gridType, GRID_TYPE_ALL); + gridType = a.getInt(R.styleable.GridDisplayOption_gridType, GRID_TYPE_ANY); int inlineForRotation = a.getInt(R.styleable.GridDisplayOption_inlineQsb, DONT_INLINE_QSB); diff --git a/src/com/android/launcher3/LauncherPrefs.kt b/src/com/android/launcher3/LauncherPrefs.kt index 7a04b0f950..30c4529613 100644 --- a/src/com/android/launcher3/LauncherPrefs.kt +++ b/src/com/android/launcher3/LauncherPrefs.kt @@ -20,6 +20,7 @@ import android.content.Context.MODE_PRIVATE import android.content.SharedPreferences import androidx.annotation.VisibleForTesting import com.android.launcher3.BuildConfig.WIDGET_ON_FIRST_SCREEN +import com.android.launcher3.GridType.Companion.GRID_TYPE_ANY import com.android.launcher3.InvariantDeviceProfile.GRID_NAME_PREFS_KEY import com.android.launcher3.InvariantDeviceProfile.NON_FIXED_LANDSCAPE_GRID_NAME_PREFS_KEY import com.android.launcher3.LauncherFiles.DEVICE_PREFERENCES_KEY @@ -266,6 +267,9 @@ constructor(@ApplicationContext private val encryptedContext: Context) { @JvmField val DB_FILE = backedUpItem(DeviceGridState.KEY_DB_FILE, "", EncryptionType.ENCRYPTED) @JvmField + val GRID_TYPE = + backedUpItem(DeviceGridState.KEY_GRID_TYPE, GRID_TYPE_ANY, EncryptionType.ENCRYPTED) + @JvmField val SHOULD_SHOW_SMARTSPACE = backedUpItem( SHOULD_SHOW_SMARTSPACE_KEY, diff --git a/src/com/android/launcher3/folder/Folder.java b/src/com/android/launcher3/folder/Folder.java index 967af053fb..996c5e7f55 100644 --- a/src/com/android/launcher3/folder/Folder.java +++ b/src/com/android/launcher3/folder/Folder.java @@ -18,6 +18,7 @@ package com.android.launcher3.folder; import static android.text.TextUtils.isEmpty; +import static com.android.launcher3.Flags.enableLauncherVisualRefresh; import static com.android.launcher3.LauncherAnimUtils.SPRING_LOADED_EXIT_DELAY; import static com.android.launcher3.LauncherState.EDIT_MODE; import static com.android.launcher3.LauncherState.NORMAL; @@ -299,6 +300,13 @@ public class Folder extends AbstractFloatingView implements ClipPathView, DragSo mContent.setFolder(this); mPageIndicator = findViewById(R.id.folder_page_indicator); + if (enableLauncherVisualRefresh()) { + MarginLayoutParams params = ((MarginLayoutParams) mPageIndicator.getLayoutParams()); + int horizontalMargin = getContext().getResources() + .getDimensionPixelSize(R.dimen.folder_footer_horiz_padding); + params.setMarginStart(horizontalMargin); + params.setMarginEnd(horizontalMargin); + } mFooter = findViewById(R.id.folder_footer); mFooterHeight = dp.folderFooterHeightPx; mFolderName = findViewById(R.id.folder_name); @@ -312,7 +320,6 @@ public class Folder extends AbstractFloatingView implements ClipPathView, DragSo | InputType.TYPE_TEXT_FLAG_CAP_WORDS); mFolderName.forceDisableSuggestions(true); - mKeyboardInsetAnimationCallback = new KeyboardInsetAnimationCallback(this); setWindowInsetsAnimationCallback(mKeyboardInsetAnimationCallback); } @@ -1270,6 +1277,23 @@ public class Folder extends AbstractFloatingView implements ClipPathView, DragSo } /** + * If the Folder Title has less than 100dp of available width, we hide it. The reason we do this + * calculation in onSizeChange is because this callback is called 1x when the folder is opened. + * <p> + * The PageIndicator and the Folder Title share the same horizontal linear layout, but both + * are dynamically sized. Therefore, we are setting visibility of the folder title AFTER the + * layout is measured. + */ + @Override + protected void onSizeChanged(int w, int h, int oldw, int oldh) { + super.onSizeChanged(w, h, oldw, oldh); + int minTitleWidth = getResources().getDimensionPixelSize(R.dimen.folder_title_min_width); + if (enableLauncherVisualRefresh() && mFolderName.getMeasuredWidth() < minTitleWidth) { + mFolderName.setVisibility(View.GONE); + } + } + + /** * Rearranges the children based on their rank. */ public void rearrangeChildren() { diff --git a/src/com/android/launcher3/icons/IconCache.java b/src/com/android/launcher3/icons/IconCache.java index 119a6b122b..1e80d03727 100644 --- a/src/com/android/launcher3/icons/IconCache.java +++ b/src/com/android/launcher3/icons/IconCache.java @@ -159,9 +159,15 @@ public class IconCache extends BaseIconCache { */ public synchronized void updateIconsForPkg(@NonNull final String packageName, @NonNull final UserHandle user) { + List<LauncherActivityInfo> apps = mLauncherApps.getActivityList(packageName, user); + if (Flags.restoreArchivedAppIconsFromDb() + && apps.stream().anyMatch(app -> app.getApplicationInfo().isArchived)) { + // When archiving app icon, don't delete old icon so it can be re-used. + return; + } removeIconsForPkg(packageName, user); long userSerial = mUserManager.getSerialNumberForUser(user); - for (LauncherActivityInfo app : mLauncherApps.getActivityList(packageName, user)) { + for (LauncherActivityInfo app : apps) { addIconToDBAndMemCache(app, LauncherActivityCachingLogic.INSTANCE, userSerial); } } diff --git a/src/com/android/launcher3/logging/StatsLogManager.java b/src/com/android/launcher3/logging/StatsLogManager.java index 44d2e266f7..40b597f838 100644 --- a/src/com/android/launcher3/logging/StatsLogManager.java +++ b/src/com/android/launcher3/logging/StatsLogManager.java @@ -890,6 +890,12 @@ public class StatsLogManager implements ResourceBasedOverride { @UiEvent(doc = "Row shift grid migration occurred") LAUNCHER_ROW_SHIFT_GRID_MIGRATION(2201), + @UiEvent(doc = "Do standard migration when upgrading to one grid") + LAUNCHER_STANDARD_ONE_GRID_MIGRATION(2205), + + @UiEvent(doc = "Do row shift migration when upgrading to one grid") + LAUNCHER_ROW_SHIFT_ONE_GRID_MIGRATION(2206), + // ADD MORE ; diff --git a/src/com/android/launcher3/model/DeviceGridState.java b/src/com/android/launcher3/model/DeviceGridState.java index 96ce4c83db..32ea4b5fd7 100644 --- a/src/com/android/launcher3/model/DeviceGridState.java +++ b/src/com/android/launcher3/model/DeviceGridState.java @@ -19,6 +19,7 @@ package com.android.launcher3.model; import static com.android.launcher3.InvariantDeviceProfile.DeviceType; import static com.android.launcher3.LauncherPrefs.DB_FILE; import static com.android.launcher3.LauncherPrefs.DEVICE_TYPE; +import static com.android.launcher3.LauncherPrefs.GRID_TYPE; import static com.android.launcher3.LauncherPrefs.HOTSEAT_COUNT; import static com.android.launcher3.LauncherPrefs.WORKSPACE_SIZE; @@ -41,17 +42,21 @@ public class DeviceGridState implements Comparable<DeviceGridState> { public static final String KEY_HOTSEAT_COUNT = "migration_src_hotseat_count"; public static final String KEY_DEVICE_TYPE = "migration_src_device_type"; public static final String KEY_DB_FILE = "migration_src_db_file"; + public static final String KEY_GRID_TYPE = "migration_src_grid_type"; private final String mGridSizeString; private final int mNumHotseat; private final @DeviceType int mDeviceType; private final String mDbFile; + private final int mGridType; - public DeviceGridState(int columns, int row, int numHotseat, int deviceType, String dbFile) { + public DeviceGridState(int columns, int row, int numHotseat, int deviceType, String dbFile, + int gridType) { mGridSizeString = String.format(Locale.ENGLISH, "%d,%d", columns, row); mNumHotseat = numHotseat; mDeviceType = deviceType; mDbFile = dbFile; + mGridType = gridType; } public DeviceGridState(InvariantDeviceProfile idp) { @@ -59,6 +64,7 @@ public class DeviceGridState implements Comparable<DeviceGridState> { mNumHotseat = idp.numDatabaseHotseatIcons; mDeviceType = idp.deviceType; mDbFile = idp.dbFile; + mGridType = idp.gridType; } public DeviceGridState(Context context) { @@ -70,6 +76,7 @@ public class DeviceGridState implements Comparable<DeviceGridState> { mNumHotseat = lp.get(HOTSEAT_COUNT); mDeviceType = lp.get(DEVICE_TYPE); mDbFile = lp.get(DB_FILE); + mGridType = lp.get(GRID_TYPE); } /** @@ -94,6 +101,13 @@ public class DeviceGridState implements Comparable<DeviceGridState> { } /** + * Returns the grid type. + */ + public int getGridType() { + return mGridType; + } + + /** * Stores the device state to shared preferences */ public void writeToPrefs(Context context) { @@ -101,7 +115,9 @@ public class DeviceGridState implements Comparable<DeviceGridState> { WORKSPACE_SIZE.to(mGridSizeString), HOTSEAT_COUNT.to(mNumHotseat), DEVICE_TYPE.to(mDeviceType), - DB_FILE.to(mDbFile)); + DB_FILE.to(mDbFile), + GRID_TYPE.to(mGridType)); + } /** diff --git a/src/com/android/launcher3/model/GridSizeMigrationDBController.java b/src/com/android/launcher3/model/GridSizeMigrationDBController.java index 3e4394373a..12ba07de4e 100644 --- a/src/com/android/launcher3/model/GridSizeMigrationDBController.java +++ b/src/com/android/launcher3/model/GridSizeMigrationDBController.java @@ -17,11 +17,16 @@ package com.android.launcher3.model; import static com.android.launcher3.Flags.enableSmartspaceRemovalToggle; +import static com.android.launcher3.GridType.GRID_TYPE_NON_ONE_GRID; +import static com.android.launcher3.GridType.GRID_TYPE_ONE_GRID; +import static com.android.launcher3.InvariantDeviceProfile.TYPE_TABLET; import static com.android.launcher3.LauncherSettings.Favorites.TABLE_NAME; import static com.android.launcher3.LauncherSettings.Favorites.TMP_TABLE; import static com.android.launcher3.Utilities.SHOULD_SHOW_FIRST_PAGE_WIDGET; import static com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_ROW_SHIFT_GRID_MIGRATION; +import static com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_ROW_SHIFT_ONE_GRID_MIGRATION; import static com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_STANDARD_GRID_MIGRATION; +import static com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_STANDARD_ONE_GRID_MIGRATION; import static com.android.launcher3.model.LoaderTask.SMARTSPACE_ON_HOME_SCREEN; import static com.android.launcher3.provider.LauncherDbUtils.copyTable; import static com.android.launcher3.provider.LauncherDbUtils.dropTable; @@ -157,6 +162,9 @@ public class GridSizeMigrationDBController { // Save current configuration, so that the migration does not run again. destDeviceState.writeToPrefs(context); t.commit(); + if (isOneGridMigration(srcDeviceState, destDeviceState)) { + statsLogManager.logger().log(LAUNCHER_ROW_SHIFT_ONE_GRID_MIGRATION); + } statsLogManager.logger().log(LAUNCHER_ROW_SHIFT_GRID_MIGRATION); return true; } @@ -169,6 +177,9 @@ public class GridSizeMigrationDBController { destDeviceState.getNumHotseat(), targetSize, srcDeviceState, destDeviceState); dropTable(t.getDb(), TMP_TABLE); t.commit(); + if (isOneGridMigration(srcDeviceState, destDeviceState)) { + statsLogManager.logger().log(LAUNCHER_STANDARD_ONE_GRID_MIGRATION); + } statsLogManager.logger().log(LAUNCHER_STANDARD_GRID_MIGRATION); return true; } catch (Exception e) { @@ -291,6 +302,12 @@ public class GridSizeMigrationDBController { return true; } + protected static boolean isOneGridMigration(DeviceGridState srcDeviceState, + DeviceGridState destDeviceState) { + return srcDeviceState.getDeviceType() != TYPE_TABLET + && srcDeviceState.getGridType() == GRID_TYPE_NON_ONE_GRID + && destDeviceState.getGridType() == GRID_TYPE_ONE_GRID; + } /** * Calculate the differences between {@code src} (denoted by A) and {@code dest} * (denoted by B). diff --git a/src/com/android/launcher3/model/GridSizeMigrationLogic.kt b/src/com/android/launcher3/model/GridSizeMigrationLogic.kt index 2957e3c608..d88f6ccfc6 100644 --- a/src/com/android/launcher3/model/GridSizeMigrationLogic.kt +++ b/src/com/android/launcher3/model/GridSizeMigrationLogic.kt @@ -32,8 +32,11 @@ import com.android.launcher3.config.FeatureFlags import com.android.launcher3.logging.FileLog import com.android.launcher3.logging.StatsLogManager import com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_ROW_SHIFT_GRID_MIGRATION +import com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_ROW_SHIFT_ONE_GRID_MIGRATION import com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_STANDARD_GRID_MIGRATION +import com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_STANDARD_ONE_GRID_MIGRATION import com.android.launcher3.model.GridSizeMigrationDBController.DbReader +import com.android.launcher3.model.GridSizeMigrationDBController.isOneGridMigration import com.android.launcher3.provider.LauncherDbUtils.SQLiteTransaction import com.android.launcher3.provider.LauncherDbUtils.copyTable import com.android.launcher3.provider.LauncherDbUtils.dropTable @@ -95,7 +98,12 @@ class GridSizeMigrationLogic { // Save current configuration, so that the migration does not run again. destDeviceState.writeToPrefs(context) t.commit() + + if (isOneGridMigration(srcDeviceState, destDeviceState)) { + statsLogManager.logger().log(LAUNCHER_ROW_SHIFT_ONE_GRID_MIGRATION) + } statsLogManager.logger().log(LAUNCHER_ROW_SHIFT_GRID_MIGRATION) + return } @@ -125,6 +133,10 @@ class GridSizeMigrationLogic { dropTable(t.db, TMP_TABLE) t.commit() + + if (isOneGridMigration(srcDeviceState, destDeviceState)) { + statsLogManager.logger().log(LAUNCHER_STANDARD_ONE_GRID_MIGRATION) + } statsLogManager.logger().log(LAUNCHER_STANDARD_GRID_MIGRATION) } } catch (e: Exception) { diff --git a/src/com/android/launcher3/model/LoaderCursor.java b/src/com/android/launcher3/model/LoaderCursor.java index efe61572fe..8f116bbd6b 100644 --- a/src/com/android/launcher3/model/LoaderCursor.java +++ b/src/com/android/launcher3/model/LoaderCursor.java @@ -326,6 +326,7 @@ public class LoaderCursor extends CursorWrapper { // the fallback icon if (!loadIconFromDb(info)) { + FileLog.d(TAG, "loadIconFromDb failed, getting from cache - intent=" + intent); mIconCache.getTitleAndIcon(info, DEFAULT_LOOKUP_FLAG); } diff --git a/src/com/android/launcher3/model/LoaderTask.java b/src/com/android/launcher3/model/LoaderTask.java index 78e5d898cd..6dc20de490 100644 --- a/src/com/android/launcher3/model/LoaderTask.java +++ b/src/com/android/launcher3/model/LoaderTask.java @@ -762,7 +762,7 @@ public class LoaderTask implements Runnable { } IconRequestInfo<AppInfo> iconRequestInfo = getAppInfoIconRequestInfo( - appInfo, app, mWorkspaceIconRequestInfos); + appInfo, app, mWorkspaceIconRequestInfos, mIsRestoreFromBackup); allAppsItemRequestInfos.add(iconRequestInfo); mBgAllAppsList.add(appInfo, app, false); } @@ -831,9 +831,10 @@ public class LoaderTask implements Runnable { IconRequestInfo<AppInfo> getAppInfoIconRequestInfo( AppInfo appInfo, LauncherActivityInfo activityInfo, - List<IconRequestInfo<WorkspaceItemInfo>> workspaceRequestInfos + List<IconRequestInfo<WorkspaceItemInfo>> workspaceRequestInfos, + boolean isRestoreFromBackup ) { - if (Flags.restoreArchivedAppIconsFromDb()) { + if (Flags.restoreArchivedAppIconsFromDb() && isRestoreFromBackup) { Optional<IconRequestInfo<WorkspaceItemInfo>> workspaceIconRequest = workspaceRequestInfos.stream() .filter(request -> appInfo.getTargetComponent().equals( diff --git a/src/com/android/launcher3/model/WorkspaceItemProcessor.kt b/src/com/android/launcher3/model/WorkspaceItemProcessor.kt index 7b8f21866a..bf71099f41 100644 --- a/src/com/android/launcher3/model/WorkspaceItemProcessor.kt +++ b/src/com/android/launcher3/model/WorkspaceItemProcessor.kt @@ -524,15 +524,14 @@ class WorkspaceItemProcessor( WidgetInflater.TYPE_PENDING -> { tempPackageKey.update(component.packageName, c.user) val si = installingPkgs[tempPackageKey] - + val isArchived = + ApplicationInfoWrapper(context, component.packageName, c.user).isArchived() if ( !c.hasRestoreFlag(LauncherAppWidgetInfo.FLAG_RESTORE_STARTED) && !isSafeMode && (si == null) && (lapi == null) && - !(Flags.enableSupportForArchiving() && - ApplicationInfoWrapper(context, component.packageName, c.user) - .isArchived()) + !isArchived ) { // Restore never started c.markDeleted( @@ -559,7 +558,13 @@ class WorkspaceItemProcessor( appWidgetInfo.providerName, appWidgetInfo.user, ) - iconCache.getTitleAndIconForApp(appWidgetInfo.pendingItemInfo, DEFAULT_LOOKUP_FLAG) + val iconLookupFlag = + if (isArchived && Flags.restoreArchivedAppIconsFromDb()) { + DEFAULT_LOOKUP_FLAG.withSkipAddToMemCache() + } else { + DEFAULT_LOOKUP_FLAG + } + iconCache.getTitleAndIconForApp(appWidgetInfo.pendingItemInfo, iconLookupFlag) } WidgetInflater.TYPE_REAL -> WidgetSizes.updateWidgetSizeRangesAsync( diff --git a/src/com/android/launcher3/pageindicators/PageIndicatorDots.java b/src/com/android/launcher3/pageindicators/PageIndicatorDots.java index 384f87623a..8f80515e36 100644 --- a/src/com/android/launcher3/pageindicators/PageIndicatorDots.java +++ b/src/com/android/launcher3/pageindicators/PageIndicatorDots.java @@ -600,6 +600,13 @@ public class PageIndicatorDots extends View implements Insettable, PageIndicator } if (Math.round(mCurrentPosition) == i) { sLastActiveRect.set(sTempRect); + if (mCurrentPosition == 0) { + // The outline is calculated before onDraw is called. If the user has + // paginated, closed the folder, and opened the folder again, the + // first drawn outline will use stale bounds. + // Invalidation is cheap, and is only needed when scroll is 0. + invalidateOutline(); + } } canvas.drawRoundRect(sTempRect, mDotRadius, mDotRadius, mPaginationPaint); diff --git a/tests/multivalentTests/src/com/android/launcher3/model/gridmigration/ValidGridMigrationUnitTest.kt b/tests/multivalentTests/src/com/android/launcher3/model/gridmigration/ValidGridMigrationUnitTest.kt index 1d1e7ebd1b..dd26ed234c 100644 --- a/tests/multivalentTests/src/com/android/launcher3/model/gridmigration/ValidGridMigrationUnitTest.kt +++ b/tests/multivalentTests/src/com/android/launcher3/model/gridmigration/ValidGridMigrationUnitTest.kt @@ -27,6 +27,7 @@ import androidx.test.ext.junit.runners.AndroidJUnit4 import androidx.test.filters.SmallTest import androidx.test.platform.app.InstrumentationRegistry import com.android.launcher3.Flags +import com.android.launcher3.GridType.Companion.GRID_TYPE_ANY import com.android.launcher3.InvariantDeviceProfile import com.android.launcher3.LauncherSettings.Favorites import com.android.launcher3.celllayout.testgenerator.ValidGridMigrationTestCaseGenerator @@ -46,7 +47,14 @@ import org.junit.runner.RunWith private data class Grid(val tableName: String, val size: Point, val items: List<WorkspaceItem>) { fun toGridState(): DeviceGridState = - DeviceGridState(size.x, size.y, size.x, InvariantDeviceProfile.TYPE_PHONE, tableName) + DeviceGridState( + size.x, + size.y, + size.x, + InvariantDeviceProfile.TYPE_PHONE, + tableName, + GRID_TYPE_ANY, + ) } @SmallTest diff --git a/tests/src/com/android/launcher3/model/GridMigrationTest.kt b/tests/src/com/android/launcher3/model/GridMigrationTest.kt index 380c2089da..eed373f23a 100644 --- a/tests/src/com/android/launcher3/model/GridMigrationTest.kt +++ b/tests/src/com/android/launcher3/model/GridMigrationTest.kt @@ -22,6 +22,7 @@ import androidx.test.ext.junit.runners.AndroidJUnit4 import androidx.test.filters.SmallTest import androidx.test.platform.app.InstrumentationRegistry import com.android.launcher3.Flags +import com.android.launcher3.GridType.Companion.GRID_TYPE_ANY import com.android.launcher3.InvariantDeviceProfile.TYPE_PHONE import com.android.launcher3.LauncherSettings.Favorites.TABLE_NAME import com.android.launcher3.celllayout.board.CellLayoutBoard @@ -192,15 +193,22 @@ class GridMigrationTest { @Test fun `5x5 to 3x3`() = runTest( - src = GridMigrationData(DB_FILE, DeviceGridState(5, 5, 5, TYPE_PHONE, DB_FILE)), + src = + GridMigrationData( + DB_FILE, + DeviceGridState(5, 5, 5, TYPE_PHONE, DB_FILE, GRID_TYPE_ANY), + ), dst = GridMigrationData( null, // in memory db, to download a new db change null for // the filename of the db name to store it. Do not use existing names. - DeviceGridState(3, 3, 3, TYPE_PHONE, ""), + DeviceGridState(3, 3, 3, TYPE_PHONE, "", GRID_TYPE_ANY), ), target = - GridMigrationData("result5x5to3x3.db", DeviceGridState(3, 3, 3, TYPE_PHONE, "")), + GridMigrationData( + "result5x5to3x3.db", + DeviceGridState(3, 3, 3, TYPE_PHONE, "", GRID_TYPE_ANY), + ), ) @JvmField @@ -215,15 +223,22 @@ class GridMigrationTest { @Test fun `5x5 to 4x7`() = runTest( - src = GridMigrationData(DB_FILE, DeviceGridState(5, 5, 5, TYPE_PHONE, DB_FILE)), + src = + GridMigrationData( + DB_FILE, + DeviceGridState(5, 5, 5, TYPE_PHONE, DB_FILE, GRID_TYPE_ANY), + ), dst = GridMigrationData( null, // in memory db, to download a new db change null for // the filename of the db name to store it. Do not use existing names. - DeviceGridState(4, 7, 4, TYPE_PHONE, ""), + DeviceGridState(4, 7, 4, TYPE_PHONE, "", GRID_TYPE_ANY), ), target = - GridMigrationData("result5x5to4x7.db", DeviceGridState(4, 7, 4, TYPE_PHONE, "")), + GridMigrationData( + "result5x5to4x7.db", + DeviceGridState(4, 7, 4, TYPE_PHONE, "", GRID_TYPE_ANY), + ), ) @JvmField @@ -238,16 +253,23 @@ class GridMigrationTest { @Test fun `5x5 to 5x8`() = runTest( - src = GridMigrationData(DB_FILE, DeviceGridState(5, 5, 5, TYPE_PHONE, DB_FILE)), + src = + GridMigrationData( + DB_FILE, + DeviceGridState(5, 5, 5, TYPE_PHONE, DB_FILE, GRID_TYPE_ANY), + ), dst = GridMigrationData( null, // in memory db, to download a new db change null // for // the filename of the db name to store it. Do not use existing names. - DeviceGridState(5, 8, 5, TYPE_PHONE, ""), + DeviceGridState(5, 8, 5, TYPE_PHONE, "", GRID_TYPE_ANY), ), target = - GridMigrationData("result5x5to5x8.db", DeviceGridState(5, 8, 5, TYPE_PHONE, "")), + GridMigrationData( + "result5x5to5x8.db", + DeviceGridState(5, 8, 5, TYPE_PHONE, "", GRID_TYPE_ANY), + ), ) companion object { diff --git a/tests/src/com/android/launcher3/model/LoaderTaskTest.kt b/tests/src/com/android/launcher3/model/LoaderTaskTest.kt index 560d306244..f9c4a1704e 100644 --- a/tests/src/com/android/launcher3/model/LoaderTaskTest.kt +++ b/tests/src/com/android/launcher3/model/LoaderTaskTest.kt @@ -466,8 +466,7 @@ class LoaderTaskTest { @Test @EnableFlags(Flags.FLAG_RESTORE_ARCHIVED_APP_ICONS_FROM_DB) - fun `When flag on then archived AllApps icons found on Workspace loaded from db`() { - // Given + fun `When flag on and restore then archived AllApps icons on Workspace load from db`() { // Given val activityInfo: LauncherActivityInfo = mock() val applicationInfo: ApplicationInfo = mock<ApplicationInfo>().apply { isArchived = true } @@ -490,7 +489,12 @@ class LoaderTaskTest { val loader = testComponent.getLoaderTaskFactory().newLoaderTask(launcherBinder, userManagerState) val actualIconRequest = - loader.getAppInfoIconRequestInfo(expectedAppInfo, activityInfo, workspaceIconRequests) + loader.getAppInfoIconRequestInfo( + expectedAppInfo, + activityInfo, + workspaceIconRequests, + /* isRestoreFromBackup */ true, + ) // Then assertThat(actualIconRequest.iconBlob).isEqualTo(expectedIconBlob) assertThat(actualIconRequest.itemInfo).isEqualTo(expectedAppInfo) @@ -498,7 +502,43 @@ class LoaderTaskTest { @Test @EnableFlags(Flags.FLAG_RESTORE_ARCHIVED_APP_ICONS_FROM_DB) - fun `When flag on then unarchived AllApps icons not loaded from db`() { + fun `When flag on and not restore then archived AllApps icons do not load from db`() { + // Given + val activityInfo: LauncherActivityInfo = mock() + val applicationInfo: ApplicationInfo = mock<ApplicationInfo>().apply { isArchived = true } + whenever(activityInfo.applicationInfo).thenReturn(applicationInfo) + val expectedIconBlob = byteArrayOf(0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08) + val expectedComponent = ComponentName("package", "class") + val workspaceIconRequests = + listOf( + IconRequestInfo<WorkspaceItemInfo>( + WorkspaceItemInfo().apply { + intent = Intent().apply { component = expectedComponent } + }, + activityInfo, + expectedIconBlob, + false, /* useLowResIcon */ + ) + ) + val expectedAppInfo = AppInfo().apply { componentName = expectedComponent } + // When + val loader = + testComponent.getLoaderTaskFactory().newLoaderTask(launcherBinder, userManagerState) + val actualIconRequest = + loader.getAppInfoIconRequestInfo( + expectedAppInfo, + activityInfo, + workspaceIconRequests, + /* isRestoreFromBackup */ false, + ) + // Then + assertThat(actualIconRequest.iconBlob).isNull() + assertThat(actualIconRequest.itemInfo).isEqualTo(expectedAppInfo) + } + + @Test + @EnableFlags(Flags.FLAG_RESTORE_ARCHIVED_APP_ICONS_FROM_DB) + fun `When flag on and restore then unarchived AllApps icons not loaded from db`() { // Given val activityInfo: LauncherActivityInfo = mock() val applicationInfo: ApplicationInfo = mock<ApplicationInfo>().apply { isArchived = false } @@ -521,7 +561,12 @@ class LoaderTaskTest { val loader = testComponent.getLoaderTaskFactory().newLoaderTask(launcherBinder, userManagerState) val actualIconRequest = - loader.getAppInfoIconRequestInfo(expectedAppInfo, activityInfo, workspaceIconRequests) + loader.getAppInfoIconRequestInfo( + expectedAppInfo, + activityInfo, + workspaceIconRequests, + /* isRestoreFromBackup */ true, + ) // Then assertThat(actualIconRequest.iconBlob).isNull() assertThat(actualIconRequest.itemInfo).isEqualTo(expectedAppInfo) @@ -529,7 +574,7 @@ class LoaderTaskTest { @Test @EnableFlags(Flags.FLAG_RESTORE_ARCHIVED_APP_ICONS_FROM_DB) - fun `When flag on then archived AllApps icon not found on Workspace not loaded from db`() { + fun `When flag on and restore then all apps icon not on workspace is not loaded from db`() { // Given val activityInfo: LauncherActivityInfo = mock() val applicationInfo: ApplicationInfo = mock<ApplicationInfo>().apply { isArchived = true } @@ -553,7 +598,12 @@ class LoaderTaskTest { val loader = testComponent.getLoaderTaskFactory().newLoaderTask(launcherBinder, userManagerState) val actualIconRequest = - loader.getAppInfoIconRequestInfo(expectedAppInfo, activityInfo, workspaceIconRequests) + loader.getAppInfoIconRequestInfo( + expectedAppInfo, + activityInfo, + workspaceIconRequests, + /* isRestoreFromBackup */ true, + ) // Then assertThat(actualIconRequest.iconBlob).isNull() assertThat(actualIconRequest.itemInfo).isEqualTo(expectedAppInfo) @@ -561,7 +611,7 @@ class LoaderTaskTest { @Test @DisableFlags(Flags.FLAG_RESTORE_ARCHIVED_APP_ICONS_FROM_DB) - fun `When flag off then archived AllApps icons not loaded from db`() { + fun `When flag off and restore then archived AllApps icons not loaded from db`() { // Given val activityInfo: LauncherActivityInfo = mock() val applicationInfo: ApplicationInfo = mock<ApplicationInfo>().apply { isArchived = true } @@ -581,7 +631,12 @@ class LoaderTaskTest { val loader = testComponent.getLoaderTaskFactory().newLoaderTask(launcherBinder, userManagerState) val actualIconRequest = - loader.getAppInfoIconRequestInfo(expectedAppInfo, activityInfo, workspaceIconRequests) + loader.getAppInfoIconRequestInfo( + expectedAppInfo, + activityInfo, + workspaceIconRequests, + /* isRestoreFromBackup */ true, + ) // Then assertThat(actualIconRequest.iconBlob).isNull() assertThat(actualIconRequest.itemInfo).isEqualTo(expectedAppInfo) |