Merge "Update no search results icon and move image to top of page" into oc-dev
diff --git a/res/values-af/strings.xml b/res/values-af/strings.xml
index ef3f42a..705e49e 100644
--- a/res/values-af/strings.xml
+++ b/res/values-af/strings.xml
@@ -2777,8 +2777,7 @@
<string name="configure_notification_settings" msgid="7616737397127242615">"Kennisgewings"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"Gevorderd"</string>
<string name="profile_section_header" msgid="2320848161066912001">"Werkkennisgewings"</string>
- <!-- no translation found for notification_badging_title (5125022693565388760) -->
- <skip />
+ <string name="notification_badging_title" msgid="5125022693565388760">"Laat ikoonkentekens toe"</string>
<string name="notification_pulse_title" msgid="1905382958860387030">"Flikkerende lig"</string>
<string name="lock_screen_notifications_title" msgid="6173076173408887213">"Op die sluitskerm"</string>
<string name="lock_screen_notifications_summary_show" msgid="6407527697810672847">"Wys alle kennisgewinginhoud"</string>
diff --git a/res/values-am/strings.xml b/res/values-am/strings.xml
index 850913d..9ed45af 100644
--- a/res/values-am/strings.xml
+++ b/res/values-am/strings.xml
@@ -2777,8 +2777,7 @@
<string name="configure_notification_settings" msgid="7616737397127242615">"ማሳወቂያዎች"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"የላቀ"</string>
<string name="profile_section_header" msgid="2320848161066912001">"የስራ ማሳወቂያዎች"</string>
- <!-- no translation found for notification_badging_title (5125022693565388760) -->
- <skip />
+ <string name="notification_badging_title" msgid="5125022693565388760">"የአዶ ባጆችን ያሳዩ"</string>
<string name="notification_pulse_title" msgid="1905382958860387030">"ብርሃን አብለጭለጭ"</string>
<string name="lock_screen_notifications_title" msgid="6173076173408887213">"በማያ ገጽ ቁልፉ ላይ"</string>
<string name="lock_screen_notifications_summary_show" msgid="6407527697810672847">"ሁሉንም የማሳወቂያ ይዘቶችን አሳይ"</string>
diff --git a/res/values-ar/strings.xml b/res/values-ar/strings.xml
index 0054cd5..95321a0 100644
--- a/res/values-ar/strings.xml
+++ b/res/values-ar/strings.xml
@@ -2885,8 +2885,7 @@
<string name="configure_notification_settings" msgid="7616737397127242615">"الإشعارات"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"متقدمة"</string>
<string name="profile_section_header" msgid="2320848161066912001">"إشعارات العمل"</string>
- <!-- no translation found for notification_badging_title (5125022693565388760) -->
- <skip />
+ <string name="notification_badging_title" msgid="5125022693565388760">"السماح بشارات الرمز"</string>
<string name="notification_pulse_title" msgid="1905382958860387030">"وميض الضوء"</string>
<string name="lock_screen_notifications_title" msgid="6173076173408887213">"على شاشة التأمين"</string>
<string name="lock_screen_notifications_summary_show" msgid="6407527697810672847">"عرض كل محتوى الإشعارات"</string>
diff --git a/res/values-az/strings.xml b/res/values-az/strings.xml
index fa5213c..8b271af 100644
--- a/res/values-az/strings.xml
+++ b/res/values-az/strings.xml
@@ -2777,8 +2777,7 @@
<string name="configure_notification_settings" msgid="7616737397127242615">"Bildirişlər"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"Qabaqcıl"</string>
<string name="profile_section_header" msgid="2320848161066912001">"İş bildirişləri"</string>
- <!-- no translation found for notification_badging_title (5125022693565388760) -->
- <skip />
+ <string name="notification_badging_title" msgid="5125022693565388760">"İkona nişanlarına icazə verin"</string>
<string name="notification_pulse_title" msgid="1905382958860387030">"Parıltı işığı"</string>
<string name="lock_screen_notifications_title" msgid="6173076173408887213">"Ekran kilidində"</string>
<string name="lock_screen_notifications_summary_show" msgid="6407527697810672847">"Bütün bildiriş məzmunlarını göstər"</string>
diff --git a/res/values-b+sr+Latn/strings.xml b/res/values-b+sr+Latn/strings.xml
index 30952ef..9416bfe 100644
--- a/res/values-b+sr+Latn/strings.xml
+++ b/res/values-b+sr+Latn/strings.xml
@@ -2804,8 +2804,7 @@
<string name="configure_notification_settings" msgid="7616737397127242615">"Obaveštenja"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"Napredna"</string>
<string name="profile_section_header" msgid="2320848161066912001">"Obaveštenja za Work"</string>
- <!-- no translation found for notification_badging_title (5125022693565388760) -->
- <skip />
+ <string name="notification_badging_title" msgid="5125022693565388760">"Dozvoli značke na ikonama"</string>
<string name="notification_pulse_title" msgid="1905382958860387030">"Uključi treperenje lampice"</string>
<string name="lock_screen_notifications_title" msgid="6173076173408887213">"Na zaključanom ekranu"</string>
<string name="lock_screen_notifications_summary_show" msgid="6407527697810672847">"Prikaži sav sadržaj obaveštenja"</string>
diff --git a/res/values-be/strings.xml b/res/values-be/strings.xml
index 6e74cfd..692f78d 100644
--- a/res/values-be/strings.xml
+++ b/res/values-be/strings.xml
@@ -2832,8 +2832,7 @@
<string name="configure_notification_settings" msgid="7616737397127242615">"Апавяшчэнні"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"Пашыраныя"</string>
<string name="profile_section_header" msgid="2320848161066912001">"Апавяшчэнні працоўнага профілю"</string>
- <!-- no translation found for notification_badging_title (5125022693565388760) -->
- <skip />
+ <string name="notification_badging_title" msgid="5125022693565388760">"Дазволіць паказваць паметкі на значку"</string>
<string name="notification_pulse_title" msgid="1905382958860387030">"Мігценне святла"</string>
<string name="lock_screen_notifications_title" msgid="6173076173408887213">"На экране блакіроўкі"</string>
<string name="lock_screen_notifications_summary_show" msgid="6407527697810672847">"Паказваць усё змесціва ў апавяшчэннях"</string>
diff --git a/res/values-bg/strings.xml b/res/values-bg/strings.xml
index 34eccc9..3708013 100644
--- a/res/values-bg/strings.xml
+++ b/res/values-bg/strings.xml
@@ -2777,8 +2777,7 @@
<string name="configure_notification_settings" msgid="7616737397127242615">"Известия"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"Разширени"</string>
<string name="profile_section_header" msgid="2320848161066912001">"Служебни известия"</string>
- <!-- no translation found for notification_badging_title (5125022693565388760) -->
- <skip />
+ <string name="notification_badging_title" msgid="5125022693565388760">"Разрешав. на значки за иконата"</string>
<string name="notification_pulse_title" msgid="1905382958860387030">"Премигваща светлина"</string>
<string name="lock_screen_notifications_title" msgid="6173076173408887213">"Върху заключения екран"</string>
<string name="lock_screen_notifications_summary_show" msgid="6407527697810672847">"Цялото съдържание от известията"</string>
diff --git a/res/values-bs/strings.xml b/res/values-bs/strings.xml
index ade3b20..7007974 100644
--- a/res/values-bs/strings.xml
+++ b/res/values-bs/strings.xml
@@ -2817,8 +2817,7 @@
<string name="configure_notification_settings" msgid="7616737397127242615">"Obavještenja"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"Napredno"</string>
<string name="profile_section_header" msgid="2320848161066912001">"Obavještenja za posao"</string>
- <!-- no translation found for notification_badging_title (5125022693565388760) -->
- <skip />
+ <string name="notification_badging_title" msgid="5125022693565388760">"Dozvoli značke ikona"</string>
<string name="notification_pulse_title" msgid="1905382958860387030">"Trepćuće svjetlo"</string>
<string name="lock_screen_notifications_title" msgid="6173076173408887213">"Na zaključanom ekranu"</string>
<string name="lock_screen_notifications_summary_show" msgid="6407527697810672847">"Prikazuj sav sadržaj obavještenja"</string>
diff --git a/res/values-ca/strings.xml b/res/values-ca/strings.xml
index a1f135f..c33d5a9 100644
--- a/res/values-ca/strings.xml
+++ b/res/values-ca/strings.xml
@@ -2777,8 +2777,7 @@
<string name="configure_notification_settings" msgid="7616737397127242615">"Notificacions"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"Avançada"</string>
<string name="profile_section_header" msgid="2320848161066912001">"Notificacions de la feina"</string>
- <!-- no translation found for notification_badging_title (5125022693565388760) -->
- <skip />
+ <string name="notification_badging_title" msgid="5125022693565388760">"Permet les insígnies d\'icona"</string>
<string name="notification_pulse_title" msgid="1905382958860387030">"Llum intermitent"</string>
<string name="lock_screen_notifications_title" msgid="6173076173408887213">"A la pantalla de bloqueig"</string>
<string name="lock_screen_notifications_summary_show" msgid="6407527697810672847">"Mostra tot el contingut de les notificacions"</string>
diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml
index 92fa473..f5f1d41 100644
--- a/res/values-cs/strings.xml
+++ b/res/values-cs/strings.xml
@@ -2831,8 +2831,7 @@
<string name="configure_notification_settings" msgid="7616737397127242615">"Oznámení"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"Rozšířená nastavení"</string>
<string name="profile_section_header" msgid="2320848161066912001">"Pracovní oznámení"</string>
- <!-- no translation found for notification_badging_title (5125022693565388760) -->
- <skip />
+ <string name="notification_badging_title" msgid="5125022693565388760">"Povolit odznaky na ikonách"</string>
<string name="notification_pulse_title" msgid="1905382958860387030">"Blikání kontrolky"</string>
<string name="lock_screen_notifications_title" msgid="6173076173408887213">"Na obrazovce uzamčení"</string>
<string name="lock_screen_notifications_summary_show" msgid="6407527697810672847">"Zobrazit veškerý obsah oznámení"</string>
diff --git a/res/values-da/strings.xml b/res/values-da/strings.xml
index 53caca6..faad3b8 100644
--- a/res/values-da/strings.xml
+++ b/res/values-da/strings.xml
@@ -2385,10 +2385,10 @@
<string name="vpn_no_ca_cert" msgid="8776029412793353361">"(ingen bekræftelse af serveren)"</string>
<string name="vpn_no_server_cert" msgid="2167487440231913330">"(modtaget fra serveren)"</string>
<string name="vpn_always_on_invalid_reason_type" msgid="7574518311224455825">"Denne VPN-type kan ikke være forbundet hele tiden"</string>
- <string name="vpn_always_on_invalid_reason_server" msgid="477304620899799383">"Åbne VPN-forbindelser, understøtter kun numeriske serveradresser"</string>
- <string name="vpn_always_on_invalid_reason_no_dns" msgid="2226648961940273294">"Der skal angives en DNS-server for åbne VPN-forbindelser"</string>
- <string name="vpn_always_on_invalid_reason_dns" msgid="3551394495620249972">"DNS-serveradressen skal være numerisk for åbne VPN-forbindelser"</string>
- <string name="vpn_always_on_invalid_reason_other" msgid="5959352052515258208">"De indtastede oplysninger understøtter ikke åbne VPN-forbindelser"</string>
+ <string name="vpn_always_on_invalid_reason_server" msgid="477304620899799383">"Altid aktiveret VPN understøtter kun numeriske serveradresser"</string>
+ <string name="vpn_always_on_invalid_reason_no_dns" msgid="2226648961940273294">"Der skal angives en DNS-server for altid aktiveret VPN"</string>
+ <string name="vpn_always_on_invalid_reason_dns" msgid="3551394495620249972">"DNS-serveradressen skal være numerisk for altid aktiverede VPN-netværk"</string>
+ <string name="vpn_always_on_invalid_reason_other" msgid="5959352052515258208">"De indtastede oplysninger understøtter ikke altid aktiveret VPN"</string>
<string name="vpn_cancel" msgid="1979937976123659332">"Annuller"</string>
<string name="vpn_done" msgid="8678655203910995914">"Annuller"</string>
<string name="vpn_save" msgid="4233484051644764510">"Gem"</string>
@@ -2402,19 +2402,19 @@
<string name="vpn_version" msgid="1939804054179766249">"Version <xliff:g id="VERSION">%s</xliff:g>"</string>
<string name="vpn_forget_long" msgid="2232239391189465752">"Glem VPN"</string>
<string name="vpn_replace_vpn_title" msgid="2963898301277610248">"Erstat det eksisterende VPN-netværk?"</string>
- <string name="vpn_set_vpn_title" msgid="4009987321156037267">"Skal VPN altid være slået til?"</string>
+ <string name="vpn_set_vpn_title" msgid="4009987321156037267">"Vil du konfigurere altid aktiveret VPN?"</string>
<string name="vpn_first_always_on_vpn_message" msgid="3025322109743675467">"Hvis du aktiverer denne indstilling, vil du ikke have nogen internetforbindelse, før VPN-netværket etablerer forbindelse."</string>
<string name="vpn_replace_always_on_vpn_enable_message" msgid="2577928591361606641">"Dit eksisterende VPN-netværk erstattes, og du vil ikke have nogen internetforbindelse, før VPN-netværket etablerer forbindelse."</string>
- <string name="vpn_replace_always_on_vpn_disable_message" msgid="3011818750025879902">"Du har allerede forbindelse til et VPN-netværk, der altid er slået til. Hvis du opretter forbindelse til et andet netværk, erstattes dit eksisterende VPN, og Altid slået til-tilstanden deaktiveres."</string>
+ <string name="vpn_replace_always_on_vpn_disable_message" msgid="3011818750025879902">"Du har allerede forbindelse til et altid aktiveret VPN-netværk. Hvis du opretter forbindelse til et andet netværk, erstattes dit eksisterende VPN, og Altid aktiveret-tilstanden deaktiveres."</string>
<string name="vpn_replace_vpn_message" msgid="5611635724578812860">"Du har allerede forbindelse til et VPN-netværk. Hvis du opretter forbindelse til et andet, erstattes dit eksisterende VPN."</string>
<string name="vpn_turn_on" msgid="2363136869284273872">"Aktivér"</string>
<string name="vpn_cant_connect_title" msgid="4517706987875907511">"<xliff:g id="VPN_NAME">%1$s</xliff:g> kan ikke oprette forbindelse"</string>
- <string name="vpn_cant_connect_message" msgid="1352832123114214283">"Denne app understøtter ikke åben VPN-forbindelse"</string>
+ <string name="vpn_cant_connect_message" msgid="1352832123114214283">"Denne app understøtter ikke altid aktiveret VPN"</string>
<string name="vpn_title" msgid="6317731879966640551">"VPN"</string>
<string name="vpn_create" msgid="5628219087569761496">"Tilføj VPN-profil"</string>
<string name="vpn_menu_edit" msgid="408275284159243490">"Rediger profil"</string>
<string name="vpn_menu_delete" msgid="8098021690546891414">"Slet profil"</string>
- <string name="vpn_menu_lockdown" msgid="7863024538064268139">"VPN altid aktiveret"</string>
+ <string name="vpn_menu_lockdown" msgid="7863024538064268139">"Altid aktiveret VPN"</string>
<string name="vpn_no_vpns_added" msgid="5002741367858707244">"Der er ikke tilføjet nogen VPN-netværk"</string>
<string name="vpn_always_on_summary" msgid="2821344524094363617">"Vær forbundet til VPN hele tiden"</string>
<string name="vpn_always_on_summary_not_supported" msgid="592304911378771510">"Understøttes ikke af denne app"</string>
@@ -2471,8 +2471,8 @@
</plurals>
<string name="ssl_ca_cert_warning_message" msgid="8216218659139190498">"En tredjepart kan overvåge din netværksaktivitet, herunder e-mails, apps og sikre websites.\n\nPålidelige loginoplysninger, der er installeret på din enhed, gør dette muligt."</string>
<plurals name="ssl_ca_cert_settings_button" formatted="false" msgid="2426799352517325228">
- <item quantity="one">Kontrollér certifikat</item>
- <item quantity="other">Kontrollér certifikater</item>
+ <item quantity="one">Tjek certifikat</item>
+ <item quantity="other">Tjek certifikater</item>
</plurals>
<string name="user_settings_title" msgid="6151874007858148344">"Brugere"</string>
<string name="user_list_title" msgid="7937158411137563543">"Brugere og profiler"</string>
@@ -2777,8 +2777,7 @@
<string name="configure_notification_settings" msgid="7616737397127242615">"Underretninger"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"Avanceret"</string>
<string name="profile_section_header" msgid="2320848161066912001">"Arbejdsunderretninger"</string>
- <!-- no translation found for notification_badging_title (5125022693565388760) -->
- <skip />
+ <string name="notification_badging_title" msgid="5125022693565388760">"Tillad ikonbadges"</string>
<string name="notification_pulse_title" msgid="1905382958860387030">"Blinkende lys"</string>
<string name="lock_screen_notifications_title" msgid="6173076173408887213">"På låseskærmen"</string>
<string name="lock_screen_notifications_summary_show" msgid="6407527697810672847">"Vis alt indhold i underretninger"</string>
@@ -3525,9 +3524,9 @@
</plurals>
<string name="enterprise_privacy_input_method" msgid="6531350246850814920">"Standardtastatur"</string>
<string name="enterprise_privacy_input_method_name" msgid="4941106433683067953">"Indstillet til <xliff:g id="APP_LABEL">%s</xliff:g>"</string>
- <string name="enterprise_privacy_always_on_vpn_device" msgid="4409098287763221215">"\"VPN-netværk altid aktiveret\" er slået til"</string>
- <string name="enterprise_privacy_always_on_vpn_personal" msgid="9217774730260037434">"\"VPN-netværk altid aktiveret\" er slået til i din personlige profil"</string>
- <string name="enterprise_privacy_always_on_vpn_work" msgid="7244472958208315814">"\"VPN-netværk altid aktiveret\" er slået til i din arbejdsprofil"</string>
+ <string name="enterprise_privacy_always_on_vpn_device" msgid="4409098287763221215">"\"Altid aktiveret VPN\" er aktiveret"</string>
+ <string name="enterprise_privacy_always_on_vpn_personal" msgid="9217774730260037434">"\"Altid aktiveret VPN\" er aktiveret på din personlige profil"</string>
+ <string name="enterprise_privacy_always_on_vpn_work" msgid="7244472958208315814">"\"Altid aktiveret VPN\" er aktiveret på din arbejdsprofil"</string>
<string name="enterprise_privacy_global_http_proxy" msgid="7936664553416257333">"Global HTTP-proxy er konfigureret"</string>
<string name="enterprise_privacy_ca_certs" msgid="5885892204903688909">"Pålidelige loginoplysninger"</string>
<plurals name="enterprise_privacy_number_ca_certs" formatted="false" msgid="526375234629534165">
diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml
index 1bbca58..a80211b 100644
--- a/res/values-de/strings.xml
+++ b/res/values-de/strings.xml
@@ -2777,8 +2777,7 @@
<string name="configure_notification_settings" msgid="7616737397127242615">"Benachrichtigungen"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"Erweitert"</string>
<string name="profile_section_header" msgid="2320848161066912001">"Geschäftliche Benachrichtigungen"</string>
- <!-- no translation found for notification_badging_title (5125022693565388760) -->
- <skip />
+ <string name="notification_badging_title" msgid="5125022693565388760">"Logosymbole zulassen"</string>
<string name="notification_pulse_title" msgid="1905382958860387030">"Blinklicht"</string>
<string name="lock_screen_notifications_title" msgid="6173076173408887213">"Auf dem Sperrbildschirm"</string>
<string name="lock_screen_notifications_summary_show" msgid="6407527697810672847">"Gesamten Benachrichtigungsinhalt anzeigen"</string>
diff --git a/res/values-el/strings.xml b/res/values-el/strings.xml
index 8561951..8203b6e 100644
--- a/res/values-el/strings.xml
+++ b/res/values-el/strings.xml
@@ -2777,8 +2777,7 @@
<string name="configure_notification_settings" msgid="7616737397127242615">"Ειδοποιήσεις"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"Σύνθετες ρυθμίσεις"</string>
<string name="profile_section_header" msgid="2320848161066912001">"Ειδοποιήσεις εργασίας"</string>
- <!-- no translation found for notification_badging_title (5125022693565388760) -->
- <skip />
+ <string name="notification_badging_title" msgid="5125022693565388760">"Αποδοχή σημάτων εικονιδίων"</string>
<string name="notification_pulse_title" msgid="1905382958860387030">"Φως που αναβοσβήνει"</string>
<string name="lock_screen_notifications_title" msgid="6173076173408887213">"Στο κλείδωμα οθόνης"</string>
<string name="lock_screen_notifications_summary_show" msgid="6407527697810672847">"Εμφάνιση όλου του περιεχ. ειδοπ."</string>
diff --git a/res/values-en-rAU/strings.xml b/res/values-en-rAU/strings.xml
index 3fc284b..6edc218 100644
--- a/res/values-en-rAU/strings.xml
+++ b/res/values-en-rAU/strings.xml
@@ -2777,8 +2777,7 @@
<string name="configure_notification_settings" msgid="7616737397127242615">"Notifications"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"Advanced"</string>
<string name="profile_section_header" msgid="2320848161066912001">"Work notifications"</string>
- <!-- no translation found for notification_badging_title (5125022693565388760) -->
- <skip />
+ <string name="notification_badging_title" msgid="5125022693565388760">"Allow icon badges"</string>
<string name="notification_pulse_title" msgid="1905382958860387030">"Blink light"</string>
<string name="lock_screen_notifications_title" msgid="6173076173408887213">"On the lock screen"</string>
<string name="lock_screen_notifications_summary_show" msgid="6407527697810672847">"Show all notification content"</string>
diff --git a/res/values-en-rGB/strings.xml b/res/values-en-rGB/strings.xml
index 3fc284b..6edc218 100644
--- a/res/values-en-rGB/strings.xml
+++ b/res/values-en-rGB/strings.xml
@@ -2777,8 +2777,7 @@
<string name="configure_notification_settings" msgid="7616737397127242615">"Notifications"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"Advanced"</string>
<string name="profile_section_header" msgid="2320848161066912001">"Work notifications"</string>
- <!-- no translation found for notification_badging_title (5125022693565388760) -->
- <skip />
+ <string name="notification_badging_title" msgid="5125022693565388760">"Allow icon badges"</string>
<string name="notification_pulse_title" msgid="1905382958860387030">"Blink light"</string>
<string name="lock_screen_notifications_title" msgid="6173076173408887213">"On the lock screen"</string>
<string name="lock_screen_notifications_summary_show" msgid="6407527697810672847">"Show all notification content"</string>
diff --git a/res/values-en-rIN/strings.xml b/res/values-en-rIN/strings.xml
index 3fc284b..6edc218 100644
--- a/res/values-en-rIN/strings.xml
+++ b/res/values-en-rIN/strings.xml
@@ -2777,8 +2777,7 @@
<string name="configure_notification_settings" msgid="7616737397127242615">"Notifications"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"Advanced"</string>
<string name="profile_section_header" msgid="2320848161066912001">"Work notifications"</string>
- <!-- no translation found for notification_badging_title (5125022693565388760) -->
- <skip />
+ <string name="notification_badging_title" msgid="5125022693565388760">"Allow icon badges"</string>
<string name="notification_pulse_title" msgid="1905382958860387030">"Blink light"</string>
<string name="lock_screen_notifications_title" msgid="6173076173408887213">"On the lock screen"</string>
<string name="lock_screen_notifications_summary_show" msgid="6407527697810672847">"Show all notification content"</string>
diff --git a/res/values-es-rUS/strings.xml b/res/values-es-rUS/strings.xml
index 7652bee..437343d 100644
--- a/res/values-es-rUS/strings.xml
+++ b/res/values-es-rUS/strings.xml
@@ -2777,8 +2777,7 @@
<string name="configure_notification_settings" msgid="7616737397127242615">"Notificaciones"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"Avanzada"</string>
<string name="profile_section_header" msgid="2320848161066912001">"Notificaciones de trabajo"</string>
- <!-- no translation found for notification_badging_title (5125022693565388760) -->
- <skip />
+ <string name="notification_badging_title" msgid="5125022693565388760">"Permitir insignias de íconos"</string>
<string name="notification_pulse_title" msgid="1905382958860387030">"Luz intermitente"</string>
<string name="lock_screen_notifications_title" msgid="6173076173408887213">"En la pantalla bloqueada"</string>
<string name="lock_screen_notifications_summary_show" msgid="6407527697810672847">"Mostrar todas las notificaciones"</string>
diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml
index 2dfb0eb..e156d2f 100644
--- a/res/values-es/strings.xml
+++ b/res/values-es/strings.xml
@@ -2777,8 +2777,7 @@
<string name="configure_notification_settings" msgid="7616737397127242615">"Notificaciones"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"Opciones avanzadas"</string>
<string name="profile_section_header" msgid="2320848161066912001">"Notificaciones de trabajo"</string>
- <!-- no translation found for notification_badging_title (5125022693565388760) -->
- <skip />
+ <string name="notification_badging_title" msgid="5125022693565388760">"Permitir insignias de iconos"</string>
<string name="notification_pulse_title" msgid="1905382958860387030">"Luz parpadeante"</string>
<string name="lock_screen_notifications_title" msgid="6173076173408887213">"En la pantalla de bloqueo"</string>
<string name="lock_screen_notifications_summary_show" msgid="6407527697810672847">"Mostrar todo el contenido de las notificaciones"</string>
diff --git a/res/values-et/strings.xml b/res/values-et/strings.xml
index afa533e..9ac8b37 100644
--- a/res/values-et/strings.xml
+++ b/res/values-et/strings.xml
@@ -2777,8 +2777,7 @@
<string name="configure_notification_settings" msgid="7616737397127242615">"Märguanded"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"Täpsemad"</string>
<string name="profile_section_header" msgid="2320848161066912001">"Töö märguanded"</string>
- <!-- no translation found for notification_badging_title (5125022693565388760) -->
- <skip />
+ <string name="notification_badging_title" msgid="5125022693565388760">"Ikoonimärgi lubamine"</string>
<string name="notification_pulse_title" msgid="1905382958860387030">"Vilkuv tuli"</string>
<string name="lock_screen_notifications_title" msgid="6173076173408887213">"Lukustuskuval"</string>
<string name="lock_screen_notifications_summary_show" msgid="6407527697810672847">"Kuva kogu märguande sisu"</string>
diff --git a/res/values-eu/strings.xml b/res/values-eu/strings.xml
index d366d08..fb96a37 100644
--- a/res/values-eu/strings.xml
+++ b/res/values-eu/strings.xml
@@ -2777,8 +2777,7 @@
<string name="configure_notification_settings" msgid="7616737397127242615">"Jakinarazpenak"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"Ezarpen aurreratuak"</string>
<string name="profile_section_header" msgid="2320848161066912001">"Laneko jakinarazpenak"</string>
- <!-- no translation found for notification_badging_title (5125022693565388760) -->
- <skip />
+ <string name="notification_badging_title" msgid="5125022693565388760">"Baimendu ikonoen bereizgarriak"</string>
<string name="notification_pulse_title" msgid="1905382958860387030">"Argi keinukaria"</string>
<string name="lock_screen_notifications_title" msgid="6173076173408887213">"Pantaila blokeatuan"</string>
<string name="lock_screen_notifications_summary_show" msgid="6407527697810672847">"Erakutsi jakinarazpenen eduki guztia"</string>
diff --git a/res/values-fa/strings.xml b/res/values-fa/strings.xml
index 7cadd05..a4be204 100644
--- a/res/values-fa/strings.xml
+++ b/res/values-fa/strings.xml
@@ -2777,8 +2777,7 @@
<string name="configure_notification_settings" msgid="7616737397127242615">"اعلانها"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"پیشرفته"</string>
<string name="profile_section_header" msgid="2320848161066912001">"اعلانهای کار"</string>
- <!-- no translation found for notification_badging_title (5125022693565388760) -->
- <skip />
+ <string name="notification_badging_title" msgid="5125022693565388760">"اجازه دادن به نشانهای نماد"</string>
<string name="notification_pulse_title" msgid="1905382958860387030">"نور چشمکزن"</string>
<string name="lock_screen_notifications_title" msgid="6173076173408887213">"روی قفل صفحه"</string>
<string name="lock_screen_notifications_summary_show" msgid="6407527697810672847">"نمایش همه محتوای اعلان"</string>
diff --git a/res/values-fi/strings.xml b/res/values-fi/strings.xml
index 4b11243..a8bcdab 100644
--- a/res/values-fi/strings.xml
+++ b/res/values-fi/strings.xml
@@ -2777,8 +2777,7 @@
<string name="configure_notification_settings" msgid="7616737397127242615">"Ilmoitukset"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"Lisäasetukset"</string>
<string name="profile_section_header" msgid="2320848161066912001">"Työilmoitukset"</string>
- <!-- no translation found for notification_badging_title (5125022693565388760) -->
- <skip />
+ <string name="notification_badging_title" msgid="5125022693565388760">"Salli merkkikuvakkeet"</string>
<string name="notification_pulse_title" msgid="1905382958860387030">"Vilkuta valoa"</string>
<string name="lock_screen_notifications_title" msgid="6173076173408887213">"Lukitusnäytöllä"</string>
<string name="lock_screen_notifications_summary_show" msgid="6407527697810672847">"Näytä ilmoitusten koko sisältö."</string>
diff --git a/res/values-fr-rCA/strings.xml b/res/values-fr-rCA/strings.xml
index 3b6d82f..0db5bd6 100644
--- a/res/values-fr-rCA/strings.xml
+++ b/res/values-fr-rCA/strings.xml
@@ -2777,8 +2777,7 @@
<string name="configure_notification_settings" msgid="7616737397127242615">"Notifications"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"Paramètres avancés"</string>
<string name="profile_section_header" msgid="2320848161066912001">"Notifications professionnelles"</string>
- <!-- no translation found for notification_badging_title (5125022693565388760) -->
- <skip />
+ <string name="notification_badging_title" msgid="5125022693565388760">"Autoriser les insignes d\'icône"</string>
<string name="notification_pulse_title" msgid="1905382958860387030">"Faire clignoter le voyant"</string>
<string name="lock_screen_notifications_title" msgid="6173076173408887213">"À l\'écran de verrouillage"</string>
<string name="lock_screen_notifications_summary_show" msgid="6407527697810672847">"Afficher tout le contenu des notifications"</string>
diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml
index 67970d1..da22430 100644
--- a/res/values-fr/strings.xml
+++ b/res/values-fr/strings.xml
@@ -2777,8 +2777,7 @@
<string name="configure_notification_settings" msgid="7616737397127242615">"Notifications"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"Paramètres avancés"</string>
<string name="profile_section_header" msgid="2320848161066912001">"Notifications profil pro"</string>
- <!-- no translation found for notification_badging_title (5125022693565388760) -->
- <skip />
+ <string name="notification_badging_title" msgid="5125022693565388760">"Autoriser les badges d\'icône"</string>
<string name="notification_pulse_title" msgid="1905382958860387030">"Clignotement"</string>
<string name="lock_screen_notifications_title" msgid="6173076173408887213">"Sur l\'écran de verrouillage"</string>
<string name="lock_screen_notifications_summary_show" msgid="6407527697810672847">"Afficher tout le contenu des notifications"</string>
diff --git a/res/values-gl/strings.xml b/res/values-gl/strings.xml
index 90ad4dd..3c9d43d 100644
--- a/res/values-gl/strings.xml
+++ b/res/values-gl/strings.xml
@@ -2777,8 +2777,7 @@
<string name="configure_notification_settings" msgid="7616737397127242615">"Notificacións"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"Configuración avanzada"</string>
<string name="profile_section_header" msgid="2320848161066912001">"Notificacións do traballo"</string>
- <!-- no translation found for notification_badging_title (5125022693565388760) -->
- <skip />
+ <string name="notification_badging_title" msgid="5125022693565388760">"Permitir insignias de iconas"</string>
<string name="notification_pulse_title" msgid="1905382958860387030">"Luz intermitente"</string>
<string name="lock_screen_notifications_title" msgid="6173076173408887213">"Na pantalla de bloqueo"</string>
<string name="lock_screen_notifications_summary_show" msgid="6407527697810672847">"Mostrar todo o contido das notificacións"</string>
diff --git a/res/values-gu/strings.xml b/res/values-gu/strings.xml
index 58e2cf3..5ad7b78 100644
--- a/res/values-gu/strings.xml
+++ b/res/values-gu/strings.xml
@@ -2777,8 +2777,7 @@
<string name="configure_notification_settings" msgid="7616737397127242615">"સૂચનાઓ"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"વિગતવાર"</string>
<string name="profile_section_header" msgid="2320848161066912001">"કાર્યની સૂચનાઓ"</string>
- <!-- no translation found for notification_badging_title (5125022693565388760) -->
- <skip />
+ <string name="notification_badging_title" msgid="5125022693565388760">"આઇકનના બૅજને મંજૂરી આપો"</string>
<string name="notification_pulse_title" msgid="1905382958860387030">"લાઇટ ઝબકવી"</string>
<string name="lock_screen_notifications_title" msgid="6173076173408887213">"લૉક સ્ક્રીન પર"</string>
<string name="lock_screen_notifications_summary_show" msgid="6407527697810672847">"તમામ સૂચના સામગ્રી બતાવો"</string>
diff --git a/res/values-hi/strings.xml b/res/values-hi/strings.xml
index 11776fe..de0bd29 100644
--- a/res/values-hi/strings.xml
+++ b/res/values-hi/strings.xml
@@ -2777,8 +2777,7 @@
<string name="configure_notification_settings" msgid="7616737397127242615">"नोटिफ़िकेशन"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"उन्नत"</string>
<string name="profile_section_header" msgid="2320848161066912001">"कार्य नोटिफ़िकेशन"</string>
- <!-- no translation found for notification_badging_title (5125022693565388760) -->
- <skip />
+ <string name="notification_badging_title" msgid="5125022693565388760">"आइकन बैज की अनुमति दें"</string>
<string name="notification_pulse_title" msgid="1905382958860387030">"ब्लिंक लाइट"</string>
<string name="lock_screen_notifications_title" msgid="6173076173408887213">"लॉक स्क्रीन पर"</string>
<string name="lock_screen_notifications_summary_show" msgid="6407527697810672847">"सभी नोटिफ़िकेशन सामग्री दिखाएं"</string>
diff --git a/res/values-hr/strings.xml b/res/values-hr/strings.xml
index 7bdada9..919505c 100644
--- a/res/values-hr/strings.xml
+++ b/res/values-hr/strings.xml
@@ -2804,8 +2804,7 @@
<string name="configure_notification_settings" msgid="7616737397127242615">"Obavijesti"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"Napredno"</string>
<string name="profile_section_header" msgid="2320848161066912001">"Obavijesti s radnog profila"</string>
- <!-- no translation found for notification_badging_title (5125022693565388760) -->
- <skip />
+ <string name="notification_badging_title" msgid="5125022693565388760">"Dopusti značke ikona"</string>
<string name="notification_pulse_title" msgid="1905382958860387030">"Trepereće svjetlo"</string>
<string name="lock_screen_notifications_title" msgid="6173076173408887213">"Na zaključanom zaslonu"</string>
<string name="lock_screen_notifications_summary_show" msgid="6407527697810672847">"Prikaži sav sadržaj obavijesti"</string>
diff --git a/res/values-hu/strings.xml b/res/values-hu/strings.xml
index 0f7d60e..ad7290b 100644
--- a/res/values-hu/strings.xml
+++ b/res/values-hu/strings.xml
@@ -2779,8 +2779,7 @@
<string name="configure_notification_settings" msgid="7616737397127242615">"Értesítések"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"Speciális"</string>
<string name="profile_section_header" msgid="2320848161066912001">"Munkahelyi profil értesítései"</string>
- <!-- no translation found for notification_badging_title (5125022693565388760) -->
- <skip />
+ <string name="notification_badging_title" msgid="5125022693565388760">"Ikonjelvények engedélyezése"</string>
<string name="notification_pulse_title" msgid="1905382958860387030">"Villogó fény"</string>
<string name="lock_screen_notifications_title" msgid="6173076173408887213">"A lezárási képernyőn"</string>
<string name="lock_screen_notifications_summary_show" msgid="6407527697810672847">"Az összes értesítés jelenjen meg"</string>
diff --git a/res/values-hy/strings.xml b/res/values-hy/strings.xml
index d1999fc..01fbecd 100644
--- a/res/values-hy/strings.xml
+++ b/res/values-hy/strings.xml
@@ -2777,8 +2777,7 @@
<string name="configure_notification_settings" msgid="7616737397127242615">"Ծանուցումներ"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"Լրացուցիչ"</string>
<string name="profile_section_header" msgid="2320848161066912001">"Աշխատանքային ծանուցումներ"</string>
- <!-- no translation found for notification_badging_title (5125022693565388760) -->
- <skip />
+ <string name="notification_badging_title" msgid="5125022693565388760">"Թույլատրել պատկերակների նշանակները"</string>
<string name="notification_pulse_title" msgid="1905382958860387030">"Թարթող լույս"</string>
<string name="lock_screen_notifications_title" msgid="6173076173408887213">"Կողպէկրանին"</string>
<string name="lock_screen_notifications_summary_show" msgid="6407527697810672847">"Ցուցադրել ամբողջ ծանուցումը"</string>
diff --git a/res/values-in/strings.xml b/res/values-in/strings.xml
index d5143ee..67b4b2b 100644
--- a/res/values-in/strings.xml
+++ b/res/values-in/strings.xml
@@ -2777,8 +2777,7 @@
<string name="configure_notification_settings" msgid="7616737397127242615">"Notifikasi"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"Lanjutan"</string>
<string name="profile_section_header" msgid="2320848161066912001">"Notifikasi kerja"</string>
- <!-- no translation found for notification_badging_title (5125022693565388760) -->
- <skip />
+ <string name="notification_badging_title" msgid="5125022693565388760">"Izinkan badge ikon"</string>
<string name="notification_pulse_title" msgid="1905382958860387030">"Cahaya kedip"</string>
<string name="lock_screen_notifications_title" msgid="6173076173408887213">"Di layar kunci"</string>
<string name="lock_screen_notifications_summary_show" msgid="6407527697810672847">"Menampilkan semua konten notifikasi"</string>
diff --git a/res/values-is/strings.xml b/res/values-is/strings.xml
index b4191bc..5aa4823 100644
--- a/res/values-is/strings.xml
+++ b/res/values-is/strings.xml
@@ -2777,8 +2777,7 @@
<string name="configure_notification_settings" msgid="7616737397127242615">"Tilkynningar"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"Ítarlegt"</string>
<string name="profile_section_header" msgid="2320848161066912001">"Vinnutilkynningar"</string>
- <!-- no translation found for notification_badging_title (5125022693565388760) -->
- <skip />
+ <string name="notification_badging_title" msgid="5125022693565388760">"Leyfa merkingu á skjöldum"</string>
<string name="notification_pulse_title" msgid="1905382958860387030">"Blikkandi ljós"</string>
<string name="lock_screen_notifications_title" msgid="6173076173408887213">"Á lásskjá"</string>
<string name="lock_screen_notifications_summary_show" msgid="6407527697810672847">"Sýna allt innihald tilkynninga"</string>
diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml
index 0ade192..1774bb0 100644
--- a/res/values-it/strings.xml
+++ b/res/values-it/strings.xml
@@ -2777,8 +2777,7 @@
<string name="configure_notification_settings" msgid="7616737397127242615">"Notifiche"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"Avanzate"</string>
<string name="profile_section_header" msgid="2320848161066912001">"Notifiche di lavoro"</string>
- <!-- no translation found for notification_badging_title (5125022693565388760) -->
- <skip />
+ <string name="notification_badging_title" msgid="5125022693565388760">"Consenti badge icona"</string>
<string name="notification_pulse_title" msgid="1905382958860387030">"Luce lampeggiante"</string>
<string name="lock_screen_notifications_title" msgid="6173076173408887213">"Sulla schermata di blocco"</string>
<string name="lock_screen_notifications_summary_show" msgid="6407527697810672847">"Mostra tutti i contenuti delle notifiche"</string>
diff --git a/res/values-iw/strings.xml b/res/values-iw/strings.xml
index 5eecadf..f3f9f99 100644
--- a/res/values-iw/strings.xml
+++ b/res/values-iw/strings.xml
@@ -2833,8 +2833,7 @@
<string name="configure_notification_settings" msgid="7616737397127242615">"הודעות"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"אפשרויות מתקדמות"</string>
<string name="profile_section_header" msgid="2320848161066912001">"הודעות עבודה"</string>
- <!-- no translation found for notification_badging_title (5125022693565388760) -->
- <skip />
+ <string name="notification_badging_title" msgid="5125022693565388760">"הצגת תגים על גבי הסמלים"</string>
<string name="notification_pulse_title" msgid="1905382958860387030">"אור מהבהב"</string>
<string name="lock_screen_notifications_title" msgid="6173076173408887213">"במסך הנעילה"</string>
<string name="lock_screen_notifications_summary_show" msgid="6407527697810672847">"תוכן ההודעות יופיע במלואו"</string>
@@ -2860,8 +2859,7 @@
<string name="notification_importance_low_title" msgid="8131254047772814309">"בינונית"</string>
<string name="notification_importance_default_title" msgid="9120383978536089489">"גבוהה"</string>
<string name="notification_importance_high_title" msgid="3058778300264746473">"דחופה"</string>
- <!-- no translation found for allow_sound (1820188704793497324) -->
- <skip />
+ <string name="allow_sound" msgid="1820188704793497324">"הפעלת צליל"</string>
<string name="show_silently_summary" msgid="7616604629123146565">"אל תשמיע צליל, תפעיל רטט או תציג במהירות הודעות אלו לתצוגה המפורטת במסך הנוכחי."</string>
<string name="default_notification_assistant" msgid="7631945224761430146">"אסיסטנט ההודעות"</string>
<string name="manage_notification_access_title" msgid="7510080164564944891">"גישה אל הודעות"</string>
@@ -2923,7 +2921,7 @@
<string name="app_notification_block_summary" msgid="4744020456943215352">"לעולם אל תציג את ההודעות האלה"</string>
<string name="notification_content_block_title" msgid="5854232570963006360">"הצג הודעות"</string>
<string name="notification_content_block_summary" msgid="7746185794438882389">"אף פעם אל תציג הודעות בהצללה או במכשירים היקפיים"</string>
- <string name="notification_badge_title" msgid="7734903868300369178">"סמל אפליקציית תגים"</string>
+ <string name="notification_badge_title" msgid="7734903868300369178">"הצגת תג על הסמל"</string>
<string name="app_notification_override_dnd_title" msgid="7867458246395884830">"ביטול / שינוי של \'נא לא להפריע\'"</string>
<string name="app_notification_override_dnd_summary" msgid="3516007157020189746">"אפשר להודעות אלה להמשיך ולהפריע כאשר \'נא לא להפריע\' מוגדר כ\'עדיפות בלבד\'"</string>
<string name="app_notification_visibility_override_title" msgid="2187232730902430718">"במסך הנעילה"</string>
diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml
index df03836..64f77ea 100644
--- a/res/values-ja/strings.xml
+++ b/res/values-ja/strings.xml
@@ -2781,8 +2781,7 @@
<string name="configure_notification_settings" msgid="7616737397127242615">"通知"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"詳細設定"</string>
<string name="profile_section_header" msgid="2320848161066912001">"仕事用プロファイルの通知"</string>
- <!-- no translation found for notification_badging_title (5125022693565388760) -->
- <skip />
+ <string name="notification_badging_title" msgid="5125022693565388760">"アイコンバッジの許可"</string>
<string name="notification_pulse_title" msgid="1905382958860387030">"点滅"</string>
<string name="lock_screen_notifications_title" msgid="6173076173408887213">"ロック画面の通知"</string>
<string name="lock_screen_notifications_summary_show" msgid="6407527697810672847">"すべての通知内容を表示する"</string>
diff --git a/res/values-ka/strings.xml b/res/values-ka/strings.xml
index ab5e931..6d72c71 100644
--- a/res/values-ka/strings.xml
+++ b/res/values-ka/strings.xml
@@ -2777,8 +2777,7 @@
<string name="configure_notification_settings" msgid="7616737397127242615">"შეტყობინებები"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"გაფართოებული"</string>
<string name="profile_section_header" msgid="2320848161066912001">"სამსახურის შეტყობინებები"</string>
- <!-- no translation found for notification_badging_title (5125022693565388760) -->
- <skip />
+ <string name="notification_badging_title" msgid="5125022693565388760">"ხატულას ბეჯების დაშვება"</string>
<string name="notification_pulse_title" msgid="1905382958860387030">"სინათლის ციმციმი"</string>
<string name="lock_screen_notifications_title" msgid="6173076173408887213">"ჩაკეტილ ეკრანზე"</string>
<string name="lock_screen_notifications_summary_show" msgid="6407527697810672847">"შეტყობინების მთელი შინაარსის ჩვენება"</string>
diff --git a/res/values-kk/strings.xml b/res/values-kk/strings.xml
index d7bc39e..49b4387 100644
--- a/res/values-kk/strings.xml
+++ b/res/values-kk/strings.xml
@@ -2777,8 +2777,7 @@
<string name="configure_notification_settings" msgid="7616737397127242615">"Хабарландырулар"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"Кеңейтілген"</string>
<string name="profile_section_header" msgid="2320848161066912001">"Жұмыс хабарландырулары"</string>
- <!-- no translation found for notification_badging_title (5125022693565388760) -->
- <skip />
+ <string name="notification_badging_title" msgid="5125022693565388760">"Белгіше танымбелгілеріне рұқсат беру"</string>
<string name="notification_pulse_title" msgid="1905382958860387030">"Жыпылықтаған жарық"</string>
<string name="lock_screen_notifications_title" msgid="6173076173408887213">"Құлып экранында"</string>
<string name="lock_screen_notifications_summary_show" msgid="6407527697810672847">"Бүкіл хабарландыру мазмұнын көрсету"</string>
diff --git a/res/values-km/strings.xml b/res/values-km/strings.xml
index e8fc9c0..0a3aed7 100644
--- a/res/values-km/strings.xml
+++ b/res/values-km/strings.xml
@@ -2777,8 +2777,7 @@
<string name="configure_notification_settings" msgid="7616737397127242615">"ការជូនដំណឹង"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"កម្រិតខ្ពស់"</string>
<string name="profile_section_header" msgid="2320848161066912001">"ការជូនដំណឹងពីកន្លែងធ្វើការ"</string>
- <!-- no translation found for notification_badging_title (5125022693565388760) -->
- <skip />
+ <string name="notification_badging_title" msgid="5125022693565388760">"អនុញ្ញាតស្លាកសញ្ញាជារូបតំណាង"</string>
<string name="notification_pulse_title" msgid="1905382958860387030">"ភ្លើងលោត"</string>
<string name="lock_screen_notifications_title" msgid="6173076173408887213">"នៅលើអេក្រង់ជាប់សោ"</string>
<string name="lock_screen_notifications_summary_show" msgid="6407527697810672847">"បង្ហាញខ្លឹមសារនៃការជូនដំណឹងទាំងអស់"</string>
diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml
index f8be795..82b42a8 100644
--- a/res/values-ko/strings.xml
+++ b/res/values-ko/strings.xml
@@ -2777,8 +2777,7 @@
<string name="configure_notification_settings" msgid="7616737397127242615">"알림"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"고급"</string>
<string name="profile_section_header" msgid="2320848161066912001">"직장 알림"</string>
- <!-- no translation found for notification_badging_title (5125022693565388760) -->
- <skip />
+ <string name="notification_badging_title" msgid="5125022693565388760">"아이콘 배지 허용"</string>
<string name="notification_pulse_title" msgid="1905382958860387030">"표시등이 깜박거림"</string>
<string name="lock_screen_notifications_title" msgid="6173076173408887213">"잠금 화면에서"</string>
<string name="lock_screen_notifications_summary_show" msgid="6407527697810672847">"모든 알림 내용 표시"</string>
diff --git a/res/values-ky/strings.xml b/res/values-ky/strings.xml
index 88a0b02..7745e5c 100644
--- a/res/values-ky/strings.xml
+++ b/res/values-ky/strings.xml
@@ -2780,8 +2780,7 @@
<string name="configure_notification_settings" msgid="7616737397127242615">"Эскертмелер"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"Өркүндөтүлгөн"</string>
<string name="profile_section_header" msgid="2320848161066912001">"Жумуш боюнча эскертмелер"</string>
- <!-- no translation found for notification_badging_title (5125022693565388760) -->
- <skip />
+ <string name="notification_badging_title" msgid="5125022693565388760">"Бейджиктин сүрөтчөлөрүн көрсөтүүгө уруксат берүү"</string>
<string name="notification_pulse_title" msgid="1905382958860387030">"Жарык индикатору"</string>
<string name="lock_screen_notifications_title" msgid="6173076173408887213">"Кулпуланган экранда"</string>
<string name="lock_screen_notifications_summary_show" msgid="6407527697810672847">"Эскертме толугу менен көрүнсүн"</string>
diff --git a/res/values-lo/strings.xml b/res/values-lo/strings.xml
index ec0023f..feb30a9 100644
--- a/res/values-lo/strings.xml
+++ b/res/values-lo/strings.xml
@@ -2777,8 +2777,7 @@
<string name="configure_notification_settings" msgid="7616737397127242615">"ການແຈ້ງເຕືອນ"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"ຂັ້ນສູງ"</string>
<string name="profile_section_header" msgid="2320848161066912001">"ການແຈ້ງເຕືອນວຽກ"</string>
- <!-- no translation found for notification_badging_title (5125022693565388760) -->
- <skip />
+ <string name="notification_badging_title" msgid="5125022693565388760">"ອະນຸຍາດປ້າຍໄອຄອນ"</string>
<string name="notification_pulse_title" msgid="1905382958860387030">"ກະພິບໄຟ"</string>
<string name="lock_screen_notifications_title" msgid="6173076173408887213">"ຢູ່ໜ້າຈໍລັອກ"</string>
<string name="lock_screen_notifications_summary_show" msgid="6407527697810672847">"ສະແດງເນື້ອຫາການແຈ້ງເຕືອນທັງໝົດ"</string>
diff --git a/res/values-lt/strings.xml b/res/values-lt/strings.xml
index 12f43fe..0e5fe29 100644
--- a/res/values-lt/strings.xml
+++ b/res/values-lt/strings.xml
@@ -2831,8 +2831,7 @@
<string name="configure_notification_settings" msgid="7616737397127242615">"Pranešimai"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"Išplėstiniai"</string>
<string name="profile_section_header" msgid="2320848161066912001">"Darbo profilio pranešimai"</string>
- <!-- no translation found for notification_badging_title (5125022693565388760) -->
- <skip />
+ <string name="notification_badging_title" msgid="5125022693565388760">"Leisti piktogramų ženklelius"</string>
<string name="notification_pulse_title" msgid="1905382958860387030">"Mirksinti šviesa"</string>
<string name="lock_screen_notifications_title" msgid="6173076173408887213">"Užrakinimo ekrane"</string>
<string name="lock_screen_notifications_summary_show" msgid="6407527697810672847">"Rodyti visą pranešimo turinį"</string>
diff --git a/res/values-lv/strings.xml b/res/values-lv/strings.xml
index 784ea4c..c1177d2 100644
--- a/res/values-lv/strings.xml
+++ b/res/values-lv/strings.xml
@@ -2804,8 +2804,7 @@
<string name="configure_notification_settings" msgid="7616737397127242615">"Paziņojumi"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"Papildu"</string>
<string name="profile_section_header" msgid="2320848161066912001">"Darba paziņojumi"</string>
- <!-- no translation found for notification_badging_title (5125022693565388760) -->
- <skip />
+ <string name="notification_badging_title" msgid="5125022693565388760">"Atļaut ikonu emblēmas"</string>
<string name="notification_pulse_title" msgid="1905382958860387030">"Mirgojošs gaismas signāls"</string>
<string name="lock_screen_notifications_title" msgid="6173076173408887213">"Bloķēšanas ekrānā"</string>
<string name="lock_screen_notifications_summary_show" msgid="6407527697810672847">"Rādīt visu saturu paziņojumos"</string>
diff --git a/res/values-mk/strings.xml b/res/values-mk/strings.xml
index 2868afa..ef0a2ec 100644
--- a/res/values-mk/strings.xml
+++ b/res/values-mk/strings.xml
@@ -2777,8 +2777,7 @@
<string name="configure_notification_settings" msgid="7616737397127242615">"Известувања"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"Напредни"</string>
<string name="profile_section_header" msgid="2320848161066912001">"Известувања за работен профил"</string>
- <!-- no translation found for notification_badging_title (5125022693565388760) -->
- <skip />
+ <string name="notification_badging_title" msgid="5125022693565388760">"Дозволете значки на иконите"</string>
<string name="notification_pulse_title" msgid="1905382958860387030">"Трепкај со сијаличката"</string>
<string name="lock_screen_notifications_title" msgid="6173076173408887213">"На заклучениот екран"</string>
<string name="lock_screen_notifications_summary_show" msgid="6407527697810672847">"Прикажи ја целата содржина од известувањето"</string>
diff --git a/res/values-ml/strings.xml b/res/values-ml/strings.xml
index a951ffd..d8141a5 100644
--- a/res/values-ml/strings.xml
+++ b/res/values-ml/strings.xml
@@ -1188,7 +1188,7 @@
<string name="storage_dialog_unsupported" msgid="4503128224360482228">"ഈ ഉപകരണം ഈ <xliff:g id="NAME_0">^1</xliff:g> പിന്തുണയ്ക്കുന്നില്ല. \n\nഉപകരണത്തിനൊപ്പം <xliff:g id="NAME_1">^1</xliff:g> ഉപയോഗിക്കുന്നതിന്, ആദ്യം നിങ്ങളിത് സജ്ജമാക്കേണ്ടതുണ്ട്."</string>
<string name="storage_internal_format_details" msgid="4018647158382548820">"ഫോർമാറ്റുചെയ്തശേഷം, നിങ്ങൾക്ക് ഈ <xliff:g id="NAME_0">^1</xliff:g> മറ്റ് ഉപകരണങ്ങളിൽ ഉപയോഗിക്കാനാകും. \n\nഈ <xliff:g id="NAME_1">^1</xliff:g> എന്നതിലെ എല്ലാ വിവരവും മായ്ക്കും. ആദ്യം ബാക്കപ്പുചെയ്യുന്നത് പരിഗണിക്കുക. \n\n"<b>"ഫോട്ടോകളും മറ്റ് മീഡിയയും ബാക്കപ്പുചെയ്യുക"</b>" \nനിങ്ങളുടെ മീഡിയ ഫയലുകളെ ഈ ഉപകരണത്തിലെ ഇതര സംഭരണയിടത്തിലേക്ക് നീക്കുകയോ USB കേബിൾ ഉപയോഗിച്ച് അവയെ ഒരു കമ്പ്യൂട്ടറിലേക്ക് മാറ്റുകയോ ചെയ്യുക. \n\n"<b>"അപ്ലിക്കേഷനുകൾ ബാക്കപ്പുചെയ്യുക"</b>" \nഈ <xliff:g id="NAME_6">^1</xliff:g> എന്നതിൽ സംഭരിച്ചിരിക്കുന്ന എല്ലാ അപ്ലിക്കേഷനുകളും അൺഇൻസ്റ്റാൾ ചെയ്യുകയും അവയുടെ വിവരം മായ്ക്കുകയും ചെയ്യും. ഈ അപ്ലിക്കേഷനുകൾ സൂക്ഷിക്കാൻ, അവയെ ഈ ഉപകരണത്തിലെ ഇതര സംഭരണയിടത്തിലേക്ക് നീക്കുക."</string>
<string name="storage_internal_unmount_details" msgid="3582802571684490057"><b>"നിങ്ങൾ ഈ <xliff:g id="NAME_0">^1</xliff:g> ഒഴിവാക്കുമ്പോൾ, അതിൽ സംഭരിച്ചിരിക്കുന്ന അപ്ലിക്കേഷനുകളുടെ പ്രവർത്തനം നിലയ്ക്കുകയും അതിൽ സംഭരിച്ചിരിക്കുന്ന മീഡിയ ഫയലുകൾ അത് തിരികെ ചേർക്കുന്നതുവരെ ലഭ്യമാകുകയുമില്ല ."</b>" \n\nഈ <xliff:g id="NAME_1">^1</xliff:g> എന്നത് ഈ ഉപകരണത്തിൽ മാത്രം പ്രവർത്തിക്കാനാണ് ഫോർമാറ്റുചെയ്തിരിക്കുന്നത്. ഇത് മറ്റുള്ളവയിലൊന്നും പ്രവർത്തിക്കില്ല."</string>
- <string name="storage_internal_forget_details" msgid="9028875424669047327">"ഈ <xliff:g id="NAME">^1</xliff:g> അടങ്ങിയിരിക്കുന്ന ആപ്പ്സ്, ഫോട്ടോകൾ അല്ലെങ്കിൽ വിവരം ഉപയോഗിക്കാൻ, അത് വീണ്ടും ചേർക്കുക. \n\nപകരം, ഉപകരണം ലഭ്യമല്ലെങ്കിൽ, നിങ്ങൾക്ക് ഈ ഉപകരണം മറക്കാൻ തിരഞ്ഞെടുക്കാനാകും. \n\nനിങ്ങൾ മറക്കാൻ തിരഞ്ഞെടുക്കുകയാണെങ്കിൽ, ഉപകരണത്തിൽ അടങ്ങിയിരിക്കുന്ന എല്ലാ വിവരവും ശാശ്വതമായി നഷ്ടമാകും. \n\nനിങ്ങൾക്ക് ഈ ആപ്പ്സ് പിന്നീട് വീണ്ടും ഇൻസ്റ്റാൾ ചെയ്യാനാകും, എന്നാൽ ഈ ഉപകരണത്തിൽ സംഭരിച്ചിരിക്കുന്ന അവയുടെ വിവരം നഷ്ടമാകും."</string>
+ <string name="storage_internal_forget_details" msgid="9028875424669047327">"ഈ <xliff:g id="NAME">^1</xliff:g> അടങ്ങിയിരിക്കുന്ന ആപ്പുകൾ, ഫോട്ടോകൾ അല്ലെങ്കിൽ വിവരം ഉപയോഗിക്കാൻ, അത് വീണ്ടും ചേർക്കുക. \n\nപകരം, ഉപകരണം ലഭ്യമല്ലെങ്കിൽ, നിങ്ങൾക്ക് ഈ ഉപകരണം മറക്കാൻ തിരഞ്ഞെടുക്കാനാകും. \n\nനിങ്ങൾ മറക്കാൻ തിരഞ്ഞെടുക്കുകയാണെങ്കിൽ, ഉപകരണത്തിൽ അടങ്ങിയിരിക്കുന്ന എല്ലാ വിവരവും ശാശ്വതമായി നഷ്ടമാകും. \n\nനിങ്ങൾക്ക് ഈ ആപ്പുകൾ പിന്നീട് വീണ്ടും ഇൻസ്റ്റാൾ ചെയ്യാനാകും, എന്നാൽ ഈ ഉപകരണത്തിൽ സംഭരിച്ചിരിക്കുന്ന അവയുടെ വിവരം നഷ്ടമാകും."</string>
<string name="storage_internal_forget_confirm_title" msgid="1370847944388479245">"<xliff:g id="NAME">^1</xliff:g> മറക്കണോ?"</string>
<string name="storage_internal_forget_confirm" msgid="1148446041396902905">"<xliff:g id="NAME">^1</xliff:g> എന്നതിൽ സംഭരിച്ചിരിക്കുന്ന എല്ലാ ആപ്സും ഫോട്ടോകളും ഡാറ്റയും ശാശ്വതമായി നഷ്ടപ്പെടും."</string>
<string name="storage_detail_apps" msgid="6141154016753507490">"ആപ്സ്"</string>
@@ -1538,7 +1538,7 @@
<string name="default_emergency_app" msgid="1951760659640369980">"അടിയന്തിര അപ്ലിക്കേഷൻ"</string>
<string name="reset_app_preferences" msgid="1321050641018356925">"ആപ്പ് മുൻഗണന പുനഃജ്ജമാക്കൂ"</string>
<string name="reset_app_preferences_title" msgid="6093179367325336662">"അപ്ലിക്കേഷൻ മുൻഗണനകൾ പുനഃസജ്ജമാക്കണോ?"</string>
- <string name="reset_app_preferences_desc" msgid="4822447731869201512">"ഇത് ഇനിപ്പറയുന്നവയ്ക്കുള്ള എല്ലാ മുൻഗണനകളും പുനഃസജ്ജമാക്കും:\n\n "<li>"പ്രവർത്തനരഹിതമാക്കിയ ആപ്സുകൾ"</li>\n" "<li>"പ്രവർത്തനരഹിതമാക്കിയ ആപ്സ് അറിയിപ്പുകൾ"</li>\n" "<li>"പ്രവർത്തനങ്ങൾക്കുള്ള ഡിഫോൾട്ട് ആപ്സുകൾ"</li>\n" "<li>"ആപ്സുകൾക്കുള്ള പശ്ചാത്തല ഡാറ്റാ നിയന്ത്രണങ്ങൾ"</li>\n" "<li>"എല്ലാ അനുമതി നിയന്ത്രണങ്ങളും"</li>\n\n" നിങ്ങൾക്ക് ആപ്സ് ഡാറ്റയൊന്നും നഷ്ടമാകില്ല."</string>
+ <string name="reset_app_preferences_desc" msgid="4822447731869201512">"ഇത് ഇനിപ്പറയുന്നവയ്ക്കുള്ള എല്ലാ മുൻഗണനകളും പുനഃസജ്ജമാക്കും:\n\n "<li>"പ്രവർത്തനരഹിതമാക്കിയ ആപ്പുകൾ"</li>\n" "<li>"പ്രവർത്തനരഹിതമാക്കിയ ആപ്സ് അറിയിപ്പുകൾ"</li>\n" "<li>"പ്രവർത്തനങ്ങൾക്കുള്ള ഡിഫോൾട്ട് ആപ്പുകൾ"</li>\n" "<li>"ആപ്പുകൾക്കുള്ള പശ്ചാത്തല ഡാറ്റാ നിയന്ത്രണങ്ങൾ"</li>\n" "<li>"എല്ലാ അനുമതി നിയന്ത്രണങ്ങളും"</li>\n\n" നിങ്ങൾക്ക് ആപ്സ് ഡാറ്റയൊന്നും നഷ്ടമാകില്ല."</string>
<string name="reset_app_preferences_button" msgid="2559089511841281242">"ആപ്സ് പുനഃസജ്ജമാക്കൂ"</string>
<string name="manage_space_text" msgid="8852711522447794676">"സ്പെയ്സ് നിയന്ത്രിക്കുക"</string>
<string name="filter" msgid="2018011724373033887">"ഫിൽട്ടർ ചെയ്യുക"</string>
@@ -2158,8 +2158,8 @@
<string name="backup_configure_account_default_summary" msgid="2436933224764745553">"നിലവിൽ അക്കൗണ്ടുകളൊന്നും ബാക്കപ്പ് ചെയ്ത ഡാറ്റ സംഭരിക്കുന്നില്ല"</string>
<string name="backup_erase_dialog_title" msgid="1027640829482174106"></string>
<string name="backup_erase_dialog_message" msgid="5221011285568343155">"Google സെർവറുകളിൽ നിങ്ങളുടെ വൈഫൈ പാസ്വേഡുകൾ, ബുക്ക്മാർക്കുകൾ, മറ്റ് ക്രമീകരണങ്ങൾ, അപ്ലിക്കേഷൻ ഡാറ്റ എന്നിവ ബാക്കപ്പുചെയ്യുന്നത് അവസാനിപ്പിക്കുകയും അതിലെ എല്ലാ പകർപ്പുകളും മായ്ക്കുകയും ചെയ്യണോ?"</string>
- <string name="fullbackup_erase_dialog_message" msgid="694766389396659626">"ഉപകരണ വിവരവും (വൈഫൈ പാസ്വേഡുകളും കോൾ ചരിത്രവും പോലുള്ളവ) ആപ്പ് വിവരവും (ആപ്പ്സ് സംഭരിച്ച ക്രമീകരണവും ഫയലുകളും പോലുള്ളവ) ബാക്കപ്പുചെയ്യുന്നത് നിർത്തുകയും വിദൂര സെർവറുകളിലെ എല്ലാ പകർപ്പുകളും മായ്ക്കുകയും ചെയ്യണോ?"</string>
- <string name="fullbackup_data_summary" msgid="960850365007767734">"ഉപകരണ വിവരവും (വൈഫൈ പാസ്വേഡുകളും കോൾ ചരിത്രവും പോലുള്ളവ) ആപ്പ് വിവരവും (ക്രമീകരണവും ആപ്പ്സ് സംഭരിച്ച ഫയലുകളും പോലുള്ളവ) വിദൂരമായി സ്വയമേവ ബാക്കപ്പെടുക്കുന്നു.\n\nനിങ്ങൾ സ്വയമേയുള്ള ബാക്കപ്പ് ഓണാക്കുമ്പോൾ, ഉപകരണ, ആപ്പ് വിവരം ഇടയ്ക്കിടെ വിദൂരമായി സംരക്ഷിക്കും. ആപ്പ് വിവരം എന്നത് കോൺടാക്റ്റുകൾ, സന്ദേശങ്ങൾ, ഫോട്ടോകൾ എന്നിവ പോലുള്ള രഹസ്യസ്വഭാവമുള്ളവ ഉൾപ്പെടെ ആപ്പ് സംരക്ഷിച്ചിട്ടുള്ള ഏതൊരു വിവരവും (ഡെവലപ്പർ ക്രമീകരണം അടിസ്ഥാനമാക്കി) ആകാം."</string>
+ <string name="fullbackup_erase_dialog_message" msgid="694766389396659626">"ഉപകരണ വിവരവും (വൈഫൈ പാസ്വേഡുകളും കോൾ ചരിത്രവും പോലുള്ളവ) ആപ്പ് വിവരവും (ആപ്പുകൾ സംഭരിച്ച ക്രമീകരണവും ഫയലുകളും പോലുള്ളവ) ബാക്കപ്പുചെയ്യുന്നത് നിർത്തുകയും വിദൂര സെർവറുകളിലെ എല്ലാ പകർപ്പുകളും മായ്ക്കുകയും ചെയ്യണോ?"</string>
+ <string name="fullbackup_data_summary" msgid="960850365007767734">"ഉപകരണ വിവരവും (വൈഫൈ പാസ്വേഡുകളും കോൾ ചരിത്രവും പോലുള്ളവ) ആപ്പ് വിവരവും (ക്രമീകരണവും ആപ്പുകൾ സംഭരിച്ച ഫയലുകളും പോലുള്ളവ) വിദൂരമായി സ്വയമേവ ബാക്കപ്പെടുക്കുന്നു.\n\nനിങ്ങൾ സ്വയമേയുള്ള ബാക്കപ്പ് ഓണാക്കുമ്പോൾ, ഉപകരണ, ആപ്പ് വിവരം ഇടയ്ക്കിടെ വിദൂരമായി സംരക്ഷിക്കും. ആപ്പ് വിവരം എന്നത് കോൺടാക്റ്റുകൾ, സന്ദേശങ്ങൾ, ഫോട്ടോകൾ എന്നിവ പോലുള്ള രഹസ്യസ്വഭാവമുള്ളവ ഉൾപ്പെടെ ആപ്പ് സംരക്ഷിച്ചിട്ടുള്ള ഏതൊരു വിവരവും (ഡെവലപ്പർ ക്രമീകരണം അടിസ്ഥാനമാക്കി) ആകാം."</string>
<string name="device_admin_settings_title" msgid="4960761799560705902">"ഉപകരണ അഡ്മിൻ ക്രമീകരണം"</string>
<string name="active_device_admin_msg" msgid="578748451637360192">"ഉപകരണ അഡ്മിൻ ആപ്പ്"</string>
<string name="remove_device_admin" msgid="9207368982033308173">"ഈ ഉപകരണ അഡ്മിൻ ആപ്പ് നിർജീവമാക്കുക"</string>
@@ -3154,7 +3154,7 @@
<string name="total_memory" msgid="2017287600738630165">"ആകെ മെമ്മറി"</string>
<string name="average_used" msgid="5338339266517245782">"ശരാശരി ഉപയോഗിച്ചത് (%)"</string>
<string name="free_memory" msgid="4003936141603549746">"ശേഷിക്കുന്നത്"</string>
- <string name="memory_usage_apps" msgid="5650192998273294098">"ആപ്പ്സ് ഉപയോഗിച്ച മെമ്മറി"</string>
+ <string name="memory_usage_apps" msgid="5650192998273294098">"ആപ്പുകൾ ഉപയോഗിച്ച മെമ്മറി"</string>
<plurals name="memory_usage_apps_summary" formatted="false" msgid="6089210945574265774">
<item quantity="other">കഴിഞ്ഞ <xliff:g id="DURATION_1">%2$s</xliff:g> സമയത്തിനുള്ളിൽ <xliff:g id="COUNT">%1$d</xliff:g> ആപ്പുകൾ മെമ്മറി ഉപയോഗിച്ചു</item>
<item quantity="one">കഴിഞ്ഞ <xliff:g id="DURATION_0">%2$s</xliff:g> സമയത്തിനുള്ളിൽ ഒരു ആപ്പ് മെമ്മറി ഉപയോഗിച്ചു</item>
diff --git a/res/values-mn/strings.xml b/res/values-mn/strings.xml
index e0fd033..cc6b54c 100644
--- a/res/values-mn/strings.xml
+++ b/res/values-mn/strings.xml
@@ -2777,8 +2777,7 @@
<string name="configure_notification_settings" msgid="7616737397127242615">"Мэдэгдэл"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"Нарийвчилсан"</string>
<string name="profile_section_header" msgid="2320848161066912001">"Ажлын мэдэгдэл"</string>
- <!-- no translation found for notification_badging_title (5125022693565388760) -->
- <skip />
+ <string name="notification_badging_title" msgid="5125022693565388760">"Дүрс тэмдгийг зөвшөөрөх"</string>
<string name="notification_pulse_title" msgid="1905382958860387030">"Анивчих гэрэл"</string>
<string name="lock_screen_notifications_title" msgid="6173076173408887213">"Түгжигдсэн дэлгэц дээр"</string>
<string name="lock_screen_notifications_summary_show" msgid="6407527697810672847">"Бүх мэдэгдлийн агуулгыг харуулах"</string>
diff --git a/res/values-mr/strings.xml b/res/values-mr/strings.xml
index ef06b33..fe686eb 100644
--- a/res/values-mr/strings.xml
+++ b/res/values-mr/strings.xml
@@ -2777,8 +2777,7 @@
<string name="configure_notification_settings" msgid="7616737397127242615">"सूचना"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"प्रगत"</string>
<string name="profile_section_header" msgid="2320848161066912001">"कार्य सूचना"</string>
- <!-- no translation found for notification_badging_title (5125022693565388760) -->
- <skip />
+ <string name="notification_badging_title" msgid="5125022693565388760">"चिन्ह बॅजना अनुमती द्या"</string>
<string name="notification_pulse_title" msgid="1905382958860387030">"लुकलुकता प्रकाश"</string>
<string name="lock_screen_notifications_title" msgid="6173076173408887213">"लॉक स्क्रीनवर"</string>
<string name="lock_screen_notifications_summary_show" msgid="6407527697810672847">"सर्व सूचना सामग्री दर्शवा"</string>
diff --git a/res/values-ms/strings.xml b/res/values-ms/strings.xml
index fe2d6bb..0c0a05a 100644
--- a/res/values-ms/strings.xml
+++ b/res/values-ms/strings.xml
@@ -2777,8 +2777,7 @@
<string name="configure_notification_settings" msgid="7616737397127242615">"Pemberitahuan"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"Terperinci"</string>
<string name="profile_section_header" msgid="2320848161066912001">"Pemberitahuan kerja"</string>
- <!-- no translation found for notification_badging_title (5125022693565388760) -->
- <skip />
+ <string name="notification_badging_title" msgid="5125022693565388760">"Benarkan lencana ikon"</string>
<string name="notification_pulse_title" msgid="1905382958860387030">"Lampu berkelip"</string>
<string name="lock_screen_notifications_title" msgid="6173076173408887213">"Pada skrin kunci"</string>
<string name="lock_screen_notifications_summary_show" msgid="6407527697810672847">"Tunjukkan semua kandungan pemberitahuan"</string>
diff --git a/res/values-my/strings.xml b/res/values-my/strings.xml
index 4b218da..c94d9b2 100644
--- a/res/values-my/strings.xml
+++ b/res/values-my/strings.xml
@@ -2777,8 +2777,7 @@
<string name="configure_notification_settings" msgid="7616737397127242615">"အကြောင်းကြားချက်များ"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"အဆင့်မြင့်"</string>
<string name="profile_section_header" msgid="2320848161066912001">"အလုပ်သတိပေးချက်များ"</string>
- <!-- no translation found for notification_badging_title (5125022693565388760) -->
- <skip />
+ <string name="notification_badging_title" msgid="5125022693565388760">"သင်္ကေတတံဆိပ်များကို ခွင့်ပြုရန်"</string>
<string name="notification_pulse_title" msgid="1905382958860387030">"မီး မှိတ်တုတ်မှိတ်တုတ်လုပ်ရန်"</string>
<string name="lock_screen_notifications_title" msgid="6173076173408887213">"လော့ခ်ချထားသည့်မျက်နှာပြင်ပေါ်တွင်"</string>
<string name="lock_screen_notifications_summary_show" msgid="6407527697810672847">"အကြောင်းကြားချက်ပါ အကြောင်းအရာအားလုံးကို ပြမည်"</string>
diff --git a/res/values-nb/strings.xml b/res/values-nb/strings.xml
index 4469836..7c09058 100644
--- a/res/values-nb/strings.xml
+++ b/res/values-nb/strings.xml
@@ -2777,8 +2777,7 @@
<string name="configure_notification_settings" msgid="7616737397127242615">"Varsler"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"Avansert"</string>
<string name="profile_section_header" msgid="2320848161066912001">"Jobbvarsler"</string>
- <!-- no translation found for notification_badging_title (5125022693565388760) -->
- <skip />
+ <string name="notification_badging_title" msgid="5125022693565388760">"Tillat ikonmerker"</string>
<string name="notification_pulse_title" msgid="1905382958860387030">"Blinkende lys"</string>
<string name="lock_screen_notifications_title" msgid="6173076173408887213">"På låseskjermen"</string>
<string name="lock_screen_notifications_summary_show" msgid="6407527697810672847">"Vis alt innhold i varsler"</string>
diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml
index 31e2b98..461c12b 100644
--- a/res/values-nl/strings.xml
+++ b/res/values-nl/strings.xml
@@ -2777,8 +2777,7 @@
<string name="configure_notification_settings" msgid="7616737397127242615">"Meldingen"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"Geavanceerd"</string>
<string name="profile_section_header" msgid="2320848161066912001">"Werkmeldingen"</string>
- <!-- no translation found for notification_badging_title (5125022693565388760) -->
- <skip />
+ <string name="notification_badging_title" msgid="5125022693565388760">"Pictogrambadges toestaan"</string>
<string name="notification_pulse_title" msgid="1905382958860387030">"Knipperlicht"</string>
<string name="lock_screen_notifications_title" msgid="6173076173408887213">"Op het vergrendelingsscherm"</string>
<string name="lock_screen_notifications_summary_show" msgid="6407527697810672847">"Content van alle meldingen weergeven"</string>
diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml
index 4c5de1d..1673bad 100644
--- a/res/values-pl/strings.xml
+++ b/res/values-pl/strings.xml
@@ -2831,8 +2831,7 @@
<string name="configure_notification_settings" msgid="7616737397127242615">"Powiadomienia"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"Zaawansowane"</string>
<string name="profile_section_header" msgid="2320848161066912001">"Powiadomienia związane z pracą"</string>
- <!-- no translation found for notification_badging_title (5125022693565388760) -->
- <skip />
+ <string name="notification_badging_title" msgid="5125022693565388760">"Zezwól na ikony z plakietkami"</string>
<string name="notification_pulse_title" msgid="1905382958860387030">"Migająca dioda"</string>
<string name="lock_screen_notifications_title" msgid="6173076173408887213">"Na ekranie blokady"</string>
<string name="lock_screen_notifications_summary_show" msgid="6407527697810672847">"Pokazuj wszystkie powiadomienia"</string>
diff --git a/res/values-pt-rBR/strings.xml b/res/values-pt-rBR/strings.xml
index ff2b00d..0256a46 100644
--- a/res/values-pt-rBR/strings.xml
+++ b/res/values-pt-rBR/strings.xml
@@ -2777,8 +2777,7 @@
<string name="configure_notification_settings" msgid="7616737397127242615">"Notificações"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"Avançadas"</string>
<string name="profile_section_header" msgid="2320848161066912001">"Notificações de trabalho"</string>
- <!-- no translation found for notification_badging_title (5125022693565388760) -->
- <skip />
+ <string name="notification_badging_title" msgid="5125022693565388760">"Permitir selos de ícone"</string>
<string name="notification_pulse_title" msgid="1905382958860387030">"Piscar a luz"</string>
<string name="lock_screen_notifications_title" msgid="6173076173408887213">"Na tela de bloqueio"</string>
<string name="lock_screen_notifications_summary_show" msgid="6407527697810672847">"Mostrar todo o conteúdo de notificações"</string>
diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml
index 075549b..c0f29a3 100644
--- a/res/values-pt-rPT/strings.xml
+++ b/res/values-pt-rPT/strings.xml
@@ -2777,8 +2777,7 @@
<string name="configure_notification_settings" msgid="7616737397127242615">"Notificações"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"Avançadas"</string>
<string name="profile_section_header" msgid="2320848161066912001">"Notificações de trabalho"</string>
- <!-- no translation found for notification_badging_title (5125022693565388760) -->
- <skip />
+ <string name="notification_badging_title" msgid="5125022693565388760">"Permitir emblemas de ícones"</string>
<string name="notification_pulse_title" msgid="1905382958860387030">"Emitir luz intermitente"</string>
<string name="lock_screen_notifications_title" msgid="6173076173408887213">"No ecrã de bloqueio"</string>
<string name="lock_screen_notifications_summary_show" msgid="6407527697810672847">"Mostrar todas as notificações"</string>
diff --git a/res/values-pt/strings.xml b/res/values-pt/strings.xml
index ff2b00d..0256a46 100644
--- a/res/values-pt/strings.xml
+++ b/res/values-pt/strings.xml
@@ -2777,8 +2777,7 @@
<string name="configure_notification_settings" msgid="7616737397127242615">"Notificações"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"Avançadas"</string>
<string name="profile_section_header" msgid="2320848161066912001">"Notificações de trabalho"</string>
- <!-- no translation found for notification_badging_title (5125022693565388760) -->
- <skip />
+ <string name="notification_badging_title" msgid="5125022693565388760">"Permitir selos de ícone"</string>
<string name="notification_pulse_title" msgid="1905382958860387030">"Piscar a luz"</string>
<string name="lock_screen_notifications_title" msgid="6173076173408887213">"Na tela de bloqueio"</string>
<string name="lock_screen_notifications_summary_show" msgid="6407527697810672847">"Mostrar todo o conteúdo de notificações"</string>
diff --git a/res/values-ro/strings.xml b/res/values-ro/strings.xml
index d8c57e5..bd8c960 100644
--- a/res/values-ro/strings.xml
+++ b/res/values-ro/strings.xml
@@ -2804,8 +2804,7 @@
<string name="configure_notification_settings" msgid="7616737397127242615">"Notificări"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"Avansate"</string>
<string name="profile_section_header" msgid="2320848161066912001">"Notificări profil de serviciu"</string>
- <!-- no translation found for notification_badging_title (5125022693565388760) -->
- <skip />
+ <string name="notification_badging_title" msgid="5125022693565388760">"Permiteți insigne pictogramă"</string>
<string name="notification_pulse_title" msgid="1905382958860387030">"Lumină intermitentă"</string>
<string name="lock_screen_notifications_title" msgid="6173076173408887213">"Pe ecranul de blocare"</string>
<string name="lock_screen_notifications_summary_show" msgid="6407527697810672847">"Afișează integral conținutul notificărilor"</string>
diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml
index d8383d9..4d833ef 100644
--- a/res/values-ru/strings.xml
+++ b/res/values-ru/strings.xml
@@ -2831,8 +2831,7 @@
<string name="configure_notification_settings" msgid="7616737397127242615">"Уведомления"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"Расширенные настройки"</string>
<string name="profile_section_header" msgid="2320848161066912001">"Рабочие уведомления"</string>
- <!-- no translation found for notification_badging_title (5125022693565388760) -->
- <skip />
+ <string name="notification_badging_title" msgid="5125022693565388760">"Показывать наклейки на значках"</string>
<string name="notification_pulse_title" msgid="1905382958860387030">"Световая индикация"</string>
<string name="lock_screen_notifications_title" msgid="6173076173408887213">"На заблокированном экране"</string>
<string name="lock_screen_notifications_summary_show" msgid="6407527697810672847">"Показывать уведомления полностью"</string>
diff --git a/res/values-si/strings.xml b/res/values-si/strings.xml
index 9efbbce..779cf4a 100644
--- a/res/values-si/strings.xml
+++ b/res/values-si/strings.xml
@@ -2777,8 +2777,7 @@
<string name="configure_notification_settings" msgid="7616737397127242615">"දැනුම්දීම්"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"උසස්"</string>
<string name="profile_section_header" msgid="2320848161066912001">"වැඩ දැනුම්දීම්"</string>
- <!-- no translation found for notification_badging_title (5125022693565388760) -->
- <skip />
+ <string name="notification_badging_title" msgid="5125022693565388760">"නිරූපක ලාංඡනයට ඉඩ දෙන්න"</string>
<string name="notification_pulse_title" msgid="1905382958860387030">"නිවී නිවී දැල්වෙන එළිය"</string>
<string name="lock_screen_notifications_title" msgid="6173076173408887213">"අගුලු තිරය මත"</string>
<string name="lock_screen_notifications_summary_show" msgid="6407527697810672847">"සියලුම දැනුම්දීමේ අන්තර්ගත පෙන්වන්න"</string>
diff --git a/res/values-sl/strings.xml b/res/values-sl/strings.xml
index c5b5fc1..fa9bac8 100644
--- a/res/values-sl/strings.xml
+++ b/res/values-sl/strings.xml
@@ -2831,8 +2831,7 @@
<string name="configure_notification_settings" msgid="7616737397127242615">"Obvestila"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"Dodatno"</string>
<string name="profile_section_header" msgid="2320848161066912001">"Obvestila za delovni profil"</string>
- <!-- no translation found for notification_badging_title (5125022693565388760) -->
- <skip />
+ <string name="notification_badging_title" msgid="5125022693565388760">"Omogoči značko na ikonah"</string>
<string name="notification_pulse_title" msgid="1905382958860387030">"Utripajoča lučka"</string>
<string name="lock_screen_notifications_title" msgid="6173076173408887213">"Na zaklenjenem zaslonu"</string>
<string name="lock_screen_notifications_summary_show" msgid="6407527697810672847">"Pokaži vso vsebino obvestil"</string>
diff --git a/res/values-sq/strings.xml b/res/values-sq/strings.xml
index 06fc4dd..b02f64a 100644
--- a/res/values-sq/strings.xml
+++ b/res/values-sq/strings.xml
@@ -2777,8 +2777,7 @@
<string name="configure_notification_settings" msgid="7616737397127242615">"Njoftime"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"Të përparuara"</string>
<string name="profile_section_header" msgid="2320848161066912001">"Njoftimet e punës"</string>
- <!-- no translation found for notification_badging_title (5125022693565388760) -->
- <skip />
+ <string name="notification_badging_title" msgid="5125022693565388760">"Lejo simbolet e ikonave"</string>
<string name="notification_pulse_title" msgid="1905382958860387030">"Drita me pulsim"</string>
<string name="lock_screen_notifications_title" msgid="6173076173408887213">"Në ekranin e kyçjes"</string>
<string name="lock_screen_notifications_summary_show" msgid="6407527697810672847">"Shfaq të gjithë përmbajtjen e njoftimit"</string>
diff --git a/res/values-sr/strings.xml b/res/values-sr/strings.xml
index 91c5827..5de847b 100644
--- a/res/values-sr/strings.xml
+++ b/res/values-sr/strings.xml
@@ -2804,8 +2804,7 @@
<string name="configure_notification_settings" msgid="7616737397127242615">"Обавештења"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"Напредна"</string>
<string name="profile_section_header" msgid="2320848161066912001">"Обавештења за Work"</string>
- <!-- no translation found for notification_badging_title (5125022693565388760) -->
- <skip />
+ <string name="notification_badging_title" msgid="5125022693565388760">"Дозволи значке на иконама"</string>
<string name="notification_pulse_title" msgid="1905382958860387030">"Укључи треперење лампице"</string>
<string name="lock_screen_notifications_title" msgid="6173076173408887213">"На закључаном екрану"</string>
<string name="lock_screen_notifications_summary_show" msgid="6407527697810672847">"Прикажи сав садржај обавештења"</string>
diff --git a/res/values-sv/strings.xml b/res/values-sv/strings.xml
index f60beb9..38ac080 100644
--- a/res/values-sv/strings.xml
+++ b/res/values-sv/strings.xml
@@ -2777,8 +2777,7 @@
<string name="configure_notification_settings" msgid="7616737397127242615">"Meddelanden"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"Avancerat"</string>
<string name="profile_section_header" msgid="2320848161066912001">"Jobbaviseringar"</string>
- <!-- no translation found for notification_badging_title (5125022693565388760) -->
- <skip />
+ <string name="notification_badging_title" msgid="5125022693565388760">"Tillåt ikonmärken"</string>
<string name="notification_pulse_title" msgid="1905382958860387030">"Blinkande ljus"</string>
<string name="lock_screen_notifications_title" msgid="6173076173408887213">"På låsskärmen"</string>
<string name="lock_screen_notifications_summary_show" msgid="6407527697810672847">"Visa allt aviseringsinnehåll"</string>
diff --git a/res/values-sw/strings.xml b/res/values-sw/strings.xml
index c6602ea..633ac45 100644
--- a/res/values-sw/strings.xml
+++ b/res/values-sw/strings.xml
@@ -408,8 +408,8 @@
<string name="crypt_keeper_encrypt_title" product="tablet" msgid="1060273569887301457">"Simba kompyuta kibao kwa njia fiche"</string>
<string name="crypt_keeper_encrypt_title" product="default" msgid="1878996487755806122">"Simba simu"</string>
<string name="crypt_keeper_encrypted_summary" msgid="1868233637888132906">"Imesimbwa"</string>
- <string name="crypt_keeper_desc" product="tablet" msgid="503014594435731275">"Unaweza kusimba akaunti zako, mipangilio, programu zilizopakuliwa na data husika, maudhui na faili nyingine kwa njia fiche. Baada ya kusimba kompyuta kibao yako kwa njia fiche, tukichukulia kwamba tayari umechagua njia ya kufunga skrini (yaani kwa mchoro au PIN au nenosiri), itabidi ufungue skrini ili uondoe msimbo wa njia fiche kwenye simu yako kila unapoiwasha. Njia nyingine pekee ya kuondoa msimbo wa njia fiche ni kurejesha mipangilio ya mwanzo ya kompyuta kibao yako, hatua itakayofuta data yako yote. \n\nUsimbaji fiche huchukua saa moja au zaidi. Lazima uanze betri ikiwa imejaa chaji na uweke kompyuta kibao yako kwenye chaji muda wote mchakato utakapokuwa ukiendelea. Ukikatisha, utapoteza baadhi au data yako yote."</string>
- <string name="crypt_keeper_desc" product="default" msgid="2579929266645543631">"Unaweza kusimba akaunti zako, mipangilio, programu zilizopakuliwa na data husika, maudhui na faili nyingine kwa njia fiche. Baada ya kusimba simu yako kwa njia fiche, tukichukulia kwamba tayari umechagua njia ya kufunga skrini (yaani kwa mchoro au PIN au nenosiri), itabidi ufungue skrini ili uondoe msimbo wa njia fiche kwenye simu yako kila unapoiwasha. Njia nyingine pekee ya kuondoa msimbo wa njia fiche ni kurejesha mipangilio ya mwanzo ya simu yako, hatua itakayofuta data yako yote. \n\nUsimbaji fiche huchukua saa moja au zaidi. Lazima uanze betri ikiwa imejaa chaji na uweke simu yako kwenye chaji muda wote mchakato utakapokuwa ukiendelea. Ukikatisha, utapoteza baadhi au data yako yote."</string>
+ <string name="crypt_keeper_desc" product="tablet" msgid="503014594435731275">"Unaweza kusimba akaunti zako, mipangilio, programu zilizopakuliwa na data husika, maudhui na faili nyingine kwa njia fiche. Baada ya kusimba kompyuta kibao yako kwa njia fiche, tukichukulia kwamba tayari umechagua njia ya kufunga skrini (yaani kwa mchoro au PIN au nenosiri), itabidi ufungue skrini ili uondoe msimbo wa njia fiche kwenye kompyuta kibao yako kila unapoiwasha. Njia nyingine pekee ya kuondoa msimbo wa njia fiche ni kurejesha mipangilio ambayo kompyuta yako ilitoka nayo kiwandani, hatua itakayofuta data yako yote.\n\nUsimbaji fiche huchukua saa moja au zaidi. Lazima uanze betri ikiwa imejaa chaji na uweke kompyuta yako kwenye chaji muda wote mchakato utakapokuwa ukiendelea. Ukikatisha, utapoteza baadhi au data yako yote."</string>
+ <string name="crypt_keeper_desc" product="default" msgid="2579929266645543631">"Unaweza kusimba akaunti zako, mipangilio, programu zilizopakuliwa na data husika, maudhui na faili nyingine kwa njia fiche. Baada ya kusimba simu yako kwa njia fiche, tukichukulia kwamba tayari umechagua njia ya kufunga skrini (yaani kwa mchoro au PIN au nenosiri), itabidi ufungue skrini ili uondoe msimbo wa njia fiche kwenye simu yako kila unapoiwasha. Njia nyingine pekee ya kuondoa msimbo wa njia fiche ni kurejesha mipangilio ambayo simu yako ilitoka nayo kiwandani, hatua itakayofuta data yako yote.\n\nUsimbaji fiche huchukua saa moja au zaidi. Lazima uanze betri ikiwa imejaa chaji na uweke simu yako kwenye chaji muda wote mchakato utakapokuwa ukiendelea. Ukikatisha, utapoteza baadhi au data yako yote."</string>
<string name="crypt_keeper_button_text" product="tablet" msgid="1189623490604750854">"Simba kompyuta kibao kwa njia fiche"</string>
<string name="crypt_keeper_button_text" product="default" msgid="2008346408473255519">"Simba fiche simu"</string>
<string name="crypt_keeper_low_charge_text" msgid="2029407131227814893">"Tafadhali chaji betri yako kisha ujaribu tena."</string>
@@ -430,10 +430,10 @@
<string name="crypt_keeper_enter_password" msgid="2223340178473871064">"Andika nenosiri yako"</string>
<string name="crypt_keeper_failed_title" msgid="7133499413023075961">"Usimbaji fiche haujafanikiwa"</string>
<string name="crypt_keeper_failed_summary" product="tablet" msgid="8219375738445017266">"Usimbaji fiche umekatizwa na hautakamilika. Kutokana na hayo, data kwenye kompyuta yako kibao haiwezi kupatikana. \n\n Ili kuendelee kutumia kompyuta yako kibao, unahitaji kurejesha mipangilio ambayo ilitoka nayo kiwandani. Ukiiwasha kompyuta yako kibao baadaye, utakuwa na fursa ya kuirejesha data yoyote iliyokuwa na nakala rudufu kwenye Akaunti yako ya Google."</string>
- <string name="crypt_keeper_failed_summary" product="default" msgid="3270131542549577953">"Usimbaji fiche umekatizwa na haukukamilika. Kutokana na hayo, data kwenye simu yako haiwezi kuonekana. \n\n Ili uendelee kutumia simu yako, utahitaji kurejesha mipangilio ambayo ilitoka nayo kiwandani. Utakapowasha simu yako baadaye, utakuwa na fursa ya kurejesha data yoyote ambayo ina nakala rudufu kwenye Akaunti yako ya Google."</string>
+ <string name="crypt_keeper_failed_summary" product="default" msgid="3270131542549577953">"Usimbaji fiche umekatizwa na haukukamilika. Kutokana na hayo, data kwenye simu yako haiwezi kuonekana. \n\n Ili uendelee kutumia simu yako, utahitaji kurejesha mipangilio ambayo simu ilitoka nayo kiwandani. Utakapowasha simu yako baadaye, utakuwa na nafasi ya kurejesha data yoyote ambayo nakala yake ilikuwa imehifadhiwa katika Akaunti yako ya Google."</string>
<string name="crypt_keeper_data_corrupt_title" msgid="8759119849089795751">"Msimbo wa njia fiche haukuondolewa"</string>
- <string name="crypt_keeper_data_corrupt_summary" product="tablet" msgid="840107296925798402">"Nenosiri uliloandika ni sahihi, lakini kwa bahati mbaya data yako ina hitilafu. \n\nIli uendelee kutumia kompyuta yako kibao, unahitaji kuirejesha katika hali iliyotoka nayo kiwandani. Unaposanidi kompyuta kibao yako baada ya kuirejesha katika hali iliyotoka nayo kiwandani, utakuwa na nafasi ya kurejesha data yoyote ambayo ilihifadhiwa nakala katika Akaunti yako ya Google."</string>
- <string name="crypt_keeper_data_corrupt_summary" product="default" msgid="8843311420059663824">"Nenosiri uliloandika ni sahihi, lakini kwa bahati mbaya data yako ina hitilafu. \n\nIli uendelee kutumia simu yako, unahitaji kuirejesha katika hali iliyotoka nayo kiwandani. Unaposanidi simu yako baada ya kuirejesha katika hali iliyotoka nayo kiwandani, utakuwa na nafasi ya kurejesha data yoyote ambayo ilihifadhiwa nakala katika Akaunti yako ya Google."</string>
+ <string name="crypt_keeper_data_corrupt_summary" product="tablet" msgid="840107296925798402">"Nenosiri uliloandika ni sahihi, lakini kwa bahati mbaya data yako ina hitilafu. \n\nIli uendelee kutumia kompyuta yako kibao, unahitaji kurejesha mipangilio iliyotoka nayo kiwandani. Wakati wa kuweka mipangilio mipya baada ya kurejesha ile ya kiwandani, utakuwa na nafasi ya kurejesha data yoyote ambayo nakala yake ilikuwa imehifadhiwa katika Akaunti yako ya Google."</string>
+ <string name="crypt_keeper_data_corrupt_summary" product="default" msgid="8843311420059663824">"Nenosiri uliloweka ni sahihi, lakini kwa bahati mbaya data yako ina hitilafu. \n\nIli uendelee kutumia simu yako, unahitaji kurejesha mipangilio iliyotoka nayo kiwandani. Wakati wa kuweka mipangilio kwenye simu yako baada ya kurejesha ile ya kiwandani, utakuwa na nafasi ya kurejesha data yoyote ambayo nakala yake ilikuwa imehifadhiwa katika Akaunti yako ya Google."</string>
<string name="crypt_keeper_switch_input_method" msgid="4168332125223483198">"Kubadili mbinu ya kuingiza data"</string>
<string name="suggested_lock_settings_title" msgid="8971630898700461034">"Weka mbinu ya kufunga skrini"</string>
<string name="suggested_lock_settings_summary" msgid="8778462376012231110">"Linda kifaa chako"</string>
@@ -1284,7 +1284,7 @@
<string name="reset_network_confirm_title" msgid="1759888886976962773">"Iwekwe upya?"</string>
<string name="network_reset_not_available" msgid="7188610385577164676">"Kuweka upya mtandao hakupatikani kwa mtumiaji huyu"</string>
<string name="reset_network_complete_toast" msgid="787829973559541880">"Mipangilio ya mtandao imewekwa upya"</string>
- <string name="master_clear_title" msgid="5907939616087039756">"Rejesha data ya mwanzo"</string>
+ <string name="master_clear_title" msgid="5907939616087039756">"Kurejesha mipangilio ya kiwandani"</string>
<plurals name="master_clear_with_account_summary" formatted="false" msgid="5911377203778818712">
<item quantity="other">Akaunti <xliff:g id="ACCOUNT_COUNT">%1$d</xliff:g> zitarejeshwa kwenye mipangilio zilizotoka nazo kiwandani</item>
<item quantity="one">Akaunti 1 itarejeshwa kwenye mipangilio iliyotoka nayo kiwandani</item>
@@ -2777,8 +2777,7 @@
<string name="configure_notification_settings" msgid="7616737397127242615">"Arifa"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"Mipangilio ya kina"</string>
<string name="profile_section_header" msgid="2320848161066912001">"Arifa za kazini"</string>
- <!-- no translation found for notification_badging_title (5125022693565388760) -->
- <skip />
+ <string name="notification_badging_title" msgid="5125022693565388760">"Ruhusu beji za aikoni"</string>
<string name="notification_pulse_title" msgid="1905382958860387030">"Mwangaza umemeteke"</string>
<string name="lock_screen_notifications_title" msgid="6173076173408887213">"Skrini inapofungwa"</string>
<string name="lock_screen_notifications_summary_show" msgid="6407527697810672847">"Onyesha arifa za maudhui yote"</string>
diff --git a/res/values-ta/strings.xml b/res/values-ta/strings.xml
index 8eff357..4beb770 100644
--- a/res/values-ta/strings.xml
+++ b/res/values-ta/strings.xml
@@ -2777,8 +2777,7 @@
<string name="configure_notification_settings" msgid="7616737397127242615">"அறிவிப்புகள்"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"மேம்பட்டவை"</string>
<string name="profile_section_header" msgid="2320848161066912001">"பணி அறிவிப்புகள்"</string>
- <!-- no translation found for notification_badging_title (5125022693565388760) -->
- <skip />
+ <string name="notification_badging_title" msgid="5125022693565388760">"ஐகான் பேட்ஜ்களை அனுமதி"</string>
<string name="notification_pulse_title" msgid="1905382958860387030">"ஒளியைச் சிமிட்டு"</string>
<string name="lock_screen_notifications_title" msgid="6173076173408887213">"பூட்டுத் திரையில்"</string>
<string name="lock_screen_notifications_summary_show" msgid="6407527697810672847">"எல்லா அறிவிப்பு விவரத்தையும் காட்டு"</string>
diff --git a/res/values-th/strings.xml b/res/values-th/strings.xml
index 97d9824..f598aa9 100644
--- a/res/values-th/strings.xml
+++ b/res/values-th/strings.xml
@@ -1764,7 +1764,7 @@
<string name="user_installed_services_category_title" msgid="6426376488922158647">"บริการที่ดาวน์โหลด"</string>
<string name="experimental_category_title" msgid="5272318666666893547">"ทดสอบ"</string>
<string name="talkback_title" msgid="7912059827205988080">"TalkBack"</string>
- <string name="talkback_summary" msgid="8331244650729024963">"โปรแกรมอ่านหน้าจอที่ใช้สำหรับคนตาบอดหรือผู้บกพร่องทางการมองเห็นเป็นหลัก"</string>
+ <string name="talkback_summary" msgid="8331244650729024963">"โปรแกรมอ่านหน้าจอที่ใช้สำหรับคนตาบอดหรือผู้มีสายตาบกพร่องเป็นหลัก"</string>
<string name="select_to_speak_summary" msgid="4282846695497544515">"แตะรายการบนหน้าจอเพื่อฟังการอ่านออกเสียง"</string>
<string name="accessibility_captioning_title" msgid="7589266662024836291">"คำอธิบายภาพ"</string>
<string name="accessibility_screen_magnification_title" msgid="6001128808776506021">"การขยาย"</string>
@@ -2777,8 +2777,7 @@
<string name="configure_notification_settings" msgid="7616737397127242615">"การแจ้งเตือน"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"ขั้นสูง"</string>
<string name="profile_section_header" msgid="2320848161066912001">"การแจ้งเตือนงาน"</string>
- <!-- no translation found for notification_badging_title (5125022693565388760) -->
- <skip />
+ <string name="notification_badging_title" msgid="5125022693565388760">"อนุญาตให้ใช้ป้ายไอคอน"</string>
<string name="notification_pulse_title" msgid="1905382958860387030">"ไฟกะพริบ"</string>
<string name="lock_screen_notifications_title" msgid="6173076173408887213">"บนหน้าจอล็อก"</string>
<string name="lock_screen_notifications_summary_show" msgid="6407527697810672847">"แสดงเนื้อหาการแจ้งเตือนทั้งหมด"</string>
diff --git a/res/values-tl/strings.xml b/res/values-tl/strings.xml
index a862207..311fb2b 100644
--- a/res/values-tl/strings.xml
+++ b/res/values-tl/strings.xml
@@ -378,7 +378,7 @@
<string name="security_settings_fingerprint_enroll_start_message" msgid="3909929328942564524">"Ilagay ang iyong daliri sa sensor at iangat pagkatapos mong makaramdam ng pag-vibrate"</string>
<string name="security_settings_fingerprint_enroll_repeat_title" msgid="8556556992897619044">"Magpatuloy"</string>
<string name="security_settings_fingerprint_enroll_repeat_message" msgid="4232813847507193627">"Bahagyang ilipat ang iyong daliri upang idagdag ang lahat ng iba\'t ibang bahagi ng iyong fingerprint"</string>
- <string name="security_settings_fingerprint_enroll_finish_title" msgid="4798692662828257300">"Naidagdag fingerprint!"</string>
+ <string name="security_settings_fingerprint_enroll_finish_title" msgid="4798692662828257300">"Na-add ang fingerprint!"</string>
<string name="security_settings_fingerprint_enroll_finish_message" msgid="835496875787664316">"Kapag nakikita mo ang icon na ito, maaari mong gamitin ang iyong fingerprint para sa pagkakakilanlan o upang pahintulutan ang isang pagbili."</string>
<string name="setup_fingerprint_enroll_finish_message" msgid="7234264291957984004">"Hawakan lang ang sensor ng fingerprint upang i-wake at i-unlock ang iyong device."</string>
<string name="setup_fingerprint_enroll_finish_message_secondary" msgid="7104778933406207968">"Kapag nakita mo ang icon na ito, maaari mo ring pahintulutan ang mga pagbili o pag-sign in sa mga app."</string>
@@ -2777,8 +2777,7 @@
<string name="configure_notification_settings" msgid="7616737397127242615">"Mga Notification"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"Advanced"</string>
<string name="profile_section_header" msgid="2320848161066912001">"Mga notification sa trabaho"</string>
- <!-- no translation found for notification_badging_title (5125022693565388760) -->
- <skip />
+ <string name="notification_badging_title" msgid="5125022693565388760">"Payagan ang mga badge ng icon"</string>
<string name="notification_pulse_title" msgid="1905382958860387030">"Patay-sinding ilaw"</string>
<string name="lock_screen_notifications_title" msgid="6173076173408887213">"Sa lock screen"</string>
<string name="lock_screen_notifications_summary_show" msgid="6407527697810672847">"Ipakita ang lahat ng content ng notification"</string>
diff --git a/res/values-tr/strings.xml b/res/values-tr/strings.xml
index 7f0bced..25e11f3 100644
--- a/res/values-tr/strings.xml
+++ b/res/values-tr/strings.xml
@@ -2777,8 +2777,7 @@
<string name="configure_notification_settings" msgid="7616737397127242615">"Bildirimler"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"Gelişmiş"</string>
<string name="profile_section_header" msgid="2320848161066912001">"İş bildirimleri"</string>
- <!-- no translation found for notification_badging_title (5125022693565388760) -->
- <skip />
+ <string name="notification_badging_title" msgid="5125022693565388760">"Simge rozetlerine izin ver"</string>
<string name="notification_pulse_title" msgid="1905382958860387030">"Işığı yakıp söndür"</string>
<string name="lock_screen_notifications_title" msgid="6173076173408887213">"Kilit ekranında"</string>
<string name="lock_screen_notifications_summary_show" msgid="6407527697810672847">"Bildirim içeriğinin tamamını göster"</string>
diff --git a/res/values-uk/strings.xml b/res/values-uk/strings.xml
index 11028f1..fbcc3b8 100644
--- a/res/values-uk/strings.xml
+++ b/res/values-uk/strings.xml
@@ -2831,8 +2831,7 @@
<string name="configure_notification_settings" msgid="7616737397127242615">"Сповіщення"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"Розширені налаштування"</string>
<string name="profile_section_header" msgid="2320848161066912001">"Робочі сповіщення"</string>
- <!-- no translation found for notification_badging_title (5125022693565388760) -->
- <skip />
+ <string name="notification_badging_title" msgid="5125022693565388760">"Показувати значки сповіщень"</string>
<string name="notification_pulse_title" msgid="1905382958860387030">"Блимання"</string>
<string name="lock_screen_notifications_title" msgid="6173076173408887213">"На заблокованому екрані"</string>
<string name="lock_screen_notifications_summary_show" msgid="6407527697810672847">"Показувати весь вміст сповіщень"</string>
diff --git a/res/values-ur/strings.xml b/res/values-ur/strings.xml
index 0bba0c4..199bf64 100644
--- a/res/values-ur/strings.xml
+++ b/res/values-ur/strings.xml
@@ -2348,7 +2348,7 @@
<string name="data_usage_restrict_background" msgid="434093644726734586">"اگر آپ پس منظر کا موبائل ڈیٹا محدود کرتے ہیں تو کچھ ایپس اور سروسز اس وقت تک کام نہیں کریں گی جب تک آپ Wi‑Fi سے منسلک نہ ہوں۔"</string>
<string name="data_usage_restrict_background_multiuser" product="tablet" msgid="7096707497743363380">"اگر آپ پس منظر کا موبائل ڈیٹا محدود کرتے ہیں تو کچھ ایپس اور سروسز اس وقت تک کام نہیں کریں گی جب تک آپ Wi‑Fi سے منسلک نہ ہوں۔\n\nیہ ترتیب اس ٹیبلیٹ پر موجود سبھی صارفین کو متاثر کرتی ہے۔"</string>
<string name="data_usage_restrict_background_multiuser" product="default" msgid="7910798414964288424">"اگر آپ پس منظر کا موبائل ڈیٹا محدود کرتے ہیں تو کچھ ایپس اور سروسز اس وقت تک کام نہیں کریں گی جب تک آپ Wi‑Fi سے منسلک نہ ہوں۔\n\nیہ ترتیب اس فون پر موجود سبھی صارفین کو متاثر کرتی ہے۔"</string>
- <string name="data_usage_sweep_warning" msgid="6387081852568846982"><font size="18">"<xliff:g id="NUMBER">^1</xliff:g>"</font>" "<font size="9">"وارننگ<xliff:g id="UNIT">^2</xliff:g>"</font>\n<font size="12"></font></string>
+ <string name="data_usage_sweep_warning" msgid="6387081852568846982"><font size="18">"<xliff:g id="NUMBER">^1</xliff:g>"</font>" "<font size="9">"<xliff:g id="UNIT">^2</xliff:g>"</font>\n<font size="12">"وارننگ"</font></string>
<string name="data_usage_sweep_limit" msgid="860566507375933039"><font size="18">"<xliff:g id="NUMBER">^1</xliff:g>"</font>" "<font size="9">"<xliff:g id="UNIT">^2</xliff:g>"</font>\n<font size="12">"حد"</font></string>
<string name="data_usage_uninstalled_apps" msgid="614263770923231598">"ہٹائی گئی ایپس"</string>
<string name="data_usage_uninstalled_apps_users" msgid="7986294489899813194">"ہٹائی گئی ایپس اور صارفین"</string>
diff --git a/res/values-uz/strings.xml b/res/values-uz/strings.xml
index 1bbe066..ae073d7 100644
--- a/res/values-uz/strings.xml
+++ b/res/values-uz/strings.xml
@@ -2787,8 +2787,7 @@
<string name="configure_notification_settings" msgid="7616737397127242615">"Bildirishnomalar"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"Kengaytirilgan sozlamalar"</string>
<string name="profile_section_header" msgid="2320848161066912001">"Ishga oid bildirishnomalar"</string>
- <!-- no translation found for notification_badging_title (5125022693565388760) -->
- <skip />
+ <string name="notification_badging_title" msgid="5125022693565388760">"Nishonchalarga ruxsat berish"</string>
<string name="notification_pulse_title" msgid="1905382958860387030">"Indikator"</string>
<string name="lock_screen_notifications_title" msgid="6173076173408887213">"Qulflangan ekranda"</string>
<string name="lock_screen_notifications_summary_show" msgid="6407527697810672847">"Bildirishnomalar to‘liq chiqsin"</string>
diff --git a/res/values-vi/strings.xml b/res/values-vi/strings.xml
index a0c4157..a120fce 100644
--- a/res/values-vi/strings.xml
+++ b/res/values-vi/strings.xml
@@ -2777,8 +2777,7 @@
<string name="configure_notification_settings" msgid="7616737397127242615">"Thông báo"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"Nâng cao"</string>
<string name="profile_section_header" msgid="2320848161066912001">"Thông báo công việc"</string>
- <!-- no translation found for notification_badging_title (5125022693565388760) -->
- <skip />
+ <string name="notification_badging_title" msgid="5125022693565388760">"Cho phép huy hiệu biểu tượng"</string>
<string name="notification_pulse_title" msgid="1905382958860387030">"Đèn nhấp nháy"</string>
<string name="lock_screen_notifications_title" msgid="6173076173408887213">"Trên màn hình khóa"</string>
<string name="lock_screen_notifications_summary_show" msgid="6407527697810672847">"Hiển thị tất cả nội dung thông báo"</string>
diff --git a/res/values-zh-rHK/strings.xml b/res/values-zh-rHK/strings.xml
index b844f28..f511e6a 100644
--- a/res/values-zh-rHK/strings.xml
+++ b/res/values-zh-rHK/strings.xml
@@ -2780,8 +2780,7 @@
<string name="configure_notification_settings" msgid="7616737397127242615">"通知"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"進階"</string>
<string name="profile_section_header" msgid="2320848161066912001">"工作通知"</string>
- <!-- no translation found for notification_badging_title (5125022693565388760) -->
- <skip />
+ <string name="notification_badging_title" msgid="5125022693565388760">"允許使用圖示標籤"</string>
<string name="notification_pulse_title" msgid="1905382958860387030">"閃燈"</string>
<string name="lock_screen_notifications_title" msgid="6173076173408887213">"螢幕鎖定畫面上"</string>
<string name="lock_screen_notifications_summary_show" msgid="6407527697810672847">"顯示所有通知內容"</string>
@@ -2807,7 +2806,7 @@
<string name="notification_importance_low_title" msgid="8131254047772814309">"中"</string>
<string name="notification_importance_default_title" msgid="9120383978536089489">"高"</string>
<string name="notification_importance_high_title" msgid="3058778300264746473">"緊急"</string>
- <string name="allow_sound" msgid="1820188704793497324">"開啟音效"</string>
+ <string name="allow_sound" msgid="1820188704793497324">"允許發出音效"</string>
<string name="show_silently_summary" msgid="7616604629123146565">"禁止這些通知發出音效、震動或不時於目前螢幕上出現。"</string>
<string name="default_notification_assistant" msgid="7631945224761430146">"通知小幫手"</string>
<string name="manage_notification_access_title" msgid="7510080164564944891">"通知存取權"</string>
@@ -2863,7 +2862,7 @@
<string name="app_notification_block_summary" msgid="4744020456943215352">"永不顯示這些通知"</string>
<string name="notification_content_block_title" msgid="5854232570963006360">"顯示通知"</string>
<string name="notification_content_block_summary" msgid="7746185794438882389">"永不在通知欄或周邊裝置上顯示通知"</string>
- <string name="notification_badge_title" msgid="7734903868300369178">"標誌應用程式圖示"</string>
+ <string name="notification_badge_title" msgid="7734903868300369178">"允許顯示狀態標籤圖示"</string>
<string name="app_notification_override_dnd_title" msgid="7867458246395884830">"取代「請勿騷擾」"</string>
<string name="app_notification_override_dnd_summary" msgid="3516007157020189746">"當「請勿騷擾」設定為「只限優先」時,允許顯示這些通知"</string>
<string name="app_notification_visibility_override_title" msgid="2187232730902430718">"螢幕鎖定畫面上"</string>
diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml
index 0dfaf97..d4e5657 100644
--- a/res/values-zh-rTW/strings.xml
+++ b/res/values-zh-rTW/strings.xml
@@ -2781,8 +2781,7 @@
<string name="configure_notification_settings" msgid="7616737397127242615">"通知"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"進階"</string>
<string name="profile_section_header" msgid="2320848161066912001">"Work 通知"</string>
- <!-- no translation found for notification_badging_title (5125022693565388760) -->
- <skip />
+ <string name="notification_badging_title" msgid="5125022693565388760">"允許使用圖示徽章"</string>
<string name="notification_pulse_title" msgid="1905382958860387030">"閃爍燈光"</string>
<string name="lock_screen_notifications_title" msgid="6173076173408887213">"螢幕鎖定時"</string>
<string name="lock_screen_notifications_summary_show" msgid="6407527697810672847">"顯示所有通知內容"</string>
diff --git a/res/values-zu/strings.xml b/res/values-zu/strings.xml
index e514fe4..f37f407 100644
--- a/res/values-zu/strings.xml
+++ b/res/values-zu/strings.xml
@@ -2778,8 +2778,7 @@
<string name="configure_notification_settings" msgid="7616737397127242615">"Izaziso"</string>
<string name="advanced_section_header" msgid="8833934850242546903">"Okuthuthukisiwe"</string>
<string name="profile_section_header" msgid="2320848161066912001">"Izaziso zomsebenzi"</string>
- <!-- no translation found for notification_badging_title (5125022693565388760) -->
- <skip />
+ <string name="notification_badging_title" msgid="5125022693565388760">"Vumela amabheji esithonjana"</string>
<string name="notification_pulse_title" msgid="1905382958860387030">"Cwabizisa ukukhanya"</string>
<string name="lock_screen_notifications_title" msgid="6173076173408887213">"Ekukhiyeni kwesikrini"</string>
<string name="lock_screen_notifications_summary_show" msgid="6407527697810672847">"Bonisa konke okuqukethwe kwesaziso"</string>
diff --git a/res/xml/about_legal.xml b/res/xml/about_legal.xml
index 596effe..55faad3 100644
--- a/res/xml/about_legal.xml
+++ b/res/xml/about_legal.xml
@@ -15,7 +15,8 @@
-->
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
- android:title="@string/legal_information">
+ android:title="@string/legal_information"
+ android:key="legal_screen">
<!-- Note: The titles given here probably won't be used. Instead, we programmatically
fill the title with the label of the activity with the corresponding action.
diff --git a/res/xml/reset_dashboard_fragment.xml b/res/xml/reset_dashboard_fragment.xml
index c769d5d..1fd45db 100644
--- a/res/xml/reset_dashboard_fragment.xml
+++ b/res/xml/reset_dashboard_fragment.xml
@@ -18,7 +18,8 @@
<PreferenceScreen
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:settings="http://schemas.android.com/apk/res/com.android.settings"
- android:title="@string/reset_dashboard_title">
+ android:title="@string/reset_dashboard_title"
+ android:key="reset_dashboard_fragment_screen">
<!-- Network reset -->
<com.android.settingslib.RestrictedPreference
diff --git a/res/xml/zen_mode_visual_interruptions_settings.xml b/res/xml/zen_mode_visual_interruptions_settings.xml
index 012dd95..64c79ec 100644
--- a/res/xml/zen_mode_visual_interruptions_settings.xml
+++ b/res/xml/zen_mode_visual_interruptions_settings.xml
@@ -16,7 +16,8 @@
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:settings="http://schemas.android.com/apk/res/com.android.settings"
- android:title="@string/zen_mode_visual_interruptions_settings_title" >
+ android:title="@string/zen_mode_visual_interruptions_settings_title"
+ android:key="zen_mode_visual_interruptions_screen">
<SwitchPreference android:key="screenOn"
android:title="@string/zen_mode_screen_on"
diff --git a/src/com/android/settings/ChooseLockGeneric.java b/src/com/android/settings/ChooseLockGeneric.java
index 546b11e..49784f6 100644
--- a/src/com/android/settings/ChooseLockGeneric.java
+++ b/src/com/android/settings/ChooseLockGeneric.java
@@ -722,15 +722,16 @@
@Override
public void onRemovalError(Fingerprint fp, int errMsgId,
CharSequence errString) {
- Log.v(TAG, "Fingerprint removed: " + fp.getFingerId());
- if (fp.getFingerId() == 0) {
- removeManagedProfileFingerprintsAndFinishIfNecessary(userId);
- }
+ Log.e(TAG, String.format(
+ "Can't remove fingerprint %d in group %d. Reason: %s",
+ fp.getFingerId(), fp.getGroupId(), errString));
+ // TODO: need to proceed with the removal of managed profile
+ // fingerprints and finish() gracefully.
}
@Override
- public void onRemovalSucceeded(Fingerprint fingerprint) {
- if (fingerprint.getFingerId() == 0) {
+ public void onRemovalSucceeded(Fingerprint fp, int remaining) {
+ if (remaining == 0) {
removeManagedProfileFingerprintsAndFinishIfNecessary(userId);
}
}
diff --git a/src/com/android/settings/DeviceInfoSettings.java b/src/com/android/settings/DeviceInfoSettings.java
index 109fb0e..8dfb02b 100644
--- a/src/com/android/settings/DeviceInfoSettings.java
+++ b/src/com/android/settings/DeviceInfoSettings.java
@@ -51,6 +51,8 @@
private static final String LOG_TAG = "DeviceInfoSettings";
+ private static final String KEY_LEGAL_CONTAINER = "legal_container";
+
@Override
public int getMetricsCategory() {
return MetricsEvent.DEVICEINFO;
@@ -151,5 +153,12 @@
return buildPreferenceControllers(context, null /*activity */,
null /* fragment */, null /* lifecycle */);
}
+
+ @Override
+ public List<String> getNonIndexableKeys(Context context) {
+ List<String> keys = super.getNonIndexableKeys(context);
+ keys.add(KEY_LEGAL_CONTAINER);
+ return keys;
+ }
};
}
diff --git a/src/com/android/settings/LegalSettings.java b/src/com/android/settings/LegalSettings.java
index e40152a..d5b9988 100644
--- a/src/com/android/settings/LegalSettings.java
+++ b/src/com/android/settings/LegalSettings.java
@@ -40,6 +40,7 @@
private static final String KEY_LICENSE = "license";
private static final String KEY_COPYRIGHT = "copyright";
private static final String KEY_WEBVIEW_LICENSE = "webview_license";
+ private static final String KEY_WALLPAPER_ATTRIBUTIONS = "wallpaper_attributions";
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
@@ -76,7 +77,7 @@
@Override
public List<String> getNonIndexableKeys(Context context) {
- final List<String> keys = new ArrayList<String>();
+ final List<String> keys = super.getNonIndexableKeys(context);
if (!checkIntentAction(context, "android.settings.TERMS")) {
keys.add(KEY_TERMS);
}
@@ -89,6 +90,7 @@
if (!checkIntentAction(context, "android.settings.WEBVIEW_LICENSE")) {
keys.add(KEY_WEBVIEW_LICENSE);
}
+ keys.add(KEY_WALLPAPER_ATTRIBUTIONS);
return keys;
}
diff --git a/src/com/android/settings/SettingsInitialize.java b/src/com/android/settings/SettingsInitialize.java
index 66fc4d6..6b15770 100644
--- a/src/com/android/settings/SettingsInitialize.java
+++ b/src/com/android/settings/SettingsInitialize.java
@@ -35,7 +35,7 @@
import static android.content.pm.PackageManager.MATCH_DISABLED_COMPONENTS;
/**
- * Listens to {@link Intent.ACTION_BOOT_COMPLETED} and {@link Intent.ACTION_PRE_BOOT_COMPLETED}
+ * Listens to {@link Intent.ACTION_PRE_BOOT_COMPLETED} and {@link Intent.ACTION_USER_INITIALIZED}
* performs setup steps for a managed profile (disables the launcher icon of the Settings app,
* adds cross-profile intent filters for the appropriate Settings activities), and disables the
* webview setting for non-admin users.
@@ -89,11 +89,13 @@
}
// Disable launcher icon
- // Note: This needs to happen after forwarding intents, otherwise the main Settings
- // intent gets lost
ComponentName settingsComponentName = new ComponentName(context, Settings.class);
pm.setComponentEnabledSetting(settingsComponentName,
PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.DONT_KILL_APP);
+ // Disable shortcut picker.
+ ComponentName shortcutComponentName = new ComponentName(context, CreateShortcut.class);
+ pm.setComponentEnabledSetting(shortcutComponentName,
+ PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.DONT_KILL_APP);
}
// Disable WebView Setting if the current user is not an admin
diff --git a/src/com/android/settings/accounts/AccountPreferenceController.java b/src/com/android/settings/accounts/AccountPreferenceController.java
index a782a7d..6ed2c34 100644
--- a/src/com/android/settings/accounts/AccountPreferenceController.java
+++ b/src/com/android/settings/accounts/AccountPreferenceController.java
@@ -123,9 +123,9 @@
*/
public boolean pendingRemoval;
/**
- * The map from account name to account preference
+ * The map from account key to account preference
*/
- public ArrayMap<CharSequence, AccountTypePreference> accountPreferences = new ArrayMap<>();
+ public ArrayMap<String, AccountTypePreference> accountPreferences = new ArrayMap<>();
}
public AccountPreferenceController(Context context, SettingsPreferenceFragment parent,
@@ -426,7 +426,7 @@
return;
}
if (profileData.userInfo.isEnabled()) {
- final ArrayMap<CharSequence, AccountTypePreference> preferenceToRemove =
+ final ArrayMap<String, AccountTypePreference> preferenceToRemove =
new ArrayMap<>(profileData.accountPreferences);
final ArrayList<AccountTypePreference> preferences = getAccountTypePreferences(
profileData.authenticatorHelper, profileData.userInfo.getUserHandle(),
@@ -435,18 +435,19 @@
for (int i = 0; i < count; i++) {
final AccountTypePreference preference = preferences.get(i);
preference.setOrder(i);
- if (!profileData.accountPreferences.containsValue(preference)) {
- profileData.preferenceGroup.addPreference(preferences.get(i));
- profileData.accountPreferences.put(preference.getTitle(), preference);
+ final String key = preference.getKey();
+ if (!profileData.accountPreferences.containsKey(key)) {
+ profileData.preferenceGroup.addPreference(preference);
+ profileData.accountPreferences.put(key, preference);
}
}
if (profileData.addAccountPreference != null) {
profileData.preferenceGroup.addPreference(profileData.addAccountPreference);
}
- for (CharSequence name : preferenceToRemove.keySet()) {
+ for (String key : preferenceToRemove.keySet()) {
profileData.preferenceGroup.removePreference(
- profileData.accountPreferences.get(name));
- profileData.accountPreferences.remove(name);
+ profileData.accountPreferences.get(key));
+ profileData.accountPreferences.remove(key);
}
} else {
profileData.preferenceGroup.removeAll();
@@ -471,8 +472,7 @@
}
private ArrayList<AccountTypePreference> getAccountTypePreferences(AuthenticatorHelper helper,
- UserHandle userHandle,
- ArrayMap<CharSequence, AccountTypePreference> preferenceToRemove) {
+ UserHandle userHandle, ArrayMap<String, AccountTypePreference> preferenceToRemove) {
final String[] accountTypes = helper.getEnabledAccountTypes();
final ArrayList<AccountTypePreference> accountTypePreferences =
new ArrayList<>(accountTypes.length);
@@ -497,7 +497,8 @@
// Add a preference row for each individual account
for (Account account : accounts) {
- final AccountTypePreference preference = preferenceToRemove.remove(account.name);
+ final AccountTypePreference preference =
+ preferenceToRemove.remove(AccountTypePreference.buildKey(account));
if (preference != null) {
accountTypePreferences.add(preference);
continue;
@@ -521,7 +522,7 @@
fragmentArguments.putParcelable(EXTRA_USER, userHandle);
accountTypePreferences.add(new AccountTypePreference(
prefContext, mMetricsFeatureProvider.getMetricsCategory(mParent),
- account.name, titleResPackageName, titleResId, label,
+ account, titleResPackageName, titleResId, label,
AccountDetailDashboardFragment.class.getName(), fragmentArguments, icon));
}
helper.preloadDrawableForType(mContext, accountType);
diff --git a/src/com/android/settings/accounts/AccountTypePreference.java b/src/com/android/settings/accounts/AccountTypePreference.java
index 0abfb50..4f92829 100644
--- a/src/com/android/settings/accounts/AccountTypePreference.java
+++ b/src/com/android/settings/accounts/AccountTypePreference.java
@@ -16,6 +16,7 @@
package com.android.settings.accounts;
+import android.accounts.Account;
import android.content.Context;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
@@ -67,18 +68,11 @@
private final int mMetricsCategory;
- public AccountTypePreference(Context context, int metricsCategory, CharSequence title,
- String titleResPackageName, int titleResId, String fragment, Bundle fragmentArguments,
- Drawable icon) {
- this(context, metricsCategory, title, titleResPackageName, titleResId, null, fragment,
- fragmentArguments, icon);
- }
-
- public AccountTypePreference(Context context, int metricsCategory, CharSequence title,
+ public AccountTypePreference(Context context, int metricsCategory, Account account,
String titleResPackageName, int titleResId, CharSequence summary, String fragment,
Bundle fragmentArguments, Drawable icon) {
super(context);
- mTitle = title;
+ mTitle = account.name;
mTitleResPackageName = titleResPackageName;
mTitleResId = titleResId;
mSummary = summary;
@@ -87,7 +81,8 @@
mMetricsCategory = metricsCategory;
setWidgetLayoutResource(R.layout.account_type_preference);
- setTitle(title);
+ setKey(buildKey(account));
+ setTitle(mTitle);
setSummary(summary);
setIcon(icon);
@@ -115,6 +110,13 @@
return false;
}
+ /**
+ * Build a unique preference key based on account.
+ */
+ public static String buildKey(Account account) {
+ return String.valueOf(account.hashCode());
+ }
+
public CharSequence getTitle() {
return mTitle;
}
@@ -122,5 +124,4 @@
public CharSequence getSummary() {
return mSummary;
}
-
}
diff --git a/src/com/android/settings/applications/AdvancedAppSettings.java b/src/com/android/settings/applications/AdvancedAppSettings.java
index caa9da1..cce8b7d 100644
--- a/src/com/android/settings/applications/AdvancedAppSettings.java
+++ b/src/com/android/settings/applications/AdvancedAppSettings.java
@@ -43,6 +43,8 @@
static final String TAG = "AdvancedAppSettings";
+ private static final String KEY_ASSIST_VOICE_INPUT = "assist_and_voice_input";
+
@Override
protected String getLogTag() {
return TAG;
@@ -80,6 +82,18 @@
sir.xmlResId = R.xml.app_default_settings;
return Arrays.asList(sir);
}
+
+ @Override
+ public List<String> getNonIndexableKeys(Context context) {
+ List<String> keys = super.getNonIndexableKeys(context);
+ keys.add(KEY_ASSIST_VOICE_INPUT);
+ // TODO (b/38230148) Remove these keys when we can differentiate work results
+ keys.add((new DefaultWorkPhonePreferenceController(context))
+ .getPreferenceKey());
+ keys.add((new DefaultWorkBrowserPreferenceController(context))
+ .getPreferenceKey());
+ return keys;
+ }
};
static class SummaryProvider implements SummaryLoader.SummaryProvider {
diff --git a/src/com/android/settings/applications/AppAndNotificationDashboardFragment.java b/src/com/android/settings/applications/AppAndNotificationDashboardFragment.java
index 2499478..63e8be7 100644
--- a/src/com/android/settings/applications/AppAndNotificationDashboardFragment.java
+++ b/src/com/android/settings/applications/AppAndNotificationDashboardFragment.java
@@ -82,5 +82,13 @@
public List<PreferenceController> getPreferenceControllers(Context context) {
return buildPreferenceControllers(context);
}
+
+ @Override
+ public List<String> getNonIndexableKeys(Context context) {
+ List<String> keys = super.getNonIndexableKeys(context);
+ keys.add((new SpecialAppAccessPreferenceController(context))
+ .getPreferenceKey());
+ return keys;
+ }
};
}
diff --git a/src/com/android/settings/bluetooth/DeviceProfilesSettings.java b/src/com/android/settings/bluetooth/DeviceProfilesSettings.java
index a6dfa9b..a76ed46 100755
--- a/src/com/android/settings/bluetooth/DeviceProfilesSettings.java
+++ b/src/com/android/settings/bluetooth/DeviceProfilesSettings.java
@@ -23,6 +23,7 @@
import android.content.Context;
import android.content.DialogInterface;
import android.os.Bundle;
+import android.support.annotation.VisibleForTesting;
import android.text.Html;
import android.text.TextUtils;
import android.util.Log;
@@ -37,6 +38,7 @@
import com.android.internal.logging.nano.MetricsProto;
import com.android.settings.R;
import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
+import com.android.settingslib.bluetooth.A2dpProfile;
import com.android.settingslib.bluetooth.CachedBluetoothDevice;
import com.android.settingslib.bluetooth.CachedBluetoothDeviceManager;
import com.android.settingslib.bluetooth.LocalBluetoothManager;
@@ -55,6 +57,8 @@
private static final String KEY_PROFILE_CONTAINER = "profile_container";
private static final String KEY_UNPAIR = "unpair";
private static final String KEY_PBAP_SERVER = "PBAP Server";
+ @VisibleForTesting
+ static final String HIGH_QUALITY_AUDIO_PREF_TAG = "A2dpProfileHighQualityAudio";
private CachedBluetoothDevice mCachedDevice;
private LocalBluetoothManager mManager;
@@ -169,6 +173,21 @@
for (LocalBluetoothProfile profile : mCachedDevice.getConnectableProfiles()) {
CheckBox pref = createProfilePreference(profile);
mProfileContainer.addView(pref);
+
+ if (profile instanceof A2dpProfile) {
+ BluetoothDevice device = mCachedDevice.getDevice();
+ A2dpProfile a2dpProfile = (A2dpProfile) profile;
+ if (a2dpProfile.supportsHighQualityAudio(device)) {
+ CheckBox highQualityPref = new CheckBox(getActivity());
+ highQualityPref.setTag(HIGH_QUALITY_AUDIO_PREF_TAG);
+ highQualityPref.setOnClickListener(v -> {
+ a2dpProfile.setHighQualityAudioEnabled(device, highQualityPref.isChecked());
+ });
+ highQualityPref.setVisibility(View.GONE);
+ mProfileContainer.addView(highQualityPref);
+ }
+ refreshProfilePreference(pref, profile);
+ }
}
final int pbapPermission = mCachedDevice.getPhonebookPermissionChoice();
@@ -356,6 +375,22 @@
} else {
profilePref.setChecked(profile.isPreferred(device));
}
+ if (profile instanceof A2dpProfile) {
+ A2dpProfile a2dpProfile = (A2dpProfile) profile;
+ View v = mProfileContainer.findViewWithTag(HIGH_QUALITY_AUDIO_PREF_TAG);
+ if (v instanceof CheckBox) {
+ CheckBox highQualityPref = (CheckBox) v;
+ highQualityPref.setText(a2dpProfile.getHighQualityAudioOptionLabel(device));
+ highQualityPref.setChecked(a2dpProfile.isHighQualityAudioEnabled(device));
+
+ if (a2dpProfile.isPreferred(device)) {
+ v.setVisibility(View.VISIBLE);
+ v.setEnabled(!mCachedDevice.isBusy());
+ } else {
+ v.setVisibility(View.GONE);
+ }
+ }
+ }
}
private LocalBluetoothProfile getProfileOf(View v) {
diff --git a/src/com/android/settings/datausage/DataUsageSummary.java b/src/com/android/settings/datausage/DataUsageSummary.java
index 16172bd..5a84d13 100644
--- a/src/com/android/settings/datausage/DataUsageSummary.java
+++ b/src/com/android/settings/datausage/DataUsageSummary.java
@@ -71,10 +71,11 @@
public static final boolean TEST_RADIOS = false;
public static final String TEST_RADIOS_PROP = "test.radios";
+ public static final String KEY_RESTRICT_BACKGROUND = "restrict_background";
+ public static final String KEY_NETWORK_RESTRICTIONS = "network_restrictions";
+
private static final String KEY_STATUS_HEADER = "status_header";
private static final String KEY_LIMIT_SUMMARY = "limit_summary";
- private static final String KEY_RESTRICT_BACKGROUND = "restrict_background";
- private static final String KEY_NETWORK_RESTRICTIONS = "network_restrictions";
private static final String KEY_WIFI_USAGE_TITLE = "wifi_category";
private DataUsageController mDataUsageController;
@@ -465,7 +466,7 @@
@Override
public List<SearchIndexableResource> getXmlResourcesToIndex(Context context,
boolean enabled) {
- ArrayList<SearchIndexableResource> resources = new ArrayList<>();
+ List<SearchIndexableResource> resources = new ArrayList<>();
SearchIndexableResource resource = new SearchIndexableResource(context);
resource.xmlResId = R.xml.data_usage;
resources.add(resource);
@@ -485,13 +486,14 @@
@Override
public List<String> getNonIndexableKeys(Context context) {
- ArrayList<String> keys = new ArrayList<>();
- boolean hasMobileData = ConnectivityManager.from(context).isNetworkSupported(
- ConnectivityManager.TYPE_MOBILE);
+ List<String> keys = super.getNonIndexableKeys(context);
- if (hasMobileData) {
+ if (hasMobileData(context)) {
keys.add(KEY_RESTRICT_BACKGROUND);
}
+ if (hasWifiRadio(context)) {
+ keys.add(KEY_NETWORK_RESTRICTIONS);
+ }
keys.add(KEY_WIFI_USAGE_TITLE);
return keys;
diff --git a/src/com/android/settings/development/TelephonyMonitorPreferenceController.java b/src/com/android/settings/development/TelephonyMonitorPreferenceController.java
index 135af7d..c21ccda 100644
--- a/src/com/android/settings/development/TelephonyMonitorPreferenceController.java
+++ b/src/com/android/settings/development/TelephonyMonitorPreferenceController.java
@@ -23,15 +23,27 @@
import android.support.v7.preference.PreferenceScreen;
import android.widget.Toast;
+import com.android.internal.annotations.VisibleForTesting;
import com.android.settings.core.PreferenceController;
import com.android.settings.R;
public class TelephonyMonitorPreferenceController extends PreferenceController {
private static final String KEY_TELEPHONY_MONITOR_SWITCH = "telephony_monitor_switch";
+ @VisibleForTesting
static final String BUILD_TYPE = "ro.build.type";
+ @VisibleForTesting
static final String PROPERTY_TELEPHONY_MONITOR = "persist.radio.enable_tel_mon";
+ @VisibleForTesting
+ static final String ENABLED_STATUS = "enabled";
+ @VisibleForTesting
+ static final String DISABLED_STATUS = "disabled";
+ @VisibleForTesting
+ static final String USER_ENABLED_STATUS = "user_enabled";
+ @VisibleForTesting
+ static final String USER_DISABLED_STATUS = "user_disabled";
+
private SwitchPreference mPreference;
public TelephonyMonitorPreferenceController(Context context) {
@@ -43,7 +55,7 @@
super.displayPreference(screen);
if (isAvailable()) {
mPreference = (SwitchPreference) screen.findPreference(KEY_TELEPHONY_MONITOR_SWITCH);
- mPreference.setChecked(SystemProperties.getBoolean(PROPERTY_TELEPHONY_MONITOR, false));
+ mPreference.setChecked(isTelephonyMonitorEnabled());
}
}
@@ -69,7 +81,7 @@
if (KEY_TELEPHONY_MONITOR_SWITCH.equals(preference.getKey())) {
final SwitchPreference switchPreference = (SwitchPreference) preference;
SystemProperties.set(PROPERTY_TELEPHONY_MONITOR,
- switchPreference.isChecked() ? "true" : "false");
+ switchPreference.isChecked() ? USER_ENABLED_STATUS : USER_DISABLED_STATUS);
Toast.makeText(mContext, R.string.telephony_monitor_toast,
Toast.LENGTH_LONG).show();
return true;
@@ -87,9 +99,14 @@
if (!isAvailable()) {
return false;
}
- final boolean enabled = SystemProperties.getBoolean(PROPERTY_TELEPHONY_MONITOR, false);
+ final boolean enabled = isTelephonyMonitorEnabled();
mPreference.setChecked(enabled);
return enabled;
}
+ private boolean isTelephonyMonitorEnabled() {
+ final String tmStatus = SystemProperties.get(PROPERTY_TELEPHONY_MONITOR, DISABLED_STATUS);
+ return ENABLED_STATUS.equals(tmStatus) || USER_ENABLED_STATUS.equals(tmStatus);
+ }
+
}
diff --git a/src/com/android/settings/deviceinfo/StorageDashboardFragment.java b/src/com/android/settings/deviceinfo/StorageDashboardFragment.java
index 57f7345..4974f78 100644
--- a/src/com/android/settings/deviceinfo/StorageDashboardFragment.java
+++ b/src/com/android/settings/deviceinfo/StorageDashboardFragment.java
@@ -133,7 +133,11 @@
mPreferenceController.onLoadFinished(mAppsResult.get(UserHandle.myUserId()));
updateSecondaryUserControllers(mSecondaryUsers, mAppsResult);
- setLoading(false, true);
+
+ // setLoading always causes a flicker, so let's avoid doing it.
+ if (getView().findViewById(R.id.loading_container).getVisibility() == View.VISIBLE) {
+ setLoading(false, true);
+ }
}
@Override
diff --git a/src/com/android/settings/fingerprint/FingerprintRemoveSidecar.java b/src/com/android/settings/fingerprint/FingerprintRemoveSidecar.java
index eda4c82..462d09e 100644
--- a/src/com/android/settings/fingerprint/FingerprintRemoveSidecar.java
+++ b/src/com/android/settings/fingerprint/FingerprintRemoveSidecar.java
@@ -53,7 +53,7 @@
private FingerprintManager.RemovalCallback
mRemoveCallback = new FingerprintManager.RemovalCallback() {
@Override
- public void onRemovalSucceeded(Fingerprint fingerprint) {
+ public void onRemovalSucceeded(Fingerprint fingerprint, int remaining) {
if (mListener != null) {
mListener.onRemovalSucceeded(fingerprint);
} else {
diff --git a/src/com/android/settings/fuelgauge/BatteryUtils.java b/src/com/android/settings/fuelgauge/BatteryUtils.java
index 86cb203..8e730c0 100644
--- a/src/com/android/settings/fuelgauge/BatteryUtils.java
+++ b/src/com/android/settings/fuelgauge/BatteryUtils.java
@@ -22,7 +22,9 @@
import android.support.annotation.IntDef;
import android.support.annotation.Nullable;
import android.support.annotation.VisibleForTesting;
+import android.text.format.DateUtils;
import android.util.Log;
+import android.util.SparseLongArray;
import com.android.internal.os.BatterySipper;
import com.android.settings.overlay.FeatureFactory;
@@ -115,25 +117,64 @@
}
/**
- * Remove the {@link BatterySipper} that we should hide.
+ * Remove the {@link BatterySipper} that we should hide and smear the screen usage based on
+ * foreground activity time.
*
* @param sippers sipper list that need to check and remove
* @return the total power of the hidden items of {@link BatterySipper}
+ * for proportional smearing
*/
public double removeHiddenBatterySippers(List<BatterySipper> sippers) {
- double totalPowerMah = 0;
+ double proportionalSmearPowerMah = 0;
+ BatterySipper screenSipper = null;
for (int i = sippers.size() - 1; i >= 0; i--) {
final BatterySipper sipper = sippers.get(i);
if (shouldHideSipper(sipper)) {
sippers.remove(i);
- if (sipper.drainType != BatterySipper.DrainType.OVERCOUNTED) {
- // Don't add it if it is overcounted
- totalPowerMah += sipper.totalPowerMah;
+ if (sipper.drainType != BatterySipper.DrainType.OVERCOUNTED
+ && sipper.drainType != BatterySipper.DrainType.SCREEN
+ && sipper.drainType != BatterySipper.DrainType.UNACCOUNTED) {
+ // Don't add it if it is overcounted, unaccounted or screen
+ proportionalSmearPowerMah += sipper.totalPowerMah;
}
}
+
+ if (sipper.drainType == BatterySipper.DrainType.SCREEN) {
+ screenSipper = sipper;
+ }
}
- return totalPowerMah;
+ smearScreenBatterySipper(sippers, screenSipper);
+
+ return proportionalSmearPowerMah;
+ }
+
+ /**
+ * Smear the screen on power usage among {@code sippers}, based on ratio of foreground activity
+ * time.
+ */
+ @VisibleForTesting
+ void smearScreenBatterySipper(List<BatterySipper> sippers, BatterySipper screenSipper) {
+ final long rawRealtimeMs = SystemClock.elapsedRealtime();
+ long totalActivityTimeMs = 0;
+ final SparseLongArray activityTimeArray = new SparseLongArray();
+ for (int i = 0, size = sippers.size(); i < size; i++) {
+ final BatteryStats.Uid uid = sippers.get(i).uidObj;
+ if (uid != null) {
+ final long timeMs = getForegroundActivityTotalTimeMs(uid, rawRealtimeMs);
+ activityTimeArray.put(uid.getUid(), timeMs);
+ totalActivityTimeMs += timeMs;
+ }
+ }
+
+ if (totalActivityTimeMs >= 10 * DateUtils.MINUTE_IN_MILLIS) {
+ final double screenPowerMah = screenSipper.totalPowerMah;
+ for (int i = 0, size = sippers.size(); i < size; i++) {
+ final BatterySipper sipper = sippers.get(i);
+ sipper.totalPowerMah += screenPowerMah * activityTimeArray.get(sipper.getUid(), 0)
+ / totalActivityTimeMs;
+ }
+ }
}
/**
@@ -186,5 +227,15 @@
return mPackageManager == null;
}
+ @VisibleForTesting
+ long getForegroundActivityTotalTimeMs(BatteryStats.Uid uid, long rawRealtimeMs) {
+ final BatteryStats.Timer timer = uid.getForegroundActivityTimer();
+ if (timer != null) {
+ return timer.getTotalTimeLocked(rawRealtimeMs, BatteryStats.STATS_SINCE_CHARGED);
+ }
+
+ return 0;
+ }
+
}
diff --git a/src/com/android/settings/fuelgauge/PowerUsageBase.java b/src/com/android/settings/fuelgauge/PowerUsageBase.java
index aee55d6..060abdd 100644
--- a/src/com/android/settings/fuelgauge/PowerUsageBase.java
+++ b/src/com/android/settings/fuelgauge/PowerUsageBase.java
@@ -57,7 +57,7 @@
mBatteryBroadcastReceiver = new BatteryBroadcastReceiver(getContext());
mBatteryBroadcastReceiver.setBatteryChangedListener(() -> {
- getLoaderManager().restartLoader(0, null, this);
+ restartBatteryStatsLoader();
});
getLoaderManager().initLoader(0, icicle, this);
@@ -95,6 +95,10 @@
}
}
+ protected void restartBatteryStatsLoader() {
+ getLoaderManager().restartLoader(0, Bundle.EMPTY, this);
+ }
+
protected abstract void refreshUi();
protected void updatePreference(BatteryHistoryPreference historyPref) {
diff --git a/src/com/android/settings/fuelgauge/PowerUsageSummary.java b/src/com/android/settings/fuelgauge/PowerUsageSummary.java
index 0309296..d0343c3 100644
--- a/src/com/android/settings/fuelgauge/PowerUsageSummary.java
+++ b/src/com/android/settings/fuelgauge/PowerUsageSummary.java
@@ -287,7 +287,7 @@
item.setTitle(mShowAllApps ? R.string.hide_extra_apps : R.string.show_all_apps);
metricsFeatureProvider.action(context,
MetricsEvent.ACTION_SETTINGS_MENU_BATTERY_APPS_TOGGLE, mShowAllApps);
- refreshUi();
+ restartBatteryStatsLoader();
return true;
default:
return super.onOptionsItemSelected(item);
diff --git a/src/com/android/settings/notification/SoundSettings.java b/src/com/android/settings/notification/SoundSettings.java
index a92c5dd..ec7351a 100644
--- a/src/com/android/settings/notification/SoundSettings.java
+++ b/src/com/android/settings/notification/SoundSettings.java
@@ -43,6 +43,7 @@
public class SoundSettings extends DashboardFragment {
private static final String TAG = "SoundSettings";
+ private static final String KEY_CELL_BROADCAST_SETTINGS = "cell_broadcast_settings";
private static final String SELECTED_PREFERENCE_KEY = "selected_preference";
private static final int REQUEST_CODE = 200;
@@ -187,7 +188,7 @@
final List<PreferenceController> controllers = new ArrayList<>();
controllers.add(new ZenModePreferenceController(context));
controllers.add(new EmergencyBroadcastPreferenceController(
- context, "cell_broadcast_settings"));
+ context, KEY_CELL_BROADCAST_SETTINGS));
controllers.add(new VibrateWhenRingPreferenceController(context));
// === Volumes ===
@@ -236,6 +237,16 @@
return buildPreferenceControllers(context, null /* fragment */,
null /* callback */, null /* lifecycle */);
}
+
+ @Override
+ public List<String> getNonIndexableKeys(Context context) {
+ List<String> keys = super.getNonIndexableKeys(context);
+ // Duplicate results
+ keys.add((new ZenModePreferenceController(context)).getPreferenceKey());
+ keys.add(ZenModeSettings.KEY_VISUAL_SETTINGS);
+ keys.add(KEY_CELL_BROADCAST_SETTINGS);
+ return keys;
+ }
};
// === Work Sound Settings ===
diff --git a/src/com/android/settings/notification/ZenModeSettings.java b/src/com/android/settings/notification/ZenModeSettings.java
index bbcaa9c..854857a 100644
--- a/src/com/android/settings/notification/ZenModeSettings.java
+++ b/src/com/android/settings/notification/ZenModeSettings.java
@@ -53,8 +53,10 @@
import java.util.Map.Entry;
public class ZenModeSettings extends ZenModeSettingsBase {
+
+ public static final String KEY_VISUAL_SETTINGS = "visual_interruptions_settings";
+
private static final String KEY_PRIORITY_SETTINGS = "priority_settings";
- private static final String KEY_VISUAL_SETTINGS = "visual_interruptions_settings";
private static final String KEY_AUTOMATIC_RULES = "automatic_rules";
static final ManagedServiceSettings.Config CONFIG = getConditionProviderConfig();
diff --git a/src/com/android/settings/search/BaseSearchIndexProvider.java b/src/com/android/settings/search/BaseSearchIndexProvider.java
index 8732227..f5e06ca 100644
--- a/src/com/android/settings/search/BaseSearchIndexProvider.java
+++ b/src/com/android/settings/search/BaseSearchIndexProvider.java
@@ -72,7 +72,7 @@
}
return nonIndexableKeys;
} else {
- return EMPTY_LIST;
+ return new ArrayList<>();
}
}
diff --git a/src/com/android/settings/system/SystemDashboardFragment.java b/src/com/android/settings/system/SystemDashboardFragment.java
index 4c4ed21..1a5a182 100644
--- a/src/com/android/settings/system/SystemDashboardFragment.java
+++ b/src/com/android/settings/system/SystemDashboardFragment.java
@@ -37,6 +37,8 @@
private static final String TAG = "SystemDashboardFrag";
+ private static final String KEY_RESET = "reset_dashboard";
+
@Override
public int getMetricsCategory() {
return MetricsProto.MetricsEvent.SETTINGS_SYSTEM_CATEGORY;
@@ -82,5 +84,14 @@
public List<PreferenceController> getPreferenceControllers(Context context) {
return buildPreferenceControllers(context);
}
+
+ @Override
+ public List<String> getNonIndexableKeys(Context context) {
+ List<String> keys = super.getNonIndexableKeys(context);
+ keys.add((new BackupSettingsActivityPreferenceController(context)
+ .getPreferenceKey()));
+ keys.add(KEY_RESET);
+ return keys;
+ }
};
}
diff --git a/src/com/android/settings/wifi/WifiConfigController.java b/src/com/android/settings/wifi/WifiConfigController.java
index 8590650..fb01f1f 100644
--- a/src/com/android/settings/wifi/WifiConfigController.java
+++ b/src/com/android/settings/wifi/WifiConfigController.java
@@ -372,7 +372,11 @@
group.addView(row);
}
- private String getSignalString() {
+ @VisibleForTesting
+ String getSignalString() {
+ if (!mAccessPoint.isReachable()) {
+ return null;
+ }
final int level = mAccessPoint.getLevel();
return (level > -1 && level < mLevels.length) ? mLevels[level] : null;
diff --git a/tests/robotests/src/android/bluetooth/BluetoothCodecConfig.java b/tests/robotests/src/android/bluetooth/BluetoothCodecConfig.java
new file mode 100644
index 0000000..40b76df
--- /dev/null
+++ b/tests/robotests/src/android/bluetooth/BluetoothCodecConfig.java
@@ -0,0 +1,23 @@
+/*
+ * Copyright (C) 2017 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 android.bluetooth;
+
+/**
+ * A placeholder class to prevent ClassNotFound exceptions caused by lack of visibility.
+ */
+public class BluetoothCodecConfig {
+}
diff --git a/tests/robotests/src/com/android/settings/DeviceInfoSettingsTest.java b/tests/robotests/src/com/android/settings/DeviceInfoSettingsTest.java
index c43ad3c..c64e582 100644
--- a/tests/robotests/src/com/android/settings/DeviceInfoSettingsTest.java
+++ b/tests/robotests/src/com/android/settings/DeviceInfoSettingsTest.java
@@ -28,6 +28,8 @@
import android.support.v7.preference.PreferenceScreen;
import com.android.settings.dashboard.SummaryLoader;
+import com.android.settings.testutils.XmlTestUtils;
+import com.android.settings.testutils.shadow.ShadowUtils;
import com.android.settingslib.DeviceInfoUtils;
import org.junit.Before;
@@ -36,8 +38,11 @@
import org.mockito.Answers;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
+import org.robolectric.RuntimeEnvironment;
import org.robolectric.annotation.Config;
+import java.util.List;
+
@RunWith(SettingsRobolectricTestRunner.class)
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
public class DeviceInfoSettingsTest {
@@ -75,4 +80,17 @@
verify(mSummaryLoader).setSummary(mProvider, Build.MODEL + DeviceInfoUtils.getMsvSuffix());
}
+
+ @Test
+ @Config(shadows = ShadowUtils.class)
+ public void testNonIndexableKeys_existInXmlLayout() {
+ final Context context = RuntimeEnvironment.application;
+ final List<String> niks = DeviceInfoSettings.SEARCH_INDEX_DATA_PROVIDER
+ .getNonIndexableKeys(context);
+ final int xmlId = (new DeviceInfoSettings()).getPreferenceScreenResId();
+
+ final List<String> keys = XmlTestUtils.getKeysFromPreferenceXml(context, xmlId);
+
+ assertThat(keys).containsAllIn(niks);
+ }
}
diff --git a/tests/robotests/src/com/android/settings/LegalSettingsTest.java b/tests/robotests/src/com/android/settings/LegalSettingsTest.java
new file mode 100644
index 0000000..6cfe211
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/LegalSettingsTest.java
@@ -0,0 +1,46 @@
+/*
+ * Copyright (C) 2017 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;
+
+import android.content.Context;
+
+import com.android.settings.testutils.XmlTestUtils;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.robolectric.RuntimeEnvironment;
+import org.robolectric.annotation.Config;
+
+import java.util.List;
+
+import static com.google.common.truth.Truth.assertThat;
+import static org.mockito.Mockito.spy;
+
+@RunWith(SettingsRobolectricTestRunner.class)
+@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
+public class LegalSettingsTest {
+
+ @Test
+ public void testNonIndexableKeys_existInXmlLayout() {
+ final Context context = RuntimeEnvironment.application;
+ final List<String> niks = LegalSettings.SEARCH_INDEX_DATA_PROVIDER
+ .getNonIndexableKeys(context);
+
+ final List<String> keys = XmlTestUtils.getKeysFromPreferenceXml(context,
+ R.xml.about_legal);
+
+ assertThat(keys).containsAllIn(niks);
+ }
+}
\ No newline at end of file
diff --git a/tests/robotests/src/com/android/settings/accounts/AccountPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accounts/AccountPreferenceControllerTest.java
index 8453da5..66f5549 100644
--- a/tests/robotests/src/com/android/settings/accounts/AccountPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/accounts/AccountPreferenceControllerTest.java
@@ -26,8 +26,8 @@
import android.support.v7.preference.PreferenceGroup;
import android.support.v7.preference.PreferenceManager;
import android.support.v7.preference.PreferenceScreen;
-
import android.text.TextUtils;
+
import com.android.settings.AccessiblePreferenceCategory;
import com.android.settings.R;
import com.android.settings.SettingsPreferenceFragment;
@@ -92,7 +92,7 @@
when(mFragment.getPreferenceScreen()).thenReturn(mScreen);
when(mFragment.getPreferenceManager().getContext()).thenReturn(mContext);
when(mAccountManager.getAuthenticatorTypesAsUser(anyInt())).thenReturn(
- new AuthenticatorDescription[0]);
+ new AuthenticatorDescription[0]);
when(mAccountManager.getAccountsAsUser(anyInt())).thenReturn(new Account[0]);
mController = new AccountPreferenceController(mContext, mFragment, null, mAccountHelper);
}
@@ -367,6 +367,51 @@
@Test
@Config(shadows = {ShadowAccountManager.class, ShadowContentResolver.class})
+ public void onResume_twoAccountsOfSameName_shouldAddFivePreferences() {
+ final List<UserInfo> infos = new ArrayList<>();
+ infos.add(new UserInfo(1, "user 1", 0));
+ when(mUserManager.isManagedProfile()).thenReturn(false);
+ when(mUserManager.isLinkedUser()).thenReturn(false);
+ when(mUserManager.getProfiles(anyInt())).thenReturn(infos);
+
+ final Account[] accountType1 = new Account[2];
+ accountType1[0] = new Account("Account1", "com.acct1");
+ accountType1[1] = new Account("Account2", "com.acct1");
+ final Account[] accountType2 = new Account[2];
+ accountType2[0] = new Account("Account1", "com.acct2");
+ accountType2[1] = new Account("Account2", "com.acct2");
+ final Account[] allAccounts = new Account[4];
+ allAccounts[0] = accountType1[0];
+ allAccounts[1] = accountType1[1];
+ allAccounts[2] = accountType2[0];
+ allAccounts[3] = accountType2[1];
+ final AuthenticatorDescription[] authDescs = {
+ new AuthenticatorDescription("com.acct1", "com.android.settings",
+ R.string.account_settings_title, 0, 0, 0, false),
+ new AuthenticatorDescription("com.acct2", "com.android.settings",
+ R.string.account_settings_title, 0, 0, 0, false)
+ };
+
+ when(mAccountManager.getAccountsAsUser(anyInt())).thenReturn(allAccounts);
+ when(mAccountManager.getAccountsByTypeAsUser(eq("com.acct1"), any(UserHandle.class)))
+ .thenReturn(accountType1);
+ when(mAccountManager.getAccountsByTypeAsUser(eq("com.acct2"), any(UserHandle.class)))
+ .thenReturn(accountType2);
+ when(mAccountManager.getAuthenticatorTypesAsUser(anyInt())).thenReturn(authDescs);
+
+ AccessiblePreferenceCategory preferenceGroup = mock(AccessiblePreferenceCategory.class);
+ when(preferenceGroup.getPreferenceManager()).thenReturn(mock(PreferenceManager.class));
+ when(mAccountHelper.createAccessiblePreferenceCategory(any(Context.class))).thenReturn(
+ preferenceGroup);
+
+ mController.onResume();
+
+ // should add 4 individual account and the Add account preference
+ verify(preferenceGroup, times(5)).addPreference(any(Preference.class));
+ }
+
+ @Test
+ @Config(shadows = {ShadowAccountManager.class, ShadowContentResolver.class})
public void onResume_noAccountChange_shouldNotAddAccountPreference() {
final List<UserInfo> infos = new ArrayList<>();
infos.add(new UserInfo(1, "user 1", 0));
diff --git a/tests/robotests/src/com/android/settings/applications/AdvancedAppSettingsTest.java b/tests/robotests/src/com/android/settings/applications/AdvancedAppSettingsTest.java
index bedb0a5..0c3c160 100644
--- a/tests/robotests/src/com/android/settings/applications/AdvancedAppSettingsTest.java
+++ b/tests/robotests/src/com/android/settings/applications/AdvancedAppSettingsTest.java
@@ -26,6 +26,7 @@
import com.android.settings.applications.defaultapps.DefaultPhonePreferenceController;
import com.android.settings.applications.defaultapps.DefaultSmsPreferenceController;
import com.android.settings.dashboard.SummaryLoader;
+import com.android.settings.testutils.XmlTestUtils;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -34,11 +35,14 @@
import org.robolectric.annotation.Config;
import org.robolectric.util.ReflectionHelpers;
+import java.util.List;
+
import static com.google.common.truth.Truth.assertThat;
import static org.mockito.Matchers.anyString;
import static org.mockito.Matchers.eq;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
@@ -136,4 +140,16 @@
}
+
+ @Test
+ public void testNonIndexableKeys_existInXmlLayout() {
+ final Context context = spy(RuntimeEnvironment.application);
+ final List<String> niks = AdvancedAppSettings.SEARCH_INDEX_DATA_PROVIDER
+ .getNonIndexableKeys(context);
+ final int xmlId = (new AdvancedAppSettings()).getPreferenceScreenResId();
+
+ final List<String> keys = XmlTestUtils.getKeysFromPreferenceXml(context, xmlId);
+
+ assertThat(keys).containsAllIn(niks);
+ }
}
diff --git a/tests/robotests/src/com/android/settings/applications/AppAndNotificationDashboardFragmentTest.java b/tests/robotests/src/com/android/settings/applications/AppAndNotificationDashboardFragmentTest.java
new file mode 100644
index 0000000..32b447a
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/applications/AppAndNotificationDashboardFragmentTest.java
@@ -0,0 +1,56 @@
+/*
+ * Copyright (C) 2017 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.applications;
+
+import android.content.Context;
+
+import android.os.UserManager;
+import com.android.settings.SettingsRobolectricTestRunner;
+import com.android.settings.TestConfig;
+import com.android.settings.testutils.XmlTestUtils;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.robolectric.RuntimeEnvironment;
+import org.robolectric.annotation.Config;
+
+import java.util.List;
+
+import static com.google.common.truth.Truth.assertThat;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.when;
+
+@RunWith(SettingsRobolectricTestRunner.class)
+@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
+public class AppAndNotificationDashboardFragmentTest {
+
+ @Test
+ public void testNonIndexableKeys_existInXmlLayout() {
+ final Context context = spy(RuntimeEnvironment.application);
+ UserManager manager = mock(UserManager.class);
+ when(manager.isAdminUser()).thenReturn(true);
+ when(context.getSystemService(Context.USER_SERVICE)).thenReturn(manager);
+ final List<String> niks = AppAndNotificationDashboardFragment.SEARCH_INDEX_DATA_PROVIDER
+ .getNonIndexableKeys(context);
+ final int xmlId = (new AppAndNotificationDashboardFragment()).getPreferenceScreenResId();
+
+ final List<String> keys = XmlTestUtils.getKeysFromPreferenceXml(context, xmlId);
+
+ assertThat(keys).containsAllIn(niks);
+ }
+}
diff --git a/tests/robotests/src/com/android/settings/bluetooth/DeviceProfilesSettingsTest.java b/tests/robotests/src/com/android/settings/bluetooth/DeviceProfilesSettingsTest.java
new file mode 100644
index 0000000..c61823c
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/bluetooth/DeviceProfilesSettingsTest.java
@@ -0,0 +1,206 @@
+/*
+ * Copyright (C) 2017 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 android.app.Activity;
+import android.content.Context;
+import android.os.Bundle;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.CheckBox;
+
+import com.android.settings.SettingsRobolectricTestRunner;
+import com.android.settings.TestConfig;
+import com.android.settings.testutils.shadow.ShadowEventLogWriter;
+import com.android.settingslib.R;
+import com.android.settingslib.bluetooth.A2dpProfile;
+import com.android.settingslib.bluetooth.CachedBluetoothDevice;
+import com.android.settingslib.bluetooth.CachedBluetoothDeviceManager;
+import com.android.settingslib.bluetooth.LocalBluetoothAdapter;
+import com.android.settingslib.bluetooth.LocalBluetoothManager;
+import com.android.settingslib.bluetooth.LocalBluetoothProfile;
+import com.android.settingslib.bluetooth.LocalBluetoothProfileManager;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.robolectric.annotation.Config;
+import org.robolectric.util.FragmentTestUtil;
+import org.robolectric.util.ReflectionHelpers;
+import org.robolectric.RuntimeEnvironment;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.Matchers.any;
+import static org.mockito.Matchers.eq;
+import static org.mockito.Mockito.when;
+import static org.mockito.Mockito.verify;
+
+import java.util.ArrayList;
+
+
+@RunWith(SettingsRobolectricTestRunner.class)
+@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION, shadows = {
+ ShadowEventLogWriter.class
+})
+public class DeviceProfilesSettingsTest {
+ Context mContext;
+ @Mock Activity mActivity;
+ @Mock LocalBluetoothManager mManager;
+ @Mock LocalBluetoothAdapter mAdapter;
+ @Mock LocalBluetoothProfileManager mProfileManager;
+ @Mock CachedBluetoothDeviceManager mDeviceManager;
+ @Mock CachedBluetoothDevice mCachedDevice;
+ @Mock A2dpProfile mProfile;
+
+ ArrayList<LocalBluetoothProfile> mProfiles;
+ DeviceProfilesSettings mFragment;
+
+ @Before
+ public void setUp() {
+ MockitoAnnotations.initMocks(this);
+ mContext = RuntimeEnvironment.application;
+
+ when(mProfile.getNameResource(any())).thenReturn(R.string.bluetooth_profile_a2dp);
+ mProfiles = new ArrayList<>();
+ mProfiles.add(mProfile);
+ when(mCachedDevice.getConnectableProfiles()).thenReturn(mProfiles);
+
+ mFragment = new DeviceProfilesSettings();
+ mFragment.setArguments(new Bundle());
+
+ ReflectionHelpers.setStaticField(LocalBluetoothManager.class, "sInstance", mManager);
+ when(mManager.getCachedDeviceManager()).thenReturn(mDeviceManager);
+ when(mManager.getBluetoothAdapter()).thenReturn(mAdapter);
+ when(mManager.getProfileManager()).thenReturn(mProfileManager);
+ when(mProfileManager.getMapProfile()).thenReturn(null);
+ when(mDeviceManager.findDevice(any())).thenReturn(mCachedDevice);
+ }
+
+ @Test
+ public void deviceHasHighQualityAudio() {
+ when(mProfile.supportsHighQualityAudio(any())).thenReturn(true);
+ when(mProfile.isHighQualityAudioEnabled(any())).thenReturn(true);
+ when(mProfile.isPreferred(any())).thenReturn(true);
+ FragmentTestUtil.startFragment(mFragment);
+
+ ViewGroup profilesGroup = mFragment.getDialog().findViewById(R.id.profiles_section);
+ CheckBox box = (CheckBox) profilesGroup.findViewWithTag(
+ DeviceProfilesSettings.HIGH_QUALITY_AUDIO_PREF_TAG);
+ assertThat(box).isNotNull();
+ assertThat(box.getVisibility()).isEqualTo(View.VISIBLE);
+ assertThat(box.isEnabled()).isTrue();
+ assertThat(box.isChecked()).isTrue();
+
+ box.performClick();
+ verify(mProfile).setHighQualityAudioEnabled(any(), eq(false));
+ box.performClick();
+ verify(mProfile).setHighQualityAudioEnabled(any(), eq(true));
+ }
+
+ @Test
+ public void busyDeviceDisablesControl() {
+ when(mProfile.supportsHighQualityAudio(any())).thenReturn(true);
+ when(mProfile.isHighQualityAudioEnabled(any())).thenReturn(true);
+ when(mProfile.isPreferred(any())).thenReturn(true);
+ when(mCachedDevice.isBusy()).thenReturn(true);
+ FragmentTestUtil.startFragment(mFragment);
+
+ // Make sure that the high quality audio option is present but disabled when the device
+ // is busy.
+ ViewGroup profilesGroup = mFragment.getDialog().findViewById(R.id.profiles_section);
+ CheckBox box = (CheckBox) profilesGroup.findViewWithTag(
+ DeviceProfilesSettings.HIGH_QUALITY_AUDIO_PREF_TAG);
+ assertThat(box).isNotNull();
+ assertThat(box.getVisibility()).isEqualTo(View.VISIBLE);
+ assertThat(box.isEnabled()).isFalse();
+ }
+
+ @Test
+ public void mediaAudioGetsDisabledAndReEnabled() {
+ when(mProfile.supportsHighQualityAudio(any())).thenReturn(true);
+ when(mProfile.isHighQualityAudioEnabled(any())).thenReturn(true);
+ when(mProfile.isPreferred(any())).thenReturn(true);
+ FragmentTestUtil.startFragment(mFragment);
+
+ ViewGroup profilesGroup = mFragment.getDialog().findViewById(R.id.profiles_section);
+ CheckBox audioBox = profilesGroup.findViewWithTag(mProfile.toString());
+ CheckBox highQualityAudioBox = profilesGroup.findViewWithTag(
+ DeviceProfilesSettings.HIGH_QUALITY_AUDIO_PREF_TAG);
+ assertThat(audioBox).isNotNull();
+ assertThat(audioBox.isChecked()).isTrue();
+ assertThat(highQualityAudioBox).isNotNull();
+ assertThat(highQualityAudioBox.isChecked()).isTrue();
+
+ // Disabling media audio should cause the high quality audio box to disappear.
+ when(mProfile.isPreferred(any())).thenReturn(false);
+ mFragment.onDeviceAttributesChanged();
+ audioBox = profilesGroup.findViewWithTag(mProfile.toString());
+ highQualityAudioBox = profilesGroup.findViewWithTag(
+ DeviceProfilesSettings.HIGH_QUALITY_AUDIO_PREF_TAG);
+ assertThat(audioBox).isNotNull();
+ assertThat(audioBox.isChecked()).isFalse();
+ assertThat(highQualityAudioBox).isNotNull();
+ assertThat(highQualityAudioBox.getVisibility()).isEqualTo(View.GONE);
+
+ // And re-enabling media audio should make it reappear.
+ when(mProfile.isPreferred(any())).thenReturn(true);
+ mFragment.onDeviceAttributesChanged();
+ audioBox = profilesGroup.findViewWithTag(mProfile.toString());
+ highQualityAudioBox = profilesGroup.findViewWithTag(
+ DeviceProfilesSettings.HIGH_QUALITY_AUDIO_PREF_TAG);
+ assertThat(audioBox).isNotNull();
+ assertThat(audioBox.isChecked()).isTrue();
+ assertThat(highQualityAudioBox).isNotNull();
+ assertThat(highQualityAudioBox.isChecked()).isTrue();
+ }
+
+ @Test
+ public void mediaAudioStartsDisabled() {
+ when(mProfile.supportsHighQualityAudio(any())).thenReturn(true);
+ when(mProfile.isHighQualityAudioEnabled(any())).thenReturn(true);
+ when(mProfile.isPreferred(any())).thenReturn(false);
+
+ FragmentTestUtil.startFragment(mFragment);
+ ViewGroup profilesGroup = mFragment.getDialog().findViewById(R.id.profiles_section);
+ CheckBox audioBox = profilesGroup.findViewWithTag(mProfile.toString());
+ CheckBox highQualityAudioBox = profilesGroup.findViewWithTag(
+ DeviceProfilesSettings.HIGH_QUALITY_AUDIO_PREF_TAG);
+
+ assertThat(audioBox).isNotNull();
+ assertThat(audioBox.isChecked()).isFalse();
+ assertThat(highQualityAudioBox).isNotNull();
+ assertThat(highQualityAudioBox.getVisibility()).isEqualTo(View.GONE);
+ }
+
+ @Test
+ public void deviceDoesntHaveHighQualityAudio() {
+ when(mProfile.supportsHighQualityAudio(any())).thenReturn(false);
+ when(mProfile.isPreferred(any())).thenReturn(true);
+ FragmentTestUtil.startFragment(mFragment);
+
+ // A device that doesn't support high quality audio shouldn't have the checkbox for
+ // high quality audio support.
+ ViewGroup profilesGroup = mFragment.getDialog().findViewById(R.id.profiles_section);
+ CheckBox box = (CheckBox) profilesGroup.findViewWithTag(
+ DeviceProfilesSettings.HIGH_QUALITY_AUDIO_PREF_TAG);
+ assertThat(box).isNull();
+ }
+
+}
diff --git a/tests/robotests/src/com/android/settings/datausage/DataUsageSummaryTest.java b/tests/robotests/src/com/android/settings/datausage/DataUsageSummaryTest.java
index e1572ab..92ded0d 100644
--- a/tests/robotests/src/com/android/settings/datausage/DataUsageSummaryTest.java
+++ b/tests/robotests/src/com/android/settings/datausage/DataUsageSummaryTest.java
@@ -25,8 +25,8 @@
import com.android.settings.R;
import com.android.settings.SettingsRobolectricTestRunner;
import com.android.settings.TestConfig;
-import com.android.settings.connecteddevice.ConnectedDeviceDashboardFragment;
import com.android.settings.testutils.XmlTestUtils;
+import com.android.settings.testutils.shadow.ShadowConnectivityManager;
import com.android.settingslib.NetworkPolicyEditor;
import org.junit.Before;
@@ -160,4 +160,16 @@
assertThat(keys).containsAllIn(niks);
}
+
+ @Test
+ @Config(shadows = ShadowConnectivityManager.class)
+ public void testNonIndexableKeys_hasMobileData_restrictedAccessesAdded() {
+ ShadowConnectivityManager.setIsNetworkSupported(true);
+ List<String> keys = DataUsageSummary.SEARCH_INDEX_DATA_PROVIDER
+ .getNonIndexableKeys(mContext);
+
+ assertThat(keys).contains(DataUsageSummary.KEY_RESTRICT_BACKGROUND);
+ assertThat(keys).contains(DataUsageSummary.KEY_NETWORK_RESTRICTIONS);
+ ShadowConnectivityManager.setIsNetworkSupported(false);
+ }
}
diff --git a/tests/robotests/src/com/android/settings/development/TelephonyMonitorPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/TelephonyMonitorPreferenceControllerTest.java
index 5167c68..9a1a3b6 100644
--- a/tests/robotests/src/com/android/settings/development/TelephonyMonitorPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/development/TelephonyMonitorPreferenceControllerTest.java
@@ -134,7 +134,24 @@
when(mContext.getResources().getBoolean(R.bool.config_show_telephony_monitor))
.thenReturn(true);
SettingsShadowSystemProperties.set(
- TelephonyMonitorPreferenceController.PROPERTY_TELEPHONY_MONITOR, "true");
+ TelephonyMonitorPreferenceController.PROPERTY_TELEPHONY_MONITOR,
+ TelephonyMonitorPreferenceController.ENABLED_STATUS);
+ SettingsShadowSystemProperties.set(
+ TelephonyMonitorPreferenceController.BUILD_TYPE, "userdebug");
+
+ mController.displayPreference(mScreen);
+
+ verify(mPreference).setChecked(true);
+ }
+
+ @Config(shadows = {SettingsShadowSystemProperties.class})
+ @Test
+ public void displayPreference_telephonyMonitorUserEnabled_shouldCheckedPreference() {
+ when(mContext.getResources().getBoolean(R.bool.config_show_telephony_monitor))
+ .thenReturn(true);
+ SettingsShadowSystemProperties.set(
+ TelephonyMonitorPreferenceController.PROPERTY_TELEPHONY_MONITOR,
+ TelephonyMonitorPreferenceController.USER_ENABLED_STATUS);
SettingsShadowSystemProperties.set(
TelephonyMonitorPreferenceController.BUILD_TYPE, "userdebug");
@@ -149,7 +166,24 @@
when(mContext.getResources().getBoolean(R.bool.config_show_telephony_monitor))
.thenReturn(true);
SettingsShadowSystemProperties.set(
- TelephonyMonitorPreferenceController.PROPERTY_TELEPHONY_MONITOR, "false");
+ TelephonyMonitorPreferenceController.PROPERTY_TELEPHONY_MONITOR,
+ TelephonyMonitorPreferenceController.DISABLED_STATUS);
+ SettingsShadowSystemProperties.set(
+ TelephonyMonitorPreferenceController.BUILD_TYPE, "userdebug");
+
+ mController.displayPreference(mScreen);
+
+ verify(mPreference).setChecked(false);
+ }
+
+ @Config(shadows = {SettingsShadowSystemProperties.class})
+ @Test
+ public void displayPreference_telephonyMonitorUserDisabled_shouldUncheckedPreference() {
+ when(mContext.getResources().getBoolean(R.bool.config_show_telephony_monitor))
+ .thenReturn(true);
+ SettingsShadowSystemProperties.set(
+ TelephonyMonitorPreferenceController.PROPERTY_TELEPHONY_MONITOR,
+ TelephonyMonitorPreferenceController.USER_DISABLED_STATUS);
SettingsShadowSystemProperties.set(
TelephonyMonitorPreferenceController.BUILD_TYPE, "userdebug");
@@ -168,8 +202,10 @@
mController.handlePreferenceTreeClick(mPreference);
- assertThat(SystemProperties.getBoolean(
- TelephonyMonitorPreferenceController.PROPERTY_TELEPHONY_MONITOR, false)).isTrue();
+ assertThat(TelephonyMonitorPreferenceController.USER_ENABLED_STATUS.equals(
+ SystemProperties.get(
+ TelephonyMonitorPreferenceController.PROPERTY_TELEPHONY_MONITOR,
+ TelephonyMonitorPreferenceController.DISABLED_STATUS))).isTrue();
}
@Config(shadows = {SettingsShadowSystemProperties.class})
@@ -182,8 +218,10 @@
mController.handlePreferenceTreeClick(mPreference);
- assertThat(SystemProperties.getBoolean(
- TelephonyMonitorPreferenceController.PROPERTY_TELEPHONY_MONITOR, false)).isFalse();
+ assertThat(TelephonyMonitorPreferenceController.USER_DISABLED_STATUS.equals(
+ SystemProperties.get(
+ TelephonyMonitorPreferenceController.PROPERTY_TELEPHONY_MONITOR,
+ TelephonyMonitorPreferenceController.DISABLED_STATUS))).isTrue();
}
}
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/BatteryUtilsTest.java b/tests/robotests/src/com/android/settings/fuelgauge/BatteryUtilsTest.java
index fd89558..f6a8587 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/BatteryUtilsTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/BatteryUtilsTest.java
@@ -18,6 +18,7 @@
import android.content.Context;
import android.os.BatteryStats;
import android.os.Process;
+import android.text.format.DateUtils;
import com.android.internal.os.BatterySipper;
import com.android.settings.SettingsRobolectricTestRunner;
@@ -47,8 +48,11 @@
import static org.mockito.Matchers.any;
import static org.mockito.Matchers.anyInt;
import static org.mockito.Matchers.anyLong;
+import static org.mockito.Mockito.RETURNS_DEEP_STUBS;
+import static org.mockito.Mockito.doNothing;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Matchers.eq;
+import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
import static org.mockito.Mockito.spy;
@@ -62,6 +66,8 @@
private static final long TIME_STATE_TOP_SLEEPING = 2500 * UNIT;
private static final long TIME_STATE_FOREGROUND = 3000 * UNIT;
private static final long TIME_STATE_BACKGROUND = 6000 * UNIT;
+ private static final long TIME_FOREGROUND_ACTIVITY_ZERO = 0;
+ private static final long TIME_FOREGROUND_ACTIVITY = 100 * DateUtils.MINUTE_IN_MILLIS;
private static final int UID = 123;
private static final long TIME_EXPECTED_FOREGROUND = 1500;
@@ -71,6 +77,7 @@
private static final double BATTERY_SYSTEM_USAGE = 600;
private static final double BATTERY_OVERACCOUNTED_USAGE = 500;
private static final double BATTERY_UNACCOUNTED_USAGE = 700;
+ private static final double BATTERY_APP_USAGE = 100;
private static final double TOTAL_BATTERY_USAGE = 1000;
private static final double HIDDEN_USAGE = 200;
private static final int DISCHARGE_AMOUNT = 80;
@@ -180,11 +187,12 @@
sippers.add(mUnaccountedBatterySipper);
when(mProvider.isTypeSystem(mSystemBatterySipper))
.thenReturn(true);
+ doNothing().when(mBatteryUtils).smearScreenBatterySipper(any(), any());
final double totalUsage = mBatteryUtils.removeHiddenBatterySippers(sippers);
+
assertThat(sippers).containsExactly(mNormalBatterySipper);
- assertThat(totalUsage).isWithin(PRECISION).of(
- BATTERY_SCREEN_USAGE + BATTERY_SYSTEM_USAGE + BATTERY_UNACCOUNTED_USAGE);
+ assertThat(totalUsage).isWithin(PRECISION).of(BATTERY_SYSTEM_USAGE);
}
@Test
@@ -259,4 +267,43 @@
HIDDEN_USAGE, DISCHARGE_AMOUNT))
.isWithin(PRECISION).of(PERCENT_SYSTEM_USAGE);
}
+
+ @Test
+ public void testSmearScreenBatterySipper() {
+ final BatterySipper sipperNull = createTestSmearBatterySipper(TIME_FOREGROUND_ACTIVITY_ZERO,
+ BATTERY_APP_USAGE, 0 /* uid */, true /* isUidNull */);
+ final BatterySipper sipperBg = createTestSmearBatterySipper(TIME_FOREGROUND_ACTIVITY_ZERO,
+ BATTERY_APP_USAGE, 1 /* uid */, false /* isUidNull */);
+ final BatterySipper sipperFg = createTestSmearBatterySipper(TIME_FOREGROUND_ACTIVITY,
+ BATTERY_APP_USAGE, 2 /* uid */, false /* isUidNull */);
+
+ final List<BatterySipper> sippers = new ArrayList<>();
+ sippers.add(sipperNull);
+ sippers.add(sipperBg);
+ sippers.add(sipperFg);
+
+ mBatteryUtils.smearScreenBatterySipper(sippers, mScreenBatterySipper);
+
+ assertThat(sipperNull.totalPowerMah).isWithin(PRECISION).of(BATTERY_APP_USAGE);
+ assertThat(sipperBg.totalPowerMah).isWithin(PRECISION).of(BATTERY_APP_USAGE);
+ assertThat(sipperFg.totalPowerMah).isWithin(PRECISION).of(
+ BATTERY_APP_USAGE + BATTERY_SCREEN_USAGE);
+ }
+
+ private BatterySipper createTestSmearBatterySipper(long activityTime, double totalPowerMah,
+ int uidCode, boolean isUidNull) {
+ final BatterySipper sipper = mock(BatterySipper.class);
+ sipper.drainType = BatterySipper.DrainType.APP;
+ sipper.totalPowerMah = totalPowerMah;
+ doReturn(uidCode).when(sipper).getUid();
+ if (!isUidNull) {
+ final BatteryStats.Uid uid = mock(BatteryStats.Uid.class, RETURNS_DEEP_STUBS);
+ doReturn(activityTime).when(mBatteryUtils).getForegroundActivityTotalTimeMs(eq(uid),
+ anyLong());
+ doReturn(uidCode).when(uid).getUid();
+ sipper.uidObj = uid;
+ }
+
+ return sipper;
+ }
}
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/PowerUsageSummaryTest.java b/tests/robotests/src/com/android/settings/fuelgauge/PowerUsageSummaryTest.java
index 3d5d5dc..0856d2d 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/PowerUsageSummaryTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/PowerUsageSummaryTest.java
@@ -68,6 +68,7 @@
import static org.mockito.Matchers.anyLong;
import static org.mockito.Matchers.anyString;
import static org.mockito.Matchers.eq;
+import static org.mockito.Mockito.doNothing;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.never;
import static org.mockito.Mockito.spy;
@@ -165,6 +166,7 @@
mFragment.initFeatureProvider();
mBatteryMeterView = spy(new BatteryMeterView(mRealContext));
mBatteryMeterView.mDrawable = new BatteryMeterView.BatteryMeterDrawable(mRealContext, 0);
+ doNothing().when(mFragment).restartBatteryStatsLoader();
when(mFragment.getActivity()).thenReturn(mSettingsActivity);
when(mAdditionalBatteryInfoMenu.getItemId())
diff --git a/tests/robotests/src/com/android/settings/notification/SoundSettingsTest.java b/tests/robotests/src/com/android/settings/notification/SoundSettingsTest.java
new file mode 100644
index 0000000..547117b
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/notification/SoundSettingsTest.java
@@ -0,0 +1,73 @@
+/*
+ * Copyright (C) 2017 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.notification;
+
+import android.content.Context;
+
+import android.media.AudioManager;
+import android.os.UserManager;
+import com.android.settings.R;
+import com.android.settings.SettingsRobolectricTestRunner;
+import com.android.settings.TestConfig;
+import com.android.settings.testutils.XmlTestUtils;
+import com.android.settings.testutils.shadow.ShadowAudioHelper;
+import com.android.settings.testutils.shadow.ShadowUserManager;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.robolectric.RuntimeEnvironment;
+import org.robolectric.annotation.Config;
+
+import java.util.List;
+
+import static com.google.common.truth.Truth.assertThat;
+import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.when;
+
+@RunWith(SettingsRobolectricTestRunner.class)
+@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
+public class SoundSettingsTest {
+
+ @Test
+ @Config( shadows = {
+ ShadowUserManager.class,
+ ShadowAudioHelper.class,
+ })
+ public void testNonIndexableKeys_existInXmlLayout() {
+ final Context context = spy(RuntimeEnvironment.application);
+ AudioManager audioManager = mock(AudioManager.class);
+ doReturn(audioManager).when(context).getSystemService(Context.AUDIO_SERVICE);
+
+ UserManager userManager = mock(UserManager.class);
+ when(userManager.isAdminUser()).thenReturn(false);
+ doReturn(userManager).when(context).getSystemService(Context.USER_SERVICE);
+
+ final List<String> niks = SoundSettings.SEARCH_INDEX_DATA_PROVIDER
+ .getNonIndexableKeys(context);
+ final int xmlId = (new SoundSettings()).getPreferenceScreenResId();
+ final List<String> keys = XmlTestUtils.getKeysFromPreferenceXml(context, xmlId);
+ keys.addAll(XmlTestUtils.getKeysFromPreferenceXml(context,
+ R.xml.zen_mode_settings));
+ // Add keys with hidden resources
+ keys.add("alarm_volume");
+ keys.add("ring_volume");
+ keys.add("notification_volume");
+
+ assertThat(keys).containsAllIn(niks);
+ }
+}
\ No newline at end of file
diff --git a/tests/robotests/src/com/android/settings/search2/DatabaseIndexingManagerTest.java b/tests/robotests/src/com/android/settings/search2/DatabaseIndexingManagerTest.java
index b76feff1..6844be5 100644
--- a/tests/robotests/src/com/android/settings/search2/DatabaseIndexingManagerTest.java
+++ b/tests/robotests/src/com/android/settings/search2/DatabaseIndexingManagerTest.java
@@ -671,9 +671,9 @@
new HashMap<String, Set<String>>());
Cursor cursor = mDb.rawQuery("SELECT * FROM prefs_index WHERE enabled = 1", null);
- assertThat(cursor.getCount()).isEqualTo(2);
+ assertThat(cursor.getCount()).isEqualTo(1);
cursor = mDb.rawQuery("SELECT * FROM prefs_index WHERE enabled = 0", null);
- assertThat(cursor.getCount()).isEqualTo(4);
+ assertThat(cursor.getCount()).isEqualTo(5);
}
@Test
diff --git a/tests/robotests/src/com/android/settings/system/SystemDashboardFragmentTest.java b/tests/robotests/src/com/android/settings/system/SystemDashboardFragmentTest.java
new file mode 100644
index 0000000..483dee7
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/system/SystemDashboardFragmentTest.java
@@ -0,0 +1,61 @@
+/*
+ * Copyright (C) 2017 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.system;
+
+import android.content.Context;
+import android.os.UserManager;
+
+import com.android.settings.SettingsRobolectricTestRunner;
+import com.android.settings.TestConfig;
+import com.android.settings.testutils.XmlTestUtils;
+import com.android.settings.testutils.shadow.ShadowUserManager;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.robolectric.RuntimeEnvironment;
+import org.robolectric.annotation.Config;
+
+import java.util.List;
+
+import static com.google.common.truth.Truth.assertThat;
+import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.when;
+
+@RunWith(SettingsRobolectricTestRunner.class)
+@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION,
+ shadows = {
+ ShadowUserManager.class
+ })
+public class SystemDashboardFragmentTest {
+
+ @Test
+ public void testNonIndexableKeys_existInXmlLayout() {
+ final Context context = spy(RuntimeEnvironment.application);
+ UserManager manager = mock(UserManager.class);
+ when(manager.isAdminUser()).thenReturn(false);
+ doReturn(manager).when(context).getSystemService(Context.USER_SERVICE);
+ final List<String> niks = SystemDashboardFragment.SEARCH_INDEX_DATA_PROVIDER
+ .getNonIndexableKeys(context);
+ final int xmlId = (new SystemDashboardFragment()).getPreferenceScreenResId();
+
+ final List<String> keys = XmlTestUtils.getKeysFromPreferenceXml(context, xmlId);
+
+ assertThat(keys).containsAllIn(niks);
+ }
+}
diff --git a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowAudioHelper.java b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowAudioHelper.java
new file mode 100644
index 0000000..886f941
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowAudioHelper.java
@@ -0,0 +1,37 @@
+/*
+ * Copyright (C) 2017 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.testutils.shadow;
+
+import android.os.UserHandle;
+import android.os.UserManager;
+import com.android.settings.notification.AudioHelper;
+import org.robolectric.annotation.Implementation;
+import org.robolectric.annotation.Implements;
+
+@Implements(AudioHelper.class)
+public class ShadowAudioHelper {
+
+ @Implementation
+ public boolean isSingleVolume() {
+ return true;
+ }
+
+ @Implementation
+ public int getManagedProfileId(UserManager um) {
+ return UserHandle.USER_CURRENT;
+ }
+}
diff --git a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowConnectivityManager.java b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowConnectivityManager.java
index dbf1a65..4c05665 100644
--- a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowConnectivityManager.java
+++ b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowConnectivityManager.java
@@ -24,9 +24,14 @@
@Implements(ConnectivityManager.class)
public class ShadowConnectivityManager extends org.robolectric.shadows.ShadowConnectivityManager {
+ private static boolean mIsNetworkSupported;
+
@Implementation
public boolean isNetworkSupported(int networkType) {
- return false;
+ return mIsNetworkSupported;
}
+ public static void setIsNetworkSupported(boolean isNetworkSupported) {
+ mIsNetworkSupported = isNetworkSupported;
+ }
}
diff --git a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowUtils.java b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowUtils.java
index eb82362..87b9103 100644
--- a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowUtils.java
+++ b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowUtils.java
@@ -46,4 +46,9 @@
public static void reset() {
sFingerprintManager = null;
}
+
+ @Implementation
+ public static boolean isWifiOnly(Context context) {
+ return true;
+ }
}
diff --git a/tests/robotests/src/com/android/settings/wifi/WifiConfigControllerTest.java b/tests/robotests/src/com/android/settings/wifi/WifiConfigControllerTest.java
index ac0f5c8..2e57781 100644
--- a/tests/robotests/src/com/android/settings/wifi/WifiConfigControllerTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/WifiConfigControllerTest.java
@@ -16,10 +16,6 @@
package com.android.settings.wifi;
-import static com.google.common.truth.Truth.assertThat;
-
-import static org.mockito.Mockito.when;
-
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
@@ -40,6 +36,9 @@
import org.robolectric.RuntimeEnvironment;
import org.robolectric.annotation.Config;
+import static com.google.common.truth.Truth.assertThat;
+import static org.mockito.Mockito.when;
+
@RunWith(SettingsRobolectricTestRunner.class)
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION,
shadows = ShadowConnectivityManager.class)
@@ -109,6 +108,7 @@
when(mAccessPoint.isSaved()).thenReturn(true);
assertThat(mController.isSubmittable()).isTrue();
}
+
@Test
public void isSubmittable_nullAccessPoint_noException() {
mController = new TestWifiConfigController(mConfigUiBase, mView, null,
@@ -116,6 +116,13 @@
mController.isSubmittable();
}
+ @Test
+ public void getSignalString_notReachable_shouldHaveNoSignalString() {
+ when(mAccessPoint.isReachable()).thenReturn(false);
+
+ assertThat(mController.getSignalString()).isNull();
+ }
+
public class TestWifiConfigController extends WifiConfigController {
public TestWifiConfigController(WifiConfigUiBase parent, View view,