diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 3f3cfd7..37edca7 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -859,7 +859,7 @@
                 <category android:name="android.intent.category.DEFAULT" />
                 <category android:name="android.intent.category.VOICE_LAUNCH" />
             </intent-filter>
-            <intent-filter android:priority="9">
+            <intent-filter android:priority="10">
                 <action android:name="com.android.settings.action.SETTINGS" />
             </intent-filter>
             <meta-data android:name="com.android.settings.category"
@@ -885,7 +885,7 @@
                 <category android:name="android.intent.category.VOICE_LAUNCH" />
                 <category android:name="com.android.settings.SHORTCUT" />
             </intent-filter>
-            <intent-filter android:priority="8">
+            <intent-filter android:priority="9">
                 <action android:name="com.android.settings.action.SETTINGS" />
             </intent-filter>
             <meta-data android:name="com.android.settings.category"
@@ -1932,16 +1932,6 @@
                 android:value="com.android.settings.wfd.WifiDisplaySettings" />
         </activity>
 
-
-        <!-- Development settings -->
-
-        <!-- DeviceInfo adds the user's requested build to stats upload.  -->
-        <receiver android:name=".DeviceInfo$StatsReportReceiver">
-            <intent-filter>
-                <action android:name="android.intent.action.STATISTICS_REPORT" />
-            </intent-filter>
-        </receiver>
-
         <activity android:name="Display" android:label="@string/display_label"
                 android:configChanges="fontScale"
                 android:taskAffinity="com.android.settings"
@@ -2158,6 +2148,17 @@
             </intent-filter>
         </activity>
 
+        <!-- Triggered when user-selected home app isn't encryption aware -->
+        <activity android:name=".FallbackHome"
+                  android:excludeFromRecents="true"
+                  android:theme="@android:style/Theme.Translucent.NoTitleBar">
+            <intent-filter android:priority="-10">
+                <action android:name="android.intent.action.MAIN" />
+                <category android:name="android.intent.category.HOME" />
+                <category android:name="android.intent.category.DEFAULT" />
+            </intent-filter>
+        </activity>
+
         <activity android:name=".CryptKeeper$FadeToBlack"
             android:immersive="true"
             android:launchMode="singleTop"
@@ -2336,8 +2337,8 @@
                        android:value="com.android.settings.notification.ZenAccessSettings" />
         </activity>
 
-        <activity android:name="Settings$NotificationSettingsActivity"
-                android:label="@string/notification_settings"
+        <activity android:name="Settings$ConfigureNotificationSettingsActivity"
+                android:label="@string/configure_notification_settings"
                 android:icon="@drawable/ic_settings_notifications"
                 android:exported="true"
                 android:taskAffinity="">
@@ -2350,22 +2351,18 @@
                 <category android:name="android.intent.category.DEFAULT" />
                 <category android:name="com.android.settings.SHORTCUT" />
             </intent-filter>
-            <intent-filter android:priority="7">
-                <action android:name="com.android.settings.action.SETTINGS" />
-            </intent-filter>
-            <meta-data android:name="com.android.settings.category"
-                android:value="com.android.settings.category.device" />
             <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
-                android:value="com.android.settings.notification.NotificationSettings" />
+                android:value="com.android.settings.notification.ConfigureNotificationSettings" />
             <meta-data android:name="com.android.settings.PRIMARY_PROFILE_CONTROLLED"
                 android:value="true" />
         </activity>
 
         <!-- Keep compatibility with old shortcuts. -->
-        <activity-alias android:name="Settings$SoundSettingsActivity"
-                android:label="@string/notification_settings"
+        <activity android:name="Settings$SoundSettingsActivity"
+                android:label="@string/sound_settings"
+                android:icon="@drawable/ic_settings_sound"
                 android:taskAffinity=""
-                android:targetActivity="Settings$NotificationSettingsActivity">
+                android:exported="true">
             <intent-filter android:priority="1">
                 <action android:name="com.android.settings.SOUND_SETTINGS" />
                 <action android:name="android.settings.SOUND_SETTINGS" />
@@ -2375,20 +2372,26 @@
                 <action android:name="android.intent.action.MAIN" />
                 <category android:name="android.intent.category.DEFAULT" />
                 <category android:name="android.intent.category.VOICE_LAUNCH" />
+                <category android:name="com.android.settings.SHORTCUT" />
             </intent-filter>
+            <intent-filter android:priority="7">
+                <action android:name="com.android.settings.action.SETTINGS" />
+            </intent-filter>
+            <meta-data android:name="com.android.settings.category"
+                       android:value="com.android.settings.category.device" />
             <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
-                android:value="com.android.settings.notification.NotificationSettings" />
+                android:value="com.android.settings.notification.SoundSettings" />
             <meta-data android:name="com.android.settings.PRIMARY_PROFILE_CONTROLLED"
                 android:value="true" />
-        </activity-alias>
+        </activity>
 
         <!-- Keep compatibility with old shortcuts. -->
         <activity-alias android:name="SoundSettings"
-                android:label="@string/notification_settings"
+                android:label="@string/sound_settings"
                 android:exported="true"
-                android:targetActivity="Settings$NotificationSettingsActivity">
+                android:targetActivity="Settings$SoundSettingsActivity">
             <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
-                android:value="com.android.settings.notification.NotificationSettings" />
+                android:value="com.android.settings.notification.SoundSettings" />
         </activity-alias>
 
         <activity android:name="Settings$OtherSoundSettingsActivity"
@@ -2412,8 +2415,14 @@
         <!-- Show apps for which application-level notification settings are applicable -->
         <activity android:name="Settings$NotificationAppListActivity"
                 android:label="@string/app_notifications_title"
+                android:icon="@drawable/ic_settings_notifications"
                 android:exported="true"
                 android:taskAffinity="">
+            <intent-filter android:priority="8">
+                <action android:name="com.android.settings.action.SETTINGS" />
+            </intent-filter>
+            <meta-data android:name="com.android.settings.category"
+                       android:value="com.android.settings.category.device" />
             <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
                 android:value="com.android.settings.applications.ManageApplications" />
         </activity>
diff --git a/res/menu/zen_settings_menu.xml b/res/menu/zen_settings_menu.xml
new file mode 100644
index 0000000..ff28403
--- /dev/null
+++ b/res/menu/zen_settings_menu.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2015 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<menu xmlns:android="http://schemas.android.com/apk/res/android">
+    <item
+        android:id="@+id/zen_access"
+        android:title="@string/manage_zen_access_title"
+        android:showAsAction="never" />
+</menu>
diff --git a/res/values-af/strings.xml b/res/values-af/strings.xml
index 91995cc..0411030 100644
--- a/res/values-af/strings.xml
+++ b/res/values-af/strings.xml
@@ -313,6 +313,7 @@
     <string name="security_settings_summary" msgid="967393342537986570">"Stel my ligging, ontsluit skerm, sluit SIM-kaart, eiebewys sluit"</string>
     <string name="cdma_security_settings_summary" msgid="6068799952798901542">"Stel my ligging, skermontsluiting, eiebewysbergingslot"</string>
     <string name="security_passwords_title" msgid="2930627259125138363">"Wagwoorde"</string>
+    <string name="disabled_by_administrator_summary" msgid="5989801404248162477">"Gedeaktiveer deur administrateur"</string>
     <string name="security_settings_fingerprint_preference_title" msgid="2488725232406204350">"Vingerafdruk"</string>
     <string name="fingerprint_manage_category_title" msgid="8293801041700001681">"Bestuur vingerafdrukke"</string>
     <string name="fingerprint_usage_category_title" msgid="8438526918999536619">"Gebruik vingerafdruk vir"</string>
diff --git a/res/values-am/strings.xml b/res/values-am/strings.xml
index 03205a2..2ec1986 100644
--- a/res/values-am/strings.xml
+++ b/res/values-am/strings.xml
@@ -313,6 +313,7 @@
     <string name="security_settings_summary" msgid="967393342537986570">"የእኔን ስፍራ፣ማያ ክፈት፣SIM ካርድ ሽንጉር፣ መረጃ ማከማቻ ሽንጉር አዘጋጅ።"</string>
     <string name="cdma_security_settings_summary" msgid="6068799952798901542">"የእኔን ስፍራ፣ማያ ክፈት፣ መረጃ ማከማቻ ሽንጉር አዘጋጅ።"</string>
     <string name="security_passwords_title" msgid="2930627259125138363">"የይለፍ ቃሎች"</string>
+    <string name="disabled_by_administrator_summary" msgid="5989801404248162477">"በአስተዳዳሪ የተሰናከለ"</string>
     <string name="security_settings_fingerprint_preference_title" msgid="2488725232406204350">"የጣት አሻራ"</string>
     <string name="fingerprint_manage_category_title" msgid="8293801041700001681">"የጣት አሻራዎችን ያስተዳድሩ"</string>
     <string name="fingerprint_usage_category_title" msgid="8438526918999536619">"የጣት አሻራን ይጠቀሙ ለ"</string>
diff --git a/res/values-ar/strings.xml b/res/values-ar/strings.xml
index 5cbd71a..e4e30bd 100644
--- a/res/values-ar/strings.xml
+++ b/res/values-ar/strings.xml
@@ -317,6 +317,7 @@
     <string name="security_settings_summary" msgid="967393342537986570">"‏تعيين موقعي، إلغاء تأمين الشاشة، تأمين شريحة SIM، تأمين تخزين الاعتماد"</string>
     <string name="cdma_security_settings_summary" msgid="6068799952798901542">"تعيين موقعي، إلغاء تأمين الشاشة، تأمين تخزين الاعتماد"</string>
     <string name="security_passwords_title" msgid="2930627259125138363">"كلمات المرور"</string>
+    <string name="disabled_by_administrator_summary" msgid="5989801404248162477">"معطّل بواسطة المشرف"</string>
     <string name="security_settings_fingerprint_preference_title" msgid="2488725232406204350">"بصمة الإصبع"</string>
     <string name="fingerprint_manage_category_title" msgid="8293801041700001681">"إدارة بصمات الإصبع"</string>
     <string name="fingerprint_usage_category_title" msgid="8438526918999536619">"استخدام بصمة الإصبع في"</string>
diff --git a/res/values-az-rAZ/strings.xml b/res/values-az-rAZ/strings.xml
index 772f9b6..7b38922 100644
--- a/res/values-az-rAZ/strings.xml
+++ b/res/values-az-rAZ/strings.xml
@@ -313,6 +313,7 @@
     <string name="security_settings_summary" msgid="967393342537986570">"Məkanım\'ı, ekranı kiliddən çıxarmanı, hesab yaddaş kilidini ayarlayın,"</string>
     <string name="cdma_security_settings_summary" msgid="6068799952798901542">"Məkanım\'ı, ekranı kiliddən çıxarmanı, hesab yaddaş kilidini ayarlayın,"</string>
     <string name="security_passwords_title" msgid="2930627259125138363">"Parollar"</string>
+    <string name="disabled_by_administrator_summary" msgid="5989801404248162477">"Administrator tərəfindən deaktiv edildi"</string>
     <string name="security_settings_fingerprint_preference_title" msgid="2488725232406204350">"Barmaq izi"</string>
     <string name="fingerprint_manage_category_title" msgid="8293801041700001681">"Barmaq izlərini idarə edin"</string>
     <string name="fingerprint_usage_category_title" msgid="8438526918999536619">"Bunun üçün barmaq izi istifadə edin:"</string>
diff --git a/res/values-bg/strings.xml b/res/values-bg/strings.xml
index a3a9ac3..c2375fd 100644
--- a/res/values-bg/strings.xml
+++ b/res/values-bg/strings.xml
@@ -313,6 +313,7 @@
     <string name="security_settings_summary" msgid="967393342537986570">"Задаване на Моето местоположение, отключване на екран, заключване на SIM картата и на хранилището за идентификационни данни"</string>
     <string name="cdma_security_settings_summary" msgid="6068799952798901542">"Задаване на Моето местоположение, отключване на екран и заключване на хранилището за идентификационни данни"</string>
     <string name="security_passwords_title" msgid="2930627259125138363">"Пароли"</string>
+    <string name="disabled_by_administrator_summary" msgid="5989801404248162477">"Деактивирано от администратора"</string>
     <string name="security_settings_fingerprint_preference_title" msgid="2488725232406204350">"Отпечатък"</string>
     <string name="fingerprint_manage_category_title" msgid="8293801041700001681">"Отпечатъци: Управл."</string>
     <string name="fingerprint_usage_category_title" msgid="8438526918999536619">"Oтпечатък: Ползване за"</string>
diff --git a/res/values-bn-rBD/strings.xml b/res/values-bn-rBD/strings.xml
index 00a405b..0dee9eb 100644
--- a/res/values-bn-rBD/strings.xml
+++ b/res/values-bn-rBD/strings.xml
@@ -313,6 +313,7 @@
     <string name="security_settings_summary" msgid="967393342537986570">"আমার স্থান, স্ক্রীন আনলক, সিম কার্ড লক, ক্রেডেনশিয়াল সঞ্চয়স্থান লক সেট করুন"</string>
     <string name="cdma_security_settings_summary" msgid="6068799952798901542">"আমার স্থান, স্ক্রীন আনলক, ক্রেডেনশিয়াল সঞ্চয়স্থান লক সেট করুন"</string>
     <string name="security_passwords_title" msgid="2930627259125138363">"পাসওয়ার্ড"</string>
+    <string name="disabled_by_administrator_summary" msgid="5989801404248162477">"প্রশাসক দ্বারা অক্ষমিত"</string>
     <string name="security_settings_fingerprint_preference_title" msgid="2488725232406204350">"আঙ্গুলের ছাপ"</string>
     <string name="fingerprint_manage_category_title" msgid="8293801041700001681">"আঙ্গুলের ছাপগুলি পরিচালনা করুন"</string>
     <string name="fingerprint_usage_category_title" msgid="8438526918999536619">"এর জন্য আঙ্গুলের ছাপ ব্যবহার করুন"</string>
diff --git a/res/values-ca/strings.xml b/res/values-ca/strings.xml
index 0103c75..cb1c390 100644
--- a/res/values-ca/strings.xml
+++ b/res/values-ca/strings.xml
@@ -313,6 +313,7 @@
     <string name="security_settings_summary" msgid="967393342537986570">"Defineix La meva ubicació, el desbloqueig de la pantalla, el bloqueig de la targeta SIM i el bloqueig de l\'emmagatzematge de credencials"</string>
     <string name="cdma_security_settings_summary" msgid="6068799952798901542">"Defineix La meva ubicació, el desbloqueig de pantalla i el bloqueig d\'emmagatzematge de credencials"</string>
     <string name="security_passwords_title" msgid="2930627259125138363">"Contrasenyes"</string>
+    <string name="disabled_by_administrator_summary" msgid="5989801404248162477">"Opció desactivada per l\'administrador"</string>
     <string name="security_settings_fingerprint_preference_title" msgid="2488725232406204350">"Empremta digital"</string>
     <string name="fingerprint_manage_category_title" msgid="8293801041700001681">"Gest. empremtes digit."</string>
     <string name="fingerprint_usage_category_title" msgid="8438526918999536619">"Util. empr. digit. per"</string>
diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml
index f2f507c..4f564cb 100644
--- a/res/values-cs/strings.xml
+++ b/res/values-cs/strings.xml
@@ -315,6 +315,7 @@
     <string name="security_settings_summary" msgid="967393342537986570">"Moje poloha, odemknutí obrazovky, zámek SIM, zámek úložiště pověření"</string>
     <string name="cdma_security_settings_summary" msgid="6068799952798901542">"Nastavení funkce Moje poloha, odemknutí obrazovky a zamknutí úložiště pověření"</string>
     <string name="security_passwords_title" msgid="2930627259125138363">"Hesla"</string>
+    <string name="disabled_by_administrator_summary" msgid="5989801404248162477">"Zakázáno administrátorem"</string>
     <string name="security_settings_fingerprint_preference_title" msgid="2488725232406204350">"Otisk prstu"</string>
     <string name="fingerprint_manage_category_title" msgid="8293801041700001681">"Správa otisků prstů"</string>
     <string name="fingerprint_usage_category_title" msgid="8438526918999536619">"K čemu otisk používat"</string>
diff --git a/res/values-da/strings.xml b/res/values-da/strings.xml
index e1c20b4..fc73694 100644
--- a/res/values-da/strings.xml
+++ b/res/values-da/strings.xml
@@ -313,6 +313,7 @@
     <string name="security_settings_summary" msgid="967393342537986570">"Angiv Min placering, oplåsning af skærmen, låst SIM-kort og lager for loginoplysninger"</string>
     <string name="cdma_security_settings_summary" msgid="6068799952798901542">"Angiv Min placering, oplåsning af skærmen, lager for loginoplysninger"</string>
     <string name="security_passwords_title" msgid="2930627259125138363">"Adgangskoder"</string>
+    <string name="disabled_by_administrator_summary" msgid="5989801404248162477">"Deaktiveret af administratoren"</string>
     <string name="security_settings_fingerprint_preference_title" msgid="2488725232406204350">"Fingeraftryk"</string>
     <string name="fingerprint_manage_category_title" msgid="8293801041700001681">"Adm. fingeraftryk"</string>
     <string name="fingerprint_usage_category_title" msgid="8438526918999536619">"Brug fingeraftryk til"</string>
diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml
index 2e5ce3c..5ea5799 100644
--- a/res/values-de/strings.xml
+++ b/res/values-de/strings.xml
@@ -313,6 +313,7 @@
     <string name="security_settings_summary" msgid="967393342537986570">"Meinen Standort, Display-Entsperrung, SIM-Kartensperre und Sperre für Anmeldeinformationsspeicher festlegen"</string>
     <string name="cdma_security_settings_summary" msgid="6068799952798901542">"Meinen Standort, Display-Entsperrung, SIM-Kartensperrung und Sperrung des Anmeldeinformationsspeichers festlegen"</string>
     <string name="security_passwords_title" msgid="2930627259125138363">"Passwörter"</string>
+    <string name="disabled_by_administrator_summary" msgid="5989801404248162477">"Vom Administrator deaktiviert"</string>
     <string name="security_settings_fingerprint_preference_title" msgid="2488725232406204350">"Fingerabdruck"</string>
     <string name="fingerprint_manage_category_title" msgid="8293801041700001681">"Fingerabdrücke verwalten"</string>
     <string name="fingerprint_usage_category_title" msgid="8438526918999536619">"Abdruck nutzen für"</string>
diff --git a/res/values-el/strings.xml b/res/values-el/strings.xml
index a55792d..dd21bd7 100644
--- a/res/values-el/strings.xml
+++ b/res/values-el/strings.xml
@@ -313,6 +313,7 @@
     <string name="security_settings_summary" msgid="967393342537986570">"Ορισμός του \"Η τοποθεσία μου\", ξεκλειδώματος οθόνης, κλειδώματος κάρτας SIM, κλειδώματος αποθηκευτικού χώρου διαπιστευτηρίων"</string>
     <string name="cdma_security_settings_summary" msgid="6068799952798901542">"Ορισμός του \"Η τοποθεσία μου\", του ξεκλειδώματος οθόνης και του κλειδώματος αποθηκευτικού χώρου διαπιστευτηρίων"</string>
     <string name="security_passwords_title" msgid="2930627259125138363">"Κωδικοί πρόσβασης"</string>
+    <string name="disabled_by_administrator_summary" msgid="5989801404248162477">"Απενεργοποιήθηκε από το διαχειριστή"</string>
     <string name="security_settings_fingerprint_preference_title" msgid="2488725232406204350">"Δακτυλικά αποτυπώματα"</string>
     <string name="fingerprint_manage_category_title" msgid="8293801041700001681">"Διαχείριση μον.χαρακτ."</string>
     <string name="fingerprint_usage_category_title" msgid="8438526918999536619">"Χρήση μον.χαρακτ.για"</string>
diff --git a/res/values-en-rAU/strings.xml b/res/values-en-rAU/strings.xml
index 650c5bc..3a32303 100644
--- a/res/values-en-rAU/strings.xml
+++ b/res/values-en-rAU/strings.xml
@@ -313,6 +313,7 @@
     <string name="security_settings_summary" msgid="967393342537986570">"Set My Location, screen unlock, SIM card lock, credential storage lock"</string>
     <string name="cdma_security_settings_summary" msgid="6068799952798901542">"Set My Location, screen unlock, credential storage lock"</string>
     <string name="security_passwords_title" msgid="2930627259125138363">"Passwords"</string>
+    <string name="disabled_by_administrator_summary" msgid="5989801404248162477">"Disabled by administrator"</string>
     <string name="security_settings_fingerprint_preference_title" msgid="2488725232406204350">"Fingerprint"</string>
     <string name="fingerprint_manage_category_title" msgid="8293801041700001681">"Manage fingerprints"</string>
     <string name="fingerprint_usage_category_title" msgid="8438526918999536619">"Use fingerprint for"</string>
diff --git a/res/values-en-rGB/strings.xml b/res/values-en-rGB/strings.xml
index 650c5bc..3a32303 100644
--- a/res/values-en-rGB/strings.xml
+++ b/res/values-en-rGB/strings.xml
@@ -313,6 +313,7 @@
     <string name="security_settings_summary" msgid="967393342537986570">"Set My Location, screen unlock, SIM card lock, credential storage lock"</string>
     <string name="cdma_security_settings_summary" msgid="6068799952798901542">"Set My Location, screen unlock, credential storage lock"</string>
     <string name="security_passwords_title" msgid="2930627259125138363">"Passwords"</string>
+    <string name="disabled_by_administrator_summary" msgid="5989801404248162477">"Disabled by administrator"</string>
     <string name="security_settings_fingerprint_preference_title" msgid="2488725232406204350">"Fingerprint"</string>
     <string name="fingerprint_manage_category_title" msgid="8293801041700001681">"Manage fingerprints"</string>
     <string name="fingerprint_usage_category_title" msgid="8438526918999536619">"Use fingerprint for"</string>
diff --git a/res/values-en-rIN/strings.xml b/res/values-en-rIN/strings.xml
index 650c5bc..3a32303 100644
--- a/res/values-en-rIN/strings.xml
+++ b/res/values-en-rIN/strings.xml
@@ -313,6 +313,7 @@
     <string name="security_settings_summary" msgid="967393342537986570">"Set My Location, screen unlock, SIM card lock, credential storage lock"</string>
     <string name="cdma_security_settings_summary" msgid="6068799952798901542">"Set My Location, screen unlock, credential storage lock"</string>
     <string name="security_passwords_title" msgid="2930627259125138363">"Passwords"</string>
+    <string name="disabled_by_administrator_summary" msgid="5989801404248162477">"Disabled by administrator"</string>
     <string name="security_settings_fingerprint_preference_title" msgid="2488725232406204350">"Fingerprint"</string>
     <string name="fingerprint_manage_category_title" msgid="8293801041700001681">"Manage fingerprints"</string>
     <string name="fingerprint_usage_category_title" msgid="8438526918999536619">"Use fingerprint for"</string>
diff --git a/res/values-es-rUS/strings.xml b/res/values-es-rUS/strings.xml
index 6c69dab..afb4e9f 100644
--- a/res/values-es-rUS/strings.xml
+++ b/res/values-es-rUS/strings.xml
@@ -313,6 +313,7 @@
     <string name="security_settings_summary" msgid="967393342537986570">"Establecer Mi ubicación, desbloqueo de pantalla, bloqueo de la tarjeta SIM, bloqueo de almacenamiento de credenciales"</string>
     <string name="cdma_security_settings_summary" msgid="6068799952798901542">"Establecer Mi ubicación, desbloqueo de pantalla, bloqueo de almacenamiento de credencial"</string>
     <string name="security_passwords_title" msgid="2930627259125138363">"Contraseñas"</string>
+    <string name="disabled_by_administrator_summary" msgid="5989801404248162477">"Inhabilitada por el administrador"</string>
     <string name="security_settings_fingerprint_preference_title" msgid="2488725232406204350">"Huella digital"</string>
     <string name="fingerprint_manage_category_title" msgid="8293801041700001681">"Adm. huellas digitales"</string>
     <string name="fingerprint_usage_category_title" msgid="8438526918999536619">"Usar huella dig. para"</string>
diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml
index 7da1d74..8178476 100644
--- a/res/values-es/strings.xml
+++ b/res/values-es/strings.xml
@@ -313,6 +313,7 @@
     <string name="security_settings_summary" msgid="967393342537986570">"Establecer Mi ubicación, bloqueo de pantalla, bloqueo de tarjeta SIM y bloqueo de almacenamiento de credenciales"</string>
     <string name="cdma_security_settings_summary" msgid="6068799952798901542">"Establecer ubicación, bloqueo de pantalla y bloqueo de almacenamiento de credenciales"</string>
     <string name="security_passwords_title" msgid="2930627259125138363">"Contraseñas"</string>
+    <string name="disabled_by_administrator_summary" msgid="5989801404248162477">"Inhabilitado por el administrador"</string>
     <string name="security_settings_fingerprint_preference_title" msgid="2488725232406204350">"Huella digital"</string>
     <string name="fingerprint_manage_category_title" msgid="8293801041700001681">"Administrar huellas"</string>
     <string name="fingerprint_usage_category_title" msgid="8438526918999536619">"Usar huella para"</string>
diff --git a/res/values-et-rEE/strings.xml b/res/values-et-rEE/strings.xml
index db18aac..60a41c5 100644
--- a/res/values-et-rEE/strings.xml
+++ b/res/values-et-rEE/strings.xml
@@ -313,6 +313,7 @@
     <string name="security_settings_summary" msgid="967393342537986570">"Määrake Minu asukoht, ekraani avamine, SIM-kaardi lukk, mandaadi talletuslukk"</string>
     <string name="cdma_security_settings_summary" msgid="6068799952798901542">"Määrake oma asukoht, ekraani avamine, mandaadi talletuslukk"</string>
     <string name="security_passwords_title" msgid="2930627259125138363">"Paroolid"</string>
+    <string name="disabled_by_administrator_summary" msgid="5989801404248162477">"Administraator on keelanud"</string>
     <string name="security_settings_fingerprint_preference_title" msgid="2488725232406204350">"Sõrmejälg"</string>
     <string name="fingerprint_manage_category_title" msgid="8293801041700001681">"Sõrmejälgede haldamine"</string>
     <string name="fingerprint_usage_category_title" msgid="8438526918999536619">"Sõrmej. kasutatakse:"</string>
diff --git a/res/values-eu-rES/strings.xml b/res/values-eu-rES/strings.xml
index 25d906d..5fe8d67 100644
--- a/res/values-eu-rES/strings.xml
+++ b/res/values-eu-rES/strings.xml
@@ -313,6 +313,7 @@
     <string name="security_settings_summary" msgid="967393342537986570">"Ezarri Nire kokapena, pantailaren desblokeoa, SIM txartelaren blokeoa, kredentzialen biltegiaren blokeoa"</string>
     <string name="cdma_security_settings_summary" msgid="6068799952798901542">"Ezarri Nire kokapena, pantailaren desblokeoa, kredentzialen biltegiaren blokeoa."</string>
     <string name="security_passwords_title" msgid="2930627259125138363">"Pasahitzak"</string>
+    <string name="disabled_by_administrator_summary" msgid="5989801404248162477">"Administratzaileak desgaitu du"</string>
     <string name="security_settings_fingerprint_preference_title" msgid="2488725232406204350">"Hatz-marka digitala"</string>
     <string name="fingerprint_manage_category_title" msgid="8293801041700001681">"Kudeatu hatz-markak"</string>
     <string name="fingerprint_usage_category_title" msgid="8438526918999536619">"Hatz-marken erabilera"</string>
@@ -2557,7 +2558,7 @@
     <string name="app_notification_block_title" msgid="4069351066849087649">"Blokeatu guztiak"</string>
     <string name="app_notification_block_summary" msgid="9049487483231233726">"Ez erakutsi inoiz aplikazio honen jakinarazpenak"</string>
     <string name="app_notification_override_dnd_title" msgid="7867458246395884830">"Ez erabili \"Ez molestatu\" aukera"</string>
-    <string name="app_notification_override_dnd_summary" msgid="3516007157020189746">"Baimendu jakinarazpenek jarduera etenaraztea \"Ez molestatu\" aukera aukeratuta dagoenean, baina lehentasunezko jakinarazpenen salbuespenarekin"</string>
+    <string name="app_notification_override_dnd_summary" msgid="3516007157020189746">"Baimendu jakinarazpenek jarduera etenaraztea \"Ez molestatu\" aukera lehentasunezko jakinarazpenen salbuespenarekin aukeratuta dagoenean"</string>
     <string name="app_notification_sensitive_title" msgid="8465860579482264139">"Ezkutatu isilpeko informazioa"</string>
     <string name="app_notification_sensitive_summary" msgid="2515056180303710894">"Gailua blokeatuta dagoenean, ezkutatu informazio pribatua izan dezakeen jakinarazpenetako edukia"</string>
     <string name="app_notification_row_banned" msgid="5983655258784814773">"Blokeatuta"</string>
