Merge "Fix storage summary background colors." into oc-dev
diff --git a/res/values-b+sr+Latn/strings.xml b/res/values-b+sr+Latn/strings.xml
index 9416bfe..f6d7562 100644
--- a/res/values-b+sr+Latn/strings.xml
+++ b/res/values-b+sr+Latn/strings.xml
@@ -34,7 +34,7 @@
     <string name="header_category_wireless_networks" msgid="5110914332313954940">"Bežična veza i mreže"</string>
     <string name="header_category_connections" msgid="6471513040815680662">"Veze"</string>
     <string name="header_category_device" msgid="4544026001618307754">"Uređaj"</string>
-    <string name="header_category_personal" msgid="3310195187905720823">"Lično"</string>
+    <string name="header_category_personal" msgid="3310195187905720823">"Lični"</string>
     <string name="header_category_access" msgid="7580499097416970962">"Pristup"</string>
     <string name="header_category_system" msgid="2816866961183068977">"Sistem"</string>
     <string name="radio_info_data_connection_enable" msgid="8656750679353982712">"Omogući vezu za prenos podataka"</string>
@@ -584,7 +584,7 @@
       <item quantity="few"><xliff:g id="COUNT_1">%d</xliff:g> aktivne aplikacije</item>
       <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> aktivnih aplikacija</item>
     </plurals>
-    <string name="manage_trust_agents" msgid="4629279457536987768">"Trust agents"</string>
+    <string name="manage_trust_agents" msgid="4629279457536987768">"Pouzdani agenti"</string>
     <string name="disabled_because_no_backup_security" msgid="6877660253409580377">"Da biste ga koristili, prvo podesite zaključavanje ekrana"</string>
     <string name="manage_trust_agents_summary" msgid="1475819820389620546">"Ništa"</string>
     <plurals name="manage_trust_agents_summary_on" formatted="false" msgid="3935182396726101824">
@@ -962,7 +962,7 @@
     <string name="search_settings" msgid="1910951467596035063">"Pretraga"</string>
     <string name="search_settings_summary" msgid="9205656546570654169">"Upravljanje podešavanjima pretrage i istorijom"</string>
     <string name="search_settings_no_results" msgid="8799027492641230999">"Nema rezultata"</string>
-    <string name="display_settings" msgid="7965901687241669598">"Prikaz"</string>
+    <string name="display_settings" msgid="7965901687241669598">"Ekran"</string>
     <string name="accelerometer_title" msgid="7854608399547349157">"Automatsko rotiranje ekrana"</string>
     <string name="accelerometer_summary_on" product="tablet" msgid="429982132339828942">"Promeni položaj automatski prilikom rotiranja tableta"</string>
     <string name="accelerometer_summary_on" product="default" msgid="1133737282813048021">"Automatska promena položaja prilikom rotacije telefona"</string>
@@ -2190,7 +2190,7 @@
     <string name="no_device_admins" msgid="4846602835339095768">"Nema dostupnih aplikacija za administratora uređaja"</string>
     <string name="personal_device_admin_title" msgid="2849617316347669861">"Lični"</string>
     <string name="managed_device_admin_title" msgid="7853955652864478435">"Posao"</string>
-    <string name="no_trust_agents" msgid="7450273545568977523">"Trust agents - Nedostupno"</string>
+    <string name="no_trust_agents" msgid="7450273545568977523">"Nema dostupnih pouzdanih agenata"</string>
     <string name="add_device_admin_msg" msgid="1501847129819382149">"Aktiviraj aplikaciju za administratore?"</string>
     <string name="add_device_admin" msgid="4192055385312215731">"Aktiviraj ovu aplikaciju za administratore uređaja"</string>
     <string name="device_admin_add_title" msgid="3140663753671809044">"Administrator uređaja"</string>
@@ -3035,7 +3035,7 @@
     <string name="storage_used" msgid="7128074132917008743">"Memorijski prostor u upotrebi"</string>
     <string name="change" msgid="6657848623929839991">"Promeni"</string>
     <string name="change_storage" msgid="600475265207060436">"Promenite memoriju"</string>
-    <string name="notifications_label" msgid="8543457911148619898">"Obaveštenja aplikacije"</string>
+    <string name="notifications_label" msgid="8543457911148619898">"Obaveštenja o aplikaciji"</string>
     <string name="notifications_enabled" msgid="6983396130566021385">"Uključena"</string>
     <string name="notifications_disabled" msgid="334416731283131597">"Sve je isključeno"</string>
     <string name="notifications_partly_blocked" msgid="592071133950126656">"Uključenih kategorija: <xliff:g id="COUNT_0">%1$d</xliff:g> od <xliff:g id="COUNT_1">%2$d</xliff:g>"</string>
@@ -3155,12 +3155,12 @@
     <string name="usb_use_power_only" msgid="6426550616883919530">"Napajanje"</string>
     <string name="usb_use_power_only_desc" msgid="3461232831015575152">"Punite povezani uređaj. Radi samo sa uređajima koji podržavaju punjenje preko USB-a."</string>
     <string name="usb_use_file_transfers" msgid="7409600791007250137">"Prenos datoteka"</string>
-    <string name="usb_use_file_transfers_desc" msgid="4235764784331804488">"Prenosi datoteke na drugi uređaj"</string>
+    <string name="usb_use_file_transfers_desc" msgid="4235764784331804488">"Prenosite datoteke na drugi uređaj"</string>
     <string name="usb_use_photo_transfers" msgid="7794775645350330454">"Prenos slika (PTP)"</string>
-    <string name="usb_use_photo_transfers_desc" msgid="2963034811151325996">"Prenosi slike ili datoteke ako MTP nije podržan (PTP)"</string>
+    <string name="usb_use_photo_transfers_desc" msgid="2963034811151325996">"Prenosite slike ili datoteke ako MTP nije podržan (PTP)"</string>
     <string name="usb_use_MIDI" msgid="870922185938298263">"Korišćenje uređaja u MIDI režimu"</string>
-    <string name="usb_use_MIDI_desc" msgid="8473936990076693175">"Koristi ovaj uređaj kao MIDI"</string>
-    <string name="usb_use" msgid="3256040963685055320">"Upotrebite USB za:"</string>
+    <string name="usb_use_MIDI_desc" msgid="8473936990076693175">"Koristite ovaj uređaj kao MIDI"</string>
+    <string name="usb_use" msgid="3256040963685055320">"Koristite USB za:"</string>
     <string name="usb_pref" msgid="1400617804525116158">"USB"</string>
     <string name="usb_summary_charging_only" msgid="7544327009143659751">"Punjenje uređaja"</string>
     <string name="usb_summary_power_only" msgid="3629517713817003738">"Napajanje"</string>
@@ -3264,7 +3264,7 @@
     <string name="screen_zoom_conversation_timestamp_3" msgid="3785674344762707688">"Uto 18:02"</string>
     <string name="screen_zoom_conversation_timestamp_4" msgid="2511469395448561259">"Uto 18:03"</string>
     <string name="disconnected" msgid="4836600637485526329">"Nije povezano"</string>
-    <string name="data_usage_summary_format" msgid="7507047900192160585">"Koristi se <xliff:g id="AMOUNT">%1$s</xliff:g> podataka"</string>
+    <string name="data_usage_summary_format" msgid="7507047900192160585">"Iskorišćeno je <xliff:g id="AMOUNT">%1$s</xliff:g> podataka"</string>
     <plurals name="notification_summary" formatted="false" msgid="3941492005316143599">
       <item quantity="one">Isključeno za <xliff:g id="COUNT">%d</xliff:g> aplikaciju</item>
       <item quantity="few">Isključeno za <xliff:g id="COUNT">%d</xliff:g> aplikacije</item>
diff --git a/res/values-bn/strings.xml b/res/values-bn/strings.xml
index dcf1762..d36f152 100644
--- a/res/values-bn/strings.xml
+++ b/res/values-bn/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 7007974..e48441f 100644
--- a/res/values-bs/strings.xml
+++ b/res/values-bs/strings.xml
@@ -1759,12 +1759,12 @@
     <string name="allow_bind_app_widget_activity_allow_bind_title" msgid="2538303018392590627">"Kreirati vidžet i omogućiti pristup?"</string>
     <string name="allow_bind_app_widget_activity_allow_bind" msgid="1584388129273282080">"Nakon što kreirate vidžet, <xliff:g id="WIDGET_HOST_NAME">%1$s</xliff:g> može pristupiti svim podacima koje prikazuje."</string>
     <string name="allow_bind_app_widget_activity_always_allow_bind" msgid="7037503685859688034">"Uvijek dopusti da aplikacija <xliff:g id="WIDGET_HOST_NAME">%1$s</xliff:g> kreira vidžete i koristi njihove podatke"</string>
-    <string name="battery_history_days" msgid="7110262897769622564">"<xliff:g id="DAYS">%1$d</xliff:g>d <xliff:g id="HOURS">%2$d</xliff:g>h <xliff:g id="MINUTES">%3$d</xliff:g>m <xliff:g id="SECONDS">%4$d</xliff:g>s"</string>
-    <string name="battery_history_hours" msgid="7525170329826274999">"<xliff:g id="HOURS">%1$d</xliff:g>h <xliff:g id="MINUTES">%2$d</xliff:g>m <xliff:g id="SECONDS">%3$d</xliff:g>s"</string>
-    <string name="battery_history_minutes" msgid="1467775596084148610">"<xliff:g id="MINUTES">%1$d</xliff:g>m <xliff:g id="SECONDS">%2$d</xliff:g>s"</string>
-    <string name="battery_history_seconds" msgid="4283492130945761685">"<xliff:g id="SECONDS">%1$d</xliff:g>s"</string>
-    <string name="battery_history_days_no_seconds" msgid="703063770554334710">"<xliff:g id="DAYS">%1$d</xliff:g>d <xliff:g id="HOURS">%2$d</xliff:g>h <xliff:g id="MINUTES">%3$d</xliff:g>m"</string>
-    <string name="battery_history_hours_no_seconds" msgid="663342892615646712">"<xliff:g id="HOURS">%1$d</xliff:g> s <xliff:g id="MINUTES">%2$d</xliff:g> min"</string>
+    <string name="battery_history_days" msgid="7110262897769622564">"<xliff:g id="DAYS">%1$d</xliff:g> d, <xliff:g id="HOURS">%2$d</xliff:g> h, <xliff:g id="MINUTES">%3$d</xliff:g> min, <xliff:g id="SECONDS">%4$d</xliff:g> s"</string>
+    <string name="battery_history_hours" msgid="7525170329826274999">"<xliff:g id="HOURS">%1$d</xliff:g> h, <xliff:g id="MINUTES">%2$d</xliff:g> min, <xliff:g id="SECONDS">%3$d</xliff:g> s"</string>
+    <string name="battery_history_minutes" msgid="1467775596084148610">"<xliff:g id="MINUTES">%1$d</xliff:g> min, <xliff:g id="SECONDS">%2$d</xliff:g> s"</string>
+    <string name="battery_history_seconds" msgid="4283492130945761685">"<xliff:g id="SECONDS">%1$d</xliff:g> s"</string>
+    <string name="battery_history_days_no_seconds" msgid="703063770554334710">"<xliff:g id="DAYS">%1$d</xliff:g> d, <xliff:g id="HOURS">%2$d</xliff:g> h, <xliff:g id="MINUTES">%3$d</xliff:g> min"</string>
+    <string name="battery_history_hours_no_seconds" msgid="663342892615646712">"<xliff:g id="HOURS">%1$d</xliff:g> h, <xliff:g id="MINUTES">%2$d</xliff:g> min"</string>
     <string name="battery_history_minutes_no_seconds" msgid="7780294302606853082">"<xliff:g id="MINUTES">%1$d</xliff:g> min"</string>
     <string name="usage_stats_label" msgid="5890846333487083609">"Statistika korištenja"</string>
     <string name="testing_usage_stats" msgid="7823048598893937339">"Statistika korištenja"</string>
@@ -1950,7 +1950,7 @@
     <string name="battery_stats_screen_on_label" msgid="7150221809877509708">"Ekran uključen"</string>
     <string name="battery_stats_gps_on_label" msgid="1193657533641951256">"GPS uključen"</string>
     <string name="battery_stats_camera_on_label" msgid="4935637383628414968">"Kamera je uključena"</string>
-    <string name="battery_stats_flashlight_on_label" msgid="4319637669889411307">"Lampa je uključena"</string>
+    <string name="battery_stats_flashlight_on_label" msgid="4319637669889411307">"Svjetiljka je uključena"</string>
     <string name="battery_stats_wifi_running_label" msgid="1845839195549226252">"Wi-Fi"</string>
     <string name="battery_stats_wake_lock_label" msgid="1908942681902324095">"Aktivan"</string>
     <!-- no translation found for battery_stats_phone_signal_label (4137799310329041341) -->
@@ -1967,7 +1967,7 @@
     <string name="controls_subtitle" msgid="390468421138288702">"Podesite potrošnju energije"</string>
     <string name="packages_subtitle" msgid="4736416171658062768">"Uključeni paketi"</string>
     <string name="power_screen" msgid="3023346080675904613">"Ekran"</string>
-    <string name="power_flashlight" msgid="7794409781003567614">"Lampa"</string>
+    <string name="power_flashlight" msgid="7794409781003567614">"Svjetiljka"</string>
     <string name="power_camera" msgid="4976286950934622605">"Fotoaparat"</string>
     <string name="power_wifi" msgid="1135085252964054957">"Wi‑Fi"</string>
     <string name="power_bluetooth" msgid="4373329044379008289">"Bluetooth"</string>
@@ -1996,7 +1996,7 @@
     <string name="usage_type_audio" msgid="6957269406840886290">"Zvuk"</string>
     <string name="usage_type_video" msgid="4295357792078579944">"Video"</string>
     <string name="usage_type_camera" msgid="8299433109956769757">"Kamera"</string>
-    <string name="usage_type_flashlight" msgid="1516392356962208230">"Lampa"</string>
+    <string name="usage_type_flashlight" msgid="1516392356962208230">"Svjetiljka"</string>
     <string name="usage_type_on_time" msgid="3351200096173733159">"Vrijeme rada"</string>
     <string name="usage_type_no_coverage" msgid="3797004252954385053">"Vrijeme bez signala"</string>
     <string name="usage_type_total_battery_capacity" msgid="3798285287848675346">"Ukupni kapacitet baterije"</string>
@@ -2013,7 +2013,7 @@
     <string name="battery_desc_standby" product="default" msgid="3009080001948091424">"Potrošnja baterije kada je telefon u stanju pripravnosti"</string>
     <string name="battery_desc_radio" msgid="5479196477223185367">"Potrošnja baterije za mobilni radio"</string>
     <string name="battery_sugg_radio" msgid="8211336978326295047">"Prebacite se na način rada u avionu kako biste štedili napajanje na područjima u kojima nema pokrivenosti mobilnom mrežom"</string>
-    <string name="battery_desc_flashlight" msgid="2908579430841025494">"Potrošnja baterije upotrebom baterijske lampe"</string>
+    <string name="battery_desc_flashlight" msgid="2908579430841025494">"Potrošnja baterije upotrebom svjetiljke"</string>
     <string name="battery_desc_camera" msgid="7375389919760613499">"Potrošnja baterije upotrebom kamere"</string>
     <string name="battery_desc_display" msgid="5432795282958076557">"Potrošnja baterije na prikaz i pozadinsko osvjetljenje"</string>
     <string name="battery_sugg_display" msgid="3370202402045141760">"Smanjite osvjetljenje ekrana i/ili trajanje perioda do isključivanja ekrana"</string>
