diff --git a/quickstep/res/values-af/strings.xml b/quickstep/res/values-af/strings.xml
index 79e15d7d22..87a9298738 100644
--- a/quickstep/res/values-af/strings.xml
+++ b/quickstep/res/values-af/strings.xml
@@ -28,6 +28,8 @@
"Geen onlangse items nie"
"Programgebruikinstellings"
"Vee alles uit"
+
+
"Onlangse programme"
"%1$s, %2$s"
"< 1 minuut"
@@ -93,6 +95,22 @@
"Jy is gereed om jou %1$s te begin gebruik"
"Jy is gereed om jou toestel te begin gebruik"
"Stelselnavigasie-instellings"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
"Deel"
"Skermskoot"
"Verdeel"
@@ -137,7 +155,8 @@
"Wys altyd Taakbalk"
"Verander navigasiemodus"
"Taakbalkverdeler"
- "Taakbalkoorloop"
+
+
"Skuif na links bo"
"Skuif na regs onder"
"Maak app as ’n borrel oop"
diff --git a/quickstep/res/values-am/strings.xml b/quickstep/res/values-am/strings.xml
index 7ab857abab..5666c2dc3d 100644
--- a/quickstep/res/values-am/strings.xml
+++ b/quickstep/res/values-am/strings.xml
@@ -28,6 +28,8 @@
"ምንም የቅርብ ጊዜ ንጥሎች የሉም"
"የመተግበሪያ አጠቃቀም ቅንብሮች"
"ሁሉንም አጽዳ"
+
+
"የቅርብ ጊዜ መተግበሪያዎች"
"%1$s፣ %2$s"
"< 1 ደቂቃ"
@@ -93,6 +95,22 @@
"የእርስዎን %1$s መጠቀም ለመጀመር ዝግጁ ነዎት"
"የእርስዎን መሣሪያ መጠቀም ለመጀመር ዝግጁ ነዎት"
"የስርዓት አሰሳ ቅንብሮች"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
"አጋራ"
"ቅጽበታዊ ገፅ ዕይታ"
"ክፈል"
@@ -137,7 +155,8 @@
"ሁልጊዜ የተግባር አሞሌ ያሳዩ"
"የአሰሳ ሁነታን ይለውጡ"
"የተግባር አሞሌ አካፋይ"
- "የተግባር አሞሌ ትርፍ ፍሰት"
+
+
"ወደ ላይ/ግራ ይውሰዱ"
"ወደ ታች/ቀኝ ይውሰዱ"
"መተግበሪያን እንደ ዓረፋ ይክፈቱ"
diff --git a/quickstep/res/values-ar/strings.xml b/quickstep/res/values-ar/strings.xml
index 1744a5cfbb..dd739a4019 100644
--- a/quickstep/res/values-ar/strings.xml
+++ b/quickstep/res/values-ar/strings.xml
@@ -28,6 +28,8 @@
"ما مِن عناصر تم استخدامها مؤخرًا"
"إعدادات استخدام التطبيق"
"محو الكل"
+
+
"التطبيقات المستخدمة مؤخرًا"
"%1$s، %2$s"
"أقل من دقيقة"
@@ -93,6 +95,22 @@
"يمكنك الآن بدء استخدام %1$s"
"يمكنك الآن بدء استخدام جهازك"
"إعدادات التنقّل داخل النظام"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
"مشاركة"
"لقطة شاشة"
"تقسيم"
@@ -137,7 +155,8 @@
"إظهار شريط التطبيقات دائمًا"
"تغيير وضع التنقل"
"مقسِّم شريط التطبيقات"
- "القائمة الكاملة لشريط التطبيقات"
+
+
"الانتقال إلى يمين الشاشة أو أعلاها"
"الانتقال إلى يسار الشاشة أو أسفلها"
"فتح التطبيق كفقاعة"
diff --git a/quickstep/res/values-as/strings.xml b/quickstep/res/values-as/strings.xml
index 62685f0d08..96528b8723 100644
--- a/quickstep/res/values-as/strings.xml
+++ b/quickstep/res/values-as/strings.xml
@@ -28,6 +28,8 @@
"কোনো শেহতীয়া বস্তু নাই"
"এপে ব্যৱহাৰ কৰা ডেটাৰ ছেটিং"
"আটাইবোৰ মচক"
+
+
"শেহতীয়া এপ্সমূহ"
"%1$s, %2$s"
"< ১ মিনিট"
@@ -93,6 +95,22 @@
"আপুনি আপোনাৰ %1$sটো ব্যৱহাৰ কৰিবলৈ সাজু"
"আপুনি আপোনাৰ ডিভাইচটো ব্যৱহাৰ কৰিবলৈ সাজু"
"ছিষ্টেম নেভিগেশ্বনৰ ছেটিং"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
"শ্বেয়াৰ কৰক"
"স্ক্ৰীনশ্বট"
"বিভাজন কৰক"
@@ -137,7 +155,8 @@
"টাস্কবাৰ সদায় দেখুৱাওক"
"নেভিগেশ্বন ম’ড সলনি কৰক"
"টাস্কবাৰ বিভাজক"
- "টাস্কবাৰ অ’ভাৰফ্ল"
+
+
"ওপৰৰ বাঁওফাললৈ নিয়ক"
"তলৰ সোঁফাললৈ নিয়ক"
"বাবল হিচাপে এপ্টো খোলক"
diff --git a/quickstep/res/values-az/strings.xml b/quickstep/res/values-az/strings.xml
index 65d3b8c6ba..1fb25f3f1c 100644
--- a/quickstep/res/values-az/strings.xml
+++ b/quickstep/res/values-az/strings.xml
@@ -28,6 +28,8 @@
"Son elementlər yoxdur"
"Tətbiq istifadə ayarları"
"Hamısını silin"
+
+
"Son tətbiqlər"
"%1$s, %2$s"
"< 1 dəq"
@@ -93,6 +95,22 @@
"%1$s cihazından istifadəyə başlamağa hazırsınız"
"Cihazdan istifadə edə bilərsiniz"
"Sistem naviqasiya ayarları"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
"Paylaşın"
"Skrinşot"
"Ayırın"
@@ -137,7 +155,8 @@
"İşləmə paneli həmişə görünsün"
"Naviqasiya rejimini dəyişin"
"İşləmə paneli ayırıcısı"
- "Tapşırıqlar Paneli üzrə əlavə menyu"
+
+
"Yuxarı/sola köçürün"
"Aşağı/sağa köçürün"
"Tətbiqi yumrucuq kimi açın"
diff --git a/quickstep/res/values-b+sr+Latn/strings.xml b/quickstep/res/values-b+sr+Latn/strings.xml
index 4ef9f278c3..17516f7535 100644
--- a/quickstep/res/values-b+sr+Latn/strings.xml
+++ b/quickstep/res/values-b+sr+Latn/strings.xml
@@ -28,6 +28,8 @@
"Nema nedavnih stavki"
"Podešavanja korišćenja aplikacije"
"Obriši sve"
+
+
"Nedavne aplikacije"
"%1$s, %2$s"
"< 1 min"
@@ -93,6 +95,22 @@
"Spremni ste da počnete da koristite %1$s"
"Spremni ste da počnete da koristite uređaj"
"Podešavanja kretanja kroz sistem"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
"Deli"
"Snimak ekrana"
"Podeli"
@@ -137,7 +155,8 @@
"Uvek prikazuj traku zadataka"
"Promeni režim navigacije"
"Razdelnik trake zadataka"
- "Preklopna traka zadataka"
+
+
"Premesti gore levo"
"Premesti dole desno"
"Otvori aplikaciju kao oblačić"
diff --git a/quickstep/res/values-be/strings.xml b/quickstep/res/values-be/strings.xml
index 38cbc22f13..0dd329ffc7 100644
--- a/quickstep/res/values-be/strings.xml
+++ b/quickstep/res/values-be/strings.xml
@@ -28,6 +28,8 @@
"Няма новых элементаў"
"Налады выкарыстання праграмы"
"Ачысціць усё"
+
+
"Нядаўнія праграмы"
"%1$s, %2$s"
"< 1 хв"
@@ -93,6 +95,22 @@
"Вы можаце пачаць карыстацца %1$s"
"Вы можаце пачаць карыстанне прыладай"
"Налады навігацыі ў сістэме"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
"Абагуліць"
"Здымак экрана"
"Падзелены экран"
@@ -137,7 +155,8 @@
"Заўсёды паказваць панэль задач"
"Змяніць рэжым навігацыі"
"Раздзяляльнік панэлі задач"
- "Меню з пашырэннем панэлі задач"
+
+
"Перамясціць уверх/улева"
"Перамясціць уніз/управа"
"Адкрыць праграму ва ўсплывальным акне"
diff --git a/quickstep/res/values-bg/strings.xml b/quickstep/res/values-bg/strings.xml
index 424969dddd..1b77706439 100644
--- a/quickstep/res/values-bg/strings.xml
+++ b/quickstep/res/values-bg/strings.xml
@@ -28,6 +28,8 @@
"Няма скорошни елементи"
"Настройки за използването на приложенията"
"Изчистване на всички"
+
+
"Скорошни приложения"
"%1$s, %2$s"
"< 1 мин"
@@ -93,6 +95,22 @@
"Можете да започнете да използвате %1$s"
"Можете да започнете да използвате устройството си"
"Настройки за навигиране в системата"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
"Споделяне"
"Екранна снимка"
"Разделяне на екрана"
@@ -137,7 +155,8 @@
"Лентата на задачите винаги да се показва"
"Промяна на режима на навигация"
"Разделител на лентата на задачите"
- "Меню при препълване на лентата на задачите"
+
+
"Преместване горе/вляво"
"Преместване долу/вдясно"
"Отваряне на приложението като балонче"
diff --git a/quickstep/res/values-bn/strings.xml b/quickstep/res/values-bn/strings.xml
index 3624ee8944..bd20abf63a 100644
--- a/quickstep/res/values-bn/strings.xml
+++ b/quickstep/res/values-bn/strings.xml
@@ -28,6 +28,8 @@
"কোনও সাম্প্রতিক আইটেম নেই"
"অ্যাপ ব্যবহারের সেটিংস"
"সব মুছে দিন"
+
+
"সম্প্রতি ব্যবহৃত অ্যাপ"
"%1$s, %2$s"
"< ১ মি."
@@ -93,6 +95,22 @@
"%1$s ব্যবহার শুরু করার জন্য আপনি রেডি"
"নিজের ডিভাইস ব্যবহার শুরু করার জন্য আপনি রেডি"
"সিস্টেম নেভিগেশন সেটিংস"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
"শেয়ার করুন"
"স্ক্রিনশট নিন"
"স্প্লিট"
@@ -137,7 +155,8 @@
"সবসময় টাস্কবার দেখুন"
"\'নেভিগেশন\' মোড পরিবর্তন করুন"
"টাস্কবার ডিভাইডার"
- "টাস্কবার ওভারফ্লো"
+
+
"উপরে/বাঁদিকে সরান"
"নিচে/ডানদিকে সরান"
"বাবল হিসেবে অ্যাপ খুলুন"
diff --git a/quickstep/res/values-bs/strings.xml b/quickstep/res/values-bs/strings.xml
index 4fd06ecf05..84654ddc29 100644
--- a/quickstep/res/values-bs/strings.xml
+++ b/quickstep/res/values-bs/strings.xml
@@ -28,6 +28,8 @@
"Nema nedavnih stavki"
"Postavke korištenja aplikacije"
"Obriši sve"
+
+
"Nedavne aplikacije"
"%1$s, %2$s"
"< 1 min"
@@ -93,6 +95,22 @@
"Spremni ste da počnete koristiti %1$s"
"Sve je spremno da počnete koristiti uređaj"
"Postavke navigacije sistemom"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
"Dijeli"
"Snimak ekrana"
"Podijeli"
@@ -137,7 +155,8 @@
"Uvijek prikaži traku zadataka"
"Promijeni način navigacije"
"Razdjelnik trake zadataka"
- "Preklopni meni trake zadataka"
+
+
"Premjesti gore lijevo"
"Premjesti dolje desno"
"Otvori aplikaciju kao oblačić"
diff --git a/quickstep/res/values-ca/strings.xml b/quickstep/res/values-ca/strings.xml
index 137ff006e4..f911902e36 100644
--- a/quickstep/res/values-ca/strings.xml
+++ b/quickstep/res/values-ca/strings.xml
@@ -28,6 +28,8 @@
"No hi ha cap element recent"
"Configuració d\'ús d\'aplicacions"
"Esborra-ho tot"
+
+
"Aplicacions recents"
"%1$s; %2$s"
"< 1 minut"
@@ -93,6 +95,22 @@
"Ja pots començar a utilitzar el %1$s"
"Ja pots començar a utilitzar el dispositiu"
"Configuració de navegació del sistema"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
"Comparteix"
"Captura de pantalla"
"Divideix"
@@ -137,7 +155,8 @@
"Barra de tasques sempre visible"
"Canvia el mode de navegació"
"Separador de la Barra de tasques"
- "Menú addicional de la barra de tasques"
+
+
"Mou a la part superior o a l\'esquerra"
"Mou a la part inferior o a la dreta"
"Obre l\'aplicació com a bombolla"
diff --git a/quickstep/res/values-cs/strings.xml b/quickstep/res/values-cs/strings.xml
index dd817f0ab7..221441ce59 100644
--- a/quickstep/res/values-cs/strings.xml
+++ b/quickstep/res/values-cs/strings.xml
@@ -28,6 +28,8 @@
"Žádné položky z nedávné doby"
"Nastavení využití aplikací"
"Vymazat vše"
+
+
"Poslední aplikace"
"%1$s, %2$s"
"< 1 minuta"
@@ -93,6 +95,22 @@
"%1$s můžete začít používat"
"Zařízení je připraveno k používání"
"Nastavení navigace v systému"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
"Sdílet"
"Snímek obrazovky"
"Rozdělit"
@@ -137,7 +155,8 @@
"Vždy zobrazovat panel aplikací"
"Změnit navigační režim"
"Rozdělovač panelu aplikací"
- "Přetečení panelu aplikací"
+
+
"Přesunout doleva nahoru"
"Přesunout doprava dolů"
"Otevřít aplikaci jako bublinu"
diff --git a/quickstep/res/values-da/strings.xml b/quickstep/res/values-da/strings.xml
index 416b94cc14..84f3cb32d0 100644
--- a/quickstep/res/values-da/strings.xml
+++ b/quickstep/res/values-da/strings.xml
@@ -28,6 +28,8 @@
"Ingen nye elementer"
"Indstillinger for appforbrug"
"Ryd alt"
+
+
"Seneste apps"
"%1$s, %2$s"
"< 1 min"
@@ -93,6 +95,22 @@
"Du er klar til at bruge din %1$s"
"Du er klar til at bruge din enhed"
"Indstillinger for systemnavigation"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
"Del"
"Screenshot"
"Opdel"
@@ -137,7 +155,8 @@
"Vis altid proceslinjen"
"Skift navigationstilstand"
"Opdeling af proceslinjen"
- "Prikmenu på proceslinjen"
+
+
"Flyt til toppen eller venstre side"
"Flyt til bunden eller højre side"
"Åbn appen som en boble"
diff --git a/quickstep/res/values-de/strings.xml b/quickstep/res/values-de/strings.xml
index 7a64edfbfe..f8d7b680ed 100644
--- a/quickstep/res/values-de/strings.xml
+++ b/quickstep/res/values-de/strings.xml
@@ -28,6 +28,8 @@
"Keine kürzlich verwendeten Elemente"
"Einstellungen zur App-Nutzung"
"Alle Apps schließen"
+
+
"Kürzlich geöffnete Apps"
"%1$s, %2$s"
"< 1 Min."
@@ -93,6 +95,22 @@
"Du kannst dein %1$s jetzt verwenden"
"Du kannst dein Gerät jetzt verwenden"
"Einstellungen für die Systemnavigation"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
"Teilen"
"Screenshot"
"Splitscreen"
@@ -137,7 +155,8 @@
"Taskleiste immer anzeigen"
"Navigationsmodus ändern"
"Taskleisten-Teiler"
- "Taskleisten-Overflow"
+
+
"Nach oben / Nach links verschieben"
"Nach unten / Nach rechts verschieben"
"App als Bubble öffnen"
diff --git a/quickstep/res/values-el/strings.xml b/quickstep/res/values-el/strings.xml
index 89e7a1692f..3cc60996dd 100644
--- a/quickstep/res/values-el/strings.xml
+++ b/quickstep/res/values-el/strings.xml
@@ -28,6 +28,8 @@
"Δεν υπάρχουν πρόσφατα στοιχεία"
"Ρυθμίσεις χρήσης εφαρμογής"
"Διαγραφή όλων"
+
+
"Πρόσφατες εφαρμογές"
"%1$s, %2$s"
"< 1 λ."
@@ -93,6 +95,22 @@
"Είστε έτοιμοι να ξεκινήσετε να χρησιμοποιείτε τη %1$s"
"Είστε έτοιμοι να ξεκινήσετε να χρησιμοποιείτε τη συσκευή σας"
"Ρυθμίσεις πλοήγησης συστήματος"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
"Κοινοποίηση"
"Στιγμιότυπο οθόνης"
"Διαχωρισμός"
@@ -137,7 +155,8 @@
"Εμφάνιση Γραμμής εργαλείων"
"Αλλαγή τρόπου πλοήγησης"
"Διαχωριστικό Γραμμής εργαλείων"
- "Υπερχείλιση γραμμής εργαλείων"
+
+
"Μετακίνηση επάνω/αριστερά"
"Μετακίνηση κάτω/δεξιά"
"Άνοιγμα εφαρμογής σε συννεφάκι"
diff --git a/quickstep/res/values-en-rAU/strings.xml b/quickstep/res/values-en-rAU/strings.xml
index ebbd5ce7d7..2ce8517f8e 100644
--- a/quickstep/res/values-en-rAU/strings.xml
+++ b/quickstep/res/values-en-rAU/strings.xml
@@ -28,6 +28,8 @@
"No recent items"
"App usage settings"
"Clear all"
+
+
"Recent apps"
"%1$s, %2$s"
"< 1 minute"
@@ -93,6 +95,22 @@
"You’re ready to start using your %1$s"
"You\'re ready to start using your device"
"System navigation settings"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
"Share"
"Screenshot"
"Split"
@@ -137,7 +155,8 @@
"Always show Taskbar"
"Change navigation mode"
"Taskbar divider"
- "Taskbar overflow"
+
+
"Move to top/left"
"Move to bottom/right"
"Open app as a bubble"
diff --git a/quickstep/res/values-en-rCA/strings.xml b/quickstep/res/values-en-rCA/strings.xml
index 677576db53..77a0f956c8 100644
--- a/quickstep/res/values-en-rCA/strings.xml
+++ b/quickstep/res/values-en-rCA/strings.xml
@@ -28,6 +28,7 @@
"No recent items"
"App usage settings"
"Clear all"
+ "Add new desk"
"Recent apps"
"%1$s, %2$s"
"< 1 minute"
@@ -93,6 +94,22 @@
"You\'re ready to start using your %1$s"
"You’re ready to start using your device"
"System navigation settings"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
"Share"
"Screenshot"
"Split"
@@ -137,7 +154,7 @@
"Always show Taskbar"
"Change navigation mode"
"Taskbar Divider"
- "Taskbar Overflow"
+ "Other recent apps"
"Move to top/left"
"Move to bottom/right"
"Open app as a bubble"
diff --git a/quickstep/res/values-en-rGB/strings.xml b/quickstep/res/values-en-rGB/strings.xml
index ebbd5ce7d7..2ce8517f8e 100644
--- a/quickstep/res/values-en-rGB/strings.xml
+++ b/quickstep/res/values-en-rGB/strings.xml
@@ -28,6 +28,8 @@
"No recent items"
"App usage settings"
"Clear all"
+
+
"Recent apps"
"%1$s, %2$s"
"< 1 minute"
@@ -93,6 +95,22 @@
"You’re ready to start using your %1$s"
"You\'re ready to start using your device"
"System navigation settings"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
"Share"
"Screenshot"
"Split"
@@ -137,7 +155,8 @@
"Always show Taskbar"
"Change navigation mode"
"Taskbar divider"
- "Taskbar overflow"
+
+
"Move to top/left"
"Move to bottom/right"
"Open app as a bubble"
diff --git a/quickstep/res/values-en-rIN/strings.xml b/quickstep/res/values-en-rIN/strings.xml
index ebbd5ce7d7..2ce8517f8e 100644
--- a/quickstep/res/values-en-rIN/strings.xml
+++ b/quickstep/res/values-en-rIN/strings.xml
@@ -28,6 +28,8 @@
"No recent items"
"App usage settings"
"Clear all"
+
+
"Recent apps"
"%1$s, %2$s"
"< 1 minute"
@@ -93,6 +95,22 @@
"You’re ready to start using your %1$s"
"You\'re ready to start using your device"
"System navigation settings"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
"Share"
"Screenshot"
"Split"
@@ -137,7 +155,8 @@
"Always show Taskbar"
"Change navigation mode"
"Taskbar divider"
- "Taskbar overflow"
+
+
"Move to top/left"
"Move to bottom/right"
"Open app as a bubble"
diff --git a/quickstep/res/values-es-rUS/strings.xml b/quickstep/res/values-es-rUS/strings.xml
index a16e7b37da..38a814ea63 100644
--- a/quickstep/res/values-es-rUS/strings.xml
+++ b/quickstep/res/values-es-rUS/strings.xml
@@ -28,6 +28,8 @@
"No hay elementos recientes"
"Configuración de uso de la app"
"Cerrar todo"
+
+
"Apps recientes"
"%1$s (%2$s)"
"< 1 minuto"
@@ -93,6 +95,22 @@
"Ya puedes comenzar a usar tu %1$s"
"Ya puedes empezar a usar tu dispositivo"
"Configuración de navegación del sistema"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
"Compartir"
"Captura de pantalla"
"Pantalla dividida"
@@ -137,7 +155,8 @@
"Barra de tareas visible"
"Cambiar el modo de navegación"
"Divisor de la Barra de tareas"
- "Barra de tareas ampliada"
+
+
"Mover a la parte superior o izquierda"
"Mover a la parte inferior o derecha"
"Abrir app como burbuja"
diff --git a/quickstep/res/values-es/strings.xml b/quickstep/res/values-es/strings.xml
index 0522e4d3fd..ea751a5507 100644
--- a/quickstep/res/values-es/strings.xml
+++ b/quickstep/res/values-es/strings.xml
@@ -28,6 +28,8 @@
"No hay nada reciente"
"Ajustes de uso de la aplicación"
"Borrar todo"
+
+
"Aplicaciones recientes"
"%1$s (%2$s)"
"<1 minuto"
@@ -93,6 +95,22 @@
"Ya puedes empezar a usar tu %1$s"
"Ya puedes empezar a usar tu dispositivo"
"Opciones de navegación"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
"Compartir"
"Hacer captura"
"Dividir"
@@ -137,7 +155,8 @@
"Barra de tareas visible"
"Cambiar el modo de navegación"
"Divisor de Barra de Tareas"
- "Barra de tareas ampliada"
+
+
"Mover arriba/a la izquierda"
"Mover abajo/a la derecha"
"Abrir aplicación como burbuja"
diff --git a/quickstep/res/values-et/strings.xml b/quickstep/res/values-et/strings.xml
index a5b9f25a66..02eef526eb 100644
--- a/quickstep/res/values-et/strings.xml
+++ b/quickstep/res/values-et/strings.xml
@@ -28,6 +28,8 @@
"Hiljutisi üksusi pole"
"Rakenduse kasutuse seaded"
"Sule kõik"
+
+
"Hiljutised rakendused"
"%1$s %2$s"
"< 1 minut"
@@ -91,8 +93,24 @@
"Avalehele liikumiseks pühkige üles"
"Avakuvale liikumiseks puudutage avakuva nuppu"
"Teie %1$s on nüüd kasutamiseks valmis."
- "Seade on nüüd kasutamiseks valmis"
+ "Seade on nüüd kasutamiseks valmis."
"Süsteemi navigeerimisseaded"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
"Jaga"
"Ekraanipilt"
"Jaga pooleks"
@@ -137,7 +155,8 @@
"Kuva tegumiriba alati"
"Navigeerimisrežiimi muutmine"
"Tegumiriba jagaja"
- "Tegumiriba ületäide"
+
+
"Teisalda üles/vasakule"
"Teisalda alla/paremale"
"Rakenduse avamine mullina"
diff --git a/quickstep/res/values-eu/strings.xml b/quickstep/res/values-eu/strings.xml
index c66f8fe174..a81853a26a 100644
--- a/quickstep/res/values-eu/strings.xml
+++ b/quickstep/res/values-eu/strings.xml
@@ -28,6 +28,8 @@
"Ez dago azkenaldi honetako ezer"
"Aplikazioen erabileraren ezarpenak"
"Garbitu guztiak"
+
+
"Azkenaldiko aplikazioak"
"%1$s (%2$s)"
"< 1 min"
@@ -93,6 +95,22 @@
"Prest zaude %1$s erabiltzen hasteko"
"Prest zaude gailua erabiltzen hasteko"
"Sisteman nabigatzeko ezarpenak"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
"Partekatu"
"Atera pantaila-argazki bat"
"Zatitu"
@@ -137,7 +155,8 @@
"Erakutsi beti zereginen barra"
"Aldatu nabigazio modua"
"Zereginen barraren zatitzailea"
- "Zereginen barraren luzapena"
+
+
"Eraman gora, ezkerretara"
"Eraman behera, eskuinetara"
"Ireki aplikazioa burbuila gisa"
diff --git a/quickstep/res/values-fa/strings.xml b/quickstep/res/values-fa/strings.xml
index d542fcffab..0f82a7634f 100644
--- a/quickstep/res/values-fa/strings.xml
+++ b/quickstep/res/values-fa/strings.xml
@@ -28,6 +28,8 @@
"چیز جدیدی اینجا نیست"
"تنظیمات استفاده از برنامه"
"پاک کردن همه"
+
+
"برنامههای اخیر"
"%1$s، %2$s"
"< ۱ دقیقه"
@@ -93,6 +95,22 @@
"آمادهاید از %1$s خود استفاده کنید"
"آمادهاید از دستگاهتان استفاده کنید"
"تنظیمات پیمایش سیستم"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
"همرسانی"
"نماگرفت"
"دونیمه"
@@ -137,7 +155,8 @@
"نوار وظیفه همیشه نشان داده شود"
"تغییر حالت پیمایش"
"جداکننده نوار وظیفه"
- "سرریز نوار وظیفه"
+
+
"انتقال به بالا/ چپ"
"انتقال به پایین/ راست"
"باز کردن برنامه بهصورت حبابک"
diff --git a/quickstep/res/values-fi/strings.xml b/quickstep/res/values-fi/strings.xml
index ee4498f4b0..8817a987bf 100644
--- a/quickstep/res/values-fi/strings.xml
+++ b/quickstep/res/values-fi/strings.xml
@@ -28,6 +28,8 @@
"Ei viimeaikaisia kohteita"
"Sovelluksen käyttöasetukset"
"Poista kaikki"
+
+
"Viimeisimmät sovellukset"
"%1$s, %2$s"
"< 1 min"
@@ -93,6 +95,22 @@
"%1$s on nyt valmis käytettäväksi"
"Laite on nyt valmis käytettäväksi"
"Järjestelmän navigointiasetukset"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
"Jaa"
"Kuvakaappaus"
"Jaettu näyttö"
@@ -137,7 +155,8 @@
"Näytä tehtäväpalkki aina"
"Vaihda navigointitilaa"
"Tehtäväpalkin jakaja"
- "Tehtäväpalkin ylivuotu"
+
+
"Siirrä ylös tai vasemmalle"
"Siirrä alas tai oikealle"
"Avaa sovellus kuplana"
diff --git a/quickstep/res/values-fr-rCA/strings.xml b/quickstep/res/values-fr-rCA/strings.xml
index 236ed10de5..41800b2e73 100644
--- a/quickstep/res/values-fr-rCA/strings.xml
+++ b/quickstep/res/values-fr-rCA/strings.xml
@@ -28,6 +28,8 @@
"Aucun élément récent"
"Paramètres d\'utilisation de l\'appli"
"Tout effacer"
+
+
"Applis récentes"
"%1$s : %2$s"
"< 1 min"
@@ -93,6 +95,22 @@
"Vous êtes maintenant prêt à utiliser votre %1$s"
"Vous êtes maintenant prêt à utiliser votre appareil."
"Paramètres de navigation du système"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
"Partager"
"Capture d\'écran"
"Diviser"
@@ -137,7 +155,8 @@
"Tjrs afficher barre des tâches"
"Changer de mode de navigation"
"Séparateur de la barre des tâches"
- "Barre des tâches à développer"
+
+
"Déplacer vers le coin supérieur gauche de l\'écran"
"Déplacer vers le coin inférieur droit de l\'écran"
"Ouvrir l\'appli sous forme de bulle"
diff --git a/quickstep/res/values-fr/strings.xml b/quickstep/res/values-fr/strings.xml
index f509a925dd..e6d2f995ad 100644
--- a/quickstep/res/values-fr/strings.xml
+++ b/quickstep/res/values-fr/strings.xml
@@ -28,6 +28,8 @@
"Aucun élément récent"
"Paramètres de consommation de l\'application"
"Tout effacer"
+
+
"Applications récentes"
"%1$s, %2$s"
"< 1 min"
@@ -93,6 +95,22 @@
"Vous pouvez maintenant utiliser votre %1$s"
"Vous pouvez maintenant utiliser votre appareil"
"Paramètres de navigation système"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
"Partager"
"Capture d\'écran"
"Partager"
@@ -137,7 +155,8 @@
"Barre des tâches tjs visible"
"Modifier le mode de navigation"
"Séparateur de barre des tâches"
- "Développement de la barre des tâches"
+
+
"Déplacer en haut ou à gauche"
"Déplacer en bas ou à droite"
"Ouvrir l\'appli sous forme de bulle"
diff --git a/quickstep/res/values-gl/strings.xml b/quickstep/res/values-gl/strings.xml
index cef11349ad..14358a097b 100644
--- a/quickstep/res/values-gl/strings.xml
+++ b/quickstep/res/values-gl/strings.xml
@@ -28,6 +28,8 @@
"Non hai elementos recentes"
"Configuración do uso de aplicacións"
"Borrar todo"
+
+
"Apps recentes"
"%1$s (%2$s)"
"<1 min"
@@ -93,6 +95,22 @@
"%1$s dispoñible para comezar a utilizar"
"Xa está todo listo para que empeces a usar o teu dispositivo"
"Configuración da navegación do sistema"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
"Compartir"
"Facer captura"
"Dividir"
@@ -137,7 +155,8 @@
"Ver sempre a barra de tarefas"
"Cambiar modo de navegación"
"Divisor da Barra de tarefas"
- "Menú adicional da barra de tarefas"
+
+
"Mover á parte superior ou á esquerda"
"Mover á parte inferior ou á dereita"
"Abrir aplicación como unha burbulla"
diff --git a/quickstep/res/values-gu/strings.xml b/quickstep/res/values-gu/strings.xml
index 9b8c70599d..c2c22cc13b 100644
--- a/quickstep/res/values-gu/strings.xml
+++ b/quickstep/res/values-gu/strings.xml
@@ -28,6 +28,8 @@
"તાજેતરની કોઈ આઇટમ નથી"
"ઍપ વપરાશનું સેટિંગ"
"બધું સાફ કરો"
+
+
"તાજેતરની ઍપ"
"%1$s, %2$s"
"< 1 મિનિટ"
@@ -93,6 +95,22 @@
"તમે તમારા %1$sનો ઉપયોગ કરવાનું શરૂ કરવા માટે તૈયાર છો"
"તમે તમારા ડિવાઇસનો ઉપયોગ કરવાનું શરૂ કરવા માટે તૈયાર છો"
"સિસ્ટમના નૅવિગેશન સેટિંગ"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
"શેર કરો"
"સ્ક્રીનશૉટ"
"વિભાજિત કરો"
@@ -137,7 +155,8 @@
"હંમેશાં ટાસ્કબાર બતાવો"
"નૅવિગેશન મોડ બદલો"
"ટાસ્કબાર વિભાજક"
- "ટાસ્કબાર ઓવરફ્લો"
+
+
"સૌથી ઉપર ડાબી બાજુએ ખસેડો"
"સૌથી નીચે જમણી બાજુએ ખસેડો"
"બબલ તરીકે ઍપ ખોલો"
diff --git a/quickstep/res/values-hi/strings.xml b/quickstep/res/values-hi/strings.xml
index 21b53dce69..6031fb9196 100644
--- a/quickstep/res/values-hi/strings.xml
+++ b/quickstep/res/values-hi/strings.xml
@@ -28,6 +28,8 @@
"हाल ही में कोई ऐप्लिकेशन खोला नहीं गया"
"ऐप्लिकेशन इस्तेमाल की सेटिंग"
"सभी हटाएं"
+
+
"हाल ही में इस्तेमाल किए गए ऐप्लिकेशन"
"%1$s, %2$s"
"<1 मिनट"
@@ -93,6 +95,22 @@
"अब %1$s इस्तेमाल के लिए तैयार है"
"आपका डिवाइस इस्तेमाल के लिए तैयार है"
"सिस्टम नेविगेशन से जुड़ी सेटिंग"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
"शेयर करें"
"स्क्रीनशॉट लें"
"स्प्लिट स्क्रीन मोड"
@@ -137,7 +155,8 @@
"टास्कबार हमेशा दिखाएं"
"नेविगेशन का मोड बदलें"
"टास्कबार डिवाइडर"
- "टास्कबार ओवरफ़्लो आइकॉन"
+
+
"ऊपर/बाईं तरफ़ ले जाएं"
"नीचे/दाईं तरफ़ ले जाएं"
"ऐप्लिकेशन को बबल के तौर पर खोलें"
diff --git a/quickstep/res/values-hr/strings.xml b/quickstep/res/values-hr/strings.xml
index 0be6bb50c4..949451669d 100644
--- a/quickstep/res/values-hr/strings.xml
+++ b/quickstep/res/values-hr/strings.xml
@@ -28,6 +28,8 @@
"Nema nedavnih stavki"
"Postavke upotrebe aplikacija"
"Izbriši sve"
+
+
"Nedavne aplikacije"
"%1$s, %2$s"
"< 1 min"
@@ -93,6 +95,22 @@
"Možete početi upotrebljavati %1$s"
"Možete početi upotrebljavati uređaj"
"Postavke navigacije sustavom"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
"Podijeli"
"Snimka zaslona"
"Podjela"
@@ -137,7 +155,8 @@
"Uvijek prikaži traku zadataka"
"Promijeni način navigacije"
"Razdjelnik trake sa zadacima"
- "Dodatni izbornik trake sa zadacima"
+
+
"Premjesti gore/lijevo"
"Premjesti dolje/desno"
"Otvori aplikaciju kao oblačić"
diff --git a/quickstep/res/values-hu/strings.xml b/quickstep/res/values-hu/strings.xml
index 3ea716a73a..2c9d4985a9 100644
--- a/quickstep/res/values-hu/strings.xml
+++ b/quickstep/res/values-hu/strings.xml
@@ -28,6 +28,8 @@
"Nincsenek mostanában használt elemek"
"Alkalmazáshasználati beállítások"
"Összes törlése"
+
+
"Legutóbbi alkalmazások"
"%1$s, %2$s"
"< 1 perc"
@@ -93,6 +95,22 @@
"Készen áll az %1$s használatára"
"Készen áll az eszköz használatára"
"Rendszer-navigációs beállítások"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
"Megosztás"
"Képernyőkép"
"Felosztás"
@@ -137,7 +155,8 @@
"Mindig megjelenő Feladatsáv"
"Navigációs mód módosítása"
"Feladatsáv-elválasztó"
- "Feladatsáv túlcsordulása"
+
+
"Mozgatás felülre vagy a bal oldalra"
"Mozgatás alulra vagy a jobb oldalra"
"Alkalmazás megnyitása buborékként"
diff --git a/quickstep/res/values-hy/strings.xml b/quickstep/res/values-hy/strings.xml
index b20b4a4ef3..72ecbdc826 100644
--- a/quickstep/res/values-hy/strings.xml
+++ b/quickstep/res/values-hy/strings.xml
@@ -28,6 +28,8 @@
"Այստեղ դեռ ոչինչ չկա"
"Հավելվածի օգտագործման կարգավորումներ"
"Փակել բոլորը"
+
+
"Վերջին հավելվածներ"
"%1$s, %2$s"
"< 1 ր"
@@ -93,6 +95,22 @@
"Դուք արդեն կարող եք օգտագործել ձեր %1$sը"
"Դուք արդեն կարող եք օգտագործել ձեր սարքը"
"Նավիգացիայի համակարգային կարգավորումներ"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
"Կիսվել"
"Սքրինշոթ անել"
"Տրոհել"
@@ -137,7 +155,8 @@
"Միշտ ցույց տալ վահանակը"
"Փոխել նավիգացիայի ռեժիմը"
"Հավելվածների վահանակի բաժանիչ"
- "Հավելվածների վահանակի լրացուցիչ ընտրացանկ"
+
+
"Տեղափոխել վերևի ձախ անկյուն"
"Տեղափոխել ներքևի աջ անկյուն"
"Բացել հավելվածը պղպջակի ձևով"
diff --git a/quickstep/res/values-in/strings.xml b/quickstep/res/values-in/strings.xml
index a7598b76f9..2751593b58 100644
--- a/quickstep/res/values-in/strings.xml
+++ b/quickstep/res/values-in/strings.xml
@@ -28,6 +28,8 @@
"Tidak ada item yang baru dibuka"
"Setelan penggunaan aplikasi"
"Hapus semua"
+
+
"Aplikasi terbaru"
"%1$s, %2$s"
"< 1 menit"
@@ -93,6 +95,22 @@
"Anda sudah siap untuk mulai menggunakan %1$s"
"Anda sudah siap untuk mulai menggunakan perangkat"
"Setelan navigasi sistem"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
"Bagikan"
"Screenshot"
"Pisahkan"
@@ -137,7 +155,8 @@
"Selalu tampilkan Taskbar"
"Ubah mode navigasi"
"Pemisah Taskbar"
- "Tambahan Taskbar"
+
+
"Pindahkan ke atas/kiri"
"Pindahkan ke bawah/kanan"
"Buka aplikasi sebagai balon"
diff --git a/quickstep/res/values-is/strings.xml b/quickstep/res/values-is/strings.xml
index 6de1a0c26a..3b9331ec5f 100644
--- a/quickstep/res/values-is/strings.xml
+++ b/quickstep/res/values-is/strings.xml
@@ -28,6 +28,8 @@
"Engin nýleg atriði"
"Notkunarstillingar forrits"
"Hreinsa allt"
+
+
"Nýleg forrit"
"%1$s, %2$s"
"< 1 mín."
@@ -93,6 +95,22 @@
"Þú getur byrjað að nota %1$s"
"Þú getur byrjað að nota tækið"
"Stillingar kerfisstjórnunar"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
"Deila"
"Skjámynd"
"Skipta"
@@ -137,7 +155,8 @@
"Alltaf sýna forritastiku"
"Breyta leiðsagnarstillingu"
"Skipting forritastiku"
- "Yfirflæði á forritastiku"
+
+
"Færa efst/til vinstri"
"Færa neðst/til hægri"
"Opna forrit sem blöðru"
diff --git a/quickstep/res/values-it/strings.xml b/quickstep/res/values-it/strings.xml
index a1f316f2dd..59b220af49 100644
--- a/quickstep/res/values-it/strings.xml
+++ b/quickstep/res/values-it/strings.xml
@@ -28,6 +28,7 @@
"Nessun elemento recente"
"Impostazioni di utilizzo delle app"
"Cancella tutto"
+ "Aggiungi nuova scrivania"
"App recenti"
"%1$s, %2$s"
"< 1 min"
@@ -93,6 +94,22 @@
"Puoi iniziare a usare il tuo %1$s"
"Puoi iniziare a usare il tuo dispositivo"
"Impostazioni di navigazione del sistema"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
"Condividi"
"Screenshot"
"Dividi"
@@ -137,7 +154,7 @@
"Mostra sempre barra app"
"Cambia modalità di navigazione"
"Divisore barra delle app"
- "Overflow barra delle app"
+ "Altre app recenti"
"Sposta in alto/a sinistra"
"Sposta in basso/a destra"
"Apri l\'app come fumetto"
diff --git a/quickstep/res/values-iw/strings.xml b/quickstep/res/values-iw/strings.xml
index a6fd2e51d6..0eeceeb92b 100644
--- a/quickstep/res/values-iw/strings.xml
+++ b/quickstep/res/values-iw/strings.xml
@@ -28,6 +28,8 @@
"אין פריטים אחרונים"
"הגדרות שימוש באפליקציה"
"ניקוי הכול"
+
+
"אפליקציות אחרונות"
"%1$s, %2$s"
"< דקה"
@@ -93,6 +95,22 @@
"הכול מוכן ואפשר להתחיל להשתמש ב%1$s"
"הכול מוכן ואפשר להתחיל להשתמש במכשיר"
"הגדרות הניווט במערכת"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
"שיתוף"
"צילום מסך"
"פיצול"
@@ -137,7 +155,8 @@
"סרגל האפליקציות מוצג תמיד"
"שינוי מצב הניווט"
"המחיצה בסרגל האפליקציות"
- "אפשרויות נוספות בסרגל האפליקציות"
+
+
"העברה לפינה השמאלית/העליונה"
"העברה לפינה הימנית/התחתונה"
"פתיחת האפליקציה בבועה"
diff --git a/quickstep/res/values-ja/strings.xml b/quickstep/res/values-ja/strings.xml
index fb785fada8..758f1c0450 100644
--- a/quickstep/res/values-ja/strings.xml
+++ b/quickstep/res/values-ja/strings.xml
@@ -28,6 +28,8 @@
"最近のアイテムはありません"
"アプリの使用状況の設定"
"すべてクリア"
+
+
"最近使ったアプリ"
"%1$s、%2$s"
"1 分未満"
@@ -93,6 +95,22 @@
"%1$s を使用する準備ができました"
"デバイスを使用する準備ができました"
"システム ナビゲーションの設定"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
"共有"
"スクリーンショット"
"分割"
@@ -137,7 +155,8 @@
"常にタスクバーを表示する"
"ナビゲーション モードを変更"
"タスクバーの区切り"
- "タスクバーのオーバフロー"
+
+
"上 / 左に移動"
"下 / 右に移動"
"アプリをバブルとして開く"
diff --git a/quickstep/res/values-ka/strings.xml b/quickstep/res/values-ka/strings.xml
index 2e91f380e8..54bdb9013c 100644
--- a/quickstep/res/values-ka/strings.xml
+++ b/quickstep/res/values-ka/strings.xml
@@ -28,6 +28,8 @@
"ბოლოს გამოყენებული ერთეულები არ არის"
"აპების გამოყენების პარამეტრები"
"ყველას გასუფთავება"
+
+
"ბოლოდროინდელი აპები"
"%1$s, %2$s"
"< 1 წუთი"
@@ -93,6 +95,22 @@
"მზად ხართ, გამოიყენოთ %1$s"
"თქვენ მზად ხართ მოწყობილობის გამოსაყენებლად"
"სისტემის ნავიგაციის პარამეტრები"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
"გაზიარება"
"ეკრანის ანაბეჭდი"
"გაყოფა"
@@ -137,7 +155,8 @@
"ამოცანათა ზოლის მუდამ ჩვენება"
"შეცვალეთ ნავიგაციის რეჟიმი"
"ამოცანათა ზოლის გამყოფი"
- "ამოცანათა ზოლის გადავსება"
+
+
"ზემოთ/მარცხნივ გადატანა"
"ქვემოთ/მარჯვნივ გადატანა"
"აპის გახსნა ბუშტის სახით"
diff --git a/quickstep/res/values-kk/strings.xml b/quickstep/res/values-kk/strings.xml
index b9631ccebd..5010e9a201 100644
--- a/quickstep/res/values-kk/strings.xml
+++ b/quickstep/res/values-kk/strings.xml
@@ -28,6 +28,8 @@
"Соңғы элементтер жоқ"
"Қолданбаны пайдалану параметрлері"
"Барлығын өшіру"
+
+
"Соңғы қолданбалар"
"%1$s, %2$s"
"< 1 мин"
@@ -93,6 +95,22 @@
"%1$s пайдалануға дайын."
"Құрылғы пайдалануға дайын."
"Навигацияның жүйелік параметрлері"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
"Бөлісу"
"Скриншот"
"Бөлу"
@@ -137,7 +155,8 @@
"Тапсырма жолағын үнемі көрсету"
"Навигация режимін өзгерту"
"Тапсырмалар жолағын бөлгіш"
- "\"Тапсырмалар жолағы\" қосымша мәзірі"
+
+
"Жоғары/солға жылжыту"
"Төмен/оңға жылжыту"
"Қолданбаны қалқыма терезе түрінде ашу"
diff --git a/quickstep/res/values-km/strings.xml b/quickstep/res/values-km/strings.xml
index aeea8b85c2..d17d51d7f9 100644
--- a/quickstep/res/values-km/strings.xml
+++ b/quickstep/res/values-km/strings.xml
@@ -28,6 +28,8 @@
"មិនមានធាតុថ្មីៗទេ"
"ការកំណត់ការប្រើប្រាស់កម្មវិធី"
"សម្អាតទាំងអស់"
+
+
"កម្មវិធីថ្មីៗ"
"%1$s, %2$s"
"< 1 នាទី"
@@ -93,6 +95,22 @@
"អ្នកអាចចាប់ផ្ដើមប្រើ%1$sរបស់អ្នកបានហើយ"
"អ្នកអាចចាប់ផ្ដើមប្រើឧបករណ៍របស់អ្នកបានហើយ"
"ការកំណត់ការរុករកប្រព័ន្ធ"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
"ចែករំលែក"
"ថតរូបអេក្រង់"
"បំបែក"
@@ -137,7 +155,8 @@
"បង្ហាញរបារកិច្ចការជានិច្ច"
"ប្ដូរមុខងាររុករក"
"បន្ទាត់ខណ្ឌចែករបារកិច្ចការ"
- "ម៉ឺនុយបន្ថែមរបារកិច្ចការ"
+
+
"ផ្លាស់ទីទៅខាងលើ/ឆ្វេង"
"ផ្លាស់ទីទៅខាងក្រោម/ស្ដាំ"
"បើកកម្មវិធីជាផ្ទាំងសារ"
diff --git a/quickstep/res/values-kn/strings.xml b/quickstep/res/values-kn/strings.xml
index 13072a07ab..47635c069d 100644
--- a/quickstep/res/values-kn/strings.xml
+++ b/quickstep/res/values-kn/strings.xml
@@ -28,6 +28,8 @@
"ಯಾವುದೇ ಇತ್ತೀಚಿನ ಐಟಂಗಳಿಲ್ಲ"
"ಆ್ಯಪ್ ಬಳಕೆಯ ಸೆಟ್ಟಿಂಗ್ಗಳು"
"ಎಲ್ಲವನ್ನೂ ತೆರವುಗೊಳಿಸಿ"
+
+
"ಇತ್ತೀಚಿನ ಅಪ್ಲಿಕೇಶನ್ಗಳು"
"%1$s, %2$s"
"< 1 ನಿ"
@@ -93,6 +95,22 @@
"ನಿಮ್ಮ %1$s ಬಳಸುವುದನ್ನು ಪ್ರಾರಂಭಿಸಲು ನೀವು ಸಿದ್ಧರಾಗಿರುವಿರಿ"
"ನಿಮ್ಮ ಸಾಧನವನ್ನು ಬಳಸಲು ನೀವು ಸಿದ್ಧರಾಗಿದ್ದೀರಿ"
"ಸಿಸ್ಟಂ ನ್ಯಾವಿಗೇಶನ್ ಸೆಟ್ಟಿಂಗ್ಗಳು"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
"ಹಂಚಿಕೊಳ್ಳಿ"
"ಸ್ಕ್ರೀನ್ಶಾಟ್"
"ವಿಭಜಿಸಿ"
@@ -137,7 +155,8 @@
"ಯಾವಾಗಲೂ ಟಾಸ್ಕ್ಬಾರ್ ತೋರಿಸಿ"
"ನ್ಯಾವಿಗೇಶನ್ ಮೋಡ್ ಬದಲಾಯಿಸಿ"
"ಟಾಸ್ಕ್ಬಾರ್ ಡಿವೈಡರ್"
- "ಟಾಸ್ಕ್ ಬಾರ್ ಓವರ್ಫ್ಲೋ"
+
+
"ಮೇಲಿನ/ಎಡಭಾಗಕ್ಕೆ ಸರಿಸಿ"
"ಕೆಳಗಿನ/ಬಲಭಾಗಕ್ಕೆ ಸರಿಸಿ"
"ಆ್ಯಪ್ ಅನ್ನು ಬಬಲ್ ಆಗಿ ತೆರೆಯಿರಿ"
diff --git a/quickstep/res/values-ko/strings.xml b/quickstep/res/values-ko/strings.xml
index f28d001145..2b6567cad6 100644
--- a/quickstep/res/values-ko/strings.xml
+++ b/quickstep/res/values-ko/strings.xml
@@ -28,6 +28,8 @@
"최근 항목이 없습니다."
"앱 사용 설정"
"모두 삭제"
+
+
"최근 앱"
"%1$s, %2$s"
"< 1분"
@@ -93,6 +95,22 @@
"%1$s 사용 준비가 완료되었습니다."
"기기를 사용할 준비가 되었습니다."
"시스템 탐색 설정"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
"공유"
"스크린샷"
"분할"
@@ -137,7 +155,8 @@
"태스크 바 항상 표시"
"탐색 모드 변경"
"태스크 바 분할"
- "태스크 바 오버플로"
+
+
"상단/왼쪽으로 이동"
"하단/오른쪽으로 이동"
"앱을 대화창으로 열기"
diff --git a/quickstep/res/values-ky/strings.xml b/quickstep/res/values-ky/strings.xml
index 73a9c3fbbd..43f66768c1 100644
--- a/quickstep/res/values-ky/strings.xml
+++ b/quickstep/res/values-ky/strings.xml
@@ -28,6 +28,8 @@
"Акыркы колдонмолор жок"
"Колдонмону пайдалануу параметрлери"
"Баарын тазалоо"
+
+
"Акыркы колдонмолор"
"%1$s, %2$s"
"< 1 мүнөт"
@@ -93,6 +95,22 @@
"%1$s колдоно берсеңиз болот"
"Түзмөгүңүздү колдоно берсеңиз болот"
"Өтүү аракетинин системалык параметрлери"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
"Бөлүшүү"
"Скриншот"
"Бөлүү"
@@ -137,7 +155,8 @@
"Такта ар дайым көрүнсүн"
"Өтүү режимин өзгөртүү"
"Тапшырмалар панелин бөлгүч"
- "\"Тапшырмалар панели\" кошумча менюсу"
+
+
"Жогорку/сол бурчка жылдыруу"
"Төмөнкү/оң бурчка жылдыруу"
"Колдонмону көбүкчө катары ачуу"
diff --git a/quickstep/res/values-lo/strings.xml b/quickstep/res/values-lo/strings.xml
index 78b100770b..b34d3705d8 100644
--- a/quickstep/res/values-lo/strings.xml
+++ b/quickstep/res/values-lo/strings.xml
@@ -28,6 +28,8 @@
"ບໍ່ມີລາຍການຫຼ້າສຸດ"
"ການຕັ້ງຄ່າການນຳໃຊ້ແອັບ"
"ລຶບລ້າງທັງໝົດ"
+
+
"ແອັບຫຼ້າສຸດ"
"%1$s, %2$s"
"< 1 ນາທີ"
@@ -93,6 +95,22 @@
"ທ່ານເລີ່ມໃຊ້%1$sຂອງທ່ານໄດ້ແລ້ວ"
"ທ່ານເລີ່ມໃຊ້ອຸປະກອນຂອງທ່ານແລ້ວ"
"ການຕັ້ງຄ່າການນຳທາງລະບົບ"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
"ແບ່ງປັນ"
"ຮູບໜ້າຈໍ"
"ແບ່ງ"
@@ -137,7 +155,8 @@
"ສະແດງແຖບໜ້າວຽກສະເໝີ"
"ປ່ຽນໂໝດການນຳທາງ"
"ເສັ້ນແບ່ງແຖບໜ້າວຽກ"
- "ສ່ວນເພີ່ມເຕີມຂອງແຖບໜ້າວຽກ"
+
+
"ຍ້າຍໄປຊ້າຍ/ເທິງ"
"ຍ້າຍໄປຂວາ/ລຸ່ມ"
"ເປີດແອັບເປັນຟອງ"
diff --git a/quickstep/res/values-lt/strings.xml b/quickstep/res/values-lt/strings.xml
index 3dd755a87f..eb0d35e069 100644
--- a/quickstep/res/values-lt/strings.xml
+++ b/quickstep/res/values-lt/strings.xml
@@ -28,6 +28,8 @@
"Nėra jokių naujausių elementų"
"Programos naudojimo nustatymai"
"Išvalyti viską"
+
+
"Naujausios programos"
"%1$s, %2$s"
"< 1 min."
@@ -93,6 +95,22 @@
"Jau parengta naudoti: %1$s"
"Esate pasirengę pradėti naudoti įrenginį"
"Sistemos naršymo nustatymai"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
"Bendrinti"
"Ekrano kopija"
"Išskaidymo režimas"
@@ -137,7 +155,8 @@
"Visada rodyti užduočių juostą"
"Keisti naršymo režimą"
"Užduočių juostos daliklis"
- "Užduočių juostos perpildymas"
+
+
"Perkelti aukštyn, kairėn"
"Perkelti žemyn, dešinėn"
"Atidaryti programą kaip burbulą"
diff --git a/quickstep/res/values-lv/strings.xml b/quickstep/res/values-lv/strings.xml
index f6fbe0897d..a392bb5485 100644
--- a/quickstep/res/values-lv/strings.xml
+++ b/quickstep/res/values-lv/strings.xml
@@ -28,6 +28,8 @@
"Nav nesenu vienumu."
"Lietotņu izmantošanas iestatījumi"
"Notīrīt visu"
+
+
"Pēdējās izmantotās lietotnes"
"%1$s, %2$s"
"<1 minūte"
@@ -93,6 +95,22 @@
"Jūsu %1$s ir gatava lietošanai"
"Varat sākt izmantot savu ierīci"
"Sistēmas navigācijas iestatījumi"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
"Kopīgot"
"Veikt ekrānuzņēmumu"
"Sadalīt"
@@ -137,7 +155,8 @@
"Vienmēr rādīt uzdevumu joslu"
"Mainīt navigācijas režīmu"
"Uzdevumu joslas atdalītājs"
- "Uzdevumu joslas pārpilde"
+
+
"Pārvietot uz augšējo/kreiso stūri"
"Pārvietot uz apakšējo/labo stūri"
"Atvērt lietotni kā burbuli"
diff --git a/quickstep/res/values-mk/strings.xml b/quickstep/res/values-mk/strings.xml
index 3ea50e9ab7..79590bb301 100644
--- a/quickstep/res/values-mk/strings.xml
+++ b/quickstep/res/values-mk/strings.xml
@@ -28,6 +28,8 @@
"Нема неодамнешни ставки"
"Поставки за користење на апликациите"
"Избриши ги сите"
+
+
"Неодамнешни апликации"
"%1$s, %2$s"
"< 1 минута"
@@ -93,6 +95,22 @@
"Подготвени сте да почнете да го користите вашиот %1$s"
"Подготвени сте да започнете да го користите вашиот уред"
"Поставки за системска навигација"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
"Сподели"
"Слика од екранот"
"Раздели"
@@ -137,7 +155,8 @@
"Секогаш прикажувај „Лента“"
"Променете режим на навигација"
"Разделник на „Лента со задачи“"
- "Проширено балонче на „Лента со задачи“"
+
+
"Премести горе лево"
"Премести долу десно"
"Отвори апликација како балонче"
diff --git a/quickstep/res/values-ml/strings.xml b/quickstep/res/values-ml/strings.xml
index dc201705ac..fae3c2cdb4 100644
--- a/quickstep/res/values-ml/strings.xml
+++ b/quickstep/res/values-ml/strings.xml
@@ -28,6 +28,8 @@
"സമീപകാല ഇനങ്ങൾ ഒന്നുമില്ല"
"ആപ്പ് ഉപയോഗ ക്രമീകരണം"
"എല്ലാം മായ്ക്കുക"
+
+
"സമീപകാല ആപ്പുകൾ"
"%1$s, %2$s"
"< 1 മിനിറ്റ്"
@@ -93,6 +95,22 @@
"നിങ്ങൾക്ക് %1$s ഉപയോഗിച്ചു തുടങ്ങാം"
"നിങ്ങളുടെ ഉപകരണം ഉപയോഗിച്ച് തുടങ്ങാൻ നിങ്ങൾ തയ്യാറാണ്"
"സിസ്റ്റം നാവിഗേഷൻ ക്രമീകരണം"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
"പങ്കിടുക"
"സ്ക്രീൻഷോട്ട്"
"വിഭജിക്കുക"
@@ -137,7 +155,8 @@
"ടാസ്ക്ബാർ എപ്പോഴും കാണിക്കൂ"
"നാവിഗേഷൻ മോഡ് മാറ്റുക"
"ടാസ്ക്ബാർ ഡിവൈഡർ"
- "ടാസ്ക്ബാർ ഓവർഫ്ലോ"
+
+
"മുകളിലേക്കോ ഇടത്തേക്കോ നീക്കുക"
"താഴേക്കോ വലത്തേക്കോ നീക്കുക"
"ആപ്പ് ഒരു ബബിളായി തുറക്കുക"
diff --git a/quickstep/res/values-mn/strings.xml b/quickstep/res/values-mn/strings.xml
index bc014a3a77..728e307fe4 100644
--- a/quickstep/res/values-mn/strings.xml
+++ b/quickstep/res/values-mn/strings.xml
@@ -28,6 +28,8 @@
"Сүүлийн үеийн зүйл алга"
"Апп ашиглалтын тохиргоо"
"Бүгдийг арилгах"
+
+
"Саяхны аппууд"
"%1$s, %2$s"
"< 1 минут"
@@ -93,6 +95,22 @@
"Та %1$s-г ашиглаж эхлэхэд бэлэн боллоо"
"Та төхөөрөмжөө ашиглаж эхлэхэд бэлэн байна"
"Системийн навигацын тохиргоо"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
"Хуваалцах"
"Дэлгэцийн агшин дарах"
"Хуваах"
@@ -137,7 +155,8 @@
"Ажлын хэсгийг үргэлж харуулах"
"Навигацын горимыг өөрчлөх"
"Ажлын хэсгийг хуваагч"
- "Ажлын хэсгийн урт цэс"
+
+
"Зүүн дээд хэсэг рүү зөөх"
"Баруун доод хэсэг рүү зөөх"
"Аппыг бөмбөлөг байдлаар нээх"
diff --git a/quickstep/res/values-mr/strings.xml b/quickstep/res/values-mr/strings.xml
index e578b7ddcf..19ee437c9c 100644
--- a/quickstep/res/values-mr/strings.xml
+++ b/quickstep/res/values-mr/strings.xml
@@ -28,6 +28,8 @@
"कोणतेही अलीकडील आयटम नाहीत"
"अॅप वापर सेटिंग्ज"
"सर्व साफ करा"
+
+
"अलीकडील अॅप्स"
"%1$s, %2$s"
"१मिहून कमी"
@@ -93,6 +95,22 @@
"तुम्ही तुमचे %1$s वापरण्यास सुरुवात करू शकता"
"तुम्ही तुमचे डिव्हाइस वापरण्यास सुरुवात करण्यासाठी तयार आहात"
"सिस्टीम नेव्हिगेशन सेटिंग्ज"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
"शेअर करा"
"स्क्रीनशॉट"
"स्प्लिट करा"
@@ -137,7 +155,8 @@
"नेहमी टास्कबार दाखवा"
"नेव्हिगेशन मोड बदला"
"टास्कबार विभाजक"
- "टास्कबार ओव्हरफ्लो"
+
+
"सर्वात वरती/डावीकडे हलवा"
"तळाशी/उजवीकडे हलवा"
"बबल म्हणून अॅप उघडा"
diff --git a/quickstep/res/values-ms/strings.xml b/quickstep/res/values-ms/strings.xml
index 18c198d9e2..d436c62728 100644
--- a/quickstep/res/values-ms/strings.xml
+++ b/quickstep/res/values-ms/strings.xml
@@ -28,6 +28,8 @@
"Tiada item terbaharu"
"Tetapan penggunaan apl"
"Kosongkan semua"
+
+
"Apl terbaharu"
"%1$s, %2$s"
"< 1 minit"
@@ -93,6 +95,22 @@
"Anda sudah sedia untuk mula menggunakan %1$s anda"
"Anda bersedia untuk menggunakan peranti anda"
"Tetapan navigasi sistem"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
"Kongsi"
"Tangkapan skrin"
"Pisah"
@@ -137,7 +155,8 @@
"Papar Bar Tugas selalu"
"Tukar mod navigasi"
"Pembahagi Bar Tugas"
- "Limpahan Bar Tugas"
+
+
"Alihkan ke atas/kiri"
"Alihkan ke bawah/kanan"
"Buka apl sebagai gelembung"
diff --git a/quickstep/res/values-my/strings.xml b/quickstep/res/values-my/strings.xml
index 69c12e1a35..2c065cfa97 100644
--- a/quickstep/res/values-my/strings.xml
+++ b/quickstep/res/values-my/strings.xml
@@ -28,6 +28,8 @@
"မကြာမီကဖွင့်ထားသည်များ မရှိပါ"
"အက်ပ်အသုံးပြုမှု ဆက်တင်များ"
"အားလုံးရှင်းရန်"
+
+
"မကြာသေးမီက အက်ပ်များ"
"%1$s၊ %2$s"
"< ၁ မိနစ်"
@@ -93,6 +95,22 @@
"%1$s စသုံးရန် အသင့်ဖြစ်ပါပြီ"
"သင့်စက်ကို စသုံးရန် အသင့်ဖြစ်ပါပြီ"
"စနစ် လမ်းညွှန် ဆက်တင်များ"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
"မျှဝေရန်"
"ဖန်သားပြင်ဓာတ်ပုံ"
"ခွဲရန်"
@@ -137,7 +155,8 @@
"Taskbar အမြဲပြရန်"
"ရွှေ့ကြည့်သည့်မုဒ် ပြောင်းရန်"
"လုပ်ဆောင်စရာဘား ပိုင်းခြားစနစ်"
- "Taskbar မီနူးအပို"
+
+
"အပေါ်/ဘယ်ဘက်သို့ ရွှေ့ရန်"
"အောက်ခြေ/ညာဘက်သို့ ရွှေ့ရန်"
"အက်ပ်ကို ပူဖောင်းကွက်အဖြစ် ဖွင့်ရန်"
diff --git a/quickstep/res/values-nb/strings.xml b/quickstep/res/values-nb/strings.xml
index 0ad5a89064..4b54b3cd3a 100644
--- a/quickstep/res/values-nb/strings.xml
+++ b/quickstep/res/values-nb/strings.xml
@@ -28,6 +28,8 @@
"Ingen nylige elementer"
"Innstillinger for appbruk"
"Fjern alt"
+
+
"Nylige apper"
"%1$s, %2$s"
"< 1 minutt"
@@ -93,6 +95,22 @@
"Nå kan du bruke %1$s"
"Nå kan du bruke enheten"
"Innstillinger for systemnavigasjon"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
"Del"
"Skjermbilde"
"Del opp"
@@ -137,7 +155,8 @@
"Vis alltid oppgavelinjen"
"Endre navigasjonsmodus"
"Skille for oppgavelinjen"
- "Overflyt for oppgavelinjen"
+
+
"Flytt til øverst/venstre"
"Flytt til nederst/høyre"
"Åpne appen som en boble"
diff --git a/quickstep/res/values-ne/strings.xml b/quickstep/res/values-ne/strings.xml
index 002c75c694..2571621425 100644
--- a/quickstep/res/values-ne/strings.xml
+++ b/quickstep/res/values-ne/strings.xml
@@ -28,6 +28,8 @@
"हालसालैको कुनै पनि सामग्री छैन"
"एपको उपयोगका सेटिङहरू"
"सबै मेटाउनुहोस्"
+
+
"हालसालैका एपहरू"
"%1$s, %2$s"
"< १ मिनेट"
@@ -93,6 +95,22 @@
"तपाईं अब आफ्नो %1$s चलाउन थाल्न सक्नुहुन्छ"
"तपाईं अब आफ्नो डिभाइस प्रयोग गर्न थाल्न सक्नुहुन्छ"
"सिस्टम नेभिगेसनसम्बन्धी सेटिङ"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
"सेयर गर्नुहोस्"
"स्क्रिनसट"
"स्प्लिट गर्नुहोस्"
@@ -137,7 +155,8 @@
"टास्कबार सधैँ देखाउनुहोस्"
"नेभिगेसन मोड बदल्नुहोस्"
"टास्कबार डिभाइडर"
- "टास्कबार ओभरफ्लो"
+
+
"सिरान/बायाँतिर सार्नुहोस्"
"फेद/दायाँतिर सार्नुहोस्"
"एपलाई बबलका रूपमा खोल्नुहोस्"
diff --git a/quickstep/res/values-nl/strings.xml b/quickstep/res/values-nl/strings.xml
index e8a9fd7e91..1d97ad23a0 100644
--- a/quickstep/res/values-nl/strings.xml
+++ b/quickstep/res/values-nl/strings.xml
@@ -28,6 +28,8 @@
"Geen recente items"
"Instellingen voor app-gebruik"
"Alles wissen"
+
+
"Recente apps"
"%1$s, %2$s"
"< 1 minuut"
@@ -93,6 +95,22 @@
"Je bent klaar om je %1$s te gebruiken"
"Je bent klaar om je apparaat te gebruiken"
"Navigatie-instellingen van systeem"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
"Delen"
"Screenshot"
"Splitsen"
@@ -137,7 +155,8 @@
"Taakbalk altijd tonen"
"Navigatiemodus wijzigen"
"Scheiding voor Taakbalk"
- "Taakbalkoverloop"
+
+
"Naar boven/links verplaatsen"
"Naar beneden/rechts verplaatsen"
"App openen als ballon"
diff --git a/quickstep/res/values-or/strings.xml b/quickstep/res/values-or/strings.xml
index a031f88e77..7b805f1496 100644
--- a/quickstep/res/values-or/strings.xml
+++ b/quickstep/res/values-or/strings.xml
@@ -28,6 +28,8 @@
"ବର୍ତ୍ତମାନର କୌଣସି ଆଇଟମ ନାହିଁ"
"ଆପ ବ୍ୟବହାର ସେଟିଂସ"
"ସବୁ ଖାଲି କରନ୍ତୁ"
+
+
"ବର୍ତ୍ତମାନର ଆପ୍"
"%1$s %2$s"
"< 1 ମିନିଟ୍"
@@ -93,6 +95,22 @@
"ଆପଣ ଆପଣଙ୍କ %1$s ବ୍ୟବହାର କରିବା ଆରମ୍ଭ କରିବାକୁ ପ୍ରସ୍ତୁତ ଅଛନ୍ତି"
"ଆପଣ ଆପଣଙ୍କ ଡିଭାଇସ ବ୍ୟବହାର କରିବା ଆରମ୍ଭ କରିବାକୁ ପ୍ରସ୍ତୁତ ଅଛନ୍ତି"
"ସିଷ୍ଟମ ନାଭିଗେସନ ସେଟିଂସ"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
"ସେୟାର୍ କରନ୍ତୁ"
"ସ୍କ୍ରିନସଟ୍"
"ସ୍ପ୍ଲିଟ୍"
@@ -137,7 +155,8 @@
"ସର୍ବଦା ଟାସ୍କବାର ଦେଖାନ୍ତୁ"
"ନାଭିଗେସନ ମୋଡ ପରିବର୍ତ୍ତନ କରନ୍ତୁ"
"ଟାସ୍କବାର ଡିଭାଇଡର"
- "ଟାସ୍କବାର ଓଭରଫ୍ଲୋ"
+
+
"ଶୀର୍ଷ/ବାମକୁ ମୁଭ କରନ୍ତୁ"
"ନିମ୍ନ/ଡାହାଣକୁ ମୁଭ କରନ୍ତୁ"
"ଏକ ବବଲ ଭାବେ ଆପ ଖୋଲନ୍ତୁ"
diff --git a/quickstep/res/values-pa/strings.xml b/quickstep/res/values-pa/strings.xml
index 27e6705356..d332e0bf9d 100644
--- a/quickstep/res/values-pa/strings.xml
+++ b/quickstep/res/values-pa/strings.xml
@@ -28,6 +28,8 @@
"ਕੋਈ ਹਾਲੀਆ ਆਈਟਮ ਨਹੀਂ"
"ਐਪ ਵਰਤੋਂ ਦੀਆਂ ਸੈਟਿੰਗਾਂ"
"ਸਭ ਕਲੀਅਰ ਕਰੋ"
+
+
"ਹਾਲੀਆ ਐਪਾਂ"
"%1$s, %2$s"
"< 1 ਮਿੰਟ"
@@ -93,6 +95,22 @@
"ਹੁਣ ਤੁਹਾਡਾ %1$s ਵਰਤੋਂ ਲਈ ਤਿਆਰ ਹੈ"
"ਤੁਸੀਂ ਆਪਣਾ ਡੀਵਾਈਸ ਵਰਤਣ ਲਈ ਤਿਆਰ ਹੋ"
"ਸਿਸਟਮ ਨੈਵੀਗੇਸ਼ਨ ਸੈਟਿੰਗਾਂ"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
"ਸਾਂਝਾ ਕਰੋ"
"ਸਕ੍ਰੀਨਸ਼ਾਟ"
"ਸਪਲਿਟ"
@@ -137,7 +155,8 @@
"ਹਮੇਸ਼ਾਂ ਟਾਸਕਬਾਰ ਦਿਖਾਓ"
"ਨੈਵੀਗੇਸ਼ਨ ਮੋਡ ਬਦਲੋ"
"ਟਾਸਕਬਾਰ ਵਿਭਾਜਕ"
- "ਟਾਸਕਬਾਰ ਓਵਰਫ਼ਲੋ"
+
+
"ਸਿਖਰਲੇ/ਖੱਬੇ ਪਾਸੇ ਲੈ ਕੇ ਜਾਓ"
"ਹੇਠਾਂ/ਸੱਜੇ ਪਾਸੇ ਲੈ ਕੇ ਜਾਓ"
"ਐਪ ਨੂੰ ਬਬਲ ਵਜੋਂ ਖੋਲ੍ਹੋ"
diff --git a/quickstep/res/values-pl/strings.xml b/quickstep/res/values-pl/strings.xml
index 1fc820e330..c207e54bbc 100644
--- a/quickstep/res/values-pl/strings.xml
+++ b/quickstep/res/values-pl/strings.xml
@@ -28,6 +28,8 @@
"Brak ostatnich elementów"
"Ustawienia użycia aplikacji"
"Wyczyść wszystko"
+
+
"Ostatnie aplikacje"
"%1$s, %2$s"
"> 1 min"
@@ -88,11 +90,27 @@
"Super!"
"Samouczek %1$d/%2$d"
"Wszystko gotowe"
- "Aby przejść na stronę główną, przesuń w górę"
+ "Aby przejść na ekran główny, przesuń w górę"
"Kliknij przycisk ekranu głównego, aby otworzyć ekran główny"
"%1$s jest gotowe – możesz zacząć z niego korzystać"
"Wszystko gotowe – możesz zacząć korzystać z urządzenia"
"Ustawienia nawigacji w systemie"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
"Udostępnij"
"Zrzut ekranu"
"Podziel"
@@ -137,7 +155,8 @@
"Zawsze pokazuj pasek aplikacji"
"Zmień tryb nawigacji"
"Linia dzielenia paska aplikacji"
- "Rozwijany pasek aplikacji"
+
+
"Przesuń w górny lewy róg"
"Przesuń w dolny prawy róg"
"Otwórz aplikację jako dymek"
diff --git a/quickstep/res/values-pt-rPT/strings.xml b/quickstep/res/values-pt-rPT/strings.xml
index 91729b5954..f254457416 100644
--- a/quickstep/res/values-pt-rPT/strings.xml
+++ b/quickstep/res/values-pt-rPT/strings.xml
@@ -28,6 +28,8 @@
"Nenhum item recente"
"Definições de utilização de aplicações"
"Limpar tudo"
+
+
"Apps recentes"
"%1$s, %2$s"
"< 1 minuto"
@@ -93,6 +95,22 @@
"Já pode começar a usar o seu %1$s"
"Já pode começar a usar o seu dispositivo"
"Definições de navegação do sistema"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
"Partilhar"
"Captura de ecrã"
"Dividir"
@@ -137,7 +155,8 @@
"Ver sempre Barra de tarefas"
"Alterar modo de navegação"
"Divisor da Barra de tarefas"
- "Menu adicional da Barra de tarefas"
+
+
"Mover para a parte superior esquerda"
"Mover para a part superior direita"
"Abrir app como um balão"
diff --git a/quickstep/res/values-pt/strings.xml b/quickstep/res/values-pt/strings.xml
index 6948a8c688..eb1695a077 100644
--- a/quickstep/res/values-pt/strings.xml
+++ b/quickstep/res/values-pt/strings.xml
@@ -28,6 +28,8 @@
"Nenhum item recente"
"Configurações de uso do app"
"Remover tudo"
+
+
"Apps recentes"
"%1$s, %2$s"
"< 1 min"
@@ -93,6 +95,22 @@
"O %1$s já pode ser usado"
"Você já pode começar a usar o dispositivo"
"Configurações de navegação do sistema"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
"Compartilhar"
"Capturar tela"
"Dividir"
@@ -137,7 +155,8 @@
"Sempre mostrar a Barra de tarefas"
"Mudar o modo de navegação"
"Separador da Barra de tarefas"
- "Barra de tarefas flutuante"
+
+
"Mover para cima/para a esquerda"
"Mover para baixo/para a direita"
"Abrir o app como um balão"
diff --git a/quickstep/res/values-ro/strings.xml b/quickstep/res/values-ro/strings.xml
index 866ce04758..350d913398 100644
--- a/quickstep/res/values-ro/strings.xml
+++ b/quickstep/res/values-ro/strings.xml
@@ -28,6 +28,8 @@
"Niciun element recent"
"Setări de utilizare a aplicației"
"Șterge tot"
+
+
"Aplicații recente"
"%1$s, %2$s"
"< 1 minut"
@@ -93,6 +95,22 @@
"Ești gata să folosești %1$s"
"Ești gata să folosești dispozitivul"
"Setările de navigare ale sistemului"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
"Distribuie"
"Captură de ecran"
"Împărțit"
@@ -137,7 +155,8 @@
"Afișează mereu bara"
"Schimbă modul de navigare"
"Separator pentru bara de activități"
- "Meniu suplimentar pentru bara de activități"
+
+
"Mută în stânga sus"
"Mută în dreapta jos"
"Deschide aplicația ca balon"
diff --git a/quickstep/res/values-ru/strings.xml b/quickstep/res/values-ru/strings.xml
index 228ad0f854..6673683969 100644
--- a/quickstep/res/values-ru/strings.xml
+++ b/quickstep/res/values-ru/strings.xml
@@ -28,6 +28,8 @@
"Здесь пока ничего нет."
"Настройки использования приложения"
"Очистить все"
+
+
"Недавние приложения"
"%1$s: %2$s"
"< 1 мин."
@@ -93,6 +95,22 @@
"Теперь вы можете использовать %1$s."
"Теперь устройство можно использовать."
"Настройки навигации в системе"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
"Поделиться"
"Скриншот"
"Разделить"
@@ -137,7 +155,8 @@
"Всегда показывать панель задач"
"Изменить режим навигации"
"Разделитель панели задач"
- "Дополнительное меню панели задач"
+
+
"Переместить вверх или влево"
"Переместить вниз или вправо"
"Открыть приложение во всплывающем окне"
diff --git a/quickstep/res/values-si/strings.xml b/quickstep/res/values-si/strings.xml
index 607648ecab..03f31f9994 100644
--- a/quickstep/res/values-si/strings.xml
+++ b/quickstep/res/values-si/strings.xml
@@ -28,6 +28,8 @@
"මෑත අයිතම නැත"
"යෙදුම් භාවිත සැකසීම්"
"සියල්ල හිස් කරන්න"
+
+
"මෑත යෙදුම්"
"%1$s, %2$s"
"< 1 විනාඩියක්"
@@ -93,6 +95,22 @@
"ඔබ ඔබේ %1$s භාවිත කිරීම පටන් ගැනීමට සූදානම්"
"ඔබ ඔබේ උපාංගය භාවිත කිරීම පටන් ගැනීමට සූදානම්"
"පද්ධති සංචාලන සැකසීම්"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
"බෙදා ගන්න"
"තිර රුව"
"බෙදන්න"
@@ -137,7 +155,8 @@
"සෑම විටම කාර්ය තීරුව පෙන්වන්න"
"සංචාලන ප්රකාරය වෙනස් කරන්න"
"කාර්ය තීරු බෙදනය"
- "කාර්ය තීරුව පිටාර යාම"
+
+
"ඉහළ/වම වෙත ගෙන යන්න"
"පහළ/දකුණ වෙත ගෙන යන්න"
"යෙදුම බුබුලක් ලෙස විවෘත කරන්න"
diff --git a/quickstep/res/values-sk/strings.xml b/quickstep/res/values-sk/strings.xml
index 94c59b78d0..69bad6f248 100644
--- a/quickstep/res/values-sk/strings.xml
+++ b/quickstep/res/values-sk/strings.xml
@@ -28,6 +28,8 @@
"Žiadne nedávne položky"
"Nastavenia využívania aplikácie"
"Vymazať všetko"
+
+
"Nedávne aplikácie"
"%1$s, %2$s"
"Menej ako 1 minúta"
@@ -93,6 +95,22 @@
"Môžete %1$s začať používať"
"Zariadenie môžete začať používať"
"Nastavenia navigácie systémom"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
"Zdieľať"
"Snímka obrazovky"
"Rozdeliť"
@@ -137,7 +155,8 @@
"Zobrazovať panel aplikácií"
"Zmeniť režim navigácie"
"Rozdeľovač panela aplikácií"
- "Rozšírená ponuka panela aplikácií"
+
+
"Presunúť hore alebo doľava"
"Presunúť dole alebo doprava"
"Otvoriť aplikáciu ako bublinu"
diff --git a/quickstep/res/values-sl/strings.xml b/quickstep/res/values-sl/strings.xml
index ff752a423a..ea94f93a74 100644
--- a/quickstep/res/values-sl/strings.xml
+++ b/quickstep/res/values-sl/strings.xml
@@ -28,6 +28,8 @@
"Ni nedavnih elementov"
"Nastavitve uporabe aplikacij"
"Počisti vse"
+
+
"Nedavne aplikacije"
"%1$s, %2$s"
"< 1 min"
@@ -93,6 +95,22 @@
"Pripravljeni ste, da začnete uporabljati %1$s"
"Pripravljeni ste, da začnete uporabljati napravo"
"Nastavitve krmarjenja po sistemu"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
"Deli"
"Posnetek zaslona"
"Razdeli"
@@ -137,7 +155,8 @@
"Stalen prikaz oprav. vrstice"
"Spreminjanje načina navigacije"
"Razdelilnik opravilne vrstice"
- "Oblaček opravilne vrstice z dodatnimi elementi"
+
+
"Premakni na vrh/levo"
"Premakni na dno/desno"
"Odpri aplikacijo kot oblaček"
diff --git a/quickstep/res/values-sq/strings.xml b/quickstep/res/values-sq/strings.xml
index 1749dac2e4..5875842526 100644
--- a/quickstep/res/values-sq/strings.xml
+++ b/quickstep/res/values-sq/strings.xml
@@ -28,6 +28,8 @@
"Nuk ka asnjë artikull të fundit"
"Cilësimet e përdorimit të aplikacionit"
"Pastroji të gjitha"
+
+
"Aplikacionet e fundit"
"%1$s, %2$s"
"< 1 minutë"
@@ -93,6 +95,22 @@
"Je gati që të fillosh ta përdorësh këtë %1$s"
"Je gati që të fillosh të përdorësh pajisjen tënde"
"Cilësimet e navigimit të sistemit"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
"Ndaj"
"Pamja e ekranit"
"Ndaj"
@@ -137,7 +155,8 @@
"Shfaq gjithmonë shiritin e detyrave"
"Ndrysho modalitetin e navigimit"
"Ndarësi i shiritit të detyrave"
- "Tejkalimi i shiritit të detyrave"
+
+
"Lëviz në krye/majtas"
"Lëviz në fund/djathtas"
"Hap aplikacionin si një flluskë"
diff --git a/quickstep/res/values-sr/strings.xml b/quickstep/res/values-sr/strings.xml
index d8f95486ae..b714512217 100644
--- a/quickstep/res/values-sr/strings.xml
+++ b/quickstep/res/values-sr/strings.xml
@@ -28,6 +28,8 @@
"Нема недавних ставки"
"Подешавања коришћења апликације"
"Обриши све"
+
+
"Недавне апликације"
"%1$s, %2$s"
"< 1 мин"
@@ -93,6 +95,22 @@
"Спремни сте да почнете да користите %1$s"
"Спремни сте да почнете да користите уређај"
"Подешавања кретања кроз систем"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
"Дели"
"Снимак екрана"
"Подели"
@@ -137,7 +155,8 @@
"Увек приказуј траку задатака"
"Промени режим навигације"
"Разделник траке задатака"
- "Преклопна трака задатака"
+
+
"Премести горе лево"
"Премести доле десно"
"Отвори апликацију као облачић"
diff --git a/quickstep/res/values-sv/strings.xml b/quickstep/res/values-sv/strings.xml
index 6419df313a..a2aa230253 100644
--- a/quickstep/res/values-sv/strings.xml
+++ b/quickstep/res/values-sv/strings.xml
@@ -28,6 +28,8 @@
"Listan är tom"
"Inställningar för appanvändning"
"Rensa alla"
+
+
"Senaste apparna"
"%1$s, %2$s"
"< 1 min"
@@ -93,6 +95,22 @@
"Nu kan du börja använda din %1$s"
"Nu kan du börja använda din enhet"
"Systemnavigeringsinställningar"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
"Dela"
"Skärmbild"
"Delad skärm"
@@ -137,7 +155,8 @@
"Visa alltid aktivitetsfältet"
"Ändra navigeringsläge"
"Avdelare för aktivitetsfältet"
- "Fler alternativ för aktivitetsfältet"
+
+
"Flytta högst upp/till vänster"
"Flytta längst ned/till höger"
"Öppna appen som en bubbla"
diff --git a/quickstep/res/values-sw/strings.xml b/quickstep/res/values-sw/strings.xml
index 4d6af2a4f9..7df964d14d 100644
--- a/quickstep/res/values-sw/strings.xml
+++ b/quickstep/res/values-sw/strings.xml
@@ -28,6 +28,8 @@
"Hakuna vipengee vya hivi karibuni"
"Mipangilio ya matumizi ya programu"
"Ondoa zote"
+
+
"Programu za hivi karibuni"
"%1$s, %2$s"
"< dak 1"
@@ -93,6 +95,22 @@
"Uko tayari kuanza kutumia %1$s"
"Uko tayari kuanza kutumia kifaa chako"
"Mipangilio ya usogezaji kwenye mfumo"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
"Shiriki"
"Picha ya skrini"
"Iliyogawanywa"
@@ -137,7 +155,8 @@
"Onyesha Zana kila wakati"
"Badilisha hali ya usogezaji"
"Kitenganishi cha Upauzana"
- "Upauzana wa Vipengele vya Ziada"
+
+
"Sogeza juu/kushoto"
"Sogeza chini/kulia"
"Fungua programu kama kiputo"
diff --git a/quickstep/res/values-ta/strings.xml b/quickstep/res/values-ta/strings.xml
index 53c18a8373..c765b004f9 100644
--- a/quickstep/res/values-ta/strings.xml
+++ b/quickstep/res/values-ta/strings.xml
@@ -28,6 +28,8 @@
"சமீபத்தியவை எதுவுமில்லை"
"ஆப்ஸ் உபயோக அமைப்புகள்"
"எல்லாம் அழி"
+
+
"சமீபத்திய ஆப்ஸ்"
"%1$s, %2$s"
"< 1 நி"
@@ -93,6 +95,22 @@
"உங்கள் %1$s உங்களுக்காகத் தயாராக இருக்கிறது"
"உங்கள் சாதனத்தைப் பயன்படுத்தத் தயாராகிவிட்டீர்கள்"
"சிஸ்டம் வழிசெலுத்தல் அமைப்புகள்"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
"பகிர்"
"ஸ்கிரீன்ஷாட்"
"பிரி"
@@ -137,7 +155,8 @@
"செயல் பட்டியை எப்போதும் காட்டு"
"வழிசெலுத்தல் பயன்முறையை மாற்று"
"செயல் பட்டிப் பிரிப்பான்"
- "செயல் பட்டிக்கான கூடுதல் விருப்பங்கள்"
+
+
"மேலே/இடதுபுறம் நகர்த்தும்"
"கீழே/வலதுபுறம் நகர்த்தும்"
"ஆப்ஸைக் குமிழாகத் திற"
diff --git a/quickstep/res/values-te/strings.xml b/quickstep/res/values-te/strings.xml
index 1530795ab7..32188157d4 100644
--- a/quickstep/res/values-te/strings.xml
+++ b/quickstep/res/values-te/strings.xml
@@ -28,6 +28,8 @@
"ఇటీవలి ఐటెమ్లు ఏవీ లేవు"
"యాప్ వినియోగ సెట్టింగ్లు"
"అన్నీ క్లియర్ చేయండి"
+
+
"ఇటీవలి యాప్లు"
"%1$s, %2$s"
"< 1 నిమిషం"
@@ -93,6 +95,22 @@
"మీరు ఇప్పుడు మీ %1$sను ఉపయోగించడం ప్రారంభించవచ్చు"
"మీరు ఇప్పుడు మీ డివైజ్ను ఉపయోగించడానికి సిద్ధంగా ఉన్నారు"
"సిస్టమ్ నావిగేషన్ సెట్టింగ్లు"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
"షేర్ చేయండి"
"స్క్రీన్షాట్"
"స్ప్లిట్ చేయండి"
@@ -137,7 +155,8 @@
"టాస్క్బార్ను నిరంతరం చూపండి"
"నావిగేషన్ మోడ్ను మార్చండి"
"టాస్క్బార్ డివైడర్"
- "టాస్క్బార్ ఓవర్ఫ్లో"
+
+
"ఎగువ/ఎడమ వైపునకు తరలించండి"
"దిగువ/కుడి వైపునకు తరలించండి"
"యాప్ను బబుల్లాగా తెరవండి"
diff --git a/quickstep/res/values-th/strings.xml b/quickstep/res/values-th/strings.xml
index 5c68c60ddb..6ffbbdfb2a 100644
--- a/quickstep/res/values-th/strings.xml
+++ b/quickstep/res/values-th/strings.xml
@@ -28,6 +28,8 @@
"ไม่มีรายการล่าสุด"
"การตั้งค่าการใช้แอป"
"ล้างทั้งหมด"
+
+
"แอปล่าสุด"
"%1$s %2$s"
"<1 นาที"
@@ -93,6 +95,22 @@
"คุณเริ่มใช้%1$sได้แล้ว"
"คุณเริ่มใช้อุปกรณ์ได้แล้ว"
"การตั้งค่าการไปยังส่วนต่างๆ ของระบบ"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
"แชร์"
"ภาพหน้าจอ"
"แยก"
@@ -137,7 +155,8 @@
"แสดงแถบงานเสมอ"
"เปลี่ยนโหมดการนําทาง"
"ตัวแบ่งแถบงาน"
- "การดำเนินการเพิ่มเติมของแถบงาน"
+
+
"ย้ายไปที่ด้านบนหรือด้านซ้าย"
"ย้ายไปที่ด้านล่างหรือด้านขวา"
"เปิดแอปเป็นบับเบิล"
diff --git a/quickstep/res/values-tl/strings.xml b/quickstep/res/values-tl/strings.xml
index 89d42dcc8c..15de6a7db6 100644
--- a/quickstep/res/values-tl/strings.xml
+++ b/quickstep/res/values-tl/strings.xml
@@ -28,6 +28,8 @@
"Walang kamakailang item"
"Mga setting ng paggamit ng app"
"I-clear lahat"
+
+
"Mga kamakailang app"
"%1$s, %2$s"
"< 1 min"
@@ -93,6 +95,22 @@
"Handa mo nang simulan ang paggamit sa iyong %1$s"
"Handa ka nang simulang gamitin ang iyong device"
"Mga setting ng navigation ng system"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
"Ibahagi"
"Screenshot"
"Split"
@@ -137,7 +155,8 @@
"Ipakita lagi ang Taskbar"
"Magpalit ng navigation mode"
"Divider ng Taskbar"
- "Taskbar Overflow"
+
+
"Ilipat sa itaas/kaliwa"
"Ilipat sa ibaba/kanan"
"Buksan ang app bilang bubble"
diff --git a/quickstep/res/values-tr/strings.xml b/quickstep/res/values-tr/strings.xml
index c36495fd8e..38c754b4be 100644
--- a/quickstep/res/values-tr/strings.xml
+++ b/quickstep/res/values-tr/strings.xml
@@ -28,6 +28,8 @@
"Yeni öğe yok"
"Uygulama kullanım ayarları"
"Tümünü temizle"
+
+
"Son uygulamalar"
"%1$s, %2$s"
"< 1 dk."
@@ -91,8 +93,24 @@
"Ana ekrana gitmek için yukarı kaydırın"
"Ana ekranınıza gitmek için ana sayfa düğmesine dokunun"
"Artık %1$s kullanılmak için hazır"
- "Cihazınız kullanılmaya hazır"
+ "Cihazınız kullanıma hazır"
"Sistem gezinme ayarları"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
"Paylaş"
"Ekran görüntüsü"
"Böl"
@@ -137,7 +155,8 @@
"Görev çubuğunu daima göster"
"Gezinme modunu değiştir"
"Görev Çubuğu Ayırıcısı"
- "Görev Çubuğu Taşması"
+
+
"Sol üste taşı"
"Sağ alta taşı"
"Uygulamayı balon olarak aç"
diff --git a/quickstep/res/values-uk/strings.xml b/quickstep/res/values-uk/strings.xml
index 6f4562dede..a905e95771 100644
--- a/quickstep/res/values-uk/strings.xml
+++ b/quickstep/res/values-uk/strings.xml
@@ -28,6 +28,8 @@
"Немає нещодавніх додатків"
"Налаштування використання додатка"
"Очистити все"
+
+
"Нещодавні додатки"
"%1$s, %2$s"
"< 1 хв"
@@ -93,6 +95,22 @@
"Тепер ви можете використовувати %1$s"
"Тепер ви можете користуватися пристроєм"
"Налаштування навігації в системі"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
"Поділитися"
"Знімок екрана"
"Розділити"
@@ -137,7 +155,8 @@
"Завжди показув. панель завдань"
"Змінити режим навігації"
"Розділювач панелі завдань"
- "Додаткове меню панелі завдань"
+
+
"Перемістити вгору або вліво"
"Перемістити вниз або вправо"
"Відкрити додаток у спливаючому вікні"
diff --git a/quickstep/res/values-ur/strings.xml b/quickstep/res/values-ur/strings.xml
index cbccd4a5b0..ab483fd49f 100644
--- a/quickstep/res/values-ur/strings.xml
+++ b/quickstep/res/values-ur/strings.xml
@@ -28,6 +28,8 @@
"کوئی حالیہ آئٹم نہیں"
"ایپ کے استعمال کی ترتیبات"
"سبھی کو صاف کریں"
+
+
"حالیہ ایپس"
"%1$s،%2$s"
"< 1 منٹ"
@@ -93,6 +95,22 @@
"آپ اپنے %1$s کا استعمال شروع کرنے کے لیے تیار ہیں"
"آپ اپنے آلے کا استعمال شروع کرنے کے لیے تیار ہیں"
"سسٹم نیویگیشن کی ترتیبات"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
"اشتراک کریں"
"اسکرین شاٹ"
"اسپلٹ"
@@ -137,7 +155,8 @@
"ہمیشہ ٹاسک بار دکھائیں"
"نیویگیشن موڈ تبدیل کریں"
"ٹاسک بار ڈیوائیڈر"
- "ٹاسک بار اوورفلو"
+
+
"اوپر/بائیں طرف منتقل کریں"
"نیچے/دائیں طرف منتقل کریں"
"ایپ کو بطور ببل کھولیں"
diff --git a/quickstep/res/values-uz/strings.xml b/quickstep/res/values-uz/strings.xml
index 36676cb760..cb36893a0a 100644
--- a/quickstep/res/values-uz/strings.xml
+++ b/quickstep/res/values-uz/strings.xml
@@ -28,6 +28,8 @@
"Yaqinda ishlatilgan ilovalar yo‘q"
"Ilovadan foydalanish sozlamalari"
"Hammasini tozalash"
+
+
"Oxirgi ilovalar"
"%1$s, %2$s"
"< 1 daqiqa"
@@ -93,6 +95,22 @@
"Sizning %1$s xizmatga tayyor"
"Qurilmangiz xizmatga tayyor"
"Tizim navigatsiya sozlamalari"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
"Ulashish"
"Skrinshot"
"Ajratish"
@@ -137,7 +155,8 @@
"Vazifalar paneli doim chiqarilsin"
"Navigatsiya rejimini oʻzgartirish"
"Vazifalar panelini ajratkich"
- "Vazifalar panelini kengaytirish"
+
+
"Yuqoriga yoki chapga oʻtkazish"
"Pastga yoki oʻngga oʻtkazish"
"Ilovani qalqib chiquvchi oynada ochish"
diff --git a/quickstep/res/values-vi/strings.xml b/quickstep/res/values-vi/strings.xml
index 6dbd2503eb..ec051fe453 100644
--- a/quickstep/res/values-vi/strings.xml
+++ b/quickstep/res/values-vi/strings.xml
@@ -28,6 +28,8 @@
"Không có mục gần đây nào"
"Cài đặt mức sử dụng ứng dụng"
"Xóa tất cả"
+
+
"Ứng dụng gần đây"
"%1$s, %2$s"
"< 1 phút"
@@ -47,9 +49,9 @@
"Đã bật tính năng Ứng dụng đề xuất"
"Tính năng Ứng dụng đề xuất bị tắt"
"Ứng dụng dự đoán: %1$s"
- "Hướng dẫn thực hiện thao tác bằng cử chỉ"
+ "Hướng dẫn thực hiện điều hướng bằng cử chỉ"
"Xoay thiết bị của bạn"
- "Vui lòng xoay thiết bị của bạn để hoàn tất hướng dẫn thao tác bằng cử chỉ"
+ "Vui lòng xoay thiết bị của bạn để hoàn tất hướng dẫn điều hướng bằng cử chỉ"
"Hãy vuốt từ mép ngoài cùng bên phải hoặc ngoài cùng bên trái"
"Hãy vuốt từ mép phải hoặc mép trái tới giữa màn hình rồi nhấc ngón tay ra"
"Bạn đã học được cách vuốt từ mép phải để quay lại. Tiếp theo, hãy tìm hiểu cách chuyển đổi ứng dụng."
@@ -92,7 +94,23 @@
"Nhấn vào nút màn hình chính để chuyển đến màn hình chính"
"Bạn có thể bắt đầu sử dụng %1$s"
"Bạn có thể bắt đầu sử dụng thiết bị của mình"
- "Cài đặt cách thao tác trên hệ thống"
+ "Cài đặt cách điều hướng trên hệ thống"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
"Chia sẻ"
"Chụp ảnh màn hình"
"Chia đôi màn hình"
@@ -137,7 +155,8 @@
"Luôn hiện Thanh tác vụ"
"Thay đổi chế độ điều hướng"
"Đường phân chia Taskbar"
- "Trình đơn mục bổ sung trên thanh tác vụ"
+
+
"Chuyển lên trên cùng/sang bên trái"
"Chuyển xuống dưới cùng/sang bên phải"
"Mở ứng dụng dưới dạng bong bóng"
diff --git a/quickstep/res/values-zh-rCN/strings.xml b/quickstep/res/values-zh-rCN/strings.xml
index defeedfda0..13489ee6e4 100644
--- a/quickstep/res/values-zh-rCN/strings.xml
+++ b/quickstep/res/values-zh-rCN/strings.xml
@@ -28,6 +28,8 @@
"近期没有任何内容"
"应用使用设置"
"全部清除"
+
+
"最近用过的应用"
"%1$s(%2$s)"
"不到 1 分钟"
@@ -93,6 +95,22 @@
"您可以开始使用%1$s了"
"您可以开始使用自己的设备了"
"系统导航设置"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
"分享"
"屏幕截图"
"分屏"
@@ -137,7 +155,8 @@
"始终显示任务栏"
"更改导航模式"
"任务栏分隔线"
- "任务栏溢出图标"
+
+
"移到顶部/左侧"
"移到底部/右侧"
"以气泡的形式打开应用"
diff --git a/quickstep/res/values-zh-rHK/strings.xml b/quickstep/res/values-zh-rHK/strings.xml
index 132aa199a5..cbe98e1970 100644
--- a/quickstep/res/values-zh-rHK/strings.xml
+++ b/quickstep/res/values-zh-rHK/strings.xml
@@ -28,6 +28,8 @@
"最近沒有任何項目"
"應用程式使用情況設定"
"全部清除"
+
+
"最近使用的應用程式"
"%1$s,%2$s"
"少於 1 分鐘"
@@ -93,6 +95,22 @@
"你可以開始使用%1$s了"
"你現在可以開始使用裝置"
"系統導覽設定"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
"分享"
"螢幕截圖"
"分割"
@@ -137,7 +155,8 @@
"一律顯示工作列"
"變更導覽模式"
"工作列分隔線"
- "工作列溢位"
+
+
"移至上方/左側"
"移至底部/右側"
"在小視窗開啟應用程式"
diff --git a/quickstep/res/values-zh-rTW/strings.xml b/quickstep/res/values-zh-rTW/strings.xml
index 140720cec6..930139b81b 100644
--- a/quickstep/res/values-zh-rTW/strings.xml
+++ b/quickstep/res/values-zh-rTW/strings.xml
@@ -28,6 +28,8 @@
"最近沒有任何項目"
"應用程式使用情況設定"
"全部清除"
+
+
"最近使用的應用程式"
"%1$s (%2$s)"
"< 1 分鐘"
@@ -93,6 +95,22 @@
"你可以開始使用「%1$s」了"
"你可以開始使用裝置了"
"系統操作機制設定"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
"分享"
"螢幕截圖"
"分割"
@@ -137,7 +155,8 @@
"一律顯示工作列"
"變更操作模式"
"工作列分隔線"
- "工作列溢位"
+
+
"移到上方/左側"
"移到底部/右側"
"以泡泡形式開啟應用程式"
diff --git a/quickstep/res/values-zu/strings.xml b/quickstep/res/values-zu/strings.xml
index b62cfaeaf7..bc4191d3d9 100644
--- a/quickstep/res/values-zu/strings.xml
+++ b/quickstep/res/values-zu/strings.xml
@@ -28,6 +28,8 @@
"Azikho izinto zakamuva"
"Izilungiselelo zokusetshenziswa kohlelo lokusebenza"
"Sula konke"
+
+
"Izinhlelo zokusebenza zakamuva"
"%1$s, %2$s"
"< 1 iminithi"
@@ -93,6 +95,22 @@
"Usulungele ukuqala ukusebenzisa i-%1$s yakho"
"Usulungele ukuqala ukusebenzisa idivayisi yakho"
"Amasethingi wokuzulazula isistimu"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
"Yabelana"
"Isithombe-skrini"
"Hlukanisa"
@@ -137,7 +155,8 @@
"Bonisa i-Taskbar njalo."
"Shintsha imodi yokufuna"
"Isihlukanisi se-Taskbar"
- "Ukuphuphuma Kwetaskbar"
+
+
"Hamba phezulu/kwesokunxele"
"Hamba phansi/kwesokudla"
"Vula i-app njengebhamuza"
diff --git a/quickstep/src/com/android/launcher3/appprediction/AppsDividerView.java b/quickstep/src/com/android/launcher3/appprediction/AppsDividerView.java
index ea5d5a40b6..4404428f85 100644
--- a/quickstep/src/com/android/launcher3/appprediction/AppsDividerView.java
+++ b/quickstep/src/com/android/launcher3/appprediction/AppsDividerView.java
@@ -89,7 +89,7 @@ public class AppsDividerView extends View implements FloatingHeaderRow {
mStrokeColor = Flags.allAppsBlur()
? Themes.getAttrColor(context, R.attr.bottomSheetDragHandleColor)
: context.getColor(R.color.materialColorOutlineVariant);
- mAllAppsLabelTextColor = context.getColor(R.color.materialColorOnSurfaceVariant);
+ mAllAppsLabelTextColor = context.getColor(R.color.materialColorOnSurface);
mAccessibilityManager = AccessibilityManager.getInstance(context);
setShowAllAppsLabel(!ALL_APPS_VISITED_COUNT.hasReachedMax(context));
@@ -214,7 +214,8 @@ public class AppsDividerView extends View implements FloatingHeaderRow {
private Layout getAllAppsLabelLayout() {
if (mAllAppsLabelLayout == null) {
mPaint.setAntiAlias(true);
- mPaint.setTypeface(Typeface.create("google-sans", Typeface.NORMAL));
+ mPaint.setTypeface(Typeface.create(Flags.gsfRes() ? "variable-title-small"
+ : "google-sans", Typeface.NORMAL));
mPaint.setTextSize(
getResources().getDimensionPixelSize(R.dimen.all_apps_label_text_size));
diff --git a/quickstep/src/com/android/launcher3/taskbar/navbutton/SetupNavLayoutter.kt b/quickstep/src/com/android/launcher3/taskbar/navbutton/SetupNavLayoutter.kt
index f558122b3d..24998d4178 100644
--- a/quickstep/src/com/android/launcher3/taskbar/navbutton/SetupNavLayoutter.kt
+++ b/quickstep/src/com/android/launcher3/taskbar/navbutton/SetupNavLayoutter.kt
@@ -72,7 +72,7 @@ class SetupNavLayoutter(
val deviceProfile: DeviceProfile = context.deviceProfile
navButtonsLayoutParams.marginEnd = 0
- navButtonsLayoutParams.gravity = Gravity.START
+ navButtonsLayoutParams.gravity = Gravity.START or Gravity.CENTER_VERTICAL
context.setTaskbarWindowSize(context.setupWindowSize)
// If SUW is on a large screen device that is landscape (or has a square aspect
diff --git a/quickstep/src/com/android/quickstep/views/BlurUtils.kt b/quickstep/src/com/android/quickstep/views/BlurUtils.kt
index ad0f816d46..318a0437f3 100644
--- a/quickstep/src/com/android/quickstep/views/BlurUtils.kt
+++ b/quickstep/src/com/android/quickstep/views/BlurUtils.kt
@@ -54,16 +54,15 @@ class BlurUtils(private val recentsView: RecentsView<*, *>) {
private fun updateBlurLayer(drawingAboveRecents: Boolean = false) {
if (!enableOverviewBackgroundWallpaperBlur()) return
+ // Blurs behind lowest live tile surface that's below recents or Launcher if there
+ // are none.
recentsView.depthController?.setBaseSurfaceOverride(
- // Blurs behind lowest live tile surface that's below recents or Launcher if there
- // are none.
getLiveTileRemoteTargetHandles()
+ ?.asSequence()
?.filter { it.taskViewSimulator.drawsBelowRecents }
- ?.maxByOrNull { it.transformParams.targetSet.firstAppTarget.leash.layerId }
- ?.transformParams
- ?.targetSet
- ?.firstAppTarget
- ?.leash,
+ ?.flatMap { it.transformParams.targetSet.apps.asIterable() }
+ ?.map { it.leash }
+ ?.maxByOrNull { it.layerId },
/* applyOnDraw= */ drawingAboveRecents,
)
}
diff --git a/quickstep/tests/multivalentTests/src/com/android/quickstep/AbsSwipeUpHandlerTestCase.java b/quickstep/tests/multivalentTests/src/com/android/quickstep/AbsSwipeUpHandlerTestCase.java
index 40c1785096..ec49237e96 100644
--- a/quickstep/tests/multivalentTests/src/com/android/quickstep/AbsSwipeUpHandlerTestCase.java
+++ b/quickstep/tests/multivalentTests/src/com/android/quickstep/AbsSwipeUpHandlerTestCase.java
@@ -84,6 +84,7 @@ import com.android.wm.shell.shared.split.SplitBounds;
import com.google.android.msdl.data.model.MSDLToken;
import org.junit.Before;
+import org.junit.Ignore;
import org.junit.Rule;
import org.junit.Test;
import org.mockito.ArgumentCaptor;
@@ -370,6 +371,7 @@ public abstract class AbsSwipeUpHandlerTestCase<
}
@Test
+ @Ignore("b/418979038")
public void invalidateHandlerWithLauncher_runsGestureAnimationEndCallback() {
SWIPE_HANDLER handler = createSwipeHandler();
Runnable onGestureAnimationEndCallback = mock(Runnable.class);
diff --git a/quickstep/tests/multivalentTests/src/com/android/quickstep/TopTaskTrackerTest.kt b/quickstep/tests/multivalentTests/src/com/android/quickstep/TopTaskTrackerTest.kt
new file mode 100644
index 0000000000..060862791f
--- /dev/null
+++ b/quickstep/tests/multivalentTests/src/com/android/quickstep/TopTaskTrackerTest.kt
@@ -0,0 +1,212 @@
+/*
+ * 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.app.ActivityManager
+import android.app.TaskInfo
+import android.app.WindowConfiguration.ACTIVITY_TYPE_STANDARD
+import android.app.WindowConfiguration.WINDOWING_MODE_FREEFORM
+import android.app.WindowConfiguration.WINDOWING_MODE_FULLSCREEN
+import android.content.ComponentName
+import android.content.Context
+import android.content.Intent
+import android.content.res.Resources
+import android.platform.test.annotations.DisableFlags
+import android.platform.test.annotations.EnableFlags
+import android.platform.test.flag.junit.SetFlagsRule
+import android.view.Display.DEFAULT_DISPLAY
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import com.android.internal.R
+import com.android.launcher3.statehandlers.DesktopVisibilityController.Companion.INACTIVE_DESK_ID
+import com.android.window.flags.Flags.FLAG_ENABLE_MULTIPLE_DESKTOPS_BACKEND
+import com.android.window.flags.Flags.FLAG_ENABLE_MULTIPLE_DESKTOPS_FRONTEND
+import com.android.wm.shell.Flags.FLAG_ENABLE_SHELL_TOP_TASK_TRACKING
+import com.android.wm.shell.shared.GroupedTaskInfo
+import com.android.wm.shell.shared.GroupedTaskInfo.TYPE_DESK
+import com.android.wm.shell.shared.GroupedTaskInfo.TYPE_FULLSCREEN
+import com.android.wm.shell.shared.GroupedTaskInfo.TYPE_SPLIT
+import com.google.common.truth.Truth.assertThat
+import org.junit.Before
+import org.junit.Rule
+import org.junit.Test
+import org.junit.runner.RunWith
+import org.mockito.kotlin.doReturn
+import org.mockito.kotlin.eq
+import org.mockito.kotlin.mock
+import org.mockito.kotlin.whenever
+
+/** Test for [TopTaskTracker] */
+@RunWith(AndroidJUnit4::class)
+class TopTaskTrackerTest {
+
+ @get:Rule val setFlagsRule = SetFlagsRule(SetFlagsRule.DefaultInitValueType.DEVICE_DEFAULT)
+
+ private val mockContext = mock()
+ private val mockResources = mock()
+
+ @Before
+ fun setUp() {
+ doReturn(mockResources).whenever(mockContext).resources
+ }
+
+ @Test
+ @EnableFlags(FLAG_ENABLE_SHELL_TOP_TASK_TRACKING)
+ fun getPlaceholderGroupedTaskInfo_shellTopTaskTrackingEnabled_noVisibleTasks() {
+ val cachedTaskInfo = TopTaskTracker.CachedTaskInfo(null)
+ val result = cachedTaskInfo.getPlaceholderGroupedTaskInfo(null)
+ assertThat(result).isNull()
+ }
+
+ @Test
+ @EnableFlags(FLAG_ENABLE_SHELL_TOP_TASK_TRACKING)
+ fun getPlaceholderGroupedTaskInfo_shellTopTaskTrackingEnabled_withVisibleTasks() {
+ val taskInfo = createTaskInfo(1, DEFAULT_DISPLAY)
+ val groupedTaskInfo = GroupedTaskInfo.forFullscreenTasks(taskInfo)
+ val cachedTaskInfo = TopTaskTracker.CachedTaskInfo(groupedTaskInfo)
+
+ val result = cachedTaskInfo.getPlaceholderGroupedTaskInfo(null)
+ assertThat(result).isEqualTo(groupedTaskInfo)
+ }
+
+ @Test
+ @DisableFlags(FLAG_ENABLE_SHELL_TOP_TASK_TRACKING)
+ fun getPlaceholderGroupedTaskInfo_shellTopTaskTrackingDisabled_noTasks() {
+ val cachedTaskInfo =
+ TopTaskTracker.CachedTaskInfo(
+ emptyList(),
+ mockContext,
+ DEFAULT_DISPLAY,
+ INACTIVE_DESK_ID,
+ )
+
+ val result = cachedTaskInfo.getPlaceholderGroupedTaskInfo(null)
+
+ assertThat(result).isNull()
+ }
+
+ @Test
+ @DisableFlags(FLAG_ENABLE_SHELL_TOP_TASK_TRACKING)
+ fun getPlaceholderGroupedTaskInfo_shellTopTaskTrackingDisabled_withFullscreenTask() {
+ val taskInfo = createTaskInfo(1, DEFAULT_DISPLAY)
+ val tasks = listOf(taskInfo)
+ val cachedTaskInfo =
+ TopTaskTracker.CachedTaskInfo(tasks, mockContext, DEFAULT_DISPLAY, INACTIVE_DESK_ID)
+
+ val result = cachedTaskInfo.getPlaceholderGroupedTaskInfo(null)
+
+ assertThat(result).isNotNull()
+ assertThat(result!!.isBaseType(TYPE_FULLSCREEN)).isTrue()
+ assertThat(result.taskInfo1).isEqualTo(taskInfo)
+ }
+
+ @Test
+ @DisableFlags(FLAG_ENABLE_SHELL_TOP_TASK_TRACKING)
+ fun getPlaceholderGroupedTaskInfo_shellTopTaskTrackingDisabled_withSplitTasks() {
+ val taskInfo1 = createTaskInfo(1, DEFAULT_DISPLAY)
+ val taskInfo2 = createTaskInfo(2, DEFAULT_DISPLAY)
+ val tasks = listOf(taskInfo1, taskInfo2)
+ val splitTaskIds = intArrayOf(1, 2)
+ val cachedTaskInfo =
+ TopTaskTracker.CachedTaskInfo(tasks, mockContext, DEFAULT_DISPLAY, INACTIVE_DESK_ID)
+
+ val result = cachedTaskInfo.getPlaceholderGroupedTaskInfo(splitTaskIds)
+
+ assertThat(result).isNotNull()
+ assertThat(result!!.isBaseType(TYPE_SPLIT)).isTrue()
+ assertThat(result.taskInfo1).isEqualTo(taskInfo1)
+ assertThat(result.taskInfo2).isEqualTo(taskInfo2)
+ }
+
+ @Test
+ @DisableFlags(FLAG_ENABLE_SHELL_TOP_TASK_TRACKING)
+ @EnableFlags(FLAG_ENABLE_MULTIPLE_DESKTOPS_FRONTEND, FLAG_ENABLE_MULTIPLE_DESKTOPS_BACKEND)
+ fun getPlaceholderGroupedTaskInfo_shellTopTaskTrackingDisabled_withDesktopEnabled_noActiveDesk() {
+ doReturn(true).whenever(mockResources).getBoolean(eq(R.bool.config_isDesktopModeSupported))
+ doReturn(true)
+ .whenever(mockResources)
+ .getBoolean(eq(R.bool.config_canInternalDisplayHostDesktops))
+ val taskInfo = createDesktopTaskInfo(1, DEFAULT_DISPLAY)
+ val tasks = listOf(taskInfo)
+ val cachedTaskInfo =
+ TopTaskTracker.CachedTaskInfo(tasks, mockContext, DEFAULT_DISPLAY, INACTIVE_DESK_ID)
+
+ val result = cachedTaskInfo.getPlaceholderGroupedTaskInfo(null)
+
+ assertThat(result).isNotNull()
+ assertThat(result!!.isBaseType(TYPE_FULLSCREEN)).isTrue()
+ assertThat(result.deskId).isEqualTo(INACTIVE_DESK_ID)
+ assertThat(result.taskInfo1).isEqualTo(taskInfo)
+ }
+
+ @Test
+ @DisableFlags(FLAG_ENABLE_SHELL_TOP_TASK_TRACKING)
+ @EnableFlags(FLAG_ENABLE_MULTIPLE_DESKTOPS_FRONTEND, FLAG_ENABLE_MULTIPLE_DESKTOPS_BACKEND)
+ fun getPlaceholderGroupedTaskInfo_shellTopTaskTrackingDisabled_withDesktopEnabled_withActiveDesk() {
+ doReturn(true).whenever(mockResources).getBoolean(eq(R.bool.config_isDesktopModeSupported))
+ doReturn(true)
+ .whenever(mockResources)
+ .getBoolean(eq(R.bool.config_canInternalDisplayHostDesktops))
+ val activeDeskId = 10
+ val taskInfo = createDesktopTaskInfo(1, DEFAULT_DISPLAY)
+ val tasks = listOf(taskInfo)
+ val cachedTaskInfo =
+ TopTaskTracker.CachedTaskInfo(tasks, mockContext, DEFAULT_DISPLAY, activeDeskId)
+
+ val result = cachedTaskInfo.getPlaceholderGroupedTaskInfo(null)
+
+ assertThat(result).isNotNull()
+ assertThat(result!!.isBaseType(TYPE_DESK)).isTrue()
+ assertThat(result.deskId).isEqualTo(activeDeskId)
+ assertThat(result.getTaskInfoList()).isEqualTo(tasks)
+ }
+
+ @Test
+ @DisableFlags(FLAG_ENABLE_SHELL_TOP_TASK_TRACKING, FLAG_ENABLE_MULTIPLE_DESKTOPS_FRONTEND)
+ fun getPlaceholderGroupedTaskInfo_shellTopTaskTrackingDisabled_withDesktopDisabled_withActiveDesk() {
+ doReturn(true).whenever(mockResources).getBoolean(eq(R.bool.config_isDesktopModeSupported))
+ doReturn(true)
+ .whenever(mockResources)
+ .getBoolean(eq(R.bool.config_canInternalDisplayHostDesktops))
+ val taskInfo = createDesktopTaskInfo(1, DEFAULT_DISPLAY)
+ val tasks = listOf(taskInfo)
+ val cachedTaskInfo =
+ TopTaskTracker.CachedTaskInfo(tasks, mockContext, DEFAULT_DISPLAY, INACTIVE_DESK_ID)
+ val result = cachedTaskInfo.getPlaceholderGroupedTaskInfo(null)
+
+ assertThat(result).isNotNull()
+ assertThat(result!!.isBaseType(TYPE_DESK)).isTrue()
+ assertThat(result.deskId).isEqualTo(INACTIVE_DESK_ID)
+ assertThat(result.taskInfo1).isEqualTo(taskInfo)
+ }
+
+ private fun createTaskInfo(taskId: Int, displayId: Int): TaskInfo {
+ val taskInfo = ActivityManager.RunningTaskInfo()
+ taskInfo.taskId = taskId
+ taskInfo.displayId = displayId
+ taskInfo.baseIntent = Intent()
+ taskInfo.baseActivity = ComponentName("test", "test")
+ taskInfo.configuration.windowConfiguration.setActivityType(ACTIVITY_TYPE_STANDARD)
+ taskInfo.configuration.windowConfiguration.setWindowingMode(WINDOWING_MODE_FULLSCREEN)
+ return taskInfo
+ }
+
+ private fun createDesktopTaskInfo(taskId: Int, displayId: Int): TaskInfo {
+ val taskInfo = createTaskInfo(taskId, displayId)
+ taskInfo.configuration.windowConfiguration.setWindowingMode(WINDOWING_MODE_FREEFORM)
+ return taskInfo
+ }
+}
diff --git a/src/com/android/launcher3/InMemoryLauncherPrefs.kt b/src/com/android/launcher3/InMemoryLauncherPrefs.kt
new file mode 100644
index 0000000000..a8c69f2029
--- /dev/null
+++ b/src/com/android/launcher3/InMemoryLauncherPrefs.kt
@@ -0,0 +1,138 @@
+/*
+ * 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 android.content.Context
+import android.content.SharedPreferences
+import android.content.SharedPreferences.Editor
+import android.content.SharedPreferences.OnSharedPreferenceChangeListener
+import com.android.launcher3.util.Executors.MAIN_EXECUTOR
+import java.util.concurrent.ConcurrentHashMap
+
+/**
+ * Manages [Item] preferences through [InMemorySharedPreferences].
+ *
+ * Specify [copyRealPrefs] to have [backingPrefs] based on current preferences in storage.
+ */
+class InMemoryLauncherPrefs(context: Context, private val copyRealPrefs: Boolean = false) :
+ LauncherPrefs(context) {
+
+ private val backingPrefs = InMemorySharedPreferences()
+ private val copiedPrefs = ConcurrentHashMap()
+
+ override fun getSharedPrefs(item: Item): SharedPreferences {
+ if (!copyRealPrefs) return backingPrefs
+
+ val realPrefs = super.getSharedPrefs(item)
+ copiedPrefs.computeIfAbsent(realPrefs) { _ ->
+ backingPrefs.values +=
+ realPrefs.all.filterValues { it != null }.mapValues { (_, v) -> checkNotNull(v) }
+ true
+ }
+
+ return backingPrefs
+ }
+}
+
+/** A [SharedPreferences] where the values are stored in memory instead of storage. */
+private class InMemorySharedPreferences : SharedPreferences {
+
+ val values = mutableMapOf()
+ private val listeners = mutableSetOf()
+
+ override fun getAll(): Map = values
+
+ override fun getString(key: String, defValue: String?): String? = get(key, defValue)
+
+ override fun getStringSet(key: String, defValues: Set?): Set? {
+ return get(key, defValues)
+ }
+
+ override fun getInt(key: String, defValue: Int): Int = get(key, defValue)
+
+ override fun getLong(key: String, defValue: Long): Long = get(key, defValue)
+
+ override fun getFloat(key: String, defValue: Float): Float = get(key, defValue)
+
+ override fun getBoolean(key: String, defValue: Boolean): Boolean = get(key, defValue)
+
+ @Suppress("UNCHECKED_CAST")
+ private fun get(key: String, defValue: T): T = values[key] as? T ?: defValue
+
+ override fun contains(key: String): Boolean = values.contains(key)
+
+ override fun edit(): Editor = InMemorySharedPreferencesEditor()
+
+ override fun registerOnSharedPreferenceChangeListener(
+ listener: OnSharedPreferenceChangeListener
+ ) {
+ listeners += listener
+ }
+
+ override fun unregisterOnSharedPreferenceChangeListener(
+ listener: OnSharedPreferenceChangeListener
+ ) {
+ listeners -= listener
+ }
+
+ private inner class InMemorySharedPreferencesEditor : Editor {
+ private var clear = false
+ private val keysToRemove = mutableSetOf()
+ private val valuesToAdd = mutableMapOf()
+
+ override fun putString(key: String, value: String?): Editor = put(key, value)
+
+ override fun putStringSet(key: String, values: Set?): Editor = put(key, values)
+
+ override fun putInt(key: String, value: Int): Editor = put(key, value)
+
+ override fun putLong(key: String, value: Long): Editor = put(key, value)
+
+ override fun putFloat(key: String, value: Float): Editor = put(key, value)
+
+ override fun putBoolean(key: String, value: Boolean): Editor = put(key, value)
+
+ private fun put(key: String, value: Any?): Editor {
+ if (value != null) valuesToAdd[key] = value else remove(key)
+ return this
+ }
+
+ override fun remove(key: String): Editor = apply { keysToRemove += key }
+
+ override fun clear(): Editor = apply { clear = true }
+
+ override fun apply() {
+ commit()
+ }
+
+ override fun commit(): Boolean {
+ if (clear) values.clear()
+ values -= keysToRemove
+ values += valuesToAdd
+
+ MAIN_EXECUTOR.execute {
+ for (k in keysToRemove.union(valuesToAdd.keys)) {
+ for (l in listeners) {
+ l.onSharedPreferenceChanged(this@InMemorySharedPreferences, k)
+ }
+ }
+ }
+
+ return clear || keysToRemove.isNotEmpty() || valuesToAdd.isNotEmpty()
+ }
+ }
+}
diff --git a/tests/multivalentTests/src/com/android/launcher3/InMemoryLauncherPrefsTest.kt b/tests/multivalentTests/src/com/android/launcher3/InMemoryLauncherPrefsTest.kt
new file mode 100644
index 0000000000..f973831ac6
--- /dev/null
+++ b/tests/multivalentTests/src/com/android/launcher3/InMemoryLauncherPrefsTest.kt
@@ -0,0 +1,187 @@
+/*
+ * 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 android.content.Context
+import android.content.Context.MODE_PRIVATE
+import androidx.test.core.app.ApplicationProvider
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import androidx.test.platform.app.InstrumentationRegistry.getInstrumentation
+import com.android.launcher3.EncryptionType.DEVICE_PROTECTED
+import com.android.launcher3.LauncherPrefs.Companion.BOOT_AWARE_PREFS_KEY
+import com.android.launcher3.LauncherPrefs.Companion.nonRestorableItem
+import com.google.common.truth.Truth.assertThat
+import org.junit.Test
+import org.junit.runner.RunWith
+
+private const val TEST_KEY_1 = "test_key_1"
+private const val TEST_KEY_2 = "test_key_2"
+
+private const val TEST_INT_1 = 1337
+private const val TEST_INT_2 = 42
+private const val TEST_FLOAT_1 = 9000.1f
+private const val TEST_FLOAT_2 = 3.14f
+private const val TEST_LONG_1 = 1L
+private const val TEST_LONG_2 = 10L
+private const val TEST_STRING_1 = "potato"
+private const val TEST_STRING_2 = "toast"
+
+private val TEST_BOOLEAN_ITEM = nonRestorableItem(TEST_KEY_1, false)
+private val TEST_STRING_ITEM = nonRestorableItem(TEST_KEY_2, TEST_STRING_1, DEVICE_PROTECTED)
+private val TEST_INT_ITEM = nonRestorableItem("1", TEST_INT_1)
+private val TEST_FLOAT_ITEM = nonRestorableItem("2", TEST_FLOAT_1)
+private val TEST_LONG_ITEM = nonRestorableItem("3", TEST_LONG_1)
+private val TEST_SET_ITEM = nonRestorableItem("4", emptySet())
+
+@RunWith(AndroidJUnit4::class)
+class InMemoryLauncherPrefsTest {
+
+ private val context = ApplicationProvider.getApplicationContext()
+ private val prefs = InMemoryLauncherPrefs(context)
+
+ private var lastChangedKey: String? = null
+ private val listener = LauncherPrefChangeListener { k -> lastChangedKey = k }
+
+ @Test
+ fun get_booleanItemNotInPrefs_defaultValue() {
+ assertThat(prefs.get(TEST_BOOLEAN_ITEM)).isFalse()
+ }
+
+ @Test
+ fun get_booleanItemInPrefs_prefValue() {
+ prefs.put(TEST_BOOLEAN_ITEM, true)
+ assertThat(prefs.get(TEST_BOOLEAN_ITEM)).isTrue()
+ }
+
+ @Test
+ fun get_stringItemNotInPrefs_defaultValue() {
+ assertThat(prefs.get(TEST_STRING_ITEM)).isEqualTo(TEST_STRING_1)
+ }
+
+ @Test
+ fun get_stringItemInPrefs_prefValue() {
+ prefs.put(TEST_STRING_ITEM, TEST_STRING_2)
+ assertThat(prefs.get(TEST_STRING_ITEM)).isEqualTo(TEST_STRING_2)
+ }
+
+ @Test
+ fun get_intItemNotInPrefs_defaultValue() {
+ assertThat(prefs.get(TEST_INT_ITEM)).isEqualTo(TEST_INT_1)
+ }
+
+ @Test
+ fun get_intItemInPrefs_prefValue() {
+ prefs.put(TEST_INT_ITEM, TEST_INT_2)
+ assertThat(prefs.get(TEST_INT_ITEM)).isEqualTo(TEST_INT_2)
+ }
+
+ @Test
+ fun get_longItemNotInPrefs_defaultValue() {
+ assertThat(prefs.get(TEST_LONG_ITEM)).isEqualTo(TEST_LONG_1)
+ }
+
+ @Test
+ fun get_longItemInPrefs_prefValue() {
+ prefs.put(TEST_LONG_ITEM, TEST_LONG_2)
+ assertThat(prefs.get(TEST_LONG_ITEM)).isEqualTo(TEST_LONG_2)
+ }
+
+ @Test
+ fun get_floatItemNotInPrefs_defaultValue() {
+ assertThat(prefs.get(TEST_FLOAT_ITEM)).isEqualTo(TEST_FLOAT_1)
+ }
+
+ @Test
+ fun get_floatItemInPrefs_prefValue() {
+ prefs.put(TEST_FLOAT_ITEM, TEST_FLOAT_2)
+ assertThat(prefs.get(TEST_FLOAT_ITEM)).isEqualTo(TEST_FLOAT_2)
+ }
+
+ @Test
+ fun get_setItemNotInPrefs_defaultValue() {
+ assertThat(prefs.get(TEST_SET_ITEM)).isEmpty()
+ }
+
+ @Test
+ fun get_setItemInPrefs_prefValue() {
+ prefs.put(TEST_SET_ITEM, setOf(TEST_STRING_1, TEST_STRING_2))
+ assertThat(prefs.get(TEST_SET_ITEM)).containsExactly(TEST_STRING_1, TEST_STRING_2)
+ }
+
+ @Test
+ fun has_itemNotInPrefs_false() {
+ assertThat(prefs.has(TEST_BOOLEAN_ITEM)).isFalse()
+ }
+
+ @Test
+ fun has_itemInPrefs_true() {
+ prefs.put(TEST_BOOLEAN_ITEM, true)
+ assertThat(prefs.has(TEST_BOOLEAN_ITEM)).isTrue()
+ }
+
+ @Test
+ fun remove_removesPref() {
+ prefs.put(TEST_STRING_ITEM, TEST_STRING_2)
+ assertThat(prefs.get(TEST_STRING_ITEM)).isEqualTo(TEST_STRING_2)
+ prefs.remove(TEST_STRING_ITEM)
+ assertThat(prefs.get(TEST_STRING_ITEM)).isEqualTo(TEST_STRING_1)
+ }
+
+ @Test
+ fun addListener_putItem_invokesListener() {
+ prefs.addListener(listener, TEST_BOOLEAN_ITEM)
+ getInstrumentation().runOnMainSync { prefs.put(TEST_BOOLEAN_ITEM, true) }
+ assertThat(lastChangedKey).isEqualTo(TEST_KEY_1)
+ }
+
+ @Test
+ fun removeListener_updateItem_listenerNotInvoked() {
+ prefs.addListener(listener, TEST_BOOLEAN_ITEM)
+ prefs.put(TEST_BOOLEAN_ITEM, true)
+
+ lastChangedKey = null
+ prefs.removeListener(listener, TEST_BOOLEAN_ITEM)
+ getInstrumentation().runOnMainSync { prefs.put(TEST_BOOLEAN_ITEM, false) }
+ assertThat(lastChangedKey).isNull()
+ }
+
+ @Test
+ fun doNotCopyRealPrefs_valueCopied() {
+ val prefs = InMemoryLauncherPrefs(context, copyRealPrefs = false)
+ val realSharedPrefs =
+ context
+ .createDeviceProtectedStorageContext()
+ .getSharedPreferences(BOOT_AWARE_PREFS_KEY, MODE_PRIVATE)
+
+ realSharedPrefs.edit().putString(TEST_STRING_ITEM.sharedPrefKey, TEST_STRING_2).commit()
+ assertThat(prefs.get(TEST_STRING_ITEM)).isEqualTo(TEST_STRING_1)
+ realSharedPrefs.edit().remove(TEST_STRING_ITEM.sharedPrefKey).commit()
+ }
+
+ @Test
+ fun copyRealPrefs_valueCopied() {
+ val prefs = InMemoryLauncherPrefs(context, copyRealPrefs = true)
+ val realSharedPrefs =
+ context
+ .createDeviceProtectedStorageContext()
+ .getSharedPreferences(BOOT_AWARE_PREFS_KEY, MODE_PRIVATE)
+
+ realSharedPrefs.edit().putString(TEST_STRING_ITEM.sharedPrefKey, TEST_STRING_2).commit()
+ assertThat(prefs.get(TEST_STRING_ITEM)).isEqualTo(TEST_STRING_2)
+ realSharedPrefs.edit().remove(TEST_STRING_ITEM.sharedPrefKey).commit()
+ }
+}
diff --git a/tests/src_deviceless/com/android/launcher3/touch/WorkspaceTouchListenerUnitTest.kt b/tests/src_deviceless/com/android/launcher3/touch/WorkspaceTouchListenerUnitTest.kt
index 52976a5483..9be0be4758 100644
--- a/tests/src_deviceless/com/android/launcher3/touch/WorkspaceTouchListenerUnitTest.kt
+++ b/tests/src_deviceless/com/android/launcher3/touch/WorkspaceTouchListenerUnitTest.kt
@@ -27,96 +27,84 @@ import com.android.launcher3.Launcher
import com.android.launcher3.LauncherState
import com.android.launcher3.Workspace
import com.android.launcher3.dragndrop.DragLayer
-import org.junit.Assert.assertEquals
-import org.junit.Assert.assertTrue
-import org.junit.Before
+import com.google.common.truth.Truth.assertWithMessage
import org.junit.Test
import org.junit.runner.RunWith
-import org.mockito.ArgumentCaptor
-import org.mockito.Mock
-import org.mockito.Mockito.any
-import org.mockito.Mockito.never
-import org.mockito.Mockito.verify
-import org.mockito.Mockito.`when` as whenever
-import org.mockito.MockitoAnnotations
+import org.mockito.kotlin.any
+import org.mockito.kotlin.argumentCaptor
+import org.mockito.kotlin.doReturn
+import org.mockito.kotlin.mock
+import org.mockito.kotlin.never
+import org.mockito.kotlin.stub
+import org.mockito.kotlin.verify
import org.robolectric.annotation.LooperMode
@LooperMode(LooperMode.Mode.PAUSED)
@RunWith(AndroidJUnit4::class)
class WorkspaceTouchListenerUnitTest {
- @Mock private lateinit var mMockLauncher: Launcher
- @Mock private lateinit var mMockWorkspace: Workspace<*>
- @Mock private lateinit var mDragLayer: DragLayer
+ private val context: Context = ApplicationProvider.getApplicationContext()
- private lateinit var mContext: Context
- private lateinit var mWorkspaceTouchListener: WorkspaceTouchListener
+ private val dragLayer =
+ mock {
+ // Ensure a drag layer can be used for simulated touch events.
+ on { width } doReturn 200
+ on { height } doReturn 200
+ }
+ private val mockLauncher =
+ mock {
+ on { dragLayer } doReturn dragLayer
- @Before
- fun setUp() {
- MockitoAnnotations.openMocks(this)
- mContext = ApplicationProvider.getApplicationContext()
-
- // Provide real Resources for ViewConfiguration initialization
- whenever(mMockLauncher.resources).thenReturn(mContext.resources)
- whenever(mMockLauncher.isInState(LauncherState.NORMAL)).thenReturn(true)
- whenever(mMockLauncher.deviceProfile)
- .thenReturn(InvariantDeviceProfile.INSTANCE[mContext].getDeviceProfile(mContext))
-
- // Ensure a drag layer can be used for simulated touch events.
- whenever(mMockLauncher.dragLayer).thenReturn(mDragLayer)
- whenever(mDragLayer.width).thenReturn(200)
- whenever(mDragLayer.height).thenReturn(200)
-
- mWorkspaceTouchListener = WorkspaceTouchListener(mMockLauncher, mMockWorkspace)
- mMockLauncher.onTopResumedActivityChanged(false)
- }
+ // Provide real Resources for ViewConfiguration initialization
+ on { resources } doReturn context.resources
+ on { isInState(LauncherState.NORMAL) } doReturn true
+ on { deviceProfile } doReturn
+ InvariantDeviceProfile.INSTANCE[context].getDeviceProfile(context)
+ }
+ private val mockWorkspace = mock>()
+ private val workspaceTouchListener = WorkspaceTouchListener(mockLauncher, mockWorkspace)
@Test
fun onWorkspaceTouch_whenHomeBehindDesktop_launchesHomeIntent() {
- whenever(mMockLauncher.shouldShowHomeBehindDesktop()).thenReturn(true)
+ mockLauncher.stub { on { shouldShowHomeBehindDesktop() } doReturn true }
// Simulate a tap event in the workspace.
val downTime = SystemClock.uptimeMillis()
val downEvent =
MotionEvent.obtain(downTime, downTime, MotionEvent.ACTION_DOWN, 100f, 100f, 0)
- mWorkspaceTouchListener.onTouch(null, downEvent)
+ workspaceTouchListener.onTouch(null, downEvent)
val upEvent = MotionEvent.obtain(downTime, downTime, MotionEvent.ACTION_UP, 100f, 100f, 0)
- mWorkspaceTouchListener.onTouch(null, upEvent)
+ workspaceTouchListener.onTouch(null, upEvent)
// Verify startActivity was called with the correct Intent
- val intentCaptor = ArgumentCaptor.forClass(Intent::class.java)
- verify(mMockLauncher).startActivity(intentCaptor.capture())
-
- val capturedIntent = intentCaptor.value
- assertEquals(
- "Intent action should be ACTION_MAIN",
- Intent.ACTION_MAIN,
- capturedIntent.action,
- )
- assertTrue(
- "Intent should have CATEGORY_HOME",
- capturedIntent.hasCategory(Intent.CATEGORY_HOME),
- )
- assertTrue(
- "Intent should have FLAG_ACTIVITY_NEW_TASK",
- (capturedIntent.flags and Intent.FLAG_ACTIVITY_NEW_TASK) ==
- Intent.FLAG_ACTIVITY_NEW_TASK,
- )
+ val capturedIntent =
+ argumentCaptor().let { intentCaptor ->
+ verify(mockLauncher).startActivity(intentCaptor.capture())
+ intentCaptor.lastValue
+ }
+ assertWithMessage("Intent action should be ACTION_MAIN")
+ .that(capturedIntent.action)
+ .isEqualTo(Intent.ACTION_MAIN)
+ assertWithMessage("Intent should have CATEGORY_HOME")
+ .that(capturedIntent.hasCategory(Intent.CATEGORY_HOME))
+ .isTrue()
+ assertWithMessage("Intent should have FLAG_ACTIVITY_NEW_TASK")
+ .that(capturedIntent.flags and Intent.FLAG_ACTIVITY_NEW_TASK)
+ .isEqualTo(Intent.FLAG_ACTIVITY_NEW_TASK)
}
@Test
fun onWorkspaceTouch_doesNotLaunchHomeIntent() {
- whenever(mMockLauncher.shouldShowHomeBehindDesktop()).thenReturn(false)
+ mockLauncher.stub { on { shouldShowHomeBehindDesktop() } doReturn false }
// Simulate a tap event in the workspace.
val downTime = SystemClock.uptimeMillis()
val downEvent =
MotionEvent.obtain(downTime, downTime, MotionEvent.ACTION_DOWN, 100f, 100f, 0)
- mWorkspaceTouchListener.onTouch(null, downEvent)
+ workspaceTouchListener.onTouch(null, downEvent)
val upEvent = MotionEvent.obtain(downTime, downTime, MotionEvent.ACTION_UP, 100f, 100f, 0)
- mWorkspaceTouchListener.onTouch(null, upEvent)
+ workspaceTouchListener.onTouch(null, upEvent)
// Verify that no Intent is called.
- verify(mMockLauncher, never()).startActivity(any(Intent::class.java))
+ verify(mockLauncher, never()).startActivity(any())
}
}