diff --git a/res/values-fa/strings.xml b/res/values-fa/strings.xml
index 2594616..5624a4b 100644
--- a/res/values-fa/strings.xml
+++ b/res/values-fa/strings.xml
@@ -313,6 +313,7 @@
     <string name="security_settings_summary" msgid="967393342537986570">"تنظیم مکان من، قفل صفحه، قفل سیم کارت، قفل محل ذخیره اطلاعات کاربری"</string>
     <string name="cdma_security_settings_summary" msgid="6068799952798901542">"تنظیم مکان من، بازگشایی قفل صفحه، قفل محل ذخیره اطلاعات کاربری"</string>
     <string name="security_passwords_title" msgid="2930627259125138363">"گذرواژه‌ها"</string>
+    <string name="disabled_by_administrator_summary" msgid="5989801404248162477">"توسط سرپرست غیرفعال شده است"</string>
     <string name="security_settings_fingerprint_preference_title" msgid="2488725232406204350">"اثر انگشت"</string>
     <string name="fingerprint_manage_category_title" msgid="8293801041700001681">"مدیریت اثر انگشت"</string>
     <string name="fingerprint_usage_category_title" msgid="8438526918999536619">"استفاده از اثر انگشت برای"</string>
@@ -372,8 +373,8 @@
     <string name="crypt_keeper_encrypt_title" product="tablet" msgid="1060273569887301457">"رمزگذاری رایانهٔ لوحی"</string>
     <string name="crypt_keeper_encrypt_title" product="default" msgid="1878996487755806122">"رمزگذاری تلفن"</string>
     <string name="crypt_keeper_encrypted_summary" msgid="1868233637888132906">"رمز گذاری شده"</string>
-    <string name="crypt_keeper_desc" product="tablet" msgid="503014594435731275">"می‌توانید حساب‌ها، تنظیمات، برنامه‌های دانلود شده به‌علاوه داده‌های آنها، رسانه‌ها و سایر فایل‌هایتان را رمزگذاری کنید. بعد از رمزگذاری رایانه لوحی‌تان، با فرض اینکه یک قفل صفحه تنظیم کرده‌اید (که می‌تواند یک الگو، پین عددی یا گذرواژه باشد)، باید هر بار که رایانه لوحی را روشن می‌کنید، قفل صفحه را برای رمزگشایی از رایانه لوحی باز کنید. تنها راه دیگر برای رمزگشایی، بازنشانی به داده کارخانه و پاک کردن همه داده‌هایتان می‌باشد.\n\nرمزگذاری یک ساعت یا بیشتر طول می‌کشد. باید این کار را زمانی آغاز کنید که باتری شارژ کامل باشد و در طول این مدت رایانه لوحی‌تان همچنان به برق وصل باشد. اگر وقفه‌ای در فرآیند به وجود آید، بعضی از داده‌هایتان یا همه آنها را از دست خواهید داد."</string>
-    <string name="crypt_keeper_desc" product="default" msgid="2579929266645543631">"می‌توانید حساب‌ها، تنظیمات، برنامه‌های دانلود شده به‌علاوه داده‌های آنها، رسانه‌ها و سایر فایل‌هایتان را رمزگذاری کنید. بعد از رمزگذاری تلفنتان، با فرض اینکه یک قفل صفحه تنظیم کرده‌اید (که می‌تواند یک الگو، پین عددی یا گذرواژه باشد)، باید هر بار که تلفن را روشن می‌کنید، قفل صفحه را برای رمزگشایی از تلفن باز کنید. تنها راه دیگر برای رمزگشایی بازنشانی به داده کارخانه و پاک کردن همه داده‌هایتان می‌باشد.\n\nرمزگذاری یک ساعت یا بیشتر طول می‌کشد. باید این کار را زمانی آغاز کنید که باتری شارژ کامل باشد و در طول این مدت تلفنتان همچنان به برق وصل باشد. اگر وقفه‌ای در فرآیند به وجود آید، بعضی از داده‌هایتان یا همه آنها را از دست خواهید داد."</string>
+    <string name="crypt_keeper_desc" product="tablet" msgid="503014594435731275">"می‌توانید حساب‌ها، تنظیمات، برنامه‌های دانلود شده به‌علاوه داده‌های آنها، رسانه‌ها و سایر فایل‌هایتان را رمزگذاری کنید. بعد از رمزگذاری رایانه لوحی‌تان، با فرض اینکه یک قفل صفحه تنظیم کرده‌اید (که می‌تواند یک الگو، پین عددی یا گذرواژه باشد)، باید هر بار که رایانه لوحی را روشن می‌کنید، قفل صفحه را برای رمزگشایی از رایانه لوحی باز کنید. تنها راه دیگر برای رمزگشایی، بازنشانی داده‌های کارخانه و پاک کردن همه داده‌هایتان می‌باشد.\n\nرمزگذاری یک ساعت یا بیشتر طول می‌کشد. باید این کار را زمانی آغاز کنید که باتری شارژ کامل باشد و در طول این مدت رایانه لوحی‌تان همچنان به برق وصل باشد. اگر وقفه‌ای در فرآیند به وجود آید، بعضی از داده‌هایتان یا همه آنها را از دست خواهید داد."</string>
+    <string name="crypt_keeper_desc" product="default" msgid="2579929266645543631">"می‌توانید حساب‌ها، تنظیمات، برنامه‌های دانلود شده به‌علاوه داده‌های آنها، رسانه‌ها و سایر فایل‌هایتان را رمزگذاری کنید. بعد از رمزگذاری تلفنتان، با فرض اینکه یک قفل صفحه تنظیم کرده‌اید (که می‌تواند یک الگو، پین عددی یا گذرواژه باشد)، باید هر بار که تلفن را روشن می‌کنید، قفل صفحه را برای رمزگشایی از تلفن باز کنید. تنها راه دیگر برای رمزگشایی بازنشانی داده‌های کارخانه و پاک کردن همه داده‌هایتان می‌باشد.\n\nرمزگذاری یک ساعت یا بیشتر طول می‌کشد. باید این کار را زمانی آغاز کنید که باتری شارژ کامل باشد و در طول این مدت تلفنتان همچنان به برق وصل باشد. اگر وقفه‌ای در فرآیند به وجود آید، بعضی از داده‌هایتان یا همه آنها را از دست خواهید داد."</string>
     <string name="crypt_keeper_button_text" product="tablet" msgid="1189623490604750854">"رمزگذاری رایانهٔ لوحی شخصی"</string>
     <string name="crypt_keeper_button_text" product="default" msgid="2008346408473255519">"رمزگذاری تلفن"</string>
     <string name="crypt_keeper_low_charge_text" msgid="2029407131227814893">"باتری خود را شارژ کرده و دوباره امتحان کنید."</string>
@@ -1112,7 +1113,7 @@
     <string name="network_reset_not_available" msgid="7188610385577164676">"بازنشانی شبکه برای این کاربر در دسترس نیست"</string>
     <string name="reset_network_complete_toast" msgid="787829973559541880">"تنظیمات شبکه بازنشانی شد"</string>
     <string name="device_reset_title" msgid="2384019005638768076">"بازنشانی دستگاه"</string>
-    <string name="master_clear_title" msgid="5907939616087039756">"بازنشانی به داده‌های کارخانه"</string>
+    <string name="master_clear_title" msgid="5907939616087039756">"بازنشانی داده‌های کارخانه"</string>
     <string name="master_clear_desc" product="tablet" msgid="9146059417023157222">"‏با این کار همه داده‌های "<b>"حافظهٔ داخلی"</b>" رایانهٔ لوحی شما پاک می‌شود، از جمله:\n\n"<li>"حساب Google شما"<li>\n</li>"داده‌ها و تنظیمات برنامه و سیستم"<li>\n</li>"برنامه‌های دانلود شده"</li></string>
     <string name="master_clear_desc" product="default" msgid="4800386183314202571">"‏با این کار همه داده‌های "<b>"حافظه داخلی"</b>" گوشی شما پاک می‌شود، از جمله:\n\n"<li>"حساب Google شما"</li>\n<li>"تنیمات و داده‌های برنامه و سیستم"</li>\n<li>"برنامه‌های دانلود شده"</li></string>
     <string name="master_clear_accounts" product="default" msgid="6412857499147999073">\n\n"شما در حال حاضر به حساب‌های زیر وارد شده‌اید:\n"</string>
diff --git a/res/values-fi/strings.xml b/res/values-fi/strings.xml
index b65e6ac..fcd5fb7 100644
--- a/res/values-fi/strings.xml
+++ b/res/values-fi/strings.xml
@@ -313,6 +313,7 @@
     <string name="security_settings_summary" msgid="967393342537986570">"Aseta Oma sijainti, näytön lukituksen poisto, SIM-kortin lukitus, käyttöoikeustietojen tallennustilan lukitus"</string>
     <string name="cdma_security_settings_summary" msgid="6068799952798901542">"Aseta Oma sijainti, näytön lukituksen poisto, käyttöoikeustietojen tallennustilan lukitus"</string>
     <string name="security_passwords_title" msgid="2930627259125138363">"Salasanat"</string>
+    <string name="disabled_by_administrator_summary" msgid="5989801404248162477">"Järjestelmänvalvojan käytöstä poistama"</string>
     <string name="security_settings_fingerprint_preference_title" msgid="2488725232406204350">"Sormenjälki"</string>
     <string name="fingerprint_manage_category_title" msgid="8293801041700001681">"Sormenjälkien hallinta"</string>
     <string name="fingerprint_usage_category_title" msgid="8438526918999536619">"Sormenj. käyttökohde"</string>
diff --git a/res/values-fr-rCA/strings.xml b/res/values-fr-rCA/strings.xml
index fcb64ce..c422117 100644
--- a/res/values-fr-rCA/strings.xml
+++ b/res/values-fr-rCA/strings.xml
@@ -313,6 +313,7 @@
     <string name="security_settings_summary" msgid="967393342537986570">"Définir les paramètres de l\'option Ma position et de verrouillage"</string>
     <string name="cdma_security_settings_summary" msgid="6068799952798901542">"Définir les paramètres de la fonction Ma position, de déverrouillage de l\'écran et de verrouillage du stockage des identifiants"</string>
     <string name="security_passwords_title" msgid="2930627259125138363">"Mots de passe"</string>
+    <string name="disabled_by_administrator_summary" msgid="5989801404248162477">"Désactivé par l\'administrateur"</string>
     <string name="security_settings_fingerprint_preference_title" msgid="2488725232406204350">"Lecteur d\'empreintes digitales"</string>
     <string name="fingerprint_manage_category_title" msgid="8293801041700001681">"Gérer les empreintes digitales"</string>
     <string name="fingerprint_usage_category_title" msgid="8438526918999536619">"Util. empr. dig. pour"</string>
diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml
index 9c878f3..5a3d0b2 100644
--- a/res/values-fr/strings.xml
+++ b/res/values-fr/strings.xml
@@ -313,6 +313,7 @@
     <string name="security_settings_summary" msgid="967393342537986570">"Définir les paramètres de l\'option Ma position et de verrouillage"</string>
     <string name="cdma_security_settings_summary" msgid="6068799952798901542">"Définir les paramètres de la fonction Ma position, de déverrouillage de l\'écran et de verrouillage du stockage des identifiants"</string>
     <string name="security_passwords_title" msgid="2930627259125138363">"Mots de passe"</string>
+    <string name="disabled_by_administrator_summary" msgid="5989801404248162477">"Désactivé par l\'administrateur"</string>
     <string name="security_settings_fingerprint_preference_title" msgid="2488725232406204350">"Empreinte digitale"</string>
     <string name="fingerprint_manage_category_title" msgid="8293801041700001681">"Gérer empreintes num."</string>
     <string name="fingerprint_usage_category_title" msgid="8438526918999536619">"Utiliser empr. num. pour"</string>
diff --git a/res/values-gl-rES/strings.xml b/res/values-gl-rES/strings.xml
index dc7ff49..b73209c 100644
--- a/res/values-gl-rES/strings.xml
+++ b/res/values-gl-rES/strings.xml
@@ -313,6 +313,7 @@
     <string name="security_settings_summary" msgid="967393342537986570">"Define A miña localización, o desbloqueo da pantalla, o bloqueo da tarxeta SIM e o bloqueo do almacenamento de credenciais"</string>
     <string name="cdma_security_settings_summary" msgid="6068799952798901542">"Define A miña localización, o desbloqueo da pantalla e o bloqueo do almacenamento de credenciais"</string>
     <string name="security_passwords_title" msgid="2930627259125138363">"Contrasinais"</string>
+    <string name="disabled_by_administrator_summary" msgid="5989801404248162477">"Desactivado polo administrador"</string>
     <string name="security_settings_fingerprint_preference_title" msgid="2488725232406204350">"Impresión dixital"</string>
     <string name="fingerprint_manage_category_title" msgid="8293801041700001681">"Xest. identificación"</string>
     <string name="fingerprint_usage_category_title" msgid="8438526918999536619">"Usar identificac. para"</string>
diff --git a/res/values-gu-rIN/strings.xml b/res/values-gu-rIN/strings.xml
index c8a57e9..1d635bc 100644
--- a/res/values-gu-rIN/strings.xml
+++ b/res/values-gu-rIN/strings.xml
@@ -313,6 +313,7 @@
     <string name="security_settings_summary" msgid="967393342537986570">"મારું સ્થાન, સ્ક્રીન અનલૉક, SIM કાર્ડ લૉક, ઓળખપત્ર સંગ્રહ લૉક સેટ કરો"</string>
     <string name="cdma_security_settings_summary" msgid="6068799952798901542">"મારું સ્થાન, સ્ક્રીન અનલૉક, ઓળખપત્ર સંગ્રહ લૉક સેટ કરો"</string>
     <string name="security_passwords_title" msgid="2930627259125138363">"પાસવર્ડ્સ"</string>
+    <string name="disabled_by_administrator_summary" msgid="5989801404248162477">"વ્યવસ્થાપક દ્વારા અક્ષમ"</string>
     <string name="security_settings_fingerprint_preference_title" msgid="2488725232406204350">"ફિંગરપ્રિન્ટ"</string>
     <string name="fingerprint_manage_category_title" msgid="8293801041700001681">"ફિંગરપ્રિન્ટનું સંચાલન"</string>
     <string name="fingerprint_usage_category_title" msgid="8438526918999536619">"આ માટે ફિંગરપ્રિન્ટ ઉપયોગ"</string>
diff --git a/res/values-hi/strings.xml b/res/values-hi/strings.xml
index f640e6a..4900226 100644
--- a/res/values-hi/strings.xml
+++ b/res/values-hi/strings.xml
@@ -313,6 +313,7 @@
     <string name="security_settings_summary" msgid="967393342537986570">"मेरा स्‍थान, स्‍क्रीन अनलॉक, सिम कार्ड लॉक, प्रमाणिकता मेमोरी लॉक सेट करें"</string>
     <string name="cdma_security_settings_summary" msgid="6068799952798901542">"मेरा स्‍थान, स्‍क्रीन अनलॉक, प्रमाणिकता मेमोरी लॉक सेट करें"</string>
     <string name="security_passwords_title" msgid="2930627259125138363">"पासवर्ड"</string>
+    <string name="disabled_by_administrator_summary" msgid="5989801404248162477">"व्यवस्थापक के द्वारा अक्षम किया गया"</string>
     <string name="security_settings_fingerprint_preference_title" msgid="2488725232406204350">"अंगुली की छाप"</string>
     <string name="fingerprint_manage_category_title" msgid="8293801041700001681">"फ़िंगरप्रिंट प्रबंधित करें"</string>
     <string name="fingerprint_usage_category_title" msgid="8438526918999536619">"इनके हेतु फ़िंगरप्रिंट उपयोग करें"</string>
diff --git a/res/values-hr/strings.xml b/res/values-hr/strings.xml
index 430ceb3..7e2dcf2 100644
--- a/res/values-hr/strings.xml
+++ b/res/values-hr/strings.xml
@@ -314,6 +314,7 @@
     <string name="security_settings_summary" msgid="967393342537986570">"Postavi Moju lokaciju, otključavanje zaslona, zaključavanje SIM kartice, zaključavanje spremnika za vjerodajnice"</string>
     <string name="cdma_security_settings_summary" msgid="6068799952798901542">"Postavi Moju lokaciju, otključavanje zaslona, zaključavanje pohranjivanja vjerodajnica"</string>
     <string name="security_passwords_title" msgid="2930627259125138363">"Zaporke"</string>
+    <string name="disabled_by_administrator_summary" msgid="5989801404248162477">"Onemogućio administrator"</string>
     <string name="security_settings_fingerprint_preference_title" msgid="2488725232406204350">"Otisak prsta"</string>
     <string name="fingerprint_manage_category_title" msgid="8293801041700001681">"Otisci prstiju"</string>
     <string name="fingerprint_usage_category_title" msgid="8438526918999536619">"Upotreba otiska prsta"</string>
diff --git a/res/values-hu/strings.xml b/res/values-hu/strings.xml
index 47d53dc..08c3178 100644
--- a/res/values-hu/strings.xml
+++ b/res/values-hu/strings.xml
@@ -313,6 +313,7 @@
     <string name="security_settings_summary" msgid="967393342537986570">"Saját pozíció beállítása, képernyőzár feloldása, SIM kártya zárolása, hitelesítési adatok tárolójának zárolása"</string>
     <string name="cdma_security_settings_summary" msgid="6068799952798901542">"Saját pozíció beállítása, képernyőzár feloldása, hitelesítési adatok tárolójának zárolása"</string>
     <string name="security_passwords_title" msgid="2930627259125138363">"Jelszavak"</string>
+    <string name="disabled_by_administrator_summary" msgid="5989801404248162477">"Letiltva a rendszergazda által"</string>
     <string name="security_settings_fingerprint_preference_title" msgid="2488725232406204350">"Ujjlenyomat"</string>
     <string name="fingerprint_manage_category_title" msgid="8293801041700001681">"Ujjlenyomatok kezelése"</string>
     <string name="fingerprint_usage_category_title" msgid="8438526918999536619">"Ujjlenyomat ehhez:"</string>
diff --git a/res/values-hy-rAM/strings.xml b/res/values-hy-rAM/strings.xml
index 1a2bb21..690d3c9 100644
--- a/res/values-hy-rAM/strings.xml
+++ b/res/values-hy-rAM/strings.xml
@@ -313,6 +313,7 @@
     <string name="security_settings_summary" msgid="967393342537986570">"Կարգավորել Իմ տեղադրությունը, էկրանի ապակողպումը, SIM քարտի կողպումը, վկայագրերի պահոցի կողպումը"</string>
     <string name="cdma_security_settings_summary" msgid="6068799952798901542">"Կարգավորել իմ տեղադրությունը, էկրանի ապակողպումը, հավատարմագրային պահոցի կողպումը"</string>
     <string name="security_passwords_title" msgid="2930627259125138363">"Գաղտնաբառեր"</string>
+    <string name="disabled_by_administrator_summary" msgid="5989801404248162477">"Կասեցված է ադմինիստրատորի կողմից"</string>
     <string name="security_settings_fingerprint_preference_title" msgid="2488725232406204350">"Մատնահետք"</string>
     <string name="fingerprint_manage_category_title" msgid="8293801041700001681">"Մատնահետքերի կառավար"</string>
     <string name="fingerprint_usage_category_title" msgid="8438526918999536619">"Օգտագործման նպատակը"</string>
diff --git a/res/values-in/strings.xml b/res/values-in/strings.xml
index 9be7ffc..b448e33 100644
--- a/res/values-in/strings.xml
+++ b/res/values-in/strings.xml
@@ -313,6 +313,7 @@
     <string name="security_settings_summary" msgid="967393342537986570">"Setel Lokasiku, pembuka kunci layar, kunci kartu SIM, kunci penyimpanan kredensial"</string>
     <string name="cdma_security_settings_summary" msgid="6068799952798901542">"Setel Lokasiku, pembuka kunci layar, kunci penyimpanan kredensial"</string>
     <string name="security_passwords_title" msgid="2930627259125138363">"Sandi"</string>
+    <string name="disabled_by_administrator_summary" msgid="5989801404248162477">"Dinonaktifkan oleh administrator"</string>
     <string name="security_settings_fingerprint_preference_title" msgid="2488725232406204350">"Sidik jari"</string>
     <string name="fingerprint_manage_category_title" msgid="8293801041700001681">"Mengelola sidik jari"</string>
     <string name="fingerprint_usage_category_title" msgid="8438526918999536619">"Sidik jari untuk"</string>
diff --git a/res/values-is-rIS/strings.xml b/res/values-is-rIS/strings.xml
index e28d5e0..bf8a741 100644
--- a/res/values-is-rIS/strings.xml
+++ b/res/values-is-rIS/strings.xml
@@ -313,6 +313,7 @@
     <string name="security_settings_summary" msgid="967393342537986570">"Stilla staðsetninguna mína, opnun skjás, SIM-kortalás, lás skilríkjageymslu"</string>
     <string name="cdma_security_settings_summary" msgid="6068799952798901542">"Stilla staðsetninguna mína, opnun skjás, lás skilríkjageymslu"</string>
     <string name="security_passwords_title" msgid="2930627259125138363">"Aðgangsorð"</string>
+    <string name="disabled_by_administrator_summary" msgid="5989801404248162477">"Stjórnandi gerði óvirkt"</string>
     <string name="security_settings_fingerprint_preference_title" msgid="2488725232406204350">"Fingrafar"</string>
     <string name="fingerprint_manage_category_title" msgid="8293801041700001681">"Stjórna fingraförum"</string>
     <string name="fingerprint_usage_category_title" msgid="8438526918999536619">"Nota fingrafar fyrir"</string>
diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml
index a150c6f..ba96826 100644
--- a/res/values-it/strings.xml
+++ b/res/values-it/strings.xml
@@ -313,6 +313,7 @@
     <string name="security_settings_summary" msgid="967393342537986570">"Imposta La mia posizione, sblocco schermo, blocco SIM, blocco cred."</string>
     <string name="cdma_security_settings_summary" msgid="6068799952798901542">"Imposta La mia posizione, sblocco schermo, blocco archivio credenziali"</string>
     <string name="security_passwords_title" msgid="2930627259125138363">"Password"</string>
+    <string name="disabled_by_administrator_summary" msgid="5989801404248162477">"Disattivata dall\'amministratore"</string>
     <string name="security_settings_fingerprint_preference_title" msgid="2488725232406204350">"Impronta digitale"</string>
     <string name="fingerprint_manage_category_title" msgid="8293801041700001681">"Gestisci impronte digitali"</string>
     <string name="fingerprint_usage_category_title" msgid="8438526918999536619">"Utilizza l\'impronta digitale per"</string>
@@ -2846,7 +2847,7 @@
     <string name="system_alert_window_access_title" msgid="8811695381437304132">"Spostamento su altre app"</string>
     <string name="permit_draw_overlay" msgid="6606018549732046201">"Consenti Posizionamento davanti ad altre app"</string>
     <string name="app_overlay_permission_preference" msgid="8355410276571387439">"Autorizzazione Spostamento di app sopra"</string>
-    <string name="allow_overlay_description" msgid="7895191337585827691">"Questa autorizzazione consente a un\'app di spostarsi sopra altre app in uso e potrebbe interferire con il tuo utilizzo dell\'interfaccia in altre applicazioni o cambiare ciò che credi di vedere in altre applicazioni."</string>
+    <string name="allow_overlay_description" msgid="7895191337585827691">"Questa autorizzazione consente di visualizzare un\'app sopra altre app in uso. Potrebbe interferire con il tuo utilizzo dell\'interfaccia in altre applicazioni o modificare ciò che credi di vedere in altre applicazioni."</string>
     <string name="keywords_system_alert_window" msgid="8579673659566564926">"finestra dialogo avviso sistema Posizionamento davanti ad altre appp"</string>
     <string name="overlay_settings" msgid="222062091489691363">"Spostamento su altre app"</string>
     <string name="system_alert_window_summary" msgid="4268867238063922290">"<xliff:g id="COUNT_0">%d</xliff:g> app su <xliff:g id="COUNT_1">%d</xliff:g> sono autorizzate a spostarsi sopra altre app"</string>
diff --git a/res/values-iw/strings.xml b/res/values-iw/strings.xml
index e5cc336..df180dc 100644
--- a/res/values-iw/strings.xml
+++ b/res/values-iw/strings.xml
@@ -315,6 +315,7 @@
     <string name="security_settings_summary" msgid="967393342537986570">"‏הגדר את \'המיקום שלי\', ביטול נעילת מסך, נעילת כרטיס SIM, נעילת אחסון אישורים"</string>
     <string name="cdma_security_settings_summary" msgid="6068799952798901542">"הגדר את \'המיקום שלי\', ביטול נעילת מסך, נעילת אחסון אישורים"</string>
     <string name="security_passwords_title" msgid="2930627259125138363">"סיסמאות"</string>
+    <string name="disabled_by_administrator_summary" msgid="5989801404248162477">"הושבת על ידי מנהל המערכת"</string>
     <string name="security_settings_fingerprint_preference_title" msgid="2488725232406204350">"טביעת אצבע"</string>
     <string name="fingerprint_manage_category_title" msgid="8293801041700001681">"נהל טביעות אצבע"</string>
     <string name="fingerprint_usage_category_title" msgid="8438526918999536619">"השתמש בטביעות אצבע ל-"</string>
diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml
index a2028ab..f1cb538 100644
--- a/res/values-ja/strings.xml
+++ b/res/values-ja/strings.xml
@@ -315,6 +315,7 @@
     <string name="security_settings_summary" msgid="967393342537986570">"現在地、画面ロック、SIMカードロック、認証情報ストレージのロック"</string>
     <string name="cdma_security_settings_summary" msgid="6068799952798901542">"現在地、画面のロック解除、認証情報ストレージのロックを設定します"</string>
     <string name="security_passwords_title" msgid="2930627259125138363">"パスワード"</string>
+    <string name="disabled_by_administrator_summary" msgid="5989801404248162477">"管理者によって無効にされています"</string>
     <string name="security_settings_fingerprint_preference_title" msgid="2488725232406204350">"指紋"</string>
     <string name="fingerprint_manage_category_title" msgid="8293801041700001681">"指紋の管理"</string>
     <string name="fingerprint_usage_category_title" msgid="8438526918999536619">"指紋の用途"</string>
diff --git a/res/values-ka-rGE/strings.xml b/res/values-ka-rGE/strings.xml
index e34eb45..e1390fe 100644
--- a/res/values-ka-rGE/strings.xml
+++ b/res/values-ka-rGE/strings.xml
@@ -313,6 +313,7 @@
     <string name="security_settings_summary" msgid="967393342537986570">"„ჩემი მდებარეობის“ პარამეტრების დაყენება, ეკრანის განბლოკვა და SIM ბარათის დაბლოკვა, ავტორიზაციის მონაცემების საცავის დაბლოკვა"</string>
     <string name="cdma_security_settings_summary" msgid="6068799952798901542">"დააყენე ჩემი მდებარეობის, ეკრანის განბლოკვისა და ავტორიზაციის მონაცემთა საცავის პარამეტრები"</string>
     <string name="security_passwords_title" msgid="2930627259125138363">"პაროლები"</string>
+    <string name="disabled_by_administrator_summary" msgid="5989801404248162477">"გათიშულია ადმინისტრატორის მიერ"</string>
     <string name="security_settings_fingerprint_preference_title" msgid="2488725232406204350">"თითის ანაბეჭდი"</string>
     <string name="fingerprint_manage_category_title" msgid="8293801041700001681">"ანაბეჭდების მართვა"</string>
     <string name="fingerprint_usage_category_title" msgid="8438526918999536619">"ანაბეჭდების გამოყენება"</string>
diff --git a/res/values-kk-rKZ/strings.xml b/res/values-kk-rKZ/strings.xml
index cf84923..db609e3 100644
--- a/res/values-kk-rKZ/strings.xml
+++ b/res/values-kk-rKZ/strings.xml
@@ -313,6 +313,7 @@
     <string name="security_settings_summary" msgid="967393342537986570">"Менің аймағым, экран бекіту, SIM картасын бекіту, растау дерекқорын бекітуді орнату"</string>
     <string name="cdma_security_settings_summary" msgid="6068799952798901542">"Менің аймағым, экран бекітпесі, растау деректері жадының бекітпесін реттеу"</string>
     <string name="security_passwords_title" msgid="2930627259125138363">"Кілтсөздер"</string>
+    <string name="disabled_by_administrator_summary" msgid="5989801404248162477">"Әкімші өшірген"</string>
     <string name="security_settings_fingerprint_preference_title" msgid="2488725232406204350">"Саусақ ізі"</string>
     <string name="fingerprint_manage_category_title" msgid="8293801041700001681">"Саусақ таңбасын бас-у"</string>
     <string name="fingerprint_usage_category_title" msgid="8438526918999536619">"Саусақ таңбасын пайд-у"</string>