diff --git a/res/values-ca/strings.xml b/res/values-ca/strings.xml
index c33d5a9..84db437 100644
--- a/res/values-ca/strings.xml
+++ b/res/values-ca/strings.xml
@@ -1488,7 +1488,7 @@
     <string name="applications_settings" msgid="5281808652705396152">"Informació d\'aplicacions"</string>
     <string name="applications_settings_summary" msgid="6683465446264515367">"Gestiona les aplicacions i configura les dreceres d\'inici ràpid"</string>
     <string name="applications_settings_header" msgid="1014813055054356646">"Configuració de l\'aplicació"</string>
-    <string name="install_applications" msgid="4872012136210802181">"Orígens desconeguts"</string>
+    <string name="install_applications" msgid="4872012136210802181">"Fonts desconegudes"</string>
     <string name="install_applications_title" msgid="4987712352256508946">"Permet totes les fonts d\'apl."</string>
     <string name="install_all_warning" product="tablet" msgid="8310489909586138165">"La tauleta i les dades personals són més vulnerables a atacs d\'aplicacions desconegudes. En instal·lar aplicacions d\'aquesta font, acceptes que ets responsable de qualsevol dany a la tauleta i qualsevol pèrdua de dades que es pugui produir per l\'ús d\'aquestes aplicacions."</string>
     <string name="install_all_warning" product="default" msgid="1952257127370115988">"El telèfon i les dades personals són més vulnerables a atacs d\'aplicacions desconegudes. En instal·lar aplicacions d\'aquesta font, acceptes que ets responsable de qualsevol dany al telèfon i qualsevol pèrdua de dades que es pugui produir per l\'ús d\'aquestes aplicacions."</string>
@@ -2859,7 +2859,7 @@
     <string name="app_notification_block_summary" msgid="4744020456943215352">"No mostris mai aquestes notificacions"</string>
     <string name="notification_content_block_title" msgid="5854232570963006360">"Mostra notificacions"</string>
     <string name="notification_content_block_summary" msgid="7746185794438882389">"No mostris mai notificacions a l\'àrea de notificacions ni en dispositius perifèrics"</string>
-    <string name="notification_badge_title" msgid="7734903868300369178">"Permet l\'etiqueta de la icona"</string>
+    <string name="notification_badge_title" msgid="7734903868300369178">"Permet el símbol de la icona"</string>
     <string name="app_notification_override_dnd_title" msgid="7867458246395884830">"Fes prioritària"</string>
     <string name="app_notification_override_dnd_summary" msgid="3516007157020189746">"Permet que aquestes notificacions continuïn interrompent quan el mode No molestis estigui configurat com a Només amb prioritat"</string>
     <string name="app_notification_visibility_override_title" msgid="2187232730902430718">"A la pantalla de bloqueig"</string>
@@ -3189,7 +3189,7 @@
     <string name="system_alert_window_on" msgid="2939489395109048888">"Sí"</string>
     <string name="system_alert_window_off" msgid="6189115687233061992">"No"</string>
     <string name="install_other_apps" msgid="6986686991775883017">"Instal·lar aplicacions desconegudes"</string>
-    <string name="keywords_install_other_apps" msgid="761078076051006558">"instal·lar aplicacions orígens desconeguts"</string>
+    <string name="keywords_install_other_apps" msgid="761078076051006558">"instal·lar aplicacions fonts desconegudes"</string>
     <string name="write_settings" msgid="4797457275727195681">"Modificar configuració sistema"</string>
     <string name="keywords_write_settings" msgid="6415597272561105138">"modifica la configuració del sistema i hi escriu"</string>
     <string name="write_settings_summary" msgid="4302268998611412696">"<xliff:g id="COUNT_0">%1$d</xliff:g> de: <xliff:g id="COUNT_1">%2$d</xliff:g> aplicacions poden modificar configuració del sistema"</string>
diff --git a/res/values-da/strings.xml b/res/values-da/strings.xml
index faad3b8..5cab08b 100644
--- a/res/values-da/strings.xml
+++ b/res/values-da/strings.xml
@@ -733,7 +733,7 @@
     <string name="wifi_more" msgid="3195296805089107950">"Mere"</string>
     <string name="wifi_setup_wps" msgid="8128702488486283957">"Automatisk konfig. (WPS)"</string>
     <string name="wifi_show_advanced" msgid="3409422789616520979">"Avancerede valgmuligheder"</string>
-    <string name="wifi_advanced_toggle_description_expanded" msgid="2380600578544493084">"Rullelisten Avancerede indstillinger. Tryk to gange for at skjule listen."</string>
+    <string name="wifi_advanced_toggle_description_expanded" msgid="2380600578544493084">"Rullelisten Avancerede valgmuligheder. Tryk to gange for at skjule listen."</string>
     <string name="wifi_advanced_toggle_description_collapsed" msgid="1463812308429197263">"Rullelisten Avancerede valgmuligheder. Tryk to gange for at udvide listen."</string>
     <string name="wifi_wps_setup_title" msgid="8207552222481570175">"Wi-Fi Protected Setup"</string>
     <string name="wifi_wps_setup_msg" msgid="315174329121275092">"Starter WPS..."</string>
@@ -1012,7 +1012,7 @@
     <string name="screensaver_settings_summary_dock" msgid="2072657401664633283">"Når enheden er tilsluttet en dockingstation"</string>
     <string name="screensaver_settings_summary_never" msgid="5165622985174349585">"Aldrig"</string>
     <string name="screensaver_settings_summary_off" msgid="2481581696365146473">"Fra"</string>
-    <string name="screensaver_settings_disabled_prompt" msgid="1239088321034437608">"Aktivér pauseskærmen for at kontrollere, hvad der sker, når telefonen er sat i dockingstationen og/eller går i dvale."</string>
+    <string name="screensaver_settings_disabled_prompt" msgid="1239088321034437608">"Aktivér pauseskærmen for at administrere, hvad der sker, når telefonen er sat i dockingstationen og/eller går i dvale."</string>
     <string name="screensaver_settings_when_to_dream" msgid="7262410541382890146">"Starttidspunkt"</string>
     <string name="screensaver_settings_current" msgid="4663846038247130023">"Aktuel pauseskærm"</string>
     <string name="screensaver_settings_dream_start" msgid="4998187847985120168">"Start nu"</string>
@@ -1527,7 +1527,7 @@
     <string name="always_allow_bind_appwidgets_text" msgid="566822577792032925">"Du har valgt at tillade, at denne app opretter widgets og får adgang til deres data."</string>
     <string name="auto_launch_disable_text" msgid="7800385822185540166">"Der er ikke angivet nogen standarder."</string>
     <string name="clear_activities" msgid="7408923511535174430">"Ryd standarder"</string>
-    <string name="screen_compatibility_text" msgid="1616155457673106022">"Denne app er muligvis ikke beregnet til din skærm. Her kan du kontrollere, hvordan den skal tilpasses til din skærm."</string>
+    <string name="screen_compatibility_text" msgid="1616155457673106022">"Denne app er muligvis ikke beregnet til din skærm. Her kan du administrere, hvordan den skal tilpasses til din skærm."</string>
     <string name="ask_compatibility" msgid="7225195569089607846">"Spørg, når der startes"</string>
     <string name="enable_compatibility" msgid="5806819252068617811">"Skaler app"</string>
     <string name="unknown" msgid="1592123443519355854">"Ukendt"</string>
@@ -2374,7 +2374,7 @@
     <string name="vpn_ipsec_user_cert" msgid="6880651510020187230">"IPSec-brugercertifikat"</string>
     <string name="vpn_ipsec_ca_cert" msgid="91338213449148229">"IPSec CA-certifikat"</string>
     <string name="vpn_ipsec_server_cert" msgid="6599276718456935010">"IPSec-servercertifikat"</string>
-    <string name="vpn_show_options" msgid="7182688955890457003">"Vis avancerede indstillinger"</string>
+    <string name="vpn_show_options" msgid="7182688955890457003">"Vis avancerede valgmuligheder"</string>
     <string name="vpn_search_domains" msgid="5391995501541199624">"DNS-søgedomæner"</string>
     <string name="vpn_dns_servers" msgid="5570715561245741829">"DNS-servere (f.eks. 8.8.8.8)"</string>
     <string name="vpn_routes" msgid="3818655448226312232">"Videresendelsesruter (f.eks. 10.0.0.0/8)"</string>
@@ -3380,7 +3380,7 @@
     <string name="button_confirm_convert_fbe" msgid="7101855374850373091">"Ryd og konvertér"</string>
     <string name="reset_shortcut_manager_throttling" msgid="6495066467198668994">"Nulstil antalsbegrænsning i ShortcutManager"</string>
     <string name="reset_shortcut_manager_throttling_complete" msgid="1826770872063707900">"Antalsbegrænsning i ShortcutManager er nulstillet"</string>
-    <string name="notification_suggestion_title" msgid="4506524937307816475">"Kontrollér underretninger for låseskærm"</string>
+    <string name="notification_suggestion_title" msgid="4506524937307816475">"Konfigurer underretninger for låseskærm"</string>
     <string name="notification_suggestion_summary" msgid="8521159741445416875">"Vis eller skjul indhold i underretninger"</string>
     <string name="page_tab_title_summary" msgid="4070309266374993258">"Alle"</string>
     <string name="page_tab_title_support" msgid="6330657582897417458">"Support"</string>
diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml
index da22430..2eada5e 100644
--- a/res/values-fr/strings.xml
+++ b/res/values-fr/strings.xml
@@ -1294,7 +1294,7 @@
     <string name="master_clear_desc" product="default" msgid="4800386183314202571">"Cette action effacera toutes les données du "<b>"stockage interne"</b>" de votre téléphone, y compris :\n\n"<li>"Votre compte Google"</li>\n<li>"Les données et paramètres du système et des applications"</li>\n<li>"Les applications téléchargées"</li></string>
     <string name="master_clear_accounts" product="default" msgid="6412857499147999073">\n\n"Vous êtes actuellement connecté aux comptes suivants :\n"</string>
     <string name="master_clear_other_users_present" product="default" msgid="5161423070702470742">\n\n"D\'autres personnes utilisent cet appareil.\n"</string>
-    <string name="master_clear_desc_also_erases_external" msgid="1903185203791274237"><li>"Musique"</li>\n<li>"Photos"</li>\n<li>"Autres données utilisateur"</li></string>
+    <string name="master_clear_desc_also_erases_external" msgid="1903185203791274237"><li>"La musique"</li>\n<li>"Les photos"</li>\n<li>"Les autres données utilisateur"</li>"."</string>
     <string name="master_clear_desc_erase_external_storage" product="nosdcard" msgid="7744115866662613411">\n\n"Pour supprimer la musique, les photos et les autres données utilisateur, vous devez effacer la "<b>"mémoire de stockage USB"</b>"."</string>
     <string name="master_clear_desc_erase_external_storage" product="default" msgid="4801026652617377093">\n\n"Pour supprimer la musique, les photos et les autres données utilisateur, vous devez formater la "<b>"carte SD"</b>"."</string>
     <string name="erase_external_storage" product="nosdcard" msgid="969364037450286809">"Effacer la mémoire USB"</string>
diff --git a/res/values-gl/strings.xml b/res/values-gl/strings.xml
index 3c9d43d..f693ad8 100644
--- a/res/values-gl/strings.xml
+++ b/res/values-gl/strings.xml
@@ -1485,7 +1485,7 @@
     <string name="lock_settings_profile_unified_summary" msgid="9008819078132993492">"O mesmo que o bloqueo da pantalla do dispositivo"</string>
     <string name="manageapplications_settings_title" msgid="7041951105633616745">"Xestionar aplicacións"</string>
     <string name="manageapplications_settings_summary" msgid="1794401500935451259">"Xestiona e elimina as aplicacións instaladas"</string>
-    <string name="applications_settings" msgid="5281808652705396152">"Información da aplicación"</string>
+    <string name="applications_settings" msgid="5281808652705396152">"Información das aplicacións"</string>
     <string name="applications_settings_summary" msgid="6683465446264515367">"Xestiona aplicacións e configura atallos de inicio rápido"</string>
     <string name="applications_settings_header" msgid="1014813055054356646">"Configuración da aplicación"</string>
     <string name="install_applications" msgid="4872012136210802181">"Fontes descoñecidas"</string>
diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml
index 64f77ea..e968c5c 100644
--- a/res/values-ja/strings.xml
+++ b/res/values-ja/strings.xml
@@ -2537,7 +2537,7 @@
     <string name="user_enable_calling_confirm_message" msgid="8061594235219352787">"発信履歴がこのユーザーと共有されます。"</string>
     <string name="user_enable_calling_and_sms_confirm_title" msgid="7243308401401932681">"通話とSMSをONにしますか?"</string>
     <string name="user_enable_calling_and_sms_confirm_message" msgid="4025082715546544967">"通話とSMSの履歴がこのユーザーと共有されます。"</string>
-    <string name="emergency_info_title" msgid="208607506217060337">"緊急情報"</string>
+    <string name="emergency_info_title" msgid="208607506217060337">"緊急時情報"</string>
     <string name="emergency_info_summary" msgid="5062945162967838521">"<xliff:g id="USER_NAME">%1$s</xliff:g>の情報と連絡先"</string>
     <string name="application_restrictions" msgid="8207332020898004394">"アプリとコンテンツの許可"</string>
     <string name="apps_with_restrictions_header" msgid="3660449891478534440">"制限のあるアプリ"</string>
diff --git a/res/values-kn/strings.xml b/res/values-kn/strings.xml
index 556c72d..97e01ab 100644
--- a/res/values-kn/strings.xml
+++ b/res/values-kn/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 d8141a5..5b47d8d 100644
--- a/res/values-ml/strings.xml
+++ b/res/values-ml/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-ne/strings.xml b/res/values-ne/strings.xml
index b82e4b6..23a89e5 100644
--- a/res/values-ne/strings.xml
+++ b/res/values-ne/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-pa/strings.xml b/res/values-pa/strings.xml
index dcb5ef1..8dd5f70 100644
--- a/res/values-pa/strings.xml
+++ b/res/values-pa/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-sk/strings.xml b/res/values-sk/strings.xml
index 76d5435..5a70258 100644
--- a/res/values-sk/strings.xml
+++ b/res/values-sk/strings.xml
@@ -2831,8 +2831,7 @@
     <string name="configure_notification_settings" msgid="7616737397127242615">"Upozornenia"</string>
     <string name="advanced_section_header" msgid="8833934850242546903">"Rozšírené"</string>
     <string name="profile_section_header" msgid="2320848161066912001">"Pracovné upozornenia"</string>
-    <!-- no translation found for notification_badging_title (5125022693565388760) -->
-    <skip />
+    <string name="notification_badging_title" msgid="5125022693565388760">"Povoliť odznaky na ikonách"</string>
     <string name="notification_pulse_title" msgid="1905382958860387030">"Blikanie"</string>
     <string name="lock_screen_notifications_title" msgid="6173076173408887213">"Na uzamknutej obrazovke"</string>
     <string name="lock_screen_notifications_summary_show" msgid="6407527697810672847">"Zobrazovať všetok obsah upozornení"</string>
diff --git a/res/values-sr/strings.xml b/res/values-sr/strings.xml
index 5de847b..8519b16 100644
--- a/res/values-sr/strings.xml
+++ b/res/values-sr/strings.xml
@@ -34,7 +34,7 @@
     <string name="header_category_wireless_networks" msgid="5110914332313954940">"Бежична веза и мреже"</string>
     <string name="header_category_connections" msgid="6471513040815680662">"Везе"</string>
     <string name="header_category_device" msgid="4544026001618307754">"Уређај"</string>
