diff --git a/core/java/android/content/pm/ActivityInfo.java b/core/java/android/content/pm/ActivityInfo.java index 4be5e148102e2..06399b9581599 100644 --- a/core/java/android/content/pm/ActivityInfo.java +++ b/core/java/android/content/pm/ActivityInfo.java @@ -1128,6 +1128,17 @@ public class ActivityInfo extends ComponentInfo implements Parcelable { @Overridable public static final long OVERRIDE_MIN_ASPECT_RATIO_EXCLUDE_PORTRAIT_FULLSCREEN = 218959984L; + /** + * Enables sending fake focus for unfocused apps in splitscreen. Some game engines + * wait to get focus before drawing the content of the app so fake focus helps them to avoid + * staying blacked out when they are resumed and do not have focus yet. + * @hide + */ + @ChangeId + @Disabled + @Overridable + public static final long OVERRIDE_ENABLE_COMPAT_FAKE_FOCUS = 263259275L; + /** * Compares activity window layout min width/height with require space for multi window to * determine if it can be put into multi window mode. diff --git a/core/java/android/service/chooser/OWNERS b/core/java/android/service/chooser/OWNERS index a5acba58b52ca..dcd4a7be08c3d 100644 --- a/core/java/android/service/chooser/OWNERS +++ b/core/java/android/service/chooser/OWNERS @@ -1,4 +1,3 @@ -asc@google.com -mpietal@google.com -dsandler@android.com -dsandler@google.com +mrcasey@google.com +ayepin@google.com +joshtrask@google.com diff --git a/core/java/com/android/internal/app/OWNERS b/core/java/com/android/internal/app/OWNERS index 3833976fcdb13..970728f201410 100644 --- a/core/java/com/android/internal/app/OWNERS +++ b/core/java/com/android/internal/app/OWNERS @@ -2,6 +2,7 @@ per-file *AppOp* = file:/core/java/android/permission/OWNERS per-file *Resolver* = file:/packages/SystemUI/OWNERS per-file *Chooser* = file:/packages/SystemUI/OWNERS per-file SimpleIconFactory.java = file:/packages/SystemUI/OWNERS +per-file AbstractMultiProfilePagerAdapter.java = file:/packages/SystemUI/OWNERS per-file NetInitiatedActivity.java = file:/location/java/android/location/OWNERS per-file *BatteryStats* = file:/BATTERY_STATS_OWNERS @@ -11,4 +12,4 @@ per-file *Hotword* = file:/core/java/android/service/voice/OWNERS per-file *Voice* = file:/core/java/android/service/voice/OWNERS # System language settings -per-file *Locale* = file:platform/packages/apps/Settings:/src/com/android/settings/localepicker/OWNERS \ No newline at end of file +per-file *Locale* = file:platform/packages/apps/Settings:/src/com/android/settings/localepicker/OWNERS diff --git a/core/res/res/values-mr/strings.xml b/core/res/res/values-mr/strings.xml index 32abaab7350ea..6be015aaa3c63 100644 --- a/core/res/res/values-mr/strings.xml +++ b/core/res/res/values-mr/strings.xml @@ -368,7 +368,7 @@ "ॲपला तुमच्या डिव्हाइसवर सुरू असलेल्या कॉलचे तपशील पाहण्याची आणि या कॉलना नियंत्रित करण्याची अनुमती द्या." "सेल प्रसारण मेसेज वाचा" "आपल्या डिव्हाइसद्वारे प्राप्त केलेले सेल प्रसारण मेसेज वाचण्यासाठी अ‍ॅप ला अनुमती देते. काही स्थानांमध्ये तुम्हाला आणीबाणीच्या परिस्थितीची चेतावणी देण्यासाठी सेल प्रसारण सूचना वितरीत केल्या जातात. आणीबाणी सेल प्रसारण प्राप्त होते तेव्हा आपल्या डिव्हाइसच्या कार्यप्रदर्शनात किंवा कार्यात दुर्भावनापूर्ण अ‍ॅप्स व्यत्यय आणू शकतात." - "सदस्यता घेतलेली फीड वाचा" + "सदस्यत्व घेतलेली फीड वाचा" "सध्या संकालित केलेल्या फीडविषयी तपशील मिळविण्यासाठी अ‍ॅप ला अनुमती देते." "SMS मेसेज पाठवणे आणि पाहणे" "SMS मेसेज पाठविण्यासाठी अ‍ॅप ला अनुमती देते. हे अनपेक्षित शुल्कामुळे होऊ शकते. दुर्भावनापूर्ण अ‍ॅप्स नी आपल्या पुष्टिकरणाशिवाय मेसेज पाठवल्यामुळे तुमचे पैसे खर्च होऊ शकतात." diff --git a/packages/CompanionDeviceManager/res/values-cs/strings.xml b/packages/CompanionDeviceManager/res/values-cs/strings.xml index 51d4b74742f7d..a7fcd88668fae 100644 --- a/packages/CompanionDeviceManager/res/values-cs/strings.xml +++ b/packages/CompanionDeviceManager/res/values-cs/strings.xml @@ -20,7 +20,7 @@ "Povolit aplikaci <strong>%1$s</strong> přístup k vašemu zařízení <strong>%2$s</strong>" "hodinky" "Vyberte zařízení %1$s, které chcete spravovat pomocí aplikace <strong>%2$s</strong>" - "Tato aplikace je nutná ke správě zařízení %1$s. Aplikace %2$s bude moci interagovat s vašimi oznámeními a získá přístup k telefonu, SMS, kontaktům, kalendáři, seznamům hovorů a zařízením v okolí." + "Tato aplikace je nutná ke správě zařízení „%1$s“. Aplikace %2$s bude moci interagovat s vašimi oznámeními a získá přístup k telefonu, SMS, kontaktům, kalendáři, seznamům hovorů a zařízením v okolí." "Aplikace" "Streamujte aplikace v telefonu" "Povolte aplikaci <strong>%1$s</strong> přístup k těmto informacím z vašeho telefonu" diff --git a/packages/CompanionDeviceManager/res/values-et/strings.xml b/packages/CompanionDeviceManager/res/values-et/strings.xml index 1f5fdb8a3614b..d3cb03ba97454 100644 --- a/packages/CompanionDeviceManager/res/values-et/strings.xml +++ b/packages/CompanionDeviceManager/res/values-et/strings.xml @@ -19,7 +19,7 @@ "Kaasseadme haldur" "Lubage rakendusel <strong>%1$s</strong> teie seadmele <strong>%2$s</strong> juurde pääseda" "käekell" - "Valige seade %1$s, mida haldab rakendus <strong>%2$s</strong>" + "Valige %1$s, mida haldab rakendus <strong>%2$s</strong>" "Seda rakendust on vaja teie profiili %1$s haldamiseks. Rakendusel %2$s lubatakse kasutada teie märguandeid ja pääseda juurde teie telefoni, SMS-ide, kontaktide, kalendri, kõnelogide ja läheduses olevate seadmete lubadele." "Rakendused" "Telefoni rakenduste voogesitamine" diff --git a/packages/SettingsLib/res/values-af/strings.xml b/packages/SettingsLib/res/values-af/strings.xml index d11cd9e351e76..6d8bf5fe9012f 100644 --- a/packages/SettingsLib/res/values-af/strings.xml +++ b/packages/SettingsLib/res/values-af/strings.xml @@ -477,10 +477,8 @@ "%1$s – %2$s" "%1$s oor tot vol" "%1$s – %2$s oor tot vol" - - - - + "%1$s – Laaiproses word geoptimeer" + "%1$s – Laaiproses word geoptimeer" "Onbekend" "Laai" "Laai tans vinnig" diff --git a/packages/SettingsLib/res/values-am/strings.xml b/packages/SettingsLib/res/values-am/strings.xml index ec3942e24d027..6087f6bb07491 100644 --- a/packages/SettingsLib/res/values-am/strings.xml +++ b/packages/SettingsLib/res/values-am/strings.xml @@ -477,10 +477,8 @@ "%1$s - %2$s" "እስኪሞላ ድረስ %1$s ይቀራል" "%1$s - እስኪሞላ ድረስ %2$s ይቀራል" - - - - + "%1$s - ኃይል መሙላት እንዲተባ ተደርጓል" + "%1$s - ኃይል መሙላት እንዲተባ ተደርጓል" "ያልታወቀ" "ኃይል በመሙላት ላይ" "ኃይል በፍጥነት በመሙላት ላይ" diff --git a/packages/SettingsLib/res/values-as/strings.xml b/packages/SettingsLib/res/values-as/strings.xml index 27ea8cbccbdd8..7377c3e9a49e1 100644 --- a/packages/SettingsLib/res/values-as/strings.xml +++ b/packages/SettingsLib/res/values-as/strings.xml @@ -477,10 +477,8 @@ "%1$s - %2$s" "সম্পূৰ্ণ হ’বলৈ %1$s বাকী আছে" "সম্পূৰ্ণ হ’বলৈ %1$s - %2$s বাকী আছে" - - - - + "%1$s - চাৰ্জিং অপ্টিমাইজ কৰা হৈছে" + "%1$s - চাৰ্জিং অপ্টিমাইজ কৰা হৈছে" "অজ্ঞাত" "চাৰ্জ কৰি থকা হৈছে" "দ্ৰুততাৰে চাৰ্জ হৈছে" diff --git a/packages/SettingsLib/res/values-az/strings.xml b/packages/SettingsLib/res/values-az/strings.xml index e167f6ab6a6db..9ed15e039a46e 100644 --- a/packages/SettingsLib/res/values-az/strings.xml +++ b/packages/SettingsLib/res/values-az/strings.xml @@ -477,10 +477,8 @@ "%1$s - %2$s" "Tam şarj edilənədək %1$s qalıb" "%1$s - tam şarj edilənədək %2$s qalıb" - - - - + "%1$s - Şarj optimallaşdırılıb" + "%1$s - Şarj optimallaşdırılıb" "Naməlum" "Enerji doldurma" "Sürətlə doldurulur" diff --git a/packages/SettingsLib/res/values-b+sr+Latn/strings.xml b/packages/SettingsLib/res/values-b+sr+Latn/strings.xml index 68af01973d563..361826cf7f2ab 100644 --- a/packages/SettingsLib/res/values-b+sr+Latn/strings.xml +++ b/packages/SettingsLib/res/values-b+sr+Latn/strings.xml @@ -477,10 +477,8 @@ "%1$s – %2$s" "%1$s до краја пуњења" "%1$s – %2$s до краја пуњења" - - - - + "%1$s – пуњење је оптимизовано" + "%1$s – пуњење је оптимизовано" "Непознато" "Пуни се" "Брзо се пуни" diff --git a/packages/SettingsLib/res/values-be/strings.xml b/packages/SettingsLib/res/values-be/strings.xml index 1fccad947cfe6..0d89e92f719e4 100644 --- a/packages/SettingsLib/res/values-be/strings.xml +++ b/packages/SettingsLib/res/values-be/strings.xml @@ -477,10 +477,8 @@ "%1$s – %2$s" "Да поўнай зарадкі засталося %1$s" "%1$s – да поўнай зарадкі засталося: %2$s" - - - - + "%1$s – Зарадка аптымізавана" + "%1$s – Зарадка аптымізавана" "Невядома" "Зарадка" "Хуткая зарадка" diff --git a/packages/SettingsLib/res/values-bn/strings.xml b/packages/SettingsLib/res/values-bn/strings.xml index bca3eb1dbdccd..080e70008de2b 100644 --- a/packages/SettingsLib/res/values-bn/strings.xml +++ b/packages/SettingsLib/res/values-bn/strings.xml @@ -477,10 +477,8 @@ "%1$s - %2$s" "%1$s-এ ব্যাটারি পুরো চার্জ হয়ে যাবে" "%1$s - %2$s-এ ব্যাটারি পুরো চার্জ হয়ে যাবে" - - - - + "%1$s - চার্জিং অপ্টিমাইজ করা হয়েছে" + "%1$s - চার্জিং অপ্টিমাইজ করা হয়েছে" "অজানা" "চার্জ হচ্ছে" "দ্রুত চার্জ হচ্ছে" diff --git a/packages/SettingsLib/res/values-bs/strings.xml b/packages/SettingsLib/res/values-bs/strings.xml index b5e75e4af8079..f39f7fc1779db 100644 --- a/packages/SettingsLib/res/values-bs/strings.xml +++ b/packages/SettingsLib/res/values-bs/strings.xml @@ -477,10 +477,8 @@ "%1$s – %2$s" "%1$s do potpune napunjenosti" "%1$s – %2$s do potpune napunjenosti" - - - - + "%1$s – punjenje je optimizirano" + "%1$s – punjenje je optimizirano" "Nepoznato" "Punjenje" "Brzo punjenje" diff --git a/packages/SettingsLib/res/values-cs/strings.xml b/packages/SettingsLib/res/values-cs/strings.xml index f5b7600cc7c72..2683f9e787b5c 100644 --- a/packages/SettingsLib/res/values-cs/strings.xml +++ b/packages/SettingsLib/res/values-cs/strings.xml @@ -477,10 +477,8 @@ "%1$s – %2$s" "%1$s do úplného nabití" "%1$s – %2$s do úplného nabití" - - - - + "%1$s – optimalizované nabíjení" + "%1$s – optimalizované nabíjení" "Neznámé" "Nabíjí se" "Rychlé nabíjení" diff --git a/packages/SettingsLib/res/values-da/strings.xml b/packages/SettingsLib/res/values-da/strings.xml index 1f3d5f9eba077..8fd740f0330cb 100644 --- a/packages/SettingsLib/res/values-da/strings.xml +++ b/packages/SettingsLib/res/values-da/strings.xml @@ -477,10 +477,8 @@ "%1$s – %2$s" "Fuldt opladet om %1$s" "%1$s – fuldt opladet om %2$s" - - - - + "%1$s – opladning er optimeret" + "%1$s – opladning optimeres" "Ukendt" "Oplader" "Oplader hurtigt" diff --git a/packages/SettingsLib/res/values-de/strings.xml b/packages/SettingsLib/res/values-de/strings.xml index 35e86379bffc2..9f50140631a60 100644 --- a/packages/SettingsLib/res/values-de/strings.xml +++ b/packages/SettingsLib/res/values-de/strings.xml @@ -477,10 +477,8 @@ "%1$s – %2$s" "Voll in %1$s" "%1$s – voll in %2$s" - - - - + "%1$s – Laden wird optimiert" + "%1$s – Laden wird optimiert" "Unbekannt" "Wird aufgeladen" "Schnelles Aufladen" diff --git a/packages/SettingsLib/res/values-el/strings.xml b/packages/SettingsLib/res/values-el/strings.xml index 200c6409d0c63..0a89ed1b654ee 100644 --- a/packages/SettingsLib/res/values-el/strings.xml +++ b/packages/SettingsLib/res/values-el/strings.xml @@ -317,7 +317,7 @@ "Χωρίς μέτρηση με βάση τη χρήση" "Μέγεθος προσωρινής μνήμης για τη λειτουργία καταγραφής" "Μέγεθος αρχείων κατ/φής ανά προ/νή μνήμη αρχείου κατ/φής" - "Διαγραφή αποθηκευτικού χώρου μόνιμων αρχείων καταγραφής;" + "Εκκαθάριση αποθηκευτικού χώρου μόνιμων αρχείων καταγραφής;" "Όταν δεν γίνεται πλέον παρακολούθηση με μόνιμο αρχείο καταγραφής, θα πρέπει να διαγραφούν τα δεδομένα του αρχείου καταγραφής στη συσκευή σας." "Αποθ.δεδ.αρχείων κατ.μόνιμα στη συσκ." "Επιλογή αρχείων καταγραφής προσωρινής μνήμης για αποθήκευση μόνιμα στη συσκευή" @@ -477,10 +477,8 @@ "%1$s - %2$s" "Απομένουν %1$s για πλήρη φόρτιση" "%1$s - Απομένουν %2$s για πλήρη φόρτιση" - - - - + "%1$s - Η φόρτιση βελτιστοποιήθηκε" + "%1$s - Η φόρτιση βελτιστοποιήθηκε" "Άγνωστο" "Φόρτιση" "Ταχεία φόρτιση" diff --git a/packages/SettingsLib/res/values-en-rAU/strings.xml b/packages/SettingsLib/res/values-en-rAU/strings.xml index 000cd8afa5688..ba64e859af466 100644 --- a/packages/SettingsLib/res/values-en-rAU/strings.xml +++ b/packages/SettingsLib/res/values-en-rAU/strings.xml @@ -477,10 +477,8 @@ "%1$s - %2$s" "%1$s left until full" "%1$s – %2$s left until full" - - - - + "%1$s - Charging optimised" + "%1$s - Charging optimised" "Unknown" "Charging" "Charging rapidly" diff --git a/packages/SettingsLib/res/values-en-rGB/strings.xml b/packages/SettingsLib/res/values-en-rGB/strings.xml index 000cd8afa5688..ba64e859af466 100644 --- a/packages/SettingsLib/res/values-en-rGB/strings.xml +++ b/packages/SettingsLib/res/values-en-rGB/strings.xml @@ -477,10 +477,8 @@ "%1$s - %2$s" "%1$s left until full" "%1$s – %2$s left until full" - - - - + "%1$s - Charging optimised" + "%1$s - Charging optimised" "Unknown" "Charging" "Charging rapidly" diff --git a/packages/SettingsLib/res/values-en-rIN/strings.xml b/packages/SettingsLib/res/values-en-rIN/strings.xml index 000cd8afa5688..ba64e859af466 100644 --- a/packages/SettingsLib/res/values-en-rIN/strings.xml +++ b/packages/SettingsLib/res/values-en-rIN/strings.xml @@ -477,10 +477,8 @@ "%1$s - %2$s" "%1$s left until full" "%1$s – %2$s left until full" - - - - + "%1$s - Charging optimised" + "%1$s - Charging optimised" "Unknown" "Charging" "Charging rapidly" diff --git a/packages/SettingsLib/res/values-es-rUS/strings.xml b/packages/SettingsLib/res/values-es-rUS/strings.xml index d89aff6b03e9b..b23f883836ee8 100644 --- a/packages/SettingsLib/res/values-es-rUS/strings.xml +++ b/packages/SettingsLib/res/values-es-rUS/strings.xml @@ -477,10 +477,8 @@ "%1$s: %2$s" "%1$s para completar" "%1$s - %2$s para completar" - - - - + "%1$s - Carga optimizada" + "%1$s - Carga optimizada" "Desconocido" "Cargando" "Cargando rápidamente" diff --git a/packages/SettingsLib/res/values-es/strings.xml b/packages/SettingsLib/res/values-es/strings.xml index 794d64fbaea8c..6d8134166ff31 100644 --- a/packages/SettingsLib/res/values-es/strings.xml +++ b/packages/SettingsLib/res/values-es/strings.xml @@ -477,10 +477,8 @@ "%1$s - %2$s" "%1$s hasta la carga completa" "%1$s: %2$s hasta la carga completa" - - - - + "%1$s - Carga optimizada" + "%1$s - Carga optimizada" "Desconocido" "Cargando" "Carga rápida" diff --git a/packages/SettingsLib/res/values-et/strings.xml b/packages/SettingsLib/res/values-et/strings.xml index 4204320c029a2..574743e1bce17 100644 --- a/packages/SettingsLib/res/values-et/strings.xml +++ b/packages/SettingsLib/res/values-et/strings.xml @@ -477,10 +477,8 @@ "%1$s – %2$s" "Täislaadimiseks kulub %1$s" "%1$s – täislaadimiseks kulub %2$s" - - - - + "%1$s – laadimine on optimeeritud" + "%1$s – laadimine on optimeeritud" "Tundmatu" "Laadimine" "Kiirlaadimine" diff --git a/packages/SettingsLib/res/values-eu/strings.xml b/packages/SettingsLib/res/values-eu/strings.xml index 92eaf2b88d760..34e59f31fb3f7 100644 --- a/packages/SettingsLib/res/values-eu/strings.xml +++ b/packages/SettingsLib/res/values-eu/strings.xml @@ -477,10 +477,8 @@ "%1$s - %2$s" "%1$s guztiz kargatu arte" "%1$s - %2$s guztiz kargatu arte" - - - - + "%1$s - Kargatze optimizatua" + "%1$s - Kargatze optimizatua" "Ezezaguna" "Kargatzen" "Bizkor kargatzen" diff --git a/packages/SettingsLib/res/values-fi/strings.xml b/packages/SettingsLib/res/values-fi/strings.xml index a6eb7365620b4..28df1ea0fa40d 100644 --- a/packages/SettingsLib/res/values-fi/strings.xml +++ b/packages/SettingsLib/res/values-fi/strings.xml @@ -477,10 +477,8 @@ "%1$s – %2$s" "%1$s kunnes täynnä" "%1$s – %2$s kunnes täynnä" - - - - + "%1$s – Lataus optimoitu" + "%1$s – Lataus optimoitu" "Tuntematon" "Ladataan" "Nopea lataus" diff --git a/packages/SettingsLib/res/values-fr-rCA/strings.xml b/packages/SettingsLib/res/values-fr-rCA/strings.xml index 477e2de128bb9..c5d37da85b1f5 100644 --- a/packages/SettingsLib/res/values-fr-rCA/strings.xml +++ b/packages/SettingsLib/res/values-fr-rCA/strings.xml @@ -477,10 +477,8 @@ "%1$s - %2$s" "%1$s jusqu\'à la recharge complète" "%1$s (%2$s jusqu\'à la recharge complète)" - - - - + "%1$s - Recharge optimisée" + "%1$s - Recharge optimisée" "Inconnu" "Charge en cours…" "Recharge rapide" diff --git a/packages/SettingsLib/res/values-fr/strings.xml b/packages/SettingsLib/res/values-fr/strings.xml index fe1744e3f7e48..e9dc12f813baf 100644 --- a/packages/SettingsLib/res/values-fr/strings.xml +++ b/packages/SettingsLib/res/values-fr/strings.xml @@ -477,10 +477,8 @@ "%1$s – %2$s" "Chargée à 100 %% dans %1$s" "%1$s - chargée à 100 %% dans %2$s" - - - - + "%1$s - Recharge optimisée" + "%1$s - Recharge optimisée" "Inconnu" "Batterie en charge" "Charge rapide" diff --git a/packages/SettingsLib/res/values-gu/strings.xml b/packages/SettingsLib/res/values-gu/strings.xml index 267c4684775d1..e54d0989e9bc3 100644 --- a/packages/SettingsLib/res/values-gu/strings.xml +++ b/packages/SettingsLib/res/values-gu/strings.xml @@ -477,10 +477,8 @@ "%1$s - %2$s" "પૂર્ણ ચાર્જ થવામાં %1$s બાકી છે" "%1$s - પૂર્ણ ચાર્જ થવામાં %2$s બાકી છે" - - - - + "%1$s - ચાર્જિંગ ઑપ્ટિમાઇઝ કરવામાં આવ્યું છે" + "%1$s - ચાર્જિંગ ઑપ્ટિમાઇઝ કરવામાં આવ્યું છે" "અજાણ્યું" "ચાર્જ થઈ રહ્યું છે" "ઝડપથી ચાર્જ થાય છે" diff --git a/packages/SettingsLib/res/values-hi/strings.xml b/packages/SettingsLib/res/values-hi/strings.xml index 0ad754cf2ab2c..d4ef7ea4807f1 100644 --- a/packages/SettingsLib/res/values-hi/strings.xml +++ b/packages/SettingsLib/res/values-hi/strings.xml @@ -477,10 +477,8 @@ "%1$s - %2$s" "%1$s में बैटरी पूरी चार्ज हो जाएगी" "%1$s - %2$s में बैटरी पूरी चार्ज हो जाएगी" - - - - + "%1$s - चार्जिंग को ऑप्टिमाइज़ किया गया" + "%1$s - चार्जिंग को ऑप्टिमाइज़ किया गया" "अज्ञात" "चार्ज हो रही है" "तेज़ चार्ज हो रही है" diff --git a/packages/SettingsLib/res/values-hr/strings.xml b/packages/SettingsLib/res/values-hr/strings.xml index 34c82b14bf8ba..59039b425321e 100644 --- a/packages/SettingsLib/res/values-hr/strings.xml +++ b/packages/SettingsLib/res/values-hr/strings.xml @@ -477,10 +477,8 @@ "%1$s – %2$s" "%1$s do napunjenosti" "%1$s – %2$s do napunjenosti" - - - - + "%1$s – punjenje se optimizira" + "%1$s – punjenje se optimizira" "Nepoznato" "Punjenje" "Brzo punjenje" diff --git a/packages/SettingsLib/res/values-hy/strings.xml b/packages/SettingsLib/res/values-hy/strings.xml index 8442bf5e65493..518161a8a7d7a 100644 --- a/packages/SettingsLib/res/values-hy/strings.xml +++ b/packages/SettingsLib/res/values-hy/strings.xml @@ -477,10 +477,8 @@ "%1$s - %2$s" "%1$s մինչև լրիվ լիցքավորումը" "%1$s – %2$s մինչև լրիվ լիցքավորումը" - - - - + "%1$s – Լիցքավորումն օպտիմալացված է" + "%1$s – Լիցքավորումն օպտիմալացված է" "Անհայտ" "Լիցքավորում" "Արագ լիցքավորում" diff --git a/packages/SettingsLib/res/values-is/strings.xml b/packages/SettingsLib/res/values-is/strings.xml index b011b2d375887..689c1f2cc5541 100644 --- a/packages/SettingsLib/res/values-is/strings.xml +++ b/packages/SettingsLib/res/values-is/strings.xml @@ -477,10 +477,8 @@ "%1$s – %2$s" "%1$s fram að fullri hleðslu" "%1$s - %2$s fram að fullri hleðslu" - - - - + "%1$s - Hleðsla fínstillt" + "%1$s - Hleðsla fínstillt" "Óþekkt" "Í hleðslu" "Hröð hleðsla" diff --git a/packages/SettingsLib/res/values-it/strings.xml b/packages/SettingsLib/res/values-it/strings.xml index b6594434834b2..23e54c33051f5 100644 --- a/packages/SettingsLib/res/values-it/strings.xml +++ b/packages/SettingsLib/res/values-it/strings.xml @@ -477,10 +477,8 @@ "%1$s - %2$s" "%1$s alla ricarica completa" "%1$s - %2$s alla ricarica completa" - - - - + "%1$s - Ricarica ottimizzata" + "%1$s - Ricarica ottimizzata" "Sconosciuta" "In carica" "Ricarica veloce" diff --git a/packages/SettingsLib/res/values-iw/strings.xml b/packages/SettingsLib/res/values-iw/strings.xml index 7303a2da3dff8..6db4ebb0e62cd 100644 --- a/packages/SettingsLib/res/values-iw/strings.xml +++ b/packages/SettingsLib/res/values-iw/strings.xml @@ -477,10 +477,8 @@ "%1$s‏ – %2$s" "הזמן הנותר לטעינה מלאה: %1$s" "%1$s – הזמן הנותר לטעינה מלאה: %2$s" - - - - + "%1$s – הטעינה עברה אופטימיזציה" + "%1$s – הטעינה עברה אופטימיזציה" "לא ידוע" "בטעינה" "הסוללה נטענת מהר" diff --git a/packages/SettingsLib/res/values-ja/strings.xml b/packages/SettingsLib/res/values-ja/strings.xml index 1f80d48c8fcc4..e93b87c0d169d 100644 --- a/packages/SettingsLib/res/values-ja/strings.xml +++ b/packages/SettingsLib/res/values-ja/strings.xml @@ -477,10 +477,8 @@ "%1$s - %2$s" "完了まであと %1$s" "%1$s - 完了まであと %2$s" - - - - + "%1$s - 充電最適化済み" + "%1$s - 充電最適化済み" "不明" "充電中" "急速充電中" diff --git a/packages/SettingsLib/res/values-ka/strings.xml b/packages/SettingsLib/res/values-ka/strings.xml index fd37a86038160..14e82ea2f2b9b 100644 --- a/packages/SettingsLib/res/values-ka/strings.xml +++ b/packages/SettingsLib/res/values-ka/strings.xml @@ -477,10 +477,8 @@ "%1$s - %2$s" "სრულ დატენვამდე დარჩენილია %1$s" "%1$s — სრულ დატენვამდე დარჩენილია %2$s" - - - - + "%1$s - დატენვა ოპტიმიზირებულია" + "%1$s - დატენვა ოპტიმიზირებულია" "უცნობი" "იტენება" "სწრაფად იტენება" diff --git a/packages/SettingsLib/res/values-kk/strings.xml b/packages/SettingsLib/res/values-kk/strings.xml index dea35701839dc..a594c8383332d 100644 --- a/packages/SettingsLib/res/values-kk/strings.xml +++ b/packages/SettingsLib/res/values-kk/strings.xml @@ -477,10 +477,8 @@ "%1$s - %2$s" "Толық зарядталғанға дейін %1$s қалды." "%1$s – толық зарядталғанға дейін %2$s қалды." - - - - + "%1$s – зарядтау оңтайландырылды." + "%1$s – зарядтау оңтайландырылды." "Белгісіз" "Зарядталуда" "Жылдам зарядталуда" diff --git a/packages/SettingsLib/res/values-km/strings.xml b/packages/SettingsLib/res/values-km/strings.xml index 4ed095207cc84..f8c1ffaedbd84 100644 --- a/packages/SettingsLib/res/values-km/strings.xml +++ b/packages/SettingsLib/res/values-km/strings.xml @@ -477,10 +477,8 @@ "%1$s - %2$s" "%1$s ទៀតទើបពេញ" "%1$s - នៅសល់ %2$s ទៀតទើបពេញ" - - - - + "%1$s - បានបង្កើនប្រសិទ្ធភាពនៃការសាក" + "%1$s - បានបង្កើនប្រសិទ្ធភាពនៃការសាក" "មិន​ស្គាល់" "កំពុងសាក​ថ្ម" "កំពុងសាកថ្មយ៉ាងឆាប់រហ័ស" diff --git a/packages/SettingsLib/res/values-kn/strings.xml b/packages/SettingsLib/res/values-kn/strings.xml index e18a3f1bb0cb6..5f7c596d2809c 100644 --- a/packages/SettingsLib/res/values-kn/strings.xml +++ b/packages/SettingsLib/res/values-kn/strings.xml @@ -477,10 +477,8 @@ "%1$s - %2$s" "%1$s - ಸಮಯದಲ್ಲಿ ಪೂರ್ತಿ ಚಾರ್ಜ್ ಆಗುತ್ತದೆ" "%1$s - %2$s ಸಮಯದಲ್ಲಿ ಪೂರ್ತಿ ಚಾರ್ಜ್ ಆಗುತ್ತದೆ" - - - - + "%1$s - ಚಾರ್ಜಿಂಗ್ ಅನ್ನು ಆಪ್ಟಿಮೈಸ್ ಮಾಡಲಾಗಿದೆ" + "%1$s - ಚಾರ್ಜಿಂಗ್ ಅನ್ನು ಆಪ್ಟಿಮೈಸ್ ಮಾಡಲಾಗಿದೆ" "ಅಪರಿಚಿತ" "ಚಾರ್ಜ್ ಆಗುತ್ತಿದೆ" "ವೇಗದ ಚಾರ್ಜಿಂಗ್" diff --git a/packages/SettingsLib/res/values-ko/strings.xml b/packages/SettingsLib/res/values-ko/strings.xml index 42ec09c94a8d8..5a4374023aa6a 100644 --- a/packages/SettingsLib/res/values-ko/strings.xml +++ b/packages/SettingsLib/res/values-ko/strings.xml @@ -477,10 +477,8 @@ "%1$s - %2$s" "%1$s 후 충전 완료" "%1$s: %2$s 후 충전 완료" - - - - + "%1$s: 충전 최적화됨" + "%1$s: 충전 최적화됨" "알 수 없음" "충전 중" "고속 충전 중" diff --git a/packages/SettingsLib/res/values-ky/strings.xml b/packages/SettingsLib/res/values-ky/strings.xml index 1e3453bf40180..a904fb2ac421e 100644 --- a/packages/SettingsLib/res/values-ky/strings.xml +++ b/packages/SettingsLib/res/values-ky/strings.xml @@ -477,10 +477,8 @@ "%1$s - %2$s" "%1$s кийин толук кубатталат" "%1$s – %2$s кийин толук кубатталат" - - - - + "%1$s — Кубаттоо жакшыртылды" + "%1$s — Кубаттоо жакшыртылды" "Белгисиз" "Кубатталууда" "Ыкчам кубатталууда" diff --git a/packages/SettingsLib/res/values-lo/strings.xml b/packages/SettingsLib/res/values-lo/strings.xml index 63ff4df43bf42..ee6c02f81de5f 100644 --- a/packages/SettingsLib/res/values-lo/strings.xml +++ b/packages/SettingsLib/res/values-lo/strings.xml @@ -477,10 +477,8 @@ "%1$s - %2$s" "ຍັງເຫຼືອອີກ %1$s ຈຶ່ງຈະສາກເຕັມ" "ຍັງເຫຼືອອີກ %1$s - %2$s ຈຶ່ງຈະສາກເຕັມ" - - - - + "%1$s - ການສາກຖືກປັບໃຫ້ເໝາະສົມແລ້ວ" + "%1$s - ການສາກຖືກປັບໃຫ້ເໝາະສົມແລ້ວ" "ບໍ່ຮູ້ຈັກ" "ກຳລັງສາກໄຟ" "ກຳລັງສາກໄຟດ່ວນ" diff --git a/packages/SettingsLib/res/values-lt/strings.xml b/packages/SettingsLib/res/values-lt/strings.xml index 765fb10c35159..1314771b8aa77 100644 --- a/packages/SettingsLib/res/values-lt/strings.xml +++ b/packages/SettingsLib/res/values-lt/strings.xml @@ -477,10 +477,8 @@ "%1$s – %2$s" "Liko %1$s, kol bus visiškai įkrauta" "%1$s – liko %2$s, kol bus visiškai įkrauta" - - - - + "%1$s – įkrovimas optimizuotas" + "%1$s – įkrovimas optimizuotas" "Nežinomas" "Kraunasi..." "Greitai įkraunama" diff --git a/packages/SettingsLib/res/values-lv/strings.xml b/packages/SettingsLib/res/values-lv/strings.xml index 222e41a047cb4..69cef9d274fe6 100644 --- a/packages/SettingsLib/res/values-lv/strings.xml +++ b/packages/SettingsLib/res/values-lv/strings.xml @@ -477,10 +477,8 @@ "%1$s — %2$s" "%1$s līdz pilnai uzlādei" "%1$s — %2$s līdz pilnai uzlādei" - - - - + "%1$s — uzlāde optimizēta" + "%1$s — uzlāde optimizēta" "Nezināms" "Uzlāde" "Notiek ātrā uzlāde" diff --git a/packages/SettingsLib/res/values-mk/strings.xml b/packages/SettingsLib/res/values-mk/strings.xml index f672c60704442..729d9fd74c91d 100644 --- a/packages/SettingsLib/res/values-mk/strings.xml +++ b/packages/SettingsLib/res/values-mk/strings.xml @@ -477,10 +477,8 @@ "%1$s – %2$s" "%1$s до полна батерија" "%1$s - %2$s до полна батерија" - - - - + "%1$s - Полнењето е оптимизирано" + "%1$s - Полнењето е оптимизирано" "Непознато" "Се полни" "Брзо полнење" diff --git a/packages/SettingsLib/res/values-ml/strings.xml b/packages/SettingsLib/res/values-ml/strings.xml index e6ccc5a9e4a2f..b07ff67b939b1 100644 --- a/packages/SettingsLib/res/values-ml/strings.xml +++ b/packages/SettingsLib/res/values-ml/strings.xml @@ -477,10 +477,8 @@ "%1$s - %2$s" "പൂർണ്ണമാകാൻ %1$s ശേഷിക്കുന്നു" "%1$s - പൂർണ്ണമാകാൻ %2$s ശേഷിക്കുന്നു" - - - - + "%1$s - ചാർജിംഗ് ഒപ്റ്റിമൈസ് ചെയ്തു" + "%1$s - ചാർജിംഗ് ഒപ്റ്റിമൈസ് ചെയ്തു" "അജ്ഞാതം" "ചാർജ് ചെയ്യുന്നു" "അതിവേഗ ചാർജിംഗ്" diff --git a/packages/SettingsLib/res/values-mn/strings.xml b/packages/SettingsLib/res/values-mn/strings.xml index 71630d49bf71a..e38836620b50f 100644 --- a/packages/SettingsLib/res/values-mn/strings.xml +++ b/packages/SettingsLib/res/values-mn/strings.xml @@ -477,10 +477,8 @@ "%1$s - %2$s" "Дүүрэх хүртэл %1$s үлдсэн" "%1$s - дүүрэх хүртэл %2$s үлдсэн" - - - - + "%1$s - Цэнэглэх явцыг оновчилсон" + "%1$s - Цэнэглэх явцыг оновчилсон" "Тодорхойгүй" "Цэнэглэж байна" "Хурдан цэнэглэж байна" diff --git a/packages/SettingsLib/res/values-mr/strings.xml b/packages/SettingsLib/res/values-mr/strings.xml index 0493ffeb58c08..b611ae1992879 100644 --- a/packages/SettingsLib/res/values-mr/strings.xml +++ b/packages/SettingsLib/res/values-mr/strings.xml @@ -477,10 +477,8 @@ "%1$s - %2$s" "पूर्ण चार्ज होण्यासाठी %1$s शिल्लक आहेत" "%1$s - पूर्ण चार्ज होण्यासाठी %2$s शिल्लक आहे" - - - - + "%1$s - चार्जिंग ऑप्टिमाइझ केले" + "%1$s - चार्जिंग ऑप्टिमाइझ केले" "अज्ञात" "चार्ज होत आहे" "वेगाने चार्ज होत आहे" diff --git a/packages/SettingsLib/res/values-ms/strings.xml b/packages/SettingsLib/res/values-ms/strings.xml index bb3b65b3f2ba2..16edeb9eb4cf0 100644 --- a/packages/SettingsLib/res/values-ms/strings.xml +++ b/packages/SettingsLib/res/values-ms/strings.xml @@ -477,10 +477,8 @@ "%1$s - %2$s" "%1$s lagi sebelum penuh" "%1$s - %2$s lagi sebelum penuh" - - - - + "%1$s - Pengecasan dioptimumkan" + "%1$s - Pengecasan dioptimumkan" "Tidak diketahui" "Mengecas" "Mengecas dgn cepat" diff --git a/packages/SettingsLib/res/values-my/strings.xml b/packages/SettingsLib/res/values-my/strings.xml index 5bcaa273e9aef..91ab0242d73e1 100644 --- a/packages/SettingsLib/res/values-my/strings.xml +++ b/packages/SettingsLib/res/values-my/strings.xml @@ -477,10 +477,8 @@ "%1$s - %2$s" "အားပြည့်ရန် %1$s လိုသည်" "အားပြည့်ရန် %1$s - %2$s လိုသည်" - - - - + "%1$s - အားသွင်းခြင်းကို အကောင်းဆုံးပြင်ဆင်ထားသည်" + "%1$s - အားသွင်းခြင်းကို အကောင်းဆုံးပြင်ဆင်ထားသည်" "မသိ" "အားသွင်းနေပါသည်" "အမြန် အားသွင်းနေသည်" diff --git a/packages/SettingsLib/res/values-nb/strings.xml b/packages/SettingsLib/res/values-nb/strings.xml index e42e93979246c..aede28a316bf1 100644 --- a/packages/SettingsLib/res/values-nb/strings.xml +++ b/packages/SettingsLib/res/values-nb/strings.xml @@ -477,10 +477,8 @@ "%1$s – %2$s" "Fulladet om %1$s" "%1$s – Fulladet om %2$s" - - - - + "%1$s – Ladingen er optimalisert" + "%1$s – Ladingen er optimalisert" "Ukjent" "Lader" "Lader raskt" diff --git a/packages/SettingsLib/res/values-ne/strings.xml b/packages/SettingsLib/res/values-ne/strings.xml index 8c5171b485c96..637d013bc503d 100644 --- a/packages/SettingsLib/res/values-ne/strings.xml +++ b/packages/SettingsLib/res/values-ne/strings.xml @@ -477,10 +477,8 @@ "%1$s - %2$s" "पूरा चार्ज हुन %1$s लाग्ने छ" "%1$s - पूरा चार्ज हुन %2$s लाग्ने छ" - - - - + "%1$s - चार्ज गर्ने प्रक्रिया अप्टिमाइज गरिएको छ" + "%1$s - चार्ज गर्ने प्रक्रिया अप्टिमाइज गरिएको छ" "अज्ञात" "चार्ज हुँदै छ" "द्रुत गतिमा चार्ज गरिँदै छ" diff --git a/packages/SettingsLib/res/values-nl/strings.xml b/packages/SettingsLib/res/values-nl/strings.xml index aa70f9b3d7a90..8ee274b2cd15f 100644 --- a/packages/SettingsLib/res/values-nl/strings.xml +++ b/packages/SettingsLib/res/values-nl/strings.xml @@ -477,10 +477,8 @@ "%1$s - %2$s" "Vol over %1$s" "%1$s - vol over %2$s" - - - - + "%1$s - Opladen geoptimaliseerd" + "%1$s - Opladen geoptimaliseerd" "Onbekend" "Opladen" "Snel opladen" diff --git a/packages/SettingsLib/res/values-or/strings.xml b/packages/SettingsLib/res/values-or/strings.xml index a39e0ec0a2fd6..b18c53bc22200 100644 --- a/packages/SettingsLib/res/values-or/strings.xml +++ b/packages/SettingsLib/res/values-or/strings.xml @@ -477,10 +477,8 @@ "%1$s - %2$s" "ପୂର୍ଣ୍ଣ ହେବାକୁ ଆଉ %1$s ବାକି ଅଛି" "%1$s - ପୂର୍ଣ୍ଣ ହେବାକୁ ଆଉ %2$s ବାକି ଅଛି" - - - - + "%1$s - ଚାର୍ଜିଂକୁ ଅପ୍ଟିମାଇଜ କରାଯାଇଛି" + "%1$s - ଚାର୍ଜିଂକୁ ଅପ୍ଟିମାଇଜ କରାଯାଇଛି" "ଅଜ୍ଞାତ" "ଚାର୍ଜ ହେଉଛି" "ଶୀଘ୍ର ଚାର୍ଜ ହେଉଛି" diff --git a/packages/SettingsLib/res/values-pa/strings.xml b/packages/SettingsLib/res/values-pa/strings.xml index 4a729c9a905f9..2d376b6403129 100644 --- a/packages/SettingsLib/res/values-pa/strings.xml +++ b/packages/SettingsLib/res/values-pa/strings.xml @@ -477,10 +477,8 @@ "%1$s - %2$s" "ਬੈਟਰੀ ਪੂਰੀ ਚਾਰਜ ਹੋਣ ਵਿੱਚ %1$s ਬਾਕੀ" "%1$s - ਬੈਟਰੀ ਪੂਰੀ ਚਾਰਜ ਹੋਣ ਵਿੱਚ %2$s ਬਾਕੀ" - - - - + "%1$s - ਚਾਰਜਿੰਗ ਨੂੰ ਸੁਯੋਗ ਬਣਾਇਆ ਗਿਆ" + "%1$s - ਚਾਰਜਿੰਗ ਨੂੰ ਸੁਯੋਗ ਬਣਾਇਆ ਗਿਆ" "ਅਗਿਆਤ" "ਚਾਰਜ ਹੋ ਰਹੀ ਹੈ" "ਤੇਜ਼ ਚਾਰਜ ਹੋ ਰਹੀ ਹੈ" diff --git a/packages/SettingsLib/res/values-pl/strings.xml b/packages/SettingsLib/res/values-pl/strings.xml index 935ac2d7a6cfc..b18d819735364 100644 --- a/packages/SettingsLib/res/values-pl/strings.xml +++ b/packages/SettingsLib/res/values-pl/strings.xml @@ -477,10 +477,8 @@ "%1$s – %2$s" "%1$s do pełnego naładowania" "%1$s – %2$s do pełnego naładowania" - - - - + "%1$s – ładowanie zoptymalizowane" + "%1$s – ładowanie zoptymalizowane" "Nieznane" "Ładowanie" "Szybkie ładowanie" diff --git a/packages/SettingsLib/res/values-pt-rBR/strings.xml b/packages/SettingsLib/res/values-pt-rBR/strings.xml index 0ada85ce505a3..816108e52bcf6 100644 --- a/packages/SettingsLib/res/values-pt-rBR/strings.xml +++ b/packages/SettingsLib/res/values-pt-rBR/strings.xml @@ -477,10 +477,8 @@ "%1$s - %2$s" "%1$s até a conclusão" "%1$s: %2$s até a conclusão" - - - - + "%1$s - Carregamento otimizado" + "%1$s - Carregamento otimizado" "Desconhecido" "Carregando" "Carregando rápido" diff --git a/packages/SettingsLib/res/values-pt-rPT/strings.xml b/packages/SettingsLib/res/values-pt-rPT/strings.xml index fca397d4c1f46..d241f3842cf2b 100644 --- a/packages/SettingsLib/res/values-pt-rPT/strings.xml +++ b/packages/SettingsLib/res/values-pt-rPT/strings.xml @@ -477,10 +477,8 @@ "%1$s – %2$s" "%1$s até à carga máxima" "%1$s – %2$s até à carga máxima" - - - - + "%1$s: carregamento otimizado" + "%1$s: carregamento otimizado" "Desconhecido" "A carregar" "Carregamento rápido" diff --git a/packages/SettingsLib/res/values-pt/strings.xml b/packages/SettingsLib/res/values-pt/strings.xml index 0ada85ce505a3..816108e52bcf6 100644 --- a/packages/SettingsLib/res/values-pt/strings.xml +++ b/packages/SettingsLib/res/values-pt/strings.xml @@ -477,10 +477,8 @@ "%1$s - %2$s" "%1$s até a conclusão" "%1$s: %2$s até a conclusão" - - - - + "%1$s - Carregamento otimizado" + "%1$s - Carregamento otimizado" "Desconhecido" "Carregando" "Carregando rápido" diff --git a/packages/SettingsLib/res/values-ro/strings.xml b/packages/SettingsLib/res/values-ro/strings.xml index 0ce8f46a77009..ea5faa8dee93b 100644 --- a/packages/SettingsLib/res/values-ro/strings.xml +++ b/packages/SettingsLib/res/values-ro/strings.xml @@ -477,10 +477,8 @@ "%1$s - %2$s" "%1$s până la finalizare" "%1$s – %2$s până la finalizare" - - - - + "%1$s – Încărcare optimizată" + "%1$s – Încărcare optimizată" "Necunoscut" "Se încarcă" "Se încarcă rapid" diff --git a/packages/SettingsLib/res/values-ru/strings.xml b/packages/SettingsLib/res/values-ru/strings.xml index ac97cb8916a78..9e4f23cc5a563 100644 --- a/packages/SettingsLib/res/values-ru/strings.xml +++ b/packages/SettingsLib/res/values-ru/strings.xml @@ -477,10 +477,8 @@ "%1$s – %2$s" "%1$s до полной зарядки" "%1$s – %2$s до полной зарядки" - - - - + "%1$s – зарядка оптимизирована" + "%1$s – зарядка оптимизирована" "Неизвестно" "Идет зарядка" "Быстрая зарядка" diff --git a/packages/SettingsLib/res/values-si/strings.xml b/packages/SettingsLib/res/values-si/strings.xml index 099202cd795a2..0fb7ebfadc643 100644 --- a/packages/SettingsLib/res/values-si/strings.xml +++ b/packages/SettingsLib/res/values-si/strings.xml @@ -477,10 +477,8 @@ "%1$s - %2$s" "සම්පූර්ණ වීමට %1$sක් ඉතිරියි" "%1$s - සම්පූර්ණ වීමට %2$sක් ඉතිරියි" - - - - + "%1$s - ආරෝපණය ප්‍රශස්ත කර ඇත" + "%1$s - ආරෝපණය ප්‍රශස්ත කර ඇත" "නොදනී" "ආරෝපණය වෙමින්" "ශීඝ්‍ර ආරෝපණය" diff --git a/packages/SettingsLib/res/values-sk/strings.xml b/packages/SettingsLib/res/values-sk/strings.xml index 06e822eca47e0..1d187039f3690 100644 --- a/packages/SettingsLib/res/values-sk/strings.xml +++ b/packages/SettingsLib/res/values-sk/strings.xml @@ -477,10 +477,8 @@ "%1$s – %2$s" "%1$s do úplného nabitia" "%1$s – %2$s do úplného nabitia" - - - - + "%1$s - Nabíjanie je optimalizované" + "%1$s - Nabíjanie je optimalizované" "Neznáme" "Nabíja sa" "Rýchle nabíjanie" diff --git a/packages/SettingsLib/res/values-sl/strings.xml b/packages/SettingsLib/res/values-sl/strings.xml index 4e4d540211090..f3ad4a3c7f37d 100644 --- a/packages/SettingsLib/res/values-sl/strings.xml +++ b/packages/SettingsLib/res/values-sl/strings.xml @@ -477,10 +477,8 @@ "%1$s – %2$s" "Še %1$s do napolnjenosti" "%1$s – še %2$s do napolnjenosti" - - - - + "%1$s – polnjenje je optimizirano" + "%1$s – polnjenje je optimizirano" "Neznano" "Polnjenje" "Hitro polnjenje" diff --git a/packages/SettingsLib/res/values-sq/strings.xml b/packages/SettingsLib/res/values-sq/strings.xml index 86aaf6addfc07..b8f3dc24878da 100644 --- a/packages/SettingsLib/res/values-sq/strings.xml +++ b/packages/SettingsLib/res/values-sq/strings.xml @@ -477,10 +477,8 @@ "%1$s - %2$s" "%1$s derisa të mbushet" "%1$s - %2$s derisa të mbushet" - - - - + "%1$s - Karikimi u optimizua" + "%1$s - Karikimi u optimizua" "I panjohur" "Po karikohet" "Karikim i shpejtë" diff --git a/packages/SettingsLib/res/values-sr/strings.xml b/packages/SettingsLib/res/values-sr/strings.xml index 68af01973d563..361826cf7f2ab 100644 --- a/packages/SettingsLib/res/values-sr/strings.xml +++ b/packages/SettingsLib/res/values-sr/strings.xml @@ -477,10 +477,8 @@ "%1$s – %2$s" "%1$s до краја пуњења" "%1$s – %2$s до краја пуњења" - - - - + "%1$s – пуњење је оптимизовано" + "%1$s – пуњење је оптимизовано" "Непознато" "Пуни се" "Брзо се пуни" diff --git a/packages/SettingsLib/res/values-sv/strings.xml b/packages/SettingsLib/res/values-sv/strings.xml index 0b2939e80c1b2..ae1cab3bd78e4 100644 --- a/packages/SettingsLib/res/values-sv/strings.xml +++ b/packages/SettingsLib/res/values-sv/strings.xml @@ -477,10 +477,8 @@ "%1$s – %2$s" "%1$s kvar tills fulladdat" "%1$s – %2$s kvar tills fulladdat" - - - - + "%1$s - Laddningen har optimerats" + "%1$s - Laddningen har optimerats" "Okänd" "Laddar" "Laddas snabbt" diff --git a/packages/SettingsLib/res/values-sw/strings.xml b/packages/SettingsLib/res/values-sw/strings.xml index 49486670cde9f..172c7a0b8939c 100644 --- a/packages/SettingsLib/res/values-sw/strings.xml +++ b/packages/SettingsLib/res/values-sw/strings.xml @@ -477,10 +477,8 @@ "%1$s - %2$s" "Zimesalia %1$s ijae chaji" "%1$s - %2$s zimesalia ijae chaji" - - - - + "%1$s - Hali ya kuchaji imeboreshwa" + "%1$s - Hali ya kuchaji imeboreshwa" "Haijulikani" "Inachaji" "Inachaji kwa kasi" diff --git a/packages/SettingsLib/res/values-ta/strings.xml b/packages/SettingsLib/res/values-ta/strings.xml index 9b229731781e9..6af4df83150c3 100644 --- a/packages/SettingsLib/res/values-ta/strings.xml +++ b/packages/SettingsLib/res/values-ta/strings.xml @@ -477,10 +477,8 @@ "%1$s - %2$s" "முழுவதும் சார்ஜாக %1$s ஆகும்" "%1$s - முழுவதும் சார்ஜாக %2$s ஆகும்" - - - - + "%1$s - சார்ஜிங் மேம்படுத்தப்பட்டது" + "%1$s - சார்ஜிங் மேம்படுத்தப்பட்டது" "அறியப்படாத" "சார்ஜ் ஆகிறது" "வேகமாக சார்ஜாகிறது" diff --git a/packages/SettingsLib/res/values-te/strings.xml b/packages/SettingsLib/res/values-te/strings.xml index 311d3c96a47b0..73fd3cf3da136 100644 --- a/packages/SettingsLib/res/values-te/strings.xml +++ b/packages/SettingsLib/res/values-te/strings.xml @@ -477,10 +477,8 @@ "%1$s - %2$s" "%1$sలో పూర్తిగా ఛార్జ్ అవుతుంది" "%1$s - %2$sలో పూర్తిగా ఛార్జ్ అవుతుంది" - - - - + "%1$s - ఛార్జింగ్ ఆప్టిమైజ్ చేయబడింది" + "%1$s - ఛార్జింగ్ ఆప్టిమైజ్ చేయబడింది" "తెలియదు" "ఛార్జ్ అవుతోంది" "వేగవంతమైన ఛార్జింగ్" diff --git a/packages/SettingsLib/res/values-th/strings.xml b/packages/SettingsLib/res/values-th/strings.xml index 680e7d69fce7a..c308c7f80d9c2 100644 --- a/packages/SettingsLib/res/values-th/strings.xml +++ b/packages/SettingsLib/res/values-th/strings.xml @@ -477,10 +477,8 @@ "%1$s - %2$s" "อีก %1$sจึงจะเต็ม" "%1$s - อีก %2$s จึงจะเต็ม" - - - - + "%1$s - ปรับการชาร์จให้เหมาะสมแล้ว" + "%1$s - ปรับการชาร์จให้เหมาะสมแล้ว" "ไม่ทราบ" "กำลังชาร์จ" "กำลังชาร์จอย่างเร็ว" diff --git a/packages/SettingsLib/res/values-tl/strings.xml b/packages/SettingsLib/res/values-tl/strings.xml index f4bf11d9299da..a19fda52f2a36 100644 --- a/packages/SettingsLib/res/values-tl/strings.xml +++ b/packages/SettingsLib/res/values-tl/strings.xml @@ -477,10 +477,8 @@ "%1$s - %2$s" "%1$s na lang bago mapuno" "%1$s - %2$s na lang bago mapuno" - - - - + "%1$s - Naka-optimize ang pag-charge" + "%1$s - Naka-optimize ang pag-charge" "Hindi Kilala" "Nagcha-charge" "Mabilis na charge" diff --git a/packages/SettingsLib/res/values-tr/strings.xml b/packages/SettingsLib/res/values-tr/strings.xml index 74762a6db77e9..738e97e6d6596 100644 --- a/packages/SettingsLib/res/values-tr/strings.xml +++ b/packages/SettingsLib/res/values-tr/strings.xml @@ -477,10 +477,8 @@ "%1$s - %2$s" "Tamamen şarj olmasına %1$s kaldı" "%1$s - Tamamen şarj olmasına %2$s kaldı" - - - - + "%1$s - Şarj işlemi optimize edildi" + "%1$s - Şarj işlemi optimize edildi" "Bilinmiyor" "Şarj oluyor" "Hızlı şarj oluyor" diff --git a/packages/SettingsLib/res/values-uk/strings.xml b/packages/SettingsLib/res/values-uk/strings.xml index 19b2496569aaf..41fd9f76c4cc7 100644 --- a/packages/SettingsLib/res/values-uk/strings.xml +++ b/packages/SettingsLib/res/values-uk/strings.xml @@ -477,10 +477,8 @@ "%1$s – %2$s" "%1$s до повного заряду" "%1$s – %2$s до повного заряду" - - - - + "%1$s – заряджання оптимізовано" + "%1$s – заряджання оптимізовано" "Невідомо" "Заряджається" "Швидке заряджання" diff --git a/packages/SettingsLib/res/values-ur/strings.xml b/packages/SettingsLib/res/values-ur/strings.xml index 112217d7b0869..ecd55ea55a4e3 100644 --- a/packages/SettingsLib/res/values-ur/strings.xml +++ b/packages/SettingsLib/res/values-ur/strings.xml @@ -477,10 +477,8 @@ "‎%1$s - %2$s‎" "مکمل چارج ہونے میں %1$s باقی ہے" "مکمل چارج ہونے میں %1$s - %2$s باقی ہے" - - - - + "%1$s - چارجنگ کو بہتر بنایا گیا" + "%1$s - چارجنگ کو بہتر بنایا گیا" "نامعلوم" "چارج ہو رہا ہے" "تیزی سے چارج ہو رہا ہے" diff --git a/packages/SettingsLib/res/values-uz/strings.xml b/packages/SettingsLib/res/values-uz/strings.xml index 6ce70538c1acf..7e41bcba328ed 100644 --- a/packages/SettingsLib/res/values-uz/strings.xml +++ b/packages/SettingsLib/res/values-uz/strings.xml @@ -477,10 +477,8 @@ "%1$s – %2$s" "Toʻlishiga %1$s qoldi" "%1$s – Toʻlishiga %2$s qoldi" - - - - + "%1$s - Quvvatlash optimallandi" + "%1$s - Quvvatlash optimallandi" "Noma’lum" "Quvvat olmoqda" "Tezkor quvvat olmoqda" diff --git a/packages/SettingsLib/res/values-vi/strings.xml b/packages/SettingsLib/res/values-vi/strings.xml index b9121ab4695d4..7f9d858d656a7 100644 --- a/packages/SettingsLib/res/values-vi/strings.xml +++ b/packages/SettingsLib/res/values-vi/strings.xml @@ -477,10 +477,8 @@ "%1$s - %2$s" "%1$s nữa là pin đầy" "%1$s – %2$s nữa là pin đầy" - - - - + "%1$s – Quá trình sạc được tối ưu hoá" + "%1$s – Quá trình sạc được tối ưu hoá" "Không xác định" "Đang sạc" "Đang sạc nhanh" diff --git a/packages/SettingsLib/res/values-zh-rHK/strings.xml b/packages/SettingsLib/res/values-zh-rHK/strings.xml index fd607226ce18c..23c0203159747 100644 --- a/packages/SettingsLib/res/values-zh-rHK/strings.xml +++ b/packages/SettingsLib/res/values-zh-rHK/strings.xml @@ -477,10 +477,8 @@ "%1$s - %2$s" "%1$s後充滿電" "%1$s - %2$s後充滿電" - - - - + "%1$s - 已優化充電" + "%1$s - 已優化充電" "未知" "充電中" "快速充電中" diff --git a/packages/SettingsLib/res/values-zh-rTW/strings.xml b/packages/SettingsLib/res/values-zh-rTW/strings.xml index 3ae32b414f2d5..47629c70b4663 100644 --- a/packages/SettingsLib/res/values-zh-rTW/strings.xml +++ b/packages/SettingsLib/res/values-zh-rTW/strings.xml @@ -477,10 +477,8 @@ "%1$s - %2$s" "%1$s後充飽" "%1$s - %2$s後充飽" - - - - + "%1$s - 充電效能已最佳化" + "%1$s - 充電效能將最佳化" "不明" "充電中" "快速充電中" diff --git a/packages/SystemUI/Android.bp b/packages/SystemUI/Android.bp index 6b4d5ae86d1e9..e148d4f547a43 100644 --- a/packages/SystemUI/Android.bp +++ b/packages/SystemUI/Android.bp @@ -60,7 +60,7 @@ systemui_compose_java_defaults { // except for SystemUI-core. // Copied from compose/features/Android.bp. static_libs: [ - "SystemUIComposeCore", + "PlatformComposeCore", "androidx.compose.runtime_runtime", "androidx.compose.material3_material3", diff --git a/packages/SystemUI/AndroidManifest.xml b/packages/SystemUI/AndroidManifest.xml index 2f5b42ffe641d..810dd33ae17a0 100644 --- a/packages/SystemUI/AndroidManifest.xml +++ b/packages/SystemUI/AndroidManifest.xml @@ -193,7 +193,7 @@ - @@ -1003,10 +1003,10 @@ diff --git a/packages/SystemUI/compose/core/Android.bp b/packages/SystemUI/compose/core/Android.bp index fbdb526d6b312..ab3efb8861820 100644 --- a/packages/SystemUI/compose/core/Android.bp +++ b/packages/SystemUI/compose/core/Android.bp @@ -22,7 +22,7 @@ package { } android_library { - name: "SystemUIComposeCore", + name: "PlatformComposeCore", manifest: "AndroidManifest.xml", srcs: [ diff --git a/packages/SystemUI/compose/core/AndroidManifest.xml b/packages/SystemUI/compose/core/AndroidManifest.xml index 83c442d2d6f24..20543dbca5222 100644 --- a/packages/SystemUI/compose/core/AndroidManifest.xml +++ b/packages/SystemUI/compose/core/AndroidManifest.xml @@ -16,7 +16,7 @@ --> + package="com.android.compose.core"> diff --git a/packages/SystemUI/compose/core/TEST_MAPPING b/packages/SystemUI/compose/core/TEST_MAPPING index dc243d2fd8f58..ee95f737c1132 100644 --- a/packages/SystemUI/compose/core/TEST_MAPPING +++ b/packages/SystemUI/compose/core/TEST_MAPPING @@ -1,7 +1,7 @@ { "presubmit": [ { - "name": "SystemUIComposeCoreTests", + "name": "PlatformComposeCoreTests", "options": [ { "exclude-annotation": "org.junit.Ignore" diff --git a/packages/SystemUI/compose/core/src/com/android/systemui/compose/SystemUiButtons.kt b/packages/SystemUI/compose/core/src/com/android/compose/PlatformButtons.kt similarity index 94% rename from packages/SystemUI/compose/core/src/com/android/systemui/compose/SystemUiButtons.kt rename to packages/SystemUI/compose/core/src/com/android/compose/PlatformButtons.kt index 496f4b3460f71..d1ee18adaf6e7 100644 --- a/packages/SystemUI/compose/core/src/com/android/systemui/compose/SystemUiButtons.kt +++ b/packages/SystemUI/compose/core/src/com/android/compose/PlatformButtons.kt @@ -15,7 +15,7 @@ * */ -package com.android.systemui.compose +package com.android.compose import androidx.compose.foundation.BorderStroke import androidx.compose.foundation.layout.PaddingValues @@ -27,10 +27,10 @@ import androidx.compose.material3.ButtonDefaults import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.unit.dp -import com.android.systemui.compose.theme.LocalAndroidColorScheme +import com.android.compose.theme.LocalAndroidColorScheme @Composable -fun SysUiButton( +fun PlatformButton( onClick: () -> Unit, modifier: Modifier = Modifier, enabled: Boolean = true, @@ -48,7 +48,7 @@ fun SysUiButton( } @Composable -fun SysUiOutlinedButton( +fun PlatformOutlinedButton( onClick: () -> Unit, modifier: Modifier = Modifier, enabled: Boolean = true, @@ -67,7 +67,7 @@ fun SysUiOutlinedButton( } @Composable -fun SysUiTextButton( +fun PlatformTextButton( onClick: () -> Unit, modifier: Modifier = Modifier, enabled: Boolean = true, diff --git a/packages/SystemUI/compose/core/src/com/android/systemui/compose/SystemUiController.kt b/packages/SystemUI/compose/core/src/com/android/compose/SystemUiController.kt similarity index 99% rename from packages/SystemUI/compose/core/src/com/android/systemui/compose/SystemUiController.kt rename to packages/SystemUI/compose/core/src/com/android/compose/SystemUiController.kt index c9470c8dbe3a5..a02954ab48009 100644 --- a/packages/SystemUI/compose/core/src/com/android/systemui/compose/SystemUiController.kt +++ b/packages/SystemUI/compose/core/src/com/android/compose/SystemUiController.kt @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.systemui.compose +package com.android.compose import android.app.Activity import android.content.Context diff --git a/packages/SystemUI/compose/core/src/com/android/systemui/compose/animation/Expandable.kt b/packages/SystemUI/compose/core/src/com/android/compose/animation/Expandable.kt similarity index 99% rename from packages/SystemUI/compose/core/src/com/android/systemui/compose/animation/Expandable.kt rename to packages/SystemUI/compose/core/src/com/android/compose/animation/Expandable.kt index d31ca511130b9..259f0ed5c7a10 100644 --- a/packages/SystemUI/compose/core/src/com/android/systemui/compose/animation/Expandable.kt +++ b/packages/SystemUI/compose/core/src/com/android/compose/animation/Expandable.kt @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.systemui.compose.animation +package com.android.compose.animation import android.content.Context import android.view.View diff --git a/packages/SystemUI/compose/core/src/com/android/systemui/compose/animation/ExpandableController.kt b/packages/SystemUI/compose/core/src/com/android/compose/animation/ExpandableController.kt similarity index 99% rename from packages/SystemUI/compose/core/src/com/android/systemui/compose/animation/ExpandableController.kt rename to packages/SystemUI/compose/core/src/com/android/compose/animation/ExpandableController.kt index f75b3a8a61c42..edb10c7d392f4 100644 --- a/packages/SystemUI/compose/core/src/com/android/systemui/compose/animation/ExpandableController.kt +++ b/packages/SystemUI/compose/core/src/com/android/compose/animation/ExpandableController.kt @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.systemui.compose.animation +package com.android.compose.animation import android.view.View import android.view.ViewGroup diff --git a/packages/SystemUI/compose/core/src/com/android/systemui/compose/animation/ViewTreeSavedStateRegistryOwner.kt b/packages/SystemUI/compose/core/src/com/android/compose/animation/ViewTreeSavedStateRegistryOwner.kt similarity index 96% rename from packages/SystemUI/compose/core/src/com/android/systemui/compose/animation/ViewTreeSavedStateRegistryOwner.kt rename to packages/SystemUI/compose/core/src/com/android/compose/animation/ViewTreeSavedStateRegistryOwner.kt index 79f1cad1eb936..d400f77573e32 100644 --- a/packages/SystemUI/compose/core/src/com/android/systemui/compose/animation/ViewTreeSavedStateRegistryOwner.kt +++ b/packages/SystemUI/compose/core/src/com/android/compose/animation/ViewTreeSavedStateRegistryOwner.kt @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.systemui.compose.animation +package com.android.compose.animation import android.view.View import androidx.savedstate.SavedStateRegistryOwner diff --git a/packages/SystemUI/compose/core/src/com/android/systemui/compose/modifiers/FadingBackground.kt b/packages/SystemUI/compose/core/src/com/android/compose/modifiers/FadingBackground.kt similarity index 98% rename from packages/SystemUI/compose/core/src/com/android/systemui/compose/modifiers/FadingBackground.kt rename to packages/SystemUI/compose/core/src/com/android/compose/modifiers/FadingBackground.kt index 121bf2cf8a053..13c24642be4f2 100644 --- a/packages/SystemUI/compose/core/src/com/android/systemui/compose/modifiers/FadingBackground.kt +++ b/packages/SystemUI/compose/core/src/com/android/compose/modifiers/FadingBackground.kt @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.systemui.compose.modifiers +package com.android.compose.modifiers import androidx.compose.ui.Modifier import androidx.compose.ui.draw.DrawModifier diff --git a/packages/SystemUI/compose/core/src/com/android/systemui/compose/modifiers/Padding.kt b/packages/SystemUI/compose/core/src/com/android/compose/modifiers/Padding.kt similarity index 99% rename from packages/SystemUI/compose/core/src/com/android/systemui/compose/modifiers/Padding.kt rename to packages/SystemUI/compose/core/src/com/android/compose/modifiers/Padding.kt index 3b13c0b78cbe2..d9bc9c972a996 100644 --- a/packages/SystemUI/compose/core/src/com/android/systemui/compose/modifiers/Padding.kt +++ b/packages/SystemUI/compose/core/src/com/android/compose/modifiers/Padding.kt @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.systemui.compose.modifiers +package com.android.compose.modifiers import androidx.compose.ui.Modifier import androidx.compose.ui.layout.LayoutModifier diff --git a/packages/SystemUI/compose/core/src/com/android/systemui/compose/modifiers/Size.kt b/packages/SystemUI/compose/core/src/com/android/compose/modifiers/Size.kt similarity index 99% rename from packages/SystemUI/compose/core/src/com/android/systemui/compose/modifiers/Size.kt rename to packages/SystemUI/compose/core/src/com/android/compose/modifiers/Size.kt index 570d24312c80e..ec1b966551a3c 100644 --- a/packages/SystemUI/compose/core/src/com/android/systemui/compose/modifiers/Size.kt +++ b/packages/SystemUI/compose/core/src/com/android/compose/modifiers/Size.kt @@ -15,7 +15,7 @@ * */ -package com.android.systemui.compose.modifiers +package com.android.compose.modifiers import androidx.compose.ui.Modifier import androidx.compose.ui.layout.IntrinsicMeasurable diff --git a/packages/SystemUI/compose/core/src/com/android/systemui/compose/layout/pager/Pager.kt b/packages/SystemUI/compose/core/src/com/android/compose/pager/Pager.kt similarity index 99% rename from packages/SystemUI/compose/core/src/com/android/systemui/compose/layout/pager/Pager.kt rename to packages/SystemUI/compose/core/src/com/android/compose/pager/Pager.kt index 19624e605be8d..eb9d62506faaf 100644 --- a/packages/SystemUI/compose/core/src/com/android/systemui/compose/layout/pager/Pager.kt +++ b/packages/SystemUI/compose/core/src/com/android/compose/pager/Pager.kt @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.systemui.compose.layout.pager +package com.android.compose.pager import androidx.compose.animation.core.AnimationSpec import androidx.compose.animation.core.DecayAnimationSpec @@ -40,7 +40,6 @@ import androidx.compose.ui.input.nestedscroll.nestedScroll import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.Velocity import androidx.compose.ui.unit.dp -import kotlinx.coroutines.flow.collect import kotlinx.coroutines.flow.filter /** Library-wide switch to turn on debug logging. */ diff --git a/packages/SystemUI/compose/core/src/com/android/systemui/compose/layout/pager/PagerState.kt b/packages/SystemUI/compose/core/src/com/android/compose/pager/PagerState.kt similarity index 99% rename from packages/SystemUI/compose/core/src/com/android/systemui/compose/layout/pager/PagerState.kt rename to packages/SystemUI/compose/core/src/com/android/compose/pager/PagerState.kt index 288c26eb11996..2e6ae78b43c7e 100644 --- a/packages/SystemUI/compose/core/src/com/android/systemui/compose/layout/pager/PagerState.kt +++ b/packages/SystemUI/compose/core/src/com/android/compose/pager/PagerState.kt @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.systemui.compose.layout.pager +package com.android.compose.pager import androidx.annotation.FloatRange import androidx.annotation.IntRange diff --git a/packages/SystemUI/compose/core/src/com/android/systemui/compose/layout/pager/SnappingFlingBehavior.kt b/packages/SystemUI/compose/core/src/com/android/compose/pager/SnappingFlingBehavior.kt similarity index 99% rename from packages/SystemUI/compose/core/src/com/android/systemui/compose/layout/pager/SnappingFlingBehavior.kt rename to packages/SystemUI/compose/core/src/com/android/compose/pager/SnappingFlingBehavior.kt index 0b53f5324a7d9..23122de56758d 100644 --- a/packages/SystemUI/compose/core/src/com/android/systemui/compose/layout/pager/SnappingFlingBehavior.kt +++ b/packages/SystemUI/compose/core/src/com/android/compose/pager/SnappingFlingBehavior.kt @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.systemui.compose.layout.pager +package com.android.compose.pager import androidx.compose.animation.core.AnimationSpec import androidx.compose.animation.core.AnimationState diff --git a/packages/SystemUI/compose/core/src/com/android/systemui/compose/runtime/MovableContent.kt b/packages/SystemUI/compose/core/src/com/android/compose/runtime/MovableContent.kt similarity index 97% rename from packages/SystemUI/compose/core/src/com/android/systemui/compose/runtime/MovableContent.kt rename to packages/SystemUI/compose/core/src/com/android/compose/runtime/MovableContent.kt index 3f2f96b293e0a..228ba3ded3a3c 100644 --- a/packages/SystemUI/compose/core/src/com/android/systemui/compose/runtime/MovableContent.kt +++ b/packages/SystemUI/compose/core/src/com/android/compose/runtime/MovableContent.kt @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.systemui.compose.runtime +package com.android.compose.runtime import androidx.compose.runtime.Composable import androidx.compose.runtime.InternalComposeApi diff --git a/packages/SystemUI/compose/core/src/com/android/systemui/compose/theme/AndroidColorScheme.kt b/packages/SystemUI/compose/core/src/com/android/compose/theme/AndroidColorScheme.kt similarity index 97% rename from packages/SystemUI/compose/core/src/com/android/systemui/compose/theme/AndroidColorScheme.kt rename to packages/SystemUI/compose/core/src/com/android/compose/theme/AndroidColorScheme.kt index caa7e5fae63f8..4f1657faddee7 100644 --- a/packages/SystemUI/compose/core/src/com/android/systemui/compose/theme/AndroidColorScheme.kt +++ b/packages/SystemUI/compose/core/src/com/android/compose/theme/AndroidColorScheme.kt @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.systemui.compose.theme +package com.android.compose.theme import android.annotation.ColorInt import android.content.Context @@ -27,7 +27,7 @@ val LocalAndroidColorScheme = staticCompositionLocalOf { throw IllegalStateException( "No AndroidColorScheme configured. Make sure to use LocalAndroidColorScheme in a " + - "Composable surrounded by a SystemUITheme {}." + "Composable surrounded by a PlatformTheme {}." ) } diff --git a/packages/SystemUI/compose/core/src/com/android/systemui/compose/theme/Color.kt b/packages/SystemUI/compose/core/src/com/android/compose/theme/Color.kt similarity index 96% rename from packages/SystemUI/compose/core/src/com/android/systemui/compose/theme/Color.kt rename to packages/SystemUI/compose/core/src/com/android/compose/theme/Color.kt index de47ccedb3ee9..5dbaff650a93c 100644 --- a/packages/SystemUI/compose/core/src/com/android/systemui/compose/theme/Color.kt +++ b/packages/SystemUI/compose/core/src/com/android/compose/theme/Color.kt @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.systemui.compose.theme +package com.android.compose.theme import android.annotation.AttrRes import androidx.compose.runtime.Composable diff --git a/packages/SystemUI/compose/core/src/com/android/systemui/compose/theme/SystemUITheme.kt b/packages/SystemUI/compose/core/src/com/android/compose/theme/PlatformTheme.kt similarity index 77% rename from packages/SystemUI/compose/core/src/com/android/systemui/compose/theme/SystemUITheme.kt rename to packages/SystemUI/compose/core/src/com/android/compose/theme/PlatformTheme.kt index 00532f4e46b84..b4e90d63c6b8f 100644 --- a/packages/SystemUI/compose/core/src/com/android/systemui/compose/theme/SystemUITheme.kt +++ b/packages/SystemUI/compose/core/src/com/android/compose/theme/PlatformTheme.kt @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.systemui.compose.theme +package com.android.compose.theme import androidx.compose.foundation.isSystemInDarkTheme import androidx.compose.material3.MaterialTheme @@ -24,15 +24,15 @@ import androidx.compose.runtime.Composable import androidx.compose.runtime.CompositionLocalProvider import androidx.compose.runtime.remember import androidx.compose.ui.platform.LocalContext -import com.android.systemui.compose.theme.typography.TypeScaleTokens -import com.android.systemui.compose.theme.typography.TypefaceNames -import com.android.systemui.compose.theme.typography.TypefaceTokens -import com.android.systemui.compose.theme.typography.TypographyTokens -import com.android.systemui.compose.theme.typography.systemUITypography +import com.android.compose.theme.typography.TypeScaleTokens +import com.android.compose.theme.typography.TypefaceNames +import com.android.compose.theme.typography.TypefaceTokens +import com.android.compose.theme.typography.TypographyTokens +import com.android.compose.theme.typography.platformTypography -/** The Material 3 theme that should wrap all SystemUI Composables. */ +/** The Material 3 theme that should wrap all Platform Composables. */ @Composable -fun SystemUITheme( +fun PlatformTheme( isDarkTheme: Boolean = isSystemInDarkTheme(), content: @Composable () -> Unit, ) { @@ -49,7 +49,7 @@ fun SystemUITheme( val typefaceNames = remember(context) { TypefaceNames.get(context) } val typography = remember(typefaceNames) { - systemUITypography(TypographyTokens(TypeScaleTokens(TypefaceTokens(typefaceNames)))) + platformTypography(TypographyTokens(TypeScaleTokens(TypefaceTokens(typefaceNames)))) } MaterialTheme(colorScheme, typography = typography) { diff --git a/packages/SystemUI/compose/core/src/com/android/systemui/compose/theme/typography/SystemUITypography.kt b/packages/SystemUI/compose/core/src/com/android/compose/theme/typography/PlatformTypography.kt similarity index 91% rename from packages/SystemUI/compose/core/src/com/android/systemui/compose/theme/typography/SystemUITypography.kt rename to packages/SystemUI/compose/core/src/com/android/compose/theme/typography/PlatformTypography.kt index 365f4bb69897d..1ce1ae3c8a325 100644 --- a/packages/SystemUI/compose/core/src/com/android/systemui/compose/theme/typography/SystemUITypography.kt +++ b/packages/SystemUI/compose/core/src/com/android/compose/theme/typography/PlatformTypography.kt @@ -14,18 +14,18 @@ * limitations under the License. */ -package com.android.systemui.compose.theme.typography +package com.android.compose.theme.typography import androidx.compose.material3.MaterialTheme import androidx.compose.material3.Typography /** - * The SystemUI typography. + * The typography for Platform Compose code. * * Do not use directly and call [MaterialTheme.typography] instead to access the different text * styles. */ -internal fun systemUITypography(typographyTokens: TypographyTokens): Typography { +internal fun platformTypography(typographyTokens: TypographyTokens): Typography { return Typography( displayLarge = typographyTokens.displayLarge, displayMedium = typographyTokens.displayMedium, diff --git a/packages/SystemUI/compose/core/src/com/android/systemui/compose/theme/typography/TypeScaleTokens.kt b/packages/SystemUI/compose/core/src/com/android/compose/theme/typography/TypeScaleTokens.kt similarity index 98% rename from packages/SystemUI/compose/core/src/com/android/systemui/compose/theme/typography/TypeScaleTokens.kt rename to packages/SystemUI/compose/core/src/com/android/compose/theme/typography/TypeScaleTokens.kt index 537ba0b7a834c..78fcf5cf1ccde 100644 --- a/packages/SystemUI/compose/core/src/com/android/systemui/compose/theme/typography/TypeScaleTokens.kt +++ b/packages/SystemUI/compose/core/src/com/android/compose/theme/typography/TypeScaleTokens.kt @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.systemui.compose.theme.typography +package com.android.compose.theme.typography import androidx.compose.ui.unit.sp diff --git a/packages/SystemUI/compose/core/src/com/android/systemui/compose/theme/typography/TypefaceTokens.kt b/packages/SystemUI/compose/core/src/com/android/compose/theme/typography/TypefaceTokens.kt similarity index 97% rename from packages/SystemUI/compose/core/src/com/android/systemui/compose/theme/typography/TypefaceTokens.kt rename to packages/SystemUI/compose/core/src/com/android/compose/theme/typography/TypefaceTokens.kt index f3d554fc93636..13acfd6b85f3b 100644 --- a/packages/SystemUI/compose/core/src/com/android/systemui/compose/theme/typography/TypefaceTokens.kt +++ b/packages/SystemUI/compose/core/src/com/android/compose/theme/typography/TypefaceTokens.kt @@ -16,7 +16,7 @@ @file:OptIn(ExperimentalTextApi::class) -package com.android.systemui.compose.theme.typography +package com.android.compose.theme.typography import android.content.Context import androidx.compose.ui.text.ExperimentalTextApi diff --git a/packages/SystemUI/compose/core/src/com/android/systemui/compose/theme/typography/TypographyTokens.kt b/packages/SystemUI/compose/core/src/com/android/compose/theme/typography/TypographyTokens.kt similarity index 99% rename from packages/SystemUI/compose/core/src/com/android/systemui/compose/theme/typography/TypographyTokens.kt rename to packages/SystemUI/compose/core/src/com/android/compose/theme/typography/TypographyTokens.kt index 55f3d1fef05a4..38aadb8c4d15d 100644 --- a/packages/SystemUI/compose/core/src/com/android/systemui/compose/theme/typography/TypographyTokens.kt +++ b/packages/SystemUI/compose/core/src/com/android/compose/theme/typography/TypographyTokens.kt @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.systemui.compose.theme.typography +package com.android.compose.theme.typography import androidx.compose.ui.text.TextStyle diff --git a/packages/SystemUI/compose/core/tests/Android.bp b/packages/SystemUI/compose/core/tests/Android.bp index f8023e2519f82..6119e96e5bac9 100644 --- a/packages/SystemUI/compose/core/tests/Android.bp +++ b/packages/SystemUI/compose/core/tests/Android.bp @@ -23,7 +23,7 @@ package { // TODO(b/230606318): Make those host tests instead of device tests. android_test { - name: "SystemUIComposeCoreTests", + name: "PlatformComposeCoreTests", manifest: "AndroidManifest.xml", test_suites: ["device-tests"], sdk_version: "current", @@ -34,7 +34,7 @@ android_test { ], static_libs: [ - "SystemUIComposeCore", + "PlatformComposeCore", "androidx.test.runner", "androidx.test.ext.junit", diff --git a/packages/SystemUI/compose/core/tests/AndroidManifest.xml b/packages/SystemUI/compose/core/tests/AndroidManifest.xml index 729ab989cdc0c..1016340a71713 100644 --- a/packages/SystemUI/compose/core/tests/AndroidManifest.xml +++ b/packages/SystemUI/compose/core/tests/AndroidManifest.xml @@ -15,14 +15,14 @@ --> + package="com.android.compose.core.tests" > + android:targetPackage="com.android.compose.core.tests" + android:label="Tests for PlatformComposeCore"/> \ No newline at end of file diff --git a/packages/SystemUI/compose/core/tests/src/com/android/systemui/compose/theme/SystemUIThemeTest.kt b/packages/SystemUI/compose/core/tests/src/com/android/compose/theme/SystemUIThemeTest.kt similarity index 90% rename from packages/SystemUI/compose/core/tests/src/com/android/systemui/compose/theme/SystemUIThemeTest.kt rename to packages/SystemUI/compose/core/tests/src/com/android/compose/theme/SystemUIThemeTest.kt index 20249f66d0d0b..9bc68564de90e 100644 --- a/packages/SystemUI/compose/core/tests/src/com/android/systemui/compose/theme/SystemUIThemeTest.kt +++ b/packages/SystemUI/compose/core/tests/src/com/android/compose/theme/SystemUIThemeTest.kt @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.systemui.compose.theme +package com.android.compose.theme import androidx.compose.material3.Text import androidx.compose.ui.test.assertIsDisplayed @@ -32,7 +32,7 @@ class SystemUIThemeTest { @Test fun testThemeShowsContent() { - composeRule.setContent { SystemUITheme { Text("foo") } } + composeRule.setContent { PlatformTheme { Text("foo") } } composeRule.onNodeWithText("foo").assertIsDisplayed() } @@ -40,7 +40,7 @@ class SystemUIThemeTest { @Test fun testAndroidColorsAreAvailableInsideTheme() { composeRule.setContent { - SystemUITheme { Text("foo", color = LocalAndroidColorScheme.current.colorAccent) } + PlatformTheme { Text("foo", color = LocalAndroidColorScheme.current.colorAccent) } } composeRule.onNodeWithText("foo").assertIsDisplayed() diff --git a/packages/SystemUI/compose/facade/enabled/src/com/android/systemui/compose/ComposeFacade.kt b/packages/SystemUI/compose/facade/enabled/src/com/android/systemui/compose/ComposeFacade.kt index 16294d9c19772..6991ff82c2d19 100644 --- a/packages/SystemUI/compose/facade/enabled/src/com/android/systemui/compose/ComposeFacade.kt +++ b/packages/SystemUI/compose/facade/enabled/src/com/android/systemui/compose/ComposeFacade.kt @@ -18,7 +18,7 @@ package com.android.systemui.compose import androidx.activity.ComponentActivity import androidx.activity.compose.setContent -import com.android.systemui.compose.theme.SystemUITheme +import com.android.compose.theme.PlatformTheme import com.android.systemui.people.ui.compose.PeopleScreen import com.android.systemui.people.ui.viewmodel.PeopleViewModel @@ -31,6 +31,6 @@ object ComposeFacade : BaseComposeFacade { viewModel: PeopleViewModel, onResult: (PeopleViewModel.Result) -> Unit, ) { - activity.setContent { SystemUITheme { PeopleScreen(viewModel, onResult) } } + activity.setContent { PlatformTheme { PeopleScreen(viewModel, onResult) } } } } diff --git a/packages/SystemUI/compose/features/Android.bp b/packages/SystemUI/compose/features/Android.bp index 4533330531180..8f8bb1bc2d5a9 100644 --- a/packages/SystemUI/compose/features/Android.bp +++ b/packages/SystemUI/compose/features/Android.bp @@ -31,7 +31,7 @@ android_library { static_libs: [ "SystemUI-core", - "SystemUIComposeCore", + "PlatformComposeCore", "androidx.compose.runtime_runtime", "androidx.compose.material3_material3", diff --git a/packages/SystemUI/compose/features/src/com/android/systemui/people/ui/compose/PeopleScreen.kt b/packages/SystemUI/compose/features/src/com/android/systemui/people/ui/compose/PeopleScreen.kt index 4a56b027e07c3..23dacf9946f33 100644 --- a/packages/SystemUI/compose/features/src/com/android/systemui/people/ui/compose/PeopleScreen.kt +++ b/packages/SystemUI/compose/features/src/com/android/systemui/people/ui/compose/PeopleScreen.kt @@ -49,8 +49,8 @@ import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.unit.dp import androidx.lifecycle.Lifecycle import androidx.lifecycle.repeatOnLifecycle +import com.android.compose.theme.LocalAndroidColorScheme import com.android.systemui.R -import com.android.systemui.compose.theme.LocalAndroidColorScheme import com.android.systemui.people.ui.viewmodel.PeopleTileViewModel import com.android.systemui.people.ui.viewmodel.PeopleViewModel diff --git a/packages/SystemUI/compose/features/src/com/android/systemui/people/ui/compose/PeopleScreenEmpty.kt b/packages/SystemUI/compose/features/src/com/android/systemui/people/ui/compose/PeopleScreenEmpty.kt index 5c9358f99858f..3f590df697cb6 100644 --- a/packages/SystemUI/compose/features/src/com/android/systemui/people/ui/compose/PeopleScreenEmpty.kt +++ b/packages/SystemUI/compose/features/src/com/android/systemui/people/ui/compose/PeopleScreenEmpty.kt @@ -41,8 +41,8 @@ import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.unit.dp +import com.android.compose.theme.LocalAndroidColorScheme import com.android.systemui.R -import com.android.systemui.compose.theme.LocalAndroidColorScheme @Composable internal fun PeopleScreenEmpty( diff --git a/packages/SystemUI/compose/features/src/com/android/systemui/qs/footer/ui/compose/FooterActions.kt b/packages/SystemUI/compose/features/src/com/android/systemui/qs/footer/ui/compose/FooterActions.kt index 654b723f5cffd..5c5ceefbd6fb6 100644 --- a/packages/SystemUI/compose/features/src/com/android/systemui/qs/footer/ui/compose/FooterActions.kt +++ b/packages/SystemUI/compose/features/src/com/android/systemui/qs/footer/ui/compose/FooterActions.kt @@ -65,14 +65,14 @@ import androidx.compose.ui.unit.sp import androidx.lifecycle.Lifecycle import androidx.lifecycle.LifecycleOwner import androidx.lifecycle.repeatOnLifecycle +import com.android.compose.animation.Expandable +import com.android.compose.modifiers.background +import com.android.compose.theme.LocalAndroidColorScheme +import com.android.compose.theme.colorAttr import com.android.systemui.R import com.android.systemui.animation.Expandable import com.android.systemui.common.shared.model.Icon import com.android.systemui.common.ui.compose.Icon -import com.android.systemui.compose.animation.Expandable -import com.android.systemui.compose.modifiers.background -import com.android.systemui.compose.theme.LocalAndroidColorScheme -import com.android.systemui.compose.theme.colorAttr import com.android.systemui.qs.footer.ui.viewmodel.FooterActionsButtonViewModel import com.android.systemui.qs.footer.ui.viewmodel.FooterActionsForegroundServicesButtonViewModel import com.android.systemui.qs.footer.ui.viewmodel.FooterActionsSecurityButtonViewModel diff --git a/packages/SystemUI/compose/features/tests/AndroidManifest.xml b/packages/SystemUI/compose/features/tests/AndroidManifest.xml index 2fa475d636074..2f41ea92b30f6 100644 --- a/packages/SystemUI/compose/features/tests/AndroidManifest.xml +++ b/packages/SystemUI/compose/features/tests/AndroidManifest.xml @@ -35,7 +35,7 @@ android:enabled="false" tools:replace="android:authorities" tools:node="remove" /> - { + override suspend fun querySlots(): List { return withContext(backgroundDispatcher) { context.contentResolver .query( - Contract.SlotTable.URI, + Contract.LockScreenQuickAffordances.SlotTable.URI, null, null, null, @@ -222,16 +225,21 @@ class KeyguardQuickAffordanceProviderClientImpl( ) ?.use { cursor -> buildList { - val idColumnIndex = cursor.getColumnIndex(Contract.SlotTable.Columns.ID) + val idColumnIndex = + cursor.getColumnIndex( + Contract.LockScreenQuickAffordances.SlotTable.Columns.ID + ) val capacityColumnIndex = - cursor.getColumnIndex(Contract.SlotTable.Columns.CAPACITY) + cursor.getColumnIndex( + Contract.LockScreenQuickAffordances.SlotTable.Columns.CAPACITY + ) if (idColumnIndex == -1 || capacityColumnIndex == -1) { return@buildList } while (cursor.moveToNext()) { add( - KeyguardQuickAffordanceProviderClient.Slot( + CustomizationProviderClient.Slot( id = cursor.getString(idColumnIndex), capacity = cursor.getInt(capacityColumnIndex), ) @@ -243,7 +251,7 @@ class KeyguardQuickAffordanceProviderClientImpl( ?: emptyList() } - override suspend fun queryFlags(): List { + override suspend fun queryFlags(): List { return withContext(backgroundDispatcher) { context.contentResolver .query( @@ -265,7 +273,7 @@ class KeyguardQuickAffordanceProviderClientImpl( while (cursor.moveToNext()) { add( - KeyguardQuickAffordanceProviderClient.Flag( + CustomizationProviderClient.Flag( name = cursor.getString(nameColumnIndex), value = cursor.getInt(valueColumnIndex) == 1, ) @@ -277,20 +285,19 @@ class KeyguardQuickAffordanceProviderClientImpl( ?: emptyList() } - override fun observeSlots(): Flow> { - return observeUri(Contract.SlotTable.URI).map { querySlots() } + override fun observeSlots(): Flow> { + return observeUri(Contract.LockScreenQuickAffordances.SlotTable.URI).map { querySlots() } } - override fun observeFlags(): Flow> { + override fun observeFlags(): Flow> { return observeUri(Contract.FlagsTable.URI).map { queryFlags() } } - override suspend fun queryAffordances(): - List { + override suspend fun queryAffordances(): List { return withContext(backgroundDispatcher) { context.contentResolver .query( - Contract.AffordanceTable.URI, + Contract.LockScreenQuickAffordances.AffordanceTable.URI, null, null, null, @@ -299,24 +306,36 @@ class KeyguardQuickAffordanceProviderClientImpl( ?.use { cursor -> buildList { val idColumnIndex = - cursor.getColumnIndex(Contract.AffordanceTable.Columns.ID) + cursor.getColumnIndex( + Contract.LockScreenQuickAffordances.AffordanceTable.Columns.ID + ) val nameColumnIndex = - cursor.getColumnIndex(Contract.AffordanceTable.Columns.NAME) + cursor.getColumnIndex( + Contract.LockScreenQuickAffordances.AffordanceTable.Columns.NAME + ) val iconColumnIndex = - cursor.getColumnIndex(Contract.AffordanceTable.Columns.ICON) + cursor.getColumnIndex( + Contract.LockScreenQuickAffordances.AffordanceTable.Columns.ICON + ) val isEnabledColumnIndex = - cursor.getColumnIndex(Contract.AffordanceTable.Columns.IS_ENABLED) + cursor.getColumnIndex( + Contract.LockScreenQuickAffordances.AffordanceTable.Columns + .IS_ENABLED + ) val enablementInstructionsColumnIndex = cursor.getColumnIndex( - Contract.AffordanceTable.Columns.ENABLEMENT_INSTRUCTIONS + Contract.LockScreenQuickAffordances.AffordanceTable.Columns + .ENABLEMENT_INSTRUCTIONS ) val enablementActionTextColumnIndex = cursor.getColumnIndex( - Contract.AffordanceTable.Columns.ENABLEMENT_ACTION_TEXT + Contract.LockScreenQuickAffordances.AffordanceTable.Columns + .ENABLEMENT_ACTION_TEXT ) val enablementComponentNameColumnIndex = cursor.getColumnIndex( - Contract.AffordanceTable.Columns.ENABLEMENT_COMPONENT_NAME + Contract.LockScreenQuickAffordances.AffordanceTable.Columns + .ENABLEMENT_COMPONENT_NAME ) if ( idColumnIndex == -1 || @@ -332,7 +351,7 @@ class KeyguardQuickAffordanceProviderClientImpl( while (cursor.moveToNext()) { add( - KeyguardQuickAffordanceProviderClient.Affordance( + CustomizationProviderClient.Affordance( id = cursor.getString(idColumnIndex), name = cursor.getString(nameColumnIndex), iconResourceId = cursor.getInt(iconColumnIndex), @@ -341,7 +360,7 @@ class KeyguardQuickAffordanceProviderClientImpl( cursor .getString(enablementInstructionsColumnIndex) ?.split( - Contract.AffordanceTable + Contract.LockScreenQuickAffordances.AffordanceTable .ENABLEMENT_INSTRUCTIONS_DELIMITER ), enablementActionText = @@ -357,16 +376,17 @@ class KeyguardQuickAffordanceProviderClientImpl( ?: emptyList() } - override fun observeAffordances(): - Flow> { - return observeUri(Contract.AffordanceTable.URI).map { queryAffordances() } + override fun observeAffordances(): Flow> { + return observeUri(Contract.LockScreenQuickAffordances.AffordanceTable.URI).map { + queryAffordances() + } } - override suspend fun querySelections(): List { + override suspend fun querySelections(): List { return withContext(backgroundDispatcher) { context.contentResolver .query( - Contract.SelectionTable.URI, + Contract.LockScreenQuickAffordances.SelectionTable.URI, null, null, null, @@ -375,11 +395,19 @@ class KeyguardQuickAffordanceProviderClientImpl( ?.use { cursor -> buildList { val slotIdColumnIndex = - cursor.getColumnIndex(Contract.SelectionTable.Columns.SLOT_ID) + cursor.getColumnIndex( + Contract.LockScreenQuickAffordances.SelectionTable.Columns.SLOT_ID + ) val affordanceIdColumnIndex = - cursor.getColumnIndex(Contract.SelectionTable.Columns.AFFORDANCE_ID) + cursor.getColumnIndex( + Contract.LockScreenQuickAffordances.SelectionTable.Columns + .AFFORDANCE_ID + ) val affordanceNameColumnIndex = - cursor.getColumnIndex(Contract.SelectionTable.Columns.AFFORDANCE_NAME) + cursor.getColumnIndex( + Contract.LockScreenQuickAffordances.SelectionTable.Columns + .AFFORDANCE_NAME + ) if ( slotIdColumnIndex == -1 || affordanceIdColumnIndex == -1 || @@ -390,7 +418,7 @@ class KeyguardQuickAffordanceProviderClientImpl( while (cursor.moveToNext()) { add( - KeyguardQuickAffordanceProviderClient.Selection( + CustomizationProviderClient.Selection( slotId = cursor.getString(slotIdColumnIndex), affordanceId = cursor.getString(affordanceIdColumnIndex), affordanceName = cursor.getString(affordanceNameColumnIndex), @@ -403,8 +431,10 @@ class KeyguardQuickAffordanceProviderClientImpl( ?: emptyList() } - override fun observeSelections(): Flow> { - return observeUri(Contract.SelectionTable.URI).map { querySelections() } + override fun observeSelections(): Flow> { + return observeUri(Contract.LockScreenQuickAffordances.SelectionTable.URI).map { + querySelections() + } } override suspend fun deleteSelection( @@ -413,9 +443,10 @@ class KeyguardQuickAffordanceProviderClientImpl( ) { withContext(backgroundDispatcher) { context.contentResolver.delete( - Contract.SelectionTable.URI, - "${Contract.SelectionTable.Columns.SLOT_ID} = ? AND" + - " ${Contract.SelectionTable.Columns.AFFORDANCE_ID} = ?", + Contract.LockScreenQuickAffordances.SelectionTable.URI, + "${Contract.LockScreenQuickAffordances.SelectionTable.Columns.SLOT_ID} = ? AND" + + " ${Contract.LockScreenQuickAffordances.SelectionTable.Columns.AFFORDANCE_ID}" + + " = ?", arrayOf( slotId, affordanceId, @@ -429,8 +460,8 @@ class KeyguardQuickAffordanceProviderClientImpl( ) { withContext(backgroundDispatcher) { context.contentResolver.delete( - Contract.SelectionTable.URI, - Contract.SelectionTable.Columns.SLOT_ID, + Contract.LockScreenQuickAffordances.SelectionTable.URI, + Contract.LockScreenQuickAffordances.SelectionTable.Columns.SLOT_ID, arrayOf( slotId, ), diff --git a/packages/SystemUI/customization/src/com/android/systemui/shared/customization/data/content/CustomizationProviderContract.kt b/packages/SystemUI/customization/src/com/android/systemui/shared/customization/data/content/CustomizationProviderContract.kt new file mode 100644 index 0000000000000..1e2e7d2595acb --- /dev/null +++ b/packages/SystemUI/customization/src/com/android/systemui/shared/customization/data/content/CustomizationProviderContract.kt @@ -0,0 +1,183 @@ +/* + * Copyright (C) 2022 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +package com.android.systemui.shared.customization.data.content + +import android.content.ContentResolver +import android.net.Uri + +/** Contract definitions for querying content about keyguard quick affordances. */ +object CustomizationProviderContract { + + const val AUTHORITY = "com.android.systemui.customization" + const val PERMISSION = "android.permission.CUSTOMIZE_SYSTEM_UI" + + private val BASE_URI: Uri = + Uri.Builder().scheme(ContentResolver.SCHEME_CONTENT).authority(AUTHORITY).build() + + /** Namespace for lock screen shortcut (quick affordance) tables. */ + object LockScreenQuickAffordances { + + const val NAMESPACE = "lockscreen_quickaffordance" + + private val LOCK_SCREEN_QUICK_AFFORDANCE_BASE_URI: Uri = + BASE_URI.buildUpon().path(NAMESPACE).build() + + fun qualifiedTablePath(tableName: String): String { + return "$NAMESPACE/$tableName" + } + + /** + * Table for slots. + * + * Slots are positions where affordances can be placed on the lock screen. Affordances that + * are placed on slots are said to be "selected". The system supports the idea of multiple + * affordances per slot, though the implementation may limit the number of affordances on + * each slot. + * + * Supported operations: + * - Query - to know which slots are available, query the [SlotTable.URI] [Uri]. The result + * set will contain rows with the [SlotTable.Columns] columns. + */ + object SlotTable { + const val TABLE_NAME = "slots" + val URI: Uri = + LOCK_SCREEN_QUICK_AFFORDANCE_BASE_URI.buildUpon().appendPath(TABLE_NAME).build() + + object Columns { + /** String. Unique ID for this slot. */ + const val ID = "id" + /** Integer. The maximum number of affordances that can be placed in the slot. */ + const val CAPACITY = "capacity" + } + } + + /** + * Table for affordances. + * + * Affordances are actions/buttons that the user can execute. They are placed on slots on + * the lock screen. + * + * Supported operations: + * - Query - to know about all the affordances that are available on the device, regardless + * of which ones are currently selected, query the [AffordanceTable.URI] [Uri]. The result + * set will contain rows, each with the columns specified in [AffordanceTable.Columns]. + */ + object AffordanceTable { + const val TABLE_NAME = "affordances" + val URI: Uri = + LOCK_SCREEN_QUICK_AFFORDANCE_BASE_URI.buildUpon().appendPath(TABLE_NAME).build() + const val ENABLEMENT_INSTRUCTIONS_DELIMITER = "][" + const val COMPONENT_NAME_SEPARATOR = "/" + + object Columns { + /** String. Unique ID for this affordance. */ + const val ID = "id" + /** String. User-visible name for this affordance. */ + const val NAME = "name" + /** + * Integer. Resource ID for the drawable to load for this affordance. This is a + * resource ID from the system UI package. + */ + const val ICON = "icon" + /** Integer. `1` if the affordance is enabled or `0` if it disabled. */ + const val IS_ENABLED = "is_enabled" + /** + * String. List of strings, delimited by [ENABLEMENT_INSTRUCTIONS_DELIMITER] to be + * shown to the user if the affordance is disabled and the user selects the + * affordance. + */ + const val ENABLEMENT_INSTRUCTIONS = "enablement_instructions" + /** + * String. Optional label for a button that, when clicked, opens a destination + * activity where the user can re-enable the disabled affordance. + */ + const val ENABLEMENT_ACTION_TEXT = "enablement_action_text" + /** + * String. Optional package name and activity action string, delimited by + * [COMPONENT_NAME_SEPARATOR] to use with an `Intent` to start an activity that + * opens a destination where the user can re-enable the disabled affordance. + */ + const val ENABLEMENT_COMPONENT_NAME = "enablement_action_intent" + } + } + + /** + * Table for selections. + * + * Selections are pairs of slot and affordance IDs. + * + * Supported operations: + * - Insert - to insert an affordance and place it in a slot, insert values for the columns + * into the [SelectionTable.URI] [Uri]. The maximum capacity rule is enforced by the system. + * Selecting a new affordance for a slot that is already full will automatically remove the + * oldest affordance from the slot. + * - Query - to know which affordances are set on which slots, query the + * [SelectionTable.URI] [Uri]. The result set will contain rows, each of which with the + * columns from [SelectionTable.Columns]. + * - Delete - to unselect an affordance, removing it from a slot, delete from the + * [SelectionTable.URI] [Uri], passing in values for each column. + */ + object SelectionTable { + const val TABLE_NAME = "selections" + val URI: Uri = + LOCK_SCREEN_QUICK_AFFORDANCE_BASE_URI.buildUpon().appendPath(TABLE_NAME).build() + + object Columns { + /** String. Unique ID for the slot. */ + const val SLOT_ID = "slot_id" + /** String. Unique ID for the selected affordance. */ + const val AFFORDANCE_ID = "affordance_id" + /** String. Human-readable name for the affordance. */ + const val AFFORDANCE_NAME = "affordance_name" + } + } + } + + /** + * Table for flags. + * + * Flags are key-value pairs. + * + * Supported operations: + * - Query - to know the values of flags, query the [FlagsTable.URI] [Uri]. The result set will + * contain rows, each of which with the columns from [FlagsTable.Columns]. + */ + object FlagsTable { + const val TABLE_NAME = "flags" + val URI: Uri = BASE_URI.buildUpon().path(TABLE_NAME).build() + + /** Flag denoting whether the Wallpaper Picker should use the new, revamped UI. */ + const val FLAG_NAME_REVAMPED_WALLPAPER_UI = "revamped_wallpaper_ui" + + /** + * Flag denoting whether the customizable lock screen quick affordances feature is enabled. + */ + const val FLAG_NAME_CUSTOM_LOCK_SCREEN_QUICK_AFFORDANCES_ENABLED = + "is_custom_lock_screen_quick_affordances_feature_enabled" + + /** Flag denoting whether the customizable clocks feature is enabled. */ + const val FLAG_NAME_CUSTOM_CLOCKS_ENABLED = "is_custom_clocks_feature_enabled" + + object Columns { + /** String. Unique ID for the flag. */ + const val NAME = "name" + /** Int. Value of the flag. `1` means `true` and `0` means `false`. */ + const val VALUE = "value" + } + } +} diff --git a/packages/SystemUI/customization/src/com/android/systemui/shared/quickaffordance/data/content/FakeKeyguardQuickAffordanceProviderClient.kt b/packages/SystemUI/customization/src/com/android/systemui/shared/customization/data/content/FakeCustomizationProviderClient.kt similarity index 71% rename from packages/SystemUI/customization/src/com/android/systemui/shared/quickaffordance/data/content/FakeKeyguardQuickAffordanceProviderClient.kt rename to packages/SystemUI/customization/src/com/android/systemui/shared/customization/data/content/FakeCustomizationProviderClient.kt index ec5e70383eb39..f5a955d450e3a 100644 --- a/packages/SystemUI/customization/src/com/android/systemui/shared/quickaffordance/data/content/FakeKeyguardQuickAffordanceProviderClient.kt +++ b/packages/SystemUI/customization/src/com/android/systemui/shared/customization/data/content/FakeCustomizationProviderClient.kt @@ -15,7 +15,7 @@ * */ -package com.android.systemui.shared.quickaffordance.data.content +package com.android.systemui.shared.customization.data.content import android.graphics.drawable.BitmapDrawable import android.graphics.drawable.Drawable @@ -25,46 +25,46 @@ import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.asStateFlow import kotlinx.coroutines.flow.combine -class FakeKeyguardQuickAffordanceProviderClient( - slots: List = +class FakeCustomizationProviderClient( + slots: List = listOf( - KeyguardQuickAffordanceProviderClient.Slot( + CustomizationProviderClient.Slot( id = KeyguardQuickAffordanceSlots.SLOT_ID_BOTTOM_START, capacity = 1, ), - KeyguardQuickAffordanceProviderClient.Slot( + CustomizationProviderClient.Slot( id = KeyguardQuickAffordanceSlots.SLOT_ID_BOTTOM_END, capacity = 1, ), ), - affordances: List = + affordances: List = listOf( - KeyguardQuickAffordanceProviderClient.Affordance( + CustomizationProviderClient.Affordance( id = AFFORDANCE_1, name = AFFORDANCE_1, iconResourceId = 1, ), - KeyguardQuickAffordanceProviderClient.Affordance( + CustomizationProviderClient.Affordance( id = AFFORDANCE_2, name = AFFORDANCE_2, iconResourceId = 2, ), - KeyguardQuickAffordanceProviderClient.Affordance( + CustomizationProviderClient.Affordance( id = AFFORDANCE_3, name = AFFORDANCE_3, iconResourceId = 3, ), ), - flags: List = + flags: List = listOf( - KeyguardQuickAffordanceProviderClient.Flag( + CustomizationProviderClient.Flag( name = - KeyguardQuickAffordanceProviderContract.FlagsTable + CustomizationProviderContract.FlagsTable .FLAG_NAME_CUSTOM_LOCK_SCREEN_QUICK_AFFORDANCES_ENABLED, value = true, ) ), -) : KeyguardQuickAffordanceProviderClient { +) : CustomizationProviderClient { private val slots = MutableStateFlow(slots) private val affordances = MutableStateFlow(affordances) @@ -85,37 +85,35 @@ class FakeKeyguardQuickAffordanceProviderClient( selections.value = selections.value.toMutableMap().apply { this[slotId] = affordances } } - override suspend fun querySlots(): List { + override suspend fun querySlots(): List { return slots.value } - override suspend fun queryFlags(): List { + override suspend fun queryFlags(): List { return flags.value } - override fun observeSlots(): Flow> { + override fun observeSlots(): Flow> { return slots.asStateFlow() } - override fun observeFlags(): Flow> { + override fun observeFlags(): Flow> { return flags.asStateFlow() } - override suspend fun queryAffordances(): - List { + override suspend fun queryAffordances(): List { return affordances.value } - override fun observeAffordances(): - Flow> { + override fun observeAffordances(): Flow> { return affordances.asStateFlow() } - override suspend fun querySelections(): List { + override suspend fun querySelections(): List { return toSelectionList(selections.value, affordances.value) } - override fun observeSelections(): Flow> { + override fun observeSelections(): Flow> { return combine(selections, affordances) { selections, affordances -> toSelectionList(selections, affordances) } @@ -148,7 +146,7 @@ class FakeKeyguardQuickAffordanceProviderClient( flags.value = flags.value.toMutableList().apply { removeIf { it.name == name } - add(KeyguardQuickAffordanceProviderClient.Flag(name = name, value = value)) + add(CustomizationProviderClient.Flag(name = name, value = value)) } } @@ -157,29 +155,26 @@ class FakeKeyguardQuickAffordanceProviderClient( slots.value.toMutableList().apply { val index = indexOfFirst { it.id == slotId } check(index != -1) { "Slot with ID \"$slotId\" doesn't exist!" } - set( - index, - KeyguardQuickAffordanceProviderClient.Slot(id = slotId, capacity = capacity) - ) + set(index, CustomizationProviderClient.Slot(id = slotId, capacity = capacity)) } } - fun addAffordance(affordance: KeyguardQuickAffordanceProviderClient.Affordance): Int { + fun addAffordance(affordance: CustomizationProviderClient.Affordance): Int { affordances.value = affordances.value + listOf(affordance) return affordances.value.size - 1 } private fun toSelectionList( selections: Map>, - affordances: List, - ): List { + affordances: List, + ): List { return selections .map { (slotId, affordanceIds) -> affordanceIds.map { affordanceId -> val affordanceName = affordances.find { it.id == affordanceId }?.name ?: error("No affordance with ID of \"$affordanceId\"!") - KeyguardQuickAffordanceProviderClient.Selection( + CustomizationProviderClient.Selection( slotId = slotId, affordanceId = affordanceId, affordanceName = affordanceName, diff --git a/packages/SystemUI/customization/src/com/android/systemui/shared/quickaffordance/data/content/KeyguardQuickAffordanceProviderContract.kt b/packages/SystemUI/customization/src/com/android/systemui/shared/quickaffordance/data/content/KeyguardQuickAffordanceProviderContract.kt deleted file mode 100644 index e197752f2d3cb..0000000000000 --- a/packages/SystemUI/customization/src/com/android/systemui/shared/quickaffordance/data/content/KeyguardQuickAffordanceProviderContract.kt +++ /dev/null @@ -1,167 +0,0 @@ -/* - * Copyright (C) 2022 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - */ - -package com.android.systemui.shared.quickaffordance.data.content - -import android.content.ContentResolver -import android.net.Uri - -/** Contract definitions for querying content about keyguard quick affordances. */ -object KeyguardQuickAffordanceProviderContract { - - const val AUTHORITY = "com.android.systemui.keyguard.quickaffordance" - const val PERMISSION = "android.permission.ACCESS_KEYGUARD_QUICK_AFFORDANCES" - - private val BASE_URI: Uri = - Uri.Builder().scheme(ContentResolver.SCHEME_CONTENT).authority(AUTHORITY).build() - - /** - * Table for slots. - * - * Slots are positions where affordances can be placed on the lock screen. Affordances that are - * placed on slots are said to be "selected". The system supports the idea of multiple - * affordances per slot, though the implementation may limit the number of affordances on each - * slot. - * - * Supported operations: - * - Query - to know which slots are available, query the [SlotTable.URI] [Uri]. The result set - * will contain rows with the [SlotTable.Columns] columns. - */ - object SlotTable { - const val TABLE_NAME = "slots" - val URI: Uri = BASE_URI.buildUpon().path(TABLE_NAME).build() - - object Columns { - /** String. Unique ID for this slot. */ - const val ID = "id" - /** Integer. The maximum number of affordances that can be placed in the slot. */ - const val CAPACITY = "capacity" - } - } - - /** - * Table for affordances. - * - * Affordances are actions/buttons that the user can execute. They are placed on slots on the - * lock screen. - * - * Supported operations: - * - Query - to know about all the affordances that are available on the device, regardless of - * which ones are currently selected, query the [AffordanceTable.URI] [Uri]. The result set will - * contain rows, each with the columns specified in [AffordanceTable.Columns]. - */ - object AffordanceTable { - const val TABLE_NAME = "affordances" - val URI: Uri = BASE_URI.buildUpon().path(TABLE_NAME).build() - const val ENABLEMENT_INSTRUCTIONS_DELIMITER = "][" - const val COMPONENT_NAME_SEPARATOR = "/" - - object Columns { - /** String. Unique ID for this affordance. */ - const val ID = "id" - /** String. User-visible name for this affordance. */ - const val NAME = "name" - /** - * Integer. Resource ID for the drawable to load for this affordance. This is a resource - * ID from the system UI package. - */ - const val ICON = "icon" - /** Integer. `1` if the affordance is enabled or `0` if it disabled. */ - const val IS_ENABLED = "is_enabled" - /** - * String. List of strings, delimited by [ENABLEMENT_INSTRUCTIONS_DELIMITER] to be shown - * to the user if the affordance is disabled and the user selects the affordance. The - * first one is a title while the rest are the steps needed to re-enable the affordance. - */ - const val ENABLEMENT_INSTRUCTIONS = "enablement_instructions" - /** - * String. Optional label for a button that, when clicked, opens a destination activity - * where the user can re-enable the disabled affordance. - */ - const val ENABLEMENT_ACTION_TEXT = "enablement_action_text" - /** - * String. Optional package name and activity action string, delimited by - * [COMPONENT_NAME_SEPARATOR] to use with an `Intent` to start an activity that opens a - * destination where the user can re-enable the disabled affordance. - */ - const val ENABLEMENT_COMPONENT_NAME = "enablement_action_intent" - } - } - - /** - * Table for selections. - * - * Selections are pairs of slot and affordance IDs. - * - * Supported operations: - * - Insert - to insert an affordance and place it in a slot, insert values for the columns into - * the [SelectionTable.URI] [Uri]. The maximum capacity rule is enforced by the system. - * Selecting a new affordance for a slot that is already full will automatically remove the - * oldest affordance from the slot. - * - Query - to know which affordances are set on which slots, query the [SelectionTable.URI] - * [Uri]. The result set will contain rows, each of which with the columns from - * [SelectionTable.Columns]. - * - Delete - to unselect an affordance, removing it from a slot, delete from the - * [SelectionTable.URI] [Uri], passing in values for each column. - */ - object SelectionTable { - const val TABLE_NAME = "selections" - val URI: Uri = BASE_URI.buildUpon().path(TABLE_NAME).build() - - object Columns { - /** String. Unique ID for the slot. */ - const val SLOT_ID = "slot_id" - /** String. Unique ID for the selected affordance. */ - const val AFFORDANCE_ID = "affordance_id" - /** String. Human-readable name for the affordance. */ - const val AFFORDANCE_NAME = "affordance_name" - } - } - - /** - * Table for flags. - * - * Flags are key-value pairs. - * - * Supported operations: - * - Query - to know the values of flags, query the [FlagsTable.URI] [Uri]. The result set will - * contain rows, each of which with the columns from [FlagsTable.Columns]. - */ - object FlagsTable { - const val TABLE_NAME = "flags" - val URI: Uri = BASE_URI.buildUpon().path(TABLE_NAME).build() - - /** Flag denoting whether the Wallpaper Picker should use the new, revamped UI. */ - const val FLAG_NAME_REVAMPED_WALLPAPER_UI = "revamped_wallpaper_ui" - - /** - * Flag denoting whether the customizable lock screen quick affordances feature is enabled. - */ - const val FLAG_NAME_CUSTOM_LOCK_SCREEN_QUICK_AFFORDANCES_ENABLED = - "is_custom_lock_screen_quick_affordances_feature_enabled" - - /** Flag denoting whether the customizable clocks feature is enabled. */ - const val FLAG_NAME_CUSTOM_CLOCKS_ENABLED = "is_custom_clocks_feature_enabled" - - object Columns { - /** String. Unique ID for the flag. */ - const val NAME = "name" - /** Int. Value of the flag. `1` means `true` and `0` means `false`. */ - const val VALUE = "value" - } - } -} diff --git a/packages/SystemUI/docs/device-entry/quickaffordance.md b/packages/SystemUI/docs/device-entry/quickaffordance.md index 01d4f00467c42..ccb35fac36f2f 100644 --- a/packages/SystemUI/docs/device-entry/quickaffordance.md +++ b/packages/SystemUI/docs/device-entry/quickaffordance.md @@ -31,7 +31,7 @@ This section describes how to implement a potential picker, selector, or configu ### Accessing Quick Affordance Data Quick Affordances structured data are exposed to other applications through the `KeyguardQuickAffordanceProvider` content provider which is owned by the System UI process. -To access this content provider, applications must have the `android.permission.ACCESS_KEYGUARD_QUICK_AFFORDANCES` permission which is a signature and privileged permission, limiting access to system apps or apps signed by the same signature as System UI. The `KeyguardQuickAffordanceProviderContract` file defines the content provider schema for consumers. +To access this content provider, applications must have the `android.permission.CUSTOMIZE_SYSTEM_UI` permission which is a signature and privileged permission, limiting access to system apps or apps signed by the same signature as System UI. The `KeyguardQuickAffordanceProviderContract` file defines the content provider schema for consumers. Generally speaking, there are three important tables served by the content provider: `slots`, `affordances`, and `selections`. There is also a `flags` table, but that's not important and may be ignored. diff --git a/packages/SystemUI/ktfmt_includes.txt b/packages/SystemUI/ktfmt_includes.txt index b75c5c722403a..434f227d89c8f 100644 --- a/packages/SystemUI/ktfmt_includes.txt +++ b/packages/SystemUI/ktfmt_includes.txt @@ -460,7 +460,7 @@ -packages/SystemUI/src/com/android/systemui/statusbar/pipeline/shared/ConnectivityPipelineLogger.kt -packages/SystemUI/src/com/android/systemui/statusbar/pipeline/wifi/data/model/WifiActivityModel.kt -packages/SystemUI/src/com/android/systemui/statusbar/pipeline/wifi/data/model/WifiNetworkModel.kt --packages/SystemUI/src/com/android/systemui/statusbar/pipeline/wifi/data/repository/WifiRepository.kt +-packages/SystemUI/src/com/android/systemui/statusbar/pipeline/wifi/data/repository/prod/WifiRepositoryImpl.kt -packages/SystemUI/src/com/android/systemui/statusbar/pipeline/wifi/domain/interactor/WifiInteractor.kt -packages/SystemUI/src/com/android/systemui/statusbar/pipeline/wifi/shared/WifiConstants.kt -packages/SystemUI/src/com/android/systemui/statusbar/pipeline/wifi/ui/view/ModernStatusBarWifiView.kt @@ -752,7 +752,7 @@ -packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/panelstate/ShadeExpansionStateManagerTest.kt -packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/userswitcher/StatusBarUserSwitcherControllerOldImplTest.kt -packages/SystemUI/tests/src/com/android/systemui/statusbar/pipeline/shared/ConnectivityPipelineLoggerTest.kt --packages/SystemUI/tests/src/com/android/systemui/statusbar/pipeline/wifi/data/repository/WifiRepositoryImplTest.kt +-packages/SystemUI/tests/src/com/android/systemui/statusbar/pipeline/wifi/data/repository/prod/WifiRepositoryImplTest.kt -packages/SystemUI/tests/src/com/android/systemui/statusbar/pipeline/wifi/domain/interactor/WifiInteractorImplTest.kt -packages/SystemUI/tests/src/com/android/systemui/statusbar/pipeline/wifi/ui/view/ModernStatusBarWifiViewTest.kt -packages/SystemUI/tests/src/com/android/systemui/statusbar/pipeline/wifi/ui/viewmodel/WifiViewModelTest.kt diff --git a/packages/SystemUI/res-keyguard/values-af/strings.xml b/packages/SystemUI/res-keyguard/values-af/strings.xml index ea358f69f582d..229a73b130d70 100644 --- a/packages/SystemUI/res-keyguard/values-af/strings.xml +++ b/packages/SystemUI/res-keyguard/values-af/strings.xml @@ -30,8 +30,7 @@ "%s • Laai tans" "%s • Laai tans vinnig" "%s • Laai tans stadig" - - + "%s • Laaiproses word geoptimeer om battery te beskerm" "Druk Kieslys om te ontsluit." "Netwerk is gesluit" "Geen SIM-kaart nie" diff --git a/packages/SystemUI/res-keyguard/values-am/strings.xml b/packages/SystemUI/res-keyguard/values-am/strings.xml index 8d1c9aa087def..c60f5790137ab 100644 --- a/packages/SystemUI/res-keyguard/values-am/strings.xml +++ b/packages/SystemUI/res-keyguard/values-am/strings.xml @@ -30,8 +30,7 @@ "%s • ኃይል በመሙላት ላይ" "%s • በፍጥነት ኃይልን በመሙላት ላይ" "%s • በዝግታ ኃይልን በመሙላት ላይ" - - + "%s • ባትሪን ለመጠበቅ ኃይል መሙላት ተብቷል" "ለመክፈት ምናሌ ተጫን።" "አውታረ መረብ ተቆልፏል" "ምንም ሲም ካርድ የለም" diff --git a/packages/SystemUI/res-keyguard/values-az/strings.xml b/packages/SystemUI/res-keyguard/values-az/strings.xml index 9b81c35a6f7a6..4c0b68c0fe4ba 100644 --- a/packages/SystemUI/res-keyguard/values-az/strings.xml +++ b/packages/SystemUI/res-keyguard/values-az/strings.xml @@ -30,8 +30,7 @@ "%s • Enerji yığır" "%s • Sürətlə enerji yığır" "%s • Yavaş enerji yığır" - - + "%s • Batareyanı qorumaq üçün şarj optimallaşdırılıb" "Kilidi açmaq üçün Menyu düyməsinə basın." "Şəbəkə kilidlidir" "SIM kart yoxdur." diff --git a/packages/SystemUI/res-keyguard/values-b+sr+Latn/strings.xml b/packages/SystemUI/res-keyguard/values-b+sr+Latn/strings.xml index 01bd9078cac41..7faaf01cd3ef6 100644 --- a/packages/SystemUI/res-keyguard/values-b+sr+Latn/strings.xml +++ b/packages/SystemUI/res-keyguard/values-b+sr+Latn/strings.xml @@ -30,8 +30,7 @@ "%s • Пуни се" "%s • Брзо се пуни" "%s • Споро се пуни" - - + "%s • Пуњење је оптимизовано да би се заштитила батерија" "Притисните Мени да бисте откључали." "Мрежа је закључана" "Нема SIM картице" diff --git a/packages/SystemUI/res-keyguard/values-bs/strings.xml b/packages/SystemUI/res-keyguard/values-bs/strings.xml index 6b88e8beb05e2..5e1e4ed2bac01 100644 --- a/packages/SystemUI/res-keyguard/values-bs/strings.xml +++ b/packages/SystemUI/res-keyguard/values-bs/strings.xml @@ -30,8 +30,7 @@ "%s • Punjenje" "%s • Brzo punjenje" "%s • Sporo punjenje" - - + "%s • Punjenje je optimizirano radi zaštite baterije" "Pritisnite meni da otključate." "Mreža je zaključana" "Nema SIM kartice" diff --git a/packages/SystemUI/res-keyguard/values-cs/strings.xml b/packages/SystemUI/res-keyguard/values-cs/strings.xml index d130a798cd243..f22e7172070b3 100644 --- a/packages/SystemUI/res-keyguard/values-cs/strings.xml +++ b/packages/SystemUI/res-keyguard/values-cs/strings.xml @@ -30,8 +30,7 @@ "%s • Nabíjení" "%s • Rychlé nabíjení" "%s • Pomalé nabíjení" - - + "%s • Optimalizované nabíjení za účelem ochrany baterie" "Klávesy odemknete stisknutím tlačítka nabídky." "Síť je blokována" "Chybí SIM karta" diff --git a/packages/SystemUI/res-keyguard/values-da/strings.xml b/packages/SystemUI/res-keyguard/values-da/strings.xml index 1d65ad44a606e..fa3f78d8bfccd 100644 --- a/packages/SystemUI/res-keyguard/values-da/strings.xml +++ b/packages/SystemUI/res-keyguard/values-da/strings.xml @@ -30,8 +30,7 @@ "%s • Oplader" "%s • Oplader hurtigt" "%s • Oplader langsomt" - - + "%s • Opladning er optimeret for at beskytte batteriet" "Tryk på menuen for at låse op." "Netværket er låst" "Intet SIM-kort" diff --git a/packages/SystemUI/res-keyguard/values-el/strings.xml b/packages/SystemUI/res-keyguard/values-el/strings.xml index 3e6a9ad26bba0..1a155ee56d47a 100644 --- a/packages/SystemUI/res-keyguard/values-el/strings.xml +++ b/packages/SystemUI/res-keyguard/values-el/strings.xml @@ -30,8 +30,7 @@ "%s • Φόρτιση" "%s • Γρήγορη φόρτιση" "%s • Αργή φόρτιση" - - + "%s • Η φόρτιση βελτιστοποιήθηκε για την προστασία της μπαταρίας" "Πατήστε \"Μενού\" για ξεκλείδωμα." "Κλειδωμένο δίκτυο" "Δεν υπάρχει SIM" diff --git a/packages/SystemUI/res-keyguard/values-en-rAU/strings.xml b/packages/SystemUI/res-keyguard/values-en-rAU/strings.xml index 5852feff68c20..cce9dd74d66bc 100644 --- a/packages/SystemUI/res-keyguard/values-en-rAU/strings.xml +++ b/packages/SystemUI/res-keyguard/values-en-rAU/strings.xml @@ -30,8 +30,7 @@ "%s • Charging" "%s • Charging rapidly" "%s • Charging slowly" - - + "%s • Charging optimised to protect battery" "Press Menu to unlock." "Network locked" "No SIM card" diff --git a/packages/SystemUI/res-keyguard/values-en-rGB/strings.xml b/packages/SystemUI/res-keyguard/values-en-rGB/strings.xml index 5852feff68c20..cce9dd74d66bc 100644 --- a/packages/SystemUI/res-keyguard/values-en-rGB/strings.xml +++ b/packages/SystemUI/res-keyguard/values-en-rGB/strings.xml @@ -30,8 +30,7 @@ "%s • Charging" "%s • Charging rapidly" "%s • Charging slowly" - - + "%s • Charging optimised to protect battery" "Press Menu to unlock." "Network locked" "No SIM card" diff --git a/packages/SystemUI/res-keyguard/values-en-rIN/strings.xml b/packages/SystemUI/res-keyguard/values-en-rIN/strings.xml index 5852feff68c20..cce9dd74d66bc 100644 --- a/packages/SystemUI/res-keyguard/values-en-rIN/strings.xml +++ b/packages/SystemUI/res-keyguard/values-en-rIN/strings.xml @@ -30,8 +30,7 @@ "%s • Charging" "%s • Charging rapidly" "%s • Charging slowly" - - + "%s • Charging optimised to protect battery" "Press Menu to unlock." "Network locked" "No SIM card" diff --git a/packages/SystemUI/res-keyguard/values-es/strings.xml b/packages/SystemUI/res-keyguard/values-es/strings.xml index bbff08cc5869b..7dfa2cfe52f56 100644 --- a/packages/SystemUI/res-keyguard/values-es/strings.xml +++ b/packages/SystemUI/res-keyguard/values-es/strings.xml @@ -30,8 +30,7 @@ "%s • Cargando" "%s • Cargando rápidamente" "%s • Cargando lentamente" - - + "%s • Carga optimizada para proteger la batería" "Pulsa el menú para desbloquear la pantalla." "Bloqueada para la red" "Falta la tarjeta SIM" diff --git a/packages/SystemUI/res-keyguard/values-et/strings.xml b/packages/SystemUI/res-keyguard/values-et/strings.xml index 4570bd547c14e..355cd20d90026 100644 --- a/packages/SystemUI/res-keyguard/values-et/strings.xml +++ b/packages/SystemUI/res-keyguard/values-et/strings.xml @@ -30,8 +30,7 @@ "%s • Laadimine" "%s • Kiirlaadimine" "%s • Aeglane laadimine" - - + "%s • Laadimine on aku kaitsmiseks optimeeritud" "Vajutage avamiseks menüüklahvi." "Võrk on lukus" "SIM-kaarti pole" diff --git a/packages/SystemUI/res-keyguard/values-eu/strings.xml b/packages/SystemUI/res-keyguard/values-eu/strings.xml index eca4a36323ae0..3c794c6f7fe4a 100644 --- a/packages/SystemUI/res-keyguard/values-eu/strings.xml +++ b/packages/SystemUI/res-keyguard/values-eu/strings.xml @@ -30,8 +30,7 @@ "%s • Kargatzen" "%s • Bizkor kargatzen" "%s • Mantso kargatzen" - - + "%s • Kargatzea optimizatu da bateria ez kaltetzeko" "Desblokeatzeko, sakatu Menua." "Sarea blokeatuta dago" "Ez dago SIM txartelik" diff --git a/packages/SystemUI/res-keyguard/values-fa/strings.xml b/packages/SystemUI/res-keyguard/values-fa/strings.xml index 83e222d64e24f..aa040b817bb94 100644 --- a/packages/SystemUI/res-keyguard/values-fa/strings.xml +++ b/packages/SystemUI/res-keyguard/values-fa/strings.xml @@ -30,8 +30,7 @@ "%s • درحال شارژ شدن" "%s • درحال شارژ سریع" "%s • آهسته‌آهسته شارژ می‌شود" - - + "%s • برای محافظت از باتری، شارژ بهینه شد" "برای باز کردن قفل روی «منو» فشار دهید." "شبکه قفل شد" "سیم‌کارت موجود نیست" diff --git a/packages/SystemUI/res-keyguard/values-fi/strings.xml b/packages/SystemUI/res-keyguard/values-fi/strings.xml index d434dd38f91e6..23d985d73a1de 100644 --- a/packages/SystemUI/res-keyguard/values-fi/strings.xml +++ b/packages/SystemUI/res-keyguard/values-fi/strings.xml @@ -30,8 +30,7 @@ "%s • Ladataan" "%s • Ladataan nopeasti" "%s • Ladataan hitaasti" - - + "%s • Lataus optimoitu akun suojaamiseksi" "Poista lukitus painamalla Valikkoa." "Verkko lukittu" "Ei SIM-korttia" diff --git a/packages/SystemUI/res-keyguard/values-fr-rCA/strings.xml b/packages/SystemUI/res-keyguard/values-fr-rCA/strings.xml index 252fea4b6b8f9..c16bcba96cbb9 100644 --- a/packages/SystemUI/res-keyguard/values-fr-rCA/strings.xml +++ b/packages/SystemUI/res-keyguard/values-fr-rCA/strings.xml @@ -30,8 +30,7 @@ "En recharge : %s" "En recharge rapide : %s" "En recharge lente : %s" - - + "%s • Rechargement optimisé pour protéger la pile" "Appuyez sur la touche Menu pour déverrouiller l\'appareil." "Réseau verrouillé" "Aucune carte SIM" diff --git a/packages/SystemUI/res-keyguard/values-fr/strings.xml b/packages/SystemUI/res-keyguard/values-fr/strings.xml index e112943ec34a5..da33e6b678552 100644 --- a/packages/SystemUI/res-keyguard/values-fr/strings.xml +++ b/packages/SystemUI/res-keyguard/values-fr/strings.xml @@ -30,8 +30,7 @@ "%s • Recharge…" "%s • Recharge rapide…" "%s • Recharge lente" - - + "%s • Recharge optimisée pour protéger la batterie" "Appuyez sur \"Menu\" pour déverrouiller le clavier." "Réseau verrouillé" "Pas de carte SIM" diff --git a/packages/SystemUI/res-keyguard/values-gu/strings.xml b/packages/SystemUI/res-keyguard/values-gu/strings.xml index f85a6c30b6953..1a12508cada63 100644 --- a/packages/SystemUI/res-keyguard/values-gu/strings.xml +++ b/packages/SystemUI/res-keyguard/values-gu/strings.xml @@ -30,8 +30,7 @@ "%s • ચાર્જિંગ" "%s • ઝડપથી ચાર્જિંગ" "%s • ધીમેથી ચાર્જિંગ" - - + "%s • બૅટરીની સુરક્ષા કરવા માટે, ચાર્જિંગ ઑપ્ટિમાઇઝ કરવામાં આવ્યું છે" "અનલૉક કરવા માટે મેનૂ દબાવો." "નેટવર્ક લૉક થયું" "કોઈ સિમ કાર્ડ નથી" diff --git a/packages/SystemUI/res-keyguard/values-hr/strings.xml b/packages/SystemUI/res-keyguard/values-hr/strings.xml index 99fd8cb9f73cd..92932831180e9 100644 --- a/packages/SystemUI/res-keyguard/values-hr/strings.xml +++ b/packages/SystemUI/res-keyguard/values-hr/strings.xml @@ -30,8 +30,7 @@ "%s • punjenje" "%s • brzo punjenje" "%s • sporo punjenje" - - + "%s • Punjenje se optimizira radi zaštite baterije" "Pritisnite Izbornik da biste otključali." "Mreža je zaključana" "Nema SIM kartice" diff --git a/packages/SystemUI/res-keyguard/values-hu/strings.xml b/packages/SystemUI/res-keyguard/values-hu/strings.xml index 070454521c456..d86ab84aac95f 100644 --- a/packages/SystemUI/res-keyguard/values-hu/strings.xml +++ b/packages/SystemUI/res-keyguard/values-hu/strings.xml @@ -30,8 +30,7 @@ "%s • Töltés" "%s • Gyors töltés" "%s • Lassú töltés" - - + "%s • Optimalizált töltés az akkumulátor védelme érdekében" "A feloldáshoz nyomja meg a Menü gombot." "Hálózat zárolva" "Nincs SIM-kártya" diff --git a/packages/SystemUI/res-keyguard/values-hy/strings.xml b/packages/SystemUI/res-keyguard/values-hy/strings.xml index ddbb54ea57612..b2d65e7c7935a 100644 --- a/packages/SystemUI/res-keyguard/values-hy/strings.xml +++ b/packages/SystemUI/res-keyguard/values-hy/strings.xml @@ -30,8 +30,7 @@ "%s • Լիցքավորում" "%s • Արագ լիցքավորում" "%s • Դանդաղ լիցքավորում" - - + "%s • Մարտկոցը պաշտպանելու համար լիցքավորումն օպտիմալացվել է" "Ապակողպելու համար սեղմեք Ընտրացանկը:" "Ցանցը կողպված է" "SIM քարտ չկա" diff --git a/packages/SystemUI/res-keyguard/values-is/strings.xml b/packages/SystemUI/res-keyguard/values-is/strings.xml index a6f6f7db31431..6aa0cc69706b5 100644 --- a/packages/SystemUI/res-keyguard/values-is/strings.xml +++ b/packages/SystemUI/res-keyguard/values-is/strings.xml @@ -30,8 +30,7 @@ "%s • Í hleðslu" "%s • Hröð hleðsla" "%s • Hæg hleðsla" - - + "%s • Hleðsla fínstillt til að vernda rafhlöðuna" "Ýttu á valmyndarhnappinn til að taka úr lás." "Net læst" "Ekkert SIM-kort" diff --git a/packages/SystemUI/res-keyguard/values-it/strings.xml b/packages/SystemUI/res-keyguard/values-it/strings.xml index 3b9349501d6d7..9d5db3a40f05a 100644 --- a/packages/SystemUI/res-keyguard/values-it/strings.xml +++ b/packages/SystemUI/res-keyguard/values-it/strings.xml @@ -30,8 +30,7 @@ "%s • In carica" "%s • Ricarica veloce" "%s • Ricarica lenta" - - + "%s • Ricarica ottimizzata per proteggere la batteria" "Premi Menu per sbloccare." "Rete bloccata" "Nessuna SIM" diff --git a/packages/SystemUI/res-keyguard/values-iw/strings.xml b/packages/SystemUI/res-keyguard/values-iw/strings.xml index fbb42a675b1ca..619052aa01a39 100644 --- a/packages/SystemUI/res-keyguard/values-iw/strings.xml +++ b/packages/SystemUI/res-keyguard/values-iw/strings.xml @@ -30,8 +30,7 @@ "%s • בטעינה" "%s • בטעינה מהירה" "%s • בטעינה איטית" - - + "%s • הטעינה עברה אופטימיזציה כדי להגן על הסוללה" "יש ללחוץ על \'תפריט\' כדי לבטל את הנעילה." "הרשת נעולה" "‏אין כרטיס SIM" diff --git a/packages/SystemUI/res-keyguard/values-ja/strings.xml b/packages/SystemUI/res-keyguard/values-ja/strings.xml index 4d3a4e0a1ce88..390bfcbf4801d 100644 --- a/packages/SystemUI/res-keyguard/values-ja/strings.xml +++ b/packages/SystemUI/res-keyguard/values-ja/strings.xml @@ -30,8 +30,7 @@ "%s • 充電中" "%s • 急速充電中" "%s • 低速充電中" - - + "%s • 充電最適化済み(バッテリーを保護)" "メニューからロックを解除できます。" "ネットワークがロックされました" "SIM カードなし" diff --git a/packages/SystemUI/res-keyguard/values-ka/strings.xml b/packages/SystemUI/res-keyguard/values-ka/strings.xml index 02d193583ab2c..2d471141346b5 100644 --- a/packages/SystemUI/res-keyguard/values-ka/strings.xml +++ b/packages/SystemUI/res-keyguard/values-ka/strings.xml @@ -30,8 +30,7 @@ "%s • იტენება" "%s • სწრაფად იტენება" "%s • ნელა იტენება" - - + "%s • დატენვა ოპტიმიზირებულია ბატარეის დასაცავად" "განსაბლოკად დააჭირეთ მენიუს." "ქსელი ჩაკეტილია" "SIM ბარ. არაა" diff --git a/packages/SystemUI/res-keyguard/values-kk/strings.xml b/packages/SystemUI/res-keyguard/values-kk/strings.xml index 612430c6d89bc..2b1673f40b9ba 100644 --- a/packages/SystemUI/res-keyguard/values-kk/strings.xml +++ b/packages/SystemUI/res-keyguard/values-kk/strings.xml @@ -30,8 +30,7 @@ "%s • Зарядталуда" "%s • Жылдам зарядталуда" "%s • Баяу зарядталуда" - - + "%s • Батареяны қорғау үшін, зарядтау оңтайландырылды." "Ашу үшін \"Мәзір\" пернесін басыңыз." "Желі құлыптаулы" "SIM картасы салынбаған" diff --git a/packages/SystemUI/res-keyguard/values-km/strings.xml b/packages/SystemUI/res-keyguard/values-km/strings.xml index f4c7bcb3f25f6..76ac97f318bd8 100644 --- a/packages/SystemUI/res-keyguard/values-km/strings.xml +++ b/packages/SystemUI/res-keyguard/values-km/strings.xml @@ -30,8 +30,7 @@ "%s • កំពុង​សាកថ្ម" "%s • កំពុង​សាកថ្មយ៉ាង​ឆាប់រហ័ស" "%s • កំពុង​សាកថ្មយឺត" - - + "%s • បានបង្កើនប្រសិទ្ធភាពនៃការសាក ដើម្បីការពារថ្ម" "ចុចម៉ឺនុយ ​ដើម្បី​ដោះ​សោ។" "បណ្ដាញ​ជាប់​សោ" "គ្មាន​ស៊ីម​កាត​ទេ" diff --git a/packages/SystemUI/res-keyguard/values-kn/strings.xml b/packages/SystemUI/res-keyguard/values-kn/strings.xml index ee63b4bc92f33..bdf89c29b6d0e 100644 --- a/packages/SystemUI/res-keyguard/values-kn/strings.xml +++ b/packages/SystemUI/res-keyguard/values-kn/strings.xml @@ -30,8 +30,7 @@ "%s • ಚಾರ್ಜ್‌ ಮಾಡಲಾಗುತ್ತಿದೆ" "%s • ವೇಗವಾಗಿ ಚಾರ್ಜ್‌ಮಾಡಲಾಗುತ್ತಿದೆ" "%s • ನಿಧಾನವಾಗಿ ಚಾರ್ಜ್ ಮಾಡಲಾಗುತ್ತಿದೆ" - - + "%s • ಬ್ಯಾಟರಿಯನ್ನು ರಕ್ಷಿಸಲು ಚಾರ್ಜಿಂಗ್ ಅನ್ನು ಆಪ್ಟಿಮೈಸ್ ಮಾಡಲಾಗಿದೆ" "ಅನ್‌ಲಾಕ್ ಮಾಡಲು ಮೆನು ಒತ್ತಿರಿ." "ನೆಟ್‌ವರ್ಕ್ ಲಾಕ್ ಆಗಿದೆ" "ಸಿಮ್‌ ಕಾರ್ಡ್ ಇಲ್ಲ" diff --git a/packages/SystemUI/res-keyguard/values-ko/strings.xml b/packages/SystemUI/res-keyguard/values-ko/strings.xml index e284edc82b8b6..e0c8976b80a9d 100644 --- a/packages/SystemUI/res-keyguard/values-ko/strings.xml +++ b/packages/SystemUI/res-keyguard/values-ko/strings.xml @@ -30,8 +30,7 @@ "%s • 충전 중" "%s • 고속 충전 중" "%s • 저속 충전 중" - - + "%s • 배터리 보호를 위해 충전 최적화됨" "잠금 해제하려면 메뉴를 누르세요." "네트워크 잠김" "SIM 카드 없음" diff --git a/packages/SystemUI/res-keyguard/values-ky/strings.xml b/packages/SystemUI/res-keyguard/values-ky/strings.xml index 61e1aac0f6817..a881259fa1f19 100644 --- a/packages/SystemUI/res-keyguard/values-ky/strings.xml +++ b/packages/SystemUI/res-keyguard/values-ky/strings.xml @@ -30,8 +30,7 @@ "%s • Кубатталууда" "%s • Тез кубатталууда" "%s • Жай кубатталууда" - - + "%s • Батареяны коргоо үчүн кубаттоо процесси оптималдаштырылды" "Кулпуну ачуу үчүн Менюну басыңыз." "Тармак кулпуланган" "SIM карта жок" diff --git a/packages/SystemUI/res-keyguard/values-lo/strings.xml b/packages/SystemUI/res-keyguard/values-lo/strings.xml index d40fa7fd133d1..7782b196e43ac 100644 --- a/packages/SystemUI/res-keyguard/values-lo/strings.xml +++ b/packages/SystemUI/res-keyguard/values-lo/strings.xml @@ -30,8 +30,7 @@ "%s • ກຳລັງສາກ" "%s • ກຳລັງສາກແບບດ່ວນ" "%s • ກຳລັງສາກແບບຊ້າ" - - + "%s • ການສາກຖືກປັບໃຫ້ເໝາະສົມເພື່ອປົກປ້ອງແບັດເຕີຣີ" "ກົດ \"ເມນູ\" ເພື່ອປົດລັອກ." "ເຄືອຂ່າຍຖືກລັອກ" "ບໍ່ມີຊິມກາດ" diff --git a/packages/SystemUI/res-keyguard/values-lt/strings.xml b/packages/SystemUI/res-keyguard/values-lt/strings.xml index 9ae5462c1c648..480922b7d36a9 100644 --- a/packages/SystemUI/res-keyguard/values-lt/strings.xml +++ b/packages/SystemUI/res-keyguard/values-lt/strings.xml @@ -30,8 +30,7 @@ "%s • Įkraunama" "%s • Greitai įkraunama" "%s • Lėtai įkraunama" - - + "%s • Įkrovimas optimizuotas siekiant apsaugoti akumuliatorių" "Paspauskite meniu, jei norite atrakinti." "Tinklas užrakintas" "Nėra SIM kortelės" diff --git a/packages/SystemUI/res-keyguard/values-lv/strings.xml b/packages/SystemUI/res-keyguard/values-lv/strings.xml index 1e59a1ed94213..0c16266be40a0 100644 --- a/packages/SystemUI/res-keyguard/values-lv/strings.xml +++ b/packages/SystemUI/res-keyguard/values-lv/strings.xml @@ -30,8 +30,7 @@ "%s • Notiek uzlāde" "%s • Notiek ātrā uzlāde" "%s • Notiek lēnā uzlāde" - - + "%s • Uzlāde optimizēta, lai saudzētu akumulatoru" "Lai atbloķētu, nospiediet izvēlnes ikonu." "Tīkls ir bloķēts." "Nav SIM kartes." diff --git a/packages/SystemUI/res-keyguard/values-mk/strings.xml b/packages/SystemUI/res-keyguard/values-mk/strings.xml index 4f74412080d3f..28df6c0a77c7e 100644 --- a/packages/SystemUI/res-keyguard/values-mk/strings.xml +++ b/packages/SystemUI/res-keyguard/values-mk/strings.xml @@ -30,8 +30,7 @@ "%s • Се полни" "%s • Брзо полнење" "%s • Бавно полнење" - - + "%s • Полнењето е оптимизирано за да се заштити батеријата" "Притиснете „Мени“ за отклучување." "Мрежата е заклучена" "Нема SIM-картичка" diff --git a/packages/SystemUI/res-keyguard/values-ml/strings.xml b/packages/SystemUI/res-keyguard/values-ml/strings.xml index f8098fbcc38a7..88ecb87462025 100644 --- a/packages/SystemUI/res-keyguard/values-ml/strings.xml +++ b/packages/SystemUI/res-keyguard/values-ml/strings.xml @@ -30,8 +30,7 @@ "%s • ചാർജ് ചെയ്യുന്നു" "%s • വേഗത്തിൽ ചാർജ് ചെയ്യുന്നു" "%s • പതുക്കെ ചാർജ് ചെയ്യുന്നു" - - + "%s • ബാറ്ററി പരിരക്ഷിക്കാൻ ചാർജിംഗ് ഒപ്റ്റിമൈസ് ചെയ്തു" "അൺലോക്കുചെയ്യാൻ മെനു അമർത്തുക." "നെറ്റ്‌വർക്ക് ലോക്കുചെയ്‌തു" "സിം കാർഡില്ല" diff --git a/packages/SystemUI/res-keyguard/values-mn/strings.xml b/packages/SystemUI/res-keyguard/values-mn/strings.xml index e4f8847501ab8..adcad3eb4c927 100644 --- a/packages/SystemUI/res-keyguard/values-mn/strings.xml +++ b/packages/SystemUI/res-keyguard/values-mn/strings.xml @@ -30,8 +30,7 @@ "%s • Цэнэглэж байна" "%s • Хурдан цэнэглэж байна" "%s • Удаан цэнэглэж байна" - - + "%s • Батарейг хамгаалахын тулд цэнэглэх явцыг оновчилсон" "Түгжээг тайлах бол цэсийг дарна уу." "Сүлжээ түгжигдсэн" "SIM карт алга" diff --git a/packages/SystemUI/res-keyguard/values-mr/strings.xml b/packages/SystemUI/res-keyguard/values-mr/strings.xml index c7d4877411fb9..8098855c6038a 100644 --- a/packages/SystemUI/res-keyguard/values-mr/strings.xml +++ b/packages/SystemUI/res-keyguard/values-mr/strings.xml @@ -30,8 +30,7 @@ "%s • चार्ज होत आहे" "%s • वेगाने चार्ज होत आहे" "%s • सावकाश चार्ज होत आहे" - - + "%s • बॅटरीचे संरक्षण करण्यासाठी चार्जिंग ऑप्टिमाइझ केले" "अनलॉक करण्यासाठी मेनू दाबा." "नेटवर्क लॉक केले" "सिम कार्ड नाही" diff --git a/packages/SystemUI/res-keyguard/values-ms/strings.xml b/packages/SystemUI/res-keyguard/values-ms/strings.xml index 70121458f15fd..8bc073869a420 100644 --- a/packages/SystemUI/res-keyguard/values-ms/strings.xml +++ b/packages/SystemUI/res-keyguard/values-ms/strings.xml @@ -30,8 +30,7 @@ "%s • Mengecas" "%s • Mengecas dengan cepat" "%s • Mengecas dengan perlahan" - - + "%s • Pengecasan dioptimumkan untuk melindungi bateri" "Tekan Menu untuk membuka kunci." "Rangkaian dikunci" "Tiada kad SIM" diff --git a/packages/SystemUI/res-keyguard/values-my/strings.xml b/packages/SystemUI/res-keyguard/values-my/strings.xml index 7a742cb31fb14..26b60c7d42398 100644 --- a/packages/SystemUI/res-keyguard/values-my/strings.xml +++ b/packages/SystemUI/res-keyguard/values-my/strings.xml @@ -30,8 +30,7 @@ "%s • အားသွင်းနေသည်" "%s • အမြန်အားသွင်းနေသည်" "%s • နှေးကွေးစွာ အားသွင်းနေသည်" - - + "%s • ဘက်ထရီကာကွယ်ရန် အားသွင်းခြင်းကို အကောင်းဆုံးပြင်ဆင်ထားသည်" "မီနူးကို နှိပ်၍ လော့ခ်ဖွင့်ပါ။" "ကွန်ရက်ကို လော့ခ်ချထားသည်" "ဆင်းမ်ကတ် မရှိပါ" diff --git a/packages/SystemUI/res-keyguard/values-ne/strings.xml b/packages/SystemUI/res-keyguard/values-ne/strings.xml index 72d2c5bee1fd1..ff6abadb40a00 100644 --- a/packages/SystemUI/res-keyguard/values-ne/strings.xml +++ b/packages/SystemUI/res-keyguard/values-ne/strings.xml @@ -30,8 +30,7 @@ "%s • चार्ज गरिँदै" "%s • द्रुत गतिमा चार्ज गरिँदै छ" "%s • मन्द गतिमा चार्ज गरिँदै" - - + "%s • ब्याट्री जोगाउन चार्ज गर्ने प्रक्रिया अप्टिमाइज गरिएको छ" "अनलक गर्न मेनु थिच्नुहोस्।" "नेटवर्क लक भएको छ" "SIM कार्ड छैन" diff --git a/packages/SystemUI/res-keyguard/values-nl/strings.xml b/packages/SystemUI/res-keyguard/values-nl/strings.xml index 141d735cfee89..f9a52f7707619 100644 --- a/packages/SystemUI/res-keyguard/values-nl/strings.xml +++ b/packages/SystemUI/res-keyguard/values-nl/strings.xml @@ -30,8 +30,7 @@ "%s • Opladen" "%s • Snel opladen" "%s • Langzaam opladen" - - + "%s • Opladen geoptimaliseerd om de batterij te beschermen" "Druk op Menu om te ontgrendelen." "Netwerk vergrendeld" "Geen simkaart" diff --git a/packages/SystemUI/res-keyguard/values-or/strings.xml b/packages/SystemUI/res-keyguard/values-or/strings.xml index dc17e3608d1e7..b6e710c34564c 100644 --- a/packages/SystemUI/res-keyguard/values-or/strings.xml +++ b/packages/SystemUI/res-keyguard/values-or/strings.xml @@ -30,8 +30,7 @@ "%s • ଚାର୍ଜ ହେଉଛି" "%s • ଦ୍ରୁତ ଭାବେ ଚାର୍ଜ ହେଉଛି" "%s • ଧୀରେ ଚାର୍ଜ ହେଉଛି" - - + "%s • ବେଟେରୀକୁ ସୁରକ୍ଷିତ ରଖିବା ପାଇଁ ଚାର୍ଜିଂକୁ ଅପ୍ଟିମାଇଜ କରାଯାଇଛି" "ଅନଲକ୍‌ କରିବା ପାଇଁ ମେନୁକୁ ଦବାନ୍ତୁ।" "ନେଟୱର୍କକୁ ଲକ୍‌ କରାଯାଇଛି" "କୌଣସି SIM କାର୍ଡ ନାହିଁ" diff --git a/packages/SystemUI/res-keyguard/values-pa/strings.xml b/packages/SystemUI/res-keyguard/values-pa/strings.xml index 3e05970398702..fe2b5050d1bc8 100644 --- a/packages/SystemUI/res-keyguard/values-pa/strings.xml +++ b/packages/SystemUI/res-keyguard/values-pa/strings.xml @@ -30,8 +30,7 @@ "%s • ਚਾਰਜ ਹੋ ਰਿਹਾ ਹੈ" "%s • ਤੇਜ਼ੀ ਨਾਲ ਚਾਰਜ ਹੋ ਰਿਹਾ ਹੈ" "%s • ਹੌਲੀ-ਹੌਲੀ ਚਾਰਜ ਹੋ ਰਿਹਾ ਹੈ" - - + "%s • ਬੈਟਰੀ ਦੀ ਸੁਰੱਖਿਆ ਲਈ ਚਾਰਜਿੰਗ ਨੂੰ ਸੁਯੋਗ ਬਣਾਇਆ ਗਿਆ" "ਅਣਲਾਕ ਕਰਨ ਲਈ \"ਮੀਨੂ\" ਦਬਾਓ।" "ਨੈੱਟਵਰਕ ਲਾਕ ਕੀਤਾ ਗਿਆ" "ਕੋਈ ਸਿਮ ਕਾਰਡ ਨਹੀਂ" diff --git a/packages/SystemUI/res-keyguard/values-pl/strings.xml b/packages/SystemUI/res-keyguard/values-pl/strings.xml index 4d3fe58752059..827124673aaa5 100644 --- a/packages/SystemUI/res-keyguard/values-pl/strings.xml +++ b/packages/SystemUI/res-keyguard/values-pl/strings.xml @@ -30,8 +30,7 @@ "%s • Ładowanie" "%s • Szybkie ładowanie" "%s • Wolne ładowanie" - - + "%s • Ładowanie zoptymalizowane w celu ochrony baterii" "Naciśnij Menu, aby odblokować." "Sieć zablokowana" "Brak karty SIM" diff --git a/packages/SystemUI/res-keyguard/values-pt-rBR/strings.xml b/packages/SystemUI/res-keyguard/values-pt-rBR/strings.xml index f61ee04920519..08e03bccf27b6 100644 --- a/packages/SystemUI/res-keyguard/values-pt-rBR/strings.xml +++ b/packages/SystemUI/res-keyguard/values-pt-rBR/strings.xml @@ -30,8 +30,7 @@ "%s • Carregando" "%s • Carregando rapidamente" "%s • Carregando lentamente" - - + "%s • Carregamento otimizado para proteger a bateria" "Pressione Menu para desbloquear." "Rede bloqueada" "Sem chip" diff --git a/packages/SystemUI/res-keyguard/values-pt-rPT/strings.xml b/packages/SystemUI/res-keyguard/values-pt-rPT/strings.xml index e8e21fa1e0e9b..7eecdc981cc8b 100644 --- a/packages/SystemUI/res-keyguard/values-pt-rPT/strings.xml +++ b/packages/SystemUI/res-keyguard/values-pt-rPT/strings.xml @@ -30,8 +30,7 @@ "%s • A carregar…" "%s • A carregar rapidamente…" "%s • A carregar lentamente…" - - + "%s • Carregamento otimizado para proteger a bateria" "Prima Menu para desbloquear." "Rede bloqueada" "Nenhum cartão SIM" diff --git a/packages/SystemUI/res-keyguard/values-pt/strings.xml b/packages/SystemUI/res-keyguard/values-pt/strings.xml index f61ee04920519..08e03bccf27b6 100644 --- a/packages/SystemUI/res-keyguard/values-pt/strings.xml +++ b/packages/SystemUI/res-keyguard/values-pt/strings.xml @@ -30,8 +30,7 @@ "%s • Carregando" "%s • Carregando rapidamente" "%s • Carregando lentamente" - - + "%s • Carregamento otimizado para proteger a bateria" "Pressione Menu para desbloquear." "Rede bloqueada" "Sem chip" diff --git a/packages/SystemUI/res-keyguard/values-ro/strings.xml b/packages/SystemUI/res-keyguard/values-ro/strings.xml index 073f5ed46ea61..6535046132540 100644 --- a/packages/SystemUI/res-keyguard/values-ro/strings.xml +++ b/packages/SystemUI/res-keyguard/values-ro/strings.xml @@ -30,8 +30,7 @@ "%s • Se încarcă" "%s • Se încarcă rapid" "%s • Se încarcă lent" - - + "%s • Încărcarea este optimizată pentru a proteja bateria" "Apasă pe Meniu pentru a debloca." "Rețea blocată" "Niciun card SIM" diff --git a/packages/SystemUI/res-keyguard/values-ru/strings.xml b/packages/SystemUI/res-keyguard/values-ru/strings.xml index 4cd4174de89ef..e616f766eb3ab 100644 --- a/packages/SystemUI/res-keyguard/values-ru/strings.xml +++ b/packages/SystemUI/res-keyguard/values-ru/strings.xml @@ -30,8 +30,7 @@ "Идет зарядка (%s)" "Идет быстрая зарядка (%s)" "Идет медленная зарядка (%s)" - - + "%s • Зарядка оптимизирована для защиты батареи" "Для разблокировки нажмите \"Меню\"." "Сеть заблокирована" "Нет SIM-карты." diff --git a/packages/SystemUI/res-keyguard/values-si/strings.xml b/packages/SystemUI/res-keyguard/values-si/strings.xml index 6a9676f292f0f..8ab9fe9228e66 100644 --- a/packages/SystemUI/res-keyguard/values-si/strings.xml +++ b/packages/SystemUI/res-keyguard/values-si/strings.xml @@ -30,8 +30,7 @@ "%s • ආරෝපණය වෙමින්" "%s • වේගයෙන් ආරෝපණය වෙමින්" "%s • සෙමින් ආරෝපණය වෙමින්" - - + "%s • බැටරිය ආරක්ෂා කිරීම සඳහා ආරෝපණය ප්‍රශස්ත කර ඇත" "අගුලු හැරීමට මෙනුව ඔබන්න." "ජාලය අගුළු දමා ඇත" "SIM පත නැත" diff --git a/packages/SystemUI/res-keyguard/values-sk/strings.xml b/packages/SystemUI/res-keyguard/values-sk/strings.xml index 6076198797c54..a076bf1310dcf 100644 --- a/packages/SystemUI/res-keyguard/values-sk/strings.xml +++ b/packages/SystemUI/res-keyguard/values-sk/strings.xml @@ -30,8 +30,7 @@ "%s • Nabíja sa" "%s • Nabíja sa rýchlo" "%s • Nabíja sa pomaly" - - + "%s • Nabíjanie je optimalizované, aby sa chránila batéria" "Odomknete stlačením tlačidla ponuky." "Sieť je zablokovaná" "Žiadna SIM karta" diff --git a/packages/SystemUI/res-keyguard/values-sl/strings.xml b/packages/SystemUI/res-keyguard/values-sl/strings.xml index 9269bc76b3854..5e168a02087a3 100644 --- a/packages/SystemUI/res-keyguard/values-sl/strings.xml +++ b/packages/SystemUI/res-keyguard/values-sl/strings.xml @@ -30,8 +30,7 @@ "%s • polnjenje" "%s • hitro polnjenje" "%s • počasno polnjenje" - - + "%s • Polnjenje je optimizirano zaradi zaščite baterije" "Če želite odkleniti, pritisnite meni." "Omrežje je zaklenjeno" "Ni kartice SIM" diff --git a/packages/SystemUI/res-keyguard/values-sq/strings.xml b/packages/SystemUI/res-keyguard/values-sq/strings.xml index 9943955436966..261c619ddf01e 100644 --- a/packages/SystemUI/res-keyguard/values-sq/strings.xml +++ b/packages/SystemUI/res-keyguard/values-sq/strings.xml @@ -30,8 +30,7 @@ "%s • Po karikohet" "%s • Po karikohet me shpejtësi" "%s • Po karikohet ngadalë" - - + "%s • Karikimi u optimizua për të mbrojtur baterinë" "Shtyp \"Meny\" për të shkyçur." "Rrjeti është i kyçur" "Nuk ka kartë SIM" diff --git a/packages/SystemUI/res-keyguard/values-sr/strings.xml b/packages/SystemUI/res-keyguard/values-sr/strings.xml index 01bd9078cac41..7faaf01cd3ef6 100644 --- a/packages/SystemUI/res-keyguard/values-sr/strings.xml +++ b/packages/SystemUI/res-keyguard/values-sr/strings.xml @@ -30,8 +30,7 @@ "%s • Пуни се" "%s • Брзо се пуни" "%s • Споро се пуни" - - + "%s • Пуњење је оптимизовано да би се заштитила батерија" "Притисните Мени да бисте откључали." "Мрежа је закључана" "Нема SIM картице" diff --git a/packages/SystemUI/res-keyguard/values-sv/strings.xml b/packages/SystemUI/res-keyguard/values-sv/strings.xml index ebba2e18cfe6c..1b6e3517d1502 100644 --- a/packages/SystemUI/res-keyguard/values-sv/strings.xml +++ b/packages/SystemUI/res-keyguard/values-sv/strings.xml @@ -30,8 +30,7 @@ "%s • Laddas" "%s • Laddas snabbt" "%s • Laddas långsamt" - - + "%s • Laddningen har optimerats för att skydda batteriet" "Lås upp genom att trycka på Meny." "Nätverk låst" "Inget SIM-kort" diff --git a/packages/SystemUI/res-keyguard/values-ta/strings.xml b/packages/SystemUI/res-keyguard/values-ta/strings.xml index 7a06971487017..4391958676a2a 100644 --- a/packages/SystemUI/res-keyguard/values-ta/strings.xml +++ b/packages/SystemUI/res-keyguard/values-ta/strings.xml @@ -30,8 +30,7 @@ "%s • சார்ஜாகிறது" "%s • வேகமாகச் சார்ஜாகிறது" "%s • மெதுவாகச் சார்ஜாகிறது" - - + "%s • பேட்டரியைப் பாதுகாக்க சார்ஜிங் மேம்படுத்தப்பட்டுள்ளது" "அன்லாக் செய்ய மெனுவை அழுத்தவும்." "நெட்வொர்க் பூட்டப்பட்டது" "சிம் கார்டு இல்லை" diff --git a/packages/SystemUI/res-keyguard/values-te/strings.xml b/packages/SystemUI/res-keyguard/values-te/strings.xml index 20ca4b0013814..fde52be9628d1 100644 --- a/packages/SystemUI/res-keyguard/values-te/strings.xml +++ b/packages/SystemUI/res-keyguard/values-te/strings.xml @@ -30,8 +30,7 @@ "%s • ఛార్జ్ అవుతోంది" "%s • వేగంగా ఛార్జ్ అవుతోంది" "%s • నెమ్మదిగా ఛార్జ్ అవుతోంది" - - + "%s • బ్యాటరీని రక్షించడానికి ఛార్జింగ్ ఆప్టిమైజ్ చేయబడింది" "అన్‌లాక్ చేయడానికి మెనూను నొక్కండి." "నెట్‌వర్క్ లాక్ చేయబడింది" "SIM కార్డ్ లేదు" diff --git a/packages/SystemUI/res-keyguard/values-th/strings.xml b/packages/SystemUI/res-keyguard/values-th/strings.xml index 905dea649818d..43e8740d164e4 100644 --- a/packages/SystemUI/res-keyguard/values-th/strings.xml +++ b/packages/SystemUI/res-keyguard/values-th/strings.xml @@ -30,8 +30,7 @@ "%s • กำลังชาร์จ" "%s • กำลังชาร์จอย่างเร็ว" "%s • กำลังชาร์จอย่างช้าๆ" - - + "%s • ปรับการชาร์จให้เหมาะสมเพื่อถนอมแบตเตอรี่" "กด \"เมนู\" เพื่อปลดล็อก" "เครือข่ายถูกล็อก" "ไม่มีซิมการ์ด" diff --git a/packages/SystemUI/res-keyguard/values-tl/strings.xml b/packages/SystemUI/res-keyguard/values-tl/strings.xml index 3cd1be8df21a7..d2ddf399ffdc7 100644 --- a/packages/SystemUI/res-keyguard/values-tl/strings.xml +++ b/packages/SystemUI/res-keyguard/values-tl/strings.xml @@ -30,8 +30,7 @@ "%s • Nagcha-charge" "%s • Mabilis na nagcha-charge" "%s • Mabagal na nagcha-charge" - - + "%s • Naka-optimize ang pag-charge para protektahan ang baterya" "Pindutin ang Menu upang i-unlock." "Naka-lock ang network" "Walang SIM card" diff --git a/packages/SystemUI/res-keyguard/values-tr/strings.xml b/packages/SystemUI/res-keyguard/values-tr/strings.xml index 81a49cbb126da..a86726eb1deff 100644 --- a/packages/SystemUI/res-keyguard/values-tr/strings.xml +++ b/packages/SystemUI/res-keyguard/values-tr/strings.xml @@ -30,8 +30,7 @@ "%s • Şarj oluyor" "%s • Hızlı şarj oluyor" "%s • Yavaş şarj oluyor" - - + "%s • Şarj işlemi pili korumak üzere optimize edildi" "Kilidi açmak için Menü\'ye basın." "Ağ kilitli" "SIM kart yok" diff --git a/packages/SystemUI/res-keyguard/values-uk/strings.xml b/packages/SystemUI/res-keyguard/values-uk/strings.xml index 0c2e8e1423466..63e9bcd085c0e 100644 --- a/packages/SystemUI/res-keyguard/values-uk/strings.xml +++ b/packages/SystemUI/res-keyguard/values-uk/strings.xml @@ -30,8 +30,7 @@ "%s • Заряджання" "%s • Швидке заряджання" "%s • Повільне заряджання" - - + "%s • Заряджання оптимізовано, щоб захистити акумулятор" "Натисніть меню, щоб розблокувати." "Мережу заблоковано" "Немає SIM-карти" diff --git a/packages/SystemUI/res-keyguard/values-uz/strings.xml b/packages/SystemUI/res-keyguard/values-uz/strings.xml index 7eab4ade5da9f..99b3601a98613 100644 --- a/packages/SystemUI/res-keyguard/values-uz/strings.xml +++ b/packages/SystemUI/res-keyguard/values-uz/strings.xml @@ -30,8 +30,7 @@ "%s • Quvvat olmoqda" "%s • Tezkor quvvat olmoqda" "%s • Sekin quvvat olmoqda" - - + "%s • Batareyani himoyalash uchun quvvatlash optimallashtirildi" "Qulfdan chiqarish uchun Menyu tugmasini bosing." "Tarmoq qulflangan" "SIM karta solinmagan" diff --git a/packages/SystemUI/res-keyguard/values-vi/strings.xml b/packages/SystemUI/res-keyguard/values-vi/strings.xml index f52c880db5c5d..cd874e11cc43d 100644 --- a/packages/SystemUI/res-keyguard/values-vi/strings.xml +++ b/packages/SystemUI/res-keyguard/values-vi/strings.xml @@ -30,8 +30,7 @@ "%s • Đang sạc" "%s • Đang sạc nhanh" "%s • Đang sạc chậm" - - + "%s • Quá trình sạc được tối ưu hoá để bảo vệ pin" "Nhấn vào Menu để mở khóa." "Mạng đã bị khóa" "Không có thẻ SIM" diff --git a/packages/SystemUI/res-keyguard/values-zh-rHK/strings.xml b/packages/SystemUI/res-keyguard/values-zh-rHK/strings.xml index eab0974c79609..16cb8202ba940 100644 --- a/packages/SystemUI/res-keyguard/values-zh-rHK/strings.xml +++ b/packages/SystemUI/res-keyguard/values-zh-rHK/strings.xml @@ -30,8 +30,7 @@ "%s • 正在充電" "%s • 快速充電中" "%s • 慢速充電中" - - + "%s • 為保護電池,系統已優化充電" "按下 [選單] 即可解鎖。" "網絡已鎖定" "沒有 SIM 卡" diff --git a/packages/SystemUI/res-keyguard/values-zh-rTW/strings.xml b/packages/SystemUI/res-keyguard/values-zh-rTW/strings.xml index 31fffa5803cdc..6e7e9cab7264a 100644 --- a/packages/SystemUI/res-keyguard/values-zh-rTW/strings.xml +++ b/packages/SystemUI/res-keyguard/values-zh-rTW/strings.xml @@ -30,8 +30,7 @@ "%s • 充電中" "%s • 快速充電中" "%s • 慢速充電中" - - + "%s • 為延長電池壽命,充電效能已最佳化" "按選單鍵解鎖。" "網路已鎖定" "沒有 SIM 卡" diff --git a/packages/SystemUI/res-keyguard/values-zu/strings.xml b/packages/SystemUI/res-keyguard/values-zu/strings.xml index 145a8d1b53cc3..848169166a951 100644 --- a/packages/SystemUI/res-keyguard/values-zu/strings.xml +++ b/packages/SystemUI/res-keyguard/values-zu/strings.xml @@ -30,8 +30,7 @@ "%s • Iyashaja" "%s • Ishaja kaningi" "%s • Ishaja kancane" - - + "%s • Ukushaja kuthuthukisiwe ukuze kuvikelwe ibhethri" "Chofoza Menyu ukuvula." "Inethiwekhi ivaliwe" "Alikho ikhadi le-SIM." diff --git a/packages/SystemUI/res/values-af/strings.xml b/packages/SystemUI/res/values-af/strings.xml index 25a47f47a35d8..e66335724ba1c 100644 --- a/packages/SystemUI/res/values-af/strings.xml +++ b/packages/SystemUI/res/values-af/strings.xml @@ -85,6 +85,8 @@ "Deel skermskoot" "Vang meer vas" "Maak skermkiekie toe" + + "Skermkiekievoorskou" "Bogrens %1$d persent" "Ondergrens %1$d persent" @@ -731,8 +733,7 @@ "Wi-Fi is af" "Bluetooth is af" "Moenie Steur Nie is af" - - + "Moenie Steur Nie is aan" "\'n Outomatiese reël (%s) het Moenie Steur Nie aangeskakel." "\'n Program (%s) het Moenie Steur Nie aangeskakel." "\'n Outomatiese reël of program het Moenie Steur Nie aangeskakel." @@ -875,6 +876,8 @@ "Beskikbare toestelle vir oudio-uitsette." "Volume" "%1$d%%" + + "Hoe uitsaai werk" "Saai uit" "Mense in jou omtrek met versoenbare Bluetooth-toestelle kan na die media luister wat jy uitsaai" @@ -1004,8 +1007,7 @@ "• Installeer ’n kamera-app" "• Die app opgestel is" "• Minstens een toestel beskikbaar is" - - + "Druk en hou om te aktiveer" "Kanselleer" "Draai nou om" "Vou foon oop vir ’n beter selfie" @@ -1014,6 +1016,5 @@ "✱ Hierdie skerm sal afskakel" "Voubare toestel word ontvou" "Voubare toestel word omgekeer" - - + "Stilus se battery is amper pap" diff --git a/packages/SystemUI/res/values-am/strings.xml b/packages/SystemUI/res/values-am/strings.xml index e4b5307094ad4..d2b2dd4331334 100644 --- a/packages/SystemUI/res/values-am/strings.xml +++ b/packages/SystemUI/res/values-am/strings.xml @@ -85,6 +85,8 @@ "ቅጽበታዊ ገጽ እይታን ያጋሩ" "ተጨማሪ ይቅረጹ" "ቅጽበታዊ ገጽ ዕይታን አሰናብት" + + "የቅጽበታዊ ገጽ ዕይታ ቅድመ-ዕይታ" "የላይ ወሰን %1$d በመቶ" "የታች ወሰን %1$d በመቶ" @@ -731,8 +733,7 @@ "Wi-Fi ጠፍቷል" "ብሉቱዝ ጠፍቷል" "አትረብሽ ጠፍቷል" - - + "አትረብሽ በርቷል" "አትረብሽ በአንድ ራስ-ሰር ደንብ (%s) በርቷል።" "አትረብሽ በአንድ መተግበሪያ (%s) በርቷል።" "አትረብሽ በአንድ ራስ-ሰር ደንብ ወይም መተግበሪያ በርቷል።" @@ -875,6 +876,8 @@ "ለኦዲዮ ውጽዓት ተገኚ የሆኑ መሣሪያዎች" "የድምጽ መጠን" "%1$d%%" + + "ማሰራጨት እንዴት እንደሚሠራ" "ስርጭት" "ተኳሃኝ የብሉቱዝ መሣሪያዎች ያላቸው በአቅራቢያዎ ያሉ ሰዎች እርስዎ እያሰራጩት ያሉትን ሚዲያ ማዳመጥ ይችላሉ" @@ -1004,18 +1007,14 @@ "• የካሜራ መተግበሪያ ይጫኑ" "• መተግበሪያው ተዋቅሯል" "• ቢያንስ አንድ መሣሪያ ይገኛል" - - + "ለማግበር ተጭነው ይያዙ" "ይቅር" "አሁን ገልበጥ" "ለተሻለ የራስ ፎቶ ስልክን ይዘርጉ" "ለተሻለ የራስ ፎቶ ወደፊት ማሳያ ይገልበጥ?" "ከፍተኛ ጥራት ላለው ሰፊ ፎቶ የኋለኛውን ካሜራ ይጠቀሙ።" "✱ ይህ ማያ ገጽ ይጠፋል" - - - - - - + "መታጠፍ የሚችል መሣሪያ እየተዘረጋ ነው" + "መታጠፍ የሚችል መሣሪያ እየተገለበጠ ነው" + "የብሮስፌ ባትሪ ዝቅተኛ ነው" diff --git a/packages/SystemUI/res/values-ar/strings.xml b/packages/SystemUI/res/values-ar/strings.xml index 361cf3a016232..24c172e666df0 100644 --- a/packages/SystemUI/res/values-ar/strings.xml +++ b/packages/SystemUI/res/values-ar/strings.xml @@ -85,6 +85,8 @@ "مشاركة لقطة الشاشة" "التقاط المزيد من المحتوى" "إغلاق لقطة الشاشة" + + "معاينة لقطة الشاشة" "الحد العلوي %1$d في المئة" "الحد السفلى %1$d في المئة" @@ -875,6 +877,8 @@ "الأجهزة المتاحة لإخراج الصوت" "مستوى الصوت" "%%%1$d" + + "كيفية عمل البث" "البث" "يمكن للأشخاص القريبين منك الذين لديهم أجهزة متوافقة تتضمّن بلوتوث الاستماع إلى الوسائط التي تبثها." @@ -1012,10 +1016,8 @@ "أتريد استخدام الكاميرا الأمامية لصورة ذاتية أفضل؟" "استخدِم الكاميرا الخلفية لالتقاط صورة أعرض وبدرجة دقة أعلى." "* سيتم إطفاء هذه الشاشة." - - - - + "جهاز قابل للطي يجري فتحه" + "جهاز قابل للطي يجري قلبه" diff --git a/packages/SystemUI/res/values-as/strings.xml b/packages/SystemUI/res/values-as/strings.xml index 6c102a54f5eae..598719b325ae0 100644 --- a/packages/SystemUI/res/values-as/strings.xml +++ b/packages/SystemUI/res/values-as/strings.xml @@ -85,6 +85,8 @@ "স্ক্ৰীনশ্বট শ্বেয়াৰ কৰক" "অধিক কেপচাৰ কৰক" "স্ক্ৰীনশ্বট অগ্ৰাহ্য কৰক" + + "স্ক্ৰীনশ্বটৰ পূৰ্বদৰ্শন" "শীৰ্ষৰ সীমা %1$d শতাংশ" "তলৰ সীমা %1$d শতাংশ" @@ -875,6 +877,8 @@ "অডিঅ\' আউটপুটৰ বাবে উপলব্ধ ডিভাইচ।" "ভলিউম" "%1$d%%" + + "সম্প্ৰচাৰ কৰাটোৱে কেনেকৈ কাম কৰে" "সম্প্ৰচাৰ" "সমিল ব্লুটুথ ডিভাইচৰ সৈতে আপোনাৰ নিকটৱৰ্তী স্থানত থকা লোকসকলে আপুনি সম্প্ৰচাৰ কৰা মিডিয়াটো শুনিব পাৰে" @@ -1004,8 +1008,7 @@ "• এটা কেমেৰা এপ্ ইনষ্টল কৰক" "• এপ্‌টো ছেট আপ কৰা হৈছে" "• অতি কমেও এটা ডিভাইচ উপলব্ধ" - - + "সক্ৰিয় কৰিবলৈ টিপি হেঁচি ৰাখক" "বাতিল কৰক" "এতিয়াই লুটিয়াই দিয়ক" "উন্নত ছেল্ফিৰ বাবে ফ’নটো আনফ’ল্ড কৰক" @@ -1014,6 +1017,5 @@ "✱ ই স্ক্ৰীনখন অফ হ’ব" "জপাব পৰা ডিভাইচৰ জাপ খুলি থকা হৈছে" "জপাব পৰা ডিভাইচৰ ওলোটাই থকা হৈছে" - - + "ষ্টাইলাছৰ বেটাৰী কম আছে" diff --git a/packages/SystemUI/res/values-az/strings.xml b/packages/SystemUI/res/values-az/strings.xml index d2529a26fa38d..9cf8fd053a71a 100644 --- a/packages/SystemUI/res/values-az/strings.xml +++ b/packages/SystemUI/res/values-az/strings.xml @@ -85,6 +85,8 @@ "Skrinşotu paylaşın" "Genişləndirin" "Ekran şəklini ötürün" + + "Ekran şəklinə önbaxış" "Yuxarı sərhəd %1$d faiz" "Aşağı sərhəd %1$d faiz" @@ -731,8 +733,7 @@ "Wi-Fi deaktivdir" "Bluetooth deaktivdir" "\"Narahat Etməyin\" deaktivdir" - - + "\"Narahat Etməyin\" rejimi aktivdir" "\"Narahat etməyin\" rejimi (%s) avtomatik qaydası tərəfindən aktiv edildi." "\"Narahat etməyin\" rejimi (%s) tətbiqi tərəfindən aktiv edildi." "\"Narahat etməyin\" rejimi avtomatik qayda və ya tətbiq tərəfindən aktiv edildi." @@ -875,6 +876,8 @@ "Audio çıxış üçün əlçatan cihazlar." "Səs" "%1$d%%" + + "Yayım necə işləyir" "Yayım" "Uyğun Bluetooth cihazları olan yaxınlığınızdakı insanlar yayımladığınız medianı dinləyə bilər" @@ -1004,8 +1007,7 @@ "• Kamera tətbiqini quraşdırın" "• Tətbiq ayarlanmalıdır" "• Ən azı bir cihaz əlçatandır" - - + "Aktiv etmək üçün basıb saxlayın" "Ləğv edin" "İndi fırladın" "Daha yaxşı selfi üçün telefonu açın" @@ -1014,6 +1016,5 @@ "✱ Bu ekran deaktiv ediləcək" "Qatlana bilən cihaz açılır" "Qatlana bilən cihaz fırladılır" - - + "Qələm enerjisi azdır" diff --git a/packages/SystemUI/res/values-b+sr+Latn/strings.xml b/packages/SystemUI/res/values-b+sr+Latn/strings.xml index f3c3de3a19709..dc8fd8833338b 100644 --- a/packages/SystemUI/res/values-b+sr+Latn/strings.xml +++ b/packages/SystemUI/res/values-b+sr+Latn/strings.xml @@ -85,6 +85,8 @@ "Делите снимак екрана" "Снимите још" "Одбаците снимак екрана" + + "Преглед снимка екрана" "Горња ивица %1$d посто" "Доња ивица %1$d посто" @@ -731,8 +733,7 @@ "WiFi је искључен" "Bluetooth је искључен" "Режим Не узнемиравај је искључен" - - + "Режим Не узнемиравај је укључен" "Аутоматско правило (%s) је укључило режим Не узнемиравај." "Апликација (%s) је укључила режим Не узнемиравај." "Аутоматско правило или апликација су укључили режим Не узнемиравај." @@ -875,6 +876,8 @@ "Доступни уређаји за аудио излаз." "Звук" "%1$d%%" + + "Како функционише емитовање" "Емитовање" "Људи у близини са компатибилним Bluetooth уређајима могу да слушају медијски садржај који емитујете" @@ -1004,8 +1007,7 @@ "• да сте инсталирали апликацију за камеру" "• да је апликација подешена" "• да је доступан барем један уређај" - - + "Задржите за активирање" "Откажи" "Обрните" "Отворите телефон за бољи селфи" @@ -1014,6 +1016,5 @@ "✱ Овај екран ће се искључити" "Уређај на преклоп се отвара" "Уређај на преклоп се обрће" - - + "Низак ниво батерије писаљке" diff --git a/packages/SystemUI/res/values-be/strings.xml b/packages/SystemUI/res/values-be/strings.xml index 97a29bdf443e9..51271582ba01b 100644 --- a/packages/SystemUI/res/values-be/strings.xml +++ b/packages/SystemUI/res/values-be/strings.xml @@ -85,6 +85,8 @@ "Абагуліць здымак экрана" "Захапіць больш" "Адхіліць здымак экрана" + + "Перадпрагляд здымка экрана" "Верхняя граніца: %1$d%%" "Ніжняя граніца: %1$d%%" @@ -731,8 +733,7 @@ "Wi-Fi выключаны" "Bluetooth выключаны" "Рэжым \"Не турбаваць\" выключаны" - - + "Рэжым \"Не турбаваць\" уключаны" "Рэжым \"Не турбаваць\" быў уключаны аўтаматычным правілам (%s)." "Рэжым \"Не турбаваць\" быў уключаны праграмай (%s)." "Рэжым \"Не турбаваць\" быў уключаны аўтаматычным правілам ці праграмай." @@ -875,6 +876,8 @@ "Даступныя прылады для вываду аўдыя." "Гучнасць" "%1$d%%" + + "Як адбываецца трансляцыя" "Трансляцыя" "Людзі паблізу, у якіх ёсць прылады з Bluetooth, змогуць праслухваць мультымедыйнае змесціва, якое вы трансліруеце" @@ -1004,8 +1007,7 @@ "• Усталявана праграма \"Камера\"." "• Праграма наладжана." "• Даступная хаця б адна прылада." - - + "Націсніце і ўтрымлівайце" "Скасаваць" "Пераключыць" "Каб атрымаць лепшае сэлфі, раскрыйце тэлефон" @@ -1014,6 +1016,5 @@ "✱ Гэты экран будзе выключаны" "Складная прылада ў раскладзеным выглядзе" "Перавернутая складная прылада" - - + "Нізкі ўзровень зараду пяра" diff --git a/packages/SystemUI/res/values-bg/strings.xml b/packages/SystemUI/res/values-bg/strings.xml index 2dd94d29823ec..7e2a71c52875d 100644 --- a/packages/SystemUI/res/values-bg/strings.xml +++ b/packages/SystemUI/res/values-bg/strings.xml @@ -85,6 +85,8 @@ "Споделяне на екранната снимка" "Заснемане на още" "Отхвърляне на екранната снимка" + + "Визуализация на екранната снимка" "Горна граница: %1$d%%" "Долна граница: %1$d%%" @@ -731,8 +733,7 @@ "Функцията за Wi‑Fi е изключена" "Функцията за Bluetooth е изключена" "Режимът „Не безпокойте“ е изключен" - - + "Режимът „Не безпокойте“ е включен" "Режимът „Не безпокойте“ бе включен от автоматично правило (%s)." "Режимът „Не безпокойте“ бе включен от приложение (%s)." "Режимът „Не безпокойте“ бе включен от автоматично правило или от приложение." @@ -875,6 +876,8 @@ "Налични устройства за аудиоизход." "Сила на звука" "%1$d%%" + + "Как работи предаването" "Предаване" "Хората в близост със съвместими устройства с Bluetooth могат да слушат мултимедията, която предавате" @@ -1004,8 +1007,7 @@ "• Инсталирано е приложение за камера." "• Приложението е настроено." "• Налице е поне едно устройство." - - + "Натиснете и задръжте за активир." "Отказ" "Обръщане сега" "Отворете телефона за по-добро селфи" @@ -1014,6 +1016,5 @@ "✱ Този екран ще се изключи" "Разгъване на сгъваемо устройство" "Обръщане на сгъваемо устройство" - - + "Батерията на писалката е изтощена" diff --git a/packages/SystemUI/res/values-bn/strings.xml b/packages/SystemUI/res/values-bn/strings.xml index 864d7e7be6bb5..c3344fbc47feb 100644 --- a/packages/SystemUI/res/values-bn/strings.xml +++ b/packages/SystemUI/res/values-bn/strings.xml @@ -85,6 +85,8 @@ "স্ক্রিনশট শেয়ার করুন" "আরও বেশি ক্যাপচার করুন" "স্ক্রিনশট বাতিল করুন" + + "স্ক্রিনশটের প্রিভিউ" "উপরের প্রান্ত থেকে %1$d শতাংশ" "নিচের প্রান্ত থেকে %1$d শতাংশ" @@ -875,6 +877,8 @@ "অডিও আউটপুটের জন্য উপলভ্য ডিভাইস।" "ভলিউম" "%1$d%%" + + "ব্রডকাস্ট কীভাবে কাজ করে" "সম্প্রচার করুন" "আশপাশে লোকজন যাদের মানানসই ব্লুটুথ ডিভাইস আছে, তারা আপনার ব্রডকাস্ট করা মিডিয়া শুনতে পারবেন" @@ -1004,8 +1008,7 @@ "• ক্যামেরা অ্যাপ ইনস্টল করুন" "• অ্যাপ সেট-আপ করা হয়ে গেছে" "• অন্তত একটি ডিভাইস উপলভ্য" - - + "চালু করতে, প্রেস করে ধরে রাখুন" "বাতিল করুন" "এখনই উল্টান" "আরও ভাল সেলফির জন্য ফোন আনফোল্ড করা" @@ -1014,6 +1017,5 @@ "✱ এই স্ক্রিন বন্ধ হয়ে যাবে" "ফোল্ড করা যায় এমন ডিভাইস খোলা হচ্ছে" "ফোল্ড করা যায় এমন ডিভাইস উল্টানো হচ্ছে" - - + "স্টাইলাস ব্যাটারিতে চার্জ কম আছে" diff --git a/packages/SystemUI/res/values-bs/strings.xml b/packages/SystemUI/res/values-bs/strings.xml index 87b6d3b5805c9..67578ab5b13e0 100644 --- a/packages/SystemUI/res/values-bs/strings.xml +++ b/packages/SystemUI/res/values-bs/strings.xml @@ -85,6 +85,7 @@ "Dijeljenje snimka ekrana" "Snimi više" "Odbacite snimak ekrana" + "Odbacite poruku poslovnog profila" "Pregled snimka ekrana" "Gornja granica %1$d posto" "Donja granica %1$d posto" @@ -731,8 +732,7 @@ "WiFi je isključen" "Bluetooth je isključen" "Način rada Ne ometaj je isključen" - - + "Funkcija Ne ometaj je uključena" "Opciju Ne ometaju uključilo je automatsko pravilo (%s)." "Način rada Ne ometaj uključila je aplikacija %s." "Način rada Ne ometaj uključilo je automatsko pravilo ili aplikacija." @@ -875,6 +875,7 @@ "Dostupni uređaji za audio izlaz." "Jačina zvuka" "%1$d%%" + "Zvučnici i zasloni" "Kako funkcionira emitiranje" "Emitirajte" "Osobe u vašoj blizini s kompatibilnim Bluetooth uređajima mogu slušati medijske sadržaje koje emitirate" @@ -1004,8 +1005,7 @@ "• Instalirajte aplikaciju kamere" "• Aplikacija je postavljena" "• Dostupan je najmanje jedan uređaj" - - + "Pritisnite i držite da aktivirate" "Otkaži" "Obrni sada" "Raširite telefon za bolji selfi" @@ -1014,6 +1014,5 @@ "✱ Ekran će se isključiti" "Sklopivi uređaj se rasklapa" "Sklopivi uređaj se obrće" - - + "Baterija pisaljke je slaba" diff --git a/packages/SystemUI/res/values-ca/strings.xml b/packages/SystemUI/res/values-ca/strings.xml index fcbd8418446bb..3e5b232a42b65 100644 --- a/packages/SystemUI/res/values-ca/strings.xml +++ b/packages/SystemUI/res/values-ca/strings.xml @@ -85,6 +85,8 @@ "Comparteix la captura de pantalla" "Captura més" "Ignora la captura de pantalla" + + "Previsualització de la captura de pantalla" "Marge superior %1$d per cent" "Marge inferior %1$d per cent" @@ -731,8 +733,7 @@ "La Wi-Fi està desactivada" "El Bluetooth està desactivat" "El mode No molestis està desactivat" - - + "Mode No molestis activat" "Una regla automàtica (%s) ha activat el mode No molestis." "Una aplicació (%s) ha activat el mode No molestis." "Una regla automàtica o una aplicació han activat el mode No molestis." @@ -875,6 +876,8 @@ "Dispositius disponibles per a la sortida d\'àudio." "Volum" "%1$d%%" + + "Com funciona l\'emissió" "Emet" "Les persones properes amb dispositius Bluetooth compatibles poden escoltar el contingut multimèdia que emets" @@ -1004,16 +1007,14 @@ "• Tens una aplicació de càmera." "• L\'aplicació està configurada." "• Almenys un dispositiu està disponible." - - + "Mantén premut per activar" "Cancel·la" "Gira ara" "Desplega el telèfon per fer una millor selfie" "Girar a pantalla frontal per fer millors selfies?" "Utilitza la càmera posterior per obtenir una foto més àmplia amb una resolució més alta." "✱ Aquesta pantalla s\'apagarà" - "Dispositiu plegable que es desplega" - "Dispositiu plegable que gira" - - + "Dispositiu plegable desplegant-se" + "Dispositiu plegable girant" + "Bateria del llapis òptic baixa" diff --git a/packages/SystemUI/res/values-cs/strings.xml b/packages/SystemUI/res/values-cs/strings.xml index 3f6dd913261cc..fddcd7e850775 100644 --- a/packages/SystemUI/res/values-cs/strings.xml +++ b/packages/SystemUI/res/values-cs/strings.xml @@ -85,6 +85,8 @@ "Sdílet snímek obrazovky" "Zvětšit záběr snímku" "Zavřít snímek obrazovky" + + "Náhled snímku obrazovky" "Horní okraj %1$d procent" "Dolní okraj %1$d procent" @@ -875,6 +877,8 @@ "Dostupná zařízení pro zvukový výstup." "Hlasitost" "%1$d %%" + + "Jak vysílání funguje" "Vysílání" "Lidé ve vašem okolí s kompatibilními zařízeními Bluetooth mohou poslouchat média, která vysíláte" @@ -1004,8 +1008,7 @@ "• Je nainstalována aplikace pro fotoaparát" "• Aplikace je nastavena" "• Je k dispozici alespoň jedno zařízení" - - + "Tlačítko aktivujete podržením" "Zrušit" "Otočit" "Rozložte telefon, selfie bude lepší" @@ -1014,6 +1017,5 @@ "✱ Tato obrazovka se vypne" "Rozkládání rozkládacího zařízení" "Otáčení rozkládacího zařízení" - - + "Slabá baterie dotykového pera" diff --git a/packages/SystemUI/res/values-da/strings.xml b/packages/SystemUI/res/values-da/strings.xml index 3596d0e8a701d..6e0eb937a2f94 100644 --- a/packages/SystemUI/res/values-da/strings.xml +++ b/packages/SystemUI/res/values-da/strings.xml @@ -85,6 +85,8 @@ "Del screenshottet" "Medtag mere" "Luk screenshot" + + "Forhåndsvisning af screenshot" "Øverste kant: %1$d procent" "Nederste kant: %1$d procent" @@ -647,7 +649,7 @@ "Højre tastekode" "Venstre ikon" "Højre ikon" - "Tilføj felter ved at holde dem nede og trække" + "Tilføj felter ved at holde dem nede og trække dem" "Flyt rundt på felterne ved at holde dem nede og trække" "Træk herhen for at fjerne" "Du skal bruge mindst %1$d felter" @@ -731,8 +733,7 @@ "Wi-Fi er slået fra" "Bluetooth er slået fra" "Forstyr ikke er slået fra" - - + "Forstyr ikke er aktiveret" "Tilstanden Forstyr ikke blev aktiveret af en automatisk regel (%s)." "Tilstanden Forstyr ikke blev aktiveret af en app (%s)." "Tilstanden Forstyr ikke blev aktiveret af en automatisk regel eller en app." @@ -875,6 +876,8 @@ "Enheder, der er tilgængelige for lydoutput." "Lydstyrke" "%1$d %%" + + "Sådan fungerer udsendelser" "Udsendelse" "Personer i nærheden, som har kompatible Bluetooth-enheder, kan lytte til det medie, du udsender" @@ -1004,8 +1007,7 @@ "• Installer en kameraapp" "• Appen er konfigureret" "• Mindst én enhed er tilgængelig" - - + "Hold inde for at aktivere" "Annuller" "Vend nu" "Fold telefonen ud for at tage en bedre selfie" @@ -1014,6 +1016,5 @@ "✱ *Denne skærm slukkes" "Foldbar enhed foldes ud" "Foldbar enhed vendes om" - - + "Lavt batteriniveau på styluspen" diff --git a/packages/SystemUI/res/values-de/strings.xml b/packages/SystemUI/res/values-de/strings.xml index bcae5b4f0f877..2d4530cede5b6 100644 --- a/packages/SystemUI/res/values-de/strings.xml +++ b/packages/SystemUI/res/values-de/strings.xml @@ -85,6 +85,8 @@ "Screenshot teilen" "Mehr aufnehmen" "Screenshot schließen" + + "Screenshotvorschau" "Oberer Rand %1$d %%" "Unterer Rand %1$d %%" @@ -731,8 +733,7 @@ "WLAN ist deaktiviert" "Bluetooth ist deaktiviert" "„Bitte nicht stören“ ist deaktiviert" - - + "„Bitte nicht stören“ aktiviert" "„Bitte nicht stören“ wurde von einer automatischen Regel aktiviert (%s)." "„Bitte nicht stören“ wurde von einer App aktiviert (%s)." "„Bitte nicht stören“ wurde von einer automatischen Regel oder einer App aktiviert." @@ -875,6 +876,8 @@ "Für die Audioausgabe verfügbare Geräte." "Lautstärke" "%1$d %%" + + "Funktionsweise von Nachrichten an alle" "Nachricht an alle" "Personen, die in der Nähe sind und kompatible Bluetooth-Geräten haben, können sich die Medien anhören, die du per Nachricht an alle sendest" @@ -1004,18 +1007,14 @@ "• Kamera-App ist installiert" "• Die App ist eingerichtet" "• Mindestens ein Gerät ist verfügbar" - - + "Zum Aktivieren gedrückt halten" "Abbrechen" "Jetzt umdrehen" "Für ein besseres Selfie Smartphone öffnen" "Für ein besseres Selfie Frontbildschirm verwenden?" "Verwende die Rückkamera, um Fotos mit einem weiteren Blickwinkel und höherer Auflösung aufzunehmen." "✱ Dieses Display wird dann ausgeschaltet" - - - - - - + "Faltbares Gerät wird geöffnet" + "Faltbares Gerät wird umgeklappt" + "Stylus-Akkustand niedrig" diff --git a/packages/SystemUI/res/values-el/strings.xml b/packages/SystemUI/res/values-el/strings.xml index 54f162b472dfc..700b42a58f6b7 100644 --- a/packages/SystemUI/res/values-el/strings.xml +++ b/packages/SystemUI/res/values-el/strings.xml @@ -85,6 +85,8 @@ "Κοινοποίηση στιγμιότυπου οθόνης" "Λήψη περισσότερων" "Παράβλεψη στιγμιότυπου οθόνης" + + "Προεπισκόπηση στιγμιότυπου οθόνης" "Επάνω όριο %1$d τοις εκατό" "Κάτω όριο %1$d τοις εκατό" @@ -731,8 +733,7 @@ "Το Wi-Fi είναι ανενεργό" "Το Bluetooth είναι ανενεργό" "Η λειτουργία \"Μην ενοχλείτε\" είναι ανενεργή" - - + "Η λειτουργία Μην ενοχλείτε είναι ενεργή" "Η λειτουργία \"Μην ενοχλείτε\" ενεργοποιήθηκε από έναν αυτόματο κανόνα (%s)." "Η λειτουργία \"Μην ενοχλείτε\" ενεργοποιήθηκε από μια εφαρμογή (%s)." "Η λειτουργία \"Μην ενοχλείτε\" ενεργοποιήθηκε από έναν αυτόματο κανόνα ή μια εφαρμογή." @@ -875,6 +876,8 @@ "Διαθέσιμες συσκευές για έξοδο ήχου." "Ένταση ήχου" "%1$d%%" + + "Πώς λειτουργεί η μετάδοση" "Μετάδοση" "Οι άνθρωποι με συμβατές συσκευές Bluetooth που βρίσκονται κοντά σας μπορούν να ακούσουν το μέσο που μεταδίδετε." @@ -1004,8 +1007,7 @@ "• Εγκαταστήσατε μια εφαρμογή κάμερας" "• Η εφαρμογή έχει ρυθμιστεί" "• Είναι διαθέσιμη τουλάχιστον μία συσκευή" - - + "Πατήστε παρατεταμένα για ενεργ." "Ακύρωση" "Αναστροφή τώρα" "Ξεδιπλώστε το τηλέφωνο για καλύτερη selfie" @@ -1014,6 +1016,5 @@ "* Αυτή η οθόνη θα απενεργοποιηθεί" "Αναδιπλούμενη συσκευή που ξεδιπλώνει" "Αναδιπλούμενη συσκευή που διπλώνει" - - + "Χαμηλή στάθμη μπαταρίας γραφίδας" diff --git a/packages/SystemUI/res/values-en-rAU/strings.xml b/packages/SystemUI/res/values-en-rAU/strings.xml index 224d6fc43e36c..9efbef9a1e362 100644 --- a/packages/SystemUI/res/values-en-rAU/strings.xml +++ b/packages/SystemUI/res/values-en-rAU/strings.xml @@ -85,6 +85,7 @@ "Share screenshot" "Capture more" "Dismiss screenshot" + "Dismiss work profile message" "Screenshot preview" "Top boundary %1$d per cent" "Bottom boundary %1$d per cent" @@ -731,8 +732,7 @@ "Wi-Fi is off" "Bluetooth is off" "Do Not Disturb is off" - - + "Do Not Disturb is on" "Do Not Disturb was turned on by an automatic rule (%s)." "Do Not Disturb was turned on by an app (%s)." "Do Not Disturb was turned on by an automatic rule or app." @@ -875,6 +875,7 @@ "Available devices for audio output." "Volume" "%1$d%%" + "Speakers & displays" "How broadcasting works" "Broadcast" "People near you with compatible Bluetooth devices can listen to the media that you\'re broadcasting" @@ -1004,8 +1005,7 @@ "• Install a camera app" "• The app is set up" "• At least one device is available" - - + "Press and hold to activate" "Cancel" "Flip now" "Unfold phone for a better selfie" @@ -1014,6 +1014,5 @@ "✱ This screen will turn off" "Foldable device being unfolded" "Foldable device being flipped around" - - + "Stylus battery low" diff --git a/packages/SystemUI/res/values-en-rCA/strings.xml b/packages/SystemUI/res/values-en-rCA/strings.xml index 6238b83ba8606..439b84684168c 100644 --- a/packages/SystemUI/res/values-en-rCA/strings.xml +++ b/packages/SystemUI/res/values-en-rCA/strings.xml @@ -85,6 +85,7 @@ "Share screenshot" "Capture more" "Dismiss screenshot" + "Dismiss work profile message" "Screenshot preview" "Top boundary %1$d percent" "Bottom boundary %1$d percent" @@ -731,8 +732,7 @@ "Wi-Fi is off" "Bluetooth is off" "Do Not Disturb is off" - - + "Do Not Disturb is on" "Do Not Disturb was turned on by an automatic rule (%s)." "Do Not Disturb was turned on by an app (%s)." "Do Not Disturb was turned on by an automatic rule or app." @@ -875,6 +875,7 @@ "Available devices for audio output." "Volume" "%1$d%%" + "Speakers & Displays" "How broadcasting works" "Broadcast" "People near you with compatible Bluetooth devices can listen to the media you\'re broadcasting" diff --git a/packages/SystemUI/res/values-en-rGB/strings.xml b/packages/SystemUI/res/values-en-rGB/strings.xml index 224d6fc43e36c..9efbef9a1e362 100644 --- a/packages/SystemUI/res/values-en-rGB/strings.xml +++ b/packages/SystemUI/res/values-en-rGB/strings.xml @@ -85,6 +85,7 @@ "Share screenshot" "Capture more" "Dismiss screenshot" + "Dismiss work profile message" "Screenshot preview" "Top boundary %1$d per cent" "Bottom boundary %1$d per cent" @@ -731,8 +732,7 @@ "Wi-Fi is off" "Bluetooth is off" "Do Not Disturb is off" - - + "Do Not Disturb is on" "Do Not Disturb was turned on by an automatic rule (%s)." "Do Not Disturb was turned on by an app (%s)." "Do Not Disturb was turned on by an automatic rule or app." @@ -875,6 +875,7 @@ "Available devices for audio output." "Volume" "%1$d%%" + "Speakers & displays" "How broadcasting works" "Broadcast" "People near you with compatible Bluetooth devices can listen to the media that you\'re broadcasting" @@ -1004,8 +1005,7 @@ "• Install a camera app" "• The app is set up" "• At least one device is available" - - + "Press and hold to activate" "Cancel" "Flip now" "Unfold phone for a better selfie" @@ -1014,6 +1014,5 @@ "✱ This screen will turn off" "Foldable device being unfolded" "Foldable device being flipped around" - - + "Stylus battery low" diff --git a/packages/SystemUI/res/values-en-rIN/strings.xml b/packages/SystemUI/res/values-en-rIN/strings.xml index 224d6fc43e36c..9efbef9a1e362 100644 --- a/packages/SystemUI/res/values-en-rIN/strings.xml +++ b/packages/SystemUI/res/values-en-rIN/strings.xml @@ -85,6 +85,7 @@ "Share screenshot" "Capture more" "Dismiss screenshot" + "Dismiss work profile message" "Screenshot preview" "Top boundary %1$d per cent" "Bottom boundary %1$d per cent" @@ -731,8 +732,7 @@ "Wi-Fi is off" "Bluetooth is off" "Do Not Disturb is off" - - + "Do Not Disturb is on" "Do Not Disturb was turned on by an automatic rule (%s)." "Do Not Disturb was turned on by an app (%s)." "Do Not Disturb was turned on by an automatic rule or app." @@ -875,6 +875,7 @@ "Available devices for audio output." "Volume" "%1$d%%" + "Speakers & displays" "How broadcasting works" "Broadcast" "People near you with compatible Bluetooth devices can listen to the media that you\'re broadcasting" @@ -1004,8 +1005,7 @@ "• Install a camera app" "• The app is set up" "• At least one device is available" - - + "Press and hold to activate" "Cancel" "Flip now" "Unfold phone for a better selfie" @@ -1014,6 +1014,5 @@ "✱ This screen will turn off" "Foldable device being unfolded" "Foldable device being flipped around" - - + "Stylus battery low" diff --git a/packages/SystemUI/res/values-en-rXC/strings.xml b/packages/SystemUI/res/values-en-rXC/strings.xml index 7bb3fd36de857..cd01b348a8a8b 100644 --- a/packages/SystemUI/res/values-en-rXC/strings.xml +++ b/packages/SystemUI/res/values-en-rXC/strings.xml @@ -85,6 +85,7 @@ "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‎‏‎‎‏‏‏‏‎‏‏‎‏‏‎‏‎‎‎‏‏‎‎‎‏‎‏‏‎‏‏‎‎‎‎‎‏‏‎‎‎‎‏‎‏‏‏‏‎‏‎‏‏‎‏‏‏‏‎‎‏‎‎‎Share screenshot‎‏‎‎‏‎" "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‎‏‎‏‎‎‎‏‎‏‎‏‎‏‎‎‎‏‎‏‎‎‎‎‏‎‎‏‎‏‎‏‏‏‏‎‎‎‏‎‏‎‏‎‎‏‎‎‏‏‎‎‏‏‏‎‏‎‏‎‏‏‏‎Capture more‎‏‎‎‏‎" "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‎‎‎‎‎‏‎‏‎‎‎‎‏‎‎‎‎‏‎‎‏‎‎‏‏‏‎‎‏‎‏‏‏‏‎‏‏‎‏‎‎‎‎‎‏‎‎‎‎‎‏‏‎‎‎‎‏‏‎‎‏‎‎Dismiss screenshot‎‏‎‎‏‎" + "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‎‏‎‏‎‏‏‎‎‎‎‏‎‏‎‏‏‎‏‏‎‎‏‏‏‎‏‏‏‏‎‎‏‏‏‏‏‎‎‎‎‏‏‎‎‏‏‎‎‎‏‎‎‏‏‏‎‎‏‎‏‎‏‎Dismiss work profile message‎‏‎‎‏‎" "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‏‎‏‎‎‏‏‎‎‎‏‏‏‏‏‏‎‎‎‎‎‎‏‎‏‎‏‏‎‎‎‎‎‎‎‏‎‏‏‎‏‎‏‎‏‏‎‏‎‏‏‎‎‎‏‏‎‏‏‎‏‎‎Screenshot preview‎‏‎‎‏‎" "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‎‏‎‎‎‏‎‏‏‏‏‏‎‎‏‎‏‎‏‏‏‎‏‏‏‎‎‏‏‎‎‎‏‏‎‏‏‏‎‎‏‎‏‏‎‎‎‎‎‎‎‏‏‏‎‎‏‏‎‎‏‎‎‎Top boundary ‎‏‎‎‏‏‎%1$d‎‏‎‎‏‏‏‎ percent‎‏‎‎‏‎" "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‎‏‏‎‏‎‏‏‏‎‏‏‎‏‏‎‏‏‏‎‎‏‎‏‎‎‏‏‏‎‎‎‏‎‏‏‏‎‏‎‏‎‎‎‎‏‎‏‏‏‎‏‏‏‎‏‎‏‎‏‏‏‎‎Bottom boundary ‎‏‎‎‏‏‎%1$d‎‏‎‎‏‏‏‎ percent‎‏‎‎‏‎" @@ -731,8 +732,7 @@ "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‎‎‏‎‏‎‏‏‎‎‏‎‏‏‏‎‏‏‎‎‏‎‎‏‎‎‎‏‏‎‏‏‎‏‎‎‎‏‎‏‎‎‏‏‏‏‎‎‎‎‎‎‏‎‏‎‏‏‏‏‏‏‎Wi-Fi is off‎‏‎‎‏‎" "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‏‎‎‏‏‏‎‎‏‏‎‎‏‏‎‎‏‏‎‏‎‎‎‏‎‎‏‎‏‎‏‎‏‎‎‎‏‏‎‎‏‏‏‎‎‎‏‏‏‎‏‎‏‏‎‏‎‏‎‏‏‏‎Bluetooth is off‎‏‎‎‏‎" "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‎‏‎‏‏‎‎‎‎‏‏‎‏‎‏‏‏‏‎‎‏‏‏‏‎‎‎‏‏‎‎‏‏‏‎‎‏‏‏‎‎‎‏‏‎‎‎‏‏‎‎‏‏‏‏‎‎‏‏‏‏‏‏‎Do Not Disturb is off‎‏‎‎‏‎" - - + "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‏‎‎‎‎‏‎‏‎‎‎‏‏‎‎‏‎‎‎‏‏‏‎‎‏‏‏‎‎‎‎‎‎‏‏‎‏‏‏‏‏‏‎‏‎‏‎‎‏‎‎‎‏‎‎‎‏‎‎‏‏‏‎Do Not Disturb is on‎‏‎‎‏‎" "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‎‏‏‎‎‎‏‎‎‎‏‎‎‎‎‏‎‎‎‎‎‏‎‏‎‏‏‏‏‏‏‏‏‏‎‏‏‎‎‏‏‎‏‏‎‏‏‎‏‎‏‏‎‏‏‏‎‏‏‏‎‎‎‎Do Not Disturb was turned on by an automatic rule (‎‏‎‎‏‏‎%s‎‏‎‎‏‏‏‎).‎‏‎‎‏‎" "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‎‏‏‎‏‏‏‏‏‏‎‎‏‏‎‎‏‎‎‎‏‏‎‏‎‎‎‎‎‏‏‏‎‏‎‎‎‏‏‏‏‏‏‏‏‎‎‏‎‏‏‏‎‏‏‏‏‎‏‎‏‎‎‎Do Not Disturb was turned on by an app (‎‏‎‎‏‏‎%s‎‏‎‎‏‏‏‎).‎‏‎‎‏‎" "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‎‏‏‏‎‎‏‏‎‎‎‏‏‏‎‎‎‏‏‎‏‏‏‎‎‏‎‏‎‎‎‎‏‎‏‏‎‏‏‏‎‏‏‏‏‎‏‏‎‏‎‎‏‏‎‎‎‏‏‎‏‎‎‎Do Not Disturb was turned on by an automatic rule or app.‎‏‎‎‏‎" @@ -875,6 +875,7 @@ "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‎‎‎‎‎‎‏‏‏‏‏‎‎‎‏‏‏‎‎‎‏‎‏‎‏‏‎‎‎‏‎‏‏‎‎‏‎‏‎‏‏‎‏‎‏‎‎‎‎‎‏‎‏‏‎‏‎‏‎‎‎‎‎Available devices for audio output.‎‏‎‎‏‎" "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‎‎‏‎‏‎‎‎‎‎‎‎‏‎‎‎‎‏‎‎‎‏‎‏‎‏‏‎‏‏‏‎‎‏‎‏‎‏‎‏‎‏‏‎‏‏‎‎‏‏‏‎‏‏‏‏‎‏‎‎‏‎‎Volume‎‏‎‎‏‎" "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‎‏‏‎‏‏‎‎‏‏‎‎‏‏‎‎‎‎‎‎‏‏‎‏‎‏‏‏‎‎‏‏‎‎‏‎‏‎‎‎‏‎‎‎‏‎‎‎‎‏‎‎‏‎‎‏‏‏‏‎‏‏‎‎‎‏‎‎‏‏‎%1$d‎‏‎‎‏‏‏‎%%‎‏‎‎‏‎" + "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‏‎‎‎‏‏‎‏‏‏‏‏‏‏‏‏‏‎‏‏‏‏‎‏‏‎‎‎‎‏‎‎‏‎‏‎‎‎‎‏‏‎‎‏‎‎‎‏‏‏‏‏‏‎‏‎‏‎‏‏‎‎‎Speakers & Displays‎‏‎‎‏‎" "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‎‏‎‏‏‏‎‏‎‏‎‎‏‎‏‎‎‎‎‏‎‎‏‏‏‎‏‏‏‎‏‎‏‎‎‎‏‎‏‏‏‏‎‎‎‎‎‏‏‎‏‏‏‎‎‏‏‏‏‏‏‎‎How broadcasting works‎‏‎‎‏‎" "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‎‏‏‎‎‎‏‎‏‎‏‎‏‏‏‏‏‏‏‎‏‏‎‎‎‎‎‏‎‎‎‎‎‏‏‎‎‎‏‎‎‏‏‎‏‎‏‏‎‏‏‏‎‎‎‏‏‏‏‎‏‏‏‎Broadcast‎‏‎‎‏‎" "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‎‏‏‎‎‎‎‎‏‎‏‏‎‏‎‏‏‎‏‏‏‏‏‏‏‎‏‏‏‏‏‎‎‏‏‎‎‎‏‎‎‎‎‏‎‏‏‎‎‏‏‏‏‎‏‎‎‏‏‏‏‎‎People near you with compatible Bluetooth devices can listen to the media you\'re broadcasting‎‏‎‎‏‎" diff --git a/packages/SystemUI/res/values-es-rUS/strings.xml b/packages/SystemUI/res/values-es-rUS/strings.xml index 75fdd0d5c914c..fd6450adb44cb 100644 --- a/packages/SystemUI/res/values-es-rUS/strings.xml +++ b/packages/SystemUI/res/values-es-rUS/strings.xml @@ -85,6 +85,8 @@ "Compartir captura" "Capturar más" "Descartar captura de pantalla" + + "Vista previa de la captura de pantalla" "Límite superior: %1$d por ciento" "Límite inferior: %1$d por ciento" @@ -731,8 +733,7 @@ "Wi-Fi desactivado" "Bluetooth desactivado" "No interrumpir desactivado" - - + "No interrumpir está activado" "Se activó el modo No interrumpir con una regla automática (%s)." "Se activó el modo No interrumpir con una app (%s)." "Se activó el modo No interrumpir con una app o regla automática." @@ -875,6 +876,8 @@ "Dispositivos disponibles para salida de audio." "Volumen" "%1$d%%" + + "Cómo funciona la transmisión" "Transmisión" "Las personas cercanas con dispositivos Bluetooth compatibles pueden escuchar el contenido multimedia que transmites" @@ -1004,8 +1007,7 @@ "• Se instaló la app de Cámara." "• Se configuró la app." "• Hay al menos un dispositivo disponible." - - + "Mantén presionado para activar" "Cancelar" "Girar ahora" "Despliega el teléfono para tomar una selfie mejor" @@ -1014,6 +1016,5 @@ "✱ Esta pantalla se apagará" "Dispositivo plegable siendo desplegado" "Dispositivo plegable siendo girado" - - + "La pluma stylus tiene poca batería" diff --git a/packages/SystemUI/res/values-es/strings.xml b/packages/SystemUI/res/values-es/strings.xml index 8ebe61db91c3c..634a1ca81a195 100644 --- a/packages/SystemUI/res/values-es/strings.xml +++ b/packages/SystemUI/res/values-es/strings.xml @@ -85,6 +85,8 @@ "Compartir captura de pantalla" "Capturar más" "Cerrar captura de pantalla" + + "Vista previa de captura de pantalla" "%1$d por ciento del límite superior" "%1$d por ciento del límite inferior" @@ -731,8 +733,7 @@ "Wi-Fi desactivado" "Bluetooth desactivado" "No molestar está desactivado" - - + "Modo No molestar activado" "Una regla automática (%s) ha activado No molestar." "Una aplicación (%s) ha activado No molestar." "Una aplicación o una regla automática han activado No molestar." @@ -875,6 +876,8 @@ "Dispositivos disponibles para la salida de audio." "Volumen" "%1$d %%" + + "Cómo funciona la emisión" "Emisión" "Las personas cercanas con dispositivos Bluetooth compatibles pueden escuchar el contenido multimedia que emites" @@ -1004,8 +1007,7 @@ "• Debes instalar una aplicación de cámara" "• La aplicación debe estar configurada" "• Al menos un dispositivo debe estar disponible" - - + "Mantén pulsado para activar" "Cancelar" "Girar ahora" "Despliega el teléfono para hacer un selfie mejor" @@ -1014,6 +1016,5 @@ "✱ Esta pantalla se apagará" "Dispositivo plegable desplegándose" "Dispositivo plegable mostrado desde varios ángulos" - - + "Batería del lápiz óptico baja" diff --git a/packages/SystemUI/res/values-et/strings.xml b/packages/SystemUI/res/values-et/strings.xml index 5345e53db68a6..c02705dff4fd7 100644 --- a/packages/SystemUI/res/values-et/strings.xml +++ b/packages/SystemUI/res/values-et/strings.xml @@ -85,6 +85,8 @@ "Jaga ekraanipilti" "Jäädvusta rohkem" "Ekraanipildist loobumine" + + "Ekraanipildi eelvaade" "Ülapiir: %1$d protsenti" "Alapiir: %1$d protsenti" @@ -731,8 +733,7 @@ "WiFi on välja lülitatud" "Bluetooth on välja lülitatud" "Funktsioon Mitte segada on välja lülitatud" - - + "Režiim Mitte segada on sees" "Automaatne reegel (%s) lülitas funktsiooni Mitte segada sisse." "Rakendus (%s) lülitas funktsiooni Mitte segada sisse." "Automaatne reegel või rakendus lülitas funktsiooni Mitte segada sisse." @@ -875,6 +876,8 @@ "Saadaolevad seadmed heli esitamiseks." "Helitugevus" "%1$d%%" + + "Kuidas ülekandmine toimib?" "Ülekanne" "Teie läheduses olevad inimesed, kellel on ühilduvad Bluetooth-seadmed, saavad kuulata teie ülekantavat meediat" @@ -1004,8 +1007,7 @@ "• Installige kaamerarakendus" "• Rakendus on seadistatud" "• Vähemalt üks seade on saadaval" - - + "Aktiveerimiseks vajutage pikalt" "Tühista" "Pööra kohe ümber" "Voltige telefon parema selfi jaoks lahti" @@ -1014,6 +1016,5 @@ "✱ See ekraan lülitatakse välja" "Volditava seadme lahtivoltimine" "Volditava seadme ümberpööramine" - - + "Elektronpliiatsi akutase on madal" diff --git a/packages/SystemUI/res/values-eu/strings.xml b/packages/SystemUI/res/values-eu/strings.xml index 4ed4bc19508e9..1661eebd9b62d 100644 --- a/packages/SystemUI/res/values-eu/strings.xml +++ b/packages/SystemUI/res/values-eu/strings.xml @@ -85,6 +85,8 @@ "Partekatu pantaila-argazkia" "Kapturatu eduki gehiago" "Baztertu pantaila-argazkia" + + "Pantaila-argazkiaren aurrebista" "Goiko ertza: ehuneko %1$d" "Beheko ertza: ehuneko %1$d" @@ -731,8 +733,7 @@ "Wifi-konexioa desaktibatuta dago" "Bluetooth bidezko konexioa desaktibatuta dago" "Ez molestatzeko modua desaktibatuta dago" - - + "Aktibatuta dago ez molestatzeko modua" "Ez molestatzeko modua aktibatu du arau automatiko batek (%s)." "Ez molestatzeko modua aktibatu du aplikazio batek (%s)." "Ez molestatzeko modua aktibatu du arau automatiko edo aplikazio batek." @@ -875,6 +876,8 @@ "Audio-irteerarako gailu erabilgarriak." "Bolumena" "%% %1$d" + + "Nola funtzionatzen dute iragarpenek?" "Iragarri" "Bluetooth bidezko gailu bateragarriak dituzten inguruko pertsonek iragartzen ari zaren multimedia-edukia entzun dezakete" @@ -1004,8 +1007,7 @@ "• Kamera-aplikazio bat instalatu da." "• Aplikazioa konfiguratuta dago." "• Gutxienez gailu bat erabilgarri dago." - - + "Aktibatzeko, eduki sakatuta" "Utzi" "Irauli" "Ireki telefonoa autoargazki hobeak ateratzeko" @@ -1014,6 +1016,5 @@ "✱ Pantaila itzali egingo da" "Gailu tolesgarria zabaltzen" "Gailu tolesgarria biratzen" - - + "Arkatzak bateria gutxi du" diff --git a/packages/SystemUI/res/values-fa/strings.xml b/packages/SystemUI/res/values-fa/strings.xml index d304821306ebc..53a0261e3b4b6 100644 --- a/packages/SystemUI/res/values-fa/strings.xml +++ b/packages/SystemUI/res/values-fa/strings.xml @@ -85,6 +85,8 @@ "هم‌رسانی نماگرفت" "ضبط محتوای بیشتر" "رد کردن نماگرفت" + + "پیش‌نمایش نماگرفت" "مرز بالا %1$d درصد" "مرز پایین %1$d درصد" @@ -731,8 +733,7 @@ "‏Wi-Fi خاموش است" "بلوتوث خاموش است" "«مزاحم نشوید» خاموش است" - - + "«مزاحم نشوید» روشن است" "قانون خودکاری (%s) «مزاحم نشوید» را روشن کرد." "برنامه‌ای (%s) «مزاحم نشوید» را روشن کرد." "برنامه یا قانون خودکاری، «مزاحم نشوید» را روشن کرد." @@ -875,6 +876,8 @@ "دستگاه‌های دردسترس برای خروجی صدا." "میزان صدا" "%1$d%%" + + "همه‌فرتستی چطور کار می‌کند" "همه‌فرستی" "‏افرادی که در اطرافتان دستگاه‌های Bluetooth سازگار دارند می‌توانند به رسانه‌ای که همه‌فرستی می‌کنید گوش کنند" @@ -1004,8 +1007,7 @@ "• برنامه دوربین نصب شده باشد" "• برنامه راه‌اندازی شده باشد" "• حداقل یک دستگاه دردسترس باشد" - - + "برای فعال‌سازی، فشار دهید و نگه دارید" "لغو کردن" "اکنون چرخانده شود" "برای خویش‌گرفت بهتر، تلفن را باز کنید" @@ -1014,6 +1016,5 @@ "✱ این صفحه‌نمایش خاموش خواهد شد" "دستگاه تاشو درحال باز شدن" "دستگاه تاشو درحال چرخش به اطراف" - - + "باتری قلم ضعیف است" diff --git a/packages/SystemUI/res/values-fi/strings.xml b/packages/SystemUI/res/values-fi/strings.xml index 6922fb08194fa..880c2242e4346 100644 --- a/packages/SystemUI/res/values-fi/strings.xml +++ b/packages/SystemUI/res/values-fi/strings.xml @@ -85,6 +85,8 @@ "Jaa kuvakaappaus" "Kuvaa enemmän" "Hylkää kuvakaappaus" + + "Kuvakaappauksen esikatselu" "Yläreuna %1$d prosenttia" "Alareuna %1$d prosenttia" @@ -731,8 +733,7 @@ "Wi-Fi on pois päältä" "Bluetooth ei ole käytössä" "Älä häiritse ‑tila on pois päältä" - - + "Älä häiritse ‑tila on käytössä" "Automaattinen sääntö otti käyttöön Älä häiritse ‑tilan (%s)." "Sovellus otti käyttöön Älä häiritse ‑tilan (%s)." "Automaattinen sääntö tai sovellus otti käyttöön Älä häiritse ‑tilan." @@ -875,6 +876,8 @@ "Käytettävissä olevat audiolaitteet" "Äänenvoimakkuus" "%1$d %%" + + "Miten lähetys toimii" "Lähetys" "Lähistöllä olevat ihmiset, joilla on yhteensopiva Bluetooth-laite, voivat kuunnella lähettämääsi mediaa" @@ -1004,8 +1007,7 @@ "• Asenna kamerasovellus" "• Sovellus on otettu käyttöön" "• Ainakin yksi laite on käytettävissä" - - + "Aktivoi painamalla pitkään" "Peru" "Käännä nyt" "Saat paremman selfien, kun levität puhelimen" @@ -1014,6 +1016,5 @@ "✱ Tämä näyttö sammutetaan" "Taitettava laite taitetaan" "Taitettava laite käännetään ympäri" - - + "Näyttökynän akku vähissä" diff --git a/packages/SystemUI/res/values-fr-rCA/strings.xml b/packages/SystemUI/res/values-fr-rCA/strings.xml index 36453f80c05e5..443032042df25 100644 --- a/packages/SystemUI/res/values-fr-rCA/strings.xml +++ b/packages/SystemUI/res/values-fr-rCA/strings.xml @@ -85,6 +85,8 @@ "Partagez la capture d\'écran" "Capturer plus" "Fermer la capture d\'écran" + + "Aperçu de la capture d\'écran" "Limite supérieure : %1$d %%" "Limite inférieure : %1$d %%" @@ -731,8 +733,7 @@ "Le Wi-Fi est désactivé" "Le Bluetooth est désactivé" "Le mode Ne pas déranger est désactivé" - - + "Mode Ne pas déranger activé" "Le mode Ne pas déranger a été activé par une règle automatique (%s)." "Le mode Ne pas déranger a été activé par une application (%s)." "Le mode Ne pas déranger a été activé par une règle automatique ou une application." @@ -875,6 +876,8 @@ "Appareils disponibles pour la sortie audio." "Volume" "%1$d %%" + + "Fonctionnement de la diffusion" "Diffusion" "Les personnes à proximité disposant d\'appareils Bluetooth compatibles peuvent écouter le contenu multimédia que vous diffusez" @@ -1004,8 +1007,7 @@ "• qu\'une application de caméra est installée;" "• que cette application est configurée;" "• qu\'au moins un appareil est utilisable;" - - + "Maintenir le doigt pour activer" "Annuler" "Retourner maintenant" "Déplier le téléphone pour un meilleur égoportrait" @@ -1014,6 +1016,5 @@ "* Cet écran va s\'éteindre" "Appareil pliable en cours de dépliage" "Appareil pliable en train d\'être retourné" - - + "Pile du stylet faible" diff --git a/packages/SystemUI/res/values-fr/strings.xml b/packages/SystemUI/res/values-fr/strings.xml index 61ac4c41aca83..d6a25f6904838 100644 --- a/packages/SystemUI/res/values-fr/strings.xml +++ b/packages/SystemUI/res/values-fr/strings.xml @@ -85,6 +85,8 @@ "Partager la capture d\'écran" "Capturer plus" "Fermer la capture d\'écran" + + "Aperçu de la capture d\'écran" "Limite supérieure : %1$d pour cent" "Limite inférieure : %1$d pour cent" @@ -731,8 +733,7 @@ "Wi-Fi désactivé" "Bluetooth désactivé" "Mode \"Ne pas déranger\" désactivé" - - + "Mode \"Ne pas déranger\" activé" "Le mode \"Ne pas déranger\" a été activé par une règle automatique (%s)." "Le mode \"Ne pas déranger\" a été activé par une application (%s)." "Le mode \"Ne pas déranger\" a été activé par une règle automatique ou une application." @@ -875,6 +876,8 @@ "Appareils disponibles pour la sortie audio." "Volume" "%1$d %%" + + "Fonctionnement des annonces" "Annonce" "Les personnes à proximité équipées d\'appareils Bluetooth compatibles peuvent écouter le contenu multimédia que vous diffusez" @@ -1004,8 +1007,7 @@ "• Installer une appli d\'appareil photo" "• L\'appli est configurée" "• Au moins un appareil est disponible" - - + "Appui long pour activer" "Annuler" "Retourner maintenant" "Déplier le téléphone pour un meilleur selfie" @@ -1014,6 +1016,5 @@ "✱ Cet écran sera désactivé" "Appareil pliable qui est déplié" "Appareil pliable qui est retourné" - - + "La batterie du stylet est faible" diff --git a/packages/SystemUI/res/values-gl/strings.xml b/packages/SystemUI/res/values-gl/strings.xml index 249a78316df7d..6173fb67787c3 100644 --- a/packages/SystemUI/res/values-gl/strings.xml +++ b/packages/SystemUI/res/values-gl/strings.xml @@ -85,6 +85,8 @@ "Compartir captura de pantalla" "Capturar máis" "Ignorar a captura de pantalla" + + "Vista previa da captura de pantalla" "Bordo superior: %1$d %%" "Bordo inferior: %1$d %%" @@ -731,8 +733,7 @@ "A wifi está desactivada" "O Bluetooth está desactivado" "O modo Non molestar está desactivado" - - + "Modo Non molestar activado" "Unha norma automática (%s) activou o modo Non molestar." "Unha aplicación (%s) activou o modo Non molestar." "Unha aplicación ou norma automática activou o modo Non molestar." @@ -875,6 +876,8 @@ "Dispositivos dispoñibles para a saída de audio." "Volume" "%1$d %%" + + "Como funcionan as difusións?" "Difusión" "As persoas que estean preto de ti e que dispoñan de dispositivos Bluetooth compatibles poden escoitar o contido multimedia que difundas" @@ -1004,8 +1007,7 @@ "• Debes instalar a aplicación de cámara" "• A aplicación debe estar configurada" "• Ten que haber polo menos un dispositivo dispoñible" - - + "Manteno premido para activalo" "Cancelar" "Voltear agora" "Desprega o teléfono para unha autofoto mellor" @@ -1014,6 +1016,5 @@ "✱ Desactivarase esta pantalla" "Dispositivo pregable abríndose" "Dispositivo pregable xirando" - - + "O lapis óptico ten pouca batería" diff --git a/packages/SystemUI/res/values-gu/strings.xml b/packages/SystemUI/res/values-gu/strings.xml index 89594425074ab..4abf64c8f1e2f 100644 --- a/packages/SystemUI/res/values-gu/strings.xml +++ b/packages/SystemUI/res/values-gu/strings.xml @@ -85,6 +85,8 @@ "સ્ક્રીનશૉટ શેર કરો" "વધુ કૅપ્ચર કરો" "સ્ક્રીનશૉટ છોડી દો" + + "સ્ક્રીનશૉટનો પ્રીવ્યૂ" "ઉપરની સીમા %1$d ટકા" "નીચેની સીમા %1$d ટકા" @@ -731,8 +733,7 @@ "વાઇ-ફાઇ બંધ છે" "બ્લૂટૂથ બંધ છે" "ખલેલ પાડશો નહીં બંધ છે" - - + "ખલેલ પાડશો નહીં ચાલુ છે" "ખલેલ પાડશો નહીં એક સ્વચાલિત નિયમ દ્વારા ચાલુ કરાયું હતું (%s)." "ખલેલ પાડશો નહીં એક ઍપ્લિકેશન દ્વારા ચાલુ કરાયું હતું (%s)." "ખલેલ પાડશો નહીં એક સ્વચાલિત નિયમ અથવા ઍપ્લિકેશન દ્વારા ચાલુ કરાયું હતું." @@ -875,6 +876,8 @@ "ઑડિયો આઉટપુટ માટે ઉપલબ્ધ ડિવાઇસ." "વૉલ્યૂમ" "%1$d%%" + + "બ્રોડકાસ્ટ પ્રક્રિયાની કામ કરવાની રીત" "બ્રોડકાસ્ટ કરો" "સુસંગત બ્લૂટૂથ ડિવાઇસ ધરાવતા નજીકના લોકો તમે જે મીડિયા બ્રોડકાસ્ટ કરી રહ્યાં છો તે સાંભળી શકે છે" @@ -1004,8 +1007,7 @@ "• કૅમેરા ઍપ ઇન્સ્ટૉલ કરી છે" "• ઍપનું સેટઅપ કરેલું છે" "• ઓછામાં ઓછું એક ડિવાઇસ ઉપલબ્ધ છે" - - + "સક્રિય કરવા માટે, દબાવી રાખો" "રદ કરો" "હમણાં જ ફ્લિપ કરો" "બહેતર સેલ્ફી લેવા માટે ફોન ખોલો" @@ -1014,6 +1016,5 @@ "✱ આ સ્ક્રીન બંધ થઈ જશે" "ફોલ્ડ કરી શકાય એવું ડિવાઇસ અનફોલ્ડ કરવામાં આવી રહ્યું છે" "ફોલ્ડ કરી શકાય એવું ડિવાઇસ ફ્લિપ કરવામાં આવી રહ્યું છે" - - + "સ્ટાઇલસની બૅટરીમાં ચાર્જ ઓછો છે" diff --git a/packages/SystemUI/res/values-hi/strings.xml b/packages/SystemUI/res/values-hi/strings.xml index c39563ee70031..8e043bb814d8a 100644 --- a/packages/SystemUI/res/values-hi/strings.xml +++ b/packages/SystemUI/res/values-hi/strings.xml @@ -85,6 +85,8 @@ "स्क्रीनशॉट शेयर करें" "ज़्यादा कॉन्टेंट कैप्चर करें" "स्क्रीनशॉट को खारिज करें" + + "स्क्रीनशॉट की झलक" "ऊपरी किनारे से %1$d प्रतिशत" "निचले किनारे से %1$d प्रतिशत" @@ -731,8 +733,7 @@ "वाई-फ़ाई बंद है" "ब्लूटूथ बंद है" "परेशान न करें बंद है" - - + "\'परेशान न करें\' सुविधा चालू है" "एक ऑटोमैटिक नियम (%s) ने परेशान न करें को चालू कर दिया था." "एक ऐप्लिकेशन (%s) ने परेशान न करें को चालू कर दिया था." "एक ऑटोमैटिक नियम या ऐप्लिकेशन ने परेशान न करें को चालू कर दिया था." @@ -875,6 +876,8 @@ "ऑडियो आउटपुट के लिए उपलब्ध डिवाइस." "वॉल्यूम" "%1$d%%" + + "ब्रॉडकास्ट करने की सुविधा कैसे काम करती है" "ब्रॉडकास्ट करें" "आपके आस-पास मौजूद लोग, ब्रॉडकास्ट किए जा रहे मीडिया को सुन सकते हैं. हालांकि, इसके लिए उनके पास ऐसे ब्लूटूथ डिवाइस होने चाहिए जिन पर मीडिया चलाया जा सके" @@ -1004,8 +1007,7 @@ "• कैमरा ऐप्लिकेशन इंस्टॉल किया गया है" "• ऐप्लिकेशन को सेट अप किया गया है" "• कम से कम एक डिवाइस उपलब्ध है" - - + "चालू करने के लिए दबाकर रखें" "रद्द करें" "कैमरा अभी स्विच करें" "बेहतर सेल्फ़ी के लिए फ़ोन को अनफ़ोल्ड करें" @@ -1014,6 +1016,5 @@ "✱ यह स्क्रीन बंद हो जाएगी" "फ़ोल्ड किया जा सकने वाला डिवाइस अनफ़ोल्ड किया जा रहा है" "फ़ोल्ड किया जा सकने वाला डिवाइस पलटा जा रहा है" - - + "स्टाइलस की बैटरी कम है" diff --git a/packages/SystemUI/res/values-hr/strings.xml b/packages/SystemUI/res/values-hr/strings.xml index 920869be5b2a5..df04ab371aeb9 100644 --- a/packages/SystemUI/res/values-hr/strings.xml +++ b/packages/SystemUI/res/values-hr/strings.xml @@ -85,6 +85,7 @@ "Podijeli snimku zaslona" "Snimi više" "Odbacivanje snimke zaslona" + "Odbacite poruku poslovnog profila" "Pregled snimke zaslona" "Gornji rub %1$d posto" "Donji rub %1$d posto" @@ -731,8 +732,7 @@ "Wi-Fi je isključen" "Bluetooth je isključen" "Način Ne uznemiravaj isključen" - - + "Način Ne uznemiravaj uključen" "Način Ne uznemiravaj uključilo je automatsko pravilo (%s)." "Način Ne uznemiravaj uključila je aplikacija (%s)." "Način Ne uznemiravaj uključilo je automatsko pravilo ili aplikacija." @@ -875,6 +875,7 @@ "Dostupni uređaji za audioizlaz." "Glasnoća" "%1$d%%" + "Zvučnici i zasloni" "Kako emitiranje funkcionira" "Emitiranje" "Osobe u blizini s kompatibilnim Bluetooth uređajima mogu slušati medije koje emitirate" @@ -1004,8 +1005,7 @@ "• Instalirajte aplikaciju fotoaparata" "• Aplikacija je postavljena" "• Dostupan je najmanje jedan uređaj" - - + "Zadržite dulje za aktivaciju" "Odustani" "Okreni odmah" "Otvorite telefon da biste snimili bolji selfie" @@ -1014,6 +1014,5 @@ "✱ Ovaj će se zaslon isključiti" "Rasklopljen sklopivi uređaj" "Okretanje sklopivog uređaja sa svih strana" - - + "Slaba baterija pisaljke" diff --git a/packages/SystemUI/res/values-hu/strings.xml b/packages/SystemUI/res/values-hu/strings.xml index 77d5799320bd0..c01302aa09254 100644 --- a/packages/SystemUI/res/values-hu/strings.xml +++ b/packages/SystemUI/res/values-hu/strings.xml @@ -85,6 +85,7 @@ "Képernyőkép megosztása" "Több rögzítése" "Képernyőkép elvetése" + "Munkaprofil üzenetének elvetése" "Képernyőkép előnézete" "Felső rész %1$d százaléka" "Alsó rész %1$d százaléka" @@ -731,8 +732,7 @@ "A Wi-Fi ki van kapcsolva" "A Bluetooth ki van kapcsolva" "A „Ne zavarjanak” mód ki van kapcsolva" - - + "Ne zavarjanak mód: bekapcsolva" "Az egyik automatikus szabály (%s) bekapcsolta a „Ne zavarjanak” módot." "Az egyik alkalmazás (%s) bekapcsolta a „Ne zavarjanak” módot." "Az egyik alkalmazás vagy automatikus szabály bekapcsolta a „Ne zavarjanak” módot." @@ -875,6 +875,7 @@ "Rendelkezésre álló eszközök a hangkimenethez." "Hangerő" "%1$d%%" + "Hangfalak és kijelzők" "A közvetítés működése" "Közvetítés" "A közelben tartózkodó, kompatibilis Bluetooth-eszközzel rendelkező személyek meghallgathatják az Ön közvetített médiatartalmait" @@ -1004,8 +1005,7 @@ "• Kameraalkalmazás telepítése" "• Az alkalmazás be van állítva" "• Legalább egy eszköz rendelkezésre áll" - - + "Tartsa nyomva az aktiváláshoz" "Mégse" "Átfordítás most" "Hajtsa ki a telefont jobb szelfi készítéséhez" @@ -1014,6 +1014,5 @@ "✱ A képernyő kikapcsol" "Összehajtható eszköz kihajtása" "Összehajtható eszköz körbeforgatása" - - + "Az érintőceruza töltöttsége alacsony" diff --git a/packages/SystemUI/res/values-hy/strings.xml b/packages/SystemUI/res/values-hy/strings.xml index 6c770d37cf88d..4aacca395242e 100644 --- a/packages/SystemUI/res/values-hy/strings.xml +++ b/packages/SystemUI/res/values-hy/strings.xml @@ -85,6 +85,8 @@ "Ուղարկել սքրինշոթ" "Մեծացնել սքրինշոթի տարածքը" "Փակել սքրինշոթը" + + "Սքրինշոթի նախադիտում" "Վերևի եզրագիծը՝ %1$d տոկոս" "Ներքևի սահմանագիծը՝ %1$d%%" @@ -731,8 +733,7 @@ "Wi-Fi-ն անջատված է" "Bluetooth-ն անջատված է" "Չանհանգստացնելու ռեժիմն անջատված է" - - + "«Չանհանգստացնել» ռեժիմն ակտիվ է" "Չանհանգստացնել գործառույթը միացված է ավտոմատ կանոնի կողմից (%s):" "Չանհանգստացնել գործառույթը միացված է հավելվածի կողմից (%s):" "Չանհանգստացնել գործառույթը միացված է ավտոմատ կանոնի կամ հավելվածի կողմից:" @@ -875,6 +876,8 @@ "Հասանելի սարքեր ձայնի արտածման համար։" "Ձայնի ուժգնություն" "%1$d%%" + + "Ինչպես է աշխատում հեռարձակումը" "Հեռարձակում" "Ձեր մոտակայքում գտնվող՝ համատեղելի Bluetooth սարքերով մարդիկ կարող են լսել մեդիա ֆայլերը, որոնք դուք հեռարձակում եք։" diff --git a/packages/SystemUI/res/values-in/strings.xml b/packages/SystemUI/res/values-in/strings.xml index 3bbcc82b0e703..752cfc3008b6b 100644 --- a/packages/SystemUI/res/values-in/strings.xml +++ b/packages/SystemUI/res/values-in/strings.xml @@ -85,6 +85,8 @@ "Bagikan screenshot" "Ambil lebih banyak" "Menutup screenshot" + + "Pratinjau screenshot" "Batas atas %1$d%%" "Batas bawah %1$d%%" @@ -731,8 +733,7 @@ "Wi-Fi nonaktif" "Bluetooth nonaktif" "Fitur Jangan Ganggu nonaktif" - - + "Mode Jangan Ganggu aktif" "Mode Jangan Ganggu diaktifkan oleh aturan otomatis (%s)." "Mode Jangan Ganggu diaktifkan oleh aplikasi (%s)." "Mode Jangan Ganggu diaktifkan oleh aturan otomatis atau aplikasi." @@ -875,6 +876,8 @@ "Perangkat yang tersedia untuk output audio." "Volume" "%1$d%%" + + "Cara kerja siaran" "Siaran" "Orang di dekat Anda dengan perangkat Bluetooth yang kompatibel dapat mendengarkan media yang sedang Anda siarkan" @@ -1004,8 +1007,7 @@ "• Menginstal aplikasi kamera" "• Aplikasi disiapkan" "• Tersedia minimal satu perangkat" - - + "Tekan & tahan untuk mengaktifkan" "Batal" "Balik sekarang" "Bentangkan ponsel untuk selfie yang lebih baik" @@ -1014,6 +1016,5 @@ "✱ Layar ini akan dinonaktifkan" "Perangkat foldable sedang dibentangkan" "Perangkat foldable sedang dibalik" - - + "Baterai stilus lemah" diff --git a/packages/SystemUI/res/values-is/strings.xml b/packages/SystemUI/res/values-is/strings.xml index a42f42ec2bb3f..3dec0bc5193dd 100644 --- a/packages/SystemUI/res/values-is/strings.xml +++ b/packages/SystemUI/res/values-is/strings.xml @@ -85,6 +85,8 @@ "Deila skjámynd" "Mynda meira" "Loka skjámynd" + + "Forskoðun skjámyndar" "Efri mörk %1$d prósent" "Neðri mörk %1$d prósent" @@ -731,8 +733,7 @@ "Slökkt á Wi-Fi" "Slökkt á Bluetooth" "Slökkt á „Ónáðið ekki“" - - + "Kveikt er á „Ónáðið ekki“" "Sjálfvirk regla kveikti á „Ónáðið ekki“ (%s)." "Forrit kveikti á „Ónáðið ekki“ (%s)." "Sjálfvirk regla eða forrit kveikti á „Ónáðið ekki“" @@ -875,6 +876,8 @@ "Tæki í boði fyrir hljóðúttak." "Hljóðstyrkur" "%1$d%%" + + "Svona virkar útsending" "Útsending" "Fólk nálægt þér með samhæf Bluetooth-tæki getur hlustað á efnið sem þú sendir út" @@ -1004,8 +1007,7 @@ "• Setja upp myndavélarforrit" "• Forritið er uppsett" "• Að minnsta kosti eitt tæki er tiltækt" - - + "Haltu inni til að virkja" "Hætta við" "Snúa núna" "Opnaðu símann til að taka betri sjálfsmynd" @@ -1014,6 +1016,5 @@ "✱ Slökkt verður á þessum skjá" "Samanbrjótanlegt tæki opnað" "Samanbrjótanlegu tæki snúið við" - - + "Rafhlaða pennans er að tæmast" diff --git a/packages/SystemUI/res/values-it/strings.xml b/packages/SystemUI/res/values-it/strings.xml index 8e0efa8650934..ec808c31b961e 100644 --- a/packages/SystemUI/res/values-it/strings.xml +++ b/packages/SystemUI/res/values-it/strings.xml @@ -85,6 +85,7 @@ "Condividi screenshot" "Acquisisci di più" "Ignora screenshot" + "Chiudi il messaggio relativo al profilo di lavoro" "Anteprima screenshot" "Limite superiore, %1$d percento" "Limite inferiore, %1$d percento" @@ -731,8 +732,7 @@ "Wi-Fi disattivato" "Bluetooth non attivo" "Funzione Non disturbare disattivata" - - + "Funzionalità Non disturbare attiva" "La funzione Non disturbare è stata attivata da una regola automatica (%s)." "La funzione Non disturbare è stata attivata da un\'app (%s)." "La funzione Non disturbare è stata attivata da una regola automatica o da un\'app." @@ -875,6 +875,7 @@ "Dispositivi disponibili per l\'uscita audio." "Volume" "%1$d%%" + "Speaker e display" "Come funziona la trasmissione" "Annuncio" "Le persone vicine a te che hanno dispositivi Bluetooth compatibili possono ascoltare i contenuti multimediali che stai trasmettendo" @@ -1004,8 +1005,7 @@ "• Sia installata un\'app fotocamera" "• L\'app sia configurata" "• Ci sia almeno un dispositivo disponibile" - - + "Tieni premuto per attivare" "Annulla" "Gira ora" "Apri il telefono per un selfie migliore" @@ -1014,6 +1014,5 @@ "✱ Questo schermo verrà disattivato" "Dispositivo pieghevole che viene aperto" "Dispositivo pieghevole che viene capovolto" - - + "Batteria stilo in esaurimento" diff --git a/packages/SystemUI/res/values-iw/strings.xml b/packages/SystemUI/res/values-iw/strings.xml index 5f74a57ad4254..aa11eda8fbe9a 100644 --- a/packages/SystemUI/res/values-iw/strings.xml +++ b/packages/SystemUI/res/values-iw/strings.xml @@ -85,6 +85,7 @@ "שיתוף של צילום מסך" "צילום תוכן נוסף" "סגירת צילום מסך" + "סגירת ההודעה של פרופיל העבודה" "תצוגה מקדימה של צילום מסך" "%1$d אחוז מהשוליים העליונים" "%1$d אחוז מהשוליים התחתונים" @@ -731,8 +732,7 @@ "‏Wi-Fi כבוי" "‏Bluetooth כבוי" "מצב \'נא לא להפריע\' כבוי" - - + "מצב \'נא לא להפריע\' מופעל" "מצב \'נא לא להפריע\' הופעל על ידי כלל אוטומטי (%s)." "מצב \'נא לא להפריע\' הופעל על ידי אפליקציה (%s)." "מצב \'נא לא להפריע\' הופעל על ידי אפליקציה או על ידי כלל אוטומטי." @@ -875,6 +875,7 @@ "מכשירים זמינים לפלט אודיו." "עוצמת הקול" "‎%1$d%%‎‎" + "רמקולים ומסכים" "הסבר על שידורים" "שידור" "‏אנשים בקרבת מקום עם מכשירי Bluetooth תואמים יכולים להאזין למדיה שמשודרת על ידך" @@ -1004,18 +1005,14 @@ "• התקנה של אפליקציית מצלמה" "• האפליקציה מוגדרת" "• יש לפחות מכשיר אחד זמין" - - + "לוחצים לחיצה ארוכה כדי להפעיל" "ביטול" "הפכת את המכשיר" "כדי לצלם תמונת סלפי טובה יותר, פותחים את הטלפון" "להפוך למסך הקדמי כדי לצלם תמונת סלפי טובה יותר?" "במצלמה האחורית אפשר לצלם תמונה רחבה יותר ברזולוציה גבוהה יותר." "✱ המסך יכבה" - - - - - - + "מכשיר מתקפל עובר למצב לא מקופל" + "מכשיר מתקפל עובר למצב מהופך" + "הסוללה של הסטיילוס חלשה" diff --git a/packages/SystemUI/res/values-ja/strings.xml b/packages/SystemUI/res/values-ja/strings.xml index 485161f85a9a4..7fdf599e6f0f2 100644 --- a/packages/SystemUI/res/values-ja/strings.xml +++ b/packages/SystemUI/res/values-ja/strings.xml @@ -85,6 +85,7 @@ "スクリーンショットを共有" "キャプチャ範囲を拡大" "スクリーンショットを閉じます" + "仕事用プロファイルのメッセージを閉じます" "スクリーンショットのプレビュー" "上部の境界線 %1$d パーセント" "下部の境界線 %1$d パーセント" @@ -731,8 +732,7 @@ "Wi-Fi は OFF です" "Bluetooth は OFF です" "サイレント モードは OFF です" - - + "サイレント モード ON" "サイレント モードが自動ルール(%s)によって ON になりました。" "サイレント モードがアプリ(%s)によって ON になりました。" "サイレント モードが自動ルールまたはアプリによって ON になりました。" @@ -875,6 +875,7 @@ "音声出力ができるデバイスです。" "音量" "%1$d%%" + "スピーカーとディスプレイ" "ブロードキャストの仕組み" "ブロードキャスト" "Bluetooth 対応デバイスを持っている付近のユーザーは、あなたがブロードキャストしているメディアを聴けます" diff --git a/packages/SystemUI/res/values-ka/strings.xml b/packages/SystemUI/res/values-ka/strings.xml index f9e9b136bf267..71e3129a93ba4 100644 --- a/packages/SystemUI/res/values-ka/strings.xml +++ b/packages/SystemUI/res/values-ka/strings.xml @@ -85,6 +85,7 @@ "ეკრანის ანაბეჭდის გაზიარება" "მეტის აღბეჭდვა" "ეკრანის ანაბეჭდის დახურვა" + "თქვენი სამსახურის პროფილის შეტყობინების უარყოფა" "ეკრანის ანაბეჭდის გადახედვა" "ზედა ზღვარი: %1$d პროცენტი" "ქვედა ზღვარი: %1$d პროცენტი" @@ -731,8 +732,7 @@ "Wi-Fi გამორთულია" "Bluetooth გამორთულია" "„არ შემაწუხოთ“ რეჟიმი გამორთულია" - - + "„არ შემაწუხოთ“ ჩართულია" "„არ შემაწუხოთ“ ჩაირთო ავტომატური წესის მიხედვით (%s)." "„არ შემაწუხოთ“ ჩაირთო აპის მიერ (%s)." "„არ შემაწუხოთ“ ჩაირთო ავტომატური წესის მიხედვით ან აპის მიერ." @@ -875,6 +875,7 @@ "ხელმისაწვდომი მოწყობილობები გამომავალი აუდიოსთვის." "ხმა" "%1$d%%" + "დინამიკები და დისპლეები" "ტრანსლირების მუშაობის პრინციპი" "ტრანსლაცია" "თქვენთან ახლოს მყოფ ხალხს თავსებადი Bluetooth მოწყობილობით შეუძლიათ თქვენ მიერ ტრანსლირებული მედიის მოსმენა" @@ -1004,8 +1005,7 @@ "• დააინსტალირეთ კამერის აპი" "• აპი დაყენებულია" "• ხელმისაწვდომია მინიმუმ ერთი მოწყობილობა" - - + "აქტივაციისთვის დააჭირეთ და გეკავოთ" "გაუქმება" "გადაატრიალეთ ახლა" "გაშალეთ ტელეფონი უკეთესი სელფისთვის" @@ -1014,6 +1014,5 @@ "✱ ეს ეკრანი გამოირთვება" "დასაკეცი მოწყობილობა იხსნება" "დასაკეცი მოწყობილობა ტრიალებს" - - + "სტილუსის ბატარეა დაცლის პირასაა" diff --git a/packages/SystemUI/res/values-kk/strings.xml b/packages/SystemUI/res/values-kk/strings.xml index 8619a95e4f532..33373f267e239 100644 --- a/packages/SystemUI/res/values-kk/strings.xml +++ b/packages/SystemUI/res/values-kk/strings.xml @@ -85,6 +85,8 @@ "Скриншотты бөлісу" "Тағы суретке түсіру" "Скриншотты жабу" + + "Скриншотты алдын ала көру" "Жоғарғы шектік сызық: %1$d пайыз" "Төменгі шектік сызық: %1$d пайыз" @@ -731,8 +733,7 @@ "Wi-Fi өшірулі" "Bluetooth өшірулі" "Мазаламау режимі өшірулі" - - + "Мазаламау режимі қосулы" "Мазаламау режимі (%s) автоматты ережесі арқылы қосылды." "Мазаламау режимі (%s) қолданбасы арқылы қосылды." "Мазаламау режимі автоматты ереже немесе қолданба арқылы қосылды." @@ -875,6 +876,8 @@ "Аудио шығыс үшін қолжетімді құрылғылар бар." "Дыбыс деңгейі" "%1$d%%" + + "Тарату қалай жүзеге асады" "Тарату" "Үйлесімді Bluetooth құрылғылары бар маңайдағы адамдар сіз таратып жатқан медиамазмұнды тыңдай алады." @@ -914,7 +917,7 @@ "Ойнатылуда" "Достар" "Кешке чатта сөйлесейік!" - "Мазмұн жақында көрсетіледі." + "Контент жақында көрсетіледі." "Өткізіп алған қоңырау" "%d+" "Соңғы хабарлар, өткізіп алған қоңыраулар мен статустың жаңаруы көрсетіледі." @@ -972,7 +975,7 @@ "Көру үшін түртіңіз." "Мәтін көшірілді." "Сурет көшірілді." - "Мазмұн көшірілді." + "Контент көшірілді." "Буфер редакторы" "Буфер" "Суретті алдын ала көру" @@ -1004,8 +1007,7 @@ "• Камера қолданбасын орнатыңыз" "• Қолданба реттелген" "• Кемінде бір құрылғы қолжетімді" - - + "Іске қосу үшін басып тұрыңыз." "Бас тарту" "Айналдыру" "Жақсырақ селфи түсіру үшін телефонды жазыңыз" @@ -1014,6 +1016,5 @@ "✱ Бұл экран өшіріледі." "Бүктемелі құрылғы ашылып жатыр." "Бүктемелі құрылғы аударылып жатыр." - - + "Стилус батареясының заряды аз" diff --git a/packages/SystemUI/res/values-km/strings.xml b/packages/SystemUI/res/values-km/strings.xml index 6914431070a8f..b3b7ce35f0583 100644 --- a/packages/SystemUI/res/values-km/strings.xml +++ b/packages/SystemUI/res/values-km/strings.xml @@ -85,6 +85,8 @@ "ចែករំលែករូបថតអេក្រង់" "ថត​ច្រើនទៀត" "ច្រានចោល​រូបថត​អេក្រង់" + + "ការមើល​រូបថត​អេក្រង់​សាកល្បង" "បន្ទាត់បែងចែក​ខាងលើ %1$d ភាគរយ" "បន្ទាត់បែងចែក​ខាងក្រោម %1$d ភាគរយ" @@ -731,8 +733,7 @@ "Wi-Fi បាន​បិទ" "ប៊្លូធូស​បាន​បិទ" "មុខងារ​កុំរំខាន​បាន​បិទ" - - + "មុខងារកុំរំខាន​ត្រូវបានបើក" "មុខងារ​កុំ​រំខាន​ត្រូវបាន​បើកដោយច្បាប់​ស្វ័យ​ប្រវត្តិ (%s)។" "មុខងារ​កុំ​រំខាន​ត្រូវបាន​បើកដោយកម្មវិធី (%s)។" "មុខងារ​កុំ​រំខាន​ត្រូវបាន​បើកដោយច្បាប់​ស្វ័យ​ប្រវត្តិ ឬ​កម្មវិធី។" @@ -875,6 +876,8 @@ "ឧបករណ៍​ដែលអាច​ប្រើបាន​សម្រាប់ឧបករណ៍​បញ្ចេញ​សំឡេង។" "កម្រិតសំឡេង" "%1$d%%" + + "របៀបដែលការផ្សាយដំណើរការ" "ការ​ផ្សាយ" "មនុស្សនៅជិត​អ្នកដែលមាន​ឧបករណ៍ប៊្លូធូស​ត្រូវគ្នា​អាចស្តាប់​មេឌៀ​ដែលអ្នកកំពុងផ្សាយបាន" @@ -1004,8 +1007,7 @@ "• ដំឡើងកម្មវិធីកាមេរ៉ា" "• កម្មវិធីត្រូវបានរៀបចំ" "• ឧបករណ៍យ៉ាងតិចមួយអាចប្រើបាន" - - + "ចុចឱ្យជាប់ ដើម្បីបើកដំណើរការ" "បោះបង់" "ត្រឡប់ឥឡូវនេះ" "លាតទូរសព្ទ ដើម្បីសែលហ្វីកាន់តែប្រសើរ" @@ -1014,6 +1016,5 @@ "✱ អេក្រង់នេះនឹងបិទ" "ឧបករណ៍អាច​បត់បានកំពុងត្រូវបានលា" "ឧបករណ៍អាច​បត់បានកំពុងត្រូវបានលា" - - + "ថ្មប៊ិកនៅសល់តិច" diff --git a/packages/SystemUI/res/values-kn/strings.xml b/packages/SystemUI/res/values-kn/strings.xml index 2691a70d8795e..11fcac83734a8 100644 --- a/packages/SystemUI/res/values-kn/strings.xml +++ b/packages/SystemUI/res/values-kn/strings.xml @@ -85,6 +85,8 @@ "ಸ್ಕ್ರೀನ್‌ಶಾಟ್ ಅನ್ನು ಹಂಚಿಕೊಳ್ಳಿ" "ಇನ್ನಷ್ಟು ಕ್ಯಾಪ್ಚರ್ ಮಾಡಿ" "ಸ್ಕ್ರೀನ್‌ಶಾಟ್ ಅನ್ನು ವಜಾಗೊಳಿಸಿ" + + "ಸ್ಕ್ರೀನ್‍ಶಾಟ್‍ನ ಪೂರ್ವವೀಕ್ಷಣೆ" "ಮೇಲಿನ ಬೌಂಡರಿ ಶೇಕಡಾ %1$d" "ಕೆಳಗಿನ ಬೌಂಡರಿ ಶೇಕಡಾ %1$d" @@ -731,8 +733,7 @@ "ವೈ-ಫೈ ಆಫ್ ಆಗಿದೆ" "ಬ್ಲೂಟೂತ್‌ ಆಫ್ ಆಗಿದೆ" "ಅಡಚಣೆ ಮಾಡಬೇಡಿ ಆಫ್ ಆಗಿದೆ" - - + "ಅಡಚಣೆ ಮಾಡಬೇಡಿ ಮೋಡ್ ಆನ್ ಆಗಿದೆ" "(%s) ಸ್ವಯಂಚಾಲಿತ ನಿಯಮದ ಮೂಲಕ ಅಡಚಣೆ ಮಾಡಬೇಡಿ ಆನ್ ಆಗಿದೆ." "(%s) ಅಪ್ಲಿಕೇಶನ್‌ ಮೂಲಕ ಅಡಚಣೆ ಮಾಡಬೇಡಿ ಆನ್ ಆಗಿದೆ." "ಸ್ವಯಂಚಾಲಿತ ನಿಯಮ ಅಥವಾ ಅಪ್ಲಿಕೇಶನ್‌ ಮೂಲಕ ಅಡಚಣೆ ಮಾಡಬೇಡಿ ಆನ್ ಆಗಿದೆ." @@ -875,6 +876,8 @@ "ಆಡಿಯೋ ಔಟ್‌ಪುಟ್‌ಗಾಗಿ ಲಭ್ಯವಿರುವ ಸಾಧನಗಳು." "ವಾಲ್ಯೂಮ್" "%1$d%%" + + "ಪ್ರಸಾರವು ಹೇಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ" "ಪ್ರಸಾರ" "ಹೊಂದಾಣಿಕೆಯಾಗುವ ಬ್ಲೂಟೂತ್ ಸಾಧನಗಳನ್ನು ಹೊಂದಿರುವ ಸಮೀಪದಲ್ಲಿರುವ ಜನರು ನೀವು ಪ್ರಸಾರ ಮಾಡುತ್ತಿರುವ ಮಾಧ್ಯಮವನ್ನು ಆಲಿಸಬಹುದು" @@ -1004,8 +1007,7 @@ "• ಕ್ಯಾಮರಾ ಆ್ಯಪ್ ಒಂದನ್ನು ಇನ್‌ಸ್ಟಾಲ್ ಮಾಡಿ" "• ಆ್ಯಪ್ ಅನ್ನು ಸೆಟಪ್ ಮಾಡಲಾಗಿದೆ" "• ಕನಿಷ್ಠ ಒಂದು ಸಾಧನ ಲಭ್ಯವಿದೆ" - - + "ಸಕ್ರಿಯಗೊಳಿಸಲು ಒತ್ತಿ ಹಿಡಿದುಕೊಳ್ಳಿ" "ರದ್ದುಗೊಳಿಸಿ" "ಈಗ ಫ್ಲಿಪ್ ಮಾಡಿ" "ಉತ್ತಮ ಸೆಲ್ಫೀಗಾಗಿ ಫೋನ್ ಅನ್ನು ಅನ್‌ಫೋಲ್ಡ್ ಮಾಡಿ" @@ -1014,6 +1016,5 @@ "✱ ಈ ಸ್ಕ್ರೀನ್ ಆಫ್ ಆಗುತ್ತದೆ" "ಫೋಲ್ಡ್ ಮಾಡಬಹುದಾದ ಸಾಧನವನ್ನು ಅನ್‌ಫೋಲ್ಡ್ ಮಾಡಲಾಗುತ್ತಿದೆ" "ಫೋಲ್ಡ್ ಮಾಡಬಹುದಾದ ಸಾಧನವನ್ನು ಸುತ್ತಲೂ ತಿರುಗಿಸಲಾಗುತ್ತಿದೆ" - - + "ಸ್ಟೈಲಸ್ ಬ್ಯಾಟರಿ ಕಡಿಮೆಯಿದೆ" diff --git a/packages/SystemUI/res/values-ko/strings.xml b/packages/SystemUI/res/values-ko/strings.xml index f3f042609eedd..558753c47e127 100644 --- a/packages/SystemUI/res/values-ko/strings.xml +++ b/packages/SystemUI/res/values-ko/strings.xml @@ -85,6 +85,8 @@ "스크린샷 공유" "더 캡처하기" "스크린샷 닫기" + + "스크린샷 미리보기" "상단 가장자리 %1$d%%" "하단 가장자리 %1$d%%" @@ -731,8 +733,7 @@ "Wi-Fi가 사용 중지됨" "블루투스가 사용 중지됨" "방해 금지 모드가 사용 중지됨" - - + "방해 금지 모드 사용 중" "방해 금지 모드가 자동 규칙(%s)에 의해 사용 설정되었습니다." "방해 금지 모드가 앱(%s)에 의해 사용 설정되었습니다." "방해 금지 모드가 자동 규칙 또는 앱에 의해 사용 설정되었습니다." @@ -875,6 +876,8 @@ "오디오 출력에 사용 가능한 기기입니다." "볼륨" "%1$d%%" + + "브로드캐스팅 작동 원리" "브로드캐스트" "호환되는 블루투스 기기를 가진 근처의 사용자가 내가 브로드캐스트 중인 미디어를 수신 대기할 수 있습니다." @@ -1004,8 +1007,7 @@ "• 카메라 앱이 설치되어 있습니다." "• 앱이 설정되어 있습니다." "• 1대 이상의 기기를 사용할 수 있습니다." - - + "길게 눌러 활성화" "취소" "지금 뒤집기" "휴대전화를 열어서 더 나은 셀카를 찍어보세요" @@ -1014,6 +1016,5 @@ "✱ 이 화면이 꺼집니다." "폴더블 기기를 펼치는 모습" "폴더블 기기를 뒤집는 모습" - - + "스타일러스 배터리 부족" diff --git a/packages/SystemUI/res/values-ky/strings.xml b/packages/SystemUI/res/values-ky/strings.xml index 6f64f45080a48..faa337050e576 100644 --- a/packages/SystemUI/res/values-ky/strings.xml +++ b/packages/SystemUI/res/values-ky/strings.xml @@ -85,6 +85,8 @@ "Скриншотту бөлүшүү" "Көбүрөөк тартуу" "Скриншотту четке кагуу" + + "Скриншотту алдын ала көрүү" "Өйдө жагы %1$d пайызга" "Ылдый жагы %1$d пайызга" @@ -731,8 +733,7 @@ "Wi-Fi өчүк" "Bluetooth өчүк" "\"Тынчымды алба\" режими өчүк" - - + "\"Тынчымды алба\" режими күйүк" "Автоматтык эреже \"Тынчымды алба\" режимин күйгүздү (%s)." "Колдонмо \"Тынчымды алба\" режимин күйгүздү (%s)." "Автоматтык эреже же колдонмо \"Тынчымды алба\" режимин күйгүздү." @@ -875,6 +876,8 @@ "Аудио чыгаруу үчүн жеткиликтүү түзмөктөр." "Үндүн катуулугу" "%1$d%%" + + "Кабарлоо кантип иштейт" "Кабарлоо" "Шайкеш Bluetooth түзмөктөрү болгон жакын жердеги кишилер кабарлап жаткан медиаңызды уга алышат" @@ -1004,8 +1007,7 @@ "• Камера колдонмосун орнотуу" "• Колдонмо туураланды" "• Кеминде бир түзмөк жеткиликтүү" - - + "Иштетүү үчүн коё бербей басып туруңуз" "Токтотуу" "Азыр которуу" "Жакшы селфи тартуу үчүн негизги камерага которуңуз" @@ -1014,6 +1016,5 @@ "✱ Бул экран өчөт" "Ачылып турган бүктөлмө түзмөк" "Оодарылып жаткан бүктөлмө түзмөк" - - + "Стилустун батареясы отурайын деп калды" diff --git a/packages/SystemUI/res/values-lo/strings.xml b/packages/SystemUI/res/values-lo/strings.xml index 8573f69618a51..4e7f44a33688c 100644 --- a/packages/SystemUI/res/values-lo/strings.xml +++ b/packages/SystemUI/res/values-lo/strings.xml @@ -85,6 +85,8 @@ "ແບ່ງປັນຮູບໜ້າຈໍ" "ຖ່າຍຮູບເພີ່ມເຕີມ" "ປິດຮູບໜ້າຈໍ" + + "ຕົວຢ່າງຮູບໜ້າຈໍ" "ຂອບເຂດທາງເທິງ %1$d ເປີເຊັນ" "ຂອບເຂດທາງລຸ່ມ %1$d ເປີເຊັນ" @@ -731,8 +733,7 @@ "Wi-Fi ປິດຢູ່" "Bluetooth ປິດຢູ່" "ຫ້າມລົບກວນ ປິດຢູ່" - - + "ເປີດໂໝດຫ້າມລົບກວນແລ້ວ" "ໂໝດຫ້າມລົບກວນຖືກເປີດໃຊ້ໂດຍກົດອັດຕະໂນມັດ (%s)." "ມີແອັບເປີດໃຊ້ໂໝດຫ້າມລົບກວນ (%s)." "ໂໝດຫ້າມລົບກວນຖືກເປີດໃຊ້ໂດຍກົດອັດຕະໂນມັດ ຫຼື ແອັບໃດໜຶ່ງ." @@ -875,6 +876,8 @@ "ອຸປະກອນທີ່ສາມາດໃຊ້ໄດ້ສຳລັບເອົ້າພຸດສຽງ." "ລະດັບສຽງ" "%1$d%%" + + "ການອອກອາກາດເຮັດວຽກແນວໃດ" "ອອກອາກາດ" "ຄົນທີ່ຢູ່ໃກ້ທ່ານທີ່ມີອຸປະກອນ Bluetooth ທີ່ເຂົ້າກັນໄດ້ຈະສາມາດຟັງມີເດຍທີ່ທ່ານກຳລັງອອກອາກາດຢູ່ໄດ້" @@ -1004,8 +1007,7 @@ "• ຕິດຕັ້ງແອັບກ້ອງຖ່າຍຮູບ" "• ແອັບໄດ້ຮັບການຕັ້ງຄ່າແລ້ວ" "• ມີຢ່າງໜ້ອຍ 1 ອຸປະກອນພ້ອມໃຫ້ນຳໃຊ້" - - + "ກົດຄ້າງໄວ້ເພື່ອເປີດນຳໃຊ້" "ຍົກເລີກ" "ປີ້ນດຽວນີ້" "ກາງໂທລະສັບອອກເພື່ອການຖ່າຍເຊວຟີທີ່ດີຂຶ້ນ" @@ -1014,6 +1016,5 @@ "✱ ໜ້າຈໍນີ້ຈະປິດ" "ອຸປະກອນທີ່ພັບໄດ້ກຳລັງກາງອອກ" "ອຸປະກອນທີ່ພັກໄດ້ກຳລັງປີ້ນໄປມາ" - - + "ແບັດເຕີຣີປາກກາເຫຼືອໜ້ອຍ" diff --git a/packages/SystemUI/res/values-lt/strings.xml b/packages/SystemUI/res/values-lt/strings.xml index 3af4eb0995bb5..f4b0b228b5e73 100644 --- a/packages/SystemUI/res/values-lt/strings.xml +++ b/packages/SystemUI/res/values-lt/strings.xml @@ -85,6 +85,8 @@ "Bendrinti ekrano kopiją" "Fiksuoti daugiau" "Praleisti ekrano kopiją" + + "Ekrano kopijos peržiūra" "Viršutinė riba – %1$d proc." "Apatinė riba – %1$d proc." @@ -731,8 +733,7 @@ "„Wi-Fi“ išjungtas" "„Bluetooth“ išjungtas" "Netrukdymo režimas išjungtas" - - + "Netrukdymo režimas įjungtas" "Netrukdymo režimą įjungė automatinė taisyklė (%s)." "Netrukdymo režimą įjungė programa (%s)." "Netrukdymo režimą įjungė automatinė taisyklė arba programa." @@ -875,6 +876,8 @@ "Pasiekiami garso išvesties įrenginiai." "Garsumas" "%1$d %%" + + "Kaip veikia transliacija" "Transliacija" "Netoliese esantys žmonės, turintys suderinamus „Bluetooth“ įrenginius, gali klausyti jūsų transliuojamos medijos" @@ -1004,8 +1007,7 @@ "• Įdiekite Fotoaparato programą" "• Programa nustatyta" "• Pasiekiamas bent vienas įrenginys" - - + "Suaktyvinkite paspaudę ir palaikę" "Atšaukti" "Apversti dabar" "Užfiksuokite geresnę asmenukę atlenkę telefoną" @@ -1014,6 +1016,5 @@ "✱ Šis ekranas išsijungs" "Lankstomasis įrenginys išlankstomas" "Lankstomasis įrenginys apverčiamas" - - + "Senka rašiklio akumuliatorius" diff --git a/packages/SystemUI/res/values-lv/strings.xml b/packages/SystemUI/res/values-lv/strings.xml index cec24a47ead58..2064edc85f66d 100644 --- a/packages/SystemUI/res/values-lv/strings.xml +++ b/packages/SystemUI/res/values-lv/strings.xml @@ -85,6 +85,8 @@ "Kopīgot ekrānuzņēmumu" "Tvert vairāk" "Nerādīt ekrānuzņēmumu" + + "Ekrānuzņēmuma priekšskatījums" "Augšmala: %1$d %%" "Apakšmala: %1$d %%" @@ -731,8 +733,7 @@ "Wi-Fi ir izslēgts" "Bluetooth ir izslēgts" "Režīms “Netraucēt” ir izslēgts" - - + "Režīms “Netraucēt” ir ieslēgts" "Režīmu “Netraucēt” ieslēdza automātiska kārtula (%s)." "Režīmu “Netraucēt” ieslēdza lietotne (%s)." "Režīmu “Netraucēt” ieslēdza automātiska kārtula vai lietotne." @@ -875,6 +876,8 @@ "Audio izvadei pieejamās ierīces." "Skaļums" "%1$d%%" + + "Kā darbojas apraide" "Apraide" "Tuvumā esošās personas ar saderīgām Bluetooth ierīcēm var klausīties jūsu apraidīto multivides saturu." @@ -1004,8 +1007,7 @@ "• Ir instalēta kameras lietotne." "• Lietotne ir iestatīta." "• Ir pieejama vismaz viena ierīce." - - + "Aktivizējiet, nospiežot un turot" "Atcelt" "Apvērst tūlīt" "Labākas pašbildes uzņemšana, atlokot tālruni" @@ -1014,6 +1016,5 @@ "✱ Šis ekrāns tiks izslēgts." "Salokāma ierīce tiek atlocīta" "Salokāma ierīce tiek apgriezta" - - + "Zems skārienekrāna pildspalvas akumulatora līmenis" diff --git a/packages/SystemUI/res/values-mk/strings.xml b/packages/SystemUI/res/values-mk/strings.xml index fff051b2148be..44175045874bc 100644 --- a/packages/SystemUI/res/values-mk/strings.xml +++ b/packages/SystemUI/res/values-mk/strings.xml @@ -85,6 +85,7 @@ "Споделете слика од екранот" "Сними повеќе" "Отфрлете ја сликата од екранот" + "Отфрлете ја пораката за работен профил" "Преглед на слика од екранот" "Горна граница %1$d %%" "Долна граница %1$d %%" @@ -731,8 +732,7 @@ "Wi-Fi е исклучено" "Bluetooth е исклучен" "„Не вознемирувај“ е исклучено" - - + "Вклучено е „Не вознемирувај“" "Едно автоматско правило (%s) ја вклучи „Не вознемирувај“." "Една апликација (%s) ја вклучи „Не вознемирувај“." "Едно автоматско правило или апликација ја вклучи „Не вознемирувај“." @@ -875,6 +875,7 @@ "Достапни уреди за аудиоизлез." "Јачина на звук" "%1$d %%" + "Звучници и екрани" "Како функционира емитувањето" "Емитување" "Луѓето во ваша близина со компатибилни уреди со Bluetooth може да ги слушаат аудиозаписите што ги емитувате" @@ -1004,8 +1005,7 @@ "• инсталирана е апликација за камера" "• апликацијата е поставена" "• достапен е најмалку еден уред" - - + "Притисни и задржи за активирање" "Откажи" "Префрли сега" "Отворете го телефонот за подобро селфи" @@ -1014,6 +1014,5 @@ "✱ Екранов ќе се исклучи" "Преклопувачки уред се отклопува" "Преклопувачки уред се врти" - - + "Слаба батерија на пенкало" diff --git a/packages/SystemUI/res/values-ml/strings.xml b/packages/SystemUI/res/values-ml/strings.xml index 6f521024409ac..5f18d14f21775 100644 --- a/packages/SystemUI/res/values-ml/strings.xml +++ b/packages/SystemUI/res/values-ml/strings.xml @@ -85,6 +85,7 @@ "സ്‌ക്രീൻഷോട്ട് പങ്കിടുക" "കൂടുതൽ ക്യാപ്‌ചർ ചെയ്യുക" "സ്ക്രീൻഷോട്ട് ഡിസ്‌മിസ് ചെയ്യുക" + "ഔദ്യോഗിക പ്രൊഫൈൽ സന്ദേശം ഡിസ്‌മിസ് ചെയ്യുക" "സ്‌ക്രീൻഷോട്ട് പ്രിവ്യു" "മുകളിലെ അതിർത്തി %1$d ശതമാനം" "താഴെയുള്ള അതിർത്തി %1$d ശതമാനം" @@ -731,8 +732,7 @@ "വൈഫൈ ഓഫാണ്" "Bluetooth ഓഫാണ്" "\'ശല്യപ്പെടുത്തരുത്\' ഓഫാണ്" - - + "\'ശല്യപ്പെടുത്തരുത്\' ഓണാണ്" "സ്വയമേവയുള്ള ഒരു നയം (%s) \'ശല്യപ്പെടുത്തരുത്\' ഓണാക്കിയിരിക്കുന്നു." "ഒരു ആപ്പ് (%s) \'ശല്യപ്പെടുത്തരുത്\' ഓണാക്കിയിരിക്കുന്നു." "സ്വയമേവയുള്ള ഒരു നയമോ ആപ്പോ \'ശല്യപ്പെടുത്തരുത്\' ഓണാക്കിയിരിക്കുന്നു." @@ -875,6 +875,7 @@ "ഓഡിയോ ഔട്ട്‌പുട്ടിന് ലഭ്യമായ ഉപകരണങ്ങൾ." "വോളിയം" "%1$d%%" + "സ്‌പീക്കറുകളും ഡിസ്പ്ലേകളും" "ബ്രോഡ്‌കാസ്‌റ്റ് എങ്ങനെയാണ് പ്രവർത്തിക്കുന്നത്" "ബ്രോഡ്‌കാസ്റ്റ്" "അനുയോജ്യമായ Bluetooth ഉപകരണങ്ങളോടെ സമീപമുള്ള ആളുകൾക്ക് നിങ്ങൾ ബ്രോഡ്‌കാസ്‌റ്റ് ചെയ്യുന്ന മീഡിയ കേൾക്കാനാകും" @@ -1004,8 +1005,7 @@ "• ഒരു ക്യാമറാ ആപ്പ് ഇൻസ്റ്റാൾ ചെയ്തിട്ടുണ്ട്" "• ആപ്പ് സജ്ജീകരിച്ചിട്ടുണ്ട്" "• ഒരു ഉപകരണമെങ്കിലും ലഭ്യമാണ്" - - + "സജീവമാക്കാൻ അമർത്തിപ്പിടിക്കുക" "റദ്ദാക്കുക" "ഇപ്പോൾ ഫ്ലിപ്പ് ചെയ്യൂ" "കൂടുതൽ മികച്ച സെൽഫി ലഭിക്കാൻ ഫോൺ അൺഫോൾഡ് ചെയ്യൂ" @@ -1014,6 +1014,5 @@ "✱ ഈ സ്ക്രീൻ ഓഫാകും" "ഫോൾഡ് ചെയ്യാവുന്ന ഉപകരണം അൺഫോൾഡ് ആകുന്നു" "ഫോൾഡ് ചെയ്യാവുന്ന ഉപകരണം, കറങ്ങുന്ന വിധത്തിൽ ഫ്ലിപ്പ് ആകുന്നു" - - + "സ്റ്റൈലസിന്റെ ബാറ്ററി ചാർജ് കുറവാണ്" diff --git a/packages/SystemUI/res/values-mn/strings.xml b/packages/SystemUI/res/values-mn/strings.xml index 0540abfd487ff..184655d66e8ec 100644 --- a/packages/SystemUI/res/values-mn/strings.xml +++ b/packages/SystemUI/res/values-mn/strings.xml @@ -85,6 +85,7 @@ "Дэлгэцийн агшныг хуваалцах" "Ихийг багтаасан зураг авах" "Дэлгэцийн агшныг хаах" + "Ажлын профайлын мессежийг хаах" "Дэлгэцийн агшныг урьдчилан үзэх" "Дээд талын хязгаар %1$d хувь" "Доод талын хязгаар %1$d хувь" @@ -731,8 +732,7 @@ "Wi-Fi унтраалттай байна" "Bluetooth унтраалттай байна" "Бүү саад бол горим унтраалттай байна" - - + "Бүү саад бол горим асаалттай байна" "Автомат дүрэм (%s) Бүү саад бол горимыг асаасан." "Апп (%s) Бүү саад бол горимыг асаасан." "Автомат дүрэм эсвэл апп Бүү саад бол горимыг асаасан." @@ -875,6 +875,7 @@ "Аудио гаралт хийх боломжтой төхөөрөмжүүд." "Дууны түвшин" "%1$d%%" + "Чанга яригч ба дэлгэц" "Нэвтрүүлэлт хэрхэн ажилладаг вэ?" "Нэвтрүүлэлт" "Тохиромжтой Bluetooth төхөөрөмжүүдтэй таны ойролцоох хүмүүс таны нэвтрүүлж буй медиаг сонсох боломжтой" @@ -1004,8 +1005,7 @@ "• Камер аппыг суулгах" "• Аппыг тохируулсан" "• Дор хаяж нэг төхөөрөмж боломжтой" - - + "Идэвхжүүлэхийн тулд удаан дарна уу" "Цуцлах" "Одоо хөнтрөх" "Илүү сайн селфи хийхийн тулд утсаа дэлгэнэ үү" @@ -1014,6 +1014,5 @@ "✱ Энэ дэлгэц унтарна" "Эвхэгддэг төхөөрөмжийг дэлгэж байна" "Эвхэгддэг төхөөрөмжийг хөнтөрч байна" - - + "Мэдрэгч үзэгний батарей бага байна" diff --git a/packages/SystemUI/res/values-mr/strings.xml b/packages/SystemUI/res/values-mr/strings.xml index 2a33bc17428f9..92a423d622ccc 100644 --- a/packages/SystemUI/res/values-mr/strings.xml +++ b/packages/SystemUI/res/values-mr/strings.xml @@ -85,6 +85,8 @@ "स्क्रीनशॉट शेअर करा" "आणखी गोष्टी कॅप्चर करा" "स्क्रीनशॉट डिसमिस करा" + + "स्क्रीनशॉटचे पूर्वावलोकन" "वरील सीमेपासून %1$d टक्के" "खालील सीमेपासून %1$d टक्के" @@ -731,8 +733,7 @@ "वाय-फाय बंद आहे" "ब्लूटूथ बंद आहे" "व्यत्यय आणू नका बंद आहे" - - + "व्यत्यय आणू नका सुरू आहे" "व्यत्यय आणू नका एका %s स्वयंचलित नियमाने सुरू केले." "व्यत्यय आणू नका (%s) ॲपने सुरू केले." "व्यत्यय आणू नका एका स्वयंचलित नियमाने किंवा ॲपने सुरू केले." @@ -875,6 +876,8 @@ "ऑडिओ आउटपुटसाठी उपलब्ध डिव्हाइस." "व्हॉल्यूम" "%1$d%%" + + "ब्रॉडकास्टिंग कसे काम करते" "ब्रॉडकास्ट करा" "कंपॅटिबल ब्लूटूथ डिव्‍हाइस असलेले तुमच्या जवळपासचे लोक हे तुम्ही ब्रॉडकास्ट करत असलेला मीडिया ऐकू शकतात" @@ -1004,8 +1007,7 @@ "• कॅमेरा अ‍ॅप इंस्टॉल करणे" "• अ‍ॅप सेट करणे" "• किमान एक डिव्हाइस उपलब्ध करणे" - - + "अ‍ॅक्टिव्हेट करण्यासाठी दाबून धरून ठेवा" "रद्द करा" "आता फ्लिप करा" "आणखी चांगल्या सेल्फीसाठी फोनबद्दल अधिक जाणून घ्या" @@ -1014,6 +1016,5 @@ "✱ ही स्क्रीन बंद होईल" "फोल्ड करता येण्यासारखे डिव्हाइस अनफोल्ड केले जात आहे" "फोल्ड करता येण्यासारखे डिव्हाइस आजूबाजूला फ्लिप केले जात आहे" - - + "स्टायलस बॅटरी कमी आहे" diff --git a/packages/SystemUI/res/values-ms/strings.xml b/packages/SystemUI/res/values-ms/strings.xml index b595d397c66d3..1e2f04a33549d 100644 --- a/packages/SystemUI/res/values-ms/strings.xml +++ b/packages/SystemUI/res/values-ms/strings.xml @@ -85,6 +85,7 @@ "Kongsi tangkapan skrin" "Tangkap lebih banyak" "Ketepikan tangkapan skrin" + "Ketepikan mesej profil kerja" "Pratonton tangkapan skrin" "Sempadan atas %1$d peratus" "Sempadan bawah %1$d peratus" @@ -731,8 +732,7 @@ "Wi-Fi dimatikan" "Bluetooth dimatikan" "Jangan Ganggu dimatikan" - - + "Jangan Ganggu dihidupkan" "Jangan Ganggu dihidupkan oleh peraturan automatik (%s)." "Jangan Ganggu dihidupkan oleh apl (%s)." "Jangan Ganggu dihidupkan oleh peraturan automatik atau apl." @@ -875,6 +875,7 @@ "Peranti tersedia untuk audio output." "Kelantangan" "%1$d%%" + "Pembesar Suara & Paparan" "Cara siaran berfungsi" "Siarkan" "Orang berdekatan anda dengan peranti Bluetooth yang serasi boleh mendengar media yang sedang anda siarkan" @@ -1004,8 +1005,7 @@ "• Pasang apl kamera" "• Apl disediakan" "• Sekurang-kurangnya satu peranti tersedia" - - + "Tekan dan tahan untuk mengaktifkan" "Batal" "Balikkan sekarang" "Buka telefon untuk swafoto yang lebih baik" @@ -1014,6 +1014,5 @@ "✱ Skrin ini akan dimatikan" "Peranti boleh lipat dibuka" "Peranti boleh lipat diterbalikkan" - - + "Bateri stilus lemah" diff --git a/packages/SystemUI/res/values-my/strings.xml b/packages/SystemUI/res/values-my/strings.xml index 627dd7757f62a..919623fed41e5 100644 --- a/packages/SystemUI/res/values-my/strings.xml +++ b/packages/SystemUI/res/values-my/strings.xml @@ -85,6 +85,8 @@ "ဖန်သားပြင်ဓာတ်ပုံကို မျှဝေနိုင်သည်" "နောက်ထပ် ရိုက်ကူးရန်" "ဖန်သားပြင်ဓာတ်ပုံကို ပယ်သည်" + + "ဖန်သားပြင်ဓာတ်ပုံ အစမ်းကြည့်ရှုခြင်း" "ထိပ်ပိုင်းအနားသတ် %1$d ရာခိုင်နှုန်း" "အောက်ခြေအနားသတ် %1$d ရာခိုင်နှုန်း" @@ -731,8 +733,7 @@ "Wi-Fi ပိတ်ထားသည်" "ဘလူးတုသ်ကို ပိတ်ထားသည်" "\"မနှောင့်ယှက်ရ\" ကို ပိတ်ထားသည်" - - + "‘မနှောင့်ယှက်ရ’ ဖွင့်ထားသည်" "\"မနှောင့်ယှက်ရ\" ကို အလိုအလျောက်စည်းမျဉ်း (%s) က ဖွင့်ခဲ့သည်။" "\"မနှောင့်ယှက်ရ\" ကို အက်ပ် (%s) က ဖွင့်ခဲ့သည်။" "\"မနှောင့်ယှက်ရ\" ကို အလိုအလျောက်စည်းမျဉ်းတစ်ခု သို့မဟုတ် အက်ပ်တစ်ခုက ဖွင့်ခဲ့သည်။" @@ -875,6 +876,8 @@ "အသံအထွက်အတွက် ရရှိနိုင်သောစက်များ။" "အသံအတိုးအကျယ်" "%1$d%%" + + "ထုတ်လွှင့်မှုဆောင်ရွက်ပုံ" "ထုတ်လွှင့်ခြင်း" "အနီးရှိတွဲသုံးနိုင်သော ဘလူးတုသ်သုံးစက် အသုံးပြုသူများက သင်ထုတ်လွှင့်နေသော မီဒီယာကို နားဆင်နိုင်သည်" @@ -1004,8 +1007,7 @@ "• ကင်မရာအက်ပ် ထည့်သွင်းထားရမည်" "• အက်ပ်ကို စနစ်ထည့်သွင်းထားရမည်" "• အနည်းဆုံး စက်တစ်ခုသုံးနိုင်ရမည်" - - + "စတင်ရန် နှိပ်ထားပါ" "မလုပ်တော့" "ယခုလှည့်လိုက်ပါ" "ပိုကောင်းသော ဆယ်လ်ဖီအတွက် ဖုန်းကိုဖြန့်လိုက်ပါ" @@ -1014,6 +1016,5 @@ "✱ ဤဖန်သားပြင်ကို ပိတ်လိုက်မည်" "ခေါက်နိုင်သောစက်ကို ဖြန့်လိုက်သည်" "ခေါက်နိုင်သောစက်ကို တစ်ဘက်သို့ လှန်လိုက်သည်" - - + "စတိုင်လပ်စ် ဘက်ထရီ အားနည်းနေသည်" diff --git a/packages/SystemUI/res/values-nb/strings.xml b/packages/SystemUI/res/values-nb/strings.xml index 8dbdd2f1394ca..a3008ac957bf7 100644 --- a/packages/SystemUI/res/values-nb/strings.xml +++ b/packages/SystemUI/res/values-nb/strings.xml @@ -85,6 +85,8 @@ "Del skjermdumpen" "Utvidet skjermdump" "Avvis skjermdumpen" + + "Forhåndsvisning av skjermdump" "Øvre grense %1$d prosent" "Nedre grense %1$d prosent" @@ -731,8 +733,7 @@ "Wifi er av" "Bluetooth er av" "Ikke forstyrr er av" - - + "Ikke forstyrr er på" "Ikke forstyrr ble slått på av en automatisk regel (%s)." "Ikke forstyrr ble slått på av en app (%s)." "Ikke forstyrr ble slått på av en automatisk regel eller en app." @@ -875,6 +876,8 @@ "Tilgjengelige enheter for lydutgang." "Volum" "%1$d %%" + + "Slik fungerer kringkasting" "Kringkasting" "Folk i nærheten med kompatible Bluetooth-enheter kan lytte til mediene du kringkaster" diff --git a/packages/SystemUI/res/values-ne/strings.xml b/packages/SystemUI/res/values-ne/strings.xml index 00e52a160ea84..162a4984d250a 100644 --- a/packages/SystemUI/res/values-ne/strings.xml +++ b/packages/SystemUI/res/values-ne/strings.xml @@ -85,6 +85,8 @@ "स्क्रिनसट सेयर गर्नुहोस्" "अन्य कुराहरू खिच्नुहोस्" "स्क्रिनसट हटाउनुहोस्" + + "स्क्रिनसटको पूर्वावलोकन" "सिरानबाट %1$d प्रतिशत" "फेदबाट %1$d प्रतिशत" @@ -731,8 +733,7 @@ "Wi‑Fi अफ छ" "ब्लुटुथ निष्क्रिय छ" "बाधा नपुर्‍याउनुहोस् नामक विकल्प निष्क्रिय छ" - - + "Do Not Disturb अन छ" "कुनै स्वचालित नियमले बाधा नपुऱ्याउनुहोस् नामक विकल्पलाई सक्रियो गऱ्यो (%s)।" "कुनै अनुप्रयोगले बाधा नपुऱ्याउनुहोस् नामक विकल्पलाई सक्रिय गऱ्यो (%s)।" "कुनै स्वचालित नियम वा अनुप्रयोगले बाधा नपुऱ्याउनुहोस् नामक विकल्पलाई सक्रिय गऱ्यो।" @@ -875,6 +876,8 @@ "अडियो आउटपुटका लागि उपलब्ध डिभाइसहरू।" "भोल्युम" "%1$d%%" + + "प्रसारण गर्ने सुविधाले कसरी काम गर्छ" "प्रसारण" "कम्प्याटिबल ब्लुटुथ डिभाइस भएका नजिकैका मान्छेहरू तपाईंले प्रसारण गरिरहनुभएको मिडिया सुन्न सक्छन्" @@ -1004,8 +1007,7 @@ "• क्यामेरा एप इन्स्टल गरिएको छ" "• एप सेटअप गरिएको छ" "• कम्तीमा एउटा डिभाइस उपलब्ध छ" - - + "एक्टिभेट गर्न थिचिराख्नुहोस्" "रद्द गर्नुहोस्" "अहिले नै फ्लिप गर्नुहोस्" "अझ राम्रो सेल्फी खिच्न फोन अनफोल्ड गर्नुहोस्" @@ -1014,6 +1016,5 @@ "✱ यो स्क्रिन अफ हुने छ" "फोल्ड गर्न मिल्ने डिभाइस अनफोल्ड गरेको देखाइएको एनिमेसन" "फोल्ड गर्न मिल्ने डिभाइस यताउता पल्टाएर देखाइएको एनिमेसन" - - + "स्टाइलसको ब्याट्री लो छ" diff --git a/packages/SystemUI/res/values-nl/strings.xml b/packages/SystemUI/res/values-nl/strings.xml index 61712356bcb73..c4921fc6ca78e 100644 --- a/packages/SystemUI/res/values-nl/strings.xml +++ b/packages/SystemUI/res/values-nl/strings.xml @@ -85,6 +85,8 @@ "Screenshot delen" "Meer opnemen" "Screenshot sluiten" + + "Voorbeeld van screenshot" "Bovengrens %1$d procent" "Ondergrens %1$d procent" @@ -731,8 +733,7 @@ "Wifi staat uit" "Bluetooth staat uit" "Niet storen staat uit" - - + "Niet storen staat aan" "Niet storen is aangezet door een automatische regel (%s)." "Niet storen is aangezet door een app (%s)." "Niet storen is aangezet door een automatische regel of app." @@ -875,6 +876,8 @@ "Beschikbare apparaten voor audio-uitvoer." "Volume" "%1$d%%" + + "Hoe uitzenden werkt" "Uitzending" "Mensen bij jou in de buurt met geschikte bluetooth-apparaten kunnen luisteren naar de media die je uitzendt" @@ -1004,8 +1007,7 @@ "• Er moet een camera-app zijn geïnstalleerd" "• De app is ingesteld" "• Er is ten minste één apparaat beschikbaar" - - + "Houd ingedrukt om te activeren" "Annuleren" "Nu omkeren" "Klap de telefoon open voor een betere selfie" @@ -1014,6 +1016,5 @@ "✱ Dit scherm gaat uit" "Opvouwbaar apparaat wordt uitgevouwen" "Opvouwbaar apparaat wordt gedraaid" - - + "Batterij van stylus bijna leeg" diff --git a/packages/SystemUI/res/values-or/strings.xml b/packages/SystemUI/res/values-or/strings.xml index 40b335a62b8c4..bca53789a8096 100644 --- a/packages/SystemUI/res/values-or/strings.xml +++ b/packages/SystemUI/res/values-or/strings.xml @@ -85,6 +85,8 @@ "ସ୍କ୍ରିନସଟ ସେୟାର କରନ୍ତୁ" "ଅଧିକ କ୍ୟାପଚର୍ କରନ୍ତୁ" "ସ୍କ୍ରିନସଟ୍ ଖାରଜ କରନ୍ତୁ" + + "ସ୍କ୍ରିନସଟର ପ୍ରିଭ୍ୟୁ" "ଶୀର୍ଷ ସୀମାରେଖା %1$d ଶତକଡ଼ା" "ନିମ୍ନ ସୀମାରେଖା %1$d ଶତକଡ଼ା" @@ -875,6 +877,8 @@ "ଅଡିଓ ଆଉଟପୁଟ ପାଇଁ ଉପଲବ୍ଧ ଡିଭାଇସଗୁଡ଼ିକ।" "ଭଲ୍ୟୁମ" "%1$d%%" + + "ବ୍ରଡକାଷ୍ଟିଂ କିପରି କାମ କରେ" "ବ୍ରଡକାଷ୍ଟ" "ଆପଣଙ୍କ ଆଖପାଖର କମ୍ପାଟିବଲ ବ୍ଲୁଟୁଥ ଡିଭାଇସ ଥିବା ଲୋକମାନେ ଆପଣ ବ୍ରଡକାଷ୍ଟ କରୁଥିବା ମିଡିଆ ଶୁଣିପାରିବେ" @@ -1004,8 +1008,7 @@ "• ଏକ କେମେରା ଆପ ଇନଷ୍ଟଲ କରିବା" "• ଆପ ସେଟ ଅପ କରାଯାଇଛି" "• ଅତିକମରେ ଗୋଟିଏ ଡିଭାଇସ ଉପଲବ୍ଧ ଅଛି" - - + "ସକ୍ରିୟ କରିବାକୁ ଦବାଇ ଧରି ରଖନ୍ତୁ" "ବାତିଲ କରନ୍ତୁ" "ବର୍ତ୍ତମାନ ଫ୍ଲିପ କରନ୍ତୁ" "ଏକ ଉନ୍ନତ ସେଲ୍ଫି ପାଇଁ ଫୋନକୁ ଅନଫୋଲ୍ଡ କରନ୍ତୁ" @@ -1014,6 +1017,5 @@ "✱ ଏହି ସ୍କ୍ରିନ ବନ୍ଦ ହୋଇଯିବ" "ଫୋଲ୍ଡ କରାଯାଇପାରୁଥିବା ଡିଭାଇସକୁ ଅନଫୋଲ୍ଡ କରାଯାଉଛି" "ଫୋଲ୍ଡ କରାଯାଇପାରୁଥିବା ଡିଭାଇସକୁ ଫ୍ଲିପ କରାଯାଉଛି" - - + "ଷ୍ଟାଇଲସ ବେଟେରୀର ଚାର୍ଜ କମ ଅଛି" diff --git a/packages/SystemUI/res/values-pa/strings.xml b/packages/SystemUI/res/values-pa/strings.xml index b6d9121a4ec04..2d32dd12ec6ab 100644 --- a/packages/SystemUI/res/values-pa/strings.xml +++ b/packages/SystemUI/res/values-pa/strings.xml @@ -85,6 +85,8 @@ "ਸਕ੍ਰੀਨਸ਼ਾਟ ਸਾਂਝਾ ਕਰੋ" "ਹੋਰ ਕੈਪਚਰ ਕਰੋ" "ਸਕ੍ਰੀਨਸ਼ਾਟ ਖਾਰਜ ਕਰੋ" + + "ਸਕ੍ਰੀਨਸ਼ਾਟ ਪੂਰਵ-ਝਲਕ" "ਉੱਪਰ ਦੀ ਸੀਮਾ %1$d ਫ਼ੀਸਦ" "ਹੇਠਾਂ ਦੀ ਸੀਮਾ %1$d ਫ਼ੀਸਦ" @@ -731,8 +733,7 @@ "ਵਾਈ-ਫਾਈ ਬੰਦ ਹੈ" "ਬਲੂਟੁੱਥ ਬੰਦ ਹੈ" "\'ਪਰੇਸ਼ਾਨ ਨਾ ਕਰੋ\' ਬੰਦ ਹੈ" - - + "\'ਪਰੇਸ਼ਾਨ ਨਾ ਕਰੋ\' ਚਾਲੂ ਹੈ" "ਸਵੈਚਲਿਤ ਨਿਯਮ (%s) ਦੁਆਰਾ \'ਪਰੇਸ਼ਾਨ ਨਾ ਕਰੋ\' ਚਾਲੂ ਕੀਤਾ ਗਿਆ ਸੀ।" "ਐਪ (%s) ਵੱਲੋਂ \'ਪਰੇਸ਼ਾਨ ਨਾ ਕਰੋ\' ਚਾਲੂ ਕੀਤਾ ਗਿਆ ਸੀ।" "ਇੱਕ ਸਵੈਚਲਿਤ ਨਿਯਮ ਜਾਂ ਐਪ ਵੱਲੋਂ \'ਪਰੇਸ਼ਾਨ ਨਾ ਕਰੋ\' ਚਾਲੂ ਕੀਤਾ ਗਿਆ ਸੀ।" @@ -875,6 +876,8 @@ "ਆਡੀਓ ਆਊਟਪੁੱਟ ਲਈ ਉਪਲਬਧ ਡੀਵਾਈਸ।" "ਅਵਾਜ਼" "%1$d%%" + + "ਪ੍ਰਸਾਰਨ ਕਿਵੇਂ ਕੰਮ ਕਰਦਾ ਹੈ" "ਪ੍ਰਸਾਰਨ" "ਅਨੁਰੂਪ ਬਲੂਟੁੱਥ ਡੀਵਾਈਸਾਂ ਨਾਲ ਨਜ਼ਦੀਕੀ ਲੋਕ ਤੁਹਾਡੇ ਵੱਲੋਂ ਪ੍ਰਸਾਰਨ ਕੀਤੇ ਜਾ ਰਹੇ ਮੀਡੀਆ ਨੂੰ ਸੁਣ ਸਕਦੇ ਹਨ" @@ -1004,8 +1007,7 @@ "• ਕੈਮਰਾ ਐਪ ਸਥਾਪਤ ਕਰੋ" "• ਐਪ ਦਾ ਸੈੱਟਅੱਪ ਹੋ ਗਿਆ ਹੈ" "• ਘੱਟੋ-ਘੱਟ ਇੱਕ ਡੀਵਾਈਸ ਉਪਲਬਧ ਹੈ" - - + "ਕਿਰਿਆਸ਼ੀਲ ਕਰਨ ਲਈ ਦਬਾਈ ਰੱਖੋ" "ਰੱਦ ਕਰੋ" "ਹੁਣੇ ਫਲਿੱਪ ਕਰੋ" "ਬਿਹਤਰ ਸੈਲਫ਼ੀ ਲਈ ਫ਼ੋਨ ਨੂੰ ਖੋਲ੍ਹੋ" @@ -1014,6 +1016,5 @@ "✱ ਇਹ ਸਕ੍ਰੀਨ ਬੰਦ ਹੋ ਜਾਵੇਗੀ" "ਮੋੜਨਯੋਗ ਡੀਵਾਈਸ ਨੂੰ ਖੋਲ੍ਹਿਆ ਜਾ ਰਿਹਾ ਹੈ" "ਮੋੜਨਯੋਗ ਡੀਵਾਈਸ ਨੂੰ ਆਲੇ-ਦੁਆਲੇ ਫਲਿੱਪ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ" - - + "ਸਟਾਈਲਸ ਦੀ ਬੈਟਰੀ ਘੱਟ ਹੈ" diff --git a/packages/SystemUI/res/values-pl/strings.xml b/packages/SystemUI/res/values-pl/strings.xml index 5f71cc69bf81d..447af627bd6b4 100644 --- a/packages/SystemUI/res/values-pl/strings.xml +++ b/packages/SystemUI/res/values-pl/strings.xml @@ -85,6 +85,8 @@ "Udostępnij zrzut ekranu" "Zarejestruj więcej danych" "Zamknij zrzut ekranu" + + "Podgląd zrzutu ekranu" "Przycięcie górnej krawędzi o %1$d procent" "Przycięcie dolnej krawędzi o %1$d procent" @@ -731,8 +733,7 @@ "Wi-Fi jest wyłączone" "Bluetooth jest wyłączony" "Tryb Nie przeszkadzać jest wyłączony" - - + "Tryb Nie przeszkadzać jest włączony" "Tryb Nie przeszkadzać został włączony przez regułę automatyczną (%s)." "Tryb Nie przeszkadzać został włączony przez aplikację (%s)." "Tryb Nie przeszkadzać został włączony przez regułę automatyczną lub aplikację." @@ -875,6 +876,8 @@ "Dostępne urządzenia do odtwarzania dźwięku." "Głośność" "%1$d%%" + + "Jak działa transmitowanie" "Transmisja" "Osoby w pobliżu ze zgodnymi urządzeniami Bluetooth mogą słuchać transmitowanych przez Ciebie multimediów" @@ -1004,8 +1007,7 @@ "• Zainstalowano aplikację aparatu." "• Aplikacja została skonfigurowana." "• Dostępne jest co najmniej 1 urządzenie." - - + "Naciśnij i przytrzymaj, by uaktywnić" "Anuluj" "Przełącz teraz" "Rozłóż telefon, aby uzyskać lepszej jakości selfie" @@ -1014,6 +1016,5 @@ "* Ekran się wyłączy" "Składane urządzenie jest rozkładane" "Składane urządzenie jest obracane" - - + "Słaba bateria w rysiku" diff --git a/packages/SystemUI/res/values-pt-rBR/strings.xml b/packages/SystemUI/res/values-pt-rBR/strings.xml index 11a4c69b468cb..2905a9a3a464b 100644 --- a/packages/SystemUI/res/values-pt-rBR/strings.xml +++ b/packages/SystemUI/res/values-pt-rBR/strings.xml @@ -85,6 +85,7 @@ "Compartilhar captura de tela" "Capturar mais" "Dispensar captura de tela" + "Dispensar mensagem do perfil de trabalho" "Visualização de captura de tela" "Borda superior em %1$d por cento" "Borda inferior em %1$d por cento" @@ -731,8 +732,7 @@ "O Wi-Fi está desativado" "Bluetooth desativado" "O recurso Não perturbe está desativado" - - + "O \"Não perturbe\" está ativado" "O recurso Não perturbe foi ativado por uma regra automática (%s)." "O recurso Não perturbe foi ativado por um app (%s)." "O recurso Não perturbe foi ativado por uma regra automática ou app." @@ -875,6 +875,7 @@ "Dispositivos disponíveis para saída de áudio." "Volume" "%1$d%%" + "Alto-falantes e telas" "Como funciona a transmissão" "Transmitir" "As pessoas próximas a você com dispositivos Bluetooth compatíveis podem ouvir a mídia que você está transmitindo" @@ -1004,8 +1005,7 @@ "• Um app de câmera está instalado" "• O app está disponível" "• Pelo menos um dispositivo está disponível" - - + "Mantenha pressionado para ativar" "Cancelar" "Virar agora" "Abra o smartphone para tirar uma selfie melhor" @@ -1014,6 +1014,5 @@ "✱ Esta tela vai ser desativada" "Dispositivo dobrável sendo aberto" "Dispositivo dobrável sendo virado" - - + "Bateria da stylus fraca" diff --git a/packages/SystemUI/res/values-pt-rPT/strings.xml b/packages/SystemUI/res/values-pt-rPT/strings.xml index 30410fd8c2c04..f47a619022c88 100644 --- a/packages/SystemUI/res/values-pt-rPT/strings.xml +++ b/packages/SystemUI/res/values-pt-rPT/strings.xml @@ -85,6 +85,7 @@ "Partilhar captura de ecrã" "Capturar mais" "Ignorar captura de ecrã" + "Ignore a mensagem do perfil de trabalho" "Pré-visualização da captura de ecrã" "Limite superior de %1$d por cento" "Limite inferior de %1$d por cento" @@ -731,8 +732,7 @@ "Wi-Fi desativado" "Bluetooth desativado" "Não incomodar desativado" - - + "Modo Não incomodar ativado" "O modo Não incomodar foi ativado por uma regra automática (%s)." "O modo Não incomodar foi ativado por uma app (%s)." "O modo Não incomodar foi ativado por uma regra automática ou por uma app." @@ -875,6 +875,7 @@ "Dispositivos disponíveis para a saída de áudio." "Volume" "%1$d%%" + "Altifalantes e ecrãs" "Como funciona a transmissão" "Transmissão" "As pessoas próximas de si com dispositivos Bluetooth compatíveis podem ouvir o conteúdo multimédia que está a transmitir" @@ -1004,8 +1005,7 @@ "• Instale uma app de câmara" "• A app está configurada" "• Está disponível, pelo menos, um dispositivo" - - + "Prima sem soltar para ativar" "Cancelar" "Inverter agora" "Desdobre o telemóvel para uma selfie melhor" @@ -1014,6 +1014,5 @@ "✱ Este ecrã vai ser desligado" "Dispositivo dobrável a ser desdobrado" "Dispositivo dobrável a ser virado ao contrário" - - + "Bateria da caneta stylus fraca" diff --git a/packages/SystemUI/res/values-pt/strings.xml b/packages/SystemUI/res/values-pt/strings.xml index 11a4c69b468cb..2905a9a3a464b 100644 --- a/packages/SystemUI/res/values-pt/strings.xml +++ b/packages/SystemUI/res/values-pt/strings.xml @@ -85,6 +85,7 @@ "Compartilhar captura de tela" "Capturar mais" "Dispensar captura de tela" + "Dispensar mensagem do perfil de trabalho" "Visualização de captura de tela" "Borda superior em %1$d por cento" "Borda inferior em %1$d por cento" @@ -731,8 +732,7 @@ "O Wi-Fi está desativado" "Bluetooth desativado" "O recurso Não perturbe está desativado" - - + "O \"Não perturbe\" está ativado" "O recurso Não perturbe foi ativado por uma regra automática (%s)." "O recurso Não perturbe foi ativado por um app (%s)." "O recurso Não perturbe foi ativado por uma regra automática ou app." @@ -875,6 +875,7 @@ "Dispositivos disponíveis para saída de áudio." "Volume" "%1$d%%" + "Alto-falantes e telas" "Como funciona a transmissão" "Transmitir" "As pessoas próximas a você com dispositivos Bluetooth compatíveis podem ouvir a mídia que você está transmitindo" @@ -1004,8 +1005,7 @@ "• Um app de câmera está instalado" "• O app está disponível" "• Pelo menos um dispositivo está disponível" - - + "Mantenha pressionado para ativar" "Cancelar" "Virar agora" "Abra o smartphone para tirar uma selfie melhor" @@ -1014,6 +1014,5 @@ "✱ Esta tela vai ser desativada" "Dispositivo dobrável sendo aberto" "Dispositivo dobrável sendo virado" - - + "Bateria da stylus fraca" diff --git a/packages/SystemUI/res/values-ro/strings.xml b/packages/SystemUI/res/values-ro/strings.xml index 86f6205fe5c19..50cedf1c85137 100644 --- a/packages/SystemUI/res/values-ro/strings.xml +++ b/packages/SystemUI/res/values-ro/strings.xml @@ -85,6 +85,7 @@ "Trimite captura de ecran" "Surprinde mai mult" "Închide captura de ecran" + "Mesaj de închidere a profilului de serviciu" "Previzualizare a capturii de ecran" "Marginea de sus la %1$d %%" "Marginea de jos la %1$d %%" @@ -731,8 +732,7 @@ "Conexiunea Wi-Fi este dezactivată" "Funcția Bluetooth este dezactivată" "Funcția Nu deranja este dezactivată" - - + "Funcția Nu deranja este activată" "Funcția Nu deranja a fost activată de o regulă automată (%s)." "Funcția Nu deranja a fost activată de o aplicație (%s)." "Funcția Nu deranja a fost activată de o regulă automată sau de o aplicație." @@ -875,6 +875,7 @@ "Dispozitive disponibile pentru ieșire audio." "Volum" "%1$d%%" + "Difuzoare și afișaje" "Cum funcționează transmisia" "Transmite" "Persoanele din apropiere cu dispozitive Bluetooth compatibile pot asculta conținutul pe care îl transmiți" @@ -1004,8 +1005,7 @@ "• Instalează o aplicație pentru camera foto" "• Aplicația este configurată" "• Este disponibil cel puțin un dispozitiv" - - + "Apasă lung pentru activare" "Anulează" "Întoarce-l acum" "Desfă telefonul pentru un selfie mai bun" @@ -1014,6 +1014,5 @@ "✱ Acest ecran se va dezactiva" "Dispozitiv pliabil care este desfăcut" "Dispozitiv pliabil care este întors" - - + "Nivelul bateriei creionului este scăzut" diff --git a/packages/SystemUI/res/values-ru/strings.xml b/packages/SystemUI/res/values-ru/strings.xml index 28d5f4097ec05..115d14ad847fe 100644 --- a/packages/SystemUI/res/values-ru/strings.xml +++ b/packages/SystemUI/res/values-ru/strings.xml @@ -85,6 +85,8 @@ "Поделиться скриншотом" "Увеличить площадь скриншота" "Закрыть скриншот" + + "Предварительный просмотр скриншота" "Граница сверху: %1$d %%" "Граница снизу: %1$d %%" @@ -731,8 +733,7 @@ "Модуль Wi-Fi отключен" "Модуль Bluetooth отключен" "Режим \"Не беспокоить\" отключен" - - + "Режим \"Не беспокоить\" включен" "Режим \"Не беспокоить\" был включен специальным правилом (%s)." "Режим \"Не беспокоить\" был включен приложением (%s)." "Режим \"Не беспокоить\" был включен специальным правилом или приложением." @@ -875,6 +876,8 @@ "Доступные устройства для вывода звука." "Громкость" "%1$d %%" + + "Как работают трансляции" "Трансляция" "Находящиеся рядом с вами люди с совместимыми устройствами Bluetooth могут слушать медиафайлы, которые вы транслируете." @@ -1004,8 +1007,7 @@ "• Установлено приложение камеры." "• Приложение установлено." "• Доступно хотя бы одно устройство." - - + "Долгое нажатие для активации" "Отмена" "Перевернуть сейчас" "Разложите телефон, чтобы селфи получилось лучше" @@ -1014,6 +1016,5 @@ "✱ Этот экран отключится" "Складное устройство в разложенном виде" "Перевернутое складное устройство" - - + "Низкий заряд батареи стилуса" diff --git a/packages/SystemUI/res/values-si/strings.xml b/packages/SystemUI/res/values-si/strings.xml index f7cdcb10f1f2e..a20c6f1fde281 100644 --- a/packages/SystemUI/res/values-si/strings.xml +++ b/packages/SystemUI/res/values-si/strings.xml @@ -85,6 +85,8 @@ "තිර රුව බෙදා ගන්න" "තව ග්‍රහණය කරන්න" "තිර රුව ඉවත ලන්න" + + "තිර රූ පෙර දසුන" "ඉහළ සීමාව සියයට %1$d" "පහළ සීමාව සියයට %1$d" @@ -731,8 +733,7 @@ "Wi-Fi ක්‍රියා විරහිතයි" "බ්ලූටූත් ක්‍රියා විරහිතයි" "බාධා නොකරන්න ක්‍රියා විරහිතයි" - - + "බාධා නොකරන්න ක්‍රියාත්මකයි" "ස්වයංක්‍රිය රීතියක් මගින් බාධා නොකරන්න ක්‍රියාත්මක කරන ලදී (%s)." "යෙදුමක් මගින් බාධා නොකරන්න ක්‍රියාත්මක කරන ලදී (%s)." "ස්වයංක්‍රිය රීතියක් හෝ යෙදුමක් මගින් බාධා නොකරන්න ක්‍රියාත්මක කරන ලදී." @@ -875,6 +876,8 @@ "ශ්‍රව්‍ය ප්‍රතිදානය සඳහා තිබෙන උපාංග." "හඬ පරිමාව" "%1$d%%" + + "විකාශනය ක්‍රියා කරන ආකාරය" "විකාශනය" "ගැළපෙන බ්ලූටූත් උපාංග සහිත ඔබ අවට සිටින පුද්ගලයින්ට ඔබ විකාශනය කරන මාධ්‍යයට සවන් දිය හැකිය" @@ -1004,8 +1007,7 @@ "• කැමරා යෙදුමක් ස්ථාපන කරන්න" "• යෙදුම සකසා ඇත" "• අවම වශයෙන් එක උපාංගයක් ලැබේ" - - + "සක්‍රිය කිරීමට ඔබාගෙන සිටින්න" "අවලංගු කරන්න" "දැන් පෙරළන්න" "වඩා හොඳ සෙල්ෆියක් සඳහා දුරකථනය දිගහරින්න" @@ -1014,6 +1016,5 @@ "✱ මෙම තිරය ක්‍රියා විරහිත වනු ඇත" "දිග හැරෙමින් පවතින නැමිය හැකි උපාංගය" "වටා පෙරළෙමින් තිබෙන නැමිය හැකි උපාංගය" - - + "පන්හිඳ බැටරිය අඩුයි" diff --git a/packages/SystemUI/res/values-sk/strings.xml b/packages/SystemUI/res/values-sk/strings.xml index b2586f1458c93..6d2e398d216bb 100644 --- a/packages/SystemUI/res/values-sk/strings.xml +++ b/packages/SystemUI/res/values-sk/strings.xml @@ -85,6 +85,7 @@ "Zdieľať snímku obrazovky" "Zachytiť viac" "Zavrieť snímku obrazovky" + "Zavrieť správu pracovného profilu" "Ukážka snímky obrazovky" "%1$d %% hornej hranice" "%1$d %% dolnej hranice" @@ -731,8 +732,7 @@ "Pripojenie Wi‑Fi je vypnuté" "Rozhranie Bluetooth je vypnuté" "Režim bez vyrušení je vypnutý" - - + "Je zapnutý režim bez vyrušení" "Režim bez vyrušení bol zapnutý automatickým pravidlom (%s)." "Režim bez vyrušení bol zapnutý aplikáciou (%s)." "Režim bez vyrušení bol zapnutý automatickým pravidlom alebo aplikáciou." @@ -875,6 +875,7 @@ "Dostupné zariadenia pre zvukový výstup." "Hlasitosť" "%1$d %%" + "Reproduktory a obrazovky" "Ako vysielanie funguje" "Vysielanie" "Ľudia v okolí s kompatibilnými zariadeniami s rozhraním Bluetooth si môžu vypočuť médiá, ktoré vysielate" @@ -1004,8 +1005,7 @@ "• Nainštalujte si aplikáciu kamery" "• Aplikácia je nastavená" "• K dispozícii je minimálne jedno zariadenie" - - + "Aktivujte pridržaním" "Zrušiť" "Prevráťte" "Ak chcete lepšie selfie, rozložte telefón" @@ -1014,6 +1014,5 @@ "✱ Táto obrazovka sa vypne" "Rozloženie skladacieho zariadenia" "Prevrátenie skladacieho zariadenia" - - + "Stav batérie dotykového pera je nízky" diff --git a/packages/SystemUI/res/values-sl/strings.xml b/packages/SystemUI/res/values-sl/strings.xml index a52fedeb606d4..14cff234ecdb7 100644 --- a/packages/SystemUI/res/values-sl/strings.xml +++ b/packages/SystemUI/res/values-sl/strings.xml @@ -85,6 +85,8 @@ "Deljenje posnetka zaslona" "Zajemi več" "Opusti posnetek zaslona" + + "Predogled posnetka zaslona" "Meja zgoraj %1$d odstotkov" "Meja spodaj %1$d odstotkov" @@ -731,8 +733,7 @@ "Wi-Fi je izklopljen." "Bluetooth je izklopljen" "Način »ne moti« je izklopljen" - - + "Način »Ne moti« je vklopljen" "Samodejno pravilo (%s) je vklopilo način »ne moti«." "Aplikacija (%s) je vklopila način »ne moti«." "Način »ne moti« je bil vklopljen zaradi samodejnega pravila ali aplikacije." @@ -875,6 +876,8 @@ "Razpoložljive naprave za zvočni izhod" "Glasnost" "%1$d %%" + + "Kako deluje oddajanje" "Oddajanje" "Osebe v bližini z združljivo napravo Bluetooth lahko poslušajo predstavnost, ki jo oddajate." @@ -1004,8 +1007,7 @@ "• Namestite fotografsko aplikacijo." "• Aplikacija mora biti nastavljena." "• Na voljo mora biti vsaj ena naprava." - - + "Pridržite za aktiviranje" "Prekliči" "Obrnite" "Razprite telefon za boljši selfi" @@ -1014,6 +1016,5 @@ "✱ Ta zaslon se bo izklopil." "Razpiranje zložljive naprave" "Obračanje zložljive naprave" - - + "Skoraj prazna baterija pisala" diff --git a/packages/SystemUI/res/values-sq/strings.xml b/packages/SystemUI/res/values-sq/strings.xml index e9ae54a061899..dd901adbe2004 100644 --- a/packages/SystemUI/res/values-sq/strings.xml +++ b/packages/SystemUI/res/values-sq/strings.xml @@ -85,6 +85,8 @@ "Ndaj pamjen e ekranit" "Regjistro më shumë" "Hiq pamjen e ekranit" + + "Pamja paraprake e imazhit" "Kufiri i sipërm %1$d për qind" "Kufiri i poshtëm %1$d për qind" @@ -731,8 +733,7 @@ "Wi-Fi është joaktiv" "Bluetooth-i është joaktiv" "Modaliteti \"Mos shqetëso\" është joaktiv" - - + "\"Mos shqetëso\" është aktiv" "Modaliteti \"Mos shqetëso\" është aktivizuar nga një rregull automatik (%s)." "Modaliteti \"Mos shqetëso\" është aktivizuar nga një aplikacion (%s)." "Modaliteti \"Mos shqetëso\" është aktivizuar nga një rregull automatik ose një aplikacion." @@ -875,6 +876,8 @@ "Pajisjet që ofrohen për daljen e audios." "Volumi" "%1$d%%" + + "Si funksionon transmetimi" "Transmetimi" "Personat në afërsi me ty me pajisje të përputhshme me Bluetooth mund të dëgjojnë median që ti po transmeton" @@ -1004,8 +1007,7 @@ "• Të instalosh një aplikacion të kamerës" "• Aplikacioni është konfiguruar" "• Ofrohet të paktën një pajisje" - - + "Shtyp dhe mbaj për ta aktivizuar" "Anulo" "U kthye tani" "Shpalos telefonin për një selfi më të mirë" @@ -1014,6 +1016,5 @@ "✱ Ky ekran do të fiket" "Pajisja e palosshme duke u hapur" "Pajisja e palosshme duke u rrotulluar" - - + "Bateria e stilolapsit në nivel të ulët" diff --git a/packages/SystemUI/res/values-sr/strings.xml b/packages/SystemUI/res/values-sr/strings.xml index f3c3de3a19709..dc8fd8833338b 100644 --- a/packages/SystemUI/res/values-sr/strings.xml +++ b/packages/SystemUI/res/values-sr/strings.xml @@ -85,6 +85,8 @@ "Делите снимак екрана" "Снимите још" "Одбаците снимак екрана" + + "Преглед снимка екрана" "Горња ивица %1$d посто" "Доња ивица %1$d посто" @@ -731,8 +733,7 @@ "WiFi је искључен" "Bluetooth је искључен" "Режим Не узнемиравај је искључен" - - + "Режим Не узнемиравај је укључен" "Аутоматско правило (%s) је укључило режим Не узнемиравај." "Апликација (%s) је укључила режим Не узнемиравај." "Аутоматско правило или апликација су укључили режим Не узнемиравај." @@ -875,6 +876,8 @@ "Доступни уређаји за аудио излаз." "Звук" "%1$d%%" + + "Како функционише емитовање" "Емитовање" "Људи у близини са компатибилним Bluetooth уређајима могу да слушају медијски садржај који емитујете" @@ -1004,8 +1007,7 @@ "• да сте инсталирали апликацију за камеру" "• да је апликација подешена" "• да је доступан барем један уређај" - - + "Задржите за активирање" "Откажи" "Обрните" "Отворите телефон за бољи селфи" @@ -1014,6 +1016,5 @@ "✱ Овај екран ће се искључити" "Уређај на преклоп се отвара" "Уређај на преклоп се обрће" - - + "Низак ниво батерије писаљке" diff --git a/packages/SystemUI/res/values-sv/strings.xml b/packages/SystemUI/res/values-sv/strings.xml index ae40b7bdea19b..de523056d2b4c 100644 --- a/packages/SystemUI/res/values-sv/strings.xml +++ b/packages/SystemUI/res/values-sv/strings.xml @@ -85,6 +85,8 @@ "Dela skärmbild" "Fånga mer" "Stäng skärmbild" + + "Förhandsgranskning av skärmbild" "Övre gräns: %1$d procent" "Nedre gräns: %1$d procent" @@ -731,8 +733,7 @@ "wifi är inaktiverat" "Bluetooth är inaktiverat" "Stör ej är inaktiverat" - - + "Stör ej har aktiverats" "Stör ej aktiverades via en automatisk regel (%s)." "Stör ej aktiverades via en app (%s)." "Stör ej aktiverades via en automatisk regel eller en app." @@ -875,6 +876,8 @@ "Enheter som är tillgängliga för ljudutdata." "Volym" "%1$d %%" + + "Så fungerar utsändning" "Utsändning" "Personer i närheten med kompatibla Bluetooth-enheter kan lyssna på medieinnehåll som du sänder ut" @@ -1004,8 +1007,7 @@ "• installera en kameraapp" "• appen har konfigurerats" "• minst en enhet är tillgänglig" - - + "Håll nedtryckt för att aktivera" "Avbryt" "Vänd nu" "Vik upp telefonen för att ta en bättre selfie" @@ -1014,6 +1016,5 @@ "✱ Den här skärmen inaktiveras" "En vikbar enhet viks upp" "En vikbar enhet vänds" - - + "E-pennans batterinivå är låg" diff --git a/packages/SystemUI/res/values-sw/strings.xml b/packages/SystemUI/res/values-sw/strings.xml index f13afb8331dad..66e462e0953c4 100644 --- a/packages/SystemUI/res/values-sw/strings.xml +++ b/packages/SystemUI/res/values-sw/strings.xml @@ -85,6 +85,8 @@ "Shiriki picha ya skrini" "Nasa zaidi" "Ondoa picha ya skrini" + + "Onyesho la kukagua picha ya skrini" "Mpaka wa sehemu ya juu wa asilimia %1$d" "Mpaka wa sehemu ya chini wa asilimia %1$d" @@ -731,8 +733,7 @@ "Wi-Fi imezimwa" "Bluetooth imezimwa" "Kipengele cha Usinisumbue kimezimwa" - - + "Umewasha kipengele cha Usinisumbue" "Kipengele cha Usinisumbue kimewashwa na sheria ya kiotomatiki %s." "Kipengele cha usinisumbue kimewashwa na programu (%s)." "Kipengele cha Usinisumbue kimewashwa na sheria ya kiotomatiki au programu." @@ -875,6 +876,8 @@ "Vifaa vya kutoa sauti vilivyopo" "Sauti" "%1$d%%" + + "Jinsi utangazaji unavyofanya kazi" "Tangaza" "Watu walio karibu nawe wenye vifaa oanifu vya Bluetooth wanaweza kusikiliza maudhui unayoyatangaza" @@ -1004,8 +1007,7 @@ "• Sakinisha programu ya kamera" "• Programu hii imewekewa mipangilio" "• Angalau kifaa kimoja kinapatikana" - - + "Bonyeza na ushikilie ili uwashe" "Ghairi" "Geuza kifaa sasa" "Kunjua simu ili upige selfi iliyo bora" @@ -1014,6 +1016,5 @@ "✱ Skrini hii itajizima" "Kifaa kinachokunjwa kikikunjuliwa" "Kifaa kinachokunjwa kikigeuzwa" - - + "Chaji ya betri ya Stylus imepungua" diff --git a/packages/SystemUI/res/values-ta/strings.xml b/packages/SystemUI/res/values-ta/strings.xml index ef01766d24d4b..300b3b0b9465f 100644 --- a/packages/SystemUI/res/values-ta/strings.xml +++ b/packages/SystemUI/res/values-ta/strings.xml @@ -85,6 +85,8 @@ "ஸ்கிரீன்ஷாட்டைப் பகிர்" "கூடுதலாகப் படமெடு" "ஸ்கிரீன்ஷாட்டை நிராகரிக்கும்" + + "ஸ்கிரீன்ஷாட்டின் மாதிரிக்காட்சி" "மேல் எல்லை %1$d சதவீதம்" "கீழ் எல்லை %1$d சதவீதம்" @@ -731,8 +733,7 @@ "வைஃபை முடக்கத்தில் உள்ளது" "புளூடூத் முடக்கத்தில் உள்ளது" "\"தொந்தரவு செய்ய வேண்டாம்\" முடக்கத்தில் உள்ளது" - - + "தொந்தரவு செய்ய வேண்டாம் அம்சம் இயக்கப்பட்டுள்ளது" "\"தொந்தரவு செய்ய வேண்டாம்\" எனும் பயன்முறையை, தானியங்கு விதி (%s) இயக்கியுள்ளது." "\"தொந்தரவு செய்ய வேண்டாம்\" எனும் பயன்முறையை, ஆப்ஸ் (%s) இயக்கியுள்ளது." "\"தொந்தரவு செய்ய வேண்டாம்\" எனும் பயன்முறையை, தானியங்கு விதி அல்லது ஆப்ஸ் இயக்கியுள்ளது." @@ -875,6 +876,8 @@ "ஆடியோ அவுட்புட்டுக்குக் கிடைக்கும் சாதனங்கள்." "ஒலியளவு" "%1$d%%" + + "பிராட்காஸ்ட் எவ்வாறு செயல்படுகிறது?" "பிராட்காஸ்ட்" "நீங்கள் பிராட்காஸ்ட் செய்யும் மீடியாவை அருகிலுள்ளவர்கள் இணக்கமான புளூடூத் சாதனங்கள் மூலம் கேட்கலாம்" @@ -1004,8 +1007,7 @@ "• கேமரா ஆப்ஸ் நிறுவப்பட்டிருக்க வேண்டும்" "• இந்த ஆப்ஸ் அமைக்கப்பட்டிருக்க வேண்டும்" "• குறைந்தபட்சம் ஒரு சாதனமாவது கிடைக்க வேண்டும்" - - + "இயக்க, அழுத்திப் பிடிக்கவும்" "ரத்துசெய்" "இப்போது மாற்றவும்" "சிறந்த செல்ஃபிக்கு மொபைலை மடக்காதீர்கள்" @@ -1014,6 +1016,5 @@ "✱ இந்தத் திரை ஆஃப் ஆகிவிடும்" "மடக்கத்தக்க சாதனம் திறக்கப்படுகிறது" "மடக்கத்தக்க சாதனம் ஃபிளிப் செய்யப்பட்டு திருப்பப்படுகிறது" - - + "ஸ்டைலஸின் பேட்டரி குறைவாக உள்ளது" diff --git a/packages/SystemUI/res/values-te/strings.xml b/packages/SystemUI/res/values-te/strings.xml index 2a2bba5ab92e8..ebda2317cb2c0 100644 --- a/packages/SystemUI/res/values-te/strings.xml +++ b/packages/SystemUI/res/values-te/strings.xml @@ -85,6 +85,8 @@ "స్క్రీన్‌షాట్‌ను షేర్ చేయండి" "మరిన్ని క్యాప్చర్ చేయండి" "స్క్రీన్‌షాట్‌ను విస్మరించు" + + "స్క్రీన్‌షాట్ ప్రివ్యూ" "ఎగువ సరిహద్దు %1$d శాతం" "దిగువ సరిహద్దు %1$d శాతం" @@ -144,9 +146,9 @@ "ముఖం గుర్తించబడింది. కొనసాగించడానికి నొక్కండి." "ముఖం గుర్తించబడింది. కొనసాగడానికి అన్‌లాక్ చిహ్నం నొక్కండి." "ప్రామాణీకరించబడింది" - "పిన్‌ను ఉపయోగించు" - "ఆకృతిని ఉపయోగించు" - "పాస్‌వర్డ్‌ను ఉపయోగించు" + "పిన్‌ను ఉపయోగించండి" + "ఆకృతిని ఉపయోగించండి" + "పాస్‌వర్డ్‌ను ఉపయోగించండి" "పిన్ తప్పు" "ఆకృతి తప్పు" "పాస్‌వర్డ్ తప్పు" @@ -731,8 +733,7 @@ "Wi-Fi ఆఫ్‌లో ఉంది" "బ్లూటూత్ ఆఫ్‌లో ఉంది" "అంతరాయం కలిగించవద్దు ఆఫ్‌లో ఉంది" - - + "\"అంతరాయం కలిగించవద్దు\" ఆన్‌లో ఉంది" "ఆటోమేటిక్‌ నియమం (%s) ద్వారా అంతరాయం కలిగించవద్దు ఆన్ చేయబడింది." "యాప్ (%s) ద్వారా అంతరాయం కలిగించవద్దు ఆన్ చేయబడింది." "ఆటోమేటిక్‌ నియమం లేదా యాప్ ద్వారా అంతరాయం కలిగించవద్దు ఆన్ చేయబడింది." @@ -875,6 +876,8 @@ "ఆడియో అవుట్‌పుట్ కోసం అందుబాటులో ఉన్న పరికరాలు." "వాల్యూమ్" "%1$d%%" + + "ప్రసారం కావడం అనేది ఎలా పని చేస్తుంది" "ప్రసారం" "మీకు సమీపంలో ఉన్న వ్యక్తులు అనుకూలత ఉన్న బ్లూటూత్ పరికరాలతో మీరు ప్రసారం చేస్తున్న మీడియాను వినగలరు" @@ -1004,8 +1007,7 @@ "• కెమెరా యాప్ ఇన్‌స్టాల్ చేసి ఉందని" "• యాప్ సెటప్ చేయబడి ఉందని" "• కనీసం ఒక పరికరమైనా అందుబాటులో ఉందని" - - + "యాక్టివేట్ చేయడానికి నొక్కి, పట్టుకోండి" "రద్దు చేయండి" "ఇప్పుడే తిప్పండి" "మెరుగైన సెల్ఫీ కోసం ఫోన్‌ను అన్‌ఫోల్డ్ చేయండి" @@ -1014,6 +1016,5 @@ "✱ ఈ స్క్రీన్ ఆఫ్ అవుతుంది" "మడవగల పరికరం విప్పబడుతోంది" "మడవగల పరికరం చుట్టూ తిప్పబడుతోంది" - - + "తక్కువ స్టైలస్ బ్యాటరీ" diff --git a/packages/SystemUI/res/values-th/strings.xml b/packages/SystemUI/res/values-th/strings.xml index 736bd68279189..022c61e4dc53f 100644 --- a/packages/SystemUI/res/values-th/strings.xml +++ b/packages/SystemUI/res/values-th/strings.xml @@ -85,6 +85,8 @@ "แชร์ภาพหน้าจอ" "จับภาพได้มากขึ้น" "ปิดภาพหน้าจอ" + + "ตัวอย่างภาพหน้าจอ" "ขอบเขตด้านบน %1$d เปอร์เซ็นต์" "ขอบเขตด้านล่าง %1$d เปอร์เซ็นต์" @@ -731,8 +733,7 @@ "Wi-Fi ปิดอยู่" "บลูทูธปิดอยู่" "\"ห้ามรบกวน\" ปิดอยู่" - - + "โหมดห้ามรบกวนเปิดอยู่" "มีการเปิด \"ห้ามรบกวน\" โดยกฎอัตโนมัติ (%s)" "มีการเปิด \"ห้ามรบกวน\" โดยแอป (%s)" "มีการเปิด \"ห้ามรบกวน\" โดยกฎอัตโนมัติหรือแอป" @@ -875,6 +876,8 @@ "อุปกรณ์ที่พร้อมใช้งานสำหรับเอาต์พุตเสียง" "ระดับเสียง" "%1$d%%" + + "วิธีการทำงานของการออกอากาศ" "ประกาศ" "ผู้ที่อยู่ใกล้คุณและมีอุปกรณ์บลูทูธที่รองรับสามารถรับฟังสื่อที่คุณกำลังออกอากาศได้" @@ -1004,8 +1007,7 @@ "• ติดตั้งแอปกล้อง" "• แอปได้รับการตั้งค่าแล้ว" "• มีอุปกรณ์พร้อมใช้งานอย่างน้อย 1 รายการ" - - + "กดค้างเพื่อเปิดใช้งาน" "ยกเลิก" "พลิกเลย" "กางโทรศัพท์เพื่อเซลฟีที่ดียิ่งขึ้น" @@ -1014,6 +1016,5 @@ "✱ หน้าจอนี้จะปิดไป" "อุปกรณ์ที่พับได้กำลังกางออก" "อุปกรณ์ที่พับได้กำลังพลิกไปมา" - - + "แบตเตอรี่สไตลัสเหลือน้อย" diff --git a/packages/SystemUI/res/values-tl/strings.xml b/packages/SystemUI/res/values-tl/strings.xml index 51e42dd602a76..a250bd1f91bf8 100644 --- a/packages/SystemUI/res/values-tl/strings.xml +++ b/packages/SystemUI/res/values-tl/strings.xml @@ -85,6 +85,8 @@ "Ibahagi ang screenshot" "Mag-capture pa" "I-dismiss ang screenshot" + + "Preview ng screenshot" "%1$d (na) porsyento sa hangganan sa itaas" "%1$d (na) porsyento sa hangganan sa ibaba" @@ -731,8 +733,7 @@ "Naka-off ang Wi-Fi" "Naka-off ang Bluetooth" "Naka-off ang Huwag Istorbohin" - - + "Naka-on ang Huwag Istorbohin" "Na-on ang Huwag Istorbohin dahil sa isang awtomatikong panuntunan (%s)." "Na-on ang Huwag Istorbohin dahil sa isang app (%s)." "Na-on ang Huwag Istorbohin dahil sa isang awtomatikong panuntunan o app." @@ -875,6 +876,8 @@ "Mga available na device para sa audio output." "Volume" "%1$d%%" + + "Paano gumagana ang pag-broadcast" "Broadcast" "Makakapakinig ang mga taong malapit sa iyo na may mga compatible na Bluetooth device sa media na bino-broadcast mo" @@ -1004,8 +1007,7 @@ "• Mag-install ng camera app" "• Na-set up ang app" "• May kahit isang device na available" - - + "Pindutin nang matagal para i-activate" "Kanselahin" "I-flip na ngayon" "I-unfold ang telepono para sa mas magandang selfie" @@ -1014,6 +1016,5 @@ "✱ Mag-o-off ang screen na ito" "Ina-unfold na foldable na device" "Fini-flip na foldable na device" - - + "Paubos na ang baterya ng stylus" diff --git a/packages/SystemUI/res/values-tr/strings.xml b/packages/SystemUI/res/values-tr/strings.xml index bb718ffd19edb..6127b535616c0 100644 --- a/packages/SystemUI/res/values-tr/strings.xml +++ b/packages/SystemUI/res/values-tr/strings.xml @@ -85,6 +85,8 @@ "Ekranı paylaş" "Alanı genişlet" "Ekran görüntüsünü kapat" + + "Ekran görüntüsü önizlemesi" "Üst sınır yüzde %1$d" "Alt sınır yüzde %1$d" @@ -731,8 +733,7 @@ "Kablosuz bağlantı kapalı" "Bluetooth kapalı" "Rahatsız Etmeyin kapalı" - - + "Rahatsız Etmeyin modu açık" "Rahatsız Etmeyin ayarı bir otomatik kural (%s) tarafından açıldı." "Rahatsız Etmeyin ayarı bir uygulama (%s) tarafından açıldı." "Rahatsız Etmeyin ayarı bir otomatik kural veya uygulama tarafından açıldı." @@ -875,6 +876,8 @@ "Ses çıkışı için kullanılabilir cihazlar." "Ses düzeyi" "%%%1$d" + + "Yayınlamanın işleyiş şekli" "Anons" "Yakınınızda ve uyumlu Bluetooth cihazları olan kişiler yayınladığınız medya içeriğini dinleyebilir" @@ -1004,8 +1007,7 @@ "• Kamera uygulaması yüklenmelidir" "• Uygulama kurulmuş olmalıdır" "• En az bir cihaz mevcut olmalıdır" - - + "Etkinleştirmek için basılı tutun" "İptal" "Şimdi çevirin" "Daha iyi selfie çekmek için telefonu açın" @@ -1014,6 +1016,5 @@ "✱ * Bu ekran kapatılacak" "Katlanabilir cihaz açılıyor" "Katlanabilir cihaz döndürülüyor" - - + "Ekran kaleminin pil seviyesi düşük" diff --git a/packages/SystemUI/res/values-uk/strings.xml b/packages/SystemUI/res/values-uk/strings.xml index 4e30515277787..917b431d892de 100644 --- a/packages/SystemUI/res/values-uk/strings.xml +++ b/packages/SystemUI/res/values-uk/strings.xml @@ -85,6 +85,8 @@ "Поділитися знімком екрана" "Включити більше деталей" "Закрити знімок екрана" + + "Перегляд знімка екрана" "Зверху на %1$d%%" "Знизу на %1$d%%" @@ -875,6 +877,8 @@ "Доступні пристрої для відтворення звуку." "Гучність" "%1$d%%" + + "Як працює трансляція" "Трансляція" "Люди поблизу, які мають сумісні пристрої з Bluetooth, можуть слухати медіаконтент, який ви транслюєте." @@ -1004,8 +1008,7 @@ "• Встановлено додаток для камери" "• Додаток налаштовано" "• Принаймні один пристрій доступний" - - + "Утримуйте, щоб активувати" "Скасувати" "Перевернути" "Розгорніть телефон, щоб зробити краще селфі" @@ -1014,6 +1017,5 @@ "✱ Цей екран вимкнеться" "Розкладний пристрій у розкладеному стані" "Розкладний пристрій обертається" - - + "Низький заряд акумулятора стилуса" diff --git a/packages/SystemUI/res/values-ur/strings.xml b/packages/SystemUI/res/values-ur/strings.xml index 8b249ca37116e..709cbbae9d80f 100644 --- a/packages/SystemUI/res/values-ur/strings.xml +++ b/packages/SystemUI/res/values-ur/strings.xml @@ -85,6 +85,8 @@ "اسکرین شاٹ کا اشتراک کریں" "مزید کیپچر کریں" "اسکرین شاٹ برخاست کریں" + + "اسکرین شاٹ کا پیش منظر" "اوپر کا احاطہ %1$d فیصد" "نیچے کا احاطہ %1$d فیصد" @@ -731,8 +733,7 @@ "‏Wi-Fi آف ہے" "بلوٹوتھ آف ہے" "\'ڈسٹرب نہ کریں\' آف ہے" - - + "\"ڈسٹرب نہ کریں\" آن ہے" "\'ڈسٹرب نہ کریں\' کسی خودکار اصول (%s) کے ذریعہ آن ہو گیا تھا۔" "\'ڈسٹرب نہ کریں\' کسی ایپ (%s) کے ذریعہ آن ہو گیا تھا۔" "\'ڈسٹرب نہ کریں\' کسی خودکار اصول یا ایپ کے ذریعے آن ہو گیا تھا۔" @@ -875,6 +876,8 @@ "آڈیو آؤٹ پٹ کے لیے دستیاب آلات۔" "والیوم" "%%%1$d" + + "براڈکاسٹنگ کیسے کام کرتا ہے" "براڈکاسٹ" "موافق بلوٹوتھ آلات کے ساتھ آپ کے قریبی لوگ آپ کے نشر کردہ میڈیا کو سن سکتے ہیں" @@ -1004,8 +1007,7 @@ "• کیمرا ایپ انسٹال کریں" "• ایپ سیٹ اپ ہو گئی ہے" "• کم از کم ایک آلہ دستیاب ہے" - - + "فعال کرنے کیلئے چھوئیں اور دبائے رکھیں" "منسوخ کریں" "اب پلٹائیں" "بہتر سیلفی کے لیے فون کھولیں" @@ -1014,6 +1016,5 @@ "✱ یہ اسکرین آف ہو جائے گی" "فولڈ ہونے والے آلے کو کھولا جا رہا ہے" "فولڈ ہونے والے آلے کو گھمایا جا رہا ہے" - - + "اسٹائلس بیٹری کم ہے" diff --git a/packages/SystemUI/res/values-uz/strings.xml b/packages/SystemUI/res/values-uz/strings.xml index 74f29e5233525..4c72360a13723 100644 --- a/packages/SystemUI/res/values-uz/strings.xml +++ b/packages/SystemUI/res/values-uz/strings.xml @@ -85,6 +85,8 @@ "Skrinshot yuborish" "Skrinshot sohasini kengaytirish" "Skrinshotni yopish" + + "Skrinshotga razm solish" "Yuqori chegara %1$d foiz" "Quyi chegara %1$d foiz" @@ -731,8 +733,7 @@ "Wi-Fi o‘chiq" "Bluetooth o‘chiq" "Bezovta qilinmasin rejimi o‘chiq" - - + "Bezovta qilinmasin rejimi yoniq" "Bezovta qilinmasin rejimi avtomatik qoida (%s) tomonidan yoqilgan." "Bezovta qilinmasin rejimi ilova (%s) tomonidan yoqilgan." "Bezovta qilinmasin rejimi ilova yoki avtomatik qoida tomonidan yoqilgan." @@ -875,6 +876,8 @@ "Audio chiqish uchun mavjud qurilmalar." "Tovush balandligi" "%1$d%%" + + "Translatsiya qanday ishlaydi" "Translatsiya" "Atrofingizdagi mos Bluetooth qurilmasiga ega foydalanuvchilar siz translatsiya qilayotgan mediani tinglay olishadi" @@ -1004,8 +1007,7 @@ "• Kamera ilovasini oʻrnating" "• Ilova sozlangan" "• Kamida bitta qurilma mavjud" - - + "Yoqish uchun bosib turing" "Bekor qilish" "Hozir aylantirish" "Yaxshiroq selfi olish uchun telefonni yoying" @@ -1014,6 +1016,5 @@ "✱ Bu ekran oʻchiriladi" "Buklanadigan qurilma ochilmoqda" "Buklanadigan qurilma aylantirilmoqda" - - + "Stilus batareyasi kam" diff --git a/packages/SystemUI/res/values-vi/strings.xml b/packages/SystemUI/res/values-vi/strings.xml index 94c814cc526f4..2c0c3f24e7b6c 100644 --- a/packages/SystemUI/res/values-vi/strings.xml +++ b/packages/SystemUI/res/values-vi/strings.xml @@ -85,6 +85,8 @@ "Chia sẻ ảnh chụp màn hình" "Chụp thêm" "Đóng ảnh chụp màn hình" + + "Xem trước ảnh chụp màn hình" "Cạnh trên cùng %1$d%%" "Cạnh dưới cùng %1$d%%" @@ -731,8 +733,7 @@ "Wi-Fi đang tắt" "Bluetooth tắt" "Không làm phiền tắt" - - + "Chế độ Không làm phiền đang bật" "Không làm phiền đã được một quy tắc tự động (%s) bật." "Không làm phiền đã được một ứng dụng (%s) bật." "Không làm phiền đã được một quy tắc tự động hoặc ứng dụng bật." @@ -875,6 +876,8 @@ "Các thiết bị có sẵn để xuất âm thanh." "Âm lượng" "%1$d%%" + + "Cách tính năng truyền hoạt động" "Truyền" "Những người ở gần có thiết bị Bluetooth tương thích có thể nghe nội dung nghe nhìn bạn đang truyền" @@ -1004,8 +1007,7 @@ "• Cài đặt một ứng dụng máy ảnh" "• Ứng dụng được thiết lập" "• Có ít nhất một thiết bị đang hoạt động" - - + "Nhấn và giữ để kích hoạt" "Huỷ" "Lật ngay" "Mở điện thoại ra để tự chụp ảnh chân dung đẹp hơn" @@ -1014,6 +1016,5 @@ "✱ Màn hình này sẽ tắt" "Thiết bị có thể gập lại đang được mở ra" "Thiết bị có thể gập lại đang được lật ngược" - - + "Bút cảm ứng bị yếu pin" diff --git a/packages/SystemUI/res/values-zh-rCN/strings.xml b/packages/SystemUI/res/values-zh-rCN/strings.xml index 082cfb4fc896c..e1b8bca338701 100644 --- a/packages/SystemUI/res/values-zh-rCN/strings.xml +++ b/packages/SystemUI/res/values-zh-rCN/strings.xml @@ -85,6 +85,8 @@ "分享屏幕截图" "截取更多内容" "关闭屏幕截图" + + "屏幕截图预览" "顶部边界百分之 %1$d" "底部边界百分之 %1$d" @@ -731,8 +733,7 @@ "WLAN 已关闭" "蓝牙已关闭" "“勿扰”模式已关闭" - - + "“勿扰”模式已开启" "某个自动规则(%s)已开启勿扰模式。" "某个应用(%s)已开启勿扰模式。" "某个自动规则或应用已开启勿扰模式。" @@ -875,6 +876,8 @@ "音频输出的可用设备。" "音量" "%1$d%%" + + "广播的运作方式" "广播" "附近使用兼容蓝牙设备的用户可以收听您广播的媒体内容" @@ -1004,8 +1007,7 @@ "• 安装相机应用" "• 应用已设置完毕" "• 至少有一台设备可用" - - + "按住即可启用" "取消" "立即翻转" "展开手机可拍出更好的自拍照" @@ -1014,6 +1016,5 @@ "✱ 此屏幕将会关闭" "正在展开可折叠设备" "正在翻转可折叠设备" - - + "触控笔电池电量低" diff --git a/packages/SystemUI/res/values-zh-rHK/strings.xml b/packages/SystemUI/res/values-zh-rHK/strings.xml index 092fe349fd72f..c5465d534b650 100644 --- a/packages/SystemUI/res/values-zh-rHK/strings.xml +++ b/packages/SystemUI/res/values-zh-rHK/strings.xml @@ -85,6 +85,8 @@ "分享螢幕截圖" "擷取更大範圍的螢幕內容" "關閉螢幕截圖" + + "螢幕截圖預覽" "上方邊界 %1$d%%" "下方邊界 %1$d%%" @@ -731,8 +733,7 @@ "Wi-Fi 已關閉" "藍牙已關閉" "「請勿騷擾」已關閉" - - + "「請勿騷擾」已開啟" "「%s」自動規則已開啟「請勿騷擾」功能。" "「%s」應用程式已開啟「請勿騷擾」功能。" "某個自動規則或應用程式已開啟「請勿騷擾」功能。" @@ -875,6 +876,8 @@ "可用作音訊輸出的裝置" "音量" "%1$d%%" + + "廣播運作方式" "廣播" "附近有兼容藍牙裝置的人可收聽您正在廣播的媒體內容" @@ -1004,16 +1007,14 @@ "• 安裝相機應用程式" "• 應用程式已完成設定" "• 至少一部裝置可用" - - + "按住即可啟用" "取消" "立即翻轉" "打開手機,即可拍攝更出色的自拍" "要翻轉至前方螢幕拍攝更出色的自拍嗎?" "使用後置鏡頭,拍攝更廣角、解像度更高的相片。" "✱ 此螢幕將關閉" - "正在展開的折疊式裝置" + "正在展開折疊式裝置" "正在翻轉折疊式裝置" - - + "觸控筆電量不足" diff --git a/packages/SystemUI/res/values-zh-rTW/strings.xml b/packages/SystemUI/res/values-zh-rTW/strings.xml index e09888292060c..fcc3624630031 100644 --- a/packages/SystemUI/res/values-zh-rTW/strings.xml +++ b/packages/SystemUI/res/values-zh-rTW/strings.xml @@ -85,6 +85,8 @@ "分享螢幕截圖" "擴大螢幕截圖範圍" "關閉螢幕截圖" + + "螢幕截圖預覽" "上方邊界百分之 %1$d" "下方邊界百分之 %1$d" @@ -731,8 +733,7 @@ "Wi-Fi 已關閉" "藍牙已關閉" "零打擾模式已關閉" - - + "已開啟零打擾模式" "「%s」自動規則已將零打擾模式開啟。" "「%s」應用程式已將零打擾模式開啟。" "某個自動規則或應用程式已將零打擾模式開啟。" @@ -875,6 +876,8 @@ "可用於輸出音訊的裝置。" "音量" "%1$d%%" + + "廣播功能的運作方式" "廣播" "如果附近的人有相容的藍牙裝置,就可以聽到你正在廣播的媒體內容" @@ -1004,8 +1007,7 @@ "• 安裝相機應用程式" "• 完成應用程式設定" "• 至少要有一部可用裝置" - - + "按住即可啟用" "取消" "立即翻轉" "打開手機自拍效果較佳" @@ -1014,6 +1016,5 @@ "✱ 這麼做會關閉這個螢幕" "正在展開的折疊式裝置" "正在翻轉折疊式裝置" - - + "觸控筆電力不足" diff --git a/packages/SystemUI/res/values-zu/strings.xml b/packages/SystemUI/res/values-zu/strings.xml index 0a2aa8b6ceb23..6fc32c82c7c66 100644 --- a/packages/SystemUI/res/values-zu/strings.xml +++ b/packages/SystemUI/res/values-zu/strings.xml @@ -85,6 +85,8 @@ "Yabelana ngesithombe-skrini" "Thwebula okuningi" "Cashisa isithombe-skrini" + + "Ukubuka kuqala isithombe-skrini" "Iphesenti elingu-%1$d lomngcele ophezulu" "Iphesenti elingu-%1$d lomngcele ophansi" @@ -731,8 +733,7 @@ "I-Wi-Fi ivaliwe" "I-Bluetooth ivaliwe" "Ungaphazamisi kuvaliwe" - - + "Ukungaphazamisi kuvuliwe" "Okuthi ungaphazamisi kuvulwe umthetho ozenzakalelayo (%s)." "Okuthi ungaphazamisi kuvulwe uhlelo lokusebenza (%s)." "Okuthi ungaphazamisi kuvulwe umthetho ozenzakalelayo noma uhlelo lokusebenza." @@ -875,6 +876,8 @@ "Amadivayisi atholakalayo okukhipha umsindo." "Ivolumu" "%1$d%%" + + "Indlela ukusakaza okusebenza ngayo" "Sakaza" "Abantu abaseduze nawe abanamadivayisi e-Bluetooth ahambisanayo bangalalela imidiya oyisakazayo" @@ -1004,8 +1007,7 @@ "• Faka i-app yekhamera" "• I-app isethiwe" "• Okungenani idivayisi eyodwa iyatholakala" - - + "Cindezela futhi ubambe ukwenza kusebenze" "Khansela" "Phendula manje" "Vula ifoni ukuze ube nesithombe ozishuthe sona esingcono" @@ -1014,6 +1016,5 @@ "✱ Lesi sikrini sizovala" "Idivayisi egoqekayo iyembulwa" "Idivayisi egoqekayo iphendulwa nxazonke" - - + "Ibhethri le-stylus liphansi" diff --git a/packages/SystemUI/res/values/strings.xml b/packages/SystemUI/res/values/strings.xml index 29369cd33cd0a..200c478a569a0 100644 --- a/packages/SystemUI/res/values/strings.xml +++ b/packages/SystemUI/res/values/strings.xml @@ -2706,12 +2706,6 @@ --> Open %1$s - - To add the %1$s app as a shortcut, make sure - - Touch & hold to open + Touch & hold shortcut Cancel diff --git a/packages/SystemUI/shared/src/com/android/systemui/shared/plugins/PluginActionManager.java b/packages/SystemUI/shared/src/com/android/systemui/shared/plugins/PluginActionManager.java index b057fe422fc45..cc3d7a8931b03 100644 --- a/packages/SystemUI/shared/src/com/android/systemui/shared/plugins/PluginActionManager.java +++ b/packages/SystemUI/shared/src/com/android/systemui/shared/plugins/PluginActionManager.java @@ -57,7 +57,7 @@ public class PluginActionManager { private static final boolean DEBUG = false; - private static final String TAG = "PluginInstanceManager"; + private static final String TAG = "PluginActionManager"; public static final String PLUGIN_PERMISSION = "com.android.systemui.permission.PLUGIN"; private final Context mContext; diff --git a/packages/SystemUI/src/com/android/systemui/dagger/ReferenceSysUIComponent.java b/packages/SystemUI/src/com/android/systemui/dagger/ReferenceSysUIComponent.java index b30e0c22e5667..a431a59fcef6e 100644 --- a/packages/SystemUI/src/com/android/systemui/dagger/ReferenceSysUIComponent.java +++ b/packages/SystemUI/src/com/android/systemui/dagger/ReferenceSysUIComponent.java @@ -16,7 +16,7 @@ package com.android.systemui.dagger; -import com.android.systemui.keyguard.KeyguardQuickAffordanceProvider; +import com.android.systemui.keyguard.CustomizationProvider; import com.android.systemui.statusbar.NotificationInsetsModule; import com.android.systemui.statusbar.QsFrameTranslateModule; @@ -49,5 +49,5 @@ public interface ReferenceSysUIComponent extends SysUIComponent { /** * Member injection into the supplied argument. */ - void inject(KeyguardQuickAffordanceProvider keyguardQuickAffordanceProvider); + void inject(CustomizationProvider customizationProvider); } diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardQuickAffordanceProvider.kt b/packages/SystemUI/src/com/android/systemui/keyguard/CustomizationProvider.kt similarity index 74% rename from packages/SystemUI/src/com/android/systemui/keyguard/KeyguardQuickAffordanceProvider.kt rename to packages/SystemUI/src/com/android/systemui/keyguard/CustomizationProvider.kt index cbcede0237089..eaf1081a374a1 100644 --- a/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardQuickAffordanceProvider.kt +++ b/packages/SystemUI/src/com/android/systemui/keyguard/CustomizationProvider.kt @@ -33,11 +33,11 @@ import com.android.systemui.SystemUIAppComponentFactoryBase import com.android.systemui.SystemUIAppComponentFactoryBase.ContextAvailableCallback import com.android.systemui.keyguard.domain.interactor.KeyguardQuickAffordanceInteractor import com.android.systemui.keyguard.ui.preview.KeyguardRemotePreviewManager -import com.android.systemui.shared.quickaffordance.data.content.KeyguardQuickAffordanceProviderContract as Contract +import com.android.systemui.shared.customization.data.content.CustomizationProviderContract as Contract import javax.inject.Inject import kotlinx.coroutines.runBlocking -class KeyguardQuickAffordanceProvider : +class CustomizationProvider : ContentProvider(), SystemUIAppComponentFactoryBase.ContextInitializer { @Inject lateinit var interactor: KeyguardQuickAffordanceInteractor @@ -49,17 +49,23 @@ class KeyguardQuickAffordanceProvider : UriMatcher(UriMatcher.NO_MATCH).apply { addURI( Contract.AUTHORITY, - Contract.SlotTable.TABLE_NAME, + Contract.LockScreenQuickAffordances.qualifiedTablePath( + Contract.LockScreenQuickAffordances.SlotTable.TABLE_NAME, + ), MATCH_CODE_ALL_SLOTS, ) addURI( Contract.AUTHORITY, - Contract.AffordanceTable.TABLE_NAME, + Contract.LockScreenQuickAffordances.qualifiedTablePath( + Contract.LockScreenQuickAffordances.AffordanceTable.TABLE_NAME, + ), MATCH_CODE_ALL_AFFORDANCES, ) addURI( Contract.AUTHORITY, - Contract.SelectionTable.TABLE_NAME, + Contract.LockScreenQuickAffordances.qualifiedTablePath( + Contract.LockScreenQuickAffordances.SelectionTable.TABLE_NAME, + ), MATCH_CODE_ALL_SELECTIONS, ) addURI( @@ -94,9 +100,18 @@ class KeyguardQuickAffordanceProvider : val tableName = when (uriMatcher.match(uri)) { - MATCH_CODE_ALL_SLOTS -> Contract.SlotTable.TABLE_NAME - MATCH_CODE_ALL_AFFORDANCES -> Contract.AffordanceTable.TABLE_NAME - MATCH_CODE_ALL_SELECTIONS -> Contract.SelectionTable.TABLE_NAME + MATCH_CODE_ALL_SLOTS -> + Contract.LockScreenQuickAffordances.qualifiedTablePath( + Contract.LockScreenQuickAffordances.SlotTable.TABLE_NAME, + ) + MATCH_CODE_ALL_AFFORDANCES -> + Contract.LockScreenQuickAffordances.qualifiedTablePath( + Contract.LockScreenQuickAffordances.AffordanceTable.TABLE_NAME, + ) + MATCH_CODE_ALL_SELECTIONS -> + Contract.LockScreenQuickAffordances.qualifiedTablePath( + Contract.LockScreenQuickAffordances.SelectionTable.TABLE_NAME, + ) MATCH_CODE_ALL_FLAGS -> Contract.FlagsTable.TABLE_NAME else -> null } @@ -174,22 +189,34 @@ class KeyguardQuickAffordanceProvider : throw IllegalArgumentException("Cannot insert selection, no values passed in!") } - if (!values.containsKey(Contract.SelectionTable.Columns.SLOT_ID)) { + if ( + !values.containsKey(Contract.LockScreenQuickAffordances.SelectionTable.Columns.SLOT_ID) + ) { throw IllegalArgumentException( "Cannot insert selection, " + - "\"${Contract.SelectionTable.Columns.SLOT_ID}\" not specified!" + "\"${Contract.LockScreenQuickAffordances.SelectionTable.Columns.SLOT_ID}\"" + + " not specified!" ) } - if (!values.containsKey(Contract.SelectionTable.Columns.AFFORDANCE_ID)) { + if ( + !values.containsKey( + Contract.LockScreenQuickAffordances.SelectionTable.Columns.AFFORDANCE_ID + ) + ) { throw IllegalArgumentException( "Cannot insert selection, " + - "\"${Contract.SelectionTable.Columns.AFFORDANCE_ID}\" not specified!" + "\"${Contract.LockScreenQuickAffordances + .SelectionTable.Columns.AFFORDANCE_ID}\" not specified!" ) } - val slotId = values.getAsString(Contract.SelectionTable.Columns.SLOT_ID) - val affordanceId = values.getAsString(Contract.SelectionTable.Columns.AFFORDANCE_ID) + val slotId = + values.getAsString(Contract.LockScreenQuickAffordances.SelectionTable.Columns.SLOT_ID) + val affordanceId = + values.getAsString( + Contract.LockScreenQuickAffordances.SelectionTable.Columns.AFFORDANCE_ID + ) if (slotId.isNullOrEmpty()) { throw IllegalArgumentException("Cannot insert selection, slot ID was empty!") @@ -207,8 +234,10 @@ class KeyguardQuickAffordanceProvider : return if (success) { Log.d(TAG, "Successfully selected $affordanceId for slot $slotId") - context?.contentResolver?.notifyChange(Contract.SelectionTable.URI, null) - Contract.SelectionTable.URI + context + ?.contentResolver + ?.notifyChange(Contract.LockScreenQuickAffordances.SelectionTable.URI, null) + Contract.LockScreenQuickAffordances.SelectionTable.URI } else { Log.d(TAG, "Failed to select $affordanceId for slot $slotId") null @@ -218,9 +247,9 @@ class KeyguardQuickAffordanceProvider : private suspend fun querySelections(): Cursor { return MatrixCursor( arrayOf( - Contract.SelectionTable.Columns.SLOT_ID, - Contract.SelectionTable.Columns.AFFORDANCE_ID, - Contract.SelectionTable.Columns.AFFORDANCE_NAME, + Contract.LockScreenQuickAffordances.SelectionTable.Columns.SLOT_ID, + Contract.LockScreenQuickAffordances.SelectionTable.Columns.AFFORDANCE_ID, + Contract.LockScreenQuickAffordances.SelectionTable.Columns.AFFORDANCE_NAME, ) ) .apply { @@ -243,13 +272,16 @@ class KeyguardQuickAffordanceProvider : private suspend fun queryAffordances(): Cursor { return MatrixCursor( arrayOf( - Contract.AffordanceTable.Columns.ID, - Contract.AffordanceTable.Columns.NAME, - Contract.AffordanceTable.Columns.ICON, - Contract.AffordanceTable.Columns.IS_ENABLED, - Contract.AffordanceTable.Columns.ENABLEMENT_INSTRUCTIONS, - Contract.AffordanceTable.Columns.ENABLEMENT_ACTION_TEXT, - Contract.AffordanceTable.Columns.ENABLEMENT_COMPONENT_NAME, + Contract.LockScreenQuickAffordances.AffordanceTable.Columns.ID, + Contract.LockScreenQuickAffordances.AffordanceTable.Columns.NAME, + Contract.LockScreenQuickAffordances.AffordanceTable.Columns.ICON, + Contract.LockScreenQuickAffordances.AffordanceTable.Columns.IS_ENABLED, + Contract.LockScreenQuickAffordances.AffordanceTable.Columns + .ENABLEMENT_INSTRUCTIONS, + Contract.LockScreenQuickAffordances.AffordanceTable.Columns + .ENABLEMENT_ACTION_TEXT, + Contract.LockScreenQuickAffordances.AffordanceTable.Columns + .ENABLEMENT_COMPONENT_NAME, ) ) .apply { @@ -261,7 +293,8 @@ class KeyguardQuickAffordanceProvider : representation.iconResourceId, if (representation.isEnabled) 1 else 0, representation.instructions?.joinToString( - Contract.AffordanceTable.ENABLEMENT_INSTRUCTIONS_DELIMITER + Contract.LockScreenQuickAffordances.AffordanceTable + .ENABLEMENT_INSTRUCTIONS_DELIMITER ), representation.actionText, representation.actionComponentName, @@ -274,8 +307,8 @@ class KeyguardQuickAffordanceProvider : private fun querySlots(): Cursor { return MatrixCursor( arrayOf( - Contract.SlotTable.Columns.ID, - Contract.SlotTable.Columns.CAPACITY, + Contract.LockScreenQuickAffordances.SlotTable.Columns.ID, + Contract.LockScreenQuickAffordances.SlotTable.Columns.CAPACITY, ) ) .apply { diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/data/quickaffordance/HomeControlsKeyguardQuickAffordanceConfig.kt b/packages/SystemUI/src/com/android/systemui/keyguard/data/quickaffordance/HomeControlsKeyguardQuickAffordanceConfig.kt index 394426df55520..09e5ec0065f8b 100644 --- a/packages/SystemUI/src/com/android/systemui/keyguard/data/quickaffordance/HomeControlsKeyguardQuickAffordanceConfig.kt +++ b/packages/SystemUI/src/com/android/systemui/keyguard/data/quickaffordance/HomeControlsKeyguardQuickAffordanceConfig.kt @@ -80,10 +80,6 @@ constructor( return KeyguardQuickAffordanceConfig.PickerScreenState.Disabled( instructions = listOf( - context.getString( - R.string.keyguard_affordance_enablement_dialog_message, - pickerName, - ), context.getString( R.string.keyguard_affordance_enablement_dialog_home_instruction_1 ), diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/data/quickaffordance/KeyguardQuickAffordanceConfig.kt b/packages/SystemUI/src/com/android/systemui/keyguard/data/quickaffordance/KeyguardQuickAffordanceConfig.kt index 02ebcd3200a4b..20588e9ccdc13 100644 --- a/packages/SystemUI/src/com/android/systemui/keyguard/data/quickaffordance/KeyguardQuickAffordanceConfig.kt +++ b/packages/SystemUI/src/com/android/systemui/keyguard/data/quickaffordance/KeyguardQuickAffordanceConfig.kt @@ -22,7 +22,7 @@ import android.content.Intent import com.android.systemui.animation.Expandable import com.android.systemui.common.shared.model.Icon import com.android.systemui.keyguard.shared.quickaffordance.ActivationState -import com.android.systemui.shared.quickaffordance.data.content.KeyguardQuickAffordanceProviderContract as Contract +import com.android.systemui.shared.customization.data.content.CustomizationProviderContract as Contract import kotlinx.coroutines.flow.Flow /** Defines interface that can act as data source for a single quick affordance model. */ @@ -90,8 +90,9 @@ interface KeyguardQuickAffordanceConfig { * the user to be able to set up the quick affordance and make it enabled. * * This is either just an action for the `Intent` or a package name and action, - * separated by [Contract.AffordanceTable.COMPONENT_NAME_SEPARATOR] for convenience, you - * can use the [componentName] function. + * separated by + * [Contract.LockScreenQuickAffordances.AffordanceTable.COMPONENT_NAME_SEPARATOR] for + * convenience, you can use the [componentName] function. */ val actionComponentName: String? = null, ) : PickerScreenState() { @@ -145,8 +146,8 @@ interface KeyguardQuickAffordanceConfig { /** * Returning this as a result from the [onTriggered] method means that the implementation - * has _not_ taken care of the action and the system should show a Dialog using the - * given [AlertDialog] and [Expandable]. + * has _not_ taken care of the action and the system should show a Dialog using the given + * [AlertDialog] and [Expandable]. */ data class ShowDialog( val dialog: AlertDialog, @@ -162,7 +163,8 @@ interface KeyguardQuickAffordanceConfig { return when { action.isNullOrEmpty() -> null !packageName.isNullOrEmpty() -> - "$packageName${Contract.AffordanceTable.COMPONENT_NAME_SEPARATOR}$action" + "$packageName${Contract.LockScreenQuickAffordances.AffordanceTable + .COMPONENT_NAME_SEPARATOR}$action" else -> action } } diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/data/quickaffordance/KeyguardQuickAffordanceProviderClientFactory.kt b/packages/SystemUI/src/com/android/systemui/keyguard/data/quickaffordance/KeyguardQuickAffordanceProviderClientFactory.kt index 727a81391dc2f..60ef116489bd6 100644 --- a/packages/SystemUI/src/com/android/systemui/keyguard/data/quickaffordance/KeyguardQuickAffordanceProviderClientFactory.kt +++ b/packages/SystemUI/src/com/android/systemui/keyguard/data/quickaffordance/KeyguardQuickAffordanceProviderClientFactory.kt @@ -19,13 +19,13 @@ package com.android.systemui.keyguard.data.quickaffordance import com.android.systemui.dagger.qualifiers.Background import com.android.systemui.settings.UserTracker -import com.android.systemui.shared.quickaffordance.data.content.KeyguardQuickAffordanceProviderClient -import com.android.systemui.shared.quickaffordance.data.content.KeyguardQuickAffordanceProviderClientImpl +import com.android.systemui.shared.customization.data.content.CustomizationProviderClient +import com.android.systemui.shared.customization.data.content.CustomizationProviderClientImpl import javax.inject.Inject import kotlinx.coroutines.CoroutineDispatcher interface KeyguardQuickAffordanceProviderClientFactory { - fun create(): KeyguardQuickAffordanceProviderClient + fun create(): CustomizationProviderClient } class KeyguardQuickAffordanceProviderClientFactoryImpl @@ -34,8 +34,8 @@ constructor( private val userTracker: UserTracker, @Background private val backgroundDispatcher: CoroutineDispatcher, ) : KeyguardQuickAffordanceProviderClientFactory { - override fun create(): KeyguardQuickAffordanceProviderClient { - return KeyguardQuickAffordanceProviderClientImpl( + override fun create(): CustomizationProviderClient { + return CustomizationProviderClientImpl( context = userTracker.userContext, backgroundDispatcher = backgroundDispatcher, ) diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/data/quickaffordance/KeyguardQuickAffordanceRemoteUserSelectionManager.kt b/packages/SystemUI/src/com/android/systemui/keyguard/data/quickaffordance/KeyguardQuickAffordanceRemoteUserSelectionManager.kt index 8ffef25d3aaea..e9bd88932c52b 100644 --- a/packages/SystemUI/src/com/android/systemui/keyguard/data/quickaffordance/KeyguardQuickAffordanceRemoteUserSelectionManager.kt +++ b/packages/SystemUI/src/com/android/systemui/keyguard/data/quickaffordance/KeyguardQuickAffordanceRemoteUserSelectionManager.kt @@ -24,7 +24,7 @@ import com.android.systemui.common.coroutine.ConflatedCallbackFlow.conflatedCall import com.android.systemui.dagger.SysUISingleton import com.android.systemui.dagger.qualifiers.Application import com.android.systemui.settings.UserTracker -import com.android.systemui.shared.quickaffordance.data.content.KeyguardQuickAffordanceProviderClient +import com.android.systemui.shared.customization.data.content.CustomizationProviderClient import javax.inject.Inject import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.ExperimentalCoroutinesApi @@ -69,7 +69,7 @@ constructor( awaitClose { userTracker.removeCallback(callback) } } - private val clientOrNull: StateFlow = + private val clientOrNull: StateFlow = userId .distinctUntilChanged() .map { selectedUserId -> diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/data/quickaffordance/QrCodeScannerKeyguardQuickAffordanceConfig.kt b/packages/SystemUI/src/com/android/systemui/keyguard/data/quickaffordance/QrCodeScannerKeyguardQuickAffordanceConfig.kt index a96ce77ee15cf..4f7990ff0deb1 100644 --- a/packages/SystemUI/src/com/android/systemui/keyguard/data/quickaffordance/QrCodeScannerKeyguardQuickAffordanceConfig.kt +++ b/packages/SystemUI/src/com/android/systemui/keyguard/data/quickaffordance/QrCodeScannerKeyguardQuickAffordanceConfig.kt @@ -83,10 +83,6 @@ constructor( KeyguardQuickAffordanceConfig.PickerScreenState.Disabled( instructions = listOf( - context.getString( - R.string.keyguard_affordance_enablement_dialog_message, - pickerName, - ), context.getString( R.string .keyguard_affordance_enablement_dialog_qr_scanner_instruction diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/data/quickaffordance/QuickAccessWalletKeyguardQuickAffordanceConfig.kt b/packages/SystemUI/src/com/android/systemui/keyguard/data/quickaffordance/QuickAccessWalletKeyguardQuickAffordanceConfig.kt index beb20ce4540c2..1928f40fa059d 100644 --- a/packages/SystemUI/src/com/android/systemui/keyguard/data/quickaffordance/QuickAccessWalletKeyguardQuickAffordanceConfig.kt +++ b/packages/SystemUI/src/com/android/systemui/keyguard/data/quickaffordance/QuickAccessWalletKeyguardQuickAffordanceConfig.kt @@ -117,10 +117,6 @@ constructor( KeyguardQuickAffordanceConfig.PickerScreenState.Disabled( instructions = listOf( - context.getString( - R.string.keyguard_affordance_enablement_dialog_message, - pickerName, - ), context.getString( R.string.keyguard_affordance_enablement_dialog_wallet_instruction_1 ), diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/KeyguardQuickAffordanceInteractor.kt b/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/KeyguardQuickAffordanceInteractor.kt index 9772cb9806a6d..c219380ad2638 100644 --- a/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/KeyguardQuickAffordanceInteractor.kt +++ b/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/KeyguardQuickAffordanceInteractor.kt @@ -36,7 +36,7 @@ import com.android.systemui.keyguard.shared.model.KeyguardSlotPickerRepresentati import com.android.systemui.keyguard.shared.quickaffordance.KeyguardQuickAffordancePosition import com.android.systemui.plugins.ActivityStarter import com.android.systemui.settings.UserTracker -import com.android.systemui.shared.quickaffordance.data.content.KeyguardQuickAffordanceProviderContract as Contract +import com.android.systemui.shared.customization.data.content.CustomizationProviderContract as Contract import com.android.systemui.statusbar.phone.SystemUIDialog import com.android.systemui.statusbar.policy.KeyguardStateController import dagger.Lazy diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/ui/binder/KeyguardBottomAreaViewBinder.kt b/packages/SystemUI/src/com/android/systemui/keyguard/ui/binder/KeyguardBottomAreaViewBinder.kt index b19795c385793..0e4058bf8f6d6 100644 --- a/packages/SystemUI/src/com/android/systemui/keyguard/ui/binder/KeyguardBottomAreaViewBinder.kt +++ b/packages/SystemUI/src/com/android/systemui/keyguard/ui/binder/KeyguardBottomAreaViewBinder.kt @@ -392,6 +392,7 @@ object KeyguardBottomAreaViewBinder { } view.performClick() view.setOnClickListener(null) + cancel() } true } else { diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/mobile/data/model/MobileConnectionModel.kt b/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/mobile/data/model/MobileConnectionModel.kt index 1aa954ff48cf5..012b9ec09e7a0 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/mobile/data/model/MobileConnectionModel.kt +++ b/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/mobile/data/model/MobileConnectionModel.kt @@ -51,6 +51,16 @@ data class MobileConnectionModel( */ val operatorAlphaShort: String? = null, + /** + * TODO (b/263167683): Clarify this field + * + * This check comes from [com.android.settingslib.Utils.isInService]. It is intended to be a + * mapping from a ServiceState to a notion of connectivity. Notably, it will consider a + * connection to be in-service if either the voice registration state is IN_SERVICE or the data + * registration state is IN_SERVICE and NOT IWLAN. + */ + val isInService: Boolean = false, + /** Fields below from [SignalStrengthsListener.onSignalStrengthsChanged] */ val isGsm: Boolean = false, @IntRange(from = 0, to = 4) @@ -99,6 +109,10 @@ data class MobileConnectionModel( row.logChange(COL_OPERATOR, operatorAlphaShort) } + if (prevVal.isInService != isInService) { + row.logChange(COL_IS_IN_SERVICE, isInService) + } + if (prevVal.isGsm != isGsm) { row.logChange(COL_IS_GSM, isGsm) } @@ -129,6 +143,7 @@ data class MobileConnectionModel( row.logChange(COL_EMERGENCY, isEmergencyOnly) row.logChange(COL_ROAMING, isRoaming) row.logChange(COL_OPERATOR, operatorAlphaShort) + row.logChange(COL_IS_IN_SERVICE, isInService) row.logChange(COL_IS_GSM, isGsm) row.logChange(COL_CDMA_LEVEL, cdmaLevel) row.logChange(COL_PRIMARY_LEVEL, primaryLevel) @@ -141,6 +156,7 @@ data class MobileConnectionModel( const val COL_EMERGENCY = "EmergencyOnly" const val COL_ROAMING = "Roaming" const val COL_OPERATOR = "OperatorName" + const val COL_IS_IN_SERVICE = "IsInService" const val COL_IS_GSM = "IsGsm" const val COL_CDMA_LEVEL = "CdmaLevel" const val COL_PRIMARY_LEVEL = "PrimaryLevel" diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/mobile/data/repository/demo/DemoMobileConnectionsRepository.kt b/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/mobile/data/repository/demo/DemoMobileConnectionsRepository.kt index b252de8dd3890..0b5f9d5ae59e8 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/mobile/data/repository/demo/DemoMobileConnectionsRepository.kt +++ b/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/mobile/data/repository/demo/DemoMobileConnectionsRepository.kt @@ -247,6 +247,7 @@ constructor( return MobileConnectionModel( isEmergencyOnly = false, // TODO(b/261029387): not yet supported isRoaming = roaming, + isInService = (level ?: 0) > 0, isGsm = false, // TODO(b/261029387): not yet supported cdmaLevel = level ?: 0, primaryLevel = level ?: 0, diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/mobile/data/repository/prod/MobileConnectionRepositoryImpl.kt b/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/mobile/data/repository/prod/MobileConnectionRepositoryImpl.kt index 0b9e1583898e5..5cfff82253c5a 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/mobile/data/repository/prod/MobileConnectionRepositoryImpl.kt +++ b/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/mobile/data/repository/prod/MobileConnectionRepositoryImpl.kt @@ -32,6 +32,7 @@ import android.telephony.TelephonyManager import android.telephony.TelephonyManager.ERI_OFF import android.telephony.TelephonyManager.EXTRA_SUBSCRIPTION_ID import android.telephony.TelephonyManager.NETWORK_TYPE_UNKNOWN +import com.android.settingslib.Utils import com.android.systemui.broadcast.BroadcastDispatcher import com.android.systemui.common.coroutine.ConflatedCallbackFlow.conflatedCallbackFlow import com.android.systemui.dagger.qualifiers.Application @@ -117,6 +118,7 @@ class MobileConnectionRepositoryImpl( isEmergencyOnly = serviceState.isEmergencyOnly, isRoaming = serviceState.roaming, operatorAlphaShort = serviceState.operatorAlphaShort, + isInService = Utils.isInService(serviceState), ) trySend(state) } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/mobile/domain/interactor/MobileIconInteractor.kt b/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/mobile/domain/interactor/MobileIconInteractor.kt index e6686dce7bbc7..31ac7a16a9405 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/mobile/domain/interactor/MobileIconInteractor.kt +++ b/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/mobile/domain/interactor/MobileIconInteractor.kt @@ -48,6 +48,9 @@ interface MobileIconInteractor { /** True when telephony tells us that the data state is CONNECTED */ val isDataConnected: StateFlow + /** True if we consider this connection to be in service, i.e. can make calls */ + val isInService: StateFlow + // TODO(b/256839546): clarify naming of default vs active /** True if we want to consider the data connection enabled */ val isDefaultDataEnabled: StateFlow @@ -58,6 +61,9 @@ interface MobileIconInteractor { /** True if the RAT icon should always be displayed and false otherwise. */ val alwaysShowDataRatIcon: StateFlow + /** True if the CDMA level should be preferred over the primary level. */ + val alwaysUseCdmaLevel: StateFlow + /** Observable for RAT type (network type) indicator */ val networkTypeIconGroup: StateFlow @@ -94,6 +100,7 @@ class MobileIconInteractorImpl( @Application scope: CoroutineScope, defaultSubscriptionHasDataEnabled: StateFlow, override val alwaysShowDataRatIcon: StateFlow, + override val alwaysUseCdmaLevel: StateFlow, defaultMobileIconMapping: StateFlow>, defaultMobileIconGroup: StateFlow, override val isDefaultConnectionFailed: StateFlow, @@ -154,13 +161,12 @@ class MobileIconInteractorImpl( .stateIn(scope, SharingStarted.WhileSubscribed(), false) override val level: StateFlow = - connectionInfo - .mapLatest { connection -> - // TODO: incorporate [MobileMappings.Config.alwaysShowCdmaRssi] - if (connection.isGsm) { - connection.primaryLevel - } else { - connection.cdmaLevel + combine(connectionInfo, alwaysUseCdmaLevel) { connection, alwaysUseCdmaLevel -> + when { + // GSM connections should never use the CDMA level + connection.isGsm -> connection.primaryLevel + alwaysUseCdmaLevel -> connection.cdmaLevel + else -> connection.primaryLevel } } .stateIn(scope, SharingStarted.WhileSubscribed(), 0) @@ -175,4 +181,9 @@ class MobileIconInteractorImpl( connectionInfo .mapLatest { connection -> connection.dataConnectionState == Connected } .stateIn(scope, SharingStarted.WhileSubscribed(), false) + + override val isInService = + connectionRepository.connectionInfo + .mapLatest { it.isInService } + .stateIn(scope, SharingStarted.WhileSubscribed(), false) } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/mobile/domain/interactor/MobileIconsInteractor.kt b/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/mobile/domain/interactor/MobileIconsInteractor.kt index 21f6d8ee32ef6..83da1dd067806 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/mobile/domain/interactor/MobileIconsInteractor.kt +++ b/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/mobile/domain/interactor/MobileIconsInteractor.kt @@ -55,8 +55,13 @@ interface MobileIconsInteractor { val filteredSubscriptions: Flow> /** True if the active mobile data subscription has data enabled */ val activeDataConnectionHasDataEnabled: StateFlow + /** True if the RAT icon should always be displayed and false otherwise. */ val alwaysShowDataRatIcon: StateFlow + + /** True if the CDMA level should be preferred over the primary level. */ + val alwaysUseCdmaLevel: StateFlow + /** The icon mapping from network type to [MobileIconGroup] for the default subscription */ val defaultMobileIconMapping: StateFlow> /** Fallback [MobileIconGroup] in the case where there is no icon in the mapping */ @@ -165,6 +170,11 @@ constructor( .mapLatest { it.alwaysShowDataRatIcon } .stateIn(scope, SharingStarted.WhileSubscribed(), false) + override val alwaysUseCdmaLevel: StateFlow = + mobileConnectionsRepo.defaultDataSubRatConfig + .mapLatest { it.alwaysShowCdmaRssi } + .stateIn(scope, SharingStarted.WhileSubscribed(), false) + /** If there is no mapping in [defaultMobileIconMapping], then use this default icon group */ override val defaultMobileIconGroup: StateFlow = mobileConnectionsRepo.defaultMobileIconGroup.stateIn( @@ -196,6 +206,7 @@ constructor( scope, activeDataConnectionHasDataEnabled, alwaysShowDataRatIcon, + alwaysUseCdmaLevel, defaultMobileIconMapping, defaultMobileIconGroup, isDefaultConnectionFailed, diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/mobile/ui/viewmodel/MobileIconViewModel.kt b/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/mobile/ui/viewmodel/MobileIconViewModel.kt index 2d6ac4efd5128..a2117c7df188e 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/mobile/ui/viewmodel/MobileIconViewModel.kt +++ b/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/mobile/ui/viewmodel/MobileIconViewModel.kt @@ -80,11 +80,17 @@ constructor( override val iconId: Flow = run { val initial = SignalDrawable.getEmptyState(iconInteractor.numberOfLevels.value) - combine(iconInteractor.level, iconInteractor.numberOfLevels, showExclamationMark) { - level, - numberOfLevels, - showExclamationMark -> - SignalDrawable.getState(level, numberOfLevels, showExclamationMark) + combine( + iconInteractor.level, + iconInteractor.numberOfLevels, + showExclamationMark, + iconInteractor.isInService, + ) { level, numberOfLevels, showExclamationMark, isInService -> + if (!isInService) { + SignalDrawable.getEmptyState(numberOfLevels) + } else { + SignalDrawable.getState(level, numberOfLevels, showExclamationMark) + } } .distinctUntilChanged() .logDiffsForTable( diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/wifi/data/repository/WifiRepository.kt b/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/wifi/data/repository/WifiRepository.kt index 5ccd6f45770d8..53525f254e1d4 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/wifi/data/repository/WifiRepository.kt +++ b/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/wifi/data/repository/WifiRepository.kt @@ -16,51 +16,9 @@ package com.android.systemui.statusbar.pipeline.wifi.data.repository -import android.annotation.SuppressLint -import android.content.IntentFilter -import android.net.ConnectivityManager -import android.net.Network -import android.net.NetworkCapabilities -import android.net.NetworkCapabilities.NET_CAPABILITY_NOT_VPN -import android.net.NetworkCapabilities.NET_CAPABILITY_VALIDATED -import android.net.NetworkCapabilities.TRANSPORT_CELLULAR -import android.net.NetworkCapabilities.TRANSPORT_WIFI -import android.net.NetworkRequest -import android.net.wifi.WifiInfo -import android.net.wifi.WifiManager -import android.net.wifi.WifiManager.TrafficStateCallback -import android.util.Log -import com.android.settingslib.Utils -import com.android.systemui.broadcast.BroadcastDispatcher -import com.android.systemui.common.coroutine.ConflatedCallbackFlow.conflatedCallbackFlow -import com.android.systemui.dagger.SysUISingleton -import com.android.systemui.dagger.qualifiers.Application -import com.android.systemui.dagger.qualifiers.Main -import com.android.systemui.log.table.TableLogBuffer -import com.android.systemui.log.table.logDiffsForTable -import com.android.systemui.statusbar.pipeline.dagger.WifiTableLog -import com.android.systemui.statusbar.pipeline.shared.ConnectivityPipelineLogger -import com.android.systemui.statusbar.pipeline.shared.ConnectivityPipelineLogger.Companion.SB_LOGGING_TAG -import com.android.systemui.statusbar.pipeline.shared.ConnectivityPipelineLogger.Companion.logInputChange import com.android.systemui.statusbar.pipeline.shared.data.model.DataActivityModel -import com.android.systemui.statusbar.pipeline.shared.data.model.toWifiDataActivityModel import com.android.systemui.statusbar.pipeline.wifi.data.model.WifiNetworkModel -import java.util.concurrent.Executor -import javax.inject.Inject -import kotlinx.coroutines.CoroutineScope -import kotlinx.coroutines.ExperimentalCoroutinesApi -import kotlinx.coroutines.channels.awaitClose -import kotlinx.coroutines.flow.Flow -import kotlinx.coroutines.flow.MutableSharedFlow -import kotlinx.coroutines.flow.MutableStateFlow -import kotlinx.coroutines.flow.SharingStarted import kotlinx.coroutines.flow.StateFlow -import kotlinx.coroutines.flow.asStateFlow -import kotlinx.coroutines.flow.distinctUntilChanged -import kotlinx.coroutines.flow.flowOf -import kotlinx.coroutines.flow.mapLatest -import kotlinx.coroutines.flow.merge -import kotlinx.coroutines.flow.stateIn /** Provides data related to the wifi state. */ interface WifiRepository { @@ -76,250 +34,3 @@ interface WifiRepository { /** Observable for the current wifi network activity. */ val wifiActivity: StateFlow } - -/** Real implementation of [WifiRepository]. */ -@Suppress("EXPERIMENTAL_IS_NOT_ENABLED") -@OptIn(ExperimentalCoroutinesApi::class) -@SysUISingleton -@SuppressLint("MissingPermission") -class WifiRepositoryImpl @Inject constructor( - broadcastDispatcher: BroadcastDispatcher, - connectivityManager: ConnectivityManager, - logger: ConnectivityPipelineLogger, - @WifiTableLog wifiTableLogBuffer: TableLogBuffer, - @Main mainExecutor: Executor, - @Application scope: CoroutineScope, - wifiManager: WifiManager?, -) : WifiRepository { - - private val wifiStateChangeEvents: Flow = broadcastDispatcher.broadcastFlow( - IntentFilter(WifiManager.WIFI_STATE_CHANGED_ACTION) - ) - .logInputChange(logger, "WIFI_STATE_CHANGED_ACTION intent") - - private val wifiNetworkChangeEvents: MutableSharedFlow = - MutableSharedFlow(extraBufferCapacity = 1) - - override val isWifiEnabled: StateFlow = - if (wifiManager == null) { - MutableStateFlow(false).asStateFlow() - } else { - // Because [WifiManager] doesn't expose a wifi enabled change listener, we do it - // internally by fetching [WifiManager.isWifiEnabled] whenever we think the state may - // have changed. - merge(wifiNetworkChangeEvents, wifiStateChangeEvents) - .mapLatest { wifiManager.isWifiEnabled } - .distinctUntilChanged() - .logDiffsForTable( - wifiTableLogBuffer, - columnPrefix = "", - columnName = "isWifiEnabled", - initialValue = wifiManager.isWifiEnabled, - ) - .stateIn( - scope = scope, - started = SharingStarted.WhileSubscribed(), - initialValue = wifiManager.isWifiEnabled - ) - } - - override val isWifiDefault: StateFlow = conflatedCallbackFlow { - // Note: This callback doesn't do any logging because we already log every network change - // in the [wifiNetwork] callback. - val callback = object : ConnectivityManager.NetworkCallback(FLAG_INCLUDE_LOCATION_INFO) { - override fun onCapabilitiesChanged( - network: Network, - networkCapabilities: NetworkCapabilities - ) { - // This method will always be called immediately after the network becomes the - // default, in addition to any time the capabilities change while the network is - // the default. - // If this network contains valid wifi info, then wifi is the default network. - val wifiInfo = networkCapabilitiesToWifiInfo(networkCapabilities) - trySend(wifiInfo != null) - } - - override fun onLost(network: Network) { - // The system no longer has a default network, so wifi is definitely not default. - trySend(false) - } - } - - connectivityManager.registerDefaultNetworkCallback(callback) - awaitClose { connectivityManager.unregisterNetworkCallback(callback) } - } - .distinctUntilChanged() - .logDiffsForTable( - wifiTableLogBuffer, - columnPrefix = "", - columnName = "isWifiDefault", - initialValue = false, - ) - .stateIn( - scope, - started = SharingStarted.WhileSubscribed(), - initialValue = false - ) - - override val wifiNetwork: StateFlow = conflatedCallbackFlow { - var currentWifi: WifiNetworkModel = WIFI_NETWORK_DEFAULT - - val callback = object : ConnectivityManager.NetworkCallback(FLAG_INCLUDE_LOCATION_INFO) { - override fun onCapabilitiesChanged( - network: Network, - networkCapabilities: NetworkCapabilities - ) { - logger.logOnCapabilitiesChanged(network, networkCapabilities) - - wifiNetworkChangeEvents.tryEmit(Unit) - - val wifiInfo = networkCapabilitiesToWifiInfo(networkCapabilities) - if (wifiInfo?.isPrimary == true) { - val wifiNetworkModel = createWifiNetworkModel( - wifiInfo, - network, - networkCapabilities, - wifiManager, - ) - logger.logTransformation( - WIFI_NETWORK_CALLBACK_NAME, - oldValue = currentWifi, - newValue = wifiNetworkModel - ) - currentWifi = wifiNetworkModel - trySend(wifiNetworkModel) - } - } - - override fun onLost(network: Network) { - logger.logOnLost(network) - - wifiNetworkChangeEvents.tryEmit(Unit) - - val wifi = currentWifi - if (wifi is WifiNetworkModel.Active && wifi.networkId == network.getNetId()) { - val newNetworkModel = WifiNetworkModel.Inactive - logger.logTransformation( - WIFI_NETWORK_CALLBACK_NAME, - oldValue = wifi, - newValue = newNetworkModel - ) - currentWifi = newNetworkModel - trySend(newNetworkModel) - } - } - } - - connectivityManager.registerNetworkCallback(WIFI_NETWORK_CALLBACK_REQUEST, callback) - - awaitClose { connectivityManager.unregisterNetworkCallback(callback) } - } - .distinctUntilChanged() - .logDiffsForTable( - wifiTableLogBuffer, - columnPrefix = "wifiNetwork", - initialValue = WIFI_NETWORK_DEFAULT, - ) - // There will be multiple wifi icons in different places that will frequently - // subscribe/unsubscribe to flows as the views attach/detach. Using [stateIn] ensures that - // new subscribes will get the latest value immediately upon subscription. Otherwise, the - // views could show stale data. See b/244173280. - .stateIn( - scope, - started = SharingStarted.WhileSubscribed(), - initialValue = WIFI_NETWORK_DEFAULT - ) - - override val wifiActivity: StateFlow = - if (wifiManager == null) { - Log.w(SB_LOGGING_TAG, "Null WifiManager; skipping activity callback") - flowOf(ACTIVITY_DEFAULT) - } else { - conflatedCallbackFlow { - val callback = TrafficStateCallback { state -> - logger.logInputChange("onTrafficStateChange", prettyPrintActivity(state)) - trySend(state.toWifiDataActivityModel()) - } - wifiManager.registerTrafficStateCallback(mainExecutor, callback) - awaitClose { wifiManager.unregisterTrafficStateCallback(callback) } - } - } - .logDiffsForTable( - wifiTableLogBuffer, - columnPrefix = ACTIVITY_PREFIX, - initialValue = ACTIVITY_DEFAULT, - ) - .stateIn( - scope, - started = SharingStarted.WhileSubscribed(), - initialValue = ACTIVITY_DEFAULT - ) - - companion object { - private const val ACTIVITY_PREFIX = "wifiActivity" - - val ACTIVITY_DEFAULT = DataActivityModel(hasActivityIn = false, hasActivityOut = false) - // Start out with no known wifi network. - // Note: [WifiStatusTracker] (the old implementation of connectivity logic) does do an - // initial fetch to get a starting wifi network. But, it uses a deprecated API - // [WifiManager.getConnectionInfo()], and the deprecation doc indicates to just use - // [ConnectivityManager.NetworkCallback] results instead. So, for now we'll just rely on the - // NetworkCallback inside [wifiNetwork] for our wifi network information. - val WIFI_NETWORK_DEFAULT = WifiNetworkModel.Inactive - - private fun networkCapabilitiesToWifiInfo( - networkCapabilities: NetworkCapabilities - ): WifiInfo? { - return when { - networkCapabilities.hasTransport(TRANSPORT_WIFI) -> - networkCapabilities.transportInfo as WifiInfo? - networkCapabilities.hasTransport(TRANSPORT_CELLULAR) -> - // Sometimes, cellular networks can act as wifi networks (known as VCN -- - // virtual carrier network). So, see if this cellular network has wifi info. - Utils.tryGetWifiInfoForVcn(networkCapabilities) - else -> null - } - } - - private fun createWifiNetworkModel( - wifiInfo: WifiInfo, - network: Network, - networkCapabilities: NetworkCapabilities, - wifiManager: WifiManager?, - ): WifiNetworkModel { - return if (wifiInfo.isCarrierMerged) { - WifiNetworkModel.CarrierMerged - } else { - WifiNetworkModel.Active( - network.getNetId(), - isValidated = networkCapabilities.hasCapability(NET_CAPABILITY_VALIDATED), - level = wifiManager?.calculateSignalLevel(wifiInfo.rssi), - wifiInfo.ssid, - wifiInfo.isPasspointAp, - wifiInfo.isOsuAp, - wifiInfo.passpointProviderFriendlyName - ) - } - } - - private fun prettyPrintActivity(activity: Int): String { - return when (activity) { - TrafficStateCallback.DATA_ACTIVITY_NONE -> "NONE" - TrafficStateCallback.DATA_ACTIVITY_IN -> "IN" - TrafficStateCallback.DATA_ACTIVITY_OUT -> "OUT" - TrafficStateCallback.DATA_ACTIVITY_INOUT -> "INOUT" - else -> "INVALID" - } - } - - private val WIFI_NETWORK_CALLBACK_REQUEST: NetworkRequest = - NetworkRequest.Builder() - .clearCapabilities() - .addCapability(NET_CAPABILITY_NOT_VPN) - .addTransportType(TRANSPORT_WIFI) - .addTransportType(TRANSPORT_CELLULAR) - .build() - - private const val WIFI_NETWORK_CALLBACK_NAME = "wifiNetworkModel" - } -} diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/wifi/data/repository/WifiRepositorySwitcher.kt b/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/wifi/data/repository/WifiRepositorySwitcher.kt index 73bcdfd2b78e9..be86620e01f33 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/wifi/data/repository/WifiRepositorySwitcher.kt +++ b/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/wifi/data/repository/WifiRepositorySwitcher.kt @@ -25,6 +25,7 @@ import com.android.systemui.demomode.DemoModeController import com.android.systemui.statusbar.pipeline.shared.data.model.DataActivityModel import com.android.systemui.statusbar.pipeline.wifi.data.model.WifiNetworkModel import com.android.systemui.statusbar.pipeline.wifi.data.repository.demo.DemoWifiRepository +import com.android.systemui.statusbar.pipeline.wifi.data.repository.prod.WifiRepositoryImpl import javax.inject.Inject import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.ExperimentalCoroutinesApi diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/wifi/data/repository/prod/WifiRepositoryImpl.kt b/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/wifi/data/repository/prod/WifiRepositoryImpl.kt new file mode 100644 index 0000000000000..c8c94e1029996 --- /dev/null +++ b/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/wifi/data/repository/prod/WifiRepositoryImpl.kt @@ -0,0 +1,311 @@ +/* + * Copyright (C) 2022 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.systemui.statusbar.pipeline.wifi.data.repository.prod + +import android.annotation.SuppressLint +import android.content.IntentFilter +import android.net.ConnectivityManager +import android.net.Network +import android.net.NetworkCapabilities +import android.net.NetworkCapabilities.NET_CAPABILITY_NOT_VPN +import android.net.NetworkCapabilities.NET_CAPABILITY_VALIDATED +import android.net.NetworkCapabilities.TRANSPORT_CELLULAR +import android.net.NetworkCapabilities.TRANSPORT_WIFI +import android.net.NetworkRequest +import android.net.wifi.WifiInfo +import android.net.wifi.WifiManager +import android.net.wifi.WifiManager.TrafficStateCallback +import android.util.Log +import com.android.settingslib.Utils +import com.android.systemui.broadcast.BroadcastDispatcher +import com.android.systemui.common.coroutine.ConflatedCallbackFlow.conflatedCallbackFlow +import com.android.systemui.dagger.SysUISingleton +import com.android.systemui.dagger.qualifiers.Application +import com.android.systemui.dagger.qualifiers.Main +import com.android.systemui.log.table.TableLogBuffer +import com.android.systemui.log.table.logDiffsForTable +import com.android.systemui.statusbar.pipeline.dagger.WifiTableLog +import com.android.systemui.statusbar.pipeline.shared.ConnectivityPipelineLogger +import com.android.systemui.statusbar.pipeline.shared.ConnectivityPipelineLogger.Companion.SB_LOGGING_TAG +import com.android.systemui.statusbar.pipeline.shared.ConnectivityPipelineLogger.Companion.logInputChange +import com.android.systemui.statusbar.pipeline.shared.data.model.DataActivityModel +import com.android.systemui.statusbar.pipeline.shared.data.model.toWifiDataActivityModel +import com.android.systemui.statusbar.pipeline.wifi.data.model.WifiNetworkModel +import com.android.systemui.statusbar.pipeline.wifi.data.repository.WifiRepository +import java.util.concurrent.Executor +import javax.inject.Inject +import kotlinx.coroutines.CoroutineScope +import kotlinx.coroutines.ExperimentalCoroutinesApi +import kotlinx.coroutines.channels.awaitClose +import kotlinx.coroutines.flow.Flow +import kotlinx.coroutines.flow.MutableSharedFlow +import kotlinx.coroutines.flow.MutableStateFlow +import kotlinx.coroutines.flow.SharingStarted +import kotlinx.coroutines.flow.StateFlow +import kotlinx.coroutines.flow.asStateFlow +import kotlinx.coroutines.flow.distinctUntilChanged +import kotlinx.coroutines.flow.flowOf +import kotlinx.coroutines.flow.mapLatest +import kotlinx.coroutines.flow.merge +import kotlinx.coroutines.flow.stateIn + +/** Real implementation of [WifiRepository]. */ +@Suppress("EXPERIMENTAL_IS_NOT_ENABLED") +@OptIn(ExperimentalCoroutinesApi::class) +@SysUISingleton +@SuppressLint("MissingPermission") +class WifiRepositoryImpl @Inject constructor( + broadcastDispatcher: BroadcastDispatcher, + connectivityManager: ConnectivityManager, + logger: ConnectivityPipelineLogger, + @WifiTableLog wifiTableLogBuffer: TableLogBuffer, + @Main mainExecutor: Executor, + @Application scope: CoroutineScope, + wifiManager: WifiManager?, +) : WifiRepository { + + private val wifiStateChangeEvents: Flow = broadcastDispatcher.broadcastFlow( + IntentFilter(WifiManager.WIFI_STATE_CHANGED_ACTION) + ) + .logInputChange(logger, "WIFI_STATE_CHANGED_ACTION intent") + + private val wifiNetworkChangeEvents: MutableSharedFlow = + MutableSharedFlow(extraBufferCapacity = 1) + + override val isWifiEnabled: StateFlow = + if (wifiManager == null) { + MutableStateFlow(false).asStateFlow() + } else { + // Because [WifiManager] doesn't expose a wifi enabled change listener, we do it + // internally by fetching [WifiManager.isWifiEnabled] whenever we think the state may + // have changed. + merge(wifiNetworkChangeEvents, wifiStateChangeEvents) + .mapLatest { wifiManager.isWifiEnabled } + .distinctUntilChanged() + .logDiffsForTable( + wifiTableLogBuffer, + columnPrefix = "", + columnName = "isWifiEnabled", + initialValue = wifiManager.isWifiEnabled, + ) + .stateIn( + scope = scope, + started = SharingStarted.WhileSubscribed(), + initialValue = wifiManager.isWifiEnabled + ) + } + + override val isWifiDefault: StateFlow = conflatedCallbackFlow { + // Note: This callback doesn't do any logging because we already log every network change + // in the [wifiNetwork] callback. + val callback = object : ConnectivityManager.NetworkCallback(FLAG_INCLUDE_LOCATION_INFO) { + override fun onCapabilitiesChanged( + network: Network, + networkCapabilities: NetworkCapabilities + ) { + // This method will always be called immediately after the network becomes the + // default, in addition to any time the capabilities change while the network is + // the default. + // If this network contains valid wifi info, then wifi is the default network. + val wifiInfo = networkCapabilitiesToWifiInfo(networkCapabilities) + trySend(wifiInfo != null) + } + + override fun onLost(network: Network) { + // The system no longer has a default network, so wifi is definitely not default. + trySend(false) + } + } + + connectivityManager.registerDefaultNetworkCallback(callback) + awaitClose { connectivityManager.unregisterNetworkCallback(callback) } + } + .distinctUntilChanged() + .logDiffsForTable( + wifiTableLogBuffer, + columnPrefix = "", + columnName = "isWifiDefault", + initialValue = false, + ) + .stateIn( + scope, + started = SharingStarted.WhileSubscribed(), + initialValue = false + ) + + override val wifiNetwork: StateFlow = conflatedCallbackFlow { + var currentWifi: WifiNetworkModel = WIFI_NETWORK_DEFAULT + + val callback = object : ConnectivityManager.NetworkCallback(FLAG_INCLUDE_LOCATION_INFO) { + override fun onCapabilitiesChanged( + network: Network, + networkCapabilities: NetworkCapabilities + ) { + logger.logOnCapabilitiesChanged(network, networkCapabilities) + + wifiNetworkChangeEvents.tryEmit(Unit) + + val wifiInfo = networkCapabilitiesToWifiInfo(networkCapabilities) + if (wifiInfo?.isPrimary == true) { + val wifiNetworkModel = createWifiNetworkModel( + wifiInfo, + network, + networkCapabilities, + wifiManager, + ) + logger.logTransformation( + WIFI_NETWORK_CALLBACK_NAME, + oldValue = currentWifi, + newValue = wifiNetworkModel + ) + currentWifi = wifiNetworkModel + trySend(wifiNetworkModel) + } + } + + override fun onLost(network: Network) { + logger.logOnLost(network) + + wifiNetworkChangeEvents.tryEmit(Unit) + + val wifi = currentWifi + if (wifi is WifiNetworkModel.Active && wifi.networkId == network.getNetId()) { + val newNetworkModel = WifiNetworkModel.Inactive + logger.logTransformation( + WIFI_NETWORK_CALLBACK_NAME, + oldValue = wifi, + newValue = newNetworkModel + ) + currentWifi = newNetworkModel + trySend(newNetworkModel) + } + } + } + + connectivityManager.registerNetworkCallback(WIFI_NETWORK_CALLBACK_REQUEST, callback) + + awaitClose { connectivityManager.unregisterNetworkCallback(callback) } + } + .distinctUntilChanged() + .logDiffsForTable( + wifiTableLogBuffer, + columnPrefix = "wifiNetwork", + initialValue = WIFI_NETWORK_DEFAULT, + ) + // There will be multiple wifi icons in different places that will frequently + // subscribe/unsubscribe to flows as the views attach/detach. Using [stateIn] ensures that + // new subscribes will get the latest value immediately upon subscription. Otherwise, the + // views could show stale data. See b/244173280. + .stateIn( + scope, + started = SharingStarted.WhileSubscribed(), + initialValue = WIFI_NETWORK_DEFAULT + ) + + override val wifiActivity: StateFlow = + if (wifiManager == null) { + Log.w(SB_LOGGING_TAG, "Null WifiManager; skipping activity callback") + flowOf(ACTIVITY_DEFAULT) + } else { + conflatedCallbackFlow { + val callback = TrafficStateCallback { state -> + logger.logInputChange("onTrafficStateChange", prettyPrintActivity(state)) + trySend(state.toWifiDataActivityModel()) + } + wifiManager.registerTrafficStateCallback(mainExecutor, callback) + awaitClose { wifiManager.unregisterTrafficStateCallback(callback) } + } + } + .logDiffsForTable( + wifiTableLogBuffer, + columnPrefix = ACTIVITY_PREFIX, + initialValue = ACTIVITY_DEFAULT, + ) + .stateIn( + scope, + started = SharingStarted.WhileSubscribed(), + initialValue = ACTIVITY_DEFAULT + ) + + companion object { + private const val ACTIVITY_PREFIX = "wifiActivity" + + val ACTIVITY_DEFAULT = DataActivityModel(hasActivityIn = false, hasActivityOut = false) + // Start out with no known wifi network. + // Note: [WifiStatusTracker] (the old implementation of connectivity logic) does do an + // initial fetch to get a starting wifi network. But, it uses a deprecated API + // [WifiManager.getConnectionInfo()], and the deprecation doc indicates to just use + // [ConnectivityManager.NetworkCallback] results instead. So, for now we'll just rely on the + // NetworkCallback inside [wifiNetwork] for our wifi network information. + val WIFI_NETWORK_DEFAULT = WifiNetworkModel.Inactive + + private fun networkCapabilitiesToWifiInfo( + networkCapabilities: NetworkCapabilities + ): WifiInfo? { + return when { + networkCapabilities.hasTransport(TRANSPORT_WIFI) -> + networkCapabilities.transportInfo as WifiInfo? + networkCapabilities.hasTransport(TRANSPORT_CELLULAR) -> + // Sometimes, cellular networks can act as wifi networks (known as VCN -- + // virtual carrier network). So, see if this cellular network has wifi info. + Utils.tryGetWifiInfoForVcn(networkCapabilities) + else -> null + } + } + + private fun createWifiNetworkModel( + wifiInfo: WifiInfo, + network: Network, + networkCapabilities: NetworkCapabilities, + wifiManager: WifiManager?, + ): WifiNetworkModel { + return if (wifiInfo.isCarrierMerged) { + WifiNetworkModel.CarrierMerged + } else { + WifiNetworkModel.Active( + network.getNetId(), + isValidated = networkCapabilities.hasCapability(NET_CAPABILITY_VALIDATED), + level = wifiManager?.calculateSignalLevel(wifiInfo.rssi), + wifiInfo.ssid, + wifiInfo.isPasspointAp, + wifiInfo.isOsuAp, + wifiInfo.passpointProviderFriendlyName + ) + } + } + + private fun prettyPrintActivity(activity: Int): String { + return when (activity) { + TrafficStateCallback.DATA_ACTIVITY_NONE -> "NONE" + TrafficStateCallback.DATA_ACTIVITY_IN -> "IN" + TrafficStateCallback.DATA_ACTIVITY_OUT -> "OUT" + TrafficStateCallback.DATA_ACTIVITY_INOUT -> "INOUT" + else -> "INVALID" + } + } + + private val WIFI_NETWORK_CALLBACK_REQUEST: NetworkRequest = + NetworkRequest.Builder() + .clearCapabilities() + .addCapability(NET_CAPABILITY_NOT_VPN) + .addTransportType(TRANSPORT_WIFI) + .addTransportType(TRANSPORT_CELLULAR) + .build() + + private const val WIFI_NETWORK_CALLBACK_NAME = "wifiNetworkModel" + } +} diff --git a/packages/SystemUI/tests/AndroidManifest.xml b/packages/SystemUI/tests/AndroidManifest.xml index d8331ab34640c..d4e06bc2a5c83 100644 --- a/packages/SystemUI/tests/AndroidManifest.xml +++ b/packages/SystemUI/tests/AndroidManifest.xml @@ -146,7 +146,7 @@ tools:replace="android:authorities" tools:node="remove" /> - { return context.contentResolver .query( - Contract.SelectionTable.URI, + Contract.LockScreenQuickAffordances.SelectionTable.URI, null, null, null, @@ -391,11 +410,18 @@ class KeyguardQuickAffordanceProviderTest : SysuiTestCase() { ?.use { cursor -> buildList { val slotIdColumnIndex = - cursor.getColumnIndex(Contract.SelectionTable.Columns.SLOT_ID) + cursor.getColumnIndex( + Contract.LockScreenQuickAffordances.SelectionTable.Columns.SLOT_ID + ) val affordanceIdColumnIndex = - cursor.getColumnIndex(Contract.SelectionTable.Columns.AFFORDANCE_ID) + cursor.getColumnIndex( + Contract.LockScreenQuickAffordances.SelectionTable.Columns.AFFORDANCE_ID + ) val affordanceNameColumnIndex = - cursor.getColumnIndex(Contract.SelectionTable.Columns.AFFORDANCE_NAME) + cursor.getColumnIndex( + Contract.LockScreenQuickAffordances.SelectionTable.Columns + .AFFORDANCE_NAME + ) if ( slotIdColumnIndex == -1 || affordanceIdColumnIndex == -1 || @@ -421,7 +447,7 @@ class KeyguardQuickAffordanceProviderTest : SysuiTestCase() { private fun querySlots(): List { return context.contentResolver .query( - Contract.SlotTable.URI, + Contract.LockScreenQuickAffordances.SlotTable.URI, null, null, null, @@ -429,9 +455,14 @@ class KeyguardQuickAffordanceProviderTest : SysuiTestCase() { ) ?.use { cursor -> buildList { - val idColumnIndex = cursor.getColumnIndex(Contract.SlotTable.Columns.ID) + val idColumnIndex = + cursor.getColumnIndex( + Contract.LockScreenQuickAffordances.SlotTable.Columns.ID + ) val capacityColumnIndex = - cursor.getColumnIndex(Contract.SlotTable.Columns.CAPACITY) + cursor.getColumnIndex( + Contract.LockScreenQuickAffordances.SlotTable.Columns.CAPACITY + ) if (idColumnIndex == -1 || capacityColumnIndex == -1) { return@buildList } @@ -452,7 +483,7 @@ class KeyguardQuickAffordanceProviderTest : SysuiTestCase() { private fun queryAffordances(): List { return context.contentResolver .query( - Contract.AffordanceTable.URI, + Contract.LockScreenQuickAffordances.AffordanceTable.URI, null, null, null, @@ -460,11 +491,18 @@ class KeyguardQuickAffordanceProviderTest : SysuiTestCase() { ) ?.use { cursor -> buildList { - val idColumnIndex = cursor.getColumnIndex(Contract.AffordanceTable.Columns.ID) + val idColumnIndex = + cursor.getColumnIndex( + Contract.LockScreenQuickAffordances.AffordanceTable.Columns.ID + ) val nameColumnIndex = - cursor.getColumnIndex(Contract.AffordanceTable.Columns.NAME) + cursor.getColumnIndex( + Contract.LockScreenQuickAffordances.AffordanceTable.Columns.NAME + ) val iconColumnIndex = - cursor.getColumnIndex(Contract.AffordanceTable.Columns.ICON) + cursor.getColumnIndex( + Contract.LockScreenQuickAffordances.AffordanceTable.Columns.ICON + ) if (idColumnIndex == -1 || nameColumnIndex == -1 || iconColumnIndex == -1) { return@buildList } diff --git a/packages/SystemUI/tests/src/com/android/systemui/keyguard/data/quickaffordance/KeyguardQuickAffordanceRemoteUserSelectionManagerTest.kt b/packages/SystemUI/tests/src/com/android/systemui/keyguard/data/quickaffordance/KeyguardQuickAffordanceRemoteUserSelectionManagerTest.kt index d7e9cf144f887..b21cec9701369 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/keyguard/data/quickaffordance/KeyguardQuickAffordanceRemoteUserSelectionManagerTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/keyguard/data/quickaffordance/KeyguardQuickAffordanceRemoteUserSelectionManagerTest.kt @@ -22,8 +22,8 @@ import android.os.UserHandle import androidx.test.filters.SmallTest import com.android.systemui.SysuiTestCase import com.android.systemui.settings.FakeUserTracker +import com.android.systemui.shared.customization.data.content.FakeCustomizationProviderClient import com.android.systemui.shared.keyguard.shared.model.KeyguardQuickAffordanceSlots -import com.android.systemui.shared.quickaffordance.data.content.FakeKeyguardQuickAffordanceProviderClient import com.android.systemui.util.mockito.whenever import com.google.common.truth.Truth.assertThat import kotlinx.coroutines.ExperimentalCoroutinesApi @@ -54,16 +54,16 @@ class KeyguardQuickAffordanceRemoteUserSelectionManagerTest : SysuiTestCase() { private lateinit var testScope: TestScope private lateinit var testDispatcher: TestDispatcher private lateinit var userTracker: FakeUserTracker - private lateinit var client1: FakeKeyguardQuickAffordanceProviderClient - private lateinit var client2: FakeKeyguardQuickAffordanceProviderClient + private lateinit var client1: FakeCustomizationProviderClient + private lateinit var client2: FakeCustomizationProviderClient @Before fun setUp() { MockitoAnnotations.initMocks(this) whenever(userHandle.identifier).thenReturn(UserHandle.USER_SYSTEM) whenever(userHandle.isSystem).thenReturn(true) - client1 = FakeKeyguardQuickAffordanceProviderClient() - client2 = FakeKeyguardQuickAffordanceProviderClient() + client1 = FakeCustomizationProviderClient() + client2 = FakeCustomizationProviderClient() userTracker = FakeUserTracker() userTracker.set( @@ -122,11 +122,11 @@ class KeyguardQuickAffordanceRemoteUserSelectionManagerTest : SysuiTestCase() { client1.insertSelection( slotId = KeyguardQuickAffordanceSlots.SLOT_ID_BOTTOM_START, - affordanceId = FakeKeyguardQuickAffordanceProviderClient.AFFORDANCE_1, + affordanceId = FakeCustomizationProviderClient.AFFORDANCE_1, ) client2.insertSelection( slotId = KeyguardQuickAffordanceSlots.SLOT_ID_BOTTOM_END, - affordanceId = FakeKeyguardQuickAffordanceProviderClient.AFFORDANCE_2, + affordanceId = FakeCustomizationProviderClient.AFFORDANCE_2, ) userTracker.set( @@ -139,7 +139,7 @@ class KeyguardQuickAffordanceRemoteUserSelectionManagerTest : SysuiTestCase() { mapOf( KeyguardQuickAffordanceSlots.SLOT_ID_BOTTOM_START to listOf( - FakeKeyguardQuickAffordanceProviderClient.AFFORDANCE_1, + FakeCustomizationProviderClient.AFFORDANCE_1, ), ) ) @@ -154,7 +154,7 @@ class KeyguardQuickAffordanceRemoteUserSelectionManagerTest : SysuiTestCase() { mapOf( KeyguardQuickAffordanceSlots.SLOT_ID_BOTTOM_END to listOf( - FakeKeyguardQuickAffordanceProviderClient.AFFORDANCE_2, + FakeCustomizationProviderClient.AFFORDANCE_2, ), ) ) @@ -174,7 +174,7 @@ class KeyguardQuickAffordanceRemoteUserSelectionManagerTest : SysuiTestCase() { client1.insertSelection( slotId = KeyguardQuickAffordanceSlots.SLOT_ID_BOTTOM_START, - affordanceId = FakeKeyguardQuickAffordanceProviderClient.AFFORDANCE_1, + affordanceId = FakeCustomizationProviderClient.AFFORDANCE_1, ) userTracker.set( userInfos = userTracker.userProfiles, @@ -197,7 +197,7 @@ class KeyguardQuickAffordanceRemoteUserSelectionManagerTest : SysuiTestCase() { underTest.setSelections( slotId = KeyguardQuickAffordanceSlots.SLOT_ID_BOTTOM_START, - affordanceIds = listOf(FakeKeyguardQuickAffordanceProviderClient.AFFORDANCE_1), + affordanceIds = listOf(FakeCustomizationProviderClient.AFFORDANCE_1), ) runCurrent() @@ -206,7 +206,7 @@ class KeyguardQuickAffordanceRemoteUserSelectionManagerTest : SysuiTestCase() { mapOf( KeyguardQuickAffordanceSlots.SLOT_ID_BOTTOM_START to listOf( - FakeKeyguardQuickAffordanceProviderClient.AFFORDANCE_1, + FakeCustomizationProviderClient.AFFORDANCE_1, ), ) ) diff --git a/packages/SystemUI/tests/src/com/android/systemui/keyguard/data/repository/KeyguardQuickAffordanceRepositoryTest.kt b/packages/SystemUI/tests/src/com/android/systemui/keyguard/data/repository/KeyguardQuickAffordanceRepositoryTest.kt index c187a3ff63bd0..b071a028865d3 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/keyguard/data/repository/KeyguardQuickAffordanceRepositoryTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/keyguard/data/repository/KeyguardQuickAffordanceRepositoryTest.kt @@ -32,8 +32,8 @@ import com.android.systemui.keyguard.shared.model.KeyguardQuickAffordancePickerR import com.android.systemui.keyguard.shared.model.KeyguardSlotPickerRepresentation import com.android.systemui.settings.FakeUserTracker import com.android.systemui.settings.UserFileManager +import com.android.systemui.shared.customization.data.content.FakeCustomizationProviderClient import com.android.systemui.shared.keyguard.shared.model.KeyguardQuickAffordanceSlots -import com.android.systemui.shared.quickaffordance.data.content.FakeKeyguardQuickAffordanceProviderClient import com.android.systemui.util.FakeSharedPreferences import com.android.systemui.util.mockito.mock import com.android.systemui.util.mockito.whenever @@ -63,19 +63,13 @@ class KeyguardQuickAffordanceRepositoryTest : SysuiTestCase() { private lateinit var config1: FakeKeyguardQuickAffordanceConfig private lateinit var config2: FakeKeyguardQuickAffordanceConfig private lateinit var userTracker: FakeUserTracker - private lateinit var client1: FakeKeyguardQuickAffordanceProviderClient - private lateinit var client2: FakeKeyguardQuickAffordanceProviderClient + private lateinit var client1: FakeCustomizationProviderClient + private lateinit var client2: FakeCustomizationProviderClient @Before fun setUp() { - config1 = - FakeKeyguardQuickAffordanceConfig( - FakeKeyguardQuickAffordanceProviderClient.AFFORDANCE_1 - ) - config2 = - FakeKeyguardQuickAffordanceConfig( - FakeKeyguardQuickAffordanceProviderClient.AFFORDANCE_2 - ) + config1 = FakeKeyguardQuickAffordanceConfig(FakeCustomizationProviderClient.AFFORDANCE_1) + config2 = FakeKeyguardQuickAffordanceConfig(FakeCustomizationProviderClient.AFFORDANCE_2) val scope = CoroutineScope(IMMEDIATE) userTracker = FakeUserTracker() val localUserSelectionManager = @@ -95,8 +89,8 @@ class KeyguardQuickAffordanceRepositoryTest : SysuiTestCase() { userTracker = userTracker, broadcastDispatcher = fakeBroadcastDispatcher, ) - client1 = FakeKeyguardQuickAffordanceProviderClient() - client2 = FakeKeyguardQuickAffordanceProviderClient() + client1 = FakeCustomizationProviderClient() + client2 = FakeCustomizationProviderClient() val remoteUserSelectionManager = KeyguardQuickAffordanceRemoteUserSelectionManager( scope = scope, @@ -256,7 +250,7 @@ class KeyguardQuickAffordanceRepositoryTest : SysuiTestCase() { ) client2.insertSelection( slotId = KeyguardQuickAffordanceSlots.SLOT_ID_BOTTOM_START, - affordanceId = FakeKeyguardQuickAffordanceProviderClient.AFFORDANCE_2, + affordanceId = FakeCustomizationProviderClient.AFFORDANCE_2, ) val observed = mutableListOf>>() val job = underTest.selections.onEach { observed.add(it) }.launchIn(this) diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/pipeline/mobile/data/repository/prod/MobileConnectionRepositoryTest.kt b/packages/SystemUI/tests/src/com/android/systemui/statusbar/pipeline/mobile/data/repository/prod/MobileConnectionRepositoryTest.kt index 7970443f69b1b..c63dd2a2318c8 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/pipeline/mobile/data/repository/prod/MobileConnectionRepositoryTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/pipeline/mobile/data/repository/prod/MobileConnectionRepositoryTest.kt @@ -20,7 +20,10 @@ import android.content.Intent import android.os.UserHandle import android.provider.Settings import android.telephony.CellSignalStrengthCdma +import android.telephony.NetworkRegistrationInfo import android.telephony.ServiceState +import android.telephony.ServiceState.STATE_IN_SERVICE +import android.telephony.ServiceState.STATE_OUT_OF_SERVICE import android.telephony.SignalStrength import android.telephony.SubscriptionInfo import android.telephony.TelephonyCallback @@ -47,7 +50,6 @@ import android.telephony.TelephonyManager.EXTRA_SHOW_SPN import android.telephony.TelephonyManager.EXTRA_SPN import android.telephony.TelephonyManager.EXTRA_SUBSCRIPTION_ID import android.telephony.TelephonyManager.NETWORK_TYPE_LTE -import android.telephony.TelephonyManager.NETWORK_TYPE_UNKNOWN import androidx.test.filters.SmallTest import com.android.systemui.SysuiTestCase import com.android.systemui.log.table.TableLogBuffer @@ -302,7 +304,6 @@ class MobileConnectionRepositoryTest : SysuiTestCase() { var latest: MobileConnectionModel? = null val job = underTest.connectionInfo.onEach { latest = it }.launchIn(this) - val type = NETWORK_TYPE_UNKNOWN val expected = UnknownNetworkType assertThat(latest?.resolvedNetworkType).isEqualTo(expected) @@ -590,6 +591,56 @@ class MobileConnectionRepositoryTest : SysuiTestCase() { job.cancel() } + @Test + fun `connection model - isInService - not iwlan`() = + runBlocking(IMMEDIATE) { + var latest: Boolean? = null + val job = underTest.connectionInfo.onEach { latest = it.isInService }.launchIn(this) + + val serviceState = ServiceState() + serviceState.voiceRegState = STATE_IN_SERVICE + serviceState.dataRegState = STATE_IN_SERVICE + + getTelephonyCallbackForType().onServiceStateChanged(serviceState) + + assertThat(latest).isTrue() + + serviceState.voiceRegState = STATE_OUT_OF_SERVICE + getTelephonyCallbackForType().onServiceStateChanged(serviceState) + assertThat(latest).isTrue() + + serviceState.dataRegState = STATE_OUT_OF_SERVICE + getTelephonyCallbackForType().onServiceStateChanged(serviceState) + assertThat(latest).isFalse() + + job.cancel() + } + + @Test + fun `connection model - isInService - is iwlan - voice out of service - data in service`() = + runBlocking(IMMEDIATE) { + var latest: Boolean? = null + val job = underTest.connectionInfo.onEach { latest = it.isInService }.launchIn(this) + + // Mock the service state here so we can make it specifically IWLAN + val serviceState: ServiceState = mock() + whenever(serviceState.state).thenReturn(STATE_OUT_OF_SERVICE) + whenever(serviceState.dataRegistrationState).thenReturn(STATE_IN_SERVICE) + + // See [com.android.settingslib.Utils.isInService] for more info. This is one way to + // make the network look like IWLAN + val networkRegWlan: NetworkRegistrationInfo = mock() + whenever(serviceState.getNetworkRegistrationInfo(any(), any())) + .thenReturn(networkRegWlan) + whenever(networkRegWlan.registrationState) + .thenReturn(NetworkRegistrationInfo.REGISTRATION_STATE_HOME) + + getTelephonyCallbackForType().onServiceStateChanged(serviceState) + assertThat(latest).isFalse() + + job.cancel() + } + private fun getTelephonyCallbacks(): List { val callbackCaptor = argumentCaptor() Mockito.verify(telephonyManager).registerTelephonyCallback(any(), callbackCaptor.capture()) diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/pipeline/mobile/domain/interactor/FakeMobileIconInteractor.kt b/packages/SystemUI/tests/src/com/android/systemui/statusbar/pipeline/mobile/domain/interactor/FakeMobileIconInteractor.kt index c49458909c78b..ff72715b281ff 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/pipeline/mobile/domain/interactor/FakeMobileIconInteractor.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/pipeline/mobile/domain/interactor/FakeMobileIconInteractor.kt @@ -29,6 +29,8 @@ class FakeMobileIconInteractor( ) : MobileIconInteractor { override val alwaysShowDataRatIcon = MutableStateFlow(false) + override val alwaysUseCdmaLevel = MutableStateFlow(false) + override val activity = MutableStateFlow( DataActivityModel( @@ -52,6 +54,8 @@ class FakeMobileIconInteractor( override val isDataConnected = MutableStateFlow(true) + override val isInService = MutableStateFlow(true) + private val _isDataEnabled = MutableStateFlow(true) override val isDataEnabled = _isDataEnabled diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/pipeline/mobile/domain/interactor/FakeMobileIconsInteractor.kt b/packages/SystemUI/tests/src/com/android/systemui/statusbar/pipeline/mobile/domain/interactor/FakeMobileIconsInteractor.kt index 19e5516b58a27..1c0064610c52f 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/pipeline/mobile/domain/interactor/FakeMobileIconsInteractor.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/pipeline/mobile/domain/interactor/FakeMobileIconsInteractor.kt @@ -58,6 +58,8 @@ class FakeMobileIconsInteractor( override val alwaysShowDataRatIcon = MutableStateFlow(false) + override val alwaysUseCdmaLevel = MutableStateFlow(false) + private val _defaultMobileIconMapping = MutableStateFlow(TEST_MAPPING) override val defaultMobileIconMapping = _defaultMobileIconMapping diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/pipeline/mobile/domain/interactor/MobileIconInteractorTest.kt b/packages/SystemUI/tests/src/com/android/systemui/statusbar/pipeline/mobile/domain/interactor/MobileIconInteractorTest.kt index 83c5055a6edae..5abe33523cc6f 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/pipeline/mobile/domain/interactor/MobileIconInteractorTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/pipeline/mobile/domain/interactor/MobileIconInteractorTest.kt @@ -61,6 +61,7 @@ class MobileIconInteractorTest : SysuiTestCase() { scope, mobileIconsInteractor.activeDataConnectionHasDataEnabled, mobileIconsInteractor.alwaysShowDataRatIcon, + mobileIconsInteractor.alwaysUseCdmaLevel, mobileIconsInteractor.defaultMobileIconMapping, mobileIconsInteractor.defaultMobileIconGroup, mobileIconsInteractor.isDefaultConnectionFailed, @@ -103,7 +104,27 @@ class MobileIconInteractorTest : SysuiTestCase() { } @Test - fun cdma_level_default_unknown() = + fun gsm_alwaysShowCdmaTrue_stillUsesGsmLevel() = + runBlocking(IMMEDIATE) { + connectionRepository.setConnectionInfo( + MobileConnectionModel( + isGsm = true, + primaryLevel = GSM_LEVEL, + cdmaLevel = CDMA_LEVEL, + ), + ) + mobileIconsInteractor.alwaysUseCdmaLevel.value = true + + var latest: Int? = null + val job = underTest.level.onEach { latest = it }.launchIn(this) + + assertThat(latest).isEqualTo(GSM_LEVEL) + + job.cancel() + } + + @Test + fun notGsm_level_default_unknown() = runBlocking(IMMEDIATE) { connectionRepository.setConnectionInfo( MobileConnectionModel(isGsm = false), @@ -117,7 +138,7 @@ class MobileIconInteractorTest : SysuiTestCase() { } @Test - fun cdma_usesCdmaLevel() = + fun notGsm_alwaysShowCdmaTrue_usesCdmaLevel() = runBlocking(IMMEDIATE) { connectionRepository.setConnectionInfo( MobileConnectionModel( @@ -126,6 +147,7 @@ class MobileIconInteractorTest : SysuiTestCase() { cdmaLevel = CDMA_LEVEL ), ) + mobileIconsInteractor.alwaysUseCdmaLevel.value = true var latest: Int? = null val job = underTest.level.onEach { latest = it }.launchIn(this) @@ -135,6 +157,26 @@ class MobileIconInteractorTest : SysuiTestCase() { job.cancel() } + @Test + fun notGsm_alwaysShowCdmaFalse_usesPrimaryLevel() = + runBlocking(IMMEDIATE) { + connectionRepository.setConnectionInfo( + MobileConnectionModel( + isGsm = false, + primaryLevel = GSM_LEVEL, + cdmaLevel = CDMA_LEVEL, + ), + ) + mobileIconsInteractor.alwaysUseCdmaLevel.value = false + + var latest: Int? = null + val job = underTest.level.onEach { latest = it }.launchIn(this) + + assertThat(latest).isEqualTo(GSM_LEVEL) + + job.cancel() + } + @Test fun iconGroup_three_g() = runBlocking(IMMEDIATE) { @@ -239,6 +281,21 @@ class MobileIconInteractorTest : SysuiTestCase() { job.cancel() } + @Test + fun alwaysUseCdmaLevel_matchesParent() = + runBlocking(IMMEDIATE) { + var latest: Boolean? = null + val job = underTest.alwaysUseCdmaLevel.onEach { latest = it }.launchIn(this) + + mobileIconsInteractor.alwaysUseCdmaLevel.value = true + assertThat(latest).isTrue() + + mobileIconsInteractor.alwaysUseCdmaLevel.value = false + assertThat(latest).isFalse() + + job.cancel() + } + @Test fun test_isDefaultDataEnabled_matchesParent() = runBlocking(IMMEDIATE) { @@ -299,6 +356,23 @@ class MobileIconInteractorTest : SysuiTestCase() { job.cancel() } + @Test + fun `isInService - uses repository value`() = + runBlocking(IMMEDIATE) { + var latest: Boolean? = null + val job = underTest.isInService.onEach { latest = it }.launchIn(this) + + connectionRepository.setConnectionInfo(MobileConnectionModel(isInService = true)) + + assertThat(latest).isTrue() + + connectionRepository.setConnectionInfo(MobileConnectionModel(isInService = false)) + + assertThat(latest).isFalse() + + job.cancel() + } + @Test fun `roaming - is gsm - uses connection model`() = runBlocking(IMMEDIATE) { diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/pipeline/mobile/domain/interactor/MobileIconsInteractorTest.kt b/packages/SystemUI/tests/src/com/android/systemui/statusbar/pipeline/mobile/domain/interactor/MobileIconsInteractorTest.kt index 2fa3467587cce..b82a58414db9e 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/pipeline/mobile/domain/interactor/MobileIconsInteractorTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/pipeline/mobile/domain/interactor/MobileIconsInteractorTest.kt @@ -291,6 +291,38 @@ class MobileIconsInteractorTest : SysuiTestCase() { job.cancel() } + @Test + fun alwaysUseCdmaLevel_configHasTrue() = + runBlocking(IMMEDIATE) { + var latest: Boolean? = null + val job = underTest.alwaysUseCdmaLevel.onEach { latest = it }.launchIn(this) + + val config = MobileMappings.Config() + config.alwaysShowCdmaRssi = true + connectionsRepository.defaultDataSubRatConfig.value = config + yield() + + assertThat(latest).isTrue() + + job.cancel() + } + + @Test + fun alwaysUseCdmaLevel_configHasFalse() = + runBlocking(IMMEDIATE) { + var latest: Boolean? = null + val job = underTest.alwaysUseCdmaLevel.onEach { latest = it }.launchIn(this) + + val config = MobileMappings.Config() + config.alwaysShowCdmaRssi = false + connectionsRepository.defaultDataSubRatConfig.value = config + yield() + + assertThat(latest).isFalse() + + job.cancel() + } + companion object { private val IMMEDIATE = Dispatchers.Main.immediate private val tableLogBuffer = diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/pipeline/mobile/ui/viewmodel/MobileIconViewModelTest.kt b/packages/SystemUI/tests/src/com/android/systemui/statusbar/pipeline/mobile/ui/viewmodel/MobileIconViewModelTest.kt index 50221bc97badb..2a8d42ff69975 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/pipeline/mobile/ui/viewmodel/MobileIconViewModelTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/pipeline/mobile/ui/viewmodel/MobileIconViewModelTest.kt @@ -97,6 +97,30 @@ class MobileIconViewModelTest : SysuiTestCase() { job.cancel() } + @Test + fun `icon - uses empty state - when not in service`() = + testScope.runTest { + var latest: Int? = null + val job = underTest.iconId.onEach { latest = it }.launchIn(this) + + interactor.isInService.value = false + + var expected = emptySignal() + + assertThat(latest).isEqualTo(expected) + + // Changing the level doesn't overwrite the disabled state + interactor.level.value = 2 + assertThat(latest).isEqualTo(expected) + + // Once back in service, the regular icon appears + interactor.isInService.value = true + expected = defaultSignal(level = 2) + assertThat(latest).isEqualTo(expected) + + job.cancel() + } + @Test fun networkType_dataEnabled_groupIsRepresented() = testScope.runTest { @@ -375,5 +399,7 @@ class MobileIconViewModelTest : SysuiTestCase() { ): Int { return SignalDrawable.getState(level, /* numLevels */ 4, !connected) } + + fun emptySignal(): Int = SignalDrawable.getEmptyState(4) } } diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/pipeline/wifi/data/repository/FakeWifiRepository.kt b/packages/SystemUI/tests/src/com/android/systemui/statusbar/pipeline/wifi/data/repository/FakeWifiRepository.kt index 4e15b4a503d73..f5837d698c511 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/pipeline/wifi/data/repository/FakeWifiRepository.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/pipeline/wifi/data/repository/FakeWifiRepository.kt @@ -18,7 +18,7 @@ package com.android.systemui.statusbar.pipeline.wifi.data.repository import com.android.systemui.statusbar.pipeline.shared.data.model.DataActivityModel import com.android.systemui.statusbar.pipeline.wifi.data.model.WifiNetworkModel -import com.android.systemui.statusbar.pipeline.wifi.data.repository.WifiRepositoryImpl.Companion.ACTIVITY_DEFAULT +import com.android.systemui.statusbar.pipeline.wifi.data.repository.prod.WifiRepositoryImpl.Companion.ACTIVITY_DEFAULT import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.StateFlow diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/pipeline/wifi/data/repository/WifiRepositorySwitcherTest.kt b/packages/SystemUI/tests/src/com/android/systemui/statusbar/pipeline/wifi/data/repository/WifiRepositorySwitcherTest.kt index b935442fd73a3..1085c2b1a5d58 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/pipeline/wifi/data/repository/WifiRepositorySwitcherTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/pipeline/wifi/data/repository/WifiRepositorySwitcherTest.kt @@ -27,6 +27,7 @@ import com.android.systemui.statusbar.pipeline.shared.ConnectivityPipelineLogger import com.android.systemui.statusbar.pipeline.wifi.data.repository.demo.DemoModeWifiDataSource import com.android.systemui.statusbar.pipeline.wifi.data.repository.demo.DemoWifiRepository import com.android.systemui.statusbar.pipeline.wifi.data.repository.demo.model.FakeWifiEventModel +import com.android.systemui.statusbar.pipeline.wifi.data.repository.prod.WifiRepositoryImpl import com.android.systemui.util.concurrency.FakeExecutor import com.android.systemui.util.mockito.kotlinArgumentCaptor import com.android.systemui.util.mockito.whenever diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/pipeline/wifi/data/repository/WifiRepositoryImplTest.kt b/packages/SystemUI/tests/src/com/android/systemui/statusbar/pipeline/wifi/data/repository/prod/WifiRepositoryImplTest.kt similarity index 99% rename from packages/SystemUI/tests/src/com/android/systemui/statusbar/pipeline/wifi/data/repository/WifiRepositoryImplTest.kt rename to packages/SystemUI/tests/src/com/android/systemui/statusbar/pipeline/wifi/data/repository/prod/WifiRepositoryImplTest.kt index 5d0d87b13d200..befb2901d4d5f 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/pipeline/wifi/data/repository/WifiRepositoryImplTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/pipeline/wifi/data/repository/prod/WifiRepositoryImplTest.kt @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.systemui.statusbar.pipeline.wifi.data.repository +package com.android.systemui.statusbar.pipeline.wifi.data.repository.prod import android.net.ConnectivityManager import android.net.Network @@ -33,8 +33,8 @@ import com.android.systemui.log.table.TableLogBuffer import com.android.systemui.statusbar.pipeline.shared.ConnectivityPipelineLogger import com.android.systemui.statusbar.pipeline.shared.data.model.DataActivityModel import com.android.systemui.statusbar.pipeline.wifi.data.model.WifiNetworkModel -import com.android.systemui.statusbar.pipeline.wifi.data.repository.WifiRepositoryImpl.Companion.ACTIVITY_DEFAULT -import com.android.systemui.statusbar.pipeline.wifi.data.repository.WifiRepositoryImpl.Companion.WIFI_NETWORK_DEFAULT +import com.android.systemui.statusbar.pipeline.wifi.data.repository.prod.WifiRepositoryImpl.Companion.ACTIVITY_DEFAULT +import com.android.systemui.statusbar.pipeline.wifi.data.repository.prod.WifiRepositoryImpl.Companion.WIFI_NETWORK_DEFAULT import com.android.systemui.util.concurrency.FakeExecutor import com.android.systemui.util.mockito.any import com.android.systemui.util.mockito.argumentCaptor diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/keyguard/data/quickaffordance/FakeKeyguardQuickAffordanceProviderClientFactory.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/keyguard/data/quickaffordance/FakeKeyguardQuickAffordanceProviderClientFactory.kt index d85dd2e7bc8a5..16a1298d7674d 100644 --- a/packages/SystemUI/tests/utils/src/com/android/systemui/keyguard/data/quickaffordance/FakeKeyguardQuickAffordanceProviderClientFactory.kt +++ b/packages/SystemUI/tests/utils/src/com/android/systemui/keyguard/data/quickaffordance/FakeKeyguardQuickAffordanceProviderClientFactory.kt @@ -18,17 +18,17 @@ package com.android.systemui.keyguard.data.quickaffordance import com.android.systemui.settings.UserTracker -import com.android.systemui.shared.quickaffordance.data.content.FakeKeyguardQuickAffordanceProviderClient -import com.android.systemui.shared.quickaffordance.data.content.KeyguardQuickAffordanceProviderClient +import com.android.systemui.shared.customization.data.content.CustomizationProviderClient +import com.android.systemui.shared.customization.data.content.FakeCustomizationProviderClient class FakeKeyguardQuickAffordanceProviderClientFactory( private val userTracker: UserTracker, - private val callback: (Int) -> KeyguardQuickAffordanceProviderClient = { - FakeKeyguardQuickAffordanceProviderClient() + private val callback: (Int) -> CustomizationProviderClient = { + FakeCustomizationProviderClient() }, ) : KeyguardQuickAffordanceProviderClientFactory { - override fun create(): KeyguardQuickAffordanceProviderClient { + override fun create(): CustomizationProviderClient { return callback(userTracker.userId) } } diff --git a/services/core/java/com/android/server/wm/ActivityRecord.java b/services/core/java/com/android/server/wm/ActivityRecord.java index f38633fb0e6c8..c712167c4cd1a 100644 --- a/services/core/java/com/android/server/wm/ActivityRecord.java +++ b/services/core/java/com/android/server/wm/ActivityRecord.java @@ -10127,8 +10127,8 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A // TODO(b/263592337): Explore enabling compat fake focus for fullscreen, e.g. for when // covered with bubbles. boolean shouldSendCompatFakeFocus() { - return mWmService.mLetterboxConfiguration.isCompatFakeFocusEnabled() && inMultiWindowMode() - && !inPinnedWindowingMode() && !inFreeformWindowingMode(); + return mWmService.mLetterboxConfiguration.isCompatFakeFocusEnabled(info) + && inMultiWindowMode() && !inPinnedWindowingMode() && !inFreeformWindowingMode(); } static class Builder { diff --git a/services/core/java/com/android/server/wm/LetterboxConfiguration.java b/services/core/java/com/android/server/wm/LetterboxConfiguration.java index 03c5589244309..9b84233272157 100644 --- a/services/core/java/com/android/server/wm/LetterboxConfiguration.java +++ b/services/core/java/com/android/server/wm/LetterboxConfiguration.java @@ -23,6 +23,8 @@ import android.annotation.IntDef; import android.annotation.NonNull; import android.annotation.Nullable; import android.content.Context; +import android.content.pm.ActivityInfo; +import android.content.pm.PackageManager; import android.graphics.Color; import android.provider.DeviceConfig; import android.util.Slog; @@ -39,6 +41,10 @@ final class LetterboxConfiguration { private static final String TAG = TAG_WITH_CLASS_NAME ? "LetterboxConfiguration" : TAG_ATM; + @VisibleForTesting + static final String DEVICE_CONFIG_KEY_ENABLE_COMPAT_FAKE_FOCUS = + "enable_compat_fake_focus"; + /** * Override of aspect ratio for fixed orientation letterboxing that is set via ADB with * set-fixed-orientation-letterbox-aspect-ratio or via {@link @@ -108,6 +114,12 @@ final class LetterboxConfiguration { /** Letterboxed app window is aligned to the right side. */ static final int LETTERBOX_VERTICAL_REACHABILITY_POSITION_BOTTOM = 2; + @VisibleForTesting + static final String PROPERTY_COMPAT_FAKE_FOCUS_OPT_IN = "com.android.COMPAT_FAKE_FOCUS_OPT_IN"; + @VisibleForTesting + static final String PROPERTY_COMPAT_FAKE_FOCUS_OPT_OUT = + "com.android.COMPAT_FAKE_FOCUS_OPT_OUT"; + final Context mContext; // Responsible for the persistence of letterbox[Horizontal|Vertical]PositionMultiplier @@ -977,11 +989,49 @@ final class LetterboxConfiguration { "enable_translucent_activity_letterbox", false); } - // TODO(b/262866240): Add listener to check for device config property + @VisibleForTesting + boolean getPackageManagerProperty(PackageManager pm, String property) { + boolean enabled = false; + try { + final PackageManager.Property p = pm.getProperty(property, mContext.getPackageName()); + enabled = p.getBoolean(); + } catch (PackageManager.NameNotFoundException e) { + // Property not found + } + return enabled; + } + + @VisibleForTesting + boolean isCompatFakeFocusEnabled(ActivityInfo info) { + if (!isCompatFakeFocusEnabledOnDevice()) { + return false; + } + // See if the developer has chosen to opt in / out of treatment + PackageManager pm = mContext.getPackageManager(); + if (getPackageManagerProperty(pm, PROPERTY_COMPAT_FAKE_FOCUS_OPT_OUT)) { + return false; + } else if (getPackageManagerProperty(pm, PROPERTY_COMPAT_FAKE_FOCUS_OPT_IN)) { + return true; + } + if (info.isChangeEnabled(ActivityInfo.OVERRIDE_ENABLE_COMPAT_FAKE_FOCUS)) { + return true; + } + return false; + } + /** Whether fake sending focus is enabled for unfocused apps in splitscreen */ - boolean isCompatFakeFocusEnabled() { - return mIsCompatFakeFocusEnabled && DeviceConfig.getBoolean( - DeviceConfig.NAMESPACE_WINDOW_MANAGER, "enable_compat_fake_focus", true); + boolean isCompatFakeFocusEnabledOnDevice() { + return mIsCompatFakeFocusEnabled + && DeviceConfig.getBoolean(DeviceConfig.NAMESPACE_WINDOW_MANAGER, + DEVICE_CONFIG_KEY_ENABLE_COMPAT_FAKE_FOCUS, true); + } + + /** + * Overrides whether fake sending focus is enabled for unfocused apps in splitscreen + */ + @VisibleForTesting + void setIsCompatFakeFocusEnabled(boolean enabled) { + mIsCompatFakeFocusEnabled = enabled; } /** Whether camera compatibility treatment is enabled. */ diff --git a/services/tests/wmtests/src/com/android/server/wm/LetterboxConfigurationTest.java b/services/tests/wmtests/src/com/android/server/wm/LetterboxConfigurationTest.java index e19670458bb7a..ead1a86757758 100644 --- a/services/tests/wmtests/src/com/android/server/wm/LetterboxConfigurationTest.java +++ b/services/tests/wmtests/src/com/android/server/wm/LetterboxConfigurationTest.java @@ -18,6 +18,7 @@ package com.android.server.wm; import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation; +import static com.android.server.wm.LetterboxConfiguration.DEVICE_CONFIG_KEY_ENABLE_COMPAT_FAKE_FOCUS; import static com.android.server.wm.LetterboxConfiguration.LETTERBOX_HORIZONTAL_REACHABILITY_POSITION_CENTER; import static com.android.server.wm.LetterboxConfiguration.LETTERBOX_HORIZONTAL_REACHABILITY_POSITION_LEFT; import static com.android.server.wm.LetterboxConfiguration.LETTERBOX_HORIZONTAL_REACHABILITY_POSITION_RIGHT; @@ -25,6 +26,8 @@ import static com.android.server.wm.LetterboxConfiguration.LETTERBOX_VERTICAL_RE import static com.android.server.wm.LetterboxConfiguration.LETTERBOX_VERTICAL_REACHABILITY_POSITION_CENTER; import static com.android.server.wm.LetterboxConfiguration.LETTERBOX_VERTICAL_REACHABILITY_POSITION_TOP; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; import static org.mockito.ArgumentMatchers.anyInt; import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.mock; @@ -34,6 +37,7 @@ import static org.mockito.Mockito.when; import android.content.Context; import android.platform.test.annotations.Presubmit; +import android.provider.DeviceConfig; import androidx.test.filters.SmallTest; @@ -43,18 +47,25 @@ import org.junit.Test; import java.util.Arrays; import java.util.function.BiConsumer; +/** + * Tests for the {@link LetterboxConfiguration} class. + * + * Build/Install/Run: + * atest WmTests:LetterboxConfigurationTests + */ @SmallTest @Presubmit public class LetterboxConfigurationTest { + private Context mContext; private LetterboxConfiguration mLetterboxConfiguration; private LetterboxConfigurationPersister mLetterboxConfigurationPersister; @Before public void setUp() throws Exception { - Context context = getInstrumentation().getTargetContext(); + mContext = getInstrumentation().getTargetContext(); mLetterboxConfigurationPersister = mock(LetterboxConfigurationPersister.class); - mLetterboxConfiguration = new LetterboxConfiguration(context, + mLetterboxConfiguration = new LetterboxConfiguration(mContext, mLetterboxConfigurationPersister); } @@ -222,6 +233,34 @@ public class LetterboxConfigurationTest { LetterboxConfiguration::movePositionForVerticalReachabilityToNextBottomStop); } + @Test + public void testIsCompatFakeFocusEnabledOnDevice() { + boolean wasFakeFocusEnabled = DeviceConfig + .getBoolean(DeviceConfig.NAMESPACE_WINDOW_MANAGER, + DEVICE_CONFIG_KEY_ENABLE_COMPAT_FAKE_FOCUS, false); + + // Set runtime flag to true and build time flag to false + DeviceConfig.setProperty(DeviceConfig.NAMESPACE_WINDOW_MANAGER, + DEVICE_CONFIG_KEY_ENABLE_COMPAT_FAKE_FOCUS, "true", false); + mLetterboxConfiguration.setIsCompatFakeFocusEnabled(false); + assertFalse(mLetterboxConfiguration.isCompatFakeFocusEnabledOnDevice()); + + // Set runtime flag to false and build time flag to true + DeviceConfig.setProperty(DeviceConfig.NAMESPACE_WINDOW_MANAGER, + DEVICE_CONFIG_KEY_ENABLE_COMPAT_FAKE_FOCUS, "false", false); + mLetterboxConfiguration.setIsCompatFakeFocusEnabled(true); + assertFalse(mLetterboxConfiguration.isCompatFakeFocusEnabledOnDevice()); + + // Set runtime flag to true so that both are enabled + DeviceConfig.setProperty(DeviceConfig.NAMESPACE_WINDOW_MANAGER, + DEVICE_CONFIG_KEY_ENABLE_COMPAT_FAKE_FOCUS, "true", false); + assertTrue(mLetterboxConfiguration.isCompatFakeFocusEnabledOnDevice()); + + DeviceConfig.setProperty(DeviceConfig.NAMESPACE_WINDOW_MANAGER, + DEVICE_CONFIG_KEY_ENABLE_COMPAT_FAKE_FOCUS, Boolean.toString(wasFakeFocusEnabled), + false); + } + private void assertForHorizontalMove(int from, int expected, int expectedTime, boolean halfFoldPose, BiConsumer move) { // We are in the current position diff --git a/services/tests/wmtests/src/com/android/server/wm/SizeCompatTests.java b/services/tests/wmtests/src/com/android/server/wm/SizeCompatTests.java index 7488e1c113ab7..e9080ab78fbc5 100644 --- a/services/tests/wmtests/src/com/android/server/wm/SizeCompatTests.java +++ b/services/tests/wmtests/src/com/android/server/wm/SizeCompatTests.java @@ -53,6 +53,8 @@ import static com.android.server.wm.ActivityRecord.State.RESTARTING_PROCESS; import static com.android.server.wm.ActivityRecord.State.RESUMED; import static com.android.server.wm.ActivityRecord.State.STOPPED; import static com.android.server.wm.DisplayContent.IME_TARGET_LAYERING; +import static com.android.server.wm.LetterboxConfiguration.PROPERTY_COMPAT_FAKE_FOCUS_OPT_IN; +import static com.android.server.wm.LetterboxConfiguration.PROPERTY_COMPAT_FAKE_FOCUS_OPT_OUT; import static com.android.server.wm.WindowContainer.POSITION_TOP; import static com.google.common.truth.Truth.assertThat; @@ -3228,6 +3230,80 @@ public class SizeCompatTests extends WindowTestsBase { assertEquals(newDensity, mActivity.getConfiguration().densityDpi); } + private ActivityRecord setUpActivityForCompatFakeFocusTest() { + final ActivityRecord activity = new ActivityBuilder(mAtm) + .setCreateTask(true) + .setOnTop(true) + // Set the component to be that of the test class in order to enable compat changes + .setComponent(ComponentName.createRelative(mContext, + com.android.server.wm.SizeCompatTests.class.getName())) + .build(); + final Task task = activity.getTask(); + task.setWindowingMode(WINDOWING_MODE_MULTI_WINDOW); + spyOn(activity.mWmService.mLetterboxConfiguration); + doReturn(true).when(activity.mWmService.mLetterboxConfiguration) + .isCompatFakeFocusEnabledOnDevice(); + return activity; + } + + @Test + @EnableCompatChanges({ActivityInfo.OVERRIDE_ENABLE_COMPAT_FAKE_FOCUS}) + public void testShouldSendFakeFocus_overrideEnabled_returnsTrue() { + ActivityRecord activity = setUpActivityForCompatFakeFocusTest(); + + assertTrue(activity.shouldSendCompatFakeFocus()); + } + + @Test + @DisableCompatChanges({ActivityInfo.OVERRIDE_ENABLE_COMPAT_FAKE_FOCUS}) + public void testShouldSendFakeFocus_overrideDisabled_returnsFalse() { + ActivityRecord activity = setUpActivityForCompatFakeFocusTest(); + + assertFalse(activity.shouldSendCompatFakeFocus()); + } + + @Test + @EnableCompatChanges({ActivityInfo.OVERRIDE_ENABLE_COMPAT_FAKE_FOCUS}) + public void testIsCompatFakeFocusEnabled_optOutPropertyAndOverrideEnabled_fakeFocusDisabled() { + ActivityRecord activity = setUpActivityForCompatFakeFocusTest(); + doReturn(true).when(activity.mWmService.mLetterboxConfiguration) + .getPackageManagerProperty(any(), eq(PROPERTY_COMPAT_FAKE_FOCUS_OPT_OUT)); + + assertFalse(activity.mWmService.mLetterboxConfiguration + .isCompatFakeFocusEnabled(activity.info)); + } + + @Test + @DisableCompatChanges({ActivityInfo.OVERRIDE_ENABLE_COMPAT_FAKE_FOCUS}) + public void testIsCompatFakeFocusEnabled_optInPropertyEnabled_noOverride_fakeFocusEnabled() { + ActivityRecord activity = setUpActivityForCompatFakeFocusTest(); + doReturn(true).when(activity.mWmService.mLetterboxConfiguration) + .getPackageManagerProperty(any(), eq(PROPERTY_COMPAT_FAKE_FOCUS_OPT_IN)); + + assertTrue(activity.mWmService.mLetterboxConfiguration + .isCompatFakeFocusEnabled(activity.info)); + } + + @Test + public void testIsCompatFakeFocusEnabled_optOutPropertyEnabled_fakeFocusDisabled() { + ActivityRecord activity = setUpActivityForCompatFakeFocusTest(); + doReturn(true).when(activity.mWmService.mLetterboxConfiguration) + .getPackageManagerProperty(any(), eq(PROPERTY_COMPAT_FAKE_FOCUS_OPT_OUT)); + + assertFalse(activity.mWmService.mLetterboxConfiguration + .isCompatFakeFocusEnabled(activity.info)); + } + + @Test + public void testIsCompatFakeFocusEnabled_optInPropertyEnabled_fakeFocusEnabled() { + ActivityRecord activity = setUpActivityForCompatFakeFocusTest(); + doReturn(true).when(activity.mWmService.mLetterboxConfiguration) + .getPackageManagerProperty(any(), eq(PROPERTY_COMPAT_FAKE_FOCUS_OPT_IN)); + + assertTrue(activity.mWmService.mLetterboxConfiguration + .isCompatFakeFocusEnabled(activity.info)); + } + private int getExpectedSplitSize(int dimensionToSplit) { int dividerWindowWidth = mActivity.mWmService.mContext.getResources().getDimensionPixelSize(