diff --git a/res/values-km-rKH/strings.xml b/res/values-km-rKH/strings.xml
index 5689003..acfc11e 100644
--- a/res/values-km-rKH/strings.xml
+++ b/res/values-km-rKH/strings.xml
@@ -313,6 +313,7 @@
     <string name="security_settings_summary" msgid="967393342537986570">"កំណត់​ទីតាំង​របស់​ខ្ញុំ ដោះ​សោ​អេក្រង់ ចាក់​សោ​ស៊ីម​កាត ចាក់​សោ​ការ​ផ្ទុក​ព័ត៌មាន​សម្ងាត់"</string>
     <string name="cdma_security_settings_summary" msgid="6068799952798901542">"កំណត់​ទីតាំង​ខ្ញុំ, ការ​ដោះ​សោ​អេក្រង់, សោ​ឧបករណ៍​ផ្ទុក​ព័ត៌មាន​សម្ងាត់"</string>
     <string name="security_passwords_title" msgid="2930627259125138363">"ពាក្យ​សម្ងាត់"</string>
+    <string name="disabled_by_administrator_summary" msgid="5989801404248162477">"បាន​បិទ​ដោយ​អ្នក​គ្រប់គ្រង"</string>
     <string name="security_settings_fingerprint_preference_title" msgid="2488725232406204350">"ស្នាមម្រាមដៃ"</string>
     <string name="fingerprint_manage_category_title" msgid="8293801041700001681">"គ្រប់គ្រងស្នាមម្រាមដៃ"</string>
     <string name="fingerprint_usage_category_title" msgid="8438526918999536619">"ប្រើស្នាមម្រាមដៃសម្រាប់"</string>
diff --git a/res/values-kn-rIN/strings.xml b/res/values-kn-rIN/strings.xml
index a27e703..4dbd763 100644
--- a/res/values-kn-rIN/strings.xml
+++ b/res/values-kn-rIN/strings.xml
@@ -313,6 +313,7 @@
     <string name="security_settings_summary" msgid="967393342537986570">"ನನ್ನ ಸ್ಥಾನ, ಪರದೆ ಅನ್‌ಲಾಕ್, ಸಿಮ್‌ ಕಾರ್ಡ್‌ ಲಾಕ್, ರುಜುವಾತು ಸಂಗ್ರಹಣೆ ಲಾಕ್ ಅನ್ನು ಹೊಂದಿಸಿ"</string>
     <string name="cdma_security_settings_summary" msgid="6068799952798901542">"ನನ್ನ ಸ್ಥಾನ, ಪರದೆ ಅನ್‌ಲಾಕ್, ರುಜುವಾತು ಸಂಗ್ರಹಣೆ ಲಾಕ್ ಅನ್ನು ಹೊಂದಿಸಿ"</string>
     <string name="security_passwords_title" msgid="2930627259125138363">"ಪಾಸ್‌ವರ್ಡ್‌ಗಳು"</string>
+    <string name="disabled_by_administrator_summary" msgid="5989801404248162477">"ನಿರ್ವಾಹಕರಿಂದ ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ"</string>
     <string name="security_settings_fingerprint_preference_title" msgid="2488725232406204350">"ಫಿಂಗರ್‌ಪ್ರಿಂಟ್"</string>
     <string name="fingerprint_manage_category_title" msgid="8293801041700001681">"ಫಿಂಗರ್‌ಪ್ರಿಂಟ್ ನಿರ್ವ."</string>
     <string name="fingerprint_usage_category_title" msgid="8438526918999536619">"ಫಿಂಗರ್‌ಪ್ರಿಂಟ್ ಬಳಸಿ"</string>
diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml
index a501abb..94e1435 100644
--- a/res/values-ko/strings.xml
+++ b/res/values-ko/strings.xml
@@ -313,6 +313,7 @@
     <string name="security_settings_summary" msgid="967393342537986570">"내 위치, 화면 잠금해제, SIM 카드 잠금, 자격증명 저장소 잠금 설정"</string>
     <string name="cdma_security_settings_summary" msgid="6068799952798901542">"내 위치, 화면 잠금해제, 자격증명 저장소 잠금 설정"</string>
     <string name="security_passwords_title" msgid="2930627259125138363">"비밀번호"</string>
+    <string name="disabled_by_administrator_summary" msgid="5989801404248162477">"관리자가 사용 중지함"</string>
     <string name="security_settings_fingerprint_preference_title" msgid="2488725232406204350">"지문"</string>
     <string name="fingerprint_manage_category_title" msgid="8293801041700001681">"지문 관리"</string>
     <string name="fingerprint_usage_category_title" msgid="8438526918999536619">"지문을 사용할 항목"</string>
diff --git a/res/values-ky-rKG/strings.xml b/res/values-ky-rKG/strings.xml
index e030621..e5d0ddd 100644
--- a/res/values-ky-rKG/strings.xml
+++ b/res/values-ky-rKG/strings.xml
@@ -313,6 +313,7 @@
     <string name="security_settings_summary" msgid="967393342537986570">"Жайгашкан жеримди, экрандын кулпусун ачуу ыкмасын, SIM карта кулпусун, аныктоо эстутумунун кулпусун коюу"</string>
     <string name="cdma_security_settings_summary" msgid="6068799952798901542">"Жайгашкан жеримди, экран кулпусун ачууну, аныктоо эстутумунун кулпусун коюу"</string>
     <string name="security_passwords_title" msgid="2930627259125138363">"Сырсөздөр"</string>
+    <string name="disabled_by_administrator_summary" msgid="5989801404248162477">"Администратор тарабынан өчүрүлгөн"</string>
     <string name="security_settings_fingerprint_preference_title" msgid="2488725232406204350">"Манжа изи"</string>
     <string name="fingerprint_manage_category_title" msgid="8293801041700001681">"Манжа издерин башкаруу"</string>
     <string name="fingerprint_usage_category_title" msgid="8438526918999536619">"Манжа издерин колдонуу"</string>
diff --git a/res/values-lo-rLA/strings.xml b/res/values-lo-rLA/strings.xml
index f907d33..5479cc9 100644
--- a/res/values-lo-rLA/strings.xml
+++ b/res/values-lo-rLA/strings.xml
@@ -313,6 +313,7 @@
     <string name="security_settings_summary" msgid="967393342537986570">"ຕັ້ງທີ່ຢູ່ຂອງຂ້ອຍ, ໜ້າຈໍປົດລັອກ, ການລັອກຊິມກາດ, ການລັອກບ່ອນຈັດເກັບຂໍ້ມູນຮັບຮອງ"</string>
     <string name="cdma_security_settings_summary" msgid="6068799952798901542">"ກຳນົດທີ່ຢູ່ຂອງຂ້ອຍ, ການປົດລັອກໜ້າຈໍ, ການລັອກບ່ອນເຈັດເກັບຂໍ້ມູນຮັບຮອງ"</string>
     <string name="security_passwords_title" msgid="2930627259125138363">"ລະ​ຫັດ​ຜ່ານ"</string>
+    <string name="disabled_by_administrator_summary" msgid="5989801404248162477">"ຖືກປິດການນຳໃຊ້ໂດຍຜູ່ເບິ່ງແຍງລະບົບ"</string>
     <string name="security_settings_fingerprint_preference_title" msgid="2488725232406204350">"ລາຍນີ້ວ​ມື"</string>
     <string name="fingerprint_manage_category_title" msgid="8293801041700001681">"ຈັດ​ການ​ລາຍ​ນີ້ວ​ມື"</string>
     <string name="fingerprint_usage_category_title" msgid="8438526918999536619">"ໃຊ້​ລາຍ​ນີ້ວ​ມື​ສຳ​ລັບ"</string>
diff --git a/res/values-lt/strings.xml b/res/values-lt/strings.xml
index f9c49a0..f5e8606 100644
--- a/res/values-lt/strings.xml
+++ b/res/values-lt/strings.xml
@@ -315,6 +315,7 @@
     <string name="security_settings_summary" msgid="967393342537986570">"Nustatyti mano vietą, ekrano atrakinimą, SIM kortelės užraktą, įgaliojimų saugyklos užraktą"</string>
     <string name="cdma_security_settings_summary" msgid="6068799952798901542">"Nustatyti mano vietą, ekrano atrakinimą, įgaliojimų saugyklos užraktą"</string>
     <string name="security_passwords_title" msgid="2930627259125138363">"Slaptažodžiai"</string>
+    <string name="disabled_by_administrator_summary" msgid="5989801404248162477">"Išjungė administratorius"</string>
     <string name="security_settings_fingerprint_preference_title" msgid="2488725232406204350">"Kontr. kodo jutiklis"</string>
     <string name="fingerprint_manage_category_title" msgid="8293801041700001681">"Kontrolin. kodų tvark."</string>
     <string name="fingerprint_usage_category_title" msgid="8438526918999536619">"Kontrolinių kodų naud."</string>
diff --git a/res/values-lv/strings.xml b/res/values-lv/strings.xml
index 65557fa..112b4a1 100644
--- a/res/values-lv/strings.xml
+++ b/res/values-lv/strings.xml
@@ -314,6 +314,7 @@
     <string name="security_settings_summary" msgid="967393342537986570">"Manas atrašanās vietas, ekrāna atbloķēšanas, SIM kartes bloķēšanas, akreditācijas datu krātuves bloķēšanas iestatīšana"</string>
     <string name="cdma_security_settings_summary" msgid="6068799952798901542">"Manas atrašanās vietas, ekrāna atbloķēšanas, akreditācijas datu krātuves bloķēšanas iestatīšana"</string>
     <string name="security_passwords_title" msgid="2930627259125138363">"Paroles"</string>
+    <string name="disabled_by_administrator_summary" msgid="5989801404248162477">"Atspējojis administrators"</string>
     <string name="security_settings_fingerprint_preference_title" msgid="2488725232406204350">"Pirkstu nospiedumi"</string>
     <string name="fingerprint_manage_category_title" msgid="8293801041700001681">"Nospiedumu pārvaldība"</string>
     <string name="fingerprint_usage_category_title" msgid="8438526918999536619">"Nospieduma lietošana"</string>
diff --git a/res/values-mk-rMK/strings.xml b/res/values-mk-rMK/strings.xml
index 069b253..9dfad3f 100644
--- a/res/values-mk-rMK/strings.xml
+++ b/res/values-mk-rMK/strings.xml
@@ -313,6 +313,7 @@
     <string name="security_settings_summary" msgid="967393342537986570">"Подеси „Моја локација“, отклучување на екран, заклучување на СИМ картичка, заклучување на меморија со акредитиви"</string>
     <string name="cdma_security_settings_summary" msgid="6068799952798901542">"Подеси „Моја локација“, отклучување на екран, заклучување на меморија за акредитиви"</string>
     <string name="security_passwords_title" msgid="2930627259125138363">"Лозинки"</string>
+    <string name="disabled_by_administrator_summary" msgid="5989801404248162477">"Оневозможено од администраторот"</string>
     <string name="security_settings_fingerprint_preference_title" msgid="2488725232406204350">"Отпечаток"</string>
     <string name="fingerprint_manage_category_title" msgid="8293801041700001681">"Управување отпечатоци"</string>
     <string name="fingerprint_usage_category_title" msgid="8438526918999536619">"Користи отпечатоци за"</string>
diff --git a/res/values-ml-rIN/strings.xml b/res/values-ml-rIN/strings.xml
index eb25bcc..2dc8245 100644
--- a/res/values-ml-rIN/strings.xml
+++ b/res/values-ml-rIN/strings.xml
@@ -313,6 +313,7 @@
     <string name="security_settings_summary" msgid="967393342537986570">"എന്റെ ലൊക്കേഷൻ, സ്‌ക്രീൻ അൺലോക്ക്, സിം കാർഡ് ലോക്ക്, ക്രഡൻഷ്യൽ സംഭരണ ലോക്ക് എന്നിവ സജ്ജീകരിക്കുക"</string>
     <string name="cdma_security_settings_summary" msgid="6068799952798901542">"എന്റെ ലൊക്കേഷൻ, സ്‌ക്രീൻ അൺലോക്ക്, ക്രെഡൻഷ്യൽ സംഭരണ ലോക്ക് എന്നിവ സജ്ജീകരിക്കുക"</string>
     <string name="security_passwords_title" msgid="2930627259125138363">"പാ‌സ്‌വേഡുകൾ"</string>
+    <string name="disabled_by_administrator_summary" msgid="5989801404248162477">"അഡ്‌മിനിസ്ട്രേറ്റർ പ്രവർത്തനരഹിതമാക്കി"</string>
     <string name="security_settings_fingerprint_preference_title" msgid="2488725232406204350">"വിരലടയാളം"</string>
     <string name="fingerprint_manage_category_title" msgid="8293801041700001681">"വിരലടയാളങ്ങൾ നിയന്ത്രിക്കുക"</string>
     <string name="fingerprint_usage_category_title" msgid="8438526918999536619">"ഇതിനായി വിരലടയാളം ഉപയോഗിക്കുക"</string>
diff --git a/res/values-mn-rMN/strings.xml b/res/values-mn-rMN/strings.xml
index ec521ef..270104b 100644
--- a/res/values-mn-rMN/strings.xml
+++ b/res/values-mn-rMN/strings.xml
@@ -313,6 +313,7 @@
     <string name="security_settings_summary" msgid="967393342537986570">"Миний Байршил, дэлгэц тайлах, SIM картны түгжээ, жуухны сангийн түгжээг тохируулах"</string>
     <string name="cdma_security_settings_summary" msgid="6068799952798901542">"Миний Байршил, дэлгэц тайлах, жуухын сангийн түгжээ зэргийг тохируулах"</string>
     <string name="security_passwords_title" msgid="2930627259125138363">"Нууц үг"</string>
+    <string name="disabled_by_administrator_summary" msgid="5989801404248162477">"Админ идэвхгүй болгосон"</string>
     <string name="security_settings_fingerprint_preference_title" msgid="2488725232406204350">"Хурууны хээ"</string>
     <string name="fingerprint_manage_category_title" msgid="8293801041700001681">"Хурууны хээ удирдах"</string>
     <string name="fingerprint_usage_category_title" msgid="8438526918999536619">"Хурууны хээг дараах зорилгоор ашиглах"</string>
@@ -2545,9 +2546,9 @@
     <string name="app_notification_block_title" msgid="4069351066849087649">"Бүгдийг блокло"</string>
     <string name="app_notification_block_summary" msgid="9049487483231233726">"Энэ апп-н мэдэгдлийг хэзээ ч харуулахгүй"</string>
     <string name="app_notification_override_dnd_title" msgid="7867458246395884830">"\"Бүү саад бол\"-г дарах"</string>
-    <string name="app_notification_override_dnd_summary" msgid="3516007157020189746">"\"Бүү саад бол\" горимыг зөвхөн тэргүүлэгч ач холбогдол болгон тохируулсан бол эдгээр мэдэгдлийг үргэлжлүүлэн саад болохыг зөвшөөрөх"</string>
+    <string name="app_notification_override_dnd_summary" msgid="3516007157020189746">"\"Бүү саад бол\" горимыг \"Зөвхөн Тэргүүлэх ач холбогдолтой\" болгон тохируулсан үед эдгээр мэдэгдэл үргэлжлэн саад болохыг зөвшөөрнө үү."</string>
     <string name="app_notification_sensitive_title" msgid="8465860579482264139">"Эмзэг мэдээллийг нуух"</string>
-    <string name="app_notification_sensitive_summary" msgid="2515056180303710894">"Төхөөрөмж түгжээтэй үед тэдгээр мэдэгдлээс хувийн мэдээлэл илрүүлж болзошгүй агуулгыг нуух"</string>
+    <string name="app_notification_sensitive_summary" msgid="2515056180303710894">"Төхөөрөмж түгжээтэй үед хувийн мэдээлэл гаргаж болзошгүй эдгээр мэдэгдэлийн агуулгыг нуух"</string>
     <string name="app_notification_row_banned" msgid="5983655258784814773">"Хориглогдсон"</string>
     <string name="app_notification_row_priority" msgid="7723839972982746568">"Чухал"</string>
     <string name="app_notification_row_sensitive" msgid="1809610030432329940">"Эмзэг"</string>
@@ -2882,6 +2883,6 @@
     <string name="data_usage_summary_format" msgid="7507047900192160585">"<xliff:g id="AMOUNT">%1$s</xliff:g> датаг ашигласан"</string>
     <string name="apps_summary" msgid="193158055537070092">"<xliff:g id="COUNT">%1$d</xliff:g> апп суулгасан"</string>
     <string name="storage_summary" msgid="1110250618334248745">"<xliff:g id="SIZE2">%2$s</xliff:g>-н <xliff:g id="SIZE1">%1$s</xliff:g>-г ашигласан"</string>
-    <string name="display_summary_on" msgid="5628868543070268634">"Боломжит гэрэлтүүлэг АСААЛТТАЙ"</string>
-    <string name="display_summary_off" msgid="6399558022426312990">"Боломжит гэрэлтүүлэг УНТРААЛТТАЙ"</string>
+    <string name="display_summary_on" msgid="5628868543070268634">"Тохируулагчтай гэрэлтүүлэг АСААЛТТАЙ байна"</string>
+    <string name="display_summary_off" msgid="6399558022426312990">"Тохируулагчтай гэрэлтүүлэг УНТРААЛТТАЙ байна"</string>
 </resources>
diff --git a/res/values-mr-rIN/strings.xml b/res/values-mr-rIN/strings.xml
index afda031..088abbc 100644
--- a/res/values-mr-rIN/strings.xml
+++ b/res/values-mr-rIN/strings.xml
@@ -313,6 +313,7 @@
     <string name="security_settings_summary" msgid="967393342537986570">"माझे स्थान, स्क्रीन अनलॉक, सिम कार्ड लॉक, क्रेडेन्शियल संचयन लॉक सेट करा"</string>
     <string name="cdma_security_settings_summary" msgid="6068799952798901542">"माझे स्थान, स्क्रीन लॉक, क्रेडेन्शियल संचयन लॉक सेट करा"</string>
     <string name="security_passwords_title" msgid="2930627259125138363">"संकेतशब्द"</string>
+    <string name="disabled_by_administrator_summary" msgid="5989801404248162477">"प्रशासकाने अक्षम केलेले"</string>
     <string name="security_settings_fingerprint_preference_title" msgid="2488725232406204350">"फिंगरप्रिंट"</string>
     <string name="fingerprint_manage_category_title" msgid="8293801041700001681">"फिंगरप्रिंट व्यवस्‍थापित करा"</string>
     <string name="fingerprint_usage_category_title" msgid="8438526918999536619">"फिंगरप्रिंट यासाठी वापरा"</string>
diff --git a/res/values-ms-rMY/strings.xml b/res/values-ms-rMY/strings.xml
index adc7983..30e2220 100644
--- a/res/values-ms-rMY/strings.xml
+++ b/res/values-ms-rMY/strings.xml
@@ -313,6 +313,7 @@
     <string name="security_settings_summary" msgid="967393342537986570">"Tetapkan Lokasi Saya, buka kunci skrin, kunci kad SIM, kunci storan bukti kelayakan"</string>
     <string name="cdma_security_settings_summary" msgid="6068799952798901542">"Tetapkan Lokasi Saya, buka kunci skrin, kunci storan bukti kelayakan"</string>
     <string name="security_passwords_title" msgid="2930627259125138363">"Kata laluan"</string>
+    <string name="disabled_by_administrator_summary" msgid="5989801404248162477">"Dilumpuhkan oleh pentadbir"</string>
     <string name="security_settings_fingerprint_preference_title" msgid="2488725232406204350">"Cap jari"</string>
     <string name="fingerprint_manage_category_title" msgid="8293801041700001681">"Urus cap jari"</string>
     <string name="fingerprint_usage_category_title" msgid="8438526918999536619">"Gunakan cap jari untuk"</string>
diff --git a/res/values-my-rMM/strings.xml b/res/values-my-rMM/strings.xml
index 7eb55f8..b4f3bf0 100644
--- a/res/values-my-rMM/strings.xml
+++ b/res/values-my-rMM/strings.xml
@@ -313,6 +313,7 @@
     <string name="security_settings_summary" msgid="967393342537986570">"ကျွန်ုပ်၏တည်နေရာ စကရင်ကိုသော့ဖွင့်ခြင်း ဆင်းမ်ကဒ်သော့ချခြင်း ယုံကြည်စိတ်ချရသောသိုလှောင်ရာနေရာတို့ကို သတ်မှတ်မည်"</string>
     <string name="cdma_security_settings_summary" msgid="6068799952798901542">"ကျွန်ုပ်၏တည်နေရာ၊ စကရင်ပြန်ဖွင့်ခြင်း၊ ယုံကြည်စိတ်ချရသောသိုလှောင်ရာနေရာတို့အား သတ်မှတ်မည်"</string>
     <string name="security_passwords_title" msgid="2930627259125138363">"စကားဝှက်များ"</string>
+    <string name="disabled_by_administrator_summary" msgid="5989801404248162477">"စီမံခန့်ခွဲသူမှ ပိတ်ထားသည်"</string>
     <string name="security_settings_fingerprint_preference_title" msgid="2488725232406204350">"လက်ဗွေရာ"</string>
     <string name="fingerprint_manage_category_title" msgid="8293801041700001681">"လက်ဗွေရာများ စီမံရန်"</string>
     <string name="fingerprint_usage_category_title" msgid="8438526918999536619">"လက်ဗွေရာအား သုံးရန်"</string>
diff --git a/res/values-nb/strings.xml b/res/values-nb/strings.xml
index 3574ada..6de1bac 100644
--- a/res/values-nb/strings.xml
+++ b/res/values-nb/strings.xml
@@ -313,6 +313,7 @@
     <string name="security_settings_summary" msgid="967393342537986570">"Posisjon, skjermlås, SIM-kort-lås"</string>
     <string name="cdma_security_settings_summary" msgid="6068799952798901542">"Angi Min posisjon, lås opp skjerm, lås påloggingsopplysninger"</string>
     <string name="security_passwords_title" msgid="2930627259125138363">"Passord"</string>
+    <string name="disabled_by_administrator_summary" msgid="5989801404248162477">"Deaktivert av administratoren"</string>
     <string name="security_settings_fingerprint_preference_title" msgid="2488725232406204350">"Fingeravtrykk"</string>
     <string name="fingerprint_manage_category_title" msgid="8293801041700001681">"Admin. fingeravtrykk"</string>
     <string name="fingerprint_usage_category_title" msgid="8438526918999536619">"Bruk fingeravtrykk for"</string>
diff --git a/res/values-ne-rNP/strings.xml b/res/values-ne-rNP/strings.xml
index d68939d..b243e32 100644
--- a/res/values-ne-rNP/strings.xml
+++ b/res/values-ne-rNP/strings.xml
@@ -313,6 +313,7 @@
     <string name="security_settings_summary" msgid="967393342537986570">"मेरो स्थान, स्क्रिन अनलक, SIM कार्ड लक, प्रामाणिक भण्डारण लक सेट गर्नुहोस्"</string>
     <string name="cdma_security_settings_summary" msgid="6068799952798901542">"मेरो स्थान, स्क्रिन अनलक, भण्डारण लकका गोप्य डेटा सेट गर्नुहोस्"</string>
     <string name="security_passwords_title" msgid="2930627259125138363">"पासवर्डहरू"</string>
+    <string name="disabled_by_administrator_summary" msgid="5989801404248162477">"प्रशासकद्वारा असक्षम पारियो"</string>
     <string name="security_settings_fingerprint_preference_title" msgid="2488725232406204350">"औंठाछाप"</string>
     <string name="fingerprint_manage_category_title" msgid="8293801041700001681">"औंठाछापहरू व्यवस्थापन गर्नुहोस्"</string>
     <string name="fingerprint_usage_category_title" msgid="8438526918999536619">"निम्नको लागि औठाछाप प्रयोग गर्नुहोस्"</string>
@@ -2528,7 +2529,7 @@
     <string name="lock_screen_notifications_interstitial_message" msgid="6164532459432182244">"तपाईँको उपकरण बन्द हुँदा, तपाईँ कसरी सूचनाहरू देखाउन चाहनुहुन्छ?"</string>
     <string name="lock_screen_notifications_interstitial_title" msgid="1416589393106326972">"सूचनाहरू"</string>
     <string name="app_notifications_title" msgid="5810577805218003760">"अनुप्रयोग सूचनाहरू"</string>
-    <string name="topic_notifications_title" msgid="7243623930984080881">"विषय सूचनाहरू"</string>
+    <string name="topic_notifications_title" msgid="7243623930984080881">"शीर्षक सूचनाहरू"</string>
     <string name="other_sound_settings" msgid="3151004537006844718">"अन्य ध्वनिहरू"</string>
     <string name="dial_pad_tones_title" msgid="1999293510400911558">"प्याड टोनहरू डायल गर्नुहोस्"</string>
     <string name="screen_locking_sounds_title" msgid="1340569241625989837">"स्किन लक आवाज"</string>
@@ -2556,10 +2557,10 @@
     <string name="loading_notification_apps" msgid="5031818677010335895">"अनुप्रयोगहरू लोड हुँदै..."</string>
     <string name="app_notification_block_title" msgid="4069351066849087649">"सबै रोक्नुहोस्"</string>
     <string name="app_notification_block_summary" msgid="9049487483231233726">"यस अनुप्रयोगबाट सूचनाहरू कहिल्यै नदेखाउनुहोस्"</string>
-    <string name="app_notification_override_dnd_title" msgid="7867458246395884830">"बाधा नपुर्याउनुहोस् मा ओभरराइड"</string>
-    <string name="app_notification_override_dnd_summary" msgid="3516007157020189746">"बाधा नपुर्याउनुहोस् प्राथमिकतामा मात्र सेट भएको बेला यी सूचनाहरूद्वारा जानकार गर्न दिनुहोस्।"</string>
+    <string name="app_notification_override_dnd_title" msgid="7867458246395884830">"बाधा नपुर्याउनुहोस् मा ओभरराइड गर्नुहोस्"</string>
+    <string name="app_notification_override_dnd_summary" msgid="3516007157020189746">"बाधा नपुर्याउनुहोस् प्राथमिकतामा मात्र सेट भएको बेला यी सूचनाहरूबाट हुने अवरोधका लागि अनुमति दिनुहोस्।"</string>
     <string name="app_notification_sensitive_title" msgid="8465860579482264139">"संवेदनशील सामग्री लुकाउनुहोस्"</string>
-    <string name="app_notification_sensitive_summary" msgid="2515056180303710894">"यन्त्र बन्द हुँदा, यी सूचनाहरूमा सामग्री लुकाउनुहोस् जसबाट निजी जानकारी प्रकाश हुनसक्छ"</string>
+    <string name="app_notification_sensitive_summary" msgid="2515056180303710894">"यन्त्र बन्द हुँदा, यी सूचनाहरूमा सामग्री लुकाउनुहोस् जसबाट निजी जानकारी बाहिर जान सक्छ"</string>
     <string name="app_notification_row_banned" msgid="5983655258784814773">"अवरूद्ध गरियो"</string>
     <string name="app_notification_row_priority" msgid="7723839972982746568">"प्राथमिकता"</string>
     <string name="app_notification_row_sensitive" msgid="1809610030432329940">"संवेदनशील"</string>
diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml
index 5014fd1..3efad83 100644
--- a/res/values-nl/strings.xml
+++ b/res/values-nl/strings.xml
@@ -313,6 +313,7 @@
     <string name="security_settings_summary" msgid="967393342537986570">"\'Mijn locatie\', schermontgrendeling, SIM- en certificaatopslagvergrendeling instellen"</string>
     <string name="cdma_security_settings_summary" msgid="6068799952798901542">"\'Mijn locatie\' instellen, scherm ontgrendelen, certificaatopslag vergrendelen"</string>
     <string name="security_passwords_title" msgid="2930627259125138363">"Wachtwoorden"</string>
+    <string name="disabled_by_administrator_summary" msgid="5989801404248162477">"Uitgeschakeld door beheerder"</string>
     <string name="security_settings_fingerprint_preference_title" msgid="2488725232406204350">"Vingerafdruk"</string>
     <string name="fingerprint_manage_category_title" msgid="8293801041700001681">"Vingerafdrukbeheer"</string>
     <string name="fingerprint_usage_category_title" msgid="8438526918999536619">"Vingerafdruk voor"</string>
diff --git a/res/values-pa-rIN/strings.xml b/res/values-pa-rIN/strings.xml
index 99fb7d0..f8d164a 100644
--- a/res/values-pa-rIN/strings.xml
+++ b/res/values-pa-rIN/strings.xml
@@ -313,6 +313,7 @@
     <string name="security_settings_summary" msgid="967393342537986570">"ਮੇਰਾ ਨਿਰਧਾਰਿਤ ਸਥਾਨ, ਸਕ੍ਰੀਨ ਅਨਲੌਕ, SIM ਕਾਰਡ ਲੌਕ, ਕ੍ਰੈਡੈਂਸ਼ੀਅਲ ਸਟੋਰੇਜ ਲੌਕ ਸੈਟ ਕਰੋ"</string>
     <string name="cdma_security_settings_summary" msgid="6068799952798901542">"ਮੇਰਾ ਨਿਰਧਾਰਿਤ ਸਥਾਨ, ਸਕ੍ਰੀਨ ਅਨਲੌਕ, ਕ੍ਰੈਡੈਂਸ਼ੀਅਲ ਸਟੋਰੇਜ ਲੌਕ ਸੈਟ ਕਰੋ"</string>
     <string name="security_passwords_title" msgid="2930627259125138363">"ਪਾਸਵਰਡ"</string>