-    <string name="header_category_personal" msgid="3310195187905720823">"Лично"</string>
+    <string name="header_category_personal" msgid="3310195187905720823">"Лични"</string>
     <string name="header_category_access" msgid="7580499097416970962">"Приступ"</string>
     <string name="header_category_system" msgid="2816866961183068977">"Систем"</string>
     <string name="radio_info_data_connection_enable" msgid="8656750679353982712">"Омогући везу за пренос података"</string>
@@ -584,7 +584,7 @@
       <item quantity="few"><xliff:g id="COUNT_1">%d</xliff:g> активне апликације</item>
       <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> активних апликација</item>
     </plurals>
-    <string name="manage_trust_agents" msgid="4629279457536987768">"Trust agents"</string>
+    <string name="manage_trust_agents" msgid="4629279457536987768">"Поуздани агенти"</string>
     <string name="disabled_because_no_backup_security" msgid="6877660253409580377">"Да бисте га користили, прво подесите закључавање екрана"</string>
     <string name="manage_trust_agents_summary" msgid="1475819820389620546">"Ништа"</string>
     <plurals name="manage_trust_agents_summary_on" formatted="false" msgid="3935182396726101824">
@@ -962,7 +962,7 @@
     <string name="search_settings" msgid="1910951467596035063">"Претрага"</string>
     <string name="search_settings_summary" msgid="9205656546570654169">"Управљање подешавањима претраге и историјом"</string>
     <string name="search_settings_no_results" msgid="8799027492641230999">"Нема резултата"</string>
-    <string name="display_settings" msgid="7965901687241669598">"Приказ"</string>
+    <string name="display_settings" msgid="7965901687241669598">"Екран"</string>
     <string name="accelerometer_title" msgid="7854608399547349157">"Аутоматско ротирање екрана"</string>
     <string name="accelerometer_summary_on" product="tablet" msgid="429982132339828942">"Промени положај аутоматски приликом ротирања таблета"</string>
     <string name="accelerometer_summary_on" product="default" msgid="1133737282813048021">"Аутоматска промена положаја приликом ротације телефона"</string>
@@ -2190,7 +2190,7 @@
     <string name="no_device_admins" msgid="4846602835339095768">"Нема доступних апликација за администратора уређаја"</string>
     <string name="personal_device_admin_title" msgid="2849617316347669861">"Лични"</string>
     <string name="managed_device_admin_title" msgid="7853955652864478435">"Посао"</string>
-    <string name="no_trust_agents" msgid="7450273545568977523">"Trust agents - Недоступно"</string>
+    <string name="no_trust_agents" msgid="7450273545568977523">"Нема доступних поузданих агената"</string>
     <string name="add_device_admin_msg" msgid="1501847129819382149">"Активирај апликацију за администраторе?"</string>
     <string name="add_device_admin" msgid="4192055385312215731">"Активирај ову апликацију за администраторе уређаја"</string>
     <string name="device_admin_add_title" msgid="3140663753671809044">"Администратор уређаја"</string>
@@ -3035,7 +3035,7 @@
     <string name="storage_used" msgid="7128074132917008743">"Меморијски простор у употреби"</string>
     <string name="change" msgid="6657848623929839991">"Промени"</string>
     <string name="change_storage" msgid="600475265207060436">"Промените меморију"</string>
-    <string name="notifications_label" msgid="8543457911148619898">"Обавештења апликације"</string>
+    <string name="notifications_label" msgid="8543457911148619898">"Обавештења о апликацији"</string>
     <string name="notifications_enabled" msgid="6983396130566021385">"Укључена"</string>
     <string name="notifications_disabled" msgid="334416731283131597">"Све је искључено"</string>
     <string name="notifications_partly_blocked" msgid="592071133950126656">"Укључених категорија: <xliff:g id="COUNT_0">%1$d</xliff:g> од <xliff:g id="COUNT_1">%2$d</xliff:g>"</string>
@@ -3155,12 +3155,12 @@
     <string name="usb_use_power_only" msgid="6426550616883919530">"Напајање"</string>
     <string name="usb_use_power_only_desc" msgid="3461232831015575152">"Пуните повезани уређај. Ради само са уређајима који подржавају пуњење преко USB-а."</string>
     <string name="usb_use_file_transfers" msgid="7409600791007250137">"Пренос датотека"</string>
-    <string name="usb_use_file_transfers_desc" msgid="4235764784331804488">"Преноси датотеке на други уређај"</string>
+    <string name="usb_use_file_transfers_desc" msgid="4235764784331804488">"Преносите датотеке на други уређај"</string>
     <string name="usb_use_photo_transfers" msgid="7794775645350330454">"Пренос слика (PTP)"</string>
-    <string name="usb_use_photo_transfers_desc" msgid="2963034811151325996">"Преноси слике или датотеке ако MTP није подржан (PTP)"</string>
+    <string name="usb_use_photo_transfers_desc" msgid="2963034811151325996">"Преносите слике или датотеке ако MTP није подржан (PTP)"</string>
     <string name="usb_use_MIDI" msgid="870922185938298263">"Коришћење уређаја у MIDI режиму"</string>
-    <string name="usb_use_MIDI_desc" msgid="8473936990076693175">"Користи овај уређај као MIDI"</string>
-    <string name="usb_use" msgid="3256040963685055320">"Употребите USB за:"</string>
+    <string name="usb_use_MIDI_desc" msgid="8473936990076693175">"Користите овај уређај као MIDI"</string>
+    <string name="usb_use" msgid="3256040963685055320">"Користите USB за:"</string>
     <string name="usb_pref" msgid="1400617804525116158">"USB"</string>
     <string name="usb_summary_charging_only" msgid="7544327009143659751">"Пуњење уређаја"</string>
     <string name="usb_summary_power_only" msgid="3629517713817003738">"Напајање"</string>
@@ -3264,7 +3264,7 @@
     <string name="screen_zoom_conversation_timestamp_3" msgid="3785674344762707688">"Уто 18:02"</string>
     <string name="screen_zoom_conversation_timestamp_4" msgid="2511469395448561259">"Уто 18:03"</string>
     <string name="disconnected" msgid="4836600637485526329">"Није повезано"</string>
-    <string name="data_usage_summary_format" msgid="7507047900192160585">"Користи се <xliff:g id="AMOUNT">%1$s</xliff:g> података"</string>
+    <string name="data_usage_summary_format" msgid="7507047900192160585">"Искоришћено је <xliff:g id="AMOUNT">%1$s</xliff:g> података"</string>
     <plurals name="notification_summary" formatted="false" msgid="3941492005316143599">
       <item quantity="one">Искључено за <xliff:g id="COUNT">%d</xliff:g> апликацију</item>
       <item quantity="few">Искључено за <xliff:g id="COUNT">%d</xliff:g> апликације</item>
diff --git a/res/values-te/strings.xml b/res/values-te/strings.xml
index d300f72..ad2adc2 100644
--- a/res/values-te/strings.xml
+++ b/res/values-te/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-ur/strings.xml b/res/values-ur/strings.xml
index 199bf64..d1fc04c 100644
--- a/res/values-ur/strings.xml
+++ b/res/values-ur/strings.xml
@@ -2775,8 +2775,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-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml
index b179ffa..1dbf691 100644
--- a/res/values-zh-rCN/strings.xml
+++ b/res/values-zh-rCN/strings.xml
@@ -1735,9 +1735,9 @@
     <string name="builtin_keyboard_settings_title" msgid="7688732909551116798">"物理键盘"</string>
     <string name="builtin_keyboard_settings_summary" msgid="2392531685358035899">"物理键盘设置"</string>
     <string name="gadget_picker_title" msgid="98374951396755811">"选择小工具"</string>
-    <string name="widget_picker_title" msgid="9130684134213467557">"选择小部件"</string>
-    <string name="allow_bind_app_widget_activity_allow_bind_title" msgid="2538303018392590627">"是否允许该应用创建小部件并查看其数据?"</string>
-    <string name="allow_bind_app_widget_activity_allow_bind" msgid="1584388129273282080">"当您创建小部件后,“<xliff:g id="WIDGET_HOST_NAME">%1$s</xliff:g>”将能查看其显示的所有数据。"</string>
+    <string name="widget_picker_title" msgid="9130684134213467557">"选择微件"</string>
+    <string name="allow_bind_app_widget_activity_allow_bind_title" msgid="2538303018392590627">"是否允许该应用创建微件并查看其数据?"</string>
+    <string name="allow_bind_app_widget_activity_allow_bind" msgid="1584388129273282080">"当您创建微件后,“<xliff:g id="WIDGET_HOST_NAME">%1$s</xliff:g>”将能查看其显示的所有数据。"</string>
     <string name="allow_bind_app_widget_activity_always_allow_bind" msgid="7037503685859688034">"始终允许“<xliff:g id="WIDGET_HOST_NAME">%1$s</xliff:g>”创建微件并查看其数据"</string>
     <string name="battery_history_days" msgid="7110262897769622564">"<xliff:g id="DAYS">%1$d</xliff:g>天<xliff:g id="HOURS">%2$d</xliff:g>小时<xliff:g id="MINUTES">%3$d</xliff:g>分<xliff:g id="SECONDS">%4$d</xliff:g>秒"</string>
     <string name="battery_history_hours" msgid="7525170329826274999">"<xliff:g id="HOURS">%1$d</xliff:g>小时<xliff:g id="MINUTES">%2$d</xliff:g>分<xliff:g id="SECONDS">%3$d</xliff:g>秒"</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/strings.xml b/res/values/strings.xml
index 8e3fbe2..dc7e567 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -4686,6 +4686,8 @@
 
     <!-- Description for battery usage time for an app, i.e. Used for 30min. Note: ^1 should be used in all translations [CHAR LIMIT=60] -->
     <string name="battery_used_for">Used for <xliff:g id="time">^1</xliff:g></string>
+    <!-- Description for battery screen usage time for an app, i.e. Screen usage 30min. Note: ^1 should be used in all translations [CHAR LIMIT=60] -->
+    <string name="battery_screen_usage">Screen usage <xliff:g id="time">^1</xliff:g></string>
     <!-- Description for battery usage info for an app, i.e. 60% used by facebook. [CHAR LIMIT=60] -->
     <string name="battery_used_by"><xliff:g id="percent">%1$s</xliff:g> used by <xliff:g id="app">%2$s</xliff:g></string>
     <!-- Description for percentage of battery usage for an app, i.e. Screen: 30% of overall battery. [CHAR LIMIT=60] -->
@@ -8618,10 +8620,6 @@
     <!-- Preference label for the Files storage section. [CHAR LIMIT=50] -->
     <string name="storage_files">Files</string>
 
-    <!-- Main settings screen item's title to go into the storage settings screen [CHAR LIMIT=25] -->
-    <string name="storage_settings_2" product="tablet">Tablet storage</string>
-    <string name="storage_settings_2" product="default">Phone storage</string>
-
     <!-- Summary of a single storage volume used space. [CHAR LIMIT=24] -->
     <string name="storage_size_large_alternate"><xliff:g id="number" example="128">^1</xliff:g><small> <xliff:g id="unit" example="KB">^2</xliff:g></small></string>
     <!-- Summary of a single storage volume total space. [CHAR LIMIT=48]-->
diff --git a/res/xml/configure_notification_settings.xml b/res/xml/configure_notification_settings.xml
index bed3aa6..718bb23 100644
--- a/res/xml/configure_notification_settings.xml
+++ b/res/xml/configure_notification_settings.xml
@@ -39,7 +39,7 @@
         android:summary="@string/summary_placeholder"/>
 
     <SwitchPreference
-        android:key="gesture_swipe_down_fingerprint"
+        android:key="gesture_swipe_down_fingerprint_notifications"
         android:title="@string/fingerprint_swipe_for_notifications_title"
         android:summary="@string/fingerprint_swipe_for_notifications_summary"/>
 
diff --git a/res/xml/development_prefs.xml b/res/xml/development_prefs.xml
index 0089ed7..a60276c 100644
--- a/res/xml/development_prefs.xml
+++ b/res/xml/development_prefs.xml
@@ -423,6 +423,11 @@
             android:title="@string/show_all_anrs"
             android:summary="@string/show_all_anrs_summary"/>
 
+        <SwitchPreference
+            android:key="show_notification_channel_warnings"
+            android:title="@string/show_notification_channel_warnings"
+            android:summary="@string/show_notification_channel_warnings_summary"/>
+
         <Preference
                 android:key="inactive_apps"
                 android:title="@string/inactive_apps_title"
diff --git a/res/xml/display_settings.xml b/res/xml/display_settings.xml
index 7f740f3..50e6891 100644
--- a/res/xml/display_settings.xml
+++ b/res/xml/display_settings.xml
@@ -97,12 +97,12 @@
         android:title="@string/lift_to_wake_title" />
 
     <Preference
-        android:key="gesture_double_tap_screen"
+        android:key="gesture_double_tap_screen_display_summary"
         android:title="@string/ambient_display_title"
         android:fragment="com.android.settings.gestures.DoubleTapScreenSettings" />
 
     <Preference
-        android:key="gesture_pick_up"
+        android:key="gesture_pick_up_display_summary"
         android:title="@string/ambient_display_pickup_title"
         android:fragment="com.android.settings.gestures.PickupGestureSettings" />
 
diff --git a/res/xml/language_and_input.xml b/res/xml/language_and_input.xml
index ca5ce45..6e65da6 100644
--- a/res/xml/language_and_input.xml
+++ b/res/xml/language_and_input.xml
@@ -66,32 +66,32 @@
         android:title="@string/gesture_preference_title">
 
         <Preference
-            android:key="gesture_assist"
+            android:key="gesture_assist_input_summary"
             android:title="@string/assist_gesture_title"
             android:fragment="com.android.settings.gestures.AssistGestureSettings"/>
 
         <Preference
-            android:key="gesture_swipe_down_fingerprint"
+            android:key="gesture_swipe_down_fingerprint_input_summary"
             android:title="@string/fingerprint_swipe_for_notifications_title"
             android:fragment="com.android.settings.gestures.SwipeToNotificationSettings"/>
 
         <Preference
-            android:key="gesture_double_tap_power"
+            android:key="gesture_double_tap_power_input_summary"
             android:title="@string/double_tap_power_for_camera_title"
             android:fragment="com.android.settings.gestures.DoubleTapPowerSettings"/>
 
         <Preference
-            android:key="gesture_double_twist"
+            android:key="gesture_double_twist_input_summary"
             android:title="@string/double_twist_for_camera_mode_title"
             android:fragment="com.android.settings.gestures.DoubleTwistGestureSettings"/>
 
         <Preference
-            android:key="gesture_double_tap_screen"
+            android:key="gesture_double_tap_screen_input_summary"
             android:title="@string/ambient_display_title"
             android:fragment="com.android.settings.gestures.DoubleTapScreenSettings"/>
 
         <Preference
-            android:key="gesture_pick_up"
+            android:key="gesture_pick_up_input_summary"
             android:title="@string/ambient_display_pickup_title"
             android:fragment="com.android.settings.gestures.PickupGestureSettings"/>
 
@@ -105,7 +105,7 @@
             android:dialogTitle="@string/pointer_speed"/>
 
         <Preference
-            android:key="tts_settings"
+            android:key="tts_settings_summary"
             android:title="@string/tts_settings_title"
             android:fragment="com.android.settings.tts.TextToSpeechSettings"/>
 
diff --git a/res/xml/manage_assist.xml b/res/xml/manage_assist.xml
index eadf45f..a96fb6b 100644
--- a/res/xml/manage_assist.xml
+++ b/res/xml/manage_assist.xml
@@ -26,7 +26,7 @@
         android:fragment="com.android.settings.applications.assist.DefaultAssistPicker"/>
 
     <Preference
