diff --git a/res/values-af/strings.xml b/res/values-af/strings.xml index 629579bb8af..c39922f03e5 100644 --- a/res/values-af/strings.xml +++ b/res/values-af/strings.xml @@ -3123,6 +3123,8 @@ Kom meer te wete by g.co/pixel/faceunlock." "Stelselgebruik vir die afgelope 24 u." "Stelselgebruik vir %s" "Programgebruik vir %s" + "Stelselgebruik sedert battery laas volgelaai is tot %s" + "Appgebruik sedert battery laas volgelaai is tot %s" "Total: minder as \'n min." "Agtergrond: minder as \'n min." "Totaal: %s" diff --git a/res/values-am/strings.xml b/res/values-am/strings.xml index 5ce22544db7..7f5b17fb657 100644 --- a/res/values-am/strings.xml +++ b/res/values-am/strings.xml @@ -3123,6 +3123,8 @@ g.co/pixel/faceunlock ላይ የበለጠ ይወቁ።" "ላለፉት 24 ሰዓቶች የሥርዓት አጠቃቀም" "የ%s የሥርዓት አጠቃቀም" "የ%s የመተግበሪያ አጠቃቀም" + "ሙሉ ኃይል ከተሞላበት የመጨረሻ ጊዜ ጀምሮ እስከ %s ያለ የሥርዓት አጠቃቀም" + "ሙሉ ኃይል ከተሞላበት የመጨረሻው ጊዜ ጀምሮ እስከ %s ድረስ ያለ የመተግበሪያ አጠቃቀም" "ጠቅላላ፦ ከአንድ ደቂቃ በታች" "ዳራ፦ ከአንድ ደቂቃ በታች" "ጠቅላላ፦ %s" diff --git a/res/values-ar/strings.xml b/res/values-ar/strings.xml index 724f07634cf..4eeb3cbe425 100644 --- a/res/values-ar/strings.xml +++ b/res/values-ar/strings.xml @@ -3275,6 +3275,8 @@ "استخدام النظام خلال آخر 24 ساعة" "استخدام النظام خلال %s" "استخدام التطبيق خلال %s" + "استخدام النظام للبطارية منذ آخر شحن كامل حتى %s" + "استخدام التطبيق للبطارية منذ آخر شحن كامل حتى %s" "مدة الاستخدام الإجمالي: أقل من دقيقة" "مدة استخدام البطارية في الخلفية: أقل من دقيقة" "مدة الاستخدام الإجمالي: %s" diff --git a/res/values-as/strings.xml b/res/values-as/strings.xml index 49dc438e9f6..784c3c680f7 100644 --- a/res/values-as/strings.xml +++ b/res/values-as/strings.xml @@ -3123,6 +3123,8 @@ g.co/pixel/faceunlockত অধিক জানক।" "যোৱা ২৪ ঘণ্টাত হোৱা ছিষ্টেমৰ ব্যৱহাৰ" "%sৰ বাবে ছিষ্টেমৰ ব্যৱহাৰ" "%sৰ বাবে এপৰ ব্যৱহাৰ" + "%sলৈ অন্তিমবাৰ সম্পূৰ্ণৰূপে চাৰ্জ হোৱাৰ পাছত ছিষ্টেমৰ ব্যৱহাৰ" + "%sলৈকে অন্তিমবাৰ সম্পূৰ্ণৰূপে চাৰ্জ হোৱাৰ পাছত এপৰ ব্যৱহাৰ" "মুঠ: এক মিনিটতকৈ কম" "নেপথ্য: এক মিনিটতকৈ কম" "মুঠ: %s" diff --git a/res/values-az/strings.xml b/res/values-az/strings.xml index 10edc3bd520..7ee81a69297 100644 --- a/res/values-az/strings.xml +++ b/res/values-az/strings.xml @@ -3123,6 +3123,8 @@ "Son 24 saat üçün sistem istifadəsi" "%s üçün sistem istifadəsi" "%s üçün tətbiq istifadəsi" + "Son tam şarjdan %s radələrinə qədər sistem istifadəsi" + "Son tam şarjdan %s radələrinə qədər tətbiq istifadəsi" "Cəmi: bir dəqiqədən az" "Arxa fon: bir dəqiqədən az" "Cəmi: %s" diff --git a/res/values-b+sr+Latn/strings.xml b/res/values-b+sr+Latn/strings.xml index 6bec7503855..c230c201171 100644 --- a/res/values-b+sr+Latn/strings.xml +++ b/res/values-b+sr+Latn/strings.xml @@ -3161,6 +3161,8 @@ Saznajte više na g.co/pixel/faceunlock." "Potrošnja od strane sistema u poslednja 24 sata" "Potrošnja od strane sistema za: %s" "Potrošnja od strane aplikacija za: %s" + "Korišćenje sistema od poslednjeg potpunog punjenja do %s" + "Korišćenje aplikacija od poslednjeg potpunog punjenja do %s" "Ukupno: manje od minut" "Pozadina: manje od minut" "Ukupno: %s" diff --git a/res/values-be/strings.xml b/res/values-be/strings.xml index c468a16c977..36b63374429 100644 --- a/res/values-be/strings.xml +++ b/res/values-be/strings.xml @@ -3199,6 +3199,8 @@ "Выкарыстанне сістэмай зараду за апошнія 24 гадз" "Выкарыстанне сістэмай за %s" "Выкарыстанне праграмай за %s" + "Выкарыстанне сістэмы з моманту апошняй поўнай зарадкі да %s" + "Выкарыстанне праграм з моманту апошняй поўнай зарадкі да %s" "Усяго: менш адной хвіліны" "У фонавым рэжыме: менш адной хвіліны" "Усяго: %s" diff --git a/res/values-bg/strings.xml b/res/values-bg/strings.xml index e0d9f7a6699..620b014f2ae 100644 --- a/res/values-bg/strings.xml +++ b/res/values-bg/strings.xml @@ -3123,6 +3123,8 @@ "Използване от системата за последните 24 ч" "Използване от системата за %s" "Използване от приложенията за %s" + "Използване на системата от последното пълно зареждане до %s" + "Използване на приложенията от последното пълно зареждане до %s" "Общо: По-малко от една минута" "На заден план: По-малко от една минута" "Общо: %s" diff --git a/res/values-bn/strings.xml b/res/values-bn/strings.xml index 1aa82406baa..9450066c347 100644 --- a/res/values-bn/strings.xml +++ b/res/values-bn/strings.xml @@ -3123,6 +3123,8 @@ g.co/pixel/faceunlock লিঙ্ক থেকে আরও জানুন।" "গত ২৪ ঘন্টা ব্যাটারি সিস্টেম ব্যবহারের তথ্য" "%s-এর জন্য সিস্টেমের ব্যবহার" "%s-এর জন্য অ্যাপের ব্যবহার" + "শেষবার সম্পূর্ণ চার্জ হওয়া থেকে %s পর্যন্ত সিস্টেমের ব্যবহার" + "শেষবার সম্পূর্ণ চার্জ হওয়া থেকে %s পর্যন্ত অ্যাপের ব্যবহার" "মোট: এক মিনিটের থেকে কম" "ব্যাকগ্রাউন্ড: এক মিনিটের থেকে কম" "মোট: %s" diff --git a/res/values-bs/strings.xml b/res/values-bs/strings.xml index 21ca8d3c5a1..3cbf1a2d1c0 100644 --- a/res/values-bs/strings.xml +++ b/res/values-bs/strings.xml @@ -3161,6 +3161,8 @@ Saznajte više na g.co/pixel/faceunlock." "Korištenje sistema u posljednja 24 h" "Korištenje sistema za: %s" "Korištenje aplikacije za: %s" + "Korištenje sistema od posljednjeg potpunog punjenja do dana %s" + "Korištenje aplikacija od posljednjeg potpunog punjenja do dana %s" "Ukupno: manje od minute" "Pozadina: manje od minute" "Ukupno: %s" diff --git a/res/values-ca/strings.xml b/res/values-ca/strings.xml index 28f14903855..ba2a9b06daa 100644 --- a/res/values-ca/strings.xml +++ b/res/values-ca/strings.xml @@ -3123,6 +3123,8 @@ Obtén més informació a g.co/pixel/faceunlock." "Ús del sistema durant les 24 darreres hores" "Ús del sistema entre %s" "Ús d\'aplicacions entre %s" + "Ús del sistema des de la darrera càrrega completa fins a %s" + "Ús de les aplicacions des de la darrera càrrega completa fins a %s" "Total: menys d\'un minut" "En segon pla: menys d\'un minut" "Total: %s" diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml index 5610e9e631f..05e65608769 100644 --- a/res/values-cs/strings.xml +++ b/res/values-cs/strings.xml @@ -3199,6 +3199,8 @@ Další informace: g.co/pixel/faceunlock." "Využití baterie systémem za posledních 24 hodin" "Využití baterie systémem: %s" "Využití baterie aplikací: %s" + "Využití systémem od posledního nabití do %s" + "Využití aplikacemi od posledního nabití do %s" "Celkem: méně než minuta" "Na pozadí: méně než minuta" "Celkem: %s" diff --git a/res/values-da/strings.xml b/res/values-da/strings.xml index 39890e2d5b4..9f8550c6d8f 100644 --- a/res/values-da/strings.xml +++ b/res/values-da/strings.xml @@ -3123,6 +3123,8 @@ Få flere oplysninger på g.co/pixel/faceunlock." "Systemforbrug for de seneste 24 timer" "Systemforbrug for %s" "Appforbrug for %s" + "Systemforbrug siden sidste fulde opladning %s" + "Appforbrug siden sidste fulde opladning %s" "I alt: Under et minut" "Baggrund: Under et minut" "I alt: %s" diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml index 38d17b7272f..63e0d720bd7 100644 --- a/res/values-de/strings.xml +++ b/res/values-de/strings.xml @@ -3124,6 +3124,8 @@ Weitere Informationen findest du unter g.co/pixel/faceunlock" "Systemnutzung während der letzten 24 Stunden" "Systemnutzung im Zeitraum %s" "App-Nutzung im Zeitraum %s" + "Systemnutzung von letzter vollständiger Aufladung bis %s" + "App-Nutzung von letzter vollständiger Aufladung bis %s" "Gesamt: weniger als eine Minute" "Hintergrund: weniger als eine Minute" "Gesamt: %s" diff --git a/res/values-el/strings.xml b/res/values-el/strings.xml index 273ed493f30..ad549b34e97 100644 --- a/res/values-el/strings.xml +++ b/res/values-el/strings.xml @@ -3123,6 +3123,8 @@ "Χρήση συστήματος για τις τελευταίες 24 ω." "Χρήση συστήματος για %s" "Χρήση εφαρμογής για %s" + "Χρήση συστήματος από την τελευταία πλήρη φόρτιση έως %s" + "Χρήση εφαρμογών από την τελευταία πλήρη φόρτιση έως %s" "Σύνολο: λιγότερο από ένα λεπτό" "Παρασκήνιο: λιγότερο από ένα λεπτό" "Σύνολο: %s" diff --git a/res/values-en-rAU/strings.xml b/res/values-en-rAU/strings.xml index 358f6ced94c..26781c50da1 100644 --- a/res/values-en-rAU/strings.xml +++ b/res/values-en-rAU/strings.xml @@ -3123,6 +3123,8 @@ Learn more at g.co/pixel/faceunlock." "System usage for past 24 hours" "System usage for %s" "App usage for %s" + "System usage since last full charge to %s" + "App usage since last full charge to %s" "Total: less than a min." "Background: less than a min" "Total: %s" diff --git a/res/values-en-rCA/strings.xml b/res/values-en-rCA/strings.xml index 913ce2280ab..b5b268f024b 100644 --- a/res/values-en-rCA/strings.xml +++ b/res/values-en-rCA/strings.xml @@ -3123,6 +3123,8 @@ Learn more at g.co/pixel/faceunlock." "System usage for past 24 hr" "System usage for %s" "App usage for %s" + "System usage since last full charge to %s" + "App usage since last full charge to %s" "Total: less than a min" "Background: less than a min" "Total: %s" diff --git a/res/values-en-rGB/strings.xml b/res/values-en-rGB/strings.xml index 69fbf1753c0..38084eeebe8 100644 --- a/res/values-en-rGB/strings.xml +++ b/res/values-en-rGB/strings.xml @@ -3123,6 +3123,8 @@ Learn more at g.co/pixel/faceunlock." "System usage for past 24 hours" "System usage for %s" "App usage for %s" + "System usage since last full charge to %s" + "App usage since last full charge to %s" "Total: less than a min." "Background: less than a min" "Total: %s" diff --git a/res/values-en-rIN/strings.xml b/res/values-en-rIN/strings.xml index 2d738325332..9e2fb97ad9f 100644 --- a/res/values-en-rIN/strings.xml +++ b/res/values-en-rIN/strings.xml @@ -3123,6 +3123,8 @@ Learn more at g.co/pixel/faceunlock." "System usage for past 24 hours" "System usage for %s" "App usage for %s" + "System usage since last full charge to %s" + "App usage since last full charge to %s" "Total: less than a min." "Background: less than a min" "Total: %s" diff --git a/res/values-en-rXC/strings.xml b/res/values-en-rXC/strings.xml index c224fdba2f2..719f513d27e 100644 --- a/res/values-en-rXC/strings.xml +++ b/res/values-en-rXC/strings.xml @@ -3099,6 +3099,8 @@ "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‏‏‎‎‏‎‏‏‏‏‏‎‏‏‏‎‏‏‎‏‏‏‏‏‎‏‏‏‏‏‏‏‎‎‎‏‏‎‎‎‎‏‏‎‏‎‏‎‎‎‏‏‏‎‎‎‏‏‏‎System usage for past 24 hr‎‏‎‎‏‎" "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‏‎‏‎‎‎‏‎‏‎‏‎‎‏‎‏‏‎‎‏‏‏‏‎‏‎‏‎‎‏‏‎‎‎‏‎‎‎‏‎‏‏‏‎‎‏‏‏‏‎‏‎‎‏‏‎‏‎‎‎System usage for ‎‏‎‎‏‏‎%s‎‏‎‎‏‏‏‎‎‏‎‎‏‎" "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‏‎‏‎‏‏‏‎‎‏‎‎‎‎‎‎‎‏‏‏‎‎‏‎‎‏‎‏‏‏‏‎‏‏‏‏‏‏‏‎‏‎‎‏‏‎‎‎‏‏‏‎‎‎‎‎‏‎‏‎App usage for ‎‏‎‎‏‏‎%s‎‏‎‎‏‏‏‎‎‏‎‎‏‎" + "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‎‏‎‎‎‏‏‏‏‏‎‎‎‎‎‎‎‏‏‎‏‏‏‏‎‏‏‏‏‏‏‏‏‎‏‏‏‎‎‏‏‎‏‎‏‏‏‎‏‎‎‎‎‏‏‎‎‏‏‎System usage since last full charge to ‎‏‎‎‏‏‎%s‎‏‎‎‏‏‏‎‎‏‎‎‏‎" + "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‏‎‎‎‎‏‏‎‏‏‏‏‏‏‏‎‎‎‏‎‎‏‏‏‎‎‏‎‏‏‏‎‏‏‏‏‎‏‎‏‏‏‎‎‏‎‎‎‏‏‎‎‏‏‎‎‎‏‎‎App usage since last full charge to ‎‏‎‎‏‏‎%s‎‏‎‎‏‏‏‎‎‏‎‎‏‎" "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‏‏‎‎‏‎‏‏‏‏‎‏‎‎‏‎‎‏‎‎‏‎‏‎‏‏‎‎‎‏‏‎‎‏‎‎‏‎‏‏‏‏‎‎‏‏‏‎‎‎‎‏‎‎‎‎‏‎‏‎Total: less than a min‎‏‎‎‏‎" "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‏‏‎‏‏‏‎‏‏‎‏‏‎‎‎‏‎‏‎‎‎‎‎‏‏‏‎‏‎‎‎‏‎‎‎‏‎‎‏‏‎‎‏‎‎‎‎‎‎‎‏‎‎‎‏‎‏‎‏‎Background: less than a min‎‏‎‎‏‎" "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‏‎‎‏‎‎‏‏‎‏‎‏‏‎‎‏‏‎‏‏‎‎‎‏‎‎‏‏‏‏‎‎‎‏‏‏‏‏‎‎‏‏‏‏‎‏‏‏‏‏‎‏‎‏‏‏‎‎‏‎Total: ‎‏‎‎‏‏‎%s‎‏‎‎‏‏‏‎‎‏‎‎‏‎" diff --git a/res/values-es-rUS/strings.xml b/res/values-es-rUS/strings.xml index e35f21166eb..fb962569afd 100644 --- a/res/values-es-rUS/strings.xml +++ b/res/values-es-rUS/strings.xml @@ -3123,6 +3123,8 @@ Obtén más información en g.co/pixel/faceunlock." "Uso del sistema en las últimas 24 h" "Uso del sistema de %s" "Uso de apps de %s" + "Uso del sistema desde la última carga completa hasta el %s" + "Uso de apps desde la última carga completa hasta el %s" "Total: menos de un minuto" "En segundo plano: menos de un minuto" "Total: %s" diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml index 901361ba2a4..fd343e6802c 100644 --- a/res/values-es/strings.xml +++ b/res/values-es/strings.xml @@ -3123,6 +3123,8 @@ Para consultar más información, visita g.co/pixel/faceunlock." "Uso del sistema durante las últimas 24 h" "Uso del sistema de %s" "Uso de aplicaciones de %s" + "Uso del sistema desde la última carga completa hasta las %s" + "Uso de la aplicación desde la última carga completa hasta las %s" "Total: menos de 1 minuto" "En segundo plano: menos de 1 minuto" "Total: %s" diff --git a/res/values-et/strings.xml b/res/values-et/strings.xml index e8180f52d01..6d1389033be 100644 --- a/res/values-et/strings.xml +++ b/res/values-et/strings.xml @@ -3123,6 +3123,8 @@ Lisateave: g.co/pixel/faceunlock." "Süsteemi kasutus viimase 24 h jooksul" "Süsteemi kasutus: %s" "Rakenduse kasutus: %s" + "Süsteemi kasutus pärast viimast täislaadimist %s" + "Rakenduse kasutus pärast viimast täislaadimist %s" "Kokku: vähem kui minut" "Taustal: vähem kui minut" "Kokku: %s" diff --git a/res/values-eu/strings.xml b/res/values-eu/strings.xml index 36b260e1033..f4fae8f0449 100644 --- a/res/values-eu/strings.xml +++ b/res/values-eu/strings.xml @@ -3123,6 +3123,8 @@ Lortu informazio gehiago g.co/pixel/faceunlock helbidean." "Sistemak erabilitakoa azken 24 orduetan" "Sistemak erabilitakoa: %s" "Aplikazioek erabilitakoa: %s" + "Sistemaren erabilera gailua guztiz kargatuz geroztik (%s)" + "Aplikazioaren erabilera gailua guztiz kargatuz geroztik (%s)" "Guztira: minutu bat baino gutxiago" "Atzeko planoa: minutu bat baino gutxiago" "Guztira: %s" diff --git a/res/values-fa/strings.xml b/res/values-fa/strings.xml index 9ed220f14a2..494e9d80010 100644 --- a/res/values-fa/strings.xml +++ b/res/values-fa/strings.xml @@ -3123,6 +3123,8 @@ "استفاده از سیستم در ۲۴ ساعت گذشته" "استفاده از سیستم برای %s" "استفاده از برنامه برای %s" + "مصرف سیستم از آخرین شارژ کامل تا %s" + "مصرف برنامه از آخرین شارژ کامل تا %s" "مجموع: کمتر از یک دقیقه" "پس‌زمینه: کمتر از یک دقیقه" "مجموع: %s" diff --git a/res/values-fi/strings.xml b/res/values-fi/strings.xml index 3718e6615e4..ef0f501ed55 100644 --- a/res/values-fi/strings.xml +++ b/res/values-fi/strings.xml @@ -3123,6 +3123,8 @@ Lue lisää: g.co/pixel/faceunlock." "Järjestelmän käyttö 24 viime tunnin sisällä" "Järjestelmän käyttö: %s" "Sovelluksen käyttö: %s" + "Järjestelmän käyttö edellisestä täydestä latauksesta klo %s asti" + "Sovellusten käyttö edellisestä täydestä latauksesta klo %s asti" "Yhteensä: alle minuutti" "Taustalla: alle minuutti" "Yhteensä: %s" diff --git a/res/values-fr-rCA/strings.xml b/res/values-fr-rCA/strings.xml index b6d35bcd5de..76337e38e92 100644 --- a/res/values-fr-rCA/strings.xml +++ b/res/values-fr-rCA/strings.xml @@ -3123,6 +3123,8 @@ Apprenez-en plus à la page g.co/pixel/faceunlock." "Utilisation par le système, dernières 24 h" "Utilisation par le système : %s" "Utilisation par l\'application : %s" + "Utilisation du système depuis la dernière recharge complète jusqu\'à %s" + "Utilisation des applications depuis la dernière recharge complète jusqu\'à %s" "Total : moins d\'une minute" "Arrière-plan : moins d\'une minute" "Total : %s" diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml index 91c83189da6..a1eb8a3f725 100644 --- a/res/values-fr/strings.xml +++ b/res/values-fr/strings.xml @@ -3123,6 +3123,8 @@ En savoir plus : g.co/pixel/faceunlock." "Utilisation par le système - Dernières 24 h" "Utilisation par le système pour la période : %s" "Utilisation par l\'appli pour la période : %s" + "Utilisation par le système depuis la dernière charge complète (%s)" + "Utilisation par l\'appli depuis la dernière charge complète (%s)" "Total : moins d\'une min" "Arrière-plan : moins d\'une min" "Total : %s" diff --git a/res/values-gl/strings.xml b/res/values-gl/strings.xml index 5933239f8a4..626cd0e4a27 100644 --- a/res/values-gl/strings.xml +++ b/res/values-gl/strings.xml @@ -3123,6 +3123,8 @@ Obtén máis información en g.co/pixel/faceunlock." "Uso do sistema durante as últimas 24 horas" "Uso do sistema durante %s" "Uso das aplicacións durante %s" + "Uso por parte do sistema desde a última carga completa ata esta hora: %s" + "Uso por parte das aplicacións desde a última carga completa ata esta hora: %s" "Total: menos dun minuto" "En segundo plano: menos dun minuto" "Total: %s" diff --git a/res/values-gu/strings.xml b/res/values-gu/strings.xml index fbf92928721..35b0ed68744 100644 --- a/res/values-gu/strings.xml +++ b/res/values-gu/strings.xml @@ -3123,6 +3123,8 @@ g.co/pixel/faceunlock પર વધુ જાણો." "છેલ્લા 24 કલાકમાં સિસ્ટમનો વપરાશ" "%s માટે સિસ્ટમનો વપરાશ" "%s માટે ઍપનો વપરાશ" + "છેલ્લે %s પર પૂર્ણ ચાર્જ કર્યા પછી સિસ્ટમ દ્વારા કરાયેલો વપરાશ" + "છેલ્લે %s પર પૂર્ણ ચાર્જ કર્યા પછી ઍપ દ્વારા કરાયેલો વપરાશ" "કુલ: એક મિનિટ કરતાં ઓછો સમય" "બૅકગ્રાઉન્ડ: એક મિનિટ કરતાં ઓછો સમય" "કુલ: %s" diff --git a/res/values-hi/strings.xml b/res/values-hi/strings.xml index 1b7dc66a4aa..ce676555630 100644 --- a/res/values-hi/strings.xml +++ b/res/values-hi/strings.xml @@ -3123,6 +3123,8 @@ "पिछले 24 घंटों में, सिस्टम ने कितनी बैटरी इस्तेमाल की" "%s के बीच सिस्टम के इस्तेमाल की जानकारी" "%s के बीच ऐप्लिकेशन के इस्तेमाल की जानकारी" + "पिछली बार पूरी तरह चार्ज होने से लेकर %s तक, सिस्टम के इस्तेमाल में खर्च हुई बैटरी" + "पिछली बार पूरी तरह चार्ज होने से लेकर %s तक, ऐप्लिकेशन के इस्तेमाल में खर्च हुई बैटरी" "इस्तेमाल का कुल समय: एक मिनट से कम" "बैकग्राउंड में इस्तेमाल होने का समय: एक मिनट से कम" "इस्तेमाल का कुल समय: %s" diff --git a/res/values-hr/strings.xml b/res/values-hr/strings.xml index 0c015fadb0d..1d0884082c4 100644 --- a/res/values-hr/strings.xml +++ b/res/values-hr/strings.xml @@ -3161,6 +3161,8 @@ Saznajte više na stranici g.co/pixel/faceunlock." "Upotreba sustava u posljednja 24 sata" "Upotreba sustava za %s" "Upotreba aplikacije za %s" + "Upotreba sustava od posljednjeg potpunog punjenja do %s" + "Upotreba aplikacija od posljednjeg potpunog punjenja do %s" "Ukupno: manje od minute" "U pozadini: manje od minute" "Ukupno: %s" diff --git a/res/values-hu/strings.xml b/res/values-hu/strings.xml index a2828600387..e120164f3b0 100644 --- a/res/values-hu/strings.xml +++ b/res/values-hu/strings.xml @@ -3123,6 +3123,8 @@ További információ: g.co/pixel/faceunlock." "Rendszerhasználat – legutóbbi 24 óra" "Rendszer használata: %s" "Alkalmazás használata: %s" + "Rendszerhasználat az utolsó teljes feltöltés óta eddig: %s" + "Alkalmazáshasználat az utolsó teljes feltöltés óta eddig: %s" "Összesen: kevesebb mint egy perc" "Háttér: kevesebb mint egy perc" "Összesen: %s" diff --git a/res/values-hy/strings.xml b/res/values-hy/strings.xml index b2765b624bd..981b5bdfc4a 100644 --- a/res/values-hy/strings.xml +++ b/res/values-hy/strings.xml @@ -3123,6 +3123,8 @@ "Համակարգի կողմից մարտկոցի օգտագործումը վերջին 24 ժամվա ընթացքում" "Համակարգի կողմից մարտկոցի օգտագործումը (%s)" "Հավելվածների կողմից մարտկոցի օգտագործումը (%s)" + "Համակարգի օգտագործումը վերջին լրիվ լիցքավորումից մինչև %s" + "Հավելվածի օգտագործումը վերջին լրիվ լիցքավորումից մինչև %s" "Ընդամենը՝ մեկ րոպեից պակաս" "Ֆոնային՝ մեկ րոպեից պակաս" "Ընդամենը՝ %s" diff --git a/res/values-in/strings.xml b/res/values-in/strings.xml index 0240e3c9b38..6a3a4c3018a 100644 --- a/res/values-in/strings.xml +++ b/res/values-in/strings.xml @@ -3123,6 +3123,8 @@ Pelajari lebih lanjut di g.co/pixel/faceunlock." "Penggunaan sistem selama 24 jam terakhir" "Penggunaan sistem untuk %s" "Penggunaan aplikasi untuk %s" + "Penggunaan sistem sejak terakhir kali baterai terisi penuh sampai %s" + "Penggunaan aplikasi sejak terakhir kali baterai terisi penuh sampai %s" "Total: kurang dari satu menit" "Latar belakang: kurang dari satu menit" "Total: %s" diff --git a/res/values-is/strings.xml b/res/values-is/strings.xml index 19cf4db6ebb..9e77b568bdd 100644 --- a/res/values-is/strings.xml +++ b/res/values-is/strings.xml @@ -3123,6 +3123,8 @@ Nánar á g.co/pixel/faceunlock." "Kerfisnotkun síðasta sólarhringinn" "Notkun kerfis: %s" "Notkun forrits: %s" + "Notkun kerfis frá síðustu fullu hleðslu til %s" + "Notkun forrita frá síðustu fullu hleðslu til %s" "Alls: innan við mínúta" "Í bakgrunni: innan við mínúta" "Samtals: %s" diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml index b882cb6c30c..74a9a855f16 100644 --- a/res/values-it/strings.xml +++ b/res/values-it/strings.xml @@ -3123,6 +3123,8 @@ Scopri di più all'indirizzo g.co/pixel/faceunlock." "Utilizzo da parte del sistema nelle ultime 24 ore" "Utilizzo da parte del sistema nell\'intervallo di tempo %s" "Utilizzo da parte delle app nell\'intervallo di tempo %s" + "Utilizzo da parte del sistema dall\'ultima ricarica completa fino a %s" + "Utilizzo da parte delle app dall\'ultima ricarica completa fino a %s" "Totale: meno di un minuto" "In background: meno di un minuto" "Totale: %s" diff --git a/res/values-iw/strings.xml b/res/values-iw/strings.xml index d8f6d0411e3..464b9871c6e 100644 --- a/res/values-iw/strings.xml +++ b/res/values-iw/strings.xml @@ -3161,6 +3161,8 @@ "צריכת הסוללה של המערכת ב-24 השעות האחרונות" "צריכת הסוללה על ידי המערכת בשעות %s" "צריכת הסוללה על ידי האפליקציה בשעות %s" + "צריכת הסוללה של המערכת מאז הטעינה המלאה האחרונה עד %s" + "צריכת הסוללה של האפליקציות מאז הטעינה המלאה האחרונה עד %s" "סה\"כ: פחות מדקה" "ברקע: פחות מדקה" "סה\"כ: %s" diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml index 9d314e56247..884eeabdff3 100644 --- a/res/values-ja/strings.xml +++ b/res/values-ja/strings.xml @@ -3123,6 +3123,8 @@ "過去 24 時間のシステムのバッテリー使用量" "%sのシステムのバッテリー使用量" "%sのアプリのバッテリー使用量" + "前回のフル充電から %s までのシステムのバッテリー使用量" + "前回のフル充電から %s までのアプリのバッテリー使用量" "合計: 1 分未満" "バックグラウンド: 1 分未満" "合計: %s" diff --git a/res/values-ka/strings.xml b/res/values-ka/strings.xml index bb6075c78f2..2030d4c18f9 100644 --- a/res/values-ka/strings.xml +++ b/res/values-ka/strings.xml @@ -3123,6 +3123,8 @@ "სისტემის გამოყენება ბოლო 24 საათის მანძილზე" "სისტემის გამოყენება შემდეგისთვის: %s" "აპის გამოყენება შემდეგისთვის: %s" + "სისტემის გამოყენების დეტალები ბოლო სრული დამუხტვის შემდეგ %s-მდე" + "აპის გამოყენების დეტალები ბოლო სრული დამუხტვის შემდეგ %s-მდე" "სულ: წუთზე ნაკლები" "ფონი: წუთზე ნაკლები" "სულ: %s" diff --git a/res/values-kk/strings.xml b/res/values-kk/strings.xml index 2e76427d96b..fb3ace1e035 100644 --- a/res/values-kk/strings.xml +++ b/res/values-kk/strings.xml @@ -3123,6 +3123,8 @@ "Жүйенің соңғы 24 сағатта батарея зарядын пайдалануы" "Жүйенің %s пайдалануы" "Қолданбаның %s пайдалануы" + "Соңғы толық зарядталған уақыттан (%s) бергі жүйенің пайдаланылуы" + "Соңғы толық зарядталған уақыттан (%s) бергі қолданбаның пайдаланылуы" "Барлығы: бір минуттан аз" "Фондық режимде: бір минуттан аз" "Барлығы: %s" diff --git a/res/values-km/strings.xml b/res/values-km/strings.xml index 317067702a3..ce91da8c9ad 100644 --- a/res/values-km/strings.xml +++ b/res/values-km/strings.xml @@ -3123,6 +3123,8 @@ "ការប្រើប្រាស់ប្រព័ន្ធក្នុងរយៈពេល 24 ម៉ោងចុងក្រោយ" "ការប្រើប្រាស់ប្រព័ន្ធចន្លោះ %s" "ការប្រើប្រាស់កម្មវិធីក្នុងរយៈពេល %s" + "ការប្រើប្រាស់ប្រព័ន្ធតាំងពីការសាកថ្មពេញលើកចុងក្រោយដល់ថ្ងៃ %s" + "ការប្រើប្រាស់​កម្មវិធី​​តាំង​ពី​សាកថ្ម​ពេញលើក​ចុង​ក្រោយដល់ថ្ងៃ %s" "សរុប៖ តិចជាងមួយនាទី" "ផ្ទៃខាងក្រោយ៖ តិចជាងមួយនាទី" "សរុប៖ %s" diff --git a/res/values-kn/strings.xml b/res/values-kn/strings.xml index 1b33efddbca..29c6947de10 100644 --- a/res/values-kn/strings.xml +++ b/res/values-kn/strings.xml @@ -3123,6 +3123,8 @@ g.co/pixel/faceunlock ನಲ್ಲಿ ಇನ್ನಷ್ಟು ತಿಳಿಯ "ಕಳೆದ 24 ಗಂಟೆಗಳಲ್ಲಿನ ಸಿಸ್ಟಂ ಬಳಕೆ" "%s ಗಾಗಿ ಸಿಸ್ಟಂ ಬಳಕೆ" "%s ಗಾಗಿ ಆ್ಯಪ್ ಬಳಕೆ" + "ಕೊನೆಯ ಬಾರಿ ಪೂರ್ಣ ಚಾರ್ಜ್ ಮಾಡಿದಾಗಿನಿಂದ %s ವರೆಗಿನ ಸಿಸ್ಟಂ ಬಳಕೆ" + "ಕೊನೆಯ ಬಾರಿ ಪೂರ್ಣ ಚಾರ್ಜ್ ಮಾಡಿದಾಗಿನಿಂದ %s ವರೆಗಿನ ಆ್ಯಪ್ ಬಳಕೆ" "ಒಟ್ಟು: ಒಂದು ನಿಮಿಷಕ್ಕಿಂತ ಕಡಿಮೆ" "ಹಿನ್ನೆಲೆ: ಒಂದು ನಿಮಿಷಕ್ಕಿಂತ ಕಡಿಮೆ" "ಒಟ್ಟು: %s" diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml index 17c838edf04..b9bbcf5c503 100644 --- a/res/values-ko/strings.xml +++ b/res/values-ko/strings.xml @@ -3123,6 +3123,8 @@ g.co/pixel/faceunlock에서 자세히 알아보세요." "지난 24시간 동안의 시스템 사용량" "%s의 시스템 사용량" "%s의 앱 사용량" + "마지막 충전 이후 %s까지의 시스템 사용량" + "마지막 충전 이후 %s까지의 앱 사용량" "총 시간: 1분 미만" "백그라운드: 1분 미만" "총 시간: %s" diff --git a/res/values-ky/strings.xml b/res/values-ky/strings.xml index 5ce1ba2c966..40615884a23 100644 --- a/res/values-ky/strings.xml +++ b/res/values-ky/strings.xml @@ -3123,6 +3123,8 @@ "Системанын акыркы 24 саатта колдонулушу" "Системанын колдонулушу: %s" "Колдонмонун иштетилиши: %s" + "Акыркы жолу толук кубатталгандан бери %s чейин системанын керектеши" + "Акыркы жолу толук кубатталгандан бери %s чейин колдонмолордун керектеши" "Жалпысынан: бир мүнөткө жетпейт" "Фондо колдонулушу: бир мүнөткө жетпейт" "Жалпысынан: %s" diff --git a/res/values-lo/strings.xml b/res/values-lo/strings.xml index c4a580dd234..ce8a38a6f7e 100644 --- a/res/values-lo/strings.xml +++ b/res/values-lo/strings.xml @@ -3123,6 +3123,8 @@ "ການໃຊ້ລະບົບສຳລັບ 24 ຊມ ທີ່ຜ່ານມາ" "ການໃຊ້ລະບົບສຳລັບ %s" "ການໃຊ້ແອັບສຳລັບ %s" + "ການນຳໃຊ້ລະບົບນັບຕັ້ງແຕ່ສາກເຕັມຫຼ້າສຸດຈົນຮອດ %s" + "ການນຳໃຊ້ແອັບນັບຕັ້ງແຕ່ສາກເຕັມຫຼ້າສຸດຈົນຮອດ %s" "ທັງໝົດ: ໜ້ອຍກວ່າໜຶ່ງນາທີ" "ພື້ນຫຼັງ: ໜ້ອຍກວ່າໜຶ່ງນາທີ" "ທັງໝົດ: %s" diff --git a/res/values-lt/strings.xml b/res/values-lt/strings.xml index c186744b6ce..54ddb1889f9 100644 --- a/res/values-lt/strings.xml +++ b/res/values-lt/strings.xml @@ -3199,6 +3199,8 @@ Sužinokite daugiau adresu g.co/pixel/faceunlock." "Sistemos naudojimas per pastarąsias 24 val." "Sistemos naudojimas: %s" "Programos naudojimas: %s" + "Sistemos naudojimas po paskutinio visiško įkrovimo iki %s" + "Programų naudojimas po paskutinio visiško įkrovimo iki %s" "Iš viso: mažiau nei minutė" "Fonas: trumpiau nei minutė" "Iš viso: %s" diff --git a/res/values-lv/strings.xml b/res/values-lv/strings.xml index 6fb12506c07..c5867e05214 100644 --- a/res/values-lv/strings.xml +++ b/res/values-lv/strings.xml @@ -3161,6 +3161,8 @@ Uzziniet vairāk vietnē g.co/pixel/faceunlock." "Sistēmas lietojums pēdējo 24 h laikā" "Sistēmas izmantojums: %s" "Lietotnes izmantojums: %s" + "Sistēmas izmantojums kopš pēdējās pilnās uzlādes līdz: %s" + "Lietotnes izmantojums kopš pēdējās pilnās uzlādes līdz: %s" "Kopā: mazāk par minūti" "Fonā: mazāk par minūti" "Kopā: %s" diff --git a/res/values-mk/strings.xml b/res/values-mk/strings.xml index 97e5c93067e..cd60b7d5697 100644 --- a/res/values-mk/strings.xml +++ b/res/values-mk/strings.xml @@ -3123,6 +3123,8 @@ "Користење на системот во минатите 24 часа" "Користење на системот за %s" "Користење на апликацијата за %s" + "Користење на системот од последното целосно полнење до %s" + "Користење на апликацијата од последното целосно полнење до %s" "Вкупно: помалку од една минута" "Заднина: помалку од една минута" "Вкупно: %s" diff --git a/res/values-ml/strings.xml b/res/values-ml/strings.xml index 6cbf1a65277..784062e6ee2 100644 --- a/res/values-ml/strings.xml +++ b/res/values-ml/strings.xml @@ -3123,6 +3123,8 @@ g.co/pixel/faceunlock -ൽ കൂടുതലറിയുക." "കഴിഞ്ഞ 24 മണിക്കൂറിലെ സിസ്‌റ്റം ഉപയോഗം" "%s എന്നതിനുള്ള സിസ്‌റ്റം ഉപയോഗം" "%s എന്നതിനുള്ള ആപ്പ് ഉപയോഗം" + "അവസാനം പൂർണ്ണമായി ചാർജ് ചെയ്തതിന് ശേഷം %s വരെയുള്ള സിസ്റ്റം ഉപയോഗം" + "അവസാനം പൂർണ്ണമായി ചാർജ് ചെയ്തതിന് ശേഷം %s വരെയുള്ള ആപ്പ് ഉപയോഗം" "ആകെ: ഒരു മിനിറ്റിൽ താഴെ" "പശ്ചാത്തലം: ഒരു മിനിറ്റിൽ താഴെ" "ആകെ: %s" diff --git a/res/values-mn/strings.xml b/res/values-mn/strings.xml index e187b825694..afe13e4bb41 100644 --- a/res/values-mn/strings.xml +++ b/res/values-mn/strings.xml @@ -3123,6 +3123,8 @@ Tа g.co/pixel/faceunlock дээрээс нэмэлт мэдээлэл авна "Өнгөрсөн 24 цагийн системийн ашиглалт" "%s-н системийн ашиглалт" "%s-н аппын ашиглалт" + "Сүүлд бүрэн цэнэглэснээс хойш %s хүртэлх системийн ашиглалт" + "Сүүлд бүрэн цэнэглэснээс хойш %s хүртэлх аппын ашиглалт" "Нийт: нэг минутаас доош" "Дэвсгэр: нэг минутаас доош" "Нийт: %s" diff --git a/res/values-mr/strings.xml b/res/values-mr/strings.xml index a5cc05f51c0..6ca00f30416 100644 --- a/res/values-mr/strings.xml +++ b/res/values-mr/strings.xml @@ -3123,6 +3123,8 @@ g.co/pixel/faceunlock येथे अधिक जाणून घ्या.""मागील २४ तासांमधील सिस्टीमचा वापर" "%s साठी सिस्टीमचा वापर" "%s साठी ॲपचा वापर" + "शेवटचे पूर्ण चार्ज झाल्यापासून %s पर्यंतचा सिस्टीम वापर" + "शेवटचे पूर्ण चार्ज झाल्यापासून %s पर्यंतचा अ‍ॅप वापर" "एकूण: एका मिनिटापेक्षा कमी" "बॅकग्राउंड: एका मिनिटापेक्षा कमी" "एकूण: %s" diff --git a/res/values-ms/strings.xml b/res/values-ms/strings.xml index 4e808d93d5a..be8f1ec3f88 100644 --- a/res/values-ms/strings.xml +++ b/res/values-ms/strings.xml @@ -3123,6 +3123,8 @@ Ketahui lebih lanjut melalui g.co/pixel/faceunlock." "Penggunaan sistem untuk tempoh 24 jam lalu" "Penggunaan sistem untuk %s" "Penggunaan apl untuk %s" + "Penggunaan sistem sejak cas penuh terakhir hingga %s" + "Penggunaan apl sejak cas penuh terakhir hingga %s" "Jumlah: kurang dari seminit" "Latar: kurang daripada seminit" "Jumlah: %s" diff --git a/res/values-my/strings.xml b/res/values-my/strings.xml index f594d07ed59..b43b12c893a 100644 --- a/res/values-my/strings.xml +++ b/res/values-my/strings.xml @@ -3124,6 +3124,8 @@ g.co/pixel/faceunlock တွင် ပိုမိုလေ့လာပါ။""%s အတွက် စနစ်အသုံးပြုမှု" "%s အတွက် အက်ပ်အသုံးပြုမှု" "စုစုပေါင်း- တစ်မိနစ်ထက် နည်းသည်" + "နောက်ဆုံးအကြိမ် အားအပြည့်သွင်းပြီးချိန်မှစ၍ %s အထိ စနစ်အသုံးပြုမှု" + "နောက်ဆုံးအကြိမ် အားအပြည့်သွင်းပြီးချိန်မှစ၍ %s အထိ အက်ပ်အသုံးပြုမှု" "နောက်ခံအချိန်- တစ်မိနစ်ထက် နည်းသည်" "စုစုပေါင်း- %s" "နောက်ခံအချိန်- %s" diff --git a/res/values-nb/strings.xml b/res/values-nb/strings.xml index 4cf93b1dac5..5d6e9fcd6ef 100644 --- a/res/values-nb/strings.xml +++ b/res/values-nb/strings.xml @@ -3123,6 +3123,8 @@ Finn ut mer på g.co/pixel/faceunlock." "Systembruk de siste 24 timene" "Systembruk for %s" "Appbruk for %s" + "Systembruk siden sist batteriet var fulladet, til %s" + "Appbruk siden sist batteriet var fulladet, til %s" "Totalt: mindre enn ett minutt" "Bakgrunn: mindre enn ett minutt" "Totalt: %s" diff --git a/res/values-ne/strings.xml b/res/values-ne/strings.xml index cc38f2289b4..905306e390b 100644 --- a/res/values-ne/strings.xml +++ b/res/values-ne/strings.xml @@ -3123,6 +3123,8 @@ g.co/pixel/faceunlock मा गई थप जान्नुहोस्।""विगत २४ घन्टामा सिस्टमले खपत गरेको ब्याट्री" "%s मा सिस्टमले खपत गरेको ब्याट्री" "%s मा एपले खपत गरेको ब्याट्री" + "पछिल्लो पटक पूरा चार्ज गरेदेखि %s सम्म सिस्टमले खपत गरेको ब्याट्री" + "पछिल्लो पटक पूरा चार्ज गरेदेखि %s सम्म एपहरूले खपत गरेको ब्याट्री" "कुल समय: एक मिनेटभन्दा कम" "ब्याकग्राउन्डमा चलाइएको समय: एक मिनेटभन्दा कम" "कुल समय: %s" diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml index cf3afaea24c..45aa94ee772 100644 --- a/res/values-nl/strings.xml +++ b/res/values-nl/strings.xml @@ -3123,6 +3123,8 @@ Bekijk meer informatie op g.co/pixel/faceunlock." "Systeemgebruik voor afgelopen 24 uur" "Systeemgebruik voor %s" "App-gebruik voor %s" + "Systeemgebruik sinds de laatste keer volledig opladen tot %s" + "App-gebruik sinds de laatste keer volledig opladen tot %s" "Totaal: minder dan een minuut" "Achtergrond: minder dan een minuut" "Totaal: %s" diff --git a/res/values-or/strings.xml b/res/values-or/strings.xml index 274716c3722..8069dc512df 100644 --- a/res/values-or/strings.xml +++ b/res/values-or/strings.xml @@ -3123,6 +3123,8 @@ g.co/pixel/faceunlockରେ ଅଧିକ ଜାଣନ୍ତୁ।" "ଗତ 24 ଘଣ୍ଟାର ସିଷ୍ଟମ୍ ବ୍ୟବହାର" "%s ପାଇଁ ସିଷ୍ଟମ୍ ବ୍ୟବହାର" "%s ପାଇଁ ଆପ୍ ବ୍ୟବହାର" + "ଗତ ଥର ସମ୍ପୂର୍ଣ୍ଣ ଚାର୍ଜ ହେବା ପରଠାରୁ %s ପର୍ଯ୍ୟନ୍ତ ସିଷ୍ଟମ ବ୍ୟବହାର" + "ଗତ ଥର ସମ୍ପୂର୍ଣ୍ଣ ଚାର୍ଜ ହେବା ପରଠାରୁ %s ପର୍ଯ୍ୟନ୍ତ ଆପ ବ୍ୟବହାର" "ମୋଟ: ଏକ ମିନିଟରୁ କମ୍" "ପୃଷ୍ଠପଟ: ଏକ ମିନିଟରୁ କମ" "ମୋଟ: %s" diff --git a/res/values-pa/strings.xml b/res/values-pa/strings.xml index 9ea413f1be4..75c09100940 100644 --- a/res/values-pa/strings.xml +++ b/res/values-pa/strings.xml @@ -3123,6 +3123,8 @@ g.co/pixel/faceunlock 'ਤੇ ਹੋਰ ਜਾਣੋ।" "ਪਿਛਲੇ 24 ਘੰਟਿਆਂ ਦੌਰਾਨ ਸਿਸਟਮ ਦੀ ਵਰਤੋਂ" "%s ਦੌਰਾਨ ਸਿਸਟਮ ਦੀ ਵਰਤੋਂ" "%s ਦੌਰਾਨ ਐਪ ਦੀ ਵਰਤੋਂ" + "ਪਿਛਲੀ ਵਾਰ ਪੂਰਾ ਚਾਰਜ ਕਰਨ ਤੋਂ ਲੈ ਕੇ %s ਤੱਕ ਸਿਸਟਮ ਵਰਤੋਂ" + "ਪਿਛਲੀ ਵਾਰ ਪੂਰਾ ਚਾਰਜ ਕਰਨ ਤੋਂ ਲੈ ਕੇ %s ਤੱਕ ਐਪ ਵਰਤੋਂ" "ਕੁੱਲ: ਇੱਕ ਮਿੰਟ ਤੋਂ ਵੀ ਘੱਟ ਸਮਾਂ" "ਬੈਕਗ੍ਰਾਊਂਡ: ਇੱਕ ਮਿੰਟ ਤੋਂ ਵੀ ਘੱਟ ਸਮਾਂ" "ਕੁੱਲ: %s" diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml index a3cd1a577ed..5542197701b 100644 --- a/res/values-pl/strings.xml +++ b/res/values-pl/strings.xml @@ -3201,6 +3201,8 @@ Więcej informacji znajdziesz na stronie g.co/pixel/faceunlock." "Wykorzystanie przez aplikacje w godz. %s" "Łącznie: niecała minuta" "W tle: niecała minuta" + "Wykorzystanie przez system od ostatniego pełnego naładowania do: %s" + "Wykorzystanie przez aplikacje od ostatniego pełnego naładowania do: %s" "Łącznie: %s" "W tle: %s" "Dane o wykorzystaniu baterii są przybliżone i nie są mierzone podczas ładowania telefonu" diff --git a/res/values-pt-rBR/strings.xml b/res/values-pt-rBR/strings.xml index 455b16fea63..5385889eb92 100644 --- a/res/values-pt-rBR/strings.xml +++ b/res/values-pt-rBR/strings.xml @@ -3123,6 +3123,8 @@ Saiba mais em g.co/pixel/faceunlock." "Uso do sistema nas últimas 24h" "Uso do sistema entre %s" "Uso do app em %s" + "Uso do sistema desde a última carga completa %s" + "Uso do app desde a última carga completa %s" "Total: menos de um minuto" "Segundo plano: menos de um minuto" "Total: %s" diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml index 161cf5f3b35..6cc9d3ba06f 100644 --- a/res/values-pt-rPT/strings.xml +++ b/res/values-pt-rPT/strings.xml @@ -3123,6 +3123,8 @@ Saiba mais em g.co/pixel/faceunlock." "Utilização do sistema durante as últimas 24 h" "Utilização do sistema durante %s" "Utilização da app durante %s" + "Utilização do sistema desde o último carregamento completo a %s" + "Utilização de apps desde o último carregamento completo a %s" "Total: menos de um min" "Em segundo plano: menos de um min" "Total: %s" diff --git a/res/values-pt/strings.xml b/res/values-pt/strings.xml index 455b16fea63..5385889eb92 100644 --- a/res/values-pt/strings.xml +++ b/res/values-pt/strings.xml @@ -3123,6 +3123,8 @@ Saiba mais em g.co/pixel/faceunlock." "Uso do sistema nas últimas 24h" "Uso do sistema entre %s" "Uso do app em %s" + "Uso do sistema desde a última carga completa %s" + "Uso do app desde a última carga completa %s" "Total: menos de um minuto" "Segundo plano: menos de um minuto" "Total: %s" diff --git a/res/values-ro/strings.xml b/res/values-ro/strings.xml index 1fe548d986d..d39af25eecb 100644 --- a/res/values-ro/strings.xml +++ b/res/values-ro/strings.xml @@ -3161,6 +3161,8 @@ Află mai multe la g.co/pixel/faceunlock." "Utilizarea de către sistem în ultimele 24 h" "Utilizarea de către sistem pentru %s" "Utilizarea de către aplicații pentru %s" + "Utilizarea sistemului de la ultima încărcare completă la %s" + "Utilizarea aplicațiilor de la ultima încărcare completă la %s" "Total: mai puțin de un minut" "În fundal: mai puțin de un minut" "Total: %s" diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml index 97d8d257d55..8e86484a0fa 100644 --- a/res/values-ru/strings.xml +++ b/res/values-ru/strings.xml @@ -3199,6 +3199,8 @@ "Расход системой за 24 часа" "Использование системой в период %s" "Использование приложениями в период %s" + "Расход системой с момента последней полной зарядки до %s" + "Расход приложениями с момента последней полной зарядки до %s" "Всего: меньше минуты" "В фоновом режиме: меньше минуты" "Всего: %s" diff --git a/res/values-si/strings.xml b/res/values-si/strings.xml index 9851c1e8f59..8a8b3791084 100644 --- a/res/values-si/strings.xml +++ b/res/values-si/strings.xml @@ -3123,6 +3123,8 @@ g.co/pixel/faceunlock හිදී තව දැන ගන්න." "පසුගිය පැය 24 සඳහා පද්ධති භාවිතය" "%s සඳහා පද්ධති භාවිතය" "%s සඳහා යෙදුම් භාවිතය" + "%s වෙත අවසන් පූර්ණ ආරෝපණයේ සිට පද්ධති භාවිතය" + "%s වෙත අවසන් පූර්ණ ආරෝපණයේ සිට යෙදුම් භාවිතය" "මුළු: මිනිත්තුවකට වඩා අඩුය" "පසුබිම: මිනිත්තුවකට වඩා අඩුය" "එකතුව: %s" diff --git a/res/values-sk/strings.xml b/res/values-sk/strings.xml index 9c84ffa0a99..3a44b98fd56 100644 --- a/res/values-sk/strings.xml +++ b/res/values-sk/strings.xml @@ -3199,6 +3199,8 @@ Viac sa dozviete na g.co/pixel/faceunlock." "Spotreba batérie systémom za posledných 24 h" "Spotreba batérie systémom: %s" "Spotreba batérie aplikáciou: %s" + "Využitie systému od posledného úplného nabitia do %s" + "Využitie aplikácie od posledného úplného nabitia do %s" "Celkove: menej ako minúta" "Na pozadí: menej ako minúta" "Celkove: %s" diff --git a/res/values-sl/strings.xml b/res/values-sl/strings.xml index db4cf7d111a..7f093497ada 100644 --- a/res/values-sl/strings.xml +++ b/res/values-sl/strings.xml @@ -3199,6 +3199,8 @@ Preberite več o tem na g.co/pixel/faceunlock." "Poraba sistema v zadnjih 24 urah" "Poraba sistema za %s" "Poraba aplikacij za %s" + "Poraba sistema od zadnje polne napolnjenosti baterije do: %s" + "Poraba aplikacij od zadnje polne napolnjenosti baterije do: %s" "Skupno: manj kot minuta" "V ozadju: manj kot minuta" "Skupno: %s" diff --git a/res/values-sq/strings.xml b/res/values-sq/strings.xml index 271cde89420..c0bd166c118 100644 --- a/res/values-sq/strings.xml +++ b/res/values-sq/strings.xml @@ -3123,6 +3123,8 @@ Mëso më shumë te g.co/pixel/faceunlock." "Përdorimi i sistemit për 24 orët e fundit" "Përdorimi i sistemit për: %s" "Përdorimi i aplikacionit për: %s" + "Përdorimi i sistemit që nga karikimi i fundit i plotë deri në %s" + "Përdorimi i aplikacionit që nga karikimi i fundit i plotë deri në %s" "Në total: më pak se një minutë" "Në sfond: më pak se një minutë" "Në total: %s" diff --git a/res/values-sr/strings.xml b/res/values-sr/strings.xml index 9ad8861c829..6cbf832deac 100644 --- a/res/values-sr/strings.xml +++ b/res/values-sr/strings.xml @@ -3161,6 +3161,8 @@ "Потрошња од стране система у последња 24 сата" "Потрошња од стране система за: %s" "Потрошња од стране апликација за: %s" + "Коришћење система од последњег потпуног пуњења до %s" + "Коришћење апликација од последњег потпуног пуњења до %s" "Укупно: мање од минут" "Позадина: мање од минут" "Укупно: %s" diff --git a/res/values-sv/strings.xml b/res/values-sv/strings.xml index e8a2ee425b3..3b23d49941e 100644 --- a/res/values-sv/strings.xml +++ b/res/values-sv/strings.xml @@ -3123,6 +3123,8 @@ Läs mer på g.co/pixel/faceunlock." "Systemanvändning för de senaste 24 timmarna" "Systemanvändning för %s" "Appanvändning för %s" + "Systemanvändning sedan batteriet senast var fulladdat till %s" + "Appanvändning sedan batteriet senast var fulladdat till %s" "Totalt: mindre än en minut" "I bakgrunden: mindre än en minut" "Totalt: %s" diff --git a/res/values-sw/strings.xml b/res/values-sw/strings.xml index 84f827b68f3..c6949fbb670 100644 --- a/res/values-sw/strings.xml +++ b/res/values-sw/strings.xml @@ -3123,6 +3123,8 @@ Pata maelezo zaidi kwenye g.co/pixel/faceunlock." "Matumizi ya mfumo katika saa 24 zilizopita" "Matumizi ya mfumo kwa %s" "Matumizi ya programu kwa %s" + "Matumizi ya mfumo tangu betri ilipojaa chaji mara ya mwisho hadi %s" + "Matumizi ya programu tangu betri ilipojaa chaji mara ya mwisho hadi %s" "Jumla: chini ya dakika moja" "Chinichini: chini ya dakika moja" "Jumla: %s" diff --git a/res/values-ta/strings.xml b/res/values-ta/strings.xml index 8418bf14f5b..44390141327 100644 --- a/res/values-ta/strings.xml +++ b/res/values-ta/strings.xml @@ -3123,6 +3123,8 @@ "கடந்த 24 மணிநேரத்திற்கான சிஸ்டம் உபயோகம்" "%sக்கான சிஸ்டம் உபயோகம்" "%sக்கான ஆப்ஸ் உபயோகம்" + "கடைசியாக முழுச் சார்ஜ் செய்யப்பட்டதிலிருந்து %s வரை சிஸ்டத்தின் உபயோகம்" + "கடைசியாக முழுச் சார்ஜ் செய்யப்பட்டதிலிருந்து %s வரை ஆப்ஸின் உபயோகம்" "மொத்தம்: ஒரு நிமிடத்திற்கும் குறைவு" "பின்னணி: ஒரு நிமிடத்திற்கும் குறைவு" "மொத்தம்: %s" diff --git a/res/values-te/strings.xml b/res/values-te/strings.xml index d1572f2edfd..db128b644e6 100644 --- a/res/values-te/strings.xml +++ b/res/values-te/strings.xml @@ -3123,6 +3123,8 @@ g.co/pixel/faceunlockలో మరింత తెలుసుకోండి."< "గత 24 గంటలకు సిస్టమ్ వినియోగం" "%s కోసం సిస్టమ్ వినియోగం సమాచారం" "%s కోసం యాప్ వినియోగ సమాచారం" + "చివరిసారి ఫుల్ ఛార్జింగ్ చేసినప్పటి నుండి %s వరకు సిస్టమ్ వినియోగం" + "చివరిసారి ఫుల్ ఛార్జింగ్ చేసినప్పటి నుండి %s వరకు యాప్ వినియోగం" "మొత్తం సమయం: ఒక నిమిషం కన్నా తక్కువ" "బ్యాక్‌గ్రౌండ్ సమయం: ఒక నిమిషం కన్నా తక్కువ" "మొత్తం ఉపయోగం: %s" diff --git a/res/values-th/strings.xml b/res/values-th/strings.xml index 99b9cb3132d..b7246ad339d 100644 --- a/res/values-th/strings.xml +++ b/res/values-th/strings.xml @@ -3123,6 +3123,8 @@ "การใช้งานระบบใน 24 ชม. ที่ผ่านมา" "การใช้งานระบบเมื่อ %s" "การใช้งานแอปเมื่อ %s" + "การใช้งานระบบนับตั้งแต่ชาร์จจนเต็มครั้งล่าสุดจนถึง %s" + "การใช้งานแอปนับตั้งแต่ชาร์จจนเต็มครั้งล่าสุดจนถึง %s" "รวม: ไม่ถึง 1 นาที" "การทำงานในเบื้องหลัง: ไม่ถึง 1 นาที" "รวม: %s" diff --git a/res/values-tl/strings.xml b/res/values-tl/strings.xml index 7380c0cceda..d082ddf2bde 100644 --- a/res/values-tl/strings.xml +++ b/res/values-tl/strings.xml @@ -3123,6 +3123,8 @@ Matuto pa sa g.co/pixel/faceunlock." "Paggamit ng system sa huling 24 na oras" "Paggamit ng system sa %s" "Paggamit ng app sa %s" + "Paggamit ng system mula noong huling na-full charge hanggang %s" + "Paggamit ng app mula noong huling na-full charge hanggang %s" "Kabuuan: wala pang isang minuto" "Background: wala pang isang minuto" "Kabuuan: %s" diff --git a/res/values-tr/strings.xml b/res/values-tr/strings.xml index d3516aafe90..b270d870b61 100644 --- a/res/values-tr/strings.xml +++ b/res/values-tr/strings.xml @@ -3123,6 +3123,8 @@ Daha fazla bilgiyi g.co/pixel/faceunlock adresinde bulabilirsiniz." "Son 24 saatteki sistem kullanımı" "%s için sistem kullanımı" "%s için uygulama kullanımı" + "Son yapılan tam şarjdan bu yana (%s) sistem kullanımı" + "Son yapılan tam şarjdan bu yana (%s) uygulama kullanımı" "Toplam: Bir dakikadan az" "Arka planda: Bir dakikadan az" "Toplam: %s" diff --git a/res/values-uk/strings.xml b/res/values-uk/strings.xml index ab7e116b1c0..0acfa9787d6 100644 --- a/res/values-uk/strings.xml +++ b/res/values-uk/strings.xml @@ -3199,6 +3199,8 @@ "Споживання системою за останні 24 години" "Споживання на роботу системи (%s)" "Споживання на роботу додатків (%s)" + "Використання системою від останнього повного заряджання до %s" + "Використання додатками від останнього повного заряджання до %s" "Усього: менше ніж хвилина" "У фоновому режимі: менше ніж хвилина" "Усього: %s" diff --git a/res/values-ur/strings.xml b/res/values-ur/strings.xml index 03b6e711c5b..8920c59e10e 100644 --- a/res/values-ur/strings.xml +++ b/res/values-ur/strings.xml @@ -3123,6 +3123,8 @@ "گزشتہ 24 گھنٹے میں سسٹم کا استعمال" "‫%s کے لیے سسٹم کا استعمال" "‫%s کے لیے ایپ کا استعمال" + "پچھلی بار مکمل چارج کرنے کے بعد سے %s تک سسٹم کا استعمال" + "پچھلی بار مکمل چارج کرنے کے بعد سے %s تک ایپ کا استعمال" "کُل: ایک منٹ سے کم" "پس منظر: ایک منٹ سے کم" "کُل: %s" diff --git a/res/values-uz/strings.xml b/res/values-uz/strings.xml index 5e6a9351c20..c9ba60a58d9 100644 --- a/res/values-uz/strings.xml +++ b/res/values-uz/strings.xml @@ -3123,6 +3123,8 @@ Batafsil: g.co/pixel/faceunlock." "Oxirgi 24 soat ichida tizimdan foydalanish" "Tizimdan foydalanish: %s" "Ilovalardan foydalanish: %s" + "Toʻliq quvvatlanganidan %s gacha tizimning quvvat sarfi" + "Toʻliq quvvatlanganidan %s gacha ilovalarning quvvat sarfi" "Jami: bir daqiqadan kam" "Orqa fon rejimida: bir daqiqadan kam" "Jami: %s" diff --git a/res/values-vi/strings.xml b/res/values-vi/strings.xml index 684167185b6..5c82a6f531e 100644 --- a/res/values-vi/strings.xml +++ b/res/values-vi/strings.xml @@ -3123,6 +3123,8 @@ Tìm hiểu thêm tại g.co/pixel/faceunlock." "Mức sử dụng pin của hệ thống trong 24 giờ qua" "Mức sử dụng pin của hệ thống từ %s" "Mức sử dụng pin của ứng dụng từ %s" + "Mức sử dụng pin của hệ thống kể từ lần sạc đầy gần đây nhất đến %s" + "Mức sử dụng pin của ứng dụng kể từ lần sạc đầy gần đây nhất đến %s" "Tổng: chưa đến 1 phút" "Ở chế độ nền: chưa đến 1 phút" "Tổng: %s" diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml index c93357f0106..32e4916d6ee 100644 --- a/res/values-zh-rCN/strings.xml +++ b/res/values-zh-rCN/strings.xml @@ -3123,6 +3123,8 @@ "过去 24 小时内的系统耗电量" "%s的系统耗电量" "%s的应用耗电量" + "自上次充满电到%s的系统耗电量" + "自上次充满电到%s的应用耗电量" "总计:不到 1 分钟" "后台:不到 1 分钟" "总计:%s" diff --git a/res/values-zh-rHK/strings.xml b/res/values-zh-rHK/strings.xml index 2d5062e5f4e..12b223310dd 100644 --- a/res/values-zh-rHK/strings.xml +++ b/res/values-zh-rHK/strings.xml @@ -3124,6 +3124,8 @@ "系統在過去 24 小時的電量" "%s的系統電池用量" "%s的應用程式電池用量" + "上次充滿電後至%s 的系統使用情況" + "上次充滿電後至%s 的應用程式使用情況" "總計:不足 1 分鐘" "背景:不足 1 分鐘" "總計:%s" diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml index 37da8e29c35..74f1cfb4f6d 100644 --- a/res/values-zh-rTW/strings.xml +++ b/res/values-zh-rTW/strings.xml @@ -3123,6 +3123,8 @@ "系統在過去 24 小時的電池用量" "%s的系統電池用量" "%s的應用程式電池用量" + "上次充飽電後至%s 的系統耗電量" + "上次充飽電後至%s 的應用程式耗電量" "總計:不到 1 分鐘" "背景:不到 1 分鐘" "總計:%s" diff --git a/res/values-zu/strings.xml b/res/values-zu/strings.xml index b52499e03dc..fdb2279b650 100644 --- a/res/values-zu/strings.xml +++ b/res/values-zu/strings.xml @@ -3124,6 +3124,8 @@ Funda kabanzi ku-g.co/pixel/faceunlock." "Ukusetshenziswa kwesistimu emahoreni angama-24 adlule" "Ukusetshenziswa kwesistimu nge-%s" "Ukusetshenziswa kwe-app nge-%s" + "Ukusetshenziswa kwesistimu ukusukela ekushajeni okugcwele ukuya ku-%s" + "Ukusetshenziswa kwe-app ukusukela ekushajeni okugcwele ukuya ku-%s" "Ingqikithi: ngaphansi komzuzu" "Ingemuva: ngaphansi komzuzu" "Inani: %s" diff --git a/res/values/config.xml b/res/values/config.xml index aa086ca21bb..9973811c801 100755 --- a/res/values/config.xml +++ b/res/values/config.xml @@ -491,6 +491,15 @@ content://com.google.android.gms.nearby.fastpair/device_status_list_item + + + + + + + + + diff --git a/res/values/strings.xml b/res/values/strings.xml index 68779c8418e..c2d48b533aa 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -7027,6 +7027,10 @@ Learn more at g.co/pixel/faceunlock." System usage for %s App usage for %s + + System usage since last full charge to %s + + App usage since last full charge to %s Total: less than a min diff --git a/res/xml/bluetooth_device_details_fragment.xml b/res/xml/bluetooth_device_details_fragment.xml index 0528973d676..40217158004 100644 --- a/res/xml/bluetooth_device_details_fragment.xml +++ b/res/xml/bluetooth_device_details_fragment.xml @@ -58,11 +58,9 @@ settings:controller="com.android.settings.slices.SlicePreferenceController" settings:allowDividerAbove="true"/> - + @@ -91,4 +89,4 @@ settings:searchable="false" settings:controller="com.android.settings.bluetooth.BluetoothDetailsMacAddressController"/> - \ No newline at end of file + diff --git a/src/com/android/settings/bluetooth/BlockingPrefWithSliceController.java b/src/com/android/settings/bluetooth/BlockingPrefWithSliceController.java new file mode 100644 index 00000000000..b443047d7e8 --- /dev/null +++ b/src/com/android/settings/bluetooth/BlockingPrefWithSliceController.java @@ -0,0 +1,305 @@ +/* + * Copyright (C) 2023 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.settings.bluetooth; + +import static android.app.slice.Slice.HINT_PERMISSION_REQUEST; +import static android.app.slice.Slice.HINT_TITLE; +import static android.app.slice.SliceItem.FORMAT_ACTION; +import static android.app.slice.SliceItem.FORMAT_IMAGE; +import static android.app.slice.SliceItem.FORMAT_SLICE; +import static android.app.slice.SliceItem.FORMAT_TEXT; + +import android.app.PendingIntent; +import android.content.Context; +import android.content.Intent; +import android.net.Uri; +import android.text.TextUtils; +import android.util.Log; + +import androidx.annotation.Nullable; +import androidx.annotation.VisibleForTesting; +import androidx.core.graphics.drawable.IconCompat; +import androidx.lifecycle.LiveData; +import androidx.lifecycle.Observer; +import androidx.preference.Preference; +import androidx.preference.PreferenceCategory; +import androidx.preference.PreferenceScreen; +import androidx.slice.Slice; +import androidx.slice.SliceItem; +import androidx.slice.builders.ListBuilder; +import androidx.slice.builders.SliceAction; +import androidx.slice.widget.SliceLiveData; + +import com.android.settings.R; +import com.android.settings.core.BasePreferenceController; +import com.android.settingslib.core.lifecycle.LifecycleObserver; +import com.android.settingslib.core.lifecycle.events.OnStart; +import com.android.settingslib.core.lifecycle.events.OnStop; + +import java.util.ArrayList; +import java.util.List; +import java.util.Optional; + +/** + * The blocking preference with slice controller will make whole page invisible for a certain time + * until {@link Slice} is fully loaded. + */ +public class BlockingPrefWithSliceController extends BasePreferenceController implements + LifecycleObserver, OnStart, OnStop, Observer, BasePreferenceController.UiBlocker{ + private static final String TAG = "BlockingPrefWithSliceController"; + + private static final String PREFIX_KEY = "slice_preference_item_"; + + @VisibleForTesting + LiveData mLiveData; + private Uri mUri; + @VisibleForTesting + PreferenceCategory mPreferenceCategory; + private List mCurrentPreferencesList = new ArrayList<>(); + @VisibleForTesting + String mSliceIntentAction = ""; + @VisibleForTesting + String mSlicePendingIntentAction = ""; + @VisibleForTesting + String mExtraIntent = ""; + @VisibleForTesting + String mExtraPendingIntent = ""; + + public BlockingPrefWithSliceController(Context context, String preferenceKey) { + super(context, preferenceKey); + } + + @Override + public void displayPreference(PreferenceScreen screen) { + super.displayPreference(screen); + mPreferenceCategory = screen.findPreference(getPreferenceKey()); + mSliceIntentAction = mContext.getResources().getString( + R.string.config_bt_slice_intent_action); + mSlicePendingIntentAction = mContext.getResources().getString( + R.string.config_bt_slice_pending_intent_action); + mExtraIntent = mContext.getResources().getString(R.string.config_bt_slice_extra_intent); + mExtraPendingIntent = mContext.getResources().getString( + R.string.config_bt_slice_extra_pending_intent); + } + + @Override + public int getAvailabilityStatus() { + return mUri != null ? AVAILABLE : UNSUPPORTED_ON_DEVICE; + } + + public void setSliceUri(Uri uri) { + mUri = uri; + mLiveData = SliceLiveData.fromUri(mContext, mUri, (int type, Throwable source) -> { + Log.w(TAG, "Slice may be null. uri = " + uri + ", error = " + type); + }); + + //TODO(b/120803703): figure out why we need to remove observer first + mLiveData.removeObserver(this); + } + + @Override + public void onStart() { + if (mLiveData != null) { + mLiveData.observeForever(this); + } + } + + @Override + public void onStop() { + if (mLiveData != null) { + mLiveData.removeObserver(this); + } + } + + @Override + public void onChanged(Slice slice) { + updatePreferenceFromSlice(slice); + if (mUiBlockListener != null) { + mUiBlockListener.onBlockerWorkFinished(this); + } + } + + @VisibleForTesting + void updatePreferenceFromSlice(Slice slice) { + if (TextUtils.isEmpty(mSliceIntentAction) + || TextUtils.isEmpty(mExtraIntent) + || TextUtils.isEmpty(mSlicePendingIntentAction) + || TextUtils.isEmpty(mExtraPendingIntent)) { + Log.d(TAG, "No configs"); + return; + } + if (slice == null || slice.hasHint(HINT_PERMISSION_REQUEST)) { + Log.d(TAG, "Current slice: " + slice); + removePreferenceListFromPreferenceCategory(); + return; + } + updatePreferenceListAndPreferenceCategory(parseSliceToPreferenceList(slice)); + } + + private List parseSliceToPreferenceList(Slice slice) { + List preferenceItemsList = new ArrayList<>(); + List items = slice.getItems(); + int orderLevel = 0; + for (SliceItem sliceItem : items) { + // Parse the slice + if (sliceItem.getFormat().equals(FORMAT_SLICE)) { + Optional title = extractTitleFromSlice(sliceItem.getSlice()); + Optional subtitle = extractSubtitleFromSlice(sliceItem.getSlice()); + Optional action = extractActionFromSlice(sliceItem.getSlice()); + // Create preference + Optional preferenceItem = createPreferenceItem(title, subtitle, action, + orderLevel); + if (preferenceItem.isPresent()) { + orderLevel++; + preferenceItemsList.add(preferenceItem.get()); + } + } + } + return preferenceItemsList; + } + + private Optional createPreferenceItem(Optional title, + Optional subtitle, Optional sliceAction, int orderLevel) { + Log.d(TAG, "Title: " + title.orElse("no title") + + ", Subtitle: " + subtitle.orElse("no Subtitle") + + ", Action: " + sliceAction.orElse(null)); + if (!title.isPresent()) { + return Optional.empty(); + } + String key = PREFIX_KEY + title.get(); + Preference preference = mPreferenceCategory.findPreference(key); + if (preference == null) { + preference = new Preference(mContext); + preference.setKey(key); + mPreferenceCategory.addPreference(preference); + } + preference.setTitle(title.get()); + preference.setOrder(orderLevel); + if (subtitle.isPresent()) { + preference.setSummary(subtitle.get()); + } + if (sliceAction.isPresent()) { + // To support the settings' 2 panel feature, here can't use the slice's + // PendingIntent.send(). Since the PendingIntent.send() always take NEW_TASK flag. + // Therefore, transfer the slice's PendingIntent to Intent and start it + // without NEW_TASK. + preference.setIcon(sliceAction.get().getIcon().loadDrawable(mContext)); + Intent intentFromSliceAction = sliceAction.get().getAction().getIntent(); + Intent expectedActivityIntent = null; + Log.d(TAG, "SliceAction: intent's Action:" + intentFromSliceAction.getAction()); + if (intentFromSliceAction.getAction().equals(mSliceIntentAction)) { + expectedActivityIntent = intentFromSliceAction + .getParcelableExtra(mExtraIntent, Intent.class); + } else if (intentFromSliceAction.getAction().equals( + mSlicePendingIntentAction)) { + PendingIntent pendingIntent = intentFromSliceAction + .getParcelableExtra(mExtraPendingIntent, PendingIntent.class); + expectedActivityIntent = + pendingIntent != null ? pendingIntent.getIntent() : null; + } else { + expectedActivityIntent = intentFromSliceAction; + } + if (expectedActivityIntent != null) { + Log.d(TAG, "setIntent: ActivityIntent" + expectedActivityIntent); + // Since UI needs to support the Settings' 2 panel feature, the intent can't use the + // FLAG_ACTIVITY_NEW_TASK. The above intent may have the FLAG_ACTIVITY_NEW_TASK + // flag, so removes it before startActivity(preference.setIntent). + expectedActivityIntent.removeFlags(Intent.FLAG_ACTIVITY_NEW_TASK); + preference.setIntent(expectedActivityIntent); + } else { + Log.d(TAG, "setIntent: Intent is null"); + } + } + + return Optional.of(preference); + } + + private void removePreferenceListFromPreferenceCategory() { + mCurrentPreferencesList.stream() + .forEach(p -> mPreferenceCategory.removePreference(p)); + mCurrentPreferencesList.clear(); + } + + private void updatePreferenceListAndPreferenceCategory(List newPreferenceList) { + List removedItemList = new ArrayList<>(mCurrentPreferencesList); + for (Preference item : mCurrentPreferencesList) { + if (newPreferenceList.stream().anyMatch(p -> item.compareTo(p) == 0)) { + removedItemList.remove(item); + } + } + removedItemList.stream() + .forEach(p -> mPreferenceCategory.removePreference(p)); + mCurrentPreferencesList = newPreferenceList; + } + + private Optional extractTitleFromSlice(Slice slice) { + return extractTextFromSlice(slice, HINT_TITLE); + } + + private Optional extractSubtitleFromSlice(Slice slice) { + // For subtitle items, there isn't a hint available. + return extractTextFromSlice(slice, /* hint= */ null); + } + + private Optional extractTextFromSlice(Slice slice, @Nullable String hint) { + for (SliceItem item : slice.getItems()) { + if (item.getFormat().equals(FORMAT_TEXT) + && ((TextUtils.isEmpty(hint) && item.getHints().isEmpty()) + || (!TextUtils.isEmpty(hint) && item.hasHint(hint)))) { + return Optional.ofNullable(item.getText()); + } + } + return Optional.empty(); + } + + private Optional extractActionFromSlice(Slice slice) { + for (SliceItem item : slice.getItems()) { + if (item.getFormat().equals(FORMAT_SLICE)) { + if (item.hasHint(HINT_TITLE)) { + Optional result = extractActionFromSlice(item.getSlice()); + if (result.isPresent()) { + return result; + } + } + continue; + } + + if (item.getFormat().equals(FORMAT_ACTION)) { + Optional icon = extractIconFromSlice(item.getSlice()); + Optional title = extractTitleFromSlice(item.getSlice()); + if (icon.isPresent()) { + return Optional.of( + SliceAction.create( + item.getAction(), + icon.get(), + ListBuilder.ICON_IMAGE, + title.orElse(/* other= */ ""))); + } + } + } + return Optional.empty(); + } + + private Optional extractIconFromSlice(Slice slice) { + for (SliceItem item : slice.getItems()) { + if (item.getFormat().equals(FORMAT_IMAGE)) { + return Optional.of(item.getIcon()); + } + } + return Optional.empty(); + } +} diff --git a/src/com/android/settings/bluetooth/BluetoothDeviceDetailsFragment.java b/src/com/android/settings/bluetooth/BluetoothDeviceDetailsFragment.java index fa15b5ca336..562ffec17a0 100644 --- a/src/com/android/settings/bluetooth/BluetoothDeviceDetailsFragment.java +++ b/src/com/android/settings/bluetooth/BluetoothDeviceDetailsFragment.java @@ -42,7 +42,6 @@ import com.android.settings.core.SettingsUIDeviceConfig; import com.android.settings.dashboard.RestrictedDashboardFragment; import com.android.settings.overlay.FeatureFactory; -import com.android.settings.slices.BlockingSlicePrefController; import com.android.settings.slices.SlicePreferenceController; import com.android.settingslib.bluetooth.CachedBluetoothDevice; import com.android.settingslib.bluetooth.LocalBluetoothManager; @@ -133,7 +132,7 @@ public void onAttach(Context context) { final boolean sliceEnabled = DeviceConfig.getBoolean(DeviceConfig.NAMESPACE_SETTINGS_UI, SettingsUIDeviceConfig.BT_SLICE_SETTINGS_ENABLED, true); - use(BlockingSlicePrefController.class).setSliceUri(sliceEnabled + use(BlockingPrefWithSliceController.class).setSliceUri(sliceEnabled ? featureProvider.getBluetoothDeviceSettingsUri(mCachedDevice.getDevice()) : null); } diff --git a/src/com/android/settings/fuelgauge/batteryusage/BatteryChartPreferenceController.java b/src/com/android/settings/fuelgauge/batteryusage/BatteryChartPreferenceController.java index 56da0f47932..7ce8b3af2cc 100644 --- a/src/com/android/settings/fuelgauge/batteryusage/BatteryChartPreferenceController.java +++ b/src/com/android/settings/fuelgauge/batteryusage/BatteryChartPreferenceController.java @@ -593,8 +593,19 @@ private void requestAccessibilityFocusForCategoryTitle(View view) { private String getSlotInformation(boolean isApp, String slotInformation) { // TODO: Updates the right slot information from daily and hourly chart selection. - // Null means we show all information without a specific time slot. - if (slotInformation == null) { + if (mDailyViewModel != null && mHourlyViewModels != null && isAllSelected()) { + int lastDailyChartIndex = mDailyViewModel.size() - 2; + int lastHourlyChartIndex = mHourlyViewModels.get(lastDailyChartIndex).size() - 1; + String lastSlotInformation = getSlotInformation( + lastDailyChartIndex, lastHourlyChartIndex, /*isDayTextOnly=*/ false); + return isApp + ? mPrefContext.getString( + R.string.battery_app_usage_since_last_full_charge_to, + lastSlotInformation) + : mPrefContext.getString( + R.string.battery_system_usage_since_last_full_charge_to, + lastSlotInformation); + } else if (slotInformation == null) { return isApp ? mPrefContext.getString(R.string.battery_app_usage) : mPrefContext.getString(R.string.battery_system_usage); @@ -614,14 +625,19 @@ String getSlotInformation() { if (isAllSelected()) { return null; } + return getSlotInformation(mDailyChartIndex, mHourlyChartIndex, + /*isDayTextOnly=*/ mHourlyChartIndex == BatteryChartViewModel.SELECTED_INDEX_ALL); + } - final String selectedDayText = mDailyViewModel.getFullText(mDailyChartIndex); - if (mHourlyChartIndex == BatteryChartViewModel.SELECTED_INDEX_ALL) { + private String getSlotInformation( + int dailyChartIndex, int hourlyChartIndex, boolean isDayTextOnly) { + final String selectedDayText = mDailyViewModel.getFullText(dailyChartIndex); + if (isDayTextOnly) { return selectedDayText; } - final String selectedHourText = mHourlyViewModels.get(mDailyChartIndex).getFullText( - mHourlyChartIndex); + final String selectedHourText = mHourlyViewModels.get(dailyChartIndex).getFullText( + hourlyChartIndex); if (isBatteryLevelDataInOneDay()) { return selectedHourText; } diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryChartPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryChartPreferenceControllerTest.java index 9fbcb1688db..10b957bc0aa 100644 --- a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryChartPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryChartPreferenceControllerTest.java @@ -571,12 +571,43 @@ public void onExpand_expandedIsFalse_removeSystemEntriesFromPreferenceGroup() { } @Test - public void refreshCategoryTitle_setLastFullChargeIntoBothTitleTextView() { + public void refreshCategoryTitle_singleDayData_setLastFullChargeIntoBothTitleTextView() { mBatteryChartPreferenceController = createController(); mBatteryChartPreferenceController.mAppListPrefGroup = spy(new PreferenceCategory(mContext)); mBatteryChartPreferenceController.mExpandDividerPreference = spy(new ExpandDividerPreference(mContext)); + mBatteryChartPreferenceController.setBatteryHistoryMap(createBatteryHistoryMap(6)); + // Simulates select all condition. + mBatteryChartPreferenceController.mDailyChartIndex = + BatteryChartViewModel.SELECTED_INDEX_ALL; + mBatteryChartPreferenceController.mHourlyChartIndex = + BatteryChartViewModel.SELECTED_INDEX_ALL; + + mBatteryChartPreferenceController.refreshCategoryTitle(); + + ArgumentCaptor captor = ArgumentCaptor.forClass(String.class); + // Verifies the title in the preference group. + verify(mBatteryChartPreferenceController.mAppListPrefGroup) + .setTitle(captor.capture()); + assertThat(captor.getValue()) + .isEqualTo("App usage since last full charge to 12 PM"); + // Verifies the title in the expandable divider. + captor = ArgumentCaptor.forClass(String.class); + verify(mBatteryChartPreferenceController.mExpandDividerPreference) + .setTitle(captor.capture()); + assertThat(captor.getValue()) + .isEqualTo("System usage since last full charge to 12 PM"); + } + + @Test + public void refreshCategoryTitle_multiDaysData_setLastFullChargeIntoBothTitleTextView() { + mBatteryChartPreferenceController = createController(); + mBatteryChartPreferenceController.mAppListPrefGroup = + spy(new PreferenceCategory(mContext)); + mBatteryChartPreferenceController.mExpandDividerPreference = + spy(new ExpandDividerPreference(mContext)); + mBatteryChartPreferenceController.setBatteryHistoryMap(createBatteryHistoryMap(60)); // Simulates select all condition. mBatteryChartPreferenceController.mDailyChartIndex = BatteryChartViewModel.SELECTED_INDEX_ALL; @@ -590,13 +621,13 @@ public void refreshCategoryTitle_setLastFullChargeIntoBothTitleTextView() { verify(mBatteryChartPreferenceController.mAppListPrefGroup) .setTitle(captor.capture()); assertThat(captor.getValue()) - .isEqualTo("App usage since last full charge"); + .isEqualTo("App usage since last full charge to Monday 6 PM"); // Verifies the title in the expandable divider. captor = ArgumentCaptor.forClass(String.class); verify(mBatteryChartPreferenceController.mExpandDividerPreference) .setTitle(captor.capture()); assertThat(captor.getValue()) - .isEqualTo("System usage since last full charge"); + .isEqualTo("System usage since last full charge to Monday 6 PM"); } @Test diff --git a/tests/unit/src/com/android/settings/bluetooth/BlockingPrefWithSliceControllerTest.java b/tests/unit/src/com/android/settings/bluetooth/BlockingPrefWithSliceControllerTest.java new file mode 100644 index 00000000000..65b6977116d --- /dev/null +++ b/tests/unit/src/com/android/settings/bluetooth/BlockingPrefWithSliceControllerTest.java @@ -0,0 +1,160 @@ +/* + * Copyright (C) 2023 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.settings.bluetooth; + +import static com.google.common.truth.Truth.assertThat; + +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.spy; +import static org.mockito.Mockito.verify; + +import android.app.PendingIntent; +import android.content.Context; +import android.content.ContentResolver; +import android.content.Intent; +import android.net.Uri; + +import androidx.core.graphics.drawable.IconCompat; +import androidx.lifecycle.LiveData; +import androidx.preference.Preference; +import androidx.preference.PreferenceCategory; +import androidx.slice.Slice; +import androidx.slice.SliceViewManager; +import androidx.slice.builders.ListBuilder; +import androidx.slice.builders.ListBuilder.RowBuilder; +import androidx.slice.builders.SliceAction; +import androidx.test.annotation.UiThreadTest; +import androidx.test.core.app.ApplicationProvider; +import androidx.test.ext.junit.runners.AndroidJUnit4; + +import com.android.settings.bluetooth.BlockingPrefWithSliceController; + +import org.junit.Before; +import org.junit.Rule; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; +import org.mockito.junit.MockitoJUnit; +import org.mockito.junit.MockitoRule; + +public class BlockingPrefWithSliceControllerTest { + private static final String KEY = "bt_device_slice_category"; + private static final String TEST_URI_AUTHORITY = "com.android.authority.test"; + private static final String TEST_EXTRA_INTENT = "EXTRA_INTENT"; + private static final String TEST_EXTRA_PENDING_INTENT = "EXTRA_PENDING_INTENT"; + private static final String TEST_INTENT_ACTION = "test"; + private static final String TEST_PENDING_INTENT_ACTION = "test"; + private static final String TEST_SLICE_TITLE = "Test Title"; + private static final String TEST_SLICE_SUBTITLE = "Test Subtitle"; + private static final String FAKE_ACTION = "fake_action"; + + @Rule + public final MockitoRule mMockitoRule = MockitoJUnit.rule(); + + @Mock + private LiveData mLiveData; + @Mock + private PreferenceCategory mPreferenceCategory; + + private Context mContext; + private BlockingPrefWithSliceController mController; + private Uri mUri; + + @Before + public void setUp() { + mContext = spy(ApplicationProvider.getApplicationContext()); + mController = spy(new BlockingPrefWithSliceController(mContext, KEY)); + mController.mLiveData = mLiveData; + mController.mExtraIntent = TEST_EXTRA_INTENT; + mController.mExtraPendingIntent = TEST_EXTRA_PENDING_INTENT; + mController.mSliceIntentAction = TEST_INTENT_ACTION; + mController.mSlicePendingIntentAction = TEST_PENDING_INTENT_ACTION; + mController.mPreferenceCategory = mPreferenceCategory; + mUri = Uri.EMPTY; + } + + @Test + public void isAvailable_uriNull_returnFalse() { + assertThat(mController.isAvailable()).isFalse(); + } + + @Test + @UiThreadTest + public void isAvailable_uriNotNull_returnTrue() { + mController.setSliceUri(mUri); + + assertThat(mController.isAvailable()).isTrue(); + } + + @Test + public void onStart_registerObserver() { + mController.onStart(); + + verify(mLiveData).observeForever(mController); + } + + @Test + public void onStop_unregisterObserver() { + mController.onStop(); + + verify(mLiveData).removeObserver(mController); + } + + @Test + public void onChanged_nullSlice_updateSlice() { + mController.onChanged(null); + + verify(mController).updatePreferenceFromSlice(null); + } + + @Test + public void onChanged_testSlice_updateSlice() { + mController.onChanged(buildTestSlice()); + + verify(mController.mPreferenceCategory).addPreference(any()); + } + + private Slice buildTestSlice() { + Uri uri = + new Uri.Builder() + .scheme(ContentResolver.SCHEME_CONTENT) + .authority(TEST_URI_AUTHORITY) + .build(); + SliceViewManager.getInstance(mContext).pinSlice(uri); + ListBuilder listBuilder = new ListBuilder(mContext, uri, ListBuilder.INFINITY); + IconCompat icon = mock(IconCompat.class); + listBuilder.addRow( + new RowBuilder() + .setTitleItem(icon, ListBuilder.ICON_IMAGE) + .setTitle(TEST_SLICE_TITLE) + .setSubtitle(TEST_SLICE_SUBTITLE) + .setPrimaryAction( + SliceAction.create( + PendingIntent.getActivity( + mContext, + /*requestCode= */ 0, + new Intent(FAKE_ACTION), + PendingIntent.FLAG_UPDATE_CURRENT + | PendingIntent.FLAG_IMMUTABLE), + icon, + ListBuilder.ICON_IMAGE, + ""))); + return listBuilder.build(); + } +}