+    <string name="disabled_by_administrator_summary" msgid="5989801404248162477">"ਪ੍ਰਸ਼ਾਸਕ ਵੱਲੋਂ ਅਯੋਗ ਬਣਾਈ ਗਈ"</string>
     <string name="security_settings_fingerprint_preference_title" msgid="2488725232406204350">"ਫਿੰਗਰਪ੍ਰਿੰਟ"</string>
     <string name="fingerprint_manage_category_title" msgid="8293801041700001681">"ਫਿੰਗਰਪ੍ਰਿੰਟਸ ਵਿਵਸਥਿਤ ਕਰੋ"</string>
     <string name="fingerprint_usage_category_title" msgid="8438526918999536619">"ਇਸ ਲਈ ਫਿੰਗਰਪ੍ਰਿੰਟ ਵਰਤੋ"</string>
diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml
index 65aa53c..29cd4b6 100644
--- a/res/values-pl/strings.xml
+++ b/res/values-pl/strings.xml
@@ -315,6 +315,7 @@
     <string name="security_settings_summary" msgid="967393342537986570">"Ustaw funkcję Moja lokalizacja, odblokowywanie ekranu, blokadę karty SIM, blokadę magazynu danych logowania."</string>
     <string name="cdma_security_settings_summary" msgid="6068799952798901542">"Ustaw funkcję Moja lokalizacja, odblokowywanie ekranu, blokadę magazynu danych logowania"</string>
     <string name="security_passwords_title" msgid="2930627259125138363">"Hasła"</string>
+    <string name="disabled_by_administrator_summary" msgid="5989801404248162477">"Wyłączone przez administratora"</string>
     <string name="security_settings_fingerprint_preference_title" msgid="2488725232406204350">"Odcisk palca"</string>
     <string name="fingerprint_manage_category_title" msgid="8293801041700001681">"Zarządzaj odciskami"</string>
     <string name="fingerprint_usage_category_title" msgid="8438526918999536619">"Używaj odcisku palca do"</string>
diff --git a/res/values-pt-rBR/strings.xml b/res/values-pt-rBR/strings.xml
index 0067e1c..17d7da1 100644
--- a/res/values-pt-rBR/strings.xml
+++ b/res/values-pt-rBR/strings.xml
@@ -313,6 +313,7 @@
     <string name="security_settings_summary" msgid="967393342537986570">"Definir Meu local, desbloqueio de tela, bloqueio do SIM e do armazenamento de credenciais"</string>
     <string name="cdma_security_settings_summary" msgid="6068799952798901542">"Definir o Meu local, o desbloqueio de tela, o bloqueio do armazenamento de credenciais"</string>
     <string name="security_passwords_title" msgid="2930627259125138363">"Senhas"</string>
+    <string name="disabled_by_administrator_summary" msgid="5989801404248162477">"Desativada pelo administrador"</string>
     <string name="security_settings_fingerprint_preference_title" msgid="2488725232406204350">"Impressão digital"</string>
     <string name="fingerprint_manage_category_title" msgid="8293801041700001681">"Gerenciar impressões digitais"</string>
     <string name="fingerprint_usage_category_title" msgid="8438526918999536619">"Usar impressão digital para"</string>
diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml
index fe3a9fb..c69429a 100644
--- a/res/values-pt-rPT/strings.xml
+++ b/res/values-pt-rPT/strings.xml
@@ -313,6 +313,7 @@
     <string name="security_settings_summary" msgid="967393342537986570">"Definir A minha localização, desbloqueio do ecrã, bloqueio do cartão SIM, bloqueio do armazenamento de credenciais"</string>
     <string name="cdma_security_settings_summary" msgid="6068799952798901542">"Definir O meu local, desbloqueio do ecrã, bloqueio do armazenamento de credenciais"</string>
     <string name="security_passwords_title" msgid="2930627259125138363">"Palavras-passe"</string>
+    <string name="disabled_by_administrator_summary" msgid="5989801404248162477">"Desativado pelo administrador"</string>
     <string name="security_settings_fingerprint_preference_title" msgid="2488725232406204350">"Impressão digital"</string>
     <string name="fingerprint_manage_category_title" msgid="8293801041700001681">"Gerir impressões dig."</string>
     <string name="fingerprint_usage_category_title" msgid="8438526918999536619">"Usar impr. dig. para"</string>
diff --git a/res/values-pt/strings.xml b/res/values-pt/strings.xml
index 0067e1c..17d7da1 100644
--- a/res/values-pt/strings.xml
+++ b/res/values-pt/strings.xml
@@ -313,6 +313,7 @@
     <string name="security_settings_summary" msgid="967393342537986570">"Definir Meu local, desbloqueio de tela, bloqueio do SIM e do armazenamento de credenciais"</string>
     <string name="cdma_security_settings_summary" msgid="6068799952798901542">"Definir o Meu local, o desbloqueio de tela, o bloqueio do armazenamento de credenciais"</string>
     <string name="security_passwords_title" msgid="2930627259125138363">"Senhas"</string>
+    <string name="disabled_by_administrator_summary" msgid="5989801404248162477">"Desativada pelo administrador"</string>
     <string name="security_settings_fingerprint_preference_title" msgid="2488725232406204350">"Impressão digital"</string>
     <string name="fingerprint_manage_category_title" msgid="8293801041700001681">"Gerenciar impressões digitais"</string>
     <string name="fingerprint_usage_category_title" msgid="8438526918999536619">"Usar impressão digital para"</string>
diff --git a/res/values-ro/strings.xml b/res/values-ro/strings.xml
index 77aa97c..f7e57ec 100644
--- a/res/values-ro/strings.xml
+++ b/res/values-ro/strings.xml
@@ -314,6 +314,7 @@
     <string name="security_settings_summary" msgid="967393342537986570">"Setați Locația mea, deblocarea ecranului, blocarea cardului SIM, blocarea stocării acreditărilor"</string>
     <string name="cdma_security_settings_summary" msgid="6068799952798901542">"Setați Locația mea, deblocarea ecranului, blocarea stocării acreditărilor"</string>
     <string name="security_passwords_title" msgid="2930627259125138363">"Parole"</string>
+    <string name="disabled_by_administrator_summary" msgid="5989801404248162477">"Dezactivată de administrator"</string>
     <string name="security_settings_fingerprint_preference_title" msgid="2488725232406204350">"Amprentă"</string>
     <string name="fingerprint_manage_category_title" msgid="8293801041700001681">"Gestionați amprentele"</string>
     <string name="fingerprint_usage_category_title" msgid="8438526918999536619">"Folosiți amprenta la"</string>
diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml
index b467527..20cb797 100644
--- a/res/values-ru/strings.xml
+++ b/res/values-ru/strings.xml
@@ -315,6 +315,7 @@
     <string name="security_settings_summary" msgid="967393342537986570">"Настройка функции \"Мое местоположение\", разблокировка экрана и блокировка хранилища регистрационных данных"</string>
     <string name="cdma_security_settings_summary" msgid="6068799952798901542">"Настройка функции \"Мое местоположение\", разблокировка экрана и блокировка хранилища регистрационных данных"</string>
     <string name="security_passwords_title" msgid="2930627259125138363">"Пароли"</string>
+    <string name="disabled_by_administrator_summary" msgid="5989801404248162477">"Отключено администратором"</string>
     <string name="security_settings_fingerprint_preference_title" msgid="2488725232406204350">"Отпечатки пальцев"</string>
     <string name="fingerprint_manage_category_title" msgid="8293801041700001681">"Управление отпечатками"</string>
     <string name="fingerprint_usage_category_title" msgid="8438526918999536619">"Для чего использовать"</string>
@@ -2586,8 +2587,8 @@
     <string name="loading_notification_apps" msgid="5031818677010335895">"Загрузка..."</string>
     <string name="app_notification_block_title" msgid="4069351066849087649">"Блокировать все"</string>
     <string name="app_notification_block_summary" msgid="9049487483231233726">"Не показывать уведомления из этого приложения"</string>
-    <string name="app_notification_override_dnd_title" msgid="7867458246395884830">"Переопределить настройку \"Не беспокоить\""</string>
-    <string name="app_notification_override_dnd_summary" msgid="3516007157020189746">"Разрешить уведомления от этого приложения, когда включен режим \"Не беспокоить\""</string>
+    <string name="app_notification_override_dnd_title" msgid="7867458246395884830">"Переопределить режим \"Не беспокоить\""</string>
+    <string name="app_notification_override_dnd_summary" msgid="3516007157020189746">"Разрешить эти уведомления, когда в режиме \"Не беспокоить\" выбрано \"Только важные\""</string>
     <string name="app_notification_sensitive_title" msgid="8465860579482264139">"Скрыть конфиденциальные данные"</string>
     <string name="app_notification_sensitive_summary" msgid="2515056180303710894">"Не показывать конфиденциальные данные в уведомлениях, когда устройство заблокировано"</string>
     <string name="app_notification_row_banned" msgid="5983655258784814773">"Заблокировано"</string>
diff --git a/res/values-si-rLK/strings.xml b/res/values-si-rLK/strings.xml
index ca2aa4d..1277165 100644
--- a/res/values-si-rLK/strings.xml
+++ b/res/values-si-rLK/strings.xml
@@ -313,6 +313,7 @@
     <string name="security_settings_summary" msgid="967393342537986570">"මගේ ස්ථානය, තිර අගුළු ඇරීම, SIM පත් අගුල, අක්තපත්‍ර ආචයන අගුල සකසන්න"</string>
     <string name="cdma_security_settings_summary" msgid="6068799952798901542">"මගේ ස්ථානය, තිර අගුළු ඇරීම, අක්තපත්‍ර ආචයන අගුල සකසන්න"</string>
     <string name="security_passwords_title" msgid="2930627259125138363">"මුරපද"</string>
+    <string name="disabled_by_administrator_summary" msgid="5989801404248162477">"පරිපාලක විසින් අබල කරන ලදී"</string>
     <string name="security_settings_fingerprint_preference_title" msgid="2488725232406204350">"ඇඟිලි සලකුණ"</string>
     <string name="fingerprint_manage_category_title" msgid="8293801041700001681">"ඇඟිලි සලකුණු කළමනාකරණය කරන්න"</string>
     <string name="fingerprint_usage_category_title" msgid="8438526918999536619">"මෙය සඳහා ඇඟිලි සලකුණු භාවිත කරන්න"</string>
diff --git a/res/values-sk/strings.xml b/res/values-sk/strings.xml
index ccb35a2..82dd60c 100644
--- a/res/values-sk/strings.xml
+++ b/res/values-sk/strings.xml
@@ -315,6 +315,7 @@
     <string name="security_settings_summary" msgid="967393342537986570">"Moja poloha, odomknutie obrazovky, zámok SIM, zámok ukladacieho priestoru poverení"</string>
     <string name="cdma_security_settings_summary" msgid="6068799952798901542">"Nastavenie funkcie Moje poloha, odomknutie obrazovky a zamknutie úložiska poverení"</string>
     <string name="security_passwords_title" msgid="2930627259125138363">"Heslá"</string>
+    <string name="disabled_by_administrator_summary" msgid="5989801404248162477">"Zakázané správcom"</string>
     <string name="security_settings_fingerprint_preference_title" msgid="2488725232406204350">"Odtlačok prsta"</string>
     <string name="fingerprint_manage_category_title" msgid="8293801041700001681">"Správa odtlačkov"</string>
     <string name="fingerprint_usage_category_title" msgid="8438526918999536619">"Použiť odtlačok na"</string>
diff --git a/res/values-sl/strings.xml b/res/values-sl/strings.xml
index 15603e1..f80f2fe 100644
--- a/res/values-sl/strings.xml
+++ b/res/values-sl/strings.xml
@@ -315,6 +315,7 @@
     <string name="security_settings_summary" msgid="967393342537986570">"Nastavi Mojo lokacijo, odklepanje zaslona, zaklepanje kartice SIM, zaklepanje shrambe poverilnic"</string>
     <string name="cdma_security_settings_summary" msgid="6068799952798901542">"Nastavitev Moje lokacije, odklepanja zaslona, zaklepanja shrambe poverilnic"</string>
     <string name="security_passwords_title" msgid="2930627259125138363">"Gesla"</string>
+    <string name="disabled_by_administrator_summary" msgid="5989801404248162477">"Onemogočil skrbnik"</string>
     <string name="security_settings_fingerprint_preference_title" msgid="2488725232406204350">"Prstni odtis"</string>
     <string name="fingerprint_manage_category_title" msgid="8293801041700001681">"Upravlj. prst. odtisov"</string>
     <string name="fingerprint_usage_category_title" msgid="8438526918999536619">"Upor. prst. odtisa za"</string>
diff --git a/res/values-sq-rAL/strings.xml b/res/values-sq-rAL/strings.xml
index d7e6177..0331402 100644
--- a/res/values-sq-rAL/strings.xml
+++ b/res/values-sq-rAL/strings.xml
@@ -313,6 +313,7 @@
     <string name="security_settings_summary" msgid="967393342537986570">"Cakto \"Vendndodhjen time\", shkyçjen e ekranit, kyçjen e kartës SIM, kyçjen e hapësirës për ruajtjen e kredencialeve"</string>
     <string name="cdma_security_settings_summary" msgid="6068799952798901542">"Cakto \"Vendndodhja ime\", shkyçjen e ekranit, kyçjen e hapësirës ruajtëse të kredencialeve"</string>
     <string name="security_passwords_title" msgid="2930627259125138363">"Fjalëkalimet"</string>
+    <string name="disabled_by_administrator_summary" msgid="5989801404248162477">"Çaktivizuar nga administratori"</string>
     <string name="security_settings_fingerprint_preference_title" msgid="2488725232406204350">"Gjurma e gishtit"</string>
     <string name="fingerprint_manage_category_title" msgid="8293801041700001681">"Menaxho gjurm. gishtit"</string>
     <string name="fingerprint_usage_category_title" msgid="8438526918999536619">"Përdor gjurmën për"</string>
diff --git a/res/values-sr/strings.xml b/res/values-sr/strings.xml
index b22c799..c60ed97 100644
--- a/res/values-sr/strings.xml
+++ b/res/values-sr/strings.xml
@@ -314,6 +314,7 @@
     <string name="security_settings_summary" msgid="967393342537986570">"Подешавање Моје локације, откључавања екрана, закључавања SIM картице и закључавања акредитива складишта"</string>
     <string name="cdma_security_settings_summary" msgid="6068799952798901542">"Подешавање Моје локације, откључавања екрана, закључавања складишта акредитива"</string>
     <string name="security_passwords_title" msgid="2930627259125138363">"Лозинке"</string>
+    <string name="disabled_by_administrator_summary" msgid="5989801404248162477">"Онемогућио је администратор"</string>
     <string name="security_settings_fingerprint_preference_title" msgid="2488725232406204350">"Отисак прста"</string>
     <string name="fingerprint_manage_category_title" msgid="8293801041700001681">"Управљај отис. прстију"</string>
     <string name="fingerprint_usage_category_title" msgid="8438526918999536619">"Користи отис. прста за"</string>
diff --git a/res/values-sv/strings.xml b/res/values-sv/strings.xml
index 1245534..0063bb4 100644
--- a/res/values-sv/strings.xml
+++ b/res/values-sv/strings.xml
@@ -313,6 +313,7 @@
     <string name="security_settings_summary" msgid="967393342537986570">"Ställ in Min plats, skärmupplåsning, lås för SIM-kort och lås för uppgiftslagring"</string>
     <string name="cdma_security_settings_summary" msgid="6068799952798901542">"Ställ in Min plats, skärmupplåsning, lås för uppgiftslagring"</string>
     <string name="security_passwords_title" msgid="2930627259125138363">"Lösenord"</string>
+    <string name="disabled_by_administrator_summary" msgid="5989801404248162477">"Har inaktiverats av administratören"</string>
     <string name="security_settings_fingerprint_preference_title" msgid="2488725232406204350">"Fingeravtryck"</string>
     <string name="fingerprint_manage_category_title" msgid="8293801041700001681">"Hantera fingeravtryck"</string>
     <string name="fingerprint_usage_category_title" msgid="8438526918999536619">"Använd avtryck för"</string>
diff --git a/res/values-sw/strings.xml b/res/values-sw/strings.xml
index 3406321..d456fdf 100644
--- a/res/values-sw/strings.xml
+++ b/res/values-sw/strings.xml
@@ -315,6 +315,7 @@
     <string name="security_settings_summary" msgid="967393342537986570">"Weka Mahali Pangu, fungua skrini, funga SIM kadi, funga hifadhi ya hati-tambulishi"</string>
     <string name="cdma_security_settings_summary" msgid="6068799952798901542">"Weka Mahali Pangu, fungua skrini, funga hifadhi ya hati-tambulishi"</string>
     <string name="security_passwords_title" msgid="2930627259125138363">"Manenosiri"</string>
+    <string name="disabled_by_administrator_summary" msgid="5989801404248162477">"Msimamizi amezima mapendeleo ya mipangilio"</string>
     <string name="security_settings_fingerprint_preference_title" msgid="2488725232406204350">"Kitambulisho"</string>
     <string name="fingerprint_manage_category_title" msgid="8293801041700001681">"Dhibiti vitambulisho"</string>
     <string name="fingerprint_usage_category_title" msgid="8438526918999536619">"Tumia kitambulisho kwa"</string>
@@ -2563,7 +2564,7 @@
     <string name="app_notification_block_title" msgid="4069351066849087649">"Zuia zote"</string>
     <string name="app_notification_block_summary" msgid="9049487483231233726">"Usionyeshe arifa kutoka programu hii kabisa"</string>
     <string name="app_notification_override_dnd_title" msgid="7867458246395884830">"Batilisha Usinisumbue"</string>
-    <string name="app_notification_override_dnd_summary" msgid="3516007157020189746">"Ruhusu arifa hizi ziendelee kukatiza wakati hali ya Usinisumbue imewekwa kama Kipaumbele pekee"</string>
+    <string name="app_notification_override_dnd_summary" msgid="3516007157020189746">"Ruhusu arifa hizi ziendelee kukatiza wakati hali ya Usinisumbue imewekwa katika Kipaumbele Pekee"</string>
     <string name="app_notification_sensitive_title" msgid="8465860579482264139">"Ficha maudhui nyeti"</string>
     <string name="app_notification_sensitive_summary" msgid="2515056180303710894">"Kifaa kikiwa kimefungwa, ficha maudhui yanayoweza kufichua maelezo ya faragha katika arifa hizi"</string>
     <string name="app_notification_row_banned" msgid="5983655258784814773">"Imezuiwa"</string>
diff --git a/res/values-ta-rIN/strings.xml b/res/values-ta-rIN/strings.xml
index 99e8086..c66b7f1 100644
--- a/res/values-ta-rIN/strings.xml
+++ b/res/values-ta-rIN/strings.xml
@@ -313,6 +313,7 @@
     <string name="security_settings_summary" msgid="967393342537986570">"எனது இருப்பிடம், திரை திற, சிம் கார்டு பூட்டு, நற்சான்று சேமிப்பிட பூட்டு ஆகியவற்றை அமைக்கவும்"</string>
     <string name="cdma_security_settings_summary" msgid="6068799952798901542">"எனது இருப்பிடம், திரையைத் திற, நற்சான்று சேமிப்பிடப் பூட்டு ஆகியவற்றை அமைக்கவும்"</string>
     <string name="security_passwords_title" msgid="2930627259125138363">"கடவுச்சொற்கள்"</string>
+    <string name="disabled_by_administrator_summary" msgid="5989801404248162477">"நிர்வாகி முடக்கியுள்ளார்"</string>
     <string name="security_settings_fingerprint_preference_title" msgid="2488725232406204350">"கைரேகை"</string>
     <string name="fingerprint_manage_category_title" msgid="8293801041700001681">"கைரேகைகளை நிர்வகிக்கவும்"</string>
     <string name="fingerprint_usage_category_title" msgid="8438526918999536619">"இதற்குப் பயன்படுத்து:"</string>
diff --git a/res/values-te-rIN/strings.xml b/res/values-te-rIN/strings.xml
index d8cb96f..bd213bb 100644
--- a/res/values-te-rIN/strings.xml
+++ b/res/values-te-rIN/strings.xml
@@ -313,6 +313,7 @@
     <string name="security_settings_summary" msgid="967393342537986570">"నా స్థానాన్ని, స్క్రీన్ అన్‌లాక్‌ను, సిమ్ కార్డు లాక్‌ను, ఆధారాల నిల్వ లాక్‌ను సెట్ చేయి"</string>
     <string name="cdma_security_settings_summary" msgid="6068799952798901542">"నా స్థానాన్ని, స్క్రీన్ అన్‌లాక్‌ను, ఆధారాల నిల్వ లాక్‌ను సెట్ చేయండి"</string>
     <string name="security_passwords_title" msgid="2930627259125138363">"పాస్‌వర్డ్‌లు"</string>
+    <string name="disabled_by_administrator_summary" msgid="5989801404248162477">"నిర్వాహకుడు నిలిపివేసారు"</string>
     <string name="security_settings_fingerprint_preference_title" msgid="2488725232406204350">"వేలిముద్ర"</string>
     <string name="fingerprint_manage_category_title" msgid="8293801041700001681">"వేలిముద్రలు నిర్వహిం."</string>
     <string name="fingerprint_usage_category_title" msgid="8438526918999536619">"దీనికి వేలిముద్రను ఉప."</string>
diff --git a/res/values-th/strings.xml b/res/values-th/strings.xml
index 354f2cc..b2cec82 100644
--- a/res/values-th/strings.xml
+++ b/res/values-th/strings.xml
@@ -116,8 +116,8 @@
     <string name="bluetooth_device" msgid="5291950341750186887">"อุปกรณ์บลูทูธที่ไม่มีชื่อ"</string>
     <string name="progress_scanning" msgid="192587958424295789">"กำลังค้นหา"</string>
     <string name="bluetooth_no_devices_found" msgid="1085232930277181436">"ไม่พบอุปกรณ์บลูทูธในบริเวณใกล้เคียง"</string>
-    <string name="bluetooth_notif_ticker" msgid="4726721390078512173">"คำขอกำหนดค่าอุปกรณ์ให้ตรงกันทางบลูทูธ"</string>
-    <string name="bluetooth_notif_title" msgid="2485175521845371514">"คำขอกำหนดค่าอุปกรณ์ให้ตรงกัน"</string>
+    <string name="bluetooth_notif_ticker" msgid="4726721390078512173">"คำขอจับคู่อุปกรณ์ผ่านบลูทูธ"</string>
+    <string name="bluetooth_notif_title" msgid="2485175521845371514">"คำขอจับคู่อุปกรณ์"</string>
     <string name="bluetooth_notif_message" msgid="5300852675110479862">"แตะเพื่อจับคู่กับ <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
     <string name="bluetooth_show_received_files" msgid="5164787486105868895">"แสดงไฟล์ที่ได้รับ"</string>
     <string name="device_picker" msgid="4978696506172252813">"เลือกอุปกรณ์บลูทูธ"</string>
@@ -313,6 +313,7 @@
     <string name="security_settings_summary" msgid="967393342537986570">"ตั้งค่าตำแหน่งของฉัน ปลดล็อกหน้าจอ ล็อกซิมการ์ด ล็อกที่จัดเก็บข้อมูลรับรอง"</string>
     <string name="cdma_security_settings_summary" msgid="6068799952798901542">"ตั้งค่าตำแหน่งของฉัน การปลดล็อกหน้าจอ การล็อกที่จัดเก็บข้อมูลรับรอง"</string>
     <string name="security_passwords_title" msgid="2930627259125138363">"รหัสผ่าน"</string>
+    <string name="disabled_by_administrator_summary" msgid="5989801404248162477">"ปิดใช้โดยผู้ดูแลระบบ"</string>
     <string name="security_settings_fingerprint_preference_title" msgid="2488725232406204350">"ลายนิ้วมือ"</string>
     <string name="fingerprint_manage_category_title" msgid="8293801041700001681">"จัดการลายนิ้วมือ"</string>
     <string name="fingerprint_usage_category_title" msgid="8438526918999536619">"ใช้ลายนิ้วมือเพื่อ"</string>
@@ -532,9 +533,9 @@
     <string name="bluetooth_preference_no_found_devices" msgid="7594339669961811591">"ไม่พบอุปกรณ์"</string>
     <string name="bluetooth_device_context_connect" msgid="3997659895003244941">"เชื่อมต่อ"</string>
     <string name="bluetooth_device_context_disconnect" msgid="8220072022970148683">"ตัดการเชื่อมต่อ"</string>
-    <string name="bluetooth_device_context_pair_connect" msgid="7611522504813927727">"กำหนดค่าอุปกรณ์ให้ตรงกันและเชื่อมต่อ"</string>
-    <string name="bluetooth_device_context_unpair" msgid="662992425948536144">"ยกเลิกการกำหนดค่าอุปกรณ์ให้ตรงกัน"</string>
-    <string name="bluetooth_device_context_disconnect_unpair" msgid="7644014238070043798">"ตัดการเชื่อมต่อและยกเลิกการกำหนดค่าอุปกรณ์ให้ตรงกัน"</string>
+    <string name="bluetooth_device_context_pair_connect" msgid="7611522504813927727">"จับคู่อุปกรณ์และเชื่อมต่อ"</string>
+    <string name="bluetooth_device_context_unpair" msgid="662992425948536144">"เลิกจับคู่อุปกรณ์"</string>
+    <string name="bluetooth_device_context_disconnect_unpair" msgid="7644014238070043798">"ตัดการเชื่อมต่อและเลิกจับคู่อุปกรณ์"</string>
     <string name="bluetooth_device_context_connect_advanced" msgid="2643129703569788771">"ตัวเลือก…"</string>
     <string name="bluetooth_menu_advanced" msgid="8572178316357220524">"ขั้นสูง"</string>
     <string name="bluetooth_advanced_titlebar" msgid="2142159726881547669">"บลูทูธขั้นสูง"</string>
diff --git a/res/values-tl/strings.xml b/res/values-tl/strings.xml
index 561ccc1..4b3f479 100644
--- a/res/values-tl/strings.xml
+++ b/res/values-tl/strings.xml
@@ -313,6 +313,7 @@
     <string name="security_settings_summary" msgid="967393342537986570">"Itakda ang Aking Lokasyon, pag-unlock ng screen, lock ng SIM card, lock ng imbakan ng kredensyal"</string>
     <string name="cdma_security_settings_summary" msgid="6068799952798901542">"Itakda ang Aking Lokasyon, pag-unlock ng screen, lock ng imbakan ng kredensyal"</string>
     <string name="security_passwords_title" msgid="2930627259125138363">"Mga Password"</string>
+    <string name="disabled_by_administrator_summary" msgid="5989801404248162477">"Na-disable ng administrator"</string>
     <string name="security_settings_fingerprint_preference_title" msgid="2488725232406204350">"Fingerprint"</string>
     <string name="fingerprint_manage_category_title" msgid="8293801041700001681">"Pamahalaan fingerprint"</string>
     <string name="fingerprint_usage_category_title" msgid="8438526918999536619">"Gamit fingerprint para"</string>
diff --git a/res/values-tr/strings.xml b/res/values-tr/strings.xml
index fcdd502..5bc31c8 100644
--- a/res/values-tr/strings.xml
+++ b/res/values-tr/strings.xml
@@ -313,6 +313,7 @@
     <string name="security_settings_summary" msgid="967393342537986570">"Konumum, ekran kil. açma, SIM kart kil., kim. bilg. dep.kilidini ayarla"</string>
     <string name="cdma_security_settings_summary" msgid="6068799952798901542">"Konumum, ekran kilidi açma, kimlik bilgileri deposunun kilidi özelliklerini ayarla"</string>
     <string name="security_passwords_title" msgid="2930627259125138363">"Şifreler"</string>
+    <string name="disabled_by_administrator_summary" msgid="5989801404248162477">"Yönetici tarafından devre dışı bırakıldı"</string>
     <string name="security_settings_fingerprint_preference_title" msgid="2488725232406204350">"Parmak izi"</string>
     <string name="fingerprint_manage_category_title" msgid="8293801041700001681">"Parmak izi yönetimi"</string>
     <string name="fingerprint_usage_category_title" msgid="8438526918999536619">"Parmak izi kullanımı:"</string>