-        android:key="gesture_assist"
+        android:key="gesture_assist_application"
         android:title="@string/assist_gesture_title"
         android:fragment="com.android.settings.gestures.AssistGestureSettings"/>
 
diff --git a/src/com/android/settings/DisplaySettings.java b/src/com/android/settings/DisplaySettings.java
index 98844fa..b70a133 100644
--- a/src/com/android/settings/DisplaySettings.java
+++ b/src/com/android/settings/DisplaySettings.java
@@ -54,6 +54,8 @@
 
     private static final String KEY_AUTO_BRIGHTNESS = "auto_brightness";
     private static final String KEY_SCREEN_TIMEOUT = "screen_timeout";
+    private static final String KEY_PICK_UP = "gesture_pick_up_display_summary";
+    private static final String KEY_DOUBLE_TAP_SCREEN = "gesture_double_tap_screen_display_summary";
 
     @Override
     public int getMetricsCategory() {
@@ -100,9 +102,10 @@
         controllers.add(new ScreenSaverPreferenceController(context));
         AmbientDisplayConfiguration ambientDisplayConfig = new AmbientDisplayConfiguration(context);
         controllers.add(new PickupGesturePreferenceController(
-                context, lifecycle, ambientDisplayConfig, UserHandle.myUserId()));
+                context, lifecycle, ambientDisplayConfig, UserHandle.myUserId(), KEY_PICK_UP));
         controllers.add(new DoubleTapScreenPreferenceController(
-                context, lifecycle, ambientDisplayConfig, UserHandle.myUserId()));
+                context, lifecycle, ambientDisplayConfig, UserHandle.myUserId(),
+                KEY_DOUBLE_TAP_SCREEN));
         controllers.add(new TapToWakePreferenceController(context));
         controllers.add(new TimeoutPreferenceController(context, KEY_SCREEN_TIMEOUT));
         controllers.add(new VrDisplayPreferenceController(context));
diff --git a/src/com/android/settings/applications/InstalledAppDetails.java b/src/com/android/settings/applications/InstalledAppDetails.java
index e9b7481..ab9f358 100755
--- a/src/com/android/settings/applications/InstalledAppDetails.java
+++ b/src/com/android/settings/applications/InstalledAppDetails.java
@@ -93,6 +93,7 @@
 import com.android.settings.datausage.DataUsageSummary;
 import com.android.settings.fuelgauge.AdvancedPowerUsageDetail;
 import com.android.settings.fuelgauge.BatteryEntry;
+import com.android.settings.fuelgauge.BatteryStatsHelperLoader;
 import com.android.settings.fuelgauge.BatteryUtils;
 import com.android.settings.notification.AppNotificationSettings;
 import com.android.settings.notification.NotificationBackend;
@@ -143,6 +144,7 @@
 
     private static final int LOADER_CHART_DATA = 2;
     private static final int LOADER_STORAGE = 3;
+    private static final int LOADER_BATTERY = 4;
 
     private static final int DLG_FORCE_STOP = DLG_BASE + 1;
     private static final int DLG_DISABLE = DLG_BASE + 2;
@@ -204,6 +206,31 @@
     private String mBatteryPercent;
     private BatteryUtils mBatteryUtils;
 
+    private final LoaderCallbacks<BatteryStatsHelper> mBatteryCallbacks =
+            new LoaderCallbacks<BatteryStatsHelper>() {
+
+                @Override
+                public Loader<BatteryStatsHelper> onCreateLoader(int id, Bundle args) {
+                    return new BatteryStatsHelperLoader(getContext(), args);
+                }
+
+                @Override
+                public void onLoadFinished(Loader<BatteryStatsHelper> loader,
+                        BatteryStatsHelper batteryHelper) {
+                    mBatteryHelper = batteryHelper;
+                    if (mPackageInfo != null) {
+                        mSipper = findTargetSipper(batteryHelper, mPackageInfo.applicationInfo.uid);
+                        if (getActivity() != null) {
+                            updateBattery();
+                        }
+                    }
+                }
+
+                @Override
+                public void onLoaderReset(Loader<BatteryStatsHelper> loader) {
+                }
+            };
+
     private boolean handleDisableable(Button button) {
         boolean disableable = false;
         // Try to prevent the user from bricking their phone
@@ -362,7 +389,6 @@
         } else {
             removePreference(KEY_DATA);
         }
-        mBatteryHelper = new BatteryStatsHelper(getActivity(), true);
         mBatteryUtils = BatteryUtils.getInstance(getContext());
     }
 
@@ -386,7 +412,7 @@
                     mDataCallbacks);
             loaderManager.restartLoader(LOADER_STORAGE, Bundle.EMPTY, this);
         }
-        new BatteryUpdater().execute();
+        getLoaderManager().initLoader(LOADER_BATTERY, Bundle.EMPTY, mBatteryCallbacks);
         new MemoryUpdater().execute();
         updateDynamicPrefs();
     }
@@ -625,6 +651,19 @@
         return showIt;
     }
 
+    @VisibleForTesting
+    BatterySipper findTargetSipper(BatteryStatsHelper batteryHelper, int uid) {
+        List<BatterySipper> usageList = batteryHelper.getUsageList();
+        for (int i = 0, size = usageList.size(); i < size; i++) {
+            BatterySipper sipper = usageList.get(i);
+            if (sipper.getUid() == uid) {
+                return sipper;
+            }
+        }
+
+        return null;
+    }
+
     private boolean signaturesMatch(String pkg1, String pkg2) {
         if (pkg1 != null && pkg2 != null) {
             try {
@@ -719,7 +758,7 @@
     }
 
     private void updateBattery() {
-        if (mSipper != null) {
+        if (mSipper != null && mBatteryHelper != null) {
             mBatteryPreference.setEnabled(true);
             final int dischargeAmount = mBatteryHelper.getStats().getDischargeAmount(
                     BatteryStats.STATS_SINCE_CHARGED);
@@ -1343,33 +1382,6 @@
 
     }
 
-    private class BatteryUpdater extends AsyncTask<Void, Void, Void> {
-        @Override
-        protected Void doInBackground(Void... params) {
-            mBatteryHelper.create((Bundle) null);
-            mBatteryHelper.refreshStats(BatteryStats.STATS_SINCE_CHARGED,
-                    mUserManager.getUserProfiles());
-            List<BatterySipper> usageList = mBatteryHelper.getUsageList();
-            final int N = usageList.size();
-            for (int i = 0; i < N; i++) {
-                BatterySipper sipper = usageList.get(i);
-                if (sipper.getUid() == mPackageInfo.applicationInfo.uid) {
-                    mSipper = sipper;
-                    break;
-                }
-            }
-            return null;
-        }
-
-        @Override
-        protected void onPostExecute(Void result) {
-            if (getActivity() == null) {
-                return;
-            }
-            refreshUi();
-        }
-    }
-
     /**
      * Elicit this class for testing. Test cannot be done in robolectric because it
      * invokes the new API.
diff --git a/src/com/android/settings/applications/assist/ManageAssist.java b/src/com/android/settings/applications/assist/ManageAssist.java
index 824c0b1..aa71c9a 100644
--- a/src/com/android/settings/applications/assist/ManageAssist.java
+++ b/src/com/android/settings/applications/assist/ManageAssist.java
@@ -38,6 +38,7 @@
 public class ManageAssist extends DashboardFragment {
 
     private static final String TAG = "ManageAssist";
+    private static final String KEY_ASSIST = "gesture_assist_application";
 
     @Override
     protected String getLogTag() {
@@ -71,7 +72,7 @@
             Lifecycle lifecycle) {
         final List<PreferenceController> controllers = new ArrayList<>();
         controllers.add(new DefaultAssistPreferenceController(context));
-        controllers.add(new AssistGesturePreferenceController(context, lifecycle));
+        controllers.add(new AssistGesturePreferenceController(context, lifecycle, KEY_ASSIST));
         controllers.add(new AssistContextPreferenceController(context, lifecycle));
         controllers.add(new AssistScreenshotPreferenceController(context, lifecycle));
         controllers.add(new AssistFlashScreenPreferenceController(context, lifecycle));
@@ -94,5 +95,13 @@
                 public List<PreferenceController> getPreferenceControllers(Context context) {
                     return buildPreferenceControllers(context, null /* lifecycle */);
                 }
+
+                @Override
+                public List<String> getNonIndexableKeys(Context context) {
+                    List<String> keys = super.getNonIndexableKeys(context);
+                    keys.add(KEY_ASSIST);
+                    return keys;
+                }
+
             };
 }
diff --git a/src/com/android/settings/bluetooth/BluetoothPermissionRequest.java b/src/com/android/settings/bluetooth/BluetoothPermissionRequest.java
index 7eb7fdd..59496dd 100644
--- a/src/com/android/settings/bluetooth/BluetoothPermissionRequest.java
+++ b/src/com/android/settings/bluetooth/BluetoothPermissionRequest.java
@@ -17,6 +17,7 @@
 package com.android.settings.bluetooth;
 
 import android.app.Notification;
+import android.app.NotificationChannel;
 import android.app.NotificationManager;
 import android.app.PendingIntent;
 import android.bluetooth.BluetoothDevice;
@@ -45,6 +46,12 @@
     private static final String NOTIFICATION_TAG_PBAP = "Phonebook Access" ;
     private static final String NOTIFICATION_TAG_MAP = "Message Access";
     private static final String NOTIFICATION_TAG_SAP = "SIM Access";
+    /* TODO: Consolidate this multiple defined but common channel ID with other
+     * handlers that declare and use the same channel ID */
+    private static final String BLUETOOTH_NOTIFICATION_CHANNEL =
+        "bluetooth_notification_channel";
+
+    private NotificationChannel mNotificationChannel = null;
 
     Context mContext;
     int mRequestType;
@@ -151,7 +158,16 @@
                                 deviceAlias, deviceAlias);
                         break;
                 }
-                Notification notification = new Notification.Builder(context)
+                NotificationManager notificationManager =
+                    (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
+                if (mNotificationChannel == null) {
+                    mNotificationChannel = new NotificationChannel(BLUETOOTH_NOTIFICATION_CHANNEL,
+                            context.getString(R.string.bluetooth),
+                            NotificationManager.IMPORTANCE_HIGH);
+                    notificationManager.createNotificationChannel(mNotificationChannel);
+                }
+                Notification notification = new Notification.Builder(context,
+                        BLUETOOTH_NOTIFICATION_CHANNEL)
                         .setContentTitle(title)
                         .setTicker(message)
                         .setContentText(message)
@@ -169,9 +185,6 @@
 
                 notification.flags |= Notification.FLAG_NO_CLEAR; // Cannot be set with the builder.
 
-                NotificationManager notificationManager =
-                    (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
-
                 notificationManager.notify(getNotificationTag(mRequestType), NOTIFICATION_ID,
                         notification);
             }
diff --git a/src/com/android/settings/core/instrumentation/SharedPreferencesLogger.java b/src/com/android/settings/core/instrumentation/SharedPreferencesLogger.java
index 69f174b..d1c7c7a 100644
--- a/src/com/android/settings/core/instrumentation/SharedPreferencesLogger.java
+++ b/src/com/android/settings/core/instrumentation/SharedPreferencesLogger.java
@@ -111,6 +111,9 @@
             mPreferenceKeySet.add(prefKey);
             return;
         }
+        // TODO: Remove count logging to save some resource.
+        mMetricsFeature.count(mContext, prefKey + "|" + value, 1);
+
         // Pref key exists in set, log it's change in metrics.
         mMetricsFeature.action(mContext, MetricsEvent.ACTION_SETTINGS_PREFERENCE_CHANGE,
                 Pair.create(MetricsEvent.FIELD_SETTINGS_PREFERENCE_CHANGE_NAME, prefKey),
diff --git a/src/com/android/settings/development/DevelopmentSettings.java b/src/com/android/settings/development/DevelopmentSettings.java
index e06c869..74a6091 100644
--- a/src/com/android/settings/development/DevelopmentSettings.java
+++ b/src/com/android/settings/development/DevelopmentSettings.java
@@ -226,6 +226,8 @@
 
     private static final String SHOW_ALL_ANRS_KEY = "show_all_anrs";
 
+    private static final String SHOW_NOTIFICATION_CHANNEL_WARNINGS_KEY = "show_notification_channel_warnings";
+
     private static final String TERMINAL_APP_PACKAGE = "com.android.terminal";
 
     private static final String KEY_CONVERT_FBE = "convert_to_file_encryption";
@@ -326,6 +328,8 @@
 
     private SwitchPreference mShowAllANRs;
 
+    private SwitchPreference mShowNotificationChannelWarnings;
+
     private ColorModePreference mColorModePreference;
 
     private SwitchPreference mForceResizable;
@@ -523,6 +527,11 @@
         mAllPrefs.add(mShowAllANRs);
         mResetSwitchPrefs.add(mShowAllANRs);
 
+        mShowNotificationChannelWarnings = (SwitchPreference) findPreference(
+                SHOW_NOTIFICATION_CHANNEL_WARNINGS_KEY);
+        mAllPrefs.add(mShowNotificationChannelWarnings);
+        mResetSwitchPrefs.add(mShowNotificationChannelWarnings);
+
         Preference hdcpChecking = findPreference(HDCP_CHECKING_KEY);
         if (hdcpChecking != null) {
             mAllPrefs.add(hdcpChecking);
@@ -788,6 +797,7 @@
         updateImmediatelyDestroyActivitiesOptions();
         updateAppProcessLimitOptions();
         updateShowAllANRsOptions();
+        updateShowNotificationChannelWarningsOptions();
         mVerifyAppsOverUsbController.updatePreference();
         updateOtaDisableAutomaticUpdateOptions();
         updateBugreportOptions();
@@ -2268,6 +2278,19 @@
                 getActivity().getContentResolver(), Settings.Secure.ANR_SHOW_BACKGROUND, 0) != 0);
     }
 
+    private void writeShowNotificationChannelWarningsOptions() {
+        Settings.Global.putInt(getActivity().getContentResolver(),
+                Settings.Global.SHOW_NOTIFICATION_CHANNEL_WARNINGS,
+                mShowNotificationChannelWarnings.isChecked() ? 1 : 0);
+    }
+
+    private void updateShowNotificationChannelWarningsOptions() {
+        final int defaultWarningEnabled = Build.IS_DEBUGGABLE ? 1 : 0;
+        updateSwitchPreference(mShowNotificationChannelWarnings, Settings.Global.getInt(
+                getActivity().getContentResolver(),
+                Settings.Global.SHOW_NOTIFICATION_CHANNEL_WARNINGS, defaultWarningEnabled) != 0);
+    }
+
     private void confirmEnableOemUnlock() {
         DialogInterface.OnClickListener onClickListener = new DialogInterface.OnClickListener() {
             @Override
@@ -2454,6 +2477,8 @@
             writeImmediatelyDestroyActivitiesOptions();
         } else if (preference == mShowAllANRs) {
             writeShowAllANRsOptions();
+        } else if (preference == mShowNotificationChannelWarnings) {
+            writeShowNotificationChannelWarningsOptions();
         } else if (preference == mForceHardwareUi) {
             writeHardwareUiOptions();
         } else if (preference == mForceMsaa) {
diff --git a/src/com/android/settings/deviceinfo/StorageSettings.java b/src/com/android/settings/deviceinfo/StorageSettings.java
index b2bad3a..ce9ea9b 100644
--- a/src/com/android/settings/deviceinfo/StorageSettings.java
+++ b/src/com/android/settings/deviceinfo/StorageSettings.java
@@ -235,7 +235,7 @@
             args.putString(VolumeInfo.EXTRA_VOLUME_ID, VolumeInfo.ID_PRIVATE_INTERNAL);
             Intent intent = Utils.onBuildStartFragmentIntent(getActivity(),
                     StorageDashboardFragment.class.getName(), args, null,
-                    R.string.storage_settings_2, null, false, getMetricsCategory());
+                    R.string.storage_settings, null, false, getMetricsCategory());
             intent.putExtra(SettingsDrawerActivity.EXTRA_SHOW_MENU, true);
             getActivity().startActivity(intent);
             finish();
@@ -280,7 +280,7 @@
 
                 if (VolumeInfo.ID_PRIVATE_INTERNAL.equals(vol.getId())) {
                     startFragment(this, StorageDashboardFragment.class.getCanonicalName(),
-                            R.string.storage_settings_2, 0, args);
+                            R.string.storage_settings, 0, args);
                 } else {
                     // TODO: Go to the StorageDashboardFragment once it fully handles all of the
                     //       SD card cases and other private internal storage cases.
diff --git a/src/com/android/settings/fingerprint/FingerprintEnrollEnrolling.java b/src/com/android/settings/fingerprint/FingerprintEnrollEnrolling.java
index e6e6bcd..8078ad6 100644
--- a/src/com/android/settings/fingerprint/FingerprintEnrollEnrolling.java
+++ b/src/com/android/settings/fingerprint/FingerprintEnrollEnrolling.java
@@ -159,6 +159,14 @@
         startIconAnimation();
     }
 