diff --git a/res/values-uk/strings.xml b/res/values-uk/strings.xml
index a4c2051..b684ec4 100644
--- a/res/values-uk/strings.xml
+++ b/res/values-uk/strings.xml
@@ -315,6 +315,7 @@
     <string name="security_settings_summary" msgid="967393342537986570">"Устан. Моє місцезн., розблок. екрана, блок. SIM-карти, сховища обл. даних"</string>
     <string name="cdma_security_settings_summary" msgid="6068799952798901542">"Устан. Моє місцезн., розбл. екрана, блок. схов. обл. даних"</string>
     <string name="security_passwords_title" msgid="2930627259125138363">"Паролі"</string>
+    <string name="disabled_by_administrator_summary" msgid="5989801404248162477">"Вимкнено адміністратором"</string>
     <string name="security_settings_fingerprint_preference_title" msgid="2488725232406204350">"Цифровий відбиток"</string>
     <string name="fingerprint_manage_category_title" msgid="8293801041700001681">"Керування відбитками"</string>
     <string name="fingerprint_usage_category_title" msgid="8438526918999536619">"Використ. відбиток для"</string>
diff --git a/res/values-ur-rPK/strings.xml b/res/values-ur-rPK/strings.xml
index 51ff7d3..c9c485d 100644
--- a/res/values-ur-rPK/strings.xml
+++ b/res/values-ur-rPK/strings.xml
@@ -313,6 +313,7 @@
     <string name="security_settings_summary" msgid="967393342537986570">"‏میرا مقام، اسکرین اَن لاک، SIM کارڈ لاک، اسناد کے اسٹوریج کا لاک سیٹ کریں"</string>
     <string name="cdma_security_settings_summary" msgid="6068799952798901542">"میرا مقام، اسکرین ان لاک، اسناد کے اسٹوریج کا لاک سیٹ کریں"</string>
     <string name="security_passwords_title" msgid="2930627259125138363">"پاس ورڈز"</string>
+    <string name="disabled_by_administrator_summary" msgid="5989801404248162477">"منتظم نے غیر فعال کی"</string>
     <string name="security_settings_fingerprint_preference_title" msgid="2488725232406204350">"فنگر پرنٹ"</string>
     <string name="fingerprint_manage_category_title" msgid="8293801041700001681">"فنگر پرنٹس کا نظم کریں"</string>
     <string name="fingerprint_usage_category_title" msgid="8438526918999536619">"فنگر پرنٹ استعمال کریں برائے"</string>
diff --git a/res/values-uz-rUZ/strings.xml b/res/values-uz-rUZ/strings.xml
index 13e1e23..1702f1e 100644
--- a/res/values-uz-rUZ/strings.xml
+++ b/res/values-uz-rUZ/strings.xml
@@ -313,6 +313,7 @@
     <string name="security_settings_summary" msgid="967393342537986570">"Joylashuv va xavfsizlik sozlamalari"</string>
     <string name="cdma_security_settings_summary" msgid="6068799952798901542">"Mening joylashuvim, ekran qulfi, hisob ma‘lumotlari omborini qulflash sozlamalari"</string>
     <string name="security_passwords_title" msgid="2930627259125138363">"Parollar"</string>
+    <string name="disabled_by_administrator_summary" msgid="5989801404248162477">"Administrator tomonidan o‘chirib qo‘yilgan"</string>
     <string name="security_settings_fingerprint_preference_title" msgid="2488725232406204350">"Barmoq izi"</string>
     <string name="fingerprint_manage_category_title" msgid="8293801041700001681">"Barmoq izlari"</string>
     <string name="fingerprint_usage_category_title" msgid="8438526918999536619">"Barmoq izi sozlamalari"</string>
@@ -602,7 +603,7 @@
     <string name="wifi_notify_open_networks" msgid="3755768188029653293">"Tarmoq haqida bildirishnoma"</string>
     <string name="wifi_notify_open_networks_summary" msgid="3716818008370391253">"Hamma uchun ochiq tarmoqlar haqida xabar qilinsin"</string>
     <string name="wifi_poor_network_detection" msgid="4925789238170207169">"Sifatsiz ulanishdan chetlashish"</string>
-    <string name="wifi_poor_network_detection_summary" msgid="2784135142239546291">"Sifatli Internet ulanishi mavjud bo‘lmaganicha, Wi‑Fi tarmog‘iga ulanmasin."</string>
+    <string name="wifi_poor_network_detection_summary" msgid="2784135142239546291">"Internet aloqasi yomon bo‘lsa, Wi-Fi tarmog‘iga ulanilmasin"</string>
     <string name="wifi_avoid_poor_network_detection_summary" msgid="4674423884870027498">"Faqat kuchli signalga ega tarmoqlardan foydalanilsin"</string>
     <string name="wifi_automatically_connect_title" msgid="7950640291510621742">"Ochiq Wi-Fi tarmog‘iga avtomatik ulanish"</string>
     <string name="wifi_automatically_connect_summary" msgid="6722194413023965902">"Wi-Fi yordamchisiga ochiq tarmoqlar ichidan eng kuchlisiga avtomatik ulanishi uchun ruxsat bering"</string>
diff --git a/res/values-vi/strings.xml b/res/values-vi/strings.xml
index 655ae9f..18f9db5 100644
--- a/res/values-vi/strings.xml
+++ b/res/values-vi/strings.xml
@@ -313,6 +313,7 @@
     <string name="security_settings_summary" msgid="967393342537986570">"Đặt Vị trí của tôi, mở khóa màn hình, khóa thẻ SIM, khóa bộ nhớ thông tin xác thực"</string>
     <string name="cdma_security_settings_summary" msgid="6068799952798901542">"Đặt Vị trí của tôi, mở khóa màn hình, khóa bộ nhớ thông tin xác thực"</string>
     <string name="security_passwords_title" msgid="2930627259125138363">"Mật khẩu"</string>
+    <string name="disabled_by_administrator_summary" msgid="5989801404248162477">"Bị tắt bởi quản trị viên"</string>
     <string name="security_settings_fingerprint_preference_title" msgid="2488725232406204350">"Vân tay"</string>
     <string name="fingerprint_manage_category_title" msgid="8293801041700001681">"Quản lý vân tay"</string>
     <string name="fingerprint_usage_category_title" msgid="8438526918999536619">"Sử dụng vân tay để"</string>
diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml
index 8ece97a..a148484 100644
--- a/res/values-zh-rCN/strings.xml
+++ b/res/values-zh-rCN/strings.xml
@@ -313,6 +313,7 @@
     <string name="security_settings_summary" msgid="967393342537986570">"设置我的位置、屏幕解锁、SIM卡锁定和凭据存储锁定"</string>
     <string name="cdma_security_settings_summary" msgid="6068799952798901542">"设置我的位置、屏幕解锁和凭据存储锁定"</string>
     <string name="security_passwords_title" msgid="2930627259125138363">"密码"</string>
+    <string name="disabled_by_administrator_summary" msgid="5989801404248162477">"已被管理员停用"</string>
     <string name="security_settings_fingerprint_preference_title" msgid="2488725232406204350">"指纹"</string>
     <string name="fingerprint_manage_category_title" msgid="8293801041700001681">"管理指纹"</string>
     <string name="fingerprint_usage_category_title" msgid="8438526918999536619">"将指纹用于以下用途："</string>
@@ -2724,7 +2725,7 @@
     <string name="advanced_apps" msgid="4812975097124803873">"高级"</string>
     <string name="configure_apps" msgid="6685680790825882528">"配置应用"</string>
     <string name="unknown_app" msgid="5275921288718717656">"未知应用"</string>
-    <string name="app_permissions" msgid="4148222031991883874">"应用所需权限"</string>
+    <string name="app_permissions" msgid="4148222031991883874">"应用访问授权"</string>
     <string name="app_permissions_summary" msgid="2098173899436407221">"已授予 <xliff:g id="COUNT_0">%d</xliff:g> 个应用（共 <xliff:g id="COUNT_1">%d</xliff:g> 个）其他权限"</string>
     <string name="app_permissions_group_summary" msgid="2721303391744909000">"已授权 <xliff:g id="COUNT_0">%d</xliff:g> 个应用（共 <xliff:g id="COUNT_1">%d</xliff:g> 个）"</string>
     <string name="tap_to_wake" msgid="7211944147196888807">"点按唤醒"</string>
diff --git a/res/values-zh-rHK/strings.xml b/res/values-zh-rHK/strings.xml
index a431988..8788402 100644
--- a/res/values-zh-rHK/strings.xml
+++ b/res/values-zh-rHK/strings.xml
@@ -313,6 +313,7 @@
     <string name="security_settings_summary" msgid="967393342537986570">"設定我的位置、畫面解鎖、SIM 卡鎖定、認證儲存空間鎖定"</string>
     <string name="cdma_security_settings_summary" msgid="6068799952798901542">"設定我的位置、螢幕解鎖及認證儲存空間鎖定"</string>
     <string name="security_passwords_title" msgid="2930627259125138363">"密碼"</string>
+    <string name="disabled_by_administrator_summary" msgid="5989801404248162477">"已由管理員停用"</string>
     <string name="security_settings_fingerprint_preference_title" msgid="2488725232406204350">"指紋"</string>
     <string name="fingerprint_manage_category_title" msgid="8293801041700001681">"管理指紋"</string>
     <string name="fingerprint_usage_category_title" msgid="8438526918999536619">"使用指紋"</string>
diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml
index f93e79e..aa334ac 100644
--- a/res/values-zh-rTW/strings.xml
+++ b/res/values-zh-rTW/strings.xml
@@ -313,6 +313,7 @@
     <string name="security_settings_summary" msgid="967393342537986570">"設定我的位置、畫面解鎖、SIM 卡鎖定、認證儲存空間鎖定"</string>
     <string name="cdma_security_settings_summary" msgid="6068799952798901542">"設定我的位置、解除鎖定畫面及鎖定認證儲存空間"</string>
     <string name="security_passwords_title" msgid="2930627259125138363">"密碼"</string>
+    <string name="disabled_by_administrator_summary" msgid="5989801404248162477">"已由管理員停用"</string>
     <string name="security_settings_fingerprint_preference_title" msgid="2488725232406204350">"指紋"</string>
     <string name="fingerprint_manage_category_title" msgid="8293801041700001681">"管理指紋"</string>
     <string name="fingerprint_usage_category_title" msgid="8438526918999536619">"指紋辨識用途："</string>
diff --git a/res/values-zu/strings.xml b/res/values-zu/strings.xml
index f3d61be..7c24695 100644
--- a/res/values-zu/strings.xml
+++ b/res/values-zu/strings.xml
@@ -313,6 +313,7 @@
     <string name="security_settings_summary" msgid="967393342537986570">"Setha Indawo Yami, ukuvula isikrini, ukuvala ikhadi le-SIM, ukuvala isitoreji sokuqinisekisa"</string>
     <string name="cdma_security_settings_summary" msgid="6068799952798901542">"Setha Indawo Yami, ukuvula isikrini, ukuvala isitoreji seziqinisekiso"</string>
     <string name="security_passwords_title" msgid="2930627259125138363">"Amaphasiwedi"</string>
+    <string name="disabled_by_administrator_summary" msgid="5989801404248162477">"Ikhutshazwe umlawuli"</string>
     <string name="security_settings_fingerprint_preference_title" msgid="2488725232406204350">"Izigxivizo zeminwe"</string>
     <string name="fingerprint_manage_category_title" msgid="8293801041700001681">"Phatha izigxivizo zeminwe"</string>
     <string name="fingerprint_usage_category_title" msgid="8438526918999536619">"Sebenzisa izigxivizo zeminwe ukuthi"</string>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 8614d7a..ecc465e 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -690,6 +690,8 @@
     <string name="cdma_security_settings_summary">Set My Location, screen unlock, credential storage lock</string>
     <!-- In the security screen, the header title for settings related to  Passwords-->
     <string name="security_passwords_title">Passwords</string>
+    <!-- Summary for settings preference disabled by administrator [CHAR LIMIT=50] -->
+    <string name="disabled_by_administrator_summary">Disabled by administrator</string>
 
     <!-- Fingerprint enrollment and settings --><skip />
     <!-- Title shown for menu item that launches fingerprint settings or enrollment [CHAR LIMIT=22] -->
@@ -5886,7 +5888,7 @@
     <string name="keywords_network_reset">reset restore factory</string>
     <string name="keywords_factory_data_reset">wipe delete restore clear remove</string>
     <string name="keywords_printing">printer</string>
-    <string name="keywords_sounds_and_notifications">speaker beep</string>
+    <string name="keywords_sounds">speaker beep</string>
     <string name="keywords_sounds_and_notifications_interruptions">dont don\u2019t disturb interrupt interruption break</string>
     <string name="keywords_app">RAM</string>
     <string name="keywords_location">nearby location history reporting</string>
@@ -5927,78 +5929,117 @@
 
 
     <!-- Sounds and Notification -->
+    <!-- Sound: Dashboard summary. [CHAR LIMIT=100] -->
+    <string name="sound_settings_summary">Ringer volume at <xliff:g id="percentage" example="2">%1$s</xliff:g></string>
 
-    <!-- Sound & notification: Settings header. [CHAR LIMIT=30] -->
-    <string name="notification_settings">Sound &amp; notification</string>
-
-    <!-- Sound & notification > Sound section: Title for the option managing media volume. [CHAR LIMIT=30] -->
+    <!-- Sound: Title for the option managing media volume. [CHAR LIMIT=30] -->
     <string name="media_volume_option_title">Media volume</string>
 
-    <!-- Sound & notification > Sound section: Title for the option managing alarm volume. [CHAR LIMIT=30] -->
+    <!-- Sound: Title for the option managing alarm volume. [CHAR LIMIT=30] -->
     <string name="alarm_volume_option_title">Alarm volume</string>
 
-    <!-- Sound & notification > Sound section: Title for the option managing ringer volume. [CHAR LIMIT=30] -->
+    <!-- Sound: Title for the option managing ringer volume. [CHAR LIMIT=30] -->
     <string name="ring_volume_option_title">Ring volume</string>
 
-    <!-- Sound & notification > Sound section: Title for the option managing notification volume. [CHAR LIMIT=30] -->
+    <!-- Sound: Title for the option managing notification volume. [CHAR LIMIT=30] -->
     <string name="notification_volume_option_title">Notification volume</string>
 
-    <!-- Sound & notification > Sound section: Title for the Interruptions option and associated settings page. [CHAR LIMIT=30] -->
-    <string name="zen_mode_settings_title" translatable="false">@*android:string/zen_mode_feature_name</string>
-
-    <!-- Sound & notification > Sound section: Title for the Priority interruptions option and associated settings page. [CHAR LIMIT=30] -->
-    <string name="zen_mode_priority_settings_title">Priority only allows</string>
-
-    <!-- Sound & notification > Sound section: Title for the zen mode automation option and associated settings page. [CHAR LIMIT=30] -->
-    <string name="zen_mode_automation_settings_title">Automatic rules</string>
-
-    <!-- Sound & notification > Sound section: Zen mode option: Important interruptions [CHAR LIMIT=60] -->
-    <string name="zen_mode_option_important_interruptions">Priority only</string>
-
-    <!-- Sound & notification > Sound section: Zen mode option: Alarms only [CHAR LIMIT=60] -->
-    <string name="zen_mode_option_alarms">Alarms only</string>
-
-    <!-- Sound & notification > Sound section: Zen mode option: No interruptions [CHAR LIMIT=60] -->
-    <string name="zen_mode_option_no_interruptions">Total silence</string>
-
-    <!-- Sound & notification > Sound section: Zen mode combined summary + condition line [CHAR LIMIT=60] -->
-    <string name="zen_mode_summary_combination"><xliff:g id="mode" example="Priority only">%1$s</xliff:g>: <xliff:g id="exit condition" example="Until you turn this off">%2$s</xliff:g></string>
-
-    <!-- Sound & notification > Do not disturb section: Title for the Visual interruptions option and associated settings page. [CHAR LIMIT=30] -->
-    <string name="zen_mode_visual_interruptions_settings_title">Visual interruptions</string>
-
-    <!-- Sound & notification > Sound section: Title for the option defining the phone ringtone. [CHAR LIMIT=30] -->
+    <!-- Sound: Title for the option defining the phone ringtone. [CHAR LIMIT=30] -->
     <string name="ringtone_title">Phone ringtone</string>
 
-    <!-- Sound & notification > Sound section: Title for the option defining the default notification ringtone. [CHAR LIMIT=30] -->
+    <!-- Sound: Title for the option defining the default notification ringtone. [CHAR LIMIT=30] -->
     <string name="notification_ringtone_title">Default notification ringtone</string>
 
-    <!-- Sound & notification > Sound section: Title for the option managing whether or not to vibrate when ringing. [CHAR LIMIT=30] -->
+    <!-- Sound: Title for the option managing whether or not to vibrate when ringing. [CHAR LIMIT=30] -->
     <string name="vibrate_when_ringing_title">Also vibrate for calls</string>
 
-    <!-- Sound & notification: Notification section header [CHAR LIMIT=30] -->
-    <string name="notification_section_header">Notification</string>
+    <!-- Sound: Title for the other sounds option and associated settings page. [CHAR LIMIT=30] -->
+    <string name="other_sound_settings">Other sounds</string>
 
-    <!-- Sound & notification: Advanced section header [CHAR LIMIT=30] -->
+    <!-- Sound: Other sounds: Title for the option enabling touch sounds for dial pad tones. [CHAR LIMIT=30] -->
+    <string name="dial_pad_tones_title">Dial pad tones</string>
+
+    <!-- Sound: Other sounds: Title for the option enabling touch sounds for screen locking sounds. [CHAR LIMIT=30] -->
+    <string name="screen_locking_sounds_title">Screen locking sounds</string>
+
+    <!-- Sound: Other sounds: Title for the option enabling charging sounds. [CHAR LIMIT=30] -->
+    <string name="charging_sounds_title">Charging sounds</string>
+
+    <!-- Sound: Other sounds: Title for the option enabling docking sounds. [CHAR LIMIT=30] -->
+    <string name="docking_sounds_title">Docking sounds</string>
+
+    <!-- Sound: Other sounds: Title for the option enabling touch sounds. [CHAR LIMIT=30] -->
+    <string name="touch_sounds_title">Touch sounds</string>
+
+    <!-- Sound: Other sounds: Title for the option enabling haptic feedback on touch. [CHAR LIMIT=30] -->
+    <string name="vibrate_on_touch_title">Vibrate on touch</string>
+
+    <!-- Sound: Other sounds: Title for the option enabling dock audio media. [CHAR LIMIT=50] -->
+    <string name="dock_audio_media_title">Dock speaker plays</string>
+
+    <!-- Sound: Other sounds: Value for the dock audio media with value 0: disabled. [CHAR LIMIT=30] -->
+    <string name="dock_audio_media_disabled">All audio</string>
+
+    <!-- Sound: Other sounds: Value for the dock audio media with value 1: enabled. [CHAR LIMIT=30] -->
+    <string name="dock_audio_media_enabled">Media audio only</string>
+
+    <!-- Sound: Other sounds: Value for the emergency tone option with value 0: silent. [CHAR LIMIT=30] -->
+    <string name="emergency_tone_silent">Silent</string>
+
+    <!-- Sound: Other sounds: Value for the emergency tone option with value 1: alert. [CHAR LIMIT=30] -->
+    <string name="emergency_tone_alert">Alert</string>
+
+    <!-- Sound: Other sounds: Value for the emergency tone option with value 2: vibrate. [CHAR LIMIT=30] -->
+    <string name="emergency_tone_vibrate">Vibrate</string>
+
+    <!-- Sound: Title for the Do not Disturb option and associated settings page. [CHAR LIMIT=30] -->
+    <string name="zen_mode_settings_title" translatable="false">@*android:string/zen_mode_feature_name</string>
+
+    <!-- Do not disturb: Title for the Priority interruptions option and associated settings page. [CHAR LIMIT=30] -->
+    <string name="zen_mode_priority_settings_title">Priority only allows</string>
+
+    <!--  Do not disturb: Title for the zen mode automation option and associated settings page. [CHAR LIMIT=30] -->
+    <string name="zen_mode_automation_settings_title">Automatic rules</string>
+
+    <!--  Do not disturb: Zen mode option: Important interruptions [CHAR LIMIT=60] -->
+    <string name="zen_mode_option_important_interruptions">Priority only</string>
+
+    <!--  Do not disturb: Zen mode option: Alarms only [CHAR LIMIT=60] -->
+    <string name="zen_mode_option_alarms">Alarms only</string>
+
+    <!--  Do not disturb: Zen mode option: No interruptions [CHAR LIMIT=60] -->
+    <string name="zen_mode_option_no_interruptions">Total silence</string>
+
+    <!--  Do not disturb: Zen mode combined summary + condition line [CHAR LIMIT=60] -->
+    <string name="zen_mode_summary_combination"><xliff:g id="mode" example="Priority only">%1$s</xliff:g>: <xliff:g id="exit condition" example="Until you turn this off">%2$s</xliff:g></string>
+
+    <!--  Do not disturb: Title for the Visual interruptions option and associated settings page. [CHAR LIMIT=30] -->
+    <string name="zen_mode_visual_interruptions_settings_title">Visual interruptions</string>
+
+
+    <!-- Configure Notifications Settings title. [CHAR LIMIT=30] -->
+    <string name="configure_notification_settings">Configure notifications</string>
+
+    <!-- Configure Notifications: Advanced section header [CHAR LIMIT=30] -->
     <string name="advanced_section_header">Advanced</string>
 
-    <!-- Sound & notification > Notification section: Title for the pulse notification light option. [CHAR LIMIT=30] -->
+    <!-- Configure Notifications: Title for the pulse notification light option. [CHAR LIMIT=30] -->
     <string name="notification_pulse_title">Pulse notification light</string>
 
-    <!-- Sound & notification > Notification section: Title for the option controlling notifications on the lockscreen. [CHAR LIMIT=30] -->
+    <!-- Configure Notifications: Title for the option controlling notifications on the lockscreen. [CHAR LIMIT=30] -->
     <string name="lock_screen_notifications_title">When device is locked</string>
 
-    <!-- Sound & notification > Notification section: Value for lockscreen notifications:  all information will be
+    <!-- Configure Notifications: Value for lockscreen notifications:  all information will be
          shown in notifications shown on a secure lock screen
          [CHAR LIMIT=50] -->
     <string name="lock_screen_notifications_summary_show">Show all notification content</string>
 
-    <!-- Sound & notification > Notification section: Value for lockscreen notifications: sensitive information will be
+    <!-- Configure Notifications: Value for lockscreen notifications: sensitive information will be
          hidden or redacted from notifications shown on a secure lock screen
          [CHAR LIMIT=50] -->
     <string name="lock_screen_notifications_summary_hide">Hide sensitive notification content</string>
 
-    <!-- Sound & notification > Notification section: Value for lockscreen notifications: notifications will not appear on a secure lock screen
+    <!-- Configure Notifications: Value for lockscreen notifications: notifications will not appear on a secure lock screen
          [CHAR LIMIT=50] -->
     <string name="lock_screen_notifications_summary_disable">Don\u2019t show notifications at all</string>
 
@@ -6008,50 +6049,13 @@
     <!-- Security > Choose PIN/PW/Pattern > Notification redaction interstitial: Title for the screen asking the user how they want their notifications to appear when the device is locked [CHAR LIMIT=30] -->
     <string name="lock_screen_notifications_interstitial_title">Notifications</string>
 
-    <!-- Sound & notification > Notification section: Title for the option managing notifications per application. [CHAR LIMIT=30] -->
-    <string name="app_notifications_title">App notifications</string>
+    <!-- Notification Settings: Title for the option managing notifications per application. [CHAR LIMIT=30] -->
+    <string name="app_notifications_title">Notifications</string>
 
     <!-- Sound & notification > Notification section: Title for the option managing notifications per topic. [CHAR LIMIT=30] -->
     <string name="topic_notifications_title">Topic notifications</string>
 
-    <!-- Sound & notification > Sound section: Title for the other sounds option and associated settings page. [CHAR LIMIT=30] -->
-    <string name="other_sound_settings">Other sounds</string>
 
-    <!-- Sound & notification > Other sounds: Title for the option enabling touch sounds for dial pad tones. [CHAR LIMIT=30] -->
-    <string name="dial_pad_tones_title">Dial pad tones</string>
-
-    <!-- Sound & notification > Other sounds: Title for the option enabling touch sounds for screen locking sounds. [CHAR LIMIT=30] -->
-    <string name="screen_locking_sounds_title">Screen locking sounds</string>
-
-    <!-- Sound & notification > Other sounds: Title for the option enabling charging sounds. [CHAR LIMIT=30] -->
-    <string name="charging_sounds_title">Charging sounds</string>
-
-    <!-- Sound & notification > Other sounds: Title for the option enabling docking sounds. [CHAR LIMIT=30] -->
-    <string name="docking_sounds_title">Docking sounds</string>
-
-    <!-- Sound & notification > Other sounds: Title for the option enabling touch sounds. [CHAR LIMIT=30] -->
-    <string name="touch_sounds_title">Touch sounds</string>
-
-    <!-- Sound & notification > Other sounds: Title for the option enabling haptic feedback on touch. [CHAR LIMIT=30] -->
-    <string name="vibrate_on_touch_title">Vibrate on touch</string>
-
-    <!-- Sound & notification > Other sounds: Title for the option enabling dock audio media. [CHAR LIMIT=50] -->
-    <string name="dock_audio_media_title">Dock speaker plays</string>
-
-    <!-- Sound & notification > Other sounds: Value for the dock audio media with value 0: disabled. [CHAR LIMIT=30] -->
-    <string name="dock_audio_media_disabled">All audio</string>
-
-    <!-- Sound & notification > Other sounds: Value for the dock audio media with value 1: enabled. [CHAR LIMIT=30] -->
-    <string name="dock_audio_media_enabled">Media audio only</string>
-
-    <!-- Sound & notification > Other sounds: Value for the emergency tone option with value 0: silent. [CHAR LIMIT=30] -->
-    <string name="emergency_tone_silent">Silent</string>
-
-    <!-- Sound & notification > Other sounds: Value for the emergency tone option with value 1: alert. [CHAR LIMIT=30] -->
-    <string name="emergency_tone_alert">Alert</string>
-
-    <!-- Sound & notification > Other sounds: Value for the emergency tone option with value 2: vibrate. [CHAR LIMIT=30] -->
-    <string name="emergency_tone_vibrate">Vibrate</string>
 
     <!-- Sound & notification > Advanced section: Title for managing notification listeners option. [CHAR LIMIT=30] -->
     <string name="manage_notification_access_title">Notification access</string>
@@ -6318,9 +6322,6 @@
     <!-- [CHAR LIMIT=105] Zen mode settings: No notification light summary -->
     <string name="zen_mode_lights_summary">Prevent notifications silenced by Do Not Disturb from causing the light to pulse</string>
 
-    <!-- [CHAR LIMIT=20] Notifications settings: Apps section header -->
-    <string name="notification_settings_apps_title">App notifications</string>
-
     <!-- [CHAR LIMIT=NONE] Content description for per-app notification
          settings button -->
     <string name="notification_app_settings_button">Notification settings</string>
@@ -7018,4 +7019,25 @@
 
     <!-- Summary of display with adaptive brightness off [CHAR LIMIT=NONE] -->
     <string name="display_summary_off">Adaptive brightness is OFF</string>
+
+    <!-- Summary of memory screen [CHAR LIMIT=NONE] -->
+    <string name="memory_summary">Avg <xliff:g id="used_memory" example="1.7GB">%1$s</xliff:g> of <xliff:g id="total_memory" example="2GB">%2$s</xliff:g> memory used</string>
+
+    <!-- Summary of user screen [CHAR LIMIT=NONE] -->
+    <string name="user_summary">Signed in as <xliff:g id="user_name" example="Jason">%1$s</xliff:g></string>
+
+    <!-- Summary of payment screen [CHAR LIMIT=NONE] -->
+    <string name="payment_summary"><xliff:g id="app_name" example="Payment App">%1$s</xliff:g> is default</string>
+
+    <!-- Summary of location screen [CHAR LIMIT=NONE] -->
+    <string name="location_on_summary">ON / <xliff:g id="location_mode" example="High accuracy">%1$s</xliff:g></string>
+
+    <!-- Location off [CHAR LIMIT=NONE] -->
+    <string name="location_off_summary">OFF</string>
+
+    <!-- Backup disabled summary [CHAR LIMIT=NONE] -->
+    <string name="backup_disabled">Back up disabled</string>
+
+    <!-- Summary of device info page [CHAR LIMIT=NONE] -->
+    <string name="about_summary">Android <xliff:g id="version" example="6.0">%1$s</xliff:g></string>
 </resources>
diff --git a/res/xml/accessibility_autoclick_settings.xml b/res/xml/accessibility_autoclick_settings.xml
index 1eb4dc1..39b9736 100644
--- a/res/xml/accessibility_autoclick_settings.xml
+++ b/res/xml/accessibility_autoclick_settings.xml
@@ -18,7 +18,7 @@
     android:title="@string/accessibility_autoclick_preference_title" >
 
 
-    <SeekBarPreference
+    <com.android.settings.SeekBarPreference
         android:key="autoclick_delay"
         android:title="@string/accessibility_autoclick_delay_preference_title"
         android:layout="@layout/preference_iconless_slider" />
diff --git a/res/xml/configure_notification_settings.xml b/res/xml/configure_notification_settings.xml
new file mode 100644
index 0000000..aa15f06
--- /dev/null
+++ b/res/xml/configure_notification_settings.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2015 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
+                  xmlns:settings="http://schemas.android.com/apk/res/com.android.settings"
+        android:title="@string/configure_notification_settings"
+        android:key="configure_notification_settings" >
+
+    <!-- Pulse notification light -->
+    <SwitchPreference
+            android:key="notification_pulse"
+            android:title="@string/notification_pulse_title"
+            android:persistent="false" />
+
+    <!-- When device is locked -->
+    <com.android.settings.DropDownPreference
+            android:key="lock_screen_notifications"
+            android:title="@string/lock_screen_notifications_title"
+            android:persistent="false" />
+
+    <PreferenceCategory
+        android:key="advanced"
+        android:title="@string/advanced_section_header" >
+
+        <!-- Notification access -->
+        <Preference
+                android:key="manage_notification_access"
+                android:title="@string/manage_notification_access_title"
+                android:persistent="false"
+                android:fragment="com.android.settings.notification.NotificationAccessSettings" />
+
+    </PreferenceCategory>
+
+</PreferenceScreen>
diff --git a/res/xml/notification_settings.xml b/res/xml/sound_settings.xml
similarity index 63%
rename from res/xml/notification_settings.xml
rename to res/xml/sound_settings.xml
index 43fd116..652310f 100644
--- a/res/xml/notification_settings.xml
+++ b/res/xml/sound_settings.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2014 The Android Open Source Project
+<!-- Copyright (C) 2015 The Android Open Source Project
 
      Licensed under the Apache License, Version 2.0 (the "License");
      you may not use this file except in compliance with the License.
@@ -16,13 +16,9 @@
 
 <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
                   xmlns:settings="http://schemas.android.com/apk/res/com.android.settings"
-        android:title="@string/notification_settings"
-        android:key="notification_settings"
-        settings:keywords="@string/keywords_sounds_and_notifications">
-
-    <PreferenceCategory
-        android:key="sound"
-        android:title="@string/sound_settings" >
+        android:title="@string/sound_settings"
+        android:key="sound_settings"
+        settings:keywords="@string/keywords_sounds">
 
         <!-- Media volume -->
         <com.android.settings.notification.VolumeSeekBarPreference
@@ -77,6 +73,15 @@
                 android:persistent="false"
                 android:ringtoneType="notification" />
 
+        <PreferenceScreen
+                android:key="cell_broadcast_settings"
+                android:title="@string/cell_broadcast_settings" >
+                <intent
+                        android:action="android.intent.action.MAIN"
+                        android:targetPackage="com.android.cellbroadcastreceiver"
+                        android:targetClass="com.android.cellbroadcastreceiver.CellBroadcastSettings" />
+        </PreferenceScreen>
+
         <!-- Other sounds -->
         <Preference
                 android:key="other_sounds"
@@ -90,54 +95,4 @@
                 android:title="@string/wifi_display_settings_title"
                 android:fragment="com.android.settings.wfd.WifiDisplaySettings" />
 
-    </PreferenceCategory>
-
-    <PreferenceCategory
-        android:key="notification"
-        android:title="@string/notification_section_header" >
-
-        <!-- Pulse notification light -->
-        <SwitchPreference
-                android:key="notification_pulse"
-                android:title="@string/notification_pulse_title"
-                android:persistent="false" />
-
-         <!-- When device is locked -->
-        <com.android.settings.DropDownPreference
-                android:key="lock_screen_notifications"
-                android:title="@string/lock_screen_notifications_title"
-                android:persistent="false" />
-
-        <!-- App notifications -->
-        <PreferenceScreen
-                android:key="app_notifications"
-                android:title="@string/app_notifications_title"
-                android:fragment="com.android.settings.applications.ManageApplications">
-                <extra
-                    android:name="classname"
-                    android:value="com.android.settings.Settings$NotificationAppListActivity" />
-        </PreferenceScreen>
-
-    </PreferenceCategory>
-
-    <PreferenceCategory
-        android:key="advanced"
-        android:title="@string/advanced_section_header" >
-
-        <!-- Notification access -->
-        <Preference
-                android:key="manage_notification_access"
-                android:title="@string/manage_notification_access_title"
-                android:persistent="false"
-                android:fragment="com.android.settings.notification.NotificationAccessSettings" />
-
-        <!-- Do Not Disturb access -->
-        <Preference
-                android:key="manage_zen_access"
-                android:title="@string/manage_zen_access_title"
-                android:persistent="false"
-                android:fragment="com.android.settings.notification.ZenAccessSettings" />
-
-    </PreferenceCategory>
-
 </PreferenceScreen>
diff --git a/res/xml/wireless_settings.xml b/res/xml/wireless_settings.xml
index 96f26ac..2d25ed5 100644
--- a/res/xml/wireless_settings.xml
+++ b/res/xml/wireless_settings.xml
@@ -81,13 +81,4 @@
         android:key="proxy_settings"
         android:title="@string/proxy_settings_title" />
 
-    <PreferenceScreen
-        android:key="cell_broadcast_settings"
-        android:title="@string/cell_broadcast_settings" >
-        <intent
-            android:action="android.intent.action.MAIN"
-            android:targetPackage="com.android.cellbroadcastreceiver"
-            android:targetClass="com.android.cellbroadcastreceiver.CellBroadcastSettings" />
-    </PreferenceScreen>
-
 </PreferenceScreen>
diff --git a/src/com/android/settings/CryptKeeper.java b/src/com/android/settings/CryptKeeper.java
index 90ea622..1b37066 100644
--- a/src/com/android/settings/CryptKeeper.java
+++ b/src/com/android/settings/CryptKeeper.java
@@ -107,6 +107,8 @@
     private static final String FORCE_VIEW_ERROR = "error";
     private static final String FORCE_VIEW_PASSWORD = "password";
 
+    private static final String STATE_COOLDOWN = "cooldown";
+
     /** When encryption is detected, this flag indicates whether or not we've checked for errors. */
     private boolean mValidationComplete;
     private boolean mValidationRequested;
@@ -426,6 +428,10 @@
         mStatusBar = (StatusBarManager) getSystemService(Context.STATUS_BAR_SERVICE);
         mStatusBar.disable(sWidgetsToDisable);
 
+        if (savedInstanceState != null) {
+            mCooldown = savedInstanceState.getBoolean(STATE_COOLDOWN);
+        }
+
         setAirplaneModeIfNecessary();
         mAudioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
         // Check for (and recover) retained instance data
@@ -437,6 +443,11 @@
         }
     }
 
+    @Override
+    public void  onSaveInstanceState(Bundle savedInstanceState) {
+        savedInstanceState.putBoolean(STATE_COOLDOWN, mCooldown);
+    }
+
     /**
      * Note, we defer the state check and screen setup to onStart() because this will be
      * re-run if the user clicks the power button (sleeping/waking the screen), and this is
diff --git a/src/com/android/settings/DateTimeSettings.java b/src/com/android/settings/DateTimeSettings.java
index 0540575..d92d610 100644
--- a/src/com/android/settings/DateTimeSettings.java
+++ b/src/com/android/settings/DateTimeSettings.java
@@ -38,6 +38,7 @@
 import android.widget.TimePicker;
 
 import com.android.internal.logging.MetricsLogger;
+import com.android.settings.dashboard.SummaryLoader;
 import com.android.settingslib.datetime.ZoneGetter;
 
 import java.util.Calendar;
@@ -353,4 +354,33 @@
             }
         }
     };
+
+    private static class SummaryProvider implements SummaryLoader.SummaryProvider {
+
+        private final Context mContext;
+        private final SummaryLoader mSummaryLoader;
+
+        public SummaryProvider(Context context, SummaryLoader summaryLoader) {
+            mContext = context;
+            mSummaryLoader = summaryLoader;
+        }
+
+        @Override
+        public void setListening(boolean listening) {
+            if (listening) {
+                final Calendar now = Calendar.getInstance();
+                mSummaryLoader.setSummary(this, ZoneGetter.getTimeZoneOffsetAndName(
+                        now.getTimeZone(), now.getTime()));
+            }
+        }
+    }
+
+    public static final SummaryLoader.SummaryProviderFactory SUMMARY_PROVIDER_FACTORY
+            = new SummaryLoader.SummaryProviderFactory() {
+        @Override
+        public SummaryLoader.SummaryProvider createSummaryProvider(Activity activity,
+                                                                   SummaryLoader summaryLoader) {
+            return new SummaryProvider(activity, summaryLoader);
+        }
+    };
 }
diff --git a/src/com/android/settings/DeviceInfoSettings.java b/src/com/android/settings/DeviceInfoSettings.java
index 40be2e7..95f1a83 100644
--- a/src/com/android/settings/DeviceInfoSettings.java
+++ b/src/com/android/settings/DeviceInfoSettings.java
@@ -36,6 +36,7 @@
 import android.widget.Toast;
 
 import com.android.internal.logging.MetricsLogger;
+import com.android.settings.dashboard.SummaryLoader;
 import com.android.settings.search.BaseSearchIndexProvider;
 import com.android.settings.search.Index;
 import com.android.settings.search.Indexable;
@@ -337,6 +338,34 @@
         startActivityForResult(intent, 0);
     }
 
+    private static class SummaryProvider implements SummaryLoader.SummaryProvider {
+
+        private final Context mContext;
+        private final SummaryLoader mSummaryLoader;
+
+        public SummaryProvider(Context context, SummaryLoader summaryLoader) {
+            mContext = context;
+            mSummaryLoader = summaryLoader;
+        }
+
+        @Override
+        public void setListening(boolean listening) {
+            if (listening) {
+                mSummaryLoader.setSummary(this, mContext.getString(R.string.about_summary,
+                        Build.VERSION.RELEASE));
+            }
+        }
+    }
+
+    public static final SummaryLoader.SummaryProviderFactory SUMMARY_PROVIDER_FACTORY
+            = new SummaryLoader.SummaryProviderFactory() {
+        @Override
+        public SummaryLoader.SummaryProvider createSummaryProvider(Activity activity,
+                                                                   SummaryLoader summaryLoader) {
+            return new SummaryProvider(activity, summaryLoader);
+        }
+    };
+
     /**
      * For Search.
      */
diff --git a/src/com/android/settings/FallbackHome.java b/src/com/android/settings/FallbackHome.java
new file mode 100644
index 0000000..f92f2b2
--- /dev/null
+++ b/src/com/android/settings/FallbackHome.java
@@ -0,0 +1,45 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings;
+
+import android.app.Activity;
+import android.content.BroadcastReceiver;
+import android.content.Context;
+import android.content.Intent;
+import android.content.IntentFilter;
+import android.os.Bundle;
+import android.util.Log;
+
+public class FallbackHome extends Activity {
+    private static final String TAG = "FallbackHome";
+
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+
+        registerReceiver(mReceiver, new IntentFilter(Intent.ACTION_USER_UNLOCKED));
+    }
+
+    private BroadcastReceiver mReceiver = new BroadcastReceiver() {
+        @Override
+        public void onReceive(Context context, Intent intent) {
+            Log.d(TAG, "User unlocked; leaving to find real home");
+            unregisterReceiver(this);
+            finish();
+        }
+    };
+}
diff --git a/src/com/android/settings/InstrumentedFragment.java b/src/com/android/settings/InstrumentedFragment.java
index 5453d52..80e1131 100644
--- a/src/com/android/settings/InstrumentedFragment.java
+++ b/src/com/android/settings/InstrumentedFragment.java
@@ -29,6 +29,8 @@
     public static final int UNDECLARED = 100000;
 
     public static final int ACCESSIBILITY_TOGGLE_AUTOCLICK = UNDECLARED + 1;
+    public static final int SOUND = UNDECLARED + 2;
+    public static final int CONFIGURE_NOTIFICATION = UNDECLARED + 3;
 
     /**
      * Declare the view of this category.
diff --git a/src/com/android/settings/PrivacySettings.java b/src/com/android/settings/PrivacySettings.java
index 14e45be..2344a33 100644
--- a/src/com/android/settings/PrivacySettings.java
+++ b/src/com/android/settings/PrivacySettings.java
@@ -16,6 +16,7 @@
 
 package com.android.settings;
 
+import android.app.Activity;
 import android.app.backup.IBackupManager;
 import android.content.ContentResolver;
 import android.content.Context;
@@ -34,6 +35,7 @@
 import android.util.Log;
 
 import com.android.internal.logging.MetricsLogger;
+import com.android.settings.dashboard.SummaryLoader;
 import com.android.settings.search.BaseSearchIndexProvider;
 import com.android.settings.search.Indexable;
 
@@ -180,6 +182,51 @@
         return R.string.help_url_backup_reset;
     }
 
+    private static class SummaryProvider implements SummaryLoader.SummaryProvider {
+
+        private final Context mContext;
+        private final SummaryLoader mSummaryLoader;
+
+        public SummaryProvider(Context context, SummaryLoader summaryLoader) {
+            mContext = context;
+            mSummaryLoader = summaryLoader;
+        }
+
+        @Override
+        public void setListening(boolean listening) {
+            if (listening) {
+                IBackupManager backupManager = IBackupManager.Stub.asInterface(
+                        ServiceManager.getService(Context.BACKUP_SERVICE));
+                try {
+                    boolean backupEnabled = backupManager.isBackupEnabled();
+                    if (backupEnabled) {
+                        String transport = backupManager.getCurrentTransport();
+                        String configSummary = backupManager.getDestinationString(transport);
+                        if (configSummary != null) {
+                            mSummaryLoader.setSummary(this, configSummary);
+                        } else {
+                            mSummaryLoader.setSummary(this, mContext.getString(
+                                    R.string.backup_configure_account_default_summary));
+                        }
+                    } else {
+                        mSummaryLoader.setSummary(this, mContext.getString(
+                                R.string.backup_disabled));
+                    }
+                } catch (RemoteException e) {
+                }
+            }
+        }
+    }
+
+    public static final SummaryLoader.SummaryProviderFactory SUMMARY_PROVIDER_FACTORY
+            = new SummaryLoader.SummaryProviderFactory() {
+        @Override
+        public SummaryLoader.SummaryProvider createSummaryProvider(Activity activity,
+                                                                   SummaryLoader summaryLoader) {
+            return new SummaryProvider(activity, summaryLoader);
+        }
+    };
+
     /**
      * For Search.
      */
diff --git a/src/com/android/settings/SecuritySettings.java b/src/com/android/settings/SecuritySettings.java
index ee95839..838fcf3 100644
--- a/src/com/android/settings/SecuritySettings.java
+++ b/src/com/android/settings/SecuritySettings.java
@@ -214,13 +214,17 @@
 
         mOwnerInfoPref = findPreference(KEY_OWNER_INFO_SETTINGS);
         if (mOwnerInfoPref != null) {
-            mOwnerInfoPref.setOnPreferenceClickListener(new OnPreferenceClickListener() {
-                @Override
-                public boolean onPreferenceClick(Preference preference) {
-                    OwnerInfoSettings.show(SecuritySettings.this);
-                    return true;
-                }
-            });
+            mOwnerInfoPref.setEnabled(!mLockPatternUtils.isDeviceOwnerInfoEnabled());
+
+            if (mOwnerInfoPref.isEnabled()) {
+                mOwnerInfoPref.setOnPreferenceClickListener(new OnPreferenceClickListener() {
+                    @Override
+                    public boolean onPreferenceClick(Preference preference) {
+                        OwnerInfoSettings.show(SecuritySettings.this);
+                        return true;
+                    }
+                });
+            }
         }
 
         if (mIsAdmin) {
@@ -630,9 +634,13 @@
 
     public void updateOwnerInfo() {
         if (mOwnerInfoPref != null) {
-            mOwnerInfoPref.setSummary(mLockPatternUtils.isOwnerInfoEnabled(MY_USER_ID)
-                    ? mLockPatternUtils.getOwnerInfo(MY_USER_ID)
-                    : getString(R.string.owner_info_settings_summary));
+            if (mLockPatternUtils.isDeviceOwnerInfoEnabled()) {
+                mOwnerInfoPref.setSummary(R.string.disabled_by_administrator_summary);
+            } else {
+                mOwnerInfoPref.setSummary(mLockPatternUtils.isOwnerInfoEnabled(MY_USER_ID)
+                        ? mLockPatternUtils.getOwnerInfo(MY_USER_ID)
+                        : getString(R.string.owner_info_settings_summary));
+            }
         }
     }
 
diff --git a/src/com/android/settings/Settings.java b/src/com/android/settings/Settings.java
index 46d24ae..4380d1e 100644
--- a/src/com/android/settings/Settings.java
+++ b/src/com/android/settings/Settings.java
@@ -105,7 +105,8 @@
     public static class ZenModeEventRuleSettingsActivity extends SettingsActivity { /* empty */ }
     public static class ZenModeExternalRuleSettingsActivity extends SettingsActivity { /* empty */ }
     public static class ZenModeVisualInterruptionSettingsActivity extends SettingsActivity { /* empty */}
-    public static class NotificationSettingsActivity extends SettingsActivity { /* empty */ }
+    public static class SoundSettingsActivity extends SettingsActivity { /* empty */ }
+    public static class ConfigureNotificationSettingsActivity extends SettingsActivity { /* empty */ }
     public static class NotificationAppListActivity extends SettingsActivity { /* empty */ }
     public static class AppNotificationSettingsActivity extends SettingsActivity { /* empty */ }
     public static class OtherSoundSettingsActivity extends SettingsActivity { /* empty */ }
diff --git a/src/com/android/settings/SettingsActivity.java b/src/com/android/settings/SettingsActivity.java
index fd4a493..809a740 100644
--- a/src/com/android/settings/SettingsActivity.java
+++ b/src/com/android/settings/SettingsActivity.java
@@ -82,8 +82,9 @@
 import com.android.settings.nfc.AndroidBeam;
 import com.android.settings.nfc.PaymentSettings;
 import com.android.settings.notification.AppNotificationSettings;
+import com.android.settings.notification.ConfigureNotificationSettings;
 import com.android.settings.notification.NotificationAccessSettings;
-import com.android.settings.notification.NotificationSettings;
+import com.android.settings.notification.SoundSettings;
 import com.android.settings.notification.NotificationStation;
 import com.android.settings.notification.OtherSoundSettings;
 import com.android.settings.notification.ZenAccessSettings;
@@ -211,7 +212,7 @@
             Settings.WirelessSettingsActivity.class.getName(),
             //device_section
             Settings.HomeSettingsActivity.class.getName(),
-            Settings.NotificationSettingsActivity.class.getName(),
+            Settings.SoundSettingsActivity.class.getName(),
             Settings.DisplaySettingsActivity.class.getName(),
             Settings.StorageSettingsActivity.class.getName(),
             Settings.ManageApplicationsActivity.class.getName(),
@@ -284,7 +285,8 @@
             PaymentSettings.class.getName(),
             KeyboardLayoutPickerFragment.class.getName(),
             ZenModeSettings.class.getName(),
-            NotificationSettings.class.getName(),
+            SoundSettings.class.getName(),
+            ConfigureNotificationSettings.class.getName(),
             ChooseLockPassword.ChooseLockPasswordFragment.class.getName(),
             ChooseLockPattern.ChooseLockPatternFragment.class.getName(),
             InstalledAppDetails.class.getName(),
diff --git a/src/com/android/settings/applications/AppStorageSettings.java b/src/com/android/settings/applications/AppStorageSettings.java
index 355ed72..01780f9 100644
--- a/src/com/android/settings/applications/AppStorageSettings.java
+++ b/src/com/android/settings/applications/AppStorageSettings.java
@@ -30,6 +30,7 @@
 import android.os.Handler;
 import android.os.Message;
 import android.os.RemoteException;
+import android.os.UserHandle;
 import android.os.storage.StorageManager;
 import android.os.storage.VolumeInfo;
 import android.support.v7.preference.Preference;
@@ -192,12 +193,13 @@
     }
 
     private boolean isMoveInProgress() {
-        final IPackageManager pm = AppGlobals.getPackageManager();
         try {
             // TODO: define a cleaner API for this
-            return pm.isPackageFrozen(mPackageName);
-        } catch (RemoteException e) {
+            AppGlobals.getPackageManager().checkPackageStartable(mPackageName,
+                    UserHandle.myUserId());
             return false;
+        } catch (RemoteException | SecurityException e) {
+            return true;
         }
     }
 
diff --git a/src/com/android/settings/applications/ManageApplications.java b/src/com/android/settings/applications/ManageApplications.java
index 35ae427..a01e18d 100644
--- a/src/com/android/settings/applications/ManageApplications.java
+++ b/src/com/android/settings/applications/ManageApplications.java
@@ -67,6 +67,7 @@
 import com.android.settings.fuelgauge.HighPowerDetail;
 import com.android.settings.fuelgauge.PowerWhitelistBackend;
 import com.android.settings.notification.AppNotificationSettings;
+import com.android.settings.notification.ConfigureNotificationSettings;
 import com.android.settings.notification.NotificationBackend;
 import com.android.settings.notification.NotificationBackend.AppRow;
 import com.android.settingslib.applications.ApplicationsState;
@@ -523,7 +524,8 @@
         if (mOptionsMenu == null) {
             return;
         }
-        mOptionsMenu.findItem(R.id.advanced).setVisible(mListType == LIST_TYPE_MAIN);
+        mOptionsMenu.findItem(R.id.advanced).setVisible(
+                mListType == LIST_TYPE_MAIN || mListType == LIST_TYPE_NOTIFICATION);
 
         mOptionsMenu.findItem(R.id.sort_order_alpha).setVisible(mListType == LIST_TYPE_STORAGE
                 && mSortOrder != R.id.sort_order_alpha);
@@ -556,9 +558,15 @@
                 mResetAppsHelper.buildResetDialog();
                 return true;
             case R.id.advanced:
-                ((SettingsActivity) getActivity()).startPreferencePanel(
-                        AdvancedAppSettings.class.getName(), null, R.string.configure_apps,
-                        null, this, ADVANCED_SETTINGS);
+                if (mListType == LIST_TYPE_NOTIFICATION) {
+                    ((SettingsActivity) getActivity()).startPreferencePanel(
+                            ConfigureNotificationSettings.class.getName(), null,
+                            R.string.configure_notification_settings, null, this, ADVANCED_SETTINGS);
+                } else {
+                    ((SettingsActivity) getActivity()).startPreferencePanel(
+                            AdvancedAppSettings.class.getName(), null, R.string.configure_apps,
+                            null, this, ADVANCED_SETTINGS);
+                }
                 return true;
             default:
                 // Handle the home button
diff --git a/src/com/android/settings/applications/ProcessStatsSummary.java b/src/com/android/settings/applications/ProcessStatsSummary.java
index 399558b..09fea89 100644
--- a/src/com/android/settings/applications/ProcessStatsSummary.java
+++ b/src/com/android/settings/applications/ProcessStatsSummary.java
@@ -15,6 +15,8 @@
  */
 package com.android.settings.applications;
 
+import android.app.Activity;
+import android.content.BroadcastReceiver;
 import android.content.Context;
 import android.os.Bundle;
 import android.support.v7.preference.Preference;
@@ -28,6 +30,7 @@
 import com.android.settings.R;
 import com.android.settings.Utils;
 import com.android.settings.applications.ProcStatsData.MemInfo;
+import com.android.settings.dashboard.SummaryLoader;
 
 public class ProcessStatsSummary extends ProcessStatsBase implements OnPreferenceClickListener {
 
@@ -123,4 +126,39 @@
         return false;
     }
 
+    private static class SummaryProvider implements SummaryLoader.SummaryProvider {
+
+        private final Context mContext;
+        private final SummaryLoader mSummaryLoader;
+
+        public SummaryProvider(Context context, SummaryLoader summaryLoader) {
+            mContext = context;
+            mSummaryLoader = summaryLoader;
+        }
+
+        @Override
+        public void setListening(boolean listening) {
+            if (listening) {
+                ProcStatsData statsManager = new ProcStatsData(mContext, false);
+                statsManager.setDuration(sDurations[0]);
+                MemInfo memInfo = statsManager.getMemInfo();
+                String usedResult = Formatter.formatShortFileSize(mContext,
+                        (long) memInfo.realUsedRam);
+                String totalResult = Formatter.formatShortFileSize(mContext,
+                        (long) memInfo.realTotalRam);
+                mSummaryLoader.setSummary(this, mContext.getString(R.string.memory_summary,
+                        usedResult, totalResult));
+            }
+        }
+    }
+
+    public static final SummaryLoader.SummaryProviderFactory SUMMARY_PROVIDER_FACTORY
+            = new SummaryLoader.SummaryProviderFactory() {
+        @Override
+        public SummaryLoader.SummaryProvider createSummaryProvider(Activity activity,
+                                                                   SummaryLoader summaryLoader) {
+            return new SummaryProvider(activity, summaryLoader);
+        }
+    };
+
 }
diff --git a/src/com/android/settings/dashboard/DashboardAdapter.java b/src/com/android/settings/dashboard/DashboardAdapter.java
index e2024f7..6228bbc 100644
--- a/src/com/android/settings/dashboard/DashboardAdapter.java
+++ b/src/com/android/settings/dashboard/DashboardAdapter.java
@@ -72,6 +72,10 @@
         setHasStableIds(true);
     }
 
+    public boolean isShowingAll() {
+        return mIsShowingAll;
+    }
+
     public void notifyChanged(DashboardTile tile) {
         for (int i = 0; i < mItems.size(); i++) {
             if (mItems.get(i) == tile) {
diff --git a/src/com/android/settings/dashboard/DashboardSummary.java b/src/com/android/settings/dashboard/DashboardSummary.java
index 8446475..54a5ff4 100644
--- a/src/com/android/settings/dashboard/DashboardSummary.java
+++ b/src/com/android/settings/dashboard/DashboardSummary.java
@@ -133,6 +133,13 @@
         }
 
         long start = System.currentTimeMillis();
+        // TODO: Cache summaries from old categories somehow.
+        List<DashboardCategory> categories =
+                ((SettingsActivity) getActivity()).getDashboardCategories(true);
+        boolean showingAll = mAdapter != null && mAdapter.isShowingAll();
+        mAdapter = new DashboardAdapter(getContext(), categories);
+        mSummaryLoader.setAdapter(mAdapter);
+        mAdapter.setShowingAll(showingAll);
         mDashboard.setAdapter(mAdapter);
 
         long delta = System.currentTimeMillis() - start;
diff --git a/src/com/android/settings/dashboard/SummaryLoader.java b/src/com/android/settings/dashboard/SummaryLoader.java
index 4bbee8c..a5481ac 100644
--- a/src/com/android/settings/dashboard/SummaryLoader.java
+++ b/src/com/android/settings/dashboard/SummaryLoader.java
@@ -33,12 +33,13 @@
     private static final boolean DEBUG = DashboardSummary.DEBUG;
     private static final String TAG = "SummaryLoader";
 
+    public static final String SUMMARY_PROVIDER_FACTORY = "SUMMARY_PROVIDER_FACTORY";
+
     private final Activity mActivity;
-    private final DashboardAdapter mAdapter;
     private final ArrayMap<SummaryProvider, DashboardTile> mSummaryMap = new ArrayMap<>();
     private final List<DashboardTile> mTiles = new ArrayList<>();
 
-    public static final String SUMMARY_PROVIDER_FACTORY = "SUMMARY_PROVIDER_FACTORY";
+    private DashboardAdapter mAdapter;
 
     public SummaryLoader(Activity activity, DashboardAdapter adapter,
                   List<DashboardCategory> categories) {
@@ -56,6 +57,10 @@
         }
     }
 
+    public void setAdapter(DashboardAdapter adapter) {
+        mAdapter = adapter;
+    }
+
     public void setSummary(SummaryProvider provider, CharSequence summary) {
         DashboardTile tile = mSummaryMap.get(provider);
         tile.summary = summary;
diff --git a/src/com/android/settings/inputmethod/InputMethodAndLanguageSettings.java b/src/com/android/settings/inputmethod/InputMethodAndLanguageSettings.java
index 779944b..fff5a78 100644
--- a/src/com/android/settings/inputmethod/InputMethodAndLanguageSettings.java
+++ b/src/com/android/settings/inputmethod/InputMethodAndLanguageSettings.java
@@ -60,6 +60,7 @@
 import com.android.settings.UserDictionarySettings;
 import com.android.settings.Utils;
 import com.android.settings.VoiceInputOutputSettings;
+import com.android.settings.dashboard.SummaryLoader;
 import com.android.settings.search.BaseSearchIndexProvider;
 import com.android.settings.search.Indexable;
 import com.android.settings.search.SearchIndexableRaw;
@@ -648,6 +649,34 @@
         }
     }
 