+    @Override
+    protected void onPause() {
+        super.onPause();
+        if (mSidecar != null) {
+            mSidecar.setListener(null);
+        }
+    }
+
     private void startIconAnimation() {
         mIconAnimationDrawable.start();
     }
diff --git a/src/com/android/settings/fingerprint/FingerprintEnrollFindSensor.java b/src/com/android/settings/fingerprint/FingerprintEnrollFindSensor.java
index 107838c..5152d31 100644
--- a/src/com/android/settings/fingerprint/FingerprintEnrollFindSensor.java
+++ b/src/com/android/settings/fingerprint/FingerprintEnrollFindSensor.java
@@ -134,7 +134,7 @@
                     return;
                 }
             }
-            getFragmentManager().beginTransaction().remove(mSidecar).commit();
+            getFragmentManager().beginTransaction().remove(mSidecar).commitAllowingStateLoss();
             mSidecar = null;
             startActivityForResult(getEnrollingIntent(), ENROLLING);
         }
diff --git a/src/com/android/settings/fingerprint/FingerprintEnrollSidecar.java b/src/com/android/settings/fingerprint/FingerprintEnrollSidecar.java
index 7fc7a04..cbfec0c 100644
--- a/src/com/android/settings/fingerprint/FingerprintEnrollSidecar.java
+++ b/src/com/android/settings/fingerprint/FingerprintEnrollSidecar.java
@@ -31,6 +31,8 @@
 import com.android.settings.core.InstrumentedFragment;
 import com.android.settings.password.IFingerprintManager;
 
+import java.util.ArrayList;
+
 /**
  * Sidecar fragment to handle the state around fingerprint enrollment.
  */
@@ -46,6 +48,57 @@
     private boolean mDone;
     private int mUserId;
     private IFingerprintManager mFingerprintManager;
+    private ArrayList<QueuedEvent> mQueuedEvents;
+
+    private abstract class QueuedEvent {
+        public abstract void send(Listener listener);
+    }
+
+    private class QueuedEnrollmentProgress extends QueuedEvent {
+        int enrollmentSteps;
+        int remaining;
+        public QueuedEnrollmentProgress(int enrollmentSteps, int remaining) {
+            this.enrollmentSteps = enrollmentSteps;
+            this.remaining = remaining;
+        }
+
+        @Override
+        public void send(Listener listener) {
+            listener.onEnrollmentProgressChange(enrollmentSteps, remaining);
+        }
+    }
+
+    private class QueuedEnrollmentHelp extends QueuedEvent {
+        int helpMsgId;
+        CharSequence helpString;
+        public QueuedEnrollmentHelp(int helpMsgId, CharSequence helpString) {
+            this.helpMsgId = helpMsgId;
+            this.helpString = helpString;
+        }
+
+        @Override
+        public void send(Listener listener) {
+            listener.onEnrollmentHelp(helpString);
+        }
+    }
+
+    private class QueuedEnrollmentError extends QueuedEvent {
+        int errMsgId;
+        CharSequence errString;
+        public QueuedEnrollmentError(int errMsgId, CharSequence errString) {
+            this.errMsgId = errMsgId;
+            this.errString = errString;
+        }
+
+        @Override
+        public void send(Listener listener) {
+            listener.onEnrollmentError(errMsgId, errString);
+        }
+    }
+
+    public FingerprintEnrollSidecar() {
+        mQueuedEvents = new ArrayList<>();
+    }
 
     @Override
     public void onCreate(@Nullable Bundle savedInstanceState) {
@@ -103,6 +156,13 @@
 
     public void setListener(Listener listener) {
         mListener = listener;
+        if (mListener != null) {
+            for (int i=0; i<mQueuedEvents.size(); i++) {
+                QueuedEvent event = mQueuedEvents.get(i);
+                event.send(mListener);
+            }
+            mQueuedEvents.clear();
+        }
     }
 
     public int getEnrollmentSteps() {
@@ -129,6 +189,8 @@
             mDone = remaining == 0;
             if (mListener != null) {
                 mListener.onEnrollmentProgressChange(mEnrollmentSteps, remaining);
+            } else {
+                mQueuedEvents.add(new QueuedEnrollmentProgress(mEnrollmentSteps, remaining));
             }
         }
 
@@ -136,6 +198,8 @@
         public void onEnrollmentHelp(int helpMsgId, CharSequence helpString) {
             if (mListener != null) {
                 mListener.onEnrollmentHelp(helpString);
+            } else {
+                mQueuedEvents.add(new QueuedEnrollmentHelp(helpMsgId, helpString));
             }
         }
 
@@ -143,6 +207,8 @@
         public void onEnrollmentError(int errMsgId, CharSequence errString) {
             if (mListener != null) {
                 mListener.onEnrollmentError(errMsgId, errString);
+            } else {
+                mQueuedEvents.add(new QueuedEnrollmentError(errMsgId, errString));
             }
             mEnrolling = false;
         }
diff --git a/src/com/android/settings/fuelgauge/BatteryMeterView.java b/src/com/android/settings/fuelgauge/BatteryMeterView.java
index 53f490f..b9ed1e4 100644
--- a/src/com/android/settings/fuelgauge/BatteryMeterView.java
+++ b/src/com/android/settings/fuelgauge/BatteryMeterView.java
@@ -38,8 +38,6 @@
     @VisibleForTesting
     ColorFilter mAccentColorFilter;
 
-    private int mLevel;
-
     public BatteryMeterView(Context context) {
         this(context, null, 0);
     }
@@ -66,7 +64,6 @@
     }
 
     public void setBatteryLevel(int level) {
-        mLevel = level;
         mDrawable.setBatteryLevel(level);
         if (level < mDrawable.getCriticalLevel()) {
             mDrawable.setBatteryColorFilter(mErrorColorFilter);
@@ -75,10 +72,6 @@
         }
     }
 
-    public int getBatteryLevel() {
-        return mLevel;
-    }
-
     public void setCharging(boolean charging) {
         mDrawable.setCharging(charging);
     }
diff --git a/src/com/android/settings/fuelgauge/BatteryUtils.java b/src/com/android/settings/fuelgauge/BatteryUtils.java
index 8e730c0..849144a 100644
--- a/src/com/android/settings/fuelgauge/BatteryUtils.java
+++ b/src/com/android/settings/fuelgauge/BatteryUtils.java
@@ -185,9 +185,7 @@
 
         return drainType == BatterySipper.DrainType.IDLE
                 || drainType == BatterySipper.DrainType.CELL
-                || drainType == BatterySipper.DrainType.WIFI
                 || drainType == BatterySipper.DrainType.SCREEN
-                || drainType == BatterySipper.DrainType.BLUETOOTH
                 || drainType == BatterySipper.DrainType.UNACCOUNTED
                 || drainType == BatterySipper.DrainType.OVERCOUNTED
                 || (sipper.totalPowerMah * SECONDS_IN_HOUR) < MIN_POWER_THRESHOLD_MILLI_AMP
diff --git a/src/com/android/settings/fuelgauge/FakeUid.java b/src/com/android/settings/fuelgauge/FakeUid.java
index 6f92b3d..6cb5c64 100644
--- a/src/com/android/settings/fuelgauge/FakeUid.java
+++ b/src/com/android/settings/fuelgauge/FakeUid.java
@@ -45,6 +45,11 @@
     }
 
     @Override
+    public Timer getAggregatedPartialWakelockTimer() {
+        return null;
+    }
+
+    @Override
     public ArrayMap<String, ? extends Timer> getSyncStats() {
         return null;
     }
diff --git a/src/com/android/settings/fuelgauge/PowerUsageSummary.java b/src/com/android/settings/fuelgauge/PowerUsageSummary.java
index d0343c3..b3d07b8 100644
--- a/src/com/android/settings/fuelgauge/PowerUsageSummary.java
+++ b/src/com/android/settings/fuelgauge/PowerUsageSummary.java
@@ -16,8 +16,6 @@
 
 package com.android.settings.fuelgauge;
 
-import android.animation.Animator;
-import android.animation.ValueAnimator;
 import android.app.Activity;
 import android.content.Context;
 import android.content.Intent;
@@ -43,7 +41,6 @@
 import android.view.Menu;
 import android.view.MenuInflater;
 import android.view.MenuItem;
-import android.view.animation.AnimationUtils;
 import android.widget.TextView;
 
 import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
@@ -87,10 +84,6 @@
     private static final String KEY_BATTERY_HEADER = "battery_header";
     private static final int MAX_ITEMS_TO_LIST = USE_FAKE_DATA ? 30 : 10;
     private static final int MIN_AVERAGE_POWER_THRESHOLD_MILLI_AMP = 10;
-    private static final int BATTERY_ANIMATION_DURATION_MS_PER_LEVEL = 30;
-
-    @VisibleForTesting
-    static final String ARG_BATTERY_LEVEL = "key_battery_level";
 
     private static final String KEY_SCREEN_USAGE = "screen_usage";
     private static final String KEY_TIME_SINCE_LAST_FULL_CHARGE = "last_full_charge";
@@ -112,8 +105,6 @@
             new FooterPreferenceMixin(this, getLifecycle());
 
     @VisibleForTesting
-    int mBatteryLevel;
-    @VisibleForTesting
     boolean mShowAllApps = false;
     @VisibleForTesting
     PowerGaugePreference mScreenUsagePref;
@@ -133,8 +124,6 @@
         super.onCreate(icicle);
         setAnimationAllowed(true);
 
-        mBatteryLevel = getContext().getResources().getInteger(
-                com.android.internal.R.integer.config_criticalBatteryWarningLevel) + 1;
         mBatteryLayoutPref = (LayoutPreference) findPreference(KEY_BATTERY_HEADER);
         mAppListGroup = (PreferenceGroup) findPreference(KEY_APP_LIST);
         mScreenUsagePref = (PowerGaugePreference) findPreference(KEY_SCREEN_USAGE);
@@ -148,14 +137,6 @@
     }
 
     @Override
-    public void onActivityCreated(Bundle savedInstanceState) {
-        super.onActivityCreated(savedInstanceState);
-        if (savedInstanceState != null) {
-            mBatteryLevel = savedInstanceState.getInt(ARG_BATTERY_LEVEL);
-        }
-    }
-
-    @Override
     public int getMetricsCategory() {
         return MetricsEvent.FUELGAUGE_POWER_USAGE_SUMMARY;
     }
@@ -163,8 +144,6 @@
     @Override
     public void onResume() {
         super.onResume();
-
-        initHeaderPreference();
     }
 
     @Override
@@ -183,12 +162,6 @@
     }
 
     @Override
-    public void onSaveInstanceState(Bundle outState) {
-        super.onSaveInstanceState(outState);
-        outState.putInt(ARG_BATTERY_LEVEL, mBatteryLevel);
-    }
-
-    @Override
     public boolean onPreferenceTreeClick(Preference preference) {
         if (KEY_BATTERY_HEADER.equals(preference.getKey())) {
             performBatteryHeaderClick();
@@ -596,46 +569,15 @@
                 .findViewById(R.id.battery_header_icon);
         final TextView timeText = (TextView) mBatteryLayoutPref.findViewById(R.id.battery_percent);
         final TextView summary1 = (TextView) mBatteryLayoutPref.findViewById(R.id.summary1);
+        timeText.setText(Utils.formatPercentage(info.batteryLevel));
         if (info.remainingLabel == null ) {
             summary1.setText(info.statusLabel);
         } else {
             summary1.setText(info.remainingLabel);
         }
+
+        batteryView.setBatteryLevel(info.batteryLevel);
         batteryView.setCharging(!info.discharging);
-        startBatteryHeaderAnimationIfNecessary(batteryView, timeText, mBatteryLevel,
-                info.batteryLevel);
-    }
-
-    @VisibleForTesting
-    void initHeaderPreference() {
-        final BatteryMeterView batteryView = (BatteryMeterView) mBatteryLayoutPref
-                .findViewById(R.id.battery_header_icon);
-        final TextView timeText = (TextView) mBatteryLayoutPref.findViewById(R.id.battery_percent);
-
-        batteryView.setBatteryLevel(mBatteryLevel);
-        timeText.setText(Utils.formatPercentage(mBatteryLevel));
-    }
-
-    @VisibleForTesting
-    void startBatteryHeaderAnimationIfNecessary(BatteryMeterView batteryView, TextView timeTextView,
-            int prevLevel, int currentLevel) {
-        mBatteryLevel = currentLevel;
-        final int diff = Math.abs(prevLevel - currentLevel);
-        if (diff != 0) {
-            final ValueAnimator animator = ValueAnimator.ofInt(prevLevel, currentLevel);
-            animator.setDuration(BATTERY_ANIMATION_DURATION_MS_PER_LEVEL * diff);
-            animator.setInterpolator(AnimationUtils.loadInterpolator(getContext(),
-                    android.R.interpolator.fast_out_slow_in));
-            animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
-                @Override
-                public void onAnimationUpdate(ValueAnimator animation) {
-                    final Integer level = (Integer) animation.getAnimatedValue();
-                    batteryView.setBatteryLevel(level);
-                    timeTextView.setText(Utils.formatPercentage(level));
-                }
-            });
-            animator.start();
-        }
     }
 
     @VisibleForTesting
@@ -652,7 +594,7 @@
             final CharSequence timeSequence = Utils.formatElapsedTime(getContext(), usageTimeMs,
                     false);
             preference.setSummary(
-                    TextUtils.expandTemplate(getText(R.string.battery_used_for), timeSequence));
+                    TextUtils.expandTemplate(getText(R.string.battery_screen_usage), timeSequence));
         }
     }
 