+    private static class SummaryProvider implements SummaryLoader.SummaryProvider {
+
+        private final Context mContext;
+        private final SummaryLoader mSummaryLoader;
+
+        public SummaryProvider(Context context, SummaryLoader summaryLoader) {
+            mContext = context;
+            mSummaryLoader = summaryLoader;
+        }
+
+        @Override
+        public void setListening(boolean listening) {
+            if (listening) {
+                String localeName = getLocaleName(mContext);
+                mSummaryLoader.setSummary(this, localeName);
+            }
+        }
+    }
+
+    public static final SummaryLoader.SummaryProviderFactory SUMMARY_PROVIDER_FACTORY
+            = new SummaryLoader.SummaryProviderFactory() {
+        @Override
+        public SummaryLoader.SummaryProvider createSummaryProvider(Activity activity,
+                                                                   SummaryLoader summaryLoader) {
+            return new SummaryProvider(activity, summaryLoader);
+        }
+    };
+
     public static final Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
             new BaseSearchIndexProvider() {
         @Override
diff --git a/src/com/android/settings/location/LocationSettings.java b/src/com/android/settings/location/LocationSettings.java
index 38647bd..2ed48e9 100644
--- a/src/com/android/settings/location/LocationSettings.java
+++ b/src/com/android/settings/location/LocationSettings.java
@@ -16,6 +16,7 @@
 
 package com.android.settings.location;
 
+import android.app.Activity;
 import android.content.BroadcastReceiver;
 import android.content.Context;
 import android.content.Intent;
@@ -24,6 +25,7 @@
 import android.os.Bundle;
 import android.os.UserHandle;
 import android.os.UserManager;
+import android.provider.Settings;
 import android.support.v7.preference.Preference;
 import android.support.v7.preference.PreferenceCategory;
 import android.support.v7.preference.PreferenceGroup;
@@ -33,14 +35,13 @@
 import android.view.MenuInflater;
 import android.view.MenuItem;
 import android.widget.Switch;
-
 import com.android.internal.logging.MetricsLogger;
 import com.android.settings.DimmableIconPreference;
-import com.android.settings.PreferenceActivity;
 import com.android.settings.R;
 import com.android.settings.SettingsActivity;
 import com.android.settings.Utils;
 import com.android.settings.applications.InstalledAppDetails;
+import com.android.settings.dashboard.SummaryLoader;
 import com.android.settings.widget.SwitchBar;
 import com.android.settingslib.location.RecentLocationApps;
 
@@ -331,23 +332,25 @@
         return R.string.help_url_location_access;
     }
 
-    @Override
-    public void onModeChanged(int mode, boolean restricted) {
+    private static int getLocationString(int mode) {
         switch (mode) {
             case android.provider.Settings.Secure.LOCATION_MODE_OFF:
-                mLocationMode.setSummary(R.string.location_mode_location_off_title);
-                break;
+                return R.string.location_mode_location_off_title;
             case android.provider.Settings.Secure.LOCATION_MODE_SENSORS_ONLY:
-                mLocationMode.setSummary(R.string.location_mode_sensors_only_title);
-                break;
+                return R.string.location_mode_sensors_only_title;
             case android.provider.Settings.Secure.LOCATION_MODE_BATTERY_SAVING:
-                mLocationMode.setSummary(R.string.location_mode_battery_saving_title);
-                break;
+                return R.string.location_mode_battery_saving_title;
             case android.provider.Settings.Secure.LOCATION_MODE_HIGH_ACCURACY:
-                mLocationMode.setSummary(R.string.location_mode_high_accuracy_title);
-                break;
-            default:
-                break;
+                return R.string.location_mode_high_accuracy_title;
+        }
+        return 0;
+    }
+
+    @Override
+    public void onModeChanged(int mode, boolean restricted) {
+        int modeDescription = getLocationString(mode);
+        if (modeDescription != 0) {
+            mLocationMode.setSummary(modeDescription);
         }
 
         // Restricted user can't change the location mode, so disable the master switch. But in some
@@ -395,7 +398,7 @@
     @Override
     public void onSwitchChanged(Switch switchView, boolean isChecked) {
         if (isChecked) {
-            setLocationMode(android.provider.Settings.Secure.LOCATION_MODE_HIGH_ACCURACY);
+            setLocationMode(android.provider.Settings.Secure.LOCATION_MODE_PREVIOUS);
         } else {
             setLocationMode(android.provider.Settings.Secure.LOCATION_MODE_OFF);
         }
@@ -416,10 +419,45 @@
             // start new fragment to display extended information
             Bundle args = new Bundle();
             args.putString(InstalledAppDetails.ARG_PACKAGE_NAME, mPackage);
-            ((PreferenceActivity) getActivity()).startPreferencePanelAsUser(
+            ((SettingsActivity) getActivity()).startPreferencePanelAsUser(
                     InstalledAppDetails.class.getName(), args,
                     R.string.application_info_label, null, mUserHandle);
             return true;
         }
     }
+
+    private static class SummaryProvider implements SummaryLoader.SummaryProvider {
+
+        private final Context mContext;
+        private final SummaryLoader mSummaryLoader;
+
+        public SummaryProvider(Context context, SummaryLoader summaryLoader) {
+            mContext = context;
+            mSummaryLoader = summaryLoader;
+        }
+
+        @Override
+        public void setListening(boolean listening) {
+            if (listening) {
+                int mode = Settings.Secure.getInt(mContext.getContentResolver(),
+                        Settings.Secure.LOCATION_MODE, Settings.Secure.LOCATION_MODE_OFF);
+                if (mode != Settings.Secure.LOCATION_MODE_OFF) {
+                    mSummaryLoader.setSummary(this, mContext.getString(R.string.location_on_summary,
+                            mContext.getString(getLocationString(mode))));
+                } else {
+                    mSummaryLoader.setSummary(this,
+                            mContext.getString(R.string.location_off_summary));
+                }
+            }
+        }
+    }
+
+    public static final SummaryLoader.SummaryProviderFactory SUMMARY_PROVIDER_FACTORY
+            = new SummaryLoader.SummaryProviderFactory() {
+        @Override
+        public SummaryLoader.SummaryProvider createSummaryProvider(Activity activity,
+                                                                   SummaryLoader summaryLoader) {
+            return new SummaryProvider(activity, summaryLoader);
+        }
+    };
 }
diff --git a/src/com/android/settings/nfc/NfcPaymentPreference.java b/src/com/android/settings/nfc/NfcPaymentPreference.java
index c918d2f..4738728 100644
--- a/src/com/android/settings/nfc/NfcPaymentPreference.java
+++ b/src/com/android/settings/nfc/NfcPaymentPreference.java
@@ -15,6 +15,7 @@
  */
 package com.android.settings.nfc;
 
+import android.app.Activity;
 import android.app.AlertDialog;
 import android.content.ActivityNotFoundException;
 import android.content.Context;
@@ -32,6 +33,7 @@
 
 import com.android.settings.CustomDialogPreference;
 import com.android.settings.R;
+import com.android.settings.dashboard.SummaryLoader;
 import com.android.settings.nfc.PaymentBackend.PaymentAppInfo;
 
 import java.util.List;
diff --git a/src/com/android/settings/nfc/PaymentSettings.java b/src/com/android/settings/nfc/PaymentSettings.java
index b03a9ef..42545b9 100644
--- a/src/com/android/settings/nfc/PaymentSettings.java
+++ b/src/com/android/settings/nfc/PaymentSettings.java
@@ -16,6 +16,8 @@
 
 package com.android.settings.nfc;
 
+import android.app.Activity;
+import android.content.Context;
 import android.content.Intent;
 import android.os.Bundle;
 import android.support.v7.preference.PreferenceManager;
@@ -25,9 +27,12 @@
 import android.view.MenuItem;
 import android.view.View;
 import android.view.ViewGroup;
+
 import com.android.internal.logging.MetricsLogger;
 import com.android.settings.R;
 import com.android.settings.SettingsPreferenceFragment;
+import com.android.settings.dashboard.SummaryLoader;
+import com.android.settings.nfc.PaymentBackend.PaymentAppInfo;
 
 import java.util.List;
 
@@ -93,4 +98,35 @@
         menuItem.setIntent(howItWorksIntent);
         menuItem.setShowAsActionFlags(MenuItem.SHOW_AS_ACTION_NEVER);
     }
+
+    private static class SummaryProvider implements SummaryLoader.SummaryProvider {
+
+        private final Context mContext;
+        private final SummaryLoader mSummaryLoader;
+
+        public SummaryProvider(Context context, SummaryLoader summaryLoader) {
+            mContext = context;
+            mSummaryLoader = summaryLoader;
+        }
+
+        @Override
+        public void setListening(boolean listening) {
+            if (listening) {
+                PaymentBackend paymentBackend = new PaymentBackend(mContext);
+                paymentBackend.refresh();
+                PaymentAppInfo app = paymentBackend.getDefaultApp();
+                mSummaryLoader.setSummary(this, mContext.getString(R.string.payment_summary,
+                        app.label));
+            }
+        }
+    }
+
+    public static final SummaryLoader.SummaryProviderFactory SUMMARY_PROVIDER_FACTORY
+            = new SummaryLoader.SummaryProviderFactory() {
+        @Override
+        public SummaryLoader.SummaryProvider createSummaryProvider(Activity activity,
+                                                                   SummaryLoader summaryLoader) {
+            return new SummaryProvider(activity, summaryLoader);
+        }
+    };
 }
diff --git a/src/com/android/settings/notification/ConfigureNotificationSettings.java b/src/com/android/settings/notification/ConfigureNotificationSettings.java
new file mode 100644
index 0000000..4b438f0
--- /dev/null
+++ b/src/com/android/settings/notification/ConfigureNotificationSettings.java
@@ -0,0 +1,250 @@
+/**
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.notification;
+
+import com.android.internal.widget.LockPatternUtils;
+import com.android.settings.DropDownPreference;
+import com.android.settings.InstrumentedFragment;
+import com.android.settings.R;
+import com.android.settings.SettingsPreferenceFragment;
+
+import android.app.admin.DevicePolicyManager;
+import android.content.ContentResolver;
+import android.content.Context;
+import android.database.ContentObserver;
+import android.net.Uri;
+import android.os.Bundle;
+import android.os.Handler;
+import android.os.UserHandle;
+import android.provider.Settings;
+import android.support.v7.preference.Preference;
+import android.support.v7.preference.Preference.OnPreferenceChangeListener;
+import android.support.v7.preference.TwoStatePreference;
+import android.util.Log;
+
+import java.util.ArrayList;
+
+public class ConfigureNotificationSettings extends SettingsPreferenceFragment {
+    private static final String TAG = "ConfigNotiSettings";
+
+    private static final String KEY_NOTIFICATION_PULSE = "notification_pulse";
+    private static final String KEY_LOCK_SCREEN_NOTIFICATIONS = "lock_screen_notifications";
+
+    private final SettingsObserver mSettingsObserver = new SettingsObserver();
+
+    private Context mContext;
+
+    private TwoStatePreference mNotificationPulse;
+    private DropDownPreference mLockscreen;
+    private boolean mSecure;
+    private int mLockscreenSelectedValue;
+
+    @Override
+    protected int getMetricsCategory() {
+        return InstrumentedFragment.CONFIGURE_NOTIFICATION;
+    }
+
+    @Override
+    public void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        mContext = getActivity();
+        mSecure = new LockPatternUtils(getActivity()).isSecure(UserHandle.myUserId());
+
+        addPreferencesFromResource(R.xml.configure_notification_settings);
+
+        initPulse();
+        initLockscreenNotifications();
+
+    }
+
+    @Override
+    public void onResume() {
+        super.onResume();
+        mSettingsObserver.register(true);
+    }
+
+    @Override
+    public void onPause() {
+        super.onPause();
+        mSettingsObserver.register(false);
+    }
+
+    // === Pulse notification light ===
+
+    private void initPulse() {
+        mNotificationPulse =
+                (TwoStatePreference) getPreferenceScreen().findPreference(KEY_NOTIFICATION_PULSE);
+        if (mNotificationPulse == null) {
+            Log.i(TAG, "Preference not found: " + KEY_NOTIFICATION_PULSE);
+            return;
+        }
+        if (!getResources()
+                .getBoolean(com.android.internal.R.bool.config_intrusiveNotificationLed)) {
+            getPreferenceScreen().removePreference(mNotificationPulse);
+        } else {
+            updatePulse();
+            mNotificationPulse.setOnPreferenceChangeListener(new OnPreferenceChangeListener() {
+                @Override
+                public boolean onPreferenceChange(Preference preference, Object newValue) {
+                    final boolean val = (Boolean)newValue;
+                    return Settings.System.putInt(getContentResolver(),
+                            Settings.System.NOTIFICATION_LIGHT_PULSE,
+                            val ? 1 : 0);
+                }
+            });
+        }
+    }
+
+    private void updatePulse() {
+        if (mNotificationPulse == null) {
+            return;
+        }
+        try {
+            mNotificationPulse.setChecked(Settings.System.getInt(getContentResolver(),
+                    Settings.System.NOTIFICATION_LIGHT_PULSE) == 1);
+        } catch (Settings.SettingNotFoundException snfe) {
+            Log.e(TAG, Settings.System.NOTIFICATION_LIGHT_PULSE + " not found");
+        }
+    }
+
+    // === Lockscreen (public / private) notifications ===
+
+    private void initLockscreenNotifications() {
+        mLockscreen = (DropDownPreference) getPreferenceScreen().findPreference(
+                KEY_LOCK_SCREEN_NOTIFICATIONS);
+        if (mLockscreen == null) {
+            Log.i(TAG, "Preference not found: " + KEY_LOCK_SCREEN_NOTIFICATIONS);
+            return;
+        }
+
+        boolean isSecureNotificationsDisabled = isSecureNotificationsDisabled();
+        boolean isUnredactedNotificationsDisabled = isUnredactedNotificationsDisabled();
+        ArrayList<CharSequence> entries = new ArrayList<>();
+        ArrayList<CharSequence> values = new ArrayList<>();
+        if (!isSecureNotificationsDisabled && !isUnredactedNotificationsDisabled) {
+            entries.add(getString(R.string.lock_screen_notifications_summary_show));
+            values.add(Integer.toString(R.string.lock_screen_notifications_summary_show));
+        }
+        if (mSecure && !isSecureNotificationsDisabled) {
+            entries.add(getString(R.string.lock_screen_notifications_summary_hide));
+            values.add(Integer.toString(R.string.lock_screen_notifications_summary_hide));
+        }
+        entries.add(getString(R.string.lock_screen_notifications_summary_disable));
+        values.add(Integer.toString(R.string.lock_screen_notifications_summary_disable));
+
+        mLockscreen.setEntries(entries.toArray(new CharSequence[entries.size()]));
+        mLockscreen.setEntryValues(values.toArray(new CharSequence[values.size()]));
+        updateLockscreenNotifications();
+        if (mLockscreen.getEntries().length > 1) {
+            mLockscreen.setOnPreferenceChangeListener(new OnPreferenceChangeListener() {
+                @Override
+                public boolean onPreferenceChange(Preference preference, Object newValue) {
+                    final int val = Integer.parseInt((String) newValue);
+                    if (val == mLockscreenSelectedValue) {
+                        return false;
+                    }
+                    final boolean enabled =
+                            val != R.string.lock_screen_notifications_summary_disable;
+                    final boolean show = val == R.string.lock_screen_notifications_summary_show;
+                    Settings.Secure.putInt(getContentResolver(),
+                            Settings.Secure.LOCK_SCREEN_ALLOW_PRIVATE_NOTIFICATIONS, show ? 1 : 0);
+                    Settings.Secure.putInt(getContentResolver(),
+                            Settings.Secure.LOCK_SCREEN_SHOW_NOTIFICATIONS, enabled ? 1 : 0);
+                    mLockscreenSelectedValue = val;
+                    return true;
+                }
+            });
+        } else {
+            // There is one or less option for the user, disable the drop down.
+            mLockscreen.setEnabled(false);
+        }
+    }
+
+    private boolean isSecureNotificationsDisabled() {
+        final DevicePolicyManager dpm =
+                (DevicePolicyManager) getSystemService(Context.DEVICE_POLICY_SERVICE);
+        return dpm != null && (dpm.getKeyguardDisabledFeatures(null)
+                & DevicePolicyManager.KEYGUARD_DISABLE_SECURE_NOTIFICATIONS) != 0;
+    }
+
+    private boolean isUnredactedNotificationsDisabled() {
+        final DevicePolicyManager dpm =
+                (DevicePolicyManager) getSystemService(Context.DEVICE_POLICY_SERVICE);
+        return dpm != null && (dpm.getKeyguardDisabledFeatures(null)
+                & DevicePolicyManager.KEYGUARD_DISABLE_UNREDACTED_NOTIFICATIONS) != 0;
+    }
+
+    private void updateLockscreenNotifications() {
+        if (mLockscreen == null) {
+            return;
+        }
+        final boolean enabled = getLockscreenNotificationsEnabled();
+        final boolean allowPrivate = !mSecure || getLockscreenAllowPrivateNotifications();
+        mLockscreenSelectedValue = !enabled ? R.string.lock_screen_notifications_summary_disable :
+                allowPrivate ? R.string.lock_screen_notifications_summary_show :
+                R.string.lock_screen_notifications_summary_hide;
+        mLockscreen.setValue(Integer.toString(mLockscreenSelectedValue));
+    }
+
+    private boolean getLockscreenNotificationsEnabled() {
+        return Settings.Secure.getInt(getContentResolver(),
+                Settings.Secure.LOCK_SCREEN_SHOW_NOTIFICATIONS, 0) != 0;
+    }
+
+    private boolean getLockscreenAllowPrivateNotifications() {
+        return Settings.Secure.getInt(getContentResolver(),
+                Settings.Secure.LOCK_SCREEN_ALLOW_PRIVATE_NOTIFICATIONS, 0) != 0;
+    }
+
+
+    // === Callbacks ===
+
+    private final class SettingsObserver extends ContentObserver {
+        private final Uri NOTIFICATION_LIGHT_PULSE_URI =
+                Settings.System.getUriFor(Settings.System.NOTIFICATION_LIGHT_PULSE);
+        private final Uri LOCK_SCREEN_PRIVATE_URI =
+                Settings.Secure.getUriFor(Settings.Secure.LOCK_SCREEN_ALLOW_PRIVATE_NOTIFICATIONS);
+        private final Uri LOCK_SCREEN_SHOW_URI =
+                Settings.Secure.getUriFor(Settings.Secure.LOCK_SCREEN_SHOW_NOTIFICATIONS);
+
+        public SettingsObserver() {
+            super(new Handler());
+        }
+
+        public void register(boolean register) {
+            final ContentResolver cr = getContentResolver();
+            if (register) {
+                cr.registerContentObserver(NOTIFICATION_LIGHT_PULSE_URI, false, this);
+                cr.registerContentObserver(LOCK_SCREEN_PRIVATE_URI, false, this);
+                cr.registerContentObserver(LOCK_SCREEN_SHOW_URI, false, this);
+            } else {
+                cr.unregisterContentObserver(this);
+            }
+        }
+
+        @Override
+        public void onChange(boolean selfChange, Uri uri) {
+            super.onChange(selfChange, uri);
+            if (NOTIFICATION_LIGHT_PULSE_URI.equals(uri)) {
+                updatePulse();
+            }
+            if (LOCK_SCREEN_PRIVATE_URI.equals(uri) || LOCK_SCREEN_SHOW_URI.equals(uri)) {
+                updateLockscreenNotifications();
+            }
+        }
+    }
+}
diff --git a/src/com/android/settings/notification/NotificationSettings.java b/src/com/android/settings/notification/SoundSettings.java
similarity index 64%
rename from src/com/android/settings/notification/NotificationSettings.java
rename to src/com/android/settings/notification/SoundSettings.java
index 46935d0..9e27528 100644
--- a/src/com/android/settings/notification/NotificationSettings.java
+++ b/src/com/android/settings/notification/SoundSettings.java
@@ -16,8 +16,8 @@
 
 package com.android.settings.notification;
 
+import android.app.Activity;
 import android.app.NotificationManager;
-import android.app.admin.DevicePolicyManager;
 import android.content.BroadcastReceiver;
 import android.content.ComponentName;
 import android.content.ContentResolver;
@@ -37,7 +37,6 @@
 import android.os.Handler;
 import android.os.Looper;
 import android.os.Message;
-import android.os.UserHandle;
 import android.os.UserManager;
 import android.os.Vibrator;
 import android.preference.SeekBarVolumizer;
@@ -47,29 +46,27 @@
 import android.provider.Settings;
 import android.support.v7.preference.Preference;
 import android.support.v7.preference.Preference.OnPreferenceChangeListener;
-import android.support.v7.preference.PreferenceCategory;
 import android.support.v7.preference.TwoStatePreference;
 import android.util.Log;
 
-import com.android.internal.logging.MetricsLogger;
-import com.android.internal.widget.LockPatternUtils;
-import com.android.settings.DropDownPreference;
+import com.android.settings.InstrumentedFragment;
 import com.android.settings.R;
 import com.android.settings.RingtonePreference;
 import com.android.settings.SettingsPreferenceFragment;
 import com.android.settings.Utils;
+import com.android.settings.dashboard.SummaryLoader;
 import com.android.settings.search.BaseSearchIndexProvider;
 import com.android.settings.search.Indexable;
 
+import java.text.NumberFormat;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
 import java.util.Objects;
 
-public class NotificationSettings extends SettingsPreferenceFragment implements Indexable {
-    private static final String TAG = "NotificationSettings";
+public class SoundSettings extends SettingsPreferenceFragment implements Indexable {
+    private static final String TAG = "SoundSettings";
 
-    private static final String KEY_SOUND = "sound";
     private static final String KEY_MEDIA_VOLUME = "media_volume";
     private static final String KEY_ALARM_VOLUME = "alarm_volume";
     private static final String KEY_RING_VOLUME = "ring_volume";
@@ -78,11 +75,6 @@
     private static final String KEY_NOTIFICATION_RINGTONE = "notification_ringtone";
     private static final String KEY_VIBRATE_WHEN_RINGING = "vibrate_when_ringing";
     private static final String KEY_WIFI_DISPLAY = "wifi_display";
-    private static final String KEY_NOTIFICATION = "notification";
-    private static final String KEY_NOTIFICATION_PULSE = "notification_pulse";
-    private static final String KEY_LOCK_SCREEN_NOTIFICATIONS = "lock_screen_notifications";
-    private static final String KEY_NOTIFICATION_ACCESS = "manage_notification_access";
-    private static final String KEY_ZEN_ACCESS = "manage_zen_access";
     private static final String KEY_ZEN_MODE = "zen_mode";
 
     private static final String[] RESTRICTED_KEYS = {
@@ -90,7 +82,6 @@
         KEY_ALARM_VOLUME,
         KEY_RING_VOLUME,
         KEY_NOTIFICATION_VOLUME,
-        KEY_ZEN_ACCESS,
         KEY_ZEN_MODE,
     };
 
@@ -103,7 +94,6 @@
     private final ArrayList<VolumeSeekBarPreference> mVolumePrefs = new ArrayList<>();
 
     private Context mContext;
-    private PackageManager mPM;
     private boolean mVoiceCapable;
     private Vibrator mVibrator;
     private AudioManager mAudioManager;
@@ -112,12 +102,6 @@
     private Preference mPhoneRingtonePreference;
     private Preference mNotificationRingtonePreference;
     private TwoStatePreference mVibrateWhenRinging;
-    private TwoStatePreference mNotificationPulse;
-    private DropDownPreference mLockscreen;
-    private Preference mNotificationAccess;
-    private Preference mZenAccess;
-    private boolean mSecure;
-    private int mLockscreenSelectedValue;
     private ComponentName mSuppressor;
     private int mRingerMode = -1;
 
@@ -126,17 +110,15 @@
 
     @Override
     protected int getMetricsCategory() {
-        return MetricsLogger.NOTIFICATION;
+        return InstrumentedFragment.SOUND;
     }
 
     @Override
     public void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         mContext = getActivity();
-        mPM = mContext.getPackageManager();
         mUserManager = UserManager.get(getContext());
         mVoiceCapable = Utils.isVoiceCapable(mContext);
-        mSecure = new LockPatternUtils(getActivity()).isSecure(UserHandle.myUserId());
 
         mAudioManager = (AudioManager) mContext.getSystemService(Context.AUDIO_SERVICE);
         mVibrator = (Vibrator) getActivity().getSystemService(Context.VIBRATOR_SERVICE);
@@ -144,9 +126,8 @@
             mVibrator = null;
         }
 
-        addPreferencesFromResource(R.xml.notification_settings);
+        addPreferencesFromResource(R.xml.sound_settings);
 
-        final PreferenceCategory sound = (PreferenceCategory) findPreference(KEY_SOUND);
         initVolumePreference(KEY_MEDIA_VOLUME, AudioManager.STREAM_MUSIC,
                 com.android.internal.R.drawable.ic_audio_media_mute);
         initVolumePreference(KEY_ALARM_VOLUME, AudioManager.STREAM_ALARM,
@@ -155,25 +136,15 @@
             mRingOrNotificationPreference =
                     initVolumePreference(KEY_RING_VOLUME, AudioManager.STREAM_RING,
                             com.android.internal.R.drawable.ic_audio_ring_notif_mute);
-            sound.removePreference(sound.findPreference(KEY_NOTIFICATION_VOLUME));
+            removePreference(KEY_NOTIFICATION_VOLUME);
         } else {
             mRingOrNotificationPreference =
                     initVolumePreference(KEY_NOTIFICATION_VOLUME, AudioManager.STREAM_NOTIFICATION,
                             com.android.internal.R.drawable.ic_audio_ring_notif_mute);
-            sound.removePreference(sound.findPreference(KEY_RING_VOLUME));
+            removePreference(KEY_RING_VOLUME);
         }
-        initRingtones(sound);
-        initVibrateWhenRinging(sound);
-
-        final PreferenceCategory notification = (PreferenceCategory)
-                findPreference(KEY_NOTIFICATION);
-        initPulse(notification);
-        initLockscreenNotifications(notification);
-
-        mNotificationAccess = findPreference(KEY_NOTIFICATION_ACCESS);
-        refreshNotificationListeners();
-        mZenAccess = findPreference(KEY_ZEN_ACCESS);
-        refreshZenAccess();
+        initRingtones();
+        initVibrateWhenRinging();
         updateRingerMode();
         updateEffectsSuppressor();
     }
@@ -181,8 +152,6 @@
     @Override
     public void onResume() {
         super.onResume();
-        refreshNotificationListeners();
-        refreshZenAccess();
         lookupRingtoneNames();
         mSettingsObserver.register(true);
         mReceiver.register(true);
@@ -323,13 +292,14 @@
 
     // === Phone & notification ringtone ===
 
-    private void initRingtones(PreferenceCategory root) {
-        mPhoneRingtonePreference = root.findPreference(KEY_PHONE_RINGTONE);
+    private void initRingtones() {
+        mPhoneRingtonePreference = getPreferenceScreen().findPreference(KEY_PHONE_RINGTONE);
         if (mPhoneRingtonePreference != null && !mVoiceCapable) {
-            root.removePreference(mPhoneRingtonePreference);
+            getPreferenceScreen().removePreference(mPhoneRingtonePreference);
             mPhoneRingtonePreference = null;
         }
-        mNotificationRingtonePreference = root.findPreference(KEY_NOTIFICATION_RINGTONE);
+        mNotificationRingtonePreference =
+                getPreferenceScreen().findPreference(KEY_NOTIFICATION_RINGTONE);
     }
 
     private void lookupRingtoneNames() {
@@ -397,14 +367,15 @@
 
     // === Vibrate when ringing ===
 
-    private void initVibrateWhenRinging(PreferenceCategory root) {
-        mVibrateWhenRinging = (TwoStatePreference) root.findPreference(KEY_VIBRATE_WHEN_RINGING);
+    private void initVibrateWhenRinging() {
+        mVibrateWhenRinging =
+                (TwoStatePreference) getPreferenceScreen().findPreference(KEY_VIBRATE_WHEN_RINGING);
         if (mVibrateWhenRinging == null) {
             Log.i(TAG, "Preference not found: " + KEY_VIBRATE_WHEN_RINGING);
             return;
         }
         if (!mVoiceCapable) {
-            root.removePreference(mVibrateWhenRinging);
+            getPreferenceScreen().removePreference(mVibrateWhenRinging);
             mVibrateWhenRinging = null;
             return;
         }
@@ -427,164 +398,11 @@
                 Settings.System.VIBRATE_WHEN_RINGING, 0) != 0);
     }
 
-    // === Pulse notification light ===
-
-    private void initPulse(PreferenceCategory parent) {
-        mNotificationPulse = (TwoStatePreference) parent.findPreference(KEY_NOTIFICATION_PULSE);
-        if (mNotificationPulse == null) {
-            Log.i(TAG, "Preference not found: " + KEY_NOTIFICATION_PULSE);
-            return;
-        }
-        if (!getResources()
-                .getBoolean(com.android.internal.R.bool.config_intrusiveNotificationLed)) {
-            parent.removePreference(mNotificationPulse);
-        } else {
-            updatePulse();
-            mNotificationPulse.setOnPreferenceChangeListener(new OnPreferenceChangeListener() {
-                @Override
-                public boolean onPreferenceChange(Preference preference, Object newValue) {
-                    final boolean val = (Boolean)newValue;
-                    return Settings.System.putInt(getContentResolver(),
-                            Settings.System.NOTIFICATION_LIGHT_PULSE,
-                            val ? 1 : 0);
-                }
-            });
-        }
-    }
-
-    private void updatePulse() {
-        if (mNotificationPulse == null) {
-            return;
-        }
-        try {
-            mNotificationPulse.setChecked(Settings.System.getInt(getContentResolver(),
-                    Settings.System.NOTIFICATION_LIGHT_PULSE) == 1);
-        } catch (Settings.SettingNotFoundException snfe) {
-            Log.e(TAG, Settings.System.NOTIFICATION_LIGHT_PULSE + " not found");
-        }
-    }
-
-    // === Lockscreen (public / private) notifications ===
-
-    private void initLockscreenNotifications(PreferenceCategory parent) {
-        mLockscreen = (DropDownPreference) parent.findPreference(KEY_LOCK_SCREEN_NOTIFICATIONS);
-        if (mLockscreen == null) {
-            Log.i(TAG, "Preference not found: " + KEY_LOCK_SCREEN_NOTIFICATIONS);
-            return;
-        }
-
-        boolean isSecureNotificationsDisabled = isSecureNotificationsDisabled();
-        boolean isUnredactedNotificationsDisabled = isUnredactedNotificationsDisabled();
-        ArrayList<CharSequence> entries = new ArrayList<>();
-        ArrayList<CharSequence> values = new ArrayList<>();
-        if (!isSecureNotificationsDisabled && !isUnredactedNotificationsDisabled) {
-            entries.add(getString(R.string.lock_screen_notifications_summary_show));
-            values.add(Integer.toString(R.string.lock_screen_notifications_summary_show));
-        }
-        if (mSecure && !isSecureNotificationsDisabled) {
-            entries.add(getString(R.string.lock_screen_notifications_summary_hide));
-            values.add(Integer.toString(R.string.lock_screen_notifications_summary_hide));
-        }
-        entries.add(getString(R.string.lock_screen_notifications_summary_disable));
-        values.add(Integer.toString(R.string.lock_screen_notifications_summary_disable));
-
-        mLockscreen.setEntries(entries.toArray(new CharSequence[entries.size()]));
-        mLockscreen.setEntryValues(values.toArray(new CharSequence[values.size()]));
-        updateLockscreenNotifications();
-        if (mLockscreen.getEntries().length > 1) {
-            mLockscreen.setOnPreferenceChangeListener(new OnPreferenceChangeListener() {
-                @Override
-                public boolean onPreferenceChange(Preference preference, Object newValue) {
-                    final int val = Integer.parseInt((String) newValue);
-                    if (val == mLockscreenSelectedValue) {
-                        return false;
-                    }
-                    final boolean enabled =
-                            val != R.string.lock_screen_notifications_summary_disable;
-                    final boolean show = val == R.string.lock_screen_notifications_summary_show;
-                    Settings.Secure.putInt(getContentResolver(),
-                            Settings.Secure.LOCK_SCREEN_ALLOW_PRIVATE_NOTIFICATIONS, show ? 1 : 0);
-                    Settings.Secure.putInt(getContentResolver(),
-                            Settings.Secure.LOCK_SCREEN_SHOW_NOTIFICATIONS, enabled ? 1 : 0);
-                    mLockscreenSelectedValue = val;
-                    return true;
-                }
-            });
-        } else {
-            // There is one or less option for the user, disable the drop down.
-            mLockscreen.setEnabled(false);
-        }
-    }
-
-    private boolean isSecureNotificationsDisabled() {
-        final DevicePolicyManager dpm =
-                (DevicePolicyManager) getSystemService(Context.DEVICE_POLICY_SERVICE);
-        return dpm != null && (dpm.getKeyguardDisabledFeatures(null)
-                & DevicePolicyManager.KEYGUARD_DISABLE_SECURE_NOTIFICATIONS) != 0;
-    }
-
-    private boolean isUnredactedNotificationsDisabled() {
-        final DevicePolicyManager dpm =
-                (DevicePolicyManager) getSystemService(Context.DEVICE_POLICY_SERVICE);
-        return dpm != null && (dpm.getKeyguardDisabledFeatures(null)
-                & DevicePolicyManager.KEYGUARD_DISABLE_UNREDACTED_NOTIFICATIONS) != 0;
-    }
-
-    private void updateLockscreenNotifications() {
-        if (mLockscreen == null) {
-            return;
-        }
-        final boolean enabled = getLockscreenNotificationsEnabled();
-        final boolean allowPrivate = !mSecure || getLockscreenAllowPrivateNotifications();
-        mLockscreenSelectedValue = !enabled ? R.string.lock_screen_notifications_summary_disable :
-                allowPrivate ? R.string.lock_screen_notifications_summary_show :
-                R.string.lock_screen_notifications_summary_hide;
-        mLockscreen.setValue(Integer.toString(mLockscreenSelectedValue));
-    }
-
-    private boolean getLockscreenNotificationsEnabled() {
-        return Settings.Secure.getInt(getContentResolver(),
-                Settings.Secure.LOCK_SCREEN_SHOW_NOTIFICATIONS, 0) != 0;
-    }
-
-    private boolean getLockscreenAllowPrivateNotifications() {
-        return Settings.Secure.getInt(getContentResolver(),
-                Settings.Secure.LOCK_SCREEN_ALLOW_PRIVATE_NOTIFICATIONS, 0) != 0;
-    }
-
-    // === Notification listeners ===
-
-    private void refreshNotificationListeners() {
-        if (mNotificationAccess != null) {
-            final int n = NotificationAccessSettings.getEnabledListenersCount(mContext);
-            if (n == 0) {
-                mNotificationAccess.setSummary(getResources().getString(
-                        R.string.manage_notification_access_summary_zero));
-            } else {
-                mNotificationAccess.setSummary(String.format(getResources().getQuantityString(
-                        R.plurals.manage_notification_access_summary_nonzero,
-                        n, n)));
-            }
-        }
-    }
-
-    // === Zen access ===
-
-    private void refreshZenAccess() {
-        // noop for now
-    }
-
     // === Callbacks ===
 
     private final class SettingsObserver extends ContentObserver {
         private final Uri VIBRATE_WHEN_RINGING_URI =
                 Settings.System.getUriFor(Settings.System.VIBRATE_WHEN_RINGING);
-        private final Uri NOTIFICATION_LIGHT_PULSE_URI =
-                Settings.System.getUriFor(Settings.System.NOTIFICATION_LIGHT_PULSE);
-        private final Uri LOCK_SCREEN_PRIVATE_URI =
-                Settings.Secure.getUriFor(Settings.Secure.LOCK_SCREEN_ALLOW_PRIVATE_NOTIFICATIONS);
-        private final Uri LOCK_SCREEN_SHOW_URI =
-                Settings.Secure.getUriFor(Settings.Secure.LOCK_SCREEN_SHOW_NOTIFICATIONS);
 
         public SettingsObserver() {
             super(mHandler);
@@ -594,9 +412,6 @@
             final ContentResolver cr = getContentResolver();
             if (register) {
                 cr.registerContentObserver(VIBRATE_WHEN_RINGING_URI, false, this);
-                cr.registerContentObserver(NOTIFICATION_LIGHT_PULSE_URI, false, this);
-                cr.registerContentObserver(LOCK_SCREEN_PRIVATE_URI, false, this);
-                cr.registerContentObserver(LOCK_SCREEN_SHOW_URI, false, this);
             } else {
                 cr.unregisterContentObserver(this);
             }
@@ -608,12 +423,6 @@
             if (VIBRATE_WHEN_RINGING_URI.equals(uri)) {
                 updateVibrateWhenRinging();
             }
-            if (NOTIFICATION_LIGHT_PULSE_URI.equals(uri)) {
-                updatePulse();
-            }
-            if (LOCK_SCREEN_PRIVATE_URI.equals(uri) || LOCK_SCREEN_SHOW_URI.equals(uri)) {
-                updateLockscreenNotifications();
-            }
         }
     }
 
@@ -677,6 +486,57 @@
         }
     }
 
+    // === Summary ===
+
+    private static class SummaryProvider extends BroadcastReceiver
+            implements SummaryLoader.SummaryProvider {
+
+        private final Context mContext;
+        private final AudioManager mAudioManager;
+        private final SummaryLoader mSummaryLoader;
+        private final int maxVolume;
+
+        public SummaryProvider(Context context, SummaryLoader summaryLoader) {
+            mContext = context;
+            mSummaryLoader = summaryLoader;
+            mAudioManager = (AudioManager) mContext.getSystemService(Context.AUDIO_SERVICE);
+            maxVolume = mAudioManager.getStreamMaxVolume(AudioManager.STREAM_RING);
+        }
+
+        @Override
+        public void setListening(boolean listening) {
+            if (listening) {
+                IntentFilter filter = new IntentFilter();
+                filter.addAction(AudioManager.VOLUME_CHANGED_ACTION);
+                filter.addAction(AudioManager.STREAM_DEVICES_CHANGED_ACTION);
+                filter.addAction(AudioManager.RINGER_MODE_CHANGED_ACTION);
+                filter.addAction(AudioManager.INTERNAL_RINGER_MODE_CHANGED_ACTION);
+                filter.addAction(AudioManager.STREAM_MUTE_CHANGED_ACTION);
+                filter.addAction(NotificationManager.ACTION_EFFECTS_SUPPRESSOR_CHANGED);
+                mContext.registerReceiver(this, filter);
+            } else {
+                mContext.unregisterReceiver(this);
+            }
+        }
+
+        @Override
+        public void onReceive(Context context, Intent intent) {
+            String percent =  NumberFormat.getPercentInstance().format(
+                    (double) mAudioManager.getStreamVolume(AudioManager.STREAM_RING) / maxVolume);
+            mSummaryLoader.setSummary(this,
+                    mContext.getString(R.string.sound_settings_summary, percent));
+        }
+    }
+
+    public static final SummaryLoader.SummaryProviderFactory SUMMARY_PROVIDER_FACTORY
+            = new SummaryLoader.SummaryProviderFactory() {
+        @Override
+        public SummaryLoader.SummaryProvider createSummaryProvider(Activity activity,
+                SummaryLoader summaryLoader) {
+            return new SummaryProvider(activity, summaryLoader);
+        }
+    };
+
     // === Indexing ===
 
     public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
@@ -685,7 +545,7 @@
         public List<SearchIndexableResource> getXmlResourcesToIndex(
                 Context context, boolean enabled) {
             final SearchIndexableResource sir = new SearchIndexableResource(context);
-            sir.xmlResId = R.xml.notification_settings;
+            sir.xmlResId = R.xml.configure_notification_settings;
             return Arrays.asList(sir);
         }
 
diff --git a/src/com/android/settings/notification/ZenModeSettings.java b/src/com/android/settings/notification/ZenModeSettings.java
index 39ec08c..3743396 100644
--- a/src/com/android/settings/notification/ZenModeSettings.java
+++ b/src/com/android/settings/notification/ZenModeSettings.java
@@ -18,26 +18,19 @@
 
 import android.app.NotificationManager;
 import android.app.NotificationManager.Policy;
-import android.content.Context;
-import android.content.res.Resources;
 import android.os.Bundle;
 import android.support.v7.preference.Preference;
 import android.support.v7.preference.PreferenceScreen;
-import android.util.SparseArray;
+import android.view.Menu;
+import android.view.MenuInflater;
+import android.view.MenuItem;
 
 import com.android.internal.logging.MetricsLogger;
 import com.android.settings.R;
-import com.android.settings.search.BaseSearchIndexProvider;
-import com.android.settings.search.Indexable;
-import com.android.settings.search.SearchIndexableRaw;
+import com.android.settings.SettingsActivity;
 
-import java.util.ArrayList;
-import java.util.List;
-
-public class ZenModeSettings extends ZenModeSettingsBase implements Indexable {
+public class ZenModeSettings extends ZenModeSettingsBase {
     private static final String KEY_PRIORITY_SETTINGS = "priority_settings";
-    private static final String KEY_AUTOMATION_SETTINGS = "automation_settings";
-    private static final String KEY_VISUAL_INTERRUPTIONS_SETTINGS = "visual_interruptions_settings";
 
     private Preference mPrioritySettings;
 
@@ -49,9 +42,6 @@
         final PreferenceScreen root = getPreferenceScreen();
 
         mPrioritySettings = root.findPreference(KEY_PRIORITY_SETTINGS);
-        if (!isScheduleSupported(mContext)) {
-            removePreference(KEY_AUTOMATION_SETTINGS);
-        }
     }
 
     @Override
@@ -79,6 +69,23 @@
         updatePrioritySettingsSummary();
     }
 
+    @Override
+    public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
+        inflater.inflate(R.menu.zen_settings_menu, menu);
+    }
+
+    @Override
+    public boolean onOptionsItemSelected(MenuItem item) {
+        switch (item.getItemId()) {
+            case R.id.zen_access:
+                ((SettingsActivity) getActivity()).startPreferencePanel(
+                            ZenAccessSettings.class.getCanonicalName(), null,
+                            R.string.manage_zen_access_title, null, this, 0);
+                return true;
+        }
+        return super.onOptionsItemSelected(item);
+    }
+
     private void updatePrioritySettingsSummary() {
         Policy policy = NotificationManager.from(mContext).getNotificationPolicy();
         String s = getResources().getString(R.string.zen_mode_alarms);
@@ -117,47 +124,8 @@
         return s;
     }
 
-    private static SparseArray<String> allKeyTitles() {
-        final SparseArray<String> rt = new SparseArray<String>();
-        rt.put(R.string.zen_mode_priority_settings_title, KEY_PRIORITY_SETTINGS);
-        rt.put(R.string.zen_mode_automation_settings_title, KEY_AUTOMATION_SETTINGS);
-        rt.put(R.string.zen_mode_visual_interruptions_settings_title,
-                KEY_VISUAL_INTERRUPTIONS_SETTINGS);
-        return rt;
-    }
-
     @Override
     protected int getHelpResource() {
         return R.string.help_uri_interruptions;
     }
-
-    // Enable indexing of searchable data
-    public static final Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
-        new BaseSearchIndexProvider() {
-
-            @Override
-            public List<SearchIndexableRaw> getRawDataToIndex(Context context, boolean enabled) {
-                final SparseArray<String> keyTitles = allKeyTitles();
-                final int N = keyTitles.size();
-                final List<SearchIndexableRaw> result = new ArrayList<SearchIndexableRaw>(N);
-                final Resources res = context.getResources();
-                for (int i = 0; i < N; i++) {
-                    final SearchIndexableRaw data = new SearchIndexableRaw(context);
-                    data.key = keyTitles.valueAt(i);
-                    data.title = res.getString(keyTitles.keyAt(i));
-                    data.screenTitle = res.getString(R.string.zen_mode_settings_title);
-                    result.add(data);
-                }
-                return result;
-            }
-
-            @Override
-            public List<String> getNonIndexableKeys(Context context) {
-                final ArrayList<String> rt = new ArrayList<String>();
-                if (!isScheduleSupported(context)) {
-                    rt.add(KEY_AUTOMATION_SETTINGS);
-                }
-                return rt;
-            }
-        };
 }
diff --git a/src/com/android/settings/notification/ZenModeSettingsBase.java b/src/com/android/settings/notification/ZenModeSettingsBase.java
index 1a34062..4c8663f 100644
--- a/src/com/android/settings/notification/ZenModeSettingsBase.java
+++ b/src/com/android/settings/notification/ZenModeSettingsBase.java
@@ -122,11 +122,6 @@
         NotificationManager.from(mContext).setZenMode(zenMode, conditionId, TAG);
     }
 
-    protected static boolean isScheduleSupported(Context context) {
-        return NotificationManager.from(context)
-                .isSystemConditionProviderEnabled(ZenModeConfig.SCHEDULE_PATH);
-    }
-
     private List<AutomaticZenRule> getZenModeRules() {
         return NotificationManager.from(mContext).getAutomaticZenRules();
     }
diff --git a/src/com/android/settings/print/PrintJobSettingsFragment.java b/src/com/android/settings/print/PrintJobSettingsFragment.java
index 9988cb0..d299aa4 100644
--- a/src/com/android/settings/print/PrintJobSettingsFragment.java
+++ b/src/com/android/settings/print/PrintJobSettingsFragment.java
@@ -99,16 +99,16 @@
     }
 
     @Override
-    public void onResume() {
-        super.onResume();
+    public void onStart() {
+        super.onStart();
         mPrintManager.addPrintJobStateChangeListener(
                 mPrintJobStateChangeListener);
         updateUi();
     }
 
     @Override
-    public void onPause() {
-        super.onPause();
+    public void onStop() {
+        super.onStop();
         mPrintManager.removePrintJobStateChangeListener(
                 mPrintJobStateChangeListener);
     }
diff --git a/src/com/android/settings/print/PrintServiceSettingsFragment.java b/src/com/android/settings/print/PrintServiceSettingsFragment.java
index d027f98..f174614 100644
--- a/src/com/android/settings/print/PrintServiceSettingsFragment.java
+++ b/src/com/android/settings/print/PrintServiceSettingsFragment.java
@@ -147,8 +147,8 @@
     }
 
     @Override
-    public void onResume() {
-        super.onResume();
+    public void onStart() {
+        super.onStart();
         mSettingsContentObserver.register(getContentResolver());
         updateEmptyView();
         updateUiForServiceState();
@@ -156,7 +156,6 @@
 
     @Override
     public void onPause() {
-        mSettingsContentObserver.unregister(getContentResolver());
         if (mSearchView != null) {
             mSearchView.setOnQueryTextListener(null);
         }
@@ -164,6 +163,12 @@
     }
 
     @Override
+    public void onStop() {
+        mSettingsContentObserver.unregister(getContentResolver());
+        super.onStop();
+    }
+
+    @Override
     public void onViewCreated(View view, Bundle savedInstanceState) {
         super.onViewCreated(view, savedInstanceState);
         initComponents();
@@ -373,7 +378,7 @@
 
                 @Override
                 public boolean onQueryTextChange(String searchString) {
-                    ((Filterable) getListView().getAdapter()).getFilter().filter(searchString);
+                    mPrintersAdapter.getFilter().filter(searchString);
                     return true;
                 }
             });
diff --git a/src/com/android/settings/print/PrintSettingsFragment.java b/src/com/android/settings/print/PrintSettingsFragment.java
index 4cfd21b..c2d3ac2 100644
--- a/src/com/android/settings/print/PrintSettingsFragment.java
+++ b/src/com/android/settings/print/PrintSettingsFragment.java
@@ -150,8 +150,8 @@
     }
 
     @Override
-    public void onResume() {
-        super.onResume();
+    public void onStart() {
+        super.onStart();
         mSettingsPackageMonitor.register(getActivity(), getActivity().getMainLooper(), false);
         mSettingsContentObserver.register(getContentResolver());
         updateServicesPreferences();
@@ -160,10 +160,10 @@
     }
 
     @Override
-    public void onPause() {
+    public void onStop() {
         mSettingsPackageMonitor.unregister();
         mSettingsContentObserver.unregister(getContentResolver());
-        super.onPause();
+        super.onStop();
     }
 
     @Override
diff --git a/src/com/android/settings/search/Ranking.java b/src/com/android/settings/search/Ranking.java
index 1f464df..4ac4fb8 100644
--- a/src/com/android/settings/search/Ranking.java
+++ b/src/com/android/settings/search/Ranking.java
@@ -42,8 +42,9 @@
 import com.android.settings.location.LocationSettings;
 import com.android.settings.location.ScanningSettings;
 import com.android.settings.net.DataUsageMeteredSettings;
-import com.android.settings.notification.NotificationSettings;
+import com.android.settings.notification.ConfigureNotificationSettings;
 import com.android.settings.notification.OtherSoundSettings;
+import com.android.settings.notification.SoundSettings;
 import com.android.settings.notification.ZenModeAutomationSettings;
 import com.android.settings.notification.ZenModePrioritySettings;
 import com.android.settings.notification.ZenModeSettings;
@@ -71,20 +72,21 @@
     public static final int RANK_DISPLAY = 7;
     public static final int RANK_WALLPAPER = 8;
     public static final int RANK_NOTIFICATIONS = 9;
-    public static final int RANK_APPS = 10;
-    public static final int RANK_STORAGE = 11;
-    public static final int RANK_POWER_USAGE = 12;
-    public static final int RANK_USERS = 13;
-    public static final int RANK_LOCATION = 14;
-    public static final int RANK_SECURITY = 15;
-    public static final int RANK_ACCOUNT = 16;
-    public static final int RANK_IME = 17;
-    public static final int RANK_PRIVACY = 18;
-    public static final int RANK_DATE_TIME = 19;
-    public static final int RANK_ACCESSIBILITY = 20;
-    public static final int RANK_PRINTING = 21;
-    public static final int RANK_DEVELOPEMENT = 22;
-    public static final int RANK_DEVICE_INFO = 23;
+    public static final int RANK_SOUND = 10;
+    public static final int RANK_APPS = 11;
+    public static final int RANK_STORAGE = 12;
+    public static final int RANK_POWER_USAGE = 13;
+    public static final int RANK_USERS = 14;
+    public static final int RANK_LOCATION = 15;
+    public static final int RANK_SECURITY = 16;
+    public static final int RANK_ACCOUNT = 17;
+    public static final int RANK_IME = 18;
+    public static final int RANK_PRIVACY = 19;
+    public static final int RANK_DATE_TIME = 20;
+    public static final int RANK_ACCESSIBILITY = 21;
+    public static final int RANK_PRINTING = 22;
+    public static final int RANK_DEVELOPEMENT = 23;
+    public static final int RANK_DEVICE_INFO = 24;
 
     public static final int RANK_UNDEFINED = -1;
     public static final int RANK_OTHERS = 1024;
@@ -124,8 +126,11 @@
         // Wallpapers
         sRankMap.put(WallpaperTypeSettings.class.getName(), RANK_WALLPAPER);
 
+        // Sound
+        sRankMap.put(SoundSettings.class.getName(), RANK_SOUND);
+
         // Notifications
-        sRankMap.put(NotificationSettings.class.getName(), RANK_NOTIFICATIONS);
+        sRankMap.put(ConfigureNotificationSettings.class.getName(), RANK_NOTIFICATIONS);
         sRankMap.put(OtherSoundSettings.class.getName(), RANK_NOTIFICATIONS);
         sRankMap.put(ZenModeSettings.class.getName(), RANK_NOTIFICATIONS);
         sRankMap.put(ZenModePrioritySettings.class.getName(), RANK_NOTIFICATIONS);
diff --git a/src/com/android/settings/search/SearchIndexableResources.java b/src/com/android/settings/search/SearchIndexableResources.java
index 7e669e0..376b2eb 100644
--- a/src/com/android/settings/search/SearchIndexableResources.java
+++ b/src/com/android/settings/search/SearchIndexableResources.java
@@ -44,8 +44,9 @@
 import com.android.settings.location.LocationSettings;
 import com.android.settings.location.ScanningSettings;
 import com.android.settings.net.DataUsageMeteredSettings;
-import com.android.settings.notification.NotificationSettings;
+import com.android.settings.notification.ConfigureNotificationSettings;
 import com.android.settings.notification.OtherSoundSettings;
+import com.android.settings.notification.SoundSettings;
 import com.android.settings.notification.ZenModePrioritySettings;
 import com.android.settings.notification.ZenModeSettings;
 import com.android.settings.notification.ZenModeVisualInterruptionSettings;
@@ -144,24 +145,31 @@
                         WallpaperTypeSettings.class.getName(),
                         R.drawable.ic_settings_display));
 
-        sResMap.put(NotificationSettings.class.getName(),
+        sResMap.put(ConfigureNotificationSettings.class.getName(),
                 new SearchIndexableResource(
-                        Ranking.getRankForClassName(NotificationSettings.class.getName()),
-                        NO_DATA_RES_ID,
-                        NotificationSettings.class.getName(),
+                        Ranking.getRankForClassName(ConfigureNotificationSettings.class.getName()),
+                        R.xml.configure_notification_settings,
+                        ConfigureNotificationSettings.class.getName(),
                         R.drawable.ic_settings_notifications));
 
+        sResMap.put(SoundSettings.class.getName(),
+                new SearchIndexableResource(
+                        Ranking.getRankForClassName(SoundSettings.class.getName()),
+                        R.xml.sound_settings,
+                        SoundSettings.class.getName(),
+                        R.drawable.ic_settings_sound));
+
         sResMap.put(OtherSoundSettings.class.getName(),
                 new SearchIndexableResource(
                         Ranking.getRankForClassName(OtherSoundSettings.class.getName()),
                         NO_DATA_RES_ID,
                         OtherSoundSettings.class.getName(),
-                        R.drawable.ic_settings_notifications));
+                        R.drawable.ic_settings_sound));
 
         sResMap.put(ZenModeSettings.class.getName(),
                 new SearchIndexableResource(
                         Ranking.getRankForClassName(ZenModeSettings.class.getName()),
-                        NO_DATA_RES_ID,
+                        R.xml.zen_mode_settings,
                         ZenModeSettings.class.getName(),
                         R.drawable.ic_settings_notifications));
 
diff --git a/src/com/android/settings/users/UserSettings.java b/src/com/android/settings/users/UserSettings.java
index 59ab901..3e2ac87 100644
--- a/src/com/android/settings/users/UserSettings.java
+++ b/src/com/android/settings/users/UserSettings.java
@@ -61,6 +61,7 @@
 import com.android.settings.SettingsActivity;
 import com.android.settings.SettingsPreferenceFragment;
 import com.android.settings.Utils;
+import com.android.settings.dashboard.SummaryLoader;
 import com.android.settings.search.BaseSearchIndexProvider;
 import com.android.settings.search.Indexable;
 import com.android.settings.search.SearchIndexableRaw;
@@ -1052,6 +1053,36 @@
         }
     }
 
+    private static class SummaryProvider implements SummaryLoader.SummaryProvider {
+
+        private final Context mContext;
+        private final SummaryLoader mSummaryLoader;
+
+        public SummaryProvider(Context context, SummaryLoader summaryLoader) {
+            mContext = context;
+            mSummaryLoader = summaryLoader;
+        }
+
+        @Override
+        public void setListening(boolean listening) {
+            if (listening) {
+                UserInfo info = mContext.getSystemService(UserManager.class).getUserInfo(
+                        UserHandle.myUserId());
+                mSummaryLoader.setSummary(this, mContext.getString(R.string.user_summary,
+                        info.name));
+            }
+        }
+    }
+
+    public static final SummaryLoader.SummaryProviderFactory SUMMARY_PROVIDER_FACTORY
+            = new SummaryLoader.SummaryProviderFactory() {
+        @Override
+        public SummaryLoader.SummaryProvider createSummaryProvider(Activity activity,
+                                                                   SummaryLoader summaryLoader) {
+            return new SummaryProvider(activity, summaryLoader);
+        }
+    };
+
     public static final Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
             new BaseSearchIndexProvider() {
                 @Override
diff --git a/src/com/android/settings/widget/SettingsAppWidgetProvider.java b/src/com/android/settings/widget/SettingsAppWidgetProvider.java
index 7f1f747..d7cbaae 100644
--- a/src/com/android/settings/widget/SettingsAppWidgetProvider.java
+++ b/src/com/android/settings/widget/SettingsAppWidgetProvider.java
@@ -569,7 +569,7 @@
                                 mode = Settings.Secure.LOCATION_MODE_OFF;
                                 break;
                             case Settings.Secure.LOCATION_MODE_OFF:
-                                mode = Settings.Secure.LOCATION_MODE_HIGH_ACCURACY;
+                                mode = Settings.Secure.LOCATION_MODE_PREVIOUS;
                                 break;
                         }
                         Settings.Secure.putInt(resolver, Settings.Secure.LOCATION_MODE, mode);
diff --git a/src/com/android/settings/wifi/WifiSettings.java b/src/com/android/settings/wifi/WifiSettings.java
index 490529a..74d3e51 100644
--- a/src/com/android/settings/wifi/WifiSettings.java
+++ b/src/com/android/settings/wifi/WifiSettings.java
@@ -523,6 +523,9 @@
     public boolean onPreferenceTreeClick(Preference preference) {
         if (preference instanceof AccessPointPreference) {
             mSelectedAccessPoint = ((AccessPointPreference) preference).getAccessPoint();
+            if (mSelectedAccessPoint == null) {
+                return false;
+            }
             /** Bypass dialog for unsecured, unsaved, and inactive networks */
             if (mSelectedAccessPoint.getSecurity() == AccessPoint.SECURITY_NONE &&
                     !mSelectedAccessPoint.isSaved() && !mSelectedAccessPoint.isActive()) {