diff --git a/src/com/android/settings/gestures/AssistGesturePreferenceController.java b/src/com/android/settings/gestures/AssistGesturePreferenceController.java
index f0ba888..c858511 100644
--- a/src/com/android/settings/gestures/AssistGesturePreferenceController.java
+++ b/src/com/android/settings/gestures/AssistGesturePreferenceController.java
@@ -35,7 +35,7 @@
         implements OnPause, OnResume {
 
     private static final String PREF_KEY_VIDEO = "gesture_assist_video";
-    private static final String PREF_KEY_ASSIST_GESTURE = "gesture_assist";
+    private final String mAssistGesturePrefKey;
 
     private final AssistGestureFeatureProvider mFeatureProvider;
     private final SettingObserver mSettingObserver;
@@ -44,11 +44,12 @@
     private PreferenceScreen mScreen;
     private Preference mPreference;
 
-    public AssistGesturePreferenceController(Context context, Lifecycle lifecycle) {
+    public AssistGesturePreferenceController(Context context, Lifecycle lifecycle, String key) {
         super(context, lifecycle);
         mFeatureProvider = FeatureFactory.getFactory(context).getAssistGestureFeatureProvider();
         mSettingObserver = new SettingObserver();
         mWasAvailable = isAvailable();
+        mAssistGesturePrefKey = key;
     }
 
     @Override
@@ -110,7 +111,7 @@
 
     @Override
     public String getPreferenceKey() {
-        return PREF_KEY_ASSIST_GESTURE;
+        return mAssistGesturePrefKey;
     }
 
     @Override
diff --git a/src/com/android/settings/gestures/AssistGestureSettings.java b/src/com/android/settings/gestures/AssistGestureSettings.java
index 238b8b6..0c4f278 100644
--- a/src/com/android/settings/gestures/AssistGestureSettings.java
+++ b/src/com/android/settings/gestures/AssistGestureSettings.java
@@ -34,6 +34,8 @@
 
     private static final String TAG = "AssistGesture";
 
+    private static final String KEY_ASSIST = "gesture_assist";
+
     @Override
     public int getMetricsCategory() {
         return MetricsProto.MetricsEvent.VIEW_UNKNOWN;
@@ -57,7 +59,7 @@
     private static List<PreferenceController> buildPreferenceControllers(Context context,
             Lifecycle lifecycle) {
         final List<PreferenceController> controllers = new ArrayList<>();
-        controllers.add(new AssistGesturePreferenceController(context, lifecycle));
+        controllers.add(new AssistGesturePreferenceController(context, lifecycle, KEY_ASSIST));
         controllers.add(new AssistGestureSensitivityPreferenceController(context, lifecycle));
         return controllers;
     }
diff --git a/src/com/android/settings/gestures/DoubleTapPowerPreferenceController.java b/src/com/android/settings/gestures/DoubleTapPowerPreferenceController.java
index d38902e..ba1d0f6 100644
--- a/src/com/android/settings/gestures/DoubleTapPowerPreferenceController.java
+++ b/src/com/android/settings/gestures/DoubleTapPowerPreferenceController.java
@@ -20,18 +20,16 @@
 import android.provider.Settings;
 import android.support.v7.preference.Preference;
 
-import android.util.ArrayMap;
 import com.android.settings.core.lifecycle.Lifecycle;
-import com.android.settings.search2.InlineSwitchPayload;
-import com.android.settings.search2.ResultPayload;
 
 public class DoubleTapPowerPreferenceController extends GesturePreferenceController {
 
     private static final String PREF_KEY_VIDEO = "gesture_double_tap_power_video";
-    private static final String PREF_KEY_DOUBLE_TAP_POWER = "gesture_double_tap_power";
+    private final String mDoubleTapPowerKey;
 
-    public DoubleTapPowerPreferenceController(Context context, Lifecycle lifecycle) {
+    public DoubleTapPowerPreferenceController(Context context, Lifecycle lifecycle, String key) {
         super(context, lifecycle);
+        mDoubleTapPowerKey = key;
     }
 
     @Override
@@ -47,7 +45,7 @@
 
     @Override
     public String getPreferenceKey() {
-        return PREF_KEY_DOUBLE_TAP_POWER;
+        return mDoubleTapPowerKey;
     }
 
     @Override
diff --git a/src/com/android/settings/gestures/DoubleTapPowerSettings.java b/src/com/android/settings/gestures/DoubleTapPowerSettings.java
index 467cec8..a880c32 100644
--- a/src/com/android/settings/gestures/DoubleTapPowerSettings.java
+++ b/src/com/android/settings/gestures/DoubleTapPowerSettings.java
@@ -33,6 +33,7 @@
 public class DoubleTapPowerSettings extends DashboardFragment {
 
     private static final String TAG = "DoubleTapPower";
+    private static final String KEY_DOUBLE_TAP_POWER = "gesture_double_tap_power";
 
     @Override
     public int getMetricsCategory() {
@@ -57,7 +58,8 @@
     private static List<PreferenceController> buildPreferenceControllers(Context context,
             Lifecycle lifecycle) {
         final List<PreferenceController> controllers = new ArrayList<>();
-        controllers.add(new DoubleTapPowerPreferenceController(context, lifecycle));
+        controllers.add(new DoubleTapPowerPreferenceController(context, lifecycle,
+                KEY_DOUBLE_TAP_POWER));
         return controllers;
     }
 
diff --git a/src/com/android/settings/gestures/DoubleTapScreenPreferenceController.java b/src/com/android/settings/gestures/DoubleTapScreenPreferenceController.java
index 49e8f51..5f8dfb4 100644
--- a/src/com/android/settings/gestures/DoubleTapScreenPreferenceController.java
+++ b/src/com/android/settings/gestures/DoubleTapScreenPreferenceController.java
@@ -21,26 +21,24 @@
 import android.provider.Settings;
 import android.support.v7.preference.Preference;
 
-import android.util.ArrayMap;
 import com.android.internal.hardware.AmbientDisplayConfiguration;
 import com.android.settings.core.lifecycle.Lifecycle;
-import com.android.settings.search2.InlineSwitchPayload;
-import com.android.settings.search2.ResultPayload;
 
 public class DoubleTapScreenPreferenceController extends GesturePreferenceController {
 
     private static final String PREF_KEY_VIDEO = "gesture_double_tap_screen_video";
-    private static final String PREF_KEY_DOUBLE_TAP_SCREEN = "gesture_double_tap_screen";
+    private final String mDoubleTapScreenPrefKey;
 
     private final AmbientDisplayConfiguration mAmbientConfig;
     @UserIdInt
     private final int mUserId;
 
     public DoubleTapScreenPreferenceController(Context context, Lifecycle lifecycle,
-            AmbientDisplayConfiguration config, @UserIdInt int userId) {
+            AmbientDisplayConfiguration config, @UserIdInt int userId, String key) {
         super(context, lifecycle);
         mAmbientConfig = config;
         mUserId = userId;
+        mDoubleTapScreenPrefKey = key;
     }
 
     @Override
@@ -50,7 +48,7 @@
 
     @Override
     public String getPreferenceKey() {
-        return PREF_KEY_DOUBLE_TAP_SCREEN;
+        return mDoubleTapScreenPrefKey;
     }
 
     @Override
diff --git a/src/com/android/settings/gestures/DoubleTapScreenSettings.java b/src/com/android/settings/gestures/DoubleTapScreenSettings.java
index 887ac80..0804e7b 100644
--- a/src/com/android/settings/gestures/DoubleTapScreenSettings.java
+++ b/src/com/android/settings/gestures/DoubleTapScreenSettings.java
@@ -35,6 +35,7 @@
 public class DoubleTapScreenSettings extends DashboardFragment {
 
     private static final String TAG = "DoubleTapScreen";
+    private static final String KEY_DOUBLE_TAP_SCREEN = "gesture_double_tap_screen";
 
     @Override
     public int getMetricsCategory() {
@@ -60,7 +61,8 @@
             Lifecycle lifecycle) {
         final List<PreferenceController> controllers = new ArrayList<>();
         controllers.add(new DoubleTapScreenPreferenceController(context, lifecycle,
-                new AmbientDisplayConfiguration(context), UserHandle.myUserId()));
+                new AmbientDisplayConfiguration(context), UserHandle.myUserId(),
+                KEY_DOUBLE_TAP_SCREEN));
         return controllers;
     }
 
diff --git a/src/com/android/settings/gestures/DoubleTwistGestureSettings.java b/src/com/android/settings/gestures/DoubleTwistGestureSettings.java
index 46a8cbb..cf5cfab 100644
--- a/src/com/android/settings/gestures/DoubleTwistGestureSettings.java
+++ b/src/com/android/settings/gestures/DoubleTwistGestureSettings.java
@@ -33,6 +33,7 @@
 public class DoubleTwistGestureSettings extends DashboardFragment {
 
     private static final String TAG = "DoubleTwistGesture";
+    private static final String KEY_DOUBLE_TWIST = "gesture_double_twist";
 
     @Override
     public int getMetricsCategory() {
@@ -57,7 +58,7 @@
     private static List<PreferenceController> buildPreferenceControllers(Context context,
             Lifecycle lifecycle) {
         final List<PreferenceController> controllers = new ArrayList<>();
-        controllers.add(new DoubleTwistPreferenceController(context, lifecycle));
+        controllers.add(new DoubleTwistPreferenceController(context, lifecycle, KEY_DOUBLE_TWIST));
         return controllers;
     }
 
diff --git a/src/com/android/settings/gestures/DoubleTwistPreferenceController.java b/src/com/android/settings/gestures/DoubleTwistPreferenceController.java
index c5174fd..f1c7455 100644
--- a/src/com/android/settings/gestures/DoubleTwistPreferenceController.java
+++ b/src/com/android/settings/gestures/DoubleTwistPreferenceController.java
@@ -24,19 +24,17 @@
 import android.support.v7.preference.Preference;
 import android.text.TextUtils;
 
-import android.util.ArrayMap;
 import com.android.settings.R;
 import com.android.settings.core.lifecycle.Lifecycle;
-import com.android.settings.search2.InlineSwitchPayload;
-import com.android.settings.search2.ResultPayload;
 
 public class DoubleTwistPreferenceController extends GesturePreferenceController {
 
     private static final String PREF_KEY_VIDEO = "gesture_double_twist_video";
-    private static final String PREF_KEY_DOUBLE_TWIST = "gesture_double_twist";
+    private final String mDoubleTwistPrefKey;
 
-    public DoubleTwistPreferenceController(Context context, Lifecycle lifecycle) {
+    public DoubleTwistPreferenceController(Context context, Lifecycle lifecycle, String key) {
         super(context, lifecycle);
+        mDoubleTwistPrefKey = key;
     }
 
     @Override
@@ -52,7 +50,7 @@
 
     @Override
     public String getPreferenceKey() {
-        return PREF_KEY_DOUBLE_TWIST;
+        return mDoubleTwistPrefKey;
     }
 
     @Override
diff --git a/src/com/android/settings/gestures/PickupGesturePreferenceController.java b/src/com/android/settings/gestures/PickupGesturePreferenceController.java
index ce20f15..c0e6009 100644
--- a/src/com/android/settings/gestures/PickupGesturePreferenceController.java
+++ b/src/com/android/settings/gestures/PickupGesturePreferenceController.java
@@ -21,26 +21,24 @@
 import android.provider.Settings;
 import android.support.v7.preference.Preference;
 
-import android.util.ArrayMap;
 import com.android.internal.hardware.AmbientDisplayConfiguration;
 import com.android.settings.core.lifecycle.Lifecycle;
-import com.android.settings.search2.InlineSwitchPayload;
-import com.android.settings.search2.ResultPayload;
 
 public class PickupGesturePreferenceController extends GesturePreferenceController {
 
     private static final String PREF_VIDEO_KEY = "gesture_pick_up_video";
-    private static final String PREF_KEY_PICK_UP = "gesture_pick_up";
+    private final String mPickUpPrefKey;
 
     private final AmbientDisplayConfiguration mAmbientConfig;
     @UserIdInt
     private final int mUserId;
 
     public PickupGesturePreferenceController(Context context, Lifecycle lifecycle,
-            AmbientDisplayConfiguration config, @UserIdInt int userId) {
+            AmbientDisplayConfiguration config, @UserIdInt int userId, String key) {
         super(context, lifecycle);
         mAmbientConfig = config;
         mUserId = userId;
+        mPickUpPrefKey = key;
     }
 
     @Override
@@ -60,7 +58,7 @@
 
     @Override
     public String getPreferenceKey() {
-        return PREF_KEY_PICK_UP;
+        return mPickUpPrefKey;
     }
 
     @Override
diff --git a/src/com/android/settings/gestures/PickupGestureSettings.java b/src/com/android/settings/gestures/PickupGestureSettings.java
index 0fe6097..874f690 100644
--- a/src/com/android/settings/gestures/PickupGestureSettings.java
+++ b/src/com/android/settings/gestures/PickupGestureSettings.java
@@ -35,6 +35,7 @@
 public class PickupGestureSettings extends DashboardFragment {
 
     private static final String TAG = "PickupGestureSettings";
+    private static final String KEY_PICK_UP = "gesture_pick_up";
 
     @Override
     public int getMetricsCategory() {
@@ -60,7 +61,7 @@
             Lifecycle lifecycle) {
         final List<PreferenceController> controllers = new ArrayList<>();
         controllers.add(new PickupGesturePreferenceController(context, lifecycle,
-                new AmbientDisplayConfiguration(context), UserHandle.myUserId()));
+                new AmbientDisplayConfiguration(context), UserHandle.myUserId(), KEY_PICK_UP));
         return controllers;
     }
 
diff --git a/src/com/android/settings/gestures/SwipeToNotificationPreferenceController.java b/src/com/android/settings/gestures/SwipeToNotificationPreferenceController.java
index 22b88fc..2a62674 100644
--- a/src/com/android/settings/gestures/SwipeToNotificationPreferenceController.java
+++ b/src/com/android/settings/gestures/SwipeToNotificationPreferenceController.java
@@ -20,23 +20,22 @@
 import android.provider.Settings;
 import android.support.v7.preference.Preference;
 
-import android.util.ArrayMap;
 import com.android.settings.core.lifecycle.Lifecycle;
-import com.android.settings.search2.InlineSwitchPayload;
-import com.android.settings.search2.ResultPayload;
 
 public class SwipeToNotificationPreferenceController extends GesturePreferenceController {
 
     private static final String PREF_KEY_VIDEO = "gesture_swipe_down_fingerprint_video";
-    private static final String PREF_KEY_SWIPE_DOWN_FINGERPRINT = "gesture_swipe_down_fingerprint";
+    private final String mSwipeDownFingerPrefKey;
 
-    public SwipeToNotificationPreferenceController(Context context, Lifecycle lifecycle) {
+    public SwipeToNotificationPreferenceController(Context context, Lifecycle lifecycle,
+            String key) {
         super(context, lifecycle);
+        mSwipeDownFingerPrefKey = key;
     }
 
     @Override
     public String getPreferenceKey() {
-        return PREF_KEY_SWIPE_DOWN_FINGERPRINT;
+        return mSwipeDownFingerPrefKey;
     }
 
     @Override
diff --git a/src/com/android/settings/gestures/SwipeToNotificationSettings.java b/src/com/android/settings/gestures/SwipeToNotificationSettings.java
index 6c136c2..f19565a 100644
--- a/src/com/android/settings/gestures/SwipeToNotificationSettings.java
+++ b/src/com/android/settings/gestures/SwipeToNotificationSettings.java
@@ -34,6 +34,8 @@
 
     private static final String TAG = "SwipeToNotifSettings";
 
+    private static final String KEY = "gesture_swipe_down_fingerprint";
+
     @Override
     public int getMetricsCategory() {
         return MetricsProto.MetricsEvent.SETTINGS_GESTURE_SWIPE_TO_NOTIFICATION;
@@ -57,7 +59,7 @@
     private static List<PreferenceController> buildPreferenceControllers(Context context,
             Lifecycle lifecycle) {
         final List<PreferenceController> controllers = new ArrayList<>();
-        controllers.add(new SwipeToNotificationPreferenceController(context, lifecycle));
+        controllers.add(new SwipeToNotificationPreferenceController(context, lifecycle, KEY));
         return controllers;
     }
 
diff --git a/src/com/android/settings/language/LanguageAndInputSettings.java b/src/com/android/settings/language/LanguageAndInputSettings.java
index 1999970..1c4d642 100644
--- a/src/com/android/settings/language/LanguageAndInputSettings.java
+++ b/src/com/android/settings/language/LanguageAndInputSettings.java
@@ -58,6 +58,14 @@
 
     private static final String TAG = "LangAndInputSettings";
 
+    private static final String KEY_TEXT_TO_SPEECH = "tts_settings_summary";
+    private static final String KEY_ASSIST = "gesture_assist_input_summary";
+    private static final String KEY_SWIPE_DOWN = "gesture_swipe_down_fingerprint_input_summary";
+    private static final String KEY_DOUBLE_TAP_POWER = "gesture_double_tap_power_input_summary";
+    private static final String KEY_DOUBLE_TWIST = "gesture_double_twist_input_summary";
+    private static final String KEY_DOUBLE_TAP_SCREEN = "gesture_double_tap_screen_input_summary";
+    private static final String KEY_PICK_UP = "gesture_pick_up_input_summary";
+
     private AmbientDisplayConfiguration mAmbientDisplayConfig;
 
     @Override
@@ -110,14 +118,16 @@
 
         controllers.add(gameControllerPreferenceController);
         // Gestures
-        controllers.add(new AssistGesturePreferenceController(context, lifecycle));
-        controllers.add(new SwipeToNotificationPreferenceController(context, lifecycle));
-        controllers.add(new DoubleTwistPreferenceController(context, lifecycle));
-        controllers.add(new DoubleTapPowerPreferenceController(context, lifecycle));
-        controllers.add(new PickupGesturePreferenceController(
-                context, lifecycle, ambientDisplayConfiguration, UserHandle.myUserId()));
-        controllers.add(new DoubleTapScreenPreferenceController(
-                context, lifecycle, ambientDisplayConfiguration, UserHandle.myUserId()));
+        controllers.add(new AssistGesturePreferenceController(context, lifecycle, KEY_ASSIST));
+        controllers.add(new SwipeToNotificationPreferenceController(context, lifecycle,
+                KEY_SWIPE_DOWN));
+        controllers.add(new DoubleTwistPreferenceController(context, lifecycle, KEY_DOUBLE_TWIST));
+        controllers.add(new DoubleTapPowerPreferenceController(context, lifecycle,
+                KEY_DOUBLE_TAP_POWER));
+        controllers.add(new PickupGesturePreferenceController(context, lifecycle,
+                ambientDisplayConfiguration, UserHandle.myUserId(), KEY_PICK_UP));
+        controllers.add(new DoubleTapScreenPreferenceController(context, lifecycle,
+                ambientDisplayConfiguration, UserHandle.myUserId(), KEY_DOUBLE_TAP_SCREEN));
         controllers.add(new DefaultAutofillPreferenceController(context));
         return controllers;
     }
@@ -179,5 +189,20 @@
                     return buildPreferenceControllers(context, null,
                             new AmbientDisplayConfiguration(context));
                 }
+
+                @Override
+                public List<String> getNonIndexableKeys(Context context) {
+                    List<String> keys = super.getNonIndexableKeys(context);
+                    // Duplicates in summary and details pages.
+                    keys.add(KEY_TEXT_TO_SPEECH);
+                    keys.add(KEY_ASSIST);
+                    keys.add(KEY_SWIPE_DOWN);
+                    keys.add(KEY_DOUBLE_TAP_POWER);
+                    keys.add(KEY_DOUBLE_TWIST);
+                    keys.add(KEY_DOUBLE_TAP_SCREEN);
+                    keys.add(KEY_PICK_UP);
+
+                    return keys;
+                }
             };
 }
diff --git a/src/com/android/settings/language/TtsPreferenceController.java b/src/com/android/settings/language/TtsPreferenceController.java
index 0d1c753..a734e4b 100644
--- a/src/com/android/settings/language/TtsPreferenceController.java
+++ b/src/com/android/settings/language/TtsPreferenceController.java
@@ -23,7 +23,8 @@
 
 public class TtsPreferenceController extends PreferenceController {
 
-    private static final String KEY_TTS_SETTINGS = "tts_settings";
+    private static final String KEY_VOICE_CATEGORY = "voice_category";
+    private static final String KEY_TTS_SETTINGS = "tts_settings_summary";
 
     private final TtsEngines mTtsEngines;
 
diff --git a/src/com/android/settings/notification/ConfigureNotificationSettings.java b/src/com/android/settings/notification/ConfigureNotificationSettings.java
index a1c5263..d9da051 100644
--- a/src/com/android/settings/notification/ConfigureNotificationSettings.java
+++ b/src/com/android/settings/notification/ConfigureNotificationSettings.java
@@ -35,6 +35,8 @@
 public class ConfigureNotificationSettings extends DashboardFragment {
     private static final String TAG = "ConfigNotiSettings";
 
+    private static final String KEY_SWIPE_DOWN = "gesture_swipe_down_fingerprint_notifications";
+
     @Override
     public int getMetricsCategory() {
         return MetricsEvent.CONFIGURE_NOTIFICATION;
@@ -68,7 +70,8 @@
             lifecycle.addObserver(pulseController);
             lifecycle.addObserver(lockScreenNotificationController);
         }
-        controllers.add(new SwipeToNotificationPreferenceController(context, lifecycle));
+        controllers.add(new SwipeToNotificationPreferenceController(context, lifecycle,
+                KEY_SWIPE_DOWN));
         controllers.add(badgeController);
         controllers.add(pulseController);
         controllers.add(lockScreenNotificationController);
diff --git a/src/com/android/settings/wifi/details/WifiDetailPreferenceController.java b/src/com/android/settings/wifi/details/WifiDetailPreferenceController.java
index dd1e4a4..a5d922d 100644
--- a/src/com/android/settings/wifi/details/WifiDetailPreferenceController.java
+++ b/src/com/android/settings/wifi/details/WifiDetailPreferenceController.java
@@ -225,7 +225,7 @@
 
         mButtonsPref = (LayoutPreference) screen.findPreference(KEY_BUTTONS_PREF);
         mSignInButton = (Button) mButtonsPref.findViewById(R.id.right_button);
-        mSignInButton.setText(com.android.internal.R.string.network_available_sign_in);
+        mSignInButton.setText(R.string.support_sign_in_button_text);
         mSignInButton.setOnClickListener(
             view -> mConnectivityManagerWrapper.startCaptivePortalApp(mNetwork));
 
diff --git a/tests/robotests/assets/whitelist_duplicate_index_key b/tests/robotests/assets/whitelist_duplicate_index_key
index 5b5153c..6ced706 100644
--- a/tests/robotests/assets/whitelist_duplicate_index_key
+++ b/tests/robotests/assets/whitelist_duplicate_index_key
@@ -1,12 +1,6 @@
 add_users_when_locked
 additional_system_update_settings
 dashboard_tile_placeholder
-gesture_assist
-gesture_double_tap_power
-gesture_double_tap_screen
-gesture_double_twist
-gesture_pick_up
-gesture_swipe_down_fingerprint
 lock_screen_notifications
 screen_zoom
 usage_access
\ No newline at end of file
diff --git a/tests/robotests/src/com/android/settings/DisplaySettingsTest.java b/tests/robotests/src/com/android/settings/DisplaySettingsTest.java
new file mode 100644
index 0000000..f0c87cf
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/DisplaySettingsTest.java
@@ -0,0 +1,36 @@
+package com.android.settings;
+
+import android.content.Context;
+import com.android.settings.core.PreferenceController;
+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.ArrayList;
+import java.util.List;
+
+import static com.google.common.truth.Truth.assertThat;
+
+@RunWith(SettingsRobolectricTestRunner.class)
+@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
+public class DisplaySettingsTest {
+
+    @Test
+    public void testPreferenceControllers_getPreferenceKeys_existInPreferenceScreen() {
+        final Context context = RuntimeEnvironment.application;
+        final DisplaySettings fragment = new DisplaySettings();
+        final List<String> preferenceScreenKeys = XmlTestUtils.getKeysFromPreferenceXml(context,
+                fragment.getPreferenceScreenResId());
+        final List<String> preferenceKeys = new ArrayList<>();
+
+        for (PreferenceController controller : fragment.getPreferenceControllers(context)) {
+            preferenceKeys.add(controller.getPreferenceKey());
+        }
+        // Nightmode is currently hidden
+        preferenceKeys.remove("night_mode");
+
+        assertThat(preferenceScreenKeys).containsAllIn(preferenceKeys);
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/applications/InstalledAppDetailsTest.java b/tests/robotests/src/com/android/settings/applications/InstalledAppDetailsTest.java
index 17910bf..a09aeec 100644
--- a/tests/robotests/src/com/android/settings/applications/InstalledAppDetailsTest.java
+++ b/tests/robotests/src/com/android/settings/applications/InstalledAppDetailsTest.java
@@ -18,6 +18,7 @@
 
 
 import static com.google.common.truth.Truth.assertThat;
+
 import static org.mockito.Matchers.any;
 import static org.mockito.Matchers.anyString;
 import static org.mockito.Mockito.doReturn;
@@ -65,12 +66,17 @@
 import org.robolectric.annotation.Config;
 import org.robolectric.util.ReflectionHelpers;
 
+import java.util.ArrayList;
+import java.util.List;
+
 
 @RunWith(SettingsRobolectricTestRunner.class)
 @Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
 public final class InstalledAppDetailsTest {
 
     private static final String PACKAGE_NAME = "test_package_name";
+    private static final int TARGET_UID = 111;
+    private static final int OTHER_UID = 222;
 
     @Mock(answer = Answers.RETURNS_DEEP_STUBS)
     private Context mContext;
@@ -87,6 +93,8 @@
     @Mock
     private BatterySipper mBatterySipper;
     @Mock
+    private BatterySipper mOtherBatterySipper;
+    @Mock
     private BatteryStatsHelper mBatteryStatsHelper;
     @Mock
     private BatteryStats.Uid mUid;
@@ -105,6 +113,8 @@
 
         mBatterySipper.drainType = BatterySipper.DrainType.IDLE;
         mBatterySipper.uidObj = mUid;
+        doReturn(TARGET_UID).when(mBatterySipper).getUid();
+        doReturn(OTHER_UID).when(mOtherBatterySipper).getUid();
         doReturn(mActivity).when(mAppDetail).getActivity();
         doReturn(mShadowContext).when(mAppDetail).getContext();
         doReturn(mPackageManager).when(mActivity).getPackageManager();
@@ -388,4 +398,15 @@
 
         verify(mActivity).invalidateOptionsMenu();
     }
+
+    @Test
+    public void findTargetSipper_findCorrectSipper() {
+        List<BatterySipper> usageList = new ArrayList<>();
+        usageList.add(mBatterySipper);
+        usageList.add(mOtherBatterySipper);
+        doReturn(usageList).when(mBatteryStatsHelper).getUsageList();
+
+        assertThat(mAppDetail.findTargetSipper(mBatteryStatsHelper, TARGET_UID)).isEqualTo(
+                mBatterySipper);
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/BatteryUtilsTest.java b/tests/robotests/src/com/android/settings/fuelgauge/BatteryUtilsTest.java
index f6a8587..03759ec 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/BatteryUtilsTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/BatteryUtilsTest.java
@@ -214,12 +214,6 @@
     }
 
     @Test
-    public void testShouldHideSipper_TypeWifi_ReturnTrue() {
-        mNormalBatterySipper.drainType = BatterySipper.DrainType.WIFI;
-        assertThat(mBatteryUtils.shouldHideSipper(mNormalBatterySipper)).isTrue();
-    }
-
-    @Test
     public void testShouldHideSipper_TypeCell_ReturnTrue() {
         mNormalBatterySipper.drainType = BatterySipper.DrainType.CELL;
         assertThat(mBatteryUtils.shouldHideSipper(mNormalBatterySipper)).isTrue();
@@ -232,12 +226,6 @@
     }
 
     @Test
-    public void testShouldHideSipper_TypeBluetooth_ReturnTrue() {
-        mNormalBatterySipper.drainType = BatterySipper.DrainType.BLUETOOTH;
-        assertThat(mBatteryUtils.shouldHideSipper(mNormalBatterySipper)).isTrue();
-    }
-
-    @Test
     public void testShouldHideSipper_TypeSystem_ReturnTrue() {
         mNormalBatterySipper.drainType = BatterySipper.DrainType.APP;
         when(mNormalBatterySipper.getUid()).thenReturn(Process.ROOT_UID);
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/PowerUsageSummaryTest.java b/tests/robotests/src/com/android/settings/fuelgauge/PowerUsageSummaryTest.java
index 0856d2d..615424c 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/PowerUsageSummaryTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/PowerUsageSummaryTest.java
@@ -17,7 +17,6 @@
 
 import android.content.Context;
 import android.content.Intent;
-import android.os.Bundle;
 import android.os.PowerManager;
 import android.os.Process;
 import android.text.TextUtils;
@@ -130,6 +129,8 @@
     @Mock
     private LayoutPreference mBatteryLayoutPref;
     @Mock
+    private TextView mBatteryPercentText;
+    @Mock
     private TextView mSummary1;
     @Mock
     private BatteryInfo mBatteryInfo;
@@ -140,7 +141,6 @@
     @Mock
     private SettingsActivity mSettingsActivity;
 
-    private TextView mBatteryPercentText;
     private List<BatterySipper> mUsageList;
     private Context mRealContext;
     private TestFragment mFragment;
@@ -164,7 +164,7 @@
         mLastFullChargePref = new PowerGaugePreference(mRealContext);
         mFragment = spy(new TestFragment(mContext));
         mFragment.initFeatureProvider();
-        mBatteryMeterView = spy(new BatteryMeterView(mRealContext));
+        mBatteryMeterView = new BatteryMeterView(mRealContext);
         mBatteryMeterView.mDrawable = new BatteryMeterView.BatteryMeterDrawable(mRealContext, 0);
         doNothing().when(mFragment).restartBatteryStatsLoader();
 
@@ -187,7 +187,6 @@
         mCellBatterySipper.drainType = BatterySipper.DrainType.CELL;
         mCellBatterySipper.totalPowerMah = POWER_MAH;
 
-        mBatteryPercentText = new TextView(mRealContext);
         when(mBatteryLayoutPref.findViewById(R.id.summary1)).thenReturn(mSummary1);
         when(mBatteryLayoutPref.findViewById(R.id.battery_percent)).thenReturn(mBatteryPercentText);
         when(mBatteryLayoutPref.findViewById(R.id.battery_header_icon))
@@ -281,50 +280,6 @@
     }
 
     @Test
-    public void testInitHeaderPreference_initCorrectly() {
-        mFragment.mBatteryLevel = 100;
-
-        mFragment.initHeaderPreference();
-
-        assertThat(mBatteryMeterView.getBatteryLevel()).isEqualTo(100);
-        assertThat(mBatteryPercentText.getText().toString()).isEqualTo("100%");
-    }
-
-    @Test
-    public void testStartBatteryHeaderAnimationIfNecessary_batteryLevelChanged_animationStarted() {
-        final int prevLevel = 100;
-        final int curLevel = 80;
-
-        mFragment.startBatteryHeaderAnimationIfNecessary(mBatteryMeterView, mBatteryPercentText,
-                prevLevel, curLevel);
-
-        assertThat(mBatteryMeterView.getBatteryLevel()).isEqualTo(curLevel);
-        assertThat(mBatteryPercentText.getText().toString()).isEqualTo("80%");
-    }
-
-    @Test
-    public void testOnSaveInstanceState_saveBatteryLevel() {
-        Bundle bundle = new Bundle();
-        mFragment.mBatteryLevel = BATTERY_LEVEL;
-        // mock it to stop crash in getPreferenceScreen
-        doReturn(null).when(mFragment).getPreferenceScreen();
-
-        mFragment.onSaveInstanceState(bundle);
-
-        assertThat(bundle.getInt(PowerUsageSummary.ARG_BATTERY_LEVEL)).isEqualTo(BATTERY_LEVEL);
-    }
-
-    @Test
-    public void testOnActivityCreated_setBatteryLevel() {
-        Bundle bundle = new Bundle();
-        bundle.putInt(PowerUsageSummary.ARG_BATTERY_LEVEL, BATTERY_LEVEL);
-
-        mFragment.onActivityCreated(bundle);
-
-        assertThat(mFragment.mBatteryLevel).isEqualTo(BATTERY_LEVEL);
-    }
-
-    @Test
     public void testExtractKeyFromSipper_typeAPPUidObjectNull_returnPackageNames() {
         mNormalBatterySipper.uidObj = null;
         mNormalBatterySipper.drainType = BatterySipper.DrainType.APP;
@@ -362,10 +317,10 @@
     @Test
     public void testSetUsageSummary_timeMoreThanOneMinute_setSummary() {
         final long usageTimeMs = 2 * DateUtils.MINUTE_IN_MILLIS;
-        doReturn(mRealContext.getText(R.string.battery_used_for)).when(mFragment).getText(
-                R.string.battery_used_for);
+        doReturn(mRealContext.getText(R.string.battery_screen_usage)).when(mFragment).getText(
+                R.string.battery_screen_usage);
         doReturn(mRealContext).when(mFragment).getContext();
-        final String expectedSummary = "Used for 2m";
+        final String expectedSummary = "Screen usage 2m";
 
         mFragment.setUsageSummary(mPreference, usageTimeMs);
 
diff --git a/tests/robotests/src/com/android/settings/gestures/AssistGesturePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/gestures/AssistGesturePreferenceControllerTest.java
index 9862f83..e83e237 100644
--- a/tests/robotests/src/com/android/settings/gestures/AssistGesturePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/gestures/AssistGesturePreferenceControllerTest.java
@@ -52,12 +52,14 @@
     private FakeFeatureFactory mFactory;
     private AssistGesturePreferenceController mController;
 
+    private static final String KEY_ASSIST = "gesture_assist";
+
     @Before
     public void setUp() {
         MockitoAnnotations.initMocks(this);
         FakeFeatureFactory.setupForTest(mContext);
         mFactory = (FakeFeatureFactory) FakeFeatureFactory.getFactory(mContext);
-        mController = new AssistGesturePreferenceController(mContext, null);
+        mController = new AssistGesturePreferenceController(mContext, null, KEY_ASSIST);
     }
 
     @Test
@@ -77,7 +79,7 @@
         // Set the setting to be enabled.
         final Context context = ShadowApplication.getInstance().getApplicationContext();
         Settings.System.putInt(context.getContentResolver(), ASSIST_GESTURE_ENABLED, 1);
-        mController = new AssistGesturePreferenceController(context, null);
+        mController = new AssistGesturePreferenceController(context, null, KEY_ASSIST);
 
         assertThat(mController.isSwitchPrefEnabled()).isTrue();
     }
@@ -87,7 +89,7 @@
         // Set the setting to be disabled.
         final Context context = ShadowApplication.getInstance().getApplicationContext();
         Settings.System.putInt(context.getContentResolver(), ASSIST_GESTURE_ENABLED, 0);
-        mController = new AssistGesturePreferenceController(context, null);
+        mController = new AssistGesturePreferenceController(context, null, KEY_ASSIST);
 
         assertThat(mController.isSwitchPrefEnabled()).isFalse();
     }
diff --git a/tests/robotests/src/com/android/settings/gestures/DoubleTapPowerPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/gestures/DoubleTapPowerPreferenceControllerTest.java
index bdb3522..d7961e3 100644
--- a/tests/robotests/src/com/android/settings/gestures/DoubleTapPowerPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/gestures/DoubleTapPowerPreferenceControllerTest.java
@@ -47,11 +47,12 @@
     @Mock(answer = Answers.RETURNS_DEEP_STUBS)
     private PreferenceScreen mScreen;
     private DoubleTapPowerPreferenceController mController;
+    private static final String KEY_DOUBLE_TAP_POWER = "gesture_double_tap_power";
 
     @Before
     public void setUp() {
         MockitoAnnotations.initMocks(this);
-        mController = new DoubleTapPowerPreferenceController(mContext, null);
+        mController = new DoubleTapPowerPreferenceController(mContext, null, KEY_DOUBLE_TAP_POWER);
     }
 
     @Test
@@ -78,7 +79,7 @@
         final Context context = ShadowApplication.getInstance().getApplicationContext();
         Settings.System.putInt(context.getContentResolver(),
                 CAMERA_DOUBLE_TAP_POWER_GESTURE_DISABLED, 0);
-        mController = new DoubleTapPowerPreferenceController(context, null);
+        mController = new DoubleTapPowerPreferenceController(context, null, KEY_DOUBLE_TAP_POWER);
 
         assertThat(mController.isSwitchPrefEnabled()).isTrue();
     }
@@ -89,7 +90,7 @@
         final Context context = ShadowApplication.getInstance().getApplicationContext();
         Settings.System.putInt(context.getContentResolver(),
                 CAMERA_DOUBLE_TAP_POWER_GESTURE_DISABLED, 1);
-        mController = new DoubleTapPowerPreferenceController(context, null);
+        mController = new DoubleTapPowerPreferenceController(context, null, KEY_DOUBLE_TAP_POWER);
 
         assertThat(mController.isSwitchPrefEnabled()).isFalse();
     }
diff --git a/tests/robotests/src/com/android/settings/gestures/DoubleTapScreenPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/gestures/DoubleTapScreenPreferenceControllerTest.java
index adf8b75..442d11d 100644
--- a/tests/robotests/src/com/android/settings/gestures/DoubleTapScreenPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/gestures/DoubleTapScreenPreferenceControllerTest.java
@@ -46,11 +46,13 @@
     private AmbientDisplayConfiguration mAmbientDisplayConfiguration;
     private DoubleTapScreenPreferenceController mController;
 
+    private static final String KEY_DOUBLE_TAP_SCREEN = "gesture_double_tap_screen";
+
     @Before
     public void setUp() {
         MockitoAnnotations.initMocks(this);
         mController = new DoubleTapScreenPreferenceController(
-                mContext, null, mAmbientDisplayConfiguration, 0);
+                mContext, null, mAmbientDisplayConfiguration, 0, KEY_DOUBLE_TAP_SCREEN);
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/gestures/DoubleTwistPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/gestures/DoubleTwistPreferenceControllerTest.java
index 9bf6655..8393fc3 100644
--- a/tests/robotests/src/com/android/settings/gestures/DoubleTwistPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/gestures/DoubleTwistPreferenceControllerTest.java
@@ -53,11 +53,12 @@
     @Mock(answer = Answers.RETURNS_DEEP_STUBS)
     private SensorManager mSensorManager;
     private DoubleTwistPreferenceController mController;
+    private static final String KEY_DOUBLE_TWIST = "gesture_double_twist";
 
     @Before
     public void setUp() {
         MockitoAnnotations.initMocks(this);
-        mController = new DoubleTwistPreferenceController(mContext, null);
+        mController = new DoubleTwistPreferenceController(mContext, null, KEY_DOUBLE_TWIST);
     }
 
     @Test
@@ -98,7 +99,7 @@
         final Context context = ShadowApplication.getInstance().getApplicationContext();
         Settings.System.putInt(context.getContentResolver(),
                 CAMERA_DOUBLE_TWIST_TO_FLIP_ENABLED, 1);
-        mController = new DoubleTwistPreferenceController(context, null);
+        mController = new DoubleTwistPreferenceController(context, null, KEY_DOUBLE_TWIST);
 
         assertThat(mController.isSwitchPrefEnabled()).isTrue();
     }
@@ -109,7 +110,7 @@
         final Context context = ShadowApplication.getInstance().getApplicationContext();
         Settings.System.putInt(context.getContentResolver(),
                 CAMERA_DOUBLE_TWIST_TO_FLIP_ENABLED, 0);
-        mController = new DoubleTwistPreferenceController(context, null);
+        mController = new DoubleTwistPreferenceController(context, null, KEY_DOUBLE_TWIST);
 
         assertThat(mController.isSwitchPrefEnabled()).isFalse();
     }
diff --git a/tests/robotests/src/com/android/settings/gestures/PIckupGesturePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/gestures/PIckupGesturePreferenceControllerTest.java
index 9dce074..46c0f65 100644
--- a/tests/robotests/src/com/android/settings/gestures/PIckupGesturePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/gestures/PIckupGesturePreferenceControllerTest.java
@@ -47,11 +47,13 @@
 
     private PickupGesturePreferenceController mController;
 
+    private static final String KEY_PICK_UP = "gesture_pick_up";
+
     @Before
     public void setUp() {
         MockitoAnnotations.initMocks(this);
         mController = new PickupGesturePreferenceController(
-                mContext, null, mAmbientDisplayConfiguration, 0);
+                mContext, null, mAmbientDisplayConfiguration, 0, KEY_PICK_UP);
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/gestures/SwipeToNotificationPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/gestures/SwipeToNotificationPreferenceControllerTest.java
index e909667..cf26cb2 100644
--- a/tests/robotests/src/com/android/settings/gestures/SwipeToNotificationPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/gestures/SwipeToNotificationPreferenceControllerTest.java
@@ -45,11 +45,12 @@
     private Context mContext;
 
     private SwipeToNotificationPreferenceController mController;
+    private static final String KEY_SWIPE_DOWN = "gesture_swipe_down_fingerprint";
 
     @Before
     public void setUp() {
         MockitoAnnotations.initMocks(this);
-        mController = new SwipeToNotificationPreferenceController(mContext, null);
+        mController = new SwipeToNotificationPreferenceController(mContext, null, KEY_SWIPE_DOWN);
     }
 
     @Test
@@ -75,7 +76,7 @@
         // Set the setting to be enabled.
         final Context context = ShadowApplication.getInstance().getApplicationContext();
         Settings.System.putInt(context.getContentResolver(), SYSTEM_NAVIGATION_KEYS_ENABLED, 1);
-        mController = new SwipeToNotificationPreferenceController(context, null);
+        mController = new SwipeToNotificationPreferenceController(context, null, KEY_SWIPE_DOWN);
 
         assertThat(mController.isSwitchPrefEnabled()).isTrue();
     }
@@ -85,7 +86,7 @@
         // Set the setting to be disabled.
         final Context context = ShadowApplication.getInstance().getApplicationContext();
         Settings.System.putInt(context.getContentResolver(), SYSTEM_NAVIGATION_KEYS_ENABLED, 0);
-        mController = new SwipeToNotificationPreferenceController(context, null);
+        mController = new SwipeToNotificationPreferenceController(context, null, KEY_SWIPE_DOWN);
 
         assertThat(mController.isSwitchPrefEnabled()).isFalse();
     }
diff --git a/tests/robotests/src/com/android/settings/language/LanguageAndInputSettingsTest.java b/tests/robotests/src/com/android/settings/language/LanguageAndInputSettingsTest.java
index 8c23cbf..527b1cd 100644
--- a/tests/robotests/src/com/android/settings/language/LanguageAndInputSettingsTest.java
+++ b/tests/robotests/src/com/android/settings/language/LanguageAndInputSettingsTest.java
@@ -18,7 +18,9 @@
 
 import static com.google.common.truth.Truth.assertThat;
 import static org.mockito.Matchers.any;
+import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.spy;
 import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
@@ -44,6 +46,8 @@
 import com.android.settings.core.lifecycle.Lifecycle;
 import com.android.settings.core.lifecycle.LifecycleObserver;
 import com.android.settings.dashboard.SummaryLoader;
+import com.android.settings.fuelgauge.PowerUsageSummary;
+import com.android.settings.testutils.XmlTestUtils;
 import com.android.settings.testutils.shadow.ShadowSecureSettings;
 
 import org.junit.Before;
@@ -52,6 +56,7 @@
 import org.mockito.Answers;
 import org.mockito.Mock;
 import org.mockito.MockitoAnnotations;
+import org.robolectric.RuntimeEnvironment;
 import org.robolectric.annotation.Config;
 
 import java.util.ArrayList;
@@ -144,6 +149,37 @@
         verify(loader).setSummary(provider, null);
     }
 
+    @Test
+    public void testNonIndexableKeys_existInXmlLayout() {
+        final Context context = spy(RuntimeEnvironment.application);
+        //(InputManager) context.getSystemService(Context.INPUT_SERVICE);
+        InputManager manager = mock(InputManager.class);
+        when(manager.getInputDeviceIds()).thenReturn(new int[]{});
+        doReturn(manager).when(context).getSystemService(Context.INPUT_SERVICE);
+        final List<String> niks = LanguageAndInputSettings.SEARCH_INDEX_DATA_PROVIDER
+                .getNonIndexableKeys(context);
+        final int xmlId = (new LanguageAndInputSettings()).getPreferenceScreenResId();
+
+        final List<String> keys = XmlTestUtils.getKeysFromPreferenceXml(context, xmlId);
+
+        assertThat(keys).containsAllIn(niks);
+    }
+
+    @Test
+    public void testPreferenceControllers_getPreferenceKeys_existInPreferenceScreen() {
+        final Context context = RuntimeEnvironment.application;
+        final LanguageAndInputSettings fragment = new LanguageAndInputSettings();
+        final List<String> preferenceScreenKeys = XmlTestUtils.getKeysFromPreferenceXml(context,
+                fragment.getPreferenceScreenResId());
+        final List<String> preferenceKeys = new ArrayList<>();
+
+        for (PreferenceController controller : fragment.getPreferenceControllers(context)) {
+            preferenceKeys.add(controller.getPreferenceKey());
+        }
+
+        assertThat(preferenceScreenKeys).containsAllIn(preferenceKeys);
+    }
+
     /**
      * Test fragment to expose lifecycle and context so we can verify behavior for observables.
      */
diff --git a/tests/robotests/src/com/android/settings/search/BaseSearchIndexProviderTest.java b/tests/robotests/src/com/android/settings/search/BaseSearchIndexProviderTest.java
index 6175093..42c5301 100644
--- a/tests/robotests/src/com/android/settings/search/BaseSearchIndexProviderTest.java
+++ b/tests/robotests/src/com/android/settings/search/BaseSearchIndexProviderTest.java
@@ -108,7 +108,7 @@
             public List<SearchIndexableResource> getXmlResourcesToIndex(Context context,
                     boolean enabled) {
                 final SearchIndexableResource sir = new SearchIndexableResource(context);
-                sir.xmlResId = R.xml.language_and_input;
+                sir.xmlResId = R.xml.data_usage;
                 return Arrays.asList(sir);
             }
 
@@ -121,13 +121,7 @@
         final List<String> nonIndexableKeys = provider
                 .getNonIndexableKeys(RuntimeEnvironment.application);
 
-        assertThat(nonIndexableKeys).containsAllOf("phone_language", "spellcheckers_settings",
-                "key_user_dictionary_settings", "gesture_settings_category", "gesture_assist",
-                "gesture_swipe_down_fingerprint", "gesture_double_tap_power",
-                "gesture_double_twist", "gesture_double_tap_screen", "gesture_pick_up",
-                "pointer_speed", "tts_settings",
-                "game_controller_settings_category", "vibrate_input_devices");
+        assertThat(nonIndexableKeys).containsAllOf("status_header", "limit_summary",
+                "restrict_background");
     }
-
-
 }