diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 5aacb0a..ed511ef 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -218,7 +218,8 @@
 
         <activity android:name=".search2.SearchActivity"
                   android:label="@string/search_settings"
-                  android:icon="@drawable/ic_search_history">
+                  android:icon="@drawable/ic_search_history"
+                  android:parentActivityName="Settings">
         </activity>
 
         <!-- Top-level settings -->
@@ -276,6 +277,27 @@
                 android:value="true" />
         </activity>
 
+        <activity android:name="Settings$ConfigureWifiSettingsActivity"
+                android:taskAffinity="com.android.settings"
+                android:label="@string/wifi_configure_titlebar"
+                android:icon="@drawable/ic_settings_wireless"
+                android:configChanges="orientation|keyboardHidden|screenSize"
+                android:parentActivityName="Settings$WifiSettingsActivity">
+            <intent-filter android:priority="1">
+                <action android:name="android.settings.CONFIGURE_WIFI_SETTINGS" />
+                <category android:name="android.intent.category.DEFAULT" />
+            </intent-filter>
+            <intent-filter>
+                <action android:name="android.intent.action.MAIN" />
+                <category android:name="android.intent.category.VOICE_LAUNCH" />
+                <category android:name="android.intent.category.DEFAULT" />
+            </intent-filter>
+            <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
+                android:value="com.android.settings.wifi.ConfigureWifiSettings" />
+            <meta-data android:name="com.android.settings.PRIMARY_PROFILE_CONTROLLED"
+                android:value="true" />
+        </activity>
+
         <activity android:name="Settings$AdvancedWifiSettingsActivity"
                 android:taskAffinity="com.android.settings"
                 android:label="@string/wifi_advanced_settings_label"
@@ -3031,7 +3053,7 @@
 
         <activity android:name=".Settings$ConnectedDeviceDashboardActivity"
                   android:label="@string/connected_devices_dashboard_title"
-                  android:icon="@drawable/ic_bt_laptop">
+                  android:icon="@drawable/ic_devices_other">
             <intent-filter android:priority="10">
                 <action android:name="com.android.settings.action.SETTINGS"/>
             </intent-filter>
@@ -3043,7 +3065,7 @@
 
         <activity android:name=".Settings$AppAndNotificationDashboardActivity"
                   android:label="@string/app_and_notification_dashboard_title"
-                  android:icon="@drawable/ic_settings_applications">
+                  android:icon="@drawable/ic_apps">
             <intent-filter android:priority="9">
                 <action android:name="com.android.settings.action.SETTINGS"/>
             </intent-filter>
@@ -3091,7 +3113,7 @@
         </activity-alias>
 
         <activity android:name=".Settings$StorageDashboardActivity"
-                  android:label="@string/storage_settings_2"
+                  android:label="@string/storage_settings"
                   android:icon="@drawable/ic_settings_storage">
             <intent-filter android:priority="5">
                 <action android:name="com.android.settings.action.SETTINGS" />
@@ -3099,7 +3121,7 @@
             <meta-data android:name="com.android.settings.category"
                        android:value="com.android.settings.category.ia.homepage" />
             <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
-                       android:value="com.android.settings.deviceinfo.StorageDashboardFragment" />
+                       android:value="com.android.settings.deviceinfo.StorageSettings" />
             <meta-data android:name="com.android.settings.PRIMARY_PROFILE_CONTROLLED"
                        android:value="true" />
         </activity>
@@ -3169,7 +3191,7 @@
 
         <activity android:name=".Settings$SupportDashboardActivity"
                   android:label="@string/page_tab_title_support"
-                  android:icon="@drawable/ic_support_24dp">
+                  android:icon="@drawable/ic_help">
             <intent-filter android:priority="0">
                 <action android:name="com.android.settings.action.SETTINGS"/>
             </intent-filter>
@@ -3337,7 +3359,8 @@
         </activity-alias>
 
         <activity-alias android:name="AppNotificationDashboardAlias"
-                        android:targetActivity="Settings$NotificationAppListActivity">
+                        android:targetActivity="Settings$NotificationAppListActivity"
+                        android:icon="@drawable/ic_notifications">
             <intent-filter android:priority="150">
                 <action android:name="com.android.settings.action.SETTINGS"/>
             </intent-filter>
@@ -3345,6 +3368,7 @@
                        android:value="com.android.settings.category.ia.apps"/>
             <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
                        android:value="com.android.settings.applications.NotificationApps"/>
+
         </activity-alias>
 
         <activity-alias android:name="ConfigureNotificationDashboardAlias"
@@ -3374,7 +3398,7 @@
         <activity-alias android:name="AppDefaultDashboardAlias"
                         android:targetActivity="Settings$AdvancedAppsActivity"
                         android:label="@string/app_default_dashboard_title"
-                        android:icon="@drawable/ic_settings_applications">
+                        android:icon="@drawable/ic_adb">
             <intent-filter android:priority="130">
                 <action android:name="com.android.settings.action.SETTINGS"/>
             </intent-filter>
diff --git a/res/drawable/ic_adb.xml b/res/drawable/ic_adb.xml
new file mode 100644
index 0000000..af28aa1
--- /dev/null
+++ b/res/drawable/ic_adb.xml
@@ -0,0 +1,25 @@
+<!--
+    Copyright (C) 2017 The Android Open Source Project
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+        android:width="24dp"
+        android:height="24dp"
+        android:viewportWidth="24.0"
+        android:viewportHeight="24.0"
+        android:tint="?android:attr/colorControlNormal">
+    <path
+        android:pathData="M5,16c0,3.87 3.13,7 7,7s7,-3.13 7,-7v-4L5,12v4zM16.12,4.37l2.1,-2.1 -0.82,-0.83 -2.3,2.31C14.16,3.28 13.12,3 12,3s-2.16,0.28 -3.09,0.75L6.6,1.44l-0.82,0.83 2.1,2.1C6.14,5.64 5,7.68 5,10v1h14v-1c0,-2.32 -1.14,-4.36 -2.88,-5.63zM9,9c-0.55,0 -1,-0.45 -1,-1s0.45,-1 1,-1 1,0.45 1,1 -0.45,1 -1,1zM15,9c-0.55,0 -1,-0.45 -1,-1s0.45,-1 1,-1 1,0.45 1,1 -0.45,1 -1,1z"
+        android:fillColor="#FFFFFFFF"/>
+</vector>
diff --git a/res/drawable/ic_airplanemode_active.xml b/res/drawable/ic_airplanemode_active.xml
new file mode 100644
index 0000000..5759341
--- /dev/null
+++ b/res/drawable/ic_airplanemode_active.xml
@@ -0,0 +1,28 @@
+<!--
+    Copyright (C) 2017 The Android Open Source Project
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+        android:width="24dp"
+        android:height="24dp"
+        android:viewportWidth="24.0"
+        android:viewportHeight="24.0"
+        android:tint="?android:attr/colorControlNormal">
+    <path
+        android:pathData="M10.18,9"
+        android:fillColor="#FFFFFFFF"/>
+    <path
+        android:pathData="M21,16v-2l-8,-5V3.5c0,-0.83 -0.67,-1.5 -1.5,-1.5S10,2.67 10,3.5V9l-8,5v2l8,-2.5V19l-2,1.5V22l3.5,-1 3.5,1v-1.5L13,19v-5.5l8,2.5z"
+        android:fillColor="#FFFFFFFF"/>
+</vector>
diff --git a/res/drawable/ic_android.xml b/res/drawable/ic_android.xml
new file mode 100644
index 0000000..b9b4075
--- /dev/null
+++ b/res/drawable/ic_android.xml
@@ -0,0 +1,25 @@
+<!--
+    Copyright (C) 2017 The Android Open Source Project
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+        android:width="24dp"
+        android:height="24dp"
+        android:viewportWidth="24.0"
+        android:viewportHeight="24.0"
+        android:tint="?android:attr/colorControlNormal">
+    <path
+        android:pathData="M6,18c0,0.55 0.45,1 1,1h1v3.5c0,0.83 0.67,1.5 1.5,1.5s1.5,-0.67 1.5,-1.5L11,19h2v3.5c0,0.83 0.67,1.5 1.5,1.5s1.5,-0.67 1.5,-1.5L16,19h1c0.55,0 1,-0.45 1,-1L18,8L6,8v10zM3.5,8C2.67,8 2,8.67 2,9.5v7c0,0.83 0.67,1.5 1.5,1.5S5,17.33 5,16.5v-7C5,8.67 4.33,8 3.5,8zM20.5,8c-0.83,0 -1.5,0.67 -1.5,1.5v7c0,0.83 0.67,1.5 1.5,1.5s1.5,-0.67 1.5,-1.5v-7c0,-0.83 -0.67,-1.5 -1.5,-1.5zM15.53,2.16l1.3,-1.3c0.2,-0.2 0.2,-0.51 0,-0.71 -0.2,-0.2 -0.51,-0.2 -0.71,0l-1.48,1.48C13.85,1.23 12.95,1 12,1c-0.96,0 -1.86,0.23 -2.66,0.63L7.85,0.15c-0.2,-0.2 -0.51,-0.2 -0.71,0 -0.2,0.2 -0.2,0.51 0,0.71l1.31,1.31C6.97,3.26 6,5.01 6,7h12c0,-1.99 -0.97,-3.75 -2.47,-4.84zM10,5L9,5L9,4h1v1zM15,5h-1L14,4h1v1z"
+        android:fillColor="#FFFFFFFF"/>
+</vector>
diff --git a/res/drawable/ic_devices_other.xml b/res/drawable/ic_devices_other.xml
new file mode 100644
index 0000000..20639a3
--- /dev/null
+++ b/res/drawable/ic_devices_other.xml
@@ -0,0 +1,25 @@
+<!--
+    Copyright (C) 2017 The Android Open Source Project
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+        android:width="24dp"
+        android:height="24dp"
+        android:viewportWidth="24.0"
+        android:viewportHeight="24.0"
+        android:tint="?android:attr/colorControlNormal">
+    <path
+        android:pathData="M3,6h18L21,4L3,4c-1.1,0 -2,0.9 -2,2v12c0,1.1 0.9,2 2,2h4v-2L3,18L3,6zM13,12L9,12v1.78c-0.61,0.55 -1,1.33 -1,2.22s0.39,1.67 1,2.22L9,20h4v-1.78c0.61,-0.55 1,-1.34 1,-2.22s-0.39,-1.67 -1,-2.22L13,12zM11,17.5c-0.83,0 -1.5,-0.67 -1.5,-1.5s0.67,-1.5 1.5,-1.5 1.5,0.67 1.5,1.5 -0.67,1.5 -1.5,1.5zM22,8h-6c-0.5,0 -1,0.5 -1,1v10c0,0.5 0.5,1 1,1h6c0.5,0 1,-0.5 1,-1L23,9c0,-0.5 -0.5,-1 -1,-1zM21,18h-4v-8h4v8z"
+        android:fillColor="#FFFFFFFF"/>
+</vector>
diff --git a/res/drawable/ic_help.xml b/res/drawable/ic_help.xml
new file mode 100644
index 0000000..7a225e5
--- /dev/null
+++ b/res/drawable/ic_help.xml
@@ -0,0 +1,25 @@
+<!--
+    Copyright (C) 2017 The Android Open Source Project
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+        android:width="24dp"
+        android:height="24dp"
+        android:viewportWidth="24.0"
+        android:viewportHeight="24.0"
+        android:tint="?android:attr/colorControlNormal">
+    <path
+        android:pathData="M12,2C6.48,2 2,6.48 2,12s4.48,10 10,10 10,-4.48 10,-10S17.52,2 12,2zM13,19h-2v-2h2v2zM15.07,11.25l-0.9,0.92C13.45,12.9 13,13.5 13,15h-2v-0.5c0,-1.1 0.45,-2.1 1.17,-2.83l1.24,-1.26c0.37,-0.36 0.59,-0.86 0.59,-1.41 0,-1.1 -0.9,-2 -2,-2s-2,0.9 -2,2L8,9c0,-2.21 1.79,-4 4,-4s4,1.79 4,4c0,0.88 -0.36,1.68 -0.93,2.25z"
+        android:fillColor="#FFFFFFFF"/>
+</vector>
diff --git a/res/drawable/ic_menu_add_white.xml b/res/drawable/ic_menu_add_white.xml
index 9a06d5c..25a8ff0 100644
--- a/res/drawable/ic_menu_add_white.xml
+++ b/res/drawable/ic_menu_add_white.xml
@@ -15,11 +15,13 @@
      limitations under the License.
 -->
 
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
     android:width="24dp"
     android:height="24dp"
     android:viewportWidth="24.0"
-    android:viewportHeight="24.0">
+    android:viewportHeight="24.0"
+    android:tint="?android:attr/colorControlNormal">
     <path
         android:fillColor="#FFFFFFFF"
         android:pathData="M19,13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"/>
diff --git a/res/drawable/ic_network_cell.xml b/res/drawable/ic_network_cell.xml
new file mode 100644
index 0000000..cc3c633
--- /dev/null
+++ b/res/drawable/ic_network_cell.xml
@@ -0,0 +1,29 @@
+<!--
+    Copyright (C) 2017 The Android Open Source Project
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+        android:width="24dp"
+        android:height="24dp"
+        android:viewportWidth="24.0"
+        android:viewportHeight="24.0"
+        android:tint="?android:attr/colorControlNormal">
+    <path
+        android:pathData="M2,22h20V2z"
+        android:fillAlpha=".3"
+        android:fillColor="#FFFFFFFF"/>
+    <path
+        android:pathData="M17,7L2,22h15z"
+        android:fillColor="#FFFFFFFF"/>
+</vector>
diff --git a/res/drawable/ic_nfc.xml b/res/drawable/ic_nfc.xml
new file mode 100644
index 0000000..d9321ac
--- /dev/null
+++ b/res/drawable/ic_nfc.xml
@@ -0,0 +1,25 @@
+<!--
+    Copyright (C) 2017 The Android Open Source Project
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+        android:width="24dp"
+        android:height="24dp"
+        android:viewportWidth="24.0"
+        android:viewportHeight="24.0"
+        android:tint="?android:attr/colorControlNormal">
+    <path
+        android:pathData="M20,2L4,2c-1.1,0 -2,0.9 -2,2v16c0,1.1 0.9,2 2,2h16c1.1,0 2,-0.9 2,-2L22,4c0,-1.1 -0.9,-2 -2,-2zM20,20L4,20L4,4h16v16zM18,6h-5c-1.1,0 -2,0.9 -2,2v2.28c-0.6,0.35 -1,0.98 -1,1.72 0,1.1 0.9,2 2,2s2,-0.9 2,-2c0,-0.74 -0.4,-1.38 -1,-1.72L13,8h3v8L8,16L8,8h2L10,6L6,6v12h12L18,6z"
+        android:fillColor="#FFFFFFFF"/>
+</vector>
diff --git a/res/drawable/ic_notifications.xml b/res/drawable/ic_notifications.xml
new file mode 100644
index 0000000..ec2422d
--- /dev/null
+++ b/res/drawable/ic_notifications.xml
@@ -0,0 +1,25 @@
+<!--
+    Copyright (C) 2017 The Android Open Source Project
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+        android:width="24dp"
+        android:height="24dp"
+        android:viewportWidth="24.0"
+        android:viewportHeight="24.0"
+        android:tint="?android:attr/colorControlNormal">
+    <path
+        android:pathData="M12,22c1.1,0 2,-0.9 2,-2h-4c0,1.1 0.89,2 2,2zM18,16v-5c0,-3.07 -1.64,-5.64 -4.5,-6.32L13.5,4c0,-0.83 -0.67,-1.5 -1.5,-1.5s-1.5,0.67 -1.5,1.5v0.68C7.63,5.36 6,7.92 6,11v5l-2,2v1h16v-1l-2,-2z"
+        android:fillColor="#FFFFFFFF"/>
+</vector>
diff --git a/res/drawable/ic_settings_backup_restore.xml b/res/drawable/ic_settings_backup_restore.xml
new file mode 100644
index 0000000..245b0fc
--- /dev/null
+++ b/res/drawable/ic_settings_backup_restore.xml
@@ -0,0 +1,25 @@
+<!--
+    Copyright (C) 2017 The Android Open Source Project
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+        android:width="24dp"
+        android:height="24dp"
+        android:viewportWidth="24.0"
+        android:viewportHeight="24.0"
+        android:tint="?android:attr/colorControlNormal">
+    <path
+        android:pathData="M14,12c0,-1.1 -0.9,-2 -2,-2s-2,0.9 -2,2 0.9,2 2,2 2,-0.9 2,-2zM12,3c-4.97,0 -9,4.03 -9,9L0,12l4,4 4,-4L5,12c0,-3.87 3.13,-7 7,-7s7,3.13 7,7 -3.13,7 -7,7c-1.51,0 -2.91,-0.49 -4.06,-1.3l-1.42,1.44C8.04,20.3 9.94,21 12,21c4.97,0 9,-4.03 9,-9s-4.03,-9 -9,-9z"
+        android:fillColor="#FFFFFFFF"/>
+</vector>
diff --git a/res/drawable/ic_usb.xml b/res/drawable/ic_usb.xml
new file mode 100644
index 0000000..8b9f759
--- /dev/null
+++ b/res/drawable/ic_usb.xml
@@ -0,0 +1,25 @@
+<!--
+    Copyright (C) 2017 The Android Open Source Project
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+        android:width="24dp"
+        android:height="24dp"
+        android:viewportWidth="24.0"
+        android:viewportHeight="24.0"
+        android:tint="?android:attr/colorControlNormal">
+    <path
+        android:pathData="M15,7v4h1v2h-3V5h2l-3,-4 -3,4h2v8H8v-2.07c0.7,-0.37 1.2,-1.08 1.2,-1.93 0,-1.21 -0.99,-2.2 -2.2,-2.2 -1.21,0 -2.2,0.99 -2.2,2.2 0,0.85 0.5,1.56 1.2,1.93V13c0,1.11 0.89,2 2,2h3v3.05c-0.71,0.37 -1.2,1.1 -1.2,1.95 0,1.22 0.99,2.2 2.2,2.2 1.21,0 2.2,-0.98 2.2,-2.2 0,-0.85 -0.49,-1.58 -1.2,-1.95V15h3c1.11,0 2,-0.89 2,-2v-2h1V7h-4z"
+        android:fillColor="#FFFFFFFF"/>
+</vector>
diff --git a/res/drawable/ic_vpn_key.xml b/res/drawable/ic_vpn_key.xml
new file mode 100644
index 0000000..aad1096
--- /dev/null
+++ b/res/drawable/ic_vpn_key.xml
@@ -0,0 +1,25 @@
+<!--
+    Copyright (C) 2017 The Android Open Source Project
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+        android:width="24dp"
+        android:height="24dp"
+        android:viewportWidth="24.0"
+        android:viewportHeight="24.0"
+        android:tint="?android:attr/colorControlNormal">
+    <path
+        android:pathData="M12.65,10C11.83,7.67 9.61,6 7,6c-3.31,0 -6,2.69 -6,6s2.69,6 6,6c2.61,0 4.83,-1.67 5.65,-4H17v4h4v-4h2v-4H12.65zM7,14c-1.1,0 -2,-0.9 -2,-2s0.9,-2 2,-2 2,0.9 2,2 -0.9,2 -2,2z"
+        android:fillColor="#FFFFFFFF"/>
+</vector>
diff --git a/res/drawable/ic_wifi_tethering.xml b/res/drawable/ic_wifi_tethering.xml
new file mode 100644
index 0000000..359da5f
--- /dev/null
+++ b/res/drawable/ic_wifi_tethering.xml
@@ -0,0 +1,25 @@
+<!--
+    Copyright (C) 2017 The Android Open Source Project
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+        android:width="24dp"
+        android:height="24dp"
+        android:viewportWidth="24.0"
+        android:viewportHeight="24.0"
+        android:tint="?android:attr/colorControlNormal">
+    <path
+        android:pathData="M12,11c-1.1,0 -2,0.9 -2,2s0.9,2 2,2 2,-0.9 2,-2 -0.9,-2 -2,-2zM18,13c0,-3.31 -2.69,-6 -6,-6s-6,2.69 -6,6c0,2.22 1.21,4.15 3,5.19l1,-1.74c-1.19,-0.7 -2,-1.97 -2,-3.45 0,-2.21 1.79,-4 4,-4s4,1.79 4,4c0,1.48 -0.81,2.75 -2,3.45l1,1.74c1.79,-1.04 3,-2.97 3,-5.19zM12,3C6.48,3 2,7.48 2,13c0,3.7 2.01,6.92 4.99,8.65l1,-1.73C5.61,18.53 4,15.96 4,13c0,-4.42 3.58,-8 8,-8s8,3.58 8,8c0,2.96 -1.61,5.53 -4,6.92l1,1.73c2.99,-1.73 5,-4.95 5,-8.65 0,-5.52 -4.48,-10 -10,-10z"
+        android:fillColor="#FFFFFFFF"/>
+</vector>
diff --git a/res/layout/storage_summary_donut.xml b/res/layout/storage_summary_donut.xml
index 9cffe69..eadb6e5 100644
--- a/res/layout/storage_summary_donut.xml
+++ b/res/layout/storage_summary_donut.xml
@@ -14,47 +14,74 @@
      limitations under the License.
 -->
 
-<!-- TODO: Update this view to not match the existing storage summary.-->
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
-              android:layout_width="match_parent"
-              android:layout_height="wrap_content"
-              android:orientation="vertical"
-              android:minHeight="?android:attr/listPreferredItemHeightSmall"
-              android:gravity="center_vertical"
-              android:paddingStart="@dimen/preference_no_icon_padding_start"
-              android:paddingEnd="?android:attr/listPreferredItemPaddingEnd"
-              android:paddingTop="16dip"
-              android:paddingBottom="16dip"
-              android:background="?android:attr/selectableItemBackground">
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:background="?android:attr/selectableItemBackground"
+    android:gravity="center_vertical"
+    android:orientation="horizontal" >
 
-    <TextView
-        android:id="@android:id/title"
-        android:layout_width="wrap_content"
+    <LinearLayout
+        android:layout_width="0dp"
         android:layout_height="wrap_content"
-        android:singleLine="true"
-        android:textAlignment="viewStart"
-        android:textAppearance="@android:style/TextAppearance.Material.Subhead"
-        android:textColor="?android:attr/colorAccent"
-        android:textSize="36sp"
-        android:ellipsize="marquee"
-        android:fadingEdge="horizontal" />
+        android:layout_weight="1"
+        android:enabled="false"
+        android:gravity="center_vertical"
+        android:minHeight="?android:attr/listPreferredItemHeightSmall"
+        android:orientation="vertical"
+        android:paddingStart="@dimen/preference_no_icon_padding_start"
+        android:paddingEnd="@dimen/storage_summary_padding_end"
+        android:paddingTop="16dp"
+        android:paddingBottom="16dp" >
 
-    <TextView
-        android:id="@android:id/summary"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:textAlignment="viewStart"
-        android:textAppearance="@android:style/TextAppearance.Material.Body1"
-        android:maxLines="10" />
+        <TextView
+            android:id="@android:id/title"
+            android:ellipsize="marquee"
+            android:fadingEdge="horizontal"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:singleLine="true"
+            android:textAlignment="viewStart"
+            android:textAppearance="@android:style/TextAppearance.Material.Subhead"
+            android:textColor="?android:attr/colorAccent"
+            android:textSize="36sp" />
 
-    <ProgressBar
-        android:id="@android:id/progress"
-        android:layout_width="match_parent"
-        android:layout_height="8dp"
-        android:layout_marginTop="16dp"
-        android:layout_marginBottom="8dp"
-        android:visibility="gone"
-        android:max="100"
-        style="?android:attr/progressBarStyleHorizontal" />
+        <TextView
+            android:id="@android:id/summary"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_marginStart="4dp"
+            android:layout_marginEnd="4dp"
+            android:maxLines="10"
+            android:textAlignment="viewStart"
+            android:textAppearance="@android:style/TextAppearance.Material.Body1" />
+
+        <TextView
+            android:id="@+id/storage_manager_indicator"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_marginStart="4dp"
+            android:layout_marginEnd="4dp"
+            android:textAlignment="viewStart"
+            android:textAppearance="@android:style/TextAppearance.Material.Body1"/>
+
+        <Button
+            android:id="@+id/deletion_helper_button"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_below="@android:id/summary"
+            android:text="@string/storage_menu_free"
+            style="@android:style/@Widget.Material.Button.Colored" />
+    </LinearLayout>
+
+    <com.android.settings.widget.DonutView
+        android:id="@+id/donut"
+        android:layout_width="100dp"
+        android:layout_height="100dp"
+        android:layout_marginEnd="48dp"
+        android:gravity="end|center_vertical"
+        android:minWidth="58dp"
+        android:paddingStart="?android:attr/listPreferredItemPaddingStart"
+        android:paddingEnd="?android:attr/listPreferredItemPaddingEnd" />
 
 </LinearLayout>
diff --git a/res/layout/system_info_list_item.xml b/res/layout/system_info_list_item.xml
new file mode 100644
index 0000000..37806bd
--- /dev/null
+++ b/res/layout/system_info_list_item.xml
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2017 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:minHeight="?android:attr/listPreferredItemHeight"
+    android:orientation="vertical"
+    android:paddingStart="?android:attr/dialogPreferredPadding"
+    android:paddingEnd="?android:attr/dialogPreferredPadding"
+    android:paddingTop="8dp"
+    android:paddingBottom="8dp">
+    <TextView
+        android:id="@+id/title"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:singleLine="true"
+        android:textAppearance="?android:attr/textAppearanceMedium"
+        android:ellipsize="marquee"
+        android:fadingEdge="horizontal"/>
+    <TextView
+        android:id="@+id/summary"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_below="@id/title"
+        android:layout_alignStart="@id/title"
+        android:textAppearance="?android:attr/textAppearanceSmall"
+        android:textColor="?android:attr/textColorSecondary"
+        android:maxLines="4"/>
+</LinearLayout>
diff --git a/res/values-af/strings.xml b/res/values-af/strings.xml
index 601e75f..51e8b58 100644
--- a/res/values-af/strings.xml
+++ b/res/values-af/strings.xml
@@ -658,7 +658,7 @@
     <string name="android_beam_off_summary" msgid="4663095428454779138">"Af"</string>
     <string name="android_beam_disabled_summary" msgid="1737782116894793393">"Onbeskikbaar omdat NFC afgeskakel is"</string>
     <string name="android_beam_label" msgid="6257036050366775040">"Android Beam"</string>
-    <string name="android_beam_explained" msgid="1828555626055290684">"Wanneer hierdie kenmerk aangeskakel is, kan jy programinhoud na ander toestelle met NFC-vermoë straal deur die toestelle naby mekaar te hou. Byvoorbeeld, jy kan blaaierbladsye, YouTube-video\'s, Mense-kontakte en meer straal.\n\nHou net die toestelle saam (gewoonlik rug aan rug) en tik dan op jou skerm. Die program bepaal wat gestraal word."</string>
+    <string name="android_beam_explained" msgid="1810540319385192758">"Wanneer hierdie kenmerk aangeskakel is, kan jy programinhoud na \'n ander toestel met NFC-vermoë straal deur die toestelle na aan mekaar te hou. Jy kan byvoorbeeld webbladsye, YouTube-video\'s, kontakte en meer straal.\n\nHou eenvoudig die toestelle bymekaar (gewoonlik rug aan rug) en tik dan op jou skerm. Die program bepaal wat gestraal word."</string>
     <string name="wifi_quick_toggle_title" msgid="8850161330437693895">"Wi-Fi"</string>
     <string name="wifi_quick_toggle_summary" msgid="2696547080481267642">"Skakel Wi-Fi aan"</string>
     <string name="wifi_settings" msgid="29722149822540994">"Wi-Fi"</string>
@@ -2581,6 +2581,7 @@
     <string name="keywords_profile_challenge" msgid="789611397846512845">"werkuitdaging, werk, profiel"</string>
     <string name="keywords_unification" msgid="1922900767659821025">"werkprofiel, bestuurde profiel, verenig, vereniging, werk, profiel"</string>
     <string name="keywords_gesture" msgid="5696040361482126337">"gebaar"</string>
+    <string name="keywords_payment_settings" msgid="5220104934130446416">"betaal, tik, betalings"</string>
     <string name="setup_wifi_nfc_tag" msgid="9028353016222911016">"Stel Wi-Fi-NFC-merker op"</string>
     <string name="write_tag" msgid="8571858602896222537">"Skryf"</string>
     <string name="status_awaiting_tap" msgid="2130145523773160617">"Tik \'n merker om te skryf …"</string>
@@ -2802,7 +2803,7 @@
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2232461523882170874">"Hierdie werkprofiel word bestuur deur:"</string>
     <string name="managing_admin" msgid="8843802210377459055">"Bestuur deur <xliff:g id="ADMIN_APP_LABEL">%s</xliff:g>"</string>
     <string name="experimental_preference" msgid="7083015446690681376">"(Eksperimenteel)"</string>
-    <string name="display_auto_rotate_title" msgid="6176450657107806043">"Wanneer toestel gedraai word"</string>
+    <string name="display_auto_rotate_title" msgid="7119684966039069439">"Toestelrotasie"</string>
     <string name="display_auto_rotate_rotate" msgid="4544299861233497728">"Draai die skerm se inhoud"</string>
     <string name="display_auto_rotate_stay_in_portrait" msgid="292745182318093651">"Bly in portretaansig"</string>
     <string name="display_auto_rotate_stay_in_landscape" msgid="3804752830204062162">"Bly in landskapaansig"</string>
@@ -3192,6 +3193,8 @@
     <string name="page_tab_title_support" msgid="6330657582897417458">"Steundiens"</string>
     <string name="developer_density_summary" msgid="1998244213021456519">"<xliff:g id="ID_1">%d</xliff:g> dp"</string>
     <string name="developer_smallest_width" msgid="7516950434587313360">"Kleinste breedte"</string>
+    <string name="developer_tile" msgid="4822711696408279658">"Ontwikkelingmodus"</string>
+    <string name="developer_tile_unavailable" msgid="6559656549479711827">"Geen aktiewe staat is gekies nie"</string>
     <string name="premium_sms_none" msgid="8268105565738040566">"Geen geïnstalleerde programme het toegang tot betaalde SMS\'e versoek nie"</string>
     <string name="premium_sms_warning" msgid="9086859595338944882">"Betaalde SMS\'e kan jou geld kos en die koste sal by jou diensverskafferfakture gevoeg word. As jy toestemming vir \'n program aktiveer, sal jy betaalde SMS\'e met daardie program kan stuur."</string>
     <string name="premium_sms_access" msgid="4660047004791638305">"Toegang tot betaalde SMS\'e"</string>
@@ -3313,4 +3316,16 @@
     <string name="enterprise_privacy_bug_reports" msgid="4762460041705169944">"Jou mees onlangse foutverslag"</string>
     <string name="enterprise_privacy_security_logs" msgid="3648730027522011684">"Jou mees onlangse sekuriteitloglêer"</string>
     <string name="enterprise_privacy_never" msgid="1304035596746436921">"Nooit"</string>
+    <string name="storage_photos_videos" msgid="1872663116054954685">"Foto\'s en video\'s"</string>
+    <string name="storage_music_audio" msgid="7890103397813503615">"Musiek en oudio"</string>
+    <string name="storage_games" msgid="7703159201697117621">"Speletjies"</string>
+    <string name="storage_other_apps" msgid="5524321740031718083">"Ander programme"</string>
+    <string name="storage_files" msgid="8581083146777364063">"Lêers"</string>
+    <string name="storage_settings_2" msgid="6369810699930056554">"Foonberging"</string>
+    <!-- no translation found for storage_size_large_alternate (3436941214395940966) -->
+    <skip />
+    <!-- no translation found for storage_volume_free (8829609507318832879) -->
+    <skip />
+    <!-- no translation found for storage_percent_used (6741397129281819921) -->
+    <skip />
 </resources>
diff --git a/res/values-am/strings.xml b/res/values-am/strings.xml
index 5653769..4f95a41 100644
--- a/res/values-am/strings.xml
+++ b/res/values-am/strings.xml
@@ -658,7 +658,7 @@
     <string name="android_beam_off_summary" msgid="4663095428454779138">"ጠፍቷል"</string>
     <string name="android_beam_disabled_summary" msgid="1737782116894793393">"NFC ስለጠፋ ማግኘት አይቻልም"</string>
     <string name="android_beam_label" msgid="6257036050366775040">"Android Beam"</string>
-    <string name="android_beam_explained" msgid="1828555626055290684">"ይህ ባሕሪ ሲበራ መሣሪያዎቹን አንድ ላይ አቀራርቦ በመያዝ የመተግበሪያ ይዘት NFC ወዳለው ሌላ መሣሪያ በሞገድ መላክ ይችላሉ። ለምሳሌ፣ የአሳሽ ገጾችን፣ የYouTube ቪዲዮዎችን፣ የሰዎች ዕውቂያዎችን እና በተጨማሪ ነገሮችን በሞገድ መላክ ይችላሉ።\n\nበቀላሉ መሣሪያዎቹን አንድ ላይ ይያዟቸው (በተለይ ጀርባ ለጀርባ) እና ማያ ገጽዎን ነካ ያድርጉ። መተግበሪያው ምን በሞገድ እንደሚላክ ይወስናል።"</string>
+    <string name="android_beam_explained" msgid="1810540319385192758">"ይህ ባህሪ ሲበራ መሣሪያዎቹን አንድ ላይ አቀራርቦ በመያዝ የመተግበሪያ ይዘት ወደ ሌላ NFC ያለው መሣሪያ በሞገድ ማስተላለፍ ይችላሉ። ለምሳሌ፣ ድረ-ገጾችን፣ YouTube ቪዲዮዎችን፣ የሰዎች ዕውቂያዎችን፣ እና በተጨማሪ ነገሮችን በሞገድ ማስተላለፍ ይችላሉ።\n\nበቀላሉ መሣሪያዎቹን አንድ ላይ ያምጧቸው (በተለምዶ ጀርባ ለጀርባ) ከዚያ ማያ ገጽዎን መታ ያድርጉ። መተግበሪያው ምን በሞገድ እንደሚተላለፍ ይወስናል።"</string>
     <string name="wifi_quick_toggle_title" msgid="8850161330437693895">"Wi‑Fi"</string>
     <string name="wifi_quick_toggle_summary" msgid="2696547080481267642">"Wi-Fi ያብሩ"</string>
     <string name="wifi_settings" msgid="29722149822540994">"Wi‑Fi"</string>
@@ -2581,6 +2581,7 @@
     <string name="keywords_profile_challenge" msgid="789611397846512845">"የስራ ፈተና፣ ስራ፣ መገለጫ"</string>
     <string name="keywords_unification" msgid="1922900767659821025">"የሥራ መገለጫ፣ የሚተዳደር መገለጫ፣ አዋህድ፣ ውህደት፣ ሥራ፣ መገለጫ"</string>
     <string name="keywords_gesture" msgid="5696040361482126337">"የጣት ምልክት"</string>
+    <string name="keywords_payment_settings" msgid="5220104934130446416">"ይክፈሉ፣ መታ ያድርጉ፣ ክፍያዎች"</string>
     <string name="setup_wifi_nfc_tag" msgid="9028353016222911016">"የWi-Fi NFC መለያ ያዋቅሩ"</string>
     <string name="write_tag" msgid="8571858602896222537">"ጻፍ"</string>
     <string name="status_awaiting_tap" msgid="2130145523773160617">"ለመጻፍ አንድ መለያ መታ ያድርጉ..."</string>
@@ -2802,7 +2803,7 @@
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2232461523882170874">"ይህ የስራ መገለጫ የሚቀናበረው በ፦"</string>
     <string name="managing_admin" msgid="8843802210377459055">"በ<xliff:g id="ADMIN_APP_LABEL">%s</xliff:g> የሚቀናበር"</string>
     <string name="experimental_preference" msgid="7083015446690681376">"(የሙከራ)"</string>
-    <string name="display_auto_rotate_title" msgid="6176450657107806043">"መሣሪያው ሲዞር"</string>
+    <string name="display_auto_rotate_title" msgid="7119684966039069439">"የመሣሪያ ዙረት"</string>
     <string name="display_auto_rotate_rotate" msgid="4544299861233497728">"የማያ ገጹን ይዘቶች ያዙሩ"</string>
     <string name="display_auto_rotate_stay_in_portrait" msgid="292745182318093651">"በቁም እይታ ላይ ቆይ"</string>
     <string name="display_auto_rotate_stay_in_landscape" msgid="3804752830204062162">"በወርድ እይታ ላይ ቆይ"</string>
@@ -3192,6 +3193,8 @@
     <string name="page_tab_title_support" msgid="6330657582897417458">"ድጋፍ"</string>
     <string name="developer_density_summary" msgid="1998244213021456519">"<xliff:g id="ID_1">%d</xliff:g> ዲፒ"</string>
     <string name="developer_smallest_width" msgid="7516950434587313360">"አነስተኛ ስፋት"</string>
+    <string name="developer_tile" msgid="4822711696408279658">"የግንባታ ሁነታ"</string>
+    <string name="developer_tile_unavailable" msgid="6559656549479711827">"ምንም ገቢር ሁኔታ አልተመረጠም"</string>
     <string name="premium_sms_none" msgid="8268105565738040566">"ምንም የተጫኑ መተግበሪያዎች የፕሪሚየም ኤስኤምኤስ መዳረሻ አልጠየቁም"</string>
     <string name="premium_sms_warning" msgid="9086859595338944882">"ፕሪሚየም ኤስኤምኤስ ውድ ገንዘብ ሊያስወጣዎት ይችላል፣ እና በአገልግሎት አቅራቢ ክፍያዎ ላይ ሒሳብ ያስጨምርብዎታል። ለመተግበሪያ ፈቃድን ካነቁ ያንን መተግበሪያ በመጠቀም ፕሪሚየም ኤስኤምኤስ መላክ ይችላሉ።"</string>
     <string name="premium_sms_access" msgid="4660047004791638305">"የፕሪሚየም ኤስኤምኤስ መዳረሻ"</string>
@@ -3313,4 +3316,16 @@
     <string name="enterprise_privacy_bug_reports" msgid="4762460041705169944">"የእርስዎ በጣም ቅርብ ጊዜ የሳንካ ሪፖርት"</string>
     <string name="enterprise_privacy_security_logs" msgid="3648730027522011684">"የእርስዎ የበጣም ቅርብ ጊዜ የደህንነት ምዝግብ ማስታወሻ"</string>
     <string name="enterprise_privacy_never" msgid="1304035596746436921">"በጭራሽ"</string>
+    <string name="storage_photos_videos" msgid="1872663116054954685">"ፎቶዎች እና ቪዲዮዎች"</string>
+    <string name="storage_music_audio" msgid="7890103397813503615">"ሙዚቃ እና ኦዲዮ"</string>
+    <string name="storage_games" msgid="7703159201697117621">"ጨዋታዎች"</string>
+    <string name="storage_other_apps" msgid="5524321740031718083">"ሌሎች መተግበሪያዎች"</string>
+    <string name="storage_files" msgid="8581083146777364063">"ፋይሎች"</string>
+    <string name="storage_settings_2" msgid="6369810699930056554">"የስልክ ማከማቻ"</string>
+    <!-- no translation found for storage_size_large_alternate (3436941214395940966) -->
+    <skip />
+    <!-- no translation found for storage_volume_free (8829609507318832879) -->
+    <skip />
+    <!-- no translation found for storage_percent_used (6741397129281819921) -->
+    <skip />
 </resources>
diff --git a/res/values-ar/strings.xml b/res/values-ar/strings.xml
index d2056f5..930eeda 100644
--- a/res/values-ar/strings.xml
+++ b/res/values-ar/strings.xml
@@ -694,7 +694,7 @@
     <string name="android_beam_off_summary" msgid="4663095428454779138">"إيقاف"</string>
     <string name="android_beam_disabled_summary" msgid="1737782116894793393">"‏غير متوفر بسبب إيقاف تشغيل NFC"</string>
     <string name="android_beam_label" msgid="6257036050366775040">"Android Beam"</string>
-    <string name="android_beam_explained" msgid="1828555626055290684">"‏عندما يتم تشغيل هذه الميزة، يمكنك إرسال محتوى التطبيق إلى جهاز به اتصال NFC عن طريق الإمساك بالجهازين بالقرب من بعضهما. ويمكنك على سبيل المثال إرسال صفحات المتصفح ومقاطع فيديو YouTube وجهات اتصال الأشخاص، والمزيد.\n\nما عليك سوى الجمع بين الجهازين (من الخلف عادة) والنقر على الشاشة. وسيحدد التطبيق ما يتم إرساله."</string>
+    <string name="android_beam_explained" msgid="1810540319385192758">"‏عندما يتم تشغيل هذه الميزة، يمكنك إرسال محتوى التطبيق إلى جهاز به اتصال NFC عن طريق الإمساك بالجهازين بالقرب من بعضهما. ويمكنك على سبيل المثال إرسال صفحات الويب ومقاطع فيديو YouTube وجهات اتصال الأشخاص، والمزيد.\n\nما عليك سوى الجمع بين الجهازين (من الخلف عادة) والنقر على الشاشة. وسيحدد التطبيق ما يتم إرساله."</string>
     <string name="wifi_quick_toggle_title" msgid="8850161330437693895">"Wi‑Fi"</string>
     <string name="wifi_quick_toggle_summary" msgid="2696547080481267642">"‏تشغيل شبكة Wi-Fi"</string>
     <string name="wifi_settings" msgid="29722149822540994">"Wi‑Fi"</string>
@@ -2669,6 +2669,7 @@
     <string name="keywords_profile_challenge" msgid="789611397846512845">"المنافسة في العمل، عمل، ملف شخصي"</string>
     <string name="keywords_unification" msgid="1922900767659821025">"الملف الشخصي للعمل، ملف شخصي مُدار، يوحِّد، توحيد، عمل، ملف شخصي"</string>
     <string name="keywords_gesture" msgid="5696040361482126337">"إيماءة"</string>
+    <string name="keywords_payment_settings" msgid="5220104934130446416">"دفع، نقر، دفعات"</string>
     <string name="setup_wifi_nfc_tag" msgid="9028353016222911016">"‏إعداد علامة NFC عبر Wi-Fi"</string>
     <string name="write_tag" msgid="8571858602896222537">"كتابة"</string>
     <string name="status_awaiting_tap" msgid="2130145523773160617">"انقر على كلمة علامة لكتابة..."</string>
@@ -2902,7 +2903,7 @@
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2232461523882170874">"تتم إدارة الملف الشخصي للعمل هذا بواسطة:"</string>
     <string name="managing_admin" msgid="8843802210377459055">"يديرها <xliff:g id="ADMIN_APP_LABEL">%s</xliff:g>"</string>
     <string name="experimental_preference" msgid="7083015446690681376">"(تجريبي)"</string>
-    <string name="display_auto_rotate_title" msgid="6176450657107806043">"أوقات تدوير الجهاز"</string>
+    <string name="display_auto_rotate_title" msgid="7119684966039069439">"تدوير الجهاز"</string>
     <string name="display_auto_rotate_rotate" msgid="4544299861233497728">"تدوير محتويات الشاشة"</string>
     <string name="display_auto_rotate_stay_in_portrait" msgid="292745182318093651">"الاحتفاظ بالعرض العمودي"</string>
     <string name="display_auto_rotate_stay_in_landscape" msgid="3804752830204062162">"الاحتفاظ بالعرض الأفقي"</string>
@@ -3320,6 +3321,8 @@
     <string name="page_tab_title_support" msgid="6330657582897417458">"الدعم"</string>
     <string name="developer_density_summary" msgid="1998244213021456519">"<xliff:g id="ID_1">%d</xliff:g> dp"</string>
     <string name="developer_smallest_width" msgid="7516950434587313360">"أصغر عرض"</string>
+    <string name="developer_tile" msgid="4822711696408279658">"وضع التطوير"</string>
+    <string name="developer_tile_unavailable" msgid="6559656549479711827">"لم يتم تحديد حالة نشطة"</string>
     <string name="premium_sms_none" msgid="8268105565738040566">"‏لم تطلب أي تطبيقات مثبَّتة إمكانية إرسال رسائل قصيرة SMS للخدمات."</string>
     <string name="premium_sms_warning" msgid="9086859595338944882">"‏يمكن أن تكلفك الرسائل القصيرة SMS للخدمات بعض الرسوم، وستتم إضافة هذه الرسوم إلى فواتير مشغِّل شبكة الجوّال. وفي حالة تمكين الإذن لأحد التطبيقات، ستتمكن من إرسال رسائل قصيرة SMS للخدمات باستخدام هذا التطبيق."</string>
     <string name="premium_sms_access" msgid="4660047004791638305">"‏إمكانية إرسال رسائل قصيرة SMS للخدمات"</string>
@@ -3457,4 +3460,16 @@
     <string name="enterprise_privacy_bug_reports" msgid="4762460041705169944">"أحدث تقرير أخطاء"</string>
     <string name="enterprise_privacy_security_logs" msgid="3648730027522011684">"أحدث سجل أمني"</string>
     <string name="enterprise_privacy_never" msgid="1304035596746436921">"أبدًا"</string>
+    <string name="storage_photos_videos" msgid="1872663116054954685">"الصور ومقاطع الفيديو"</string>
+    <string name="storage_music_audio" msgid="7890103397813503615">"الموسيقى والصوت"</string>
+    <string name="storage_games" msgid="7703159201697117621">"الألعاب"</string>
+    <string name="storage_other_apps" msgid="5524321740031718083">"تطبيقات أخرى"</string>
+    <string name="storage_files" msgid="8581083146777364063">"الملفات"</string>
+    <string name="storage_settings_2" msgid="6369810699930056554">"سعة تخزين الهاتف"</string>
+    <!-- no translation found for storage_size_large_alternate (3436941214395940966) -->
+    <skip />
+    <!-- no translation found for storage_volume_free (8829609507318832879) -->
+    <skip />
+    <!-- no translation found for storage_percent_used (6741397129281819921) -->
+    <skip />
 </resources>
diff --git a/res/values-az-rAZ-nokeys/strings.xml b/res/values-az-rAZ-nokeys/strings.xml
deleted file mode 100644
index 39d62d0..0000000
--- a/res/values-az-rAZ-nokeys/strings.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2007 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.
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="applications_settings_summary" msgid="6616938758022986257">"Tətbiqləri idarə edin"</string>
-</resources>
diff --git a/res/values-az-rAZ/arrays.xml b/res/values-az/arrays.xml
similarity index 100%
rename from res/values-az-rAZ/arrays.xml
rename to res/values-az/arrays.xml
diff --git a/res/values-az-rAZ/strings.xml b/res/values-az/strings.xml
similarity index 99%
rename from res/values-az-rAZ/strings.xml
rename to res/values-az/strings.xml
index db62537..af500e0 100644
--- a/res/values-az-rAZ/strings.xml
+++ b/res/values-az/strings.xml
@@ -658,7 +658,7 @@
     <string name="android_beam_off_summary" msgid="4663095428454779138">"Qapalı"</string>
     <string name="android_beam_disabled_summary" msgid="1737782116894793393">"NFC deaktiv edildiyi üçün əlçatmazdır"</string>
     <string name="android_beam_label" msgid="6257036050366775040">"Android Beam"</string>
-    <string name="android_beam_explained" msgid="1828555626055290684">"Bu özəllik aktivləşdirildiyi zaman Siz cihazları bir-birinə yaxın tutmaqla, NFC uyğun gələn digər cihaza tətbiq məzmununu ötürə bilərsiniz. Misal üçün, Siz Brauzer səhifələrini, YouTube videolarını, Kontaktları və digərlərini ötürə bilərsiniz.\n\nSadəcə cihazları bir-birinə yaxın tutun (adətən arxa-arxaya) və ekrana tıklayın. Nəyin ötürülməsinə tətbiq özü qərar verəcək."</string>
+    <string name="android_beam_explained" msgid="1810540319385192758">"Bu funksiya aktiv edildiyi zaman cihazları bir-birinə yaxın tutmaqla, digər NFC ilə uyğun tətbiq ötürə bilərsiniz. Məsələn, Brauzer səhifələrini, YouTube videolarını, kontaktları və bir çox məlumatları ötürə bilərsiniz.\n\nSadəcə cihazları bir-birinə yaxın tutun (adətən arxa-arxaya) və ekrana toxunun. Nəyin ötürülməsinə tətbiq özü qərar verəcək."</string>
     <string name="wifi_quick_toggle_title" msgid="8850161330437693895">"Wi-Fi"</string>
     <string name="wifi_quick_toggle_summary" msgid="2696547080481267642">"Wi-Fi yandırın"</string>
     <string name="wifi_settings" msgid="29722149822540994">"Wi-Fi"</string>
@@ -2581,6 +2581,7 @@
     <string name="keywords_profile_challenge" msgid="789611397846512845">"iş məşqi, iş, profil"</string>
     <string name="keywords_unification" msgid="1922900767659821025">"iş profili, idarə olunan profil, birləşdirin, birləşmə, iş, profil"</string>
     <string name="keywords_gesture" msgid="5696040361482126337">"jest"</string>
+    <string name="keywords_payment_settings" msgid="5220104934130446416">"ödəyin, tıklayın, ödəmələr"</string>
     <string name="setup_wifi_nfc_tag" msgid="9028353016222911016">"Wi-Fi NFC Teqi quraşdırın"</string>
     <string name="write_tag" msgid="8571858602896222537">"Yazın"</string>
     <string name="status_awaiting_tap" msgid="2130145523773160617">"Tazmaq üçü teqə tıklayın..."</string>
@@ -2802,7 +2803,7 @@
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2232461523882170874">"Bu iş profilini idarə edir:"</string>
     <string name="managing_admin" msgid="8843802210377459055">"<xliff:g id="ADMIN_APP_LABEL">%s</xliff:g> tərəfindən idarə olunur"</string>
     <string name="experimental_preference" msgid="7083015446690681376">"(Eksperimental)"</string>
-    <string name="display_auto_rotate_title" msgid="6176450657107806043">"Cihaz çevrilən zaman"</string>
+    <string name="display_auto_rotate_title" msgid="7119684966039069439">"Cihaz fırlanması"</string>
     <string name="display_auto_rotate_rotate" msgid="4544299861233497728">"Ekranın məzmununu çevirin"</string>
     <string name="display_auto_rotate_stay_in_portrait" msgid="292745182318093651">"Portret görünüşündə qalın"</string>
     <string name="display_auto_rotate_stay_in_landscape" msgid="3804752830204062162">"Landşaft görünüşündə qalın"</string>
@@ -3192,6 +3193,8 @@
     <string name="page_tab_title_support" msgid="6330657582897417458">"Dəstək"</string>
     <string name="developer_density_summary" msgid="1998244213021456519">"<xliff:g id="ID_1">%d</xliff:g> dp"</string>
     <string name="developer_smallest_width" msgid="7516950434587313360">"Ən kiçik en"</string>
+    <string name="developer_tile" msgid="4822711696408279658">"İnkişaf rejimi"</string>
+    <string name="developer_tile_unavailable" msgid="6559656549479711827">"Aktiv status seçilmədi"</string>
     <string name="premium_sms_none" msgid="8268105565738040566">"Heç bir quraşdırılmış tətbiq Premium SMS girişi tələb etməyib"</string>
     <string name="premium_sms_warning" msgid="9086859595338944882">"Premium SMS müəyyən məbləğ tuta bilər və mobil operator fakturasına əlavə oluna bilər. Tətbiq üçün icazəni aktiv etsəniz, həmin tətbiqdən istifadə edərək, Premium SMS göndərə biləcəksiniz."</string>
     <string name="premium_sms_access" msgid="4660047004791638305">"Premium SMS girişi"</string>
@@ -3313,4 +3316,16 @@
     <string name="enterprise_privacy_bug_reports" msgid="4762460041705169944">"Ən son baq hesabatı"</string>
     <string name="enterprise_privacy_security_logs" msgid="3648730027522011684">"Ən son təhlükəsizlik qeydiyyatı"</string>
     <string name="enterprise_privacy_never" msgid="1304035596746436921">"Heç vaxt"</string>
+    <string name="storage_photos_videos" msgid="1872663116054954685">"Foto və Videolar"</string>
+    <string name="storage_music_audio" msgid="7890103397813503615">"Musiqi və Audio"</string>
+    <string name="storage_games" msgid="7703159201697117621">"Oyunlar"</string>
+    <string name="storage_other_apps" msgid="5524321740031718083">"Digər tətbiqlər"</string>
+    <string name="storage_files" msgid="8581083146777364063">"Fayllar"</string>
+    <string name="storage_settings_2" msgid="6369810699930056554">"Telefon Yaddaşı"</string>
+    <!-- no translation found for storage_size_large_alternate (3436941214395940966) -->
+    <skip />
+    <!-- no translation found for storage_volume_free (8829609507318832879) -->
+    <skip />
+    <!-- no translation found for storage_percent_used (6741397129281819921) -->
+    <skip />
 </resources>
diff --git a/res/values-b+sr+Latn/strings.xml b/res/values-b+sr+Latn/strings.xml
index 1340175..b2357d2 100644
--- a/res/values-b+sr+Latn/strings.xml
+++ b/res/values-b+sr+Latn/strings.xml
@@ -667,7 +667,7 @@
     <string name="android_beam_off_summary" msgid="4663095428454779138">"Isključeno"</string>
     <string name="android_beam_disabled_summary" msgid="1737782116894793393">"Nedostupno zato što je NFC isključen"</string>
     <string name="android_beam_label" msgid="6257036050366775040">"Android Beam"</string>
-    <string name="android_beam_explained" msgid="1828555626055290684">"Kada je ova funkcija uključena, možete da prenosite sadržaj aplikacija na drugi uređaj na kome je omogućen NFC tako što ćete približiti uređaje jedan drugome. Na primer, možete da prenosite stranice pregledača, YouTube video snimke, kontakte iz aplikacije Ljudi i još puno toga.\n\nSamo prislonite uređaje jedan na drugi (obično sa zadnje strane), a zatim dodirnite ekran. Aplikacija određuje šta će biti preneto."</string>
+    <string name="android_beam_explained" msgid="1810540319385192758">"Kada je ova funkcija uključena, možete da prebacujete sadržaj aplikacija na drugi uređaj na kome je omogućen NFC tako što ćete približiti uređaje jedan drugome. Na primer, možete da prebacujete veb-stranice, YouTube video snimke, kontakte i još toga.\n\nSamo prislonite uređaje jedan na drugi (obično sa zadnje strane), a zatim dodirnite ekran. Aplikacija određuje šta će biti prebačeno."</string>
     <string name="wifi_quick_toggle_title" msgid="8850161330437693895">"Wi‑Fi"</string>
     <string name="wifi_quick_toggle_summary" msgid="2696547080481267642">"Uključivanje Wi-Fi-ja"</string>
     <string name="wifi_settings" msgid="29722149822540994">"Wi‑Fi"</string>
@@ -2603,6 +2603,7 @@
     <string name="keywords_profile_challenge" msgid="789611397846512845">"work izazov, work, profil"</string>
     <string name="keywords_unification" msgid="1922900767659821025">"profil za Work, profil kojim se upravlja, objedini, objedinjavanje, Work, profil"</string>
     <string name="keywords_gesture" msgid="5696040361482126337">"pokret"</string>
+    <string name="keywords_payment_settings" msgid="5220104934130446416">"platite, dodirnite, plaćanja"</string>
     <string name="setup_wifi_nfc_tag" msgid="9028353016222911016">"Podesite Wi-Fi NFC oznaku"</string>
     <string name="write_tag" msgid="8571858602896222537">"Napiši"</string>
     <string name="status_awaiting_tap" msgid="2130145523773160617">"Dodirnite oznaku da biste pisali..."</string>
@@ -2827,7 +2828,7 @@
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2232461523882170874">"Ovim profilom za Work upravlja:"</string>
     <string name="managing_admin" msgid="8843802210377459055">"Upravlja <xliff:g id="ADMIN_APP_LABEL">%s</xliff:g>"</string>
     <string name="experimental_preference" msgid="7083015446690681376">"(Eksperimentalno)"</string>
-    <string name="display_auto_rotate_title" msgid="6176450657107806043">"Kada se uređaj rotira"</string>
+    <string name="display_auto_rotate_title" msgid="7119684966039069439">"Rotacija uređaja"</string>
     <string name="display_auto_rotate_rotate" msgid="4544299861233497728">"Rotiraj sadržaj ekrana"</string>
     <string name="display_auto_rotate_stay_in_portrait" msgid="292745182318093651">"Zadrži uspravni prikaz"</string>
     <string name="display_auto_rotate_stay_in_landscape" msgid="3804752830204062162">"Zadrži vodoravni prikaz"</string>
@@ -3224,6 +3225,8 @@
     <string name="page_tab_title_support" msgid="6330657582897417458">"Podrška"</string>
     <string name="developer_density_summary" msgid="1998244213021456519">"<xliff:g id="ID_1">%d</xliff:g> dp"</string>
     <string name="developer_smallest_width" msgid="7516950434587313360">"Najmanja širina"</string>
+    <string name="developer_tile" msgid="4822711696408279658">"Režim programiranja"</string>
+    <string name="developer_tile_unavailable" msgid="6559656549479711827">"Nije izabran nijedan aktivan status"</string>
     <string name="premium_sms_none" msgid="8268105565738040566">"Nijedna instalirana aplikacija nije zahtevala pristup premijum SMS-ovima"</string>
     <string name="premium_sms_warning" msgid="9086859595338944882">"Premijum SMS-ovi mogu da koštaju i povećaće račune kod mobilnog operatera. Ako omogućite dozvolu za neku aplikaciju, moći ćete da šaljete premijum SMS-ove pomoću te aplikacije."</string>
     <string name="premium_sms_access" msgid="4660047004791638305">"Pristup premijum SMS-ovima"</string>
@@ -3349,4 +3352,16 @@
     <string name="enterprise_privacy_bug_reports" msgid="4762460041705169944">"Najnoviji izveštaj o grešci"</string>
     <string name="enterprise_privacy_security_logs" msgid="3648730027522011684">"Najnovija bezbednosna evidencija"</string>
     <string name="enterprise_privacy_never" msgid="1304035596746436921">"Nikada"</string>
+    <string name="storage_photos_videos" msgid="1872663116054954685">"Slike i video snimci"</string>
+    <string name="storage_music_audio" msgid="7890103397813503615">"Muzika i audio"</string>
+    <string name="storage_games" msgid="7703159201697117621">"Igre"</string>
+    <string name="storage_other_apps" msgid="5524321740031718083">"Druge aplikacije"</string>
+    <string name="storage_files" msgid="8581083146777364063">"Datoteke"</string>
+    <string name="storage_settings_2" msgid="6369810699930056554">"Memorijski prostor telefona"</string>
+    <!-- no translation found for storage_size_large_alternate (3436941214395940966) -->
+    <skip />
+    <!-- no translation found for storage_volume_free (8829609507318832879) -->
+    <skip />
+    <!-- no translation found for storage_percent_used (6741397129281819921) -->
+    <skip />
 </resources>
diff --git a/res/values-be-rBY-nokeys/strings.xml b/res/values-be-rBY-nokeys/strings.xml
deleted file mode 100644
index 3d7e897..0000000
--- a/res/values-be-rBY-nokeys/strings.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2007 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.
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="applications_settings_summary" msgid="6616938758022986257">"Кіраванне прыкладаннямі"</string>
-</resources>
diff --git a/res/values-be-rBY/arrays.xml b/res/values-be/arrays.xml
similarity index 100%
rename from res/values-be-rBY/arrays.xml
rename to res/values-be/arrays.xml
diff --git a/res/values-be-rBY/strings.xml b/res/values-be/strings.xml
similarity index 99%
rename from res/values-be-rBY/strings.xml
rename to res/values-be/strings.xml
index 1032e5f..f817d84 100644
--- a/res/values-be-rBY/strings.xml
+++ b/res/values-be/strings.xml
@@ -676,7 +676,7 @@
     <string name="android_beam_off_summary" msgid="4663095428454779138">"Выключана"</string>
     <string name="android_beam_disabled_summary" msgid="1737782116894793393">"Недаступна, таму што NFC выключаная"</string>
     <string name="android_beam_label" msgid="6257036050366775040">"Android Beam"</string>
-    <string name="android_beam_explained" msgid="1828555626055290684">"Калі гэта функцыя ўключана, вы можаце перадаваць змесціва праграмы на іншыя сумяшчальныя з NFC прылады, утрымліваючы прылады блізка адна да адной. Напрыклад, вы можаце перадаваць старонкi з Браўзера, відэа з YouTube, кантакты з праграмы Людзі і многае іншае.\n\nТолькі наблізьце прылады (звычайна заднімі бакамі) і дакраніцеся да экрана. Праграма вызначыць, якое змесціва перадаецца."</string>
+    <string name="android_beam_explained" msgid="1810540319385192758">"Калі гэта функцыя ўключана, вы можаце перадаваць змесціва праграм на іншую сумяшчальную з NFC прыладу, утрымліваючы прылады блізка адна да адной. Напрыклад, вы можаце перадаваць вэб-старонкi, відэа з YouTube, кантакты і многае іншае.\n\nТолькі паднясіце прылады адна да адной (звычайна заднімі бакамі) і дакраніцеся да экрана. Праграма вызначыць, што перадаецца."</string>
     <string name="wifi_quick_toggle_title" msgid="8850161330437693895">"Wi-Fi"</string>
     <string name="wifi_quick_toggle_summary" msgid="2696547080481267642">"Уключыць Wi-Fi"</string>
     <string name="wifi_settings" msgid="29722149822540994">"Wi-Fi"</string>
@@ -2625,6 +2625,7 @@
     <string name="keywords_profile_challenge" msgid="789611397846512845">"працоўная задача, праца, профіль"</string>
     <string name="keywords_unification" msgid="1922900767659821025">"працоўны профіль, профіль пад кіраваннем, уніфікаваць, уніфікацыя, праца, профіль"</string>
     <string name="keywords_gesture" msgid="5696040361482126337">"жэст"</string>
+    <string name="keywords_payment_settings" msgid="5220104934130446416">"плаціць, дакранацца, плацяжы"</string>
     <string name="setup_wifi_nfc_tag" msgid="9028353016222911016">"Усталяваць Wi-Fi NFC-метку"</string>
     <string name="write_tag" msgid="8571858602896222537">"Запісаць"</string>
     <string name="status_awaiting_tap" msgid="2130145523773160617">"Для завяршэння дакраніцеся да меткі..."</string>
@@ -2852,7 +2853,7 @@
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2232461523882170874">"Гэты рабочы профіль знаходзіцца пад кіраваннем:"</string>
     <string name="managing_admin" msgid="8843802210377459055">"Пад кіраваннем <xliff:g id="ADMIN_APP_LABEL">%s</xliff:g>"</string>
     <string name="experimental_preference" msgid="7083015446690681376">"(Эксперыментальныя)"</string>
-    <string name="display_auto_rotate_title" msgid="6176450657107806043">"Пры павароце прылады"</string>
+    <string name="display_auto_rotate_title" msgid="7119684966039069439">"Пераварочванне прылады"</string>
     <string name="display_auto_rotate_rotate" msgid="4544299861233497728">"Паварочваць экран"</string>
     <string name="display_auto_rotate_stay_in_portrait" msgid="292745182318093651">"Захоўваць партрэтную арыентацыю"</string>
     <string name="display_auto_rotate_stay_in_landscape" msgid="3804752830204062162">"Захоўваць альбомную арыентацыю"</string>
@@ -3256,6 +3257,8 @@
     <string name="page_tab_title_support" msgid="6330657582897417458">"Падтрымка"</string>
     <string name="developer_density_summary" msgid="1998244213021456519">"<xliff:g id="ID_1">%d</xliff:g> dp"</string>
     <string name="developer_smallest_width" msgid="7516950434587313360">"Найменшая шырыня"</string>
+    <string name="developer_tile" msgid="4822711696408279658">"Рэжым распрацоўкі"</string>
+    <string name="developer_tile_unavailable" msgid="6559656549479711827">"Актыўны статус не выбраны"</string>
     <string name="premium_sms_none" msgid="8268105565738040566">"Запыты ад усталяваных праграм на прэміум SMS-доступ не паступалі"</string>
     <string name="premium_sms_warning" msgid="9086859595338944882">"За прэміум SMS-доступ з вас можа спаганяцца аплата, гэта можа павялічыць вашыя рахункі за паслугі аператара. Калі вы ўключыце дазвол для праграмы, вы будзеце мець магчымасць адпраўляць прэміум SMS з гэтай праграмы."</string>
     <string name="premium_sms_access" msgid="4660047004791638305">"Прэміум SMS-доступ"</string>
@@ -3385,4 +3388,16 @@
     <string name="enterprise_privacy_bug_reports" msgid="4762460041705169944">"Ваша апошняя справаздача пра памылку"</string>
     <string name="enterprise_privacy_security_logs" msgid="3648730027522011684">"Ваш апошні журнал бяспекі"</string>
     <string name="enterprise_privacy_never" msgid="1304035596746436921">"Ніколі"</string>
+    <string name="storage_photos_videos" msgid="1872663116054954685">"Фота і відэа"</string>
+    <string name="storage_music_audio" msgid="7890103397813503615">"Музыка і аўдыя"</string>
+    <string name="storage_games" msgid="7703159201697117621">"Гульні"</string>
+    <string name="storage_other_apps" msgid="5524321740031718083">"Іншыя праграмы"</string>
+    <string name="storage_files" msgid="8581083146777364063">"Файлы"</string>
+    <string name="storage_settings_2" msgid="6369810699930056554">"Сховішча тэлефона"</string>
+    <!-- no translation found for storage_size_large_alternate (3436941214395940966) -->
+    <skip />
+    <!-- no translation found for storage_volume_free (8829609507318832879) -->
+    <skip />
+    <!-- no translation found for storage_percent_used (6741397129281819921) -->
+    <skip />
 </resources>
diff --git a/res/values-bg/strings.xml b/res/values-bg/strings.xml
index cba1635..de5580b 100644
--- a/res/values-bg/strings.xml
+++ b/res/values-bg/strings.xml
@@ -658,7 +658,7 @@
     <string name="android_beam_off_summary" msgid="4663095428454779138">"Изключено"</string>
     <string name="android_beam_disabled_summary" msgid="1737782116894793393">"Не е налице, защото КБП е изключена"</string>
     <string name="android_beam_label" msgid="6257036050366775040">"Android Beam"</string>
-    <string name="android_beam_explained" msgid="1828555626055290684">"Когато тази функция е включена, можете да излъчвате съдържание от приложенията до друго устройство с поддръжка за КБП, като държите устройствата близо едно до друго. Например можете да излъчвате страници от Браузър, видеоклипове от YouTube, контакти от Хора и др.\n\nТрябва само да поставите устройствата едно до друго (обикновено задните им страни) и след това да докоснете екрана. Приложението определя какво да се излъчва."</string>
+    <string name="android_beam_explained" msgid="1810540319385192758">"Когато тази функция е включена, можете да излъчвате съдържание от приложенията до друго устройство с поддръжка за КБП, като държите устройствата близо едно до друго. Например можете да излъчвате уеб страници, видеоклипове от YouTube, контакти и др.\n\nТрябва само да поставите устройствата едно до друго (обикновено задните им страни), след което да докоснете екрана си. Приложението определя какво се излъчва."</string>
     <string name="wifi_quick_toggle_title" msgid="8850161330437693895">"Wi‑Fi"</string>
     <string name="wifi_quick_toggle_summary" msgid="2696547080481267642">"Включване на Wi‑Fi"</string>
     <string name="wifi_settings" msgid="29722149822540994">"Wi‑Fi"</string>
@@ -2581,6 +2581,7 @@
     <string name="keywords_profile_challenge" msgid="789611397846512845">"служебно предизвикателство, работа, потребителски профил"</string>
     <string name="keywords_unification" msgid="1922900767659821025">"служебен потребителски профил, управляван потребителски профил, обединение, обединяване, работа, потребителски профил"</string>
     <string name="keywords_gesture" msgid="5696040361482126337">"жест"</string>
+    <string name="keywords_payment_settings" msgid="5220104934130446416">"плащане, докосване, плащания"</string>
     <string name="setup_wifi_nfc_tag" msgid="9028353016222911016">"Маркер за КБП за Wi-Fi: Настр."</string>
     <string name="write_tag" msgid="8571858602896222537">"Записване"</string>
     <string name="status_awaiting_tap" msgid="2130145523773160617">"За записване докоснете маркер..."</string>
@@ -2802,7 +2803,7 @@
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2232461523882170874">"Този служебен потребителски профил се управлява от:"</string>
     <string name="managing_admin" msgid="8843802210377459055">"Управлява се от <xliff:g id="ADMIN_APP_LABEL">%s</xliff:g>"</string>
     <string name="experimental_preference" msgid="7083015446690681376">"(Експериментално)"</string>
-    <string name="display_auto_rotate_title" msgid="6176450657107806043">"При завъртане на устройството"</string>
+    <string name="display_auto_rotate_title" msgid="7119684966039069439">"Завъртане на устройството"</string>
     <string name="display_auto_rotate_rotate" msgid="4544299861233497728">"Завъртане на съдържанието на екрана"</string>
     <string name="display_auto_rotate_stay_in_portrait" msgid="292745182318093651">"Оставане във вертикален изглед"</string>
     <string name="display_auto_rotate_stay_in_landscape" msgid="3804752830204062162">"Оставане в хоризонтален изглед"</string>
@@ -3192,6 +3193,8 @@
     <string name="page_tab_title_support" msgid="6330657582897417458">"Поддръжка"</string>
     <string name="developer_density_summary" msgid="1998244213021456519">"<xliff:g id="ID_1">%d</xliff:g> dp"</string>
     <string name="developer_smallest_width" msgid="7516950434587313360">"Най-малката ширина"</string>
+    <string name="developer_tile" msgid="4822711696408279658">"Режим на програмиране"</string>
+    <string name="developer_tile_unavailable" msgid="6559656549479711827">"Няма избрано активно състояние"</string>
     <string name="premium_sms_none" msgid="8268105565738040566">"Няма инсталирани приложения, които са заявили достъп до SMS съобщения, за които се таксува получателят"</string>
     <string name="premium_sms_warning" msgid="9086859595338944882">"SMS съобщенията, за които се таксува получателят, може да ви въвлекат в разходи и ще увеличат сметката към оператора ви. Ако дадете разрешението на дадено приложение, ще можете да изпращате такива съобщения чрез него."</string>
     <string name="premium_sms_access" msgid="4660047004791638305">"Достъп до SMS съобщения, за които се таксува получателят"</string>
@@ -3313,4 +3316,16 @@
     <string name="enterprise_privacy_bug_reports" msgid="4762460041705169944">"Най-скорошният ви сигнал за програмна грешка"</string>
     <string name="enterprise_privacy_security_logs" msgid="3648730027522011684">"Най-скорошният ви регистрационен файл за сигурността"</string>
     <string name="enterprise_privacy_never" msgid="1304035596746436921">"Никога"</string>
+    <string name="storage_photos_videos" msgid="1872663116054954685">"Снимки и видеоклипове"</string>
+    <string name="storage_music_audio" msgid="7890103397813503615">"Музика и аудио"</string>
+    <string name="storage_games" msgid="7703159201697117621">"Игри"</string>
+    <string name="storage_other_apps" msgid="5524321740031718083">"Други приложения"</string>
+    <string name="storage_files" msgid="8581083146777364063">"Файлове"</string>
+    <string name="storage_settings_2" msgid="6369810699930056554">"Хранилище на телефона"</string>
+    <!-- no translation found for storage_size_large_alternate (3436941214395940966) -->
+    <skip />
+    <!-- no translation found for storage_volume_free (8829609507318832879) -->
+    <skip />
+    <!-- no translation found for storage_percent_used (6741397129281819921) -->
+    <skip />
 </resources>
diff --git a/res/values-bn-rBD-nokeys/strings.xml b/res/values-bn-nokeys/strings.xml
similarity index 100%
rename from res/values-bn-rBD-nokeys/strings.xml
rename to res/values-bn-nokeys/strings.xml
diff --git a/res/values-bn-rBD/arrays.xml b/res/values-bn/arrays.xml
similarity index 100%
rename from res/values-bn-rBD/arrays.xml
rename to res/values-bn/arrays.xml
diff --git a/res/values-bn-rBD/strings.xml b/res/values-bn/strings.xml
similarity index 99%
rename from res/values-bn-rBD/strings.xml
rename to res/values-bn/strings.xml
index 57432b8..215f411 100644
--- a/res/values-bn-rBD/strings.xml
+++ b/res/values-bn/strings.xml
@@ -658,7 +658,7 @@
     <string name="android_beam_off_summary" msgid="4663095428454779138">"বন্ধ করুন"</string>
     <string name="android_beam_disabled_summary" msgid="1737782116894793393">"NFC বন্ধ থাকার কারণে অনুপলব্ধ"</string>
     <string name="android_beam_label" msgid="6257036050366775040">"Android বীম"</string>
-    <string name="android_beam_explained" msgid="1828555626055290684">"যখন এই বৈশিষ্ট্যটি চালু থাকে, তখন আপনি আরেকটি NFC-সমর্থিত ডিভাইসের কাছে ডিভাইসগুলি ধরে সামগ্রী বীম করতে পারেন। উদাহরণস্বরূপ, আপনি ব্রাউজার পৃষ্ঠা, YouTube ভিডিও, ব্যক্তিদের পরিচিতি এবং আরো অনেক কিছু বীম করতে পারেন।\n\nশুধু ডিভাইসগুলিকে একসাথে আনুন (সাধারণতঃ পিঠে পিঠে) এবং তারপর আপনার স্ক্রীনে আলতো চাপুন। কোনগুলি বীম করা হবে তা অ্যাপ্লিকেশানটি নির্ধারণ করবে।"</string>
+    <string name="android_beam_explained" msgid="1810540319385192758">"যখন এই বৈশিষ্ট্যটি চালু থাকে, তখন আপনি আরেকটি NFC-সক্ষম ডিভাইসের কাছে ডিভাইসগুলি ধরে সামগ্রী বীম করতে পারবেন। উদাহরণস্বরূপ, আপনি ওয়েব পৃষ্ঠা, YouTube ভিডিও, পরিচিতি এবং আরো অনেক কিছু বীম করতে পারবেন।\n\nশুধু ডিভাইসগুলিকে একসাথে আনুন (সাধারণতঃ পর পর) এবং তারপর আপনার স্ক্রীনে আলতো চাপুন। অ্যাপ্লিকেশানটি নির্ধারণ করবে কি বীম করা হবে।"</string>
     <string name="wifi_quick_toggle_title" msgid="8850161330437693895">"ওয়াই-ফাই"</string>
     <string name="wifi_quick_toggle_summary" msgid="2696547080481267642">"ওয়াই-ফাই চালু করুন"</string>
     <string name="wifi_settings" msgid="29722149822540994">"ওয়াই-ফাই"</string>
@@ -2581,6 +2581,7 @@
     <string name="keywords_profile_challenge" msgid="789611397846512845">"কর্মস্থলের প্রতিদ্বন্দ্বিতা, কর্মস্থল, প্রোফাইল"</string>
     <string name="keywords_unification" msgid="1922900767659821025">"কর্মস্থলের প্রোফাইল, পরিচালিত প্রোফাইল, ঐক্যবদ্ধ, একীকরণ, কাজ, প্রোফাইল"</string>
     <string name="keywords_gesture" msgid="5696040361482126337">"অঙ্গভঙ্গি"</string>
+    <string name="keywords_payment_settings" msgid="5220104934130446416">"অর্থপ্রদান, আলতো চাপা, পেমেন্ট"</string>
     <string name="setup_wifi_nfc_tag" msgid="9028353016222911016">"ওয়াই-ফাই NFC ট্যাগ সেটআপ করুন"</string>
     <string name="write_tag" msgid="8571858602896222537">"লিখুন"</string>
     <string name="status_awaiting_tap" msgid="2130145523773160617">"লিখতে একটি ট্যাগে আলতো চাপুন..."</string>
@@ -2802,7 +2803,7 @@
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2232461523882170874">"এর দ্বারা এই কাজের প্রোফাইলটি পরিচালিত হয়:"</string>
     <string name="managing_admin" msgid="8843802210377459055">"<xliff:g id="ADMIN_APP_LABEL">%s</xliff:g> এর দ্বারা পরিচালিত"</string>
     <string name="experimental_preference" msgid="7083015446690681376">"(পরীক্ষামূলক)"</string>
-    <string name="display_auto_rotate_title" msgid="6176450657107806043">"ডিভাইস যখন ঘোরানো হবে"</string>
+    <string name="display_auto_rotate_title" msgid="7119684966039069439">"ডিভাইসের ঘূর্ণন"</string>
     <string name="display_auto_rotate_rotate" msgid="4544299861233497728">"স্ক্রীনের সামগ্রীগুলি ঘোরান"</string>
     <string name="display_auto_rotate_stay_in_portrait" msgid="292745182318093651">"প্রতিকৃতি দৃশ্যে থাকুন"</string>
     <string name="display_auto_rotate_stay_in_landscape" msgid="3804752830204062162">"ভূদৃশ্য দৃশ্যে থাকুন"</string>
@@ -3192,6 +3193,8 @@
     <string name="page_tab_title_support" msgid="6330657582897417458">"সহায়তা"</string>
     <string name="developer_density_summary" msgid="1998244213021456519">"<xliff:g id="ID_1">%d</xliff:g> dp"</string>
     <string name="developer_smallest_width" msgid="7516950434587313360">"সবচেয়ে কম প্রস্থ"</string>
+    <string name="developer_tile" msgid="4822711696408279658">"বিকাশকারী মোড"</string>
+    <string name="developer_tile_unavailable" msgid="6559656549479711827">"কোনো সক্রিয় স্থিতি বেছে নেওয়া হয়নি"</string>
     <string name="premium_sms_none" msgid="8268105565738040566">"ইনস্টল করা কোনো অ্যাপ্লিকেশানই প্রিমিয়াম SMS অ্যাক্সেসের অনুরোধ করেনি"</string>
     <string name="premium_sms_warning" msgid="9086859595338944882">"প্রিমিয়াম SMS এর জন্য অর্থ খরচ হতে পারে এবং আপনার পরিষেবা প্রদানকারীর বিলে যোগ করা হবে৷ আপনি যদি কোনো অ্যাপ্লিকেশানের জন্য অনুমতি সক্ষম করেন তাহলে আপনি সেই অ্যাপ্লিকেশানটি ব্যবহার করে প্রিমিয়াম SMS পাঠাতে পারবেন৷"</string>
     <string name="premium_sms_access" msgid="4660047004791638305">"প্রিমিয়াম SMS অ্যাক্সেস"</string>
@@ -3313,4 +3316,16 @@
     <string name="enterprise_privacy_bug_reports" msgid="4762460041705169944">"আপনার সর্বশেষ ত্রুটির প্রতিবেদন"</string>
     <string name="enterprise_privacy_security_logs" msgid="3648730027522011684">"আপনার সর্বশেষ নিরাপত্তা লগ"</string>
     <string name="enterprise_privacy_never" msgid="1304035596746436921">"কখনই নয়"</string>
+    <string name="storage_photos_videos" msgid="1872663116054954685">"ফটো ও ভিডিও"</string>
+    <string name="storage_music_audio" msgid="7890103397813503615">"সঙ্গীত ও অডিও"</string>
+    <string name="storage_games" msgid="7703159201697117621">"গেম্স"</string>
+    <string name="storage_other_apps" msgid="5524321740031718083">"অন্যান্য অ্যাপ্লিকেশান"</string>
+    <string name="storage_files" msgid="8581083146777364063">"ফাইল"</string>
+    <string name="storage_settings_2" msgid="6369810699930056554">"ফোনের সঞ্চয়স্থান"</string>
+    <!-- no translation found for storage_size_large_alternate (3436941214395940966) -->
+    <skip />
+    <!-- no translation found for storage_volume_free (8829609507318832879) -->
+    <skip />
+    <!-- no translation found for storage_percent_used (6741397129281819921) -->
+    <skip />
 </resources>
diff --git a/res/values-bs-rBA-nokeys/strings.xml b/res/values-bs-nokeys/strings.xml
similarity index 100%
rename from res/values-bs-rBA-nokeys/strings.xml
rename to res/values-bs-nokeys/strings.xml
diff --git a/res/values-bs-rBA/arrays.xml b/res/values-bs/arrays.xml
similarity index 100%
rename from res/values-bs-rBA/arrays.xml
rename to res/values-bs/arrays.xml
diff --git a/res/values-bs-rBA/strings.xml b/res/values-bs/strings.xml
similarity index 99%
rename from res/values-bs-rBA/strings.xml
rename to res/values-bs/strings.xml
index 14403c7..3ab6d33 100644
--- a/res/values-bs-rBA/strings.xml
+++ b/res/values-bs/strings.xml
@@ -667,7 +667,7 @@
     <string name="android_beam_off_summary" msgid="4663095428454779138">"Isključeno"</string>
     <string name="android_beam_disabled_summary" msgid="1737782116894793393">"Nedostupno jer je NFC isključen"</string>
     <string name="android_beam_label" msgid="6257036050366775040">"Android Beam"</string>
-    <string name="android_beam_explained" msgid="1828555626055290684">"Kada je uključena ova funkcija, možete emitirati sadržaj aplikacije na drugi uređaj koji je sposoban za NFC komunikaciju dok držite uređaje blizu jedan drugome. Naprimjer, možete emitirati stranice preglednika, videozapise s YouTube lokacije, kontakte i još mnogo toga.\n\nSamo postavite uređaje zajedno (u pravilu, poleđinu uz poleđinu) a zatim dodirnite svoj ekran. Aplikacija će sama prepoznati šta treba emitirati."</string>
+    <string name="android_beam_explained" msgid="1810540319385192758">"Kada je uključena ova funkcija, možete emitirati sadržaj aplikacije na drugi uređaj koji je sposoban za NFC komunikaciju dok držite uređaje blizu jedan drugome. Naprimjer, možete emitirati web stranice, videozapise s YouTube lokacije, kontakte i još mnogo toga.\n\nSamo postavite uređaje zajedno (u pravilu, poleđinu uz poleđinu) a zatim dodirnite svoj ekran. Aplikacija će sama prepoznati šta treba emitirati."</string>
     <string name="wifi_quick_toggle_title" msgid="8850161330437693895">"Wi‑Fi"</string>
     <string name="wifi_quick_toggle_summary" msgid="2696547080481267642">"Uključite Wi‑Fi"</string>
     <string name="wifi_settings" msgid="29722149822540994">"Wi‑Fi"</string>
@@ -2603,6 +2603,7 @@
     <string name="keywords_profile_challenge" msgid="789611397846512845">"poslovni izazov, rad, profil"</string>
     <string name="keywords_unification" msgid="1922900767659821025">"radni profil, upravljani profil, ujediniti, ujedinjenje, rad, profil"</string>
     <string name="keywords_gesture" msgid="5696040361482126337">"pokret"</string>
+    <string name="keywords_payment_settings" msgid="5220104934130446416">"plati, dodir, plaćanja"</string>
     <string name="setup_wifi_nfc_tag" msgid="9028353016222911016">"Postavljanje Wi-Fi NFC taga"</string>
     <string name="write_tag" msgid="8571858602896222537">"Pisati"</string>
     <string name="status_awaiting_tap" msgid="2130145523773160617">"Dodirnite oznaku da biste pisali..."</string>
@@ -2827,7 +2828,7 @@
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2232461523882170874">"Ovim profilom za Work upravlja:"</string>
     <string name="managing_admin" msgid="8843802210377459055">"Profilom upravlja <xliff:g id="ADMIN_APP_LABEL">%s</xliff:g>"</string>
     <string name="experimental_preference" msgid="7083015446690681376">"(Eksperimentalno)"</string>
-    <string name="display_auto_rotate_title" msgid="6176450657107806043">"Prilikom rotiranja uređaja"</string>
+    <string name="display_auto_rotate_title" msgid="7119684966039069439">"Rotacija uređaja"</string>
     <string name="display_auto_rotate_rotate" msgid="4544299861233497728">"Rotiraj sadržaj ekrana"</string>
     <string name="display_auto_rotate_stay_in_portrait" msgid="292745182318093651">"Ostani u portretnom prikazu"</string>
     <string name="display_auto_rotate_stay_in_landscape" msgid="3804752830204062162">"Ostani u vodoravnom prikazu"</string>
@@ -3224,6 +3225,8 @@
     <string name="page_tab_title_support" msgid="6330657582897417458">"Podrška"</string>
     <string name="developer_density_summary" msgid="1998244213021456519">"<xliff:g id="ID_1">%d</xliff:g> dp"</string>
     <string name="developer_smallest_width" msgid="7516950434587313360">"Najmanja širina"</string>
+    <string name="developer_tile" msgid="4822711696408279658">"Razvojni način"</string>
+    <string name="developer_tile_unavailable" msgid="6559656549479711827">"Nije izabrano aktivno stanje"</string>
     <string name="premium_sms_none" msgid="8268105565738040566">"Nijedna instalirana aplikacija nije zatražila Premium SMS pristup"</string>
     <string name="premium_sms_warning" msgid="9086859595338944882">"Usluga Premium SMS se možda dodatno plaća te će trošak biti na računu koji dobijate od operatera. Ukoliko aplikaciji date dozvolu, moći ćete slati premium SMS poruke putem te aplikacije."</string>
     <string name="premium_sms_access" msgid="4660047004791638305">"Premium SMS pristup"</string>
@@ -3349,4 +3352,16 @@
     <string name="enterprise_privacy_bug_reports" msgid="4762460041705169944">"Vaš posljednji izvještaj o greškama"</string>
     <string name="enterprise_privacy_security_logs" msgid="3648730027522011684">"Vaš najnoviji zapisnik o stanju sigurnosti"</string>
     <string name="enterprise_privacy_never" msgid="1304035596746436921">"Nikada"</string>
+    <string name="storage_photos_videos" msgid="1872663116054954685">"Fotografije i videozapisi"</string>
+    <string name="storage_music_audio" msgid="7890103397813503615">"Muzika i zvuk"</string>
+    <string name="storage_games" msgid="7703159201697117621">"Igre"</string>
+    <string name="storage_other_apps" msgid="5524321740031718083">"Druge aplikacije"</string>
+    <string name="storage_files" msgid="8581083146777364063">"Fajlovi"</string>
+    <string name="storage_settings_2" msgid="6369810699930056554">"Pohrana telefona"</string>
+    <!-- no translation found for storage_size_large_alternate (3436941214395940966) -->
+    <skip />
+    <!-- no translation found for storage_volume_free (8829609507318832879) -->
+    <skip />
+    <!-- no translation found for storage_percent_used (6741397129281819921) -->
+    <skip />
 </resources>
diff --git a/res/values-ca/strings.xml b/res/values-ca/strings.xml
index 99bd87f..55e0795 100644
--- a/res/values-ca/strings.xml
+++ b/res/values-ca/strings.xml
@@ -658,7 +658,7 @@
     <string name="android_beam_off_summary" msgid="4663095428454779138">"Desactivat"</string>
     <string name="android_beam_disabled_summary" msgid="1737782116894793393">"No disponible perquè la funció NFC està desactivada"</string>
     <string name="android_beam_label" msgid="6257036050366775040">"Android Beam"</string>
-    <string name="android_beam_explained" msgid="1828555626055290684">"Si la funció Android Beam està activada, pots col·locar un dispositiu a prop d\'un altre de compatible amb tecnologia NFC per compartir contingut d\'aplicacions. Per exemple, pots transferir pàgines del navegador, vídeos de YouTube, contactes i molt més.\n\nCol·loca els dispositius a prop (generalment, l\'un d\'esquena a l\'altre) i, a continuació, toca la pantalla del teu dispositiu. L\'aplicació determina el contingut que es pot transferir."</string>
+    <string name="android_beam_explained" msgid="1810540319385192758">"Si aquesta funció està activada, pots col·locar el dispositiu a prop d\'un altre que també sigui compatible amb la tecnologia NFC per compartir contingut d\'aplicacions entre tots dos. Per exemple, pots compartir-hi pàgines web, vídeos de YouTube, contactes i moltes coses més.\n\nCol·loca els dispositius a prop (normalment encarant-los per la part posterior) i, a continuació, toca la pantalla del teu dispositiu. L\'aplicació determina el contingut que es pot compartir."</string>
     <string name="wifi_quick_toggle_title" msgid="8850161330437693895">"Wi-Fi"</string>
     <string name="wifi_quick_toggle_summary" msgid="2696547080481267642">"Activa la Wi-Fi"</string>
     <string name="wifi_settings" msgid="29722149822540994">"Wi-Fi"</string>
@@ -2581,6 +2581,7 @@
     <string name="keywords_profile_challenge" msgid="789611397846512845">"desafiament per accedir a contingut de feina, feina, perfil"</string>
     <string name="keywords_unification" msgid="1922900767659821025">"perfil professional, perfil gestionat, unificar, unificació, feina, perfil"</string>
     <string name="keywords_gesture" msgid="5696040361482126337">"gest"</string>
+    <string name="keywords_payment_settings" msgid="5220104934130446416">"paga, toca, pagaments"</string>
     <string name="setup_wifi_nfc_tag" msgid="9028353016222911016">"Configura l\'etiqueta de NFC per a Wi-Fi"</string>
     <string name="write_tag" msgid="8571858602896222537">"Escriu-hi"</string>
     <string name="status_awaiting_tap" msgid="2130145523773160617">"Toca una etiqueta per escriure..."</string>
@@ -2802,7 +2803,7 @@
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2232461523882170874">"L\'administrador d\'aquest perfil professional és:"</string>
     <string name="managing_admin" msgid="8843802210377459055">"Gestionat per <xliff:g id="ADMIN_APP_LABEL">%s</xliff:g>"</string>
     <string name="experimental_preference" msgid="7083015446690681376">"(Experimental)"</string>
-    <string name="display_auto_rotate_title" msgid="6176450657107806043">"En girar el dispositiu"</string>
+    <string name="display_auto_rotate_title" msgid="7119684966039069439">"Rotació del dispositiu"</string>
     <string name="display_auto_rotate_rotate" msgid="4544299861233497728">"Gira el contingut de la pantalla"</string>
     <string name="display_auto_rotate_stay_in_portrait" msgid="292745182318093651">"Continua en mode vertical"</string>
     <string name="display_auto_rotate_stay_in_landscape" msgid="3804752830204062162">"Continua amb l\'orientació horitzontal"</string>
@@ -3192,6 +3193,8 @@
     <string name="page_tab_title_support" msgid="6330657582897417458">"Assistència"</string>
     <string name="developer_density_summary" msgid="1998244213021456519">"<xliff:g id="ID_1">%d</xliff:g> dp"</string>
     <string name="developer_smallest_width" msgid="7516950434587313360">"Amplada més petita"</string>
+    <string name="developer_tile" msgid="4822711696408279658">"Mode de desenvolupament"</string>
+    <string name="developer_tile_unavailable" msgid="6559656549479711827">"No s\'ha seleccionat cap estat actiu"</string>
     <string name="premium_sms_none" msgid="8268105565738040566">"Cap aplicació instal·lada no ha sol·licitat accés a l\'enviament de SMS prèmium"</string>
     <string name="premium_sms_warning" msgid="9086859595338944882">"Els SMS prèmium et poden costar diners, i aquest import s\'afegirà a la facturació de l\'operador de telefonia mòbil. Si actives el permís en una aplicació, podràs enviar SMS prèmium utilitzant-la."</string>
     <string name="premium_sms_access" msgid="4660047004791638305">"Accés a l\'enviament d\'SMS prèmium"</string>
@@ -3313,4 +3316,16 @@
     <string name="enterprise_privacy_bug_reports" msgid="4762460041705169944">"Informe d\'errors més recent"</string>
     <string name="enterprise_privacy_security_logs" msgid="3648730027522011684">"Registre de seguretat més recent"</string>
     <string name="enterprise_privacy_never" msgid="1304035596746436921">"Mai"</string>
+    <string name="storage_photos_videos" msgid="1872663116054954685">"Fotos i vídeos"</string>
+    <string name="storage_music_audio" msgid="7890103397813503615">"Música i àudio"</string>
+    <string name="storage_games" msgid="7703159201697117621">"Jocs"</string>
+    <string name="storage_other_apps" msgid="5524321740031718083">"Altres aplicacions"</string>
+    <string name="storage_files" msgid="8581083146777364063">"Fitxers"</string>
+    <string name="storage_settings_2" msgid="6369810699930056554">"Emmagatzematge del telèfon"</string>
+    <!-- no translation found for storage_size_large_alternate (3436941214395940966) -->
+    <skip />
+    <!-- no translation found for storage_volume_free (8829609507318832879) -->
+    <skip />
+    <!-- no translation found for storage_percent_used (6741397129281819921) -->
+    <skip />
 </resources>
diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml
index 00c221c..d5965ca 100644
--- a/res/values-cs/strings.xml
+++ b/res/values-cs/strings.xml
@@ -676,7 +676,7 @@
     <string name="android_beam_off_summary" msgid="4663095428454779138">"Vypnuto"</string>
     <string name="android_beam_disabled_summary" msgid="1737782116894793393">"Není k dispozici, protože je vypnuta funkce NFC"</string>
     <string name="android_beam_label" msgid="6257036050366775040">"Android Beam"</string>
-    <string name="android_beam_explained" msgid="1828555626055290684">"Když je funkce zapnutá, můžete přenášet obsah aplikace do jiného zařízení s funkcí NFC tak, že obě zařízení podržíte blízko sebe. Můžete například přenášet stránky prohlížeče, videa YouTube, kontakty a další.\n\nPřiložte zařízení k sobě (zpravidla zadní stranou) a klepněte na obrazovku. Aplikace určí, jaký obsah se bude přenášet."</string>
+    <string name="android_beam_explained" msgid="1810540319385192758">"Když je funkce zapnutá, můžete přenášet obsah aplikace do jiného zařízení s funkcí NFC tak, že obě zařízení podržíte blízko sebe. Přenášet můžete například webové stránky, videa YouTube, kontakty a další.\n\nPřiložte zařízení k sobě (zpravidla zadní stranou) a klepněte na obrazovku. Aplikace určí, jaký obsah se bude přenášet."</string>
     <string name="wifi_quick_toggle_title" msgid="8850161330437693895">"Wi-Fi"</string>
     <string name="wifi_quick_toggle_summary" msgid="2696547080481267642">"Zapnout Wi-Fi"</string>
     <string name="wifi_settings" msgid="29722149822540994">"Wi-Fi"</string>
@@ -2625,6 +2625,7 @@
     <string name="keywords_profile_challenge" msgid="789611397846512845">"pracovní výzva, práce, profil"</string>
     <string name="keywords_unification" msgid="1922900767659821025">"pracovní profil, spravovaný profil, sjednotit, sjednocení, práce, profil"</string>
     <string name="keywords_gesture" msgid="5696040361482126337">"gesto"</string>
+    <string name="keywords_payment_settings" msgid="5220104934130446416">"platit, klepnout, platby"</string>
     <string name="setup_wifi_nfc_tag" msgid="9028353016222911016">"Nastavení štítku NFC pro Wi-Fi"</string>
     <string name="write_tag" msgid="8571858602896222537">"Zapsat"</string>
     <string name="status_awaiting_tap" msgid="2130145523773160617">"Klepnutím na štítek zahájíte zápis..."</string>
@@ -2852,7 +2853,7 @@
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2232461523882170874">"Tento pracovní profil je spravován pomocí aplikace:"</string>
     <string name="managing_admin" msgid="8843802210377459055">"Spravováno aplikací <xliff:g id="ADMIN_APP_LABEL">%s</xliff:g>"</string>
     <string name="experimental_preference" msgid="7083015446690681376">"(Experimentální)"</string>
-    <string name="display_auto_rotate_title" msgid="6176450657107806043">"Při otočení zařízení"</string>
+    <string name="display_auto_rotate_title" msgid="7119684966039069439">"Otočení zařízení"</string>
     <string name="display_auto_rotate_rotate" msgid="4544299861233497728">"Otočit obsah obrazovky"</string>
     <string name="display_auto_rotate_stay_in_portrait" msgid="292745182318093651">"Zachovat orientaci na výšku"</string>
     <string name="display_auto_rotate_stay_in_landscape" msgid="3804752830204062162">"Zachovat orientaci na šířku"</string>
@@ -3256,6 +3257,8 @@
     <string name="page_tab_title_support" msgid="6330657582897417458">"Podpora"</string>
     <string name="developer_density_summary" msgid="1998244213021456519">"<xliff:g id="ID_1">%d</xliff:g> dp"</string>
     <string name="developer_smallest_width" msgid="7516950434587313360">"Minimální šířka"</string>
+    <string name="developer_tile" msgid="4822711696408279658">"Režim vývoje"</string>
+    <string name="developer_tile_unavailable" msgid="6559656549479711827">"Není vybrán žádný aktivní stav"</string>
     <string name="premium_sms_none" msgid="8268105565738040566">"Žádné nainstalované aplikace o přístup k prémiovým SMS nepožádaly"</string>
     <string name="premium_sms_warning" msgid="9086859595338944882">"Prémiové SMS mohou být zpoplatněny a jejich cena se přičte k fakturaci operátora. Pokud aplikaci udělíte příslušné oprávnění, budete pomocí této aplikace moci odesílat prémiové SMS."</string>
     <string name="premium_sms_access" msgid="4660047004791638305">"Přístup k prémiovým SMS"</string>
@@ -3385,4 +3388,16 @@
     <string name="enterprise_privacy_bug_reports" msgid="4762460041705169944">"Vaše nejnovější zpráva o chybě"</string>
     <string name="enterprise_privacy_security_logs" msgid="3648730027522011684">"Váš nejnovější protokol zabezpečení"</string>
     <string name="enterprise_privacy_never" msgid="1304035596746436921">"Nikdy"</string>
+    <string name="storage_photos_videos" msgid="1872663116054954685">"Fotky a videa"</string>
+    <string name="storage_music_audio" msgid="7890103397813503615">"Hudba a zvuk"</string>
+    <string name="storage_games" msgid="7703159201697117621">"Hry"</string>
+    <string name="storage_other_apps" msgid="5524321740031718083">"Další aplikace"</string>
+    <string name="storage_files" msgid="8581083146777364063">"Soubory"</string>
+    <string name="storage_settings_2" msgid="6369810699930056554">"Úložiště telefonu"</string>
+    <!-- no translation found for storage_size_large_alternate (3436941214395940966) -->
+    <skip />
+    <!-- no translation found for storage_volume_free (8829609507318832879) -->
+    <skip />
+    <!-- no translation found for storage_percent_used (6741397129281819921) -->
+    <skip />
 </resources>
diff --git a/res/values-da/arrays.xml b/res/values-da/arrays.xml
index 5890c06..39cb5f7 100644
--- a/res/values-da/arrays.xml
+++ b/res/values-da/arrays.xml
@@ -288,7 +288,7 @@
     <item msgid="485564189219029300">"aktivér VPN"</item>
     <item msgid="7155384795265164395">"skriv til baggrund"</item>
     <item msgid="1835836196806147034">"forslagsstruktur"</item>
-    <item msgid="5989890403088155055">"forslagsskærmbillede"</item>
+    <item msgid="5989890403088155055">"forslagsscreenshot"</item>
     <item msgid="8582699692765917557">"læs telefontilstand"</item>
     <item msgid="1474039653814954902">"tilføj telefonsvarer"</item>
     <item msgid="7222837656938871633">"brug SIP"</item>
@@ -355,7 +355,7 @@
     <item msgid="2482631530338029480">"Aktivér VPN"</item>
     <item msgid="1662979573471871926">"Skriv til baggrund"</item>
     <item msgid="5964768335278263478">"Forslagsstruktur"</item>
-    <item msgid="2657138701132782702">"Forslagsskærmbillede"</item>
+    <item msgid="2657138701132782702">"Forslagsscreenshot"</item>
     <item msgid="8571369610363539266">"Læs telefontilstand"</item>
     <item msgid="4542463358215230845">"Tilføj telefonsvarer"</item>
     <item msgid="864565065016166003">"Brug SIP"</item>
diff --git a/res/values-da/strings.xml b/res/values-da/strings.xml
index bf52f27..b9743ac 100644
--- a/res/values-da/strings.xml
+++ b/res/values-da/strings.xml
@@ -658,7 +658,7 @@
     <string name="android_beam_off_summary" msgid="4663095428454779138">"Fra"</string>
     <string name="android_beam_disabled_summary" msgid="1737782116894793393">"Utilgængelig, fordi NFC er slukket"</string>
     <string name="android_beam_label" msgid="6257036050366775040">"Android Beam"</string>
-    <string name="android_beam_explained" msgid="1828555626055290684">"Når denne funktion er slået til, kan du overføre appindhold til en anden NFC-kompatibel enhed ved at holde enhederne tæt sammen. For eksempel kan du overføre browsersider, YouTube-videoer, kontaktpersoner og meget mere.\n\nHold blot enhederne tæt sammen (typisk ryg mod ryg), og tryk derefter på din skærm. Appen afgør, hvad der bliver overført."</string>
+    <string name="android_beam_explained" msgid="1810540319385192758">"Når denne funktion er slået til, kan du overføre appindhold til en anden NFC-kompatibel enhed ved at placere enhederne tæt på hinanden. Du kan f.eks. overføre websider, YouTube-videoer, kontaktpersoner og meget mere.\n\nDu skal blot placere enhederne tæt på hinanden (normalt bagside mod bagside) og derefter trykke på din skærm. Appen bestemmer, hvad der overføres."</string>
     <string name="wifi_quick_toggle_title" msgid="8850161330437693895">"Wi-Fi"</string>
     <string name="wifi_quick_toggle_summary" msgid="2696547080481267642">"Slå Wi-Fi til"</string>
     <string name="wifi_settings" msgid="29722149822540994">"Wi-Fi"</string>
@@ -2581,6 +2581,7 @@
     <string name="keywords_profile_challenge" msgid="789611397846512845">"arbejdsudfordring, arbejde, profil"</string>
     <string name="keywords_unification" msgid="1922900767659821025">"arbejdsprofil, administreret profil, samle, samling, arbejde, profil"</string>
     <string name="keywords_gesture" msgid="5696040361482126337">"bevægelse"</string>
+    <string name="keywords_payment_settings" msgid="5220104934130446416">"betal, tryk, betalinger"</string>
     <string name="setup_wifi_nfc_tag" msgid="9028353016222911016">"Konfigurer NFC-tag for Wi-Fi"</string>
     <string name="write_tag" msgid="8571858602896222537">"Skriv"</string>
     <string name="status_awaiting_tap" msgid="2130145523773160617">"Tryk på et tag for at skrive..."</string>
@@ -2802,7 +2803,7 @@
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2232461523882170874">"Denne arbejdsprofil administreres af:"</string>
     <string name="managing_admin" msgid="8843802210377459055">"Administreret af <xliff:g id="ADMIN_APP_LABEL">%s</xliff:g>"</string>
     <string name="experimental_preference" msgid="7083015446690681376">"(Eksperimentel)"</string>
-    <string name="display_auto_rotate_title" msgid="6176450657107806043">"Når enheden roteres"</string>
+    <string name="display_auto_rotate_title" msgid="7119684966039069439">"Enhedsrotation"</string>
     <string name="display_auto_rotate_rotate" msgid="4544299861233497728">"Roter skærmindholdet"</string>
     <string name="display_auto_rotate_stay_in_portrait" msgid="292745182318093651">"Bliv i stående format"</string>
     <string name="display_auto_rotate_stay_in_landscape" msgid="3804752830204062162">"Behold landskabsvisning"</string>
@@ -2964,10 +2965,10 @@
     <string name="background_check_title" msgid="4534254315824525593">"Fuld baggrundsadgang"</string>
     <string name="assist_access_context_title" msgid="2269032346698890257">"Brug tekst fra skærmen"</string>
     <string name="assist_access_context_summary" msgid="1991421283142279560">"Giv assistanceappen adgang til skærmens indhold som tekst"</string>
-    <string name="assist_access_screenshot_title" msgid="4034721336291215819">"Brug skærmbillede"</string>
+    <string name="assist_access_screenshot_title" msgid="4034721336291215819">"Brug screenshot"</string>
     <string name="assist_access_screenshot_summary" msgid="6761636689013259901">"Giv assistanceappen adgang til et billede af skærmen"</string>
     <string name="assist_flash_title" msgid="506661221230034891">"Blink på skærmen"</string>
-    <string name="assist_flash_summary" msgid="9160668468824099262">"Blink langs skærmens kanter, når assistanceappen har adgang til tekst fra skærmen eller et skærmbillede"</string>
+    <string name="assist_flash_summary" msgid="9160668468824099262">"Blink langs skærmens kanter, når assistanceappen har adgang til tekst fra skærmen eller et screenshot"</string>
     <string name="assist_footer" msgid="1982791172085896864">"Assistanceapps kan hjælpe dig med afsæt i oplysningerne på den aktuelle skærm. Nogle apps understøtter både startertjenester og tjenester til taleinput for at give dig integreret assistance."</string>
     <string name="average_memory_use" msgid="829566450150198512">"Gennemsnitligt hukommelsesforbrug"</string>
     <string name="maximum_memory_use" msgid="7493720799710132496">"Maksimal hukommelsesforbrug"</string>
@@ -3192,6 +3193,8 @@
     <string name="page_tab_title_support" msgid="6330657582897417458">"Support"</string>
     <string name="developer_density_summary" msgid="1998244213021456519">"<xliff:g id="ID_1">%d</xliff:g> dp"</string>
     <string name="developer_smallest_width" msgid="7516950434587313360">"Mindste bredde"</string>
+    <string name="developer_tile" msgid="4822711696408279658">"Under udvikling"</string>
+    <string name="developer_tile_unavailable" msgid="6559656549479711827">"Der er ikke valgt nogen aktiv tilstand"</string>
     <string name="premium_sms_none" msgid="8268105565738040566">"Ingen installerede apps har anmodet adgang til premium-sms"</string>
     <string name="premium_sms_warning" msgid="9086859595338944882">"Premium-sms kan koste dig penge, som opkræves via din mobilregning. Hvis du aktiverer tilladelsen for en app, kan du sende premium-sms-beskeder ved hjælp af denne app."</string>
     <string name="premium_sms_access" msgid="4660047004791638305">"Adgang til premium-sms"</string>
@@ -3313,4 +3316,16 @@
     <string name="enterprise_privacy_bug_reports" msgid="4762460041705169944">"Din seneste fejlrapport"</string>
     <string name="enterprise_privacy_security_logs" msgid="3648730027522011684">"Din seneste sikkerhedslogfil"</string>
     <string name="enterprise_privacy_never" msgid="1304035596746436921">"Aldrig"</string>
+    <string name="storage_photos_videos" msgid="1872663116054954685">"Billeder og videoer"</string>
+    <string name="storage_music_audio" msgid="7890103397813503615">"Musik og lyd"</string>
+    <string name="storage_games" msgid="7703159201697117621">"Spil"</string>
+    <string name="storage_other_apps" msgid="5524321740031718083">"Andre apps"</string>
+    <string name="storage_files" msgid="8581083146777364063">"Filer"</string>
+    <string name="storage_settings_2" msgid="6369810699930056554">"Telefonens lagerplads"</string>
+    <!-- no translation found for storage_size_large_alternate (3436941214395940966) -->
+    <skip />
+    <!-- no translation found for storage_volume_free (8829609507318832879) -->
+    <skip />
+    <!-- no translation found for storage_percent_used (6741397129281819921) -->
+    <skip />
 </resources>
diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml
index 15f01d7..6e2fae2 100644
--- a/res/values-de/strings.xml
+++ b/res/values-de/strings.xml
@@ -658,7 +658,7 @@
     <string name="android_beam_off_summary" msgid="4663095428454779138">"Aus"</string>
     <string name="android_beam_disabled_summary" msgid="1737782116894793393">"Nicht verfügbar, weil NFC deaktiviert ist"</string>
     <string name="android_beam_label" msgid="6257036050366775040">"Android Beam"</string>
-    <string name="android_beam_explained" msgid="1828555626055290684">"Wenn diese Funktion aktiviert ist, kannst du App-Inhalte auf ein anderes NFC-fähiges Gerät beamen, indem du die Geräte dicht nebeneinander hältst. Du kannst beispielsweise Browserseiten, YouTube-Videos und Kontakte beamen.\n\nHalte die Geräte einfach dicht nebeneinander, am besten Rückseite an Rückseite, und tippe dann auf das Display. Was übertragen wird, richtet sich nach der App."</string>
+    <string name="android_beam_explained" msgid="1810540319385192758">"Wenn diese Funktion aktiviert ist, kannst du App-Inhalte auf ein anderes NFC-fähiges Gerät beamen, indem du die Geräte dicht nebeneinander hältst. Du kannst beispielsweise Webseiten, YouTube-Videos und Kontakte beamen.\n\nHalte die Geräte einfach dicht nebeneinander, am besten Rückseite an Rückseite, und berühre den Bildschirm. Was übertragen wird, richtet sich nach der App."</string>
     <string name="wifi_quick_toggle_title" msgid="8850161330437693895">"WLAN"</string>
     <string name="wifi_quick_toggle_summary" msgid="2696547080481267642">"WLAN aktivieren"</string>
     <string name="wifi_settings" msgid="29722149822540994">"WLAN"</string>
@@ -2581,6 +2581,7 @@
     <string name="keywords_profile_challenge" msgid="789611397846512845">"herausforderung bei der arbeit, arbeit, profil"</string>
     <string name="keywords_unification" msgid="1922900767659821025">"arbeitsprofil, verwaltetes profil, gruppieren, gruppierung, arbeit, profil"</string>
     <string name="keywords_gesture" msgid="5696040361482126337">"Bewegung"</string>
+    <string name="keywords_payment_settings" msgid="5220104934130446416">"Bezahlen, tippen, Zahlungen"</string>
     <string name="setup_wifi_nfc_tag" msgid="9028353016222911016">"WLAN-NFC-Tag einrichten"</string>
     <string name="write_tag" msgid="8571858602896222537">"Schreiben"</string>
     <string name="status_awaiting_tap" msgid="2130145523773160617">"Zum Schreiben auf ein Tag tippen…"</string>
@@ -2802,7 +2803,7 @@
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2232461523882170874">"Dieses Arbeitsprofil wird verwaltet von:"</string>
     <string name="managing_admin" msgid="8843802210377459055">"Verwaltet von <xliff:g id="ADMIN_APP_LABEL">%s</xliff:g>"</string>
     <string name="experimental_preference" msgid="7083015446690681376">"(Experimentell)"</string>
-    <string name="display_auto_rotate_title" msgid="6176450657107806043">"Bei Drehung des Geräts"</string>
+    <string name="display_auto_rotate_title" msgid="7119684966039069439">"Drehen des Bildschirms"</string>
     <string name="display_auto_rotate_rotate" msgid="4544299861233497728">"Bildschirminhalte drehen"</string>
     <string name="display_auto_rotate_stay_in_portrait" msgid="292745182318093651">"Hochformat beibehalten"</string>
     <string name="display_auto_rotate_stay_in_landscape" msgid="3804752830204062162">"Querformat beibehalten"</string>
@@ -3194,6 +3195,8 @@
     <string name="page_tab_title_support" msgid="6330657582897417458">"Hilfe"</string>
     <string name="developer_density_summary" msgid="1998244213021456519">"<xliff:g id="ID_1">%d</xliff:g> dp"</string>
     <string name="developer_smallest_width" msgid="7516950434587313360">"Geringste Breite"</string>
+    <string name="developer_tile" msgid="4822711696408279658">"Entwicklungsmodus"</string>
+    <string name="developer_tile_unavailable" msgid="6559656549479711827">"Kein aktiver Status ausgewählt"</string>
     <string name="premium_sms_none" msgid="8268105565738040566">"Keine installierte App hat Zugriff auf Premium-SMS angefordert"</string>
     <string name="premium_sms_warning" msgid="9086859595338944882">"Bei Premium-SMS können Kosten entstehen, die über den Mobilfunkanbieter abgerechnet werden. Wenn du für eine App Premium-SMS zulässt, kannst du aus ihr Premium-SMS versenden."</string>
     <string name="premium_sms_access" msgid="4660047004791638305">"Zugriff auf Premium-SMS"</string>
@@ -3315,4 +3318,16 @@
     <string name="enterprise_privacy_bug_reports" msgid="4762460041705169944">"Dein neuester Fehlerbericht"</string>
     <string name="enterprise_privacy_security_logs" msgid="3648730027522011684">"Dein neuestes Sicherheitsprotokoll"</string>
     <string name="enterprise_privacy_never" msgid="1304035596746436921">"Nie"</string>
+    <string name="storage_photos_videos" msgid="1872663116054954685">"Fotos und Videos"</string>
+    <string name="storage_music_audio" msgid="7890103397813503615">"Musik und Audio"</string>
+    <string name="storage_games" msgid="7703159201697117621">"Spiele"</string>
+    <string name="storage_other_apps" msgid="5524321740031718083">"Weitere Apps"</string>
+    <string name="storage_files" msgid="8581083146777364063">"Dateien"</string>
+    <string name="storage_settings_2" msgid="6369810699930056554">"Smartphone-Speicher"</string>
+    <!-- no translation found for storage_size_large_alternate (3436941214395940966) -->
+    <skip />
+    <!-- no translation found for storage_volume_free (8829609507318832879) -->
+    <skip />
+    <!-- no translation found for storage_percent_used (6741397129281819921) -->
+    <skip />
 </resources>
diff --git a/res/values-el/strings.xml b/res/values-el/strings.xml
index b45f2a7..91b0dd6 100644
--- a/res/values-el/strings.xml
+++ b/res/values-el/strings.xml
@@ -658,7 +658,7 @@
     <string name="android_beam_off_summary" msgid="4663095428454779138">"Απενεργοποίηση"</string>
     <string name="android_beam_disabled_summary" msgid="1737782116894793393">"Δεν διατίθεται, επειδή η ΕΚΠ είναι απενεργοποιημένη"</string>
     <string name="android_beam_label" msgid="6257036050366775040">"Android Beam"</string>
-    <string name="android_beam_explained" msgid="1828555626055290684">"Όταν είναι ενεργοποιημένη αυτή η λειτουργία, μπορείτε να μεταδώσετε περιεχόμενο εφαρμογών σε άλλη συσκευή με δυνατότητα NFC, διατηρώντας τις συσκευές σε κοντινή απόσταση μεταξύ τους. Για παράδειγμα, μπορείτε να μεταδώσετε σελίδες του προγράμματος περιήγησης, βίντεο του YouTube, επαφές Ατόμων και άλλα.\n\nΑπλώς φέρετε τις συσκευές σε κοντινή απόσταση μεταξύ τους (συνήθως πλάτη με πλάτη) και, στη συνέχεια, πατήστε στην οθόνη. Η εφαρμογή καθορίζει τι θα μεταδοθεί."</string>
+    <string name="android_beam_explained" msgid="1810540319385192758">"Όταν αυτή η λειτουργία είναι ενεργοποιημένη, μπορείτε να μεταδώσετε μέσω ζεύξης περιεχόμενο μιας εφαρμογής σε μια άλλη συσκευή με δυνατότητα NFC, κρατώντας τις συσκευές σε κοντινή απόσταση μεταξύ τους. Για παράδειγμα μπορείτε να μεταδώσετε ιστοσελίδες, βίντεο στο YouTube, επαφές και πολλά άλλα.\n\nΑπλώς τοποθετήστε τις δύο συσκευές κοντά τη μία στην άλλη (συνήθως, πλάτη με πλάτη) και έπειτα πατήστε την οθόνη σας. Η εφαρμογή θα αποφασίσει ποιο περιεχόμενο θα μεταδοθεί μέσω της ζεύξης."</string>
     <string name="wifi_quick_toggle_title" msgid="8850161330437693895">"Wi-Fi"</string>
     <string name="wifi_quick_toggle_summary" msgid="2696547080481267642">"Ενεργοποίηση Wi-Fi"</string>
     <string name="wifi_settings" msgid="29722149822540994">"Wi-Fi"</string>
@@ -2581,6 +2581,7 @@
     <string name="keywords_profile_challenge" msgid="789611397846512845">"πρόκληση εργασίας, εργασία, προφίλ"</string>
     <string name="keywords_unification" msgid="1922900767659821025">"προφίλ εργασίας, διαχειριζόμενο προφίλ, ενοποιώ, ενοποίηση, εργασία, προφίλ"</string>
     <string name="keywords_gesture" msgid="5696040361482126337">"κίνηση"</string>
+    <string name="keywords_payment_settings" msgid="5220104934130446416">"πληρωμή, πάτημα, πληρωμές"</string>
     <string name="setup_wifi_nfc_tag" msgid="9028353016222911016">"Ρύθμιση ετικέτας ΕΚΠ Wi-Fi"</string>
     <string name="write_tag" msgid="8571858602896222537">"Εγγραφή"</string>
     <string name="status_awaiting_tap" msgid="2130145523773160617">"Αγγίξτε μια ετικέτα για εγγραφή…"</string>
@@ -2802,7 +2803,7 @@
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2232461523882170874">"Η διαχείριση αυτού του προφίλ γίνεται από:"</string>
     <string name="managing_admin" msgid="8843802210377459055">"Διαχείριση από <xliff:g id="ADMIN_APP_LABEL">%s</xliff:g>"</string>
     <string name="experimental_preference" msgid="7083015446690681376">"(Πειραματικό)"</string>
-    <string name="display_auto_rotate_title" msgid="6176450657107806043">"Κατά την περιστροφή της συσκευής"</string>
+    <string name="display_auto_rotate_title" msgid="7119684966039069439">"Περιστροφή συσκευής"</string>
     <string name="display_auto_rotate_rotate" msgid="4544299861233497728">"Περιστρέψτε το περιεχόμενο της οθόνης"</string>
     <string name="display_auto_rotate_stay_in_portrait" msgid="292745182318093651">"Διατήρηση κατακόρυφης προβολής"</string>
     <string name="display_auto_rotate_stay_in_landscape" msgid="3804752830204062162">"Διατήρηση οριζόντιας προβολής"</string>
@@ -3192,6 +3193,8 @@
     <string name="page_tab_title_support" msgid="6330657582897417458">"Υποστήριξη"</string>
     <string name="developer_density_summary" msgid="1998244213021456519">"<xliff:g id="ID_1">%d</xliff:g> dp"</string>
     <string name="developer_smallest_width" msgid="7516950434587313360">"Μικρότερο πλάτος"</string>
+    <string name="developer_tile" msgid="4822711696408279658">"Λειτουργία ανάπτυξης"</string>
+    <string name="developer_tile_unavailable" msgid="6559656549479711827">"Δεν έχει επιλεγεί ενεργή κατάσταση"</string>
     <string name="premium_sms_none" msgid="8268105565738040566">"Δεν ζητήθηκε πρόσβαση σε SMS ειδικής χρέωσης από εγκατεστημένες εφαρμογές"</string>
     <string name="premium_sms_warning" msgid="9086859595338944882">"Τα SMS ειδικής χρέωσης ενδέχεται να κοστίσουν και θα αυξήσουν το συνολικό ποσό των λογαριασμών σας κινητού τηλεφώνου. Εάν ενεργοποιήσετε την πρόσβαση για μια εφαρμογή, θα μπορείτε να στέλνετε SMS ειδικής χρέωσης χρησιμοποιώντας τη συγκεκριμένη εφαρμογή."</string>
     <string name="premium_sms_access" msgid="4660047004791638305">"Πρόσβαση σε SMS ειδικής χρέωσης"</string>
@@ -3313,4 +3316,16 @@
     <string name="enterprise_privacy_bug_reports" msgid="4762460041705169944">"Η πιο πρόσφατη αναφορά σφάλματος που υποβάλατε"</string>
     <string name="enterprise_privacy_security_logs" msgid="3648730027522011684">"Το πιο πρόσφατο αρχείο καταγραφής ασφαλείας"</string>
     <string name="enterprise_privacy_never" msgid="1304035596746436921">"Ποτέ"</string>
+    <string name="storage_photos_videos" msgid="1872663116054954685">"Φωτογραφίες και βίντεο"</string>
+    <string name="storage_music_audio" msgid="7890103397813503615">"Μουσική και ήχος"</string>
+    <string name="storage_games" msgid="7703159201697117621">"Παιχνίδια"</string>
+    <string name="storage_other_apps" msgid="5524321740031718083">"Άλλες εφαρμογές"</string>
+    <string name="storage_files" msgid="8581083146777364063">"Αρχεία"</string>
+    <string name="storage_settings_2" msgid="6369810699930056554">"Αποθηκ. χώρος τηλεφώνου"</string>
+    <!-- no translation found for storage_size_large_alternate (3436941214395940966) -->
+    <skip />
+    <!-- no translation found for storage_volume_free (8829609507318832879) -->
+    <skip />
+    <!-- no translation found for storage_percent_used (6741397129281819921) -->
+    <skip />
 </resources>
diff --git a/res/values-en-rAU/strings.xml b/res/values-en-rAU/strings.xml
index dd8d9f9..77c2ae7 100644
--- a/res/values-en-rAU/strings.xml
+++ b/res/values-en-rAU/strings.xml
@@ -86,8 +86,7 @@
     <string name="font_size_preview_text_headline" msgid="7955317408475392247">"Sample text"</string>
     <string name="font_size_preview_text_title" msgid="1310536233106975546">"The Wonderful Wizard of Oz"</string>
     <string name="font_size_preview_text_subtitle" msgid="4231671528173110093">"Chapter 11: The Wonderful Emerald City of Oz"</string>
-    <!-- no translation found for font_size_preview_text_body (2846183528684496723) -->
-    <skip />
+    <string name="font_size_preview_text_body" msgid="2846183528684496723">"Even with eyes protected by the green spectacles Dorothy and her friends were at first dazzled by the brilliancy of the wonderful City. The streets were lined with beautiful houses all built of green marble and studded everywhere with sparkling emeralds. They walked over a pavement of the same green marble, and where the blocks were joined together were rows of emeralds, set closely, and glittering in the brightness of the sun. The window panes were of green glass; even the sky above the City had a green tint, and the rays of the sun were green. \n\nThere were many people, men, women and children, walking about, and these were all dressed in green clothes and had greenish skins. They looked at Dorothy and her strangely assorted company with wondering eyes, and the children all ran away and hid behind their mothers when they saw the Lion; but no one spoke to them. Many shops stood in the street, and Dorothy saw that everything in them was green. Green candy and green pop-corn were offered for sale, as well as green shoes, green hats and green clothes of all sorts. At one place a man was selling green lemonade, and when the children bought it Dorothy could see that they paid for it with green pennies. \n\nThere seemed to be no horses or animals of any kind; the men carried things around in little green carts, which they pushed before them. Everyone seemed happy, contented and prosperous."</string>
     <string name="font_size_save" msgid="3450855718056759095">"OK"</string>
     <string name="sdcard_setting" product="nosdcard" msgid="8281011784066476192">"USB storage"</string>
     <string name="sdcard_setting" product="default" msgid="5922637503871474866">"SD card"</string>
@@ -658,7 +657,7 @@
     <string name="android_beam_off_summary" msgid="4663095428454779138">"Off"</string>
     <string name="android_beam_disabled_summary" msgid="1737782116894793393">"Unavailable because NFC is turned off"</string>
     <string name="android_beam_label" msgid="6257036050366775040">"Android Beam"</string>
-    <string name="android_beam_explained" msgid="1828555626055290684">"When this feature is turned on, you can beam app content to another NFC-capable device by holding the devices close together. For example, you can beam Browser pages, YouTube videos, People contacts and more.\n\nJust bring the devices together (typically back to back) and then tap your screen. The app determines what gets beamed."</string>
+    <string name="android_beam_explained" msgid="1810540319385192758">"When this feature is turned on, you can beam app content to another NFC-capable device by holding the devices close together. For example, you can beam web pages, YouTube videos, contacts and more.\n\nJust bring the devices together (typically back to back) and then tap your screen. The app determines what gets beamed."</string>
     <string name="wifi_quick_toggle_title" msgid="8850161330437693895">"Wi‑Fi"</string>
     <string name="wifi_quick_toggle_summary" msgid="2696547080481267642">"Turn on Wi‑Fi"</string>
     <string name="wifi_settings" msgid="29722149822540994">"Wi‑Fi"</string>
@@ -1536,11 +1535,9 @@
     <string name="app_install_location_summary" msgid="5155453752692959098">"Change the preferred installation location for new applications."</string>
     <string name="app_disable_dlg_title" msgid="3916469657537695436">"Disable built-in app?"</string>
     <string name="app_disable_dlg_positive" msgid="7375627244201714263">"Disable app"</string>
-    <!-- no translation found for app_disable_dlg_text (5632072173181990531) -->
-    <skip />
+    <string name="app_disable_dlg_text" msgid="5632072173181990531">"If you disable this app, Android and other apps may no longer function as intended."</string>
     <string name="app_special_disable_dlg_title" msgid="2690148680327142674">"Delete data and disable app?"</string>
-    <!-- no translation found for app_special_disable_dlg_text (5832078825810635913) -->
-    <skip />
+    <string name="app_special_disable_dlg_text" msgid="5832078825810635913">"If you disable this app, Android and other apps may no longer function as intended. Your data will also be deleted."</string>
     <string name="app_disable_notifications_dlg_title" msgid="7669264654851761857">"Turn off notifications"</string>
     <string name="app_disable_notifications_dlg_text" msgid="5088484670924769845">"If you turn off notifications for this app, you may miss important alerts and updates."</string>
     <string name="app_install_details_group_title" msgid="7084623031296083574">"Store"</string>
@@ -2527,8 +2524,7 @@
       <item quantity="other">Show %d hidden items</item>
       <item quantity="one">Show %d hidden item</item>
     </plurals>
-    <!-- no translation found for network_dashboard_title (3135144174846753758) -->
-    <skip />
+    <string name="network_dashboard_title" msgid="3135144174846753758">"Network &amp; Internet"</string>
     <string name="connected_devices_dashboard_title" msgid="2355264951438890709">"Connected devices"</string>
     <string name="app_and_notification_dashboard_title" msgid="7838365599185397539">"Apps &amp; notifications"</string>
     <string name="account_dashboard_title" msgid="38701889336378742">"User &amp; accounts"</string>
@@ -2581,6 +2577,7 @@
     <string name="keywords_profile_challenge" msgid="789611397846512845">"work challenge, work, profile"</string>
     <string name="keywords_unification" msgid="1922900767659821025">"work profile, managed profile, unify, unification, work, profile"</string>
     <string name="keywords_gesture" msgid="5696040361482126337">"gesture"</string>
+    <string name="keywords_payment_settings" msgid="5220104934130446416">"pay, tap, payments"</string>
     <string name="setup_wifi_nfc_tag" msgid="9028353016222911016">"Set up Wi-Fi NFC Tag"</string>
     <string name="write_tag" msgid="8571858602896222537">"Write"</string>
     <string name="status_awaiting_tap" msgid="2130145523773160617">"Tap a tag to write..."</string>
@@ -2653,16 +2650,11 @@
     <string name="app_notifications_title" msgid="139788604658984593">"Notifications"</string>
     <string name="notification_importance_title" msgid="848692592679312666">"Importance"</string>
     <string name="notification_importance_none" msgid="3173515479356106227">"Not set"</string>
-    <!-- no translation found for notification_importance_blocked (7938180808339386300) -->
-    <skip />
-    <!-- no translation found for notification_importance_min (5455049524984686275) -->
-    <skip />
-    <!-- no translation found for notification_importance_low (2445139943005315690) -->
-    <skip />
-    <!-- no translation found for notification_importance_default (5958338024601957516) -->
-    <skip />
-    <!-- no translation found for notification_importance_high (2082429479238228527) -->
-    <skip />
+    <string name="notification_importance_blocked" msgid="7938180808339386300">"Never show notifications"</string>
+    <string name="notification_importance_min" msgid="5455049524984686275">"No sound or visual interruption"</string>
+    <string name="notification_importance_low" msgid="2445139943005315690">"Show silently"</string>
+    <string name="notification_importance_default" msgid="5958338024601957516">"Make sound"</string>
+    <string name="notification_importance_high" msgid="2082429479238228527">"Make sound and pop on screen"</string>
     <string name="importance_reset" msgid="7458420788555607007">"Reset"</string>
     <string name="show_silently" msgid="2222875799232222056">"Show silently"</string>
     <string name="show_silently_summary" msgid="7616604629123146565">"Don\'t make sound, vibrate or peek these notifications into view on the current screen."</string>
@@ -2691,16 +2683,11 @@
     <string name="loading_notification_apps" msgid="5031818677010335895">"Loading apps..."</string>
     <string name="notification_channels" msgid="8681423709659818791">"Channels"</string>
     <string name="app_notification_block_title" msgid="4069351066849087649">"Block all"</string>
-    <!-- no translation found for app_notification_block_summary (4744020456943215352) -->
-    <skip />
-    <!-- no translation found for notification_content_block_title (5854232570963006360) -->
-    <skip />
-    <!-- no translation found for notification_content_block_summary (7746185794438882389) -->
-    <skip />
-    <!-- no translation found for notification_badge_title (5404669445214920178) -->
-    <skip />
-    <!-- no translation found for notification_badge_summary (3944771498030335669) -->
-    <skip />
+    <string name="app_notification_block_summary" msgid="4744020456943215352">"Never show these notifications"</string>
+    <string name="notification_content_block_title" msgid="5854232570963006360">"Show notifications"</string>
+    <string name="notification_content_block_summary" msgid="7746185794438882389">"Never show notifications in the shade or on peripheral devices"</string>
+    <string name="notification_badge_title" msgid="5404669445214920178">"Show badge"</string>
+    <string name="notification_badge_summary" msgid="3944771498030335669">"Show notifications as badges on the Home app, if supported."</string>
     <string name="app_notification_override_dnd_title" msgid="7867458246395884830">"Override Do Not Disturb"</string>
     <string name="app_notification_override_dnd_summary" msgid="3516007157020189746">"Let these notifications continue to interrupt when Do Not Disturb is set to Priority Only"</string>
     <string name="app_notification_visibility_override_title" msgid="2187232730902430718">"On the lock screen"</string>
@@ -2802,7 +2789,7 @@
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2232461523882170874">"This work profile is managed by:"</string>
     <string name="managing_admin" msgid="8843802210377459055">"Managed by <xliff:g id="ADMIN_APP_LABEL">%s</xliff:g>"</string>
     <string name="experimental_preference" msgid="7083015446690681376">"(Experimental)"</string>
-    <string name="display_auto_rotate_title" msgid="6176450657107806043">"When device is rotated"</string>
+    <string name="display_auto_rotate_title" msgid="7119684966039069439">"Device rotation"</string>
     <string name="display_auto_rotate_rotate" msgid="4544299861233497728">"Rotate the contents of the screen"</string>
     <string name="display_auto_rotate_stay_in_portrait" msgid="292745182318093651">"Stay in portrait view"</string>
     <string name="display_auto_rotate_stay_in_landscape" msgid="3804752830204062162">"Stay in landscape view"</string>
@@ -3192,6 +3179,8 @@
     <string name="page_tab_title_support" msgid="6330657582897417458">"Support"</string>
     <string name="developer_density_summary" msgid="1998244213021456519">"<xliff:g id="ID_1">%d</xliff:g> dp"</string>
     <string name="developer_smallest_width" msgid="7516950434587313360">"Smallest width"</string>
+    <string name="developer_tile" msgid="4822711696408279658">"Development mode"</string>
+    <string name="developer_tile_unavailable" msgid="6559656549479711827">"No active state selected"</string>
     <string name="premium_sms_none" msgid="8268105565738040566">"No installed apps have requested Premium SMS access"</string>
     <string name="premium_sms_warning" msgid="9086859595338944882">"Premium SMS may cost you money and will add up to your mobile bills. If you enable permission for an app, you will be able to send premium SMS using that app."</string>
     <string name="premium_sms_access" msgid="4660047004791638305">"Premium SMS access"</string>
@@ -3221,8 +3210,7 @@
     <string name="support_disclaimer_do_not_show" msgid="3378367075323727539">"Do not show this again"</string>
     <string name="support_account_request_prefix" msgid="6387847874661861650">"Requesting as"</string>
     <string name="support_account_picker_add_account" msgid="5076277544846506214">"Add account"</string>
-    <!-- no translation found for support_system_information_title (3439905790018934773) -->
-    <skip />
+    <string name="support_system_information_title" msgid="3439905790018934773">"System information"</string>
     <string name="managed_profile_settings_title" msgid="2729481936758125054">"Work profile settings"</string>
     <string name="managed_profile_contact_search_title" msgid="6034734926815544221">"Contact search"</string>
     <string name="managed_profile_contact_search_summary" msgid="5431253552272970512">"Allow contact searches by your organisation to identify callers and contacts"</string>
@@ -3313,4 +3301,16 @@
     <string name="enterprise_privacy_bug_reports" msgid="4762460041705169944">"Your most recent bug report"</string>
     <string name="enterprise_privacy_security_logs" msgid="3648730027522011684">"Your most recent security log"</string>
     <string name="enterprise_privacy_never" msgid="1304035596746436921">"Never"</string>
+    <string name="storage_photos_videos" msgid="1872663116054954685">"Photos &amp; Videos"</string>
+    <string name="storage_music_audio" msgid="7890103397813503615">"Music &amp; Audio"</string>
+    <string name="storage_games" msgid="7703159201697117621">"Games"</string>
+    <string name="storage_other_apps" msgid="5524321740031718083">"Other apps"</string>
+    <string name="storage_files" msgid="8581083146777364063">"Files"</string>
+    <string name="storage_settings_2" msgid="6369810699930056554">"Phone Storage"</string>
+    <!-- no translation found for storage_size_large_alternate (3436941214395940966) -->
+    <skip />
+    <!-- no translation found for storage_volume_free (8829609507318832879) -->
+    <skip />
+    <!-- no translation found for storage_percent_used (6741397129281819921) -->
+    <skip />
 </resources>
diff --git a/res/values-en-rGB/strings.xml b/res/values-en-rGB/strings.xml
index 48d65d1..977d800 100644
--- a/res/values-en-rGB/strings.xml
+++ b/res/values-en-rGB/strings.xml
@@ -86,8 +86,7 @@
     <string name="font_size_preview_text_headline" msgid="7955317408475392247">"Sample text"</string>
     <string name="font_size_preview_text_title" msgid="1310536233106975546">"The Wonderful Wizard of Oz"</string>
     <string name="font_size_preview_text_subtitle" msgid="4231671528173110093">"Chapter 11: The Wonderful Emerald City of Oz"</string>
-    <!-- no translation found for font_size_preview_text_body (2846183528684496723) -->
-    <skip />
+    <string name="font_size_preview_text_body" msgid="2846183528684496723">"Even with eyes protected by the green spectacles Dorothy and her friends were at first dazzled by the brilliancy of the wonderful City. The streets were lined with beautiful houses all built of green marble and studded everywhere with sparkling emeralds. They walked over a pavement of the same green marble, and where the blocks were joined together were rows of emeralds, set closely, and glittering in the brightness of the sun. The window panes were of green glass; even the sky above the City had a green tint, and the rays of the sun were green. \n\nThere were many people, men, women and children, walking about, and these were all dressed in green clothes and had greenish skins. They looked at Dorothy and her strangely assorted company with wondering eyes, and the children all ran away and hid behind their mothers when they saw the Lion; but no one spoke to them. Many shops stood in the street, and Dorothy saw that everything in them was green. Green candy and green pop-corn were offered for sale, as well as green shoes, green hats and green clothes of all sorts. At one place a man was selling green lemonade, and when the children bought it Dorothy could see that they paid for it with green pennies. \n\nThere seemed to be no horses or animals of any kind; the men carried things around in little green carts, which they pushed before them. Everyone seemed happy, contented and prosperous."</string>
     <string name="font_size_save" msgid="3450855718056759095">"OK"</string>
     <string name="sdcard_setting" product="nosdcard" msgid="8281011784066476192">"USB storage"</string>
     <string name="sdcard_setting" product="default" msgid="5922637503871474866">"SD card"</string>
@@ -658,7 +657,7 @@
     <string name="android_beam_off_summary" msgid="4663095428454779138">"Off"</string>
     <string name="android_beam_disabled_summary" msgid="1737782116894793393">"Unavailable because NFC is turned off"</string>
     <string name="android_beam_label" msgid="6257036050366775040">"Android Beam"</string>
-    <string name="android_beam_explained" msgid="1828555626055290684">"When this feature is turned on, you can beam app content to another NFC-capable device by holding the devices close together. For example, you can beam Browser pages, YouTube videos, People contacts and more.\n\nJust bring the devices together (typically back to back) and then tap your screen. The app determines what gets beamed."</string>
+    <string name="android_beam_explained" msgid="1810540319385192758">"When this feature is turned on, you can beam app content to another NFC-capable device by holding the devices close together. For example, you can beam web pages, YouTube videos, contacts and more.\n\nJust bring the devices together (typically back to back) and then tap your screen. The app determines what gets beamed."</string>
     <string name="wifi_quick_toggle_title" msgid="8850161330437693895">"Wi‑Fi"</string>
     <string name="wifi_quick_toggle_summary" msgid="2696547080481267642">"Turn on Wi‑Fi"</string>
     <string name="wifi_settings" msgid="29722149822540994">"Wi‑Fi"</string>
@@ -1536,11 +1535,9 @@
     <string name="app_install_location_summary" msgid="5155453752692959098">"Change the preferred installation location for new applications."</string>
     <string name="app_disable_dlg_title" msgid="3916469657537695436">"Disable built-in app?"</string>
     <string name="app_disable_dlg_positive" msgid="7375627244201714263">"Disable app"</string>
-    <!-- no translation found for app_disable_dlg_text (5632072173181990531) -->
-    <skip />
+    <string name="app_disable_dlg_text" msgid="5632072173181990531">"If you disable this app, Android and other apps may no longer function as intended."</string>
     <string name="app_special_disable_dlg_title" msgid="2690148680327142674">"Delete data and disable app?"</string>
-    <!-- no translation found for app_special_disable_dlg_text (5832078825810635913) -->
-    <skip />
+    <string name="app_special_disable_dlg_text" msgid="5832078825810635913">"If you disable this app, Android and other apps may no longer function as intended. Your data will also be deleted."</string>
     <string name="app_disable_notifications_dlg_title" msgid="7669264654851761857">"Turn off notifications"</string>
     <string name="app_disable_notifications_dlg_text" msgid="5088484670924769845">"If you turn off notifications for this app, you may miss important alerts and updates."</string>
     <string name="app_install_details_group_title" msgid="7084623031296083574">"Store"</string>
@@ -2527,8 +2524,7 @@
       <item quantity="other">Show %d hidden items</item>
       <item quantity="one">Show %d hidden item</item>
     </plurals>
-    <!-- no translation found for network_dashboard_title (3135144174846753758) -->
-    <skip />
+    <string name="network_dashboard_title" msgid="3135144174846753758">"Network &amp; Internet"</string>
     <string name="connected_devices_dashboard_title" msgid="2355264951438890709">"Connected devices"</string>
     <string name="app_and_notification_dashboard_title" msgid="7838365599185397539">"Apps &amp; notifications"</string>
     <string name="account_dashboard_title" msgid="38701889336378742">"User &amp; accounts"</string>
@@ -2581,6 +2577,7 @@
     <string name="keywords_profile_challenge" msgid="789611397846512845">"work challenge, work, profile"</string>
     <string name="keywords_unification" msgid="1922900767659821025">"work profile, managed profile, unify, unification, work, profile"</string>
     <string name="keywords_gesture" msgid="5696040361482126337">"gesture"</string>
+    <string name="keywords_payment_settings" msgid="5220104934130446416">"pay, tap, payments"</string>
     <string name="setup_wifi_nfc_tag" msgid="9028353016222911016">"Set up Wi-Fi NFC Tag"</string>
     <string name="write_tag" msgid="8571858602896222537">"Write"</string>
     <string name="status_awaiting_tap" msgid="2130145523773160617">"Tap a tag to write..."</string>
@@ -2653,16 +2650,11 @@
     <string name="app_notifications_title" msgid="139788604658984593">"Notifications"</string>
     <string name="notification_importance_title" msgid="848692592679312666">"Importance"</string>
     <string name="notification_importance_none" msgid="3173515479356106227">"Not set"</string>
-    <!-- no translation found for notification_importance_blocked (7938180808339386300) -->
-    <skip />
-    <!-- no translation found for notification_importance_min (5455049524984686275) -->
-    <skip />
-    <!-- no translation found for notification_importance_low (2445139943005315690) -->
-    <skip />
-    <!-- no translation found for notification_importance_default (5958338024601957516) -->
-    <skip />
-    <!-- no translation found for notification_importance_high (2082429479238228527) -->
-    <skip />
+    <string name="notification_importance_blocked" msgid="7938180808339386300">"Never show notifications"</string>
+    <string name="notification_importance_min" msgid="5455049524984686275">"No sound or visual interruption"</string>
+    <string name="notification_importance_low" msgid="2445139943005315690">"Show silently"</string>
+    <string name="notification_importance_default" msgid="5958338024601957516">"Make sound"</string>
+    <string name="notification_importance_high" msgid="2082429479238228527">"Make sound and pop on screen"</string>
     <string name="importance_reset" msgid="7458420788555607007">"Reset"</string>
     <string name="show_silently" msgid="2222875799232222056">"Show silently"</string>
     <string name="show_silently_summary" msgid="7616604629123146565">"Don\'t make sound, vibrate or peek these notifications into view on the current screen."</string>
@@ -2691,16 +2683,11 @@
     <string name="loading_notification_apps" msgid="5031818677010335895">"Loading apps..."</string>
     <string name="notification_channels" msgid="8681423709659818791">"Channels"</string>
     <string name="app_notification_block_title" msgid="4069351066849087649">"Block all"</string>
-    <!-- no translation found for app_notification_block_summary (4744020456943215352) -->
-    <skip />
-    <!-- no translation found for notification_content_block_title (5854232570963006360) -->
-    <skip />
-    <!-- no translation found for notification_content_block_summary (7746185794438882389) -->
-    <skip />
-    <!-- no translation found for notification_badge_title (5404669445214920178) -->
-    <skip />
-    <!-- no translation found for notification_badge_summary (3944771498030335669) -->
-    <skip />
+    <string name="app_notification_block_summary" msgid="4744020456943215352">"Never show these notifications"</string>
+    <string name="notification_content_block_title" msgid="5854232570963006360">"Show notifications"</string>
+    <string name="notification_content_block_summary" msgid="7746185794438882389">"Never show notifications in the shade or on peripheral devices"</string>
+    <string name="notification_badge_title" msgid="5404669445214920178">"Show badge"</string>
+    <string name="notification_badge_summary" msgid="3944771498030335669">"Show notifications as badges on the Home app, if supported."</string>
     <string name="app_notification_override_dnd_title" msgid="7867458246395884830">"Override Do Not Disturb"</string>
     <string name="app_notification_override_dnd_summary" msgid="3516007157020189746">"Let these notifications continue to interrupt when Do Not Disturb is set to Priority Only"</string>
     <string name="app_notification_visibility_override_title" msgid="2187232730902430718">"On the lock screen"</string>
@@ -2802,7 +2789,7 @@
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2232461523882170874">"This work profile is managed by:"</string>
     <string name="managing_admin" msgid="8843802210377459055">"Managed by <xliff:g id="ADMIN_APP_LABEL">%s</xliff:g>"</string>
     <string name="experimental_preference" msgid="7083015446690681376">"(Experimental)"</string>
-    <string name="display_auto_rotate_title" msgid="6176450657107806043">"When device is rotated"</string>
+    <string name="display_auto_rotate_title" msgid="7119684966039069439">"Device rotation"</string>
     <string name="display_auto_rotate_rotate" msgid="4544299861233497728">"Rotate the contents of the screen"</string>
     <string name="display_auto_rotate_stay_in_portrait" msgid="292745182318093651">"Stay in portrait view"</string>
     <string name="display_auto_rotate_stay_in_landscape" msgid="3804752830204062162">"Stay in landscape view"</string>
@@ -3192,6 +3179,8 @@
     <string name="page_tab_title_support" msgid="6330657582897417458">"Support"</string>
     <string name="developer_density_summary" msgid="1998244213021456519">"<xliff:g id="ID_1">%d</xliff:g> dp"</string>
     <string name="developer_smallest_width" msgid="7516950434587313360">"Smallest width"</string>
+    <string name="developer_tile" msgid="4822711696408279658">"Development mode"</string>
+    <string name="developer_tile_unavailable" msgid="6559656549479711827">"No active state selected"</string>
     <string name="premium_sms_none" msgid="8268105565738040566">"No installed apps have requested Premium SMS access"</string>
     <string name="premium_sms_warning" msgid="9086859595338944882">"Premium SMS may cost you money and will add up to your mobile bills. If you enable permission for an app, you will be able to send premium SMS using that app."</string>
     <string name="premium_sms_access" msgid="4660047004791638305">"Premium SMS access"</string>
@@ -3221,8 +3210,7 @@
     <string name="support_disclaimer_do_not_show" msgid="3378367075323727539">"Do not show this again"</string>
     <string name="support_account_request_prefix" msgid="6387847874661861650">"Requesting as"</string>
     <string name="support_account_picker_add_account" msgid="5076277544846506214">"Add account"</string>
-    <!-- no translation found for support_system_information_title (3439905790018934773) -->
-    <skip />
+    <string name="support_system_information_title" msgid="3439905790018934773">"System information"</string>
     <string name="managed_profile_settings_title" msgid="2729481936758125054">"Work profile settings"</string>
     <string name="managed_profile_contact_search_title" msgid="6034734926815544221">"Contact search"</string>
     <string name="managed_profile_contact_search_summary" msgid="5431253552272970512">"Allow contact searches by your organisation to identify callers and contacts"</string>
@@ -3313,4 +3301,16 @@
     <string name="enterprise_privacy_bug_reports" msgid="4762460041705169944">"Your most recent bug report"</string>
     <string name="enterprise_privacy_security_logs" msgid="3648730027522011684">"Your most recent security log"</string>
     <string name="enterprise_privacy_never" msgid="1304035596746436921">"Never"</string>
+    <string name="storage_photos_videos" msgid="1872663116054954685">"Photos &amp; Videos"</string>
+    <string name="storage_music_audio" msgid="7890103397813503615">"Music &amp; Audio"</string>
+    <string name="storage_games" msgid="7703159201697117621">"Games"</string>
+    <string name="storage_other_apps" msgid="5524321740031718083">"Other apps"</string>
+    <string name="storage_files" msgid="8581083146777364063">"Files"</string>
+    <string name="storage_settings_2" msgid="6369810699930056554">"Phone Storage"</string>
+    <!-- no translation found for storage_size_large_alternate (3436941214395940966) -->
+    <skip />
+    <!-- no translation found for storage_volume_free (8829609507318832879) -->
+    <skip />
+    <!-- no translation found for storage_percent_used (6741397129281819921) -->
+    <skip />
 </resources>
diff --git a/res/values-en-rIN/strings.xml b/res/values-en-rIN/strings.xml
index 48d65d1..977d800 100644
--- a/res/values-en-rIN/strings.xml
+++ b/res/values-en-rIN/strings.xml
@@ -86,8 +86,7 @@
     <string name="font_size_preview_text_headline" msgid="7955317408475392247">"Sample text"</string>
     <string name="font_size_preview_text_title" msgid="1310536233106975546">"The Wonderful Wizard of Oz"</string>
     <string name="font_size_preview_text_subtitle" msgid="4231671528173110093">"Chapter 11: The Wonderful Emerald City of Oz"</string>
-    <!-- no translation found for font_size_preview_text_body (2846183528684496723) -->
-    <skip />
+    <string name="font_size_preview_text_body" msgid="2846183528684496723">"Even with eyes protected by the green spectacles Dorothy and her friends were at first dazzled by the brilliancy of the wonderful City. The streets were lined with beautiful houses all built of green marble and studded everywhere with sparkling emeralds. They walked over a pavement of the same green marble, and where the blocks were joined together were rows of emeralds, set closely, and glittering in the brightness of the sun. The window panes were of green glass; even the sky above the City had a green tint, and the rays of the sun were green. \n\nThere were many people, men, women and children, walking about, and these were all dressed in green clothes and had greenish skins. They looked at Dorothy and her strangely assorted company with wondering eyes, and the children all ran away and hid behind their mothers when they saw the Lion; but no one spoke to them. Many shops stood in the street, and Dorothy saw that everything in them was green. Green candy and green pop-corn were offered for sale, as well as green shoes, green hats and green clothes of all sorts. At one place a man was selling green lemonade, and when the children bought it Dorothy could see that they paid for it with green pennies. \n\nThere seemed to be no horses or animals of any kind; the men carried things around in little green carts, which they pushed before them. Everyone seemed happy, contented and prosperous."</string>
     <string name="font_size_save" msgid="3450855718056759095">"OK"</string>
     <string name="sdcard_setting" product="nosdcard" msgid="8281011784066476192">"USB storage"</string>
     <string name="sdcard_setting" product="default" msgid="5922637503871474866">"SD card"</string>
@@ -658,7 +657,7 @@
     <string name="android_beam_off_summary" msgid="4663095428454779138">"Off"</string>
     <string name="android_beam_disabled_summary" msgid="1737782116894793393">"Unavailable because NFC is turned off"</string>
     <string name="android_beam_label" msgid="6257036050366775040">"Android Beam"</string>
-    <string name="android_beam_explained" msgid="1828555626055290684">"When this feature is turned on, you can beam app content to another NFC-capable device by holding the devices close together. For example, you can beam Browser pages, YouTube videos, People contacts and more.\n\nJust bring the devices together (typically back to back) and then tap your screen. The app determines what gets beamed."</string>
+    <string name="android_beam_explained" msgid="1810540319385192758">"When this feature is turned on, you can beam app content to another NFC-capable device by holding the devices close together. For example, you can beam web pages, YouTube videos, contacts and more.\n\nJust bring the devices together (typically back to back) and then tap your screen. The app determines what gets beamed."</string>
     <string name="wifi_quick_toggle_title" msgid="8850161330437693895">"Wi‑Fi"</string>
     <string name="wifi_quick_toggle_summary" msgid="2696547080481267642">"Turn on Wi‑Fi"</string>
     <string name="wifi_settings" msgid="29722149822540994">"Wi‑Fi"</string>
@@ -1536,11 +1535,9 @@
     <string name="app_install_location_summary" msgid="5155453752692959098">"Change the preferred installation location for new applications."</string>
     <string name="app_disable_dlg_title" msgid="3916469657537695436">"Disable built-in app?"</string>
     <string name="app_disable_dlg_positive" msgid="7375627244201714263">"Disable app"</string>
-    <!-- no translation found for app_disable_dlg_text (5632072173181990531) -->
-    <skip />
+    <string name="app_disable_dlg_text" msgid="5632072173181990531">"If you disable this app, Android and other apps may no longer function as intended."</string>
     <string name="app_special_disable_dlg_title" msgid="2690148680327142674">"Delete data and disable app?"</string>
-    <!-- no translation found for app_special_disable_dlg_text (5832078825810635913) -->
-    <skip />
+    <string name="app_special_disable_dlg_text" msgid="5832078825810635913">"If you disable this app, Android and other apps may no longer function as intended. Your data will also be deleted."</string>
     <string name="app_disable_notifications_dlg_title" msgid="7669264654851761857">"Turn off notifications"</string>
     <string name="app_disable_notifications_dlg_text" msgid="5088484670924769845">"If you turn off notifications for this app, you may miss important alerts and updates."</string>
     <string name="app_install_details_group_title" msgid="7084623031296083574">"Store"</string>
@@ -2527,8 +2524,7 @@
       <item quantity="other">Show %d hidden items</item>
       <item quantity="one">Show %d hidden item</item>
     </plurals>
-    <!-- no translation found for network_dashboard_title (3135144174846753758) -->
-    <skip />
+    <string name="network_dashboard_title" msgid="3135144174846753758">"Network &amp; Internet"</string>
     <string name="connected_devices_dashboard_title" msgid="2355264951438890709">"Connected devices"</string>
     <string name="app_and_notification_dashboard_title" msgid="7838365599185397539">"Apps &amp; notifications"</string>
     <string name="account_dashboard_title" msgid="38701889336378742">"User &amp; accounts"</string>
@@ -2581,6 +2577,7 @@
     <string name="keywords_profile_challenge" msgid="789611397846512845">"work challenge, work, profile"</string>
     <string name="keywords_unification" msgid="1922900767659821025">"work profile, managed profile, unify, unification, work, profile"</string>
     <string name="keywords_gesture" msgid="5696040361482126337">"gesture"</string>
+    <string name="keywords_payment_settings" msgid="5220104934130446416">"pay, tap, payments"</string>
     <string name="setup_wifi_nfc_tag" msgid="9028353016222911016">"Set up Wi-Fi NFC Tag"</string>
     <string name="write_tag" msgid="8571858602896222537">"Write"</string>
     <string name="status_awaiting_tap" msgid="2130145523773160617">"Tap a tag to write..."</string>
@@ -2653,16 +2650,11 @@
     <string name="app_notifications_title" msgid="139788604658984593">"Notifications"</string>
     <string name="notification_importance_title" msgid="848692592679312666">"Importance"</string>
     <string name="notification_importance_none" msgid="3173515479356106227">"Not set"</string>
-    <!-- no translation found for notification_importance_blocked (7938180808339386300) -->
-    <skip />
-    <!-- no translation found for notification_importance_min (5455049524984686275) -->
-    <skip />
-    <!-- no translation found for notification_importance_low (2445139943005315690) -->
-    <skip />
-    <!-- no translation found for notification_importance_default (5958338024601957516) -->
-    <skip />
-    <!-- no translation found for notification_importance_high (2082429479238228527) -->
-    <skip />
+    <string name="notification_importance_blocked" msgid="7938180808339386300">"Never show notifications"</string>
+    <string name="notification_importance_min" msgid="5455049524984686275">"No sound or visual interruption"</string>
+    <string name="notification_importance_low" msgid="2445139943005315690">"Show silently"</string>
+    <string name="notification_importance_default" msgid="5958338024601957516">"Make sound"</string>
+    <string name="notification_importance_high" msgid="2082429479238228527">"Make sound and pop on screen"</string>
     <string name="importance_reset" msgid="7458420788555607007">"Reset"</string>
     <string name="show_silently" msgid="2222875799232222056">"Show silently"</string>
     <string name="show_silently_summary" msgid="7616604629123146565">"Don\'t make sound, vibrate or peek these notifications into view on the current screen."</string>
@@ -2691,16 +2683,11 @@
     <string name="loading_notification_apps" msgid="5031818677010335895">"Loading apps..."</string>
     <string name="notification_channels" msgid="8681423709659818791">"Channels"</string>
     <string name="app_notification_block_title" msgid="4069351066849087649">"Block all"</string>
-    <!-- no translation found for app_notification_block_summary (4744020456943215352) -->
-    <skip />
-    <!-- no translation found for notification_content_block_title (5854232570963006360) -->
-    <skip />
-    <!-- no translation found for notification_content_block_summary (7746185794438882389) -->
-    <skip />
-    <!-- no translation found for notification_badge_title (5404669445214920178) -->
-    <skip />
-    <!-- no translation found for notification_badge_summary (3944771498030335669) -->
-    <skip />
+    <string name="app_notification_block_summary" msgid="4744020456943215352">"Never show these notifications"</string>
+    <string name="notification_content_block_title" msgid="5854232570963006360">"Show notifications"</string>
+    <string name="notification_content_block_summary" msgid="7746185794438882389">"Never show notifications in the shade or on peripheral devices"</string>
+    <string name="notification_badge_title" msgid="5404669445214920178">"Show badge"</string>
+    <string name="notification_badge_summary" msgid="3944771498030335669">"Show notifications as badges on the Home app, if supported."</string>
     <string name="app_notification_override_dnd_title" msgid="7867458246395884830">"Override Do Not Disturb"</string>
     <string name="app_notification_override_dnd_summary" msgid="3516007157020189746">"Let these notifications continue to interrupt when Do Not Disturb is set to Priority Only"</string>
     <string name="app_notification_visibility_override_title" msgid="2187232730902430718">"On the lock screen"</string>
@@ -2802,7 +2789,7 @@
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2232461523882170874">"This work profile is managed by:"</string>
     <string name="managing_admin" msgid="8843802210377459055">"Managed by <xliff:g id="ADMIN_APP_LABEL">%s</xliff:g>"</string>
     <string name="experimental_preference" msgid="7083015446690681376">"(Experimental)"</string>
-    <string name="display_auto_rotate_title" msgid="6176450657107806043">"When device is rotated"</string>
+    <string name="display_auto_rotate_title" msgid="7119684966039069439">"Device rotation"</string>
     <string name="display_auto_rotate_rotate" msgid="4544299861233497728">"Rotate the contents of the screen"</string>
     <string name="display_auto_rotate_stay_in_portrait" msgid="292745182318093651">"Stay in portrait view"</string>
     <string name="display_auto_rotate_stay_in_landscape" msgid="3804752830204062162">"Stay in landscape view"</string>
@@ -3192,6 +3179,8 @@
     <string name="page_tab_title_support" msgid="6330657582897417458">"Support"</string>
     <string name="developer_density_summary" msgid="1998244213021456519">"<xliff:g id="ID_1">%d</xliff:g> dp"</string>
     <string name="developer_smallest_width" msgid="7516950434587313360">"Smallest width"</string>
+    <string name="developer_tile" msgid="4822711696408279658">"Development mode"</string>
+    <string name="developer_tile_unavailable" msgid="6559656549479711827">"No active state selected"</string>
     <string name="premium_sms_none" msgid="8268105565738040566">"No installed apps have requested Premium SMS access"</string>
     <string name="premium_sms_warning" msgid="9086859595338944882">"Premium SMS may cost you money and will add up to your mobile bills. If you enable permission for an app, you will be able to send premium SMS using that app."</string>
     <string name="premium_sms_access" msgid="4660047004791638305">"Premium SMS access"</string>
@@ -3221,8 +3210,7 @@
     <string name="support_disclaimer_do_not_show" msgid="3378367075323727539">"Do not show this again"</string>
     <string name="support_account_request_prefix" msgid="6387847874661861650">"Requesting as"</string>
     <string name="support_account_picker_add_account" msgid="5076277544846506214">"Add account"</string>
-    <!-- no translation found for support_system_information_title (3439905790018934773) -->
-    <skip />
+    <string name="support_system_information_title" msgid="3439905790018934773">"System information"</string>
     <string name="managed_profile_settings_title" msgid="2729481936758125054">"Work profile settings"</string>
     <string name="managed_profile_contact_search_title" msgid="6034734926815544221">"Contact search"</string>
     <string name="managed_profile_contact_search_summary" msgid="5431253552272970512">"Allow contact searches by your organisation to identify callers and contacts"</string>
@@ -3313,4 +3301,16 @@
     <string name="enterprise_privacy_bug_reports" msgid="4762460041705169944">"Your most recent bug report"</string>
     <string name="enterprise_privacy_security_logs" msgid="3648730027522011684">"Your most recent security log"</string>
     <string name="enterprise_privacy_never" msgid="1304035596746436921">"Never"</string>
+    <string name="storage_photos_videos" msgid="1872663116054954685">"Photos &amp; Videos"</string>
+    <string name="storage_music_audio" msgid="7890103397813503615">"Music &amp; Audio"</string>
+    <string name="storage_games" msgid="7703159201697117621">"Games"</string>
+    <string name="storage_other_apps" msgid="5524321740031718083">"Other apps"</string>
+    <string name="storage_files" msgid="8581083146777364063">"Files"</string>
+    <string name="storage_settings_2" msgid="6369810699930056554">"Phone Storage"</string>
+    <!-- no translation found for storage_size_large_alternate (3436941214395940966) -->
+    <skip />
+    <!-- no translation found for storage_volume_free (8829609507318832879) -->
+    <skip />
+    <!-- no translation found for storage_percent_used (6741397129281819921) -->
+    <skip />
 </resources>
diff --git a/res/values-es-rUS/strings.xml b/res/values-es-rUS/strings.xml
index adedf27..05fc4bb 100644
--- a/res/values-es-rUS/strings.xml
+++ b/res/values-es-rUS/strings.xml
@@ -658,7 +658,7 @@
     <string name="android_beam_off_summary" msgid="4663095428454779138">"Desactivada"</string>
     <string name="android_beam_disabled_summary" msgid="1737782116894793393">"No disponible porque NFC está desactivada"</string>
     <string name="android_beam_label" msgid="6257036050366775040">"Android Beam"</string>
-    <string name="android_beam_explained" msgid="1828555626055290684">"Cuando esta función está activada, puedes transmitir el contenido de las apps a otro dispositivo que tenga la función NFC con solo juntar los dispositivos. Por ejemplo, puedes transmitir páginas del navegador, videos de YouTube, contactos y mucho más.\n\nSolo tienes que juntar los dispositivos (normalmente, las partes posteriores) y, a continuación, presionar la pantalla de tu dispositivo. La app determina el contenido que se transmite."</string>
+    <string name="android_beam_explained" msgid="1810540319385192758">"Cuando esta función está activada, puedes transmitir el contenido de las aplicaciones a otro dispositivo con NFC con solo juntar los dispositivos. Por ejemplo, puedes transmitir páginas web, videos de YouTube, contactos y mucho más.\n\nSolo tienes que juntar los dispositivos (normalmente, por la parte posterior) y, a continuación, presionar la pantalla de tu dispositivo. La app determina el contenido que se transmite."</string>
     <string name="wifi_quick_toggle_title" msgid="8850161330437693895">"Wi-Fi"</string>
     <string name="wifi_quick_toggle_summary" msgid="2696547080481267642">"Activar Wi-Fi"</string>
     <string name="wifi_settings" msgid="29722149822540994">"Wi-Fi"</string>
@@ -2581,6 +2581,7 @@
     <string name="keywords_profile_challenge" msgid="789611397846512845">"desafíos de trabajo, trabajo, perfil"</string>
     <string name="keywords_unification" msgid="1922900767659821025">"perfil de trabajo, perfil administrado, unificar, unificación, trabajo, perfil"</string>
     <string name="keywords_gesture" msgid="5696040361482126337">"gesto"</string>
+    <string name="keywords_payment_settings" msgid="5220104934130446416">"pagar, presionar, pagos"</string>
     <string name="setup_wifi_nfc_tag" msgid="9028353016222911016">"Configurar etiqueta NFC Wi-Fi"</string>
     <string name="write_tag" msgid="8571858602896222537">"Escribir"</string>
     <string name="status_awaiting_tap" msgid="2130145523773160617">"Presiona una etiqueta para editarla…"</string>
@@ -2800,7 +2801,7 @@
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2232461523882170874">"La siguiente aplicación administra este perfil de trabajo:"</string>
     <string name="managing_admin" msgid="8843802210377459055">"Administrado por <xliff:g id="ADMIN_APP_LABEL">%s</xliff:g>"</string>
     <string name="experimental_preference" msgid="7083015446690681376">"(Experimental)"</string>
-    <string name="display_auto_rotate_title" msgid="6176450657107806043">"Al girar el dispositivo"</string>
+    <string name="display_auto_rotate_title" msgid="7119684966039069439">"Rotación del dispositivo"</string>
     <string name="display_auto_rotate_rotate" msgid="4544299861233497728">"Girar el contenido de la pantalla"</string>
     <string name="display_auto_rotate_stay_in_portrait" msgid="292745182318093651">"Mantener vista vertical"</string>
     <string name="display_auto_rotate_stay_in_landscape" msgid="3804752830204062162">"Mantener vista horizontal"</string>
@@ -3190,6 +3191,8 @@
     <string name="page_tab_title_support" msgid="6330657582897417458">"Asistencia"</string>
     <string name="developer_density_summary" msgid="1998244213021456519">"<xliff:g id="ID_1">%d</xliff:g> dp"</string>
     <string name="developer_smallest_width" msgid="7516950434587313360">"Ancho más pequeño"</string>
+    <string name="developer_tile" msgid="4822711696408279658">"Modo de desarrollo"</string>
+    <string name="developer_tile_unavailable" msgid="6559656549479711827">"No hay ningún estado activo seleccionado"</string>
     <string name="premium_sms_none" msgid="8268105565738040566">"Ninguna app que instalaste solicitó acceso a SMS premium"</string>
     <string name="premium_sms_warning" msgid="9086859595338944882">"SMS Premium podría implicar cargos en la factura de tu proveedor. Si otorgaste permiso a alguna app, podrás enviar SMS premium con esa app."</string>
     <string name="premium_sms_access" msgid="4660047004791638305">"Acceso a SMS premium"</string>
@@ -3311,4 +3314,16 @@
     <string name="enterprise_privacy_bug_reports" msgid="4762460041705169944">"Tu informe de errores más reciente"</string>
     <string name="enterprise_privacy_security_logs" msgid="3648730027522011684">"Tu registro de seguridad más reciente"</string>
     <string name="enterprise_privacy_never" msgid="1304035596746436921">"Nunca"</string>
+    <string name="storage_photos_videos" msgid="1872663116054954685">"Fotos y videos"</string>
+    <string name="storage_music_audio" msgid="7890103397813503615">"Música y audio"</string>
+    <string name="storage_games" msgid="7703159201697117621">"Juegos"</string>
+    <string name="storage_other_apps" msgid="5524321740031718083">"Otras apps"</string>
+    <string name="storage_files" msgid="8581083146777364063">"Archivos"</string>
+    <string name="storage_settings_2" msgid="6369810699930056554">"Almacenamiento del dispositivo"</string>
+    <!-- no translation found for storage_size_large_alternate (3436941214395940966) -->
+    <skip />
+    <!-- no translation found for storage_volume_free (8829609507318832879) -->
+    <skip />
+    <!-- no translation found for storage_percent_used (6741397129281819921) -->
+    <skip />
 </resources>
diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml
index 667beb0..beb4795 100644
--- a/res/values-es/strings.xml
+++ b/res/values-es/strings.xml
@@ -658,7 +658,7 @@
     <string name="android_beam_off_summary" msgid="4663095428454779138">"No"</string>
     <string name="android_beam_disabled_summary" msgid="1737782116894793393">"No disponible porque la función NFC está desactivada"</string>
     <string name="android_beam_label" msgid="6257036050366775040">"Android Beam"</string>
-    <string name="android_beam_explained" msgid="1828555626055290684">"Si esta función está activada, puedes compartir el contenido de la aplicación con otros dispositivos con NFC si los mantienes cerca. Por ejemplo, puedes compartir páginas del navegador, vídeos de YouTube, contactos de la aplicación Contactos y mucho más.\n\nSolo tienes que unir los dispositivos (normalmente por la parte trasera) y, a continuación, tocar la pantalla del dispositivo. La aplicación determina lo que se comparte."</string>
+    <string name="android_beam_explained" msgid="1810540319385192758">"Si esta función está activada, puedes compartir contenido de la aplicación con otro dispositivo con NFC. Para ello, mantén los dispositivos cerca. Por ejemplo, puedes compartir páginas web, vídeos de YouTube, contactos y mucho más.\n\nSolo tienes que juntar los dispositivos (normalmente, por la parte de atrás) y tocar la pantalla. La aplicación decide el contenido que se comparte."</string>
     <string name="wifi_quick_toggle_title" msgid="8850161330437693895">"Wi-Fi"</string>
     <string name="wifi_quick_toggle_summary" msgid="2696547080481267642">"Activar conexión Wi-Fi"</string>
     <string name="wifi_settings" msgid="29722149822540994">"Wi-Fi"</string>
@@ -2581,6 +2581,7 @@
     <string name="keywords_profile_challenge" msgid="789611397846512845">"reto de trabajo, perfil, trabajo"</string>
     <string name="keywords_unification" msgid="1922900767659821025">"perfil de trabajo, perfil administrado, unificar, unificación, trabajo, perfil"</string>
     <string name="keywords_gesture" msgid="5696040361482126337">"gesto"</string>
+    <string name="keywords_payment_settings" msgid="5220104934130446416">"pagar, tocar, pagos"</string>
     <string name="setup_wifi_nfc_tag" msgid="9028353016222911016">"Configurar etiqueta NFC Wi-Fi"</string>
     <string name="write_tag" msgid="8571858602896222537">"Editar"</string>
     <string name="status_awaiting_tap" msgid="2130145523773160617">"Toca una etiqueta para editarla..."</string>
@@ -2802,7 +2803,7 @@
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2232461523882170874">"Este perfil de trabajo está administrado por:"</string>
     <string name="managing_admin" msgid="8843802210377459055">"Administrado por <xliff:g id="ADMIN_APP_LABEL">%s</xliff:g>"</string>
     <string name="experimental_preference" msgid="7083015446690681376">"(Experimental)"</string>
-    <string name="display_auto_rotate_title" msgid="6176450657107806043">"Al girar el dispositivo"</string>
+    <string name="display_auto_rotate_title" msgid="7119684966039069439">"Rotación del dispositivo"</string>
     <string name="display_auto_rotate_rotate" msgid="4544299861233497728">"Girar el contenido de la pantalla"</string>
     <string name="display_auto_rotate_stay_in_portrait" msgid="292745182318093651">"Mantener vista vertical"</string>
     <string name="display_auto_rotate_stay_in_landscape" msgid="3804752830204062162">"Mantener vista horizontal"</string>
@@ -3192,6 +3193,8 @@
     <string name="page_tab_title_support" msgid="6330657582897417458">"Ayuda"</string>
     <string name="developer_density_summary" msgid="1998244213021456519">"<xliff:g id="ID_1">%d</xliff:g> dp"</string>
     <string name="developer_smallest_width" msgid="7516950434587313360">"Ancho más pequeño"</string>
+    <string name="developer_tile" msgid="4822711696408279658">"Modo de desarrollo"</string>
+    <string name="developer_tile_unavailable" msgid="6559656549479711827">"No se ha seleccionado ningún estado activo"</string>
     <string name="premium_sms_none" msgid="8268105565738040566">"Ninguna aplicación instalada ha solicitado acceso SMS premium"</string>
     <string name="premium_sms_warning" msgid="9086859595338944882">"Es posible que el envío de SMS premium te cueste dinero y el importe correspondiente se sume a las facturas de tu operador. Si habilitas el permiso para una aplicación, puedes enviar SMS premium con ella."</string>
     <string name="premium_sms_access" msgid="4660047004791638305">"Acceso SMS premium"</string>
@@ -3313,4 +3316,16 @@
     <string name="enterprise_privacy_bug_reports" msgid="4762460041705169944">"Tu informe de errores más reciente"</string>
     <string name="enterprise_privacy_security_logs" msgid="3648730027522011684">"Tu registro de seguridad más reciente"</string>
     <string name="enterprise_privacy_never" msgid="1304035596746436921">"Nunca"</string>
+    <string name="storage_photos_videos" msgid="1872663116054954685">"Fotos y vídeos"</string>
+    <string name="storage_music_audio" msgid="7890103397813503615">"Música y audio"</string>
+    <string name="storage_games" msgid="7703159201697117621">"Juegos"</string>
+    <string name="storage_other_apps" msgid="5524321740031718083">"Otras aplicaciones"</string>
+    <string name="storage_files" msgid="8581083146777364063">"Archivos"</string>
+    <string name="storage_settings_2" msgid="6369810699930056554">"Almacenamiento teléfono"</string>
+    <!-- no translation found for storage_size_large_alternate (3436941214395940966) -->
+    <skip />
+    <!-- no translation found for storage_volume_free (8829609507318832879) -->
+    <skip />
+    <!-- no translation found for storage_percent_used (6741397129281819921) -->
+    <skip />
 </resources>
diff --git a/res/values-et-rEE-nokeys/strings.xml b/res/values-et-rEE-nokeys/strings.xml
deleted file mode 100644
index 39715f9..0000000
--- a/res/values-et-rEE-nokeys/strings.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2007 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.
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="applications_settings_summary" msgid="6616938758022986257">"Rakenduste haldamine"</string>
-</resources>
diff --git a/res/values-et-rEE/arrays.xml b/res/values-et/arrays.xml
similarity index 100%
rename from res/values-et-rEE/arrays.xml
rename to res/values-et/arrays.xml
diff --git a/res/values-et-rEE/strings.xml b/res/values-et/strings.xml
similarity index 99%
rename from res/values-et-rEE/strings.xml
rename to res/values-et/strings.xml
index 66f79c5..c76a4f2 100644
--- a/res/values-et-rEE/strings.xml
+++ b/res/values-et/strings.xml
@@ -658,7 +658,7 @@
     <string name="android_beam_off_summary" msgid="4663095428454779138">"Väljas"</string>
     <string name="android_beam_disabled_summary" msgid="1737782116894793393">"Pole saadaval, kuna NFC on välja lülitatud"</string>
     <string name="android_beam_label" msgid="6257036050366775040">"Android Beam"</string>
-    <string name="android_beam_explained" msgid="1828555626055290684">"Kui see funktsioon on sisse lülitatud, saate rakenduse sisu teise NFC-toega seadmesse kiirega saata, kui hoiate seadmeid üksteise lähedal. Nii saate edastada näiteks brauserilehti, YouTube\'i videoid, inimeste kontakte ja muud.\n\nLihtsalt hoidke seadmeid lähestikku (tavaliselt tagused koos) ja seejärel puudutage seadme ekraani. Rakendus määrab, mida kiirega edastatakse."</string>
+    <string name="android_beam_explained" msgid="1810540319385192758">"Kui see funktsioon on sisse lülitatud, saate rakenduse sisu teise NFC-toega seadmesse kiirega saata, kui hoiate seadmeid üksteise lähedal. Nii saate kiirega edastada näiteks veebilehti, YouTube\'i videoid, kontakte ja muud.\n\nLihtsalt hoidke seadmeid lähestikku (tavaliselt tagakülgi koos) ja seejärel puudutage seadme ekraani. Rakendus määrab, mida kiirega edastatakse."</string>
     <string name="wifi_quick_toggle_title" msgid="8850161330437693895">"WiFi"</string>
     <string name="wifi_quick_toggle_summary" msgid="2696547080481267642">"Lülita WiFi sisse"</string>
     <string name="wifi_settings" msgid="29722149822540994">"WiFi"</string>
@@ -2581,6 +2581,7 @@
     <string name="keywords_profile_challenge" msgid="789611397846512845">"töö väljakutse, töö, profiil"</string>
     <string name="keywords_unification" msgid="1922900767659821025">"tööprofiil, hallatud profiil, ühenda, ühendamine, töö, profiil"</string>
     <string name="keywords_gesture" msgid="5696040361482126337">"liigutus"</string>
+    <string name="keywords_payment_settings" msgid="5220104934130446416">"maksa, puuduta, maksed"</string>
     <string name="setup_wifi_nfc_tag" msgid="9028353016222911016">"WiFi NFC-kiibi seadistamine"</string>
     <string name="write_tag" msgid="8571858602896222537">"Kirjuta"</string>
     <string name="status_awaiting_tap" msgid="2130145523773160617">"Kirjutamiseks puudutage kiipi ..."</string>
@@ -2802,7 +2803,7 @@
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2232461523882170874">"Seda tööprofiili hallatakse rakendusega"</string>
     <string name="managing_admin" msgid="8843802210377459055">"Haldab <xliff:g id="ADMIN_APP_LABEL">%s</xliff:g>"</string>
     <string name="experimental_preference" msgid="7083015446690681376">"(Katseline)"</string>
-    <string name="display_auto_rotate_title" msgid="6176450657107806043">"Kui seade on pööratud"</string>
+    <string name="display_auto_rotate_title" msgid="7119684966039069439">"Seadme pööramine"</string>
     <string name="display_auto_rotate_rotate" msgid="4544299861233497728">"Ekraanikuva sisu pööramine"</string>
     <string name="display_auto_rotate_stay_in_portrait" msgid="292745182318093651">"Vertikaalkuva säilitamine"</string>
     <string name="display_auto_rotate_stay_in_landscape" msgid="3804752830204062162">"Horisontaalkuva säilitamine"</string>
@@ -3192,6 +3193,8 @@
     <string name="page_tab_title_support" msgid="6330657582897417458">"Tugi"</string>
     <string name="developer_density_summary" msgid="1998244213021456519">"<xliff:g id="ID_1">%d</xliff:g> dp"</string>
     <string name="developer_smallest_width" msgid="7516950434587313360">"Kõige väiksem laius"</string>
+    <string name="developer_tile" msgid="4822711696408279658">"Arendusrežiim"</string>
+    <string name="developer_tile_unavailable" msgid="6559656549479711827">"Aktiivset olekut pole valitud"</string>
     <string name="premium_sms_none" msgid="8268105565738040566">"Ükski installitud rakendus pole taotlenud juurdepääsu tasuliste SMS-ide saatmiseks"</string>
     <string name="premium_sms_warning" msgid="9086859595338944882">"Tasuliste SMS-ide saatmisel võidakse teilt nõuda tasu, mis lisatakse operaatori esitatud arvele. Kui annate rakendusele loa, saate selle rakendusega tasulisi SMS-e saata."</string>
     <string name="premium_sms_access" msgid="4660047004791638305">"Juurdepääs tasuliste SMS-ide saatmiseks"</string>
@@ -3313,4 +3316,16 @@
     <string name="enterprise_privacy_bug_reports" msgid="4762460041705169944">"Teie kõige viimane veaaruanne"</string>
     <string name="enterprise_privacy_security_logs" msgid="3648730027522011684">"Teie hiljutine turvalogi"</string>
     <string name="enterprise_privacy_never" msgid="1304035596746436921">"Mitte kunagi"</string>
+    <string name="storage_photos_videos" msgid="1872663116054954685">"Fotod ja videod"</string>
+    <string name="storage_music_audio" msgid="7890103397813503615">"Muusika ja heli"</string>
+    <string name="storage_games" msgid="7703159201697117621">"Mängud"</string>
+    <string name="storage_other_apps" msgid="5524321740031718083">"Muud rakendused"</string>
+    <string name="storage_files" msgid="8581083146777364063">"Failid"</string>
+    <string name="storage_settings_2" msgid="6369810699930056554">"Telefoni salvestusruum"</string>
+    <!-- no translation found for storage_size_large_alternate (3436941214395940966) -->
+    <skip />
+    <!-- no translation found for storage_volume_free (8829609507318832879) -->
+    <skip />
+    <!-- no translation found for storage_percent_used (6741397129281819921) -->
+    <skip />
 </resources>
diff --git a/res/values-eu-rES-nokeys/strings.xml b/res/values-eu-nokeys/strings.xml
similarity index 100%
rename from res/values-eu-rES-nokeys/strings.xml
rename to res/values-eu-nokeys/strings.xml
diff --git a/res/values-eu-rES/arrays.xml b/res/values-eu/arrays.xml
similarity index 100%
rename from res/values-eu-rES/arrays.xml
rename to res/values-eu/arrays.xml
diff --git a/res/values-eu-rES/strings.xml b/res/values-eu/strings.xml
similarity index 99%
rename from res/values-eu-rES/strings.xml
rename to res/values-eu/strings.xml
index 4c56e43..95a23a5 100644
--- a/res/values-eu-rES/strings.xml
+++ b/res/values-eu/strings.xml
@@ -658,7 +658,7 @@
     <string name="android_beam_off_summary" msgid="4663095428454779138">"Desaktibatuta"</string>
     <string name="android_beam_disabled_summary" msgid="1737782116894793393">"Ez dago erabilgarri NFC desaktibatuta dagoelako"</string>
     <string name="android_beam_label" msgid="6257036050366775040">"Android Beam"</string>
-    <string name="android_beam_explained" msgid="1828555626055290684">"Eginbide hau aktibatzen baduzu, NFC bidez parteka dezakezu aplikazioen edukia NFC onartzen duten beste gailuekin, gailuak bata besteari hurbilduta. Besteak beste, arakatzaileko orriak, YouTube bideoak, Jendea aplikazioko kontaktuak eta beste hainbat gauza parteka ditzakezu.\n\nHori egiteko, hurbildu gailuak bata bestearengana (bizkarrez bizkar jarri behar izaten dira normalean), eta sakatu pantaila. Aplikazioak zehaztuko du partekatu beharrekoa zer den."</string>
+    <string name="android_beam_explained" msgid="1810540319385192758">"Eginbide hau aktibatzen baduzu, NFC bidez parteka dezakezu aplikazioen edukia NFC erabiltzen duten beste gailu batzuekin, gailuak bata besteari hurbilduta. Besteak beste, web-orriak, YouTube bideoak, kontaktuak eta beste hainbat gauza parteka ditzakezu.\n\nHori egiteko, hurbildu gailuak bata bestearengana (bizkarrez bizkar jarri behar izaten dira normalean), eta sakatu pantaila. Aplikazioak zehaztuko du partekatu beharrekoa zer den."</string>
     <string name="wifi_quick_toggle_title" msgid="8850161330437693895">"Wi-Fi"</string>
     <string name="wifi_quick_toggle_summary" msgid="2696547080481267642">"Aktibatu Wi-Fia"</string>
     <string name="wifi_settings" msgid="29722149822540994">"Wi-Fi"</string>
@@ -2581,6 +2581,7 @@
     <string name="keywords_profile_challenge" msgid="789611397846512845">"laneko erronka, lana, profila"</string>
     <string name="keywords_unification" msgid="1922900767659821025">"laneko profila, kudeatutako profila, bateratu, bateratzea, lana, profila"</string>
     <string name="keywords_gesture" msgid="5696040361482126337">"keinua"</string>
+    <string name="keywords_payment_settings" msgid="5220104934130446416">"ordaindu, ukitu, ordainketak"</string>
     <string name="setup_wifi_nfc_tag" msgid="9028353016222911016">"Konfiguratu Wi-Fi NFC etiketa"</string>
     <string name="write_tag" msgid="8571858602896222537">"Idatzi"</string>
     <string name="status_awaiting_tap" msgid="2130145523773160617">"Ukitu etiketa bat bertan idazteko…"</string>
@@ -2802,7 +2803,7 @@
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2232461523882170874">"Laneko profil hau honen bidez kudeatzen da:"</string>
     <string name="managing_admin" msgid="8843802210377459055">"Kudeatzailea: <xliff:g id="ADMIN_APP_LABEL">%s</xliff:g>"</string>
     <string name="experimental_preference" msgid="7083015446690681376">"(Esperimentala)"</string>
-    <string name="display_auto_rotate_title" msgid="6176450657107806043">"Gailua biratzen denean"</string>
+    <string name="display_auto_rotate_title" msgid="7119684966039069439">"Gailuaren biraketa"</string>
     <string name="display_auto_rotate_rotate" msgid="4544299861233497728">"Aldatu pantailaren orientazioa"</string>
     <string name="display_auto_rotate_stay_in_portrait" msgid="292745182318093651">"Jarraitu modu bertikalean"</string>
     <string name="display_auto_rotate_stay_in_landscape" msgid="3804752830204062162">"Jarraitu modu horizontalean"</string>
@@ -3192,6 +3193,8 @@
     <string name="page_tab_title_support" msgid="6330657582897417458">"Laguntza"</string>
     <string name="developer_density_summary" msgid="1998244213021456519">"<xliff:g id="ID_1">%d</xliff:g> dp"</string>
     <string name="developer_smallest_width" msgid="7516950434587313360">"Zabalerarik txikiena"</string>
+    <string name="developer_tile" msgid="4822711696408279658">"Garatzaileen modua"</string>
+    <string name="developer_tile_unavailable" msgid="6559656549479711827">"Ez da hautatu egoera aktiborik"</string>
     <string name="premium_sms_none" msgid="8268105565738040566">"Ez dago premium SMSetarako sarbidea eskatu duen aplikaziorik."</string>
     <string name="premium_sms_warning" msgid="9086859595338944882">"Premium SMSak ordaindu egin behar izan ditzakezu eta, hala bada, operadorearen fakturan gehituko da haien kostua. Aplikazioei baimen hau ematen badiezu, premium SMSak bidaltzeko gai izango dira."</string>
     <string name="premium_sms_access" msgid="4660047004791638305">"Premium SMSetarako sarbidea"</string>
@@ -3313,4 +3316,16 @@
     <string name="enterprise_privacy_bug_reports" msgid="4762460041705169944">"Azken akatsen txostena"</string>
     <string name="enterprise_privacy_security_logs" msgid="3648730027522011684">"Azken segurtasun-erregistroa"</string>
     <string name="enterprise_privacy_never" msgid="1304035596746436921">"Inoiz ez"</string>
+    <string name="storage_photos_videos" msgid="1872663116054954685">"Argazkiak eta bideoak"</string>
+    <string name="storage_music_audio" msgid="7890103397813503615">"Musika eta audioa"</string>
+    <string name="storage_games" msgid="7703159201697117621">"Jokoak"</string>
+    <string name="storage_other_apps" msgid="5524321740031718083">"Beste aplikazio batzuk"</string>
+    <string name="storage_files" msgid="8581083146777364063">"Fitxategiak"</string>
+    <string name="storage_settings_2" msgid="6369810699930056554">"Telefonoko memoria"</string>
+    <!-- no translation found for storage_size_large_alternate (3436941214395940966) -->
+    <skip />
+    <!-- no translation found for storage_volume_free (8829609507318832879) -->
+    <skip />
+    <!-- no translation found for storage_percent_used (6741397129281819921) -->
+    <skip />
 </resources>
diff --git a/res/values-fa/strings.xml b/res/values-fa/strings.xml
index c7d0618..b48f38f 100644
--- a/res/values-fa/strings.xml
+++ b/res/values-fa/strings.xml
@@ -658,7 +658,7 @@
     <string name="android_beam_off_summary" msgid="4663095428454779138">"خاموش"</string>
     <string name="android_beam_disabled_summary" msgid="1737782116894793393">"‏در دسترس نیست زیرا NFC خاموش است"</string>
     <string name="android_beam_label" msgid="6257036050366775040">"Android Beam"</string>
-    <string name="android_beam_explained" msgid="1828555626055290684">"‏در صورت روشن بودن این قابلیت، می‌توانید با نگه‌داشتن دستگاه‌ها نزدیک به یکدیگر، محتوای برنامه را به دستگاه دارای قابلیت NFC دیگری مخابره کنید. برای مثال، می‌توانید صفحات مرورگر، ویدیوهای YouTube، اطلاعات تماس افراد و موارد دیگر را مخابره کنید.\n\n کافیست دستگاه‌ها را نزدیک هم بگذارید (معمولاً پشت به پشت) و سپس روی صفحه نمایشتان ضربه بزنید. برنامه‌ آنچه را مخابره می‌شود تعیین می‌کند."</string>
+    <string name="android_beam_explained" msgid="1810540319385192758">"‏درصورت روشن بودن این قابلیت، می‌توانید با نگه‌داشتن دستگاه‌ها نزدیک به یکدیگر، محتوای برنامه را به دستگاه دارای قابلیت NFC دیگری با پرتو ارسال کنید. به‌عنوان مثال، می‌توانید صفحات وب، ویدیوهای YouTube، مخاطبین و موارد دیگر را ازطریق پرتو ارسال کنید.\n\n کافی است دستگاه‌ها را نزدیک هم بگذارید (معمولاً پشت به پشت) و سپس روی صفحه ضربه بزنید. برنامه‌ تعیین می‌کند که چه چیزی ازطریق پرتو ارسال شود."</string>
     <string name="wifi_quick_toggle_title" msgid="8850161330437693895">"Wi-Fi"</string>
     <string name="wifi_quick_toggle_summary" msgid="2696547080481267642">"‏روشن کردن Wi-Fi"</string>
     <string name="wifi_settings" msgid="29722149822540994">"Wi‑Fi"</string>
@@ -2581,6 +2581,7 @@
     <string name="keywords_profile_challenge" msgid="789611397846512845">"چالش کار، کار، نمایه"</string>
     <string name="keywords_unification" msgid="1922900767659821025">"نمایه کاری، نمایه مدیریت‌شده، یکی شدن، یکپارچگی، کار، نمایه"</string>
     <string name="keywords_gesture" msgid="5696040361482126337">"اشاره"</string>
+    <string name="keywords_payment_settings" msgid="5220104934130446416">"پرداخت کردن، ضربه زدن، پرداخت‌ها"</string>
     <string name="setup_wifi_nfc_tag" msgid="9028353016222911016">"‏تنظیم برچسب NFC برای Wi-Fi"</string>
     <string name="write_tag" msgid="8571858602896222537">"نوشتن"</string>
     <string name="status_awaiting_tap" msgid="2130145523773160617">"ضربه زدن روی یک برچسب برای نوشتن..."</string>
@@ -2802,7 +2803,7 @@
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2232461523882170874">"سرپرست زیر این نمایه کاری را مدیریت می‌کند:"</string>
     <string name="managing_admin" msgid="8843802210377459055">"مدیریت شده توسط <xliff:g id="ADMIN_APP_LABEL">%s</xliff:g>"</string>
     <string name="experimental_preference" msgid="7083015446690681376">"(آزمایشی)"</string>
-    <string name="display_auto_rotate_title" msgid="6176450657107806043">"وقتی دستگاه چرخانده می‌شود"</string>
+    <string name="display_auto_rotate_title" msgid="7119684966039069439">"چرخش دستگاه"</string>
     <string name="display_auto_rotate_rotate" msgid="4544299861233497728">"چرخاندن محتوای صفحه"</string>
     <string name="display_auto_rotate_stay_in_portrait" msgid="292745182318093651">"ماندن در نمای عمودی"</string>
     <string name="display_auto_rotate_stay_in_landscape" msgid="3804752830204062162">"ماندن در نمای افقی"</string>
@@ -3192,6 +3193,8 @@
     <string name="page_tab_title_support" msgid="6330657582897417458">"پشتیبانی"</string>
     <string name="developer_density_summary" msgid="1998244213021456519">"‏dp ‏<xliff:g id="ID_1">%d</xliff:g>"</string>
     <string name="developer_smallest_width" msgid="7516950434587313360">"کوچک‌ترین عرض"</string>
+    <string name="developer_tile" msgid="4822711696408279658">"حالت توسعه"</string>
+    <string name="developer_tile_unavailable" msgid="6559656549479711827">"حالت فعالی موجود نیست"</string>
     <string name="premium_sms_none" msgid="8268105565738040566">"هیچ برنامه نصب‌شده‌ای دسترسی به «پیامک ویژه» را درخواست نکرده است"</string>
     <string name="premium_sms_warning" msgid="9086859595338944882">"ممکن است استفاده از «پیامک ویژه» برای شما هزینه داشته باشد و مبلغ صورت‌حساب‌های شرکت مخابراتی‌تان را افزایش دهد. اگر مجوز را برای برنامه‌ای فعال کنید، می‌توانید با استفاده از آن برنامه پیامک ویژه ارسال کنید."</string>
     <string name="premium_sms_access" msgid="4660047004791638305">"دسترسی پیامک ویژه"</string>
@@ -3313,4 +3316,16 @@
     <string name="enterprise_privacy_bug_reports" msgid="4762460041705169944">"جدیدترین گزارش اشکال شما"</string>
     <string name="enterprise_privacy_security_logs" msgid="3648730027522011684">"جدیدترین گزارش امنیت شما"</string>
     <string name="enterprise_privacy_never" msgid="1304035596746436921">"هرگز"</string>
+    <string name="storage_photos_videos" msgid="1872663116054954685">"عکس و ویدیو"</string>
+    <string name="storage_music_audio" msgid="7890103397813503615">"موسیقی و صوتی"</string>
+    <string name="storage_games" msgid="7703159201697117621">"بازی‌ها"</string>
+    <string name="storage_other_apps" msgid="5524321740031718083">"سایر برنامه‌ها"</string>
+    <string name="storage_files" msgid="8581083146777364063">"فایل‌ها"</string>
+    <string name="storage_settings_2" msgid="6369810699930056554">"فضای ذخیره‌سازی تلفن"</string>
+    <!-- no translation found for storage_size_large_alternate (3436941214395940966) -->
+    <skip />
+    <!-- no translation found for storage_volume_free (8829609507318832879) -->
+    <skip />
+    <!-- no translation found for storage_percent_used (6741397129281819921) -->
+    <skip />
 </resources>
diff --git a/res/values-fi/strings.xml b/res/values-fi/strings.xml
index 6fd97fe..0043196 100644
--- a/res/values-fi/strings.xml
+++ b/res/values-fi/strings.xml
@@ -658,7 +658,7 @@
     <string name="android_beam_off_summary" msgid="4663095428454779138">"Pois käytöstä"</string>
     <string name="android_beam_disabled_summary" msgid="1737782116894793393">"Ei käytettävissä, koska NFC on poistettu käytöstä"</string>
     <string name="android_beam_label" msgid="6257036050366775040">"Android Beam"</string>
-    <string name="android_beam_explained" msgid="1828555626055290684">"Kun tämä ominaisuus on käytössä, voit jakaa sovellusten sisältöä toiselle NFC-yhteensopivalle laitteelle asettamalla laitteet lähekkäin. Voit jakaa esimerkiksi Selaimen sivuja, YouTube-videoita ja Henkilöt-sovelluksen yhteystietoja.\n\nAseta vain laitteet vierekkäin (yleensä takakannet vastakkain) ja kosketa näyttöä. Jaettava sisältö riippuu sovelluksesta."</string>
+    <string name="android_beam_explained" msgid="1810540319385192758">"Kun tämä ominaisuus on käytössä, voit jakaa sovellusten sisältöä toiselle NFC-yhteensopivalle laitteelle asettamalla laitteet lähekkäin. Voit jakaa esimerkiksi verkkosivuja, YouTube-videoita ja yhteystietoja.\n\nAseta vain laitteet vierekkäin (yleensä takakannet vastakkain) ja kosketa näyttöä. Jaettava sisältö riippuu sovelluksesta."</string>
     <string name="wifi_quick_toggle_title" msgid="8850161330437693895">"Wi-Fi"</string>
     <string name="wifi_quick_toggle_summary" msgid="2696547080481267642">"Ota Wi-Fi käyttöön"</string>
     <string name="wifi_settings" msgid="29722149822540994">"Wi-Fi"</string>
@@ -2581,6 +2581,7 @@
     <string name="keywords_profile_challenge" msgid="789611397846512845">"työhaaste, työ, profiili"</string>
     <string name="keywords_unification" msgid="1922900767659821025">"työprofiili, hallinnoitu profiili, yhdistä, yhdistäminen, työ, profiili"</string>
     <string name="keywords_gesture" msgid="5696040361482126337">"eleet"</string>
+    <string name="keywords_payment_settings" msgid="5220104934130446416">"maksa, napauta, maksut"</string>
     <string name="setup_wifi_nfc_tag" msgid="9028353016222911016">"Määritä Wi-Fi ja NFC-tagi"</string>
     <string name="write_tag" msgid="8571858602896222537">"Kirjoita"</string>
     <string name="status_awaiting_tap" msgid="2130145523773160617">"Kirjoita napauttamalla tagia…"</string>
@@ -2802,7 +2803,7 @@
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2232461523882170874">"Tätä työprofiilia hallinnoi"</string>
     <string name="managing_admin" msgid="8843802210377459055">"Hallinnoija: <xliff:g id="ADMIN_APP_LABEL">%s</xliff:g>"</string>
     <string name="experimental_preference" msgid="7083015446690681376">"(Kokeellinen)"</string>
-    <string name="display_auto_rotate_title" msgid="6176450657107806043">"Kun laite käännetään"</string>
+    <string name="display_auto_rotate_title" msgid="7119684966039069439">"Laitteen kierto"</string>
     <string name="display_auto_rotate_rotate" msgid="4544299861233497728">"Kierrä näytön sisältö"</string>
     <string name="display_auto_rotate_stay_in_portrait" msgid="292745182318093651">"Säilytä pystynäkymä"</string>
     <string name="display_auto_rotate_stay_in_landscape" msgid="3804752830204062162">"Säilytä vaakanäkymä"</string>
@@ -3192,6 +3193,8 @@
     <string name="page_tab_title_support" msgid="6330657582897417458">"Tuki"</string>
     <string name="developer_density_summary" msgid="1998244213021456519">"<xliff:g id="ID_1">%d</xliff:g> dp"</string>
     <string name="developer_smallest_width" msgid="7516950434587313360">"Pienin leveys"</string>
+    <string name="developer_tile" msgid="4822711696408279658">"Kehitystila"</string>
+    <string name="developer_tile_unavailable" msgid="6559656549479711827">"Ei aktiivista tilaa valittuna"</string>
     <string name="premium_sms_none" msgid="8268105565738040566">"Yksikään asennettu sovellus ei ole pyytänyt premium-tekstiviestien käyttöoikeutta."</string>
     <string name="premium_sms_warning" msgid="9086859595338944882">"Premium-tekstiviestien käyttö saattaa olla maksullista, ja kulut lisätään operaattorisi laskuun. Jos annat sovellukselle käyttöoikeuden, voit lähettää premium-tekstiviestejä kyseisellä sovelluksella."</string>
     <string name="premium_sms_access" msgid="4660047004791638305">"Premium-tekstiviestien käyttö"</string>
@@ -3313,4 +3316,16 @@
     <string name="enterprise_privacy_bug_reports" msgid="4762460041705169944">"Viimeisin vikailmoituksesi"</string>
     <string name="enterprise_privacy_security_logs" msgid="3648730027522011684">"Viimeisin tietoturvaloki"</string>
     <string name="enterprise_privacy_never" msgid="1304035596746436921">"Ei koskaan"</string>
+    <string name="storage_photos_videos" msgid="1872663116054954685">"Kuvat ja videot"</string>
+    <string name="storage_music_audio" msgid="7890103397813503615">"Musiikki ja audio"</string>
+    <string name="storage_games" msgid="7703159201697117621">"Pelit"</string>
+    <string name="storage_other_apps" msgid="5524321740031718083">"Muut sovellukset"</string>
+    <string name="storage_files" msgid="8581083146777364063">"Tiedostot"</string>
+    <string name="storage_settings_2" msgid="6369810699930056554">"Puhelimen tallennustila"</string>
+    <!-- no translation found for storage_size_large_alternate (3436941214395940966) -->
+    <skip />
+    <!-- no translation found for storage_volume_free (8829609507318832879) -->
+    <skip />
+    <!-- no translation found for storage_percent_used (6741397129281819921) -->
+    <skip />
 </resources>
diff --git a/res/values-fr-rCA/strings.xml b/res/values-fr-rCA/strings.xml
index 9ae9ec3..6d25fc1 100644
--- a/res/values-fr-rCA/strings.xml
+++ b/res/values-fr-rCA/strings.xml
@@ -86,8 +86,7 @@
     <string name="font_size_preview_text_headline" msgid="7955317408475392247">"Exemple de texte"</string>
     <string name="font_size_preview_text_title" msgid="1310536233106975546">"Le Magicien d\'Oz"</string>
     <string name="font_size_preview_text_subtitle" msgid="4231671528173110093">"Chapitre 11 : La merveilleuse cité d\'émeraude d\'Oz"</string>
-    <!-- no translation found for font_size_preview_text_body (2846183528684496723) -->
-    <skip />
+    <string name="font_size_preview_text_body" msgid="2846183528684496723">"Malgré leurs lunettes vertes, Dorothée et ses amis furent d’abord éblouis par l\'éclat de la cité merveilleuse. Les rues étaient bordées de maisons splendides, toutes faites de marbre vert et incrustées d\'étincelantes émeraudes. Ils marchaient sur une chaussée ornée du même marbre, et la jointure des dalles était sertie de rangs serrés d\'émeraudes qui resplendissaient sous le soleil. Les panneaux de verre des fenêtres étaient verts, le ciel au-dessus de la cité avait une teinte verte, et le soleil lui-même lançait des rayons verts. \n\nBeaucoup de gens déambulaient dans les rues, hommes, femmes et enfants. Tous étaient vêtus de vert et avaient un teint verdâtre. Étonnés, ils dévisageaient Dorothée et son étrange escorte. Les enfants couraient se cacher derrière leurs mères à la vue du lion, mais personne ne leur adressait la parole. Il y avait de nombreuses boutiques et Dorothée remarqua que tout y était vert à l\'intérieur. Tout ce qu\'on y vendait était vert : les bonbons et le maïs éclaté, les chaussures, les chapeaux et les vêtements. Dans un magasin, un homme vendait de la limonade verte, et Dorothée vit que les enfants payaient avec des sous verts. \n\nIl semblait n\'y avoir ni chevaux ni animaux d\'aucune espèce; les hommes transportaient diverses choses dans de petites charrettes vertes, qu\'ils poussaient devant eux. Tout le monde avait un air heureux et satisfait, et tous les habitants semblaient prospères."</string>
     <string name="font_size_save" msgid="3450855718056759095">"OK"</string>
     <string name="sdcard_setting" product="nosdcard" msgid="8281011784066476192">"Mémoire de stockage USB"</string>
     <string name="sdcard_setting" product="default" msgid="5922637503871474866">"Carte SD"</string>
@@ -658,7 +657,7 @@
     <string name="android_beam_off_summary" msgid="4663095428454779138">"Désactivées"</string>
     <string name="android_beam_disabled_summary" msgid="1737782116894793393">"Indisponible, car la NFC est désactivée"</string>
     <string name="android_beam_label" msgid="6257036050366775040">"Android Beam"</string>
-    <string name="android_beam_explained" msgid="1828555626055290684">"Lorsque cette fonctionnalité est activée, vous pouvez partager le contenu d\'une application avec un appareil compatible NFC en rapprochant les appareils. Vous pouvez, par exemple, partager des pages du navigateur, des vidéos YouTube, des contacts, etc.\n\nIl vous suffit de rapprocher les appareils (en les plaçant dos à dos), puis de toucher votre écran. L\'application détermine le contenu à transférer."</string>
+    <string name="android_beam_explained" msgid="1810540319385192758">"Lorsque cette fonctionnalité est activée, vous pouvez partager le contenu d\'une application avec un appareil compatible NFC en rapprochant les appareils. Vous pouvez, par exemple, partager des pages Web, des vidéos YouTube, des contacts et plus encore.\n\nIl vous suffit de rapprocher les appareils (typiquement, en les plaçant dos à dos), puis de toucher votre écran. L\'application détermine le contenu à transférer."</string>
     <string name="wifi_quick_toggle_title" msgid="8850161330437693895">"Wi-Fi"</string>
     <string name="wifi_quick_toggle_summary" msgid="2696547080481267642">"Activer le Wi-Fi"</string>
     <string name="wifi_settings" msgid="29722149822540994">"Wi-Fi"</string>
@@ -1536,11 +1535,9 @@
     <string name="app_install_location_summary" msgid="5155453752692959098">"Modifier l\'emplacement d\'installation par défaut pour les nouvelles applications"</string>
     <string name="app_disable_dlg_title" msgid="3916469657537695436">"Désactiver appli intégrée?"</string>
     <string name="app_disable_dlg_positive" msgid="7375627244201714263">"Désactiver l\'application"</string>
-    <!-- no translation found for app_disable_dlg_text (5632072173181990531) -->
-    <skip />
+    <string name="app_disable_dlg_text" msgid="5632072173181990531">"Si vous désactivez cette application, Android et d\'autres applications risquent de ne plus fonctionner correctement."</string>
     <string name="app_special_disable_dlg_title" msgid="2690148680327142674">"Supprimer les données et désactiver l\'application?"</string>
-    <!-- no translation found for app_special_disable_dlg_text (5832078825810635913) -->
-    <skip />
+    <string name="app_special_disable_dlg_text" msgid="5832078825810635913">"Si vous désactivez cette application, Android et d\'autres applications risquent de ne plus fonctionner correctement. Vos données seront également supprimées."</string>
     <string name="app_disable_notifications_dlg_title" msgid="7669264654851761857">"Désactiver les notifications?"</string>
     <string name="app_disable_notifications_dlg_text" msgid="5088484670924769845">"Si vous désactivez les notifications de cette application, vous risquez de manquer des alertes et des mises à jour importantes."</string>
     <string name="app_install_details_group_title" msgid="7084623031296083574">"Boutique d\'applications"</string>
@@ -2527,8 +2524,7 @@
       <item quantity="one">Afficher %d élément masqué</item>
       <item quantity="other">Afficher %d éléments masqués</item>
     </plurals>
-    <!-- no translation found for network_dashboard_title (3135144174846753758) -->
-    <skip />
+    <string name="network_dashboard_title" msgid="3135144174846753758">"Réseau et Internet"</string>
     <string name="connected_devices_dashboard_title" msgid="2355264951438890709">"Appareils connectés"</string>
     <string name="app_and_notification_dashboard_title" msgid="7838365599185397539">"Applications et notifications"</string>
     <string name="account_dashboard_title" msgid="38701889336378742">"Utilisateurs et comptes"</string>
@@ -2581,6 +2577,7 @@
     <string name="keywords_profile_challenge" msgid="789611397846512845">"défi professionnel, travail, profil"</string>
     <string name="keywords_unification" msgid="1922900767659821025">"profil professionnel, profil géré, unifier, unification, travail, profil"</string>
     <string name="keywords_gesture" msgid="5696040361482126337">"geste"</string>
+    <string name="keywords_payment_settings" msgid="5220104934130446416">"payer, toucher, paiements"</string>
     <string name="setup_wifi_nfc_tag" msgid="9028353016222911016">"Créer une balise NFC par Wi-Fi"</string>
     <string name="write_tag" msgid="8571858602896222537">"Écrire"</string>
     <string name="status_awaiting_tap" msgid="2130145523773160617">"Touchez une balise pour pour écrire..."</string>
@@ -2653,16 +2650,11 @@
     <string name="app_notifications_title" msgid="139788604658984593">"Notifications"</string>
     <string name="notification_importance_title" msgid="848692592679312666">"Importance"</string>
     <string name="notification_importance_none" msgid="3173515479356106227">"Non configuré"</string>
-    <!-- no translation found for notification_importance_blocked (7938180808339386300) -->
-    <skip />
-    <!-- no translation found for notification_importance_min (5455049524984686275) -->
-    <skip />
-    <!-- no translation found for notification_importance_low (2445139943005315690) -->
-    <skip />
-    <!-- no translation found for notification_importance_default (5958338024601957516) -->
-    <skip />
-    <!-- no translation found for notification_importance_high (2082429479238228527) -->
-    <skip />
+    <string name="notification_importance_blocked" msgid="7938180808339386300">"Ne jamais afficher les notifications"</string>
+    <string name="notification_importance_min" msgid="5455049524984686275">"Aucun son ni interruption visuelle"</string>
+    <string name="notification_importance_low" msgid="2445139943005315690">"Affichage silencieux"</string>
+    <string name="notification_importance_default" msgid="5958338024601957516">"Émettre un son"</string>
+    <string name="notification_importance_high" msgid="2082429479238228527">"Émettre un son et s\'afficher à l\'écran"</string>
     <string name="importance_reset" msgid="7458420788555607007">"Réinitialiser"</string>
     <string name="show_silently" msgid="2222875799232222056">"Affichage silencieux"</string>
     <string name="show_silently_summary" msgid="7616604629123146565">"Ne pas émettre de son, activer le vibreur ni afficher ces notifications sur l\'écran actif."</string>
@@ -2691,16 +2683,11 @@
     <string name="loading_notification_apps" msgid="5031818677010335895">"Chargement des applications en cours..."</string>
     <string name="notification_channels" msgid="8681423709659818791">"Canaux"</string>
     <string name="app_notification_block_title" msgid="4069351066849087649">"Tout bloquer"</string>
-    <!-- no translation found for app_notification_block_summary (4744020456943215352) -->
-    <skip />
-    <!-- no translation found for notification_content_block_title (5854232570963006360) -->
-    <skip />
-    <!-- no translation found for notification_content_block_summary (7746185794438882389) -->
-    <skip />
-    <!-- no translation found for notification_badge_title (5404669445214920178) -->
-    <skip />
-    <!-- no translation found for notification_badge_summary (3944771498030335669) -->
-    <skip />
+    <string name="app_notification_block_summary" msgid="4744020456943215352">"Ne jamais afficher ces notifications"</string>
+    <string name="notification_content_block_title" msgid="5854232570963006360">"Afficher les notifications"</string>
+    <string name="notification_content_block_summary" msgid="7746185794438882389">"Ne jamais afficher les notifications dans l\'ombre ou sur des appareils périphériques"</string>
+    <string name="notification_badge_title" msgid="5404669445214920178">"Afficher le badge"</string>
+    <string name="notification_badge_summary" msgid="3944771498030335669">"Afficher les notifications comme des badges dans l\'application Accueil, le cas échéant."</string>
     <string name="app_notification_override_dnd_title" msgid="7867458246395884830">"Ignorer le mode « Ne pas déranger »"</string>
     <string name="app_notification_override_dnd_summary" msgid="3516007157020189746">"Activer les notifications de cette application même lorsque l\'option « Ne pas déranger » est définie sur « Prioritaires uniquement »"</string>
     <string name="app_notification_visibility_override_title" msgid="2187232730902430718">"À l\'écran de verrouillage"</string>
@@ -2802,7 +2789,7 @@
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2232461523882170874">"Le profil professionnel est géré par :"</string>
     <string name="managing_admin" msgid="8843802210377459055">"Géré par <xliff:g id="ADMIN_APP_LABEL">%s</xliff:g>"</string>
     <string name="experimental_preference" msgid="7083015446690681376">"(Expérimentale)"</string>
-    <string name="display_auto_rotate_title" msgid="6176450657107806043">"Lorsque l\'utilisateur pivote l\'appareil"</string>
+    <string name="display_auto_rotate_title" msgid="7119684966039069439">"Rotation de l\'appareil"</string>
     <string name="display_auto_rotate_rotate" msgid="4544299861233497728">"Pivoter le contenu de l\'écran"</string>
     <string name="display_auto_rotate_stay_in_portrait" msgid="292745182318093651">"Rester en mode portrait"</string>
     <string name="display_auto_rotate_stay_in_landscape" msgid="3804752830204062162">"Rester en mode paysage"</string>
@@ -3192,6 +3179,8 @@
     <string name="page_tab_title_support" msgid="6330657582897417458">"Assistance"</string>
     <string name="developer_density_summary" msgid="1998244213021456519">"<xliff:g id="ID_1">%d</xliff:g> dp"</string>
     <string name="developer_smallest_width" msgid="7516950434587313360">"La plus petite largeur"</string>
+    <string name="developer_tile" msgid="4822711696408279658">"Mode de conception"</string>
+    <string name="developer_tile_unavailable" msgid="6559656549479711827">"Aucun état actif sélectionné"</string>
     <string name="premium_sms_none" msgid="8268105565738040566">"Aucune application installée n\'a demandé l\'accès aux textos payants"</string>
     <string name="premium_sms_warning" msgid="9086859595338944882">"Les textos de cette catégorie peuvent être payants et s\'ajouter aux factures mensuelles de votre fournisseur de services. Si vous activez l\'autorisation pour une application, vous serez en mesure d\'envoyer des textos payants à l\'aide de cette dernière."</string>
     <string name="premium_sms_access" msgid="4660047004791638305">"Accès aux textos payants"</string>
@@ -3221,8 +3210,7 @@
     <string name="support_disclaimer_do_not_show" msgid="3378367075323727539">"Ne plus afficher"</string>
     <string name="support_account_request_prefix" msgid="6387847874661861650">"Effectuer la demande avec le compte"</string>
     <string name="support_account_picker_add_account" msgid="5076277544846506214">"Ajouter un compte"</string>
-    <!-- no translation found for support_system_information_title (3439905790018934773) -->
-    <skip />
+    <string name="support_system_information_title" msgid="3439905790018934773">"Données sur le système"</string>
     <string name="managed_profile_settings_title" msgid="2729481936758125054">"Paramètres du profil professionnel"</string>
     <string name="managed_profile_contact_search_title" msgid="6034734926815544221">"Recherche de contacts"</string>
     <string name="managed_profile_contact_search_summary" msgid="5431253552272970512">"Autoriser les recherches de contacts dans votre organisation à identifier les appelants et les contacts"</string>
@@ -3313,4 +3301,16 @@
     <string name="enterprise_privacy_bug_reports" msgid="4762460041705169944">"Votre rapport de bogue le plus récent"</string>
     <string name="enterprise_privacy_security_logs" msgid="3648730027522011684">"Votre journal de sécurité le plus récent"</string>
     <string name="enterprise_privacy_never" msgid="1304035596746436921">"Jamais"</string>
+    <string name="storage_photos_videos" msgid="1872663116054954685">"Photos et vidéos"</string>
+    <string name="storage_music_audio" msgid="7890103397813503615">"Musique et audio"</string>
+    <string name="storage_games" msgid="7703159201697117621">"Jeux"</string>
+    <string name="storage_other_apps" msgid="5524321740031718083">"Autres applications"</string>
+    <string name="storage_files" msgid="8581083146777364063">"Fichiers"</string>
+    <string name="storage_settings_2" msgid="6369810699930056554">"Stockage du téléphone"</string>
+    <!-- no translation found for storage_size_large_alternate (3436941214395940966) -->
+    <skip />
+    <!-- no translation found for storage_volume_free (8829609507318832879) -->
+    <skip />
+    <!-- no translation found for storage_percent_used (6741397129281819921) -->
+    <skip />
 </resources>
diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml
index 475697e..526e21d 100644
--- a/res/values-fr/strings.xml
+++ b/res/values-fr/strings.xml
@@ -658,7 +658,7 @@
     <string name="android_beam_off_summary" msgid="4663095428454779138">"Désactivé"</string>
     <string name="android_beam_disabled_summary" msgid="1737782116894793393">"Indisponible, car la NFC est désactivée"</string>
     <string name="android_beam_label" msgid="6257036050366775040">"Android Beam"</string>
-    <string name="android_beam_explained" msgid="1828555626055290684">"Lorsque cette fonctionnalité est activée, vous pouvez partager le contenu d\'une application avec un appareil compatible NFC en rapprochant les appareils. Vous pouvez, par exemple, partager des pages du navigateur, des vidéos YouTube, des contacts, etc.\n\nIl vous suffit de rapprocher les appareils (en les plaçant dos à dos), puis d\'appuyer sur votre écran. L\'application détermine le contenu à transférer."</string>
+    <string name="android_beam_explained" msgid="1810540319385192758">"Lorsque cette fonctionnalité est activée, vous pouvez partager le contenu d\'une application avec un appareil compatible NFC en rapprochant les appareils. Vous pouvez, par exemple, partager des pages Web, des vidéos YouTube ou des contacts.\n\nIl vous suffit de rapprocher les appareils, en les plaçant dos à dos, puis d\'appuyer sur votre écran. L\'application détermine le contenu à partager."</string>
     <string name="wifi_quick_toggle_title" msgid="8850161330437693895">"Wi-Fi"</string>
     <string name="wifi_quick_toggle_summary" msgid="2696547080481267642">"Activer le Wi-Fi"</string>
     <string name="wifi_settings" msgid="29722149822540994">"Wi-Fi"</string>
@@ -2581,6 +2581,7 @@
     <string name="keywords_profile_challenge" msgid="789611397846512845">"verrouillage profil pro, professionnel, profil"</string>
     <string name="keywords_unification" msgid="1922900767659821025">"profil professionnel, profil géré, unifier, unification, professionnel, profil"</string>
     <string name="keywords_gesture" msgid="5696040361482126337">"geste"</string>
+    <string name="keywords_payment_settings" msgid="5220104934130446416">"payer, appuyer, paiements"</string>
     <string name="setup_wifi_nfc_tag" msgid="9028353016222911016">"Créer un tag NFC pour Wi-Fi"</string>
     <string name="write_tag" msgid="8571858602896222537">"Modifier"</string>
     <string name="status_awaiting_tap" msgid="2130145523773160617">"Appuyer sur un tag pour le modifier…"</string>
@@ -2802,7 +2803,7 @@
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2232461523882170874">"Ce profil professionnel est géré par"</string>
     <string name="managing_admin" msgid="8843802210377459055">"Géré par <xliff:g id="ADMIN_APP_LABEL">%s</xliff:g>"</string>
     <string name="experimental_preference" msgid="7083015446690681376">"(Expérimental)"</string>
-    <string name="display_auto_rotate_title" msgid="6176450657107806043">"Lorsque l\'utilisateur fait pivoter l\'appareil"</string>
+    <string name="display_auto_rotate_title" msgid="7119684966039069439">"Rotation de l\'appareil"</string>
     <string name="display_auto_rotate_rotate" msgid="4544299861233497728">"Faire pivoter le contenu affiché à l\'écran"</string>
     <string name="display_auto_rotate_stay_in_portrait" msgid="292745182318093651">"Rester en mode portrait"</string>
     <string name="display_auto_rotate_stay_in_landscape" msgid="3804752830204062162">"Rester en mode paysage"</string>
@@ -3192,6 +3193,8 @@
     <string name="page_tab_title_support" msgid="6330657582897417458">"Assistance"</string>
     <string name="developer_density_summary" msgid="1998244213021456519">"<xliff:g id="ID_1">%d</xliff:g> dp"</string>
     <string name="developer_smallest_width" msgid="7516950434587313360">"La plus petite largeur"</string>
+    <string name="developer_tile" msgid="4822711696408279658">"Mode de développement"</string>
+    <string name="developer_tile_unavailable" msgid="6559656549479711827">"Aucun état actif sélectionné"</string>
     <string name="premium_sms_none" msgid="8268105565738040566">"Aucune demande d\'accès aux SMS premium n\'a été envoyée pour les applications installées."</string>
     <string name="premium_sms_warning" msgid="9086859595338944882">"Les SMS premium peuvent être payants et s\'ajouter aux factures de votre opérateur. Si vous activez l\'autorisation pour une application, vous serez en mesure d\'envoyer des SMS premium à l\'aide de cette dernière."</string>
     <string name="premium_sms_access" msgid="4660047004791638305">"Accès aux SMS premium"</string>
@@ -3313,4 +3316,16 @@
     <string name="enterprise_privacy_bug_reports" msgid="4762460041705169944">"Votre dernier rapport de bug"</string>
     <string name="enterprise_privacy_security_logs" msgid="3648730027522011684">"Votre dernier journal de sécurité"</string>
     <string name="enterprise_privacy_never" msgid="1304035596746436921">"Jamais"</string>
+    <string name="storage_photos_videos" msgid="1872663116054954685">"Photos et vidéos"</string>
+    <string name="storage_music_audio" msgid="7890103397813503615">"Musique et audio"</string>
+    <string name="storage_games" msgid="7703159201697117621">"Jeux"</string>
+    <string name="storage_other_apps" msgid="5524321740031718083">"Autres applications"</string>
+    <string name="storage_files" msgid="8581083146777364063">"Fichiers"</string>
+    <string name="storage_settings_2" msgid="6369810699930056554">"Espace stockage téléphone"</string>
+    <!-- no translation found for storage_size_large_alternate (3436941214395940966) -->
+    <skip />
+    <!-- no translation found for storage_volume_free (8829609507318832879) -->
+    <skip />
+    <!-- no translation found for storage_percent_used (6741397129281819921) -->
+    <skip />
 </resources>
diff --git a/res/values-gl-rES-nokeys/strings.xml b/res/values-gl-nokeys/strings.xml
similarity index 100%
rename from res/values-gl-rES-nokeys/strings.xml
rename to res/values-gl-nokeys/strings.xml
diff --git a/res/values-gl-rES/arrays.xml b/res/values-gl/arrays.xml
similarity index 100%
rename from res/values-gl-rES/arrays.xml
rename to res/values-gl/arrays.xml
diff --git a/res/values-gl-rES/strings.xml b/res/values-gl/strings.xml
similarity index 99%
rename from res/values-gl-rES/strings.xml
rename to res/values-gl/strings.xml
index 914ebea..96a80a3 100644
--- a/res/values-gl-rES/strings.xml
+++ b/res/values-gl/strings.xml
@@ -658,7 +658,7 @@
     <string name="android_beam_off_summary" msgid="4663095428454779138">"Desactivado"</string>
     <string name="android_beam_disabled_summary" msgid="1737782116894793393">"Non dispoñible debido a que NFC está desactivada"</string>
     <string name="android_beam_label" msgid="6257036050366775040">"Android Beam"</string>
-    <string name="android_beam_explained" msgid="1828555626055290684">"Cando esta función está activada, podes transferir contido de aplicacións a outros dispositivos compatibles con NFC achegando os dispositivos entre si. Por exemplo, podes transmitir páxinas do navegador, vídeos de YouTube, contactos da aplicación Contactos, etc.\n\nSimplemente achega os dispositivos entre si (normalmente as súas partes posteriores) e, a continuación, toca a pantalla. A aplicación determina o que se transfire."</string>
+    <string name="android_beam_explained" msgid="1810540319385192758">"Cando esta función está activada, podes transferir contido de aplicacións a outros dispositivos compatibles con NFC achegando os dispositivos entre si. Por exemplo, podes transmitir páxinas web, vídeos de YouTube, contactos, etc.\n\nSimplemente achega os dispositivos entre si (normalmente as súas partes posteriores) e, a continuación, toca a pantalla. A aplicación determina o que se transfire."</string>
     <string name="wifi_quick_toggle_title" msgid="8850161330437693895">"Wifi"</string>
     <string name="wifi_quick_toggle_summary" msgid="2696547080481267642">"Activar a wifi"</string>
     <string name="wifi_settings" msgid="29722149822540994">"Wifi"</string>
@@ -2581,6 +2581,7 @@
     <string name="keywords_profile_challenge" msgid="789611397846512845">"desafío de traballo, traballo, perfil"</string>
     <string name="keywords_unification" msgid="1922900767659821025">"perfil de traballo, perfil xestionado, agrupar, agrupación traballo, perfil"</string>
     <string name="keywords_gesture" msgid="5696040361482126337">"xesto"</string>
+    <string name="keywords_payment_settings" msgid="5220104934130446416">"pagar, tocar, pagos"</string>
     <string name="setup_wifi_nfc_tag" msgid="9028353016222911016">"Configurar etiqueta NFC wifi"</string>
     <string name="write_tag" msgid="8571858602896222537">"Escribir"</string>
     <string name="status_awaiting_tap" msgid="2130145523773160617">"Toca unha etiqueta para escribir..."</string>
@@ -2802,7 +2803,7 @@
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2232461523882170874">"Este perfil de traballo está xestionado por:"</string>
     <string name="managing_admin" msgid="8843802210377459055">"Xestionado por <xliff:g id="ADMIN_APP_LABEL">%s</xliff:g>"</string>
     <string name="experimental_preference" msgid="7083015446690681376">"(Experimental)"</string>
-    <string name="display_auto_rotate_title" msgid="6176450657107806043">"Ao xirar o dispositivo"</string>
+    <string name="display_auto_rotate_title" msgid="7119684966039069439">"Rotación do dispositivo"</string>
     <string name="display_auto_rotate_rotate" msgid="4544299861233497728">"Xirar o contido da pantalla"</string>
     <string name="display_auto_rotate_stay_in_portrait" msgid="292745182318093651">"Permanecer na vista vertical"</string>
     <string name="display_auto_rotate_stay_in_landscape" msgid="3804752830204062162">"Permanecer na vista horizontal"</string>
@@ -3192,6 +3193,8 @@
     <string name="page_tab_title_support" msgid="6330657582897417458">"Asistencia"</string>
     <string name="developer_density_summary" msgid="1998244213021456519">"<xliff:g id="ID_1">%d</xliff:g> dp"</string>
     <string name="developer_smallest_width" msgid="7516950434587313360">"Menor largura"</string>
+    <string name="developer_tile" msgid="4822711696408279658">"Modo de programación"</string>
+    <string name="developer_tile_unavailable" msgid="6559656549479711827">"Non se seleccionou ningún estado activo"</string>
     <string name="premium_sms_none" msgid="8268105565738040566">"Ningunha aplicación instalada solicitou acceso ás mensaxes premium"</string>
     <string name="premium_sms_warning" msgid="9086859595338944882">"É posible que teñas que pagar polas mensaxes premium, cuxos custos se engadirán ás facturas do teu operador. Se activas o permiso para unha aplicación, poderás enviar mensaxes premium a través desa aplicación."</string>
     <string name="premium_sms_access" msgid="4660047004791638305">"Acceso ás mensaxes premium"</string>
@@ -3313,4 +3316,16 @@
     <string name="enterprise_privacy_bug_reports" msgid="4762460041705169944">"O teu informe de erros máis recente"</string>
     <string name="enterprise_privacy_security_logs" msgid="3648730027522011684">"O teu rexistro de seguranza máis recente"</string>
     <string name="enterprise_privacy_never" msgid="1304035596746436921">"Nunca"</string>
+    <string name="storage_photos_videos" msgid="1872663116054954685">"Fotos e vídeos"</string>
+    <string name="storage_music_audio" msgid="7890103397813503615">"Música e audio"</string>
+    <string name="storage_games" msgid="7703159201697117621">"Xogos"</string>
+    <string name="storage_other_apps" msgid="5524321740031718083">"Outras aplicacións"</string>
+    <string name="storage_files" msgid="8581083146777364063">"Ficheiros"</string>
+    <string name="storage_settings_2" msgid="6369810699930056554">"Almacenamento do teléfono"</string>
+    <!-- no translation found for storage_size_large_alternate (3436941214395940966) -->
+    <skip />
+    <!-- no translation found for storage_volume_free (8829609507318832879) -->
+    <skip />
+    <!-- no translation found for storage_percent_used (6741397129281819921) -->
+    <skip />
 </resources>
diff --git a/res/values-gu-rIN-nokeys/strings.xml b/res/values-gu-nokeys/strings.xml
similarity index 100%
rename from res/values-gu-rIN-nokeys/strings.xml
rename to res/values-gu-nokeys/strings.xml
diff --git a/res/values-gu-rIN/arrays.xml b/res/values-gu/arrays.xml
similarity index 100%
rename from res/values-gu-rIN/arrays.xml
rename to res/values-gu/arrays.xml
diff --git a/res/values-gu-rIN/strings.xml b/res/values-gu/strings.xml
similarity index 99%
rename from res/values-gu-rIN/strings.xml
rename to res/values-gu/strings.xml
index 4206d9b..2542b1f 100644
--- a/res/values-gu-rIN/strings.xml
+++ b/res/values-gu/strings.xml
@@ -658,7 +658,7 @@
     <string name="android_beam_off_summary" msgid="4663095428454779138">"બંધ"</string>
     <string name="android_beam_disabled_summary" msgid="1737782116894793393">"NFC બંધ હોવાને કારણે અનુપલબ્ધ"</string>
     <string name="android_beam_label" msgid="6257036050366775040">"Android બીમ"</string>
-    <string name="android_beam_explained" msgid="1828555626055290684">"જ્યારે આ સુવિધા ચાલુ હોય, ત્યારે તમે ઉપકરણોને એકબીજાની નજીક રાખીને ઍપ્લિકેશનની સામગ્રીને બીજા NFC-સક્ષમ ઉપકરણ પર બીમ કરી શકો છો. ઉદાહરણ તરીકે, તમે બ્રાઉઝર પૃષ્ઠો, YouTube વિડિઓઝ, લોકો સંપર્કો અને વધુને બીમ કરી શકો છો.\n\nબસ ઉપકરણોને એકબીજાની નજીક લાવો (સામાન્ય રીતે એકબીજાની પાછળ) અને પછી તમારી સ્ક્રીનને ટૅપ કરો. શું બીમ થાય તે ઍપ્લિકેશન નક્કી કરે છે."</string>
+    <string name="android_beam_explained" msgid="1810540319385192758">"જ્યારે આ સુવિધા ચાલુ હોય, ત્યારે તમે ઉપકરણોને એકબીજાની નજીક રાખીને ઍપ્લિકેશનની સામગ્રીને બીજા NFC-સક્ષમ ઉપકરણ પર બીમ કરી શકો છો. ઉદાહરણ તરીકે, તમે વેબ પૃષ્ઠો, YouTube વિડિઓઝ, સંપર્કો અને વધુને બીમ કરી શકો છો.\n\nબસ ઉપકરણોને એકબીજાની નજીક લાવો (સામાન્ય રીતે એકબીજાની પાછળ) અને પછી તમારી સ્ક્રીનને ટૅપ કરો. શું બીમ થાય તે ઍપ્લિકેશન નક્કી કરે છે."</string>
     <string name="wifi_quick_toggle_title" msgid="8850161330437693895">"Wi-Fi"</string>
     <string name="wifi_quick_toggle_summary" msgid="2696547080481267642">"Wi‑Fi ચાલુ કરો"</string>
     <string name="wifi_settings" msgid="29722149822540994">"Wi-Fi"</string>
@@ -2581,6 +2581,7 @@
     <string name="keywords_profile_challenge" msgid="789611397846512845">"કાર્ય પડકાર, કાર્ય, પ્રોફાઇલ"</string>
     <string name="keywords_unification" msgid="1922900767659821025">"કાર્ય પ્રોફાઇલ, સંચાલિત પ્રોફાઇલ, એકીકૃત કરો, એકીકરણ, કાર્ય, પ્રોફાઇલ"</string>
     <string name="keywords_gesture" msgid="5696040361482126337">"હાવભાવ"</string>
+    <string name="keywords_payment_settings" msgid="5220104934130446416">"ચુકવણી કરો, ટૅપ કરો, ચુકવણીઓ"</string>
     <string name="setup_wifi_nfc_tag" msgid="9028353016222911016">"Wi-Fi NFC ટેગ સેટ કરો"</string>
     <string name="write_tag" msgid="8571858602896222537">"લખો"</string>
     <string name="status_awaiting_tap" msgid="2130145523773160617">"લખવા માટે ટેગ પર ટેપ કરો..."</string>
@@ -2802,7 +2803,7 @@
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2232461523882170874">"આ કાર્ય પ્રોફાઇલ આમના દ્વારા સંચાલિત થાય છે:"</string>
     <string name="managing_admin" msgid="8843802210377459055">"<xliff:g id="ADMIN_APP_LABEL">%s</xliff:g> દ્વારા સંચાલિત"</string>
     <string name="experimental_preference" msgid="7083015446690681376">"(પ્રાયોગિક)"</string>
-    <string name="display_auto_rotate_title" msgid="6176450657107806043">"જ્યારે  ઉપકરણ ફેરવેલું હોય ત્યારે"</string>
+    <string name="display_auto_rotate_title" msgid="7119684966039069439">"ઉપકરણ પરિભ્રમણ"</string>
     <string name="display_auto_rotate_rotate" msgid="4544299861233497728">"સ્ક્રીનની સામગ્રીઓને ફેરવો"</string>
     <string name="display_auto_rotate_stay_in_portrait" msgid="292745182318093651">"પોર્ટ્રેટ દૃશ્યમાં રહો"</string>
     <string name="display_auto_rotate_stay_in_landscape" msgid="3804752830204062162">"લેન્ડસ્કેપ દૃશ્યમાં રહો"</string>
@@ -3192,6 +3193,8 @@
     <string name="page_tab_title_support" msgid="6330657582897417458">"સમર્થન"</string>
     <string name="developer_density_summary" msgid="1998244213021456519">"<xliff:g id="ID_1">%d</xliff:g> dp"</string>
     <string name="developer_smallest_width" msgid="7516950434587313360">"સૌથી નાની પહોળાઈ"</string>
+    <string name="developer_tile" msgid="4822711696408279658">"વિકાસ મોડ"</string>
+    <string name="developer_tile_unavailable" msgid="6559656549479711827">"કોઈ સક્રિય સ્થિતિ પસંદ કરેલ નથી"</string>
     <string name="premium_sms_none" msgid="8268105565738040566">"કોઈ ઇન્સ્ટૉલ કરેલ ઍપ્લિકેશનોએ પ્રીમિયમ SMS ઍક્સેસની વિનંતી કરી નથી"</string>
     <string name="premium_sms_warning" msgid="9086859595338944882">"તમને પ્રીમિયમ SMS નો શુલ્ક લાગી શકે છે અને તમારા કૅરિઅર બિલ્સમાં ઉમેરવામાં આવશે. જો તમે કોઇ ઍપ્લિકેશન માટે પરવાનગી સક્ષમ કરો, તો તમે તે ઍપ્લિકેશનનો ઉપયોગ કરીને પ્રીમિયમ SMS મોકલવા માટે સમર્થ હશો."</string>
     <string name="premium_sms_access" msgid="4660047004791638305">"પ્રીમિયમ SMS ઍક્સેસ"</string>
@@ -3313,4 +3316,16 @@
     <string name="enterprise_privacy_bug_reports" msgid="4762460041705169944">"તમારી સૌથી તાજેતરની બગ રિપોર્ટ"</string>
     <string name="enterprise_privacy_security_logs" msgid="3648730027522011684">"તમારો સૌથી તાજેતરનો સુરક્ષા લૉગ"</string>
     <string name="enterprise_privacy_never" msgid="1304035596746436921">"ક્યારેય નહીં"</string>
+    <string name="storage_photos_videos" msgid="1872663116054954685">"ફોટા અને વિડિઓઝ"</string>
+    <string name="storage_music_audio" msgid="7890103397813503615">"સંગીત અને ઑડિઓ"</string>
+    <string name="storage_games" msgid="7703159201697117621">"રમતો"</string>
+    <string name="storage_other_apps" msgid="5524321740031718083">"અન્ય ઍપ્લિકેશનો"</string>
+    <string name="storage_files" msgid="8581083146777364063">"ફાઇલો"</string>
+    <string name="storage_settings_2" msgid="6369810699930056554">"ફોન સ્ટોરેજ"</string>
+    <!-- no translation found for storage_size_large_alternate (3436941214395940966) -->
+    <skip />
+    <!-- no translation found for storage_volume_free (8829609507318832879) -->
+    <skip />
+    <!-- no translation found for storage_percent_used (6741397129281819921) -->
+    <skip />
 </resources>
diff --git a/res/values-hi/strings.xml b/res/values-hi/strings.xml
index f928ff8..a1a1494 100644
--- a/res/values-hi/strings.xml
+++ b/res/values-hi/strings.xml
@@ -86,8 +86,7 @@
     <string name="font_size_preview_text_headline" msgid="7955317408475392247">"नमूना लेख"</string>
     <string name="font_size_preview_text_title" msgid="1310536233106975546">"ओज़ का अद्भुत जादू"</string>
     <string name="font_size_preview_text_subtitle" msgid="4231671528173110093">"अध्याय 11: ओज़ का अद्भुत पन्ने का शहर"</string>
-    <!-- no translation found for font_size_preview_text_body (2846183528684496723) -->
-    <skip />
+    <string name="font_size_preview_text_body" msgid="2846183528684496723">"हरे रंग के चश्मे पहने हुए भी डॉरथी और उसके दोस्त इस अद्भुत शहर की चकाचौंध से चकित थे. हरे रंग के मार्बल से बने खूबसूरत घर सड़कों के किनारे कतार में खड़े थे और उन पर चमचमाते पन्ने जड़े हुए थे. वे उसी हरे रंग के मार्बल पर चलने लगे, जहां पास-पास रखे गए ब्लॉक आपस में जुड़ रहे थे वे पन्ने की कतारें थीं और सूरज की चमक से चमचमा रही थीं. जहां खिड़कियों के शीशे हरे रंग के थे; यहां तक की शहर के ऊपर छाया आसमान भी हरा रंग लिए था, और सूरज की किरणें भी हरी थीं. \n\nवहां कई लोग थे, महिलाएं, पुरुष और बच्चे, और वे सभी हरे रंग के कपड़े पहने हुए थे और उनकी त्वचा भी हरे रंग की थी. उन्होंने डॉरथी और उसके अजीबो-गरीब दोस्तों की ओर अचरज भरी नज़रों से देखा, और जब बच्चों ने शेर को देखा तो वे सभी वहां से भाग खड़े हुए और अपनी मां के पीछे जाकर छिप गए; लेकिन किसी ने भी उनसे बात नहीं की. सड़क पर कई दुकानें थीं और डॉरथी ने देखा कि वहां सब कुछ हरा था. हरी कैंडी और हरे पॉप-कॉर्न बिक रहे थे, साथ ही हरे जूते, हरी टोपियां और सभी तरह के हरे कपड़े भी. एक जगह पर एक आदमी हरे रंग के नींबू का शरबत बेच रहा था और जब बच्चों ने उसे खरीदा तो डॉरथी ने देखा कि उन्होंने उसके लिए हरे रंग के सिक्के दिए. \n\nवहां कोई भी घोड़ा या किसी भी तरह का कोई जानवर नहीं था; आदमी उनके सामने से हरे रंग की गाड़ियों में यहां-वहां सामान ले जा रहे थे. हर कोई खुश, संतुष्ट और समृद्ध नज़र आ रहा था."</string>
     <string name="font_size_save" msgid="3450855718056759095">"ठीक है"</string>
     <string name="sdcard_setting" product="nosdcard" msgid="8281011784066476192">"USB मेमोरी"</string>
     <string name="sdcard_setting" product="default" msgid="5922637503871474866">"SD कार्ड"</string>
@@ -111,7 +110,7 @@
     <string name="bluetooth_disconnect_all_profiles" msgid="9148530542956217908">"इससे &lt;br&gt;&lt;b&gt;<xliff:g id="DEVICE_NAME">%1$s</xliff:g>&lt;/b&gt; के साथ आपका कनेक्‍शन समाप्त हो जाएगा"</string>
     <string name="bluetooth_empty_list_user_restricted" msgid="603521233563983689">"आपको ब्लूटूथ सेटिंग में बदलाव करने की अनुमति नहीं है."</string>
     <string name="bluetooth_is_visible_message" msgid="6222396240776971862">"ब्लूटूथ सेटिंग खुली होने पर <xliff:g id="DEVICE_NAME">%1$s</xliff:g> आस-पास के डिवाइसों को दिखाई देता है."</string>
-    <string name="bluetooth_is_disconnect_question" msgid="5334933802445256306">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> को डिस्कनेक्ट करें?"</string>
+    <string name="bluetooth_is_disconnect_question" msgid="5334933802445256306">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> को डिसकनेक्ट करें?"</string>
     <string name="bluetooth_broadcasting" msgid="16583128958125247">"प्रसारण"</string>
     <string name="bluetooth_disable_profile_title" msgid="5916643979709342557">"प्रोफ़ाइल अक्षम करें?"</string>
     <string name="bluetooth_disable_profile_message" msgid="2895844842011809904">"इससे यह अक्षम हो जाएगी:&lt;br&gt;&lt;b&gt;<xliff:g id="PROFILE_NAME">%1$s</xliff:g>&lt;/b&gt;&lt;br&gt;&lt;br&gt;इस पर:&lt;br&gt;&lt;b&gt;<xliff:g id="DEVICE_NAME">%2$s</xliff:g>&lt;/b&gt;"</string>
@@ -658,7 +657,7 @@
     <string name="android_beam_off_summary" msgid="4663095428454779138">"बंद"</string>
     <string name="android_beam_disabled_summary" msgid="1737782116894793393">"अनुपलब्‍ध है क्‍योंकि NFC बंद है"</string>
     <string name="android_beam_label" msgid="6257036050366775040">"Android Beam"</string>
-    <string name="android_beam_explained" msgid="1828555626055290684">"जब यह सुविधा चालू होती है, तब आप दो डिवाइस पास-पास पकड़े रखते हुए ऐप की सामग्री को दूसरे NFC-सक्षम डिवाइस पर बीम कर सकते हैं. उदाहरण के लिए, आप ब्राउज़र पृष्ठ, YouTube वीडियो, लोग संपर्कों आदि को बीम कर सकते हैं.\n\nबस दोनों डिवाइस साथ में लाएं (आमतौर पर एक-दूसरे के पीछे) और फिर अपनी स्क्रीन पर टैप करें. ऐप यह निर्धारित करता है कि क्या बीम होता है."</string>
+    <string name="android_beam_explained" msgid="1810540319385192758">"इस सुविधा के चालू होने पर, आप ऐप्लिकेशन की सामग्री को किसी दूसरे NFC-सक्षम डिवाइस पर बीम कर सकते हैं, जिसके लिए आपको दोनों डिवाइस पास-पास पकड़कर रखने होंगे. उदाहरण के लिए, आप वेब पेज, YouTube वीडियो, संपर्कों आदि को बीम कर सकते हैं.\n\nबस दोनों डिवाइस को साथ लाएं (आमतौर एक के पीछे एक) और फिर अपनी स्क्रीन टैप करें. ऐप्लिकेशन पता लगा लेता है कि कौन सी चीज़ बीम हो रही है."</string>
     <string name="wifi_quick_toggle_title" msgid="8850161330437693895">"वाई-फ़ाई"</string>
     <string name="wifi_quick_toggle_summary" msgid="2696547080481267642">"वाई-फ़ाई  चालू करें"</string>
     <string name="wifi_settings" msgid="29722149822540994">"वाई-फ़ाई"</string>
@@ -1536,11 +1535,9 @@
     <string name="app_install_location_summary" msgid="5155453752692959098">"नए ऐप्स के लिए पसंदीदा इंस्‍टॉलेशन स्‍थान बदलें"</string>
     <string name="app_disable_dlg_title" msgid="3916469657537695436">"अंतर्निहित ऐप्स अक्षम करें?"</string>
     <string name="app_disable_dlg_positive" msgid="7375627244201714263">"ऐप को अक्षम करें"</string>
-    <!-- no translation found for app_disable_dlg_text (5632072173181990531) -->
-    <skip />
+    <string name="app_disable_dlg_text" msgid="5632072173181990531">"अगर आप इस ऐप्लिकेशन को अक्षम करते हैं, तो हो सकता है कि Android और दूसरे ऐप्लिकेशन लक्षित रूप से काम ना कर पाएं."</string>
     <string name="app_special_disable_dlg_title" msgid="2690148680327142674">"डेटा हटाएं और ऐप्स  को अक्षम करें?"</string>
-    <!-- no translation found for app_special_disable_dlg_text (5832078825810635913) -->
-    <skip />
+    <string name="app_special_disable_dlg_text" msgid="5832078825810635913">"यदि आप इस ऐप्लिकेशन को अक्षम करते हैं, तो हो सकता है कि दूसरे ऐप्लिकेशन लक्षित रूप से काम ना कर पाएं. आपका डेटा भी हटा दिया जाएगा."</string>
     <string name="app_disable_notifications_dlg_title" msgid="7669264654851761857">"नोटिफिकेशन बंद करें?"</string>
     <string name="app_disable_notifications_dlg_text" msgid="5088484670924769845">"यदि आप इस ऐप्स के लिए नोटिफिकेशन बंद करते हैं, तो आप महत्‍वपूर्ण अलर्ट और नई जानकारी खो देंगे."</string>
     <string name="app_install_details_group_title" msgid="7084623031296083574">"स्टोर"</string>
@@ -2274,7 +2271,7 @@
     <string name="vpn_forget" msgid="3684651372749415446">"भूल जाएं"</string>
     <string name="vpn_connect_to" msgid="5965299358485793260">" <xliff:g id="PROFILE">%s</xliff:g> से कनेक्ट करें"</string>
     <string name="vpn_disconnect_confirm" msgid="2555877026824771115">"इस VPN को कनेक्‍ट करें."</string>
-    <string name="vpn_disconnect" msgid="7426570492642111171">"डिस्कनेक्ट करें"</string>
+    <string name="vpn_disconnect" msgid="7426570492642111171">"डिसकनेक्ट करें"</string>
     <string name="vpn_version" msgid="1939804054179766249">"वर्शन <xliff:g id="VERSION">%s</xliff:g>"</string>
     <string name="vpn_forget_long" msgid="2232239391189465752">"VPN भूल जाएं"</string>
     <string name="vpn_replace_vpn_title" msgid="2963898301277610248">"मौजूदा VPN को बदलें?"</string>
@@ -2527,8 +2524,7 @@
       <item quantity="one">छिपे हुए %d आइटम दिखाएं</item>
       <item quantity="other">छिपे हुए %d आइटम दिखाएं</item>
     </plurals>
-    <!-- no translation found for network_dashboard_title (3135144174846753758) -->
-    <skip />
+    <string name="network_dashboard_title" msgid="3135144174846753758">"नेटवर्क और इंटरनेट"</string>
     <string name="connected_devices_dashboard_title" msgid="2355264951438890709">"कनेक्ट किए गए डिवाइस"</string>
     <string name="app_and_notification_dashboard_title" msgid="7838365599185397539">"ऐप्लिकेशन और नोटिफ़िकेशन"</string>
     <string name="account_dashboard_title" msgid="38701889336378742">"उपयोगकर्ता और खाते"</string>
@@ -2581,6 +2577,7 @@
     <string name="keywords_profile_challenge" msgid="789611397846512845">"कार्य चुनौती, कार्य, प्रोफ़ाइल"</string>
     <string name="keywords_unification" msgid="1922900767659821025">"कार्य प्रोफ़ाइल, प्रबंधित प्रोफ़ाइल, एक करना, एकीकरण, कार्य, प्रोफ़ाइल"</string>
     <string name="keywords_gesture" msgid="5696040361482126337">"हावभाव"</string>
+    <string name="keywords_payment_settings" msgid="5220104934130446416">"भुगतान करें, टैप करें, भुगतान"</string>
     <string name="setup_wifi_nfc_tag" msgid="9028353016222911016">"वाई-फ़ाई  NFC टैग सेट करें"</string>
     <string name="write_tag" msgid="8571858602896222537">"लिखें"</string>
     <string name="status_awaiting_tap" msgid="2130145523773160617">"लिखने के लिए टैग टैप करें..."</string>
@@ -2653,16 +2650,11 @@
     <string name="app_notifications_title" msgid="139788604658984593">"नोटिफिकेशन"</string>
     <string name="notification_importance_title" msgid="848692592679312666">"महत्‍व"</string>
     <string name="notification_importance_none" msgid="3173515479356106227">"सेट नहीं है"</string>
-    <!-- no translation found for notification_importance_blocked (7938180808339386300) -->
-    <skip />
-    <!-- no translation found for notification_importance_min (5455049524984686275) -->
-    <skip />
-    <!-- no translation found for notification_importance_low (2445139943005315690) -->
-    <skip />
-    <!-- no translation found for notification_importance_default (5958338024601957516) -->
-    <skip />
-    <!-- no translation found for notification_importance_high (2082429479238228527) -->
-    <skip />
+    <string name="notification_importance_blocked" msgid="7938180808339386300">"नोटिफ़िकेशन कभी ना दिखाएं"</string>
+    <string name="notification_importance_min" msgid="5455049524984686275">"ध्वनि या दृश्य संबंधी कोई रुकावट नहीं"</string>
+    <string name="notification_importance_low" msgid="2445139943005315690">"मौन रूप से दिखाएं"</string>
+    <string name="notification_importance_default" msgid="5958338024601957516">"ध्वनि करें"</string>
+    <string name="notification_importance_high" msgid="2082429479238228527">"ध्वनि करें और स्क्रीन पर दिखाएं"</string>
     <string name="importance_reset" msgid="7458420788555607007">"रीसेट करें"</string>
     <string name="show_silently" msgid="2222875799232222056">"मौन रूप से दिखाएं"</string>
     <string name="show_silently_summary" msgid="7616604629123146565">"वर्तमान स्क्रीन पर इन नोटिफिकेशन के लिए ना तो ध्वनि करें, ना कंपन करें और ना ही झलक दिखाएं."</string>
@@ -2691,16 +2683,11 @@
     <string name="loading_notification_apps" msgid="5031818677010335895">"ऐप्स लोड हो रहे हैं..."</string>
     <string name="notification_channels" msgid="8681423709659818791">"चैनल"</string>
     <string name="app_notification_block_title" msgid="4069351066849087649">"सभी रोक दें"</string>
-    <!-- no translation found for app_notification_block_summary (4744020456943215352) -->
-    <skip />
-    <!-- no translation found for notification_content_block_title (5854232570963006360) -->
-    <skip />
-    <!-- no translation found for notification_content_block_summary (7746185794438882389) -->
-    <skip />
-    <!-- no translation found for notification_badge_title (5404669445214920178) -->
-    <skip />
-    <!-- no translation found for notification_badge_summary (3944771498030335669) -->
-    <skip />
+    <string name="app_notification_block_summary" msgid="4744020456943215352">"ये नोटिफिकेशन कभी ना दिखाएं"</string>
+    <string name="notification_content_block_title" msgid="5854232570963006360">"नोटिफ़िकेशन दिखाएं"</string>
+    <string name="notification_content_block_summary" msgid="7746185794438882389">"नोटिफ़िकेशन कभी भी शेड में या पेरिफ़ेरल डिवाइस पर ना दिखाएं"</string>
+    <string name="notification_badge_title" msgid="5404669445214920178">"बैज दिखाएं"</string>
+    <string name="notification_badge_summary" msgid="3944771498030335669">"यदि समर्थित हो, तो नोटिफ़िकेशन को होम ऐप्लिकेशन पर बैज के रूप में दिखाएं."</string>
     <string name="app_notification_override_dnd_title" msgid="7867458246395884830">"परेशान ना करें को ओवरराइड करें"</string>
     <string name="app_notification_override_dnd_summary" msgid="3516007157020189746">"जब परेशान ना करें को केवल प्राथमिकता पर सेट किया गया हो, तब इन नोटिफिकेशन को बाधित करते रहने दें"</string>
     <string name="app_notification_visibility_override_title" msgid="2187232730902430718">"लॉक स्क्रीन पर"</string>
@@ -2802,7 +2789,7 @@
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2232461523882170874">"यह कार्य प्रोफ़ाइल इनके द्वारा प्रबंधित की जाती है:"</string>
     <string name="managing_admin" msgid="8843802210377459055">"<xliff:g id="ADMIN_APP_LABEL">%s</xliff:g> द्वारा प्रबंधित"</string>
     <string name="experimental_preference" msgid="7083015446690681376">"(प्रायोगिक)"</string>
-    <string name="display_auto_rotate_title" msgid="6176450657107806043">"डिवाइस घुमाए जाने पर"</string>
+    <string name="display_auto_rotate_title" msgid="7119684966039069439">"डिवाइस का घुमाव"</string>
     <string name="display_auto_rotate_rotate" msgid="4544299861233497728">"स्क्रीन की सामग्री को घुमाएं"</string>
     <string name="display_auto_rotate_stay_in_portrait" msgid="292745182318093651">"पोर्ट्रेट दृश्य में बने रहें"</string>
     <string name="display_auto_rotate_stay_in_landscape" msgid="3804752830204062162">"भू-दृश्य में बने रहें"</string>
@@ -3050,7 +3037,7 @@
     <string name="screen_zoom_conversation_timestamp_2" msgid="7107225702890747588">"मंगलवार शाम 6:01 बजे"</string>
     <string name="screen_zoom_conversation_timestamp_3" msgid="3785674344762707688">"मंगलवार शाम 6:02 बजे"</string>
     <string name="screen_zoom_conversation_timestamp_4" msgid="2511469395448561259">"मंगलवार शाम 6:03 बजे"</string>
-    <string name="disconnected" msgid="5787956818111197212">"डिस्कनेक्ट किया गया"</string>
+    <string name="disconnected" msgid="5787956818111197212">"डिसकनेक्ट किया गया"</string>
     <string name="data_usage_summary_format" msgid="7507047900192160585">"<xliff:g id="AMOUNT">%1$s</xliff:g> डेटा का उपयोग किया गया है"</string>
     <plurals name="notification_summary" formatted="false" msgid="4019451362120557382">
       <item quantity="one"><xliff:g id="COUNT_1">%d</xliff:g> ऐप्लिकेशन भेजने से अवरुद्ध किए गए</item>
@@ -3192,6 +3179,8 @@
     <string name="page_tab_title_support" msgid="6330657582897417458">"सहायता"</string>
     <string name="developer_density_summary" msgid="1998244213021456519">"<xliff:g id="ID_1">%d</xliff:g> dp"</string>
     <string name="developer_smallest_width" msgid="7516950434587313360">"न्यूनतम चौड़ाई"</string>
+    <string name="developer_tile" msgid="4822711696408279658">"डेवलपमेंट मोड"</string>
+    <string name="developer_tile_unavailable" msgid="6559656549479711827">"कोई सक्रिय स्थिति चयनित नहीं"</string>
     <string name="premium_sms_none" msgid="8268105565738040566">"इंस्टॉल किए गए किसी भी ऐप्लिकेशन द्वारा प्रीमियम SMS एक्सेस का अनुरोध नहीं किया गया"</string>
     <string name="premium_sms_warning" msgid="9086859595338944882">"प्रीमियम SMS से शुल्क लग सकता है और इससे आपके वाहक बिल में बढ़ोतरी हो जाएगी. यदि आप किसी ऐप्लिकेशन के लिए अनुमति सक्षम करते हैं, तो आप उस ऐप्लिकेशन का उपयोग करके प्रीमियम SMS भेज सकेंगे."</string>
     <string name="premium_sms_access" msgid="4660047004791638305">"प्रीमियम SMS एक्सेस"</string>
@@ -3221,8 +3210,7 @@
     <string name="support_disclaimer_do_not_show" msgid="3378367075323727539">"दोबारा ना दिखाएं"</string>
     <string name="support_account_request_prefix" msgid="6387847874661861650">"इस रूप में अनुरोध किया जा रहा है"</string>
     <string name="support_account_picker_add_account" msgid="5076277544846506214">"खाता जोड़ें"</string>
-    <!-- no translation found for support_system_information_title (3439905790018934773) -->
-    <skip />
+    <string name="support_system_information_title" msgid="3439905790018934773">"सिस्टम जानकारी"</string>
     <string name="managed_profile_settings_title" msgid="2729481936758125054">"कार्य प्रोफ़ाइल सेटिंग"</string>
     <string name="managed_profile_contact_search_title" msgid="6034734926815544221">"संपर्क खोज"</string>
     <string name="managed_profile_contact_search_summary" msgid="5431253552272970512">"कॉलर और संपर्कों की पहचान करने के लिए अपने संगठन में संपर्क खोज करने दें"</string>
@@ -3313,4 +3301,16 @@
     <string name="enterprise_privacy_bug_reports" msgid="4762460041705169944">"आपकी हाल ही की बग रिपोर्ट"</string>
     <string name="enterprise_privacy_security_logs" msgid="3648730027522011684">"आपका हाल ही का सुरक्षा लॉग"</string>
     <string name="enterprise_privacy_never" msgid="1304035596746436921">"कभी नहीं"</string>
+    <string name="storage_photos_videos" msgid="1872663116054954685">"फ़ोटो और वीडियो"</string>
+    <string name="storage_music_audio" msgid="7890103397813503615">"संगीत और ऑडियो"</string>
+    <string name="storage_games" msgid="7703159201697117621">"गेम"</string>
+    <string name="storage_other_apps" msgid="5524321740031718083">"अन्य ऐप्लिकेशन"</string>
+    <string name="storage_files" msgid="8581083146777364063">"फ़ाइलें"</string>
+    <string name="storage_settings_2" msgid="6369810699930056554">"फ़ोन की जगह"</string>
+    <!-- no translation found for storage_size_large_alternate (3436941214395940966) -->
+    <skip />
+    <!-- no translation found for storage_volume_free (8829609507318832879) -->
+    <skip />
+    <!-- no translation found for storage_percent_used (6741397129281819921) -->
+    <skip />
 </resources>
diff --git a/res/values-hr/strings.xml b/res/values-hr/strings.xml
index 65123c3..b03732a 100644
--- a/res/values-hr/strings.xml
+++ b/res/values-hr/strings.xml
@@ -667,7 +667,7 @@
     <string name="android_beam_off_summary" msgid="4663095428454779138">"Isključeno"</string>
     <string name="android_beam_disabled_summary" msgid="1737782116894793393">"Nije dostupno jer je NFC isključen"</string>
     <string name="android_beam_label" msgid="6257036050366775040">"Android Beam"</string>
-    <string name="android_beam_explained" msgid="1828555626055290684">"Kada je ta značajka uključena, možete emitirati sadržaj aplikacije na neki drugi uređaj koji podržava NFC tako što ćete približiti uređaje jedan drugom. Na primjer, možete emitirati stranice Preglednika, videozapise s YouTubea, kontakte iz Osoba i još mnogo toga.\n\nSamo približite uređaje jedan drugom (obično se prislone jedan na drugi sa stražnje strane) i dodirnite zaslon. Aplikacija će odrediti što će se emitirati."</string>
+    <string name="android_beam_explained" msgid="1810540319385192758">"Kada je ta značajka uključena, možete emitirati sadržaj aplikacije na drugi uređaj na kojem je omogućen NFC tako da držite uređaje jedan uz drugi. Na primjer, možete emitirati web-stranice, videozapise s YouTubea, kontakte i još mnogo toga.\n\nJednostavno međusobno približite uređaje (najčešće se poleđinama prislanjaju jedan uz drugi), pa dodirnite zaslon. Aplikacija određuje što će se emitirati."</string>
     <string name="wifi_quick_toggle_title" msgid="8850161330437693895">"Wi-Fi"</string>
     <string name="wifi_quick_toggle_summary" msgid="2696547080481267642">"Uključite Wi-Fi"</string>
     <string name="wifi_settings" msgid="29722149822540994">"Wi-Fi"</string>
@@ -2603,6 +2603,7 @@
     <string name="keywords_profile_challenge" msgid="789611397846512845">"radni izazov, radni, profil"</string>
     <string name="keywords_unification" msgid="1922900767659821025">"radni profil, upravljani profil, objediniti, objedinjavanje, radni, profil"</string>
     <string name="keywords_gesture" msgid="5696040361482126337">"pokret"</string>
+    <string name="keywords_payment_settings" msgid="5220104934130446416">"plati, dodir, plaćanja"</string>
     <string name="setup_wifi_nfc_tag" msgid="9028353016222911016">"Postavite oznaku NFC za Wi-Fi"</string>
     <string name="write_tag" msgid="8571858602896222537">"Piši"</string>
     <string name="status_awaiting_tap" msgid="2130145523773160617">"Dodirnite oznaku da biste zapisali podatke..."</string>
@@ -2827,7 +2828,7 @@
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2232461523882170874">"Ovim radnim profilom upravlja:"</string>
     <string name="managing_admin" msgid="8843802210377459055">"Upravlja <xliff:g id="ADMIN_APP_LABEL">%s</xliff:g>"</string>
     <string name="experimental_preference" msgid="7083015446690681376">"(Eksperimentalno)"</string>
-    <string name="display_auto_rotate_title" msgid="6176450657107806043">"Kada se uređaj zakrene"</string>
+    <string name="display_auto_rotate_title" msgid="7119684966039069439">"Zakretanje uređaja"</string>
     <string name="display_auto_rotate_rotate" msgid="4544299861233497728">"Zakreni sadržaj zaslona"</string>
     <string name="display_auto_rotate_stay_in_portrait" msgid="292745182318093651">"Ostani u okomitom prikazu"</string>
     <string name="display_auto_rotate_stay_in_landscape" msgid="3804752830204062162">"Ostani u vodoravnom prikazu"</string>
@@ -3224,6 +3225,8 @@
     <string name="page_tab_title_support" msgid="6330657582897417458">"Podrška"</string>
     <string name="developer_density_summary" msgid="1998244213021456519">"<xliff:g id="ID_1">%d</xliff:g> dp"</string>
     <string name="developer_smallest_width" msgid="7516950434587313360">"Najmanja širina"</string>
+    <string name="developer_tile" msgid="4822711696408279658">"Razvojni način rada"</string>
+    <string name="developer_tile_unavailable" msgid="6559656549479711827">"Nema odabranih aktivnih stanja"</string>
     <string name="premium_sms_none" msgid="8268105565738040566">"Nijedna instalirana aplikacija nije zatražila pristup premium SMS-ovima"</string>
     <string name="premium_sms_warning" msgid="9086859595338944882">"Premium SMS-ovi mogu se dodatno naplaćivati i povećat će vaš račun. Ako nekoj aplikaciji date to dopuštenje, moći ćete slati premium SMS-ove pomoću te aplikacije."</string>
     <string name="premium_sms_access" msgid="4660047004791638305">"Pristup premium SMS-ovima"</string>
@@ -3349,4 +3352,16 @@
     <string name="enterprise_privacy_bug_reports" msgid="4762460041705169944">"Vaše najnovije izvješće o programskoj pogrešci"</string>
     <string name="enterprise_privacy_security_logs" msgid="3648730027522011684">"Najnoviji sigurnosni zapisnik"</string>
     <string name="enterprise_privacy_never" msgid="1304035596746436921">"Nikada"</string>
+    <string name="storage_photos_videos" msgid="1872663116054954685">"Fotografije i videozapisi"</string>
+    <string name="storage_music_audio" msgid="7890103397813503615">"Glazba i zvuk"</string>
+    <string name="storage_games" msgid="7703159201697117621">"Igre"</string>
+    <string name="storage_other_apps" msgid="5524321740031718083">"Ostale aplikacije"</string>
+    <string name="storage_files" msgid="8581083146777364063">"Datoteke"</string>
+    <string name="storage_settings_2" msgid="6369810699930056554">"Pohrana telefona"</string>
+    <!-- no translation found for storage_size_large_alternate (3436941214395940966) -->
+    <skip />
+    <!-- no translation found for storage_volume_free (8829609507318832879) -->
+    <skip />
+    <!-- no translation found for storage_percent_used (6741397129281819921) -->
+    <skip />
 </resources>
diff --git a/res/values-hu/strings.xml b/res/values-hu/strings.xml
index 1e8a08c..3f4f444 100644
--- a/res/values-hu/strings.xml
+++ b/res/values-hu/strings.xml
@@ -658,7 +658,7 @@
     <string name="android_beam_off_summary" msgid="4663095428454779138">"Ki"</string>
     <string name="android_beam_disabled_summary" msgid="1737782116894793393">"Nem érhető el, mert az NFC ki van kapcsolva"</string>
     <string name="android_beam_label" msgid="6257036050366775040">"Android Beam"</string>
-    <string name="android_beam_explained" msgid="1828555626055290684">"Ha ez a funkció be van kapcsolva, alkalmazástartalmat sugározhat át egy másik NFC-kompatibilis eszközre úgy, hogy egymáshoz közel tartja az eszközöket. Például átsugározhat böngészőoldalakat, YouTube-videókat, névjegyeket stb.\n\nEgyszerűen érintse össze az eszközöket (általában a hátlapjaikat), majd koppintson a képernyőre. Az alkalmazás eldönti, hogy mit fog átsugározni."</string>
+    <string name="android_beam_explained" msgid="1810540319385192758">"A funkció bekapcsolása után eszközéről alkalmazástartalmakat sugározhat más NFC-képes eszközre, ha összeérinti őket. Sugározhat például weboldalakat, YouTube-videókat, névjegyeket és egyéb tartalmakat.\n\nÉrintse össze az eszközöket (általában háttal egymásnak), és koppintson a képernyőre. Az alkalmazás határozza meg, hogy az eszköz mit sugároz."</string>
     <string name="wifi_quick_toggle_title" msgid="8850161330437693895">"Wi-Fi"</string>
     <string name="wifi_quick_toggle_summary" msgid="2696547080481267642">"Wi-Fi bekapcsolása"</string>
     <string name="wifi_settings" msgid="29722149822540994">"Wi-Fi"</string>
@@ -2581,6 +2581,7 @@
     <string name="keywords_profile_challenge" msgid="789611397846512845">"munkahelyi kihívás, munka, profil"</string>
     <string name="keywords_unification" msgid="1922900767659821025">"munkaprofil, felügyelt profil, egyesít, egyesítés, munka, profil"</string>
     <string name="keywords_gesture" msgid="5696040361482126337">"kézmozdulat"</string>
+    <string name="keywords_payment_settings" msgid="5220104934130446416">"fizetés, koppintás, kifizetések"</string>
     <string name="setup_wifi_nfc_tag" msgid="9028353016222911016">"Wi-Fi NFC-címke beállítása"</string>
     <string name="write_tag" msgid="8571858602896222537">"Írás"</string>
     <string name="status_awaiting_tap" msgid="2130145523773160617">"Az íráshoz érintsen meg egy címkét…"</string>
@@ -2802,7 +2803,7 @@
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2232461523882170874">"A munkahelyi profil kezelője:"</string>
     <string name="managing_admin" msgid="8843802210377459055">"Kezeli: <xliff:g id="ADMIN_APP_LABEL">%s</xliff:g>"</string>
     <string name="experimental_preference" msgid="7083015446690681376">"(Kísérleti)"</string>
-    <string name="display_auto_rotate_title" msgid="6176450657107806043">"Az eszköz forgatásakor"</string>
+    <string name="display_auto_rotate_title" msgid="7119684966039069439">"Eszközforgatás"</string>
     <string name="display_auto_rotate_rotate" msgid="4544299861233497728">"Az oldal tartalmának forgatása"</string>
     <string name="display_auto_rotate_stay_in_portrait" msgid="292745182318093651">"Álló nézet megtartása"</string>
     <string name="display_auto_rotate_stay_in_landscape" msgid="3804752830204062162">"Fekvő nézet megtartása"</string>
@@ -3192,6 +3193,8 @@
     <string name="page_tab_title_support" msgid="6330657582897417458">"Támogatás"</string>
     <string name="developer_density_summary" msgid="1998244213021456519">"<xliff:g id="ID_1">%d</xliff:g> dp"</string>
     <string name="developer_smallest_width" msgid="7516950434587313360">"Legkeskenyebb szélesség"</string>
+    <string name="developer_tile" msgid="4822711696408279658">"Fejlesztői mód"</string>
+    <string name="developer_tile_unavailable" msgid="6559656549479711827">"Nincs kiválasztva aktív állapot"</string>
     <string name="premium_sms_none" msgid="8268105565738040566">"Egy telepített alkalmazás sem kért hozzáférést a Prémium sms-ekhez"</string>
     <string name="premium_sms_warning" msgid="9086859595338944882">"A Prémium sms-ek használata pénzbe kerülhet Önnek, és a szolgáltató által kiállított számlák végösszegét növeli. Ha engedélyt ad valamelyik alkalmazásnak, akkor azzal lehetősége lesz prémium sms-eket küldeni."</string>
     <string name="premium_sms_access" msgid="4660047004791638305">"Prémium sms-hozzáférés"</string>
@@ -3313,4 +3316,16 @@
     <string name="enterprise_privacy_bug_reports" msgid="4762460041705169944">"Az Ön legutóbbi hibajelentése"</string>
     <string name="enterprise_privacy_security_logs" msgid="3648730027522011684">"Legutóbbi biztonsági naplója"</string>
     <string name="enterprise_privacy_never" msgid="1304035596746436921">"Soha"</string>
+    <string name="storage_photos_videos" msgid="1872663116054954685">"Fényképek és videók"</string>
+    <string name="storage_music_audio" msgid="7890103397813503615">"Zene és hang"</string>
+    <string name="storage_games" msgid="7703159201697117621">"Játékok"</string>
+    <string name="storage_other_apps" msgid="5524321740031718083">"Egyéb alkalmazások"</string>
+    <string name="storage_files" msgid="8581083146777364063">"Fájlok"</string>
+    <string name="storage_settings_2" msgid="6369810699930056554">"Telefontárhely"</string>
+    <!-- no translation found for storage_size_large_alternate (3436941214395940966) -->
+    <skip />
+    <!-- no translation found for storage_volume_free (8829609507318832879) -->
+    <skip />
+    <!-- no translation found for storage_percent_used (6741397129281819921) -->
+    <skip />
 </resources>
diff --git a/res/values-hy-rAM-nokeys/strings.xml b/res/values-hy-rAM-nokeys/strings.xml
deleted file mode 100644
index 9c76a6b..0000000
--- a/res/values-hy-rAM-nokeys/strings.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2007 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.
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="applications_settings_summary" msgid="6616938758022986257">"Կառավարել ծրագրերը"</string>
-</resources>
diff --git a/res/values-hy-rAM/arrays.xml b/res/values-hy/arrays.xml
similarity index 100%
rename from res/values-hy-rAM/arrays.xml
rename to res/values-hy/arrays.xml
diff --git a/res/values-hy-rAM/strings.xml b/res/values-hy/strings.xml
similarity index 99%
rename from res/values-hy-rAM/strings.xml
rename to res/values-hy/strings.xml
index 1b7f713..0c5b9de 100644
--- a/res/values-hy-rAM/strings.xml
+++ b/res/values-hy/strings.xml
@@ -658,7 +658,7 @@
     <string name="android_beam_off_summary" msgid="4663095428454779138">"Անջատած է"</string>
     <string name="android_beam_disabled_summary" msgid="1737782116894793393">"Անհասանելի է, քանի որ NFC-ն անջատված է"</string>
     <string name="android_beam_label" msgid="6257036050366775040">"Android Beam"</string>
-    <string name="android_beam_explained" msgid="1828555626055290684">"Երբ այս գործառույթը միացված է, կարող եք բովանդակություն ճառագայթել մեկ այլ NFC հնարավորությամբ սարքի` սարքերը միմյանց մոտ պահելով: Օրինակ` կարող եք ճառագայթել դիտարկչի էջեր, YouTube-ի տեսանյութեր, Մարդիկ հավելվածի կոնտակտներ և ավելին:\n\nՊարզապես մոտեցրեք սարքերը միմյանց (հիմնականում մեջք մեջքի) և հպեք ձեր էկրանին: Ծրագիրը կորոշի, թե ինչն է անհրաժեշտ ճառագայթել:"</string>
+    <string name="android_beam_explained" msgid="1810540319385192758">"Երբ այս գործառույթը միացված է, կարող եք բովանդակություն ճառագայթել մեկ այլ NFC հնարավորությամբ սարքի` սարքերը միմյանց մոտ պահելով: Օրինակ` կարող եք ճառագայթել կայքէջեր, YouTube-ի տեսանյութեր, կոնտակտներ և ավելին:\n\nՊարզապես մոտեցրեք սարքերը միմյանց (հիմնականում մեջք մեջքի) և հպեք ձեր էկրանին: Հավելվածը կորոշի, թե ինչն է անհրաժեշտ ճառագայթել:"</string>
     <string name="wifi_quick_toggle_title" msgid="8850161330437693895">"Wi‑Fi"</string>
     <string name="wifi_quick_toggle_summary" msgid="2696547080481267642">"Միացնել Wi-Fi-ը"</string>
     <string name="wifi_settings" msgid="29722149822540994">"Wi‑Fi"</string>
@@ -2581,6 +2581,7 @@
     <string name="keywords_profile_challenge" msgid="789611397846512845">"աշխատանքային մարտահրավեր, աշխատանք, պրոֆիլ"</string>
     <string name="keywords_unification" msgid="1922900767659821025">"աշխատանքային պրոֆիլ, կառավարվող պրոֆիլ, միավորել, միավորում, աշխատանք, պրոֆիլ"</string>
     <string name="keywords_gesture" msgid="5696040361482126337">"ժեստ"</string>
+    <string name="keywords_payment_settings" msgid="5220104934130446416">"վճարել, հպել, վճարումներ"</string>
     <string name="setup_wifi_nfc_tag" msgid="9028353016222911016">"Կարգավորել Wi-Fi NFC պիտակը"</string>
     <string name="write_tag" msgid="8571858602896222537">"Գրել"</string>
     <string name="status_awaiting_tap" msgid="2130145523773160617">"Հպեք պիտակի վրա՝ գրելու համար..."</string>
@@ -2802,7 +2803,7 @@
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2232461523882170874">"Այս աշխատանքային պրոֆիլը կառավարվում է այս հավելվածի օգնությամբ՝"</string>
     <string name="managing_admin" msgid="8843802210377459055">"Կառավարիչ՝ <xliff:g id="ADMIN_APP_LABEL">%s</xliff:g>"</string>
     <string name="experimental_preference" msgid="7083015446690681376">"(Փորձնական)"</string>
-    <string name="display_auto_rotate_title" msgid="6176450657107806043">"Երբ սարքը պտտվում է"</string>
+    <string name="display_auto_rotate_title" msgid="7119684966039069439">"Սարքի պտտում"</string>
     <string name="display_auto_rotate_rotate" msgid="4544299861233497728">"Պտտեցնել էկրանի բովանդակությունը"</string>
     <string name="display_auto_rotate_stay_in_portrait" msgid="292745182318093651">"Մնալ դիմանկարային դիրքով"</string>
     <string name="display_auto_rotate_stay_in_landscape" msgid="3804752830204062162">"Մնալ լանդշաֆտային դիրքով"</string>
@@ -3192,6 +3193,8 @@
     <string name="page_tab_title_support" msgid="6330657582897417458">"Աջակցություն"</string>
     <string name="developer_density_summary" msgid="1998244213021456519">"<xliff:g id="ID_1">%d</xliff:g> dp"</string>
     <string name="developer_smallest_width" msgid="7516950434587313360">"Ամենափոքր լայնությունը"</string>
+    <string name="developer_tile" msgid="4822711696408279658">"Մշակման ռեժիմ"</string>
+    <string name="developer_tile_unavailable" msgid="6559656549479711827">"Ակտիվ վիճակ չի ընտրվել"</string>
     <string name="premium_sms_none" msgid="8268105565738040566">"Տեղադրված հավելվածներից ոչ մեկը Պրեմիում SMS-ների օգտագործման հարցում չի կատարել"</string>
     <string name="premium_sms_warning" msgid="9086859595338944882">"Պրեմիում SMS-ները կարող են առաջացնել լրացուցիչ ծախսեր և ավելացնել բջջային օպերատորի կողմից ներկայացվող վճարման հաշիվները: Եթե նման թույլտվություն տրամադրեք որևէ հավելվածին, ապա այդ հավելվածի միջոցով կկարողանաք ուղարկել Պրեմիում SMS-ներ:"</string>
     <string name="premium_sms_access" msgid="4660047004791638305">"Պրեմիում SMS-ների օգտագործում"</string>
@@ -3313,4 +3316,16 @@
     <string name="enterprise_privacy_bug_reports" msgid="4762460041705169944">"Ձեր ամենավերջի վրիպակի զեկույցը"</string>
     <string name="enterprise_privacy_security_logs" msgid="3648730027522011684">"Ձեր ամենավերջին անվտանգության մատյանը"</string>
     <string name="enterprise_privacy_never" msgid="1304035596746436921">"Երբեք"</string>
+    <string name="storage_photos_videos" msgid="1872663116054954685">"Լուսանկարներ և տեսանյութեր"</string>
+    <string name="storage_music_audio" msgid="7890103397813503615">"Երաժշտություն և աուդիո"</string>
+    <string name="storage_games" msgid="7703159201697117621">"Խաղեր"</string>
+    <string name="storage_other_apps" msgid="5524321740031718083">"Այլ հավելվածներ"</string>
+    <string name="storage_files" msgid="8581083146777364063">"Ֆայլեր"</string>
+    <string name="storage_settings_2" msgid="6369810699930056554">"Հեռախոսի հիշողություն"</string>
+    <!-- no translation found for storage_size_large_alternate (3436941214395940966) -->
+    <skip />
+    <!-- no translation found for storage_volume_free (8829609507318832879) -->
+    <skip />
+    <!-- no translation found for storage_percent_used (6741397129281819921) -->
+    <skip />
 </resources>
diff --git a/res/values-in/strings.xml b/res/values-in/strings.xml
index 4c54bb8..b6b7ef4 100644
--- a/res/values-in/strings.xml
+++ b/res/values-in/strings.xml
@@ -86,8 +86,7 @@
     <string name="font_size_preview_text_headline" msgid="7955317408475392247">"Teks contoh"</string>
     <string name="font_size_preview_text_title" msgid="1310536233106975546">"Penyihir Oz yang Menakjubkan"</string>
     <string name="font_size_preview_text_subtitle" msgid="4231671528173110093">"Bab 11: Oz, Kota Zamrud yang Menakjubkan"</string>
-    <!-- no translation found for font_size_preview_text_body (2846183528684496723) -->
-    <skip />
+    <string name="font_size_preview_text_body" msgid="2846183528684496723">"Meski terlindung oleh kacamata berwarna hijau, Dorothy dan teman-temannya disilaukan oleh gemerlap Kota yang menakjubkan. Rumah-rumah cantik dari marmer hijau berderet di sepanjang jalan bertaburkan zamrud. Mereka berjalan di trotoar yang juga terbuat dari marmer hijau, di blok yang menyatu rapat dengan deretan zamrud yang berkilauan di tengah terik matahari. Jendela-jendela rumah terbuat dari kaca hijau; langit di atas Kota tampak kehijauan, dan cahaya mataharinya pun hijau. \n\nDi sana ada banyak orang, laki-laki, perempuan, dan anak-anak, semuanya sibuk lalu-lalang; semua berpakaian hijau dan kulit mereka pun berwarna kehijauan. Mereka memandang Dorothy dan rombongannya yang aneh dengan penuh keheranan. Anak-anak berlari dan bersembunyi di belakang ibu mereka saat melihat si Singa; tetapi tidak ada yang berani mengajaknya bicara. Dorothy melihat ada banyak toko di sepanjang jalan, dan semua isinya juga berwarna hijau. Toko-toko itu menjual permen hijau, brondong jagung hijau, sepatu hijau, topi hijau, dan segala macam pakaian hijau. Ketika melewati sebuah tempat, Dorothy melihat seorang pria menjual limun hijau, yang dibeli anak-anak dengan uang koin berwarna hijau. \n\nSepertinya tidak ada kuda atau hewan apa pun di sini; para lelaki membawa barang dalam gerobak dorong kecil berwarna hijau. Semua orang terlihat bahagia, puas, dan sejahtera."</string>
     <string name="font_size_save" msgid="3450855718056759095">"Oke"</string>
     <string name="sdcard_setting" product="nosdcard" msgid="8281011784066476192">"Penyimpanan USB"</string>
     <string name="sdcard_setting" product="default" msgid="5922637503871474866">"Kartu SD"</string>
@@ -658,7 +657,7 @@
     <string name="android_beam_off_summary" msgid="4663095428454779138">"Mati"</string>
     <string name="android_beam_disabled_summary" msgid="1737782116894793393">"Tidak tersedia karena NFC dimatikan"</string>
     <string name="android_beam_label" msgid="6257036050366775040">"Android Beam"</string>
-    <string name="android_beam_explained" msgid="1828555626055290684">"Jika fitur ini diaktifkan, Anda dapat memancarkan konten aplikasi ke perangkat yang berkemampuan NFC dengan mendekatkan kedua perangkat. Misalnya, Anda dapat memancarkan laman Browser, video YouTube, kontak Orang, dan lainnya.\n\nCukup dekatkan kedua perangkat (biasanya saling membelakangi), lalu ketuk layar. Aplikasi akan menentukan item yang dipancarkan."</string>
+    <string name="android_beam_explained" msgid="1810540319385192758">"Jika fitur ini dinonaktifkan, Anda dapat melakukan beam konten aplikasi ke perangkat lain yang mendukung NFC dengan menempelkan perangkat. Misalnya, Anda dapat melakukan beam laman web, video YouTube, kontak, dan lainnya.\n\nCukup tempelkan perangkat (biasanya saling membelakangi), lalu tap layar. Aplikasi menentukan konten yang di-beam."</string>
     <string name="wifi_quick_toggle_title" msgid="8850161330437693895">"Wi‑Fi"</string>
     <string name="wifi_quick_toggle_summary" msgid="2696547080481267642">"Nyalakan Wi-Fi"</string>
     <string name="wifi_settings" msgid="29722149822540994">"Wi‑Fi"</string>
@@ -1536,11 +1535,9 @@
     <string name="app_install_location_summary" msgid="5155453752692959098">"Ubah lokasi pemasangan yang diinginkan untuk apl baru."</string>
     <string name="app_disable_dlg_title" msgid="3916469657537695436">"Nonaktifkan aplikasi bawaan?"</string>
     <string name="app_disable_dlg_positive" msgid="7375627244201714263">"Menonaktifkan aplikasi"</string>
-    <!-- no translation found for app_disable_dlg_text (5632072173181990531) -->
-    <skip />
+    <string name="app_disable_dlg_text" msgid="5632072173181990531">"Jika Anda menonaktifkan aplikasi ini, Android dan aplikasi lain mungkin tidak berfungsi lagi sesuai harapan."</string>
     <string name="app_special_disable_dlg_title" msgid="2690148680327142674">"Hapus data dan nonaktifkan aplikasi?"</string>
-    <!-- no translation found for app_special_disable_dlg_text (5832078825810635913) -->
-    <skip />
+    <string name="app_special_disable_dlg_text" msgid="5832078825810635913">"Jika Anda menonaktifkan aplikasi ini, Android dan aplikasi lain mungkin tidak berfungsi lagi sesuai harapan. Data juga akan dihapus."</string>
     <string name="app_disable_notifications_dlg_title" msgid="7669264654851761857">"Nonaktifkan notifikasi?"</string>
     <string name="app_disable_notifications_dlg_text" msgid="5088484670924769845">"Jika Anda mematikan notifikasi untuk aplikasi ini, Anda dapat melewatkan pembaruan dan lansiran penting."</string>
     <string name="app_install_details_group_title" msgid="7084623031296083574">"Toko Aplikasi"</string>
@@ -2527,8 +2524,7 @@
       <item quantity="other">Tampilkan %d item tersembunyi</item>
       <item quantity="one">Tampilkan %d item tersembunyi</item>
     </plurals>
-    <!-- no translation found for network_dashboard_title (3135144174846753758) -->
-    <skip />
+    <string name="network_dashboard_title" msgid="3135144174846753758">"Jaringan &amp; internet"</string>
     <string name="connected_devices_dashboard_title" msgid="2355264951438890709">"Perangkat yang terhubung"</string>
     <string name="app_and_notification_dashboard_title" msgid="7838365599185397539">"Aplikasi &amp; notifikasi"</string>
     <string name="account_dashboard_title" msgid="38701889336378742">"Pengguna &amp; akun"</string>
@@ -2581,6 +2577,7 @@
     <string name="keywords_profile_challenge" msgid="789611397846512845">"tantangan kerja, kerja, profil"</string>
     <string name="keywords_unification" msgid="1922900767659821025">"profil kerja, profil yang dikelola, menyatukan, penyatuan, kerja, profil"</string>
     <string name="keywords_gesture" msgid="5696040361482126337">"isyarat"</string>
+    <string name="keywords_payment_settings" msgid="5220104934130446416">"bayar, tap, pembayaran"</string>
     <string name="setup_wifi_nfc_tag" msgid="9028353016222911016">"Siapkan Tag NFC Wi-Fi"</string>
     <string name="write_tag" msgid="8571858602896222537">"Tulis"</string>
     <string name="status_awaiting_tap" msgid="2130145523773160617">"Ketuk tag untuk menulis..."</string>
@@ -2653,16 +2650,11 @@
     <string name="app_notifications_title" msgid="139788604658984593">"Notifikasi"</string>
     <string name="notification_importance_title" msgid="848692592679312666">"Tingkat Kepentingan"</string>
     <string name="notification_importance_none" msgid="3173515479356106227">"Belum disetel"</string>
-    <!-- no translation found for notification_importance_blocked (7938180808339386300) -->
-    <skip />
-    <!-- no translation found for notification_importance_min (5455049524984686275) -->
-    <skip />
-    <!-- no translation found for notification_importance_low (2445139943005315690) -->
-    <skip />
-    <!-- no translation found for notification_importance_default (5958338024601957516) -->
-    <skip />
-    <!-- no translation found for notification_importance_high (2082429479238228527) -->
-    <skip />
+    <string name="notification_importance_blocked" msgid="7938180808339386300">"Jangan pernah tampilkan notifikasi"</string>
+    <string name="notification_importance_min" msgid="5455049524984686275">"Tidak ada gangguan suara atau visual"</string>
+    <string name="notification_importance_low" msgid="2445139943005315690">"Tampilkan secara diam-diam"</string>
+    <string name="notification_importance_default" msgid="5958338024601957516">"Buat suara"</string>
+    <string name="notification_importance_high" msgid="2082429479238228527">"Buat suara dan munculkan di layar"</string>
     <string name="importance_reset" msgid="7458420788555607007">"Setel ulang"</string>
     <string name="show_silently" msgid="2222875799232222056">"Tampilkan secara diam-diam"</string>
     <string name="show_silently_summary" msgid="7616604629123146565">"Jangan bersuara, bergetar, atau mengintip notifikasi tersebut untuk ditampilkan di layar saat ini."</string>
@@ -2691,16 +2683,11 @@
     <string name="loading_notification_apps" msgid="5031818677010335895">"Memuat aplikasi..."</string>
     <string name="notification_channels" msgid="8681423709659818791">"Saluran"</string>
     <string name="app_notification_block_title" msgid="4069351066849087649">"Blokir semua"</string>
-    <!-- no translation found for app_notification_block_summary (4744020456943215352) -->
-    <skip />
-    <!-- no translation found for notification_content_block_title (5854232570963006360) -->
-    <skip />
-    <!-- no translation found for notification_content_block_summary (7746185794438882389) -->
-    <skip />
-    <!-- no translation found for notification_badge_title (5404669445214920178) -->
-    <skip />
-    <!-- no translation found for notification_badge_summary (3944771498030335669) -->
-    <skip />
+    <string name="app_notification_block_summary" msgid="4744020456943215352">"Jangan pernah tampilkan notifikasi ini"</string>
+    <string name="notification_content_block_title" msgid="5854232570963006360">"Tampilkan notifikasi"</string>
+    <string name="notification_content_block_summary" msgid="7746185794438882389">"Jangan pernah tampilkan notifikasi di bayangan atau di perangkat periferal"</string>
+    <string name="notification_badge_title" msgid="5404669445214920178">"Tampilkan badge"</string>
+    <string name="notification_badge_summary" msgid="3944771498030335669">"Tampilkan notifikasi sebagai badge di aplikasi Home, jika didukung."</string>
     <string name="app_notification_override_dnd_title" msgid="7867458246395884830">"Ganti mode Jangan Ganggu"</string>
     <string name="app_notification_override_dnd_summary" msgid="3516007157020189746">"Izinkan notifikasi ini terus mengganggu jika mode Jangan Ganggu disetel ke Hanya Prioritas"</string>
     <string name="app_notification_visibility_override_title" msgid="2187232730902430718">"Di layar kunci"</string>
@@ -2802,7 +2789,7 @@
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2232461523882170874">"Profil kerja ini dikelola oleh:"</string>
     <string name="managing_admin" msgid="8843802210377459055">"Dikelola oleh <xliff:g id="ADMIN_APP_LABEL">%s</xliff:g>"</string>
     <string name="experimental_preference" msgid="7083015446690681376">"(Eksperimental)"</string>
-    <string name="display_auto_rotate_title" msgid="6176450657107806043">"Saat perangkat diputar"</string>
+    <string name="display_auto_rotate_title" msgid="7119684966039069439">"Rotasi perangkat"</string>
     <string name="display_auto_rotate_rotate" msgid="4544299861233497728">"Putar konten layar"</string>
     <string name="display_auto_rotate_stay_in_portrait" msgid="292745182318093651">"Tetap dalam tampilan potret"</string>
     <string name="display_auto_rotate_stay_in_landscape" msgid="3804752830204062162">"Tetap dalam tampilan lanskap"</string>
@@ -3192,6 +3179,8 @@
     <string name="page_tab_title_support" msgid="6330657582897417458">"Dukungan"</string>
     <string name="developer_density_summary" msgid="1998244213021456519">"<xliff:g id="ID_1">%d</xliff:g> dp"</string>
     <string name="developer_smallest_width" msgid="7516950434587313360">"Lebar terkecil"</string>
+    <string name="developer_tile" msgid="4822711696408279658">"Mode pengembangan"</string>
+    <string name="developer_tile_unavailable" msgid="6559656549479711827">"Tidak ada status aktif yang dipilih"</string>
     <string name="premium_sms_none" msgid="8268105565738040566">"Tidak ada aplikasi yang terpasang yang meminta akses SMS Premium"</string>
     <string name="premium_sms_warning" msgid="9086859595338944882">"SMS Premium mungkin memerlukan biaya dan akan menambah tagihan operator. Jika izin aplikasi diaktifkan, Anda dapat mengirim SMS premium menggunakan aplikasi tersebut."</string>
     <string name="premium_sms_access" msgid="4660047004791638305">"Akses SMS Premium"</string>
@@ -3221,8 +3210,7 @@
     <string name="support_disclaimer_do_not_show" msgid="3378367075323727539">"Jangan tampilkan lagi"</string>
     <string name="support_account_request_prefix" msgid="6387847874661861650">"Meminta sebagai"</string>
     <string name="support_account_picker_add_account" msgid="5076277544846506214">"Tambahkan akun"</string>
-    <!-- no translation found for support_system_information_title (3439905790018934773) -->
-    <skip />
+    <string name="support_system_information_title" msgid="3439905790018934773">"Informasi sistem"</string>
     <string name="managed_profile_settings_title" msgid="2729481936758125054">"Setelan profil kerja"</string>
     <string name="managed_profile_contact_search_title" msgid="6034734926815544221">"Penelusuran kontak"</string>
     <string name="managed_profile_contact_search_summary" msgid="5431253552272970512">"Izinkan penelusuran kontak oleh organisasi untuk mengidentifikasi penelepon dan kontak"</string>
@@ -3313,4 +3301,16 @@
     <string name="enterprise_privacy_bug_reports" msgid="4762460041705169944">"Laporan bug terbaru"</string>
     <string name="enterprise_privacy_security_logs" msgid="3648730027522011684">"Log keamanan terbaru"</string>
     <string name="enterprise_privacy_never" msgid="1304035596746436921">"Tidak pernah"</string>
+    <string name="storage_photos_videos" msgid="1872663116054954685">"Foto &amp; Video"</string>
+    <string name="storage_music_audio" msgid="7890103397813503615">"Musik &amp; Audio"</string>
+    <string name="storage_games" msgid="7703159201697117621">"Game"</string>
+    <string name="storage_other_apps" msgid="5524321740031718083">"Aplikasi lainnya"</string>
+    <string name="storage_files" msgid="8581083146777364063">"File"</string>
+    <string name="storage_settings_2" msgid="6369810699930056554">"Penyimpanan Ponsel"</string>
+    <!-- no translation found for storage_size_large_alternate (3436941214395940966) -->
+    <skip />
+    <!-- no translation found for storage_volume_free (8829609507318832879) -->
+    <skip />
+    <!-- no translation found for storage_percent_used (6741397129281819921) -->
+    <skip />
 </resources>
diff --git a/res/values-is-rIS-nokeys/strings.xml b/res/values-is-nokeys/strings.xml
similarity index 100%
rename from res/values-is-rIS-nokeys/strings.xml
rename to res/values-is-nokeys/strings.xml
diff --git a/res/values-is-rIS/arrays.xml b/res/values-is/arrays.xml
similarity index 100%
rename from res/values-is-rIS/arrays.xml
rename to res/values-is/arrays.xml
diff --git a/res/values-is-rIS/strings.xml b/res/values-is/strings.xml
similarity index 99%
rename from res/values-is-rIS/strings.xml
rename to res/values-is/strings.xml
index edd947e..61cf784 100644
--- a/res/values-is-rIS/strings.xml
+++ b/res/values-is/strings.xml
@@ -658,7 +658,7 @@
     <string name="android_beam_off_summary" msgid="4663095428454779138">"Slökkt"</string>
     <string name="android_beam_disabled_summary" msgid="1737782116894793393">"Ekki tiltækt þar sem slökkt er á NFC"</string>
     <string name="android_beam_label" msgid="6257036050366775040">"Android Beam"</string>
-    <string name="android_beam_explained" msgid="1828555626055290684">"Þegar kveikt er á þessum eiginleika er hægt að senda efni forrits yfir í annað NFC-samhæft tæki með því að hafa tækin nálægt hvort öðru. Þú getur til dæmis sent vafrasíður, YouTube myndskeið, tengiliði úr forritinu Fólk og ýmislegt fleira.\n\nHaltu tækjunum einfaldlega nálægt hvort öðru (yfirleitt bak í bak) og ýttu síðan á skjáinn. Forritið ákvarðar hvað verður sent."</string>
+    <string name="android_beam_explained" msgid="1810540319385192758">"Þegar kveikt er á þessum eiginleika geturðu sent forritsefni á annað tæki með NFC með því að færa tækin nálægt hvort öðru. Til dæmis geturðu sent vefsíður, myndskeið á YouTube, tengiliði og fleira.\n\nHaltu einfaldlega tækjunum nálægt hvort öðru (yfirleitt bak í bak) og ýttu síðan á skjáinn. Forritið ákvarðar hvað verður sent."</string>
     <string name="wifi_quick_toggle_title" msgid="8850161330437693895">"Wi-Fi"</string>
     <string name="wifi_quick_toggle_summary" msgid="2696547080481267642">"Kveikja á Wi-Fi"</string>
     <string name="wifi_settings" msgid="29722149822540994">"Wi-Fi"</string>
@@ -2581,6 +2581,7 @@
     <string name="keywords_profile_challenge" msgid="789611397846512845">"verkefni í vinnu, vinna, snið"</string>
     <string name="keywords_unification" msgid="1922900767659821025">"vinnusnið, stýrt snið, sameina, sameining, vinna, snið"</string>
     <string name="keywords_gesture" msgid="5696040361482126337">"bendingar"</string>
+    <string name="keywords_payment_settings" msgid="5220104934130446416">"borga, ýta, greiðslur"</string>
     <string name="setup_wifi_nfc_tag" msgid="9028353016222911016">"Setja upp Wi-Fi NFC-merki"</string>
     <string name="write_tag" msgid="8571858602896222537">"Skrifa"</string>
     <string name="status_awaiting_tap" msgid="2130145523773160617">"Snertu merki til að skrifa..."</string>
@@ -2802,7 +2803,7 @@
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2232461523882170874">"Þessu vinnusniði er stjórnað af:"</string>
     <string name="managing_admin" msgid="8843802210377459055">"Stjórnað af <xliff:g id="ADMIN_APP_LABEL">%s</xliff:g>"</string>
     <string name="experimental_preference" msgid="7083015446690681376">"(Tilraun)"</string>
-    <string name="display_auto_rotate_title" msgid="6176450657107806043">"Þegar tækinu er snúið"</string>
+    <string name="display_auto_rotate_title" msgid="7119684966039069439">"Snúningur tækisins"</string>
     <string name="display_auto_rotate_rotate" msgid="4544299861233497728">"Snúa innihaldi skjásins"</string>
     <string name="display_auto_rotate_stay_in_portrait" msgid="292745182318093651">"Halda skammsniði"</string>
     <string name="display_auto_rotate_stay_in_landscape" msgid="3804752830204062162">"Halda langsniði"</string>
@@ -3192,6 +3193,8 @@
     <string name="page_tab_title_support" msgid="6330657582897417458">"Aðstoð"</string>
     <string name="developer_density_summary" msgid="1998244213021456519">"<xliff:g id="ID_1">%d</xliff:g> dp"</string>
     <string name="developer_smallest_width" msgid="7516950434587313360">"Minnsta breidd"</string>
+    <string name="developer_tile" msgid="4822711696408279658">"Þróunarstilling"</string>
+    <string name="developer_tile_unavailable" msgid="6559656549479711827">"Engin virk staða valin"</string>
     <string name="premium_sms_none" msgid="8268105565738040566">"Engin uppsett forrit hafa óskað eftir sérstökum SMS-aðgangi"</string>
     <string name="premium_sms_warning" msgid="9086859595338944882">"Sérstök SMS-skilaboð geta kostað þig peninga og munu bætast við símreikninginn þinn. Ef þú virkjar leyfi fyrir forrit geturðu sent sérstök SMS með því forriti."</string>
     <string name="premium_sms_access" msgid="4660047004791638305">"Sérstakur SMS-aðgangur"</string>
@@ -3313,4 +3316,16 @@
     <string name="enterprise_privacy_bug_reports" msgid="4762460041705169944">"Nýlegasta villutilkynningin"</string>
     <string name="enterprise_privacy_security_logs" msgid="3648730027522011684">"Nýjasta öryggisannálinn þinn"</string>
     <string name="enterprise_privacy_never" msgid="1304035596746436921">"Aldrei"</string>
+    <string name="storage_photos_videos" msgid="1872663116054954685">"Myndir og myndskeið"</string>
+    <string name="storage_music_audio" msgid="7890103397813503615">"Tónlist og hljóð"</string>
+    <string name="storage_games" msgid="7703159201697117621">"Leikir"</string>
+    <string name="storage_other_apps" msgid="5524321740031718083">"Önnur forrit"</string>
+    <string name="storage_files" msgid="8581083146777364063">"Skrár"</string>
+    <string name="storage_settings_2" msgid="6369810699930056554">"Geymslurými símans"</string>
+    <!-- no translation found for storage_size_large_alternate (3436941214395940966) -->
+    <skip />
+    <!-- no translation found for storage_volume_free (8829609507318832879) -->
+    <skip />
+    <!-- no translation found for storage_percent_used (6741397129281819921) -->
+    <skip />
 </resources>
diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml
index afd78c5..08bed2c 100644
--- a/res/values-it/strings.xml
+++ b/res/values-it/strings.xml
@@ -658,7 +658,7 @@
     <string name="android_beam_off_summary" msgid="4663095428454779138">"OFF"</string>
     <string name="android_beam_disabled_summary" msgid="1737782116894793393">"Non disponibile perché la tecnologia NFC non è attiva"</string>
     <string name="android_beam_label" msgid="6257036050366775040">"Android Beam"</string>
-    <string name="android_beam_explained" msgid="1828555626055290684">"Quando questa funzione è attiva, puoi trasmettere contenuti delle app a un altro dispositivo che supporta la tecnologia NFC tenendo vicini i dispositivi. Puoi trasferire, ad esempio, pagine dell\'app Browser, video di YouTube, contatti di Persone e altri dati.\n\nÈ sufficiente avvicinare i dispositivi (generalmente mettendo a contatto le parti posteriori), quindi toccare lo schermo. L\'app stabilisce i dati da trasferire."</string>
+    <string name="android_beam_explained" msgid="1810540319385192758">"Quando questa funzione è attiva, puoi trasmettere contenuti di app a un altro dispositivo che supporta la tecnologia NFC tenendo vicini i dispositivi. Ad esempio, puoi trasmettere pagine web, video di YouTube, contatti e altro ancora.\n\nÈ sufficiente avvicinare i dispositivi (generalmente mettendo a contatto le parti posteriori), quindi toccare lo schermo. L\'app stabilisce i dati da trasferire."</string>
     <string name="wifi_quick_toggle_title" msgid="8850161330437693895">"Wi‑Fi"</string>
     <string name="wifi_quick_toggle_summary" msgid="2696547080481267642">"Attiva Wi‑Fi"</string>
     <string name="wifi_settings" msgid="29722149822540994">"Wi‑Fi"</string>
@@ -2581,6 +2581,7 @@
     <string name="keywords_profile_challenge" msgid="789611397846512845">"sfida lavoro, lavoro, profilo"</string>
     <string name="keywords_unification" msgid="1922900767659821025">"profilo di lavoro, profilo gestito, unificare, unificazione, lavoro, profilo"</string>
     <string name="keywords_gesture" msgid="5696040361482126337">"gesto"</string>
+    <string name="keywords_payment_settings" msgid="5220104934130446416">"paga, tocca, pagamenti"</string>
     <string name="setup_wifi_nfc_tag" msgid="9028353016222911016">"Configura tag NFC Wi-Fi"</string>
     <string name="write_tag" msgid="8571858602896222537">"Modifica"</string>
     <string name="status_awaiting_tap" msgid="2130145523773160617">"Tocca un tag per impostarlo..."</string>
@@ -2802,7 +2803,7 @@
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2232461523882170874">"Questo profilo di lavoro è gestito da:"</string>
     <string name="managing_admin" msgid="8843802210377459055">"Gestito da <xliff:g id="ADMIN_APP_LABEL">%s</xliff:g>"</string>
     <string name="experimental_preference" msgid="7083015446690681376">"(Sperimentale)"</string>
-    <string name="display_auto_rotate_title" msgid="6176450657107806043">"Quando il dispositivo viene ruotato"</string>
+    <string name="display_auto_rotate_title" msgid="7119684966039069439">"Rotazione del dispositivo"</string>
     <string name="display_auto_rotate_rotate" msgid="4544299861233497728">"Ruota i contenuti dello schermo"</string>
     <string name="display_auto_rotate_stay_in_portrait" msgid="292745182318093651">"Rimani in visualizzazione verticale"</string>
     <string name="display_auto_rotate_stay_in_landscape" msgid="3804752830204062162">"Rimani in visualizzazione orizzontale"</string>
@@ -3192,6 +3193,8 @@
     <string name="page_tab_title_support" msgid="6330657582897417458">"Assistenza"</string>
     <string name="developer_density_summary" msgid="1998244213021456519">"<xliff:g id="ID_1">%d</xliff:g> dp"</string>
     <string name="developer_smallest_width" msgid="7516950434587313360">"Larghezza minima"</string>
+    <string name="developer_tile" msgid="4822711696408279658">"Modalità di sviluppo"</string>
+    <string name="developer_tile_unavailable" msgid="6559656549479711827">"Nessuno stato attivo selezionato"</string>
     <string name="premium_sms_none" msgid="8268105565738040566">"Nessuna app installata ha richiesto l\'accesso a SMS premium"</string>
     <string name="premium_sms_warning" msgid="9086859595338944882">"Gli SMS premium potrebbero comportare costi, che verranno aggiunti alle fatture del tuo operatore. Se attivi l\'autorizzazione per un\'app, potrai utilizzarla per inviare SMS premium."</string>
     <string name="premium_sms_access" msgid="4660047004791638305">"Accesso a SMS premium"</string>
@@ -3313,4 +3316,16 @@
     <string name="enterprise_privacy_bug_reports" msgid="4762460041705169944">"La tua segnalazione di bug più recente"</string>
     <string name="enterprise_privacy_security_logs" msgid="3648730027522011684">"Il tuo log di sicurezza più recente"</string>
     <string name="enterprise_privacy_never" msgid="1304035596746436921">"Mai"</string>
+    <string name="storage_photos_videos" msgid="1872663116054954685">"Foto e video"</string>
+    <string name="storage_music_audio" msgid="7890103397813503615">"Musica e audio"</string>
+    <string name="storage_games" msgid="7703159201697117621">"Giochi"</string>
+    <string name="storage_other_apps" msgid="5524321740031718083">"Altre app"</string>
+    <string name="storage_files" msgid="8581083146777364063">"File"</string>
+    <string name="storage_settings_2" msgid="6369810699930056554">"Memoria telefono"</string>
+    <!-- no translation found for storage_size_large_alternate (3436941214395940966) -->
+    <skip />
+    <!-- no translation found for storage_volume_free (8829609507318832879) -->
+    <skip />
+    <!-- no translation found for storage_percent_used (6741397129281819921) -->
+    <skip />
 </resources>
diff --git a/res/values-iw/strings.xml b/res/values-iw/strings.xml
index e2c9c00..7564915 100644
--- a/res/values-iw/strings.xml
+++ b/res/values-iw/strings.xml
@@ -676,7 +676,7 @@
     <string name="android_beam_off_summary" msgid="4663095428454779138">"כבוי"</string>
     <string name="android_beam_disabled_summary" msgid="1737782116894793393">"‏לא זמין משום שה-NFC כבוי"</string>
     <string name="android_beam_label" msgid="6257036050366775040">"Android Beam"</string>
-    <string name="android_beam_explained" msgid="1828555626055290684">"‏כאשר תכונה זו מופעלת, תוכל להעביר תוכן של אפליקציות למכשיר אחר התומך ב-NFC על ידי החזקת המכשירים בקרבה זה לזה. לדוגמה, תוכל לשדר דפי דפדפן, סרטוני YouTube, אנשי קשר מאפליקציית אנשי הקשר ועוד.\n\nפשוט קרב את המכשירים (בדרך כלל, יש לקרב את החלק האחורי של המכשירים), ולאחר מכן הקש על המסך. התוכן שמועבר נקבע על ידי האפליקציה."</string>
+    <string name="android_beam_explained" msgid="1810540319385192758">"‏כשתכונה זו מופעלת, תוכל לשדר תוכן מתוך אפליקציה למכשיר אחר התומך ב-NFC על ידי החזקת המכשירים קרוב זה לזה. לדוגמה, תוכל לשדר דפי אינטרנט, סרטוני YouTube, אנשי קשר ועוד.\n\nפשוט קרב את המכשירים זה לזה (בדרך כלל גב אל גב) ולאחר מכן גע במסך שלך. האפליקציה תקבע מה ישודר."</string>
     <string name="wifi_quick_toggle_title" msgid="8850161330437693895">"Wi-Fi"</string>
     <string name="wifi_quick_toggle_summary" msgid="2696547080481267642">"‏הפעל את ה-Wi-Fi"</string>
     <string name="wifi_settings" msgid="29722149822540994">"Wi-Fi"</string>
@@ -2627,6 +2627,7 @@
     <string name="keywords_profile_challenge" msgid="789611397846512845">"אתגר בעבודה, עבודה, פרופיל"</string>
     <string name="keywords_unification" msgid="1922900767659821025">"פרופיל עבודה, פרופיל מנוהל, לאחד, איחוד, עבודה, פרופיל"</string>
     <string name="keywords_gesture" msgid="5696040361482126337">"תנועה"</string>
+    <string name="keywords_payment_settings" msgid="5220104934130446416">"שלם, הקש, תשלומים"</string>
     <string name="setup_wifi_nfc_tag" msgid="9028353016222911016">"‏הגדר תג NFC של Wi-Fi"</string>
     <string name="write_tag" msgid="8571858602896222537">"כתוב"</string>
     <string name="status_awaiting_tap" msgid="2130145523773160617">"הקש על תג כדי לכתוב..."</string>
@@ -2854,7 +2855,7 @@
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2232461523882170874">"פרופיל העבודה הזה מנוהל על ידי:"</string>
     <string name="managing_admin" msgid="8843802210377459055">"מנוהל על ידי <xliff:g id="ADMIN_APP_LABEL">%s</xliff:g>"</string>
     <string name="experimental_preference" msgid="7083015446690681376">"(ניסיוני)"</string>
-    <string name="display_auto_rotate_title" msgid="6176450657107806043">"בעת סיבוב המכשיר"</string>
+    <string name="display_auto_rotate_title" msgid="7119684966039069439">"סיבוב המכשיר"</string>
     <string name="display_auto_rotate_rotate" msgid="4544299861233497728">"סובב את תוכן המסך"</string>
     <string name="display_auto_rotate_stay_in_portrait" msgid="292745182318093651">"הישאר בתצוגה לאורך"</string>
     <string name="display_auto_rotate_stay_in_landscape" msgid="3804752830204062162">"הישאר בתצוגה לרוחב"</string>
@@ -3258,6 +3259,8 @@
     <string name="page_tab_title_support" msgid="6330657582897417458">"תמיכה"</string>
     <string name="developer_density_summary" msgid="1998244213021456519">"dp <xliff:g id="ID_1">%d</xliff:g>"</string>
     <string name="developer_smallest_width" msgid="7516950434587313360">"הרוחב הקטן ביותר"</string>
+    <string name="developer_tile" msgid="4822711696408279658">"מצב פיתוח"</string>
+    <string name="developer_tile_unavailable" msgid="6559656549479711827">"לא נבחר מצב פעיל"</string>
     <string name="premium_sms_none" msgid="8268105565738040566">"‏אף אפליקציה מותקנת לא ביקשה גישה לפרימיום SMS"</string>
     <string name="premium_sms_warning" msgid="9086859595338944882">"‏פרימיום SMS עשוי לעלות כסף ויצורף לחשבונות הספק שלך. אם אתה מפעיל הרשאה לאפליקציה, תוכל לשלוח פרימיום SMS באמצעות אפליקציה זו."</string>
     <string name="premium_sms_access" msgid="4660047004791638305">"‏גישה לפרימיום SMS"</string>
@@ -3387,4 +3390,16 @@
     <string name="enterprise_privacy_bug_reports" msgid="4762460041705169944">"הדוח האחרון שלך על באג"</string>
     <string name="enterprise_privacy_security_logs" msgid="3648730027522011684">"יומן האבטחה האחרון שלך"</string>
     <string name="enterprise_privacy_never" msgid="1304035596746436921">"אף פעם"</string>
+    <string name="storage_photos_videos" msgid="1872663116054954685">"תמונות וסרטונים"</string>
+    <string name="storage_music_audio" msgid="7890103397813503615">"מוזיקה ואודיו"</string>
+    <string name="storage_games" msgid="7703159201697117621">"משחקים"</string>
+    <string name="storage_other_apps" msgid="5524321740031718083">"אפליקציות אחרות"</string>
+    <string name="storage_files" msgid="8581083146777364063">"קבצים"</string>
+    <string name="storage_settings_2" msgid="6369810699930056554">"אחסון בטלפון"</string>
+    <!-- no translation found for storage_size_large_alternate (3436941214395940966) -->
+    <skip />
+    <!-- no translation found for storage_volume_free (8829609507318832879) -->
+    <skip />
+    <!-- no translation found for storage_percent_used (6741397129281819921) -->
+    <skip />
 </resources>
diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml
index 672c32c..a93d4f1 100644
--- a/res/values-ja/strings.xml
+++ b/res/values-ja/strings.xml
@@ -86,8 +86,7 @@
     <string name="font_size_preview_text_headline" msgid="7955317408475392247">"サンプル テキスト"</string>
     <string name="font_size_preview_text_title" msgid="1310536233106975546">"オズの魔法使い"</string>
     <string name="font_size_preview_text_subtitle" msgid="4231671528173110093">"第 11 章: オズの不思議なエメラルド シティ"</string>
-    <!-- no translation found for font_size_preview_text_body (2846183528684496723) -->
-    <skip />
+    <string name="font_size_preview_text_body" msgid="2846183528684496723">"緑のメガネで目を守っていても、ドロシーとその仲間たちは不思議なシティの輝きに最初はくらくらしました。通りには緑色の大理石造りの美しい家々が建ち並び、どの家にもキラキラしたエメラルドがいたるところにはめ込んでありました。足元の敷石も同じ緑色の大理石で、ブロックの継ぎ目にはエメラルドがすきまなく並び、太陽を反射してギラギラしていました。窓のガラスも緑色、空の色も緑色、太陽の光も緑色でした。\n\n男の人、女の人、子どもなど、たくさんの人が歩いていて、だれもかれもが緑色の服を着て、肌の色も緑がかっていました。みんなドロシーとその奇妙な寄せ集めの仲間たちに不思議そうな目を向け、子どもたちはライオンを見るなり、逃げ出してお母さんの後ろに隠れてしまいましたが、誰一人として話しかけてくる人はいませんでした。通りにはお店がたくさんあって、ドロシーはそこで売られている品物も緑色をしていることに気づきました。キャンディーも、ポップコーンも、靴も、帽子も、服もみんな緑色でした。男の人が売っている緑色のレモネードを子どもたちが買うときに出したお金も緑色だったことにドロシーは気づきました。\n\nT馬などの動物はいないようでした。荷物は小さな緑色の手押し車で自分たちで運んでいました。みんな幸せで、満たされ、裕福そうな様子でした。"</string>
     <string name="font_size_save" msgid="3450855718056759095">"OK"</string>
     <string name="sdcard_setting" product="nosdcard" msgid="8281011784066476192">"USBストレージ"</string>
     <string name="sdcard_setting" product="default" msgid="5922637503871474866">"SDカード"</string>
@@ -658,7 +657,7 @@
     <string name="android_beam_off_summary" msgid="4663095428454779138">"OFF"</string>
     <string name="android_beam_disabled_summary" msgid="1737782116894793393">"NFCがOFFのため使用できません"</string>
     <string name="android_beam_label" msgid="6257036050366775040">"Androidビーム"</string>
-    <string name="android_beam_explained" msgid="1828555626055290684">"この機能をオンにすると、別の NFC 対応端末を近づけて持ち、アプリのコンテンツをビームすることができます。たとえば、ブラウザのページ、YouTube の動画、連絡帳の連絡先などをビームできます。\n\n2 つの端末を近づけて（通常は背面を向かい合わせにして）、画面をタップします。ビームされる対象はアプリが判断します。"</string>
+    <string name="android_beam_explained" msgid="1810540319385192758">"この機能を ON にすると、別の NFC 対応の端末を近づけて持ち、アプリのコンテンツをビームすることができます。たとえば、ウェブページ、YouTube の動画、連絡先などをビームできます。\n\n2 つの端末を近づけて（通常は背面を向かい合わせにして）、画面をタップします。何をビームするかはアプリが判断します。"</string>
     <string name="wifi_quick_toggle_title" msgid="8850161330437693895">"Wi-Fi"</string>
     <string name="wifi_quick_toggle_summary" msgid="2696547080481267642">"Wi-FiをONにする"</string>
     <string name="wifi_settings" msgid="29722149822540994">"Wi-Fi"</string>
@@ -1536,11 +1535,9 @@
     <string name="app_install_location_summary" msgid="5155453752692959098">"新しいアプリの優先インストール先を変更する"</string>
     <string name="app_disable_dlg_title" msgid="3916469657537695436">"内蔵アプリを無効にしますか？"</string>
     <string name="app_disable_dlg_positive" msgid="7375627244201714263">"アプリを無効にする"</string>
-    <!-- no translation found for app_disable_dlg_text (5632072173181990531) -->
-    <skip />
+    <string name="app_disable_dlg_text" msgid="5632072173181990531">"このアプリを無効にすると、Android などの他のアプリが正しく動作しなくなる恐れがあります。"</string>
     <string name="app_special_disable_dlg_title" msgid="2690148680327142674">"データを削除し、アプリを無効にしますか？"</string>
-    <!-- no translation found for app_special_disable_dlg_text (5832078825810635913) -->
-    <skip />
+    <string name="app_special_disable_dlg_text" msgid="5832078825810635913">"このアプリを無効にすると、Android などの他のアプリが正しく動作しなくなる恐れがあります。データも削除されます。"</string>
     <string name="app_disable_notifications_dlg_title" msgid="7669264654851761857">"通知をOFFにしますか？"</string>
     <string name="app_disable_notifications_dlg_text" msgid="5088484670924769845">"このアプリの通知をOFFにすると、重要なアラートや更新を見逃すおそれがあります。"</string>
     <string name="app_install_details_group_title" msgid="7084623031296083574">"ストア"</string>
@@ -2531,8 +2528,7 @@
       <item quantity="other">%d 件の非表示のアイテムを表示</item>
       <item quantity="one">%d 件の非表示のアイテムを表示</item>
     </plurals>
-    <!-- no translation found for network_dashboard_title (3135144174846753758) -->
-    <skip />
+    <string name="network_dashboard_title" msgid="3135144174846753758">"ネットワークとインターネット"</string>
     <string name="connected_devices_dashboard_title" msgid="2355264951438890709">"接続済みの端末"</string>
     <string name="app_and_notification_dashboard_title" msgid="7838365599185397539">"アプリと通知"</string>
     <string name="account_dashboard_title" msgid="38701889336378742">"ユーザーとアカウント"</string>
@@ -2585,6 +2581,7 @@
     <string name="keywords_profile_challenge" msgid="789611397846512845">"ワーク チャレンジ, 仕事用, プロファイル"</string>
     <string name="keywords_unification" msgid="1922900767659821025">"仕事用プロファイル, 管理対象プロファイル, 統合する, 統合, 仕事, プロファイル"</string>
     <string name="keywords_gesture" msgid="5696040361482126337">"操作"</string>
+    <string name="keywords_payment_settings" msgid="5220104934130446416">"支払い, タップ, ペイメント"</string>
     <string name="setup_wifi_nfc_tag" msgid="9028353016222911016">"Wi-Fi NFCタグのセットアップ"</string>
     <string name="write_tag" msgid="8571858602896222537">"書き込む"</string>
     <string name="status_awaiting_tap" msgid="2130145523773160617">"書き込むにはタグをタップしてください..."</string>
@@ -2657,16 +2654,11 @@
     <string name="app_notifications_title" msgid="139788604658984593">"通知"</string>
     <string name="notification_importance_title" msgid="848692592679312666">"重要度"</string>
     <string name="notification_importance_none" msgid="3173515479356106227">"未設定"</string>
-    <!-- no translation found for notification_importance_blocked (7938180808339386300) -->
-    <skip />
-    <!-- no translation found for notification_importance_min (5455049524984686275) -->
-    <skip />
-    <!-- no translation found for notification_importance_low (2445139943005315690) -->
-    <skip />
-    <!-- no translation found for notification_importance_default (5958338024601957516) -->
-    <skip />
-    <!-- no translation found for notification_importance_high (2082429479238228527) -->
-    <skip />
+    <string name="notification_importance_blocked" msgid="7938180808339386300">"通知を表示しない"</string>
+    <string name="notification_importance_min" msgid="5455049524984686275">"音声や画面表示を使用しない"</string>
+    <string name="notification_importance_low" msgid="2445139943005315690">"マナーモードで表示する"</string>
+    <string name="notification_importance_default" msgid="5958338024601957516">"音声で知らせる"</string>
+    <string name="notification_importance_high" msgid="2082429479238228527">"音声とポップアップで知らせる"</string>
     <string name="importance_reset" msgid="7458420788555607007">"リセット"</string>
     <string name="show_silently" msgid="2222875799232222056">"マナーモードで表示"</string>
     <string name="show_silently_summary" msgid="7616604629123146565">"音やバイブレーションで知らせず、現在の画面に通知を数秒間表示することもしません。"</string>
@@ -2695,16 +2687,11 @@
     <string name="loading_notification_apps" msgid="5031818677010335895">"アプリを読み込んでいます..."</string>
     <string name="notification_channels" msgid="8681423709659818791">"チャンネル"</string>
     <string name="app_notification_block_title" msgid="4069351066849087649">"すべてブロック"</string>
-    <!-- no translation found for app_notification_block_summary (4744020456943215352) -->
-    <skip />
-    <!-- no translation found for notification_content_block_title (5854232570963006360) -->
-    <skip />
-    <!-- no translation found for notification_content_block_summary (7746185794438882389) -->
-    <skip />
-    <!-- no translation found for notification_badge_title (5404669445214920178) -->
-    <skip />
-    <!-- no translation found for notification_badge_summary (3944771498030335669) -->
-    <skip />
+    <string name="app_notification_block_summary" msgid="4744020456943215352">"今後はこの通知を表示しない"</string>
+    <string name="notification_content_block_title" msgid="5854232570963006360">"通知の表示"</string>
+    <string name="notification_content_block_summary" msgid="7746185794438882389">"シェードにも周辺端末にも通知を表示しない"</string>
+    <string name="notification_badge_title" msgid="5404669445214920178">"バッジの表示"</string>
+    <string name="notification_badge_summary" msgid="3944771498030335669">"通知をホームアプリでバッジとして表示する（対応している場合）"</string>
     <string name="app_notification_override_dnd_title" msgid="7867458246395884830">"マナーモードをオーバーライドする"</string>
     <string name="app_notification_override_dnd_summary" msgid="3516007157020189746">"[マナーモード] が [優先する通知のみ] に設定されているとき、この通知を引き続き表示する"</string>
     <string name="app_notification_visibility_override_title" msgid="2187232730902430718">"ロック画面"</string>
@@ -2806,7 +2793,7 @@
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2232461523882170874">"この仕事用プロファイルを管理するアプリ:"</string>
     <string name="managing_admin" msgid="8843802210377459055">"<xliff:g id="ADMIN_APP_LABEL">%s</xliff:g>によって管理されています"</string>
     <string name="experimental_preference" msgid="7083015446690681376">"（試験運用）"</string>
-    <string name="display_auto_rotate_title" msgid="6176450657107806043">"端末が回転したとき"</string>
+    <string name="display_auto_rotate_title" msgid="7119684966039069439">"端末の回転"</string>
     <string name="display_auto_rotate_rotate" msgid="4544299861233497728">"画面のコンテンツを回転させる"</string>
     <string name="display_auto_rotate_stay_in_portrait" msgid="292745182318093651">"縦向きのままにする"</string>
     <string name="display_auto_rotate_stay_in_landscape" msgid="3804752830204062162">"横向きのままにする"</string>
@@ -3196,6 +3183,8 @@
     <string name="page_tab_title_support" msgid="6330657582897417458">"サポート"</string>
     <string name="developer_density_summary" msgid="1998244213021456519">"<xliff:g id="ID_1">%d</xliff:g> dp"</string>
     <string name="developer_smallest_width" msgid="7516950434587313360">"最小幅"</string>
+    <string name="developer_tile" msgid="4822711696408279658">"開発モード"</string>
+    <string name="developer_tile_unavailable" msgid="6559656549479711827">"有効な状態が選択されていません"</string>
     <string name="premium_sms_none" msgid="8268105565738040566">"プレミアム SMS へのアクセスをリクエストしたインストール済みアプリはありません"</string>
     <string name="premium_sms_warning" msgid="9086859595338944882">"プレミアム SMS で料金が発生した場合は、携帯通信会社の請求に加算されます。アプリで権限を有効にすると、そのアプリを使用してプレミアム SMS を送信できるようになります。"</string>
     <string name="premium_sms_access" msgid="4660047004791638305">"プレミアム SMS へのアクセス"</string>
@@ -3225,8 +3214,7 @@
     <string name="support_disclaimer_do_not_show" msgid="3378367075323727539">"今後表示しない"</string>
     <string name="support_account_request_prefix" msgid="6387847874661861650">"次のアカウントでリクエスト:"</string>
     <string name="support_account_picker_add_account" msgid="5076277544846506214">"アカウントを追加"</string>
-    <!-- no translation found for support_system_information_title (3439905790018934773) -->
-    <skip />
+    <string name="support_system_information_title" msgid="3439905790018934773">"システム情報"</string>
     <string name="managed_profile_settings_title" msgid="2729481936758125054">"仕事用プロファイルの設定"</string>
     <string name="managed_profile_contact_search_title" msgid="6034734926815544221">"連絡先の検索"</string>
     <string name="managed_profile_contact_search_summary" msgid="5431253552272970512">"発信者や連絡先を特定するために組織による連絡先の検索を許可します"</string>
@@ -3317,4 +3305,16 @@
     <string name="enterprise_privacy_bug_reports" msgid="4762460041705169944">"最新のバグレポート"</string>
     <string name="enterprise_privacy_security_logs" msgid="3648730027522011684">"最新のセキュリティ ログ"</string>
     <string name="enterprise_privacy_never" msgid="1304035596746436921">"未実行"</string>
+    <string name="storage_photos_videos" msgid="1872663116054954685">"写真＆動画"</string>
+    <string name="storage_music_audio" msgid="7890103397813503615">"音楽＆オーディオ"</string>
+    <string name="storage_games" msgid="7703159201697117621">"ゲーム"</string>
+    <string name="storage_other_apps" msgid="5524321740031718083">"その他のアプリ"</string>
+    <string name="storage_files" msgid="8581083146777364063">"ファイル"</string>
+    <string name="storage_settings_2" msgid="6369810699930056554">"スマートフォンのストレージ"</string>
+    <!-- no translation found for storage_size_large_alternate (3436941214395940966) -->
+    <skip />
+    <!-- no translation found for storage_volume_free (8829609507318832879) -->
+    <skip />
+    <!-- no translation found for storage_percent_used (6741397129281819921) -->
+    <skip />
 </resources>
diff --git a/res/values-ka-rGE-nokeys/strings.xml b/res/values-ka-rGE-nokeys/strings.xml
deleted file mode 100644
index 01a33ed..0000000
--- a/res/values-ka-rGE-nokeys/strings.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2007 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.
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="applications_settings_summary" msgid="6616938758022986257">"აპლიკაციების მართვა"</string>
-</resources>
diff --git a/res/values-ka-rGE/arrays.xml b/res/values-ka/arrays.xml
similarity index 100%
rename from res/values-ka-rGE/arrays.xml
rename to res/values-ka/arrays.xml
diff --git a/res/values-ka-rGE/strings.xml b/res/values-ka/strings.xml
similarity index 99%
rename from res/values-ka-rGE/strings.xml
rename to res/values-ka/strings.xml
index a083940..3126833 100644
--- a/res/values-ka-rGE/strings.xml
+++ b/res/values-ka/strings.xml
@@ -658,7 +658,7 @@
     <string name="android_beam_off_summary" msgid="4663095428454779138">"გამორთული"</string>
     <string name="android_beam_disabled_summary" msgid="1737782116894793393">"მიუწვდომელია, რადგან გამორთულია NFC"</string>
     <string name="android_beam_label" msgid="6257036050366775040">"Android სხივი"</string>
-    <string name="android_beam_explained" msgid="1828555626055290684">"როცა ეს ფუნქცია ჩართულია, შესაძლებელია აპების კონტენტის სხვა NFC-სთან თავსებად მოწყობილობებზე სხივით გადაცემა, რისთვისაც საჭიროა მოწყობილობების ერთმანეთთან ახლოს მოთავსება. მაგალითად, შეგიძლიათ გადასცეთ ბრაუზერის გვერდები, YouTube ვიდეოები, კონტაქტები და სხვა კონტენტი.\n\nუბრალოდ მიადეთ მოწყობილობები ერთმანეთს (ჩვეულებრივ, უკანა მხრით) და შეეხეთ ეკრანს. აპი თავად მიხვდება, რა ტიპის კონტენტი უნდა გადაიცეს სხივით."</string>
+    <string name="android_beam_explained" msgid="1810540319385192758">"როცა ეს ფუნქცია ჩართულია, შესაძლებელია აპების კონტენტის სხვა NFC-სთან თავსებად მოწყობილობებზე სხივით გადაცემა, რისთვისაც საჭიროა მოწყობილობების ერთმანეთთან ახლოს მოთავსება. მაგალითად, შეგიძლიათ გადასცეთ ვებგვერდები, YouTube ვიდეოები, კონტაქტები და სხვა კონტენტი.\n\nუბრალოდ, მიადეთ მოწყობილობები ერთმანეთს (ჩვეულებრივ, უკანა მხრით) და შეეხეთ ეკრანს. აპი თავად მიხვდება, რა ტიპის კონტენტი უნდა გადაიცეს სხივით."</string>
     <string name="wifi_quick_toggle_title" msgid="8850161330437693895">"Wi‑Fi"</string>
     <string name="wifi_quick_toggle_summary" msgid="2696547080481267642">"Wi‑Fi-ს ჩართვა"</string>
     <string name="wifi_settings" msgid="29722149822540994">"Wi‑Fi"</string>
@@ -2581,6 +2581,7 @@
     <string name="keywords_profile_challenge" msgid="789611397846512845">"სამსახურის გამოწვევა, სამსახური, პროფილი"</string>
     <string name="keywords_unification" msgid="1922900767659821025">"სამსახურის პროფილი, მართული პროფილი, გაერთიანება, უნიფიკაცია, სამსახური, პროფილი"</string>
     <string name="keywords_gesture" msgid="5696040361482126337">"ჟესტი"</string>
+    <string name="keywords_payment_settings" msgid="5220104934130446416">"გადახდა, შეხება, გადახდები"</string>
     <string name="setup_wifi_nfc_tag" msgid="9028353016222911016">"Wi-Fi NFC თეგის დაყენება"</string>
     <string name="write_tag" msgid="8571858602896222537">"ჩაწერა"</string>
     <string name="status_awaiting_tap" msgid="2130145523773160617">"შეეხეთ თეგს დასაწერად..."</string>
@@ -2802,7 +2803,7 @@
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2232461523882170874">"ამ სამუშაო პროფილს მართავს:"</string>
     <string name="managing_admin" msgid="8843802210377459055">"მმართველი: <xliff:g id="ADMIN_APP_LABEL">%s</xliff:g>"</string>
     <string name="experimental_preference" msgid="7083015446690681376">"(ექსპერიმენტული)"</string>
-    <string name="display_auto_rotate_title" msgid="6176450657107806043">"მოწყობილობის შეტრიალებისას"</string>
+    <string name="display_auto_rotate_title" msgid="7119684966039069439">"მოწყობილობის შეტრიალება"</string>
     <string name="display_auto_rotate_rotate" msgid="4544299861233497728">"ქონთენთის ეკრანზე შებრუნება"</string>
     <string name="display_auto_rotate_stay_in_portrait" msgid="292745182318093651">"პორტრეტის ხედზე დარჩენა"</string>
     <string name="display_auto_rotate_stay_in_landscape" msgid="3804752830204062162">"ლანდშაფტის ხედზე დარჩენა"</string>
@@ -3192,6 +3193,8 @@
     <string name="page_tab_title_support" msgid="6330657582897417458">"მხარდაჭერა"</string>
     <string name="developer_density_summary" msgid="1998244213021456519">"<xliff:g id="ID_1">%d</xliff:g> dp"</string>
     <string name="developer_smallest_width" msgid="7516950434587313360">"უმცირესი სიგანე"</string>
+    <string name="developer_tile" msgid="4822711696408279658">"დეველოპერის რეჟიმი"</string>
+    <string name="developer_tile_unavailable" msgid="6559656549479711827">"აქტიური მდგომარეობა არჩეული არ არის"</string>
     <string name="premium_sms_none" msgid="8268105565738040566">"პრემიუმ SMS შეტყობინებების გაგზავნაზე წვდომა არცერთ ინსტალირებულ აპს არ მოუთხოვია"</string>
     <string name="premium_sms_warning" msgid="9086859595338944882">"პრემიუმ SMS შეტყობინებებისთვის შეიძლება დამატებითი საფასურის გადახდა მოგიწიოთ. აპისთვის ამ ნებართვის მიცემის შემთხვევაში, თქვენ მისი მეშვეობით პრემიუმ SMS შეტყობინებების გაგზავნას შეძლებთ."</string>
     <string name="premium_sms_access" msgid="4660047004791638305">"პრემიუმ SMS შეტყობინებების გაგზავნაზე წვდომა"</string>
@@ -3313,4 +3316,16 @@
     <string name="enterprise_privacy_bug_reports" msgid="4762460041705169944">"ხარვეზის შესახებ ყველაზე ბოლო ანგარიში"</string>
     <string name="enterprise_privacy_security_logs" msgid="3648730027522011684">"უსაფრთხოების ყველაზე ბოლო ჟურნალი"</string>
     <string name="enterprise_privacy_never" msgid="1304035596746436921">"არასოდეს"</string>
+    <string name="storage_photos_videos" msgid="1872663116054954685">"ფოტოები და ვიდეოები"</string>
+    <string name="storage_music_audio" msgid="7890103397813503615">"მუსიკა და აუდიო"</string>
+    <string name="storage_games" msgid="7703159201697117621">"თამაშები"</string>
+    <string name="storage_other_apps" msgid="5524321740031718083">"სხვა აპები"</string>
+    <string name="storage_files" msgid="8581083146777364063">"ფაილები"</string>
+    <string name="storage_settings_2" msgid="6369810699930056554">"ტელეფონის მეხსიერება"</string>
+    <!-- no translation found for storage_size_large_alternate (3436941214395940966) -->
+    <skip />
+    <!-- no translation found for storage_volume_free (8829609507318832879) -->
+    <skip />
+    <!-- no translation found for storage_percent_used (6741397129281819921) -->
+    <skip />
 </resources>
diff --git a/res/values-kk-rKZ-nokeys/strings.xml b/res/values-kk-nokeys/strings.xml
similarity index 100%
rename from res/values-kk-rKZ-nokeys/strings.xml
rename to res/values-kk-nokeys/strings.xml
diff --git a/res/values-kk-rKZ/arrays.xml b/res/values-kk/arrays.xml
similarity index 100%
rename from res/values-kk-rKZ/arrays.xml
rename to res/values-kk/arrays.xml
diff --git a/res/values-kk-rKZ/strings.xml b/res/values-kk/strings.xml
similarity index 99%
rename from res/values-kk-rKZ/strings.xml
rename to res/values-kk/strings.xml
index 99bd76b..b191544 100644
--- a/res/values-kk-rKZ/strings.xml
+++ b/res/values-kk/strings.xml
@@ -658,7 +658,7 @@
     <string name="android_beam_off_summary" msgid="4663095428454779138">"Өшірулі"</string>
     <string name="android_beam_disabled_summary" msgid="1737782116894793393">"Қол жетімсіз себебі ЖӨБ өшірілген"</string>
     <string name="android_beam_label" msgid="6257036050366775040">"Android тарату функциясы"</string>
-    <string name="android_beam_explained" msgid="1828555626055290684">"Бұл функция қосулы кезде құрылғыларды бір біріне жақын ұстау арқылы қолданба мазмұнын екінші NFC қолдайтын құрылғыға жіберуге болады. Мысалы, браузер беттерін, YouTube бейнелерін, \"Байланыстар\" контактілерін және т.б. жіберуге болады.\n\nЖай құрылғыларды бір біріне жақындатыңыз (әдетте, артық жақтарын), содан кейін экранды түртіңіз. Қолданба ненің жіберілетінін анықтайды."</string>
+    <string name="android_beam_explained" msgid="1810540319385192758">"Бұл функция қосылғанда, құрылғыларды бір-біріне жақын орналастырып, қолданба мазмұнын басқа NFC орнатылған құрылғыға жіберуге болады. Мысалы, беттерді, YouTube бейнелерін, контактілерді және басқаларды беттерін жібере аласыз.\n\nҚұрылғыларды бірге қойып (артқы жақтарын түйістіріп), экранды түртіңіз. Қолданба жіберілетін мазмұндарды анықтайды."</string>
     <string name="wifi_quick_toggle_title" msgid="8850161330437693895">"Wi‑Fi"</string>
     <string name="wifi_quick_toggle_summary" msgid="2696547080481267642">"Wi‑Fi қосу"</string>
     <string name="wifi_settings" msgid="29722149822540994">"Wi‑Fi"</string>
@@ -2581,6 +2581,7 @@
     <string name="keywords_profile_challenge" msgid="789611397846512845">"жұмыс профилін қорғау, жұмыс, профиль"</string>
     <string name="keywords_unification" msgid="1922900767659821025">"жұмыс профилі, басқарылатын профиль, бірыңғайлау, жұмыс, профиль"</string>
     <string name="keywords_gesture" msgid="5696040361482126337">"қимыл"</string>
+    <string name="keywords_payment_settings" msgid="5220104934130446416">"төлеу, түрту, төлемдер"</string>
     <string name="setup_wifi_nfc_tag" msgid="9028353016222911016">"Wi-Fi NFC белгісін реттеу"</string>
     <string name="write_tag" msgid="8571858602896222537">"Жазу"</string>
     <string name="status_awaiting_tap" msgid="2130145523773160617">"Жазу үшін белгіні түртіңіз…"</string>
@@ -2802,7 +2803,7 @@
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2232461523882170874">"Бұл жұмыс профилін басқаратын:"</string>
     <string name="managing_admin" msgid="8843802210377459055">"<xliff:g id="ADMIN_APP_LABEL">%s</xliff:g> арқылы басқарылады"</string>
     <string name="experimental_preference" msgid="7083015446690681376">"(Эксперименттік)"</string>
-    <string name="display_auto_rotate_title" msgid="6176450657107806043">"Құрылғы бұрылғанда"</string>
+    <string name="display_auto_rotate_title" msgid="7119684966039069439">"Құрылғыны айналдыру"</string>
     <string name="display_auto_rotate_rotate" msgid="4544299861233497728">"Экран мазмұнын бұру"</string>
     <string name="display_auto_rotate_stay_in_portrait" msgid="292745182318093651">"Портреттік көріністе қалу"</string>
     <string name="display_auto_rotate_stay_in_landscape" msgid="3804752830204062162">"Пейзаждық көріністе қалу"</string>
@@ -3192,6 +3193,8 @@
     <string name="page_tab_title_support" msgid="6330657582897417458">"Қолдау"</string>
     <string name="developer_density_summary" msgid="1998244213021456519">"<xliff:g id="ID_1">%d</xliff:g> нүкте/дюйм"</string>
     <string name="developer_smallest_width" msgid="7516950434587313360">"Ең кішкентай ен"</string>
+    <string name="developer_tile" msgid="4822711696408279658">"Дамыту режимі"</string>
+    <string name="developer_tile_unavailable" msgid="6559656549479711827">"Белсенді күйде емес"</string>
     <string name="premium_sms_none" msgid="8268105565738040566">"Орнатылған қолданбалардың ешбірі Premium SMS мүмкіндігін пайдалануға рұқсат сұрамады."</string>
     <string name="premium_sms_warning" msgid="9086859595338944882">"Premium SMS мүмкіндігі үшін оператор тарифтеріне сәйкес ақы алынуы мүмкін. Егер қолданбаға рұқсат берсеңіз, сол қолданба арқылы премиум SMS жібере аласыз.Premium SMS мүмкіндігі үшін ақша алынуы мүмкін және операторыңыз арқылы жасалған төлем бойынша қосылады. Егер қолданбаға рұқсат берсеңіз, сол қолданба арқылы премиум SMS жібере аласыз."</string>
     <string name="premium_sms_access" msgid="4660047004791638305">"Premium SMS пайдалану"</string>
@@ -3313,4 +3316,16 @@
     <string name="enterprise_privacy_bug_reports" msgid="4762460041705169944">"Ең соңғы қате туралы есеп"</string>
     <string name="enterprise_privacy_security_logs" msgid="3648730027522011684">"Ең соңғы қауіпсіздік журналы"</string>
     <string name="enterprise_privacy_never" msgid="1304035596746436921">"Ешқашан"</string>
+    <string name="storage_photos_videos" msgid="1872663116054954685">"Суреттер және бейнелер"</string>
+    <string name="storage_music_audio" msgid="7890103397813503615">"Музыка және аудиомазмұн"</string>
+    <string name="storage_games" msgid="7703159201697117621">"Ойындар"</string>
+    <string name="storage_other_apps" msgid="5524321740031718083">"Басқа қолданбалар"</string>
+    <string name="storage_files" msgid="8581083146777364063">"Файлдар"</string>
+    <string name="storage_settings_2" msgid="6369810699930056554">"Телефон жады"</string>
+    <!-- no translation found for storage_size_large_alternate (3436941214395940966) -->
+    <skip />
+    <!-- no translation found for storage_volume_free (8829609507318832879) -->
+    <skip />
+    <!-- no translation found for storage_percent_used (6741397129281819921) -->
+    <skip />
 </resources>
diff --git a/res/values-km-rKH-nokeys/strings.xml b/res/values-km-rKH-nokeys/strings.xml
deleted file mode 100644
index 080bac8..0000000
--- a/res/values-km-rKH-nokeys/strings.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2007 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.
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="applications_settings_summary" msgid="6616938758022986257">"គ្រប់គ្រង​កម្មវិធី"</string>
-</resources>
diff --git a/res/values-km-rKH/arrays.xml b/res/values-km/arrays.xml
similarity index 100%
rename from res/values-km-rKH/arrays.xml
rename to res/values-km/arrays.xml
diff --git a/res/values-km-rKH/strings.xml b/res/values-km/strings.xml
similarity index 99%
rename from res/values-km-rKH/strings.xml
rename to res/values-km/strings.xml
index 8e75d05..7a1ef80 100644
--- a/res/values-km-rKH/strings.xml
+++ b/res/values-km/strings.xml
@@ -658,7 +658,7 @@
     <string name="android_beam_off_summary" msgid="4663095428454779138">"បិទ"</string>
     <string name="android_beam_disabled_summary" msgid="1737782116894793393">"មិន​អាច​ប្រើ​បាន ព្រោះ​​​បាន​បិទ NFC"</string>
     <string name="android_beam_label" msgid="6257036050366775040">"Android Beam"</string>
-    <string name="android_beam_explained" msgid="1828555626055290684">"ពេលបើកលក្ខណៈពិសេសនេះ អ្នកអាចប៊ីមមាតិកាកម្មវិធីទៅឧបករណ៍ដែលមានសមត្ថភាពប្រើ NFC ផ្សេងទៀតដោយដាក់ឧបករណ៍ជិតគ្នា។ ឧទាហរណ៍៖ អ្នកអាចប៊ីមទំព័រកម្មវិធីអ៊ីនធឺណិត, វីដេអូនៅលើ YouTube, ទំនាក់ទំនងបុគ្គល និងមាតិកាជាច្រើនទៀត។\n\nគ្រាន់តែដាក់ឧបករណ៍ជិតគ្នា (តាមធម្មតាខ្នងទល់ខ្នង) ហើយបន្ទាប់មកប៉ះអេក្រង់របស់អ្នក នោះកម្មវិធីនឹងកំណត់ថាអ្វីដែលនឹងត្រូវប៊ីម។"</string>
+    <string name="android_beam_explained" msgid="1810540319385192758">"នៅ​ពេល​ដែល​មុខងារ​នេះ​បើក អ្នក​អាច​បញ្ជូន​មាតិកា​កម្មវិធី​ទៅ​ឧបករណ៍​ដែល​អាច​ប្រើ NFC ផ្សេង​ទៀត​ដោយ​ដាក់​ឧបករណ៍​ផ្ទប់​គ្នា។ ឧទាហរណ៍៖ អ្នក​អាច​បញ្ជូន​គេហទំព័រ, វីដេអូ YouTube, ទំនាក់ទំនង និង​មាតិកា​ជា​ច្រើន​ទៀត។\n\nគ្រាន់​តែ​ដាក់​ឧបករណ៍ផ្ទប់​គ្នា (តាម​ធម្មតា​ខ្នង​ទល់​ខ្នង) បន្ទាប់​មក​ប៉ះ​អេក្រង់​របស់​អ្នក​ជា​ការ​ស្រេច។ កម្មវិធី​នេះ​នឹង​កំណត់​របស់​ដែល​ត្រូវ​បញ្ជូន។"</string>
     <string name="wifi_quick_toggle_title" msgid="8850161330437693895">"វ៉ាយហ្វាយ"</string>
     <string name="wifi_quick_toggle_summary" msgid="2696547080481267642">"បើក​វ៉ាយហ្វាយ"</string>
     <string name="wifi_settings" msgid="29722149822540994">"វ៉ាយហ្វាយ"</string>
@@ -2581,6 +2581,7 @@
     <string name="keywords_profile_challenge" msgid="789611397846512845">"បញ្ហាប្រឈមក្នុងការងារ ការងារ ប្រវត្តិរូប"</string>
     <string name="keywords_unification" msgid="1922900767659821025">"ប្រវត្តិរូបការងារ ប្រវត្តិរូបដែលត្រូវបានគ្រប់គ្រង រួមបញ្ចូល ការរួមបញ្ចូល ការងារ ប្រវត្តិរូប"</string>
     <string name="keywords_gesture" msgid="5696040361482126337">"កាយវិការ"</string>
+    <string name="keywords_payment_settings" msgid="5220104934130446416">"បង់​ប្រាក់, ចុច, ការ​បង់​ប្រាក់"</string>
     <string name="setup_wifi_nfc_tag" msgid="9028353016222911016">"រៀបចំ​ស្លាក​អិនអេហ្វ​ស៊ី​វ៉ាយហ្វាយ"</string>
     <string name="write_tag" msgid="8571858602896222537">"សរសេរ"</string>
     <string name="status_awaiting_tap" msgid="2130145523773160617">"ប៉ះ​ស្លាក​ដើម្បី​សរសេរ..."</string>
@@ -2802,7 +2803,7 @@
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2232461523882170874">"ប្រវត្តិរូបការងារនេះត្រូវបានគ្រប់គ្រងដោយ៖"</string>
     <string name="managing_admin" msgid="8843802210377459055">"គ្រប់គ្រងដោយ <xliff:g id="ADMIN_APP_LABEL">%s</xliff:g>"</string>
     <string name="experimental_preference" msgid="7083015446690681376">"(ពិសោធន៍​)"</string>
-    <string name="display_auto_rotate_title" msgid="6176450657107806043">"នៅ​ពេល​បង្វិល​ឧបករណ៍"</string>
+    <string name="display_auto_rotate_title" msgid="7119684966039069439">"ការ​បង្វិល​ឧបករណ៍"</string>
     <string name="display_auto_rotate_rotate" msgid="4544299861233497728">"បង្វិល​មាតិកា​អេក្រង់"</string>
     <string name="display_auto_rotate_stay_in_portrait" msgid="292745182318093651">"ស្ថិតនៅ​ក្នុង​ទិដ្ឋភាព​បញ្ឈរ"</string>
     <string name="display_auto_rotate_stay_in_landscape" msgid="3804752830204062162">"ស្ថិតនៅ​​ក្នុង​ទិដ្ឋភាព​ទេសភាព"</string>
@@ -3192,6 +3193,8 @@
     <string name="page_tab_title_support" msgid="6330657582897417458">"គាំទ្រ"</string>
     <string name="developer_density_summary" msgid="1998244213021456519">"<xliff:g id="ID_1">%d</xliff:g> dp"</string>
     <string name="developer_smallest_width" msgid="7516950434587313360">"ទទឹងតូចបំផុត"</string>
+    <string name="developer_tile" msgid="4822711696408279658">"មុខងារ​អភិវឌ្ឍន៍"</string>
+    <string name="developer_tile_unavailable" msgid="6559656549479711827">"មិន​បាន​ជ្រើសរើស​ស្ថានភាព​សកម្ម​ណា​មួយ​ទេ"</string>
     <string name="premium_sms_none" msgid="8268105565738040566">"មិនមានកម្មវិធីដែលដំឡើងហើយបានស្នើសុំការចូលដំណើរការសេវាកម្ម SMS ពិសេសទេ"</string>
     <string name="premium_sms_warning" msgid="9086859595338944882">"សេវាកម្ម SMS ពិសេសអាចនឹងគិតថ្លៃ ហើយបន្ថែមតម្លៃនោះទៅក្នុងវិក្កយបត្រក្រុមហ៊ុនផ្តល់សេវាទូរស័ព្ទរបស់អ្នក។ ប្រសិនបើដំណើរការសិទ្ធិអនុញ្ញាតសម្រាប់កម្មវិធីណាមួយ នោះអ្នកនឹងអាចផ្ញើសេវាកម្ម SMS ពិសេសដោយប្រើកម្មវិធីនោះ។"</string>
     <string name="premium_sms_access" msgid="4660047004791638305">"ការចូលដំណើរការសេវាកម្ម SMS ពិសេស"</string>
@@ -3313,4 +3316,16 @@
     <string name="enterprise_privacy_bug_reports" msgid="4762460041705169944">"របាយការណ៍អំពីបញ្ហាថ្មីបំផុតរបស់អ្នក"</string>
     <string name="enterprise_privacy_security_logs" msgid="3648730027522011684">"កំណត់ហេតុសុវត្ថិភាពថ្មីបំផុតរបស់អ្នក"</string>
     <string name="enterprise_privacy_never" msgid="1304035596746436921">"កុំឲ្យសោះ"</string>
+    <string name="storage_photos_videos" msgid="1872663116054954685">"រូបថត និង​វីដេអូ"</string>
+    <string name="storage_music_audio" msgid="7890103397813503615">"តន្រ្តី និង​សំឡេង"</string>
+    <string name="storage_games" msgid="7703159201697117621">"ហ្គេម"</string>
+    <string name="storage_other_apps" msgid="5524321740031718083">"កម្មវិធី​ផ្សេង​ទៀត"</string>
+    <string name="storage_files" msgid="8581083146777364063">"ឯកសារ"</string>
+    <string name="storage_settings_2" msgid="6369810699930056554">"ទំហំផ្ទុក​ក្នុង​ទូរសព្ទ"</string>
+    <!-- no translation found for storage_size_large_alternate (3436941214395940966) -->
+    <skip />
+    <!-- no translation found for storage_volume_free (8829609507318832879) -->
+    <skip />
+    <!-- no translation found for storage_percent_used (6741397129281819921) -->
+    <skip />
 </resources>
diff --git a/res/values-kn-rIN-nokeys/strings.xml b/res/values-kn-nokeys/strings.xml
similarity index 100%
rename from res/values-kn-rIN-nokeys/strings.xml
rename to res/values-kn-nokeys/strings.xml
diff --git a/res/values-kn-rIN/arrays.xml b/res/values-kn/arrays.xml
similarity index 100%
rename from res/values-kn-rIN/arrays.xml
rename to res/values-kn/arrays.xml
diff --git a/res/values-kn-rIN/strings.xml b/res/values-kn/strings.xml
similarity index 99%
rename from res/values-kn-rIN/strings.xml
rename to res/values-kn/strings.xml
index 3525bde..9822402 100644
--- a/res/values-kn-rIN/strings.xml
+++ b/res/values-kn/strings.xml
@@ -658,7 +658,7 @@
     <string name="android_beam_off_summary" msgid="4663095428454779138">"ಆಫ್"</string>
     <string name="android_beam_disabled_summary" msgid="1737782116894793393">"NFC ಆಫ್ ಆಗಿರುವ ಕಾರಣ ಲಭ್ಯವಿಲ್ಲ"</string>
     <string name="android_beam_label" msgid="6257036050366775040">"Android ಬೀಮ್"</string>
-    <string name="android_beam_explained" msgid="1828555626055290684">"ಈ ವೈಶಿಷ್ಟ್ಯವು ಆನ್‌ ಆಗಿರುವಾಗ, ಸಾಧನಗಳನ್ನು ಒಟ್ಟಾಗಿ ಹತ್ತಿರದಲ್ಲಿ ಹಿಡಿಯುವ ಮೂಲಕ ಮತ್ತೊಂದು NFC-ಸಾಮರ್ಥ್ಯದ ಸಾಧನಕ್ಕೆ ಅಪ್ಲಿಕೇಶನ್ ವಿಷಯವನ್ನು ಬೀಮ್ ಮಾಡಬಹುದು. ಉದಾಹರಣೆಗೆ, ಬ್ರೌಸರ್ ಪುಟಗಳು, YouTube ವೀಡಿಯೊಗಳು, ಜನರ ಸಂಪರ್ಕಗಳು ಮತ್ತು ಇನ್ನೂ ಹಲವನ್ನು ನೀವು ಬೀಮ್ ಮಾಡಬಹುದು.\n\nಕೇವಲ ಸಾಧನಗಳನ್ನು ಒಟ್ಟಾಗಿ ತನ್ನಿ (ಸಾಮಾನ್ಯವಾಗಿ ಹಿಮ್ಮುಖವಾಗಿ) ನಂತರ ನಿಮ್ಮ ಪರದೆಯನ್ನು ಟ್ಯಾಪ್ ಮಾಡಿ. ಯಾವುದನ್ನು ಬೀಮ್ ಮಾಡಲಾಗುತ್ತದೆ ಎಂಬುದನ್ನು ಅಪ್ಲಿಕೇಶನ್ ನಿರ್ಧರಿಸುತ್ತದೆ."</string>
+    <string name="android_beam_explained" msgid="1810540319385192758">"ಈ ವೈಶಿಷ್ಟ್ಯವು ಆನ್‌ ಆಗಿರುವಾಗ, ಸಾಧನಗಳನ್ನು ಒಟ್ಟಾಗಿ ಹತ್ತಿರದಲ್ಲಿ ಹಿಡಿಯುವ ಮೂಲಕ ಮತ್ತೊಂದು NFC-ಸಾಮರ್ಥ್ಯದ ಸಾಧನಕ್ಕೆ ಅಪ್ಲಿಕೇಶನ್ ವಿಷಯವನ್ನು ಬೀಮ್ ಮಾಡಬಹುದು. ಉದಾಹರಣೆಗೆ, ಬ್ರೌಸರ್ ಪುಟಗಳು, YouTube ವೀಡಿಯೊಗಳು, ಸಂಪರ್ಕಗಳು ಮತ್ತು ಇನ್ನೂ ಹಲವನ್ನು ನೀವು ಬೀಮ್ ಮಾಡಬಹುದು.\n\nಕೇವಲ ಸಾಧನಗಳನ್ನು ಒಟ್ಟಾಗಿ ತನ್ನಿ (ಸಾಮಾನ್ಯವಾಗಿ ಹಿಮ್ಮುಖವಾಗಿ) ನಂತರ ನಿಮ್ಮ ಪರದೆಯನ್ನು ಟ್ಯಾಪ್ ಮಾಡಿ. ಯಾವುದನ್ನು ಬೀಮ್ ಮಾಡಲಾಗುತ್ತದೆ ಎಂಬುದನ್ನು ಅಪ್ಲಿಕೇಶನ್ ನಿರ್ಧರಿಸುತ್ತದೆ."</string>
     <string name="wifi_quick_toggle_title" msgid="8850161330437693895">"Wi‑Fi"</string>
     <string name="wifi_quick_toggle_summary" msgid="2696547080481267642">"Wi‑Fi ಆನ್‌ ಮಾಡಿ"</string>
     <string name="wifi_settings" msgid="29722149822540994">"Wi‑Fi"</string>
@@ -2581,6 +2581,7 @@
     <string name="keywords_profile_challenge" msgid="789611397846512845">"ಕೆಲಸದ ಸವಾಲು, ಕೆಲಸ, ಪ್ರೊಫೈಲ್"</string>
     <string name="keywords_unification" msgid="1922900767659821025">"ಕೆಲಸದ ಪ್ರೊಫೈಲ್, ನಿರ್ವಹಿಸಿದ ಪ್ರೊಫೈಲ್, ಒಗ್ಗೂಡಿಸಿ, ಏಕೀಕರಣ, ಕೆಲಸ, ಪ್ರೊಫೈಲ್"</string>
     <string name="keywords_gesture" msgid="5696040361482126337">"ಗೆಸ್ಚರ್"</string>
+    <string name="keywords_payment_settings" msgid="5220104934130446416">"ಪಾವತಿಸಿ, ಟ್ಯಾಪ್ ಮಾಡಿ, ಪಾವತಿಗಳು"</string>
     <string name="setup_wifi_nfc_tag" msgid="9028353016222911016">"ವೈ-ಫೈ NFC ಟ್ಯಾಗ್‌ ಹೊಂದಿಸಿ"</string>
     <string name="write_tag" msgid="8571858602896222537">"ಬರೆಯಿರಿ"</string>
     <string name="status_awaiting_tap" msgid="2130145523773160617">"ಬರೆಯಲು ಟ್ಯಾಗ್‌ ಅನ್ನು ಟ್ಯಾಪ್‌ ಮಾಡಿ..."</string>
@@ -2802,7 +2803,7 @@
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2232461523882170874">"ಈ ಉದ್ಯೋಗ ಪ್ರೊಫೈಲ್ ಅನ್ನು ಇವರು ನಿರ್ವಹಿಸುತ್ತಿದ್ದಾರೆ:"</string>
     <string name="managing_admin" msgid="8843802210377459055">"<xliff:g id="ADMIN_APP_LABEL">%s</xliff:g> ಮೂಲಕ ನಿರ್ವಹಿಸಲಾಗಿದೆ"</string>
     <string name="experimental_preference" msgid="7083015446690681376">"(ಪ್ರಾಯೋಗಿಕ)"</string>
-    <string name="display_auto_rotate_title" msgid="6176450657107806043">"ಸಾಧನವನ್ನು ತಿರುಗಿಸಿದಾಗ"</string>
+    <string name="display_auto_rotate_title" msgid="7119684966039069439">"ಸಾಧನ ತಿರುಗಿಸುವಿಕೆ"</string>
     <string name="display_auto_rotate_rotate" msgid="4544299861233497728">"ಪರದೆಯಲ್ಲಿನ ವಿಷಯ ತಿರುಗಿಸು"</string>
     <string name="display_auto_rotate_stay_in_portrait" msgid="292745182318093651">"ಪೋಟ್ರೇಟ್‌‌ ವೀಕ್ಷಣೆಯಲ್ಲಿರು"</string>
     <string name="display_auto_rotate_stay_in_landscape" msgid="3804752830204062162">"ಲ್ಯಾಂಡ್‌ಸ್ಕೇಪ್ ವೀಕ್ಷಣೆಯಲ್ಲಿ ಉಳಿಯಿರಿ"</string>
@@ -3192,6 +3193,8 @@
     <string name="page_tab_title_support" msgid="6330657582897417458">"ಬೆಂಬಲ"</string>
     <string name="developer_density_summary" msgid="1998244213021456519">"<xliff:g id="ID_1">%d</xliff:g> dp"</string>
     <string name="developer_smallest_width" msgid="7516950434587313360">"ಚಿಕ್ಕದಾದ ಅಗಲ"</string>
+    <string name="developer_tile" msgid="4822711696408279658">"ಅಭಿವೃದ್ಧಿ ಮೋಡ್"</string>
+    <string name="developer_tile_unavailable" msgid="6559656549479711827">"ಯಾವುದೇ ಸಕ್ರಿಯ ಸ್ಥಿತಿಯನ್ನು ಆಯ್ಕೆ ಮಾಡಲಾಗಿಲ್ಲ"</string>
     <string name="premium_sms_none" msgid="8268105565738040566">"ಯಾವುದೇ ಸ್ಥಾಪಿಸಿದ ಅಪ್ಲಿಕೇಶನ್‌ಗಳು ಪ್ರೀಮಿಯಂ SMS ಪ್ರವೇಶವನ್ನು ವಿನಂತಿಸಿಲ್ಲ"</string>
     <string name="premium_sms_warning" msgid="9086859595338944882">"ಪ್ರೀಮಿಯಂ SMS ನಿಮ್ಮ ವೆಚ್ಚಗಳಿಗೆ ಕಾರಣವಾಗಬಹುದು ಮತ್ತು ಇದನ್ನು ನಿಮ್ಮ ವಾಹಕ ಬಿಲ್‌ಗಳಿಗೆ ಸೇರಿಸಲಾಗುತ್ತದೆ. ನೀವು ಅಪ್ಲಿಕೇಶನ್‌ಗೆ ಅನುಮತಿಯನ್ನು ಸಕ್ರೀಯಗೊಳಿಸಿದರೆ, ನೀವು ಆ ಅಪ್ಲಿಕೇಶನ್‌ ಬಳಸಿಕೊಂಡು ಪ್ರೀಮಿಯಂ SMS ಕಳುಹಿಸಲು ಸಾಧ್ಯವಾಗುತ್ತದೆ."</string>
     <string name="premium_sms_access" msgid="4660047004791638305">"ಪ್ರೀಮಿಯಂ SMS ಪ್ರವೇಶ"</string>
@@ -3313,4 +3316,16 @@
     <string name="enterprise_privacy_bug_reports" msgid="4762460041705169944">"ನಿಮ್ಮ ಇತ್ತೀಚಿನ ಬಗ್‌ ವರದಿ"</string>
     <string name="enterprise_privacy_security_logs" msgid="3648730027522011684">"ನಿಮ್ಮ ಅತ್ಯಂತ ಇತ್ತೀಚಿನ ಭದ್ರತಾ ಲಾಗ್"</string>
     <string name="enterprise_privacy_never" msgid="1304035596746436921">"ಎಂದಿಗೂ ಇಲ್ಲ"</string>
+    <string name="storage_photos_videos" msgid="1872663116054954685">"ಫೋಟೋಗಳು ಮತ್ತು ವೀಡಿಯೊಗಳು"</string>
+    <string name="storage_music_audio" msgid="7890103397813503615">"ಸಂಗೀತ ಮತ್ತು ಆಡಿಯೋ"</string>
+    <string name="storage_games" msgid="7703159201697117621">"ಆಟಗಳು"</string>
+    <string name="storage_other_apps" msgid="5524321740031718083">"ಇತರ ಅಪ್ಲಿಕೇಶನ್‌ಗಳು"</string>
+    <string name="storage_files" msgid="8581083146777364063">"ಫೈಲ್‌ಗಳು"</string>
+    <string name="storage_settings_2" msgid="6369810699930056554">"ಫೋನ್ ಸಂಗ್ರಹಣೆ"</string>
+    <!-- no translation found for storage_size_large_alternate (3436941214395940966) -->
+    <skip />
+    <!-- no translation found for storage_volume_free (8829609507318832879) -->
+    <skip />
+    <!-- no translation found for storage_percent_used (6741397129281819921) -->
+    <skip />
 </resources>
diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml
index 752ed90..af8153d 100644
--- a/res/values-ko/strings.xml
+++ b/res/values-ko/strings.xml
@@ -658,7 +658,7 @@
     <string name="android_beam_off_summary" msgid="4663095428454779138">"사용 안함"</string>
     <string name="android_beam_disabled_summary" msgid="1737782116894793393">"NFC가 꺼져 있어 사용할 수 없음"</string>
     <string name="android_beam_label" msgid="6257036050366775040">"Android Beam"</string>
-    <string name="android_beam_explained" msgid="1828555626055290684">"이 기능을 사용하도록 설정하면 기기를 서로 가까이 두어 앱 콘텐츠를 다른 NFC 지원 기기와 공유할 수 있습니다. 예를 들어 브라우저 페이지, YouTube 동영상, 주소록 등을 공유할 수 있습니다.\n\n기기를 맞대고(일반적으로 서로 뒷면을 향하게 하여) 화면을 탭하기만 하면 됩니다. 공유할 대상은 앱에서 결정합니다."</string>
+    <string name="android_beam_explained" msgid="1810540319385192758">"이 기능을 사용 설정하면 기기를 서로 가까이 두어 앱 콘텐츠를 다른 NFC 지원 기기와 공유할 수 있습니다. 예를 들어 웹페이지, YouTube 동영상, 주소록 등을 공유할 수 있습니다.\n\n기기를 서로 가까이 두고(일반적으로 뒷면끼리 맞댐) 화면을 탭하기만 하면 됩니다. 공유할 대상은 앱에서 결정합니다."</string>
     <string name="wifi_quick_toggle_title" msgid="8850161330437693895">"Wi-Fi"</string>
     <string name="wifi_quick_toggle_summary" msgid="2696547080481267642">"Wi-Fi 사용"</string>
     <string name="wifi_settings" msgid="29722149822540994">"Wi-Fi"</string>
@@ -2581,6 +2581,7 @@
     <string name="keywords_profile_challenge" msgid="789611397846512845">"직장 보안 확인, 직장, 프로필"</string>
     <string name="keywords_unification" msgid="1922900767659821025">"직장 프로필, 관리된 프로필, 통합, 통합형, 직장, 프로필"</string>
     <string name="keywords_gesture" msgid="5696040361482126337">"동작"</string>
+    <string name="keywords_payment_settings" msgid="5220104934130446416">"결제, 탭, 결제"</string>
     <string name="setup_wifi_nfc_tag" msgid="9028353016222911016">"Wi-Fi NFC 태그 설정"</string>
     <string name="write_tag" msgid="8571858602896222537">"쓰기"</string>
     <string name="status_awaiting_tap" msgid="2130145523773160617">"태그를 탭하여 작성하세요..."</string>
@@ -2802,7 +2803,7 @@
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2232461523882170874">"다음에서 이 직장 프로필을 관리합니다."</string>
     <string name="managing_admin" msgid="8843802210377459055">"<xliff:g id="ADMIN_APP_LABEL">%s</xliff:g>에서 관리"</string>
     <string name="experimental_preference" msgid="7083015446690681376">"(베타)"</string>
-    <string name="display_auto_rotate_title" msgid="6176450657107806043">"기기 회전 시"</string>
+    <string name="display_auto_rotate_title" msgid="7119684966039069439">"기기 회전"</string>
     <string name="display_auto_rotate_rotate" msgid="4544299861233497728">"화면 콘텐츠 회전"</string>
     <string name="display_auto_rotate_stay_in_portrait" msgid="292745182318093651">"세로 보기 유지"</string>
     <string name="display_auto_rotate_stay_in_landscape" msgid="3804752830204062162">"가로 보기 유지"</string>
@@ -3192,6 +3193,8 @@
     <string name="page_tab_title_support" msgid="6330657582897417458">"지원"</string>
     <string name="developer_density_summary" msgid="1998244213021456519">"<xliff:g id="ID_1">%d</xliff:g>dp"</string>
     <string name="developer_smallest_width" msgid="7516950434587313360">"최소 폭"</string>
+    <string name="developer_tile" msgid="4822711696408279658">"개발 모드"</string>
+    <string name="developer_tile_unavailable" msgid="6559656549479711827">"선택된 활성 상태 없음"</string>
     <string name="premium_sms_none" msgid="8268105565738040566">"설치된 앱 중에서 프리미엄 SMS 액세스를 요청한 앱이 없습니다."</string>
     <string name="premium_sms_warning" msgid="9086859595338944882">"프리미엄 SMS는 요금이 부과될 수 있으며 이는 이동통신사 요금에 추가됩니다. 앱에 권한을 부여하면 해당 앱을 사용하여 프리미엄 SMS를 사용할 수 있게 됩니다."</string>
     <string name="premium_sms_access" msgid="4660047004791638305">"프리미엄 SMS 액세스"</string>
@@ -3313,4 +3316,16 @@
     <string name="enterprise_privacy_bug_reports" msgid="4762460041705169944">"최근 버그 신고"</string>
     <string name="enterprise_privacy_security_logs" msgid="3648730027522011684">"최근 보안 로그"</string>
     <string name="enterprise_privacy_never" msgid="1304035596746436921">"사용 안함"</string>
+    <string name="storage_photos_videos" msgid="1872663116054954685">"사진 및 동영상"</string>
+    <string name="storage_music_audio" msgid="7890103397813503615">"음악 및 오디오"</string>
+    <string name="storage_games" msgid="7703159201697117621">"게임"</string>
+    <string name="storage_other_apps" msgid="5524321740031718083">"기타 앱"</string>
+    <string name="storage_files" msgid="8581083146777364063">"파일"</string>
+    <string name="storage_settings_2" msgid="6369810699930056554">"휴대전화 저장용량"</string>
+    <!-- no translation found for storage_size_large_alternate (3436941214395940966) -->
+    <skip />
+    <!-- no translation found for storage_volume_free (8829609507318832879) -->
+    <skip />
+    <!-- no translation found for storage_percent_used (6741397129281819921) -->
+    <skip />
 </resources>
diff --git a/res/values-ky-rKG-nokeys/strings.xml b/res/values-ky-nokeys/strings.xml
similarity index 100%
rename from res/values-ky-rKG-nokeys/strings.xml
rename to res/values-ky-nokeys/strings.xml
diff --git a/res/values-ky-rKG/arrays.xml b/res/values-ky/arrays.xml
similarity index 100%
rename from res/values-ky-rKG/arrays.xml
rename to res/values-ky/arrays.xml
diff --git a/res/values-ky-rKG/strings.xml b/res/values-ky/strings.xml
similarity index 99%
rename from res/values-ky-rKG/strings.xml
rename to res/values-ky/strings.xml
index 42e6b24..2c39a8a 100644
--- a/res/values-ky-rKG/strings.xml
+++ b/res/values-ky/strings.xml
@@ -657,7 +657,7 @@
     <string name="android_beam_off_summary" msgid="4663095428454779138">"Өчүк"</string>
     <string name="android_beam_disabled_summary" msgid="1737782116894793393">"NFC өчүк болгондуктан жеткиликсиз"</string>
     <string name="android_beam_label" msgid="6257036050366775040">"Android Beam"</string>
-    <string name="android_beam_explained" msgid="1828555626055290684">"Бул мүмкүнчүлүк күйгүзүлгөндө, түзмөктөрдү бири-бирине жакын кармап, NFC аркылуу колдонмонун мазмунун башка түзмөккө өткөрө аласыз. Мисалы, Серепчинин барактарын, YouTube видеолорун, Байланыштарды жана башкаларды өткөрө аласыз.\n\nТүзмөктөрдү жакын кармаңыз да (арт жактарын тийгизип), экраныңызды таптап коюңуз. Эмне өткөрүлөөрүн колдонмо өзү аныктайт."</string>
+    <string name="android_beam_explained" msgid="1810540319385192758">"Бул мүмкүнчүлүк жандырылганда, сиз түзмөктөрдү бири-бирине жакын кармап, NFC аркылуу колдонмонун мазмунун башка түзмөккө өткөрө аласыз. Мисалы, веб баракчаларды, YouTube видеолорун, байланыштар жана башка нерселерди өткөрө аласыз.\n\nТүзмөктөрдү жакын кармаңыз да (арт жактарын тийгизип), экраныңызды таптап коюңуз. Эмне өткөрүлөөрүн колдонмо өзү аныктайт."</string>
     <string name="wifi_quick_toggle_title" msgid="8850161330437693895">"Wi‑Fi"</string>
     <string name="wifi_quick_toggle_summary" msgid="2696547080481267642">"Wi‑Fi\'ды жандыруу"</string>
     <string name="wifi_settings" msgid="29722149822540994">"Wi‑Fi"</string>
@@ -2580,6 +2580,7 @@
     <string name="keywords_profile_challenge" msgid="789611397846512845">"жумуш тапшырмасы, жумуш, профиль"</string>
     <string name="keywords_unification" msgid="1922900767659821025">"жумуш профили, башкарылган профиль, бириктир, бириктирүү, жумуш, профиль"</string>
     <string name="keywords_gesture" msgid="5696040361482126337">"жаңсоо"</string>
+    <string name="keywords_payment_settings" msgid="5220104934130446416">"төлөө, таптоо, төлөмдөр"</string>
     <string name="setup_wifi_nfc_tag" msgid="9028353016222911016">"Wi-Fi NFC тегин орнотуу"</string>
     <string name="write_tag" msgid="8571858602896222537">"Жазуу"</string>
     <string name="status_awaiting_tap" msgid="2130145523773160617">"Жазуу үчүн тегди таптап коюңуз…"</string>
@@ -2801,7 +2802,7 @@
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2232461523882170874">"Бул жумуш профилин төмөнкү башкарат:"</string>
     <string name="managing_admin" msgid="8843802210377459055">"Төмөнкү башкарат <xliff:g id="ADMIN_APP_LABEL">%s</xliff:g>"</string>
     <string name="experimental_preference" msgid="7083015446690681376">"(Сынамык)"</string>
-    <string name="display_auto_rotate_title" msgid="6176450657107806043">"Түзмөк айланганда"</string>
+    <string name="display_auto_rotate_title" msgid="7119684966039069439">"Түзмөктү буруу"</string>
     <string name="display_auto_rotate_rotate" msgid="4544299861233497728">"Экрандын мазмундарын айландыруу"</string>
     <string name="display_auto_rotate_stay_in_portrait" msgid="292745182318093651">"Тигинен көрүнүштө кала берсин"</string>
     <string name="display_auto_rotate_stay_in_landscape" msgid="3804752830204062162">"Туурасынан көрүнүштө кала берсин"</string>
@@ -3191,6 +3192,8 @@
     <string name="page_tab_title_support" msgid="6330657582897417458">"Колдоо"</string>
     <string name="developer_density_summary" msgid="1998244213021456519">"<xliff:g id="ID_1">%d</xliff:g> dp"</string>
     <string name="developer_smallest_width" msgid="7516950434587313360">"Эң кууш"</string>
+    <string name="developer_tile" msgid="4822711696408279658">"Иштеп чыгуу режими"</string>
+    <string name="developer_tile_unavailable" msgid="6559656549479711827">"Активдүү абалы тандалган жок"</string>
     <string name="premium_sms_none" msgid="8268105565738040566">"Орнотулган колдонмолордун эч бири артыкчылыктуу SMS жөнөтүүгө уруксат сураган жок"</string>
     <string name="premium_sms_warning" msgid="9086859595338944882">"Артыкчылыктуу SMS үчүн сизден акы алынып, ал операторуңуздун эсептерине кошулушу мүмкүн. Эгер кайсы бир колдонмого уруксат берсеңиз, ошол колдонмо аркылуу артыкчылыктуу SMS жөнөтө аласыз."</string>
     <string name="premium_sms_access" msgid="4660047004791638305">"Артыкчылыктуу SMS жөнөтүүгө уруксат"</string>
@@ -3312,4 +3315,16 @@
     <string name="enterprise_privacy_bug_reports" msgid="4762460041705169944">"Мүчүлүштүк тууралуу акыркы кабарлооңуз"</string>
     <string name="enterprise_privacy_security_logs" msgid="3648730027522011684">"Түзмөгүңүздүн эң акыркы коопсуздук таржымалы"</string>
     <string name="enterprise_privacy_never" msgid="1304035596746436921">"Эч качан"</string>
+    <string name="storage_photos_videos" msgid="1872663116054954685">"Сүрөттөр жана видеолор"</string>
+    <string name="storage_music_audio" msgid="7890103397813503615">"Музыка жана аудио"</string>
+    <string name="storage_games" msgid="7703159201697117621">"Оюндар"</string>
+    <string name="storage_other_apps" msgid="5524321740031718083">"Башка колдонмолор"</string>
+    <string name="storage_files" msgid="8581083146777364063">"Файлдар"</string>
+    <string name="storage_settings_2" msgid="6369810699930056554">"Телефондун сактагычы"</string>
+    <!-- no translation found for storage_size_large_alternate (3436941214395940966) -->
+    <skip />
+    <!-- no translation found for storage_volume_free (8829609507318832879) -->
+    <skip />
+    <!-- no translation found for storage_percent_used (6741397129281819921) -->
+    <skip />
 </resources>
diff --git a/res/values-lo-rLA-nokeys/strings.xml b/res/values-lo-rLA-nokeys/strings.xml
deleted file mode 100644
index 921e177..0000000
--- a/res/values-lo-rLA-nokeys/strings.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2007 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.
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="applications_settings_summary" msgid="6616938758022986257">"ຈັດການແອັບພລິເຄຊັນ"</string>
-</resources>
diff --git a/res/values-lo-rLA/arrays.xml b/res/values-lo/arrays.xml
similarity index 100%
rename from res/values-lo-rLA/arrays.xml
rename to res/values-lo/arrays.xml
diff --git a/res/values-lo-rLA/strings.xml b/res/values-lo/strings.xml
similarity index 99%
rename from res/values-lo-rLA/strings.xml
rename to res/values-lo/strings.xml
index 2b27ffe..daa608e 100644
--- a/res/values-lo-rLA/strings.xml
+++ b/res/values-lo/strings.xml
@@ -658,7 +658,7 @@
     <string name="android_beam_off_summary" msgid="4663095428454779138">"ປິດ"</string>
     <string name="android_beam_disabled_summary" msgid="1737782116894793393">"ບໍ່ສາມາດໃຊ້ໄດ້ເນື່ອງຈາກ NFC ຖືກປິດໄວ້"</string>
     <string name="android_beam_label" msgid="6257036050366775040">"Android Beam"</string>
-    <string name="android_beam_explained" msgid="1828555626055290684">"ເມື່ອເປີດຄຸນສົມບັດນີ້ແລ້ວ ທ່ານຈະສາມາດປ່ອຍຄື້ນສັນຍານ ເພື່ອສົ່ງເນື້ອຫາແອັບໄປຫາອຸປະກອນທີ່ຮອງຮັບ NFC ເຄື່ອງອື່ນໄດ້ໂດຍການນຳອຸປະກອນມາຢູ່ໃກ້ໆກັນ. ຍົກຕົວຢ່າງເຊັ່ນ: ທ່ານສາມາດສົ່ງໜ້າເວັບ, ວິດີໂອ YouTube, ລາຍຊື່ຜູ້ຕິດຕໍ່ ແລະຂໍ້ມູນອື່ນໆ ໃຫ້ກັບອຸປະກອນອື່ນໂດຍໃຊ້ NFC ໄດ້.\n\nພຽງນຳອຸປະກອນມາຢູ່ໃກ້ໆກັນ (ໂດຍປົກກະຕິຈະເອົາດ້ານຫຼັງມາຕິດກັນ) ຈາກນັ້ນແຕະໜ້າຈໍຂອງທ່ານ, ແອັບກໍຈະກວດສອບວ່າຈະສົ່ງຂໍ້ມູນຫຍັງແດ່."</string>
+    <string name="android_beam_explained" msgid="1810540319385192758">"ເມື່ອເປີດໃຊ້ຄຸນສົມບັດນີ້ແລ້ວ ທ່ານຈະສາມາດປ່ອຍຄື່ນສັນຍານ ເພື່ອສົ່ງເນື້ອຫາແອັບຯໄປໃຫ້ອຸປະກອນທີ່ຮອງຮັບ NFC ເຄື່ອງອື່ນໄດ້ໂດຍການນຳອຸປະກອນມາຢູ່ໃກ້ໆກັນ. ຍົກຕົວຢ່າງເຊັ່ນ: ທ່ານສາມາດສົ່ງໜ້າເວັບ, ວິດີໂອ YouTube, ລາຍຊື່ຜູ່ຕິດຕໍ່ ແລະຂໍ້ມູນອື່ນໆ ໃຫ້ກັບອຸປະກອນອື່ນໂດຍໃຊ້ NFC ໄດ້.\n\nພຽງນຳອຸປະກອນມາຢູ່ໃກ້ໆກັນ (ໂດຍປົກກະຕິຈະເອົາດ້ານຫຼັງມາຕິດກັນ) ຈາກນັ້ນແຕະໃສ່ທີ່ໜ້າຈໍຂອງທ່ານ, ແອັບຯກໍຈະກວດສອບວ່າຈະສົ່ງຂໍ້ມູນຫຍັງແດ່."</string>
     <string name="wifi_quick_toggle_title" msgid="8850161330437693895">"Wi​-Fi"</string>
     <string name="wifi_quick_toggle_summary" msgid="2696547080481267642">"ເປີດໃຊ້ Wi-Fi"</string>
     <string name="wifi_settings" msgid="29722149822540994">"Wi​-Fi"</string>
@@ -2581,6 +2581,7 @@
     <string name="keywords_profile_challenge" msgid="789611397846512845">"ສິ່ງທ້າທາຍດ້ານວຽກເຮັດ, ວຽກ, ໂປຣໄຟລ໌"</string>
     <string name="keywords_unification" msgid="1922900767659821025">"ໂປຣໄຟລ໌ບ່ອນເຮັດວຽກ, ໂປຣໄຟລ໌ທີ່ມີການຈັດການ, ຮວມ, ການຮວມ, ວຽກ, ໂປຣໄຟລ໌"</string>
     <string name="keywords_gesture" msgid="5696040361482126337">"ທ່າທາງ"</string>
+    <string name="keywords_payment_settings" msgid="5220104934130446416">"pay, tap, payments"</string>
     <string name="setup_wifi_nfc_tag" msgid="9028353016222911016">"ຕັ້ງ​ຄ່າ​ແທັກ Wi-Fi NFC"</string>
     <string name="write_tag" msgid="8571858602896222537">"ຂຽນ"</string>
     <string name="status_awaiting_tap" msgid="2130145523773160617">"​ແ​ຕະ​ທີ່​ແທັກ​ເພື່ອ​ຂຽນ..."</string>
@@ -2802,7 +2803,7 @@
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2232461523882170874">"ໂປຣໄຟລບ່ອນເຮັດວຽກນີ້ຖືກຈັດການໂດຍ:"</string>
     <string name="managing_admin" msgid="8843802210377459055">"ຈັດ​ການ​ໂດຍ <xliff:g id="ADMIN_APP_LABEL">%s</xliff:g>"</string>
     <string name="experimental_preference" msgid="7083015446690681376">"(ທົດ​ລອງ)"</string>
-    <string name="display_auto_rotate_title" msgid="6176450657107806043">"ເມື່ອ​ໝຸນ​ອຸປະກອນ"</string>
+    <string name="display_auto_rotate_title" msgid="7119684966039069439">"Device rotation"</string>
     <string name="display_auto_rotate_rotate" msgid="4544299861233497728">"ໝຸນ​ເນື້ອຫາ​ຂອງ​ໜ້າຈໍ"</string>
     <string name="display_auto_rotate_stay_in_portrait" msgid="292745182318093651">"ໃຊ້​ທິດທາງ​ລວງຕັ້ງ"</string>
     <string name="display_auto_rotate_stay_in_landscape" msgid="3804752830204062162">"ໃຊ້​ທິດທາງ​ລວງ​ນອນ"</string>
@@ -3192,6 +3193,8 @@
     <string name="page_tab_title_support" msgid="6330657582897417458">"ການຊ່ວຍເຫຼືອ"</string>
     <string name="developer_density_summary" msgid="1998244213021456519">"<xliff:g id="ID_1">%d</xliff:g> dp"</string>
     <string name="developer_smallest_width" msgid="7516950434587313360">"ຄວາມກວ້າງນ້ອຍທີ່ສຸດ"</string>
+    <string name="developer_tile" msgid="4822711696408279658">"Development mode"</string>
+    <string name="developer_tile_unavailable" msgid="6559656549479711827">"No active state selected"</string>
     <string name="premium_sms_none" msgid="8268105565738040566">"ບໍ່ມີແອັບທີ່ຕິດຕັ້ງຮ້ອງຂໍການເຂົ້າເຖິງ SMS ແບບພຣີມຽມ"</string>
     <string name="premium_sms_warning" msgid="9086859595338944882">"SMS ແບບພຣີມຽມອາດເຮັດໃຫ້ທ່ານເສຍເງິນ ແລະ ຈະເພີ່ມຄ່າໃຊ້ຈ່າຍໃຫ້ກັບບິນຜູ້ໃຫ້ບໍລິການຂອງທ່ານ. ຫາກທ່ານເປີດໃຊ້ສິດອະນຸຍາດໃຫ້ກັບແອັບໃດໜຶ່ງ, ທ່ານຈະສາມາດສົ່ງ SMS ແບບພຣີມຽມໂດຍໃຊ້ແອັບນັ້ນໄດ້."</string>
     <string name="premium_sms_access" msgid="4660047004791638305">"ການເຂົ້າເຖິງ SMS ແບບພຣີມຽມ"</string>
@@ -3313,4 +3316,16 @@
     <string name="enterprise_privacy_bug_reports" msgid="4762460041705169944">"Your most recent bug report"</string>
     <string name="enterprise_privacy_security_logs" msgid="3648730027522011684">"Your most recent security log"</string>
     <string name="enterprise_privacy_never" msgid="1304035596746436921">"ບໍ່ມີກຳນົດ"</string>
+    <string name="storage_photos_videos" msgid="1872663116054954685">"ຮູບພາບ ແລະ ວິດີໂອ"</string>
+    <string name="storage_music_audio" msgid="7890103397813503615">"Music &amp; Audio"</string>
+    <string name="storage_games" msgid="7703159201697117621">"ເກມ"</string>
+    <string name="storage_other_apps" msgid="5524321740031718083">"ແອັບຯອື່ນໆ"</string>
+    <string name="storage_files" msgid="8581083146777364063">"ໄຟລ໌"</string>
+    <string name="storage_settings_2" msgid="6369810699930056554">"Phone Storage"</string>
+    <!-- no translation found for storage_size_large_alternate (3436941214395940966) -->
+    <skip />
+    <!-- no translation found for storage_volume_free (8829609507318832879) -->
+    <skip />
+    <!-- no translation found for storage_percent_used (6741397129281819921) -->
+    <skip />
 </resources>
diff --git a/res/values-lt/strings.xml b/res/values-lt/strings.xml
index c0e94ed..f88396e 100644
--- a/res/values-lt/strings.xml
+++ b/res/values-lt/strings.xml
@@ -676,7 +676,7 @@
     <string name="android_beam_off_summary" msgid="4663095428454779138">"Išjungta"</string>
     <string name="android_beam_disabled_summary" msgid="1737782116894793393">"Negalima, nes išjungtas ALR"</string>
     <string name="android_beam_label" msgid="6257036050366775040">"Android Beam"</string>
-    <string name="android_beam_explained" msgid="1828555626055290684">"Kai ši funkcija įjungta, galite programos turinį perduoti į kitą ALR palaikantį įrenginį laikydami du įrenginius šalia. Pavyzdžiui, galite perduoti Naršyklės puslapius, „YouTube“ vaizdo įrašus, žmonių kontaktus ir dar daugiau.\n\nTiesiog sudėkite du įrenginius vieną šalia kito (suglaudę galinėmis dalimis) ir palieskite ekraną. Programa nustato, kas bus perduodama."</string>
+    <string name="android_beam_explained" msgid="1810540319385192758">"Kai ši funkcija įjungta, galite programos turinį perduoti į kitą ALR palaikantį įrenginį laikydami du įrenginius šalia. Pavyzdžiui, galite perduoti tinklalapius, „YouTube“ vaizdo įrašus, kontaktus ir dar daugiau.\n\nTiesiog sudėkite du įrenginius vieną šalia kito (įprastai suglaudę galinėmis dalimis) ir palieskite ekraną. Programa nustato, kas bus perduodama."</string>
     <string name="wifi_quick_toggle_title" msgid="8850161330437693895">"Wi-Fi"</string>
     <string name="wifi_quick_toggle_summary" msgid="2696547080481267642">"Įjungti „Wi-Fi“"</string>
     <string name="wifi_settings" msgid="29722149822540994">"Wi-Fi"</string>
@@ -2625,6 +2625,7 @@
     <string name="keywords_profile_challenge" msgid="789611397846512845">"darbo iššūkis, darbas, profilis"</string>
     <string name="keywords_unification" msgid="1922900767659821025">"darbo profilis, tvarkomas profilis, suvienodinti, suvienodinimas, darbas, profilis"</string>
     <string name="keywords_gesture" msgid="5696040361482126337">"gestas"</string>
+    <string name="keywords_payment_settings" msgid="5220104934130446416">"mokėti, paliesti, mokėjimai"</string>
     <string name="setup_wifi_nfc_tag" msgid="9028353016222911016">"Nustatyti „Wi-Fi“ ALR žymą"</string>
     <string name="write_tag" msgid="8571858602896222537">"Rašyti"</string>
     <string name="status_awaiting_tap" msgid="2130145523773160617">"Palieskite žymą, kad galėtumėte rašyti..."</string>
@@ -2852,7 +2853,7 @@
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2232461523882170874">"Šį darbo profilį tvarko:"</string>
     <string name="managing_admin" msgid="8843802210377459055">"Tvarkoma naudojant „<xliff:g id="ADMIN_APP_LABEL">%s</xliff:g>“"</string>
     <string name="experimental_preference" msgid="7083015446690681376">"(Eksperimentinis)"</string>
-    <string name="display_auto_rotate_title" msgid="6176450657107806043">"Kai įrenginys pasukamas"</string>
+    <string name="display_auto_rotate_title" msgid="7119684966039069439">"Įrenginio pasukimas"</string>
     <string name="display_auto_rotate_rotate" msgid="4544299861233497728">"Pasukti ekrano turinį"</string>
     <string name="display_auto_rotate_stay_in_portrait" msgid="292745182318093651">"Išlaikyti stačiąjį rodinį"</string>
     <string name="display_auto_rotate_stay_in_landscape" msgid="3804752830204062162">"Išlaikyti gulsčiąjį rodinį"</string>
@@ -3258,6 +3259,8 @@
     <string name="page_tab_title_support" msgid="6330657582897417458">"Palaikymas"</string>
     <string name="developer_density_summary" msgid="1998244213021456519">"<xliff:g id="ID_1">%d</xliff:g> dp"</string>
     <string name="developer_smallest_width" msgid="7516950434587313360">"Mažiausias plotis"</string>
+    <string name="developer_tile" msgid="4822711696408279658">"Kūrimo režimas"</string>
+    <string name="developer_tile_unavailable" msgid="6559656549479711827">"Nepasirinkta jokia aktyvi būsena"</string>
     <string name="premium_sms_none" msgid="8268105565738040566">"Nėra jokių įdiegtų programų, pateikusių išskirtinių SMS prieigos užklausą"</string>
     <string name="premium_sms_warning" msgid="9086859595338944882">"Išskirtiniai SMS gali būti mokami ir į operatoriaus sąskaitas gali būti įtraukta papildomų mokesčių. Jei įgalinsite programos leidimą, galėsite siųsti išskirtinius SMS naudodami tą programą."</string>
     <string name="premium_sms_access" msgid="4660047004791638305">"Išskirtinių SMS prieiga"</string>
@@ -3387,4 +3390,16 @@
     <string name="enterprise_privacy_bug_reports" msgid="4762460041705169944">"Pats naujausias pranešimas apie riktą"</string>
     <string name="enterprise_privacy_security_logs" msgid="3648730027522011684">"Pats naujausias saugos žurnalas"</string>
     <string name="enterprise_privacy_never" msgid="1304035596746436921">"Niekada"</string>
+    <string name="storage_photos_videos" msgid="1872663116054954685">"Nuotraukos ir vaizdo įrašai"</string>
+    <string name="storage_music_audio" msgid="7890103397813503615">"Muzika ir garso įrašai"</string>
+    <string name="storage_games" msgid="7703159201697117621">"Žaidimai"</string>
+    <string name="storage_other_apps" msgid="5524321740031718083">"Kitos programos"</string>
+    <string name="storage_files" msgid="8581083146777364063">"Failai"</string>
+    <string name="storage_settings_2" msgid="6369810699930056554">"Telefono saugykla"</string>
+    <!-- no translation found for storage_size_large_alternate (3436941214395940966) -->
+    <skip />
+    <!-- no translation found for storage_volume_free (8829609507318832879) -->
+    <skip />
+    <!-- no translation found for storage_percent_used (6741397129281819921) -->
+    <skip />
 </resources>
diff --git a/res/values-lv/strings.xml b/res/values-lv/strings.xml
index 947b903..6c39b30 100644
--- a/res/values-lv/strings.xml
+++ b/res/values-lv/strings.xml
@@ -667,7 +667,7 @@
     <string name="android_beam_off_summary" msgid="4663095428454779138">"Izslēgta"</string>
     <string name="android_beam_disabled_summary" msgid="1737782116894793393">"Nav pieejams, jo NFC ir izslēgti."</string>
     <string name="android_beam_label" msgid="6257036050366775040">"Android Beam"</string>
-    <string name="android_beam_explained" msgid="1828555626055290684">"Ja šī funkcija ir ieslēgta, varat kopīgot lietotņu saturu citās ierīcēs, kas atbalsta NFC, novietojot ierīces blakus. Piemēram, varat kopīgot pārlūkprogrammas lapas, YouTube videoklipus, kontaktpersonas lietotnē Personas un citu saturu.\n\nVienkārši novietojiet ierīces blakus (parasti saskaroties to aizmugures daļām) un pieskarieties savam ekrānam. Lietotne nosaka, kāds saturs tiek kopīgots."</string>
+    <string name="android_beam_explained" msgid="1810540319385192758">"Ja šī funkcija ir ieslēgta, varat novietot ierīces blakus un kopīgot lietotņu saturu, izmantojot funkciju Beam, citās ierīcēs, kas atbalsta NFC. Piemēram, šādi varat kopīgot tīmekļa lapas, YouTube videoklipus, kontaktpersonas un citu saturu.\n\nVienkārši novietojiet ierīces blakus (parasti saskaroties to aizmugures daļām) un pieskarieties savam ekrānam. Lietotne nosaka, kāds saturs tiek kopīgots, izmantojot funkciju Beam."</string>
     <string name="wifi_quick_toggle_title" msgid="8850161330437693895">"Wi-Fi"</string>
     <string name="wifi_quick_toggle_summary" msgid="2696547080481267642">"Ieslēgt Wi-Fi"</string>
     <string name="wifi_settings" msgid="29722149822540994">"Wi-Fi"</string>
@@ -2603,6 +2603,7 @@
     <string name="keywords_profile_challenge" msgid="789611397846512845">"drošības uzdevums darba profilā, darbs, profils"</string>
     <string name="keywords_unification" msgid="1922900767659821025">"darba profils, pārvaldīts profils, apvienot, apvienošana, darbs, profils"</string>
     <string name="keywords_gesture" msgid="5696040361482126337">"žests"</string>
+    <string name="keywords_payment_settings" msgid="5220104934130446416">"maksāt, pieskarties, maksājumi"</string>
     <string name="setup_wifi_nfc_tag" msgid="9028353016222911016">"Iestatīt Wi-Fi NFC atzīmi"</string>
     <string name="write_tag" msgid="8571858602896222537">"Rakstīt"</string>
     <string name="status_awaiting_tap" msgid="2130145523773160617">"Pieskarieties atzīmei, lai rakstītu."</string>
@@ -2827,7 +2828,7 @@
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2232461523882170874">"Šis darba profils tiek pārvaldīts, izmantojot:"</string>
     <string name="managing_admin" msgid="8843802210377459055">"Pārvalda <xliff:g id="ADMIN_APP_LABEL">%s</xliff:g>"</string>
     <string name="experimental_preference" msgid="7083015446690681376">"(Eksperimentāla)"</string>
-    <string name="display_auto_rotate_title" msgid="6176450657107806043">"Kad ierīce tiek pagriezta"</string>
+    <string name="display_auto_rotate_title" msgid="7119684966039069439">"Ierīces pagriešana"</string>
     <string name="display_auto_rotate_rotate" msgid="4544299861233497728">"Pagriezt ekrāna saturu"</string>
     <string name="display_auto_rotate_stay_in_portrait" msgid="292745182318093651">"Saglabāt portreta skatu"</string>
     <string name="display_auto_rotate_stay_in_landscape" msgid="3804752830204062162">"Saglabāt ainavas skatu"</string>
@@ -3224,6 +3225,8 @@
     <string name="page_tab_title_support" msgid="6330657582897417458">"Atbalsts"</string>
     <string name="developer_density_summary" msgid="1998244213021456519">"<xliff:g id="ID_1">%d</xliff:g> dp"</string>
     <string name="developer_smallest_width" msgid="7516950434587313360">"Mazākais platums"</string>
+    <string name="developer_tile" msgid="4822711696408279658">"Izstrādes režīms"</string>
+    <string name="developer_tile_unavailable" msgid="6559656549479711827">"Nav atlasīts aktīvs statuss."</string>
     <string name="premium_sms_none" msgid="8268105565738040566">"Nevienā instalētajā lietotnē nav pieprasīta piekļuve maksas īsziņām."</string>
     <string name="premium_sms_warning" msgid="9086859595338944882">"Par maksas īsziņām no jums var tikt iekasēta samaksa, kas tiks pievienota jūsu mobilo sakaru operatora rēķinam. Ja kādai lietotnei iespējosiet piekļuves atļauju, varēsiet sūtīt maksas īsziņas, izmantojot šo lietotni."</string>
     <string name="premium_sms_access" msgid="4660047004791638305">"Piekļuve maksas īsziņām"</string>
@@ -3349,4 +3352,16 @@
     <string name="enterprise_privacy_bug_reports" msgid="4762460041705169944">"Jūsu pēdējais kļūdas pārskats"</string>
     <string name="enterprise_privacy_security_logs" msgid="3648730027522011684">"Jūsu pēdējais drošības žurnāls"</string>
     <string name="enterprise_privacy_never" msgid="1304035596746436921">"Nekad"</string>
+    <string name="storage_photos_videos" msgid="1872663116054954685">"Fotoattēli un videoklipi"</string>
+    <string name="storage_music_audio" msgid="7890103397813503615">"Mūzika un audio"</string>
+    <string name="storage_games" msgid="7703159201697117621">"Spēles"</string>
+    <string name="storage_other_apps" msgid="5524321740031718083">"Citas lietotnes"</string>
+    <string name="storage_files" msgid="8581083146777364063">"Faili"</string>
+    <string name="storage_settings_2" msgid="6369810699930056554">"Tālruņa krātuve"</string>
+    <!-- no translation found for storage_size_large_alternate (3436941214395940966) -->
+    <skip />
+    <!-- no translation found for storage_volume_free (8829609507318832879) -->
+    <skip />
+    <!-- no translation found for storage_percent_used (6741397129281819921) -->
+    <skip />
 </resources>
diff --git a/res/values-mk-rMK-nokeys/strings.xml b/res/values-mk-nokeys/strings.xml
similarity index 100%
rename from res/values-mk-rMK-nokeys/strings.xml
rename to res/values-mk-nokeys/strings.xml
diff --git a/res/values-mk-rMK/arrays.xml b/res/values-mk/arrays.xml
similarity index 100%
rename from res/values-mk-rMK/arrays.xml
rename to res/values-mk/arrays.xml
diff --git a/res/values-mk-rMK/strings.xml b/res/values-mk/strings.xml
similarity index 99%
rename from res/values-mk-rMK/strings.xml
rename to res/values-mk/strings.xml
index 41fb431..63c7758 100644
--- a/res/values-mk-rMK/strings.xml
+++ b/res/values-mk/strings.xml
@@ -658,7 +658,7 @@
     <string name="android_beam_off_summary" msgid="4663095428454779138">"Исклучено"</string>
     <string name="android_beam_disabled_summary" msgid="1737782116894793393">"Недостапен зашто комуникацијата на блиско поле (NFC) е исклучен"</string>
     <string name="android_beam_label" msgid="6257036050366775040">"Android Beam"</string>
-    <string name="android_beam_explained" msgid="1828555626055290684">"Кога функцијата е вклучена, може да ја емитирате содржината на апликацијата на друг уред со опција за NFC со држење на уредите блиску еден до друг. На пример, може да емитирате страници од прелистувачот, видеа од YouTube, контакти од Луѓе и друго.\n\nСамо приближете ги уредите еден до друг (обично од задната страна) и потоа допрете го вашиот екран. Апликацијата одредува што ќе се емитира."</string>
+    <string name="android_beam_explained" msgid="1810540319385192758">"Кога функцијава е вклучена, може да вршите beam на содржината на апликацијата на друг уред со опција за NFC со држење на уредите блиску еден до друг. На пример, може да вршите beam на веб-страници, видеа на YouTube, контакти од лица и др.\n\nСамо приближете ги уредите еден до друг (обично од задната страна), а потоа допрете го вашиот екран. Апликацијата утврдува на што ќе се изврши вршите beam."</string>
     <string name="wifi_quick_toggle_title" msgid="8850161330437693895">"Wi-Fi"</string>
     <string name="wifi_quick_toggle_summary" msgid="2696547080481267642">"Вклучи Wi-Fi"</string>
     <string name="wifi_settings" msgid="29722149822540994">"Wi-Fi"</string>
@@ -2581,6 +2581,7 @@
     <string name="keywords_profile_challenge" msgid="789611397846512845">"работен предизвик, работа, профил"</string>
     <string name="keywords_unification" msgid="1922900767659821025">"работен профил, управуван профил, унифицирај, унифицирање, работа, профил"</string>
     <string name="keywords_gesture" msgid="5696040361482126337">"движење"</string>
+    <string name="keywords_payment_settings" msgid="5220104934130446416">"плати, допри, плаќања"</string>
     <string name="setup_wifi_nfc_tag" msgid="9028353016222911016">"Поставете Wi-Fi ознака за NFC"</string>
     <string name="write_tag" msgid="8571858602896222537">"Пишувај"</string>
     <string name="status_awaiting_tap" msgid="2130145523773160617">"Допрете ознака да пишувате…"</string>
@@ -2802,7 +2803,7 @@
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2232461523882170874">"Овој работен профил е управуван од:"</string>
     <string name="managing_admin" msgid="8843802210377459055">"Управувано од <xliff:g id="ADMIN_APP_LABEL">%s</xliff:g>"</string>
     <string name="experimental_preference" msgid="7083015446690681376">"(Експериментално)"</string>
-    <string name="display_auto_rotate_title" msgid="6176450657107806043">"Кога уредот се ротира"</string>
+    <string name="display_auto_rotate_title" msgid="7119684966039069439">"Ротација на уредот"</string>
     <string name="display_auto_rotate_rotate" msgid="4544299861233497728">"Ротирај ја содржината на екранот"</string>
     <string name="display_auto_rotate_stay_in_portrait" msgid="292745182318093651">"Остани во приказ на портрет"</string>
     <string name="display_auto_rotate_stay_in_landscape" msgid="3804752830204062162">"Остани во приказ на пејзаж"</string>
@@ -3192,6 +3193,8 @@
     <string name="page_tab_title_support" msgid="6330657582897417458">"Поддршка"</string>
     <string name="developer_density_summary" msgid="1998244213021456519">"<xliff:g id="ID_1">%d</xliff:g> dp"</string>
     <string name="developer_smallest_width" msgid="7516950434587313360">"Најмала ширина"</string>
+    <string name="developer_tile" msgid="4822711696408279658">"Режим на програмирање"</string>
+    <string name="developer_tile_unavailable" msgid="6559656549479711827">"Нема избрана активна состојба"</string>
     <string name="premium_sms_none" msgid="8268105565738040566">"Ниедна од инсталираните апликации не побара пристап до премиум SMS"</string>
     <string name="premium_sms_warning" msgid="9086859595338944882">"Премиум SMS може да ве чини пари, а сумата ќе се додаде на сметките од операторот. Ако овозможите дозвола за апликацијата, ќе може да испраќате премиум SMS со неа."</string>
     <string name="premium_sms_access" msgid="4660047004791638305">"Пристап до премиум SMS"</string>
@@ -3313,4 +3316,16 @@
     <string name="enterprise_privacy_bug_reports" msgid="4762460041705169944">"Вашиот најнов извештај за грешки"</string>
     <string name="enterprise_privacy_security_logs" msgid="3648730027522011684">"Вашиот најнов безбедносен дневник"</string>
     <string name="enterprise_privacy_never" msgid="1304035596746436921">"Никогаш"</string>
+    <string name="storage_photos_videos" msgid="1872663116054954685">"Фотографии и видеа"</string>
+    <string name="storage_music_audio" msgid="7890103397813503615">"Музика и аудио"</string>
+    <string name="storage_games" msgid="7703159201697117621">"Игри"</string>
+    <string name="storage_other_apps" msgid="5524321740031718083">"Други апликации"</string>
+    <string name="storage_files" msgid="8581083146777364063">"Датотеки"</string>
+    <string name="storage_settings_2" msgid="6369810699930056554">"Простор на телефонот"</string>
+    <!-- no translation found for storage_size_large_alternate (3436941214395940966) -->
+    <skip />
+    <!-- no translation found for storage_volume_free (8829609507318832879) -->
+    <skip />
+    <!-- no translation found for storage_percent_used (6741397129281819921) -->
+    <skip />
 </resources>
diff --git a/res/values-ml-rIN-nokeys/strings.xml b/res/values-ml-nokeys/strings.xml
similarity index 100%
rename from res/values-ml-rIN-nokeys/strings.xml
rename to res/values-ml-nokeys/strings.xml
diff --git a/res/values-ml-rIN/arrays.xml b/res/values-ml/arrays.xml
similarity index 100%
rename from res/values-ml-rIN/arrays.xml
rename to res/values-ml/arrays.xml
diff --git a/res/values-ml-rIN/strings.xml b/res/values-ml/strings.xml
similarity index 99%
rename from res/values-ml-rIN/strings.xml
rename to res/values-ml/strings.xml
index e88b139..3a9ea48 100644
--- a/res/values-ml-rIN/strings.xml
+++ b/res/values-ml/strings.xml
@@ -658,7 +658,7 @@
     <string name="android_beam_off_summary" msgid="4663095428454779138">"ഓഫ്"</string>
     <string name="android_beam_disabled_summary" msgid="1737782116894793393">"NFC ഓഫ് ചെ‌യ്തതിനാൽ ലഭ്യമല്ല"</string>
     <string name="android_beam_label" msgid="6257036050366775040">"Android ബീം"</string>
-    <string name="android_beam_explained" msgid="1828555626055290684">"ഈ ഫീച്ചർ ഓണായിരിക്കുമ്പോൾ, ഉപകരണങ്ങൾ അടുത്തടുത്ത് പിടിച്ചുകൊണ്ട് NFC പ്രാപ്‌തമാക്കിയിട്ടുള്ള മറ്റൊരു ഉപകരണത്തിലേക്ക് നിങ്ങൾക്ക് ആപ്പ് ഉള്ളടക്കം ബീം ചെയ്യാനാകും. ഉദാഹരണത്തിന്, ബ്രൗസർ പേജുകളും YouTube വീഡിയോകളും People കോൺടാക്റ്റുകളും മറ്റും നിങ്ങൾക്ക് ബീം ചെയ്യാം.\n\nഉപകരണങ്ങൾ തൊട്ടടുത്ത് (സാധാരണഗതിയിൽ രണ്ടിന്റെയും പിൻവശങ്ങൾ ചേർത്ത്) പിടിക്കുകയും നിങ്ങളുടെ സ്‌ക്രീനിൽ ടാപ്പുചെയ്യുകയും ചെയ്താൽ മതി. എന്താണ് ബീം ചെയ്യേണ്ടതെന്ന് ആപ്പ് നിർണ്ണയിക്കുന്നു."</string>
+    <string name="android_beam_explained" msgid="1810540319385192758">"ഈ ഫീച്ചർ ഓണായിരിക്കുമ്പോൾ, ഉപകരണങ്ങൾ വളരെ അടുത്തടുത്തായി പിടിച്ചുകൊണ്ട് NFC പ്രവർത്തനക്ഷമമാക്കിയ മറ്റൊരു ഉപകരണത്തിലേക്ക് നിങ്ങൾക്ക് ആപ്പ് ഉള്ളടക്കം ബീം ചെയ്യാനാകും. ഉദാഹരണത്തിന്, വെബ് പേജുകളും YouTube വീഡിയോകളും കോൺടാക്റ്റുകളും മറ്റും നിങ്ങൾക്ക് ബീം ചെയ്യാം.\n\nഉപകരണങ്ങൾ ഒരുമിച്ച് കൊണ്ടുവന്ന് (സാധാരണ ഗതിയിൽ പിൻഭാഗങ്ങൾ ചേർത്തുപിടിച്ച്) നിങ്ങളുടെ സ്‌ക്രീനിൽ ടാപ്പുചെയ്യുകയേ വേണ്ടൂ. എന്തൊക്കെ ബീം ചെയ്യണമെന്നത് ആപ്പാണ് നിർണ്ണയിക്കുന്നത്."</string>
     <string name="wifi_quick_toggle_title" msgid="8850161330437693895">"വൈഫൈ"</string>
     <string name="wifi_quick_toggle_summary" msgid="2696547080481267642">"വൈഫൈ ഓണാക്കുക"</string>
     <string name="wifi_settings" msgid="29722149822540994">"വൈഫൈ"</string>
@@ -2581,6 +2581,7 @@
     <string name="keywords_profile_challenge" msgid="789611397846512845">"ഔദ്യോഗിക വെല്ലുവിളി, ഔദ്യോഗികം, പ്രൊഫൈൽ"</string>
     <string name="keywords_unification" msgid="1922900767659821025">"ഔദ്യോഗിക പ്രൊഫൈൽ, മാനേജുചെയ്യപ്പെടുന്ന പ്രൊഫൈൽ, ഏകീകരിക്കുക, ഏകീകരിക്കൽ, ഔദ്യോഗികം, പ്രൊഫൈൽ"</string>
     <string name="keywords_gesture" msgid="5696040361482126337">"ജെസ്‌റ്റർ"</string>
+    <string name="keywords_payment_settings" msgid="5220104934130446416">"പണമടയ്ക്കുക. ടാപ്പുചെയ്യുക, പേയ്‌മെന്റുകൾ"</string>
     <string name="setup_wifi_nfc_tag" msgid="9028353016222911016">"വൈഫൈ NFC ടാഗ് സജ്ജമാക്കുക"</string>
     <string name="write_tag" msgid="8571858602896222537">"റൈറ്റുചെയ്യുക"</string>
     <string name="status_awaiting_tap" msgid="2130145523773160617">"റൈറ്റുചെയ്യാൻ ഒരു ടാഗ് ടാപ്പുചെയ്യുക..."</string>
@@ -2802,7 +2803,7 @@
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2232461523882170874">"ഈ വർക്ക് പ്രൊഫൈൽ നിയന്ത്രിക്കുന്നത്:"</string>
     <string name="managing_admin" msgid="8843802210377459055">"<xliff:g id="ADMIN_APP_LABEL">%s</xliff:g> നിയന്ത്രിക്കുന്നു"</string>
     <string name="experimental_preference" msgid="7083015446690681376">"(പരീക്ഷണാത്മകം)"</string>
-    <string name="display_auto_rotate_title" msgid="6176450657107806043">"ഉപകരണം തിരിക്കുമ്പോൾ"</string>
+    <string name="display_auto_rotate_title" msgid="7119684966039069439">"ഉപകരണം തിരിക്കൽ"</string>
     <string name="display_auto_rotate_rotate" msgid="4544299861233497728">"സ്‌ക്രീനിന്റെ ഉള്ളടക്കങ്ങൾ തിരിക്കുക"</string>
     <string name="display_auto_rotate_stay_in_portrait" msgid="292745182318093651">"പോർട്രെയ്റ്റ് കാഴ്‌ചയിൽ തുടരുക"</string>
     <string name="display_auto_rotate_stay_in_landscape" msgid="3804752830204062162">"ലാൻഡ്‌സ്‌കേപ്പ് കാഴ്‌ചയിൽ തുടരുക"</string>
@@ -3192,6 +3193,8 @@
     <string name="page_tab_title_support" msgid="6330657582897417458">"പിന്തുണ"</string>
     <string name="developer_density_summary" msgid="1998244213021456519">"<xliff:g id="ID_1">%d</xliff:g> dp"</string>
     <string name="developer_smallest_width" msgid="7516950434587313360">"ഏറ്റവും ചെറിയ വീതി"</string>
+    <string name="developer_tile" msgid="4822711696408279658">"ഡെവലപ്പ്‌മെന്റ് മോഡ്"</string>
+    <string name="developer_tile_unavailable" msgid="6559656549479711827">"സജീവ നിലയൊന്നും തിരഞ്ഞെടുത്തിട്ടില്ല"</string>
     <string name="premium_sms_none" msgid="8268105565738040566">"ഇൻസ്റ്റാൾ ചെയ്തിട്ടുള്ള ആപ്സൊന്നും പ്രീമിയം SMS ആക്‌സസ് അഭ്യർത്ഥിച്ചിട്ടില്ല"</string>
     <string name="premium_sms_warning" msgid="9086859595338944882">"പ്രീമിയം SMS-ന് നിങ്ങൾ പണം നൽകേണ്ടി വന്നേക്കാം, കാരിയറുടെ ബില്ലിലേക്ക് ഈ തുക ചേർക്കുന്നതാണ്. നിങ്ങളൊരു ആപ്പിന് അനുമതി പ്രവർത്തനക്ഷമമാക്കുന്നുവെങ്കിൽ, ആ ആപ്പ് ഉപയോഗിച്ച് പ്രീമിയം SMS അയയ്ക്കാനാകും."</string>
     <string name="premium_sms_access" msgid="4660047004791638305">"പ്രീമിയം SMS ആക്സസ്"</string>
@@ -3313,4 +3316,16 @@
     <string name="enterprise_privacy_bug_reports" msgid="4762460041705169944">"നിങ്ങളുടെ ഏറ്റവും പുതിയ ബഗ് റിപ്പോർട്ട്"</string>
     <string name="enterprise_privacy_security_logs" msgid="3648730027522011684">"നിങ്ങളുടെ ഏറ്റവും പുതിയ സുരക്ഷാ ലോഗ്"</string>
     <string name="enterprise_privacy_never" msgid="1304035596746436921">"ഒരിക്കലും വേണ്ട"</string>
+    <string name="storage_photos_videos" msgid="1872663116054954685">"ഫോട്ടോകളും വീഡിയോകളും"</string>
+    <string name="storage_music_audio" msgid="7890103397813503615">"സംഗീതവും ഓഡിയോയും"</string>
+    <string name="storage_games" msgid="7703159201697117621">"ഗെയിമുകള്‍"</string>
+    <string name="storage_other_apps" msgid="5524321740031718083">"മറ്റ് ആപ്‌സ്"</string>
+    <string name="storage_files" msgid="8581083146777364063">"ഫയലുകള്‍"</string>
+    <string name="storage_settings_2" msgid="6369810699930056554">"ഫോൺ സ്റ്റോറേജ്"</string>
+    <!-- no translation found for storage_size_large_alternate (3436941214395940966) -->
+    <skip />
+    <!-- no translation found for storage_volume_free (8829609507318832879) -->
+    <skip />
+    <!-- no translation found for storage_percent_used (6741397129281819921) -->
+    <skip />
 </resources>
diff --git a/res/values-mn-rMN-nokeys/strings.xml b/res/values-mn-rMN-nokeys/strings.xml
deleted file mode 100644
index e86703e..0000000
--- a/res/values-mn-rMN-nokeys/strings.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2007 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.
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="applications_settings_summary" msgid="6616938758022986257">"Аппликешн удирдах"</string>
-</resources>
diff --git a/res/values-mn-rMN/arrays.xml b/res/values-mn/arrays.xml
similarity index 100%
rename from res/values-mn-rMN/arrays.xml
rename to res/values-mn/arrays.xml
diff --git a/res/values-mn-rMN/strings.xml b/res/values-mn/strings.xml
similarity index 98%
rename from res/values-mn-rMN/strings.xml
rename to res/values-mn/strings.xml
index 469f35b..dde38dc 100644
--- a/res/values-mn-rMN/strings.xml
+++ b/res/values-mn/strings.xml
@@ -86,8 +86,7 @@
     <string name="font_size_preview_text_headline" msgid="7955317408475392247">"Жишээ текст"</string>
     <string name="font_size_preview_text_title" msgid="1310536233106975546">"Озын Гайхамшигт шидтэн"</string>
     <string name="font_size_preview_text_subtitle" msgid="4231671528173110093">"Бүлэг 11: Озын Гайхамшигт Маргад эрдэнийн хот"</string>
-    <!-- no translation found for font_size_preview_text_body (2846183528684496723) -->
-    <skip />
+    <string name="font_size_preview_text_body" msgid="2846183528684496723">"Дороти болон түүний нөхөд ногоон өнгийн шилээр нүдээ хамгаалсан байсан ч нүд гялтганасан хотын гэрэлд нүд гялбаж байлаа. Хотын байшингуудыг ногоон гантигаар барьсан бөгөөд энд тэндгүй маргад эрдэнийн чулууг битүү шигтгэсэн байх аж. Тэдний явж буй маргад ногоон замыг хооронд нь маргад эрдэнээр холбосон бөгөөд нарны гэрэлд нүд гялбам харагдана. Байшингуудын цонхыг ногоон өвсөөр хүрээлсэн, тэр ч бүү хэл тэнгэрийн хаяа, нарны цацраг нь хүртэл ногоон туяатай байлаа. \n\nЭнд тэндгүй ногоон өнгийн хувцас өмссөн, арьс нь бага зэргийн ногоон туяатай хүмүүс явж байв. Тэд Дороти болон түүний хачирхалтай нөхдийг гайхан харах бөгөөд хүүхэд багачууд арсланг харсан даруйдаа ээжийнхээ ард нуугдах хэдий ч хэн ч тэдэнтэй үг сольсонгүй. Гудамжинд маш олон тооны дэлгүүр байх хэдий ч тэдгээр нь мөн л ногоон өнгөтэй болохыг Дороти ажив. Дэлгүүрт ногоон өнгийн чихэр, эрдэнэ шиш хямдралтай үнээр зарагдах бөгөөд гутал, малгай зэрэг бүх төрлийн хувцас ногоон өнгөтэй байв. Тэнд нэгэн эр ногоон өнгийн нимбэгний шүүс зарж байхтай таарав. Үүнийг нь авч ууж буй хүүхдүүд ногоон өнгийн зоос төлж байв. \n\nАжиглаад байхад энд ямар ч амьтан, морь мал байхгүй бөгөөд хүмүүс жижиг тэргээр ачаа бараагаа зөөж харагдана. Энэ хотын бүх хүн аз жаргалтай, амар тайван харагдаж байлаа."</string>
     <string name="font_size_save" msgid="3450855718056759095">"OK"</string>
     <string name="sdcard_setting" product="nosdcard" msgid="8281011784066476192">"USB сан"</string>
     <string name="sdcard_setting" product="default" msgid="5922637503871474866">"SD карт"</string>
@@ -658,7 +657,7 @@
     <string name="android_beam_off_summary" msgid="4663095428454779138">"Идэвхгүй"</string>
     <string name="android_beam_disabled_summary" msgid="1737782116894793393">"NFC-г унтраасан учир ашиглах боломжгүй"</string>
     <string name="android_beam_label" msgid="6257036050366775040">"Android Beam"</string>
-    <string name="android_beam_explained" msgid="1828555626055290684">"Энэ онцлогийг асааснаар та апп-н агуулгыг өөр NFC-тай ажилладаг төхөөрөмж рүү төхөөрөмжийг ойрхон барих замаар илгээх боломжтой. Жишээ нь: та Хөтчийн хуудас, YouTube видео, Хүмүүсийн харилцагчид болон бусад зүйлсийг илгээж болно.\n\nТөхөөрөмжүүдийг хамтад нь барьж (гол төлөв ар талаар нь) өөрийн дэлгэцийг дарна уу. Апп юу илгээхийг тодорхойлох болно."</string>
+    <string name="android_beam_explained" msgid="1810540319385192758">"Энэ онцлогийг асаасан үед та аппын агуулгыг өөр NFC-тай ажилладаг төхөөрөмж рүү төхөөрөмжийг ойрхон барьснаар дамжуулах боломжтой. Жишээ нь та хөтчийн хуудас, YouTube видео, харилцагчид болон бусад зүйлсийг дамжуулах боломжтой.\n\nТөхөөрөмжийг хамтад нь барьж (гол төлөв ар араар нь) дэлгэцээ товшино уу. Апп дамжуулах зүйлийг сонгох болно."</string>
     <string name="wifi_quick_toggle_title" msgid="8850161330437693895">"Wi‑Fi"</string>
     <string name="wifi_quick_toggle_summary" msgid="2696547080481267642">"Wi‑Fi-г асаах"</string>
     <string name="wifi_settings" msgid="29722149822540994">"Wi‑Fi"</string>
@@ -1536,11 +1535,9 @@
     <string name="app_install_location_summary" msgid="5155453752692959098">"Шинэ апп-уудыг суулгах тохиромжтой байршлыг өөрчлөх."</string>
     <string name="app_disable_dlg_title" msgid="3916469657537695436">"Суурилагдсан апп-ыг идэвхгүйжүүлэх үү?"</string>
     <string name="app_disable_dlg_positive" msgid="7375627244201714263">"Aпп-ийг идэвхгүй болгох"</string>
-    <!-- no translation found for app_disable_dlg_text (5632072173181990531) -->
-    <skip />
+    <string name="app_disable_dlg_text" msgid="5632072173181990531">"Та энэ аппыг идэвхгүй болгосон тохиолдолд Андройд болон бусад аппын хэвийн ажиллагаа тасалдаж болзошгүй."</string>
     <string name="app_special_disable_dlg_title" msgid="2690148680327142674">"Өгөгдлийг устгаж апп-ыг идэвхгүйжүүлэх үү?"</string>
-    <!-- no translation found for app_special_disable_dlg_text (5832078825810635913) -->
-    <skip />
+    <string name="app_special_disable_dlg_text" msgid="5832078825810635913">"Хэрэв та энэ аппыг идэвхгүй болговол бусад аппын хэвийн ажиллагаа тасалдаж болзошгүй. Таны өгөгдөл мөн устах болно."</string>
     <string name="app_disable_notifications_dlg_title" msgid="7669264654851761857">"Мэдэгдлийг унтраах уу?"</string>
     <string name="app_disable_notifications_dlg_text" msgid="5088484670924769845">"Хэрэв та энэ апп-н мэдэгдлийг унтраавал чухал сануулгууд болон шинэчлэлтүүдийг алгасаж магадгүй."</string>
     <string name="app_install_details_group_title" msgid="7084623031296083574">"Дэлгүүр"</string>
@@ -2527,8 +2524,7 @@
       <item quantity="other">Нуусан %d зүйлийг харуулах</item>
       <item quantity="one">Нуусан %d зүйлийг харуулах</item>
     </plurals>
-    <!-- no translation found for network_dashboard_title (3135144174846753758) -->
-    <skip />
+    <string name="network_dashboard_title" msgid="3135144174846753758">"Сүлжээ &amp; интернэт"</string>
     <string name="connected_devices_dashboard_title" msgid="2355264951438890709">"Холбогдсон төхөөрөмж"</string>
     <string name="app_and_notification_dashboard_title" msgid="7838365599185397539">"Апп; мэдэгдэл"</string>
     <string name="account_dashboard_title" msgid="38701889336378742">"Хэрэглэгч &amp; бүртгэл"</string>
@@ -2581,6 +2577,7 @@
     <string name="keywords_profile_challenge" msgid="789611397846512845">"ажлын сорилт, ажил, профайл"</string>
     <string name="keywords_unification" msgid="1922900767659821025">"ажлын профайл, удирдсан профайл, нэгтгэх, нэгдэл, ажил, профайл"</string>
     <string name="keywords_gesture" msgid="5696040361482126337">"зангаа"</string>
+    <string name="keywords_payment_settings" msgid="5220104934130446416">"төлөх, товших, төлбөр"</string>
     <string name="setup_wifi_nfc_tag" msgid="9028353016222911016">"Wi-Fi NFC Tагь тохируулах"</string>
     <string name="write_tag" msgid="8571858602896222537">"Бичих"</string>
     <string name="status_awaiting_tap" msgid="2130145523773160617">"Бичихийн тулд тагь дээр дарах ..."</string>
@@ -2653,16 +2650,11 @@
     <string name="app_notifications_title" msgid="139788604658984593">"Мэдэгдэл"</string>
     <string name="notification_importance_title" msgid="848692592679312666">"Ач холбогдол"</string>
     <string name="notification_importance_none" msgid="3173515479356106227">"Тохируулаагүй"</string>
-    <!-- no translation found for notification_importance_blocked (7938180808339386300) -->
-    <skip />
-    <!-- no translation found for notification_importance_min (5455049524984686275) -->
-    <skip />
-    <!-- no translation found for notification_importance_low (2445139943005315690) -->
-    <skip />
-    <!-- no translation found for notification_importance_default (5958338024601957516) -->
-    <skip />
-    <!-- no translation found for notification_importance_high (2082429479238228527) -->
-    <skip />
+    <string name="notification_importance_blocked" msgid="7938180808339386300">"Мэдэгдлийг хэзээ ч харуулахгүй"</string>
+    <string name="notification_importance_min" msgid="5455049524984686275">"Дуугүй, эсвэл үзэхэд саадгүй"</string>
+    <string name="notification_importance_low" msgid="2445139943005315690">"Чимээгүй харуулах"</string>
+    <string name="notification_importance_default" msgid="5958338024601957516">"Дуу гаргах"</string>
+    <string name="notification_importance_high" msgid="2082429479238228527">"Дуу гаргаж, дэлгэцэд гэнэт гаргах"</string>
     <string name="importance_reset" msgid="7458420788555607007">"Дахин шинэчлэх"</string>
     <string name="show_silently" msgid="2222875799232222056">"Чимээгүй харуулах"</string>
     <string name="show_silently_summary" msgid="7616604629123146565">"Эдгээр мэдэгдлүүдийг одоогийн дэлгэцэд харахдаа дуугүй, чичиргээгүй болон яаралтай гаргаж ирэхгүй болгож тохируулна уу."</string>
@@ -2689,16 +2681,11 @@
     <string name="loading_notification_apps" msgid="5031818677010335895">"Апп-уудыг ачаалж байна..."</string>
     <string name="notification_channels" msgid="8681423709659818791">"Суваг"</string>
     <string name="app_notification_block_title" msgid="4069351066849087649">"Бүгдийг блокло"</string>
-    <!-- no translation found for app_notification_block_summary (4744020456943215352) -->
-    <skip />
-    <!-- no translation found for notification_content_block_title (5854232570963006360) -->
-    <skip />
-    <!-- no translation found for notification_content_block_summary (7746185794438882389) -->
-    <skip />
-    <!-- no translation found for notification_badge_title (5404669445214920178) -->
-    <skip />
-    <!-- no translation found for notification_badge_summary (3944771498030335669) -->
-    <skip />
+    <string name="app_notification_block_summary" msgid="4744020456943215352">"Эдгээр мэдэгдлийг хэзээ ч харуулахгүй"</string>
+    <string name="notification_content_block_title" msgid="5854232570963006360">"Мэдэгдэл харуулах"</string>
+    <string name="notification_content_block_summary" msgid="7746185794438882389">"Мэдэгдлийг сүүдэрт, эсвэл захын төхөөрөмжид хэзээ ч харуулахгүй"</string>
+    <string name="notification_badge_title" msgid="5404669445214920178">"Тэмдгийг харуулах"</string>
+    <string name="notification_badge_summary" msgid="3944771498030335669">"Мэдэгдлийг дэмжсэн үед Нүүр апп-д тэмдэг болгон харуулах."</string>
     <string name="app_notification_override_dnd_title" msgid="7867458246395884830">"\"Бүү саад бол\"-г дарах"</string>
     <string name="app_notification_override_dnd_summary" msgid="3516007157020189746">"\"Бүү саад бол\" горимыг \"Зөвхөн Тэргүүлэх ач холбогдолтой\" болгон тохируулсан үед эдгээр мэдэгдэл үргэлжлэн саад болохыг зөвшөөрнө үү."</string>
     <string name="app_notification_visibility_override_title" msgid="2187232730902430718">"Түгжигдсэн дэлгэц дээр"</string>
@@ -2800,7 +2787,7 @@
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2232461523882170874">"Энэ ажлын профайлыг удирдагч нь:"</string>
     <string name="managing_admin" msgid="8843802210377459055">"<xliff:g id="ADMIN_APP_LABEL">%s</xliff:g>-аар удирдана"</string>
     <string name="experimental_preference" msgid="7083015446690681376">"(Туршилтын)"</string>
-    <string name="display_auto_rotate_title" msgid="6176450657107806043">"Төхөөрөмжийг эргүүлсэн үед"</string>
+    <string name="display_auto_rotate_title" msgid="7119684966039069439">"Төхөөрөмжийн эргүүлэлт"</string>
     <string name="display_auto_rotate_rotate" msgid="4544299861233497728">"Дэлгэцийн контентийг эргүүлэх"</string>
     <string name="display_auto_rotate_stay_in_portrait" msgid="292745182318093651">"Босоо харагдацаар хадгалах"</string>
     <string name="display_auto_rotate_stay_in_landscape" msgid="3804752830204062162">"Хөндлөн харагдацаар хадгалах"</string>
@@ -3190,6 +3177,8 @@
     <string name="page_tab_title_support" msgid="6330657582897417458">"Дэмжлэг"</string>
     <string name="developer_density_summary" msgid="1998244213021456519">"<xliff:g id="ID_1">%d</xliff:g> dp"</string>
     <string name="developer_smallest_width" msgid="7516950434587313360">"Хамгийн бага өргөн"</string>
+    <string name="developer_tile" msgid="4822711696408279658">"Хөгжүүлэгч горим"</string>
+    <string name="developer_tile_unavailable" msgid="6559656549479711827">"Идэвхтэй төлөв сонгоогүй байна"</string>
     <string name="premium_sms_none" msgid="8268105565738040566">"Суулгасан апп гуравдагч талын SMS хандалтыг шаардаагүй байна"</string>
     <string name="premium_sms_warning" msgid="9086859595338944882">"Гуравдагч талын SMS нь таны оператор компанийн төлбөр дээр нэмэгдэж болно. Хэрэв та энэ апп-д зөвшөөрлийг идэвхжүүлбэл энэ апп-р гуравдагч тал SMS илгээх боломжтой болно."</string>
     <string name="premium_sms_access" msgid="4660047004791638305">"Гуравдагч талын SMS хандалт"</string>
@@ -3219,8 +3208,7 @@
     <string name="support_disclaimer_do_not_show" msgid="3378367075323727539">"Дахин бүү үзүүл"</string>
     <string name="support_account_request_prefix" msgid="6387847874661861650">"Дараахаар хүсэлт гаргаж байна"</string>
     <string name="support_account_picker_add_account" msgid="5076277544846506214">"Бүртгэл нэмэх"</string>
-    <!-- no translation found for support_system_information_title (3439905790018934773) -->
-    <skip />
+    <string name="support_system_information_title" msgid="3439905790018934773">"Системийн мэдээлэл"</string>
     <string name="managed_profile_settings_title" msgid="2729481936758125054">"Ажлын профайлын тохиргоо"</string>
     <string name="managed_profile_contact_search_title" msgid="6034734926815544221">"Харилцагч хайх"</string>
     <string name="managed_profile_contact_search_summary" msgid="5431253552272970512">"Дуудлага хийгч болон харилцагчийг тогтоохын тулд танай байгууллагыг харилцагчийн хайлт хийхийг зөвшөөрдөг"</string>
@@ -3311,4 +3299,16 @@
     <string name="enterprise_privacy_bug_reports" msgid="4762460041705169944">"Таны сүүлийн үеийн алдааны тайлан"</string>
     <string name="enterprise_privacy_security_logs" msgid="3648730027522011684">"Таны сүүлийн үеийн аюулгүй байдлын бүртгэл"</string>
     <string name="enterprise_privacy_never" msgid="1304035596746436921">"Хэзээ ч үгүй"</string>
+    <string name="storage_photos_videos" msgid="1872663116054954685">"Зураг &amp; видео"</string>
+    <string name="storage_music_audio" msgid="7890103397813503615">"Хөгжим &amp; аудио"</string>
+    <string name="storage_games" msgid="7703159201697117621">"Тоглоом"</string>
+    <string name="storage_other_apps" msgid="5524321740031718083">"Бусад апп"</string>
+    <string name="storage_files" msgid="8581083146777364063">"Файл"</string>
+    <string name="storage_settings_2" msgid="6369810699930056554">"Зургийн сан"</string>
+    <!-- no translation found for storage_size_large_alternate (3436941214395940966) -->
+    <skip />
+    <!-- no translation found for storage_volume_free (8829609507318832879) -->
+    <skip />
+    <!-- no translation found for storage_percent_used (6741397129281819921) -->
+    <skip />
 </resources>
diff --git a/res/values-mr-rIN-nokeys/strings.xml b/res/values-mr-nokeys/strings.xml
similarity index 100%
rename from res/values-mr-rIN-nokeys/strings.xml
rename to res/values-mr-nokeys/strings.xml
diff --git a/res/values-mr-rIN/arrays.xml b/res/values-mr/arrays.xml
similarity index 98%
rename from res/values-mr-rIN/arrays.xml
rename to res/values-mr/arrays.xml
index 130e2eb..697409d 100644
--- a/res/values-mr-rIN/arrays.xml
+++ b/res/values-mr/arrays.xml
@@ -462,9 +462,9 @@
     <item msgid="6807727069641853029">"प्राप्तकर्ता"</item>
     <item msgid="6782857406100845127">"मुख्यपृष्ठ"</item>
     <item msgid="2860945127596974299">"अंतिम क्रियाकलाप"</item>
-    <item msgid="8610560843693675830">"कॅशे केलेला (क्रियाकलाप)"</item>
-    <item msgid="4338089220026248848">"कॅशे केलेला (क्रियाकलाप क्लायंट)"</item>
-    <item msgid="6652164677254579050">"कॅशे केलेला (रिक्त)"</item>
+    <item msgid="8610560843693675830">"कॅश   केलेला (क्रियाकलाप)"</item>
+    <item msgid="4338089220026248848">"कॅश   केलेला (क्रियाकलाप क्लायंट)"</item>
+    <item msgid="6652164677254579050">"कॅश   केलेला (रिक्त)"</item>
   </string-array>
   <string-array name="color_picker">
     <item msgid="7631642672260600032">"हिरवट निळा"</item>
diff --git a/res/values-mr-rIN/strings.xml b/res/values-mr/strings.xml
similarity index 99%
rename from res/values-mr-rIN/strings.xml
rename to res/values-mr/strings.xml
index 92a0a38..2c12002 100644
--- a/res/values-mr-rIN/strings.xml
+++ b/res/values-mr/strings.xml
@@ -658,7 +658,7 @@
     <string name="android_beam_off_summary" msgid="4663095428454779138">"बंद"</string>
     <string name="android_beam_disabled_summary" msgid="1737782116894793393">"NFC बंद असल्यामुळे अनुपलब्ध"</string>
     <string name="android_beam_label" msgid="6257036050366775040">"Android बीम"</string>
-    <string name="android_beam_explained" msgid="1828555626055290684">"जेव्हा हे वैशिष्ट्य चालू होते, तेव्हा आपण डिव्हाइसेस एकत्र जवळ धरून दुसर्‍या NFC-सक्षम डिव्हाइसवर अॅप सामग्री बीम करू शकता. उदाहरणार्थ, आपण ब्राउझर पृष्ठे, YouTube व्हिडिओ, लोकांचे संपर्क आणि अधिक बीम करू शकता.\n\nफक्त डिव्हाइसेस एकत्र आणा (विशेषतः पाठोपाठ) आणि नंतर आपल्या स्क्रीनवर टॅप करा. काय बीम केले जाते हे अॅप निर्धारित करतो."</string>
+    <string name="android_beam_explained" msgid="1810540319385192758">"जेव्हा हे वैशिष्ट्य चालू केलेले असते तेव्हा, आपण डिव्हाइस एकत्र जवळ धरून दुसर्‍या NFC-सक्षम डिव्हाइसवर अॅप सामग्री बीम करू शकता. उदाहरणार्थ, आपण वेब पृष्ठे, YouTube व्हिडिओ, संपर्क आणि बरेच काही बीम करू शकता.\n\nफक्त डिव्हाइस एकत्र आणा (विशेषतः पाठोपाठ) आणि नंतर आपली स्क्रीन टॅप करा. काय बीम केले जाते हे अॅप निर्धारित करतो."</string>
     <string name="wifi_quick_toggle_title" msgid="8850161330437693895">"वाय-फाय"</string>
     <string name="wifi_quick_toggle_summary" msgid="2696547080481267642">"वाय-फाय चालू करा"</string>
     <string name="wifi_settings" msgid="29722149822540994">"वाय-फाय"</string>
@@ -1075,8 +1075,8 @@
     <string name="sd_format" product="default" msgid="2576054280507119870">"SD कार्ड मिटवा"</string>
     <string name="sd_format_summary" product="nosdcard" msgid="6331905044907914603">"अंतर्गत USB संचयनावरील सर्व डेटा मिटवते, जसे की संगीत आणि फोटो"</string>
     <string name="sd_format_summary" product="default" msgid="212703692181793109">"SD कार्डवरील सर्व डेटा मिटवते, जसे की संगीत आणि फोटो"</string>
-    <string name="memory_clear_cache_title" msgid="5423840272171286191">"कॅशे केलेला डेटा साफ करायचा?"</string>
-    <string name="memory_clear_cache_message" msgid="4550262490807415948">"हे सर्व अॅप्ससाठी कॅशे केलेला डेटा साफ करेल."</string>
+    <string name="memory_clear_cache_title" msgid="5423840272171286191">"कॅश   केलेला डेटा साफ करायचा?"</string>
+    <string name="memory_clear_cache_message" msgid="4550262490807415948">"हे सर्व अॅप्ससाठी कॅश   केलेला डेटा साफ करेल."</string>
     <string name="mtp_ptp_mode_summary" msgid="3710436114807789270">"MTP किंवा TP कार्य सक्रिय आहे"</string>
     <string name="dlg_confirm_unmount_title" product="nosdcard" msgid="3077285629197874055">"USB संचयन अनमाउंट करायचे?"</string>
     <string name="dlg_confirm_unmount_title" product="default" msgid="3634502237262534381">"SD कार्ड अनमाउंट करायचे?"</string>
@@ -1434,9 +1434,9 @@
     <string name="auto_launch_label_generic" msgid="3230569852551968694">"डीफॉल्ट"</string>
     <string name="screen_compatibility_label" msgid="663250687205465394">"स्क्रीन सुसंगतता"</string>
     <string name="permissions_label" msgid="2605296874922726203">"परवानग्या"</string>
-    <string name="cache_header_label" msgid="1877197634162461830">"कॅशे"</string>
-    <string name="clear_cache_btn_text" msgid="5756314834291116325">"कॅशे साफ करा"</string>
-    <string name="cache_size_label" msgid="7505481393108282913">"कॅशे"</string>
+    <string name="cache_header_label" msgid="1877197634162461830">"कॅश"</string>
+    <string name="clear_cache_btn_text" msgid="5756314834291116325">"कॅश   साफ करा"</string>
+    <string name="cache_size_label" msgid="7505481393108282913">"कॅश"</string>
     <plurals name="uri_permissions_text" formatted="false" msgid="3983110543017963732">
       <item quantity="one">%d आयटम</item>
       <item quantity="other">%d आयटम</item>
@@ -1468,7 +1468,7 @@
     <string name="sort_order_alpha" msgid="1410278099123670628">"नावानुसार क्रमवारी लावा"</string>
     <string name="sort_order_size" msgid="7024513286636502362">"आकारानुसार क्रमवारी लावा"</string>
     <string name="show_running_services" msgid="5736278767975544570">"चालू सेवा दर्शवा"</string>
-    <string name="show_background_processes" msgid="2009840211972293429">"कॅशे केलेल्या प्रक्रिया दर्शवा"</string>
+    <string name="show_background_processes" msgid="2009840211972293429">"कॅश   केलेल्या प्रक्रिया दर्शवा"</string>
     <string name="default_emergency_app" msgid="1951760659640369980">"आणीबाणी अ‍ॅप"</string>
     <string name="reset_app_preferences" msgid="1321050641018356925">"अॅप प्राधान्ये रीसेट करा"</string>
     <string name="reset_app_preferences_title" msgid="6093179367325336662">"अॅप प्राधान्ये रीसेट करायचे?"</string>
@@ -1553,7 +1553,7 @@
     <string name="storageuse_settings_title" msgid="5657014373502630403">"संचयन वापर"</string>
     <string name="storageuse_settings_summary" msgid="3748286507165697834">"अॅप्सद्वारे वापरलेले संचयन पहा"</string>
     <string name="service_restarting" msgid="2242747937372354306">"रीस्टार्ट करत आहे"</string>
-    <string name="cached" msgid="1059590879740175019">"पार्श्वभूमी प्रक्रिया कॅशे केली"</string>
+    <string name="cached" msgid="1059590879740175019">"पार्श्वभूमी प्रक्रिया कॅश   केली"</string>
     <string name="no_running_services" msgid="2059536495597645347">"काहीही चालत नाही."</string>
     <string name="service_started_by_app" msgid="818675099014723551">"अॅप द्वारे प्रारंभ केला."</string>
     <!-- no translation found for service_client_name (4037193625611815517) -->
@@ -1575,7 +1575,7 @@
     <string name="running_processes_header_apps_prefix" msgid="5787594452716832727">"अॅप्स"</string>
     <string name="running_processes_header_free_prefix" msgid="4620613031737078415">"मोकळी"</string>
     <string name="running_processes_header_used_prefix" msgid="5924288703085123978">"वापरलेली"</string>
-    <string name="running_processes_header_cached_prefix" msgid="7950853188089434987">"कॅशे केलेले"</string>
+    <string name="running_processes_header_cached_prefix" msgid="7950853188089434987">"कॅश   केलेले"</string>
     <string name="running_processes_header_ram" msgid="996092388884426817">"RAM चे <xliff:g id="RAM_0">%1$s</xliff:g>"</string>
     <string name="runningservicedetails_settings_title" msgid="3224004818524731568">"चालू अॅप"</string>
     <string name="no_services" msgid="7133900764462288263">"सक्रिय नाहीत"</string>
@@ -1928,12 +1928,12 @@
     <string name="process_stats_total_duration_percentage" msgid="6522457033380025618">"<xliff:g id="TIMEDURATION">%2$s</xliff:g> पासून <xliff:g id="PERCENT">%1$s</xliff:g> रॅम वापरली"</string>
     <string name="process_stats_type_background" msgid="3934992858120683459">"पार्श्वभूमी"</string>
     <string name="process_stats_type_foreground" msgid="7713118254089580536">"पुरोभाग"</string>
-    <string name="process_stats_type_cached" msgid="6314925846944806511">"कॅशे केलेले"</string>
+    <string name="process_stats_type_cached" msgid="6314925846944806511">"कॅश   केलेले"</string>
     <string name="process_stats_os_label" msgid="4813434110442733392">"Android OS"</string>
     <string name="process_stats_os_native" msgid="5322428494231768472">"मूळ"</string>
     <string name="process_stats_os_kernel" msgid="1938523592369780924">"कर्नेल"</string>
     <string name="process_stats_os_zram" msgid="677138324651671575">"Z-Ram"</string>
-    <string name="process_stats_os_cache" msgid="6432533624875078233">"कॅशे"</string>
+    <string name="process_stats_os_cache" msgid="6432533624875078233">"कॅश"</string>
     <string name="process_stats_ram_use" msgid="976912589127397307">"RAM वापर"</string>
     <string name="process_stats_bg_ram_use" msgid="5398191511030462404">"RAM वापर (पार्श्वभूमी)"</string>
     <string name="process_stats_run_time" msgid="6520628955709369115">"चालण्याचा कालावधी"</string>
@@ -1945,7 +1945,7 @@
     <string name="mem_use_subtitle" msgid="7319468770222422412">"मेमरी वापर"</string>
     <string name="mem_use_kernel_type" msgid="8698327165935012484">"कर्नेल"</string>
     <string name="mem_use_native_type" msgid="5976704902328347400">"मूळ"</string>
-    <string name="mem_use_kernel_cache_type" msgid="6411475064463957513">"कर्नेल कॅशे"</string>
+    <string name="mem_use_kernel_cache_type" msgid="6411475064463957513">"कर्नेल कॅश"</string>
     <string name="mem_use_zram_type" msgid="9087217476795358232">"ZRam स्वॅप"</string>
     <string name="mem_use_free_type" msgid="717708548454880840">"मोकळी"</string>
     <string name="mem_use_total" msgid="6308786055749777934">"एकूण"</string>
@@ -2179,9 +2179,9 @@
     <string name="data_usage_menu_sim_cards" msgid="6410498422797244073">"सिम कार्ड"</string>
     <string name="data_usage_menu_cellular_networks" msgid="5243515735055652279">"सेल्युलर नेटवर्क"</string>
     <string name="data_usage_cellular_data_summary" msgid="8413357481361268285">"मर्यादेवर विराम दिला"</string>
-    <string name="account_settings_menu_auto_sync" msgid="6243013719753700377">"डेटा स्‍वयं-सिंक करा"</string>
-    <string name="account_settings_menu_auto_sync_personal" msgid="785541379617346438">"वैयक्तिक डेटा स्‍वयं-सिंक करा"</string>
-    <string name="account_settings_menu_auto_sync_work" msgid="329565580969147026">"कार्य डेटा स्‍वयं-सिंक करा"</string>
+    <string name="account_settings_menu_auto_sync" msgid="6243013719753700377">"डेटा स्‍वयं-संकालित करा"</string>
+    <string name="account_settings_menu_auto_sync_personal" msgid="785541379617346438">"वैयक्तिक डेटा स्‍वयं-संकालित करा"</string>
+    <string name="account_settings_menu_auto_sync_work" msgid="329565580969147026">"कार्य डेटा स्‍वयं-संकालित करा"</string>
     <string name="data_usage_change_cycle" msgid="7776556448920114866">"आवर्तन बदला…"</string>
     <string name="data_usage_pick_cycle_day" msgid="4470796861757050966">"डेटा वापर चक्र रीसेट करण्यासाठी महिन्याचा दिवस:"</string>
     <string name="data_usage_empty" msgid="8621855507876539282">"या कालावधी दरम्यान कोणत्याही अॅप्स नी डेटा वापरला नाही."</string>
@@ -2581,6 +2581,7 @@
     <string name="keywords_profile_challenge" msgid="789611397846512845">"कार्य आव्हान, कार्य, प्रोफाईल"</string>
     <string name="keywords_unification" msgid="1922900767659821025">"कार्य प्रोफाईल, व्यवस्थापित केलेले प्रोफाईल, एकीकरण, एकीकरण करणे, कार्य, प्रोफाईल"</string>
     <string name="keywords_gesture" msgid="5696040361482126337">"जेश्चर"</string>
+    <string name="keywords_payment_settings" msgid="5220104934130446416">"देय द्या, टॅप करा, पेमेंट"</string>
     <string name="setup_wifi_nfc_tag" msgid="9028353016222911016">"वाय-फाय NFC टॅग सेट अप"</string>
     <string name="write_tag" msgid="8571858602896222537">"लिहा"</string>
     <string name="status_awaiting_tap" msgid="2130145523773160617">"लिहिण्यासाठी एक टॅग टॅप करा..."</string>
@@ -2802,7 +2803,7 @@
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2232461523882170874">"हे कार्य प्रोफाईल याद्वारे व्यवस्थापित केले आहे:"</string>
     <string name="managing_admin" msgid="8843802210377459055">"<xliff:g id="ADMIN_APP_LABEL">%s</xliff:g> द्वारे व्यवस्थापित"</string>
     <string name="experimental_preference" msgid="7083015446690681376">"(प्रायोगिक)"</string>
-    <string name="display_auto_rotate_title" msgid="6176450657107806043">"डिव्हाइस फिरविलेले असताना"</string>
+    <string name="display_auto_rotate_title" msgid="7119684966039069439">"डिव्हाइस फिरविणे"</string>
     <string name="display_auto_rotate_rotate" msgid="4544299861233497728">"स्क्रीनची सामग्री फिरवा"</string>
     <string name="display_auto_rotate_stay_in_portrait" msgid="292745182318093651">"पोर्ट्रेट दृश्यामध्ये रहा"</string>
     <string name="display_auto_rotate_stay_in_landscape" msgid="3804752830204062162">"भूदृश्य दृश्‍यामध्ये रहा"</string>
@@ -3192,6 +3193,8 @@
     <string name="page_tab_title_support" msgid="6330657582897417458">"सहाय्य"</string>
     <string name="developer_density_summary" msgid="1998244213021456519">"<xliff:g id="ID_1">%d</xliff:g> dp"</string>
     <string name="developer_smallest_width" msgid="7516950434587313360">"सर्वात लहान रुंदी"</string>
+    <string name="developer_tile" msgid="4822711696408279658">"विकास मोड"</string>
+    <string name="developer_tile_unavailable" msgid="6559656549479711827">"कोणतीही सक्रिय स्थिती निवडली नाही"</string>
     <string name="premium_sms_none" msgid="8268105565738040566">"स्थापित केलेल्या कोणत्याही अॅप्सनी प्रीमियम SMS प्रवेशाची विनंती केली नाही"</string>
     <string name="premium_sms_warning" msgid="9086859595338944882">"प्रीमियम SMS मुळे आपल्याला कदाचित शुल्क द्यावे लागू शकेल आणि आपल्या कॅरियर बिलिंग मध्ये जोडले जाईल. आपण अॅपसाठी परवानगी सक्षम केल्यास, तो अॅप वापरून आपण प्रीमियम SMS पाठविण्यात सक्षम असाल."</string>
     <string name="premium_sms_access" msgid="4660047004791638305">"प्रीमियम SMS प्रवेश"</string>
@@ -3313,4 +3316,16 @@
     <string name="enterprise_privacy_bug_reports" msgid="4762460041705169944">"आपले अगदी अलीकडील दोष अहवाल"</string>
     <string name="enterprise_privacy_security_logs" msgid="3648730027522011684">"आपली अगदी अलीकडील सुरक्षितता लॉग"</string>
     <string name="enterprise_privacy_never" msgid="1304035596746436921">"कधीही नाही"</string>
+    <string name="storage_photos_videos" msgid="1872663116054954685">"फोटो आणि व्हिडिओ"</string>
+    <string name="storage_music_audio" msgid="7890103397813503615">"संगीत आणि ऑडिओ"</string>
+    <string name="storage_games" msgid="7703159201697117621">"गेम"</string>
+    <string name="storage_other_apps" msgid="5524321740031718083">"अन्य अॅप्स"</string>
+    <string name="storage_files" msgid="8581083146777364063">"फायली"</string>
+    <string name="storage_settings_2" msgid="6369810699930056554">"फोन संचय"</string>
+    <!-- no translation found for storage_size_large_alternate (3436941214395940966) -->
+    <skip />
+    <!-- no translation found for storage_volume_free (8829609507318832879) -->
+    <skip />
+    <!-- no translation found for storage_percent_used (6741397129281819921) -->
+    <skip />
 </resources>
diff --git a/res/values-ms-rMY-nokeys/strings.xml b/res/values-ms-rMY-nokeys/strings.xml
deleted file mode 100644
index 7da53ba..0000000
--- a/res/values-ms-rMY-nokeys/strings.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2007 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.
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="applications_settings_summary" msgid="6616938758022986257">"Urus aplikasi"</string>
-</resources>
diff --git a/res/values-ms-rMY/arrays.xml b/res/values-ms/arrays.xml
similarity index 100%
rename from res/values-ms-rMY/arrays.xml
rename to res/values-ms/arrays.xml
diff --git a/res/values-ms-rMY/strings.xml b/res/values-ms/strings.xml
similarity index 99%
rename from res/values-ms-rMY/strings.xml
rename to res/values-ms/strings.xml
index a612be1..eb9c5c8 100644
--- a/res/values-ms-rMY/strings.xml
+++ b/res/values-ms/strings.xml
@@ -658,7 +658,7 @@
     <string name="android_beam_off_summary" msgid="4663095428454779138">"Mati"</string>
     <string name="android_beam_disabled_summary" msgid="1737782116894793393">"Tidak tersedia kerana NFC dimatikan"</string>
     <string name="android_beam_label" msgid="6257036050366775040">"Android Beam"</string>
-    <string name="android_beam_explained" msgid="1828555626055290684">"Apabila ciri ini dihidupkan, anda boleh memancarkan kandungan apl ke peranti berdaya NFC yang lain dengan merapatkan kedua-dua peranti itu. Contohnya, anda boleh memancarkan halaman Penyemak Imbas, video YouTube, Aplikasi Orang dan banyak lagi.\n\nHanya rapatkan kedua-dua peranti (biasanya bahagian belakang peranti), kemudian ketik skrin anda. Apl akan menentukan perkara yang dipancarkan."</string>
+    <string name="android_beam_explained" msgid="1810540319385192758">"Apabila ciri ini dihidupkan, anda dapat memancarkan kandungan apl ke peranti berdaya NFC yang lain dengan merapatkan peranti tersebut. Contohnya, anda dapat memancarkan halaman web, video YouTube, kenalan dan pelbagai lagi.\n\nHanya rapatkan peranti tersebut (biasanya belakang dengan belakang) dan kemudian ketik skrin anda. Apl akan menentukan item yang dipancarkan."</string>
     <string name="wifi_quick_toggle_title" msgid="8850161330437693895">"Wi‑Fi"</string>
     <string name="wifi_quick_toggle_summary" msgid="2696547080481267642">"Hidupkan Wi-Fi"</string>
     <string name="wifi_settings" msgid="29722149822540994">"Wi‑Fi"</string>
@@ -2581,6 +2581,7 @@
     <string name="keywords_profile_challenge" msgid="789611397846512845">"cabaran kerja, kerja, profil"</string>
     <string name="keywords_unification" msgid="1922900767659821025">"profil kerja, profil terurus, menyatukan, penyatuan, kerja, profil"</string>
     <string name="keywords_gesture" msgid="5696040361482126337">"gerak isyarat"</string>
+    <string name="keywords_payment_settings" msgid="5220104934130446416">"bayar, ketik, bayaran"</string>
     <string name="setup_wifi_nfc_tag" msgid="9028353016222911016">"Sediakan Teg NFC Wi-Fi"</string>
     <string name="write_tag" msgid="8571858602896222537">"Tulis"</string>
     <string name="status_awaiting_tap" msgid="2130145523773160617">"Ketik teg untuk menulis..."</string>
@@ -2802,7 +2803,7 @@
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2232461523882170874">"Profil kerja ini diurus oleh:"</string>
     <string name="managing_admin" msgid="8843802210377459055">"Diurus oleh <xliff:g id="ADMIN_APP_LABEL">%s</xliff:g>"</string>
     <string name="experimental_preference" msgid="7083015446690681376">"(Percubaan)"</string>
-    <string name="display_auto_rotate_title" msgid="6176450657107806043">"Apabila peranti diputar"</string>
+    <string name="display_auto_rotate_title" msgid="7119684966039069439">"Putaran peranti"</string>
     <string name="display_auto_rotate_rotate" msgid="4544299861233497728">"Putar kandungan skrin"</string>
     <string name="display_auto_rotate_stay_in_portrait" msgid="292745182318093651">"Kekal dalam paparan potret"</string>
     <string name="display_auto_rotate_stay_in_landscape" msgid="3804752830204062162">"Kekal dalam paparan landskap"</string>
@@ -3192,6 +3193,8 @@
     <string name="page_tab_title_support" msgid="6330657582897417458">"Sokongan"</string>
     <string name="developer_density_summary" msgid="1998244213021456519">"<xliff:g id="ID_1">%d</xliff:g> dp"</string>
     <string name="developer_smallest_width" msgid="7516950434587313360">"Lebar terkecil"</string>
+    <string name="developer_tile" msgid="4822711696408279658">"Mod pembangunan"</string>
+    <string name="developer_tile_unavailable" msgid="6559656549479711827">"Tiada keadaan aktif yang dipilih"</string>
     <string name="premium_sms_none" msgid="8268105565738040566">"Tiada apl terpasang yang telah meminta akses SMS Premium"</string>
     <string name="premium_sms_warning" msgid="9086859595338944882">"SMS Premium bukan percuma dan cajnya akan ditambahkan pada bil pembawa anda. Jika anda mendayakan kebenaran untuk apl, anda akan dapat menghantar SMS premium menggunakan apl itu."</string>
     <string name="premium_sms_access" msgid="4660047004791638305">"Akses SMS Premium"</string>
@@ -3313,4 +3316,16 @@
     <string name="enterprise_privacy_bug_reports" msgid="4762460041705169944">"Laporan pepijat anda yang terbaharu"</string>
     <string name="enterprise_privacy_security_logs" msgid="3648730027522011684">"Log keselamatan anda yang terbaharu"</string>
     <string name="enterprise_privacy_never" msgid="1304035596746436921">"Tidak pernah"</string>
+    <string name="storage_photos_videos" msgid="1872663116054954685">"Foto &amp; Video"</string>
+    <string name="storage_music_audio" msgid="7890103397813503615">"Muzik &amp; Audio"</string>
+    <string name="storage_games" msgid="7703159201697117621">"Permainan"</string>
+    <string name="storage_other_apps" msgid="5524321740031718083">"Apl lain"</string>
+    <string name="storage_files" msgid="8581083146777364063">"Fail"</string>
+    <string name="storage_settings_2" msgid="6369810699930056554">"Storan Telefon"</string>
+    <!-- no translation found for storage_size_large_alternate (3436941214395940966) -->
+    <skip />
+    <!-- no translation found for storage_volume_free (8829609507318832879) -->
+    <skip />
+    <!-- no translation found for storage_percent_used (6741397129281819921) -->
+    <skip />
 </resources>
diff --git a/res/values-my-rMM-nokeys/strings.xml b/res/values-my-nokeys/strings.xml
similarity index 100%
rename from res/values-my-rMM-nokeys/strings.xml
rename to res/values-my-nokeys/strings.xml
diff --git a/res/values-my-rMM/arrays.xml b/res/values-my/arrays.xml
similarity index 100%
rename from res/values-my-rMM/arrays.xml
rename to res/values-my/arrays.xml
diff --git a/res/values-my-rMM/strings.xml b/res/values-my/strings.xml
similarity index 99%
rename from res/values-my-rMM/strings.xml
rename to res/values-my/strings.xml
index 6c29655..e467fcd 100644
--- a/res/values-my-rMM/strings.xml
+++ b/res/values-my/strings.xml
@@ -658,7 +658,7 @@
     <string name="android_beam_off_summary" msgid="4663095428454779138">"ပိတ်ထားသည်"</string>
     <string name="android_beam_disabled_summary" msgid="1737782116894793393">"NFCကိုပိတ်ထားသောကြောင့် မရရှိနိုင်ပါ"</string>
     <string name="android_beam_label" msgid="6257036050366775040">"Android လှိုင်း"</string>
-    <string name="android_beam_explained" msgid="1828555626055290684">"ဤဝန်ဆောင်မှုဖွင့်ထားလျှင်၊ စက်ပစ္စည်းများကို အတူတကွထားရှိခြင်းအားဖြင့် အခြား NFC အသုံးပြုနိုင်သည့်စက်ပစ္စည်းသို့ အက်ပ်ပါ အကြောင်းအရာများကို ပို့နိုင်ပါသည်။ ဥပမာ၊ ဘရောက်ဇာစာမျက်နှာများ၊ YouTube ဗီဒီယိုများ၊ လူအဆက်အသွယ်များနှင့် အခြားအရာများကို ပို့နိုင်ပါသည်။\n\nစက်ပစ္စည်းများကို (ယေဘုယျအားဖြင့် ကျောချင်းကပ်လျက်) အတူတကွထားရှိပြီး မျက်နှာပြင်ကို တို့ပါ။ မည်သည့်အရာကို ပို့မလဲဆိုသည်ကို အက်ပ်က ဆုံးဖြတ်ပေးပါလိမ့်မည်။"</string>
+    <string name="android_beam_explained" msgid="1810540319385192758">"ဤဝန်ဆောင်မှုကို ဖွင့်ထားသည့်အခါ အခြား NFC ဖွင့်ထားသည့် စက်ပစ္စည်းသို့ စက်ပစ္စည်းများအား နီးကပ်စွာထားခြင်းဖြင့် အက်ပ်များကို လှိုင်းလွှင့်နိုင်သည်။ ဥပမာ၊ ဝဘ်စာမျက်နှာများ၊ YouTUbe ဗီဒီယိုများ၊ အဆက်အသွယ်များနှင့် အခြားအရာများစွာကို လှိုင်းလွှင့်နိုင်သည်။\n\nစက်ပစ္စည်းများကို နီးကပ်စွာထားပြီး (ကျောခြင်းကပ်) မျက်နှာပြင်ကို တို့ပါ။ မည်သည့်အရာအား လှိုင်းလွှင့်မည်ကို အက်ပ်က ဆုံးဖြတ်ပေးပါမည်။"</string>
     <string name="wifi_quick_toggle_title" msgid="8850161330437693895">"Wi-Fi"</string>
     <string name="wifi_quick_toggle_summary" msgid="2696547080481267642">"ဝိုင်ဖိုင်ဖွင့်ရန်"</string>
     <string name="wifi_settings" msgid="29722149822540994">"Wi-Fi"</string>
@@ -2581,6 +2581,7 @@
     <string name="keywords_profile_challenge" msgid="789611397846512845">"အလုပ်၏ စိန်ခေါ်မှု၊ အလုပ်၊ ပရိုဖိုင်"</string>
     <string name="keywords_unification" msgid="1922900767659821025">"အလုပ်ပရိုဖိုင်၊ စီမံခန့်ခွဲထားသည့် ပရိုဖိုင်၊ စည်းလုံးစေခြင်း၊ စည်းလုံးအောင်ပြုလုပ်ခြင်း၊ အလုပ်၊ ပရိုဖိုင်"</string>
     <string name="keywords_gesture" msgid="5696040361482126337">"လှုပ်ရှားမှုဟန်"</string>
+    <string name="keywords_payment_settings" msgid="5220104934130446416">"ပေးချေမှု၊ တို့ခြင်း၊ ငွေပေးချေခြင်းများ"</string>
     <string name="setup_wifi_nfc_tag" msgid="9028353016222911016">"ကြိုးမဲ့ NFC တဲဂ်ကို စဖွင့်သတ်မှတ်ရန်"</string>
     <string name="write_tag" msgid="8571858602896222537">"ရေးရန်"</string>
     <string name="status_awaiting_tap" msgid="2130145523773160617">"ရေးရန် တဲဂ် တစ်ခုကို ပုပ်ပါ..."</string>
@@ -2802,7 +2803,7 @@
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2232461523882170874">"ဤအလုပ်ပရိုဖိုင်အား စီမံခန့်ခွဲသည်မှာ-"</string>
     <string name="managing_admin" msgid="8843802210377459055">"<xliff:g id="ADMIN_APP_LABEL">%s</xliff:g> မှ စီမံသည်။"</string>
     <string name="experimental_preference" msgid="7083015446690681376">"(စမ်းသပ်ရေး)"</string>
-    <string name="display_auto_rotate_title" msgid="6176450657107806043">"ကိရိယာကို လှည့်သည့် အခါမှာ"</string>
+    <string name="display_auto_rotate_title" msgid="7119684966039069439">"စက်ပစ္စည်းကို လှည့်ခြင်း"</string>
     <string name="display_auto_rotate_rotate" msgid="4544299861233497728">"မျက်နှာပြင် အကြောင်းအရာ လှည့်ပြရန်"</string>
     <string name="display_auto_rotate_stay_in_portrait" msgid="292745182318093651">"ထောင်လိုက် မြင်ကွင်း ထဲမှာ ရှိနေရန်"</string>
     <string name="display_auto_rotate_stay_in_landscape" msgid="3804752830204062162">"ဘေးတိုက် မြင်ကွင်း ထဲမှာ ရှိနေရန်"</string>
@@ -3192,6 +3193,8 @@
     <string name="page_tab_title_support" msgid="6330657582897417458">"ပံ့ပိုးမှု"</string>
     <string name="developer_density_summary" msgid="1998244213021456519">"<xliff:g id="ID_1">%d</xliff:g> dp"</string>
     <string name="developer_smallest_width" msgid="7516950434587313360">"အသေးဆုံး အကျယ်"</string>
+    <string name="developer_tile" msgid="4822711696408279658">"ပြင်ဆင်မွမ်းမံမှုမုဒ်"</string>
+    <string name="developer_tile_unavailable" msgid="6559656549479711827">"လက်ရှိလုပ်ဆောင်နေသော အခြေအနေကို ရွေးချယ်ထားခြင်း မရှိပါ"</string>
     <string name="premium_sms_none" msgid="8268105565738040566">"ထည့်သွင်းထားသည့် မည်သည့်အက်ပ်တစ်ခုမျှ ပရီမီယံ SMS အသုံးပြုခွင့်တောင်းဆိုမှု မရှိပါ။"</string>
     <string name="premium_sms_warning" msgid="9086859595338944882">"ပရီမီယံ SMS သည်ငွေကြေးကုန်ကျနိုင်ပြီး သင့်ဖုန်းဝန်​ဆောင်မှုပေးသူ၏ ငွေတောင်းခံလွှာသို့ ပေါင်း၍ ထည့်သွင်းပါမည်။ အက်ပ်တစ်ခုကို သင်ခွင့်ပြုလိုက်လျှင် ၎င်းအက်ပ်ကိုအသုံးပြုပြီး ပရီမီယံ SMS ပို့နိုင်မည်ဖြစ်သည်။"</string>
     <string name="premium_sms_access" msgid="4660047004791638305">"ပရီမီယံ SMS အသုံးပြုခွင့်"</string>
@@ -3313,4 +3316,16 @@
     <string name="enterprise_privacy_bug_reports" msgid="4762460041705169944">"သင့်မကြာသေးမီက ချွတ်ယွင်းမှုအစီရင်ခံချက်များ"</string>
     <string name="enterprise_privacy_security_logs" msgid="3648730027522011684">"သင့်လတ်တလော လုံခြုံရေးမှတ်တမ်း"</string>
     <string name="enterprise_privacy_never" msgid="1304035596746436921">"ဘယ်တော့မှ"</string>
+    <string name="storage_photos_videos" msgid="1872663116054954685">"ဓာတ်ပုံနှင့် ဗီဒီယိုများ"</string>
+    <string name="storage_music_audio" msgid="7890103397813503615">"တေးဂီတနှင့် အသံ"</string>
+    <string name="storage_games" msgid="7703159201697117621">"ဂိမ်းများ"</string>
+    <string name="storage_other_apps" msgid="5524321740031718083">"အခြားအက်ပ်များ"</string>
+    <string name="storage_files" msgid="8581083146777364063">"ဖိုင်များ"</string>
+    <string name="storage_settings_2" msgid="6369810699930056554">"ဖုန်းသိုလှောင်ခန်း"</string>
+    <!-- no translation found for storage_size_large_alternate (3436941214395940966) -->
+    <skip />
+    <!-- no translation found for storage_volume_free (8829609507318832879) -->
+    <skip />
+    <!-- no translation found for storage_percent_used (6741397129281819921) -->
+    <skip />
 </resources>
diff --git a/res/values-nb/strings.xml b/res/values-nb/strings.xml
index 5e9fd54..00b922c 100644
--- a/res/values-nb/strings.xml
+++ b/res/values-nb/strings.xml
@@ -658,7 +658,7 @@
     <string name="android_beam_off_summary" msgid="4663095428454779138">"Av"</string>
     <string name="android_beam_disabled_summary" msgid="1737782116894793393">"Utilgjengelig fordi nærfeltskommunikasjon (NFC) er slått av"</string>
     <string name="android_beam_label" msgid="6257036050366775040">"Android Beam"</string>
-    <string name="android_beam_explained" msgid="1828555626055290684">"Når denne funksjonen er slått på, kan du beame appinnhold til en annen enhet med NFC-støtte ved å holde enhetene inntil hverandre. Du kan for eksempel beame nettlesersider, YouTube-videoer, kontakter fra Personer-appen med mer.\n\nBare hold enhetene inntil hverandre (vanligvis bakside mot bakside), og trykk på skjermen. Appen avgjør hva som beames."</string>
+    <string name="android_beam_explained" msgid="1810540319385192758">"Når denne funksjonen er slått på, kan du beame appinnhold til en annen enhet som støtter nærfeltskommunikasjon (NFC). Du gjør dette ved å holde enhetene tett sammen. Du kan for eksempel beame nettsider, YouTube-videoer, kontakter med mer.\n\nDu holder bare enhetene mot hverandre (vanligvis rygg mot rygg), og trykker på skjermen. Appen avgjør hva som beames."</string>
     <string name="wifi_quick_toggle_title" msgid="8850161330437693895">"Wi-Fi"</string>
     <string name="wifi_quick_toggle_summary" msgid="2696547080481267642">"Slå på Wi-Fi"</string>
     <string name="wifi_settings" msgid="29722149822540994">"Wi-Fi"</string>
@@ -2581,6 +2581,7 @@
     <string name="keywords_profile_challenge" msgid="789611397846512845">"jobbutfordring, jobb, profil"</string>
     <string name="keywords_unification" msgid="1922900767659821025">"jobbprofil, administrert profil, forene, forening, jobb, profil"</string>
     <string name="keywords_gesture" msgid="5696040361482126337">"bevegelse"</string>
+    <string name="keywords_payment_settings" msgid="5220104934130446416">"betal, trykk på, betalinger"</string>
     <string name="setup_wifi_nfc_tag" msgid="9028353016222911016">"Konfigurer NFC-tag for Wi-Fi"</string>
     <string name="write_tag" msgid="8571858602896222537">"Skriv"</string>
     <string name="status_awaiting_tap" msgid="2130145523773160617">"Trykk på en brikke for å skrive"</string>
@@ -2802,7 +2803,7 @@
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2232461523882170874">"Denne arbeidsprofilen administreres av:"</string>
     <string name="managing_admin" msgid="8843802210377459055">"Administrert av <xliff:g id="ADMIN_APP_LABEL">%s</xliff:g>"</string>
     <string name="experimental_preference" msgid="7083015446690681376">"(Eksperimentell)"</string>
-    <string name="display_auto_rotate_title" msgid="6176450657107806043">"Når enheten roteres"</string>
+    <string name="display_auto_rotate_title" msgid="7119684966039069439">"Enhetsrotering"</string>
     <string name="display_auto_rotate_rotate" msgid="4544299861233497728">"Rotér innholdet på skjermen"</string>
     <string name="display_auto_rotate_stay_in_portrait" msgid="292745182318093651">"Behold stående visning"</string>
     <string name="display_auto_rotate_stay_in_landscape" msgid="3804752830204062162">"Behold liggende visning"</string>
@@ -3192,6 +3193,8 @@
     <string name="page_tab_title_support" msgid="6330657582897417458">"Brukerstøtte"</string>
     <string name="developer_density_summary" msgid="1998244213021456519">"<xliff:g id="ID_1">%d</xliff:g> dp"</string>
     <string name="developer_smallest_width" msgid="7516950434587313360">"Minst bredde"</string>
+    <string name="developer_tile" msgid="4822711696408279658">"Utviklingsmodus"</string>
+    <string name="developer_tile_unavailable" msgid="6559656549479711827">"Ingen aktiv tilstand er valgt"</string>
     <string name="premium_sms_none" msgid="8268105565738040566">"Ingen installerte apper har bedt om tilgang til premium-SMS."</string>
     <string name="premium_sms_warning" msgid="9086859595338944882">"Premium-SMS kan koste penger og legges til telefonregningen din. Hvis du slår på tillatelse for en app, kan du sende premium-SMS via den appen."</string>
     <string name="premium_sms_access" msgid="4660047004791638305">"Tilgang til premium-SMS"</string>
@@ -3313,4 +3316,16 @@
     <string name="enterprise_privacy_bug_reports" msgid="4762460041705169944">"Den nyeste feilrapporten din"</string>
     <string name="enterprise_privacy_security_logs" msgid="3648730027522011684">"Den nyeste sikkerhetsloggen din"</string>
     <string name="enterprise_privacy_never" msgid="1304035596746436921">"Aldri"</string>
+    <string name="storage_photos_videos" msgid="1872663116054954685">"Bilder og videoklipp"</string>
+    <string name="storage_music_audio" msgid="7890103397813503615">"Musikk og lyd"</string>
+    <string name="storage_games" msgid="7703159201697117621">"Spill"</string>
+    <string name="storage_other_apps" msgid="5524321740031718083">"Andre apper"</string>
+    <string name="storage_files" msgid="8581083146777364063">"Filer"</string>
+    <string name="storage_settings_2" msgid="6369810699930056554">"Telefonlagring"</string>
+    <!-- no translation found for storage_size_large_alternate (3436941214395940966) -->
+    <skip />
+    <!-- no translation found for storage_volume_free (8829609507318832879) -->
+    <skip />
+    <!-- no translation found for storage_percent_used (6741397129281819921) -->
+    <skip />
 </resources>
diff --git a/res/values-ne-rNP-nokeys/strings.xml b/res/values-ne-rNP-nokeys/strings.xml
deleted file mode 100644
index 324a918..0000000
--- a/res/values-ne-rNP-nokeys/strings.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2007 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.
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="applications_settings_summary" msgid="6616938758022986257">"अनुप्रयोगहरू प्रबन्ध गर्नुहोस्"</string>
-</resources>
diff --git a/res/values-ne-rNP/arrays.xml b/res/values-ne/arrays.xml
similarity index 100%
rename from res/values-ne-rNP/arrays.xml
rename to res/values-ne/arrays.xml
diff --git a/res/values-ne-rNP/strings.xml b/res/values-ne/strings.xml
similarity index 99%
rename from res/values-ne-rNP/strings.xml
rename to res/values-ne/strings.xml
index e084035..721eacc 100644
--- a/res/values-ne-rNP/strings.xml
+++ b/res/values-ne/strings.xml
@@ -658,7 +658,7 @@
     <string name="android_beam_off_summary" msgid="4663095428454779138">"बन्द"</string>
     <string name="android_beam_disabled_summary" msgid="1737782116894793393">"NFC बन्द भएका कारण अनुपलब्ध छ"</string>
     <string name="android_beam_label" msgid="6257036050366775040">"एन्ड्रोइड बिम"</string>
-    <string name="android_beam_explained" msgid="1828555626055290684">"जब यस सुविधालाई सक्रिय पारिन्छ, तपाईँले यन्त्रहरूलाई नजिक समातेर अर्को NFC सक्षम यन्त्रमा अनुप्रयोगको सामग्री बिम गर्न सक्नुहुन्छ। उदाहरणका लागि तपाईँले ब्राउजर पृष्ठहरू, YouTube भिडियो, सम्पर्क र अरू थुप्रै कुराहरू बिम गर्न सक्नुहुन्छ। \n \n यसको लागि केवल यन्त्रहरूलाई सँगै ल्याउनुहोस् (पछाडि पछाडि जोडेर) र त्यसपछि आफ्नो स्क्रिन ट्याप गर्नुहोस्। के बिम हुन्छ भन्ने कुरा अनुप्रयोगले निर्धारण गर्दछ।"</string>
+    <string name="android_beam_explained" msgid="1810540319385192758">"यो सुविधा सक्रिय पारिएको बेला तपाईं यन्त्रहरूलाई आपसमा नजिक राखेर अनुप्रयोगको सामग्री अर्को NFC सक्षम यन्त्रमा बिम गर्न सक्नुहुन्छ। उदाहरणका लागि तपाईं वेबपृष्ठ, YouTube का भिडियो, सम्पर्क र अरू थुप्रै कुराहरू बिम गर्न सक्नुहुन्छ।\n\nयसको लागि केवल यन्त्रहरूलाई (सामान्यता दुवै यन्त्रको पछाडिको भाग) आपसमा नजिक ल्याउनुहोस् र त्यसपछि आफ्नो यन्त्रको स्क्रिनमा ट्याप गर्नुहोस्। बिम हुने कुरा अनुप्रयोगले निर्धारण गर्दछ।"</string>
     <string name="wifi_quick_toggle_title" msgid="8850161330437693895">"Wi-Fi"</string>
     <string name="wifi_quick_toggle_summary" msgid="2696547080481267642">"Wi-Fi खोल्नुहोस्"</string>
     <string name="wifi_settings" msgid="29722149822540994">"Wi-Fi"</string>
@@ -2581,6 +2581,7 @@
     <string name="keywords_profile_challenge" msgid="789611397846512845">"कार्य चुनौती, कार्य, प्रोफाइल"</string>
     <string name="keywords_unification" msgid="1922900767659821025">"कार्यको प्रोफाइल, व्यवस्थापन गरिएको प्रोफाइल, एकरूपता ल्याउनु, एकरूपता, कार्य, प्रोफाइल"</string>
     <string name="keywords_gesture" msgid="5696040361482126337">"इसारा"</string>
+    <string name="keywords_payment_settings" msgid="5220104934130446416">"भुक्तानी गर्नुहोस्, ट्याप गर्नुहोस्, भुक्तानी"</string>
     <string name="setup_wifi_nfc_tag" msgid="9028353016222911016">"Wi-Fi NFC ट्याग सेट गर्नुहोस्"</string>
     <string name="write_tag" msgid="8571858602896222537">"लेख्नुहोस्"</string>
     <string name="status_awaiting_tap" msgid="2130145523773160617">"लेख्न ट्याग छुनुहोस्..."</string>
@@ -2802,7 +2803,7 @@
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2232461523882170874">"यो कार्य प्रोफाइल निम्नद्वारा व्यवस्थित गरिन्छ:"</string>
     <string name="managing_admin" msgid="8843802210377459055">"<xliff:g id="ADMIN_APP_LABEL">%s</xliff:g> द्वारा व्यवस्थापन गरिएको"</string>
     <string name="experimental_preference" msgid="7083015446690681376">"(प्रयोगात्मक)"</string>
-    <string name="display_auto_rotate_title" msgid="6176450657107806043">"जब उपकरण घुमाइन्छ"</string>
+    <string name="display_auto_rotate_title" msgid="7119684966039069439">"यन्त्र घुमाउने सुविधा"</string>
     <string name="display_auto_rotate_rotate" msgid="4544299861233497728">"पर्दाको सामग्रीहरु घुमाउनुहोस्"</string>
     <string name="display_auto_rotate_stay_in_portrait" msgid="292745182318093651">"चित्र दृष्टिकोणमा रहनुहोस्"</string>
     <string name="display_auto_rotate_stay_in_landscape" msgid="3804752830204062162">"परिदृश्य दृष्टिकोणमा रहनुहोस्"</string>
@@ -3194,6 +3195,8 @@
     <string name="page_tab_title_support" msgid="6330657582897417458">"समर्थन"</string>
     <string name="developer_density_summary" msgid="1998244213021456519">"<xliff:g id="ID_1">%d</xliff:g> dp"</string>
     <string name="developer_smallest_width" msgid="7516950434587313360">"सबैभन्दा सानो चौडाइ"</string>
+    <string name="developer_tile" msgid="4822711696408279658">"विकास सम्बन्धी मोड"</string>
+    <string name="developer_tile_unavailable" msgid="6559656549479711827">"कुनै सक्रिय अवस्था चयन गरिएको छैन"</string>
     <string name="premium_sms_none" msgid="8268105565738040566">"स्थापना गरिएका कुनै पनि अनुप्रयोगहरूले प्रिमियम SMS माथि पहुँचका लागि अनुरोध गरेका छैनन्"</string>
     <string name="premium_sms_warning" msgid="9086859595338944882">"प्रिमियम SMS सक्रिय गर्नाले तपाईँलाई पैसा लाग्न सक्छ र उक्त रकम तपाईँको वाहकलाई तिर्नु पर्ने बिलमा जोडिनेछ। यदि तपाईँ अनुप्रयोगको लागि अनुमति सक्रिय गर्नुहुन्छ भने तपाईँ त्यस अनुप्रयोगको प्रयोग गरेर प्रिमियम SMS पठाउन सक्नुहुनेछ।"</string>
     <string name="premium_sms_access" msgid="4660047004791638305">"प्रिमियम SMS माथि पहुँच"</string>
@@ -3315,4 +3318,16 @@
     <string name="enterprise_privacy_bug_reports" msgid="4762460041705169944">"तपाईंको सबैभन्दा पछिल्लो बग रिपोर्ट"</string>
     <string name="enterprise_privacy_security_logs" msgid="3648730027522011684">"तपाईंको सबैभन्दा पछिको सुरक्षा लग"</string>
     <string name="enterprise_privacy_never" msgid="1304035596746436921">"कहिल्यै पनि होइन"</string>
+    <string name="storage_photos_videos" msgid="1872663116054954685">"तस्बिर र भिडियोहरू"</string>
+    <string name="storage_music_audio" msgid="7890103397813503615">"संगीत र अडियो"</string>
+    <string name="storage_games" msgid="7703159201697117621">"खेलहरू"</string>
+    <string name="storage_other_apps" msgid="5524321740031718083">"अन्य अनुप्रयोगहरू"</string>
+    <string name="storage_files" msgid="8581083146777364063">"फाइलहरू"</string>
+    <string name="storage_settings_2" msgid="6369810699930056554">"फोनको भण्डारण"</string>
+    <!-- no translation found for storage_size_large_alternate (3436941214395940966) -->
+    <skip />
+    <!-- no translation found for storage_volume_free (8829609507318832879) -->
+    <skip />
+    <!-- no translation found for storage_percent_used (6741397129281819921) -->
+    <skip />
 </resources>
diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml
index 6a8a6cd..1c0bae5 100644
--- a/res/values-nl/strings.xml
+++ b/res/values-nl/strings.xml
@@ -658,7 +658,7 @@
     <string name="android_beam_off_summary" msgid="4663095428454779138">"Uit"</string>
     <string name="android_beam_disabled_summary" msgid="1737782116894793393">"Niet beschikbaar omdat NFC is uitgeschakeld"</string>
     <string name="android_beam_label" msgid="6257036050366775040">"Android Beam"</string>
-    <string name="android_beam_explained" msgid="1828555626055290684">"Wanneer deze functie is ingeschakeld, kun je app-content naar een ander apparaat met NFC-functionaliteit beamen door de apparaten dicht bij elkaar te houden. Je kunt bijvoorbeeld browserpagina\'s, YouTube-video\'s, contactgegevens in Personen en meer beamen.\n\nHoud de apparaten bij elkaar (meestal met de rug tegen elkaar) en tik op je scherm. De app bepaalt wat er wordt gebeamd."</string>
+    <string name="android_beam_explained" msgid="1810540319385192758">"Wanneer deze functie is ingeschakeld, kun je app-content naar een ander NFC-apparaat beamen door de apparaten bij elkaar te houden. Je kunt bijvoorbeeld webpagina\'s, YouTube-video\'s, contacten en meer beamen.\n\nHoud de apparaten bij elkaar (meestal met de achterkanten tegen elkaar aan) en tik op je scherm. De app bepaalt wat er wordt gebeamd."</string>
     <string name="wifi_quick_toggle_title" msgid="8850161330437693895">"Wifi"</string>
     <string name="wifi_quick_toggle_summary" msgid="2696547080481267642">"Wifi inschakelen"</string>
     <string name="wifi_settings" msgid="29722149822540994">"Wifi"</string>
@@ -2581,6 +2581,7 @@
     <string name="keywords_profile_challenge" msgid="789611397846512845">"werkuitdaging, werk, profiel"</string>
     <string name="keywords_unification" msgid="1922900767659821025">"werkprofiel, beheerd profiel, gelijkschakelen, unificatie, werk, profiel"</string>
     <string name="keywords_gesture" msgid="5696040361482126337">"gebaar"</string>
+    <string name="keywords_payment_settings" msgid="5220104934130446416">"betalen, tikken, betalingen"</string>
     <string name="setup_wifi_nfc_tag" msgid="9028353016222911016">"Wifi NFC-tag instellen"</string>
     <string name="write_tag" msgid="8571858602896222537">"Schrijven"</string>
     <string name="status_awaiting_tap" msgid="2130145523773160617">"Tik op een tag om te schrijven..."</string>
@@ -2802,7 +2803,7 @@
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2232461523882170874">"Dit werkprofiel wordt beheerd door:"</string>
     <string name="managing_admin" msgid="8843802210377459055">"Beheerd door <xliff:g id="ADMIN_APP_LABEL">%s</xliff:g>"</string>
     <string name="experimental_preference" msgid="7083015446690681376">"(Experimenteel)"</string>
-    <string name="display_auto_rotate_title" msgid="6176450657107806043">"Wanneer het apparaat wordt gedraaid"</string>
+    <string name="display_auto_rotate_title" msgid="7119684966039069439">"Apparaatrotatie"</string>
     <string name="display_auto_rotate_rotate" msgid="4544299861233497728">"De content van het scherm draaien"</string>
     <string name="display_auto_rotate_stay_in_portrait" msgid="292745182318093651">"In staande stand blijven"</string>
     <string name="display_auto_rotate_stay_in_landscape" msgid="3804752830204062162">"In liggende stand blijven"</string>
@@ -3192,6 +3193,8 @@
     <string name="page_tab_title_support" msgid="6330657582897417458">"Ondersteuning"</string>
     <string name="developer_density_summary" msgid="1998244213021456519">"<xliff:g id="ID_1">%d</xliff:g> dp"</string>
     <string name="developer_smallest_width" msgid="7516950434587313360">"Kleinste breedte"</string>
+    <string name="developer_tile" msgid="4822711696408279658">"Ontwikkelingsmodus"</string>
+    <string name="developer_tile_unavailable" msgid="6559656549479711827">"Geen actieve status geselecteerd"</string>
     <string name="premium_sms_none" msgid="8268105565738040566">"Er zijn geen geïnstalleerde apps die premium sms-toegang hebben aangevraagd"</string>
     <string name="premium_sms_warning" msgid="9086859595338944882">"Premium sms\'jes kunnen je geld kosten en worden toegevoegd aan de facturen van je provider. Als je rechten aan een app verleent, kun je premium sms\'jes verzenden met die app."</string>
     <string name="premium_sms_access" msgid="4660047004791638305">"Premium sms-toegang"</string>
@@ -3313,4 +3316,16 @@
     <string name="enterprise_privacy_bug_reports" msgid="4762460041705169944">"Je recentste bugrapport"</string>
     <string name="enterprise_privacy_security_logs" msgid="3648730027522011684">"Je recentste beveiligingslogboek"</string>
     <string name="enterprise_privacy_never" msgid="1304035596746436921">"Nooit"</string>
+    <string name="storage_photos_videos" msgid="1872663116054954685">"Foto\'s en video\'s"</string>
+    <string name="storage_music_audio" msgid="7890103397813503615">"Muziek en audio"</string>
+    <string name="storage_games" msgid="7703159201697117621">"Games"</string>
+    <string name="storage_other_apps" msgid="5524321740031718083">"Andere apps"</string>
+    <string name="storage_files" msgid="8581083146777364063">"Bestanden"</string>
+    <string name="storage_settings_2" msgid="6369810699930056554">"Telefoonopslag"</string>
+    <!-- no translation found for storage_size_large_alternate (3436941214395940966) -->
+    <skip />
+    <!-- no translation found for storage_volume_free (8829609507318832879) -->
+    <skip />
+    <!-- no translation found for storage_percent_used (6741397129281819921) -->
+    <skip />
 </resources>
diff --git a/res/values-pa-rIN-nokeys/strings.xml b/res/values-pa-nokeys/strings.xml
similarity index 100%
rename from res/values-pa-rIN-nokeys/strings.xml
rename to res/values-pa-nokeys/strings.xml
diff --git a/res/values-pa-rIN/arrays.xml b/res/values-pa/arrays.xml
similarity index 100%
rename from res/values-pa-rIN/arrays.xml
rename to res/values-pa/arrays.xml
diff --git a/res/values-pa-rIN/strings.xml b/res/values-pa/strings.xml
similarity index 99%
rename from res/values-pa-rIN/strings.xml
rename to res/values-pa/strings.xml
index 3fb70e6..f1bd527 100644
--- a/res/values-pa-rIN/strings.xml
+++ b/res/values-pa/strings.xml
@@ -658,7 +658,7 @@
     <string name="android_beam_off_summary" msgid="4663095428454779138">"ਬੰਦ"</string>
     <string name="android_beam_disabled_summary" msgid="1737782116894793393">"ਅਣਉਪਲਬਧ ਕਿਉਂਕਿ NFC ਬੰਦ ਹੈ"</string>
     <string name="android_beam_label" msgid="6257036050366775040">"Android ਬੀਮ"</string>
-    <string name="android_beam_explained" msgid="1828555626055290684">"ਜਦੋਂ ਇਹ ਵਿਸ਼ੇਸ਼ਤਾ ਚਾਲੂ ਹੋਵੇ, ਤਾਂ ਡੀਵਾਈਸਾਂ ਨੂੰ ਇੱਕ-ਦੂਜੇ ਦੇ ਨੇੜੇ ਰੱਖਣ ਦੁਆਰਾ ਤੁਸੀਂ ਐਪ ਸਮੱਗਰੀ ਨੂੰ ਕਿਸੇ ਹੋਰ NFC-ਸਮਰੱਥਾ ਵਾਲੀ ਡੀਵਾਈਸ \'ਤੇ ਬੀਮ ਕਰ ਸਕਦੇ ਹੋ। ਉਦਾਹਰਨ ਲਈ, ਤੁਸੀਂ ਬ੍ਰਾਊਜ਼ਰ ਪੰਨਿਆਂ, YouTube ਵੀਡੀਓ, ਲੋਕਾਂ ਦੇ ਸੰਪਰਕਾਂ, ਅਤੇ ਹੋਰ ਚੀਜ਼ਾਂ ਨੂੰ ਬੀਮ ਕਰ ਸਕਦੇ ਹੋ।\n\nਸਿਰਫ਼ ਡੀਵਾਈਸਾਂ ਨੂੰ ਇੱਕ-ਦੂਜੇ ਦੇ ਨੇੜੇ ਲਿਆਓ (ਖ਼ਾਸ ਤੌਰ \'ਤੇ ਵਾਰ-ਵਾਰ) ਅਤੇ ਫਿਰ ਆਪਣੀ ਸਕ੍ਰੀਨ ਨੂੰ ਟੈਪ ਕਰੋ। ਐਪ ਇਹ ਤੈੈਅ ਕਰਦੀ ਹੈ ਕਿ ਕਿਹੜੀ ਚੀਜ਼ ਬੀਮ ਕੀਤੀ ਜਾਂਦੀ ਹੈ।"</string>
+    <string name="android_beam_explained" msgid="1810540319385192758">"ਜਦੋਂ ਇਹ ਵਿਸ਼ੇਸ਼ਤਾ ਚਾਲੂ ਕੀਤੀ ਹੋਵੇ, ਤਾਂ ਡੀਵਾਈਸਾਂ ਨੂੰ ਇੱਕ-ਦੂਜੇ ਦੇ ਨੇੜੇ ਰੱਖਣ ਦੁਆਰਾ ਤੁਸੀਂ ਐਪ ਸਮੱਗਰੀ ਨੂੰ ਕਿਸੇ ਹੋਰ NFC-ਸਮਰੱਥਾ ਵਾਲੀ ਡੀਵਾਈਸ \'ਤੇ ਬੀਮ ਕਰ ਸਕਦੇ ਹੋ। ਉਦਾਹਰਨ ਲਈ, ਤੁਸੀਂ ਵੈੱਬ ਪੰਨਿਆਂ, YouTube ਵੀਡੀਓ, ਸੰਪਰਕਾਂ, ਅਤੇ ਹੋਰ ਚੀਜ਼ਾਂ ਨੂੰ ਬੀਮ ਕਰ ਸਕਦੇ ਹੋ।\n\nਸਿਰਫ਼ ਡੀਵਾਈਸਾਂ ਨੂੰ ਇੱਕ-ਦੂਜੇ ਦੇ ਨੇੜੇ ਲਿਆਓ (ਖ਼ਾਸ ਤੌਰ \'ਤੇ ਵਾਰ-ਵਾਰ) ਅਤੇ ਫਿਰ ਆਪਣੀ ਸਕ੍ਰੀਨ ਨੂੰ ਟੈਪ ਕਰੋ। ਐਪ ਇਹ ਤੈੈਅ ਕਰਦੀ ਹੈ ਕਿ ਕਿਹੜੀ ਚੀਜ਼ ਬੀਮ ਕੀਤੀ ਜਾਂਦੀ ਹੈ।"</string>
     <string name="wifi_quick_toggle_title" msgid="8850161330437693895">"Wi‑Fi"</string>
     <string name="wifi_quick_toggle_summary" msgid="2696547080481267642">"Wi‑Fi ਚਾਲੂ ਕਰੋ"</string>
     <string name="wifi_settings" msgid="29722149822540994">"Wi‑Fi"</string>
@@ -2581,6 +2581,7 @@
     <string name="keywords_profile_challenge" msgid="789611397846512845">"ਕੰਮ ਚੁਣੌਤੀ, ਕੰਮ, ਪ੍ਰੋਫਾਈਲ"</string>
     <string name="keywords_unification" msgid="1922900767659821025">"ਕੰਮ ਪ੍ਰੋਫਾਈਲ, ਪ੍ਰਬੰਧਿਤ ਕੀਤੀ ਗਈ ਪ੍ਰੋਫਾਈਲ, ਇਕਰੂਪ ਕਰਨਾ, ਏਕੀਕਰਨ, ਕੰਮ, ਪ੍ਰੋਫਾਈਲ"</string>
     <string name="keywords_gesture" msgid="5696040361482126337">"ਸੰਕੇਤ"</string>
+    <string name="keywords_payment_settings" msgid="5220104934130446416">"ਭੁਗਤਾਨ ਕਰੋ, ਟੈਪ ਕਰੋ, ਭੁਗਤਾਨ"</string>
     <string name="setup_wifi_nfc_tag" msgid="9028353016222911016">"Wi-Fi NFC ਟੈਗ ਸੈਟ ਅਪ ਕਰੋ"</string>
     <string name="write_tag" msgid="8571858602896222537">"ਲਿਖੋ"</string>
     <string name="status_awaiting_tap" msgid="2130145523773160617">"ਲਿਖਣ ਲਈ ਇੱਕ ਟੈਗ ਟੈਪ ਕਰੋ..."</string>
@@ -2802,7 +2803,7 @@
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2232461523882170874">"ਇਹ ਕੰਮ ਪ੍ਰੋਫਾਈਲ ਇਸ ਵੱਲੋਂ ਵਿਵਸਥਿਤ ਕੀਤੀ ਗਈ ਹੈ:"</string>
     <string name="managing_admin" msgid="8843802210377459055">"<xliff:g id="ADMIN_APP_LABEL">%s</xliff:g> ਦੁਆਰਾ ਪ੍ਰਬੰਧਿਤ"</string>
     <string name="experimental_preference" msgid="7083015446690681376">"(ਪ੍ਰਯੋਗਾਤਮਿਕ)"</string>
-    <string name="display_auto_rotate_title" msgid="6176450657107806043">"ਜਦੋਂ ਡੀਵਾਈਸ ਰੋਟੇਟ ਕੀਤੀ ਜਾਂਦੀ ਹੈ"</string>
+    <string name="display_auto_rotate_title" msgid="7119684966039069439">"ਡੀਵਾਈਸ ਘੁੰਮਾਅ"</string>
     <string name="display_auto_rotate_rotate" msgid="4544299861233497728">"ਸਕ੍ਰੀਨ ਦੀਆਂ ਸਮੱਗਰੀਆਂ ਰੋਟੇਟ ਕਰੋ"</string>
     <string name="display_auto_rotate_stay_in_portrait" msgid="292745182318093651">"ਪੋਰਟਰੇਟ ਦ੍ਰਿਸ਼ ਵਿੱਚ ਰਹੋ"</string>
     <string name="display_auto_rotate_stay_in_landscape" msgid="3804752830204062162">"ਲੈਂਡਸਕੇਪ ਦ੍ਰਿਸ਼ ਵਿੱਚ ਰਹੋ"</string>
@@ -3192,6 +3193,8 @@
     <string name="page_tab_title_support" msgid="6330657582897417458">"ਸਹਿਯੋਗ"</string>
     <string name="developer_density_summary" msgid="1998244213021456519">"<xliff:g id="ID_1">%d</xliff:g> dp"</string>
     <string name="developer_smallest_width" msgid="7516950434587313360">"ਸਭ ਤੋਂ ਘੱਟ ਚੁੜਾਈ"</string>
+    <string name="developer_tile" msgid="4822711696408279658">"ਵਿਕਾਸ ਮੋਡ"</string>
+    <string name="developer_tile_unavailable" msgid="6559656549479711827">"ਕੋਈ ਕਿਰਿਆਸ਼ੀਲ ਅਵਸਥਾ ਨਹੀਂ ਚੁਣੀ ਗਈ"</string>
     <string name="premium_sms_none" msgid="8268105565738040566">"ਕਿਸੇ ਵੀ ਸਥਾਪਤ ਐਪ ਨੇ ਪ੍ਰੀਮੀਅਮ SMS ਪਹੁੰਚ ਦੀ ਬੇਨਤੀ ਨਹੀਂ ਕੀਤੀ"</string>
     <string name="premium_sms_warning" msgid="9086859595338944882">"ਪ੍ਰੀਮੀਅਮ SMS ਦਾ ਤੁਹਾਡੇ ਤੋਂ ਖ਼ਰਚਾ ਲਿਆ ਜਾ ਸਕਦਾ ਹੈ ਅਤੇ ਤੁਹਾਡੇ ਕੈਰੀਅਰ ਬਿੱਲਾਂ ਵਿੱਚ ਵਾਧਾ ਹੋ ਜਾਵੇਗਾ। ਜੇਕਰ ਤੁਸੀਂ ਕਿਸੇ ਐਪ ਲਈ ਇਜਾਜ਼ਤ ਨੂੰ ਯੋਗ ਬਣਾਉਂਦੇ ਹੋ, ਤਾਂ ਤੁਸੀਂ ਉਸ ਐਪ ਦੀ ਵਰਤੋਂ ਨਾਲ ਪ੍ਰੀਮੀਅਮ SMS ਭੇਜਣ ਦੇ ਯੋਗ ਹੋ ਜਾਵੋਗੇ।"</string>
     <string name="premium_sms_access" msgid="4660047004791638305">"ਪ੍ਰੀਮੀਅਮ SMS ਪਹੁੰਚ"</string>
@@ -3313,4 +3316,16 @@
     <string name="enterprise_privacy_bug_reports" msgid="4762460041705169944">"ਤੁਹਾਡੀ ਸਭ ਤੋਂ ਹਾਲੀਆ ਬੱਗ ਰਿਪੋਰਟ"</string>
     <string name="enterprise_privacy_security_logs" msgid="3648730027522011684">"ਤੁਹਾਡਾ ਸਭ ਤੋਂ ਹਾਲੀਆ ਸੁਰੱਖਿਆ ਲੌਗ"</string>
     <string name="enterprise_privacy_never" msgid="1304035596746436921">"ਕਦੇ ਵੀ ਨਹੀਂ"</string>
+    <string name="storage_photos_videos" msgid="1872663116054954685">"ਫ਼ੋਟੋਆਂ ਅਤੇ ਵੀਡੀਓ ਫ਼ਾਈਲਾਂ"</string>
+    <string name="storage_music_audio" msgid="7890103397813503615">"ਸੰਗੀਤ ਅਤੇ ਔਡੀਓ ਫ਼ਾਈਲ"</string>
+    <string name="storage_games" msgid="7703159201697117621">"ਗੇਮਾਂ"</string>
+    <string name="storage_other_apps" msgid="5524321740031718083">"ਹੋਰ ਐਪਾਂ"</string>
+    <string name="storage_files" msgid="8581083146777364063">"ਫ਼ਾਈਲਾਂ"</string>
+    <string name="storage_settings_2" msgid="6369810699930056554">"ਫ਼ੋਨ ਸਟੋਰੇਜ"</string>
+    <!-- no translation found for storage_size_large_alternate (3436941214395940966) -->
+    <skip />
+    <!-- no translation found for storage_volume_free (8829609507318832879) -->
+    <skip />
+    <!-- no translation found for storage_percent_used (6741397129281819921) -->
+    <skip />
 </resources>
diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml
index 8ed1e40..f8c6c3a 100644
--- a/res/values-pl/strings.xml
+++ b/res/values-pl/strings.xml
@@ -217,7 +217,7 @@
     <string name="radio_info_toggle_dns_check_label" msgid="6625185764803245075">"Przełącz sprawdzanie DNS"</string>
     <string name="oem_radio_info_label" msgid="6163141792477958941">"Informacje/ustawienia specyficzne dla producenta OEM"</string>
     <string name="band_mode_title" msgid="4071411679019296568">"Ustawianie trybu pasma radiowego"</string>
-    <string name="band_mode_loading" msgid="3555063585133586152">"Ładowanie listy pasm…"</string>
+    <string name="band_mode_loading" msgid="3555063585133586152">"Ładuję listę pasm…"</string>
     <string name="band_mode_set" msgid="5730560180249458484">"Ustaw"</string>
     <string name="band_mode_failed" msgid="1495968863884716379">"Niepowodzenie"</string>
     <string name="band_mode_succeeded" msgid="2701016190055887575">"Udało się"</string>
@@ -676,7 +676,7 @@
     <string name="android_beam_off_summary" msgid="4663095428454779138">"Wyłączona"</string>
     <string name="android_beam_disabled_summary" msgid="1737782116894793393">"Niedostępne przy wyłączonym NFC"</string>
     <string name="android_beam_label" msgid="6257036050366775040">"Android Beam"</string>
-    <string name="android_beam_explained" msgid="1828555626055290684">"Po włączeniu tej funkcji możesz przesyłać dane między urządzeniami obsługującymi komunikację NFC, zbliżając je do siebie. Możesz na przykład przesyłać strony z przeglądarki, filmy z YouTube, kontakty z telefonu itp.\n\nWystarczy zetknąć urządzenia ze sobą (najlepiej tyłem) i dotknąć ekranu. Aplikacja automatycznie określi, jakie dane chcesz przesłać."</string>
+    <string name="android_beam_explained" msgid="1810540319385192758">"Po włączeniu tej funkcji możesz przesyłać dane między urządzeniami z funkcją NFC, zbliżając je do siebie. Możliwe jest na przykład przesłanie stron z internetowych, filmów z YouTube, kontaktów itp.\n\nWystarczy zetknąć urządzenia ze sobą i kliknąć ekran. Aplikacja automatycznie określi, jakie dane chcesz przesłać."</string>
     <string name="wifi_quick_toggle_title" msgid="8850161330437693895">"Wi‑Fi"</string>
     <string name="wifi_quick_toggle_summary" msgid="2696547080481267642">"Włącz Wi-Fi"</string>
     <string name="wifi_settings" msgid="29722149822540994">"Wi‑Fi"</string>
@@ -1366,7 +1366,7 @@
     <string name="settings_manual_activity_unavailable" msgid="4752403782883814898">"Podczas wczytywania instrukcji wystąpił problem."</string>
     <string name="settings_license_activity_title" msgid="8525014571806471216">"Licencje innych firm"</string>
     <string name="settings_license_activity_unavailable" msgid="4210539215951487627">"Wystąpił problem podczas ładowania licencji."</string>
-    <string name="settings_license_activity_loading" msgid="3337535809093591740">"Ładowanie..."</string>
+    <string name="settings_license_activity_loading" msgid="3337535809093591740">"Ładuję..."</string>
     <string name="settings_safetylegal_title" msgid="1289483965535937431">"Informacje o bezpieczeństwie"</string>
     <string name="settings_safetylegal_activity_title" msgid="6901214628496951727">"Informacje o bezpieczeństwie"</string>
     <string name="settings_safetylegal_activity_unreachable" msgid="250674109915859456">"Brak połączenia transmisji danych. Aby wyświetlić te informacje teraz, przejdź do strony %s na dowolnym komputerze połączonym z internetem."</string>
@@ -2625,6 +2625,7 @@
     <string name="keywords_profile_challenge" msgid="789611397846512845">"zadanie służbowe, praca, profil"</string>
     <string name="keywords_unification" msgid="1922900767659821025">"profil do pracy, profil zarządzany, ujednolicić, ujednolicenie, praca, profil"</string>
     <string name="keywords_gesture" msgid="5696040361482126337">"gest"</string>
+    <string name="keywords_payment_settings" msgid="5220104934130446416">"płacenie, klikanie, płatności"</string>
     <string name="setup_wifi_nfc_tag" msgid="9028353016222911016">"Skonfiguruj tag NFC Wi-Fi"</string>
     <string name="write_tag" msgid="8571858602896222537">"Zapisz"</string>
     <string name="status_awaiting_tap" msgid="2130145523773160617">"Kliknij tag, by zapisać..."</string>
@@ -2852,7 +2853,7 @@
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2232461523882170874">"Tym profilem do pracy zarządza:"</string>
     <string name="managing_admin" msgid="8843802210377459055">"Zarządzane przez: <xliff:g id="ADMIN_APP_LABEL">%s</xliff:g>"</string>
     <string name="experimental_preference" msgid="7083015446690681376">"(Funkcja eksperymentalna)"</string>
-    <string name="display_auto_rotate_title" msgid="6176450657107806043">"Podczas obrotu urządzenia"</string>
+    <string name="display_auto_rotate_title" msgid="7119684966039069439">"Obracanie urządzenia"</string>
     <string name="display_auto_rotate_rotate" msgid="4544299861233497728">"Obróć zawartość ekranu"</string>
     <string name="display_auto_rotate_stay_in_portrait" msgid="292745182318093651">"Pozostaw orientację pionową"</string>
     <string name="display_auto_rotate_stay_in_landscape" msgid="3804752830204062162">"Pozostaw orientację poziomą"</string>
@@ -3256,6 +3257,8 @@
     <string name="page_tab_title_support" msgid="6330657582897417458">"Pomoc"</string>
     <string name="developer_density_summary" msgid="1998244213021456519">"<xliff:g id="ID_1">%d</xliff:g> dp"</string>
     <string name="developer_smallest_width" msgid="7516950434587313360">"Najmniejsza szerokość"</string>
+    <string name="developer_tile" msgid="4822711696408279658">"Tryb programisty"</string>
+    <string name="developer_tile_unavailable" msgid="6559656549479711827">"Nie wybrano aktywnego stanu"</string>
     <string name="premium_sms_none" msgid="8268105565738040566">"Żadna z zainstalowanych aplikacji nie prosiła o dostęp do SMS-ów specjalnych"</string>
     <string name="premium_sms_warning" msgid="9086859595338944882">"Za SMS-y specjalne może być pobierana dodatkowa, wyższa opłata, która pojawi się na Twoim rachunku telefonicznym. Po włączeniu tego uprawnienia możliwe będzie wysyłanie SMS-ów specjalnych z wybranej aplikacji."</string>
     <string name="premium_sms_access" msgid="4660047004791638305">"Dostęp do SMS-ów specjalnych"</string>
@@ -3385,4 +3388,16 @@
     <string name="enterprise_privacy_bug_reports" msgid="4762460041705169944">"Najnowszy raport o błędzie"</string>
     <string name="enterprise_privacy_security_logs" msgid="3648730027522011684">"Twój najnowszy dziennik zabezpieczeń"</string>
     <string name="enterprise_privacy_never" msgid="1304035596746436921">"Nigdy"</string>
+    <string name="storage_photos_videos" msgid="1872663116054954685">"Zdjęcia i filmy"</string>
+    <string name="storage_music_audio" msgid="7890103397813503615">"Muzyka i nagrania audio"</string>
+    <string name="storage_games" msgid="7703159201697117621">"Gry"</string>
+    <string name="storage_other_apps" msgid="5524321740031718083">"Inne aplikacje"</string>
+    <string name="storage_files" msgid="8581083146777364063">"Pliki"</string>
+    <string name="storage_settings_2" msgid="6369810699930056554">"Pamięć telefonu"</string>
+    <!-- no translation found for storage_size_large_alternate (3436941214395940966) -->
+    <skip />
+    <!-- no translation found for storage_volume_free (8829609507318832879) -->
+    <skip />
+    <!-- no translation found for storage_percent_used (6741397129281819921) -->
+    <skip />
 </resources>
diff --git a/res/values-pt-rBR/strings.xml b/res/values-pt-rBR/strings.xml
index 5da9e76..c1529ba 100644
--- a/res/values-pt-rBR/strings.xml
+++ b/res/values-pt-rBR/strings.xml
@@ -658,7 +658,7 @@
     <string name="android_beam_off_summary" msgid="4663095428454779138">"Desativado"</string>
     <string name="android_beam_disabled_summary" msgid="1737782116894793393">"Indisponível porque o NFC está desativado"</string>
     <string name="android_beam_label" msgid="6257036050366775040">"Android Beam"</string>
-    <string name="android_beam_explained" msgid="1828555626055290684">"Quando este recurso está ativado, é possível enviar conteúdos de app para outro dispositivo com NFC, mantendo os dispositivos próximos. Por exemplo, é possível enviar páginas do Navegador, vídeos do YouTube, contatos de pessoas e muito mais.\n\nBasta manter os dispositivos juntos (geralmente um de costas para o outro) e depois toque na tela. O app determina o que é enviado."</string>
+    <string name="android_beam_explained" msgid="1810540319385192758">"Quando esse recurso está ativado, é possível enviar o conteúdo do app para outro dispositivo compatível com NFC, mantendo os dispositivos próximos, Por exemplo, é possível enviar páginas da Web, vídeos do YouTube, contatos e muito mais.\n\nBasta posicionar os dispositivos próximos (normalmente de costas um para o outro) e tocar na tela. O app determina o que é enviado."</string>
     <string name="wifi_quick_toggle_title" msgid="8850161330437693895">"Wi-Fi"</string>
     <string name="wifi_quick_toggle_summary" msgid="2696547080481267642">"Ativar o Wi-Fi"</string>
     <string name="wifi_settings" msgid="29722149822540994">"Wi-Fi"</string>
@@ -2581,6 +2581,7 @@
     <string name="keywords_profile_challenge" msgid="789611397846512845">"desafio de trabalho, trabalho, perfil"</string>
     <string name="keywords_unification" msgid="1922900767659821025">"perfil de trabalho, perfil gerenciado, unificar, unificação, trabalho, perfil"</string>
     <string name="keywords_gesture" msgid="5696040361482126337">"gesto"</string>
+    <string name="keywords_payment_settings" msgid="5220104934130446416">"pagar, tocar, pagamentos"</string>
     <string name="setup_wifi_nfc_tag" msgid="9028353016222911016">"Configurar etiqueta NFC Wi-Fi"</string>
     <string name="write_tag" msgid="8571858602896222537">"Gravar"</string>
     <string name="status_awaiting_tap" msgid="2130145523773160617">"Toque em uma marca para gravar…"</string>
@@ -2802,7 +2803,7 @@
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2232461523882170874">"O perfil de trabalho é gerenciado por:"</string>
     <string name="managing_admin" msgid="8843802210377459055">"Gerenciado por <xliff:g id="ADMIN_APP_LABEL">%s</xliff:g>"</string>
     <string name="experimental_preference" msgid="7083015446690681376">"(Experimental)"</string>
-    <string name="display_auto_rotate_title" msgid="6176450657107806043">"Quando o dispositivo for girado"</string>
+    <string name="display_auto_rotate_title" msgid="7119684966039069439">"Rotação do dispositivo"</string>
     <string name="display_auto_rotate_rotate" msgid="4544299861233497728">"Girar o conteúdo da tela"</string>
     <string name="display_auto_rotate_stay_in_portrait" msgid="292745182318093651">"Manter o modo retrato"</string>
     <string name="display_auto_rotate_stay_in_landscape" msgid="3804752830204062162">"Manter o modo paisagem"</string>
@@ -3192,6 +3193,8 @@
     <string name="page_tab_title_support" msgid="6330657582897417458">"Suporte"</string>
     <string name="developer_density_summary" msgid="1998244213021456519">"<xliff:g id="ID_1">%d</xliff:g> dp"</string>
     <string name="developer_smallest_width" msgid="7516950434587313360">"Menor largura"</string>
+    <string name="developer_tile" msgid="4822711696408279658">"Modo de desenvolvimento"</string>
+    <string name="developer_tile_unavailable" msgid="6559656549479711827">"Nenhum estado ativo selecionado"</string>
     <string name="premium_sms_none" msgid="8268105565738040566">"Nenhum app instalado solicitou acesso a SMS premium"</string>
     <string name="premium_sms_warning" msgid="9086859595338944882">"O SMS premium pode gerar custos e será adicionado ao faturamento da sua operadora. Se você conceder permissão para um app, será possível enviar SMS premium usando esse app."</string>
     <string name="premium_sms_access" msgid="4660047004791638305">"Acesso a SMS premium"</string>
@@ -3313,4 +3316,16 @@
     <string name="enterprise_privacy_bug_reports" msgid="4762460041705169944">"Seu relatório do bug mais recente"</string>
     <string name="enterprise_privacy_security_logs" msgid="3648730027522011684">"Seu registro de segurança mais recente"</string>
     <string name="enterprise_privacy_never" msgid="1304035596746436921">"Nunca"</string>
+    <string name="storage_photos_videos" msgid="1872663116054954685">"Fotos e vídeos"</string>
+    <string name="storage_music_audio" msgid="7890103397813503615">"Música e áudio"</string>
+    <string name="storage_games" msgid="7703159201697117621">"Jogos"</string>
+    <string name="storage_other_apps" msgid="5524321740031718083">"Outros apps"</string>
+    <string name="storage_files" msgid="8581083146777364063">"Arquivos"</string>
+    <string name="storage_settings_2" msgid="6369810699930056554">"Armazen. do smartphone"</string>
+    <!-- no translation found for storage_size_large_alternate (3436941214395940966) -->
+    <skip />
+    <!-- no translation found for storage_volume_free (8829609507318832879) -->
+    <skip />
+    <!-- no translation found for storage_percent_used (6741397129281819921) -->
+    <skip />
 </resources>
diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml
index 9a0b37c..933fe28 100644
--- a/res/values-pt-rPT/strings.xml
+++ b/res/values-pt-rPT/strings.xml
@@ -658,7 +658,7 @@
     <string name="android_beam_off_summary" msgid="4663095428454779138">"Desativado"</string>
     <string name="android_beam_disabled_summary" msgid="1737782116894793393">"Não disponível, porque o NFC está desativado"</string>
     <string name="android_beam_label" msgid="6257036050366775040">"Android Beam"</string>
-    <string name="android_beam_explained" msgid="1828555626055290684">"Quando esta funcionalidade está ativada, pode transmitir o conteúdo da aplicação para outro dispositivo compatível com NFC ao manter os dispositivos próximos um do outro. Por exemplo, pode transmitir páginas do Navegador, vídeos do YouTube, contactos de Pessoas e muito mais.\n\nBasta juntar os dispositivos (normalmente, ao aproximar as respetivas partes posteriores) e, em seguida, tocar no ecrã. A aplicação determina o que é transmitido."</string>
+    <string name="android_beam_explained" msgid="1810540319385192758">"Quando esta funcionalidade está ativada, pode transmitir conteúdo da aplicação para outro dispositivo compatível com NFC ao manter os dispositivos próximos um do outro. Por exemplo, pode transmitir páginas Web, vídeos do YouTube, contactos e muito mais.\n\nBasta aproximar os dispositivos um do outro (normalmente, de costas) e, em seguida, toque no ecrã. A aplicação determina o que é transmitido."</string>
     <string name="wifi_quick_toggle_title" msgid="8850161330437693895">"Wi‑Fi"</string>
     <string name="wifi_quick_toggle_summary" msgid="2696547080481267642">"Ativar Wi-Fi"</string>
     <string name="wifi_settings" msgid="29722149822540994">"Wi‑Fi"</string>
@@ -2581,6 +2581,7 @@
     <string name="keywords_profile_challenge" msgid="789611397846512845">"desafio de trabalho, trabalho, perfil"</string>
     <string name="keywords_unification" msgid="1922900767659821025">"perfil de trabalho, perfil gerido, unificar, unificação, trabalho, perfil"</string>
     <string name="keywords_gesture" msgid="5696040361482126337">"gesto"</string>
+    <string name="keywords_payment_settings" msgid="5220104934130446416">"pagar, tocar, pagamentos"</string>
     <string name="setup_wifi_nfc_tag" msgid="9028353016222911016">"Config. etiqueta NFC p/ Wi-Fi"</string>
     <string name="write_tag" msgid="8571858602896222537">"Escrever"</string>
     <string name="status_awaiting_tap" msgid="2130145523773160617">"Toque numa etiqueta para escrever..."</string>
@@ -2802,7 +2803,7 @@
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2232461523882170874">"Este perfil de trabalho é gerido por:"</string>
     <string name="managing_admin" msgid="8843802210377459055">"Gerido por <xliff:g id="ADMIN_APP_LABEL">%s</xliff:g>"</string>
     <string name="experimental_preference" msgid="7083015446690681376">"(Experimental)"</string>
-    <string name="display_auto_rotate_title" msgid="6176450657107806043">"Quando o dispositivo é rodado"</string>
+    <string name="display_auto_rotate_title" msgid="7119684966039069439">"Rotação do dispositivo"</string>
     <string name="display_auto_rotate_rotate" msgid="4544299861233497728">"Rodar o conteúdo do ecrã"</string>
     <string name="display_auto_rotate_stay_in_portrait" msgid="292745182318093651">"Manter na vista de retrato"</string>
     <string name="display_auto_rotate_stay_in_landscape" msgid="3804752830204062162">"Manter na vista de paisagem"</string>
@@ -3192,6 +3193,8 @@
     <string name="page_tab_title_support" msgid="6330657582897417458">"Apoio técnico"</string>
     <string name="developer_density_summary" msgid="1998244213021456519">"<xliff:g id="ID_1">%d</xliff:g> dp"</string>
     <string name="developer_smallest_width" msgid="7516950434587313360">"A menor largura"</string>
+    <string name="developer_tile" msgid="4822711696408279658">"Modo de programação"</string>
+    <string name="developer_tile_unavailable" msgid="6559656549479711827">"Nenhum estado ativo selecionado"</string>
     <string name="premium_sms_none" msgid="8268105565738040566">"Nenhuma aplicação instalada solicitou acesso a SMS premium"</string>
     <string name="premium_sms_warning" msgid="9086859595338944882">"O serviço de SMS premium pode custar dinheiro e, nesse caso, será adicionado às faturas do seu operador. Se ativar a autorização para uma aplicação, poderá enviar SMS premium através da mesma."</string>
     <string name="premium_sms_access" msgid="4660047004791638305">"Acesso a SMS premium"</string>
@@ -3313,4 +3316,16 @@
     <string name="enterprise_privacy_bug_reports" msgid="4762460041705169944">"O seu relatório de erro mais recente"</string>
     <string name="enterprise_privacy_security_logs" msgid="3648730027522011684">"O seu registo de segurança mais recente"</string>
     <string name="enterprise_privacy_never" msgid="1304035596746436921">"Nunca"</string>
+    <string name="storage_photos_videos" msgid="1872663116054954685">"Fotos e vídeos"</string>
+    <string name="storage_music_audio" msgid="7890103397813503615">"Música e áudio"</string>
+    <string name="storage_games" msgid="7703159201697117621">"Jogos"</string>
+    <string name="storage_other_apps" msgid="5524321740031718083">"Outras aplicações"</string>
+    <string name="storage_files" msgid="8581083146777364063">"Ficheiros"</string>
+    <string name="storage_settings_2" msgid="6369810699930056554">"Armazenam. do telemóvel"</string>
+    <!-- no translation found for storage_size_large_alternate (3436941214395940966) -->
+    <skip />
+    <!-- no translation found for storage_volume_free (8829609507318832879) -->
+    <skip />
+    <!-- no translation found for storage_percent_used (6741397129281819921) -->
+    <skip />
 </resources>
diff --git a/res/values-pt/strings.xml b/res/values-pt/strings.xml
index 5da9e76..c1529ba 100644
--- a/res/values-pt/strings.xml
+++ b/res/values-pt/strings.xml
@@ -658,7 +658,7 @@
     <string name="android_beam_off_summary" msgid="4663095428454779138">"Desativado"</string>
     <string name="android_beam_disabled_summary" msgid="1737782116894793393">"Indisponível porque o NFC está desativado"</string>
     <string name="android_beam_label" msgid="6257036050366775040">"Android Beam"</string>
-    <string name="android_beam_explained" msgid="1828555626055290684">"Quando este recurso está ativado, é possível enviar conteúdos de app para outro dispositivo com NFC, mantendo os dispositivos próximos. Por exemplo, é possível enviar páginas do Navegador, vídeos do YouTube, contatos de pessoas e muito mais.\n\nBasta manter os dispositivos juntos (geralmente um de costas para o outro) e depois toque na tela. O app determina o que é enviado."</string>
+    <string name="android_beam_explained" msgid="1810540319385192758">"Quando esse recurso está ativado, é possível enviar o conteúdo do app para outro dispositivo compatível com NFC, mantendo os dispositivos próximos, Por exemplo, é possível enviar páginas da Web, vídeos do YouTube, contatos e muito mais.\n\nBasta posicionar os dispositivos próximos (normalmente de costas um para o outro) e tocar na tela. O app determina o que é enviado."</string>
     <string name="wifi_quick_toggle_title" msgid="8850161330437693895">"Wi-Fi"</string>
     <string name="wifi_quick_toggle_summary" msgid="2696547080481267642">"Ativar o Wi-Fi"</string>
     <string name="wifi_settings" msgid="29722149822540994">"Wi-Fi"</string>
@@ -2581,6 +2581,7 @@
     <string name="keywords_profile_challenge" msgid="789611397846512845">"desafio de trabalho, trabalho, perfil"</string>
     <string name="keywords_unification" msgid="1922900767659821025">"perfil de trabalho, perfil gerenciado, unificar, unificação, trabalho, perfil"</string>
     <string name="keywords_gesture" msgid="5696040361482126337">"gesto"</string>
+    <string name="keywords_payment_settings" msgid="5220104934130446416">"pagar, tocar, pagamentos"</string>
     <string name="setup_wifi_nfc_tag" msgid="9028353016222911016">"Configurar etiqueta NFC Wi-Fi"</string>
     <string name="write_tag" msgid="8571858602896222537">"Gravar"</string>
     <string name="status_awaiting_tap" msgid="2130145523773160617">"Toque em uma marca para gravar…"</string>
@@ -2802,7 +2803,7 @@
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2232461523882170874">"O perfil de trabalho é gerenciado por:"</string>
     <string name="managing_admin" msgid="8843802210377459055">"Gerenciado por <xliff:g id="ADMIN_APP_LABEL">%s</xliff:g>"</string>
     <string name="experimental_preference" msgid="7083015446690681376">"(Experimental)"</string>
-    <string name="display_auto_rotate_title" msgid="6176450657107806043">"Quando o dispositivo for girado"</string>
+    <string name="display_auto_rotate_title" msgid="7119684966039069439">"Rotação do dispositivo"</string>
     <string name="display_auto_rotate_rotate" msgid="4544299861233497728">"Girar o conteúdo da tela"</string>
     <string name="display_auto_rotate_stay_in_portrait" msgid="292745182318093651">"Manter o modo retrato"</string>
     <string name="display_auto_rotate_stay_in_landscape" msgid="3804752830204062162">"Manter o modo paisagem"</string>
@@ -3192,6 +3193,8 @@
     <string name="page_tab_title_support" msgid="6330657582897417458">"Suporte"</string>
     <string name="developer_density_summary" msgid="1998244213021456519">"<xliff:g id="ID_1">%d</xliff:g> dp"</string>
     <string name="developer_smallest_width" msgid="7516950434587313360">"Menor largura"</string>
+    <string name="developer_tile" msgid="4822711696408279658">"Modo de desenvolvimento"</string>
+    <string name="developer_tile_unavailable" msgid="6559656549479711827">"Nenhum estado ativo selecionado"</string>
     <string name="premium_sms_none" msgid="8268105565738040566">"Nenhum app instalado solicitou acesso a SMS premium"</string>
     <string name="premium_sms_warning" msgid="9086859595338944882">"O SMS premium pode gerar custos e será adicionado ao faturamento da sua operadora. Se você conceder permissão para um app, será possível enviar SMS premium usando esse app."</string>
     <string name="premium_sms_access" msgid="4660047004791638305">"Acesso a SMS premium"</string>
@@ -3313,4 +3316,16 @@
     <string name="enterprise_privacy_bug_reports" msgid="4762460041705169944">"Seu relatório do bug mais recente"</string>
     <string name="enterprise_privacy_security_logs" msgid="3648730027522011684">"Seu registro de segurança mais recente"</string>
     <string name="enterprise_privacy_never" msgid="1304035596746436921">"Nunca"</string>
+    <string name="storage_photos_videos" msgid="1872663116054954685">"Fotos e vídeos"</string>
+    <string name="storage_music_audio" msgid="7890103397813503615">"Música e áudio"</string>
+    <string name="storage_games" msgid="7703159201697117621">"Jogos"</string>
+    <string name="storage_other_apps" msgid="5524321740031718083">"Outros apps"</string>
+    <string name="storage_files" msgid="8581083146777364063">"Arquivos"</string>
+    <string name="storage_settings_2" msgid="6369810699930056554">"Armazen. do smartphone"</string>
+    <!-- no translation found for storage_size_large_alternate (3436941214395940966) -->
+    <skip />
+    <!-- no translation found for storage_volume_free (8829609507318832879) -->
+    <skip />
+    <!-- no translation found for storage_percent_used (6741397129281819921) -->
+    <skip />
 </resources>
diff --git a/res/values-ro/strings.xml b/res/values-ro/strings.xml
index ed59e8f..0c572c5 100644
--- a/res/values-ro/strings.xml
+++ b/res/values-ro/strings.xml
@@ -667,7 +667,7 @@
     <string name="android_beam_off_summary" msgid="4663095428454779138">"Dezactivată"</string>
     <string name="android_beam_disabled_summary" msgid="1737782116894793393">"Indisponibilă, deoarece NFC este oprit"</string>
     <string name="android_beam_label" msgid="6257036050366775040">"Android Beam"</string>
-    <string name="android_beam_explained" msgid="1828555626055290684">"Când funcția este activată, puteți să transmiteți conținutul aplicațiilor către un alt dispozitiv compatibil NFC, ținând cele două dispozitive apropiate unul de celălalt. De exemplu, puteți să transmiteți pagini din browser, videoclipuri YouTube, persoane de contact din aplicația Persoane și multe altele.\n\nNu trebuie decât să apropiați cele două dispozitive (de obicei, așezându-le spate în spate) și să atingeți ecranul. Aplicația determină apoi ce poate fi transmis."</string>
+    <string name="android_beam_explained" msgid="1810540319385192758">"După activarea acestei funcții, puteți transmite conținutul aplicațiilor către un alt dispozitiv compatibil NFC, ținând cele două dispozitive apropiate unul de celălalt. De exemplu, puteți să transmiteți pagini web, videoclipuri YouTube, persoane de contact și multe altele.\n\nNu trebuie decât să apropiați cele două dispozitive (de obicei, așezându-le spate în spate) și să atingeți ecranul. Aplicația determină apoi ce poate fi transmis."</string>
     <string name="wifi_quick_toggle_title" msgid="8850161330437693895">"Wi-Fi"</string>
     <string name="wifi_quick_toggle_summary" msgid="2696547080481267642">"Activați conexiunea Wi-Fi"</string>
     <string name="wifi_settings" msgid="29722149822540994">"Wi-Fi"</string>
@@ -2603,6 +2603,7 @@
     <string name="keywords_profile_challenge" msgid="789611397846512845">"provocare la serviciu, serviciu, profil"</string>
     <string name="keywords_unification" msgid="1922900767659821025">"profil de serviciu, profil gestionat, unificați, unificare, serviciu, profil"</string>
     <string name="keywords_gesture" msgid="5696040361482126337">"gest"</string>
+    <string name="keywords_payment_settings" msgid="5220104934130446416">"plată, atingere, plăți"</string>
     <string name="setup_wifi_nfc_tag" msgid="9028353016222911016">"Configurarea etichetei NFC pentru Wi-Fi"</string>
     <string name="write_tag" msgid="8571858602896222537">"Scrieți"</string>
     <string name="status_awaiting_tap" msgid="2130145523773160617">"Atingeți o etichetă pentru a scrie..."</string>
@@ -2827,7 +2828,7 @@
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2232461523882170874">"Acest profil de serviciu este gestionat de:"</string>
     <string name="managing_admin" msgid="8843802210377459055">"Gestionat de <xliff:g id="ADMIN_APP_LABEL">%s</xliff:g>"</string>
     <string name="experimental_preference" msgid="7083015446690681376">"(Experimental)"</string>
-    <string name="display_auto_rotate_title" msgid="6176450657107806043">"Când dispozitivul este rotit"</string>
+    <string name="display_auto_rotate_title" msgid="7119684966039069439">"Rotirea dispozitivului"</string>
     <string name="display_auto_rotate_rotate" msgid="4544299861233497728">"Rotiți conținutul ecranului"</string>
     <string name="display_auto_rotate_stay_in_portrait" msgid="292745182318093651">"Mențineți vizualizarea portret"</string>
     <string name="display_auto_rotate_stay_in_landscape" msgid="3804752830204062162">"Mențineți vizualizarea peisaj"</string>
@@ -3224,6 +3225,8 @@
     <string name="page_tab_title_support" msgid="6330657582897417458">"Asistență"</string>
     <string name="developer_density_summary" msgid="1998244213021456519">"<xliff:g id="ID_1">%d</xliff:g> dp"</string>
     <string name="developer_smallest_width" msgid="7516950434587313360">"Cea mai mică lățime"</string>
+    <string name="developer_tile" msgid="4822711696408279658">"Mod de dezvoltare"</string>
+    <string name="developer_tile_unavailable" msgid="6559656549479711827">"Nu este selectată nicio stare activă"</string>
     <string name="premium_sms_none" msgid="8268105565738040566">"Nicio aplicație instalată nu a solicitat accesul la SMS-urile premium"</string>
     <string name="premium_sms_warning" msgid="9086859595338944882">"SMS-urile premium pot genera costuri care se vor adăuga la factura operatorului. Dacă activați permisiunea pentru o aplicație, veți putea trimite SMS-uri premium folosind acea aplicație."</string>
     <string name="premium_sms_access" msgid="4660047004791638305">"Acces la SMS-uri premium"</string>
@@ -3349,4 +3352,16 @@
     <string name="enterprise_privacy_bug_reports" msgid="4762460041705169944">"Cel mai recent raport de eroare"</string>
     <string name="enterprise_privacy_security_logs" msgid="3648730027522011684">"Cel mai recent jurnal de securitate"</string>
     <string name="enterprise_privacy_never" msgid="1304035596746436921">"Niciodată"</string>
+    <string name="storage_photos_videos" msgid="1872663116054954685">"Fotografii și videoclipuri"</string>
+    <string name="storage_music_audio" msgid="7890103397813503615">"Muzică și audio"</string>
+    <string name="storage_games" msgid="7703159201697117621">"Jocuri"</string>
+    <string name="storage_other_apps" msgid="5524321740031718083">"Alte aplicații"</string>
+    <string name="storage_files" msgid="8581083146777364063">"Fișiere"</string>
+    <string name="storage_settings_2" msgid="6369810699930056554">"Stocare pe telefon"</string>
+    <!-- no translation found for storage_size_large_alternate (3436941214395940966) -->
+    <skip />
+    <!-- no translation found for storage_volume_free (8829609507318832879) -->
+    <skip />
+    <!-- no translation found for storage_percent_used (6741397129281819921) -->
+    <skip />
 </resources>
diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml
index db3d03e..0075a59 100644
--- a/res/values-ru/strings.xml
+++ b/res/values-ru/strings.xml
@@ -676,7 +676,7 @@
     <string name="android_beam_off_summary" msgid="4663095428454779138">"Выключено"</string>
     <string name="android_beam_disabled_summary" msgid="1737782116894793393">"Недоступно, так как отключена связь малого радиуса действия"</string>
     <string name="android_beam_label" msgid="6257036050366775040">"Android Beam"</string>
-    <string name="android_beam_explained" msgid="1828555626055290684">"Функция позволяет обмениваться информацией между устройствами, приложив их друг к другу. Передавать можно практически любые данные, включая контакты, веб-страницы и видео.\n\nПросто разместите устройства рядом (например, совместите их задние панели) и нажмите на экран. Передаваемые данные зависят от приложения."</string>
+    <string name="android_beam_explained" msgid="1810540319385192758">"Функция позволяет передавать различную информацию (включая контакты, веб-страницы и видео) между устройствами, приложив их друг к другу.\n\nПросто расположите устройства рядом (например, совместите их задние панели) и нажмите на экран. Передаваемые данные зависят от приложения."</string>
     <string name="wifi_quick_toggle_title" msgid="8850161330437693895">"Wi-Fi"</string>
     <string name="wifi_quick_toggle_summary" msgid="2696547080481267642">"Включить Wi‑Fi"</string>
     <string name="wifi_settings" msgid="29722149822540994">"Wi-Fi"</string>
@@ -2625,6 +2625,7 @@
     <string name="keywords_profile_challenge" msgid="789611397846512845">"защита рабочего профиля, рабочий, профиль"</string>
     <string name="keywords_unification" msgid="1922900767659821025">"рабочий профиль, управляемый профиль, объединить, объединение, работа, профиль"</string>
     <string name="keywords_gesture" msgid="5696040361482126337">"жест"</string>
+    <string name="keywords_payment_settings" msgid="5220104934130446416">"Бесконтактная оплата"</string>
     <string name="setup_wifi_nfc_tag" msgid="9028353016222911016">"Настройка NFC-метки"</string>
     <string name="write_tag" msgid="8571858602896222537">"Записать"</string>
     <string name="status_awaiting_tap" msgid="2130145523773160617">"Нажмите на метку, чтобы начать запись..."</string>
@@ -2852,7 +2853,7 @@
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2232461523882170874">"Профилем управляет"</string>
     <string name="managing_admin" msgid="8843802210377459055">"Управляется <xliff:g id="ADMIN_APP_LABEL">%s</xliff:g>"</string>
     <string name="experimental_preference" msgid="7083015446690681376">"(экспериментальная настройка)"</string>
-    <string name="display_auto_rotate_title" msgid="6176450657107806043">"При повороте устройства"</string>
+    <string name="display_auto_rotate_title" msgid="7119684966039069439">"Поворот устройства"</string>
     <string name="display_auto_rotate_rotate" msgid="4544299861233497728">"Поворачивать изображение"</string>
     <string name="display_auto_rotate_stay_in_portrait" msgid="292745182318093651">"Сохранять вертикальную ориентацию"</string>
     <string name="display_auto_rotate_stay_in_landscape" msgid="3804752830204062162">"Зафиксировать в горизонтальной ориентации"</string>
@@ -3256,6 +3257,8 @@
     <string name="page_tab_title_support" msgid="6330657582897417458">"Поддержка"</string>
     <string name="developer_density_summary" msgid="1998244213021456519">"<xliff:g id="ID_1">%d</xliff:g> dp"</string>
     <string name="developer_smallest_width" msgid="7516950434587313360">"Минимальная ширина"</string>
+    <string name="developer_tile" msgid="4822711696408279658">"Режим разработчика"</string>
+    <string name="developer_tile_unavailable" msgid="6559656549479711827">"Активный статус не выбран"</string>
     <string name="premium_sms_none" msgid="8268105565738040566">"Нет приложений с доступом к платным SMS"</string>
     <string name="premium_sms_warning" msgid="9086859595338944882">"Обратите внимание, что такие SMS могут оплачиваться дополнительно. Предоставив разрешение приложению, вы сможете отправлять платные SMS с его помощью."</string>
     <string name="premium_sms_access" msgid="4660047004791638305">"Доступ к платным SMS"</string>
@@ -3385,4 +3388,16 @@
     <string name="enterprise_privacy_bug_reports" msgid="4762460041705169944">"Последний отчет об ошибках"</string>
     <string name="enterprise_privacy_security_logs" msgid="3648730027522011684">"Последний журнал безопасности"</string>
     <string name="enterprise_privacy_never" msgid="1304035596746436921">"Никогда"</string>
+    <string name="storage_photos_videos" msgid="1872663116054954685">"Фото и видео"</string>
+    <string name="storage_music_audio" msgid="7890103397813503615">"Музыка"</string>
+    <string name="storage_games" msgid="7703159201697117621">"Игры"</string>
+    <string name="storage_other_apps" msgid="5524321740031718083">"Другие приложения"</string>
+    <string name="storage_files" msgid="8581083146777364063">"Файлы"</string>
+    <string name="storage_settings_2" msgid="6369810699930056554">"Хранилище телефона"</string>
+    <!-- no translation found for storage_size_large_alternate (3436941214395940966) -->
+    <skip />
+    <!-- no translation found for storage_volume_free (8829609507318832879) -->
+    <skip />
+    <!-- no translation found for storage_percent_used (6741397129281819921) -->
+    <skip />
 </resources>
diff --git a/res/values-si-rLK-nokeys/strings.xml b/res/values-si-rLK-nokeys/strings.xml
deleted file mode 100644
index 9c5a82c..0000000
--- a/res/values-si-rLK-nokeys/strings.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2007 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.
- -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="applications_settings_summary" msgid="6616938758022986257">"යෙදුම් කළමනාකරණය කරන්න"</string>
-</resources>
diff --git a/res/values-si-rLK/arrays.xml b/res/values-si/arrays.xml
similarity index 100%
rename from res/values-si-rLK/arrays.xml
rename to res/values-si/arrays.xml
diff --git a/res/values-si-rLK/strings.xml b/res/values-si/strings.xml
similarity index 98%
rename from res/values-si-rLK/strings.xml
rename to res/values-si/strings.xml
index c6138f7..e5da4eb 100644
--- a/res/values-si-rLK/strings.xml
+++ b/res/values-si/strings.xml
@@ -86,8 +86,7 @@
     <string name="font_size_preview_text_headline" msgid="7955317408475392247">"ආදර්ශ පෙළ"</string>
     <string name="font_size_preview_text_title" msgid="1310536233106975546">"The Wonderful Wizard of Oz"</string>
     <string name="font_size_preview_text_subtitle" msgid="4231671528173110093">"11වන පරිච්ඡේදය: The Wonderful Emerald City of Oz"</string>
-    <!-- no translation found for font_size_preview_text_body (2846183528684496723) -->
-    <skip />
+    <string name="font_size_preview_text_body" msgid="2846183528684496723">"ඩොරති සහ ඇගේ මිතුරන්ගේ දෙනෙත් හරිත වර්ණ කණ්ණාඩිවලින් ආරක්ෂා කර තිබියදී පවා නගරයේ චමත්කාරයෙන් මුල් වරට නිලංකාර විය. හරිත වර්ණ කිරිගරුඬවලින් සාදා සැම තැනම දිදුලන මරකත මැණික් එබ්බවූ අලංකාර නිවාස වීථියේ එක පෙළට විය. ඔවුන් එම කිරිගරුඬවලින්ම සාදන ලද පදික වේදිකාවේ ඇවිද ගිය අතර එහි එක් එක් කොටස සමීපව සකසන ලද මරකත මැණික් පේළිවලින් එක් කොට තිබූ අතර, ඒවා සූර්යයාගේ දීප්තියෙන් දිදුලමින් තිබිණි. කවුළු පියන්පත් හරිත වර්ණයෙන් යුතු විය; නගරයෙහි ඉහළ අහස පවා හරිත වර්ණයෙන් අඳුරුව තිබූ අතර, සූර්යයාගේ කිරණ හරිත වර්ණයෙන් යුතු විය. \n\nපිරිමින්, ගැහැණුන් සහ ළමයින් බොහෝ දෙනෙකු, ඇවිදිමින් සිටි අතර, ඔවුන් සියලු දෙනා හරිත වර්ණ ඇඳුම් ඇඳි හරිත වර්ණ සමක් ඇති අය වූහ. ඔවුන් ඩොරති සහ ඇයගේ අමුතු ආකාරයක් ඇති සගයන් දෙස විස්මිත දෙනෙතින් බැලූ අතර, ළමයින් සියලු දෙනා සිංහයා දුටු විට ඉවතට දුවගොස් ඔවුන්ගේ මව්වරුන්ට මුවා වූහ; නමුත් කිසිවෙක් ඔවුන් සමග කථා නොකළේය. වීථියේ බොහෝ කඩසාප්පු තිබූ අතර, ඒවායෙහි ඇති සියලු දේ හරිත වර්ණයෙන් යුතු බව ඩොරති දුටුවාය. හරිත වර්ණ සපත්තු, හරිත වර්ණ තොප්පි සහ සියලු ආකාරයේ හරිත වර්ණ ඇඳුම් මෙන්ම, හරිත වර්ණ රසකැවිලි සහ හරිත වර්ණ පොරි විකිණීමට තබා තිබිණි. එක් ස්ථානයක මිනිසෙක් හරිත වර්ණ ලෙමනේඩ් විකුණමින් සිටි අතර , ඒවා මිලට ගත් ළමයින් ඒවාට හරිත වර්ණ් පැන්සවලින් ගෙවනු ඩොරතිට දැකිය හැකි විය. \n\nඅශ්වයන් හෝ කිසිදු වර්ගයක සතුන් සිටි බවක් නොපෙනිණි; මිනිසුන් තල්ලු කරගෙන යන කරත්ත තුළ දමා බඩු ගෙන ගියේය. සියලු දෙනා ප්‍රීතිමත්ව, තෘප්තිමත්ව සහ සමෘද්ධිමත්ව සිටින බවක් දක්නට ලැබිණි."</string>
     <string name="font_size_save" msgid="3450855718056759095">"හරි"</string>
     <string name="sdcard_setting" product="nosdcard" msgid="8281011784066476192">"USB ආචයනය"</string>
     <string name="sdcard_setting" product="default" msgid="5922637503871474866">"SD කාඩ් පත"</string>
@@ -658,7 +657,7 @@
     <string name="android_beam_off_summary" msgid="4663095428454779138">"අක්‍රියයි"</string>
     <string name="android_beam_disabled_summary" msgid="1737782116894793393">"NFC වසා දමා ඇති නිසා ලබාගත නොහැක"</string>
     <string name="android_beam_label" msgid="6257036050366775040">"Android බීම්"</string>
-    <string name="android_beam_explained" msgid="1828555626055290684">"මෙම විශේෂාංගය ක්‍රියාත්මක කර ඇති විට, ඔබට වෙනත් NFC හැකියාව ඇති උපාංගයකට උපාංග එක ළඟ තබා ගැනීමෙන් යෙදුම් අන්තර්ගතය බීම් කළ හැකිය. උදාහරණ ලෙස, ඔබට බ්‍රවුසර පිටු , YouTube වීඩියෝ, පුද්ගල සම්බන්ධතා, සහ තවත් දේ බීම් කළ හැකිය.\n\nඋපාංග එක ළඟට ගෙනවිත් (සාමාන්‍යයෙන් පසුපසට පසුපස) අනතුරුව ඔබගේ තිරය තට්ටු කරන්න. යෙදුම කුමක් බීම් කරයිද යන්න තීරණය කරයි."</string>
+    <string name="android_beam_explained" msgid="1810540319385192758">"මෙම විශේෂාංගය ක්‍රියාත්මක කර ඇති විට, ඔබට වෙනත් NFC හැකියාව ඇති උපාංගයකට උපාංග එක ළඟ තබා ගැනීමෙන් යෙදුම් අන්තර්ගතය බීම් කළ හැකිය. උදාහරණ ලෙස, ඔබට වෙබ් පිටු , YouTube වීඩියෝ, සම්බන්ධතා, සහ තවත් දේ බීම් කළ හැකිය.\n\nඋපාංග එක ළඟට ගෙනවිත් (සාමාන්‍යයෙන් පසුපසට පසුපස) අනතුරුව ඔබගේ තිරය තට්ටු කරන්න. යෙදුම කුමක් බීම් කරන්නේද යන්න තීරණය කරයි."</string>
     <string name="wifi_quick_toggle_title" msgid="8850161330437693895">"Wi-Fi"</string>
     <string name="wifi_quick_toggle_summary" msgid="2696547080481267642">"Wi-Fi සක්‍රිය කරන්න"</string>
     <string name="wifi_settings" msgid="29722149822540994">"Wi-Fi"</string>
@@ -1536,11 +1535,9 @@
     <string name="app_install_location_summary" msgid="5155453752692959098">"නව යෙදුම් සඳහා කැමති ස්ථාපන ස්ථානය වෙනස් කරන්න"</string>
     <string name="app_disable_dlg_title" msgid="3916469657537695436">"තිළැලි යෙදුම අබල කරන්නද?"</string>
     <string name="app_disable_dlg_positive" msgid="7375627244201714263">"යෙදුම අබල කරන්න"</string>
-    <!-- no translation found for app_disable_dlg_text (5632072173181990531) -->
-    <skip />
+    <string name="app_disable_dlg_text" msgid="5632072173181990531">"ඔබ මෙම යෙදුම අබල කළහොත්, Android සහ වෙනත් යෙදුම් බලාපොරොත්තු වන පරිදි ක්‍රියා නොකරනු ඇත."</string>
     <string name="app_special_disable_dlg_title" msgid="2690148680327142674">"දත්ත මකා යෙදුම අබල කරන්නද?"</string>
-    <!-- no translation found for app_special_disable_dlg_text (5832078825810635913) -->
-    <skip />
+    <string name="app_special_disable_dlg_text" msgid="5832078825810635913">"ඔබ මෙම යෙදුම අබල කළහොත්, සමහර යෙදුම් බලාපොරොත්තු වන පරිදි ක්‍රියා නොකරනු ඇත. තවද ඔබගේ දත්ත මැකෙනු ඇත."</string>
     <string name="app_disable_notifications_dlg_title" msgid="7669264654851761857">"දැනුම්දීම් අක්‍රිය කරන්නද?"</string>
     <string name="app_disable_notifications_dlg_text" msgid="5088484670924769845">"ඔබ මෙම යෙදුම සඳහා දැනුම්දීම් වසා දැමුවහොත්, ඔබට වැදගත් ඇඟවීම් සහ යාවත්කාල කිරීම් මහහැරී යනු ඇත."</string>
     <string name="app_install_details_group_title" msgid="7084623031296083574">"Store"</string>
@@ -2527,8 +2524,7 @@
       <item quantity="one">සඟවන ලද අයිතම %dක් පෙන්වන්න</item>
       <item quantity="other">සඟවන ලද අයිතම %dක් පෙන්වන්න</item>
     </plurals>
-    <!-- no translation found for network_dashboard_title (3135144174846753758) -->
-    <skip />
+    <string name="network_dashboard_title" msgid="3135144174846753758">"ජාලය සහ අන්තර්ජාලය"</string>
     <string name="connected_devices_dashboard_title" msgid="2355264951438890709">"සම්බන්ධ කළ උපාංග"</string>
     <string name="app_and_notification_dashboard_title" msgid="7838365599185397539">"යෙදුම් සහ දැනුම්දීම්"</string>
     <string name="account_dashboard_title" msgid="38701889336378742">"පරිශීලක සහ ගිණුම්"</string>
@@ -2581,6 +2577,7 @@
     <string name="keywords_profile_challenge" msgid="789611397846512845">"වැඩ අභියෝගය, වැඩ, පැතිකඩ"</string>
     <string name="keywords_unification" msgid="1922900767659821025">"කාර්යාල පැතිකඩ, කළමනාකරණය කළ පැතිකඩ, ඒකාබද්ධ, ඒකාබද්ධ කිරීම, කාර්යාල, පැතිකඩ"</string>
     <string name="keywords_gesture" msgid="5696040361482126337">"ඉංගිතය"</string>
+    <string name="keywords_payment_settings" msgid="5220104934130446416">"ගෙවීම, තට්ටු කිරීම, ගෙවීම්"</string>
     <string name="setup_wifi_nfc_tag" msgid="9028353016222911016">"Wi-Fi NFC ටැගයක් ස්ථාපනය කරන්න"</string>
     <string name="write_tag" msgid="8571858602896222537">"ලියනවා"</string>
     <string name="status_awaiting_tap" msgid="2130145523773160617">"ලිවීමට ටැගයට තට්ටු කරන්න..."</string>
@@ -2653,16 +2650,11 @@
     <string name="app_notifications_title" msgid="139788604658984593">"දැනුම්දීම්"</string>
     <string name="notification_importance_title" msgid="848692592679312666">"වැදගත්කම"</string>
     <string name="notification_importance_none" msgid="3173515479356106227">"සකසා නැත"</string>
-    <!-- no translation found for notification_importance_blocked (7938180808339386300) -->
-    <skip />
-    <!-- no translation found for notification_importance_min (5455049524984686275) -->
-    <skip />
-    <!-- no translation found for notification_importance_low (2445139943005315690) -->
-    <skip />
-    <!-- no translation found for notification_importance_default (5958338024601957516) -->
-    <skip />
-    <!-- no translation found for notification_importance_high (2082429479238228527) -->
-    <skip />
+    <string name="notification_importance_blocked" msgid="7938180808339386300">"දැනුම්දීම් කිසිදා නොපෙන්වන්න"</string>
+    <string name="notification_importance_min" msgid="5455049524984686275">"ශබ්ද හෝ දෘශ්‍ය බාධා නැත"</string>
+    <string name="notification_importance_low" msgid="2445139943005315690">"නිහඬව පෙන්වන්න"</string>
+    <string name="notification_importance_default" msgid="5958338024601957516">"ශබ්ද කරන්න"</string>
+    <string name="notification_importance_high" msgid="2082429479238228527">"ශබ්ද කර තිරය මත උත්පතනය කරන්න"</string>
     <string name="importance_reset" msgid="7458420788555607007">"යළි පිහිටුවන්න"</string>
     <string name="show_silently" msgid="2222875799232222056">"නිහඬව පෙන්වන්න"</string>
     <string name="show_silently_summary" msgid="7616604629123146565">"ශබ්ද කිරීම, කම්පනය කිරීම, හෝ මෙම දැනුම්දීම් වත්මන් තිරයේ දසුන මතට එබිකම් කිරීම නොකරන්න."</string>
@@ -2691,16 +2683,11 @@
     <string name="loading_notification_apps" msgid="5031818677010335895">"යෙදුම් පූරණය වේ..."</string>
     <string name="notification_channels" msgid="8681423709659818791">"නාලිකා"</string>
     <string name="app_notification_block_title" msgid="4069351066849087649">"සියල්ල අවහිර කරන්න"</string>
-    <!-- no translation found for app_notification_block_summary (4744020456943215352) -->
-    <skip />
-    <!-- no translation found for notification_content_block_title (5854232570963006360) -->
-    <skip />
-    <!-- no translation found for notification_content_block_summary (7746185794438882389) -->
-    <skip />
-    <!-- no translation found for notification_badge_title (5404669445214920178) -->
-    <skip />
-    <!-- no translation found for notification_badge_summary (3944771498030335669) -->
-    <skip />
+    <string name="app_notification_block_summary" msgid="4744020456943215352">"මෙම දැනුම්දීම් කිසිදා නොපෙන්වන්න"</string>
+    <string name="notification_content_block_title" msgid="5854232570963006360">"දැනුම්දීම් පෙන්වන්න"</string>
+    <string name="notification_content_block_summary" msgid="7746185794438882389">"සෙවන තුළ හෝ පර්යන්ත උපාංග මත දැනුම්දීම් කිසිදා නොපෙන්වන්න"</string>
+    <string name="notification_badge_title" msgid="5404669445214920178">"ලාංඡනය පෙන්වන්න"</string>
+    <string name="notification_badge_summary" msgid="3944771498030335669">"සහාය දක්වන්නේ නම්, මුල් පිටු යෙදුම මත ලාංඡන ලෙස දැනුම්දීම් පෙන්වන්න."</string>
     <string name="app_notification_override_dnd_title" msgid="7867458246395884830">"බාධා නොකරන්න ඉක්මවන්න"</string>
     <string name="app_notification_override_dnd_summary" msgid="3516007157020189746">"බාධා නොකරන්න, ප්‍රමුඛතා පමණි වෙත සකසා ඇති විට මෙම දැනුම්දීම්වලට බාධා කිරීමට දිගටම ඉඩ දෙන්න"</string>
     <string name="app_notification_visibility_override_title" msgid="2187232730902430718">"අගුලු තිරය මත"</string>
@@ -2802,7 +2789,7 @@
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2232461523882170874">"මෙම කාර්යාල පැතිකඩ කළමනාකරණය කරන්නේ:"</string>
     <string name="managing_admin" msgid="8843802210377459055">"<xliff:g id="ADMIN_APP_LABEL">%s</xliff:g> විසින් කළමනාකරණය කරන ලදී"</string>
     <string name="experimental_preference" msgid="7083015446690681376">"(පරීක්ෂණාත්මක)"</string>
-    <string name="display_auto_rotate_title" msgid="6176450657107806043">"උපංගය කරකැවූ විට"</string>
+    <string name="display_auto_rotate_title" msgid="7119684966039069439">"උපාංගය කරකැවීම"</string>
     <string name="display_auto_rotate_rotate" msgid="4544299861233497728">"තීරයේ අන්තර්ගතය කරකවන්න"</string>
     <string name="display_auto_rotate_stay_in_portrait" msgid="292745182318093651">"සිරස් දසුන තුළ සිටින්න"</string>
     <string name="display_auto_rotate_stay_in_landscape" msgid="3804752830204062162">"තිරස් දසුන තුළ සිටින්න"</string>
@@ -3192,6 +3179,8 @@
     <string name="page_tab_title_support" msgid="6330657582897417458">"සහාය"</string>
     <string name="developer_density_summary" msgid="1998244213021456519">"<xliff:g id="ID_1">%d</xliff:g> dp"</string>
     <string name="developer_smallest_width" msgid="7516950434587313360">"කුඩාම පළල"</string>
+    <string name="developer_tile" msgid="4822711696408279658">"සංවර්ධන ප්‍රකාරය"</string>
+    <string name="developer_tile_unavailable" msgid="6559656549479711827">"සක්‍රිය තත්ත්වයක් තෝරා නැත"</string>
     <string name="premium_sms_none" msgid="8268105565738040566">"කිසිදු ස්ථාපනය කළ යෙදුමක් වාරික SMS ප්රවේශ ඉල්ලා නැත"</string>
     <string name="premium_sms_warning" msgid="9086859595338944882">"වාරික SMS ඔබෙන් මුදල් අය කළ හැකි අතර ඔබේ වාහක බිල්පතට එක් කරනු ඇත. ඔබ යෙදුමක් සඳහා අවසර සබල කරන්නේ නම්, ඔබට එම යෙදුම භාවිතයෙන් වාරික SMS යැවීමට හැකි වනු ඇත."</string>
     <string name="premium_sms_access" msgid="4660047004791638305">"වාරික SMS ප්රවේශය"</string>
@@ -3221,8 +3210,7 @@
     <string name="support_disclaimer_do_not_show" msgid="3378367075323727539">"නැවත පෙන්වන්න එපා"</string>
     <string name="support_account_request_prefix" msgid="6387847874661861650">"ලෙස ඉල්ලයි"</string>
     <string name="support_account_picker_add_account" msgid="5076277544846506214">"ගිණුම එක් කරන්න"</string>
-    <!-- no translation found for support_system_information_title (3439905790018934773) -->
-    <skip />
+    <string name="support_system_information_title" msgid="3439905790018934773">"පද්ධති තොරතුරු"</string>
     <string name="managed_profile_settings_title" msgid="2729481936758125054">"කාර්යාල පැතිකඩ සැකසීම්"</string>
     <string name="managed_profile_contact_search_title" msgid="6034734926815544221">"සම්බන්ධතා සෙවීම"</string>
     <string name="managed_profile_contact_search_summary" msgid="5431253552272970512">"අමතන්නන් හා සම්බන්ධතා හඳුනා ගැනීම සඳහා ඔබේ ආයතනයෙන් සම්බන්ධතා සෙවීම් ඉඩ දෙන්න"</string>
@@ -3313,4 +3301,16 @@
     <string name="enterprise_privacy_bug_reports" msgid="4762460041705169944">"ඔබේ වඩාත්ම මෑත දෝෂ වාර්තාව"</string>
     <string name="enterprise_privacy_security_logs" msgid="3648730027522011684">"ඔබේ වඩාත්ම මෑත ආරක්ෂක ලොගය"</string>
     <string name="enterprise_privacy_never" msgid="1304035596746436921">"කවදාවත් නෑ"</string>
+    <string name="storage_photos_videos" msgid="1872663116054954685">"ඡායාරූප සහ වීඩියෝ"</string>
+    <string name="storage_music_audio" msgid="7890103397813503615">"සංගීතය සහ ශ්‍රව්‍ය"</string>
+    <string name="storage_games" msgid="7703159201697117621">"ක්‍රීඩා"</string>
+    <string name="storage_other_apps" msgid="5524321740031718083">"වෙනත් යෙදුම්"</string>
+    <string name="storage_files" msgid="8581083146777364063">"ගොනු"</string>
+    <string name="storage_settings_2" msgid="6369810699930056554">"දුරකථන ගබඞාව"</string>
+    <!-- no translation found for storage_size_large_alternate (3436941214395940966) -->
+    <skip />
+    <!-- no translation found for storage_volume_free (8829609507318832879) -->
+    <skip />
+    <!-- no translation found for storage_percent_used (6741397129281819921) -->
+    <skip />
 </resources>
diff --git a/res/values-sk/strings.xml b/res/values-sk/strings.xml
index 1961f8d..c3aadfc 100644
--- a/res/values-sk/strings.xml
+++ b/res/values-sk/strings.xml
@@ -676,7 +676,7 @@
     <string name="android_beam_off_summary" msgid="4663095428454779138">"Vyp."</string>
     <string name="android_beam_disabled_summary" msgid="1737782116894793393">"Nedostupné, pretože je vypnutá technológia NFC"</string>
     <string name="android_beam_label" msgid="6257036050366775040">"Android Beam"</string>
-    <string name="android_beam_explained" msgid="1828555626055290684">"Ak je táto funkcia zapnutá a podržíte zariadenia blízko pri sebe, môžete odosielať obsah aplikácií do iného zariadenia s technológiou NFC. Môžete napríklad odosielať stránky prehliadača, videá YouTube, osobné kontakty a ďalšie.\n\nStačí priložiť zariadenia k sebe (obyčajne zadnými stranami) a potom klepnúť na obrazovku. Aplikácia určí, aký obsah sa prenesie."</string>
+    <string name="android_beam_explained" msgid="1810540319385192758">"Keď je táto funkcia zapnutá a podržíte zariadenia blízko pri sebe, môžete odosielať obsah aplikácií do iného zariadenia s technológiou NFC. Môžete napríklad odosielať webové stránky, videá YouTube, kontakty a ďalší obsah.\n\nStačí priložiť zariadenia k sebe (obyčajne zadnými stranami) a potom klepnúť na obrazovku. Aplikácia určí, aký obsah sa prenesie."</string>
     <string name="wifi_quick_toggle_title" msgid="8850161330437693895">"Wi-Fi"</string>
     <string name="wifi_quick_toggle_summary" msgid="2696547080481267642">"Zapnúť Wi-Fi"</string>
     <string name="wifi_settings" msgid="29722149822540994">"Wi-Fi"</string>
@@ -2625,6 +2625,7 @@
     <string name="keywords_profile_challenge" msgid="789611397846512845">"pracovná výzva, práca, profil"</string>
     <string name="keywords_unification" msgid="1922900767659821025">"pracovný profil, spravovaný profil, zjednotiť, zjednotenie, práca, profil"</string>
     <string name="keywords_gesture" msgid="5696040361482126337">"gesto"</string>
+    <string name="keywords_payment_settings" msgid="5220104934130446416">"platiť, klepnutie, platby"</string>
     <string name="setup_wifi_nfc_tag" msgid="9028353016222911016">"Nastavenie štítka NFC pre Wi-Fi"</string>
     <string name="write_tag" msgid="8571858602896222537">"Zapísať"</string>
     <string name="status_awaiting_tap" msgid="2130145523773160617">"Klepnutím na značku začnete zápis..."</string>
@@ -2852,7 +2853,7 @@
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2232461523882170874">"Tento pracovný profil spravuje aplikácia:"</string>
     <string name="managing_admin" msgid="8843802210377459055">"Spravované aplikáciou <xliff:g id="ADMIN_APP_LABEL">%s</xliff:g>"</string>
     <string name="experimental_preference" msgid="7083015446690681376">"(Experimentálne)"</string>
-    <string name="display_auto_rotate_title" msgid="6176450657107806043">"Pri otočení zariadenia"</string>
+    <string name="display_auto_rotate_title" msgid="7119684966039069439">"Otočenie zariadenia"</string>
     <string name="display_auto_rotate_rotate" msgid="4544299861233497728">"Otočiť obsah obrazovky"</string>
     <string name="display_auto_rotate_stay_in_portrait" msgid="292745182318093651">"Zachovať zobrazenie na výšku"</string>
     <string name="display_auto_rotate_stay_in_landscape" msgid="3804752830204062162">"Ponechať obrazovku v zobrazení na šírku"</string>
@@ -3256,6 +3257,8 @@
     <string name="page_tab_title_support" msgid="6330657582897417458">"Podpora"</string>
     <string name="developer_density_summary" msgid="1998244213021456519">"<xliff:g id="ID_1">%d</xliff:g> dp"</string>
     <string name="developer_smallest_width" msgid="7516950434587313360">"Minimálna šírka"</string>
+    <string name="developer_tile" msgid="4822711696408279658">"Vývojársky režim"</string>
+    <string name="developer_tile_unavailable" msgid="6559656549479711827">"Nie je vybratý žiadny aktívny stav"</string>
     <string name="premium_sms_none" msgid="8268105565738040566">"Prístup k prémiovým správam SMS si nevyžiadali žiadne nainštalované aplikácie"</string>
     <string name="premium_sms_warning" msgid="9086859595338944882">"Za prémiové správy SMS sa môžu účtovať poplatky, ktoré sa naúčtujú na faktúru operátora. Ak aktivujete toto povolenie pre aplikáciu, budete môcť pomocou nej posielať prémiové správy SMS."</string>
     <string name="premium_sms_access" msgid="4660047004791638305">"Prístup k prémiovým správam SMS"</string>
@@ -3385,4 +3388,16 @@
     <string name="enterprise_privacy_bug_reports" msgid="4762460041705169944">"Najaktuálnejšie hlásenie chyby"</string>
     <string name="enterprise_privacy_security_logs" msgid="3648730027522011684">"Váš najaktuálnejší denník zabezpečenia"</string>
     <string name="enterprise_privacy_never" msgid="1304035596746436921">"Nikdy"</string>
+    <string name="storage_photos_videos" msgid="1872663116054954685">"Fotky a videá"</string>
+    <string name="storage_music_audio" msgid="7890103397813503615">"Hudba a zvuk"</string>
+    <string name="storage_games" msgid="7703159201697117621">"Hry"</string>
+    <string name="storage_other_apps" msgid="5524321740031718083">"Ďalšie aplikácie"</string>
+    <string name="storage_files" msgid="8581083146777364063">"Súbory"</string>
+    <string name="storage_settings_2" msgid="6369810699930056554">"Úložisko telefónu"</string>
+    <!-- no translation found for storage_size_large_alternate (3436941214395940966) -->
+    <skip />
+    <!-- no translation found for storage_volume_free (8829609507318832879) -->
+    <skip />
+    <!-- no translation found for storage_percent_used (6741397129281819921) -->
+    <skip />
 </resources>
diff --git a/res/values-sl/strings.xml b/res/values-sl/strings.xml
index 69e71e1..b25542c 100644
--- a/res/values-sl/strings.xml
+++ b/res/values-sl/strings.xml
@@ -676,7 +676,7 @@
     <string name="android_beam_off_summary" msgid="4663095428454779138">"Izklopljeno"</string>
     <string name="android_beam_disabled_summary" msgid="1737782116894793393">"Ni na voljo, ker je NFC izklopljen"</string>
     <string name="android_beam_label" msgid="6257036050366775040">"Android Beam"</string>
-    <string name="android_beam_explained" msgid="1828555626055290684">"Če je ta funkcija vklopljena, lahko prenesete vsebino aplikacij v drugo napravo, ki podpira tehnologijo NFC, tako da približate napravi. Prenesete lahko na primer strani v brskalniku, videoposnetke v YouTubu, stike oseb in drugo.\n\nPribližajte napravi (običajno s hrbtnima platema) in se dotaknite zaslona. Aplikacija določi, kaj se bo preneslo."</string>
+    <string name="android_beam_explained" msgid="1810540319385192758">"Ko je ta funkcija vklopljena, lahko vsebino iz aplikacije prenesete v drugo napravo, ki podpira NFC, tako, da napravi približate. Prenesete lahko na primer spletne strani, videoposnetke v YouTubu, stike in drugo.\n\nPreprosto približajte napravi (običajno s hrbtno stranjo) in se dotaknite zaslona. Vsebino prenosa določi aplikacija."</string>
     <string name="wifi_quick_toggle_title" msgid="8850161330437693895">"Wi‑Fi"</string>
     <string name="wifi_quick_toggle_summary" msgid="2696547080481267642">"Vklopi Wi-Fi"</string>
     <string name="wifi_settings" msgid="29722149822540994">"Wi‑Fi"</string>
@@ -2625,6 +2625,7 @@
     <string name="keywords_profile_challenge" msgid="789611397846512845">"delovna preizkušnja, delo, profil"</string>
     <string name="keywords_unification" msgid="1922900767659821025">"delovni profil, upravljan profil, poenotiti, poenotenje, delo, profil"</string>
     <string name="keywords_gesture" msgid="5696040361482126337">"poteza"</string>
+    <string name="keywords_payment_settings" msgid="5220104934130446416">"plačaj, dotakni se, plačevanje z dotikom, plačila"</string>
     <string name="setup_wifi_nfc_tag" msgid="9028353016222911016">"Nastavitev brezžič. oznake NFC"</string>
     <string name="write_tag" msgid="8571858602896222537">"Zapiši"</string>
     <string name="status_awaiting_tap" msgid="2130145523773160617">"Dotaknite se oznake za zapisovanje ..."</string>
@@ -2852,7 +2853,7 @@
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2232461523882170874">"Ta delovni profil upravlja:"</string>
     <string name="managing_admin" msgid="8843802210377459055">"Upravlja: <xliff:g id="ADMIN_APP_LABEL">%s</xliff:g>"</string>
     <string name="experimental_preference" msgid="7083015446690681376">"(Poskusno)"</string>
-    <string name="display_auto_rotate_title" msgid="6176450657107806043">"Ko se naprava zasuka"</string>
+    <string name="display_auto_rotate_title" msgid="7119684966039069439">"Zasuk zaslona"</string>
     <string name="display_auto_rotate_rotate" msgid="4544299861233497728">"Zasukaj vsebino zaslona"</string>
     <string name="display_auto_rotate_stay_in_portrait" msgid="292745182318093651">"Ohrani pokončni pogled"</string>
     <string name="display_auto_rotate_stay_in_landscape" msgid="3804752830204062162">"Ohrani ležeči pogled"</string>
@@ -3256,6 +3257,8 @@
     <string name="page_tab_title_support" msgid="6330657582897417458">"Podpora"</string>
     <string name="developer_density_summary" msgid="1998244213021456519">"<xliff:g id="ID_1">%d</xliff:g> dp"</string>
     <string name="developer_smallest_width" msgid="7516950434587313360">"Najmanjša širina"</string>
+    <string name="developer_tile" msgid="4822711696408279658">"Razvijalski način"</string>
+    <string name="developer_tile_unavailable" msgid="6559656549479711827">"Aktivno stanje ni izbrano"</string>
     <string name="premium_sms_none" msgid="8268105565738040566">"Nobena nameščena aplikacija ni zahtevala dostopa za plačljiva sporočila SMS."</string>
     <string name="premium_sms_warning" msgid="9086859595338944882">"Plačljiva sporočila SMS vam lahko povzročijo stroške in povečajo račun za mobilno telefonijo. Če za aplikacijo omogočite dovoljenje, boste lahko s tisto aplikacijo pošiljali plačljiva sporočila SMS."</string>
     <string name="premium_sms_access" msgid="4660047004791638305">"Dostop za plačljiva sporočila SMS"</string>
@@ -3385,4 +3388,16 @@
     <string name="enterprise_privacy_bug_reports" msgid="4762460041705169944">"Najnovejše poročilo o napakah"</string>
     <string name="enterprise_privacy_security_logs" msgid="3648730027522011684">"Najnovejši varnostni dnevnik"</string>
     <string name="enterprise_privacy_never" msgid="1304035596746436921">"Nikoli"</string>
+    <string name="storage_photos_videos" msgid="1872663116054954685">"Fotografije in videoposnetki"</string>
+    <string name="storage_music_audio" msgid="7890103397813503615">"Glasba in zvok"</string>
+    <string name="storage_games" msgid="7703159201697117621">"Igre"</string>
+    <string name="storage_other_apps" msgid="5524321740031718083">"Druge aplikacije"</string>
+    <string name="storage_files" msgid="8581083146777364063">"Datoteke"</string>
+    <string name="storage_settings_2" msgid="6369810699930056554">"Pomnilnik telefona"</string>
+    <!-- no translation found for storage_size_large_alternate (3436941214395940966) -->
+    <skip />
+    <!-- no translation found for storage_volume_free (8829609507318832879) -->
+    <skip />
+    <!-- no translation found for storage_percent_used (6741397129281819921) -->
+    <skip />
 </resources>
diff --git a/res/values-sq-rAL-nokeys/strings.xml b/res/values-sq-nokeys/strings.xml
similarity index 100%
rename from res/values-sq-rAL-nokeys/strings.xml
rename to res/values-sq-nokeys/strings.xml
diff --git a/res/values-sq-rAL/arrays.xml b/res/values-sq/arrays.xml
similarity index 100%
rename from res/values-sq-rAL/arrays.xml
rename to res/values-sq/arrays.xml
diff --git a/res/values-sq-rAL/strings.xml b/res/values-sq/strings.xml
similarity index 99%
rename from res/values-sq-rAL/strings.xml
rename to res/values-sq/strings.xml
index 735817a..75784ef 100644
--- a/res/values-sq-rAL/strings.xml
+++ b/res/values-sq/strings.xml
@@ -658,7 +658,7 @@
     <string name="android_beam_off_summary" msgid="4663095428454779138">"Çaktivizuar"</string>
     <string name="android_beam_disabled_summary" msgid="1737782116894793393">"Nuk ofrohet sepse NFC-ja është e çaktivizuar"</string>
     <string name="android_beam_label" msgid="6257036050366775040">"Dërgimi me rreze i Androidit"</string>
-    <string name="android_beam_explained" msgid="1828555626055290684">"Kur ky funksion është i aktivizuar, mund të transmetosh përmbajtjet e aplikacioneve te një pajisje tjetër me aftësinë e NFC-së duke i mbajtur pajisjet afër. Për shembull, mund të transmetosh faqet e shfletuesit, videot në YouTube, kontaktet e më shumë.\n\nThjesht afroji pajisjet me njëra-tjetrën (zakonisht nga pjesa e pasme) dhe më pas trokit tek ekrani. Aplikacioni përcakton se çfarë do të transmetohet."</string>
+    <string name="android_beam_explained" msgid="1810540319385192758">"Kur ky funksion është i aktivizuar, mund të transmetosh përmbajtjet e aplikacioneve te një pajisje tjetër me aftësinë e NFC-së duke i mbajtur pajisjet afër. Për shembull, mund të transmetosh faqet e uebit, videot në YouTube, kontaktet e më shumë.\n\nThjesht afroji pajisjet me njëra-tjetrën (zakonisht nga pjesa e pasme) dhe më pas trokit tek ekrani. Aplikacioni përcakton se çfarë do të transmetohet."</string>
     <string name="wifi_quick_toggle_title" msgid="8850161330437693895">"Wi-Fi"</string>
     <string name="wifi_quick_toggle_summary" msgid="2696547080481267642">"Aktivizo Wi-Fi"</string>
     <string name="wifi_settings" msgid="29722149822540994">"Wi‑Fi"</string>
@@ -2581,6 +2581,7 @@
     <string name="keywords_profile_challenge" msgid="789611397846512845">"sfidë në punë, punë, profil"</string>
     <string name="keywords_unification" msgid="1922900767659821025">"profili i punës, profili i menaxhuar, unifiko, unifikim, punë, profil"</string>
     <string name="keywords_gesture" msgid="5696040361482126337">"gjesti"</string>
+    <string name="keywords_payment_settings" msgid="5220104934130446416">"paguaj, trokit, pagesa"</string>
     <string name="setup_wifi_nfc_tag" msgid="9028353016222911016">"Cakto një etiketë NFC për Wi-Fi"</string>
     <string name="write_tag" msgid="8571858602896222537">"Shkruaj"</string>
     <string name="status_awaiting_tap" msgid="2130145523773160617">"Trokit te një etiketë për të shkruar..."</string>
@@ -2802,7 +2803,7 @@
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2232461523882170874">"Ky profil pune menaxhohet nga:"</string>
     <string name="managing_admin" msgid="8843802210377459055">"I menaxhuar nga <xliff:g id="ADMIN_APP_LABEL">%s</xliff:g>"</string>
     <string name="experimental_preference" msgid="7083015446690681376">"(Eksperimentale)"</string>
-    <string name="display_auto_rotate_title" msgid="6176450657107806043">"Kur pajisja rrotullohet"</string>
+    <string name="display_auto_rotate_title" msgid="7119684966039069439">"Rrotullimi i pajisjes"</string>
     <string name="display_auto_rotate_rotate" msgid="4544299861233497728">"Rrotullo përmbajtjen e ekranit"</string>
     <string name="display_auto_rotate_stay_in_portrait" msgid="292745182318093651">"Qëndro në pamjen vertikale"</string>
     <string name="display_auto_rotate_stay_in_landscape" msgid="3804752830204062162">"Qëndro në pamjen horizontale"</string>
@@ -3192,6 +3193,8 @@
     <string name="page_tab_title_support" msgid="6330657582897417458">"Mbështetja"</string>
     <string name="developer_density_summary" msgid="1998244213021456519">"<xliff:g id="ID_1">%d</xliff:g> dp"</string>
     <string name="developer_smallest_width" msgid="7516950434587313360">"Gjerësia më e vogël"</string>
+    <string name="developer_tile" msgid="4822711696408279658">"Regjimi i zhvillimit"</string>
+    <string name="developer_tile_unavailable" msgid="6559656549479711827">"Nuk është zgjedhur asnjë gjendje aktive"</string>
     <string name="premium_sms_none" msgid="8268105565738040566">"Asnjë aplikacion i instaluar nuk ka kërkuar qasje te mesazhet SMS premium"</string>
     <string name="premium_sms_warning" msgid="9086859595338944882">"Mesazhet SMS premium mund të kushtojnë dhe do të rritin faturat e operatorit tënd celular. Nëse e aktivizon lejen për një aplikacion, do të mund të dërgosh mesazhe SMS premium me atë aplikacion."</string>
     <string name="premium_sms_access" msgid="4660047004791638305">"Qasja te mesazhet SMS premium"</string>
@@ -3313,4 +3316,16 @@
     <string name="enterprise_privacy_bug_reports" msgid="4762460041705169944">"Raporti më i fundit i defekteve në kod"</string>
     <string name="enterprise_privacy_security_logs" msgid="3648730027522011684">"Regjistri yt më i fundit i sigurisë"</string>
     <string name="enterprise_privacy_never" msgid="1304035596746436921">"Asnjëherë"</string>
+    <string name="storage_photos_videos" msgid="1872663116054954685">"Fotografitë dhe videot"</string>
+    <string name="storage_music_audio" msgid="7890103397813503615">"Muzikë dhe audio"</string>
+    <string name="storage_games" msgid="7703159201697117621">"Lojëra"</string>
+    <string name="storage_other_apps" msgid="5524321740031718083">"Aplikacionet e tjera"</string>
+    <string name="storage_files" msgid="8581083146777364063">"Skedarët"</string>
+    <string name="storage_settings_2" msgid="6369810699930056554">"Hapësira ruajtëse e telefonit"</string>
+    <!-- no translation found for storage_size_large_alternate (3436941214395940966) -->
+    <skip />
+    <!-- no translation found for storage_volume_free (8829609507318832879) -->
+    <skip />
+    <!-- no translation found for storage_percent_used (6741397129281819921) -->
+    <skip />
 </resources>
diff --git a/res/values-sr/strings.xml b/res/values-sr/strings.xml
index f3c8a23..17c4e6c 100644
--- a/res/values-sr/strings.xml
+++ b/res/values-sr/strings.xml
@@ -667,7 +667,7 @@
     <string name="android_beam_off_summary" msgid="4663095428454779138">"Искључено"</string>
     <string name="android_beam_disabled_summary" msgid="1737782116894793393">"Недоступно зато што је NFC искључен"</string>
     <string name="android_beam_label" msgid="6257036050366775040">"Android Beam"</string>
-    <string name="android_beam_explained" msgid="1828555626055290684">"Када је ова функција укључена, можете да преносите садржај апликација на други уређај на коме је омогућен NFC тако што ћете приближити уређаје један другоме. На пример, можете да преносите странице прегледача, YouTube видео снимке, контакте из апликације Људи и још пуно тога.\n\nСамо прислоните уређаје један на други (обично са задње стране), а затим додирните екран. Апликација одређује шта ће бити пренето."</string>
+    <string name="android_beam_explained" msgid="1810540319385192758">"Када је ова функција укључена, можете да пребацујете садржај апликација на други уређај на коме је омогућен NFC тако што ћете приближити уређаје један другоме. На пример, можете да пребацујете веб-странице, YouTube видео снимке, контакте и још тога.\n\nСамо прислоните уређаје један на други (обично са задње стране), а затим додирните екран. Апликација одређује шта ће бити пребачено."</string>
     <string name="wifi_quick_toggle_title" msgid="8850161330437693895">"Wi‑Fi"</string>
     <string name="wifi_quick_toggle_summary" msgid="2696547080481267642">"Укључивање Wi-Fi-ја"</string>
     <string name="wifi_settings" msgid="29722149822540994">"Wi‑Fi"</string>
@@ -2603,6 +2603,7 @@
     <string name="keywords_profile_challenge" msgid="789611397846512845">"work изазов, work, профил"</string>
     <string name="keywords_unification" msgid="1922900767659821025">"профил за Work, профил којим се управља, обједини, обједињавање, Work, профил"</string>
     <string name="keywords_gesture" msgid="5696040361482126337">"покрет"</string>
+    <string name="keywords_payment_settings" msgid="5220104934130446416">"платите, додирните, плаћања"</string>
     <string name="setup_wifi_nfc_tag" msgid="9028353016222911016">"Подесите Wi-Fi NFC ознаку"</string>
     <string name="write_tag" msgid="8571858602896222537">"Напиши"</string>
     <string name="status_awaiting_tap" msgid="2130145523773160617">"Додирните ознаку да бисте писали..."</string>
@@ -2827,7 +2828,7 @@
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2232461523882170874">"Овим профилом за Work управља:"</string>
     <string name="managing_admin" msgid="8843802210377459055">"Управља <xliff:g id="ADMIN_APP_LABEL">%s</xliff:g>"</string>
     <string name="experimental_preference" msgid="7083015446690681376">"(Експериментално)"</string>
-    <string name="display_auto_rotate_title" msgid="6176450657107806043">"Када се уређај ротира"</string>
+    <string name="display_auto_rotate_title" msgid="7119684966039069439">"Ротација уређаја"</string>
     <string name="display_auto_rotate_rotate" msgid="4544299861233497728">"Ротирај садржај екрана"</string>
     <string name="display_auto_rotate_stay_in_portrait" msgid="292745182318093651">"Задржи усправни приказ"</string>
     <string name="display_auto_rotate_stay_in_landscape" msgid="3804752830204062162">"Задржи водоравни приказ"</string>
@@ -3224,6 +3225,8 @@
     <string name="page_tab_title_support" msgid="6330657582897417458">"Подршка"</string>
     <string name="developer_density_summary" msgid="1998244213021456519">"<xliff:g id="ID_1">%d</xliff:g> dp"</string>
     <string name="developer_smallest_width" msgid="7516950434587313360">"Најмања ширина"</string>
+    <string name="developer_tile" msgid="4822711696408279658">"Режим програмирања"</string>
+    <string name="developer_tile_unavailable" msgid="6559656549479711827">"Није изабран ниједан активан статус"</string>
     <string name="premium_sms_none" msgid="8268105565738040566">"Ниједна инсталирана апликација није захтевала приступ премијум SMS-овима"</string>
     <string name="premium_sms_warning" msgid="9086859595338944882">"Премијум SMS-ови могу да коштају и повећаће рачуне код мобилног оператера. Ако омогућите дозволу за неку апликацију, моћи ћете да шаљете премијум SMS-ове помоћу те апликације."</string>
     <string name="premium_sms_access" msgid="4660047004791638305">"Приступ премијум SMS-овима"</string>
@@ -3349,4 +3352,16 @@
     <string name="enterprise_privacy_bug_reports" msgid="4762460041705169944">"Најновији извештај о грешци"</string>
     <string name="enterprise_privacy_security_logs" msgid="3648730027522011684">"Најновија безбедносна евиденција"</string>
     <string name="enterprise_privacy_never" msgid="1304035596746436921">"Никада"</string>
+    <string name="storage_photos_videos" msgid="1872663116054954685">"Слике и видео снимци"</string>
+    <string name="storage_music_audio" msgid="7890103397813503615">"Музика и аудио"</string>
+    <string name="storage_games" msgid="7703159201697117621">"Игре"</string>
+    <string name="storage_other_apps" msgid="5524321740031718083">"Друге апликације"</string>
+    <string name="storage_files" msgid="8581083146777364063">"Датотеке"</string>
+    <string name="storage_settings_2" msgid="6369810699930056554">"Меморијски простор телефона"</string>
+    <!-- no translation found for storage_size_large_alternate (3436941214395940966) -->
+    <skip />
+    <!-- no translation found for storage_volume_free (8829609507318832879) -->
+    <skip />
+    <!-- no translation found for storage_percent_used (6741397129281819921) -->
+    <skip />
 </resources>
diff --git a/res/values-sv/strings.xml b/res/values-sv/strings.xml
index b88f762..976cd73 100644
--- a/res/values-sv/strings.xml
+++ b/res/values-sv/strings.xml
@@ -658,7 +658,7 @@
     <string name="android_beam_off_summary" msgid="4663095428454779138">"Av"</string>
     <string name="android_beam_disabled_summary" msgid="1737782116894793393">"Inte tillgängligt eftersom NFC är inaktiverat"</string>
     <string name="android_beam_label" msgid="6257036050366775040">"Android Beam"</string>
-    <string name="android_beam_explained" msgid="1828555626055290684">"När den här funktionen är aktiverad kan du överföra appinnehåll trådlöst till en annan NFC-kompatibel enhet genom att hålla enheterna mot varandra. Du kan t.ex. överföra webbläsarsidor, YouTube-videoklipp, kontakter med mera.\n\nHåll bara enheterna mot varandra (oftast baksida mot baksida) och tryck sedan på skärmen. Appen avgör vad som överförs."</string>
+    <string name="android_beam_explained" msgid="1810540319385192758">"När den här funktionen är aktiverad kan du överföra appinnehåll trådlöst till en annan NFC-kompatibel enhet genom att hålla enheterna mot varandra. Du kan till exempel överföra webbsidor, YouTube-videor, kontakter och mycket annat.\n\nHåll bara enheterna mot varandra (oftast baksida mot baksida) och tryck sedan på skärmen. Appen avgör vad som överförs."</string>
     <string name="wifi_quick_toggle_title" msgid="8850161330437693895">"Wi-Fi"</string>
     <string name="wifi_quick_toggle_summary" msgid="2696547080481267642">"Aktivera Wi-Fi"</string>
     <string name="wifi_settings" msgid="29722149822540994">"Wi-Fi"</string>
@@ -2581,6 +2581,7 @@
     <string name="keywords_profile_challenge" msgid="789611397846512845">"jobbutmaning, jobb, profil"</string>
     <string name="keywords_unification" msgid="1922900767659821025">"jobbprofil, hanterad profil, koppla samman, sammankoppling, jobb, profil"</string>
     <string name="keywords_gesture" msgid="5696040361482126337">"rörelse"</string>
+    <string name="keywords_payment_settings" msgid="5220104934130446416">"betala, tryck, betalningar"</string>
     <string name="setup_wifi_nfc_tag" msgid="9028353016222911016">"Ange en NFC-tagg för Wi-Fi"</string>
     <string name="write_tag" msgid="8571858602896222537">"Skriv"</string>
     <string name="status_awaiting_tap" msgid="2130145523773160617">"Tryck på en etikett för att skriva ..."</string>
@@ -2802,7 +2803,7 @@
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2232461523882170874">"Den här jobbprofilen hanteras av:"</string>
     <string name="managing_admin" msgid="8843802210377459055">"Hanteras av <xliff:g id="ADMIN_APP_LABEL">%s</xliff:g>"</string>
     <string name="experimental_preference" msgid="7083015446690681376">"(experimentellt)"</string>
-    <string name="display_auto_rotate_title" msgid="6176450657107806043">"När enheten roterar"</string>
+    <string name="display_auto_rotate_title" msgid="7119684966039069439">"Rotera enhet"</string>
     <string name="display_auto_rotate_rotate" msgid="4544299861233497728">"Rotera skärmens innehåll"</string>
     <string name="display_auto_rotate_stay_in_portrait" msgid="292745182318093651">"Fortsätt använda stående riktning"</string>
     <string name="display_auto_rotate_stay_in_landscape" msgid="3804752830204062162">"Fortsätt använda liggande riktning"</string>
@@ -3192,6 +3193,8 @@
     <string name="page_tab_title_support" msgid="6330657582897417458">"Support"</string>
     <string name="developer_density_summary" msgid="1998244213021456519">"<xliff:g id="ID_1">%d</xliff:g> dp"</string>
     <string name="developer_smallest_width" msgid="7516950434587313360">"Minsta bredd"</string>
+    <string name="developer_tile" msgid="4822711696408279658">"Utvecklarläge"</string>
+    <string name="developer_tile_unavailable" msgid="6559656549479711827">"Ingen aktiv status har valts"</string>
     <string name="premium_sms_none" msgid="8268105565738040566">"Inga installerade appar har begärt åtkomst till premium-sms"</string>
     <string name="premium_sms_warning" msgid="9086859595338944882">"Det kan hända att premium-sms kostar pengar och läggs till på dina fakturor från operatören. Om du ger en app åtkomst kan du skicka premium-sms med den appen."</string>
     <string name="premium_sms_access" msgid="4660047004791638305">"Åtkomst till premium-sms"</string>
@@ -3313,4 +3316,16 @@
     <string name="enterprise_privacy_bug_reports" msgid="4762460041705169944">"Din senaste felrapport"</string>
     <string name="enterprise_privacy_security_logs" msgid="3648730027522011684">"Din senaste säkerhetslogg"</string>
     <string name="enterprise_privacy_never" msgid="1304035596746436921">"Aldrig"</string>
+    <string name="storage_photos_videos" msgid="1872663116054954685">"Foton och videor"</string>
+    <string name="storage_music_audio" msgid="7890103397813503615">"Musik och ljud"</string>
+    <string name="storage_games" msgid="7703159201697117621">"Spel"</string>
+    <string name="storage_other_apps" msgid="5524321740031718083">"Andra appar"</string>
+    <string name="storage_files" msgid="8581083146777364063">"Filer"</string>
+    <string name="storage_settings_2" msgid="6369810699930056554">"Mobilens lagringsutrymme"</string>
+    <!-- no translation found for storage_size_large_alternate (3436941214395940966) -->
+    <skip />
+    <!-- no translation found for storage_volume_free (8829609507318832879) -->
+    <skip />
+    <!-- no translation found for storage_percent_used (6741397129281819921) -->
+    <skip />
 </resources>
diff --git a/res/values-sw/strings.xml b/res/values-sw/strings.xml
index b61eca9..ff17c9c 100644
--- a/res/values-sw/strings.xml
+++ b/res/values-sw/strings.xml
@@ -658,7 +658,7 @@
     <string name="android_beam_off_summary" msgid="4663095428454779138">"Imezimwa"</string>
     <string name="android_beam_disabled_summary" msgid="1737782116894793393">"Hazipatikani kwa sababu NFC imezimwa"</string>
     <string name="android_beam_label" msgid="6257036050366775040">"Android Beam"</string>
-    <string name="android_beam_explained" msgid="1828555626055290684">"Wakati kipengele hiki kimewashwa, unaweza kuelekeza maudhui ya programu kwenye kifaa kingine kinachoweza kutumia NFC kwa kuweka vifaa pamoja. Kwa mfano, unaweza kuelekeza kurasa za Kivinjari, video za YouTube, anwani za Watu na zaidi.\n\nWeka tu vifaa pamoja (kinyumenyume) na ugonge skrini yako. Programu itabaini ni nini kitaelekezwa."</string>
+    <string name="android_beam_explained" msgid="1810540319385192758">"Unapowasha kipengele hiki, unaweza kuelekeza maudhui ya programu kwenye kifaa kingine kinachoweza kutumia NFC kwa kuweka vifaa pamoja. Kwa mfano, unaweza kuelekeza kurasa za wavuti, video za YouTube, anwani na zaidi.\n\nWeka tu vifaa pamoja (kinyumenyume) na ugonge skrini yako. Programu itabaini ni nini kitaelekezwa."</string>
     <string name="wifi_quick_toggle_title" msgid="8850161330437693895">"Wi-Fi"</string>
     <string name="wifi_quick_toggle_summary" msgid="2696547080481267642">"Washa Wi-Fi"</string>
     <string name="wifi_settings" msgid="29722149822540994">"Wi-Fi"</string>
@@ -2581,6 +2581,7 @@
     <string name="keywords_profile_challenge" msgid="789611397846512845">"mashindano kazini, kazi, wasifu"</string>
     <string name="keywords_unification" msgid="1922900767659821025">"wasifu wa kazini, wasifu uliodhibitiwa, unganisha, uunganishaji, kazi, wasifu"</string>
     <string name="keywords_gesture" msgid="5696040361482126337">"ishara"</string>
+    <string name="keywords_payment_settings" msgid="5220104934130446416">"lipa, gonga, malipo"</string>
     <string name="setup_wifi_nfc_tag" msgid="9028353016222911016">"Sanidi tagi ya NFC ya Wi-Fi"</string>
     <string name="write_tag" msgid="8571858602896222537">"Andika"</string>
     <string name="status_awaiting_tap" msgid="2130145523773160617">"Gonga tagi ya NFC ili uandike..."</string>
@@ -2802,7 +2803,7 @@
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2232461523882170874">"Wasifu huu wa kazini unasimamiwa na:"</string>
     <string name="managing_admin" msgid="8843802210377459055">"Inasimamiwa na <xliff:g id="ADMIN_APP_LABEL">%s</xliff:g>"</string>
     <string name="experimental_preference" msgid="7083015446690681376">"(Majaribio)"</string>
-    <string name="display_auto_rotate_title" msgid="6176450657107806043">"Kifaa kinapozungushwa"</string>
+    <string name="display_auto_rotate_title" msgid="7119684966039069439">"Mzunguko wa kifaa"</string>
     <string name="display_auto_rotate_rotate" msgid="4544299861233497728">"Zungusha maudhui ya skrini"</string>
     <string name="display_auto_rotate_stay_in_portrait" msgid="292745182318093651">"Baki katika onyesho la wima"</string>
     <string name="display_auto_rotate_stay_in_landscape" msgid="3804752830204062162">"Baki katika onyesho la mlalo"</string>
@@ -3192,6 +3193,8 @@
     <string name="page_tab_title_support" msgid="6330657582897417458">"Usaidizi"</string>
     <string name="developer_density_summary" msgid="1998244213021456519">"Dp <xliff:g id="ID_1">%d</xliff:g>"</string>
     <string name="developer_smallest_width" msgid="7516950434587313360">"Upana mdogo zaidi"</string>
+    <string name="developer_tile" msgid="4822711696408279658">"Hali ya usanidi"</string>
+    <string name="developer_tile_unavailable" msgid="6559656549479711827">"Hujachagua hali yoyote inayotumika"</string>
     <string name="premium_sms_none" msgid="8268105565738040566">"Hakuna programu zilizosakinishwa ambazo zimeomba kufikia huduma ya SMS zinazolipiwa"</string>
     <string name="premium_sms_warning" msgid="9086859595338944882">"Gharama ya huduma ya SMS zinazolipiwa itajumuishwa kwenye bili yako ya mtoa huduma. Ikiwa utatoa ruhusa ya programu fulani, utaweza kutuma SMS zinazolipiwa ukitumia programu hiyo."</string>
     <string name="premium_sms_access" msgid="4660047004791638305">"Ufikiaji wa huduma ya SMS zinazolipiwa"</string>
@@ -3313,4 +3316,16 @@
     <string name="enterprise_privacy_bug_reports" msgid="4762460041705169944">"Ripoti yako ya hivi majuzi ya hitilafu"</string>
     <string name="enterprise_privacy_security_logs" msgid="3648730027522011684">"Kumbukumbu yako ya hivi majuzi ya usalama"</string>
     <string name="enterprise_privacy_never" msgid="1304035596746436921">"Hajawahi"</string>
+    <string name="storage_photos_videos" msgid="1872663116054954685">"Picha na Video"</string>
+    <string name="storage_music_audio" msgid="7890103397813503615">"Muziki na Sauti"</string>
+    <string name="storage_games" msgid="7703159201697117621">"Michezo"</string>
+    <string name="storage_other_apps" msgid="5524321740031718083">"Programu zingine"</string>
+    <string name="storage_files" msgid="8581083146777364063">"Faili"</string>
+    <string name="storage_settings_2" msgid="6369810699930056554">"Hifadhi ya Simu"</string>
+    <!-- no translation found for storage_size_large_alternate (3436941214395940966) -->
+    <skip />
+    <!-- no translation found for storage_volume_free (8829609507318832879) -->
+    <skip />
+    <!-- no translation found for storage_percent_used (6741397129281819921) -->
+    <skip />
 </resources>
diff --git a/res/values-ta-rIN-nokeys/strings.xml b/res/values-ta-nokeys/strings.xml
similarity index 100%
rename from res/values-ta-rIN-nokeys/strings.xml
rename to res/values-ta-nokeys/strings.xml
diff --git a/res/values-ta-rIN/arrays.xml b/res/values-ta/arrays.xml
similarity index 100%
rename from res/values-ta-rIN/arrays.xml
rename to res/values-ta/arrays.xml
diff --git a/res/values-ta-rIN/strings.xml b/res/values-ta/strings.xml
similarity index 99%
rename from res/values-ta-rIN/strings.xml
rename to res/values-ta/strings.xml
index 2cdd4f0..7b15b9b 100644
--- a/res/values-ta-rIN/strings.xml
+++ b/res/values-ta/strings.xml
@@ -658,7 +658,7 @@
     <string name="android_beam_off_summary" msgid="4663095428454779138">"முடக்கப்பட்டுள்ளது"</string>
     <string name="android_beam_disabled_summary" msgid="1737782116894793393">"NFC முடக்கப்பட்டுள்ளதால் கிடைக்கவில்லை"</string>
     <string name="android_beam_label" msgid="6257036050366775040">"Android பீம்"</string>
-    <string name="android_beam_explained" msgid="1828555626055290684">"இந்த அம்சம் இயக்கப்பட்டிருக்கும் போது, சாதனங்களை நெருக்கமாக வைத்திருப்பதன் மூலம் பயன்பாட்டு உள்ளடக்கத்தை மற்றொரு NFC திறன் வாய்ந்த சாதனத்திற்கு பீம் செய்யலாம். எடுத்துக்காட்டாக, உலாவிப் பக்கங்கள், YouTube வீடியோக்கள், நபர்களின் தொடர்புகள், மேலும் பலவற்றை பீம் செய்யலாம்.\n\nசாதனங்களை ஒன்றாகக் கொண்டுவரவும் (அவற்றின் பின்பக்கம் சேர்ந்தாற்போல), பிறகு உங்கள் திரையைத் தட்டவும். எது பீம் செய்யப்படும் என்பதைப் பயன்பாடு தீர்மானிக்கும்."</string>
+    <string name="android_beam_explained" msgid="1810540319385192758">"இந்த அம்சம் இயக்கப்பட்டிருக்கும் போது, சாதனங்களை ஒன்றுக்கொன்று அருகில் வைத்துப் பிடிப்பதன் மூலம் பயன்பாட்டு உள்ளடக்கத்தை மற்றொரு NFC திறன் வாய்ந்த சாதனத்திற்குப் பீம் செய்யலாம். எடுத்துக்காட்டாக, உங்கள் உலாவிப் பக்கங்கள், YouTube வீடியோக்கள், தொடர்புகள், மேலும் பலவற்றைப் பீம் செய்யலாம்.\n\nசாதனங்களை ஒன்றுக்கொன்று மிகவும் அருகில் கொண்டுவந்து (அவற்றின் பின்பக்கம் சேர்ந்தார்போல்), உங்கள் திரையைத் தட்டவும். எதைப் பகிர வேண்டும் என்பதைப் பயன்பாடு தீர்மானிக்கும்."</string>
     <string name="wifi_quick_toggle_title" msgid="8850161330437693895">"வைஃபை"</string>
     <string name="wifi_quick_toggle_summary" msgid="2696547080481267642">"வைஃபையை இயக்கு"</string>
     <string name="wifi_settings" msgid="29722149822540994">"வைஃபை"</string>
@@ -2581,6 +2581,7 @@
     <string name="keywords_profile_challenge" msgid="789611397846512845">"பணிச்சுமை, பணி, சுயவிவரம்"</string>
     <string name="keywords_unification" msgid="1922900767659821025">"பணி சுயவிவரம், நிர்வகிக்கப்படும் சுயவிவரம், ஒருங்கிணை, ஒருங்கிணைத்தல், பணி, சுயவிவரம்"</string>
     <string name="keywords_gesture" msgid="5696040361482126337">"சைகை"</string>
+    <string name="keywords_payment_settings" msgid="5220104934130446416">"கட்டணம் செலுத்தவும், தட்டவும், கட்டணம் செலுத்துதல்"</string>
     <string name="setup_wifi_nfc_tag" msgid="9028353016222911016">"வைஃபை NFC குறியை அமை"</string>
     <string name="write_tag" msgid="8571858602896222537">"எழுது"</string>
     <string name="status_awaiting_tap" msgid="2130145523773160617">"எழுத, குறியைத் தட்டவும்..."</string>
@@ -2802,7 +2803,7 @@
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2232461523882170874">"இந்தப் பணி சுயவிவரத்தை நிர்வகிப்பது:"</string>
     <string name="managing_admin" msgid="8843802210377459055">"நிர்வகிப்பது: <xliff:g id="ADMIN_APP_LABEL">%s</xliff:g>"</string>
     <string name="experimental_preference" msgid="7083015446690681376">"(சோதனை முயற்சி)"</string>
-    <string name="display_auto_rotate_title" msgid="6176450657107806043">"சாதனத்தைச் சுழற்றும் போது"</string>
+    <string name="display_auto_rotate_title" msgid="7119684966039069439">"சாதனச் சுழற்சி"</string>
     <string name="display_auto_rotate_rotate" msgid="4544299861233497728">"திரை உள்ளடக்கத்தைச் சுழற்று"</string>
     <string name="display_auto_rotate_stay_in_portrait" msgid="292745182318093651">"நீளவாக்கில் வை"</string>
     <string name="display_auto_rotate_stay_in_landscape" msgid="3804752830204062162">"அகலவாக்கில் வை"</string>
@@ -3192,6 +3193,8 @@
     <string name="page_tab_title_support" msgid="6330657582897417458">"ஆதரவு"</string>
     <string name="developer_density_summary" msgid="1998244213021456519">"<xliff:g id="ID_1">%d</xliff:g> dp"</string>
     <string name="developer_smallest_width" msgid="7516950434587313360">"மிகக் குறைந்த அகலம்"</string>
+    <string name="developer_tile" msgid="4822711696408279658">"மேம்பாட்டுப் பயன்முறை"</string>
+    <string name="developer_tile_unavailable" msgid="6559656549479711827">"செயலில் உள்ள நிலை எதுவும் தேர்ந்தெடுக்கப்படவில்லை"</string>
     <string name="premium_sms_none" msgid="8268105565738040566">"பிரீமிய SMS அணுகலைக் கோரும் பயன்பாடுகள் எதுவும் நிறுவப்படவில்லை"</string>
     <string name="premium_sms_warning" msgid="9086859595338944882">"பிரீமிய SMSக்குக் கட்டணம் விதிக்கப்படலாம், அது மொபைல் நிறுவன பில்களில் சேர்க்கப்படும். பயன்பாட்டிற்கான அனுமதியை இயக்கினால், அந்தப் பயன்பாட்டைப் பயன்படுத்தி பிரீமிய SMSஐ அனுப்ப முடியும்."</string>
     <string name="premium_sms_access" msgid="4660047004791638305">"பிரீமிய SMS அணுகல்"</string>
@@ -3313,4 +3316,16 @@
     <string name="enterprise_privacy_bug_reports" msgid="4762460041705169944">"உங்களின் மிகச் சமீபத்திய பிழை அறிக்கை"</string>
     <string name="enterprise_privacy_security_logs" msgid="3648730027522011684">"உங்களின் மிகச் சமீபத்திய பாதுகாப்புப் பதிவு"</string>
     <string name="enterprise_privacy_never" msgid="1304035596746436921">"ஒருபோதும் வேண்டாம்"</string>
+    <string name="storage_photos_videos" msgid="1872663116054954685">"படங்கள் &amp; வீடியோக்கள்"</string>
+    <string name="storage_music_audio" msgid="7890103397813503615">"இசை &amp; ஆடியோ"</string>
+    <string name="storage_games" msgid="7703159201697117621">"கேம்கள்"</string>
+    <string name="storage_other_apps" msgid="5524321740031718083">"பிற பயன்பாடுகள்"</string>
+    <string name="storage_files" msgid="8581083146777364063">"கோப்புகள்"</string>
+    <string name="storage_settings_2" msgid="6369810699930056554">"மொபைல் சேமிப்பகம்"</string>
+    <!-- no translation found for storage_size_large_alternate (3436941214395940966) -->
+    <skip />
+    <!-- no translation found for storage_volume_free (8829609507318832879) -->
+    <skip />
+    <!-- no translation found for storage_percent_used (6741397129281819921) -->
+    <skip />
 </resources>
diff --git a/res/values-te-rIN-nokeys/strings.xml b/res/values-te-nokeys/strings.xml
similarity index 100%
rename from res/values-te-rIN-nokeys/strings.xml
rename to res/values-te-nokeys/strings.xml
diff --git a/res/values-te-rIN/arrays.xml b/res/values-te/arrays.xml
similarity index 100%
rename from res/values-te-rIN/arrays.xml
rename to res/values-te/arrays.xml
diff --git a/res/values-te-rIN/strings.xml b/res/values-te/strings.xml
similarity index 99%
rename from res/values-te-rIN/strings.xml
rename to res/values-te/strings.xml
index 95be5bb..943a92f 100644
--- a/res/values-te-rIN/strings.xml
+++ b/res/values-te/strings.xml
@@ -658,7 +658,7 @@
     <string name="android_beam_off_summary" msgid="4663095428454779138">"ఆఫ్‌లో ఉంది"</string>
     <string name="android_beam_disabled_summary" msgid="1737782116894793393">"NFC ఆఫ్ చేయబడినందున అందుబాటులో లేదు"</string>
     <string name="android_beam_label" msgid="6257036050366775040">"Android Beam"</string>
-    <string name="android_beam_explained" msgid="1828555626055290684">"ఈ లక్షణం ఆన్ చేసినప్పుడు, మీరు పరికరాలను దగ్గరగా ఉంచి పట్టుకోవడం ద్వారా అనువర్తన కంటెంట్‌ను మరో NFC-సామర్థ్య పరికరానికి బదిలీ చేయవచ్చు. ఉదాహరణకు, మీరు బ్రౌజర్ పేజీలు, YouTube వీడియోలు, వ్యక్తుల పరిచయాలు తదితరమైనవి బదిలీ చేయవచ్చు.\n\nపరికరాలను దగ్గరగా తీసుకువచ్చి (సాధారణంగా ఒకదాని వెనుక ఒకటి ఉంచి), ఆపై మీ స్క్రీన్‌పై నొక్కండి. అనువర్తనం దేన్ని బదిలీ చేయాలో నిర్ణయిస్తుంది."</string>
+    <string name="android_beam_explained" msgid="1810540319385192758">"ఈ లక్షణం ప్రారంభించబడినప్పుడు, మీరు పరికరాలను దగ్గరగా ఉంచి పట్టుకోవడం ద్వారా అనువర్తన కంటెంట్‌ను మరో NFC-సామర్థ్య పరికరానికి బదిలీ చేయవచ్చు. ఉదాహరణకు, మీరు వెబ్ పేజీలు, YouTube వీడియోలు, పరిచయాలు మొదలైనవి బదిలీ చేయవచ్చు.\n\nపరికరాలను దగ్గరగా తీసుకువచ్చి (సాధారణంగా ఒకదాని వెనుక ఒకటి ఉంచి), ఆపై మీ స్క్రీన్‌ను తట్టండి. అనువర్తనం బదిలీ చేయాల్సిన వాటిని నిర్ణయిస్తుంది."</string>
     <string name="wifi_quick_toggle_title" msgid="8850161330437693895">"Wi‑Fi"</string>
     <string name="wifi_quick_toggle_summary" msgid="2696547080481267642">"Wi‑Fiని ప్రారంభించండి"</string>
     <string name="wifi_settings" msgid="29722149822540994">"Wi‑Fi"</string>
@@ -2581,6 +2581,7 @@
     <string name="keywords_profile_challenge" msgid="789611397846512845">"కార్యాలయ సవాలు, కార్యాలయం, ప్రొఫైల్"</string>
     <string name="keywords_unification" msgid="1922900767659821025">"కార్యాలయ ప్రొఫైల్, నిర్వహించబడిన ప్రొఫైల్, ఏకీకరించు, ఏకీకరణ, కార్యాలయం, ప్రొఫైల్"</string>
     <string name="keywords_gesture" msgid="5696040361482126337">"సంజ్ఞ"</string>
+    <string name="keywords_payment_settings" msgid="5220104934130446416">"చెల్లించడం, నొక్కడం, చెల్లింపులు"</string>
     <string name="setup_wifi_nfc_tag" msgid="9028353016222911016">"Wi-Fi NFC ట్యాగ్‌ను సెటప్ చేయండి"</string>
     <string name="write_tag" msgid="8571858602896222537">"వ్రాయి"</string>
     <string name="status_awaiting_tap" msgid="2130145523773160617">"వ్రాయడానికి ట్యాగ్‌ను నొక్కండి..."</string>
@@ -2802,7 +2803,7 @@
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2232461523882170874">"ఈ కార్యాలయ ప్రొఫైల్ వీరి నిర్వహణలో ఉంది:"</string>
     <string name="managing_admin" msgid="8843802210377459055">"నిర్వహిస్తున్నది <xliff:g id="ADMIN_APP_LABEL">%s</xliff:g>"</string>
     <string name="experimental_preference" msgid="7083015446690681376">"(ప్రయోగాత్మకం)"</string>
-    <string name="display_auto_rotate_title" msgid="6176450657107806043">"పరికరాన్ని తిప్పినప్పుడు"</string>
+    <string name="display_auto_rotate_title" msgid="7119684966039069439">"పరికర భ్రమణం"</string>
     <string name="display_auto_rotate_rotate" msgid="4544299861233497728">"స్క్రీన్‌లోని కంటెంట్‌లను తిప్పు"</string>
     <string name="display_auto_rotate_stay_in_portrait" msgid="292745182318093651">"పోర్ట్రెయిట్ వీక్షణలో ఉంచు"</string>
     <string name="display_auto_rotate_stay_in_landscape" msgid="3804752830204062162">"ల్యాండ్‌స్కేప్ వీక్షణలో ఉంచు"</string>
@@ -3192,6 +3193,8 @@
     <string name="page_tab_title_support" msgid="6330657582897417458">"మద్దతు"</string>
     <string name="developer_density_summary" msgid="1998244213021456519">"<xliff:g id="ID_1">%d</xliff:g> dp"</string>
     <string name="developer_smallest_width" msgid="7516950434587313360">"అతితక్కువ వెడల్పు"</string>
+    <string name="developer_tile" msgid="4822711696408279658">"అభివృద్ధి మోడ్"</string>
+    <string name="developer_tile_unavailable" msgid="6559656549479711827">"సక్రియ స్థితి ఏదీ ఎంచుకోలేదు"</string>
     <string name="premium_sms_none" msgid="8268105565738040566">"ఇన్‌స్టాల్ చేసిన అనువర్తనాలు ఏవీ ప్రీమియం SMS ప్రాప్యతను అభ్యర్థించలేదు"</string>
     <string name="premium_sms_warning" msgid="9086859595338944882">"ప్రీమియం SMSతో మీకు డబ్బు ఖర్చు కావచ్చు, ఈ ఛార్జీ మీ క్యారియర్ బిల్లుల్లో విధించబడుతుంది. మీరు ఒక అనువర్తనానికి అనుమతిని అందిస్తే, ఆ అనువర్తనాన్ని ఉపయోగించి ప్రీమియం SMSను పంపగలరు."</string>
     <string name="premium_sms_access" msgid="4660047004791638305">"ప్రీమియం SMS ప్రాప్యత"</string>
@@ -3313,4 +3316,16 @@
     <string name="enterprise_privacy_bug_reports" msgid="4762460041705169944">"మీ అత్యంత ఇటీవలి బగ్ నివేదిక"</string>
     <string name="enterprise_privacy_security_logs" msgid="3648730027522011684">"మీ అత్యంత ఇటీవలి భద్రతా లాగ్"</string>
     <string name="enterprise_privacy_never" msgid="1304035596746436921">"ఎన్నడూ చేయలేదు"</string>
+    <string name="storage_photos_videos" msgid="1872663116054954685">"ఫోటోలు &amp; వీడియోలు"</string>
+    <string name="storage_music_audio" msgid="7890103397813503615">"సంగీతం &amp; ఆడియో"</string>
+    <string name="storage_games" msgid="7703159201697117621">"గేమ్‌లు"</string>
+    <string name="storage_other_apps" msgid="5524321740031718083">"ఇతర అనువర్తనాలు"</string>
+    <string name="storage_files" msgid="8581083146777364063">"ఫైల్‌లు"</string>
+    <string name="storage_settings_2" msgid="6369810699930056554">"ఫోన్ నిల్వ"</string>
+    <!-- no translation found for storage_size_large_alternate (3436941214395940966) -->
+    <skip />
+    <!-- no translation found for storage_volume_free (8829609507318832879) -->
+    <skip />
+    <!-- no translation found for storage_percent_used (6741397129281819921) -->
+    <skip />
 </resources>
diff --git a/res/values-th/strings.xml b/res/values-th/strings.xml
index 902fd65..80d826d 100644
--- a/res/values-th/strings.xml
+++ b/res/values-th/strings.xml
@@ -86,8 +86,7 @@
     <string name="font_size_preview_text_headline" msgid="7955317408475392247">"ข้อความตัวอย่าง"</string>
     <string name="font_size_preview_text_title" msgid="1310536233106975546">"พ่อมดมหัศจรรย์แห่งออซ"</string>
     <string name="font_size_preview_text_subtitle" msgid="4231671528173110093">"บทที่ 11: เมืองมรกตมหัศจรรย์แห่งออซ"</string>
-    <!-- no translation found for font_size_preview_text_body (2846183528684496723) -->
-    <skip />
+    <string name="font_size_preview_text_body" msgid="2846183528684496723">"แม้ว่าจะสวมแว่นสีเขียวเพื่อปกป้องสายตาไว้แล้ว แต่โดโรธีและผองเพื่อนก็อดไม่ได้ที่จะตกตะลึงกับความงดงามเมื่อแรกเห็นของเมืองอันน่าอัศจรรย์นี้ ท้องถนนมีบ้านเรือนที่สวยงามสร้างจากหินอ่อนสีเขียวประดับด้วยมรกตแวววาวเป็นประกายเต็มไปหมด เธอและเพื่อนๆ เดินไปบนทางเท้าทำจากหินอ่อนสีเขียวเหมือนกัน ร่องระหว่างหินอ่อนแต่ละก้อนโรยด้วยมรกตเรียงเบียดกันเป็นแถว ส่องประกายวาววับเมื่อจับต้องกับแสงแดด บานหน้าต่างทำจากกระจกสีเขียว แม้แต่ท้องฟ้าที่ปกคลุมเมืองนี้ยังมีสีอมเขียวอ่อนๆ แสงอาทิตย์ที่ส่องลงมาก็เป็นสีเขียวเช่นกัน \n\nมีผู้คนเดินไปมาอยู่มากมาย ทั้งผู้ชาย ผู้หญิง และเด็ก ทุกคนล้วนแต่งตัวด้วยเสื้อผ้าสีเขียวและมีผิวพรรณออกสีเขียวๆ ผู้คนต่างพากันจ้องมองมาที่โดโรธีและผองเพื่อนหลากหลายเผ่าพันธุ์ด้วยสายตาที่ฉงนสงสัย เด็กๆ พากันวิ่งหนีและไปซ่อนข้างหลังแม่ของตนเมื่อเห็นเจ้าราชสีห์ แต่ไม่มีใครพูดคุยกับพวกเขาเลย ร้านค้ามากมายเรียงรายบนท้องถนน และโดโรธีเห็นว่าทุกอย่างในร้านเหล่านี้เป็นสีเขียว มีการขายลูกอมและข้าวโพดคั่วสีเขียว รวมถึงรองเท้าสีเขียว หมวกสีเขียว และเสื้อผ้าสีเขียวหลากหลายรูปแบบ มีร้านหนึ่งขายน้ำมะนาวสีเขียว และเมื่อมีเด็กไปซื้อน้ำมะนาว โดโรธีก็เห็นว่าเด็กๆ จ่ายเงินด้วยเหรียญสีเขียว \n\nดูเหมือนว่าเมืองนี้จะไม่มีม้าหรือสัตว์ชนิดอื่นใดเลย ผู้คนขนของกันด้วยรถเข็นเล็กๆ สีเขียวแบบที่ต้องเข็นไปข้างหน้า ทุกคนแลดูมีความสุข ปลื้มปีติ และมั่งคั่ง"</string>
     <string name="font_size_save" msgid="3450855718056759095">"ตกลง"</string>
     <string name="sdcard_setting" product="nosdcard" msgid="8281011784066476192">"ที่เก็บข้อมูล USB"</string>
     <string name="sdcard_setting" product="default" msgid="5922637503871474866">"การ์ด SD"</string>
@@ -658,7 +657,7 @@
     <string name="android_beam_off_summary" msgid="4663095428454779138">"ปิด"</string>
     <string name="android_beam_disabled_summary" msgid="1737782116894793393">"ใช้งานไม่ได้เนื่องจากปิด NFC อยู่"</string>
     <string name="android_beam_label" msgid="6257036050366775040">"Android Beam"</string>
-    <string name="android_beam_explained" msgid="1828555626055290684">"เมื่อเปิดคุณลักษณะนี้แล้ว คุณสามารถบีมเนื้อหาของแอปไปยังอุปกรณ์เครื่องอื่นที่สามารถใช้ NFC โดยถืออุปกรณ์ทั้ง 2 เครื่องไว้ใกล้กัน เช่น คุณสามารถบีมหน้าในเบราว์เซอร์, วิดีโอ YouTube, รายชื่อติดต่อของ People และอื่นๆ\n\nเพียงนำอุปกรณ์มาไว้ใกล้กัน (ปกติแล้วให้หันด้านหลังชนกัน) แล้วแตะหน้าจอ แอปจะพิจารณาว่าจะบีมสิ่งใด"</string>
+    <string name="android_beam_explained" msgid="1810540319385192758">"เมื่อเปิดคุณลักษณะนี้ไว้ คุณสามารถบีมเนื้อหาแอปไปยังอุปกรณ์อีกเครื่องหนึ่งที่ใช้ NFC ได้โดยถืออุปกรณ์ไว้ใกล้กัน ตัวอย่างเช่น คุณสามารถบีมหน้าเว็บ วิดีโอ YouTube รายชื่อติดต่อ และอื่นๆ \n\nเพียงนำอุปกรณ์มาชนกัน (โดยทั่วไปจะหันหลังชนกัน) แล้วแตะหน้าจอ แอปจะกำหนดเนื้อหาที่จะบีม"</string>
     <string name="wifi_quick_toggle_title" msgid="8850161330437693895">"WiFi"</string>
     <string name="wifi_quick_toggle_summary" msgid="2696547080481267642">"เปิด WiFi"</string>
     <string name="wifi_settings" msgid="29722149822540994">"WiFi"</string>
@@ -1536,11 +1535,9 @@
     <string name="app_install_location_summary" msgid="5155453752692959098">"เปลี่ยนตำแหน่งติดตั้งที่ต้องการสำหรับแอปพลิเคชันใหม่"</string>
     <string name="app_disable_dlg_title" msgid="3916469657537695436">"ปิดแอปพลิเคชันในตัวหรือไม่"</string>
     <string name="app_disable_dlg_positive" msgid="7375627244201714263">"ปิดใช้แอป"</string>
-    <!-- no translation found for app_disable_dlg_text (5632072173181990531) -->
-    <skip />
+    <string name="app_disable_dlg_text" msgid="5632072173181990531">"หากคุณปิดใช้แอปนี้ Android และแอปอื่นๆ อาจไม่ทำงานตามที่ควรจะเป็นอีกต่อไป"</string>
     <string name="app_special_disable_dlg_title" msgid="2690148680327142674">"ลบข้อมูลและปิดใช้งานแอปพลิเคชันหรือไม่"</string>
-    <!-- no translation found for app_special_disable_dlg_text (5832078825810635913) -->
-    <skip />
+    <string name="app_special_disable_dlg_text" msgid="5832078825810635913">"หากคุณปิดใช้แอปนี้ Android และแอปอื่นๆ อาจไม่ทำงานตามที่ควรจะเป็นอีกต่อไป และระบบจะลบข้อมูลของคุณด้วย"</string>
     <string name="app_disable_notifications_dlg_title" msgid="7669264654851761857">"ปิดการแจ้งเตือนหรือไม่"</string>
     <string name="app_disable_notifications_dlg_text" msgid="5088484670924769845">"หากคุณปิดการแจ้งเตือนสำหรับแอปพลิเคชันนี้ คุณอาจพลาดการแจ้งเตือนและการอัปเดตที่สำคัญ"</string>
     <string name="app_install_details_group_title" msgid="7084623031296083574">"สโตร์"</string>
@@ -2527,8 +2524,7 @@
       <item quantity="other">แสดงรายการที่ซ่อน %d รายการ</item>
       <item quantity="one">แสดงรายการที่ซ่อน %d รายการ</item>
     </plurals>
-    <!-- no translation found for network_dashboard_title (3135144174846753758) -->
-    <skip />
+    <string name="network_dashboard_title" msgid="3135144174846753758">"เครือข่ายและอินเทอร์เน็ต"</string>
     <string name="connected_devices_dashboard_title" msgid="2355264951438890709">"อุปกรณ์ที่เชื่อมต่อ"</string>
     <string name="app_and_notification_dashboard_title" msgid="7838365599185397539">"แอปและการแจ้งเตือน"</string>
     <string name="account_dashboard_title" msgid="38701889336378742">"ผู้ใช้และบัญชี"</string>
@@ -2581,6 +2577,7 @@
     <string name="keywords_profile_challenge" msgid="789611397846512845">"ความท้าทายในการทำงาน, งาน, โปรไฟล์"</string>
     <string name="keywords_unification" msgid="1922900767659821025">"โปรไฟล์งาน, โปรไฟล์ที่มีการจัดการ, รวม, การรวม, งาน, โปรไฟล์"</string>
     <string name="keywords_gesture" msgid="5696040361482126337">"ท่าทางสัมผัส"</string>
+    <string name="keywords_payment_settings" msgid="5220104934130446416">"ชำระเงิน แตะ การชำระเงิน"</string>
     <string name="setup_wifi_nfc_tag" msgid="9028353016222911016">"ตั้งค่าแท็ก NFC สำหรับ Wi-Fi"</string>
     <string name="write_tag" msgid="8571858602896222537">"เขียน"</string>
     <string name="status_awaiting_tap" msgid="2130145523773160617">"แตะแท็กเพื่อเขียน..."</string>
@@ -2653,16 +2650,11 @@
     <string name="app_notifications_title" msgid="139788604658984593">"การแจ้งเตือน"</string>
     <string name="notification_importance_title" msgid="848692592679312666">"ความสำคัญ"</string>
     <string name="notification_importance_none" msgid="3173515479356106227">"ไม่ได้ตั้งค่า"</string>
-    <!-- no translation found for notification_importance_blocked (7938180808339386300) -->
-    <skip />
-    <!-- no translation found for notification_importance_min (5455049524984686275) -->
-    <skip />
-    <!-- no translation found for notification_importance_low (2445139943005315690) -->
-    <skip />
-    <!-- no translation found for notification_importance_default (5958338024601957516) -->
-    <skip />
-    <!-- no translation found for notification_importance_high (2082429479238228527) -->
-    <skip />
+    <string name="notification_importance_blocked" msgid="7938180808339386300">"ไม่ต้องแสดงการแจ้งเตือน"</string>
+    <string name="notification_importance_min" msgid="5455049524984686275">"ไม่มีภาพหรือเสียงรบกวน"</string>
+    <string name="notification_importance_low" msgid="2445139943005315690">"แสดงโดยไม่ส่งเสียง"</string>
+    <string name="notification_importance_default" msgid="5958338024601957516">"ส่งเสียง"</string>
+    <string name="notification_importance_high" msgid="2082429479238228527">"ส่งเสียงและแสดงในหน้าจอ"</string>
     <string name="importance_reset" msgid="7458420788555607007">"รีเซ็ต"</string>
     <string name="show_silently" msgid="2222875799232222056">"แสดงโดยไม่ส่งเสียง"</string>
     <string name="show_silently_summary" msgid="7616604629123146565">"ไม่ส่งเสียงเตือน สั่น หรือแสดงชั่วครู่ในมุมมองหน้าจอปัจจุบันสำหรับการแจ้งเตือนเหล่านี้"</string>
@@ -2691,16 +2683,11 @@
     <string name="loading_notification_apps" msgid="5031818677010335895">"กำลังโหลดแอป..."</string>
     <string name="notification_channels" msgid="8681423709659818791">"ช่อง"</string>
     <string name="app_notification_block_title" msgid="4069351066849087649">"บล็อกทั้งหมด"</string>
-    <!-- no translation found for app_notification_block_summary (4744020456943215352) -->
-    <skip />
-    <!-- no translation found for notification_content_block_title (5854232570963006360) -->
-    <skip />
-    <!-- no translation found for notification_content_block_summary (7746185794438882389) -->
-    <skip />
-    <!-- no translation found for notification_badge_title (5404669445214920178) -->
-    <skip />
-    <!-- no translation found for notification_badge_summary (3944771498030335669) -->
-    <skip />
+    <string name="app_notification_block_summary" msgid="4744020456943215352">"ไม่ต้องแสดงการแจ้งเตือนเหล่านี้"</string>
+    <string name="notification_content_block_title" msgid="5854232570963006360">"แสดงการแจ้งเตือน"</string>
+    <string name="notification_content_block_summary" msgid="7746185794438882389">"ไม่ต้องแสดงการแจ้งเตือนในแว่นตาหรืออุปกรณ์ต่อพ่วง"</string>
+    <string name="notification_badge_title" msgid="5404669445214920178">"แสดงป้าย"</string>
+    <string name="notification_badge_summary" msgid="3944771498030335669">"แสดงการแจ้งเตือนเป็นป้ายในแอปหน้าแรก หากอุปกรณ์รองรับ"</string>
     <string name="app_notification_override_dnd_title" msgid="7867458246395884830">"ลบล้างห้ามรบกวน"</string>
     <string name="app_notification_override_dnd_summary" msgid="3516007157020189746">"อนุญาตให้แสดงการแจ้งเตือนเหล่านี้ต่อไปเมื่อตั้งค่าห้ามรบกวนเป็นเฉพาะเรื่องสำคัญเท่านั้น"</string>
     <string name="app_notification_visibility_override_title" msgid="2187232730902430718">"บนหน้าจอล็อก"</string>
@@ -2802,7 +2789,7 @@
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2232461523882170874">"โปรไฟล์งานนี้ได้รับการจัดการโดย:"</string>
     <string name="managing_admin" msgid="8843802210377459055">"จัดการโดย <xliff:g id="ADMIN_APP_LABEL">%s</xliff:g>"</string>
     <string name="experimental_preference" msgid="7083015446690681376">"(ทดลอง)"</string>
-    <string name="display_auto_rotate_title" msgid="6176450657107806043">"เมื่อหมุนอุปกรณ์"</string>
+    <string name="display_auto_rotate_title" msgid="7119684966039069439">"การหมุนอุปกรณ์"</string>
     <string name="display_auto_rotate_rotate" msgid="4544299861233497728">"หมุนเนื้อหาของหน้าจอ"</string>
     <string name="display_auto_rotate_stay_in_portrait" msgid="292745182318093651">"ใช้มุมมองแนวตั้ง"</string>
     <string name="display_auto_rotate_stay_in_landscape" msgid="3804752830204062162">"ใช้มุมมองแนวนอน"</string>
@@ -3192,6 +3179,8 @@
     <string name="page_tab_title_support" msgid="6330657582897417458">"การสนับสนุน"</string>
     <string name="developer_density_summary" msgid="1998244213021456519">"<xliff:g id="ID_1">%d</xliff:g> dp"</string>
     <string name="developer_smallest_width" msgid="7516950434587313360">"ความกว้างที่เล็กที่สุด"</string>
+    <string name="developer_tile" msgid="4822711696408279658">"โหมดนักพัฒนาซอฟต์แวร์"</string>
+    <string name="developer_tile_unavailable" msgid="6559656549479711827">"ไม่ได้เลือกสถานะที่มีการใช้งาน"</string>
     <string name="premium_sms_none" msgid="8268105565738040566">"ไม่มีแอปใดที่ติดตั้งไว้ขอเข้าถึง SMS แบบพรีเมียม"</string>
     <string name="premium_sms_warning" msgid="9086859595338944882">"SMS แบบพรีเมียมอาจมีค่าใช้จ่ายและจะเพิ่มเข้าไปในใบเรียกเก็บเงินจากผู้ให้บริการ หากคุณให้สิทธิ์แอปหนึ่งๆ คุณจะใช้แอปนั้นส่ง SMS แบบพรีเมียมได้"</string>
     <string name="premium_sms_access" msgid="4660047004791638305">"การเข้าถึง SMS แบบพรีเมียม"</string>
@@ -3221,8 +3210,7 @@
     <string name="support_disclaimer_do_not_show" msgid="3378367075323727539">"ไม่ต้องแสดงอีก"</string>
     <string name="support_account_request_prefix" msgid="6387847874661861650">"กำลังส่งคำขอโดยใช้"</string>
     <string name="support_account_picker_add_account" msgid="5076277544846506214">"เพิ่มบัญชี"</string>
-    <!-- no translation found for support_system_information_title (3439905790018934773) -->
-    <skip />
+    <string name="support_system_information_title" msgid="3439905790018934773">"ข้อมูลระบบ"</string>
     <string name="managed_profile_settings_title" msgid="2729481936758125054">"การตั้งค่าโปรไฟล์งาน"</string>
     <string name="managed_profile_contact_search_title" msgid="6034734926815544221">"ค้นหารายชื่อติดต่อ"</string>
     <string name="managed_profile_contact_search_summary" msgid="5431253552272970512">"อนุญาตให้องค์กรของคุณค้นหารายชื่อติดต่อเพื่อระบุผู้โทรและรายชื่อติดต่อ"</string>
@@ -3313,4 +3301,16 @@
     <string name="enterprise_privacy_bug_reports" msgid="4762460041705169944">"รายงานข้อบกพร่องล่าสุดของคุณ"</string>
     <string name="enterprise_privacy_security_logs" msgid="3648730027522011684">"บันทึกความปลอดภัยล่าสุด"</string>
     <string name="enterprise_privacy_never" msgid="1304035596746436921">"ไม่เลย"</string>
+    <string name="storage_photos_videos" msgid="1872663116054954685">"รูปภาพและวิดีโอ"</string>
+    <string name="storage_music_audio" msgid="7890103397813503615">"เพลงและเสียง"</string>
+    <string name="storage_games" msgid="7703159201697117621">"เกม"</string>
+    <string name="storage_other_apps" msgid="5524321740031718083">"แอปอื่นๆ"</string>
+    <string name="storage_files" msgid="8581083146777364063">"ไฟล์"</string>
+    <string name="storage_settings_2" msgid="6369810699930056554">"พื้นที่เก็บข้อมูลโทรศัพท์"</string>
+    <!-- no translation found for storage_size_large_alternate (3436941214395940966) -->
+    <skip />
+    <!-- no translation found for storage_volume_free (8829609507318832879) -->
+    <skip />
+    <!-- no translation found for storage_percent_used (6741397129281819921) -->
+    <skip />
 </resources>
diff --git a/res/values-tl/strings.xml b/res/values-tl/strings.xml
index 047a687..3e199a6 100644
--- a/res/values-tl/strings.xml
+++ b/res/values-tl/strings.xml
@@ -86,8 +86,7 @@
     <string name="font_size_preview_text_headline" msgid="7955317408475392247">"Sample na text"</string>
     <string name="font_size_preview_text_title" msgid="1310536233106975546">"The Wonderful Wizard of Oz"</string>
     <string name="font_size_preview_text_subtitle" msgid="4231671528173110093">"Kabanata 11: The Wonderful Emerald City of Oz"</string>
-    <!-- no translation found for font_size_preview_text_body (2846183528684496723) -->
-    <skip />
+    <string name="font_size_preview_text_body" msgid="2846183528684496723">"Kahit na pinoprotektahan ng kulay berdeng salamin ang kanilang mga mata, nasilaw si Dorothy at ang kanyang mga kaibigan sa kislap ng kamangha-manghang Lungsod. Nakalinya sa kalsada ang magagandang bahay na gawa sa berdeng marmol at punung-puno ng mga kumikinang na esmeralda. Naglakad sila sa kalsadang gawa sa parehong berdeng marmol, may mga esmeraldang nakalagay nang magkakalapit at nakapila kung saan magkadikit ang mga bloke, at kumukutikutitap ang mga ito sa ningning ng araw. Gawa sa kulay berdeng salamin ang mga bintana; may tint na berde maging ang langit sa itaas ng Lungsod, at kulay berde ang mga sinag ng araw. \n\nMaraming tao roon, mga lalaki, babae at bata, naglalakad-lakad, at nakasuot lahat sila ng mga damit na kulay berde at kulay berde rin ang mga balat nila. Namamangha nilang tiningnan si Dorothy at ang mga kasama niyang kakaiba ang pagkakasari-sari, at tumakbo palayo at nagtago sa likod ng mga nanay nila ang mga bata noong nakita nila ang Leon; ngunit walang kumausap sa kanila. Maraming tindahan ang nakatayo sa kalsada, at nakita ni Dorothy na kulay berde ang lahat ng paninda. Berdeng kendi at berdeng pop-corn ang inaalok para itinda, pati na rin ang iba\'t ibang uri ng mga berdeng sapatos, berdeng sumbrero at berdeng damit. Sa isang lugar, may lalaking nagtitinda ng berdeng limonada, at kapag bumibili nito ang mga bata, nakikita ni Dorothy na berdeng barya ang ipinambabayad nila. \n\nTila walang mga kabayo o anumang uri ng hayop doon; dinadala ng mga lalaki ang mga bagay-bagay sa maliliit na berdeng kariton, na itinutulak nila sa kanilang harapan. Mukhang masaya, kuntento at masagana ang lahat."</string>
     <string name="font_size_save" msgid="3450855718056759095">"OK"</string>
     <string name="sdcard_setting" product="nosdcard" msgid="8281011784066476192">"Imbakan na USB"</string>
     <string name="sdcard_setting" product="default" msgid="5922637503871474866">"SD card"</string>
@@ -658,7 +657,7 @@
     <string name="android_beam_off_summary" msgid="4663095428454779138">"I-off"</string>
     <string name="android_beam_disabled_summary" msgid="1737782116894793393">"Hindi available dahil naka-off ang NFC"</string>
     <string name="android_beam_label" msgid="6257036050366775040">"Android Beam"</string>
-    <string name="android_beam_explained" msgid="1828555626055290684">"Kapag na-on ang feature na ito, maaari kang mag-beam ng content ng app sa iba pang device na may NFC sa pamamagitan ng paglalapit sa mga device. Halimbawa, maaari kang mag-beam ng mga page ng Browser, video sa YouTube, contact sa Mga Tao at marami pang iba.\n\nPaglapitin lang ang mga device (karaniwang magkatalikuran) at pagkatapos ay i-tap ang iyong screen. Tutukuyin ng app kung ano ang ibi-beam."</string>
+    <string name="android_beam_explained" msgid="1810540319385192758">"Kapag naka-on ang feature na ito, maaari mong i-beam ang content ng app sa iba pang device na may NFC sa pamamagitan ng paglalapit sa mga device. Halimbawa, maaari kang mag-beam ng mga web page, video sa YouTube, contact at higit pa.\n\nPaglapitin lang ang mga device (karaniwang magkatalikuran) at pagkatapos ay i-tap ang iyong screen. Tutukuyin ng app kung ano ang ibi-beam."</string>
     <string name="wifi_quick_toggle_title" msgid="8850161330437693895">"Wi‑Fi"</string>
     <string name="wifi_quick_toggle_summary" msgid="2696547080481267642">"I-on ang Wi-Fi"</string>
     <string name="wifi_settings" msgid="29722149822540994">"Wi‑Fi"</string>
@@ -1536,11 +1535,9 @@
     <string name="app_install_location_summary" msgid="5155453752692959098">"Baguhin ang ninanais na lokasyon ng pag-install para sa bagong apps"</string>
     <string name="app_disable_dlg_title" msgid="3916469657537695436">"I-disable ang built-in na app?"</string>
     <string name="app_disable_dlg_positive" msgid="7375627244201714263">"I-disable ang app"</string>
-    <!-- no translation found for app_disable_dlg_text (5632072173181990531) -->
-    <skip />
+    <string name="app_disable_dlg_text" msgid="5632072173181990531">"Kung idi-disable mo ang app na ito, maaaring hindi na gumana ang Android at iba pang mga app gaya ng inaasahan."</string>
     <string name="app_special_disable_dlg_title" msgid="2690148680327142674">"I-delete ang data at i-disable ang app?"</string>
-    <!-- no translation found for app_special_disable_dlg_text (5832078825810635913) -->
-    <skip />
+    <string name="app_special_disable_dlg_text" msgid="5832078825810635913">"Kung idi-disable mo ang app na ito, maaaring hindi na gumana ang Android at iba pang mga app gaya ng inaasahan. Made-delete din ang iyong data."</string>
     <string name="app_disable_notifications_dlg_title" msgid="7669264654851761857">"I-off ang mga notification?"</string>
     <string name="app_disable_notifications_dlg_text" msgid="5088484670924769845">"Kung i-o-off mo ang mga notification para sa app na ito, maaari mong makaligtaan ang mahahalagang alerto at update."</string>
     <string name="app_install_details_group_title" msgid="7084623031296083574">"Store"</string>
@@ -2527,8 +2524,7 @@
       <item quantity="one">Ipakita ang %d nakatagong item</item>
       <item quantity="other">Ipakita ang %d na nakatagong item</item>
     </plurals>
-    <!-- no translation found for network_dashboard_title (3135144174846753758) -->
-    <skip />
+    <string name="network_dashboard_title" msgid="3135144174846753758">"Network at internet"</string>
     <string name="connected_devices_dashboard_title" msgid="2355264951438890709">"Mga nakakonektang device"</string>
     <string name="app_and_notification_dashboard_title" msgid="7838365599185397539">"Mga app at notification"</string>
     <string name="account_dashboard_title" msgid="38701889336378742">"User at mga account"</string>
@@ -2581,6 +2577,7 @@
     <string name="keywords_profile_challenge" msgid="789611397846512845">"hamon sa trabaho, trabaho, profile"</string>
     <string name="keywords_unification" msgid="1922900767659821025">"profile sa trabaho, pinamamahalaang profile, pagsamahin, pagsasama, trabaho, profile"</string>
     <string name="keywords_gesture" msgid="5696040361482126337">"galaw"</string>
+    <string name="keywords_payment_settings" msgid="5220104934130446416">"magbayad, mag-tap, mga pagbabayad"</string>
     <string name="setup_wifi_nfc_tag" msgid="9028353016222911016">"I-set up ang Tag ng NFC sa Wi-Fi"</string>
     <string name="write_tag" msgid="8571858602896222537">"Magsulat"</string>
     <string name="status_awaiting_tap" msgid="2130145523773160617">"Mag-tap ng tag upang magsulat..."</string>
@@ -2653,16 +2650,11 @@
     <string name="app_notifications_title" msgid="139788604658984593">"Mga Notification"</string>
     <string name="notification_importance_title" msgid="848692592679312666">"Kahalagahan"</string>
     <string name="notification_importance_none" msgid="3173515479356106227">"Hindi nakatakda"</string>
-    <!-- no translation found for notification_importance_blocked (7938180808339386300) -->
-    <skip />
-    <!-- no translation found for notification_importance_min (5455049524984686275) -->
-    <skip />
-    <!-- no translation found for notification_importance_low (2445139943005315690) -->
-    <skip />
-    <!-- no translation found for notification_importance_default (5958338024601957516) -->
-    <skip />
-    <!-- no translation found for notification_importance_high (2082429479238228527) -->
-    <skip />
+    <string name="notification_importance_blocked" msgid="7938180808339386300">"Huwag kailanman magpakita ng mga notification"</string>
+    <string name="notification_importance_min" msgid="5455049524984686275">"Walang tunog o visual na pag-abala"</string>
+    <string name="notification_importance_low" msgid="2445139943005315690">"Ipakita nang tahimik"</string>
+    <string name="notification_importance_default" msgid="5958338024601957516">"Gumawa ng tunog"</string>
+    <string name="notification_importance_high" msgid="2082429479238228527">"Gumawa ng tunog at mag-pop up sa screen"</string>
     <string name="importance_reset" msgid="7458420788555607007">"I-reset"</string>
     <string name="show_silently" msgid="2222875799232222056">"Tahimik na ipakita"</string>
     <string name="show_silently_summary" msgid="7616604629123146565">"Huwag tumunog, mag-vibrate, o ilabas ang mga notification na ito sa view sa kasalukuyang screen."</string>
@@ -2691,16 +2683,11 @@
     <string name="loading_notification_apps" msgid="5031818677010335895">"Naglo-load ng mga app..."</string>
     <string name="notification_channels" msgid="8681423709659818791">"Mga Channel"</string>
     <string name="app_notification_block_title" msgid="4069351066849087649">"I-block lahat"</string>
-    <!-- no translation found for app_notification_block_summary (4744020456943215352) -->
-    <skip />
-    <!-- no translation found for notification_content_block_title (5854232570963006360) -->
-    <skip />
-    <!-- no translation found for notification_content_block_summary (7746185794438882389) -->
-    <skip />
-    <!-- no translation found for notification_badge_title (5404669445214920178) -->
-    <skip />
-    <!-- no translation found for notification_badge_summary (3944771498030335669) -->
-    <skip />
+    <string name="app_notification_block_summary" msgid="4744020456943215352">"Huwag kailanman ipakita ang mga notification na ito"</string>
+    <string name="notification_content_block_title" msgid="5854232570963006360">"Magpakita ng mga notification"</string>
+    <string name="notification_content_block_summary" msgid="7746185794438882389">"Huwag kailanman magpakita ng mga notification sa shade o sa mga peripheral na device"</string>
+    <string name="notification_badge_title" msgid="5404669445214920178">"Ipakita ang badge"</string>
+    <string name="notification_badge_summary" msgid="3944771498030335669">"Ipakita ang mga notification bilang mga badge sa Home app, kung sinusuportahan."</string>
     <string name="app_notification_override_dnd_title" msgid="7867458246395884830">"I-override ang Huwag Istorbohin"</string>
     <string name="app_notification_override_dnd_summary" msgid="3516007157020189746">"Pahintulutan ang mga notification na ito na lumabas kapag nakatakda sa Priyoridad Lang ang Huwag Istorbohin"</string>
     <string name="app_notification_visibility_override_title" msgid="2187232730902430718">"Sa lock screen"</string>
@@ -2802,7 +2789,7 @@
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2232461523882170874">"Ang profile sa trabahong ito ay pinapamahalaan ng:"</string>
     <string name="managing_admin" msgid="8843802210377459055">"Pinapamahalaan ng <xliff:g id="ADMIN_APP_LABEL">%s</xliff:g>"</string>
     <string name="experimental_preference" msgid="7083015446690681376">"(Pang-eksperimento)"</string>
-    <string name="display_auto_rotate_title" msgid="6176450657107806043">"Kapag inikot ang device"</string>
+    <string name="display_auto_rotate_title" msgid="7119684966039069439">"Pag-rotate ng device"</string>
     <string name="display_auto_rotate_rotate" msgid="4544299861233497728">"ikutin ang mga content ng screen"</string>
     <string name="display_auto_rotate_stay_in_portrait" msgid="292745182318093651">"Manatili sa portrait na view"</string>
     <string name="display_auto_rotate_stay_in_landscape" msgid="3804752830204062162">"Manatili sa landscape na view"</string>
@@ -3192,6 +3179,8 @@
     <string name="page_tab_title_support" msgid="6330657582897417458">"Suporta"</string>
     <string name="developer_density_summary" msgid="1998244213021456519">"<xliff:g id="ID_1">%d</xliff:g> (na) dp"</string>
     <string name="developer_smallest_width" msgid="7516950434587313360">"Pinakamaliit na lapad"</string>
+    <string name="developer_tile" msgid="4822711696408279658">"Development mode"</string>
+    <string name="developer_tile_unavailable" msgid="6559656549479711827">"Walang piniling aktibong katayuan"</string>
     <string name="premium_sms_none" msgid="8268105565738040566">"Walang mga naka-install na app ang humiling ng access sa Premium SMS"</string>
     <string name="premium_sms_warning" msgid="9086859595338944882">"Maaaring kailanganin mong magbayad para sa Premium SMS at isasama ito sa mga singilin ng iyong carrier. Kung ie-enable mo ang pahintulot para sa isang app, magagawa mong magpadala ng premium SMS gamit ang app na iyon."</string>
     <string name="premium_sms_access" msgid="4660047004791638305">"Access sa Premium SMS"</string>
@@ -3221,8 +3210,7 @@
     <string name="support_disclaimer_do_not_show" msgid="3378367075323727539">"Huwag nang ipakitang muli"</string>
     <string name="support_account_request_prefix" msgid="6387847874661861650">"Humihiling bilang"</string>
     <string name="support_account_picker_add_account" msgid="5076277544846506214">"Magdagdag ng account"</string>
-    <!-- no translation found for support_system_information_title (3439905790018934773) -->
-    <skip />
+    <string name="support_system_information_title" msgid="3439905790018934773">"Impormasyon ng system"</string>
     <string name="managed_profile_settings_title" msgid="2729481936758125054">"Mga setting ng profile sa trabaho"</string>
     <string name="managed_profile_contact_search_title" msgid="6034734926815544221">"Paghahanap ng contact"</string>
     <string name="managed_profile_contact_search_summary" msgid="5431253552272970512">"Payagan ang iyong organisasyon na maghanap ng contact upang makilala ang mga tumatawag at contact"</string>
@@ -3313,4 +3301,16 @@
     <string name="enterprise_privacy_bug_reports" msgid="4762460041705169944">"Ang iyong pinakakamakailang ulat ng bug"</string>
     <string name="enterprise_privacy_security_logs" msgid="3648730027522011684">"Ang iyong pinakakamakailang log ng seguridad"</string>
     <string name="enterprise_privacy_never" msgid="1304035596746436921">"Hindi kailanman"</string>
+    <string name="storage_photos_videos" msgid="1872663116054954685">"Mga Larawan at Video"</string>
+    <string name="storage_music_audio" msgid="7890103397813503615">"Musika at Audio"</string>
+    <string name="storage_games" msgid="7703159201697117621">"Mga Laro"</string>
+    <string name="storage_other_apps" msgid="5524321740031718083">"Iba pang mga app"</string>
+    <string name="storage_files" msgid="8581083146777364063">"Mga File"</string>
+    <string name="storage_settings_2" msgid="6369810699930056554">"Storage ng Telepono"</string>
+    <!-- no translation found for storage_size_large_alternate (3436941214395940966) -->
+    <skip />
+    <!-- no translation found for storage_volume_free (8829609507318832879) -->
+    <skip />
+    <!-- no translation found for storage_percent_used (6741397129281819921) -->
+    <skip />
 </resources>
diff --git a/res/values-tr/strings.xml b/res/values-tr/strings.xml
index aac62d3..772d1db 100644
--- a/res/values-tr/strings.xml
+++ b/res/values-tr/strings.xml
@@ -658,7 +658,7 @@
     <string name="android_beam_off_summary" msgid="4663095428454779138">"Kapalı"</string>
     <string name="android_beam_disabled_summary" msgid="1737782116894793393">"NFC kapalı olduğundan kullanılamıyor"</string>
     <string name="android_beam_label" msgid="6257036050366775040">"Android Beam"</string>
-    <string name="android_beam_explained" msgid="1828555626055290684">"Bu özellik açık olduğunda, cihazları birbirine yakın tutarak uygulama içeriğini NFC özellikli başka bir cihaza ışınlayabilirsiniz. Örneğin, Tarayıcı sayfalarını, YouTube videolarını, Kişiler kayıtlarını ve daha fazlasını ışınlayabilirsiniz.\n\nCihazları yan yana (genellikle sırt sırta) getirmeniz ve ardından, ekranınıza hafifçe dokunmanız yeterli olur. Nelerin ışınlanacağını uygulama belirler."</string>
+    <string name="android_beam_explained" msgid="1810540319385192758">"Bu özellik açık olduğunda, cihazları birbirine yakın tutarak uygulama içeriğini NFC özelliği olan başka bir cihaza ışınlayabilirsiniz. Örneğin, web sayfalarını, YouTube videolarını, kişileri ve diğer verileri ışınlayabilirsiniz.\n\nCihazları bir araya getirmeniz (genellikle sırt sırta) ve ekranınıza dokunmanız yeterli. Uygulama nelerin ışınlanacağını belirler."</string>
     <string name="wifi_quick_toggle_title" msgid="8850161330437693895">"Kablosuz"</string>
     <string name="wifi_quick_toggle_summary" msgid="2696547080481267642">"Kablosuz\'u aç"</string>
     <string name="wifi_settings" msgid="29722149822540994">"Kablosuz"</string>
@@ -2581,6 +2581,7 @@
     <string name="keywords_profile_challenge" msgid="789611397846512845">"iş güvenlik sorusu, iş, profil"</string>
     <string name="keywords_unification" msgid="1922900767659821025">"iş profili, yönetilen profil, birleştir, birleştirme, iş, profil"</string>
     <string name="keywords_gesture" msgid="5696040361482126337">"hareket"</string>
+    <string name="keywords_payment_settings" msgid="5220104934130446416">"ödeme, dokunma, ödemeler"</string>
     <string name="setup_wifi_nfc_tag" msgid="9028353016222911016">"Kablosuz NFC Etiketini ayarla"</string>
     <string name="write_tag" msgid="8571858602896222537">"Yaz"</string>
     <string name="status_awaiting_tap" msgid="2130145523773160617">"Yazmak için bir etikete hafifçe dokunun..."</string>
@@ -2802,7 +2803,7 @@
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2232461523882170874">"Bu iş profili şunun tarafından yönetiliyor:"</string>
     <string name="managing_admin" msgid="8843802210377459055">"<xliff:g id="ADMIN_APP_LABEL">%s</xliff:g> tarafından yönetiliyor"</string>
     <string name="experimental_preference" msgid="7083015446690681376">"(Deneysel)"</string>
-    <string name="display_auto_rotate_title" msgid="6176450657107806043">"Cihaz döndürüldüğünde"</string>
+    <string name="display_auto_rotate_title" msgid="7119684966039069439">"Cihaz döndürme"</string>
     <string name="display_auto_rotate_rotate" msgid="4544299861233497728">"Ekranın içeriğini döndür"</string>
     <string name="display_auto_rotate_stay_in_portrait" msgid="292745182318093651">"Dikey görünümde kal"</string>
     <string name="display_auto_rotate_stay_in_landscape" msgid="3804752830204062162">"Yatay görünümde kal"</string>
@@ -3192,6 +3193,8 @@
     <string name="page_tab_title_support" msgid="6330657582897417458">"Destek"</string>
     <string name="developer_density_summary" msgid="1998244213021456519">"<xliff:g id="ID_1">%d</xliff:g> dp"</string>
     <string name="developer_smallest_width" msgid="7516950434587313360">"En küçük genişlik"</string>
+    <string name="developer_tile" msgid="4822711696408279658">"Geliştirme modu"</string>
+    <string name="developer_tile_unavailable" msgid="6559656549479711827">"Etkin durum seçilmedi"</string>
     <string name="premium_sms_none" msgid="8268105565738040566">"Yüklü hiçbir uygulama, Premium SMS erişimi isteğinde bulunmadı"</string>
     <string name="premium_sms_warning" msgid="9086859595338944882">"Premium SMS kullanımı, para ödemenizi gerektirebilir ve bu ücret operatör faturanıza eklenir. Bir uygulamaya bu izni verdiğinizde söz konusu uygulamayı kullanarak ücretli SMS gönderebilirsiniz."</string>
     <string name="premium_sms_access" msgid="4660047004791638305">"Premium SMS erişimi"</string>
@@ -3313,4 +3316,16 @@
     <string name="enterprise_privacy_bug_reports" msgid="4762460041705169944">"Son hata raporunuz"</string>
     <string name="enterprise_privacy_security_logs" msgid="3648730027522011684">"Son güvenlik girişiniz"</string>
     <string name="enterprise_privacy_never" msgid="1304035596746436921">"Hiçbir zaman"</string>
+    <string name="storage_photos_videos" msgid="1872663116054954685">"Fotoğraflar ve Videolar"</string>
+    <string name="storage_music_audio" msgid="7890103397813503615">"Müzik ve Ses"</string>
+    <string name="storage_games" msgid="7703159201697117621">"Oyunlar"</string>
+    <string name="storage_other_apps" msgid="5524321740031718083">"Diğer uygulamalar"</string>
+    <string name="storage_files" msgid="8581083146777364063">"Dosyalar"</string>
+    <string name="storage_settings_2" msgid="6369810699930056554">"Telefon Depolama Alanı"</string>
+    <!-- no translation found for storage_size_large_alternate (3436941214395940966) -->
+    <skip />
+    <!-- no translation found for storage_volume_free (8829609507318832879) -->
+    <skip />
+    <!-- no translation found for storage_percent_used (6741397129281819921) -->
+    <skip />
 </resources>
diff --git a/res/values-uk/strings.xml b/res/values-uk/strings.xml
index f3b8478..8a85ba8 100644
--- a/res/values-uk/strings.xml
+++ b/res/values-uk/strings.xml
@@ -676,7 +676,7 @@
     <string name="android_beam_off_summary" msgid="4663095428454779138">"Вимк."</string>
     <string name="android_beam_disabled_summary" msgid="1737782116894793393">"Недоступно, оскільки NFC вимкнено"</string>
     <string name="android_beam_label" msgid="6257036050366775040">"Android Beam"</string>
-    <string name="android_beam_explained" msgid="1828555626055290684">"Увімкнувши цю функцію, ви можете передавати вміст додатка на інший пристрій, який підтримує NFC, притуливши до нього свій пристрій. Наприклад, можна передавати сторінки веб-переглядача, відео YouTube, контактні дані тощо.\n\nПросто притуліть пристрої один до одного (зазвичай тильними сторонами) і торкніться екрана. Додаток визначить, який вміст можна передавати."</string>
+    <string name="android_beam_explained" msgid="1810540319385192758">"Увімкнувши цю функцію, ви можете передавати вміст додатка на інший пристрій, який підтримує NFC, притуливши до нього свій пристрій. Наприклад, можна передавати веб-сторінки, відео YouTube, контактні дані тощо.\n\nПросто притуліть пристрої один до одного (зазвичай тильними сторонами) і торкніться екрана. Додаток визначить, який вміст можна передавати."</string>
     <string name="wifi_quick_toggle_title" msgid="8850161330437693895">"Wi‑Fi"</string>
     <string name="wifi_quick_toggle_summary" msgid="2696547080481267642">"Увімкнути Wi-Fi"</string>
     <string name="wifi_settings" msgid="29722149822540994">"Wi‑Fi"</string>
@@ -2625,6 +2625,7 @@
     <string name="keywords_profile_challenge" msgid="789611397846512845">"робоче завдання, робочий, профіль"</string>
     <string name="keywords_unification" msgid="1922900767659821025">"робочий профіль, керований профіль, об’єднати, об’єднання, робота, профіль"</string>
     <string name="keywords_gesture" msgid="5696040361482126337">"жест"</string>
+    <string name="keywords_payment_settings" msgid="5220104934130446416">"оплатити, торкнутися, платежі"</string>
     <string name="setup_wifi_nfc_tag" msgid="9028353016222911016">"Налаштувати NFC-тег для Wi-Fi"</string>
     <string name="write_tag" msgid="8571858602896222537">"Записати"</string>
     <string name="status_awaiting_tap" msgid="2130145523773160617">"Торкніться тегу, у який потрібно записати дані…"</string>
@@ -2852,7 +2853,7 @@
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2232461523882170874">"Цим робочим профілем керує додаток"</string>
     <string name="managing_admin" msgid="8843802210377459055">"Керує додаток <xliff:g id="ADMIN_APP_LABEL">%s</xliff:g>"</string>
     <string name="experimental_preference" msgid="7083015446690681376">"(Експериментальна функція)"</string>
-    <string name="display_auto_rotate_title" msgid="6176450657107806043">"Коли пристрій обертають"</string>
+    <string name="display_auto_rotate_title" msgid="7119684966039069439">"Обертання пристрою"</string>
     <string name="display_auto_rotate_rotate" msgid="4544299861233497728">"Обертати вміст екрана"</string>
     <string name="display_auto_rotate_stay_in_portrait" msgid="292745182318093651">"Залишити книжкову орієнтацію"</string>
     <string name="display_auto_rotate_stay_in_landscape" msgid="3804752830204062162">"Залишити альбомну орієнтацію"</string>
@@ -3256,6 +3257,8 @@
     <string name="page_tab_title_support" msgid="6330657582897417458">"Підтримка"</string>
     <string name="developer_density_summary" msgid="1998244213021456519">"Точок: <xliff:g id="ID_1">%d</xliff:g>"</string>
     <string name="developer_smallest_width" msgid="7516950434587313360">"Найменша ширина"</string>
+    <string name="developer_tile" msgid="4822711696408279658">"Режим розробки"</string>
+    <string name="developer_tile_unavailable" msgid="6559656549479711827">"Не вибрано активний стан"</string>
     <string name="premium_sms_none" msgid="8268105565738040566">"Установлені додатки не запитували доступ до платних SMS"</string>
     <string name="premium_sms_warning" msgid="9086859595338944882">"Кошти за платні SMS стягує оператор. Ви зможете надсилати платні SMS через додаток, якому надасте такий дозвіл."</string>
     <string name="premium_sms_access" msgid="4660047004791638305">"Доступ до платних SMS"</string>
@@ -3385,4 +3388,16 @@
     <string name="enterprise_privacy_bug_reports" msgid="4762460041705169944">"Останнє повідомлення про помилку"</string>
     <string name="enterprise_privacy_security_logs" msgid="3648730027522011684">"Ваш останній журнал безпеки"</string>
     <string name="enterprise_privacy_never" msgid="1304035596746436921">"Ніколи"</string>
+    <string name="storage_photos_videos" msgid="1872663116054954685">"Фото й відео"</string>
+    <string name="storage_music_audio" msgid="7890103397813503615">"Музика й аудіо"</string>
+    <string name="storage_games" msgid="7703159201697117621">"Ігри"</string>
+    <string name="storage_other_apps" msgid="5524321740031718083">"Інші додатки"</string>
+    <string name="storage_files" msgid="8581083146777364063">"Файли"</string>
+    <string name="storage_settings_2" msgid="6369810699930056554">"Пам’ять телефона"</string>
+    <!-- no translation found for storage_size_large_alternate (3436941214395940966) -->
+    <skip />
+    <!-- no translation found for storage_volume_free (8829609507318832879) -->
+    <skip />
+    <!-- no translation found for storage_percent_used (6741397129281819921) -->
+    <skip />
 </resources>
diff --git a/res/values-ur-rPK-nokeys/strings.xml b/res/values-ur-nokeys/strings.xml
similarity index 100%
rename from res/values-ur-rPK-nokeys/strings.xml
rename to res/values-ur-nokeys/strings.xml
diff --git a/res/values-ur-rPK/arrays.xml b/res/values-ur/arrays.xml
similarity index 100%
rename from res/values-ur-rPK/arrays.xml
rename to res/values-ur/arrays.xml
diff --git a/res/values-ur-rPK/strings.xml b/res/values-ur/strings.xml
similarity index 99%
rename from res/values-ur-rPK/strings.xml
rename to res/values-ur/strings.xml
index db98b25..f493550 100644
--- a/res/values-ur-rPK/strings.xml
+++ b/res/values-ur/strings.xml
@@ -646,7 +646,7 @@
     <string name="android_beam_off_summary" msgid="4663095428454779138">"آف"</string>
     <string name="android_beam_disabled_summary" msgid="1737782116894793393">"‏دستیاب نہیں ہے کیونکہ NFC آف ہے"</string>
     <string name="android_beam_label" msgid="6257036050366775040">"Android Beam"</string>
-    <string name="android_beam_explained" msgid="1828555626055290684">"‏یہ خصوصیت آن ہونے پر، آپ آلات کو قریب میں ایک ساتھ پکڑ کر کسی دوسرے NFC کیلئے اہل آلہ میں مواد کو بیم کر سکتے ہیں۔ مثلاً، آپ براؤزر صفحات، YouTube ویڈيوز، لوگوں کے رابطے وغیرہ کو بیم کر سکتے ہیں۔\n\nبس آلات کو قریب لائیں (عام طور پر پشت سے پشت) اور پھر اپنی اسکرین پر تھپتپائیں۔ ایپ اس چیز کا تعین کرتی ہے کہ کس چیز کو بیم کیا جاتا ہے۔"</string>
+    <string name="android_beam_explained" msgid="1810540319385192758">"‏یہ خصوصیت آن ہونے پر، آپ آلات کو قریب میں ایک ساتھ پکڑ کر کسی دوسرے NFC کیلئے اہل آلہ میں مواد کو بیم کر سکتے ہیں۔ مثلاً، آپ ویب صفحات، YouTube ویڈيوز، رابطے وغیرہ کو بیم کر سکتے ہیں۔\n\nبس آلات کو قریب لائیں (عام طور پر پشت سے پشت) اور پھر اپنی اسکرین پر تھپتپائیں۔ ایپ اس چیز کا تعین کرتی ہے کہ کس چیز کو بیم کیا جانا ہے۔"</string>
     <string name="wifi_quick_toggle_title" msgid="8850161330437693895">"Wi‑Fi"</string>
     <string name="wifi_quick_toggle_summary" msgid="2696547080481267642">"‏Wi‑Fi آن کریں"</string>
     <string name="wifi_settings" msgid="29722149822540994">"Wi‑Fi"</string>
@@ -2567,6 +2567,7 @@
     <string name="keywords_profile_challenge" msgid="789611397846512845">"کام کا چیلنج، کام، پروفائل"</string>
     <string name="keywords_unification" msgid="1922900767659821025">"دفتری پروفائل، منظم پروفائل، یکجا کریں، یکجا کرنا، کام، پروفائل"</string>
     <string name="keywords_gesture" msgid="5696040361482126337">"اشارہ"</string>
+    <string name="keywords_payment_settings" msgid="5220104934130446416">"ادائیگی کریں، تھپتھپائیں، ادائیگیاں"</string>
     <string name="setup_wifi_nfc_tag" msgid="9028353016222911016">"‏Wi-Fi NFC ٹیگ ترتیب دیں"</string>
     <string name="write_tag" msgid="8571858602896222537">"تحریر کریں"</string>
     <string name="status_awaiting_tap" msgid="2130145523773160617">"لکھنے کیلئے ایک ٹیگ کو تھپتھپائیں…"</string>
@@ -2788,7 +2789,7 @@
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2232461523882170874">"یہ دفتری پروفائل اس کے زیر انتظام ہے:"</string>
     <string name="managing_admin" msgid="8843802210377459055">"<xliff:g id="ADMIN_APP_LABEL">%s</xliff:g> کے زیر انتظام ہے"</string>
     <string name="experimental_preference" msgid="7083015446690681376">"(تجرباتی)"</string>
-    <string name="display_auto_rotate_title" msgid="6176450657107806043">"جب آلہ گھمایا جائے"</string>
+    <string name="display_auto_rotate_title" msgid="7119684966039069439">"آلہ کی گردش"</string>
     <string name="display_auto_rotate_rotate" msgid="4544299861233497728">"اسکرین کے موادوں کو گھمائیں"</string>
     <string name="display_auto_rotate_stay_in_portrait" msgid="292745182318093651">"پورٹریٹ منظر میں رہیں"</string>
     <string name="display_auto_rotate_stay_in_landscape" msgid="3804752830204062162">"لینڈ اسکیپ منظر میں رہیں"</string>
@@ -3178,6 +3179,8 @@
     <string name="page_tab_title_support" msgid="6330657582897417458">"اعانت"</string>
     <string name="developer_density_summary" msgid="1998244213021456519">"<xliff:g id="ID_1">%d</xliff:g> dp"</string>
     <string name="developer_smallest_width" msgid="7516950434587313360">"سب سے چھوٹی چوڑائی"</string>
+    <string name="developer_tile" msgid="4822711696408279658">"ڈیولپمنٹ موڈ"</string>
+    <string name="developer_tile_unavailable" msgid="6559656549479711827">"کوئی فعال حالت منتخب نہیں ہے"</string>
     <string name="premium_sms_none" msgid="8268105565738040566">"‏کسی انسٹال کردہ ایپ نے پریمیم SMS تک رسائی کی درخواست نہیں کی"</string>
     <string name="premium_sms_warning" msgid="9086859595338944882">"‏ہو سکتا ہے آپ کو پریمیم SMS کے پیسے ادا کرنا پڑیں اور یہ آپ کے کیرئیر بلز میں شامل ہو جائیں گے۔ اگر آپ ایک ایپ کیلئے اجازت فعال کرتے ہیں تو آپ اس ایپ کو استعمال کرکے آپ پریمیم SMS بھیج پائیں گے۔"</string>
     <string name="premium_sms_access" msgid="4660047004791638305">"‏پریمیم SMS رسائی"</string>
@@ -3299,4 +3302,16 @@
     <string name="enterprise_privacy_bug_reports" msgid="4762460041705169944">"آپ کی سب سے حالیہ بگ رپورٹ"</string>
     <string name="enterprise_privacy_security_logs" msgid="3648730027522011684">"آپ کا حالیہ ترین سیکیورٹی لاگ"</string>
     <string name="enterprise_privacy_never" msgid="1304035596746436921">"کبھی نہیں"</string>
+    <string name="storage_photos_videos" msgid="1872663116054954685">"تصاویر اور ویڈیوز"</string>
+    <string name="storage_music_audio" msgid="7890103397813503615">"موسیقی اور آڈیو"</string>
+    <string name="storage_games" msgid="7703159201697117621">"گیمز"</string>
+    <string name="storage_other_apps" msgid="5524321740031718083">"دیگر ایپس"</string>
+    <string name="storage_files" msgid="8581083146777364063">"فائلز"</string>
+    <string name="storage_settings_2" msgid="6369810699930056554">"فون کی اسٹوریج"</string>
+    <!-- no translation found for storage_size_large_alternate (3436941214395940966) -->
+    <skip />
+    <!-- no translation found for storage_volume_free (8829609507318832879) -->
+    <skip />
+    <!-- no translation found for storage_percent_used (6741397129281819921) -->
+    <skip />
 </resources>
diff --git a/res/values-uz-rUZ-nokeys/strings.xml b/res/values-uz-nokeys/strings.xml
similarity index 100%
rename from res/values-uz-rUZ-nokeys/strings.xml
rename to res/values-uz-nokeys/strings.xml
diff --git a/res/values-uz-rUZ/arrays.xml b/res/values-uz/arrays.xml
similarity index 100%
rename from res/values-uz-rUZ/arrays.xml
rename to res/values-uz/arrays.xml
diff --git a/res/values-uz-rUZ/strings.xml b/res/values-uz/strings.xml
similarity index 99%
rename from res/values-uz-rUZ/strings.xml
rename to res/values-uz/strings.xml
index 2b325f4..027123f 100644
--- a/res/values-uz-rUZ/strings.xml
+++ b/res/values-uz/strings.xml
@@ -54,7 +54,7 @@
     <string name="radio_info_ims_reg_status" msgid="7534612158445529715">"IMS registratsiyasi: <xliff:g id="STATUS">%1$s</xliff:g>\nLTE orqali: <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nWi-Fi orqali: <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nVideoqo‘ng‘iroq: <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nUT interfeysi: <xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
     <string name="radioInfo_service_in" msgid="1697703164394784618">"Xizmat doirasida"</string>
     <string name="radioInfo_service_out" msgid="7999094221728929681">"Xizmat doirasidan tashqarida"</string>
-    <string name="radioInfo_service_emergency" msgid="6274434235469661525">"Faqat favqulodda qo‘ng‘iroqlar"</string>
+    <string name="radioInfo_service_emergency" msgid="6274434235469661525">"Faqat favqulodda chaqiruvlar"</string>
     <string name="radioInfo_service_off" msgid="7536423790014501173">"Tarmoq o‘chirilgan"</string>
     <string name="radioInfo_roaming_in" msgid="9045363884600341051">"Rouming"</string>
     <string name="radioInfo_roaming_not" msgid="4849214885629672819">"Rouming o‘chirilgan"</string>
@@ -277,7 +277,7 @@
     <string name="wireless_networks_settings_title" msgid="3643009077742794212">"Simsiz tarmoqlar"</string>
     <string name="radio_controls_summary" msgid="2837395036275123133">"Wi‑Fi, Bluetooth, parvoz rejimi, mobil tarmoq va VPN tarmoqlarni boshqarish"</string>
     <string name="cellular_data_title" msgid="2525947635539415202">"Mobil internet"</string>
-    <string name="calls_title" msgid="3544471959217176768">"Qo‘ng‘iroqlar"</string>
+    <string name="calls_title" msgid="3544471959217176768">"Chaqiruvlar"</string>
     <string name="sms_messages_title" msgid="1778636286080572535">"SMS xabarlar"</string>
     <string name="cellular_data_summary" msgid="4575500999626276446">"Mobil internetdan foydalanishga ruxsat"</string>
     <string name="allow_data_usage_title" msgid="2238205944729213062">"Roumingda mob. int-dan foyd-sh"</string>
@@ -658,7 +658,7 @@
     <string name="android_beam_off_summary" msgid="4663095428454779138">"O‘chiq"</string>
     <string name="android_beam_disabled_summary" msgid="1737782116894793393">"NFC o‘chiqligi tufayli bajarilmadi"</string>
     <string name="android_beam_label" msgid="6257036050366775040">"Android Beam"</string>
-    <string name="android_beam_explained" msgid="1828555626055290684">"Ushbu xususiyat yoqilganda NFC bilan ishlay oladigan boshqa qurilmani yaqin ushlab, unga nur orqali ma’lumot uzatishingiz mumkin. Masalan, brauzer sahifalari, YouTube videolari, odamlar kontaktlari va boshqa ko‘pgina narsalarni.\n\nQurilmalarni birgalikda (odatda orqama-orqa) ushlang va keyin ekranni bosing. Ilova nima olish kerakliligini aniqlaydi."</string>
+    <string name="android_beam_explained" msgid="1810540319385192758">"Ushbu xususiyat yoqilganda NFC bilan ishlay oladigan boshqa qurilmani yaqin ushlab, unga nur orqali ma’lumot uzatishingiz mumkin. Masalan, veb-sahifalar, YouTube videolari, kontaktlar va boshqa ko‘pgina narsalarni.\n\nQurilmalarni birgalikda (odatda orqama-orqa) ushlang va keyin ekranni bosing. Ilova nima olish kerakliligini aniqlaydi."</string>
     <string name="wifi_quick_toggle_title" msgid="8850161330437693895">"Wi‑Fi"</string>
     <string name="wifi_quick_toggle_summary" msgid="2696547080481267642">"Wi‑Fi‘ni yoqish"</string>
     <string name="wifi_settings" msgid="29722149822540994">"Wi‑Fi"</string>
@@ -2581,6 +2581,7 @@
     <string name="keywords_profile_challenge" msgid="789611397846512845">"ish vazifasi, ish, profil"</string>
     <string name="keywords_unification" msgid="1922900767659821025">"ishchi profil, boshqariluvchi profil, birlashtirish, birlashuv, ish, profil"</string>
     <string name="keywords_gesture" msgid="5696040361482126337">"imo-ishora orqali matn kiritish"</string>
+    <string name="keywords_payment_settings" msgid="5220104934130446416">"to‘lash, bosish, to‘lovlar"</string>
     <string name="setup_wifi_nfc_tag" msgid="9028353016222911016">"Wi-Fi’ni sozlash u-n NFC yorliq"</string>
     <string name="write_tag" msgid="8571858602896222537">"Yozish"</string>
     <string name="status_awaiting_tap" msgid="2130145523773160617">"Yozish uchun yorliq ustiga bosing…"</string>
@@ -2746,7 +2747,7 @@
     <string name="summary_divider_text" msgid="7228986578690919294">", "</string>
     <string name="summary_range_symbol_combination" msgid="5695218513421897027">"<xliff:g id="START">%1$s</xliff:g> - <xliff:g id="END">%2$s</xliff:g>"</string>
     <string name="summary_range_verbal_combination" msgid="8467306662961568656">"<xliff:g id="START">%1$s</xliff:g> - <xliff:g id="END">%2$s</xliff:g>"</string>
-    <string name="zen_mode_calls" msgid="7051492091133751208">"Qo‘ng‘iroqlar"</string>
+    <string name="zen_mode_calls" msgid="7051492091133751208">"Chaqiruvlar"</string>
     <string name="zen_mode_messages" msgid="5886440273537510894">"Xabarlar"</string>
     <string name="zen_mode_all_messages" msgid="6449223378976743208">"Barcha xabarlar"</string>
     <string name="zen_mode_selected_messages" msgid="8245990149599142281">"Tanlangan xabarlar"</string>
@@ -2802,7 +2803,7 @@
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2232461523882170874">"Bu ishchi profil quyidagi tomonidan boshqariladi:"</string>
     <string name="managing_admin" msgid="8843802210377459055">"<xliff:g id="ADMIN_APP_LABEL">%s</xliff:g> tomonidan boshqariladi"</string>
     <string name="experimental_preference" msgid="7083015446690681376">"(Tajribaviy)"</string>
-    <string name="display_auto_rotate_title" msgid="6176450657107806043">"Qurilma burilganda"</string>
+    <string name="display_auto_rotate_title" msgid="7119684966039069439">"Qurilmaning burilishi"</string>
     <string name="display_auto_rotate_rotate" msgid="4544299861233497728">"Ekrandagi tasvir ham burilsin"</string>
     <string name="display_auto_rotate_stay_in_portrait" msgid="292745182318093651">"Tik holatda qolsin"</string>
     <string name="display_auto_rotate_stay_in_landscape" msgid="3804752830204062162">"Yotiq holatda qolsin"</string>
@@ -3192,6 +3193,8 @@
     <string name="page_tab_title_support" msgid="6330657582897417458">"Ko‘mak"</string>
     <string name="developer_density_summary" msgid="1998244213021456519">"<xliff:g id="ID_1">%d</xliff:g> dp"</string>
     <string name="developer_smallest_width" msgid="7516950434587313360">"Eng kichik eni"</string>
+    <string name="developer_tile" msgid="4822711696408279658">"Dasturchi rejimi"</string>
+    <string name="developer_tile_unavailable" msgid="6559656549479711827">"Hech qanday faol holat aniqlanmadi"</string>
     <string name="premium_sms_none" msgid="8268105565738040566">"O‘rnatilgan ilovalardan hech biri SMSdan foydalanish uchun ruxsat so‘ramagan."</string>
     <string name="premium_sms_warning" msgid="9086859595338944882">"SMS uchun sizdan haq olinishi va operatorga qo‘shimcha to‘lov amalga oshirilishi mumkin. Agar ilova uchun ruxsatnoma taqdim etsangiz, o‘sha ilovadan SMS yuborishingiz mumkin bo‘ladi."</string>
     <string name="premium_sms_access" msgid="4660047004791638305">"SMSdan foydalanish"</string>
@@ -3313,4 +3316,16 @@
     <string name="enterprise_privacy_bug_reports" msgid="4762460041705169944">"Eng oxirgi xatoliklar hisoboti"</string>
     <string name="enterprise_privacy_security_logs" msgid="3648730027522011684">"Eng oxirgi xavfsizlik jurnali"</string>
     <string name="enterprise_privacy_never" msgid="1304035596746436921">"Hech qachon"</string>
+    <string name="storage_photos_videos" msgid="1872663116054954685">"Surat va videolar"</string>
+    <string name="storage_music_audio" msgid="7890103397813503615">"Musiqa va audio"</string>
+    <string name="storage_games" msgid="7703159201697117621">"O‘yinlar"</string>
+    <string name="storage_other_apps" msgid="5524321740031718083">"Boshqa ilovalar"</string>
+    <string name="storage_files" msgid="8581083146777364063">"Fayllar"</string>
+    <string name="storage_settings_2" msgid="6369810699930056554">"Telefon xotirasi"</string>
+    <!-- no translation found for storage_size_large_alternate (3436941214395940966) -->
+    <skip />
+    <!-- no translation found for storage_volume_free (8829609507318832879) -->
+    <skip />
+    <!-- no translation found for storage_percent_used (6741397129281819921) -->
+    <skip />
 </resources>
diff --git a/res/values-vi/strings.xml b/res/values-vi/strings.xml
index d9d379c..2930c64 100644
--- a/res/values-vi/strings.xml
+++ b/res/values-vi/strings.xml
@@ -658,7 +658,7 @@
     <string name="android_beam_off_summary" msgid="4663095428454779138">"Tắt"</string>
     <string name="android_beam_disabled_summary" msgid="1737782116894793393">"Không khả dụng vì NFC bị tắt"</string>
     <string name="android_beam_label" msgid="6257036050366775040">"Android Beam"</string>
-    <string name="android_beam_explained" msgid="1828555626055290684">"Khi tính năng này được bật, bạn có thể truyền nội dung ứng dụng tới thiết bị hỗ trợ NFC khác bằng cách giữ các thiết bị gần nhau. Ví dụ: bạn có thể truyền các trang trình duyệt, video trên YouTube, Danh bạ và nhiều nội dung khác.\n\nChỉ cần đưa thiết bị gần nhau (thường quay lưng lại với nhau) và sau đó nhấn vào màn hình của bạn. Ứng dụng sẽ xác định nội dung nào được truyền."</string>
+    <string name="android_beam_explained" msgid="1810540319385192758">"Khi tính năng này được bật, bạn có thể chiếu nội dung ứng dụng tới thiết bị hỗ trợ NFC khác bằng cách giữ các thiết bị gần nhau. Ví dụ: bạn có thể chiếu các trang web, video trên YouTube, danh bạ và nhiều nội dung khác.\n\nBạn chỉ cần đưa các thiết bị lại gần nhau (thường quay lưng vào nhau) rồi nhấn vào màn hình. Ứng dụng sẽ quyết định nội dung nào được chiếu."</string>
     <string name="wifi_quick_toggle_title" msgid="8850161330437693895">"Wi‑Fi"</string>
     <string name="wifi_quick_toggle_summary" msgid="2696547080481267642">"Bật Wi‑Fi"</string>
     <string name="wifi_settings" msgid="29722149822540994">"Wi‑Fi"</string>
@@ -2581,6 +2581,7 @@
     <string name="keywords_profile_challenge" msgid="789611397846512845">"thách thức công việc, công việc, hồ sơ"</string>
     <string name="keywords_unification" msgid="1922900767659821025">"hồ sơ công việc, hồ sơ được quản lý, thống nhất, hợp nhất, làm việc, hồ sơ"</string>
     <string name="keywords_gesture" msgid="5696040361482126337">"cử chỉ"</string>
+    <string name="keywords_payment_settings" msgid="5220104934130446416">"thanh toán, nhấn, khoản thanh toán"</string>
     <string name="setup_wifi_nfc_tag" msgid="9028353016222911016">"Thiết lập thẻ NFC Wi-Fi"</string>
     <string name="write_tag" msgid="8571858602896222537">"Ghi"</string>
     <string name="status_awaiting_tap" msgid="2130145523773160617">"Nhấn vào một thẻ để ghi..."</string>
@@ -2802,7 +2803,7 @@
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2232461523882170874">"Hồ sơ công việc này được quản lý bằng:"</string>
     <string name="managing_admin" msgid="8843802210377459055">"Quản lý bởi <xliff:g id="ADMIN_APP_LABEL">%s</xliff:g>"</string>
     <string name="experimental_preference" msgid="7083015446690681376">"(Thử nghiệm)"</string>
-    <string name="display_auto_rotate_title" msgid="6176450657107806043">"Khi xoay thiết bị"</string>
+    <string name="display_auto_rotate_title" msgid="7119684966039069439">"Xoay thiết bị"</string>
     <string name="display_auto_rotate_rotate" msgid="4544299861233497728">"Xoay các nội dung của màn hình"</string>
     <string name="display_auto_rotate_stay_in_portrait" msgid="292745182318093651">"Giữ nguyên chế độ xem dọc"</string>
     <string name="display_auto_rotate_stay_in_landscape" msgid="3804752830204062162">"Giữ nguyên chế độ xem ngang"</string>
@@ -3192,6 +3193,8 @@
     <string name="page_tab_title_support" msgid="6330657582897417458">"Hỗ trợ"</string>
     <string name="developer_density_summary" msgid="1998244213021456519">"<xliff:g id="ID_1">%d</xliff:g> dp"</string>
     <string name="developer_smallest_width" msgid="7516950434587313360">"Độ rộng nhỏ nhất"</string>
+    <string name="developer_tile" msgid="4822711696408279658">"Chế độ phát triển"</string>
+    <string name="developer_tile_unavailable" msgid="6559656549479711827">"Chưa có trạng thái hiện hoạt nào được chọn"</string>
     <string name="premium_sms_none" msgid="8268105565738040566">"Không có ứng dụng đã cài đặt nào yêu cầu quyền truy cập SMS cao cấp"</string>
     <string name="premium_sms_warning" msgid="9086859595338944882">"SMS cao cấp có thể làm bạn mất tiền và sẽ tính thêm vào hóa đơn của nhà cung cấp dịch vụ của bạn. Nếu bạn bật quyền cho một ứng dụng, bạn sẽ có thể gửi SMS cao cấp bằng ứng dụng đó."</string>
     <string name="premium_sms_access" msgid="4660047004791638305">"Quyền truy cập SMS cao cấp"</string>
@@ -3313,4 +3316,16 @@
     <string name="enterprise_privacy_bug_reports" msgid="4762460041705169944">"Báo cáo lỗi gần đây nhất của bạn"</string>
     <string name="enterprise_privacy_security_logs" msgid="3648730027522011684">"Nhật ký bảo mật gần đây nhất của bạn"</string>
     <string name="enterprise_privacy_never" msgid="1304035596746436921">"Không bao giờ"</string>
+    <string name="storage_photos_videos" msgid="1872663116054954685">"Ảnh và video"</string>
+    <string name="storage_music_audio" msgid="7890103397813503615">"Nhạc và âm thanh"</string>
+    <string name="storage_games" msgid="7703159201697117621">"Trò chơi"</string>
+    <string name="storage_other_apps" msgid="5524321740031718083">"Ứng dụng khác"</string>
+    <string name="storage_files" msgid="8581083146777364063">"Tệp"</string>
+    <string name="storage_settings_2" msgid="6369810699930056554">"Bộ nhớ điện thoại"</string>
+    <!-- no translation found for storage_size_large_alternate (3436941214395940966) -->
+    <skip />
+    <!-- no translation found for storage_volume_free (8829609507318832879) -->
+    <skip />
+    <!-- no translation found for storage_percent_used (6741397129281819921) -->
+    <skip />
 </resources>
diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml
index 474b511..739da14 100644
--- a/res/values-zh-rCN/strings.xml
+++ b/res/values-zh-rCN/strings.xml
@@ -86,8 +86,7 @@
     <string name="font_size_preview_text_headline" msgid="7955317408475392247">"示例文本"</string>
     <string name="font_size_preview_text_title" msgid="1310536233106975546">"绿野仙踪"</string>
     <string name="font_size_preview_text_subtitle" msgid="4231671528173110093">"第 11 章：奥兹国神奇的翡翠城"</string>
-    <!-- no translation found for font_size_preview_text_body (2846183528684496723) -->
-    <skip />
+    <string name="font_size_preview_text_body" msgid="2846183528684496723">"尽管有绿色眼镜保护着眼睛，桃乐丝和她的朋友们在刚看到这座奇妙的城市时，还是被它耀眼的光芒照得眼花缭乱。街道两旁耸立着绿色大理石砌成的美丽房屋，到处镶嵌着闪闪发光的翡翠。他们走过的人行道同样是用绿色大理石铺砌而成，石块接合处嵌有一排排紧密相连的翡翠，在阳光的照耀下闪闪发亮。房屋的窗户镶嵌着绿色的玻璃，城市上空有淡淡的绿晕，就连阳光也散发着绿色光芒。\n\n街道上有很多行人，无论男女老少全都穿着绿色衣物，连皮肤都泛着绿色。他们都用惊异的眼光注视着桃乐丝和她这群外貌迥异的伙伴们，孩子们一看到狮子都拔腿跑了，躲到他们母亲身后；没有人想开口跟桃乐丝他们说话。街上有许多商店，桃乐丝看见店里的每一件商品都是绿色的，有绿色的糖果，绿色的爆米花，还有各种各样的绿鞋子、绿帽子和绿衣服。有位小贩在路上卖绿色的柠檬水，当孩子们去买汽水时，桃乐丝发现他们付钱时所用的硬币竟然也是绿色的。\n\n城里似乎没有马，也没有其他任何动物。有人用绿色小推车来回运载物品。每个人看起来都是那么快乐、满足，一切都显得安定繁荣。"</string>
     <string name="font_size_save" msgid="3450855718056759095">"确定"</string>
     <string name="sdcard_setting" product="nosdcard" msgid="8281011784066476192">"USB存储设备"</string>
     <string name="sdcard_setting" product="default" msgid="5922637503871474866">"SD卡"</string>
@@ -658,7 +657,7 @@
     <string name="android_beam_off_summary" msgid="4663095428454779138">"关闭"</string>
     <string name="android_beam_disabled_summary" msgid="1737782116894793393">"无法使用，因为NFC已关闭"</string>
     <string name="android_beam_label" msgid="6257036050366775040">"Android Beam"</string>
-    <string name="android_beam_explained" msgid="1828555626055290684">"开启此功能后，您可以将设备靠在一起，这样就能把应用内容传输到其他支持 NFC 功能的设备。例如，您可以传输浏览器上的网页、YouTube 视频、联系人名片等内容。\n\n只需将两台设备靠在一起（一般是背靠背），然后点按屏幕，应用便会确定要传输哪些内容。"</string>
+    <string name="android_beam_explained" msgid="1810540319385192758">"开启此功能后，您可以将设备靠在一起，这样就能把应用内容传输到其他支持 NFC 功能的设备。例如，您可以传输网页、YouTube 视频、通讯录等内容。\n\n只需将两台设备靠在一起（一般是背靠背），然后点按屏幕，应用便会确定要传输哪些内容。"</string>
     <string name="wifi_quick_toggle_title" msgid="8850161330437693895">"WLAN"</string>
     <string name="wifi_quick_toggle_summary" msgid="2696547080481267642">"打开WLAN"</string>
     <string name="wifi_settings" msgid="29722149822540994">"WLAN"</string>
@@ -1536,11 +1535,9 @@
     <string name="app_install_location_summary" msgid="5155453752692959098">"更改安装新应用时使用的首选安装位置"</string>
     <string name="app_disable_dlg_title" msgid="3916469657537695436">"要停用内置应用吗？"</string>
     <string name="app_disable_dlg_positive" msgid="7375627244201714263">"停用应用"</string>
-    <!-- no translation found for app_disable_dlg_text (5632072173181990531) -->
-    <skip />
+    <string name="app_disable_dlg_text" msgid="5632072173181990531">"如果您停用此应用，Android 和其他应用可能会无法正常运行。"</string>
     <string name="app_special_disable_dlg_title" msgid="2690148680327142674">"确定要删除数据并停用应用吗？"</string>
-    <!-- no translation found for app_special_disable_dlg_text (5832078825810635913) -->
-    <skip />
+    <string name="app_special_disable_dlg_text" msgid="5832078825810635913">"如果您停用此应用，Android 和其他应用可能会无法正常运行。您的数据也将会遭到删除。"</string>
     <string name="app_disable_notifications_dlg_title" msgid="7669264654851761857">"要关闭通知吗？"</string>
     <string name="app_disable_notifications_dlg_text" msgid="5088484670924769845">"如果关闭此应用的通知，您可能会错过重要提醒和最新动态信息。"</string>
     <string name="app_install_details_group_title" msgid="7084623031296083574">"商店"</string>
@@ -2527,8 +2524,7 @@
       <item quantity="other">显示 %d 项隐藏内容</item>
       <item quantity="one">显示 %d 项隐藏内容</item>
     </plurals>
-    <!-- no translation found for network_dashboard_title (3135144174846753758) -->
-    <skip />
+    <string name="network_dashboard_title" msgid="3135144174846753758">"网络和互联网"</string>
     <string name="connected_devices_dashboard_title" msgid="2355264951438890709">"已关联的设备"</string>
     <string name="app_and_notification_dashboard_title" msgid="7838365599185397539">"应用和通知"</string>
     <string name="account_dashboard_title" msgid="38701889336378742">"用户和帐号"</string>
@@ -2581,6 +2577,7 @@
     <string name="keywords_profile_challenge" msgid="789611397846512845">"工作验证, 工作, 资料"</string>
     <string name="keywords_unification" msgid="1922900767659821025">"工作资料, 托管资料, 汇整, 统一, 工作, 资料"</string>
     <string name="keywords_gesture" msgid="5696040361482126337">"手势"</string>
+    <string name="keywords_payment_settings" msgid="5220104934130446416">"支付、点按、付款"</string>
     <string name="setup_wifi_nfc_tag" msgid="9028353016222911016">"设置WLAN NFC标签"</string>
     <string name="write_tag" msgid="8571858602896222537">"写入"</string>
     <string name="status_awaiting_tap" msgid="2130145523773160617">"点按标签即可写入…"</string>
@@ -2653,16 +2650,11 @@
     <string name="app_notifications_title" msgid="139788604658984593">"通知"</string>
     <string name="notification_importance_title" msgid="848692592679312666">"重要程度"</string>
     <string name="notification_importance_none" msgid="3173515479356106227">"未设置"</string>
-    <!-- no translation found for notification_importance_blocked (7938180808339386300) -->
-    <skip />
-    <!-- no translation found for notification_importance_min (5455049524984686275) -->
-    <skip />
-    <!-- no translation found for notification_importance_low (2445139943005315690) -->
-    <skip />
-    <!-- no translation found for notification_importance_default (5958338024601957516) -->
-    <skip />
-    <!-- no translation found for notification_importance_high (2082429479238228527) -->
-    <skip />
+    <string name="notification_importance_blocked" msgid="7938180808339386300">"一律不显示通知"</string>
+    <string name="notification_importance_min" msgid="5455049524984686275">"不发出提示音，也不在屏幕上弹出通知"</string>
+    <string name="notification_importance_low" msgid="2445139943005315690">"显示通知但不发出提示音"</string>
+    <string name="notification_importance_default" msgid="5958338024601957516">"发出提示音"</string>
+    <string name="notification_importance_high" msgid="2082429479238228527">"发出提示音并在屏幕上弹出通知"</string>
     <string name="importance_reset" msgid="7458420788555607007">"重置"</string>
     <string name="show_silently" msgid="2222875799232222056">"显示时不发出提示音"</string>
     <string name="show_silently_summary" msgid="7616604629123146565">"不发出提示音，不振动，也不在当前屏幕上短暂显示这些通知。"</string>
@@ -2691,16 +2683,11 @@
     <string name="loading_notification_apps" msgid="5031818677010335895">"正在加载应用…"</string>
     <string name="notification_channels" msgid="8681423709659818791">"通道"</string>
     <string name="app_notification_block_title" msgid="4069351066849087649">"全部屏蔽"</string>
-    <!-- no translation found for app_notification_block_summary (4744020456943215352) -->
-    <skip />
-    <!-- no translation found for notification_content_block_title (5854232570963006360) -->
-    <skip />
-    <!-- no translation found for notification_content_block_summary (7746185794438882389) -->
-    <skip />
-    <!-- no translation found for notification_badge_title (5404669445214920178) -->
-    <skip />
-    <!-- no translation found for notification_badge_summary (3944771498030335669) -->
-    <skip />
+    <string name="app_notification_block_summary" msgid="4744020456943215352">"一律不显示这类通知"</string>
+    <string name="notification_content_block_title" msgid="5854232570963006360">"显示通知"</string>
+    <string name="notification_content_block_summary" msgid="7746185794438882389">"一律不在通知栏或外围设备上显示通知"</string>
+    <string name="notification_badge_title" msgid="5404669445214920178">"显示状态标记"</string>
+    <string name="notification_badge_summary" msgid="3944771498030335669">"在主屏幕应用上以状态标记的形式显示通知（如果支持的话）。"</string>
     <string name="app_notification_override_dnd_title" msgid="7867458246395884830">"覆盖“勿扰”设置"</string>
     <string name="app_notification_override_dnd_summary" msgid="3516007157020189746">"当勿扰模式设为“仅限优先打扰”时，允许这类通知继续打扰"</string>
     <string name="app_notification_visibility_override_title" msgid="2187232730902430718">"屏幕锁定时"</string>
@@ -2802,7 +2789,7 @@
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2232461523882170874">"此工作资料由以下应用管理："</string>
     <string name="managing_admin" msgid="8843802210377459055">"由<xliff:g id="ADMIN_APP_LABEL">%s</xliff:g>管理"</string>
     <string name="experimental_preference" msgid="7083015446690681376">"（实验性）"</string>
-    <string name="display_auto_rotate_title" msgid="6176450657107806043">"设备旋转时"</string>
+    <string name="display_auto_rotate_title" msgid="7119684966039069439">"设备旋转"</string>
     <string name="display_auto_rotate_rotate" msgid="4544299861233497728">"旋转屏幕内容方向"</string>
     <string name="display_auto_rotate_stay_in_portrait" msgid="292745182318093651">"保持纵向"</string>
     <string name="display_auto_rotate_stay_in_landscape" msgid="3804752830204062162">"保持横向"</string>
@@ -3192,6 +3179,8 @@
     <string name="page_tab_title_support" msgid="6330657582897417458">"支持"</string>
     <string name="developer_density_summary" msgid="1998244213021456519">"<xliff:g id="ID_1">%d</xliff:g> dp"</string>
     <string name="developer_smallest_width" msgid="7516950434587313360">"最小宽度"</string>
+    <string name="developer_tile" msgid="4822711696408279658">"开发模式"</string>
+    <string name="developer_tile_unavailable" msgid="6559656549479711827">"尚未选择任何启用状态"</string>
     <string name="premium_sms_none" msgid="8268105565738040566">"没有任何已安装的应用申请付费短信权限"</string>
     <string name="premium_sms_warning" msgid="9086859595338944882">"“付费短信”可能会产生费用，而且相关费用将计入您的运营商帐单。如果您为某个应用启用该权限，那么您将能够使用该应用发送付费短信。"</string>
     <string name="premium_sms_access" msgid="4660047004791638305">"付费短信权限"</string>
@@ -3221,8 +3210,7 @@
     <string name="support_disclaimer_do_not_show" msgid="3378367075323727539">"不再显示"</string>
     <string name="support_account_request_prefix" msgid="6387847874661861650">"通过以下帐号提出请求："</string>
     <string name="support_account_picker_add_account" msgid="5076277544846506214">"添加帐号"</string>
-    <!-- no translation found for support_system_information_title (3439905790018934773) -->
-    <skip />
+    <string name="support_system_information_title" msgid="3439905790018934773">"系统信息"</string>
     <string name="managed_profile_settings_title" msgid="2729481936758125054">"工作资料设置"</string>
     <string name="managed_profile_contact_search_title" msgid="6034734926815544221">"联系人搜索"</string>
     <string name="managed_profile_contact_search_summary" msgid="5431253552272970512">"允许您的单位搜索联系人，以便识别来电者和联系人的身份"</string>
@@ -3313,4 +3301,16 @@
     <string name="enterprise_privacy_bug_reports" msgid="4762460041705169944">"您最新的错误报告"</string>
     <string name="enterprise_privacy_security_logs" msgid="3648730027522011684">"您最新的安全日志"</string>
     <string name="enterprise_privacy_never" msgid="1304035596746436921">"一律不"</string>
+    <string name="storage_photos_videos" msgid="1872663116054954685">"照片和视频"</string>
+    <string name="storage_music_audio" msgid="7890103397813503615">"音乐和音频"</string>
+    <string name="storage_games" msgid="7703159201697117621">"游戏"</string>
+    <string name="storage_other_apps" msgid="5524321740031718083">"其他应用"</string>
+    <string name="storage_files" msgid="8581083146777364063">"文件"</string>
+    <string name="storage_settings_2" msgid="6369810699930056554">"手机存储空间"</string>
+    <!-- no translation found for storage_size_large_alternate (3436941214395940966) -->
+    <skip />
+    <!-- no translation found for storage_volume_free (8829609507318832879) -->
+    <skip />
+    <!-- no translation found for storage_percent_used (6741397129281819921) -->
+    <skip />
 </resources>
diff --git a/res/values-zh-rHK/strings.xml b/res/values-zh-rHK/strings.xml
index 3bf07a6..c953b06 100644
--- a/res/values-zh-rHK/strings.xml
+++ b/res/values-zh-rHK/strings.xml
@@ -86,8 +86,7 @@
     <string name="font_size_preview_text_headline" msgid="7955317408475392247">"範例文字"</string>
     <string name="font_size_preview_text_title" msgid="1310536233106975546">"《綠野仙蹤》"</string>
     <string name="font_size_preview_text_subtitle" msgid="4231671528173110093">"第 11 章：奧茲國的奇妙翡翠城"</string>
-    <!-- no translation found for font_size_preview_text_body (2846183528684496723) -->
-    <skip />
+    <string name="font_size_preview_text_body" msgid="2846183528684496723">"即使配戴著綠色眼鏡保護雙眼，這座美麗城市閃耀的光芒還是令桃樂絲和她的朋友們目眩神迷。街道兩側佇立著以碧綠大理石建造的華美房屋，上頭鑲滿光彩奪目的翡翠。街道路面同樣是以碧綠大理石鋪砌而成，石板接合處嵌有一排排緊密相連的翡翠，在陽光的照耀下閃閃發亮。房屋窗面採用翠綠玻璃，襯著城市上方的淡綠天空，就連陽光也透出青綠色調。\n\n城內居民眾多，無論男女老幼全都穿著綠色衣物，甚至皮膚也帶有綠色光澤。他們充滿好奇地盯著桃樂絲和她那群外貌迥異的夥伴，只是孩子們一看到獅子便飛快躲到母親身後；然而，一直沒有任何人開口與他們交談。街道上的商店五花八門，桃樂絲發現這些商店兜售的商品，從糖果和爆米花到鞋子、帽子和各式衣物，全都是綠色的。有位小販賣著綠色檸檬汁，當小孩掏錢購買時，桃樂絲清楚看見錢幣也是綠色的。\n\n城裡似乎沒有馬匹或任何動物；居民們都是推著綠色小推車來搬運物品。每個人看起來都相當幸福且富足。"</string>
     <string name="font_size_save" msgid="3450855718056759095">"確定"</string>
     <string name="sdcard_setting" product="nosdcard" msgid="8281011784066476192">"USB 儲存裝置"</string>
     <string name="sdcard_setting" product="default" msgid="5922637503871474866">"SD 卡"</string>
@@ -658,7 +657,7 @@
     <string name="android_beam_off_summary" msgid="4663095428454779138">"關閉"</string>
     <string name="android_beam_disabled_summary" msgid="1737782116894793393">"NFC 已關閉，因此無法使用"</string>
     <string name="android_beam_label" msgid="6257036050366775040">"Android Beam"</string>
-    <string name="android_beam_explained" msgid="1828555626055290684">"開啟此功能後，只需將裝置靠在一起，即可傳送應用程式的內容至其他支援 NFC 的裝置。舉例來說，您可以傳送瀏覽器網頁、YouTube 影片、聯絡人資料等內容。\n\n只需將裝置靠在一起 (通常是背靠背)，然後輕按螢幕，應用程式隨即會決定要傳送哪些內容。"</string>
+    <string name="android_beam_explained" msgid="1810540319385192758">"開啟此功能後，只需將裝置靠在一起，即可將應用程式內容傳送至另一部支援 NFC 的裝置。例如，您可以傳送網頁、YouTube 影片、聯絡人和其他內容。\n\n只需將裝置靠在一起 (通常是背靠背)，然後輕按螢幕，應用程式便會隨即決定要傳送的內容。"</string>
     <string name="wifi_quick_toggle_title" msgid="8850161330437693895">"Wi‑Fi"</string>
     <string name="wifi_quick_toggle_summary" msgid="2696547080481267642">"開啟 Wi-Fi"</string>
     <string name="wifi_settings" msgid="29722149822540994">"Wi‑Fi"</string>
@@ -1537,11 +1536,9 @@
     <string name="app_install_location_summary" msgid="5155453752692959098">"更改新應用程式在安裝時的喜好位置。"</string>
     <string name="app_disable_dlg_title" msgid="3916469657537695436">"您要停用內置應用程式嗎？"</string>
     <string name="app_disable_dlg_positive" msgid="7375627244201714263">"停用應用程式"</string>
-    <!-- no translation found for app_disable_dlg_text (5632072173181990531) -->
-    <skip />
+    <string name="app_disable_dlg_text" msgid="5632072173181990531">"如果你停用這個應用程式，Android 和其他應用程式可能無法正常運作。"</string>
     <string name="app_special_disable_dlg_title" msgid="2690148680327142674">"要刪除資料並停用應用程式嗎？"</string>
-    <!-- no translation found for app_special_disable_dlg_text (5832078825810635913) -->
-    <skip />
+    <string name="app_special_disable_dlg_text" msgid="5832078825810635913">"如果你停用這個應用程式，Android 和其他應用程式可能無法正常運作，你的資料也會遭到刪除。"</string>
     <string name="app_disable_notifications_dlg_title" msgid="7669264654851761857">"關閉通知？"</string>
     <string name="app_disable_notifications_dlg_text" msgid="5088484670924769845">"如果您關閉這個應用程式的通知，可能會錯失重要的警示與更新。"</string>
     <string name="app_install_details_group_title" msgid="7084623031296083574">"商店"</string>
@@ -2530,8 +2527,7 @@
       <item quantity="other">顯示 %d 個隱藏項目</item>
       <item quantity="one">顯示 %d 個隱藏項目</item>
     </plurals>
-    <!-- no translation found for network_dashboard_title (3135144174846753758) -->
-    <skip />
+    <string name="network_dashboard_title" msgid="3135144174846753758">"網路和網際網路"</string>
     <string name="connected_devices_dashboard_title" msgid="2355264951438890709">"已連結的裝置"</string>
     <string name="app_and_notification_dashboard_title" msgid="7838365599185397539">"應用程式和通知"</string>
     <string name="account_dashboard_title" msgid="38701889336378742">"使用者和帳戶"</string>
@@ -2584,6 +2580,7 @@
     <string name="keywords_profile_challenge" msgid="789611397846512845">"工作挑戰, 工作, 設定檔"</string>
     <string name="keywords_unification" msgid="1922900767659821025">"工作設定檔, 受管理的設定檔, 整合, 整合, 工作, 設定檔"</string>
     <string name="keywords_gesture" msgid="5696040361482126337">"手勢"</string>
+    <string name="keywords_payment_settings" msgid="5220104934130446416">"支付, 輕按, 付款"</string>
     <string name="setup_wifi_nfc_tag" msgid="9028353016222911016">"設定 Wi-Fi NFC 標籤"</string>
     <string name="write_tag" msgid="8571858602896222537">"寫入"</string>
     <string name="status_awaiting_tap" msgid="2130145523773160617">"輕按標籤即可寫入…"</string>
@@ -2656,16 +2653,11 @@
     <string name="app_notifications_title" msgid="139788604658984593">"通知"</string>
     <string name="notification_importance_title" msgid="848692592679312666">"重要性"</string>
     <string name="notification_importance_none" msgid="3173515479356106227">"未設定"</string>
-    <!-- no translation found for notification_importance_blocked (7938180808339386300) -->
-    <skip />
-    <!-- no translation found for notification_importance_min (5455049524984686275) -->
-    <skip />
-    <!-- no translation found for notification_importance_low (2445139943005315690) -->
-    <skip />
-    <!-- no translation found for notification_importance_default (5958338024601957516) -->
-    <skip />
-    <!-- no translation found for notification_importance_high (2082429479238228527) -->
-    <skip />
+    <string name="notification_importance_blocked" msgid="7938180808339386300">"一律不顯示通知"</string>
+    <string name="notification_importance_min" msgid="5455049524984686275">"不發出音效或顯示通知"</string>
+    <string name="notification_importance_low" msgid="2445139943005315690">"顯示通知但不發出音效"</string>
+    <string name="notification_importance_default" msgid="5958338024601957516">"發出音效"</string>
+    <string name="notification_importance_high" msgid="2082429479238228527">"發出音效並在畫面上彈出通知"</string>
     <string name="importance_reset" msgid="7458420788555607007">"重設"</string>
     <string name="show_silently" msgid="2222875799232222056">"顯示通知時不發出音效"</string>
     <string name="show_silently_summary" msgid="7616604629123146565">"禁止這些通知發出音效、震動或不時於目前螢幕上出現。"</string>
@@ -2694,16 +2686,11 @@
     <string name="loading_notification_apps" msgid="5031818677010335895">"正在載入應用程式…"</string>
     <string name="notification_channels" msgid="8681423709659818791">"頻道"</string>
     <string name="app_notification_block_title" msgid="4069351066849087649">"全部封鎖"</string>
-    <!-- no translation found for app_notification_block_summary (4744020456943215352) -->
-    <skip />
-    <!-- no translation found for notification_content_block_title (5854232570963006360) -->
-    <skip />
-    <!-- no translation found for notification_content_block_summary (7746185794438882389) -->
-    <skip />
-    <!-- no translation found for notification_badge_title (5404669445214920178) -->
-    <skip />
-    <!-- no translation found for notification_badge_summary (3944771498030335669) -->
-    <skip />
+    <string name="app_notification_block_summary" msgid="4744020456943215352">"一律不顯示這類通知"</string>
+    <string name="notification_content_block_title" msgid="5854232570963006360">"顯示通知"</string>
+    <string name="notification_content_block_summary" msgid="7746185794438882389">"一律不在通知欄或週邊裝置上顯示通知"</string>
+    <string name="notification_badge_title" msgid="5404669445214920178">"顯示狀態標籤"</string>
+    <string name="notification_badge_summary" msgid="3944771498030335669">"在支援的 Home 應用程式上以狀態標籤形式顯示通知。"</string>
     <string name="app_notification_override_dnd_title" msgid="7867458246395884830">"取代「請勿騷擾」"</string>
     <string name="app_notification_override_dnd_summary" msgid="3516007157020189746">"當「請勿騷擾」設定為「僅限優先」時，允許顯示這些通知"</string>
     <string name="app_notification_visibility_override_title" msgid="2187232730902430718">"畫面上鎖時"</string>
@@ -2805,7 +2792,7 @@
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2232461523882170874">"這個工作設定檔由以下應用程式管理："</string>
     <string name="managing_admin" msgid="8843802210377459055">"由<xliff:g id="ADMIN_APP_LABEL">%s</xliff:g>管理"</string>
     <string name="experimental_preference" msgid="7083015446690681376">"(實驗性)"</string>
-    <string name="display_auto_rotate_title" msgid="6176450657107806043">"當裝置旋轉時"</string>
+    <string name="display_auto_rotate_title" msgid="7119684966039069439">"裝置旋轉"</string>
     <string name="display_auto_rotate_rotate" msgid="4544299861233497728">"旋轉畫面內容"</string>
     <string name="display_auto_rotate_stay_in_portrait" msgid="292745182318093651">"保持縱向畫面"</string>
     <string name="display_auto_rotate_stay_in_landscape" msgid="3804752830204062162">"保持橫向畫面"</string>
@@ -3195,6 +3182,8 @@
     <string name="page_tab_title_support" msgid="6330657582897417458">"支援"</string>
     <string name="developer_density_summary" msgid="1998244213021456519">"<xliff:g id="ID_1">%d</xliff:g> dp"</string>
     <string name="developer_smallest_width" msgid="7516950434587313360">"最小寬度"</string>
+    <string name="developer_tile" msgid="4822711696408279658">"開發模式"</string>
+    <string name="developer_tile_unavailable" msgid="6559656549479711827">"尚未選取任何啟用狀態"</string>
     <string name="premium_sms_none" msgid="8268105565738040566">"沒有已安裝的應用程式要求發送付費短訊的權限"</string>
     <string name="premium_sms_warning" msgid="9086859595338944882">"付費短訊的費用可能高昂，並會增加您流動網絡供應商帳單的款項。如果您為應用程式開放權限，將可以透過該應用程式發送付費短訊。"</string>
     <string name="premium_sms_access" msgid="4660047004791638305">"發送付費短訊的權限"</string>
@@ -3224,8 +3213,7 @@
     <string name="support_disclaimer_do_not_show" msgid="3378367075323727539">"不要再顯示"</string>
     <string name="support_account_request_prefix" msgid="6387847874661861650">"透過以下帳戶提出要求"</string>
     <string name="support_account_picker_add_account" msgid="5076277544846506214">"新增帳戶"</string>
-    <!-- no translation found for support_system_information_title (3439905790018934773) -->
-    <skip />
+    <string name="support_system_information_title" msgid="3439905790018934773">"系統資訊"</string>
     <string name="managed_profile_settings_title" msgid="2729481936758125054">"工作設定檔設定"</string>
     <string name="managed_profile_contact_search_title" msgid="6034734926815544221">"聯絡人搜尋"</string>
     <string name="managed_profile_contact_search_summary" msgid="5431253552272970512">"允許您的機構搜尋聯絡人，以識別來電者和聯絡人"</string>
@@ -3316,4 +3304,16 @@
     <string name="enterprise_privacy_bug_reports" msgid="4762460041705169944">"您最近的錯誤報告"</string>
     <string name="enterprise_privacy_security_logs" msgid="3648730027522011684">"您最近的安全記錄"</string>
     <string name="enterprise_privacy_never" msgid="1304035596746436921">"永不"</string>
+    <string name="storage_photos_videos" msgid="1872663116054954685">"相片和影片"</string>
+    <string name="storage_music_audio" msgid="7890103397813503615">"音樂和音訊"</string>
+    <string name="storage_games" msgid="7703159201697117621">"遊戲"</string>
+    <string name="storage_other_apps" msgid="5524321740031718083">"其他應用程式"</string>
+    <string name="storage_files" msgid="8581083146777364063">"檔案"</string>
+    <string name="storage_settings_2" msgid="6369810699930056554">"手機儲存空間"</string>
+    <!-- no translation found for storage_size_large_alternate (3436941214395940966) -->
+    <skip />
+    <!-- no translation found for storage_volume_free (8829609507318832879) -->
+    <skip />
+    <!-- no translation found for storage_percent_used (6741397129281819921) -->
+    <skip />
 </resources>
diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml
index 139f9aa..a0eee46 100644
--- a/res/values-zh-rTW/strings.xml
+++ b/res/values-zh-rTW/strings.xml
@@ -86,8 +86,7 @@
     <string name="font_size_preview_text_headline" msgid="7955317408475392247">"範例文字"</string>
     <string name="font_size_preview_text_title" msgid="1310536233106975546">"綠野仙蹤"</string>
     <string name="font_size_preview_text_subtitle" msgid="4231671528173110093">"第 11 章：奧茲國的翡翠城"</string>
-    <!-- no translation found for font_size_preview_text_body (2846183528684496723) -->
-    <skip />
+    <string name="font_size_preview_text_body" msgid="2846183528684496723">"即使配戴著綠色眼鏡保護雙眼，這座美麗城市閃耀的光芒還是令桃樂絲和她的朋友們目眩神迷。街道兩側佇立著以碧綠大理石建造的華美房屋，上頭鑲滿光彩奪目的翡翠。街道路面同樣是以碧綠大理石鋪砌而成，石板接合處嵌有一排排緊密相連的翡翠，在陽光的照耀下閃閃發亮。房屋窗面採用翠綠玻璃，襯著城市上方的淡綠天空，就連陽光也透出青綠色調。\n\n城內居民眾多，無論男女老幼全都穿著綠色衣物，甚至皮膚也帶有綠色光澤。他們充滿好奇地盯著桃樂絲和她那群外貌迥異的夥伴，只是孩子們一看到獅子便飛快躲到母親身後；然而，一直沒有任何人開口與他們交談。街道上的商店五花八門，桃樂絲發現這些商店兜售的商品，從糖果和爆米花到鞋子、帽子和各式衣物，全都是綠色的。有位小販賣著綠色檸檬汁，當小孩掏錢購買時，桃樂絲清楚看見錢幣也是綠色的。\n\n城裡似乎沒有馬匹或任何動物；居民們都是推著綠色小推車來搬運物品。每個人看起來都相當幸福且富足。"</string>
     <string name="font_size_save" msgid="3450855718056759095">"確定"</string>
     <string name="sdcard_setting" product="nosdcard" msgid="8281011784066476192">"USB 儲存裝置"</string>
     <string name="sdcard_setting" product="default" msgid="5922637503871474866">"SD 卡"</string>
@@ -658,7 +657,7 @@
     <string name="android_beam_off_summary" msgid="4663095428454779138">"關閉"</string>
     <string name="android_beam_disabled_summary" msgid="1737782116894793393">"NFC 已關閉，因此無法使用"</string>
     <string name="android_beam_label" msgid="6257036050366775040">"Android Beam"</string>
-    <string name="android_beam_explained" msgid="1828555626055290684">"這項功能開啟時，您可以將裝置靠在一起，這樣就能把應用程式內容傳輸至其他支援 NFC 的裝置。舉例來說，您可以傳輸瀏覽器網頁、YouTube 影片、使用者聯絡人等內容。\n\n只要將裝置靠在一起 (一般為背面對背面)，然後輕觸螢幕，應用程式隨即會決定要傳輸哪些內容。"</string>
+    <string name="android_beam_explained" msgid="1810540319385192758">"這項功能啟用時，只要將裝置靠在一起，即可讓應用程式內容傳輸至其他支援 NFC 的裝置。例如，你可以傳輸網頁、YouTube 影片、聯絡人等內容。\n\n只要將裝置靠在一起 (一般都是背靠背)，然後輕觸螢幕，接著應用程式會決定要傳輸哪些內容。"</string>
     <string name="wifi_quick_toggle_title" msgid="8850161330437693895">"Wi‑Fi"</string>
     <string name="wifi_quick_toggle_summary" msgid="2696547080481267642">"開啟 Wi-Fi"</string>
     <string name="wifi_settings" msgid="29722149822540994">"Wi‑Fi"</string>
@@ -1536,11 +1535,9 @@
     <string name="app_install_location_summary" msgid="5155453752692959098">"變更偏好的新應用程式安裝位置"</string>
     <string name="app_disable_dlg_title" msgid="3916469657537695436">"您要停用內建應用程式嗎？"</string>
     <string name="app_disable_dlg_positive" msgid="7375627244201714263">"停用應用程式"</string>
-    <!-- no translation found for app_disable_dlg_text (5632072173181990531) -->
-    <skip />
+    <string name="app_disable_dlg_text" msgid="5632072173181990531">"如果你停用這個應用程式，Android 和其他應用程式可能無法正常運作。"</string>
     <string name="app_special_disable_dlg_title" msgid="2690148680327142674">"刪除資料並停用應用程式？"</string>
-    <!-- no translation found for app_special_disable_dlg_text (5832078825810635913) -->
-    <skip />
+    <string name="app_special_disable_dlg_text" msgid="5832078825810635913">"如果你停用這個應用程式，Android 和其他應用程式可能無法正常運作，你的資料也會遭到刪除。"</string>
     <string name="app_disable_notifications_dlg_title" msgid="7669264654851761857">"關閉通知？"</string>
     <string name="app_disable_notifications_dlg_text" msgid="5088484670924769845">"如果您關閉這個應用程式的通知，可能會錯失重要的警示與更新。"</string>
     <string name="app_install_details_group_title" msgid="7084623031296083574">"商店"</string>
@@ -2531,8 +2528,7 @@
       <item quantity="other">顯示 %d 個隱藏項目</item>
       <item quantity="one">顯示 %d 個隱藏項目</item>
     </plurals>
-    <!-- no translation found for network_dashboard_title (3135144174846753758) -->
-    <skip />
+    <string name="network_dashboard_title" msgid="3135144174846753758">"網路和網際網路"</string>
     <string name="connected_devices_dashboard_title" msgid="2355264951438890709">"已連結的裝置"</string>
     <string name="app_and_notification_dashboard_title" msgid="7838365599185397539">"應用程式和通知"</string>
     <string name="account_dashboard_title" msgid="38701889336378742">"使用者和帳戶"</string>
@@ -2585,6 +2581,7 @@
     <string name="keywords_profile_challenge" msgid="789611397846512845">"Work 驗證、Work、設定檔"</string>
     <string name="keywords_unification" msgid="1922900767659821025">"Work 設定檔, 受管理設定檔, 整合, 整合, Work, 設定檔"</string>
     <string name="keywords_gesture" msgid="5696040361482126337">"手勢"</string>
+    <string name="keywords_payment_settings" msgid="5220104934130446416">"支付、輕觸、付款"</string>
     <string name="setup_wifi_nfc_tag" msgid="9028353016222911016">"設定 Wi-Fi NFC 標記"</string>
     <string name="write_tag" msgid="8571858602896222537">"寫入"</string>
     <string name="status_awaiting_tap" msgid="2130145523773160617">"輕觸標記即可寫入..."</string>
@@ -2657,16 +2654,11 @@
     <string name="app_notifications_title" msgid="139788604658984593">"通知"</string>
     <string name="notification_importance_title" msgid="848692592679312666">"重要性"</string>
     <string name="notification_importance_none" msgid="3173515479356106227">"未設定"</string>
-    <!-- no translation found for notification_importance_blocked (7938180808339386300) -->
-    <skip />
-    <!-- no translation found for notification_importance_min (5455049524984686275) -->
-    <skip />
-    <!-- no translation found for notification_importance_low (2445139943005315690) -->
-    <skip />
-    <!-- no translation found for notification_importance_default (5958338024601957516) -->
-    <skip />
-    <!-- no translation found for notification_importance_high (2082429479238228527) -->
-    <skip />
+    <string name="notification_importance_blocked" msgid="7938180808339386300">"一律不顯示通知"</string>
+    <string name="notification_importance_min" msgid="5455049524984686275">"不發出音效或顯示通知"</string>
+    <string name="notification_importance_low" msgid="2445139943005315690">"顯示通知但不發出音效"</string>
+    <string name="notification_importance_default" msgid="5958338024601957516">"發出音效"</string>
+    <string name="notification_importance_high" msgid="2082429479238228527">"發出音效並在畫面上彈出通知"</string>
     <string name="importance_reset" msgid="7458420788555607007">"重設"</string>
     <string name="show_silently" msgid="2222875799232222056">"無聲顯示"</string>
     <string name="show_silently_summary" msgid="7616604629123146565">"不要發出音效、震動，也不要在目前畫面上短暫顯示這類通知。"</string>
@@ -2695,16 +2687,11 @@
     <string name="loading_notification_apps" msgid="5031818677010335895">"正在載入應用程式..."</string>
     <string name="notification_channels" msgid="8681423709659818791">"頻道"</string>
     <string name="app_notification_block_title" msgid="4069351066849087649">"全部封鎖"</string>
-    <!-- no translation found for app_notification_block_summary (4744020456943215352) -->
-    <skip />
-    <!-- no translation found for notification_content_block_title (5854232570963006360) -->
-    <skip />
-    <!-- no translation found for notification_content_block_summary (7746185794438882389) -->
-    <skip />
-    <!-- no translation found for notification_badge_title (5404669445214920178) -->
-    <skip />
-    <!-- no translation found for notification_badge_summary (3944771498030335669) -->
-    <skip />
+    <string name="app_notification_block_summary" msgid="4744020456943215352">"一律不顯示這類通知"</string>
+    <string name="notification_content_block_title" msgid="5854232570963006360">"顯示通知"</string>
+    <string name="notification_content_block_summary" msgid="7746185794438882389">"一律不在通知欄或週邊裝置上顯示通知"</string>
+    <string name="notification_badge_title" msgid="5404669445214920178">"顯示狀態標籤"</string>
+    <string name="notification_badge_summary" msgid="3944771498030335669">"在支援的 Home 應用程式上以狀態標籤形式顯示通知。"</string>
     <string name="app_notification_override_dnd_title" msgid="7867458246395884830">"覆寫「零打擾」模式設定"</string>
     <string name="app_notification_override_dnd_summary" msgid="3516007157020189746">"當「零打擾」模式設定為「僅限優先通知」時，允許這些通知繼續干擾"</string>
     <string name="app_notification_visibility_override_title" msgid="2187232730902430718">"螢幕鎖定時"</string>
@@ -2806,7 +2793,7 @@
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2232461523882170874">"這個 Work 設定檔是由下列應用程式管理："</string>
     <string name="managing_admin" msgid="8843802210377459055">"由 <xliff:g id="ADMIN_APP_LABEL">%s</xliff:g> 管理"</string>
     <string name="experimental_preference" msgid="7083015446690681376">"(實驗性)"</string>
-    <string name="display_auto_rotate_title" msgid="6176450657107806043">"當裝置旋轉時"</string>
+    <string name="display_auto_rotate_title" msgid="7119684966039069439">"裝置旋轉"</string>
     <string name="display_auto_rotate_rotate" msgid="4544299861233497728">"旋轉畫面內容"</string>
     <string name="display_auto_rotate_stay_in_portrait" msgid="292745182318093651">"保持直向畫面"</string>
     <string name="display_auto_rotate_stay_in_landscape" msgid="3804752830204062162">"保持橫向畫面"</string>
@@ -3196,6 +3183,8 @@
     <string name="page_tab_title_support" msgid="6330657582897417458">"支援"</string>
     <string name="developer_density_summary" msgid="1998244213021456519">"<xliff:g id="ID_1">%d</xliff:g> dp"</string>
     <string name="developer_smallest_width" msgid="7516950434587313360">"最小寬度"</string>
+    <string name="developer_tile" msgid="4822711696408279658">"開發模式"</string>
+    <string name="developer_tile_unavailable" msgid="6559656549479711827">"未選取任何啟用狀態"</string>
     <string name="premium_sms_none" msgid="8268105565738040566">"沒有任何已安裝的應用程式要求「付費簡訊」存取權"</string>
     <string name="premium_sms_warning" msgid="9086859595338944882">"「付費簡訊」需要額外計費，相關費用會併入您的電信費帳單。如果您為某個應用程式啟用權限，即可利用該應用程式傳送付費簡訊。"</string>
     <string name="premium_sms_access" msgid="4660047004791638305">"付費簡訊存取權"</string>
@@ -3225,8 +3214,7 @@
     <string name="support_disclaimer_do_not_show" msgid="3378367075323727539">"不要再顯示"</string>
     <string name="support_account_request_prefix" msgid="6387847874661861650">"透過以下帳戶提出要求"</string>
     <string name="support_account_picker_add_account" msgid="5076277544846506214">"新增帳戶"</string>
-    <!-- no translation found for support_system_information_title (3439905790018934773) -->
-    <skip />
+    <string name="support_system_information_title" msgid="3439905790018934773">"系統資訊"</string>
     <string name="managed_profile_settings_title" msgid="2729481936758125054">"Work 設定檔設定"</string>
     <string name="managed_profile_contact_search_title" msgid="6034734926815544221">"聯絡人搜尋"</string>
     <string name="managed_profile_contact_search_summary" msgid="5431253552272970512">"允許您的機構搜尋聯絡人，以便識別來電者和聯絡人的身分"</string>
@@ -3317,4 +3305,16 @@
     <string name="enterprise_privacy_bug_reports" msgid="4762460041705169944">"最新錯誤報告"</string>
     <string name="enterprise_privacy_security_logs" msgid="3648730027522011684">"最新安全性紀錄"</string>
     <string name="enterprise_privacy_never" msgid="1304035596746436921">"永遠不要"</string>
+    <string name="storage_photos_videos" msgid="1872663116054954685">"相片和影片"</string>
+    <string name="storage_music_audio" msgid="7890103397813503615">"音樂和音訊"</string>
+    <string name="storage_games" msgid="7703159201697117621">"遊戲"</string>
+    <string name="storage_other_apps" msgid="5524321740031718083">"其他應用程式"</string>
+    <string name="storage_files" msgid="8581083146777364063">"檔案"</string>
+    <string name="storage_settings_2" msgid="6369810699930056554">"手機儲存空間"</string>
+    <!-- no translation found for storage_size_large_alternate (3436941214395940966) -->
+    <skip />
+    <!-- no translation found for storage_volume_free (8829609507318832879) -->
+    <skip />
+    <!-- no translation found for storage_percent_used (6741397129281819921) -->
+    <skip />
 </resources>
diff --git a/res/values-zu/strings.xml b/res/values-zu/strings.xml
index 16aeb43..01841a0 100644
--- a/res/values-zu/strings.xml
+++ b/res/values-zu/strings.xml
@@ -658,7 +658,7 @@
     <string name="android_beam_off_summary" msgid="4663095428454779138">"Valiwe"</string>
     <string name="android_beam_disabled_summary" msgid="1737782116894793393">"Ayitholakali ngoba i-NFC icishiwe"</string>
     <string name="android_beam_label" msgid="6257036050366775040">"i-Android Beam"</string>
-    <string name="android_beam_explained" msgid="1828555626055290684">"Uma kuvulwe lesi sici, ungadlulisa okuqukethwe okusetshenziswayo kwenye ikhebuli ye-NFC ngokumisa amadivayisi enye eduze kwenye. Isibonelo ungahlanganisa amakhasi Esiphequluli, amavidiyo ka-YouTube, kwezokuxhumana nabantu, kanye nokunye.\n\nHlanganisa amadivayisi ndawonye (ngokujwayelekile enye ngemuva kwenye) bese uthepha isikrini sakho. Uhlelo lokusebenza luyathola ukuthi yini ezoba-beamed."</string>
+    <string name="android_beam_explained" msgid="1810540319385192758">"Uma kuvulwe lesi sici, ungadlulisa okuqukethwe okusetshenziswayo kwenye ikhebuli ye-NFC ngokumisa amadivayisi enye eduze kwenye. Isibonelo ungahlanganisa amakhasi ewebhusayithi, amavidiyo e-YouTube, okuxhumana nabo, kanye nokunye.\n\nHlanganisa amadivayisi ndawonye (ngokujwayelekile enye ngemuva kwenye) bese uthepha isikrini sakho. Uhlelo lokusebenza luyathola ukuthi yini ezovumelaniswa."</string>
     <string name="wifi_quick_toggle_title" msgid="8850161330437693895">"I-Wi-Fi"</string>
     <string name="wifi_quick_toggle_summary" msgid="2696547080481267642">"Vula i-Wi-Fi"</string>
     <string name="wifi_settings" msgid="29722149822540994">"I-Wi-Fi"</string>
@@ -2582,6 +2582,7 @@
     <string name="keywords_profile_challenge" msgid="789611397846512845">"ukuphonselwa inselelo komsebenzi, umsebenzi, iphrofayela"</string>
     <string name="keywords_unification" msgid="1922900767659821025">"iphrofayela yomsebenzi, iphrofayela ephethwe, ukuhlanganisa, ukuhlanganisa, umsebenzi, iphrofayela"</string>
     <string name="keywords_gesture" msgid="5696040361482126337">"ukuthinta"</string>
+    <string name="keywords_payment_settings" msgid="5220104934130446416">"khokha, thepha, i-payments"</string>
     <string name="setup_wifi_nfc_tag" msgid="9028353016222911016">"Setha umaka we-Wi-Fi NFC"</string>
     <string name="write_tag" msgid="8571858602896222537">"Bhala"</string>
     <string name="status_awaiting_tap" msgid="2130145523773160617">"Thepha umaki ukuze ubhale..."</string>
@@ -2803,7 +2804,7 @@
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2232461523882170874">"Le phrofayela yomsebenzi iphethwe ngu:"</string>
     <string name="managing_admin" msgid="8843802210377459055">"Iphethwe ngu-<xliff:g id="ADMIN_APP_LABEL">%s</xliff:g>"</string>
     <string name="experimental_preference" msgid="7083015446690681376">"(Ukuhlola)"</string>
-    <string name="display_auto_rotate_title" msgid="6176450657107806043">"Uma idivayisi ijikeleziswa"</string>
+    <string name="display_auto_rotate_title" msgid="7119684966039069439">"Ukuzungezisa idivayisi"</string>
     <string name="display_auto_rotate_rotate" msgid="4544299861233497728">"Jikelezisa okuqukethwe kwesikrini"</string>
     <string name="display_auto_rotate_stay_in_portrait" msgid="292745182318093651">"Hlala ekubukweni kokuma ngobude"</string>
     <string name="display_auto_rotate_stay_in_landscape" msgid="3804752830204062162">"Hlala ekubukweni kokwakheka kwezwe"</string>
@@ -3193,6 +3194,8 @@
     <string name="page_tab_title_support" msgid="6330657582897417458">"Usekelo"</string>
     <string name="developer_density_summary" msgid="1998244213021456519">"I-<xliff:g id="ID_1">%d</xliff:g> dp"</string>
     <string name="developer_smallest_width" msgid="7516950434587313360">"Ububanzi obuncane"</string>
+    <string name="developer_tile" msgid="4822711696408279658">"Imodi yokuthuthukisa"</string>
+    <string name="developer_tile_unavailable" msgid="6559656549479711827">"Asikho isimo esisebenzayo esikhethiwe"</string>
     <string name="premium_sms_none" msgid="8268105565738040566">"Azikho izinhlelo zokusebenza ezicele ukufinyelela kwe-Premium SMS"</string>
     <string name="premium_sms_warning" msgid="9086859595338944882">"I-Premium SMS ingakwenzela izindleko zemali futhi izongeza kumabhili enkampani yenethiwekhi. Uma unika amandla imvume yohlelo lokusebenza, uzokwazi ukuthumela i-premium SMS usebenzisa lolo hlelo lokusebenza."</string>
     <string name="premium_sms_access" msgid="4660047004791638305">"Ukufinyelela ku-Premium SMS"</string>
@@ -3314,4 +3317,16 @@
     <string name="enterprise_privacy_bug_reports" msgid="4762460041705169944">"Umbiko wakho wakamuva kakhulu wesiphazamisi"</string>
     <string name="enterprise_privacy_security_logs" msgid="3648730027522011684">"Ilogu lakho lokuvikela lakamuva kakhulu"</string>
     <string name="enterprise_privacy_never" msgid="1304035596746436921">"Akusoze"</string>
+    <string name="storage_photos_videos" msgid="1872663116054954685">"Izithombe namavidiyo"</string>
+    <string name="storage_music_audio" msgid="7890103397813503615">"Umculo nomsindo"</string>
+    <string name="storage_games" msgid="7703159201697117621">"Amageyimu"</string>
+    <string name="storage_other_apps" msgid="5524321740031718083">"Ezinye izinhlelo zokusebenza"</string>
+    <string name="storage_files" msgid="8581083146777364063">"Amafayela"</string>
+    <string name="storage_settings_2" msgid="6369810699930056554">"Isireji sefoni"</string>
+    <!-- no translation found for storage_size_large_alternate (3436941214395940966) -->
+    <skip />
+    <!-- no translation found for storage_volume_free (8829609507318832879) -->
+    <skip />
+    <!-- no translation found for storage_percent_used (6741397129281819921) -->
+    <skip />
 </resources>
diff --git a/res/values/colors.xml b/res/values/colors.xml
index a8d35dc..38eb74b 100644
--- a/res/values/colors.xml
+++ b/res/values/colors.xml
@@ -111,6 +111,9 @@
     <!-- Gestures settings -->
     <color name="gestures_setting_background_color">#f5f5f5</color>
 
-    <!-- TODO: revert it after the SettingsShadowResources is globally finalized -->
     <color name="status_bar_color">#3c3c3c</color>
+
+    <!-- Color for the background of the donut graph.-->
+    <color name="donut_background_grey">#ffd7d7d7</color>
+
 </resources>
diff --git a/res/values/dimens.xml b/res/values/dimens.xml
index 4b3dba9..bc159d6 100755
--- a/res/values/dimens.xml
+++ b/res/values/dimens.xml
@@ -307,4 +307,7 @@
     <!-- Padding for the escalation card in normal dimens -->
     <dimen name="support_escalation_card_padding_start">40dp</dimen>
     <dimen name="support_escalation_card_padding_end">40dp</dimen>
+
+    <!-- Padding between the donut and the storage summary. -->
+    <dimen name="storage_summary_padding_end">16dp</dimen>
 </resources>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 0f8f762..5038177 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -1582,9 +1582,13 @@
     <!-- Toast message when Wi-Fi or bluetooth is disallowed in airplane mode -->
     <string name="wifi_in_airplane_mode">In Airplane mode</string>
     <!-- Checkbox title for option to notify user when open networks are nearby -->
-    <string name="wifi_notify_open_networks">Network notification</string>
+    <string name="wifi_notify_open_networks">Open network notification</string>
     <!-- Checkbox summary for option to notify user when open networks are nearby [CHAR LIMIT=60]-->
-    <string name="wifi_notify_open_networks_summary">Notify whenever a public network is available</string>
+    <string name="wifi_notify_open_networks_summary">Notify whenever a high quality open network is available</string>
+    <!-- Checkbox title for option to enable Wi-Fi when saved networks are nearby -->
+    <string name="wifi_wakeup">Turn Wi\u2011Fi back on</string>
+    <!-- Checkbox summary for option to enable Wi-Fi when saved networks are nearby [CHAR LIMIT=60]-->
+    <string name="wifi_wakeup_summary">Automatically turn on Wi\u2011Fi near saved networks</string>
     <!-- Checkbox title for option to toggle poor network detection -->
     <string name="wifi_poor_network_detection">Avoid poor connections</string>
     <!-- Checkbox summary for option to toggle poor network detection -->
@@ -8003,6 +8007,19 @@
     <string name="enterprise_privacy_security_logs">Your most recent security log</string>
     <!-- Label indicating that the date at which the admin last took a particular action was "never" (i.e. the admin never took the action so far). -->
     <string name="enterprise_privacy_never">Never</string>
+    <!-- Label explaining that an always-on VPN was set by the admin for the entire device. [CHAR LIMIT=NONE] -->
+    <string name="enterprise_privacy_always_on_vpn_device">Always-on VPN turned on</string>
+    <!-- Label explaining that an always-on VPN was set by the admin in the personal profile. [CHAR LIMIT=NONE] -->
+    <string name="enterprise_privacy_always_on_vpn_personal">Always-on VPN turned on in your personal profile</string>
+    <!-- Label explaining that an always-on VPN was set by the admin in the work profile. [CHAR LIMIT=NONE] -->
+    <string name="enterprise_privacy_always_on_vpn_work">Always-on VPN turned on in your work profile</string>
+    <!-- Label explaining that a global HTTP proxy was set by the admin. [CHAR LIMIT=NONE] -->
+    <string name="enterprise_privacy_global_http_proxy">Global HTTP proxy set</string>
+    <!-- Label indicating how many apps were installed on the device by the admin. [CHAR LIMIT=NONE] -->
+    <plurals name="enterprise_privacy_number_enterprise_installed_packages">
+        <item quantity="one"><xliff:g id="count">%d</xliff:g> app installed by your admin</item>
+        <item quantity="other"><xliff:g id="count">%d</xliff:g> apps installed by your admin</item>
+    </plurals>
 
     <!-- Preference label for the Photos & Videos storage section. [CHAR LIMIT=50] -->
     <string name="storage_photos_videos">Photos &amp; Videos</string>
@@ -8022,4 +8039,20 @@
     <!-- Main settings screen item's title to go into the storage settings screen [CHAR LIMIT=25] -->
     <string name="storage_settings_2" >Phone Storage</string>
 
+    <!-- Summary of a single storage volume used space. [CHAR LIMIT=24] -->
+    <string name="storage_size_large_alternate"><xliff:g id="number" example="128">^1</xliff:g><small><small> <xliff:g id="unit" example="KB">^2</xliff:g> used</small></small></string>
+    <!-- Summary of a single storage volume free space. [CHAR LIMIT=48]-->
+    <string name="storage_volume_free"><xliff:g id="total" example="32GB">%1$s</xliff:g> free</string>
+    <!-- The percent of storage used by a storage volume. Exposed inside of a donut graph. [CHAR LIMIT=4]-->
+    <string name="storage_percent_used"><xliff:g id="percent" example="50%">%1$s</xliff:g>%%</string>
+
+    <!-- Indicates if the automatic storage manager is enabled or not. [CHAR_LIMIT=40] -->
+    <string name="storage_manager_indicator">Storage Manager: <xliff:g id="status" example="on">^1</xliff:g></string>
+
+    <!-- Off status for the automatic storage manager. [CHAR_LIMIT=10] -->
+    <string name="storage_manager_indicator_off">Off</string>
+
+    <!-- On status for the automatic storage manager. [CHAR_LIMIT=10] -->
+    <string name="storage_manager_indicator_on">On</string>
+
 </resources>
diff --git a/res/values/styles.xml b/res/values/styles.xml
index a3baa21..29cb390 100644
--- a/res/values/styles.xml
+++ b/res/values/styles.xml
@@ -437,4 +437,5 @@
     </style>
 
     <style name="AppActionPrimaryButton" parent="android:Widget.Material.Button.Colored"/>
+
 </resources>
diff --git a/res/xml/channel_notification_settings.xml b/res/xml/channel_notification_settings.xml
index c2d1f73..e1d6d55 100644
--- a/res/xml/channel_notification_settings.xml
+++ b/res/xml/channel_notification_settings.xml
@@ -27,15 +27,6 @@
         settings:useAdditionalSummary="true"
         settings:restrictedSwitchSummary="@string/enabled_by_admin" />
 
-    <!-- Show notification -->
-    <com.android.settingslib.RestrictedSwitchPreference
-        android:key="show"
-        android:title="@string/notification_content_block_title"
-        android:summary="@string/notification_content_block_summary"
-        android:order="2"
-        settings:useAdditionalSummary="true"
-        settings:restrictedSwitchSummary="@string/enabled_by_admin" />
-
     <!-- Show badge -->
     <com.android.settingslib.RestrictedSwitchPreference
         android:key="badge"
diff --git a/res/xml/connected_devices.xml b/res/xml/connected_devices.xml
index 188fd86..abf493f 100644
--- a/res/xml/connected_devices.xml
+++ b/res/xml/connected_devices.xml
@@ -21,6 +21,7 @@
     <SwitchPreference
         android:key="toggle_nfc"
         android:title="@string/nfc_quick_toggle_title"
+        android:icon="@drawable/ic_nfc"
         android:summary="@string/nfc_quick_toggle_summary"
         android:order="-5"/>
 
@@ -28,11 +29,13 @@
         android:fragment="com.android.settings.nfc.AndroidBeam"
         android:key="android_beam_settings"
         android:title="@string/android_beam_settings_title"
+        android:icon="@drawable/ic_android"
         android:order="-4"/>
 
     <Preference
         android:key="usb_mode"
         android:title="@string/usb_pref"
+        android:icon="@drawable/ic_usb"
         android:order="-3">
         <intent android:action="android.intent.action.MAIN"
                 android:targetPackage="com.android.settings"
diff --git a/res/xml/data_usage_metered_prefs.xml b/res/xml/data_usage_metered_prefs.xml
index 5915101..a1f3110 100644
--- a/res/xml/data_usage_metered_prefs.xml
+++ b/res/xml/data_usage_metered_prefs.xml
@@ -35,9 +35,8 @@
 
     </PreferenceCategory>
 
-    <Preference
-        android:summary="@string/data_usage_metered_body"
-        android:persistent="false"
+    <com.android.settings.widget.FooterPreference
+        android:title="@string/data_usage_metered_body"
         android:selectable="false" />
 
 </PreferenceScreen>
diff --git a/res/xml/enterprise_privacy_settings.xml b/res/xml/enterprise_privacy_settings.xml
index e1761e2..9fed938 100644
--- a/res/xml/enterprise_privacy_settings.xml
+++ b/res/xml/enterprise_privacy_settings.xml
@@ -59,6 +59,24 @@
     </PreferenceCategory>
 
     <PreferenceCategory android:title="@string/enterprise_privacy_exposure_changes_category">
+        <com.android.settings.DividerPreference
+                android:key="always_on_vpn_primary_user"
+                settings:allowDividerBelow="true"
+                settings:multiLine="true"/>
+        <com.android.settings.DividerPreference
+                android:key="always_on_vpn_managed_profile"
+                android:title="@string/enterprise_privacy_always_on_vpn_work"
+                settings:allowDividerBelow="true"
+                settings:multiLine="true"/>
+        <com.android.settings.DividerPreference
+                android:key="global_http_proxy"
+                android:title="@string/enterprise_privacy_global_http_proxy"
+                settings:allowDividerBelow="true"
+                settings:multiLine="true"/>
+        <com.android.settings.DividerPreference
+                android:key="number_enterprise_installed_packages"
+                settings:allowDividerBelow="true"
+                settings:multiLine="true"/>
     </PreferenceCategory>
 
     <PreferenceCategory android:title="@string/enterprise_privacy_device_access_category">
diff --git a/res/xml/language_and_region.xml b/res/xml/language_and_region.xml
index 62179c9..faf0ecd 100644
--- a/res/xml/language_and_region.xml
+++ b/res/xml/language_and_region.xml
@@ -28,7 +28,8 @@
     <Preference
         android:key="spellcheckers_settings"
         android:title="@string/spellcheckers_settings_title"
-        android:persistent="false"/>
+        android:persistent="false"
+        android:fragment="com.android.settings.inputmethod.SpellCheckersSettings"/>
 
     <!-- User dictionary preference title and fragment will be set programmatically. -->
     <Preference
diff --git a/res/xml/location_mode.xml b/res/xml/location_mode.xml
index b1b05bb..e6dc067 100644
--- a/res/xml/location_mode.xml
+++ b/res/xml/location_mode.xml
@@ -17,15 +17,15 @@
 <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
         android:title="@string/location_mode_screen_title">
 
-        <com.android.settings.location.RadioButtonPreference
+        <com.android.settings.widget.RadioButtonPreference
             android:key="high_accuracy"
             android:title="@string/location_mode_high_accuracy_title"
             android:summary="@string/location_mode_high_accuracy_description" />
-        <com.android.settings.location.RadioButtonPreference
+        <com.android.settings.widget.RadioButtonPreference
             android:key="battery_saving"
             android:title="@string/location_mode_battery_saving_title"
             android:summary="@string/location_mode_battery_saving_description" />
-        <com.android.settings.location.RadioButtonPreference
+        <com.android.settings.widget.RadioButtonPreference
             android:key="sensors_only"
             android:title="@string/location_mode_sensors_only_title"
             android:summary="@string/location_mode_sensors_only_description" />
diff --git a/res/xml/network_and_internet.xml b/res/xml/network_and_internet.xml
index 2dfb1cc..dc2efd8 100644
--- a/res/xml/network_and_internet.xml
+++ b/res/xml/network_and_internet.xml
@@ -22,12 +22,14 @@
     <SwitchPreference
         android:key="toggle_airplane"
         android:title="@string/airplane_mode"
+        android:icon="@drawable/ic_airplanemode_active"
         android:disableDependentsState="true"
         android:order="-30"/>
 
     <com.android.settingslib.RestrictedPreference
         android:key="mobile_network_settings"
         android:title="@string/network_settings_title"
+        android:icon="@drawable/ic_network_cell"
         android:dependency="toggle_airplane"
         android:order="-15"
         settings:keywords="@string/keywords_more_mobile_networks"
@@ -43,6 +45,7 @@
         android:fragment="com.android.settings.TetherSettings"
         android:key="tether_settings"
         android:title="@string/tether_settings_title_all"
+        android:icon="@drawable/ic_wifi_tethering"
         android:order="-5"
         settings:userRestriction="no_config_tethering"
         settings:useAdminDisabledSummary="true"/>
@@ -51,6 +54,7 @@
         android:fragment="com.android.settings.vpn2.VpnSettings"
         android:key="vpn_settings"
         android:title="@string/vpn_settings_title"
+        android:icon="@drawable/ic_vpn_key"
         android:order="0"
         settings:userRestriction="no_config_vpn"
         settings:useAdminDisabledSummary="true"/>
@@ -77,6 +81,7 @@
     <com.android.settingslib.RestrictedPreference
         android:key="network_reset"
         android:title="@string/reset_network_title"
+        android:icon="@drawable/ic_settings_backup_restore"
         settings:keywords="@string/keywords_network_reset"
         android:fragment="com.android.settings.ResetNetwork"
         settings:userRestriction="no_network_reset"
diff --git a/res/xml/storage_dashboard_fragment.xml b/res/xml/storage_dashboard_fragment.xml
index d577267..f6d6310 100644
--- a/res/xml/storage_dashboard_fragment.xml
+++ b/res/xml/storage_dashboard_fragment.xml
@@ -21,32 +21,26 @@
         android:key="pref_summary" />
     <com.android.settings.deviceinfo.storage.StorageItemPreferenceAlternate
         android:key="pref_photos_videos"
-        android:title="@string/storage_photos_videos"
-        android:fragment="com.android.settings.deletionhelper.AutomaticStorageManagerSettings">
+        android:title="@string/storage_photos_videos">
     </com.android.settings.deviceinfo.storage.StorageItemPreferenceAlternate>
     <com.android.settings.deviceinfo.storage.StorageItemPreferenceAlternate
         android:key="pref_music_audio"
-        android:title="@string/storage_music_audio"
-        android:fragment="com.android.settings.deletionhelper.AutomaticStorageManagerSettings">
+        android:title="@string/storage_music_audio">
     </com.android.settings.deviceinfo.storage.StorageItemPreferenceAlternate>
     <com.android.settings.deviceinfo.storage.StorageItemPreferenceAlternate
         android:key="pref_games"
-        android:title="@string/storage_games"
-        android:fragment="com.android.settings.deletionhelper.AutomaticStorageManagerSettings">
+        android:title="@string/storage_games">
     </com.android.settings.deviceinfo.storage.StorageItemPreferenceAlternate>
     <com.android.settings.deviceinfo.storage.StorageItemPreferenceAlternate
         android:key="pref_other_apps"
-        android:title="@string/storage_other_apps"
-        android:fragment="com.android.settings.deletionhelper.AutomaticStorageManagerSettings">
-    </com.android.settings.deviceinfo.storage.StorageItemPreferenceAlternate>
-    <com.android.settings.deviceinfo.storage.StorageItemPreferenceAlternate
-        android:key="pref_system"
-        android:title="@string/storage_detail_system"
-        android:fragment="com.android.settings.deletionhelper.AutomaticStorageManagerSettings">
+        android:title="@string/storage_other_apps">
     </com.android.settings.deviceinfo.storage.StorageItemPreferenceAlternate>
     <com.android.settings.deviceinfo.storage.StorageItemPreferenceAlternate
         android:key="pref_files"
-        android:title="@string/storage_files"
-        android:fragment="com.android.settings.deletionhelper.AutomaticStorageManagerSettings">
+        android:title="@string/storage_files">
+    </com.android.settings.deviceinfo.storage.StorageItemPreferenceAlternate>
+    <com.android.settings.deviceinfo.storage.StorageItemPreferenceAlternate
+        android:key="pref_system"
+        android:title="@string/storage_detail_system">
     </com.android.settings.deviceinfo.storage.StorageItemPreferenceAlternate>
 </PreferenceScreen>
\ No newline at end of file
diff --git a/res/xml/wifi_configure_settings.xml b/res/xml/wifi_configure_settings.xml
index 91df2fe..a43ea87 100644
--- a/res/xml/wifi_configure_settings.xml
+++ b/res/xml/wifi_configure_settings.xml
@@ -23,11 +23,6 @@
         android:fragment="com.android.settings.wifi.SavedAccessPointsWifiSettings" />
 
     <!-- android:dependency="enable_wifi" -->
-    <SwitchPreference
-        android:key="notify_open_networks"
-        android:title="@string/wifi_notify_open_networks"
-        android:summary="@string/wifi_notify_open_networks_summary" />
-
     <ListPreference
         android:key="sleep_policy"
         android:title="@string/wifi_setting_sleep_policy_title"
@@ -40,6 +35,16 @@
       android:summary="@string/networking_allow_recommendations_summary"/>
 
     <SwitchPreference
+        android:key="notify_open_networks"
+        android:title="@string/wifi_notify_open_networks"
+        android:summary="@string/wifi_notify_open_networks_summary" />
+
+    <SwitchPreference
+        android:key="enable_wifi_wakeup"
+        android:title="@string/wifi_wakeup"
+        android:summary="@string/wifi_wakeup_summary" />
+
+    <SwitchPreference
         android:key="wifi_cellular_data_fallback"
         android:title="@string/wifi_cellular_data_fallback_title"
         android:summary="@string/wifi_cellular_data_fallback_summary"/>
diff --git a/src/com/android/settings/DevelopmentSettings.java b/src/com/android/settings/DevelopmentSettings.java
index e69521e..27ff937 100644
--- a/src/com/android/settings/DevelopmentSettings.java
+++ b/src/com/android/settings/DevelopmentSettings.java
@@ -492,6 +492,7 @@
         mBluetoothSelectA2dpBitsPerSample = addListPreference(BLUETOOTH_SELECT_A2DP_BITS_PER_SAMPLE_KEY);
         mBluetoothSelectA2dpChannelMode = addListPreference(BLUETOOTH_SELECT_A2DP_CHANNEL_MODE_KEY);
         mBluetoothSelectA2dpLdacPlaybackQuality = addListPreference(BLUETOOTH_SELECT_A2DP_LDAC_PLAYBACK_QUALITY_KEY);
+        initBluetoothConfigurationValues();
 
         mWindowAnimationScale = addListPreference(WINDOW_ANIMATION_SCALE_KEY);
         mTransitionAnimationScale = addListPreference(TRANSITION_ANIMATION_SCALE_KEY);
@@ -699,7 +700,6 @@
             updateUsbConfigurationValues();
         }
 
-        initBluetoothConfigurationValues();
         BluetoothAdapter adapter = BluetoothAdapter.getDefaultAdapter();
         if (adapter != null) {
             adapter.getProfileProxy(getActivity(),
diff --git a/src/com/android/settings/Settings.java b/src/com/android/settings/Settings.java
index 06941d0..97e53e5 100644
--- a/src/com/android/settings/Settings.java
+++ b/src/com/android/settings/Settings.java
@@ -50,7 +50,6 @@
     public static class LocalePickerActivity extends SettingsActivity { /* empty */ }
     public static class LanguageAndRegionSettingsActivity extends SettingsActivity { /* empty */ }
     public static class UserDictionarySettingsActivity extends SettingsActivity { /* empty */ }
-    public static class HomeSettingsActivity extends SettingsActivity { /* empty */ }
     public static class DisplaySettingsActivity extends SettingsActivity { /* empty */ }
     public static class NightDisplaySettingsActivity extends SettingsActivity { /* empty */ }
     public static class DeviceInfoSettingsActivity extends SettingsActivity { /* empty */ }
@@ -95,6 +94,7 @@
     public static class CryptKeeperSettingsActivity extends SettingsActivity { /* empty */ }
     public static class DeviceAdminSettingsActivity extends SettingsActivity { /* empty */ }
     public static class DataUsageSummaryActivity extends SettingsActivity { /* empty */ }
+    public static class ConfigureWifiSettingsActivity extends SettingsActivity { /* empty */ }
     public static class AdvancedWifiSettingsActivity extends SettingsActivity { /* empty */ }
     public static class SavedAccessPointsSettingsActivity extends SettingsActivity { /* empty */ }
     public static class TextToSpeechSettingsActivity extends SettingsActivity { /* empty */ }
diff --git a/src/com/android/settings/SettingsActivity.java b/src/com/android/settings/SettingsActivity.java
index 33c8eca..0751b81 100644
--- a/src/com/android/settings/SettingsActivity.java
+++ b/src/com/android/settings/SettingsActivity.java
@@ -165,64 +165,6 @@
     private CharSequence mInitialTitle;
     private int mInitialTitleResId;
 
-    // Show only these settings for restricted users
-    private String[] SETTINGS_FOR_RESTRICTED = {
-            //wireless_section
-            WifiSettingsActivity.class.getName(),
-            Settings.BluetoothSettingsActivity.class.getName(),
-            Settings.DataUsageSummaryActivity.class.getName(),
-            Settings.SimSettingsActivity.class.getName(),
-            Settings.WirelessSettingsActivity.class.getName(),
-            //device_section
-            Settings.HomeSettingsActivity.class.getName(),
-            Settings.SoundSettingsActivity.class.getName(),
-            Settings.DisplaySettingsActivity.class.getName(),
-            Settings.StorageSettingsActivity.class.getName(),
-            Settings.ManageApplicationsActivity.class.getName(),
-            Settings.PowerUsageSummaryActivity.class.getName(),
-            Settings.GestureSettingsActivity.class.getName(),
-            //personal_section
-            Settings.LocationSettingsActivity.class.getName(),
-            Settings.SecuritySettingsActivity.class.getName(),
-            Settings.InputMethodAndLanguageSettingsActivity.class.getName(),
-            Settings.UserSettingsActivity.class.getName(),
-            Settings.AccountSettingsActivity.class.getName(),
-            //system_section
-            Settings.DateTimeSettingsActivity.class.getName(),
-            Settings.DeviceInfoSettingsActivity.class.getName(),
-            Settings.AccessibilitySettingsActivity.class.getName(),
-            Settings.PrintSettingsActivity.class.getName(),
-            Settings.PaymentSettingsActivity.class.getName(),
-            Settings.EnterprisePrivacySettingsActivity.class.getName(),
-
-            // New IA
-            // Home page
-            Settings.NetworkDashboardActivity.class.getName(),
-            Settings.ConnectedDeviceDashboardActivity.class.getName(),
-            Settings.AppAndNotificationDashboardActivity.class.getName(),
-            "com.android.settings.Settings.BatteryDashboardAlias",
-            "com.android.settings.Settings.DisplayDashboardAlias",
-            "com.android.settings.Settings.SoundDashboardAlias",
-            "com.android.settings.Settings.SecurityDashboardAlias",
-            Settings.UserAndAccountDashboardActivity.class.getName(),
-            Settings.SystemDashboardActivity.class.getName(),
-            Settings.SupportDashboardActivity.class.getName(),
-            // Home page > Apps & Notifications
-            "com.android.settings.Settings.ManageApplicationsDashboardAlias",
-            "com.android.settings.Settings.PaymentSettingsDashboardAlias",
-            // Home page > Network & Internet
-            "com.android.settings.Settings.WifiDashboardAlias",
-            "com.android.settings.Settings.DataUsageDashboardAlias",
-            // Home page > Security
-            "com.android.settings.Settings.LocationDashboardAlias",
-            // Home page > System
-            Settings.LanguageAndRegionSettingsActivity.class.getName(),
-            Settings.InputAndGestureSettingsActivity.class.getName(),
-            "com.android.settings.Settings.DateTimeDashboardAlias",
-            "com.android.settings.Settings.AccessibilityDashboardAlias",
-            "com.android.settings.Settings.AboutDeviceDashboardAlias",
-    };
-
     private static final String[] LIKE_SHORTCUT_INTENT_ACTION_ARRAY = {
             "android.settings.APPLICATION_DETAILS_SETTINGS"
     };
@@ -974,6 +916,11 @@
                 pm.hasSystemFeature(PackageManager.FEATURE_NFC)
                         && pm.hasSystemFeature(PackageManager.FEATURE_NFC_HOST_CARD_EMULATION)
                         && adapter != null && adapter.isEnabled(), isAdmin);
+        setTileEnabled(new ComponentName(packageName,
+                        "com.android.settings.PaymentSettingsDashboardAlias"),
+                pm.hasSystemFeature(PackageManager.FEATURE_NFC)
+                        && pm.hasSystemFeature(PackageManager.FEATURE_NFC_HOST_CARD_EMULATION)
+                        && adapter != null && adapter.isEnabled(), isAdmin);
 
         setTileEnabled(new ComponentName(packageName,
                 Settings.PrintSettingsActivity.class.getName()),
@@ -1004,8 +951,10 @@
             for (DashboardCategory category : categories) {
                 for (Tile tile : category.tiles) {
                     ComponentName component = tile.intent.getComponent();
-                    if (packageName.equals(component.getPackageName()) && !ArrayUtils.contains(
-                            SETTINGS_FOR_RESTRICTED, component.getClassName())) {
+                    final String name = component.getClassName();
+                    final boolean isEnabledForRestricted = ArrayUtils.contains(
+                            SettingsGateway.SETTINGS_FOR_RESTRICTED, name);
+                    if (packageName.equals(component.getPackageName()) && !isEnabledForRestricted) {
                         setTileEnabled(component, false, isAdmin);
                     }
                 }
@@ -1050,7 +999,8 @@
 
     private void setTileEnabled(ComponentName component, boolean enabled, boolean isAdmin) {
         if (UserHandle.MU_ENABLED && !isAdmin && getPackageName().equals(component.getPackageName())
-                && !ArrayUtils.contains(SETTINGS_FOR_RESTRICTED, component.getClassName())) {
+                && !ArrayUtils.contains(SettingsGateway.SETTINGS_FOR_RESTRICTED,
+                component.getClassName())) {
             enabled = false;
         }
         setTileEnabled(component, enabled);
diff --git a/src/com/android/settings/accounts/AccountPreferenceController.java b/src/com/android/settings/accounts/AccountPreferenceController.java
index ad3fac1..38f6b1a 100644
--- a/src/com/android/settings/accounts/AccountPreferenceController.java
+++ b/src/com/android/settings/accounts/AccountPreferenceController.java
@@ -63,7 +63,6 @@
 import static android.content.Intent.EXTRA_USER;
 import static android.os.UserManager.DISALLOW_MODIFY_ACCOUNTS;
 import static android.os.UserManager.DISALLOW_REMOVE_MANAGED_PROFILE;
-import static android.os.UserManager.DISALLOW_REMOVE_USER;
 import static android.provider.Settings.EXTRA_AUTHORITIES;
 
 public class AccountPreferenceController extends PreferenceController
@@ -286,6 +285,9 @@
     }
 
     private void updateProfileUi(final UserInfo userInfo) {
+        if (mParent.getPreferenceManager() == null) {
+            return;
+        }
         final Context context = mContext;
         final ProfileData profileData = new ProfileData();
         profileData.userInfo = userInfo;
@@ -311,7 +313,10 @@
             preferenceGroup.setContentDescription(
                 mContext.getString(R.string.accessibility_category_personal));
         }
-        mParent.getPreferenceScreen().addPreference(preferenceGroup);
+        final PreferenceScreen screen = mParent.getPreferenceScreen();
+        if (screen != null) {
+            screen.addPreference(preferenceGroup);
+        }
         profileData.preferenceGroup = preferenceGroup;
         if (userInfo.isEnabled()) {
             profileData.authenticatorHelper = new AuthenticatorHelper(context,
@@ -367,6 +372,9 @@
 
     void cleanUpPreferences() {
         PreferenceScreen screen = mParent.getPreferenceScreen();
+        if (screen == null) {
+            return;
+        }
         for (int i = 0; i < mProfiles.size(); i++) {
             final PreferenceGroup preferenceGroup = mProfiles.valueAt(i).preferenceGroup;
             screen.removePreference(preferenceGroup);
@@ -396,6 +404,11 @@
     }
 
     private void updateAccountTypes(ProfileData profileData) {
+        if (mParent.getPreferenceManager() == null
+                || profileData.preferenceGroup.getPreferenceManager() == null) {
+            // This could happen if activity is finishing
+            return;
+        }
         profileData.preferenceGroup.removeAll();
         if (profileData.userInfo.isEnabled()) {
             final ArrayList<AccountTypePreference> preferences = getAccountTypePreferences(
diff --git a/src/com/android/settings/applications/ApplicationFeatureProvider.java b/src/com/android/settings/applications/ApplicationFeatureProvider.java
index bb0fd4c..1db33a6 100644
--- a/src/com/android/settings/applications/ApplicationFeatureProvider.java
+++ b/src/com/android/settings/applications/ApplicationFeatureProvider.java
@@ -27,10 +27,20 @@
     AppHeaderController newAppHeaderController(Fragment fragment, View appHeader);
 
     /**
+     * Count all installed packages, irrespective of install reason.
+     */
+    public static final int IGNORE_INSTALL_REASON = -1;
+
+    /**
      * Asynchronously calculates the total number of apps installed on the device, across all users
      * and managed profiles.
+     *
+     * @param installReason Only consider packages with this install reason; may be any install
+     *         reason defined in {@link android.content.pm.PackageManager} or
+     *         {@link #IGNORE_INSTALL_REASON} to count all packages, irrespective of install reason.
+     * @param callback The callback to invoke with the result
      */
-    void calculateNumberOfInstalledApps(NumberOfInstalledAppsCallback callback);
+    void calculateNumberOfInstalledApps(int installReason, NumberOfInstalledAppsCallback callback);
 
     /**
      * Callback that receives the total number of packages installed on the device.
diff --git a/src/com/android/settings/applications/ApplicationFeatureProviderImpl.java b/src/com/android/settings/applications/ApplicationFeatureProviderImpl.java
index a284a0a..902008c 100644
--- a/src/com/android/settings/applications/ApplicationFeatureProviderImpl.java
+++ b/src/com/android/settings/applications/ApplicationFeatureProviderImpl.java
@@ -42,15 +42,16 @@
     }
 
     @Override
-    public void calculateNumberOfInstalledApps(NumberOfInstalledAppsCallback callback) {
-        new AllUserInstalledAppCounter(callback).execute();
+    public void calculateNumberOfInstalledApps(int installReason,
+            NumberOfInstalledAppsCallback callback) {
+        new AllUserInstalledAppCounter(installReason, callback).execute();
     }
 
     private class AllUserInstalledAppCounter extends InstalledAppCounter {
         private NumberOfInstalledAppsCallback mCallback;
 
-        AllUserInstalledAppCounter(NumberOfInstalledAppsCallback callback) {
-            super(mContext, ApplicationFeatureProviderImpl.this.mPm);
+        AllUserInstalledAppCounter(int installReason, NumberOfInstalledAppsCallback callback) {
+            super(mContext, installReason, ApplicationFeatureProviderImpl.this.mPm);
             mCallback = callback;
         }
 
diff --git a/src/com/android/settings/applications/InstalledAppCounter.java b/src/com/android/settings/applications/InstalledAppCounter.java
index 9faef7a..251b0a2 100644
--- a/src/com/android/settings/applications/InstalledAppCounter.java
+++ b/src/com/android/settings/applications/InstalledAppCounter.java
@@ -25,12 +25,24 @@
 
 public abstract class InstalledAppCounter extends AppCounter {
 
-    public InstalledAppCounter(Context context, PackageManagerWrapper packageManager) {
+    private final int mInstallReason;
+    private final PackageManagerWrapper mPackageManager;
+
+    public InstalledAppCounter(Context context, int installReason,
+            PackageManagerWrapper packageManager) {
         super(context, packageManager);
+        mInstallReason = installReason;
+        mPackageManager = packageManager;
     }
 
     @Override
     protected boolean includeInCount(ApplicationInfo info) {
+        final int userId = UserHandle.getUserId(info.uid);
+        if (mInstallReason != ApplicationFeatureProvider.IGNORE_INSTALL_REASON
+                && mPackageManager.getInstallReason(info.packageName,
+                        new UserHandle(userId)) != mInstallReason) {
+            return false;
+        }
         if ((info.flags & ApplicationInfo.FLAG_UPDATED_SYSTEM_APP) != 0) {
             return true;
         }
@@ -40,7 +52,6 @@
         Intent launchIntent = new Intent(Intent.ACTION_MAIN, null)
                 .addCategory(Intent.CATEGORY_LAUNCHER)
                 .setPackage(info.packageName);
-        int userId = UserHandle.getUserId(info.uid);
         List<ResolveInfo> intents = mPm.queryIntentActivitiesAsUser(
                 launchIntent,
                 PackageManager.GET_DISABLED_COMPONENTS
diff --git a/src/com/android/settings/applications/InstalledAppDetails.java b/src/com/android/settings/applications/InstalledAppDetails.java
index d689ee4..b5f0e76 100755
--- a/src/com/android/settings/applications/InstalledAppDetails.java
+++ b/src/com/android/settings/applications/InstalledAppDetails.java
@@ -324,7 +324,12 @@
                 ? R.xml.installed_app_details_ia
                 : R.xml.installed_app_details);
         addDynamicPrefs();
-
+        if (mDashboardFeatureProvider.isEnabled()) {
+            mFooter = new LayoutPreference(getPrefContext(), R.layout.app_action_buttons);
+            mFooter.setOrder(10000);
+            mFooter.setKey(KEY_FOOTER);
+            getPreferenceScreen().addPreference(mFooter);
+        }
         if (Utils.isBandwidthControlEnabled()) {
             INetworkStatsService statsService = INetworkStatsService.Stub.asInterface(
                     ServiceManager.getService(Context.NETWORK_STATS_SERVICE));
@@ -964,12 +969,6 @@
         }
 
         addAppInstallerInfoPref(screen);
-        if (mDashboardFeatureProvider.isEnabled()) {
-            mFooter = new LayoutPreference(screen.getContext(), R.layout.app_action_buttons);
-            mFooter.setOrder(10000);
-            mFooter.setKey(KEY_FOOTER);
-            screen.addPreference(mFooter);
-        }
     }
 
     private void addAppInstallerInfoPref(PreferenceScreen screen) {
diff --git a/src/com/android/settings/applications/ManageApplications.java b/src/com/android/settings/applications/ManageApplications.java
index d8ee6b7..43bb02a 100644
--- a/src/com/android/settings/applications/ManageApplications.java
+++ b/src/com/android/settings/applications/ManageApplications.java
@@ -365,13 +365,6 @@
             if (!isNewIAEnabled) {
                 FrameLayout pinnedHeader = (FrameLayout) mRootView.findViewById(R.id.pinned_header);
                 AppHeader.createAppHeader(getActivity(), null, mVolumeName, null, -1, pinnedHeader);
-            } else {
-                final View appHeader = FeatureFactory.getFactory(activity)
-                        .getApplicationFeatureProvider(activity)
-                        .newAppHeaderController(this, null /* appHeaderView */)
-                        .setLabel(mVolumeName)
-                        .done();
-                mListView.addHeaderView(appHeader);
             }
         }
     }
@@ -1259,7 +1252,7 @@
         @Override
         public void setListening(boolean listening) {
             if (listening) {
-                new InstalledAppCounter(mContext,
+                new InstalledAppCounter(mContext, ApplicationFeatureProvider.IGNORE_INSTALL_REASON,
                         new PackageManagerWrapperImpl(mContext.getPackageManager())) {
                     @Override
                     protected void onCountComplete(int num) {
diff --git a/src/com/android/settings/applications/PackageManagerWrapper.java b/src/com/android/settings/applications/PackageManagerWrapper.java
index 6c783d8..4166ccf 100644
--- a/src/com/android/settings/applications/PackageManagerWrapper.java
+++ b/src/com/android/settings/applications/PackageManagerWrapper.java
@@ -20,6 +20,7 @@
 import android.content.pm.ApplicationInfo;
 import android.content.pm.PackageManager;
 import android.content.pm.ResolveInfo;
+import android.os.UserHandle;
 
 import java.util.List;
 
@@ -56,4 +57,12 @@
      * @see android.content.pm.PackageManager#queryIntentActivitiesAsUser
      */
     List<ResolveInfo> queryIntentActivitiesAsUser(Intent intent, int flags, int userId);
+
+
+    /**
+     * Calls {@code PackageManager.getInstallReason()}.
+     *
+     * @see android.content.pm.PackageManager#getInstallReason
+     */
+    int getInstallReason(String packageName, UserHandle user);
 }
diff --git a/src/com/android/settings/applications/PackageManagerWrapperImpl.java b/src/com/android/settings/applications/PackageManagerWrapperImpl.java
index db1d30a..2427cce 100644
--- a/src/com/android/settings/applications/PackageManagerWrapperImpl.java
+++ b/src/com/android/settings/applications/PackageManagerWrapperImpl.java
@@ -20,6 +20,7 @@
 import android.content.pm.ApplicationInfo;
 import android.content.pm.PackageManager;
 import android.content.pm.ResolveInfo;
+import android.os.UserHandle;
 
 import java.util.List;
 
@@ -50,4 +51,9 @@
     public List<ResolveInfo> queryIntentActivitiesAsUser(Intent intent, int flags, int userId) {
         return mPm.queryIntentActivitiesAsUser(intent, flags, userId);
     }
+
+    @Override
+    public int getInstallReason(String packageName, UserHandle user) {
+        return mPm.getInstallReason(packageName, user);
+    }
 }
diff --git a/src/com/android/settings/core/PreferenceController.java b/src/com/android/settings/core/PreferenceController.java
index 01c998a..002240d 100644
--- a/src/com/android/settings/core/PreferenceController.java
+++ b/src/com/android/settings/core/PreferenceController.java
@@ -16,56 +16,20 @@
 package com.android.settings.core;
 
 import android.content.Context;
-import android.support.v7.preference.Preference;
-import android.support.v7.preference.PreferenceScreen;
 
 import com.android.settings.search.SearchIndexableRaw;
 import com.android.settings.search2.ResultPayload;
+import com.android.settingslib.core.AbstractPreferenceController;
 
 import java.util.List;
 
 /**
  * A controller that manages event for preference.
  */
-public abstract class PreferenceController {
-
-    protected final Context mContext;
+public abstract class PreferenceController extends AbstractPreferenceController {
 
     public PreferenceController(Context context) {
-        mContext = context;
-    }
-
-    /**
-     * Displays preference in this controller.
-     */
-    public void displayPreference(PreferenceScreen screen) {
-        if (isAvailable()) {
-            if (this instanceof Preference.OnPreferenceChangeListener) {
-                final Preference preference = screen.findPreference(getPreferenceKey());
-                preference.setOnPreferenceChangeListener(
-                        (Preference.OnPreferenceChangeListener) this);
-            }
-        } else {
-            removePreference(screen, getPreferenceKey());
-        }
-    }
-
-    /**
-     * Updates the current status of preference (summary, switch state, etc)
-     */
-    public void updateState(Preference preference) {
-
-    }
-
-    /**
-     * Updates non-indexable keys for search provider.
-     *
-     * Called by SearchIndexProvider#getNonIndexableKeys
-     */
-    public void updateNonIndexableKeys(List<String> keys) {
-        if (!isAvailable()) {
-            keys.add(getPreferenceKey());
-        }
+        super(context);
     }
 
     /**
@@ -77,36 +41,6 @@
     }
 
     /**
-     * Returns true if preference is available (should be displayed)
-     */
-    public abstract boolean isAvailable();
-
-    /**
-     * Handles preference tree click
-     *
-     * @param preference the preference being clicked
-     * @return true if click is handled
-     */
-    public boolean handlePreferenceTreeClick(Preference preference) {
-        return false;
-    }
-
-    /**
-     * Returns the key for this preference.
-     */
-    public abstract String getPreferenceKey();
-
-    /**
-     * Removes preference from screen.
-     */
-    protected final void removePreference(PreferenceScreen screen, String key) {
-        Preference pref = screen.findPreference(key);
-        if (pref != null) {
-            screen.removePreference(pref);
-        }
-    }
-
-    /**
      * @return the {@link ResultPayload} corresponding to the search result type for the preference.
      */
     public ResultPayload getResultPayload() {
diff --git a/src/com/android/settings/core/gateway/SettingsGateway.java b/src/com/android/settings/core/gateway/SettingsGateway.java
index db7eb5a..682fa36 100644
--- a/src/com/android/settings/core/gateway/SettingsGateway.java
+++ b/src/com/android/settings/core/gateway/SettingsGateway.java
@@ -32,6 +32,7 @@
 import com.android.settings.MasterClear;
 import com.android.settings.PrivacySettings;
 import com.android.settings.SecuritySettings;
+import com.android.settings.Settings;
 import com.android.settings.TestingSettings;
 import com.android.settings.TetherSettings;
 import com.android.settings.TrustedCredentialsSettings;
@@ -120,6 +121,7 @@
 import com.android.settings.vpn2.VpnSettings;
 import com.android.settings.wfd.WifiDisplaySettings;
 import com.android.settings.wifi.AdvancedWifiSettings;
+import com.android.settings.wifi.ConfigureWifiSettings;
 import com.android.settings.wifi.SavedAccessPointsWifiSettings;
 import com.android.settings.wifi.WifiAPITest;
 import com.android.settings.wifi.WifiInfo;
@@ -135,6 +137,7 @@
     public static final String[] ENTRY_FRAGMENTS = {
             WirelessSettings.class.getName(),
             WifiSettings.class.getName(),
+            ConfigureWifiSettings.class.getName(),
             AdvancedWifiSettings.class.getName(),
             SavedAccessPointsWifiSettings.class.getName(),
             BluetoothSettings.class.getName(),
@@ -244,4 +247,60 @@
             UserAndAccountDashboardFragment.class.getName(),
             EnterprisePrivacySettings.class.getName(),
     };
+
+    public static final String[] SETTINGS_FOR_RESTRICTED = {
+            //wireless_section
+            Settings.WifiSettingsActivity.class.getName(),
+            Settings.BluetoothSettingsActivity.class.getName(),
+            Settings.DataUsageSummaryActivity.class.getName(),
+            Settings.SimSettingsActivity.class.getName(),
+            Settings.WirelessSettingsActivity.class.getName(),
+            //device_section
+            Settings.SoundSettingsActivity.class.getName(),
+            Settings.DisplaySettingsActivity.class.getName(),
+            Settings.StorageSettingsActivity.class.getName(),
+            Settings.ManageApplicationsActivity.class.getName(),
+            Settings.PowerUsageSummaryActivity.class.getName(),
+            Settings.GestureSettingsActivity.class.getName(),
+            //personal_section
+            Settings.LocationSettingsActivity.class.getName(),
+            Settings.SecuritySettingsActivity.class.getName(),
+            Settings.InputMethodAndLanguageSettingsActivity.class.getName(),
+            Settings.UserSettingsActivity.class.getName(),
+            Settings.AccountSettingsActivity.class.getName(),
+            //system_section
+            Settings.DateTimeSettingsActivity.class.getName(),
+            Settings.DeviceInfoSettingsActivity.class.getName(),
+            Settings.AccessibilitySettingsActivity.class.getName(),
+            Settings.PrintSettingsActivity.class.getName(),
+            Settings.PaymentSettingsActivity.class.getName(),
+            Settings.EnterprisePrivacySettingsActivity.class.getName(),
+
+            // New IA
+            // Home page
+            Settings.NetworkDashboardActivity.class.getName(),
+            Settings.ConnectedDeviceDashboardActivity.class.getName(),
+            Settings.AppAndNotificationDashboardActivity.class.getName(),
+            "com.android.settings.BatteryDashboardAlias",
+            "com.android.settings.DisplayDashboardAlias",
+            "com.android.settings.SoundDashboardAlias",
+            "com.android.settings.SecurityDashboardAlias",
+            Settings.UserAndAccountDashboardActivity.class.getName(),
+            Settings.SystemDashboardActivity.class.getName(),
+            Settings.SupportDashboardActivity.class.getName(),
+            // Home page > Apps & Notifications
+            "com.android.settings.ManageApplicationsDashboardAlias",
+            "com.android.settings.PaymentSettingsDashboardAlias",
+            // Home page > Network & Internet
+            "com.android.settings.WifiDashboardAlias",
+            "com.android.settings.DataUsageDashboardAlias",
+            // Home page > Security
+            "com.android.settings.LocationDashboardAlias",
+            // Home page > System
+            Settings.LanguageAndRegionSettingsActivity.class.getName(),
+            Settings.InputAndGestureSettingsActivity.class.getName(),
+            "com.android.settings.DateTimeDashboardAlias",
+            "com.android.settings.AccessibilityDashboardAlias",
+            "com.android.settings.AboutDeviceDashboardAlias",
+    };
 }
diff --git a/src/com/android/settings/dashboard/DashboardAdapter.java b/src/com/android/settings/dashboard/DashboardAdapter.java
index 8ff5607..b2ed592 100644
--- a/src/com/android/settings/dashboard/DashboardAdapter.java
+++ b/src/com/android/settings/dashboard/DashboardAdapter.java
@@ -17,9 +17,11 @@
 
 import android.content.Context;
 import android.content.pm.PackageManager;
+import android.content.res.TypedArray;
 import android.graphics.drawable.Drawable;
 import android.graphics.drawable.Icon;
 import android.os.Bundle;
+import android.support.annotation.VisibleForTesting;
 import android.support.v7.util.DiffUtil;
 import android.support.v7.widget.PopupMenu;
 import android.support.v7.widget.RecyclerView;
@@ -41,6 +43,7 @@
 import com.android.settings.core.instrumentation.MetricsFeatureProvider;
 import com.android.settings.dashboard.conditional.Condition;
 import com.android.settings.dashboard.conditional.ConditionAdapterUtils;
+import com.android.settings.overlay.FeatureFactory;
 import com.android.settingslib.SuggestionParser;
 import com.android.settingslib.drawer.DashboardCategory;
 import com.android.settingslib.drawer.Tile;
@@ -58,9 +61,10 @@
     private final IconCache mCache;
     private final Context mContext;
     private final MetricsFeatureProvider mMetricsFeatureProvider;
-    private DashboardData mDashboardData;
     private SuggestionParser mSuggestionParser;
 
+    @VisibleForTesting DashboardData mDashboardData;
+
     private View.OnClickListener mTileClickListener = new View.OnClickListener() {
         @Override
         public void onClick(View v) {
@@ -128,9 +132,11 @@
     public void setCategoriesAndSuggestions(List<DashboardCategory> categories,
             List<Tile> suggestions) {
         // TODO: Better place for tinting?
-        TypedValue tintColor = new TypedValue();
-        mContext.getTheme().resolveAttribute(com.android.internal.R.attr.colorAccent,
-                tintColor, true);
+        final TypedArray a = mContext.obtainStyledAttributes(new int[] {
+            FeatureFactory.getFactory(mContext).getDashboardFeatureProvider(mContext).isEnabled()
+                ? android.R.attr.colorControlNormal : android.R.attr.colorAccent });
+        int tintColor = a.getColor(0, mContext.getColor(android.R.color.white));
+        a.recycle();
         for (int i = 0; i < categories.size(); i++) {
             for (int j = 0; j < categories.get(i).tiles.size(); j++) {
                 final Tile tile = categories.get(i).tiles.get(j);
@@ -139,7 +145,7 @@
                         tile.intent.getComponent().getPackageName())) {
                     // If this drawable is coming from outside Settings, tint it to match the
                     // color.
-                    tile.icon.setTint(tintColor.data);
+                    tile.icon.setTint(tintColor);
                 }
             }
         }
@@ -157,6 +163,7 @@
         Log.d(TAG, "adapter setConditions called");
         mDashboardData = new DashboardData.Builder(prevData)
                 .setConditions(conditions)
+                .setExpandedCondition(null)
                 .build();
         notifyDashboardDataChanged(prevData);
     }
diff --git a/src/com/android/settings/dashboard/DashboardFragment.java b/src/com/android/settings/dashboard/DashboardFragment.java
index 14d1bdd..056efc7 100644
--- a/src/com/android/settings/dashboard/DashboardFragment.java
+++ b/src/com/android/settings/dashboard/DashboardFragment.java
@@ -17,6 +17,7 @@
 
 import android.app.Activity;
 import android.content.Context;
+import android.content.res.TypedArray;
 import android.os.Bundle;
 import android.support.annotation.VisibleForTesting;
 import android.support.v7.preference.Preference;
@@ -298,8 +299,15 @@
         if (mSummaryLoader != null) {
             mSummaryLoader.release();
         }
-        mSummaryLoader = new SummaryLoader(getActivity(), getCategoryKey());
+        final Activity activity = getActivity();
+        mSummaryLoader = new SummaryLoader(activity, getCategoryKey());
         mSummaryLoader.setSummaryConsumer(this);
+        final TypedArray a = activity.obtainStyledAttributes(new int[] {
+            mDashboardFeatureProvider.isEnabled() ? android.R.attr.colorControlNormal
+                : android.R.attr.colorAccent});
+        final int tintColor = a.getColor(0, activity.getColor(android.R.color.white));
+        a.recycle();
+        final String pkgName = activity.getPackageName();
         // Install dashboard tiles.
         for (Tile tile : tiles) {
             final String key = mDashboardFeatureProvider.getDashboardKeyForTile(tile);
@@ -310,16 +318,20 @@
             if (!displayTile(tile)) {
                 continue;
             }
+            if (!pkgName.equals(tile.intent.getComponent().getPackageName())) {
+                // If this drawable is coming from outside Settings, tint it to match the color.
+                tile.icon.setTint(tintColor);
+            }
             if (mDashboardTilePrefKeys.contains(key)) {
                 // Have the key already, will rebind.
                 final Preference preference = mProgressiveDisclosureMixin.findPreference(
                         screen, key);
-                mDashboardFeatureProvider.bindPreferenceToTile(getActivity(), preference, tile, key,
+                mDashboardFeatureProvider.bindPreferenceToTile(activity, preference, tile, key,
                         mPlaceholderPreferenceController.getOrder());
             } else {
                 // Don't have this key, add it.
                 final Preference pref = new Preference(getPrefContext());
-                mDashboardFeatureProvider.bindPreferenceToTile(getActivity(), pref, tile, key,
+                mDashboardFeatureProvider.bindPreferenceToTile(activity, pref, tile, key,
                         mPlaceholderPreferenceController.getOrder());
                 mProgressiveDisclosureMixin.addPreference(screen, pref);
                 mDashboardTilePrefKeys.add(key);
diff --git a/src/com/android/settings/dashboard/DashboardSummary.java b/src/com/android/settings/dashboard/DashboardSummary.java
index 6232d2f..9d64d4c 100644
--- a/src/com/android/settings/dashboard/DashboardSummary.java
+++ b/src/com/android/settings/dashboard/DashboardSummary.java
@@ -27,7 +27,6 @@
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
-
 import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
 import com.android.settings.R;
 import com.android.settings.SettingsActivity;
@@ -248,8 +247,11 @@
     @Override
     public void onConditionsChanged() {
         Log.d(TAG, "onConditionsChanged");
+        final boolean scrollToTop = mLayoutManager.findFirstCompletelyVisibleItemPosition() <= 1;
         mAdapter.setConditions(mConditionManager.getConditions());
-        mDashboard.scrollToPosition(0);
+        if (scrollToTop) {
+            mDashboard.scrollToPosition(0);
+        }
     }
 
     private class SuggestionLoader extends AsyncTask<Void, Void, List<Tile>> {
diff --git a/src/com/android/settings/dashboard/ExpandPreference.java b/src/com/android/settings/dashboard/ExpandPreference.java
index cfa1836..12ca5ac 100644
--- a/src/com/android/settings/dashboard/ExpandPreference.java
+++ b/src/com/android/settings/dashboard/ExpandPreference.java
@@ -48,7 +48,7 @@
     private void init() {
         setLayoutResource(R.layout.expand_preference);
         setIcon(R.drawable.ic_arrow_down_24dp);
-        setTitle(R.string.wifi_more);
+        setTitle(R.string.advanced_section_header);
         setOrder(999);
     }
 }
diff --git a/src/com/android/settings/datausage/DataUsageMeteredSettings.java b/src/com/android/settings/datausage/DataUsageMeteredSettings.java
index 94a44f8..1982887 100644
--- a/src/com/android/settings/datausage/DataUsageMeteredSettings.java
+++ b/src/com/android/settings/datausage/DataUsageMeteredSettings.java
@@ -96,7 +96,7 @@
         if (hasWifiRadio(context) && mWifiManager.isWifiEnabled()) {
             for (WifiConfiguration config : mWifiManager.getConfiguredNetworks()) {
                 if (config.SSID != null) {
-                    mWifiCategory.addPreference(buildWifiPref(context, config));
+                    mWifiCategory.addPreference(buildWifiPref(config));
                 }
             }
         } else {
@@ -113,10 +113,10 @@
         return pref;
     }
 
-    private Preference buildWifiPref(Context context, WifiConfiguration config) {
+    private Preference buildWifiPref(WifiConfiguration config) {
         final String networkId = config.SSID;
         final NetworkTemplate template = NetworkTemplate.buildTemplateWifi(networkId);
-        final MeteredPreference pref = new MeteredPreference(context, template);
+        final MeteredPreference pref = new MeteredPreference(getPrefContext(), template);
         pref.setTitle(removeDoubleQuotes(networkId));
         return pref;
     }
diff --git a/src/com/android/settings/datetime/AutoTimeZonePreferenceController.java b/src/com/android/settings/datetime/AutoTimeZonePreferenceController.java
index c70289b..b48e535 100644
--- a/src/com/android/settings/datetime/AutoTimeZonePreferenceController.java
+++ b/src/com/android/settings/datetime/AutoTimeZonePreferenceController.java
@@ -67,7 +67,7 @@
     }
 
     public boolean isEnabled() {
-        return Settings.Global.getInt(mContext.getContentResolver(),
+        return isAvailable() && Settings.Global.getInt(mContext.getContentResolver(),
                 Settings.Global.AUTO_TIME_ZONE, 0) > 0;
     }
 }
diff --git a/src/com/android/settings/deviceinfo/PrivateVolumeSettings.java b/src/com/android/settings/deviceinfo/PrivateVolumeSettings.java
index e63a1df..b0a9902 100644
--- a/src/com/android/settings/deviceinfo/PrivateVolumeSettings.java
+++ b/src/com/android/settings/deviceinfo/PrivateVolumeSettings.java
@@ -636,12 +636,11 @@
             final long usedSize = mTotalSize - details.availSize;
             final long unaccountedSize = usedSize - accountedSize;
             final long otherSize = totalMiscSize + totalDownloadsSize + unaccountedSize;
-            if (LOGV)
-                Log.v(TAG, "Other items: \n\tmTotalSize: " + mTotalSize + " availSize: "
-                        + details.availSize + " usedSize: " + usedSize + "\n\taccountedSize: "
-                        + accountedSize + " unaccountedSize size: " + unaccountedSize
-                        + "\n\ttotalMiscSize: " + totalMiscSize + " totalDownloadsSize: "
-                        + totalDownloadsSize + "\n\tdetails: " + details);
+            Log.v(TAG, "Other items: \n\tmTotalSize: " + mTotalSize + " availSize: "
+                    + details.availSize + " usedSize: " + usedSize + "\n\taccountedSize: "
+                    + accountedSize + " unaccountedSize size: " + unaccountedSize
+                    + "\n\ttotalMiscSize: " + totalMiscSize + " totalDownloadsSize: "
+                    + totalDownloadsSize + "\n\tdetails: " + details);
             updatePreference(otherItem, otherSize);
         }
     }
diff --git a/src/com/android/settings/deviceinfo/StorageDashboardFragment.java b/src/com/android/settings/deviceinfo/StorageDashboardFragment.java
index 5d1ac4a..d05d088 100644
--- a/src/com/android/settings/deviceinfo/StorageDashboardFragment.java
+++ b/src/com/android/settings/deviceinfo/StorageDashboardFragment.java
@@ -35,6 +35,7 @@
 import com.android.settings.search.BaseSearchIndexProvider;
 import com.android.settings.search.Indexable;
 import com.android.settings.widget.FooterPreference;
+import com.android.settingslib.deviceinfo.StorageManagerVolumeProvider;
 import com.android.settingslib.drawer.CategoryKey;
 
 import java.util.ArrayList;
@@ -45,9 +46,9 @@
     private static final String TAG = "StorageDashboardFrag";
 
     private VolumeInfo mVolume;
-    private long mTotalSize;
 
     private StorageSummaryDonutPreferenceController mSummaryController;
+    private StorageItemPreferenceController mPreferenceController;
 
     private boolean isVolumeValid() {
         return (mVolume != null) && (mVolume.getType() == VolumeInfo.TYPE_PRIVATE)
@@ -61,23 +62,27 @@
 
         // Initialize the storage sizes that we can quickly calc.
         StorageManager sm = context.getSystemService(StorageManager.class);
-        mVolume = sm.findVolumeById(VolumeInfo.ID_PRIVATE_INTERNAL);
+        String volumeId = getArguments().getString(VolumeInfo.EXTRA_VOLUME_ID);
+        mVolume = sm.findVolumeById(volumeId);
         if (!isVolumeValid()) {
             getActivity().finish();
             return;
         }
 
         final long sharedDataSize = mVolume.getPath().getTotalSpace();
-        mTotalSize = sm.getPrimaryStorageSize();
-        long systemSize = mTotalSize - sharedDataSize;
+        long totalSize = sm.getPrimaryStorageSize();
+        long systemSize = totalSize - sharedDataSize;
 
-        if (mTotalSize <= 0) {
-            mTotalSize = sharedDataSize;
+        if (totalSize <= 0) {
+            totalSize = sharedDataSize;
             systemSize = 0;
         }
 
-        final long usedBytes = mTotalSize - mVolume.getPath().getFreeSpace();
-        mSummaryController.updateBytes(usedBytes, mTotalSize);
+        final long usedBytes = totalSize - mVolume.getPath().getFreeSpace();
+        mSummaryController.updateBytes(usedBytes, totalSize);
+        mPreferenceController.setVolume(mVolume);
+        mPreferenceController.setSystemSize(systemSize);
+        mPreferenceController.startMeasurement();
 
         // Initialize the footer preference to go to the smart storage management.
         final FooterPreference pref = mFooterPreferenceMixin.createFooterPreference();
@@ -85,8 +90,6 @@
         pref.setFragment("com.android.settings.deletionhelper.AutomaticStorageManagerSettings");
         pref.setIcon(R.drawable.ic_settings_storage);
         pref.setEnabled(true);
-
-
     }
 
     @Override
@@ -114,23 +117,15 @@
         final List<PreferenceController> controllers = new ArrayList<>();
         mSummaryController = new StorageSummaryDonutPreferenceController(context);
         controllers.add(mSummaryController);
+
+        StorageManager sm = context.getSystemService(StorageManager.class);
+        mPreferenceController = new StorageItemPreferenceController(context, getLifecycle(), this,
+                mVolume, new StorageManagerVolumeProvider(sm));
+        controllers.add(mPreferenceController);
         controllers.add(new ManageStoragePreferenceController(context));
-        controllers.add(new StorageItemPreferenceController(context, "pref_photos_videos"));
-        controllers.add(new StorageItemPreferenceController(context, "pref_music_audio"));
-        controllers.add(new StorageItemPreferenceController(context, "pref_games"));
-        controllers.add(new StorageItemPreferenceController(context, "pref_other_apps"));
-        controllers.add(new StorageItemPreferenceController(context, "pref_system"));
-        controllers.add(new StorageItemPreferenceController(context, "pref_files"));
         return controllers;
     }
 
-    @Override
-    public View onCreateView(LayoutInflater inflater, ViewGroup container,
-            Bundle savedInstanceState) {
-        View root = super.onCreateView(inflater, container, savedInstanceState);
-        // TODO: Add loader to load the storage sizes for the StorageItemPreferenceControllers.
-        return root;
-    }
     /**
      * For Search.
      */
diff --git a/src/com/android/settings/deviceinfo/StorageSettings.java b/src/com/android/settings/deviceinfo/StorageSettings.java
index 5ee3983..53d4c85 100644
--- a/src/com/android/settings/deviceinfo/StorageSettings.java
+++ b/src/com/android/settings/deviceinfo/StorageSettings.java
@@ -235,9 +235,8 @@
             // Only showing primary internal storage, so just shortcut
             final Bundle args = new Bundle();
             args.putString(VolumeInfo.EXTRA_VOLUME_ID, VolumeInfo.ID_PRIVATE_INTERNAL);
-            PrivateVolumeSettings.setVolumeSize(args, sTotalInternalStorage);
             Intent intent = Utils.onBuildStartFragmentIntent(getActivity(),
-                    PrivateVolumeSettings.class.getName(), args, null, R.string.apps_storage, null,
+                    StorageDashboardFragment.class.getName(), args, null, R.string.apps_storage, null,
                     false);
             intent.putExtra(SettingsDrawerActivity.EXTRA_SHOW_MENU, true);
             getActivity().startActivity(intent);
@@ -280,9 +279,7 @@
             if (vol.getType() == VolumeInfo.TYPE_PRIVATE) {
                 final Bundle args = new Bundle();
                 args.putString(VolumeInfo.EXTRA_VOLUME_ID, vol.getId());
-                PrivateVolumeSettings.setVolumeSize(args, PrivateStorageInfo.getTotalSize(vol,
-                        sTotalInternalStorage));
-                startFragment(this, PrivateVolumeSettings.class.getCanonicalName(),
+                startFragment(this, StorageDashboardFragment.class.getCanonicalName(),
                         -1, 0, args);
                 return true;
 
diff --git a/src/com/android/settings/deviceinfo/storage/StorageItemPreferenceController.java b/src/com/android/settings/deviceinfo/storage/StorageItemPreferenceController.java
index 6a61072..7e98918 100644
--- a/src/com/android/settings/deviceinfo/storage/StorageItemPreferenceController.java
+++ b/src/com/android/settings/deviceinfo/storage/StorageItemPreferenceController.java
@@ -16,23 +16,88 @@
 
 package com.android.settings.deviceinfo.storage;
 
+import android.app.Fragment;
+import android.content.ActivityNotFoundException;
 import android.content.Context;
+import android.content.Intent;
+import android.os.Bundle;
+import android.os.Environment;
+import android.os.UserHandle;
+import android.os.UserManager;
+import android.os.storage.VolumeInfo;
+import android.provider.DocumentsContract;
+import android.support.annotation.VisibleForTesting;
 import android.support.v7.preference.Preference;
+import android.support.v7.preference.PreferenceScreen;
+import android.util.Log;
 
+import com.android.settings.R;
+import com.android.settings.Settings;
+import com.android.settings.Utils;
+import com.android.settings.applications.ManageApplications;
 import com.android.settings.core.PreferenceController;
+import com.android.settings.core.lifecycle.Lifecycle;
+import com.android.settings.core.lifecycle.LifecycleObserver;
+import com.android.settings.core.lifecycle.events.OnDestroy;
+import com.android.settings.deviceinfo.StorageItemPreference;
+import com.android.settingslib.deviceinfo.StorageMeasurement;
+import com.android.settingslib.deviceinfo.StorageVolumeProvider;
+
+import java.util.HashMap;
+
 
 /**
- * StorageItemPreferenceController handles the updating of a single storage preference line item.
+ * StorageItemPreferenceController handles the storage line items which summarize the storage
+ * categorization breakdown.
  */
-public class StorageItemPreferenceController extends PreferenceController {
-    private static final long NOT_YET_SET = -1;
-    private final String mKey;
-    private long mStorageSize;
+public class StorageItemPreferenceController extends PreferenceController
+        implements StorageMeasurement.MeasurementReceiver, LifecycleObserver, OnDestroy {
+    private static final String TAG = "StorageItemPreference";
 
-    public StorageItemPreferenceController(Context context, String key) {
+    private static final String IMAGE_MIME_TYPE = "image/*";
+    @VisibleForTesting
+    static final String PHOTO_KEY = "pref_photos_videos";
+    @VisibleForTesting
+    static final String AUDIO_KEY = "pref_music_audio";
+    @VisibleForTesting
+    static final String GAME_KEY = "pref_games";
+    @VisibleForTesting
+    static final String OTHER_APPS_KEY = "pref_other_apps";
+    @VisibleForTesting
+    static final String SYSTEM_KEY = "pref_system";
+    @VisibleForTesting
+    static final String FILES_KEY = "pref_files";
+
+    private final Fragment mFragment;
+    private final StorageVolumeProvider mSvp;
+    private VolumeInfo mVolume;
+    private final int mUserId;
+    private StorageMeasurement mMeasure;
+    private long mSystemSize;
+    private long mUsedSize;
+
+    private StorageItemPreferenceAlternate mPhotoPreference;
+    private StorageItemPreferenceAlternate mAudioPreference;
+    private StorageItemPreferenceAlternate mGamePreference;
+    private StorageItemPreferenceAlternate mAppPreference;
+    private StorageItemPreferenceAlternate mFilePreference;
+    private StorageItemPreferenceAlternate mSystemPreference;
+
+    private static final String AUTHORITY_MEDIA = "com.android.providers.media.documents";
+
+    public StorageItemPreferenceController(Context context, Lifecycle lifecycle,
+            Fragment hostFragment, VolumeInfo volume, StorageVolumeProvider svp) {
         super(context);
-        mKey = key;
-        mStorageSize = NOT_YET_SET;
+        mFragment = hostFragment;
+        mVolume = volume;
+        mSvp = svp;
+
+        UserManager um = mContext.getSystemService(UserManager.class);
+        mUserId = um.getUserHandle();
+
+        if (lifecycle != null) {
+            lifecycle.addObserver(this);
+        }
     }
 
     @Override
@@ -42,28 +107,189 @@
 
     @Override
     public boolean handlePreferenceTreeClick(Preference preference) {
-        return false;
+        if (preference == null) {
+            return false;
+        }
+
+        // TODO: Currently, this reflects the existing behavior for these toggles.
+        //       After the intermediate views are built, swap them in.
+        Intent intent = null;
+        switch (preference.getKey()) {
+            case PHOTO_KEY:
+                intent = getPhotosIntent();
+                break;
+            case AUDIO_KEY:
+                intent = getAudioIntent();
+                break;
+            case GAME_KEY:
+                // TODO: Once app categorization is added, make this section.
+            case OTHER_APPS_KEY:
+                // Because we are likely constructed with a null volume, this is theoretically
+                // possible.
+                if (mVolume == null) {
+                    break;
+                }
+                intent = getAppsIntent();
+                break;
+            case FILES_KEY:
+                intent = getFilesIntent();
+                break;
+        }
+
+        if (intent != null) {
+            intent.putExtra(Intent.EXTRA_USER_ID, mUserId);
+
+            launchIntent(intent);
+            return true;
+        }
+
+        return super.handlePreferenceTreeClick(preference);
     }
 
     @Override
     public String getPreferenceKey() {
-        return mKey;
-    }
-
-    @Override
-    public void updateState(Preference preference) {
-        if (preference == null || mStorageSize == NOT_YET_SET) {
-            return;
-        }
-
-        StorageItemPreferenceAlternate summary = (StorageItemPreferenceAlternate) preference;
-        summary.setStorageSize(mStorageSize);
+        return null;
     }
 
     /**
-     * Sets the amount of bytes used by this storage item.
+     * Sets the storage volume to use for when handling taps.
      */
-    public void setStorageSize(long size) {
-        mStorageSize = size;
+    public void setVolume(VolumeInfo volume) {
+        mVolume = volume;
+    }
+
+    @Override
+    public void onDetailsChanged(StorageMeasurement.MeasurementDetails details) {
+        final long imagesSize = totalValues(details, mUserId,
+                Environment.DIRECTORY_DCIM,
+                Environment.DIRECTORY_PICTURES,
+                Environment.DIRECTORY_MOVIES);
+        if (mPhotoPreference != null) {
+            mPhotoPreference.setStorageSize(imagesSize);
+        }
+
+        final long audioSize = totalValues(details, mUserId,
+                Environment.DIRECTORY_MUSIC,
+                Environment.DIRECTORY_ALARMS,
+                Environment.DIRECTORY_NOTIFICATIONS,
+                Environment.DIRECTORY_RINGTONES,
+                Environment.DIRECTORY_PODCASTS);
+        if (mAudioPreference != null) {
+            mAudioPreference.setStorageSize(audioSize);
+        }
+
+        if (mGamePreference != null) {
+            mGamePreference.setStorageSize(0);
+        }
+
+        final long appSize = details.appsSize.get(mUserId);
+        if (mAppPreference != null) {
+            mAppPreference.setStorageSize(appSize);
+        }
+
+        if (mSystemPreference != null) {
+            mSystemPreference.setStorageSize(mSystemSize);
+        }
+
+        final long downloadsSize = totalValues(details, mUserId, Environment.DIRECTORY_DOWNLOADS);
+        final long miscSize = details.miscSize.get(mUserId);
+        if (mFilePreference != null) {
+            mFilePreference.setStorageSize(downloadsSize + miscSize);
+        }
+    }
+
+    @Override
+    public void onDestroy() {
+        if (mMeasure != null) {
+            mMeasure.onDestroy();
+        }
+    }
+
+    @Override
+    public void displayPreference(PreferenceScreen screen) {
+        mPhotoPreference = (StorageItemPreferenceAlternate) screen.findPreference(PHOTO_KEY);
+        mAudioPreference = (StorageItemPreferenceAlternate) screen.findPreference(AUDIO_KEY);
+        mGamePreference = (StorageItemPreferenceAlternate) screen.findPreference(GAME_KEY);
+        mAppPreference = (StorageItemPreferenceAlternate) screen.findPreference(OTHER_APPS_KEY);
+        mSystemPreference = (StorageItemPreferenceAlternate) screen.findPreference(SYSTEM_KEY);
+        mFilePreference = (StorageItemPreferenceAlternate) screen.findPreference(FILES_KEY);
+    }
+
+    /**
+     * Begins an asynchronous storage measurement task for the preferences.
+     */
+    public void startMeasurement() {
+        //TODO: When the GID-based measurement system is completed, swap in the GID impl.
+        mMeasure = new StorageMeasurement(mContext, mVolume, mSvp.findEmulatedForPrivate(mVolume));
+        mMeasure.setReceiver(this);
+        mMeasure.forceMeasure();
+    }
+
+    /**
+     * Sets the system size for the system size preference.
+     * @param systemSize the size of the system in bytes
+     */
+    public void setSystemSize(long systemSize) {
+        mSystemSize = systemSize;
+    }
+
+    private Intent getPhotosIntent() {
+        Intent intent = new Intent();
+        intent.setAction(android.content.Intent.ACTION_VIEW);
+        intent.setFlags(Intent.FLAG_ACTIVITY_NEW_DOCUMENT);
+        intent.setType(IMAGE_MIME_TYPE);
+        return intent;
+    }
+
+    private Intent getAudioIntent() {
+        Intent intent = new Intent(DocumentsContract.ACTION_BROWSE);
+        intent.setData(DocumentsContract.buildRootUri(AUTHORITY_MEDIA, "audio_root"));
+        intent.addCategory(Intent.CATEGORY_DEFAULT);
+        return intent;
+    }
+
+    private Intent getAppsIntent() {
+        Bundle args = new Bundle();
+        args.putString(ManageApplications.EXTRA_CLASSNAME,
+                Settings.StorageUseActivity.class.getName());
+        args.putString(ManageApplications.EXTRA_VOLUME_UUID, mVolume.getFsUuid());
+        args.putString(ManageApplications.EXTRA_VOLUME_NAME, mVolume.getDescription());
+        return Utils.onBuildStartFragmentIntent(mContext,
+                ManageApplications.class.getName(), args, null, R.string.apps_storage, null,
+                false);
+    }
+
+    private Intent getFilesIntent() {
+        return mSvp.findEmulatedForPrivate(mVolume).buildBrowseIntent();
+    }
+
+    private void launchIntent(Intent intent) {
+        try {
+            final int userId = intent.getIntExtra(Intent.EXTRA_USER_ID, -1);
+
+            if (userId == -1) {
+                mFragment.startActivity(intent);
+            } else {
+                mFragment.getActivity().startActivityAsUser(intent, new UserHandle(userId));
+            }
+        } catch (ActivityNotFoundException e) {
+            Log.w(TAG, "No activity found for " + intent);
+        }
+    }
+
+    private static long totalValues(StorageMeasurement.MeasurementDetails details, int userId,
+            String... keys) {
+        long total = 0;
+        HashMap<String, Long> map = details.mediaSize.get(userId);
+        if (map != null) {
+            for (String key : keys) {
+                if (map.containsKey(key)) {
+                    total += map.get(key);
+                }
+            }
+        } else {
+            Log.w(TAG, "MeasurementDetails mediaSize array does not have key for user " + userId);
+        }
+        return total;
     }
 }
diff --git a/src/com/android/settings/deviceinfo/storage/StorageSummaryDonutPreference.java b/src/com/android/settings/deviceinfo/storage/StorageSummaryDonutPreference.java
index d6fd354..12e76b2 100644
--- a/src/com/android/settings/deviceinfo/storage/StorageSummaryDonutPreference.java
+++ b/src/com/android/settings/deviceinfo/storage/StorageSummaryDonutPreference.java
@@ -17,20 +17,33 @@
 package com.android.settings.deviceinfo.storage;
 
 import android.content.Context;
+import android.content.Intent;
+import android.graphics.Typeface;
+import android.os.storage.StorageManager;
+import android.provider.Settings;
 import android.support.v7.preference.Preference;
 import android.support.v7.preference.PreferenceViewHolder;
+import android.text.SpannableString;
+import android.text.Spanned;
+import android.text.TextPaint;
+import android.text.TextUtils;
+import android.text.style.StyleSpan;
 import android.util.AttributeSet;
 import android.util.MathUtils;
 import android.view.View;
-import android.widget.ProgressBar;
+import android.widget.Button;
+import android.widget.TextView;
 
 import com.android.settings.R;
+import com.android.settings.widget.DonutView;
+
+import java.util.Locale;
 
 /**
  * StorageSummaryDonutPreference is a preference which summarizes the used and remaining storage left
  * on a given storage volume. It is visualized with a donut graphing the % used.
  */
-public class StorageSummaryDonutPreference extends Preference {
+public class StorageSummaryDonutPreference extends Preference implements View.OnClickListener {
     private int mPercent = -1;
 
     public StorageSummaryDonutPreference(Context context) {
@@ -55,17 +68,52 @@
 
     @Override
     public void onBindViewHolder(PreferenceViewHolder view) {
-        // TODO: Replace the progress bar with a donut.
-        final ProgressBar progress = (ProgressBar) view.findViewById(android.R.id.progress);
-        if (mPercent != -1) {
-            progress.setVisibility(View.VISIBLE);
-            progress.setProgress(mPercent);
-            progress.setScaleY(7f);
-        } else {
-            progress.setVisibility(View.GONE);
+        super.onBindViewHolder(view);
+        final DonutView donut = (DonutView) view.findViewById(R.id.donut);
+        if (donut != null) {
+            donut.setPercentage(mPercent);
         }
 
-        super.onBindViewHolder(view);
+        final Button deletionHelperButton = (Button) view.findViewById(R.id.deletion_helper_button);
+        if (deletionHelperButton != null) {
+            deletionHelperButton.setOnClickListener(this);
+        }
+
+        final TextView storageManagerText =
+                (TextView) view.findViewById(R.id.storage_manager_indicator);
+        if (storageManagerText != null) {
+            Context context = getContext();
+            final SpannableString templateSs = new SpannableString(
+                    context.getString(R.string.storage_manager_indicator));
+            boolean isStorageManagerEnabled = Settings.Secure.getInt(context.getContentResolver(),
+                    Settings.Secure.AUTOMATIC_STORAGE_MANAGER_ENABLED, 0) != 0;
+            String value = isStorageManagerEnabled ?
+                    context.getString(R.string.storage_manager_indicator_on) :
+                    context.getString(R.string.storage_manager_indicator_off);
+            Locale locale = storageManagerText.getTextLocale();
+            final SpannableString ss = new SpannableString(value.toUpperCase(locale));
+            ss.setSpan(new BoldLinkSpan(), 0, value.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
+            storageManagerText.setText(TextUtils.expandTemplate(templateSs, ss));
+        }
     }
 
+    @Override
+    public void onClick(View v) {
+        if (v != null && R.id.deletion_helper_button == v.getId()) {
+            Intent intent = new Intent(StorageManager.ACTION_MANAGE_STORAGE);
+            getContext().startActivity(intent);
+        }
+    }
+
+    private static class BoldLinkSpan extends StyleSpan {
+        public BoldLinkSpan() {
+            super(Typeface.BOLD);
+        }
+
+        @Override
+        public void updateDrawState(TextPaint ds) {
+            super.updateDrawState(ds);
+            ds.setColor(ds.linkColor);
+        }
+    }
 }
diff --git a/src/com/android/settings/deviceinfo/storage/StorageSummaryDonutPreferenceController.java b/src/com/android/settings/deviceinfo/storage/StorageSummaryDonutPreferenceController.java
index 45a81e8..a962669 100644
--- a/src/com/android/settings/deviceinfo/storage/StorageSummaryDonutPreferenceController.java
+++ b/src/com/android/settings/deviceinfo/storage/StorageSummaryDonutPreferenceController.java
@@ -1,16 +1,33 @@
+/*
+ * Copyright (C) 2017 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package com.android.settings.deviceinfo.storage;
 
 import android.content.Context;
+import android.os.storage.StorageManager;
+import android.os.storage.VolumeInfo;
 import android.support.v7.preference.Preference;
-import android.support.v7.preference.PreferenceGroup;
 import android.support.v7.preference.PreferenceScreen;
 import android.text.TextUtils;
 import android.text.format.Formatter;
-import android.util.Log;
-import android.widget.TextView;
 
-import com.android.settings.core.PreferenceController;
 import com.android.settings.R;
+import com.android.settings.core.PreferenceController;
+import com.android.settingslib.deviceinfo.StorageManagerVolumeProvider;
+import com.android.settingslib.deviceinfo.StorageVolumeProvider;
 
 /**
  * StorgaeSummaryPreferenceController updates the donut storage summary preference to have the
@@ -26,7 +43,6 @@
 
     @Override
     public void displayPreference(PreferenceScreen screen) {
-        Log.d("dhnishi", "Preference displayed!");
         StorageSummaryDonutPreference summary = (StorageSummaryDonutPreference)
                 screen.findPreference("pref_summary");
         summary.setEnabled(true);
@@ -38,12 +54,13 @@
         StorageSummaryDonutPreference summary = (StorageSummaryDonutPreference) preference;
         final Formatter.BytesResult result = Formatter.formatBytes(mContext.getResources(),
                 mUsedBytes, 0);
-        summary.setTitle(TextUtils.expandTemplate(mContext.getText(R.string.storage_size_large),
-                result.value, result.units));
-        summary.setSummary(mContext.getString(R.string.storage_volume_used,
-                Formatter.formatFileSize(mContext, mTotalBytes)));
-        summary.setEnabled(true);
+        summary.setTitle(TextUtils.expandTemplate(
+                mContext.getText(R.string.storage_size_large_alternate), result.value,
+                result.units));
+        summary.setSummary(mContext.getString(R.string.storage_volume_free,
+                Formatter.formatFileSize(mContext, mTotalBytes - mUsedBytes)));
         summary.setPercent(mUsedBytes, mTotalBytes);
+        summary.setEnabled(true);
     }
 
     @Override
@@ -52,11 +69,6 @@
     }
 
     @Override
-    public boolean handlePreferenceTreeClick(Preference preference) {
-        return false;
-    }
-
-    @Override
     public String getPreferenceKey() {
         return "pref_summary";
     }
@@ -70,4 +82,20 @@
         mUsedBytes = used;
         mTotalBytes = total;
     }
+
+    /**
+     * Updates the state of the donut preference for the next update using volume to summarize.
+     * @param volume VolumeInfo to use to populate the informayion.
+     */
+    public void updateSizes(StorageVolumeProvider svp, VolumeInfo volume) {
+        final long sharedDataSize = volume.getPath().getTotalSpace();
+        long totalSize = svp.getPrimaryStorageSize();
+
+        if (totalSize <= 0) {
+            totalSize = sharedDataSize;
+        }
+
+        final long usedBytes = totalSize - volume.getPath().getFreeSpace();
+        updateBytes(usedBytes, totalSize);
+    }
 }
diff --git a/src/com/android/settings/enterprise/AlwaysOnVpnManagedProfilePreferenceController.java b/src/com/android/settings/enterprise/AlwaysOnVpnManagedProfilePreferenceController.java
new file mode 100644
index 0000000..52625ec
--- /dev/null
+++ b/src/com/android/settings/enterprise/AlwaysOnVpnManagedProfilePreferenceController.java
@@ -0,0 +1,47 @@
+/*
+ * Copyright (C) 2017 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the
+ * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the specific language governing
+ * permissions and limitations under the License.
+ */
+package com.android.settings.enterprise;
+
+import android.content.Context;
+import android.support.v7.preference.Preference;
+
+import com.android.settings.core.PreferenceController;
+import com.android.settings.overlay.FeatureFactory;
+
+public class AlwaysOnVpnManagedProfilePreferenceController extends PreferenceController {
+
+    private static final String KEY_ALWAYS_ON_VPN_MANAGED_PROFILE = "always_on_vpn_managed_profile";
+    private final EnterprisePrivacyFeatureProvider mFeatureProvider;
+
+    public AlwaysOnVpnManagedProfilePreferenceController(Context context) {
+        super(context);
+        mFeatureProvider = FeatureFactory.getFactory(context)
+                .getEnterprisePrivacyFeatureProvider(context);
+    }
+
+    @Override
+    public void updateState(Preference preference) {
+        preference.setVisible(mFeatureProvider.isAlwaysOnVpnSetInManagedProfile());
+    }
+
+    @Override
+    public boolean isAvailable() {
+        return true;
+    }
+
+    @Override
+    public String getPreferenceKey() {
+        return KEY_ALWAYS_ON_VPN_MANAGED_PROFILE;
+    }
+}
diff --git a/src/com/android/settings/enterprise/AlwaysOnVpnPrimaryUserPreferenceController.java b/src/com/android/settings/enterprise/AlwaysOnVpnPrimaryUserPreferenceController.java
new file mode 100644
index 0000000..c7ffeaf
--- /dev/null
+++ b/src/com/android/settings/enterprise/AlwaysOnVpnPrimaryUserPreferenceController.java
@@ -0,0 +1,51 @@
+/*
+ * Copyright (C) 2017 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the
+ * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the specific language governing
+ * permissions and limitations under the License.
+ */
+package com.android.settings.enterprise;
+
+import android.content.Context;
+import android.support.v7.preference.Preference;
+
+import com.android.settings.R;
+import com.android.settings.core.PreferenceController;
+import com.android.settings.overlay.FeatureFactory;
+
+public class AlwaysOnVpnPrimaryUserPreferenceController extends PreferenceController {
+
+    private static final String KEY_ALWAYS_ON_VPN_PRIMARY_USER = "always_on_vpn_primary_user";
+    private final EnterprisePrivacyFeatureProvider mFeatureProvider;
+
+    public AlwaysOnVpnPrimaryUserPreferenceController(Context context) {
+        super(context);
+        mFeatureProvider = FeatureFactory.getFactory(context)
+                .getEnterprisePrivacyFeatureProvider(context);
+    }
+
+    @Override
+    public void updateState(Preference preference) {
+        preference.setTitle(mFeatureProvider.isInCompMode()
+                ? R.string.enterprise_privacy_always_on_vpn_personal
+                : R.string.enterprise_privacy_always_on_vpn_device);
+        preference.setVisible(mFeatureProvider.isAlwaysOnVpnSetInPrimaryUser());
+    }
+
+    @Override
+    public boolean isAvailable() {
+        return true;
+    }
+
+    @Override
+    public String getPreferenceKey() {
+        return KEY_ALWAYS_ON_VPN_PRIMARY_USER;
+    }
+}
diff --git a/src/com/android/settings/enterprise/EnterpriseInstalledPackagesPreferenceController.java b/src/com/android/settings/enterprise/EnterpriseInstalledPackagesPreferenceController.java
new file mode 100644
index 0000000..1fbb04a
--- /dev/null
+++ b/src/com/android/settings/enterprise/EnterpriseInstalledPackagesPreferenceController.java
@@ -0,0 +1,63 @@
+/*
+ * Copyright (C) 2017 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the
+ * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the specific language governing
+ * permissions and limitations under the License.
+ */
+package com.android.settings.enterprise;
+
+import android.content.Context;
+import android.content.pm.PackageManager;
+import android.content.res.Resources;
+import android.support.v7.preference.Preference;
+
+import com.android.settings.R;
+import com.android.settings.applications.ApplicationFeatureProvider;
+import com.android.settings.core.PreferenceController;
+import com.android.settings.overlay.FeatureFactory;
+
+public class EnterpriseInstalledPackagesPreferenceController extends PreferenceController {
+
+    private static final String KEY_NUMBER_ENTERPRISE_INSTALLED_PACKAGES
+            = "number_enterprise_installed_packages";
+    private final ApplicationFeatureProvider mFeatureProvider;
+
+    public EnterpriseInstalledPackagesPreferenceController(Context context) {
+        super(context);
+        mFeatureProvider = FeatureFactory.getFactory(context)
+                .getApplicationFeatureProvider(context);
+    }
+
+    @Override
+    public void updateState(Preference preference) {
+        mFeatureProvider.calculateNumberOfInstalledApps(
+                PackageManager.INSTALL_REASON_POLICY,
+                (num) -> {
+                    if (num == 0) {
+                        preference.setVisible(false);
+                    } else {
+                        preference.setVisible(true);
+                        preference.setTitle(mContext.getResources().getQuantityString(
+                                R.plurals.enterprise_privacy_number_enterprise_installed_packages,
+                                num, num));
+                    }
+                });
+    }
+
+    @Override
+    public boolean isAvailable() {
+        return true;
+    }
+
+    @Override
+    public String getPreferenceKey() {
+        return KEY_NUMBER_ENTERPRISE_INSTALLED_PACKAGES;
+    }
+}
diff --git a/src/com/android/settings/enterprise/EnterprisePrivacyFeatureProvider.java b/src/com/android/settings/enterprise/EnterprisePrivacyFeatureProvider.java
index efc02d6..43f6903 100644
--- a/src/com/android/settings/enterprise/EnterprisePrivacyFeatureProvider.java
+++ b/src/com/android/settings/enterprise/EnterprisePrivacyFeatureProvider.java
@@ -26,6 +26,12 @@
     boolean hasDeviceOwner();
 
     /**
+     * Returns whether the device is in COMP mode (primary user managed by a Device Owner app and
+     * work profile managed by a Profile Owner app).
+     */
+    boolean isInCompMode();
+
+    /**
      * Returns the time at which the Device Owner last retrieved security logs, or {@code null} if
      * logs were never retrieved by the Device Owner on this device.
      */
@@ -42,4 +48,19 @@
      * logs were never retrieved by the Device Owner on this device.
      */
     Date getLastNetworkLogRetrievalTime();
+
+    /**
+     * Returns whether the Device Owner in the primary user set an always-on VPN.
+     */
+    boolean isAlwaysOnVpnSetInPrimaryUser();
+
+    /**
+     * Returns whether the Profile Owner in the managed profile (if any) set an always-on VPN.
+     */
+    boolean isAlwaysOnVpnSetInManagedProfile();
+
+    /**
+     * Returns whether the Device Owner set a recommended global HTTP proxy.
+     */
+    boolean isGlobalHttpProxySet();
 }
diff --git a/src/com/android/settings/enterprise/EnterprisePrivacyFeatureProviderImpl.java b/src/com/android/settings/enterprise/EnterprisePrivacyFeatureProviderImpl.java
index 2e8b7f6..9fbb083 100644
--- a/src/com/android/settings/enterprise/EnterprisePrivacyFeatureProviderImpl.java
+++ b/src/com/android/settings/enterprise/EnterprisePrivacyFeatureProviderImpl.java
@@ -17,20 +17,32 @@
 package com.android.settings.enterprise;
 
 import android.content.pm.PackageManager;
+import android.content.pm.UserInfo;
+import android.os.UserHandle;
+import android.os.UserManager;
 
 import com.android.settings.applications.PackageManagerWrapper;
+import com.android.settings.vpn2.ConnectivityManagerWrapper;
+import com.android.settings.vpn2.VpnUtils;
 
 import java.util.Date;
+import java.util.List;
 
 public class EnterprisePrivacyFeatureProviderImpl implements EnterprisePrivacyFeatureProvider {
 
     private final DevicePolicyManagerWrapper mDpm;
     private final PackageManagerWrapper mPm;
+    private final UserManager mUm;
+    private final ConnectivityManagerWrapper mCm;
+
+    private static final int MY_USER_ID = UserHandle.myUserId();
 
     public EnterprisePrivacyFeatureProviderImpl(DevicePolicyManagerWrapper dpm,
-            PackageManagerWrapper pm) {
+            PackageManagerWrapper pm, UserManager um, ConnectivityManagerWrapper cm) {
         mDpm = dpm;
         mPm = pm;
+        mUm = um;
+        mCm = cm;
     }
 
     @Override
@@ -41,19 +53,52 @@
         return mDpm.getDeviceOwnerComponentOnAnyUser() != null;
     }
 
+    private int getManagedProfileUserId() {
+        for (final UserInfo userInfo : mUm.getProfiles(MY_USER_ID)) {
+            if (userInfo.isManagedProfile()) {
+                return userInfo.id;
+            }
+        }
+        return -1;
+    }
+
+    @Override
+    public boolean isInCompMode() {
+        return hasDeviceOwner() && getManagedProfileUserId() != -1;
+    }
+
     @Override
     public Date getLastSecurityLogRetrievalTime() {
         final long timestamp = mDpm.getLastSecurityLogRetrievalTime();
         return timestamp < 0 ? null : new Date(timestamp);
     }
 
+    @Override
     public Date getLastBugReportRequestTime() {
         final long timestamp = mDpm.getLastBugReportRequestTime();
         return timestamp < 0 ? null : new Date(timestamp);
     }
 
+    @Override
     public Date getLastNetworkLogRetrievalTime() {
         final long timestamp = mDpm.getLastNetworkLogRetrievalTime();
         return timestamp < 0 ? null : new Date(timestamp);
     }
+
+    @Override
+    public boolean isAlwaysOnVpnSetInPrimaryUser() {
+        return VpnUtils.isAlwaysOnVpnSet(mCm, MY_USER_ID);
+    }
+
+    @Override
+    public boolean isAlwaysOnVpnSetInManagedProfile() {
+        final int managedProfileUserId = getManagedProfileUserId();
+        return managedProfileUserId != -1 &&
+                VpnUtils.isAlwaysOnVpnSet(mCm, managedProfileUserId);
+    }
+
+    @Override
+    public boolean isGlobalHttpProxySet() {
+        return mCm.getGlobalProxy() != null;
+    }
 }
diff --git a/src/com/android/settings/enterprise/EnterprisePrivacySettings.java b/src/com/android/settings/enterprise/EnterprisePrivacySettings.java
index 91d3a65..2cd2862 100644
--- a/src/com/android/settings/enterprise/EnterprisePrivacySettings.java
+++ b/src/com/android/settings/enterprise/EnterprisePrivacySettings.java
@@ -61,6 +61,10 @@
         controllers.add(new NetworkLogsPreferenceController(context));
         controllers.add(new BugReportsPreferenceController(context));
         controllers.add(new SecurityLogsPreferenceController(context));
+        controllers.add(new AlwaysOnVpnPrimaryUserPreferenceController(context));
+        controllers.add(new AlwaysOnVpnManagedProfilePreferenceController(context));
+        controllers.add(new GlobalHttpProxyPreferenceController(context));
+        controllers.add(new EnterpriseInstalledPackagesPreferenceController(context));
         return controllers;
     }
 
diff --git a/src/com/android/settings/enterprise/GlobalHttpProxyPreferenceController.java b/src/com/android/settings/enterprise/GlobalHttpProxyPreferenceController.java
new file mode 100644
index 0000000..e2f2ab9
--- /dev/null
+++ b/src/com/android/settings/enterprise/GlobalHttpProxyPreferenceController.java
@@ -0,0 +1,47 @@
+/*
+ * Copyright (C) 2017 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the
+ * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the specific language governing
+ * permissions and limitations under the License.
+ */
+package com.android.settings.enterprise;
+
+import android.content.Context;
+import android.support.v7.preference.Preference;
+
+import com.android.settings.core.PreferenceController;
+import com.android.settings.overlay.FeatureFactory;
+
+public class GlobalHttpProxyPreferenceController extends PreferenceController {
+
+    private static final String KEY_GLOBAL_HTTP_PROXY = "global_http_proxy";
+    private final EnterprisePrivacyFeatureProvider mFeatureProvider;
+
+    public GlobalHttpProxyPreferenceController(Context context) {
+        super(context);
+        mFeatureProvider = FeatureFactory.getFactory(context)
+                .getEnterprisePrivacyFeatureProvider(context);
+    }
+
+    @Override
+    public void updateState(Preference preference) {
+        preference.setVisible(mFeatureProvider.isGlobalHttpProxySet());
+    }
+
+    @Override
+    public boolean isAvailable() {
+        return true;
+    }
+
+    @Override
+    public String getPreferenceKey() {
+        return KEY_GLOBAL_HTTP_PROXY;
+    }
+}
diff --git a/src/com/android/settings/enterprise/InstalledPackagesPreferenceController.java b/src/com/android/settings/enterprise/InstalledPackagesPreferenceController.java
index a7afac0..91ac4c2 100644
--- a/src/com/android/settings/enterprise/InstalledPackagesPreferenceController.java
+++ b/src/com/android/settings/enterprise/InstalledPackagesPreferenceController.java
@@ -36,12 +36,10 @@
     @Override
     public void updateState(Preference preference) {
         mFeatureProvider.calculateNumberOfInstalledApps(
-                new ApplicationFeatureProvider.NumberOfInstalledAppsCallback() {
-                    @Override
-                    public void onNumberOfInstalledAppsResult(int num) {
-                        preference.setTitle(mContext.getResources().getQuantityString(
-                                R.plurals.enterprise_privacy_number_installed_packages, num, num));
-                    }
+                ApplicationFeatureProvider.IGNORE_INSTALL_REASON,
+                (num) -> {
+                    preference.setTitle(mContext.getResources().getQuantityString(
+                            R.plurals.enterprise_privacy_number_installed_packages, num, num));
                 });
     }
 
diff --git a/src/com/android/settings/inputmethod/AvailableVirtualKeyboardFragment.java b/src/com/android/settings/inputmethod/AvailableVirtualKeyboardFragment.java
index 0dbab44..b9c0796 100644
--- a/src/com/android/settings/inputmethod/AvailableVirtualKeyboardFragment.java
+++ b/src/com/android/settings/inputmethod/AvailableVirtualKeyboardFragment.java
@@ -21,6 +21,7 @@
 import android.annotation.Nullable;
 import android.app.Activity;
 import android.app.admin.DevicePolicyManager;
+import android.content.ComponentName;
 import android.content.Context;
 import android.content.pm.ApplicationInfo;
 import android.content.pm.PackageManager;
@@ -33,9 +34,14 @@
 import android.support.v7.preference.PreferenceScreen;
 import android.view.inputmethod.InputMethodInfo;
 import android.view.inputmethod.InputMethodManager;
+import android.view.inputmethod.InputMethodSubtype;
+
 import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
 import com.android.settings.R;
 import com.android.settings.SettingsPreferenceFragment;
+import com.android.settings.search.BaseSearchIndexProvider;
+import com.android.settings.search.Indexable;
+import com.android.settings.search.SearchIndexableRaw;
 
 import java.text.Collator;
 import java.util.ArrayList;
@@ -44,7 +50,7 @@
 import java.util.List;
 
 public final class AvailableVirtualKeyboardFragment extends SettingsPreferenceFragment
-        implements InputMethodPreference.OnSavePreferenceListener {
+        implements InputMethodPreference.OnSavePreferenceListener, Indexable {
 
     private final ArrayList<InputMethodPreference> mInputMethodPreferenceList = new ArrayList<>();
     private InputMethodSettingValuesWrapper mInputMethodSettingValues;
@@ -169,4 +175,51 @@
             pref.updatePreferenceViews();
         }
     }
+
+    private static List<InputMethodSubtype> getAllSubtypesOf(final InputMethodInfo imi) {
+        final int subtypeCount = imi.getSubtypeCount();
+        final List<InputMethodSubtype> allSubtypes = new ArrayList<>(subtypeCount);
+        for (int index = 0; index < subtypeCount; index++) {
+            allSubtypes.add(imi.getSubtypeAt(index));
+        }
+        return allSubtypes;
+    }
+
+    static List<SearchIndexableRaw> buildSearchIndexOfInputMethods(final Context context,
+            final List<InputMethodInfo> inputMethods, final String screenTitle) {
+        final List<SearchIndexableRaw> indexes = new ArrayList<>();
+        final InputMethodManager imm = (InputMethodManager) context.getSystemService(
+                Context.INPUT_METHOD_SERVICE);
+        for (int i = 0; i < inputMethods.size(); i++) {
+            final InputMethodInfo imi = inputMethods.get(i);
+            final ServiceInfo serviceInfo = imi.getServiceInfo();
+            final SearchIndexableRaw index = new SearchIndexableRaw(context);
+            index.key = new ComponentName(serviceInfo.packageName, serviceInfo.name)
+                    .flattenToString();
+            index.title = imi.loadLabel(context.getPackageManager()).toString();
+            index.summaryOn = index.summaryOff = InputMethodAndSubtypeUtil
+                    .getSubtypeLocaleNameListAsSentence(getAllSubtypesOf(imi), context, imi);
+            index.screenTitle = screenTitle;
+            indexes.add(index);
+        }
+        return indexes;
+    }
+
+    public static Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+            new BaseSearchIndexProvider() {
+        @Override
+        public List<SearchIndexableRaw> getRawDataToIndex(Context context, boolean enabled) {
+            final InputMethodManager imm = context.getSystemService(InputMethodManager.class);
+            final List<InputMethodInfo> enabledInputMethods = imm.getEnabledInputMethodList();
+            final List<InputMethodInfo> disabledInputMethods = new ArrayList<>();
+            for (final InputMethodInfo imi : imm.getInputMethodList()) {
+                if (!enabledInputMethods.contains(imi)) {
+                    disabledInputMethods.add(imi);
+                }
+            }
+            final String screenTitle = context.getString(
+                    R.string.available_virtual_keyboard_category);
+            return buildSearchIndexOfInputMethods(context, disabledInputMethods, screenTitle);
+        }
+    };
 }
diff --git a/src/com/android/settings/inputmethod/InputMethodAndLanguageSettings.java b/src/com/android/settings/inputmethod/InputMethodAndLanguageSettings.java
index e122244..587d039 100644
--- a/src/com/android/settings/inputmethod/InputMethodAndLanguageSettings.java
+++ b/src/com/android/settings/inputmethod/InputMethodAndLanguageSettings.java
@@ -17,19 +17,11 @@
 package com.android.settings.inputmethod;
 
 import android.app.Activity;
-import android.content.ComponentName;
 import android.content.Context;
 import android.content.Intent;
-import android.content.pm.ServiceInfo;
 import android.hardware.input.InputDeviceIdentifier;
-import android.hardware.input.InputManager;
-import android.hardware.input.KeyboardLayout;
 import android.speech.tts.TtsEngines;
 import android.support.v7.preference.Preference;
-import android.view.InputDevice;
-import android.view.inputmethod.InputMethodInfo;
-import android.view.inputmethod.InputMethodManager;
-import android.view.inputmethod.InputMethodSubtype;
 
 import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
 import com.android.settings.R;
@@ -215,75 +207,7 @@
             indexable.keywords = context.getString(R.string.keywords_keyboard_and_ime);
             indexables.add(indexable);
 
-            InputMethodSettingValuesWrapper immValues = InputMethodSettingValuesWrapper
-                    .getInstance(context);
-            immValues.refreshAllInputMethodAndSubtypes();
-
-            InputMethodManager inputMethodManager = (InputMethodManager) context.getSystemService(
-                    Context.INPUT_METHOD_SERVICE);
-
-            // TODO: Move to VirtualKeyboardFragment and AvailableVirtualKeyboardFragment.
-            // All other IMEs.
-            List<InputMethodInfo> inputMethods = immValues.getInputMethodList();
-            final int inputMethodCount = (inputMethods == null ? 0 : inputMethods.size());
-            for (int i = 0; i < inputMethodCount; ++i) {
-                InputMethodInfo inputMethod = inputMethods.get(i);
-                List<InputMethodSubtype> subtypes = inputMethodManager
-                        .getEnabledInputMethodSubtypeList(inputMethod, true);
-                String summary = InputMethodAndSubtypeUtil.getSubtypeLocaleNameListAsSentence(
-                        subtypes, context, inputMethod);
-
-                ServiceInfo serviceInfo = inputMethod.getServiceInfo();
-                ComponentName componentName = new ComponentName(serviceInfo.packageName,
-                        serviceInfo.name);
-
-                indexable = new SearchIndexableRaw(context);
-                indexable.key = componentName.flattenToString();
-                indexable.title = inputMethod.loadLabel(context.getPackageManager()).toString();
-                indexable.summaryOn = summary;
-                indexable.summaryOff = summary;
-                indexable.screenTitle = screenTitle;
-                indexables.add(indexable);
-            }
-
-            // TODO: Move to PhysicalKeyboardFragment.
-            // Hard keyboards
-            InputManager inputManager = (InputManager) context.getSystemService(
-                    Context.INPUT_SERVICE);
-            boolean hasHardKeyboards = false;
-
-            final int[] devices = InputDevice.getDeviceIds();
-            for (int i = 0; i < devices.length; i++) {
-                InputDevice device = InputDevice.getDevice(devices[i]);
-                if (device == null || device.isVirtual() || !device.isFullKeyboard()) {
-                    continue;
-                }
-
-                hasHardKeyboards = true;
-
-                InputDeviceIdentifier identifier = device.getIdentifier();
-                String keyboardLayoutDescriptor =
-                        inputManager.getCurrentKeyboardLayoutForInputDevice(identifier);
-                KeyboardLayout keyboardLayout = keyboardLayoutDescriptor != null ?
-                        inputManager.getKeyboardLayout(keyboardLayoutDescriptor) : null;
-
-                String summary;
-                if (keyboardLayout != null) {
-                    summary = keyboardLayout.toString();
-                } else {
-                    summary = context.getString(R.string.keyboard_layout_default_label);
-                }
-
-                indexable = new SearchIndexableRaw(context);
-                indexable.key = device.getName();
-                indexable.title = device.getName();
-                indexable.summaryOn = summary;
-                indexable.summaryOff = summary;
-                indexable.screenTitle = screenTitle;
-                indexables.add(indexable);
-            }
-
-            if (hasHardKeyboards) {
+            if (!PhysicalKeyboardFragment.getPhysicalFullKeyboards().isEmpty()) {
                 // Hard keyboard category.
                 indexable = new SearchIndexableRaw(context);
                 indexable.key = "builtin_keyboard_settings";
diff --git a/src/com/android/settings/inputmethod/PhysicalKeyboardFragment.java b/src/com/android/settings/inputmethod/PhysicalKeyboardFragment.java
index 5dd5ca1..1ecb250 100644
--- a/src/com/android/settings/inputmethod/PhysicalKeyboardFragment.java
+++ b/src/com/android/settings/inputmethod/PhysicalKeyboardFragment.java
@@ -49,6 +49,9 @@
 import com.android.settings.R;
 import com.android.settings.Settings;
 import com.android.settings.SettingsPreferenceFragment;
+import com.android.settings.search.BaseSearchIndexProvider;
+import com.android.settings.search.Indexable;
+import com.android.settings.search.SearchIndexableRaw;
 
 import java.text.Collator;
 import java.util.ArrayList;
@@ -59,7 +62,7 @@
 import java.util.Objects;
 
 public final class PhysicalKeyboardFragment extends SettingsPreferenceFragment
-        implements InputManager.InputDeviceListener {
+        implements InputManager.InputDeviceListener, Indexable {
 
     private static final String KEYBOARD_ASSISTANCE_CATEGORY = "keyboard_assistance_category";
     private static final String SHOW_VIRTUAL_KEYBOARD_SWITCH = "show_virtual_keyboard_switch";
@@ -528,4 +531,43 @@
         }
     }
 
+    public static List<InputDevice> getPhysicalFullKeyboards() {
+        List<InputDevice> keyboards = null;
+        for (final int deviceId : InputDevice.getDeviceIds()) {
+            final InputDevice device = InputDevice.getDevice(deviceId);
+            if (device != null && !device.isVirtual() && device.isFullKeyboard()) {
+                if (keyboards == null) keyboards = new ArrayList<>();
+                keyboards.add(device);
+            }
+        }
+        return (keyboards == null) ? Collections.emptyList() : keyboards;
+    }
+
+    public static final Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+            new BaseSearchIndexProvider() {
+        @Override
+        public List<SearchIndexableRaw> getRawDataToIndex(Context context, boolean enabled) {
+            final InputManager inputManager = (InputManager) context.getSystemService(
+                    Context.INPUT_SERVICE);
+            final String screenTitle = context.getString(R.string.physical_keyboard_title);
+            final List<SearchIndexableRaw> indexes = new ArrayList<>();
+            for (final InputDevice device : getPhysicalFullKeyboards()) {
+                final String keyboardLayoutDescriptor = inputManager
+                        .getCurrentKeyboardLayoutForInputDevice(device.getIdentifier());
+                final KeyboardLayout keyboardLayout = (keyboardLayoutDescriptor != null)
+                        ? inputManager.getKeyboardLayout(keyboardLayoutDescriptor) : null;
+                final String summary = (keyboardLayout != null)
+                        ? keyboardLayout.toString()
+                        : context.getString(R.string.keyboard_layout_default_label);
+                final SearchIndexableRaw index = new SearchIndexableRaw(context);
+                index.key = device.getName();
+                index.title = device.getName();
+                index.summaryOn = summary;
+                index.summaryOff = summary;
+                index.screenTitle = screenTitle;
+                indexes.add(index);
+            }
+            return indexes;
+        }
+    };
 }
diff --git a/src/com/android/settings/inputmethod/UserDictionaryAddWordFragment.java b/src/com/android/settings/inputmethod/UserDictionaryAddWordFragment.java
index 0d30bcc..38b64a5 100644
--- a/src/com/android/settings/inputmethod/UserDictionaryAddWordFragment.java
+++ b/src/com/android/settings/inputmethod/UserDictionaryAddWordFragment.java
@@ -86,7 +86,7 @@
     @Override
     public void onCreateOptionsMenu(final Menu menu, final MenuInflater inflater) {
         MenuItem actionItem = menu.add(0, OPTIONS_MENU_DELETE, 0, R.string.delete)
-                .setIcon(android.R.drawable.ic_menu_delete);
+                .setIcon(R.drawable.ic_delete);
         actionItem.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM |
                 MenuItem.SHOW_AS_ACTION_WITH_TEXT);
     }
diff --git a/src/com/android/settings/inputmethod/VirtualKeyboardFragment.java b/src/com/android/settings/inputmethod/VirtualKeyboardFragment.java
index 24c2ebc..da5cb04 100644
--- a/src/com/android/settings/inputmethod/VirtualKeyboardFragment.java
+++ b/src/com/android/settings/inputmethod/VirtualKeyboardFragment.java
@@ -26,10 +26,15 @@
 import android.support.v7.preference.Preference;
 import android.view.inputmethod.InputMethodInfo;
 import android.view.inputmethod.InputMethodManager;
+import android.view.inputmethod.InputMethodSubtype;
+
 import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
 import com.android.internal.util.Preconditions;
 import com.android.settings.R;
 import com.android.settings.SettingsPreferenceFragment;
+import com.android.settings.search.BaseSearchIndexProvider;
+import com.android.settings.search.Indexable;
+import com.android.settings.search.SearchIndexableRaw;
 
 import java.text.Collator;
 import java.util.ArrayList;
@@ -37,7 +42,7 @@
 import java.util.Comparator;
 import java.util.List;
 
-public final class VirtualKeyboardFragment extends SettingsPreferenceFragment {
+public final class VirtualKeyboardFragment extends SettingsPreferenceFragment implements Indexable {
 
     private static final String ADD_VIRTUAL_KEYBOARD_SCREEN = "add_virtual_keyboard_screen";
     private static final Drawable NO_ICON = new ColorDrawable(Color.TRANSPARENT);
@@ -117,4 +122,16 @@
         mAddVirtualKeyboardScreen.setOrder(N);
         getPreferenceScreen().addPreference(mAddVirtualKeyboardScreen);
     }
+
+    public static final Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+            new BaseSearchIndexProvider() {
+        @Override
+        public List<SearchIndexableRaw> getRawDataToIndex(Context context, boolean enabled) {
+            final InputMethodManager imm = context.getSystemService(InputMethodManager.class);
+            final List<InputMethodInfo> enabledInputMethods = imm.getEnabledInputMethodList();
+            final String screenTitle = context.getString(R.string.virtual_keyboard_category);
+            return AvailableVirtualKeyboardFragment
+                    .buildSearchIndexOfInputMethods(context, enabledInputMethods, screenTitle);
+        }
+    };
 }
diff --git a/src/com/android/settings/location/LocationMode.java b/src/com/android/settings/location/LocationMode.java
index e50a0d9..4ca098d 100644
--- a/src/com/android/settings/location/LocationMode.java
+++ b/src/com/android/settings/location/LocationMode.java
@@ -21,6 +21,7 @@
 
 import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
 import com.android.settings.R;
+import com.android.settings.widget.RadioButtonPreference;
 
 /**
  * A page with 3 radio buttons to choose the location mode.
diff --git a/src/com/android/settings/notification/ChannelNotificationSettings.java b/src/com/android/settings/notification/ChannelNotificationSettings.java
index 77bf6be..e73feb5 100644
--- a/src/com/android/settings/notification/ChannelNotificationSettings.java
+++ b/src/com/android/settings/notification/ChannelNotificationSettings.java
@@ -55,7 +55,6 @@
     protected static final String KEY_LIGHTS = "lights";
     protected static final String KEY_VIBRATE = "vibrate";
     protected static final String KEY_RINGTONE = "ringtone";
-    protected static final String KEY_SHOW = "show";
     protected static final String KEY_BADGE = "badge";
 
     protected RestrictedSwitchPreference mLights;
@@ -91,7 +90,6 @@
         addPreferencesFromResource(R.xml.channel_notification_settings);
 
         mBlock = (RestrictedSwitchPreference) getPreferenceScreen().findPreference(KEY_BLOCK);
-        mShow = (RestrictedSwitchPreference) getPreferenceScreen().findPreference(KEY_SHOW);
         mBadge = (RestrictedSwitchPreference) getPreferenceScreen().findPreference(KEY_BADGE);
         mImportance = (RestrictedDropDownPreference) findPreference(KEY_IMPORTANCE);
         mPriority =
@@ -141,7 +139,6 @@
         mPriority.setDisabledByAdmin(mSuspendedAppsAdmin);
         mVisibilityOverride.setDisabledByAdmin(mSuspendedAppsAdmin);
         mBlock.setDisabledByAdmin(mSuspendedAppsAdmin);
-        mShow.setDisabledByAdmin(mSuspendedAppsAdmin);
         mBadge.setDisabledByAdmin(mSuspendedAppsAdmin);
     }
 
@@ -192,26 +189,12 @@
 
     protected void setupBlockAndImportance() {
         mBlock.setDisabledByAdmin(mSuspendedAppsAdmin);
-        mBlock.setChecked(!mChannel.isAllowed());
+        mBlock.setChecked(mChannel.getImportance() == NotificationManager.IMPORTANCE_NONE);
         mBlock.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
             @Override
             public boolean onPreferenceChange(Preference preference, Object newValue) {
                 final boolean value = (Boolean) newValue;
-                mChannel.setAllowed(!value);
-                mChannel.lockFields(NotificationChannel.USER_LOCKED_ALLOWED);
-                mBackend.updateChannel(mPkg, mUid, mChannel);
-                updateDependents();
-                return true;
-            }
-        });
-
-        mShow.setDisabledByAdmin(mSuspendedAppsAdmin);
-        mShow.setChecked(mChannel.getImportance() != NotificationManager.IMPORTANCE_NONE);
-        mShow.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
-            @Override
-            public boolean onPreferenceChange(Preference preference, Object newValue) {
-                final boolean value = (Boolean) newValue;
-                int importance = value ? IMPORTANCE_LOW : IMPORTANCE_NONE;
+                int importance = value ?  IMPORTANCE_NONE : IMPORTANCE_LOW;
                 mImportance.setValue(String.valueOf(importance));
                 mChannel.setImportance(importance);
                 mChannel.lockFields(NotificationChannel.USER_LOCKED_IMPORTANCE);
@@ -386,7 +369,8 @@
         return lockscreenSecure;
     }
 
-    protected boolean checkCanBeVisible(int minImportanceVisible, int importance) {
+    protected boolean checkCanBeVisible(int minImportanceVisible) {
+        int importance = mChannel.getImportance();
         if (importance == NotificationManager.IMPORTANCE_UNSPECIFIED) {
             return true;
         }
@@ -420,23 +404,16 @@
     }
 
     private void updateDependents() {
-        boolean allowed = mChannel.isAllowed();
-        int importance = mChannel.getImportance();
-        setVisible(mShow, allowed);
-        setVisible(mBadge, allowed);
-        setVisible(mImportance, allowed && importance != NotificationManager.IMPORTANCE_NONE);
-        setVisible(mLights, allowed && checkCanBeVisible(
-                NotificationManager.IMPORTANCE_LOW, importance) && canPulseLight());
-        setVisible(mVibrate, allowed
-                && checkCanBeVisible(NotificationManager.IMPORTANCE_DEFAULT, importance));
-        setVisible(mRingtone, allowed && checkCanBeVisible(
-                NotificationManager.IMPORTANCE_DEFAULT, importance));
-        setVisible(mPriority, allowed
-                && (checkCanBeVisible(NotificationManager.IMPORTANCE_DEFAULT, importance)
-                || (checkCanBeVisible(NotificationManager.IMPORTANCE_LOW, importance)
-                        && mDndVisualEffectsSuppressed)));
-        setVisible(mVisibilityOverride, allowed
-                && checkCanBeVisible(NotificationManager.IMPORTANCE_MIN, importance)
+        setVisible(mBadge, checkCanBeVisible(NotificationManager.IMPORTANCE_MIN));
+        setVisible(mImportance, checkCanBeVisible(NotificationManager.IMPORTANCE_MIN));
+        setVisible(mLights, checkCanBeVisible(
+                NotificationManager.IMPORTANCE_LOW) && canPulseLight());
+        setVisible(mVibrate, checkCanBeVisible(NotificationManager.IMPORTANCE_DEFAULT));
+        setVisible(mRingtone, checkCanBeVisible(NotificationManager.IMPORTANCE_DEFAULT));
+        setVisible(mPriority, checkCanBeVisible(NotificationManager.IMPORTANCE_DEFAULT)
+                || (checkCanBeVisible(NotificationManager.IMPORTANCE_LOW)
+                        && mDndVisualEffectsSuppressed));
+        setVisible(mVisibilityOverride, checkCanBeVisible(NotificationManager.IMPORTANCE_MIN)
                 && isLockScreenSecure());
     }
 }
diff --git a/src/com/android/settings/notification/NotificationSettingsBase.java b/src/com/android/settings/notification/NotificationSettingsBase.java
index 046c5e6..f3e4390 100644
--- a/src/com/android/settings/notification/NotificationSettingsBase.java
+++ b/src/com/android/settings/notification/NotificationSettingsBase.java
@@ -66,7 +66,6 @@
     protected String mPkg;
     protected PackageInfo mPkgInfo;
     protected RestrictedSwitchPreference mBlock;
-    protected RestrictedSwitchPreference mShow;
     protected RestrictedSwitchPreference mBadge;
     protected EnforcedAdmin mSuspendedAppsAdmin;
     protected boolean mDndVisualEffectsSuppressed;
diff --git a/src/com/android/settings/notification/SoundSettings.java b/src/com/android/settings/notification/SoundSettings.java
index b82931a..f156a84 100644
--- a/src/com/android/settings/notification/SoundSettings.java
+++ b/src/com/android/settings/notification/SoundSettings.java
@@ -63,6 +63,12 @@
     private RingtonePreference mRequestPreference;
 
     @Override
+    public void onAttach(Context context) {
+        super.onAttach(context);
+        mProgressiveDisclosureMixin.setTileLimit(5);
+    }
+
+    @Override
     public int getMetricsCategory() {
         return MetricsEvent.SOUND;
     }
diff --git a/src/com/android/settings/overlay/FeatureFactoryImpl.java b/src/com/android/settings/overlay/FeatureFactoryImpl.java
index eb5d065..060b58c 100644
--- a/src/com/android/settings/overlay/FeatureFactoryImpl.java
+++ b/src/com/android/settings/overlay/FeatureFactoryImpl.java
@@ -18,6 +18,8 @@
 
 import android.app.admin.DevicePolicyManager;
 import android.content.Context;
+import android.net.ConnectivityManager;
+import android.os.UserManager;
 import android.support.annotation.Keep;
 
 import com.android.settings.applications.ApplicationFeatureProvider;
@@ -37,6 +39,7 @@
 import com.android.settings.security.SecurityFeatureProviderImpl;
 import com.android.settings.search2.SearchFeatureProvider;
 import com.android.settings.search2.SearchFeatureProviderImpl;
+import com.android.settings.vpn2.ConnectivityManagerWrapperImpl;
 
 /**
  * {@link FeatureFactory} implementation for AOSP Settings.
@@ -101,7 +104,10 @@
             mEnterprisePrivacyFeatureProvider = new EnterprisePrivacyFeatureProviderImpl(
                     new DevicePolicyManagerWrapperImpl((DevicePolicyManager) context
                             .getSystemService(Context.DEVICE_POLICY_SERVICE)),
-                    new PackageManagerWrapperImpl(context.getPackageManager()));
+                    new PackageManagerWrapperImpl(context.getPackageManager()),
+                    UserManager.get(context),
+                    new ConnectivityManagerWrapperImpl((ConnectivityManager) context
+                            .getSystemService(Context.CONNECTIVITY_SERVICE)));
         }
         return mEnterprisePrivacyFeatureProvider;
     }
diff --git a/src/com/android/settings/search/DynamicIndexableContentMonitor.java b/src/com/android/settings/search/DynamicIndexableContentMonitor.java
index 34cdeba..048658c 100644
--- a/src/com/android/settings/search/DynamicIndexableContentMonitor.java
+++ b/src/com/android/settings/search/DynamicIndexableContentMonitor.java
@@ -36,6 +36,7 @@
 import android.print.PrintManager;
 import android.print.PrintServicesLoader;
 import android.printservice.PrintServiceInfo;
+import android.provider.Settings;
 import android.provider.UserDictionary;
 import android.support.annotation.Nullable;
 import android.support.annotation.VisibleForTesting;
@@ -47,7 +48,10 @@
 
 import com.android.internal.content.PackageMonitor;
 import com.android.settings.accessibility.AccessibilitySettings;
+import com.android.settings.inputmethod.AvailableVirtualKeyboardFragment;
 import com.android.settings.inputmethod.InputMethodAndLanguageSettings;
+import com.android.settings.inputmethod.PhysicalKeyboardFragment;
+import com.android.settings.inputmethod.VirtualKeyboardFragment;
 import com.android.settings.print.PrintSettingsFragment;
 
 import java.util.ArrayList;
@@ -205,8 +209,7 @@
         }
 
         private void buildIndex(boolean rebuild) {
-            // TODO: Fix landing page to PhysicalKeyboardFragment.
-            mIndex.updateFromClassNameResource(InputMethodAndLanguageSettings.class.getName(),
+            mIndex.updateFromClassNameResource(PhysicalKeyboardFragment.class.getName(),
                     rebuild, true /* includeInSearchResult */);
         }
 
@@ -380,6 +383,9 @@
     // Also it monitors user dictionary changes and updates search index.
     private static class InputMethodServicesMonitor extends ContentObserver {
 
+        private static final Uri ENABLED_INPUT_METHODS_CONTENT_URI =
+                Settings.Secure.getUriFor(Settings.Secure.ENABLED_INPUT_METHODS);
+
         // Null if not initialized.
         @Nullable private Index mIndex;
         private PackageManager mPackageManager;
@@ -418,7 +424,11 @@
             mPackageManager = context.getPackageManager();
             mContentResolver = context.getContentResolver();
             mInputMethodServices.clear();
+            // Build index of {@link UserDictionary}.
             buildIndex(InputMethodAndLanguageSettings.class, true /* rebuild */);
+            // Build index of IMEs.
+            buildIndex(VirtualKeyboardFragment.class, true /* rebuild */);
+            buildIndex(AvailableVirtualKeyboardFragment.class, true /* rebuild */);
 
             // Cache IME service packages to know when they go away.
             final InputMethodManager inputMethodManager = (InputMethodManager) context
@@ -433,8 +443,9 @@
             // Watch for related content URIs.
             mContentResolver.registerContentObserver(UserDictionary.Words.CONTENT_URI,
                     true /* notifyForDescendants */, this /* observer */);
-            // TODO: Should monitor android.provider.Settings.Secure.ENABLED_INPUT_METHODS and
-            // update index of AvailableVirtualKeyboardFragment and VirtualKeyboardFragment.
+            // Watch for changing enabled IMEs.
+            mContentResolver.registerContentObserver(ENABLED_INPUT_METHODS_CONTENT_URI,
+                    false /* notifyForDescendants */, this /* observer */);
         }
 
         private void buildIndex(Class<?> indexClass, boolean rebuild) {
@@ -451,20 +462,23 @@
                     .queryIntentServices(intent, 0 /* flags */);
             if (services == null || services.isEmpty()) return;
             mInputMethodServices.add(packageName);
-            // TODO: Fix landing page to VirtualKeyboardFragment.
-            buildIndex(InputMethodAndLanguageSettings.class, false /* rebuild */);
+            buildIndex(VirtualKeyboardFragment.class, false /* rebuild */);
+            buildIndex(AvailableVirtualKeyboardFragment.class, false /* rebuild */);
         }
 
         synchronized void onPackageUnavailable(String packageName) {
             if (mIndex == null) return;
             if (!mInputMethodServices.remove(packageName)) return;
-            // TODO: Fix landing page to AvailableVirtualKeyboardFragment.
-            buildIndex(InputMethodAndLanguageSettings.class, true /* rebuild */);
+            buildIndex(VirtualKeyboardFragment.class, true /* rebuild */);
+            buildIndex(AvailableVirtualKeyboardFragment.class, true /* rebuild */);
         }
 
         @Override
         public void onChange(boolean selfChange, Uri uri) {
-            if (UserDictionary.Words.CONTENT_URI.equals(uri)) {
+            if (ENABLED_INPUT_METHODS_CONTENT_URI.equals(uri)) {
+                buildIndex(VirtualKeyboardFragment.class, true /* rebuild */);
+                buildIndex(AvailableVirtualKeyboardFragment.class, true /* rebuild */);
+            } else if (UserDictionary.Words.CONTENT_URI.equals(uri)) {
                 buildIndex(InputMethodAndLanguageSettings.class, true /* rebuild */);
             }
         }
diff --git a/src/com/android/settings/search/Ranking.java b/src/com/android/settings/search/Ranking.java
index 28861ca..95cdd94 100644
--- a/src/com/android/settings/search/Ranking.java
+++ b/src/com/android/settings/search/Ranking.java
@@ -57,6 +57,7 @@
 import com.android.settings.system.SystemDashboardFragment;
 import com.android.settings.users.UserSettings;
 import com.android.settings.wifi.AdvancedWifiSettings;
+import com.android.settings.wifi.ConfigureWifiSettings;
 import com.android.settings.wifi.SavedAccessPointsWifiSettings;
 import com.android.settings.wifi.WifiSettings;
 
@@ -104,6 +105,7 @@
     static {
         // Wi-Fi
         sRankMap.put(WifiSettings.class.getName(), RANK_WIFI);
+        sRankMap.put(ConfigureWifiSettings.class.getName(), RANK_WIFI);
         sRankMap.put(AdvancedWifiSettings.class.getName(), RANK_WIFI);
         sRankMap.put(SavedAccessPointsWifiSettings.class.getName(), RANK_WIFI);
 
diff --git a/src/com/android/settings/search/SearchIndexableResources.java b/src/com/android/settings/search/SearchIndexableResources.java
index 4ecbcf1..8a158cd 100644
--- a/src/com/android/settings/search/SearchIndexableResources.java
+++ b/src/com/android/settings/search/SearchIndexableResources.java
@@ -54,7 +54,10 @@
 import com.android.settings.gestures.GestureSettings;
 import com.android.settings.gestures.PickupGestureSettings;
 import com.android.settings.gestures.SwipeToNotificationSettings;
+import com.android.settings.inputmethod.AvailableVirtualKeyboardFragment;
 import com.android.settings.inputmethod.InputMethodAndLanguageSettings;
+import com.android.settings.inputmethod.PhysicalKeyboardFragment;
+import com.android.settings.inputmethod.VirtualKeyboardFragment;
 import com.android.settings.location.LocationSettings;
 import com.android.settings.location.ScanningSettings;
 import com.android.settings.network.NetworkDashboardFragment;
@@ -70,6 +73,7 @@
 import com.android.settings.system.SystemDashboardFragment;
 import com.android.settings.users.UserSettings;
 import com.android.settings.wifi.AdvancedWifiSettings;
+import com.android.settings.wifi.ConfigureWifiSettings;
 import com.android.settings.wifi.SavedAccessPointsWifiSettings;
 import com.android.settings.wifi.WifiSettings;
 
@@ -94,10 +98,10 @@
     static {
         addIndex(WifiSettings.class, NO_DATA_RES_ID, R.drawable.ic_settings_wireless);
         addIndex(NetworkDashboardFragment.class, NO_DATA_RES_ID, R.drawable.ic_settings_wireless);
-        addIndex(AdvancedWifiSettings.class,
-                R.xml.wifi_advanced_settings, R.drawable.ic_settings_wireless);
-        addIndex(SavedAccessPointsWifiSettings.class,
-                R.xml.wifi_display_saved_access_points, R.drawable.ic_settings_wireless);
+        addIndex(AdvancedWifiSettings.class, NO_DATA_RES_ID, R.drawable.ic_settings_wireless);
+        addIndex(ConfigureWifiSettings.class, NO_DATA_RES_ID, R.drawable.ic_settings_wireless);
+        addIndex(SavedAccessPointsWifiSettings.class, NO_DATA_RES_ID,
+                R.drawable.ic_settings_wireless);
         addIndex(BluetoothSettings.class, NO_DATA_RES_ID, R.drawable.ic_settings_bluetooth);
         addIndex(SimSettings.class, NO_DATA_RES_ID, R.drawable.ic_sim_sd);
         addIndex(DataUsageSummary.class, NO_DATA_RES_ID, R.drawable.ic_settings_data_usage);
@@ -141,6 +145,10 @@
                 R.drawable.ic_settings_accounts);
         addIndex(InputMethodAndLanguageSettings.class,
                 NO_DATA_RES_ID, R.drawable.ic_settings_language);
+        addIndex(VirtualKeyboardFragment.class, NO_DATA_RES_ID, R.drawable.ic_settings_language);
+        addIndex(AvailableVirtualKeyboardFragment.class,
+                NO_DATA_RES_ID, R.drawable.ic_settings_language);
+        addIndex(PhysicalKeyboardFragment.class, NO_DATA_RES_ID, R.drawable.ic_settings_language);
         addIndex(PrivacySettings.class, NO_DATA_RES_ID, R.drawable.ic_settings_backup);
         addIndex(DateTimeSettings.class, NO_DATA_RES_ID, R.drawable.ic_settings_date_time);
         addIndex(AccessibilitySettings.class, NO_DATA_RES_ID, R.drawable.ic_settings_accessibility);
diff --git a/src/com/android/settings/search2/CursorToSearchResultConverter.java b/src/com/android/settings/search2/CursorToSearchResultConverter.java
index 3d29323..540932c 100644
--- a/src/com/android/settings/search2/CursorToSearchResultConverter.java
+++ b/src/com/android/settings/search2/CursorToSearchResultConverter.java
@@ -30,15 +30,18 @@
 import android.util.Log;
 import com.android.settings.SettingsActivity;
 import com.android.settings.Utils;
-import com.android.settings.search.Index;
 
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.HashMap;
+import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
+import java.util.Set;
 
-import static com.android.settings.search2.DatabaseResultLoader.COLUMN_INDEX_RANK;
+import static com.android.settings.search2.DatabaseResultLoader.COLUMN_INDEX_ID;
+import static com.android.settings.search2.DatabaseResultLoader.COLUMN_INDEX_INTENT_ACTION_TARGET_CLASS;
+import static com.android.settings.search2.DatabaseResultLoader.COLUMN_INDEX_SCREEN_TITLE;
 import static com.android.settings.search2.DatabaseResultLoader.COLUMN_INDEX_TITLE;
 import static com.android.settings.search2.DatabaseResultLoader.COLUMN_INDEX_SUMMARY_ON;
 import static com.android.settings.search2.DatabaseResultLoader.COLUMN_INDEX_CLASS_NAME;
@@ -63,21 +66,28 @@
 
     private final String TAG = "CursorConverter";
 
+    private final String mQueryText;
+
     private final Context mContext;
 
-    public CursorToSearchResultConverter(Context context) {
+    private final Set<String> mKeys;
+
+    public CursorToSearchResultConverter(Context context, String queryText) {
         mContext = context;
+        mKeys = new HashSet<>();
+        mQueryText = queryText;
     }
 
-    public List<SearchResult> convertCursor(Cursor cursorResults) {
+    public List<SearchResult> convertCursor(Cursor cursorResults, int baseRank) {
         if (cursorResults == null) {
             return null;
         }
         final Map<String, Context> contextMap = new HashMap<>();
-        final ArrayList<SearchResult> results = new ArrayList<>();
+        final List<SearchResult> results = new ArrayList<>();
 
         while (cursorResults.moveToNext()) {
-            SearchResult result = buildSingleSearchResultFromCursor(contextMap, cursorResults);
+            SearchResult result = buildSingleSearchResultFromCursor(contextMap, cursorResults,
+                    baseRank);
             if (result != null) {
                 results.add(result);
             }
@@ -87,13 +97,22 @@
     }
 
     private SearchResult buildSingleSearchResultFromCursor(Map<String, Context> contextMap,
-            Cursor cursor) {
+            Cursor cursor, int baseRank) {
+        final String docId = cursor.getString(COLUMN_INDEX_ID);
+        /* Make sure that this result has not yet been added as a result. Checking the docID
+           covers the case of multiple queries matching the same row, but we need to also to check
+           for potentially the same named or slightly varied names pointing to the same page.
+         */
+        if (mKeys.contains(docId)) {
+            return null;
+        }
+        mKeys.add(docId);
+
         final String pkgName = cursor.getString(COLUMN_INDEX_INTENT_ACTION_TARGET_PACKAGE);
         final String action = cursor.getString(COLUMN_INDEX_INTENT_ACTION);
         final String title = cursor.getString(COLUMN_INDEX_TITLE);
         final String summaryOn = cursor.getString(COLUMN_INDEX_SUMMARY_ON);
         final String className = cursor.getString(COLUMN_INDEX_CLASS_NAME);
-        final int rank = cursor.getInt(COLUMN_INDEX_RANK);
         final String key = cursor.getString(COLUMN_INDEX_KEY);
         final String iconResStr = cursor.getString(COLUMN_INDEX_ICON);
         final int payloadType = cursor.getInt(COLUMN_INDEX_PAYLOAD_TYPE);
@@ -109,9 +128,13 @@
             return null;
         }
 
+        final List<String> breadcrumbs = getBreadcrumbs(cursor);
+        final int rank = getRank(breadcrumbs, baseRank);
+
         final SearchResult.Builder builder = new SearchResult.Builder();
         builder.addTitle(title)
                 .addSummary(summaryOn)
+                .addBreadcrumbs(breadcrumbs)
                 .addRank(rank)
                 .addIcon(getIconForPackage(contextMap, pkgName, className, iconResStr))
                 .addPayload(payload);
@@ -154,7 +177,7 @@
             String className, String pkgName ) {
         IntentPayload payload;
         if (TextUtils.isEmpty(action)) {
-            final String screenTitle = cursor.getString(Index.COLUMN_INDEX_SCREEN_TITLE);
+            final String screenTitle = cursor.getString(COLUMN_INDEX_SCREEN_TITLE);
             // Action is null, we will launch it as a sub-setting
             final Bundle args = new Bundle();
             args.putString(SettingsActivity.EXTRA_FRAGMENT_ARG_KEY, key);
@@ -163,8 +186,7 @@
             payload = new IntentPayload(intent);
         } else {
             final Intent intent = new Intent(action);
-            final String targetClass = cursor.getString(
-                    Index.COLUMN_INDEX_INTENT_ACTION_TARGET_CLASS);
+            final String targetClass = cursor.getString(COLUMN_INDEX_INTENT_ACTION_TARGET_CLASS);
             if (!TextUtils.isEmpty(pkgName) && !TextUtils.isEmpty(targetClass)) {
                 final ComponentName component = new ComponentName(pkgName, targetClass);
                 intent.setComponent(component);
@@ -187,4 +209,24 @@
         }
         return null;
     }
+
+    private List<String> getBreadcrumbs(Cursor cursor) {
+        return new ArrayList<>();
+    }
+
+    /** Uses the breadcrumbs to determine the offset to the base rank.
+     *  There are two checks
+     *  A) If the query matches the highest level menu title
+     *  B) If the query matches a subsequent menu title
+     *
+     *  If the query matches A and B, the offset is 0.
+     *  If the query matches A only, the offset is 1.
+     *  If the query matches neither A nor B, the offset is 2.
+     * @param crumbs from the Information Architecture
+     * @param baseRank of the result. Lower if it's a better result.
+     * @return
+     */
+    private int getRank(List<String> crumbs, int baseRank) {
+        return baseRank;
+    }
 }
diff --git a/src/com/android/settings/search2/DatabaseIndexingManager.java b/src/com/android/settings/search2/DatabaseIndexingManager.java
index fa482ef..e29ffeb 100644
--- a/src/com/android/settings/search2/DatabaseIndexingManager.java
+++ b/src/com/android/settings/search2/DatabaseIndexingManager.java
@@ -108,15 +108,15 @@
         public boolean fullIndex;
 
         public UpdateData() {
-            dataToUpdate = new ArrayList<SearchIndexableData>();
-            dataToDelete = new ArrayList<SearchIndexableData>();
-            nonIndexableKeys = new HashMap<String, List<String>>();
+            dataToUpdate = new ArrayList<>();
+            dataToDelete = new ArrayList<>();
+            nonIndexableKeys = new HashMap<>();
         }
 
         public UpdateData(DatabaseIndexingManager.UpdateData other) {
-            dataToUpdate = new ArrayList<SearchIndexableData>(other.dataToUpdate);
-            dataToDelete = new ArrayList<SearchIndexableData>(other.dataToDelete);
-            nonIndexableKeys = new HashMap<String, List<String>>(other.nonIndexableKeys);
+            dataToUpdate = new ArrayList<>(other.dataToUpdate);
+            dataToDelete = new ArrayList<>(other.dataToDelete);
+            nonIndexableKeys = new HashMap<>(other.nonIndexableKeys);
             forceUpdate = other.forceUpdate;
             fullIndex = other.fullIndex;
         }
diff --git a/src/com/android/settings/search2/DatabaseResultLoader.java b/src/com/android/settings/search2/DatabaseResultLoader.java
index 201d76f..f7acd25 100644
--- a/src/com/android/settings/search2/DatabaseResultLoader.java
+++ b/src/com/android/settings/search2/DatabaseResultLoader.java
@@ -16,31 +16,19 @@
 
 package com.android.settings.search2;
 
-import android.content.ComponentName;
 import android.content.Context;
-import android.content.Intent;
-import android.content.pm.PackageManager;
-import android.content.res.Resources;
 import android.database.Cursor;
 import android.database.sqlite.SQLiteDatabase;
-import android.graphics.drawable.Drawable;
-import android.os.Bundle;
-import android.support.annotation.VisibleForTesting;
-import android.text.TextUtils;
-import android.util.Log;
 
-import com.android.settings.SettingsActivity;
-import com.android.settings.Utils;
-import com.android.settings.search.Index;
 import com.android.settings.search.IndexDatabaseHelper;
 import com.android.settings.utils.AsyncLoader;
 
 import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
+import java.util.Arrays;
 import java.util.List;
-import java.util.Map;
 
+import static com.android.settings.search.IndexDatabaseHelper.IndexColumns;
+import static com.android.settings.search.IndexDatabaseHelper.Tables.TABLE_PREFS_INDEX;
 
 /**
  * AsyncTask to retrieve Settings, First party app and any intent based results.
@@ -54,30 +42,68 @@
     private final CursorToSearchResultConverter mConverter;
 
     /* These indices are used to match the columns of the this loader's SELECT statement.
-     These are not necessarily the same order or coverage as the schema defined in
+     These are not necessarily the same order nor similar coverage as the schema defined in
      IndexDatabaseHelper */
-    public static final int COLUMN_INDEX_RANK = 0;
-    public static final int COLUMN_INDEX_TITLE = 1;
-    public static final int COLUMN_INDEX_SUMMARY_ON = 2;
-    public static final int COLUMN_INDEX_SUMMARY_OFF = 3;
-    public static final int COLUMN_INDEX_ENTRIES = 4;
-    public static final int COLUMN_INDEX_KEYWORDS = 5;
-    public static final int COLUMN_INDEX_CLASS_NAME = 6;
-    public static final int COLUMN_INDEX_SCREEN_TITLE = 7;
-    public static final int COLUMN_INDEX_ICON = 8;
-    public static final int COLUMN_INDEX_INTENT_ACTION = 9;
-    public static final int COLUMN_INDEX_INTENT_ACTION_TARGET_PACKAGE = 10;
-    public static final int COLUMN_INDEX_INTENT_ACTION_TARGET_CLASS = 11;
-    public static final int COLUMN_INDEX_ENABLED = 12;
-    public static final int COLUMN_INDEX_KEY = 13;
-    public static final int COLUMN_INDEX_PAYLOAD_TYPE = 14;
-    public static final int COLUMN_INDEX_PAYLOAD = 15;
+    static final int COLUMN_INDEX_ID = 0;
+    static final int COLUMN_INDEX_TITLE = 1;
+    static final int COLUMN_INDEX_SUMMARY_ON = 2;
+    static final int COLUMN_INDEX_SUMMARY_OFF = 3;
+    static final int COLUMN_INDEX_CLASS_NAME = 4;
+    static final int COLUMN_INDEX_SCREEN_TITLE = 5;
+    static final int COLUMN_INDEX_ICON = 6;
+    static final int COLUMN_INDEX_INTENT_ACTION = 7;
+    static final int COLUMN_INDEX_INTENT_ACTION_TARGET_PACKAGE = 8;
+    static final int COLUMN_INDEX_INTENT_ACTION_TARGET_CLASS = 9;
+    static final int COLUMN_INDEX_KEY = 10;
+    static final int COLUMN_INDEX_PAYLOAD_TYPE = 11;
+    static final int COLUMN_INDEX_PAYLOAD = 12;
+
+    public static final String[] SELECT_COLUMNS = {
+            IndexColumns.DOCID,
+            IndexColumns.DATA_TITLE,
+            IndexColumns.DATA_SUMMARY_ON,
+            IndexColumns.DATA_SUMMARY_OFF,
+            IndexColumns.CLASS_NAME,
+            IndexColumns.SCREEN_TITLE,
+            IndexColumns.ICON,
+            IndexColumns.INTENT_ACTION,
+            IndexColumns.INTENT_TARGET_PACKAGE,
+            IndexColumns.INTENT_TARGET_CLASS,
+            IndexColumns.DATA_KEY_REF,
+            IndexColumns.PAYLOAD_TYPE,
+            IndexColumns.PAYLOAD
+    };
+
+    public static final String[] MATCH_COLUMNS_PRIMARY = {
+            IndexColumns.DATA_TITLE,
+            IndexColumns.DATA_TITLE_NORMALIZED,
+    };
+
+    public static final String[] MATCH_COLUMNS_SECONDARY = {
+            IndexColumns.DATA_SUMMARY_ON,
+            IndexColumns.DATA_SUMMARY_ON_NORMALIZED,
+            IndexColumns.DATA_SUMMARY_OFF,
+            IndexColumns.DATA_SUMMARY_OFF_NORMALIZED,
+    };
+
+    public static final String[] MATCH_COLUMNS_TERTIARY = {
+            IndexColumns.DATA_KEYWORDS,
+            IndexColumns.DATA_ENTRIES
+    };
+
+    /**
+     * Base ranks defines the best possible rank based on what the query matches.
+     * If the query matches the title, the best rank it can be is 1
+     * If the query only matches the summary, the best rank it can be is 4
+     * If the query only matches keywords or entries, the best rank it can be is 7
+     */
+    private static final int[] BASE_RANKS = {1, 4, 7};
 
     public DatabaseResultLoader(Context context, String queryText) {
         super(context);
         mDatabase = IndexDatabaseHelper.getInstance(context).getReadableDatabase();
-        mQueryText = queryText;
-        mConverter = new CursorToSearchResultConverter(context);
+        mQueryText = cleanQuery(queryText);
+        mConverter = new CursorToSearchResultConverter(context, mQueryText);
     }
 
     @Override
@@ -91,10 +117,34 @@
             return null;
         }
 
-        String query = getSQLQuery();
-        Cursor result = mDatabase.rawQuery(query, null);
+        final List<SearchResult> primaryResults;
+        final List<SearchResult> secondaryResults;
+        final List<SearchResult> tertiaryResults;
 
-        return mConverter.convertCursor(result);
+        primaryResults = query(MATCH_COLUMNS_PRIMARY, BASE_RANKS[0]);
+        secondaryResults = query(MATCH_COLUMNS_SECONDARY, BASE_RANKS[1]);
+        tertiaryResults = query(MATCH_COLUMNS_TERTIARY, BASE_RANKS[2]);
+
+
+        final List<SearchResult> results = new ArrayList<>(primaryResults.size()
+                + secondaryResults.size()
+                + tertiaryResults.size());
+
+        results.addAll(primaryResults);
+        results.addAll(secondaryResults);
+        results.addAll(tertiaryResults);
+        return results;
+    }
+
+    private List<SearchResult> query(String[] matchColumns, int baseRank) {
+        final String whereClause = buildWhereClause(matchColumns);
+        final String[] selection = new String[matchColumns.length];
+        final String query = "%" + mQueryText + "%";
+        Arrays.fill(selection, query);
+
+        final Cursor resultCursor = mDatabase.query(TABLE_PREFS_INDEX, SELECT_COLUMNS, whereClause,
+                selection, null, null, null);
+        return mConverter.convertCursor(resultCursor, baseRank);
     }
 
     @Override
@@ -103,17 +153,24 @@
         return super.onCancelLoad();
     }
 
-    protected String getSQLQuery() {
-        return String.format("SELECT data_rank, data_title, data_summary_on, " +
-                        "data_summary_off, data_entries, data_keywords, class_name, screen_title,"
-                        + " icon, " +
-                        "intent_action, intent_target_package, intent_target_class, enabled, " +
-                        "data_key_reference, payload_type, payload FROM prefs_index WHERE prefs_index MATCH "
-                        + "'data_title:%s* " +
-                        "OR data_title_normalized:%s* OR data_keywords:%s*' AND locale = 'en_US'",
-                mQueryText, mQueryText, mQueryText);
+    /**
+     * A generic method to make the query suitable for searching the database.
+     * @return the cleaned query string
+     */
+    private static String cleanQuery(String query) {
+        return query.trim();
     }
 
-
-
+    private static String buildWhereClause(String[] matchColumns) {
+        StringBuilder sb = new StringBuilder(" ");
+        final int count = matchColumns.length;
+        for (int n = 0; n < count; n++) {
+            sb.append(matchColumns[n]);
+            sb.append(" like ?");
+            if (n < count - 1) {
+                sb.append(" OR ");
+            }
+        }
+        return sb.toString();
+    }
 }
diff --git a/src/com/android/settings/search2/InlineSwitchViewHolder.java b/src/com/android/settings/search2/InlineSwitchViewHolder.java
index 54d3523..ad99af8 100644
--- a/src/com/android/settings/search2/InlineSwitchViewHolder.java
+++ b/src/com/android/settings/search2/InlineSwitchViewHolder.java
@@ -17,14 +17,11 @@
 
 package com.android.settings.search2;
 
-import android.app.Fragment;
-import android.util.Log;
+import android.content.Context;
 import android.view.View;
-import android.view.ViewParent;
 import android.widget.CompoundButton;
 import android.widget.Switch;
 import android.widget.TextView;
-import android.content.Context;
 
 import com.android.internal.widget.PreferenceImageView;
 import com.android.settings.R;
@@ -52,7 +49,7 @@
     }
 
     @Override
-    public void onBind(Fragment fragment, SearchResult result) {
+    public void onBind(SearchFragment fragment, SearchResult result) {
         if (mContext == null) {
             return;
         }
@@ -62,6 +59,7 @@
         switchView.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
             @Override
             public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
+                fragment.onSearchResultClicked();
                 payload.setSwitchValue(mContext, isChecked);
             }
         });
diff --git a/src/com/android/settings/search2/IntentSearchViewHolder.java b/src/com/android/settings/search2/IntentSearchViewHolder.java
index da3f724..c9952fa 100644
--- a/src/com/android/settings/search2/IntentSearchViewHolder.java
+++ b/src/com/android/settings/search2/IntentSearchViewHolder.java
@@ -15,7 +15,6 @@
  */
 package com.android.settings.search2;
 
-import android.app.Fragment;
 import android.view.View;
 import android.widget.ImageView;
 import android.widget.TextView;
@@ -40,7 +39,7 @@
     }
 
     @Override
-    public void onBind(final Fragment fragment, final SearchResult result) {
+    public void onBind(final SearchFragment fragment, final SearchResult result) {
         titleView.setText(result.title);
         summaryView.setText(result.summary);
         iconView.setImageDrawable(result.icon);
@@ -50,6 +49,7 @@
         itemView.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
+                fragment.onSearchResultClicked();
                 fragment.startActivity(((IntentPayload) result.payload).intent);
             }
         });
diff --git a/src/com/android/settings/search2/SearchFragment.java b/src/com/android/settings/search2/SearchFragment.java
index 1a4e6dc..757a0e2 100644
--- a/src/com/android/settings/search2/SearchFragment.java
+++ b/src/com/android/settings/search2/SearchFragment.java
@@ -35,23 +35,33 @@
 import com.android.internal.logging.nano.MetricsProto;
 import com.android.settings.R;
 import com.android.settings.core.InstrumentedFragment;
+import com.android.settings.core.instrumentation.MetricsFeatureProvider;
 import com.android.settings.overlay.FeatureFactory;
 
 import java.util.List;
 
 public class SearchFragment extends InstrumentedFragment implements
         SearchView.OnQueryTextListener, LoaderManager.LoaderCallbacks<List<SearchResult>> {
+    private static final String TAG = "SearchFragment";
 
     // State values
-    static final String STATE_QUERY = "query";
+    private static final String STATE_QUERY = "state_query";
+    private static final String STATE_NEVER_ENTERED_QUERY = "state_never_entered_query";
+    private static final String STATE_RESULT_CLICK_COUNT = "state_result_click_count";
 
     // Loader IDs
     private static final int LOADER_ID_DATABASE = 0;
     private static final int LOADER_ID_INSTALLED_APPS = 1;
 
-    @VisibleForTesting
-    String mQuery;
+    // Logging
+    @VisibleForTesting(otherwise = VisibleForTesting.PRIVATE)
+    static final String RESULT_CLICK_COUNT = "settings_search_result_click_count";
 
+    @VisibleForTesting(otherwise = VisibleForTesting.PRIVATE)
+    String mQuery;
+    private boolean mNeverEnteredQuery = true;
+    private int mResultClickCount;
+    private MetricsFeatureProvider mMetricsFeatureProvider;
     private SearchFeatureProvider mSearchFeatureProvider;
 
     private SearchResultsAdapter mSearchAdapter;
@@ -65,8 +75,8 @@
     @Override
     public void onAttach(Context context) {
         super.onAttach(context);
-        mSearchFeatureProvider = FeatureFactory.getFactory(context)
-                .getSearchFeatureProvider();
+        mSearchFeatureProvider = FeatureFactory.getFactory(context).getSearchFeatureProvider();
+        mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider();
     }
 
     @Override
@@ -76,6 +86,8 @@
         mSearchAdapter = new SearchResultsAdapter(this);
         if (savedInstanceState != null) {
             mQuery = savedInstanceState.getString(STATE_QUERY);
+            mNeverEnteredQuery = savedInstanceState.getBoolean(STATE_NEVER_ENTERED_QUERY);
+            mResultClickCount = savedInstanceState.getInt(STATE_RESULT_CLICK_COUNT);
             final LoaderManager loaderManager = getLoaderManager();
             loaderManager.initLoader(LOADER_ID_DATABASE, null, this);
             loaderManager.initLoader(LOADER_ID_INSTALLED_APPS, null, this);
@@ -97,9 +109,24 @@
     }
 
     @Override
+    public void onStop() {
+        super.onStop();
+        final Activity activity = getActivity();
+        if (activity != null && activity.isFinishing()) {
+            mMetricsFeatureProvider.histogram(activity, RESULT_CLICK_COUNT, mResultClickCount);
+            if (mNeverEnteredQuery) {
+                mMetricsFeatureProvider.action(activity,
+                        MetricsProto.MetricsEvent.ACTION_LEAVE_SEARCH_RESULT_WITHOUT_QUERY);
+            }
+        }
+    }
+
+    @Override
     public void onSaveInstanceState(Bundle outState) {
         super.onSaveInstanceState(outState);
         outState.putString(STATE_QUERY, mQuery);
+        outState.putBoolean(STATE_NEVER_ENTERED_QUERY, mNeverEnteredQuery);
+        outState.putInt(STATE_RESULT_CLICK_COUNT, mResultClickCount);
     }
 
     @Override
@@ -107,6 +134,8 @@
         if (TextUtils.equals(query, mQuery)) {
             return true;
         }
+        mResultClickCount = 0;
+        mNeverEnteredQuery = false;
         mQuery = query;
         mSearchAdapter.clearResults();
 
@@ -147,6 +176,10 @@
     public void onLoaderReset(Loader<List<SearchResult>> loader) {
     }
 
+    public void onSearchResultClicked() {
+        mResultClickCount++;
+    }
+
     private void restartLoaders() {
         final LoaderManager loaderManager = getLoaderManager();
         loaderManager.restartLoader(LOADER_ID_DATABASE, null /* args */, this /* callback */);
diff --git a/src/com/android/settings/search2/SearchResult.java b/src/com/android/settings/search2/SearchResult.java
index 5bf757f..e817a9d 100644
--- a/src/com/android/settings/search2/SearchResult.java
+++ b/src/com/android/settings/search2/SearchResult.java
@@ -18,7 +18,7 @@
 
 import android.graphics.drawable.Drawable;
 
-import java.util.ArrayList;
+import java.util.List;
 import java.util.Objects;
 
 /**
@@ -42,7 +42,7 @@
      * An ordered list of the information hierarchy.
      * Intent Results: Displayed a hierarchy of selections to reach the setting from the home screen
      */
-    public final ArrayList<String> breadcrumbs;
+    public final List<String> breadcrumbs;
 
     /**
      * A suggestion for the ranking of the result.
@@ -96,7 +96,7 @@
     public static class Builder {
         protected CharSequence mTitle;
         protected CharSequence mSummary;
-        protected ArrayList<String> mBreadcrumbs;
+        protected List<String> mBreadcrumbs;
         protected int mRank = 42;
         protected ResultPayload mResultPayload;
         protected Drawable mIcon;
@@ -111,7 +111,7 @@
             return this;
         }
 
-        public Builder addBreadcrumbs(ArrayList<String> breadcrumbs) {
+        public Builder addBreadcrumbs(List<String> breadcrumbs) {
             mBreadcrumbs = breadcrumbs;
             return this;
         }
diff --git a/src/com/android/settings/search2/SearchViewHolder.java b/src/com/android/settings/search2/SearchViewHolder.java
index 45ceb38..315ec65 100644
--- a/src/com/android/settings/search2/SearchViewHolder.java
+++ b/src/com/android/settings/search2/SearchViewHolder.java
@@ -15,7 +15,6 @@
  */
 package com.android.settings.search2;
 
-import android.app.Fragment;
 import android.support.v7.widget.RecyclerView;
 import android.view.View;
 
@@ -30,5 +29,5 @@
         super(view);
     }
 
-    public abstract void onBind(Fragment fragment, SearchResult result);
+    public abstract void onBind(SearchFragment fragment, SearchResult result);
 }
\ No newline at end of file
diff --git a/src/com/android/settings/support/SupportDisclaimerDialogFragment.java b/src/com/android/settings/support/SupportDisclaimerDialogFragment.java
index 3a7102c..07a451a 100644
--- a/src/com/android/settings/support/SupportDisclaimerDialogFragment.java
+++ b/src/com/android/settings/support/SupportDisclaimerDialogFragment.java
@@ -95,10 +95,15 @@
         final Activity activity = getActivity();
         final CheckBox doNotShow =
                 (CheckBox) getDialog().findViewById(R.id.support_disclaimer_do_not_show_again);
+        final boolean isChecked = doNotShow.isChecked();
         final SupportFeatureProvider supportFeatureProvider =
                 FeatureFactory.getFactory(activity).getSupportFeatureProvider(activity);
-        supportFeatureProvider.setShouldShowDisclaimerDialog(getContext(), !doNotShow.isChecked());
+        supportFeatureProvider.setShouldShowDisclaimerDialog(getContext(), !isChecked);
         final Bundle bundle = getArguments();
+        if (isChecked) {
+            mMetricsFeatureProvider.action(activity,
+                    MetricsProto.MetricsEvent.ACTION_SKIP_DISCLAIMER_SELECTED);
+        }
         mMetricsFeatureProvider.action(activity,
                 MetricsProto.MetricsEvent.ACTION_SUPPORT_DISCLAIMER_OK);
         supportFeatureProvider.startSupport(getActivity(),
diff --git a/src/com/android/settings/vpn2/ConnectivityManagerWrapper.java b/src/com/android/settings/vpn2/ConnectivityManagerWrapper.java
new file mode 100644
index 0000000..9424278
--- /dev/null
+++ b/src/com/android/settings/vpn2/ConnectivityManagerWrapper.java
@@ -0,0 +1,42 @@
+/*
+ * Copyright (C) 2017 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.vpn2;
+
+import android.net.ProxyInfo;
+
+/**
+ * This interface replicates a subset of the android.net.ConnectivityManager (CM). The interface
+ * exists so that we can use a thin wrapper around the CM in production code and a mock in tests.
+ * We cannot directly mock or shadow the CM, because some of the methods we rely on are marked as
+ * hidden and are thus invisible to Robolectric.
+ */
+public interface ConnectivityManagerWrapper {
+
+    /**
+     * Calls {@code ConnectivityManager.getAlwaysOnVpnPackageForUser()}.
+     *
+     * @see android.net.ConnectivityManager#getAlwaysOnVpnPackageForUser
+     */
+   String getAlwaysOnVpnPackageForUser(int userId);
+
+    /**
+     * Calls {@code ConnectivityManager.getGlobalProxy()}.
+     *
+     * @see android.net.ConnectivityManager#getGlobalProxy
+     */
+   ProxyInfo getGlobalProxy();
+}
diff --git a/src/com/android/settings/vpn2/ConnectivityManagerWrapperImpl.java b/src/com/android/settings/vpn2/ConnectivityManagerWrapperImpl.java
new file mode 100644
index 0000000..d3c17f2
--- /dev/null
+++ b/src/com/android/settings/vpn2/ConnectivityManagerWrapperImpl.java
@@ -0,0 +1,39 @@
+/*
+ * Copyright (C) 2017 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.vpn2;
+
+import android.net.ConnectivityManager;
+import android.net.ProxyInfo;
+
+public class ConnectivityManagerWrapperImpl implements ConnectivityManagerWrapper {
+
+    private final ConnectivityManager mCm;
+
+    public ConnectivityManagerWrapperImpl(ConnectivityManager cm) {
+        mCm = cm;
+    }
+
+    @Override
+    public String getAlwaysOnVpnPackageForUser(int userId) {
+        return mCm.getAlwaysOnVpnPackageForUser(userId);
+    }
+
+    @Override
+    public ProxyInfo getGlobalProxy() {
+        return mCm.getGlobalProxy();
+    }
+}
diff --git a/src/com/android/settings/vpn2/VpnUtils.java b/src/com/android/settings/vpn2/VpnUtils.java
index 07e6c52..c9f971d 100644
--- a/src/com/android/settings/vpn2/VpnUtils.java
+++ b/src/com/android/settings/vpn2/VpnUtils.java
@@ -82,4 +82,8 @@
         return IConnectivityManager.Stub.asInterface(
                 ServiceManager.getService(Context.CONNECTIVITY_SERVICE));
     }
+
+    public static boolean isAlwaysOnVpnSet(ConnectivityManagerWrapper cm, final int userId) {
+        return cm.getAlwaysOnVpnPackageForUser(userId) != null;
+    }
 }
diff --git a/src/com/android/settings/widget/DonutView.java b/src/com/android/settings/widget/DonutView.java
new file mode 100644
index 0000000..845f52c
--- /dev/null
+++ b/src/com/android/settings/widget/DonutView.java
@@ -0,0 +1,102 @@
+/*
+ * Copyright (C) 2017 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License
+ */
+package com.android.settings.widget;
+
+import android.content.Context;
+import android.graphics.Canvas;
+import android.graphics.Paint;
+import android.text.TextPaint;
+import android.util.AttributeSet;
+import android.view.View;
+
+import com.android.settings.R;
+import com.android.settings.Utils;
+
+/**
+ * DonutView represents a donut graph. It visualizes a certain percentage of fullness with a
+ * corresponding label with the fullness on the inside (i.e. "50%" inside of the donut.
+ */
+public class DonutView extends View {
+    private static final int TOP = -90;
+    private float mStrokeWidth;
+    private int mPercent;
+    private Paint mBackgroundCircle;
+    private Paint mFilledArc;
+    private TextPaint mTextPaint;
+
+    public DonutView(Context context) {
+        super(context);
+    }
+
+    public DonutView(Context context, AttributeSet attrs) {
+        super(context, attrs);
+        float density = getResources().getDisplayMetrics().density;
+        mStrokeWidth = 10f * density;
+
+        mBackgroundCircle = new Paint();
+        mBackgroundCircle.setAntiAlias(true);
+        mBackgroundCircle.setStrokeCap(Paint.Cap.BUTT);
+        mBackgroundCircle.setStyle(Paint.Style.STROKE);
+        mBackgroundCircle.setStrokeWidth(mStrokeWidth);
+        mBackgroundCircle.setColor(getResources().getColor(R.color.donut_background_grey));
+
+        mFilledArc = new Paint();
+        mFilledArc.setAntiAlias(true);
+        mFilledArc.setStrokeCap(Paint.Cap.BUTT);
+        mFilledArc.setStyle(Paint.Style.STROKE);
+        mFilledArc.setStrokeWidth(mStrokeWidth);
+        mFilledArc.setColor(Utils.getColorAccent(getContext()));
+
+        mTextPaint = new TextPaint();
+        mTextPaint.setColor(Utils.getColorAccent(getContext()));
+        mTextPaint.setAntiAlias(true);
+        mTextPaint.setTextSize(18f * density);
+        mTextPaint.setTextAlign(Paint.Align.CENTER);
+    }
+
+    @Override
+    protected void onDraw(Canvas canvas) {
+        super.onDraw(canvas);
+        canvas.drawArc(0 + mStrokeWidth, 0 + mStrokeWidth, getWidth() - mStrokeWidth,
+                getHeight() - mStrokeWidth, TOP, 360, false, mBackgroundCircle);
+
+        canvas.drawArc(0 + mStrokeWidth, 0 + mStrokeWidth, getWidth() - mStrokeWidth,
+                getHeight() - mStrokeWidth, TOP, (360 * mPercent / 100), false, mFilledArc);
+
+        int centerX = getWidth() / 2;
+        int centerY = getHeight() / 2;
+
+        String percentString =
+                String.format(getContext().getString(R.string.storage_percent_used), mPercent);
+        // drawText uses the Y dimension as the floor of the text, so we do this to center.
+        canvas.drawText(percentString, centerX,
+                centerY + getTextHeight(mTextPaint) / 2 - mTextPaint.descent(),
+                mTextPaint);
+    }
+
+    /**
+     * Set a percentage full to have the donut graph.
+     */
+    public void setPercentage(int percent) {
+        mPercent = percent;
+        invalidate();
+    }
+
+    private float getTextHeight(TextPaint paint) {
+        // Technically, this should be the cap height, but I can live with the descent - ascent.
+        return paint.descent() - paint.ascent();
+    }
+}
diff --git a/src/com/android/settings/location/RadioButtonPreference.java b/src/com/android/settings/widget/RadioButtonPreference.java
similarity index 83%
rename from src/com/android/settings/location/RadioButtonPreference.java
rename to src/com/android/settings/widget/RadioButtonPreference.java
index 9135266..cf5921e 100644
--- a/src/com/android/settings/location/RadioButtonPreference.java
+++ b/src/com/android/settings/widget/RadioButtonPreference.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2013 The Android Open Source Project
+ * Copyright (C) 2017 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,9 +14,10 @@
  * limitations under the License.
  */
 
-package com.android.settings.location;
+package com.android.settings.widget;
 
 import android.content.Context;
+import android.support.v4.content.res.TypedArrayUtils;
 import android.support.v7.preference.CheckBoxPreference;
 import android.support.v7.preference.PreferenceViewHolder;
 import android.util.AttributeSet;
@@ -36,7 +37,7 @@
  */
 public class RadioButtonPreference extends CheckBoxPreference {
     public interface OnClickListener {
-        public abstract void onRadioButtonClicked(RadioButtonPreference emiter);
+       void onRadioButtonClicked(RadioButtonPreference emiter);
     }
 
     private OnClickListener mListener = null;
@@ -47,14 +48,16 @@
     }
 
     public RadioButtonPreference(Context context, AttributeSet attrs) {
-        this(context, attrs, com.android.internal.R.attr.checkBoxPreferenceStyle);
+        this(context, attrs, TypedArrayUtils.getAttr(context,
+                android.support.v7.preference.R.attr.preferenceStyle,
+                android.R.attr.preferenceStyle));
     }
 
     public RadioButtonPreference(Context context) {
         this(context, null);
     }
 
-    void setOnClickListener(OnClickListener listener) {
+    public void setOnClickListener(OnClickListener listener) {
         mListener = listener;
     }
 
diff --git a/src/com/android/settings/wifi/AdvancedWifiSettings.java b/src/com/android/settings/wifi/AdvancedWifiSettings.java
index f7cc772..07c7ce3 100644
--- a/src/com/android/settings/wifi/AdvancedWifiSettings.java
+++ b/src/com/android/settings/wifi/AdvancedWifiSettings.java
@@ -18,11 +18,15 @@
 
 import android.app.Dialog;
 import android.app.DialogFragment;
+import android.content.BroadcastReceiver;
 import android.content.Context;
 import android.content.Intent;
+import android.content.IntentFilter;
+import android.net.wifi.WifiManager;
 import android.net.wifi.WpsInfo;
 import android.os.Bundle;
 import android.os.UserManager;
+import android.provider.SearchIndexableResource;
 import android.security.Credentials;
 import android.support.v7.preference.Preference;
 import android.support.v7.preference.Preference.OnPreferenceClickListener;
@@ -32,7 +36,11 @@
 import com.android.settings.R;
 import com.android.settings.RestrictedSettingsFragment;
 import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
-import com.android.settingslib.RestrictedLockUtils;
+import com.android.settings.search.BaseSearchIndexProvider;
+import com.android.settings.search.Indexable;
+
+import java.util.Arrays;
+import java.util.List;
 
 public class AdvancedWifiSettings extends RestrictedSettingsFragment {
     private static final String TAG = "AdvancedWifiSettings";
@@ -44,6 +52,13 @@
 
     private boolean mUnavailable;
 
+    private final BroadcastReceiver mReceiver = new BroadcastReceiver() {
+        @Override
+        public void onReceive(Context context, Intent intent) {
+            initPreferences();
+        }
+    };
+
     public AdvancedWifiSettings() {
         super(UserManager.DISALLOW_CONFIG_WIFI);
     }
@@ -74,13 +89,23 @@
     }
 
     @Override
-    public void onResume() {
-        super.onResume();
+    public void onStart() {
+        super.onStart();
         if (!mUnavailable) {
+            getActivity().registerReceiver(mReceiver,
+                    new IntentFilter(WifiManager.WIFI_STATE_CHANGED_ACTION));
             initPreferences();
         }
     }
 
+    @Override
+    public void onStop() {
+        super.onStop();
+        if (!mUnavailable) {
+            getActivity().unregisterReceiver(mReceiver);
+        }
+    }
+
     private void initPreferences() {
         final Context context = getActivity();
         Intent intent = new Intent(Credentials.INSTALL_AS_USER_ACTION);
@@ -90,11 +115,13 @@
         Preference pref = findPreference(KEY_INSTALL_CREDENTIALS);
         pref.setIntent(intent);
 
-
+        final WifiManager wifiManager =
+                (WifiManager)getActivity().getSystemService(Context.WIFI_SERVICE);
         Intent wifiDirectIntent = new Intent(context,
                 com.android.settings.Settings.WifiP2pSettingsActivity.class);
         Preference wifiDirectPref = findPreference(KEY_WIFI_DIRECT);
         wifiDirectPref.setIntent(wifiDirectIntent);
+        wifiDirectPref.setEnabled(wifiManager.isWifiEnabled());
 
         // WpsDialog: Create the dialog like WifiSettings does.
         Preference wpsPushPref = findPreference(KEY_WPS_PUSH);
@@ -105,6 +132,7 @@
                     return true;
                 }
         });
+        wpsPushPref.setEnabled(wifiManager.isWifiEnabled());
 
         // WpsDialog: Create the dialog like WifiSettings does.
         Preference wpsPinPref = findPreference(KEY_WPS_PIN);
@@ -115,6 +143,7 @@
                     return true;
                 }
         });
+        wpsPinPref.setEnabled(wifiManager.isWifiEnabled());
     }
 
     /* Wrapper class for the WPS dialog to properly handle life cycle events like rotation. */
@@ -142,4 +171,14 @@
         }
     }
 
+    public static final Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+            new BaseSearchIndexProvider() {
+                @Override
+                public List<SearchIndexableResource> getXmlResourcesToIndex(Context context,
+                        boolean enabled) {
+                    final SearchIndexableResource sir = new SearchIndexableResource(context);
+                    sir.xmlResId = R.xml.wifi_advanced_settings;
+                    return Arrays.asList(sir);
+                }
+            };
 }
diff --git a/src/com/android/settings/wifi/AllowRecommendationPreferenceController.java b/src/com/android/settings/wifi/AllowRecommendationPreferenceController.java
new file mode 100644
index 0000000..a58055d
--- /dev/null
+++ b/src/com/android/settings/wifi/AllowRecommendationPreferenceController.java
@@ -0,0 +1,65 @@
+/*
+ * Copyright (C) 2017 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.wifi;
+
+import android.content.Context;
+import android.provider.Settings;
+import android.support.v14.preference.SwitchPreference;
+import android.support.v7.preference.Preference;
+import android.text.TextUtils;
+
+import com.android.settings.core.PreferenceController;
+
+public class AllowRecommendationPreferenceController extends PreferenceController {
+
+    private static final String KEY_ALLOW_RECOMMENDATIONS = "allow_recommendations";
+
+    public AllowRecommendationPreferenceController(Context context) {
+        super(context);
+    }
+
+    @Override
+    public boolean isAvailable() {
+        return true;
+    }
+
+    @Override
+    public void updateState(Preference preference) {
+        ((SwitchPreference) preference).setChecked(Settings.Global.getInt(
+                mContext.getContentResolver(),
+                Settings.Global.NETWORK_RECOMMENDATIONS_ENABLED, 0) == 1);
+    }
+
+    @Override
+    public boolean handlePreferenceTreeClick(Preference preference) {
+        if (!TextUtils.equals(preference.getKey(), KEY_ALLOW_RECOMMENDATIONS)) {
+            return false;
+        }
+        if (!(preference instanceof SwitchPreference)) {
+            return false;
+        }
+        Settings.Global.putInt(mContext.getContentResolver(),
+                Settings.Global.NETWORK_RECOMMENDATIONS_ENABLED,
+                ((SwitchPreference) preference).isChecked() ? 1 : 0);
+        return true;
+    }
+
+    @Override
+    public String getPreferenceKey() {
+        return KEY_ALLOW_RECOMMENDATIONS;
+    }
+}
diff --git a/src/com/android/settings/wifi/CellularFallbackPreferenceController.java b/src/com/android/settings/wifi/CellularFallbackPreferenceController.java
new file mode 100644
index 0000000..4e9174c
--- /dev/null
+++ b/src/com/android/settings/wifi/CellularFallbackPreferenceController.java
@@ -0,0 +1,85 @@
+/*
+ * Copyright (C) 2017 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.wifi;
+
+import android.content.Context;
+import android.provider.Settings;
+import android.support.v14.preference.SwitchPreference;
+import android.support.v7.preference.Preference;
+import android.text.TextUtils;
+
+import com.android.settings.core.PreferenceController;
+
+/**
+ * {@link PreferenceController} that controls whether we should fall back to celluar when wifi is
+ * bad.
+ */
+public class CellularFallbackPreferenceController extends PreferenceController {
+
+    private static final String KEY_CELLULAR_FALLBACK = "wifi_cellular_data_fallback";
+
+
+    public CellularFallbackPreferenceController(Context context) {
+        super(context);
+    }
+
+    @Override
+    public boolean isAvailable() {
+        return !avoidBadWifiConfig();
+    }
+
+    @Override
+    public String getPreferenceKey() {
+        return KEY_CELLULAR_FALLBACK;
+    }
+
+    @Override
+    public boolean handlePreferenceTreeClick(Preference preference) {
+        if (!TextUtils.equals(preference.getKey(), KEY_CELLULAR_FALLBACK)) {
+            return false;
+        }
+        if (!(preference instanceof SwitchPreference)) {
+            return false;
+        }
+        // On: avoid bad wifi. Off: prompt.
+        String settingName = Settings.Global.NETWORK_AVOID_BAD_WIFI;
+        Settings.Global.putString(mContext.getContentResolver(), settingName,
+                ((SwitchPreference) preference).isChecked() ? "1" : null);
+        return true;
+    }
+
+    @Override
+    public void updateState(Preference preference) {
+        final boolean currentSetting = avoidBadWifiCurrentSettings();
+        // TODO: can this ever be null? The return value of avoidBadWifiConfig() can only
+        // change if the resources change, but if that happens the activity will be recreated...
+        if (preference != null) {
+            SwitchPreference pref = (SwitchPreference) preference;
+            pref.setChecked(currentSetting);
+        }
+    }
+
+    private boolean avoidBadWifiConfig() {
+        return mContext.getResources().getInteger(
+                com.android.internal.R.integer.config_networkAvoidBadWifi) == 1;
+    }
+
+    private boolean avoidBadWifiCurrentSettings() {
+        return "1".equals(Settings.Global.getString(mContext.getContentResolver(),
+                Settings.Global.NETWORK_AVOID_BAD_WIFI));
+    }
+}
diff --git a/src/com/android/settings/wifi/ConfigureWifiSettings.java b/src/com/android/settings/wifi/ConfigureWifiSettings.java
index 01ae99c..6cbdb29 100644
--- a/src/com/android/settings/wifi/ConfigureWifiSettings.java
+++ b/src/com/android/settings/wifi/ConfigureWifiSettings.java
@@ -15,222 +15,72 @@
  */
 package com.android.settings.wifi;
 
-import android.content.BroadcastReceiver;
+import static android.content.Context.WIFI_SERVICE;
+
 import android.content.Context;
-import android.content.Intent;
-import android.content.IntentFilter;
-import android.net.wifi.WifiConfiguration;
-import android.net.wifi.WifiInfo;
 import android.net.wifi.WifiManager;
-import android.os.Bundle;
-import android.provider.Settings;
-import android.support.v14.preference.SwitchPreference;
-import android.support.v7.preference.ListPreference;
-import android.support.v7.preference.Preference;
-import android.text.TextUtils;
-import android.util.Log;
-import android.widget.Toast;
+import android.provider.SearchIndexableResource;
+
 import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
 import com.android.settings.R;
-import com.android.settings.SettingsPreferenceFragment;
-import com.android.settings.Utils;
+import com.android.settings.core.PreferenceController;
+import com.android.settings.dashboard.DashboardFragment;
+import com.android.settings.search.BaseSearchIndexProvider;
+import com.android.settings.search.Indexable;
+
+import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.List;
 
-public class ConfigureWifiSettings extends SettingsPreferenceFragment
-        implements Preference.OnPreferenceChangeListener {
+public class ConfigureWifiSettings extends DashboardFragment {
+
     private static final String TAG = "ConfigureWifiSettings";
 
-    private static final String KEY_MAC_ADDRESS = "mac_address";
-    private static final String KEY_SAVED_NETWORKS = "saved_networks";
-    private static final String KEY_CURRENT_IP_ADDRESS = "current_ip_address";
-    private static final String KEY_NOTIFY_OPEN_NETWORKS = "notify_open_networks";
-    private static final String KEY_SLEEP_POLICY = "sleep_policy";
-    private static final String KEY_CELLULAR_FALLBACK = "wifi_cellular_data_fallback";
-    private static final String KEY_ALLOW_RECOMMENDATIONS = "allow_recommendations";
-
     private WifiManager mWifiManager;
-    private IntentFilter mFilter;
-
-    @Override
-    public void onCreate(Bundle icicle) {
-        super.onCreate(icicle);
-        addPreferencesFromResource(R.xml.wifi_configure_settings);
-    }
-
-    @Override
-    public void onActivityCreated(Bundle savedInstanceState) {
-        super.onActivityCreated(savedInstanceState);
-        mWifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE);
-        mFilter = new IntentFilter();
-        mFilter.addAction(WifiManager.LINK_CONFIGURATION_CHANGED_ACTION);
-        mFilter.addAction(WifiManager.NETWORK_STATE_CHANGED_ACTION);
-    }
-
-    @Override
-    public void onResume() {
-        super.onResume();
-        initPreferences();
-        getActivity().registerReceiver(mReceiver, mFilter);
-        refreshWifiInfo();
-    }
-
-    @Override
-    public void onPause() {
-        super.onPause();
-        getActivity().unregisterReceiver(mReceiver);
-    }
-
-    private void initPreferences() {
-        List<WifiConfiguration> configs = mWifiManager.getConfiguredNetworks();
-        if (configs == null || configs.size() == 0) {
-            removePreference(KEY_SAVED_NETWORKS);
-        }
-
-        SwitchPreference notifyOpenNetworks =
-                (SwitchPreference) findPreference(KEY_NOTIFY_OPEN_NETWORKS);
-        notifyOpenNetworks.setChecked(Settings.Global.getInt(getContentResolver(),
-                Settings.Global.WIFI_NETWORKS_AVAILABLE_NOTIFICATION_ON, 0) == 1);
-        notifyOpenNetworks.setEnabled(mWifiManager.isWifiEnabled());
-
-        final Context context = getActivity();
-        if (avoidBadWifiConfig()) {
-            // Hide preference toggle, always avoid bad wifi networks.
-            removePreference(KEY_CELLULAR_FALLBACK);
-        } else {
-            // Show preference toggle, initialized based on current settings value.
-            boolean currentSetting = avoidBadWifiCurrentSettings();
-            SwitchPreference pref = (SwitchPreference) findPreference(KEY_CELLULAR_FALLBACK);
-            // TODO: can this ever be null? The return value of avoidBadWifiConfig() can only
-            // change if the resources change, but if that happens the activity will be recreated...
-            if (pref != null) {
-                pref.setChecked(currentSetting);
-            }
-        }
-
-        SwitchPreference allowRecommendations =
-            (SwitchPreference) findPreference(KEY_ALLOW_RECOMMENDATIONS);
-        allowRecommendations.setChecked(Settings.Global.getInt(getContentResolver(),
-            Settings.Global.NETWORK_RECOMMENDATIONS_ENABLED, 0) == 1);
-
-        ListPreference sleepPolicyPref = (ListPreference) findPreference(KEY_SLEEP_POLICY);
-        if (sleepPolicyPref != null) {
-            if (Utils.isWifiOnly(context)) {
-                sleepPolicyPref.setEntries(R.array.wifi_sleep_policy_entries_wifi_only);
-            }
-            sleepPolicyPref.setOnPreferenceChangeListener(this);
-            int value = Settings.Global.getInt(getContentResolver(),
-                    Settings.Global.WIFI_SLEEP_POLICY,
-                    Settings.Global.WIFI_SLEEP_POLICY_NEVER);
-            String stringValue = String.valueOf(value);
-            sleepPolicyPref.setValue(stringValue);
-            updateSleepPolicySummary(sleepPolicyPref, stringValue);
-        }
-    }
-
-    private void updateSleepPolicySummary(Preference sleepPolicyPref, String value) {
-        if (value != null) {
-            String[] values = getResources().getStringArray(R.array.wifi_sleep_policy_values);
-            final int summaryArrayResId = Utils.isWifiOnly(getActivity()) ?
-                    R.array.wifi_sleep_policy_entries_wifi_only : R.array.wifi_sleep_policy_entries;
-            String[] summaries = getResources().getStringArray(summaryArrayResId);
-            for (int i = 0; i < values.length; i++) {
-                if (value.equals(values[i])) {
-                    if (i < summaries.length) {
-                        sleepPolicyPref.setSummary(summaries[i]);
-                        return;
-                    }
-                }
-            }
-        }
-
-        sleepPolicyPref.setSummary("");
-        Log.e(TAG, "Invalid sleep policy value: " + value);
-    }
-
-    private boolean avoidBadWifiConfig() {
-        return getActivity().getResources().getInteger(
-                com.android.internal.R.integer.config_networkAvoidBadWifi) == 1;
-    }
-
-    private boolean avoidBadWifiCurrentSettings() {
-        return "1".equals(Settings.Global.getString(getContentResolver(),
-                Settings.Global.NETWORK_AVOID_BAD_WIFI));
-    }
-
-    @Override
-    public boolean onPreferenceTreeClick(Preference preference) {
-        String key = preference.getKey();
-
-        if (KEY_NOTIFY_OPEN_NETWORKS.equals(key)) {
-            Settings.Global.putInt(getContentResolver(),
-                    Settings.Global.WIFI_NETWORKS_AVAILABLE_NOTIFICATION_ON,
-                    ((SwitchPreference) preference).isChecked() ? 1 : 0);
-        } else if (KEY_CELLULAR_FALLBACK.equals(key)) {
-            // On: avoid bad wifi. Off: prompt.
-            String settingName = Settings.Global.NETWORK_AVOID_BAD_WIFI;
-            Settings.Global.putString(getContentResolver(), settingName,
-                    ((SwitchPreference) preference).isChecked() ? "1" : null);
-        } else if (KEY_ALLOW_RECOMMENDATIONS.equals(key)) {
-            Settings.Global.putInt(getActivity().getContentResolver(),
-                Settings.Global.NETWORK_RECOMMENDATIONS_ENABLED,
-                ((SwitchPreference) preference).isChecked() ? 1 : 0);
-        } else {
-            return super.onPreferenceTreeClick(preference);
-        }
-        return true;
-    }
-
-    @Override
-    public boolean onPreferenceChange(Preference preference, Object newValue) {
-        final Context context = getActivity();
-        String key = preference.getKey();
-
-        if (KEY_SLEEP_POLICY.equals(key)) {
-            try {
-                String stringValue = (String) newValue;
-                Settings.Global.putInt(getContentResolver(), Settings.Global.WIFI_SLEEP_POLICY,
-                        Integer.parseInt(stringValue));
-                updateSleepPolicySummary(preference, stringValue);
-            } catch (NumberFormatException e) {
-                Toast.makeText(context, R.string.wifi_setting_sleep_policy_error,
-                        Toast.LENGTH_SHORT).show();
-                return false;
-            }
-        }
-
-        return true;
-    }
-
-    private void refreshWifiInfo() {
-        final Context context = getActivity();
-        WifiInfo wifiInfo = mWifiManager.getConnectionInfo();
-
-        Preference wifiMacAddressPref = findPreference(KEY_MAC_ADDRESS);
-        String macAddress = wifiInfo == null ? null : wifiInfo.getMacAddress();
-        wifiMacAddressPref.setSummary(!TextUtils.isEmpty(macAddress) ? macAddress
-                : context.getString(R.string.status_unavailable));
-        wifiMacAddressPref.setSelectable(false);
-
-        Preference wifiIpAddressPref = findPreference(KEY_CURRENT_IP_ADDRESS);
-        String ipAddress = Utils.getWifiIpAddresses(context);
-        wifiIpAddressPref.setSummary(ipAddress == null ?
-                context.getString(R.string.status_unavailable) : ipAddress);
-        wifiIpAddressPref.setSelectable(false);
-    }
 
     @Override
     public int getMetricsCategory() {
         return MetricsEvent.CONFIGURE_WIFI;
     }
 
-    private final BroadcastReceiver mReceiver = new BroadcastReceiver() {
-        @Override
-        public void onReceive(Context context, Intent intent) {
-            String action = intent.getAction();
-            if (action.equals(WifiManager.LINK_CONFIGURATION_CHANGED_ACTION) ||
-                action.equals(WifiManager.NETWORK_STATE_CHANGED_ACTION)) {
-                refreshWifiInfo();
-            }
-        }
-    };
+    @Override
+    protected String getCategoryKey() {
+        // We don't want to inject any external settings into this screen.
+        return null;
+    }
+
+    @Override
+    protected String getLogTag() {
+        return TAG;
+    }
+
+    @Override
+    protected int getPreferenceScreenResId() {
+        return R.xml.wifi_configure_settings;
+    }
+
+    @Override
+    protected List<PreferenceController> getPreferenceControllers(Context context) {
+        mWifiManager = (WifiManager) getSystemService(WIFI_SERVICE);
+        final List<PreferenceController> controllers = new ArrayList<>();
+        controllers.add(new WifiInfoPreferenceController(context, getLifecycle(), mWifiManager));
+        controllers.add(new SavedNetworkPreferenceController(context, mWifiManager));
+        controllers.add(new CellularFallbackPreferenceController(context));
+        controllers.add(new AllowRecommendationPreferenceController(context));
+        controllers.add(new NotifyOpenNetworksPreferenceController(context, getLifecycle()));
+        controllers.add(new WifiWakeupPreferenceController(context, getLifecycle()));
+        controllers.add(new WifiSleepPolicyPreferenceController(context));
+        return controllers;
+    }
+
+    public static final Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+            new BaseSearchIndexProvider() {
+                @Override
+                public List<SearchIndexableResource> getXmlResourcesToIndex(Context context,
+                        boolean enabled) {
+                    final SearchIndexableResource sir = new SearchIndexableResource(context);
+                    sir.xmlResId = R.xml.wifi_configure_settings;
+                    return Arrays.asList(sir);
+                }
+            };
 }
diff --git a/src/com/android/settings/wifi/NotifyOpenNetworksPreferenceController.java b/src/com/android/settings/wifi/NotifyOpenNetworksPreferenceController.java
new file mode 100644
index 0000000..8771da4
--- /dev/null
+++ b/src/com/android/settings/wifi/NotifyOpenNetworksPreferenceController.java
@@ -0,0 +1,134 @@
+/*
+ * Copyright (C) 2017 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.wifi;
+
+import android.content.ContentResolver;
+import android.content.Context;
+import android.database.ContentObserver;
+import android.net.Uri;
+import android.os.Handler;
+import android.provider.Settings;
+import android.support.v14.preference.SwitchPreference;
+import android.support.v7.preference.Preference;
+import android.support.v7.preference.PreferenceScreen;
+import android.text.TextUtils;
+
+import com.android.settings.core.PreferenceController;
+import com.android.settings.core.lifecycle.Lifecycle;
+import com.android.settings.core.lifecycle.LifecycleObserver;
+import com.android.settings.core.lifecycle.events.OnPause;
+import com.android.settings.core.lifecycle.events.OnResume;
+
+/**
+ * {@link PreferenceController} that controls whether we should notify user when open network is
+ * available.
+ */
+public class NotifyOpenNetworksPreferenceController extends PreferenceController implements
+        LifecycleObserver, OnResume, OnPause {
+
+    private static final String KEY_NOTIFY_OPEN_NETWORKS = "notify_open_networks";
+    private SettingObserver mSettingObserver;
+
+    public NotifyOpenNetworksPreferenceController(Context context, Lifecycle lifecycle) {
+        super(context);
+        lifecycle.addObserver(this);
+    }
+
+    @Override
+    public void displayPreference(PreferenceScreen screen) {
+        super.displayPreference(screen);
+        mSettingObserver = new SettingObserver(screen.findPreference(KEY_NOTIFY_OPEN_NETWORKS));
+    }
+
+    @Override
+    public void onResume() {
+        if (mSettingObserver != null) {
+            mSettingObserver.register(mContext.getContentResolver(), true /* register */);
+        }
+    }
+
+    @Override
+    public void onPause() {
+        if (mSettingObserver != null) {
+            mSettingObserver.register(mContext.getContentResolver(), false /* register */);
+        }
+    }
+
+    @Override
+    public boolean isAvailable() {
+        return true;
+    }
+
+    @Override
+    public boolean handlePreferenceTreeClick(Preference preference) {
+        if (!TextUtils.equals(preference.getKey(), KEY_NOTIFY_OPEN_NETWORKS)) {
+            return false;
+        }
+        if (!(preference instanceof SwitchPreference)) {
+            return false;
+        }
+        Settings.Global.putInt(mContext.getContentResolver(),
+                Settings.Global.WIFI_NETWORKS_AVAILABLE_NOTIFICATION_ON,
+                ((SwitchPreference) preference).isChecked() ? 1 : 0);
+        return true;
+    }
+
+    @Override
+    public String getPreferenceKey() {
+        return KEY_NOTIFY_OPEN_NETWORKS;
+    }
+
+    @Override
+    public void updateState(Preference preference) {
+        if (!(preference instanceof SwitchPreference)) {
+            return;
+        }
+        final SwitchPreference notifyOpenNetworks = (SwitchPreference) preference;
+        notifyOpenNetworks.setChecked(Settings.Global.getInt(mContext.getContentResolver(),
+                Settings.Global.WIFI_NETWORKS_AVAILABLE_NOTIFICATION_ON, 0) == 1);
+        notifyOpenNetworks.setEnabled(Settings.Global.getInt(mContext.getContentResolver(),
+                Settings.Global.NETWORK_RECOMMENDATIONS_ENABLED, 0) == 1);
+    }
+
+    class SettingObserver extends ContentObserver {
+        private final Uri NETWORK_RECOMMENDATIONS_ENABLED_URI =
+                Settings.Global.getUriFor(Settings.Global.NETWORK_RECOMMENDATIONS_ENABLED);
+
+        private final Preference mPreference;
+
+        public SettingObserver(Preference preference) {
+            super(new Handler());
+            mPreference = preference;
+        }
+
+        public void register(ContentResolver cr, boolean register) {
+            if (register) {
+                cr.registerContentObserver(NETWORK_RECOMMENDATIONS_ENABLED_URI, false, this);
+            } else {
+                cr.unregisterContentObserver(this);
+            }
+        }
+
+        @Override
+        public void onChange(boolean selfChange, Uri uri) {
+            super.onChange(selfChange, uri);
+            if (NETWORK_RECOMMENDATIONS_ENABLED_URI.equals(uri)) {
+                updateState(mPreference);
+            }
+        }
+    }
+}
diff --git a/src/com/android/settings/wifi/SavedAccessPointsWifiSettings.java b/src/com/android/settings/wifi/SavedAccessPointsWifiSettings.java
index a830dc0..1ec4380 100644
--- a/src/com/android/settings/wifi/SavedAccessPointsWifiSettings.java
+++ b/src/com/android/settings/wifi/SavedAccessPointsWifiSettings.java
@@ -21,6 +21,7 @@
 import android.content.res.Resources;
 import android.net.wifi.WifiManager;
 import android.os.Bundle;
+import android.provider.SearchIndexableResource;
 import android.support.v7.preference.Preference;
 import android.support.v7.preference.PreferenceScreen;
 import android.util.Log;
@@ -37,6 +38,7 @@
 import com.android.settingslib.wifi.WifiTracker;
 
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.Collections;
 import java.util.Comparator;
 import java.util.List;
@@ -206,6 +208,14 @@
     public static final SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
         new BaseSearchIndexProvider() {
             @Override
+            public List<SearchIndexableResource> getXmlResourcesToIndex(Context context,
+                    boolean enabled) {
+                SearchIndexableResource sir = new SearchIndexableResource(context);
+                sir.xmlResId = R.xml.wifi_display_saved_access_points;
+                return Arrays.asList(sir);
+            }
+
+            @Override
             public List<SearchIndexableRaw> getRawDataToIndex(Context context, boolean enabled) {
                 final List<SearchIndexableRaw> result = new ArrayList<SearchIndexableRaw>();
                 final Resources res = context.getResources();
diff --git a/src/com/android/settings/wifi/SavedNetworkPreferenceController.java b/src/com/android/settings/wifi/SavedNetworkPreferenceController.java
new file mode 100644
index 0000000..c3ad355
--- /dev/null
+++ b/src/com/android/settings/wifi/SavedNetworkPreferenceController.java
@@ -0,0 +1,51 @@
+/*
+ * Copyright (C) 2017 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.wifi;
+
+import android.content.Context;
+import android.net.wifi.WifiConfiguration;
+import android.net.wifi.WifiManager;
+
+import com.android.settings.core.PreferenceController;
+
+import java.util.List;
+
+/**
+ * {@link PreferenceController} that opens saved network subsetting.
+ */
+public class SavedNetworkPreferenceController extends PreferenceController {
+
+    private static final String KEY_SAVED_NETWORKS = "saved_networks";
+
+    private final WifiManager mWifiManager;
+
+    public SavedNetworkPreferenceController(Context context, WifiManager wifiManager) {
+        super(context);
+        mWifiManager = wifiManager;
+    }
+
+    @Override
+    public boolean isAvailable() {
+        final List<WifiConfiguration> config = mWifiManager.getConfiguredNetworks();
+        return config != null && !config.isEmpty();
+    }
+
+    @Override
+    public String getPreferenceKey() {
+        return KEY_SAVED_NETWORKS;
+    }
+}
diff --git a/src/com/android/settings/wifi/WifiInfoPreferenceController.java b/src/com/android/settings/wifi/WifiInfoPreferenceController.java
new file mode 100644
index 0000000..f88e38b
--- /dev/null
+++ b/src/com/android/settings/wifi/WifiInfoPreferenceController.java
@@ -0,0 +1,120 @@
+/*
+ * Copyright (C) 2017 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.wifi;
+
+import android.content.BroadcastReceiver;
+import android.content.Context;
+import android.content.Intent;
+import android.content.IntentFilter;
+import android.net.wifi.WifiInfo;
+import android.net.wifi.WifiManager;
+import android.support.v7.preference.Preference;
+import android.support.v7.preference.PreferenceScreen;
+import android.text.TextUtils;
+
+import com.android.settings.R;
+import com.android.settings.Utils;
+import com.android.settings.core.PreferenceController;
+import com.android.settings.core.lifecycle.Lifecycle;
+import com.android.settings.core.lifecycle.LifecycleObserver;
+import com.android.settings.core.lifecycle.events.OnPause;
+import com.android.settings.core.lifecycle.events.OnResume;
+
+/**
+ * {@link PreferenceController} that updates MAC/IP address.
+ */
+public class WifiInfoPreferenceController extends PreferenceController implements
+        LifecycleObserver, OnResume, OnPause {
+
+    private static final String KEY_CURRENT_IP_ADDRESS = "current_ip_address";
+    private static final String KEY_MAC_ADDRESS = "mac_address";
+
+    private final IntentFilter mFilter;
+    private final WifiManager mWifiManager;
+
+    private Preference mWifiMacAddressPref;
+    private Preference mWifiIpAddressPref;
+
+    public WifiInfoPreferenceController(Context context, Lifecycle lifecycle,
+            WifiManager wifiManager) {
+        super(context);
+        mWifiManager = wifiManager;
+        mFilter = new IntentFilter();
+        mFilter.addAction(WifiManager.LINK_CONFIGURATION_CHANGED_ACTION);
+        mFilter.addAction(WifiManager.NETWORK_STATE_CHANGED_ACTION);
+
+        lifecycle.addObserver(this);
+    }
+
+    @Override
+    public boolean isAvailable() {
+        return true;
+    }
+
+    @Override
+    public String getPreferenceKey() {
+        // Returns null because this controller contains more than 1 preference.
+        return null;
+    }
+
+    @Override
+    public void displayPreference(PreferenceScreen screen) {
+        super.displayPreference(screen);
+        mWifiMacAddressPref = screen.findPreference(KEY_MAC_ADDRESS);
+        mWifiMacAddressPref.setSelectable(false);
+        mWifiIpAddressPref = screen.findPreference(KEY_CURRENT_IP_ADDRESS);
+        mWifiIpAddressPref.setSelectable(false);
+    }
+
+    @Override
+    public void onResume() {
+        mContext.registerReceiver(mReceiver, mFilter);
+        updateWifiInfo();
+    }
+
+    @Override
+    public void onPause() {
+        mContext.unregisterReceiver(mReceiver);
+    }
+
+    public void updateWifiInfo() {
+        if (mWifiMacAddressPref != null) {
+            final WifiInfo wifiInfo = mWifiManager.getConnectionInfo();
+            final String macAddress = wifiInfo == null ? null : wifiInfo.getMacAddress();
+            mWifiMacAddressPref.setSummary(!TextUtils.isEmpty(macAddress)
+                    ? macAddress
+                    : mContext.getString(R.string.status_unavailable));
+        }
+        if (mWifiIpAddressPref != null) {
+            final String ipAddress = Utils.getWifiIpAddresses(mContext);
+            mWifiIpAddressPref.setSummary(ipAddress == null
+                    ? mContext.getString(R.string.status_unavailable)
+                    : ipAddress);
+        }
+    }
+
+    private final BroadcastReceiver mReceiver = new BroadcastReceiver() {
+        @Override
+        public void onReceive(Context context, Intent intent) {
+            String action = intent.getAction();
+            if (action.equals(WifiManager.LINK_CONFIGURATION_CHANGED_ACTION) ||
+                    action.equals(WifiManager.NETWORK_STATE_CHANGED_ACTION)) {
+                updateWifiInfo();
+            }
+        }
+    };
+}
diff --git a/src/com/android/settings/wifi/WifiSleepPolicyPreferenceController.java b/src/com/android/settings/wifi/WifiSleepPolicyPreferenceController.java
new file mode 100644
index 0000000..3e7911b
--- /dev/null
+++ b/src/com/android/settings/wifi/WifiSleepPolicyPreferenceController.java
@@ -0,0 +1,104 @@
+/*
+ * Copyright (C) 2017 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.wifi;
+
+import android.content.Context;
+import android.provider.Settings;
+import android.support.v7.preference.ListPreference;
+import android.support.v7.preference.Preference;
+import android.util.Log;
+import android.widget.Toast;
+
+import com.android.settings.R;
+import com.android.settings.Utils;
+import com.android.settings.core.PreferenceController;
+
+import static com.android.internal.os.MemoryPowerCalculator.TAG;
+
+public class WifiSleepPolicyPreferenceController extends PreferenceController implements
+        Preference.OnPreferenceChangeListener {
+
+    private static final String KEY_SLEEP_POLICY = "sleep_policy";
+
+    public WifiSleepPolicyPreferenceController(Context context) {
+        super(context);
+    }
+
+    @Override
+    public boolean isAvailable() {
+        return true;
+    }
+
+    @Override
+    public String getPreferenceKey() {
+        return KEY_SLEEP_POLICY;
+    }
+
+    @Override
+    public void updateState(Preference preference) {
+        ListPreference sleepPolicyPref = (ListPreference) preference;
+        if (sleepPolicyPref != null) {
+            if (Utils.isWifiOnly(mContext)) {
+                sleepPolicyPref.setEntries(R.array.wifi_sleep_policy_entries_wifi_only);
+            }
+            int value = Settings.Global.getInt(mContext.getContentResolver(),
+                    Settings.Global.WIFI_SLEEP_POLICY,
+                    Settings.Global.WIFI_SLEEP_POLICY_NEVER);
+            String stringValue = String.valueOf(value);
+            sleepPolicyPref.setValue(stringValue);
+            updateSleepPolicySummary(sleepPolicyPref, stringValue);
+        }
+    }
+
+    @Override
+    public boolean onPreferenceChange(Preference preference, Object newValue) {
+        try {
+            String stringValue = (String) newValue;
+            Settings.Global.putInt(mContext.getContentResolver(), Settings.Global.WIFI_SLEEP_POLICY,
+                    Integer.parseInt(stringValue));
+            updateSleepPolicySummary(preference, stringValue);
+        } catch (NumberFormatException e) {
+            Toast.makeText(mContext, R.string.wifi_setting_sleep_policy_error,
+                    Toast.LENGTH_SHORT).show();
+            return false;
+        }
+        return true;
+    }
+
+    private void updateSleepPolicySummary(Preference sleepPolicyPref, String value) {
+        if (value != null) {
+            String[] values = mContext.getResources().getStringArray(R.array
+                    .wifi_sleep_policy_values);
+            final int summaryArrayResId = Utils.isWifiOnly(mContext)
+                    ? R.array.wifi_sleep_policy_entries_wifi_only
+                    : R.array.wifi_sleep_policy_entries;
+            String[] summaries = mContext.getResources().getStringArray(summaryArrayResId);
+            for (int i = 0; i < values.length; i++) {
+                if (value.equals(values[i])) {
+                    if (i < summaries.length) {
+                        sleepPolicyPref.setSummary(summaries[i]);
+                        return;
+                    }
+                }
+            }
+        }
+
+        sleepPolicyPref.setSummary("");
+        Log.e(TAG, "Invalid sleep policy value: " + value);
+    }
+
+}
diff --git a/src/com/android/settings/wifi/WifiWakeupPreferenceController.java b/src/com/android/settings/wifi/WifiWakeupPreferenceController.java
new file mode 100644
index 0000000..122e524
--- /dev/null
+++ b/src/com/android/settings/wifi/WifiWakeupPreferenceController.java
@@ -0,0 +1,133 @@
+/*
+ * Copyright (C) 2017 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.wifi;
+
+import android.content.ContentResolver;
+import android.content.Context;
+import android.database.ContentObserver;
+import android.net.Uri;
+import android.os.Handler;
+import android.provider.Settings;
+import android.support.v14.preference.SwitchPreference;
+import android.support.v7.preference.Preference;
+import android.support.v7.preference.PreferenceScreen;
+import android.text.TextUtils;
+
+import com.android.settings.core.PreferenceController;
+import com.android.settings.core.lifecycle.Lifecycle;
+import com.android.settings.core.lifecycle.LifecycleObserver;
+import com.android.settings.core.lifecycle.events.OnPause;
+import com.android.settings.core.lifecycle.events.OnResume;
+
+/**
+ * {@link PreferenceController} that controls whether the Wi-Fi Wakeup feature should be enabled.
+ */
+public class WifiWakeupPreferenceController extends PreferenceController implements
+        LifecycleObserver, OnResume, OnPause {
+
+    private static final String KEY_ENABLE_WIFI_WAKEUP = "enable_wifi_wakeup";
+    private SettingObserver mSettingObserver;
+
+    public WifiWakeupPreferenceController(Context context, Lifecycle lifecycle) {
+        super(context);
+        lifecycle.addObserver(this);
+    }
+
+    @Override
+    public void displayPreference(PreferenceScreen screen) {
+        super.displayPreference(screen);
+        mSettingObserver = new SettingObserver(screen.findPreference(KEY_ENABLE_WIFI_WAKEUP));
+    }
+
+    @Override
+    public void onResume() {
+        if (mSettingObserver != null) {
+            mSettingObserver.register(mContext.getContentResolver(), true /* register */);
+        }
+    }
+
+    @Override
+    public void onPause() {
+        if (mSettingObserver != null) {
+            mSettingObserver.register(mContext.getContentResolver(), false /* register */);
+        }
+    }
+
+    @Override
+    public boolean isAvailable() {
+        return true;
+    }
+
+    @Override
+    public boolean handlePreferenceTreeClick(Preference preference) {
+        if (!TextUtils.equals(preference.getKey(), KEY_ENABLE_WIFI_WAKEUP)) {
+            return false;
+        }
+        if (!(preference instanceof SwitchPreference)) {
+            return false;
+        }
+        Settings.Global.putInt(mContext.getContentResolver(),
+                Settings.Global.WIFI_WAKEUP_ENABLED,
+                ((SwitchPreference) preference).isChecked() ? 1 : 0);
+        return true;
+    }
+
+    @Override
+    public String getPreferenceKey() {
+        return KEY_ENABLE_WIFI_WAKEUP;
+    }
+
+    @Override
+    public void updateState(Preference preference) {
+        if (!(preference instanceof SwitchPreference)) {
+            return;
+        }
+        final SwitchPreference enableWifiWakeup = (SwitchPreference) preference;
+        enableWifiWakeup.setChecked(Settings.Global.getInt(mContext.getContentResolver(),
+                Settings.Global.WIFI_WAKEUP_ENABLED, 0) == 1);
+        enableWifiWakeup.setEnabled(Settings.Global.getInt(mContext.getContentResolver(),
+                Settings.Global.NETWORK_RECOMMENDATIONS_ENABLED, 0) == 1);
+    }
+
+    class SettingObserver extends ContentObserver {
+        private final Uri NETWORK_RECOMMENDATIONS_ENABLED_URI =
+                Settings.Global.getUriFor(Settings.Global.NETWORK_RECOMMENDATIONS_ENABLED);
+
+        private final Preference mPreference;
+
+        public SettingObserver(Preference preference) {
+            super(new Handler());
+            mPreference = preference;
+        }
+
+        public void register(ContentResolver cr, boolean register) {
+            if (register) {
+                cr.registerContentObserver(NETWORK_RECOMMENDATIONS_ENABLED_URI, false, this);
+            } else {
+                cr.unregisterContentObserver(this);
+            }
+        }
+
+        @Override
+        public void onChange(boolean selfChange, Uri uri) {
+            super.onChange(selfChange, uri);
+            if (NETWORK_RECOMMENDATIONS_ENABLED_URI.equals(uri)) {
+                updateState(mPreference);
+            }
+        }
+    }
+}
diff --git a/tests/app/res/values-az-rAZ/strings.xml b/tests/app/res/values-az/strings.xml
similarity index 100%
rename from tests/app/res/values-az-rAZ/strings.xml
rename to tests/app/res/values-az/strings.xml
diff --git a/tests/app/res/values-be-rBY/strings.xml b/tests/app/res/values-be/strings.xml
similarity index 100%
rename from tests/app/res/values-be-rBY/strings.xml
rename to tests/app/res/values-be/strings.xml
diff --git a/tests/app/res/values-bn-rBD/strings.xml b/tests/app/res/values-bn/strings.xml
similarity index 100%
rename from tests/app/res/values-bn-rBD/strings.xml
rename to tests/app/res/values-bn/strings.xml
diff --git a/tests/app/res/values-bs-rBA/strings.xml b/tests/app/res/values-bs/strings.xml
similarity index 100%
rename from tests/app/res/values-bs-rBA/strings.xml
rename to tests/app/res/values-bs/strings.xml
diff --git a/tests/app/res/values-et-rEE/strings.xml b/tests/app/res/values-et/strings.xml
similarity index 100%
rename from tests/app/res/values-et-rEE/strings.xml
rename to tests/app/res/values-et/strings.xml
diff --git a/tests/app/res/values-eu-rES/strings.xml b/tests/app/res/values-eu/strings.xml
similarity index 100%
rename from tests/app/res/values-eu-rES/strings.xml
rename to tests/app/res/values-eu/strings.xml
diff --git a/tests/app/res/values-gl-rES/strings.xml b/tests/app/res/values-gl/strings.xml
similarity index 100%
rename from tests/app/res/values-gl-rES/strings.xml
rename to tests/app/res/values-gl/strings.xml
diff --git a/tests/app/res/values-gu-rIN/strings.xml b/tests/app/res/values-gu/strings.xml
similarity index 100%
rename from tests/app/res/values-gu-rIN/strings.xml
rename to tests/app/res/values-gu/strings.xml
diff --git a/tests/app/res/values-hy-rAM/strings.xml b/tests/app/res/values-hy/strings.xml
similarity index 100%
rename from tests/app/res/values-hy-rAM/strings.xml
rename to tests/app/res/values-hy/strings.xml
diff --git a/tests/app/res/values-is-rIS/strings.xml b/tests/app/res/values-is/strings.xml
similarity index 100%
rename from tests/app/res/values-is-rIS/strings.xml
rename to tests/app/res/values-is/strings.xml
diff --git a/tests/app/res/values-ka-rGE/strings.xml b/tests/app/res/values-ka/strings.xml
similarity index 100%
rename from tests/app/res/values-ka-rGE/strings.xml
rename to tests/app/res/values-ka/strings.xml
diff --git a/tests/app/res/values-kk-rKZ/strings.xml b/tests/app/res/values-kk/strings.xml
similarity index 100%
rename from tests/app/res/values-kk-rKZ/strings.xml
rename to tests/app/res/values-kk/strings.xml
diff --git a/tests/app/res/values-km-rKH/strings.xml b/tests/app/res/values-km/strings.xml
similarity index 100%
rename from tests/app/res/values-km-rKH/strings.xml
rename to tests/app/res/values-km/strings.xml
diff --git a/tests/app/res/values-kn-rIN/strings.xml b/tests/app/res/values-kn/strings.xml
similarity index 100%
rename from tests/app/res/values-kn-rIN/strings.xml
rename to tests/app/res/values-kn/strings.xml
diff --git a/tests/app/res/values-ky-rKG/strings.xml b/tests/app/res/values-ky/strings.xml
similarity index 100%
rename from tests/app/res/values-ky-rKG/strings.xml
rename to tests/app/res/values-ky/strings.xml
diff --git a/tests/app/res/values-lo-rLA/strings.xml b/tests/app/res/values-lo/strings.xml
similarity index 100%
rename from tests/app/res/values-lo-rLA/strings.xml
rename to tests/app/res/values-lo/strings.xml
diff --git a/tests/app/res/values-mk-rMK/strings.xml b/tests/app/res/values-mk/strings.xml
similarity index 100%
rename from tests/app/res/values-mk-rMK/strings.xml
rename to tests/app/res/values-mk/strings.xml
diff --git a/tests/app/res/values-ml-rIN/strings.xml b/tests/app/res/values-ml/strings.xml
similarity index 100%
rename from tests/app/res/values-ml-rIN/strings.xml
rename to tests/app/res/values-ml/strings.xml
diff --git a/tests/app/res/values-mn-rMN/strings.xml b/tests/app/res/values-mn/strings.xml
similarity index 100%
rename from tests/app/res/values-mn-rMN/strings.xml
rename to tests/app/res/values-mn/strings.xml
diff --git a/tests/app/res/values-mr-rIN/strings.xml b/tests/app/res/values-mr/strings.xml
similarity index 100%
rename from tests/app/res/values-mr-rIN/strings.xml
rename to tests/app/res/values-mr/strings.xml
diff --git a/tests/app/res/values-ms-rMY/strings.xml b/tests/app/res/values-ms/strings.xml
similarity index 100%
rename from tests/app/res/values-ms-rMY/strings.xml
rename to tests/app/res/values-ms/strings.xml
diff --git a/tests/app/res/values-my-rMM/strings.xml b/tests/app/res/values-my/strings.xml
similarity index 100%
rename from tests/app/res/values-my-rMM/strings.xml
rename to tests/app/res/values-my/strings.xml
diff --git a/tests/app/res/values-ne-rNP/strings.xml b/tests/app/res/values-ne/strings.xml
similarity index 100%
rename from tests/app/res/values-ne-rNP/strings.xml
rename to tests/app/res/values-ne/strings.xml
diff --git a/tests/app/res/values-pa-rIN/strings.xml b/tests/app/res/values-pa/strings.xml
similarity index 100%
rename from tests/app/res/values-pa-rIN/strings.xml
rename to tests/app/res/values-pa/strings.xml
diff --git a/tests/app/res/values-si-rLK/strings.xml b/tests/app/res/values-si/strings.xml
similarity index 100%
rename from tests/app/res/values-si-rLK/strings.xml
rename to tests/app/res/values-si/strings.xml
diff --git a/tests/app/res/values-sq-rAL/strings.xml b/tests/app/res/values-sq/strings.xml
similarity index 100%
rename from tests/app/res/values-sq-rAL/strings.xml
rename to tests/app/res/values-sq/strings.xml
diff --git a/tests/app/res/values-ta-rIN/strings.xml b/tests/app/res/values-ta/strings.xml
similarity index 100%
rename from tests/app/res/values-ta-rIN/strings.xml
rename to tests/app/res/values-ta/strings.xml
diff --git a/tests/app/res/values-te-rIN/strings.xml b/tests/app/res/values-te/strings.xml
similarity index 100%
rename from tests/app/res/values-te-rIN/strings.xml
rename to tests/app/res/values-te/strings.xml
diff --git a/tests/app/res/values-ur-rPK/strings.xml b/tests/app/res/values-ur/strings.xml
similarity index 100%
rename from tests/app/res/values-ur-rPK/strings.xml
rename to tests/app/res/values-ur/strings.xml
diff --git a/tests/app/res/values-uz-rUZ/strings.xml b/tests/app/res/values-uz/strings.xml
similarity index 100%
rename from tests/app/res/values-uz-rUZ/strings.xml
rename to tests/app/res/values-uz/strings.xml
diff --git a/tests/robotests/src/com/android/settings/accounts/AccountPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accounts/AccountPreferenceControllerTest.java
index 552c689..87be756 100644
--- a/tests/robotests/src/com/android/settings/accounts/AccountPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/accounts/AccountPreferenceControllerTest.java
@@ -20,13 +20,13 @@
 import android.accounts.AuthenticatorDescription;
 import android.content.Context;
 import android.content.pm.UserInfo;
-import android.os.UserManager;
 import android.os.UserHandle;
+import android.os.UserManager;
+import android.support.v14.preference.PreferenceFragment;
 import android.support.v7.preference.Preference;
 import android.support.v7.preference.PreferenceGroup;
+import android.support.v7.preference.PreferenceManager;
 import android.support.v7.preference.PreferenceScreen;
-import android.support.v14.preference.PreferenceFragment;
-import android.util.SparseArray;
 
 import com.android.settings.AccessiblePreferenceCategory;
 import com.android.settings.R;
@@ -37,8 +37,6 @@
 import com.android.settings.testutils.shadow.ShadowAccountManager;
 import com.android.settings.testutils.shadow.ShadowContentResolver;
 
-import java.util.ArrayList;
-import java.util.List;
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -47,6 +45,9 @@
 import org.robolectric.annotation.Config;
 import org.robolectric.shadows.ShadowApplication;
 
+import java.util.ArrayList;
+import java.util.List;
+
 import static com.google.common.truth.Truth.assertThat;
 import static org.mockito.Answers.RETURNS_DEEP_STUBS;
 import static org.mockito.Matchers.any;
@@ -190,6 +191,38 @@
     }
 
     @Test
+    @Config(shadows = {ShadowAccountManager.class, ShadowContentResolver.class})
+    public void onResume_noPreferenceScreen_shouldNotCrash() {
+        final List<UserInfo> infos = new ArrayList<>();
+        infos.add(new UserInfo(1, "user 1", 0));
+        when(mUserManager.isManagedProfile()).thenReturn(false);
+        when(mUserManager.isLinkedUser()).thenReturn(false);
+        when(mUserManager.getProfiles(anyInt())).thenReturn(infos);
+
+        AccessiblePreferenceCategory preferenceGroup = mock(AccessiblePreferenceCategory.class);
+        when(mAccountHelper.createAccessiblePreferenceCategory(any(Context.class))).thenReturn(
+                preferenceGroup);
+
+        mController.onResume();
+
+        // Should not crash
+    }
+
+    @Test
+    @Config(shadows = {ShadowAccountManager.class, ShadowContentResolver.class})
+    public void onResume_noPreferenceManager_shouldNotCrash() {
+        when(mFragment.getPreferenceManager()).thenReturn(null);
+        final List<UserInfo> infos = new ArrayList<>();
+        infos.add(new UserInfo(1, "user 1", 0));
+        when(mUserManager.isManagedProfile()).thenReturn(false);
+        when(mUserManager.isLinkedUser()).thenReturn(false);
+        when(mUserManager.getProfiles(anyInt())).thenReturn(infos);
+        mController.onResume();
+
+        // Should not crash
+    }
+
+    @Test
     public void updateRawDataToIndex_ManagedProfile_shouldNotUpdate() {
         final List<SearchIndexableRaw> data = new ArrayList<>();
         when(mUserManager.isManagedProfile()).thenReturn(true);
@@ -292,6 +325,7 @@
         when(mAccountManager.getAuthenticatorTypesAsUser(anyInt())).thenReturn(authDescs);
 
         AccessiblePreferenceCategory preferenceGroup = mock(AccessiblePreferenceCategory.class);
+        when(preferenceGroup.getPreferenceManager()).thenReturn(mock(PreferenceManager.class));
         when(mAccountHelper.createAccessiblePreferenceCategory(any(Context.class))).thenReturn(
             preferenceGroup);
 
diff --git a/tests/robotests/src/com/android/settings/applications/ApplicationFeatureProviderImplTest.java b/tests/robotests/src/com/android/settings/applications/ApplicationFeatureProviderImplTest.java
index 56834db..615d9ad 100644
--- a/tests/robotests/src/com/android/settings/applications/ApplicationFeatureProviderImplTest.java
+++ b/tests/robotests/src/com/android/settings/applications/ApplicationFeatureProviderImplTest.java
@@ -19,6 +19,7 @@
 import android.content.Context;
 import android.content.pm.PackageManager;
 import android.content.pm.UserInfo;
+import android.os.UserHandle;
 import android.os.UserManager;
 
 import com.android.settings.SettingsRobolectricTestRunner;
@@ -49,6 +50,9 @@
     private final int MAIN_USER_ID = 0;
     private final int MANAGED_PROFILE_ID = 10;
 
+    private final String APP_1 = "app1";
+    private final String APP_2 = "app2";
+
     private @Mock UserManager mUserManager;
     private @Mock Context mContext;
     private @Mock PackageManagerWrapper mPackageManager;
@@ -78,22 +82,32 @@
                 | PackageManager.GET_DISABLED_UNTIL_USED_COMPONENTS
                 | PackageManager.MATCH_ANY_USER,
                 MAIN_USER_ID)).thenReturn(Arrays.asList(
-                        ApplicationTestUtils.buildInfo(MAIN_USER_ID, "app1", 0 /* flags */)));
+                        ApplicationTestUtils.buildInfo(MAIN_USER_ID, APP_1, 0 /* flags */)));
+        when(mPackageManager.getInstallReason(APP_1, new UserHandle(MAIN_USER_ID)))
+                .thenReturn(PackageManager.INSTALL_REASON_UNKNOWN);
 
         when(mPackageManager.getInstalledApplicationsAsUser(PackageManager.GET_DISABLED_COMPONENTS
                 | PackageManager.GET_DISABLED_UNTIL_USED_COMPONENTS,
                 MANAGED_PROFILE_ID)).thenReturn(Arrays.asList(
-                        ApplicationTestUtils.buildInfo(MANAGED_PROFILE_ID, "app2", 0 /* flags */)));
+                        ApplicationTestUtils.buildInfo(MANAGED_PROFILE_ID, APP_2, 0 /* flags */)));
+        when(mPackageManager.getInstallReason(APP_2, new UserHandle(MANAGED_PROFILE_ID)))
+                .thenReturn(PackageManager.INSTALL_REASON_POLICY);
 
-        mProvider.calculateNumberOfInstalledApps(
-                new ApplicationFeatureProvider.NumberOfInstalledAppsCallback() {
-                    @Override
-                    public void onNumberOfInstalledAppsResult(int num) {
-                        numberOfInstalledApps[0] = num;
-                    }
+        // Count all installed apps.
+        mProvider.calculateNumberOfInstalledApps(ApplicationFeatureProvider.IGNORE_INSTALL_REASON,
+                (num) -> {
+                    numberOfInstalledApps[0] = num;
                 });
         ShadowApplication.runBackgroundTasks();
-
         assertThat(numberOfInstalledApps[0]).isEqualTo(2);
+
+        // Count apps with specific install reason only.
+        numberOfInstalledApps[0] = null;
+        mProvider.calculateNumberOfInstalledApps(PackageManager.INSTALL_REASON_POLICY,
+                (num) -> {
+                    numberOfInstalledApps[0] = num;
+                });
+        ShadowApplication.runBackgroundTasks();
+        assertThat(numberOfInstalledApps[0]).isEqualTo(1);
     }
 }
diff --git a/tests/robotests/src/com/android/settings/applications/InstalledAppCounterTest.java b/tests/robotests/src/com/android/settings/applications/InstalledAppCounterTest.java
index b6c84d0..3dc2e9b 100644
--- a/tests/robotests/src/com/android/settings/applications/InstalledAppCounterTest.java
+++ b/tests/robotests/src/com/android/settings/applications/InstalledAppCounterTest.java
@@ -22,6 +22,7 @@
 import android.content.pm.PackageManager;
 import android.content.pm.ResolveInfo;
 import android.content.pm.UserInfo;
+import android.os.UserHandle;
 import android.os.UserManager;
 
 import com.android.settings.SettingsRobolectricTestRunner;
@@ -60,6 +61,13 @@
         shadows = {ShadowUserManager.class})
 public final class InstalledAppCounterTest {
 
+    private final String APP_1 = "app1";
+    private final String APP_2 = "app2";
+    private final String APP_3 = "app3";
+    private final String APP_4 = "app4";
+    private final String APP_5 = "app5";
+    private final String APP_6 = "app6";
+
     private final int MAIN_USER_ID = 0;
     private final int MANAGED_PROFILE_ID = 10;
 
@@ -101,14 +109,25 @@
                 | PackageManager.GET_DISABLED_UNTIL_USED_COMPONENTS
                 | PackageManager.MATCH_ANY_USER,
                 MAIN_USER_ID)).thenReturn(Arrays.asList(
-                        buildInfo(MAIN_USER_ID, "app1", ApplicationInfo.FLAG_UPDATED_SYSTEM_APP),
-                        buildInfo(MAIN_USER_ID, "app2", 0 /* flags */),
-                        buildInfo(MAIN_USER_ID, "app3", ApplicationInfo.FLAG_SYSTEM),
-                        buildInfo(MAIN_USER_ID, "app4", ApplicationInfo.FLAG_SYSTEM)));
+                        buildInfo(MAIN_USER_ID, APP_1, ApplicationInfo.FLAG_UPDATED_SYSTEM_APP),
+                        buildInfo(MAIN_USER_ID, APP_2, 0 /* flags */),
+                        buildInfo(MAIN_USER_ID, APP_3, ApplicationInfo.FLAG_SYSTEM),
+                        buildInfo(MAIN_USER_ID, APP_4, ApplicationInfo.FLAG_SYSTEM)));
         // For system apps, InstalledAppCounter checks whether they handle the default launcher
         // intent to decide whether to include them in the count of installed apps or not.
-        expectQueryIntentActivities(MAIN_USER_ID, "app3", true /* launchable */);
-        expectQueryIntentActivities(MAIN_USER_ID, "app4", false /* launchable */);
+        expectQueryIntentActivities(MAIN_USER_ID, APP_3, true /* launchable */);
+        expectQueryIntentActivities(MAIN_USER_ID, APP_4, false /* launchable */);
+
+        // app1, app3 and app4 are installed by enterprise policy.
+        final UserHandle mainUser = new UserHandle(MAIN_USER_ID);
+        when(mPackageManager.getInstallReason(APP_1, mainUser))
+                .thenReturn(PackageManager.INSTALL_REASON_POLICY);
+        when(mPackageManager.getInstallReason(APP_2, mainUser))
+                .thenReturn(PackageManager.INSTALL_REASON_UNKNOWN);
+        when(mPackageManager.getInstallReason(APP_3, mainUser))
+                .thenReturn(PackageManager.INSTALL_REASON_POLICY);
+        when(mPackageManager.getInstallReason(APP_4, mainUser))
+                .thenReturn(PackageManager.INSTALL_REASON_POLICY);
 
         // The second user has four apps installed:
         // * app5 is a user-installed app. It should be counted.
@@ -116,12 +135,21 @@
         when(mPackageManager.getInstalledApplicationsAsUser(PackageManager.GET_DISABLED_COMPONENTS
                 | PackageManager.GET_DISABLED_UNTIL_USED_COMPONENTS,
                 MANAGED_PROFILE_ID)).thenReturn(Arrays.asList(
-                        buildInfo(MANAGED_PROFILE_ID, "app5", 0 /* flags */),
-                        buildInfo(MANAGED_PROFILE_ID, "app6", ApplicationInfo.FLAG_SYSTEM)));
-        expectQueryIntentActivities(MANAGED_PROFILE_ID, "app6", true /* launchable */);
+                        buildInfo(MANAGED_PROFILE_ID, APP_5, 0 /* flags */),
+                        buildInfo(MANAGED_PROFILE_ID, APP_6, ApplicationInfo.FLAG_SYSTEM)));
+        expectQueryIntentActivities(MANAGED_PROFILE_ID, APP_6, true /* launchable */);
 
-        // Count the number of apps installed. Wait for the background task to finish.
-        (new InstalledAppCounterTestable()).execute();
+        // app5 is installed by enterprise policy.
+        final UserHandle managedProfileUser = new UserHandle(MANAGED_PROFILE_ID);
+        when(mPackageManager.getInstallReason(APP_5, managedProfileUser))
+                .thenReturn(PackageManager.INSTALL_REASON_POLICY);
+        when(mPackageManager.getInstallReason(APP_6, managedProfileUser))
+                .thenReturn(PackageManager.INSTALL_REASON_UNKNOWN);
+
+        // Count the number of all apps installed, irrespective of install reason. Wait for the
+        // background task to finish.
+        (new InstalledAppCounterTestable(ApplicationFeatureProvider.IGNORE_INSTALL_REASON))
+                .execute();
         ShadowApplication.runBackgroundTasks();
 
         assertThat(mInstalledAppCount).isEqualTo(5);
@@ -134,11 +162,19 @@
         verify(mPackageManager, atLeast(0)).queryIntentActivitiesAsUser(anyObject(), anyInt(),
                 anyInt());
         verifyNoMoreInteractions(mPackageManager);
+
+        // Count once more, considering apps installed by enterprise policy only. Wait for the
+        // background task to finish.
+        mInstalledAppCount = 0;
+        (new InstalledAppCounterTestable(PackageManager.INSTALL_REASON_POLICY)).execute();
+        ShadowApplication.runBackgroundTasks();
+
+        assertThat(mInstalledAppCount).isEqualTo(3);
     }
 
     private class InstalledAppCounterTestable extends InstalledAppCounter {
-        public InstalledAppCounterTestable() {
-            super(mContext, mPackageManager);
+        public InstalledAppCounterTestable(int installReason) {
+            super(mContext, installReason, mPackageManager);
         }
 
         @Override
diff --git a/tests/robotests/src/com/android/settings/applications/ManageApplicationsTest.java b/tests/robotests/src/com/android/settings/applications/ManageApplicationsTest.java
index e49b8b8..bf1fbb8 100644
--- a/tests/robotests/src/com/android/settings/applications/ManageApplicationsTest.java
+++ b/tests/robotests/src/com/android/settings/applications/ManageApplicationsTest.java
@@ -1,3 +1,19 @@
+/*
+ * Copyright (C) 2016 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package com.android.settings.applications;
 
 import android.os.Looper;
diff --git a/tests/robotests/src/com/android/settings/core/PreferenceControllerTest.java b/tests/robotests/src/com/android/settings/core/PreferenceControllerTest.java
deleted file mode 100644
index aaab183..0000000
--- a/tests/robotests/src/com/android/settings/core/PreferenceControllerTest.java
+++ /dev/null
@@ -1,113 +0,0 @@
-/*
- * Copyright (C) 2016 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.core;
-
-import android.content.Context;
-import android.support.v7.preference.Preference;
-import android.support.v7.preference.PreferenceScreen;
-import com.android.settings.SettingsRobolectricTestRunner;
-import com.android.settings.TestConfig;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
-import org.robolectric.annotation.Config;
-
-import static org.mockito.Matchers.any;
-import static org.mockito.Mockito.never;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
-@RunWith(SettingsRobolectricTestRunner.class)
-@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
-public class PreferenceControllerTest {
-
-    @Mock
-    private Context mContext;
-    @Mock
-    private PreferenceScreen mScreen;
-    @Mock
-    private Preference mPreference;
-
-    private TestPrefController mTestPrefController;
-
-    @Before
-    public void setUp() {
-        MockitoAnnotations.initMocks(this);
-        mTestPrefController = new TestPrefController(mContext);
-    }
-
-    @Test
-    public void removeExistingPref_shouldBeRemoved() {
-        when(mScreen.findPreference(TestPrefController.KEY_PREF)).thenReturn(mPreference);
-
-        mTestPrefController.removePreference(mScreen, TestPrefController.KEY_PREF);
-
-        verify(mScreen).removePreference(mPreference);
-    }
-
-    @Test
-    public void removeNonExistingPref_shouldNotRemoveAnything() {
-        mTestPrefController.removePreference(mScreen, TestPrefController.KEY_PREF);
-
-        verify(mScreen, never()).removePreference(any(Preference.class));
-    }
-
-    @Test
-    public void displayPref_ifAvailable() {
-        mTestPrefController.isAvailable = true;
-
-        mTestPrefController.displayPreference(mScreen);
-
-        verify(mScreen, never()).removePreference(any(Preference.class));
-    }
-
-    @Test
-    public void doNotDisplayPref_ifNotAvailable() {
-        when(mScreen.findPreference(TestPrefController.KEY_PREF)).thenReturn(mPreference);
-        mTestPrefController.isAvailable = false;
-
-        mTestPrefController.displayPreference(mScreen);
-
-        verify(mScreen).removePreference(any(Preference.class));
-    }
-
-    private class TestPrefController extends PreferenceController {
-        private static final String KEY_PREF = "test_pref";
-        public boolean isAvailable;
-
-        public TestPrefController(Context context) {
-            super(context);
-        }
-
-        @Override
-        public boolean handlePreferenceTreeClick(Preference preference) {
-            return false;
-        }
-
-        @Override
-        public boolean isAvailable() {
-            return isAvailable;
-        }
-
-        @Override
-        public String getPreferenceKey() {
-            return KEY_PREF;
-        }
-    }
-
-}
diff --git a/tests/robotests/src/com/android/settings/dashboard/DashboardAdapterTest.java b/tests/robotests/src/com/android/settings/dashboard/DashboardAdapterTest.java
new file mode 100644
index 0000000..187e2de
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/dashboard/DashboardAdapterTest.java
@@ -0,0 +1,62 @@
+/*
+ * Copyright (C) 2016 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.dashboard;
+
+import android.content.Context;
+import android.view.View;
+import com.android.settings.SettingsRobolectricTestRunner;
+import com.android.settings.TestConfig;
+import com.android.settings.core.instrumentation.MetricsFeatureProvider;
+import com.android.settings.dashboard.conditional.Condition;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.robolectric.annotation.Config;
+
+import static com.google.common.truth.Truth.assertThat;
+import static org.mockito.Mockito.when;
+
+@RunWith(SettingsRobolectricTestRunner.class)
+@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
+public class DashboardAdapterTest {
+    @Mock
+    private Context mContext;
+    @Mock
+    private View mView;
+    @Mock
+    private Condition mCondition;
+    @Mock
+    private MetricsFeatureProvider mMetricsFeatureProvider;
+    private DashboardAdapter mDashboardAdapter;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        mDashboardAdapter = new DashboardAdapter(mContext, null, mMetricsFeatureProvider,
+                null, null);
+        when(mView.getTag()).thenReturn(mCondition);
+    }
+
+    @Test
+    public void testSetConditions_AfterSetConditions_ExpandedConditionNull() {
+        mDashboardAdapter.onExpandClick(mView);
+        assertThat(mDashboardAdapter.mDashboardData.getExpandedCondition()).isEqualTo(mCondition);
+        mDashboardAdapter.setConditions(null);
+        assertThat(mDashboardAdapter.mDashboardData.getExpandedCondition()).isNull();
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/dashboard/DashboardSummaryTest.java b/tests/robotests/src/com/android/settings/dashboard/DashboardSummaryTest.java
index 69836d8..9627e2c 100644
--- a/tests/robotests/src/com/android/settings/dashboard/DashboardSummaryTest.java
+++ b/tests/robotests/src/com/android/settings/dashboard/DashboardSummaryTest.java
@@ -18,8 +18,11 @@
 
 import android.app.Activity;
 
+import android.support.v7.widget.LinearLayoutManager;
 import com.android.settings.SettingsRobolectricTestRunner;
 import com.android.settings.TestConfig;
+import com.android.settings.dashboard.conditional.ConditionManager;
+import com.android.settings.dashboard.conditional.FocusRecyclerView;
 import com.android.settingslib.drawer.CategoryKey;
 
 import org.junit.Before;
@@ -32,6 +35,7 @@
 
 import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.never;
 import static org.mockito.Mockito.spy;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
@@ -44,6 +48,12 @@
     private DashboardAdapter mAdapter;
     @Mock
     private DashboardFeatureProvider mDashboardFeatureProvider;
+    @Mock
+    private FocusRecyclerView mDashboard;
+    @Mock
+    private LinearLayoutManager mLayoutManager;
+    @Mock
+    private ConditionManager mConditionManager;
 
     private DashboardSummary mSummary;
 
@@ -54,6 +64,9 @@
         ReflectionHelpers.setField(mSummary, "mAdapter", mAdapter);
         ReflectionHelpers.setField(mSummary, "mDashboardFeatureProvider",
                 mDashboardFeatureProvider);
+        ReflectionHelpers.setField(mSummary, "mDashboard", mDashboard);
+        ReflectionHelpers.setField(mSummary, "mLayoutManager", mLayoutManager);
+        ReflectionHelpers.setField(mSummary, "mConditionManager", mConditionManager);
     }
 
     @Test
@@ -63,4 +76,18 @@
         mSummary.updateCategoryAndSuggestion(null);
         verify(mDashboardFeatureProvider).getTilesForCategory(CategoryKey.CATEGORY_HOMEPAGE);
     }
-}
+
+    @Test
+    public void onConditionChanged_PositionAtTop_ScrollToTop() {
+        when(mLayoutManager.findFirstCompletelyVisibleItemPosition()).thenReturn(1);
+        mSummary.onConditionsChanged();
+        verify(mDashboard).scrollToPosition(0);
+    }
+
+    @Test
+    public void onConditionChanged_PositionNotTop_RemainPosition() {
+        when(mLayoutManager.findFirstCompletelyVisibleItemPosition()).thenReturn(2);
+        mSummary.onConditionsChanged();
+        verify(mDashboard, never()).scrollToPosition(0);
+    }
+}
\ No newline at end of file
diff --git a/tests/robotests/src/com/android/settings/datetime/AutoTimeZonePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/datetime/AutoTimeZonePreferenceControllerTest.java
index cc8d84a..0ac0251 100644
--- a/tests/robotests/src/com/android/settings/datetime/AutoTimeZonePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/datetime/AutoTimeZonePreferenceControllerTest.java
@@ -55,6 +55,7 @@
     @Before
     public void setUp() {
         MockitoAnnotations.initMocks(this);
+        ShadowApplication.getInstance().setSystemService(Context.CONNECTIVITY_SERVICE, mCm);
         mContext = ShadowApplication.getInstance().getApplicationContext();
         mPreference = new Preference(mContext);
         when(mMockContext.getSystemService(Context.CONNECTIVITY_SERVICE)).thenReturn(mCm);
@@ -88,6 +89,24 @@
     }
 
     @Test
+    public void isFromSUW_notEnable() {
+        mController = new AutoTimeZonePreferenceController(
+            mMockContext, null /* callback */, true /* isFromSUW */);
+
+        assertThat(mController.isEnabled()).isFalse();
+    }
+
+    @Test
+    public void isWifiOnly_notEnable() {
+        when(mCm.isNetworkSupported(ConnectivityManager.TYPE_MOBILE)).thenReturn(false);
+
+        mController = new AutoTimeZonePreferenceController(
+            mMockContext, null /* callback */, false /* isFromSUW */);
+
+        assertThat(mController.isEnabled()).isFalse();
+    }
+
+    @Test
     public void testIsEnabled_shouldReadFromSettingsProvider() {
         mController = new AutoTimeZonePreferenceController(
                 mContext, null /* callback */, false /* isFromSUW */);
diff --git a/tests/robotests/src/com/android/settings/deviceinfo/storage/StorageItemPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/deviceinfo/storage/StorageItemPreferenceControllerTest.java
index 1862dd0..7776633 100644
--- a/tests/robotests/src/com/android/settings/deviceinfo/storage/StorageItemPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/deviceinfo/storage/StorageItemPreferenceControllerTest.java
@@ -17,63 +17,186 @@
 
 import static com.google.common.truth.Truth.assertThat;
 
+import static org.mockito.Matchers.any;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import android.app.Fragment;
 import android.content.Context;
-import android.support.v7.preference.Preference;
-import android.support.v7.preference.PreferenceViewHolder;
+import android.content.Intent;
+import android.os.Environment;
+import android.os.UserHandle;
+import android.os.storage.VolumeInfo;
+import android.provider.DocumentsContract;
+import android.support.v7.preference.PreferenceScreen;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.widget.LinearLayout;
 
+import com.android.settings.R;
+import com.android.settings.SettingsActivity;
 import com.android.settings.SettingsRobolectricTestRunner;
+import com.android.settings.SubSettings;
 import com.android.settings.TestConfig;
-import com.android.settings.deviceinfo.StorageItemPreference;
+import com.android.settings.applications.ManageApplications;
+import com.android.settingslib.deviceinfo.StorageMeasurement;
+import com.android.settingslib.deviceinfo.StorageVolumeProvider;
 
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
+import org.mockito.Answers;
+import org.mockito.ArgumentCaptor;
+import org.mockito.Mock;
 import org.mockito.Mockito;
+import org.mockito.MockitoAnnotations;
 import org.robolectric.RuntimeEnvironment;
 import org.robolectric.annotation.Config;
 
+import java.util.HashMap;
+
 @RunWith(SettingsRobolectricTestRunner.class)
 @Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
 public class StorageItemPreferenceControllerTest {
-    private static final String KEY = "pref";
+    /**
+     *  In O, this will change to 1000 instead of 1024 due to the formatter properly defining a
+     *  kilobyte.
+     */
+    private static long KILOBYTE = 1024L;
+
     private Context mContext;
+    private VolumeInfo mVolume;
+    @Mock(answer = Answers.RETURNS_DEEP_STUBS)
+    private Fragment mFragment;
+    @Mock
+    private StorageVolumeProvider mSvp;
     private StorageItemPreferenceController mController;
-    private PreferenceViewHolder mHolder;
     private StorageItemPreferenceAlternate mPreference;
 
     @Before
     public void setUp() throws Exception {
+        MockitoAnnotations.initMocks(this);
+        mVolume = new VolumeInfo("id", 0, null, "id");
         mContext = RuntimeEnvironment.application;
-        mController = new StorageItemPreferenceController(mContext, KEY);
+        // Note: null is passed as the Lifecycle because we are handling it outside of the normal
+        //       Settings fragment lifecycle for test purposes.
+        mController = new StorageItemPreferenceController(mContext, null, mFragment, mVolume, mSvp);
         mPreference = new StorageItemPreferenceAlternate(mContext);
 
         // Inflate the preference and the widget.
         LayoutInflater inflater = LayoutInflater.from(mContext);
-        final View view = inflater.inflate(mPreference.getLayoutResource(),
-                new LinearLayout(mContext), false);
-
-        mHolder = new PreferenceViewHolder(view);
-    }
-
-    @Test
-    public void testGetKey() {
-        assertThat(mController.getPreferenceKey()).isEqualTo(KEY);
+        final View view = inflater.inflate(
+                mPreference.getLayoutResource(), new LinearLayout(mContext), false);
     }
 
     @Test
     public void testUpdateStateWithInitialState() {
-        mController.updateState(mPreference);
-        assertThat(mPreference.getSummary().toString()).isEqualTo("Calculating…");
+        assertThat(mPreference.getSummary().toString()).isEqualTo(
+                mContext.getString(R.string.memory_calculating_size));
     }
 
     @Test
-    public void testPreferenceShouldUpdateAfterPopulatingData() {
-        mController.setStorageSize(1024L);
-        mController.updateState(mPreference);
-        assertThat(mPreference.getSummary().toString()).isEqualTo("1.00KB");
+    public void testClickPhotos() {
+        mPreference.setKey("pref_photos_videos");
+        mController.handlePreferenceTreeClick(mPreference);
 
+        final ArgumentCaptor<Intent> argumentCaptor = ArgumentCaptor.forClass(Intent.class);
+        verify(mFragment.getActivity()).startActivityAsUser(argumentCaptor.capture(),
+                any(UserHandle.class));
+
+        Intent intent = argumentCaptor.getValue();
+        assertThat(intent.getType()).isEqualTo("image/*");
+        assertThat(intent.getAction()).isEqualTo(android.content.Intent.ACTION_VIEW);
+    }
+
+    @Test
+    public void testClickAudio() {
+        mPreference.setKey("pref_music_audio");
+        mController.handlePreferenceTreeClick(mPreference);
+
+        final ArgumentCaptor<Intent> argumentCaptor = ArgumentCaptor.forClass(Intent.class);
+        verify(mFragment.getActivity()).startActivityAsUser(argumentCaptor.capture(),
+                any(UserHandle.class));
+
+        Intent intent = argumentCaptor.getValue();
+        assertThat(intent.getAction()).isEqualTo(DocumentsContract.ACTION_BROWSE);
+        assertThat(intent.getData()).isEqualTo(DocumentsContract.buildRootUri(
+                "com.android.providers.media.documents",
+                "audio_root"));
+    }
+
+    @Test
+    public void testClickApps() {
+        mPreference.setKey("pref_other_apps");
+        mController.handlePreferenceTreeClick(mPreference);
+
+        final ArgumentCaptor<Intent> argumentCaptor = ArgumentCaptor.forClass(Intent.class);
+        verify(mFragment.getActivity()).startActivityAsUser(argumentCaptor.capture(),
+                any(UserHandle.class));
+
+        Intent intent = argumentCaptor.getValue();
+        assertThat(intent.getAction()).isEqualTo(Intent.ACTION_MAIN);
+        assertThat(intent.getComponent().getClassName()).isEqualTo(SubSettings.class.getName());
+        assertThat(intent.getStringExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT)).isEqualTo(
+                ManageApplications.class.getName());
+    }
+
+    @Test
+    public void testClickFiles() {
+        when(mSvp.findEmulatedForPrivate(any(VolumeInfo.class))).thenReturn(mVolume);
+        mPreference.setKey("pref_files");
+        mController.handlePreferenceTreeClick(mPreference);
+
+        final ArgumentCaptor<Intent> argumentCaptor = ArgumentCaptor.forClass(Intent.class);
+        verify(mFragment.getActivity()).startActivityAsUser(argumentCaptor.capture(),
+                any(UserHandle.class));
+
+        Intent intent = argumentCaptor.getValue();
+        Intent browseIntent = mVolume.buildBrowseIntent();
+        assertThat(intent.getAction()).isEqualTo(browseIntent.getAction());
+        assertThat(intent.getData()).isEqualTo(browseIntent.getData());
+    }
+
+    @Test
+    public void testMeasurementCompletedUpdatesPreferences() {
+        StorageItemPreferenceAlternate audio = new StorageItemPreferenceAlternate(mContext);
+        StorageItemPreferenceAlternate image = new StorageItemPreferenceAlternate(mContext);
+        StorageItemPreferenceAlternate games = new StorageItemPreferenceAlternate(mContext);
+        StorageItemPreferenceAlternate apps = new StorageItemPreferenceAlternate(mContext);
+        StorageItemPreferenceAlternate system = new StorageItemPreferenceAlternate(mContext);
+        StorageItemPreferenceAlternate files = new StorageItemPreferenceAlternate(mContext);
+        PreferenceScreen screen = mock(PreferenceScreen.class);
+        when(screen.findPreference(
+                Mockito.eq(StorageItemPreferenceController.AUDIO_KEY))).thenReturn(audio);
+        when(screen.findPreference(
+                Mockito.eq(StorageItemPreferenceController.PHOTO_KEY))).thenReturn(image);
+        when(screen.findPreference(
+                Mockito.eq(StorageItemPreferenceController.GAME_KEY))).thenReturn(games);
+        when(screen.findPreference(
+                Mockito.eq(StorageItemPreferenceController.OTHER_APPS_KEY))).thenReturn(apps);
+        when(screen.findPreference(
+                Mockito.eq(StorageItemPreferenceController.SYSTEM_KEY))).thenReturn(system);
+        when(screen.findPreference(
+                Mockito.eq(StorageItemPreferenceController.FILES_KEY))).thenReturn(files);
+        mController.displayPreference(screen);
+
+        StorageMeasurement.MeasurementDetails details = new StorageMeasurement.MeasurementDetails();
+        details.appsSize.put(0, KILOBYTE);
+        HashMap<String, Long> mediaSizes = new HashMap<>();
+        mediaSizes.put(Environment.DIRECTORY_PICTURES, KILOBYTE * 2);
+        mediaSizes.put(Environment.DIRECTORY_MOVIES, KILOBYTE * 3);
+        mediaSizes.put(Environment.DIRECTORY_MUSIC, KILOBYTE * 4);
+        mediaSizes.put(Environment.DIRECTORY_DOWNLOADS, KILOBYTE * 5);
+        details.mediaSize.put(0, mediaSizes);
+        mController.setSystemSize(KILOBYTE * 6);
+        mController.onDetailsChanged(details);
+
+        assertThat(audio.getSummary().toString()).isEqualTo("4.00KB");
+        assertThat(image.getSummary().toString()).isEqualTo("5.00KB");
+        assertThat(games.getSummary().toString()).isEqualTo("0");
+        assertThat(apps.getSummary().toString()).isEqualTo("1.00KB");
+        assertThat(system.getSummary().toString()).isEqualTo("6.00KB");
+        assertThat(files.getSummary().toString()).isEqualTo("5.00KB");
     }
 }
\ No newline at end of file
diff --git a/tests/robotests/src/com/android/settings/deviceinfo/storage/StorageSummaryDonutPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/deviceinfo/storage/StorageSummaryDonutPreferenceControllerTest.java
new file mode 100644
index 0000000..fa0851e
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/deviceinfo/storage/StorageSummaryDonutPreferenceControllerTest.java
@@ -0,0 +1,120 @@
+/*
+ * Copyright (C) 2017 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.deviceinfo.storage;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.Mockito.when;
+
+import android.content.Context;
+import android.os.storage.VolumeInfo;
+import android.provider.Settings;
+import android.support.v7.preference.PreferenceViewHolder;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.widget.LinearLayout;
+import android.widget.TextView;
+
+import com.android.settings.R;
+import com.android.settings.SettingsRobolectricTestRunner;
+import com.android.settings.TestConfig;
+import com.android.settingslib.deviceinfo.StorageVolumeProvider;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mockito;
+import org.robolectric.RuntimeEnvironment;
+import org.robolectric.annotation.Config;
+
+import java.io.File;
+
+@RunWith(SettingsRobolectricTestRunner.class)
+@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
+public class StorageSummaryDonutPreferenceControllerTest {
+    private Context mContext;
+    private StorageSummaryDonutPreferenceController mController;
+    private StorageSummaryDonutPreference mPreference;
+    private PreferenceViewHolder mHolder;
+
+    @Before
+    public void setUp() throws Exception {
+        mContext = RuntimeEnvironment.application;
+        mController = new StorageSummaryDonutPreferenceController(mContext);
+        mPreference = new StorageSummaryDonutPreference(mContext);
+
+        LayoutInflater inflater = LayoutInflater.from(mContext);
+        final View view =
+                inflater.inflate(
+                        mPreference.getLayoutResource(), new LinearLayout(mContext), false);
+
+        mHolder = new PreferenceViewHolder(view);
+    }
+
+    @Test
+    public void testEmpty() throws Exception {
+        mController.updateBytes(0, 0);
+        mController.updateState(mPreference);
+
+        assertThat(mPreference.getTitle().toString()).isEqualTo("0.00B used");
+        assertThat(mPreference.getSummary().toString()).isEqualTo("0.00B free");
+    }
+
+    @Test
+    public void testUsedStorage() throws Exception {
+        mController.updateBytes(1024, 1024 * 10);
+        mController.updateState(mPreference);
+
+        assertThat(mPreference.getTitle().toString()).isEqualTo("1.00KB used");
+        assertThat(mPreference.getSummary().toString()).isEqualTo("9.00KB free");
+    }
+
+    @Test
+    public void testPopulateWithVolume() throws Exception {
+        VolumeInfo volume = Mockito.mock(VolumeInfo.class);
+        File file = Mockito.mock(File.class);
+        StorageVolumeProvider svp = Mockito.mock(StorageVolumeProvider.class);
+        when(volume.getPath()).thenReturn(file);
+        when(file.getTotalSpace()).thenReturn(1024L * 10);
+        when(file.getFreeSpace()).thenReturn(1024L);
+        when(svp.getPrimaryStorageSize()).thenReturn(1024L * 10);
+
+        mController.updateSizes(svp, volume);
+        mController.updateState(mPreference);
+
+        assertThat(mPreference.getTitle().toString()).isEqualTo("9.00KB used");
+        assertThat(mPreference.getSummary().toString()).isEqualTo("1.00KB free");
+    }
+
+    @Test
+    public void testAutomaticStorageManagerLabelOff() throws Exception {
+        mPreference.onBindViewHolder(mHolder);
+        TextView asmTextView = (TextView) mHolder.findViewById(R.id.storage_manager_indicator);
+        assertThat(asmTextView.getText().toString()).isEqualTo("Storage Manager: OFF");
+    }
+
+    @Test
+    public void testAutomaticStorageManagerLabelOn() throws Exception {
+        Settings.Secure.putInt(mContext.getContentResolver(),
+                Settings.Secure.AUTOMATIC_STORAGE_MANAGER_ENABLED, 1);
+
+        mPreference.onBindViewHolder(mHolder);
+
+        TextView asmTextView = (TextView) mHolder.findViewById(R.id.storage_manager_indicator);
+        assertThat(asmTextView.getText().toString()).isEqualTo("Storage Manager: ON");
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/enterprise/AlwaysOnVpnManagedProfilePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/enterprise/AlwaysOnVpnManagedProfilePreferenceControllerTest.java
new file mode 100644
index 0000000..a52e049
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/enterprise/AlwaysOnVpnManagedProfilePreferenceControllerTest.java
@@ -0,0 +1,89 @@
+/*
+ * Copyright (C) 2017 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.enterprise;
+
+import android.content.Context;
+import android.support.v7.preference.Preference;
+
+import com.android.settings.SettingsRobolectricTestRunner;
+import com.android.settings.TestConfig;
+import com.android.settings.testutils.FakeFeatureFactory;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Answers;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.robolectric.annotation.Config;
+
+import static com.google.common.truth.Truth.assertThat;
+import static org.mockito.Mockito.when;
+
+/**
+ * Tests for {@link AlwaysOnVpnManagedProfilePreferenceController}.
+ */
+@RunWith(SettingsRobolectricTestRunner.class)
+@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
+public final class AlwaysOnVpnManagedProfilePreferenceControllerTest {
+
+    @Mock(answer = Answers.RETURNS_DEEP_STUBS)
+    private Context mContext;
+    private FakeFeatureFactory mFeatureFactory;
+
+    private AlwaysOnVpnManagedProfilePreferenceController mController;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        FakeFeatureFactory.setupForTest(mContext);
+        mFeatureFactory = (FakeFeatureFactory) FakeFeatureFactory.getFactory(mContext);
+        mController = new AlwaysOnVpnManagedProfilePreferenceController(mContext);
+    }
+
+    @Test
+    public void testUpdateState() {
+        final Preference preference = new Preference(mContext, null, 0, 0);
+        preference.setVisible(true);
+
+        when(mFeatureFactory.enterprisePrivacyFeatureProvider.isAlwaysOnVpnSetInManagedProfile())
+                .thenReturn(false);
+        mController.updateState(preference);
+        assertThat(preference.isVisible()).isFalse();
+
+        when(mFeatureFactory.enterprisePrivacyFeatureProvider.isAlwaysOnVpnSetInManagedProfile())
+                .thenReturn(true);
+        mController.updateState(preference);
+        assertThat(preference.isVisible()).isTrue();
+    }
+
+    @Test
+    public void testIsAvailable() {
+        assertThat(mController.isAvailable()).isTrue();
+    }
+
+    @Test
+    public void testHandlePreferenceTreeClick() {
+        assertThat(mController.handlePreferenceTreeClick(new Preference(mContext, null, 0, 0)))
+                .isFalse();
+    }
+
+    @Test
+    public void testGetPreferenceKey() {
+        assertThat(mController.getPreferenceKey()).isEqualTo("always_on_vpn_managed_profile");
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/enterprise/AlwaysOnVpnPrimaryUserPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/enterprise/AlwaysOnVpnPrimaryUserPreferenceControllerTest.java
new file mode 100644
index 0000000..d504b84
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/enterprise/AlwaysOnVpnPrimaryUserPreferenceControllerTest.java
@@ -0,0 +1,113 @@
+/*
+ * Copyright (C) 2017 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.enterprise;
+
+import android.content.Context;
+import com.android.settings.R;
+import android.support.v7.preference.Preference;
+
+import com.android.settings.SettingsRobolectricTestRunner;
+import com.android.settings.TestConfig;
+import com.android.settings.testutils.FakeFeatureFactory;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Answers;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.robolectric.annotation.Config;
+
+import static com.google.common.truth.Truth.assertThat;
+import static org.mockito.Mockito.when;
+
+/**
+ * Tests for {@link AlwaysOnVpnPrimaryUserPreferenceController}.
+ */
+@RunWith(SettingsRobolectricTestRunner.class)
+@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
+public final class AlwaysOnVpnPrimaryUserPreferenceControllerTest {
+
+    private final String VPN_SET_DEVICE = "VPN set";
+    private final String VPN_SET_PERSONAL = "VPN set in personal profile";
+
+    @Mock(answer = Answers.RETURNS_DEEP_STUBS)
+    private Context mContext;
+    private FakeFeatureFactory mFeatureFactory;
+
+    private AlwaysOnVpnPrimaryUserPreferenceController mController;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        FakeFeatureFactory.setupForTest(mContext);
+        mFeatureFactory = (FakeFeatureFactory) FakeFeatureFactory.getFactory(mContext);
+        mController = new AlwaysOnVpnPrimaryUserPreferenceController(mContext);
+        when(mContext.getString(R.string.enterprise_privacy_always_on_vpn_device))
+                .thenReturn(VPN_SET_DEVICE);
+        when(mContext.getString(R.string.enterprise_privacy_always_on_vpn_personal))
+                .thenReturn(VPN_SET_PERSONAL);
+    }
+
+    @Test
+    public void testUpdateState() {
+        final Preference preference = new Preference(mContext, null, 0, 0);
+        preference.setVisible(true);
+
+        when(mFeatureFactory.enterprisePrivacyFeatureProvider.isInCompMode()).thenReturn(false);
+
+        when(mFeatureFactory.enterprisePrivacyFeatureProvider.isAlwaysOnVpnSetInPrimaryUser())
+                .thenReturn(false);
+        mController.updateState(preference);
+        assertThat(preference.isVisible()).isFalse();
+
+        when(mFeatureFactory.enterprisePrivacyFeatureProvider.isAlwaysOnVpnSetInPrimaryUser())
+                .thenReturn(true);
+        mController.updateState(preference);
+        assertThat(preference.isVisible()).isTrue();
+        assertThat(preference.getTitle()).isEqualTo(VPN_SET_DEVICE);
+
+        when(mFeatureFactory.enterprisePrivacyFeatureProvider.isInCompMode()).thenReturn(true);
+
+        when(mFeatureFactory.enterprisePrivacyFeatureProvider.isAlwaysOnVpnSetInPrimaryUser())
+                .thenReturn(false);
+        mController.updateState(preference);
+        assertThat(preference.isVisible()).isFalse();
+
+        when(mFeatureFactory.enterprisePrivacyFeatureProvider.isAlwaysOnVpnSetInPrimaryUser())
+                .thenReturn(true);
+        mController.updateState(preference);
+        assertThat(preference.isVisible()).isTrue();
+        assertThat(preference.getTitle()).isEqualTo(VPN_SET_PERSONAL);
+    }
+
+    @Test
+    public void testIsAvailable() {
+        assertThat(mController.isAvailable()).isTrue();
+    }
+
+    @Test
+    public void testHandlePreferenceTreeClick() {
+        assertThat(mController.handlePreferenceTreeClick(new Preference(mContext, null, 0, 0)))
+                .isFalse();
+    }
+
+    @Test
+    public void testGetPreferenceKey() {
+        assertThat(mController.getPreferenceKey()).isEqualTo("always_on_vpn_primary_user");
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/enterprise/EnterpriseInstalledPackagesPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/enterprise/EnterpriseInstalledPackagesPreferenceControllerTest.java
new file mode 100644
index 0000000..9a46e14
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/enterprise/EnterpriseInstalledPackagesPreferenceControllerTest.java
@@ -0,0 +1,113 @@
+/*
+ * Copyright (C) 2017 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.enterprise;
+
+import android.content.Context;
+import android.content.pm.PackageManager;
+import android.content.res.Resources;
+import android.support.v7.preference.Preference;
+
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
+import com.android.settings.R;
+import com.android.settings.SettingsRobolectricTestRunner;
+import com.android.settings.TestConfig;
+import com.android.settings.applications.ApplicationFeatureProvider;
+import com.android.settings.testutils.FakeFeatureFactory;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Answers;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.mockito.invocation.InvocationOnMock;
+import org.mockito.stubbing.Answer;
+import org.robolectric.annotation.Config;
+
+import static com.google.common.truth.Truth.assertThat;
+import static org.mockito.Mockito.anyObject;
+import static org.mockito.Mockito.doAnswer;
+import static org.mockito.Mockito.eq;
+import static org.mockito.Mockito.when;
+
+/**
+ * Tests for {@link EnterpriseInstalledPackagesPreferenceController}.
+ */
+@RunWith(SettingsRobolectricTestRunner.class)
+@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
+public final class EnterpriseInstalledPackagesPreferenceControllerTest {
+
+    @Mock(answer = Answers.RETURNS_DEEP_STUBS)
+    private Context mContext;
+    private FakeFeatureFactory mFeatureFactory;
+
+    private EnterpriseInstalledPackagesPreferenceController mController;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        FakeFeatureFactory.setupForTest(mContext);
+        mFeatureFactory = (FakeFeatureFactory) FakeFeatureFactory.getFactory(mContext);
+        mController = new EnterpriseInstalledPackagesPreferenceController(mContext);
+    }
+
+    private void setNumberOfEnterpriseInstalledPackages(int number) {
+        doAnswer(new Answer() {
+            public Object answer(InvocationOnMock invocation) {
+                ((ApplicationFeatureProvider.NumberOfInstalledAppsCallback)
+                        invocation.getArguments()[1]).onNumberOfInstalledAppsResult(number);
+                return null;
+            }}).when(mFeatureFactory.applicationFeatureProvider)
+                    .calculateNumberOfInstalledApps(eq(PackageManager.INSTALL_REASON_POLICY),
+                            anyObject());
+    }
+
+    @Test
+    public void testUpdateState() {
+        final Preference preference = new Preference(mContext, null, 0, 0);
+        preference.setVisible(true);
+
+        setNumberOfEnterpriseInstalledPackages(20);
+        when(mContext.getResources().getQuantityString(
+                R.plurals.enterprise_privacy_number_enterprise_installed_packages, 20, 20))
+                .thenReturn("20 packages");
+        mController.updateState(preference);
+        assertThat(preference.getTitle()).isEqualTo("20 packages");
+        assertThat(preference.isVisible()).isTrue();
+
+        setNumberOfEnterpriseInstalledPackages(0);
+        mController.updateState(preference);
+        assertThat(preference.isVisible()).isFalse();
+    }
+
+    @Test
+    public void testIsAvailable() {
+        assertThat(mController.isAvailable()).isTrue();
+    }
+
+    @Test
+    public void testHandlePreferenceTreeClick() {
+        assertThat(mController.handlePreferenceTreeClick(new Preference(mContext, null, 0, 0)))
+                .isFalse();
+    }
+
+    @Test
+    public void testGetPreferenceKey() {
+        assertThat(mController.getPreferenceKey())
+                .isEqualTo("number_enterprise_installed_packages");
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/enterprise/EnterprisePrivacyFeatureProviderImplTest.java b/tests/robotests/src/com/android/settings/enterprise/EnterprisePrivacyFeatureProviderImplTest.java
index 9688c12..be1296c 100644
--- a/tests/robotests/src/com/android/settings/enterprise/EnterprisePrivacyFeatureProviderImplTest.java
+++ b/tests/robotests/src/com/android/settings/enterprise/EnterprisePrivacyFeatureProviderImplTest.java
@@ -17,12 +17,16 @@
 package com.android.settings.enterprise;
 
 import android.content.ComponentName;
-import android.content.Context;
 import android.content.pm.PackageManager;
+import android.content.pm.UserInfo;
+import android.net.ProxyInfo;
+import android.os.UserHandle;
+import android.os.UserManager;
 
 import com.android.settings.SettingsRobolectricTestRunner;
 import com.android.settings.TestConfig;
 import com.android.settings.applications.PackageManagerWrapper;
+import com.android.settings.vpn2.ConnectivityManagerWrapper;
 
 import org.junit.Before;
 import org.junit.Test;
@@ -31,7 +35,9 @@
 import org.mockito.MockitoAnnotations;
 import org.robolectric.annotation.Config;
 
+import java.util.ArrayList;
 import java.util.Date;
+import java.util.List;
 
 import static com.google.common.truth.Truth.assertThat;
 import static org.mockito.Mockito.when;
@@ -45,9 +51,16 @@
 
     private final ComponentName DEVICE_OWNER = new ComponentName("dummy", "component");
     private final Date TIMESTAMP = new Date(2011, 11, 11);
+    private final int MY_USER_ID = UserHandle.myUserId();
+    private final int MANAGED_PROFILE_USER_ID = MY_USER_ID + 1;
+    private final String VPN_PACKAGE_ID = "com.example.vpn";
+
+    private List<UserInfo> mProfiles = new ArrayList();
 
     private @Mock DevicePolicyManagerWrapper mDevicePolicyManager;
     private @Mock PackageManagerWrapper mPackageManager;
+    private @Mock UserManager mUserManager;
+    private @Mock ConnectivityManagerWrapper mConnectivityManger;
 
     private EnterprisePrivacyFeatureProvider mProvider;
 
@@ -57,8 +70,11 @@
 
         when(mPackageManager.hasSystemFeature(PackageManager.FEATURE_DEVICE_ADMIN))
                 .thenReturn(true);
+        when(mUserManager.getProfiles(MY_USER_ID)).thenReturn(mProfiles);
+        mProfiles.add(new UserInfo(MY_USER_ID, "", "", 0 /* flags */));
 
-        mProvider = new EnterprisePrivacyFeatureProviderImpl(mDevicePolicyManager, mPackageManager);
+        mProvider = new EnterprisePrivacyFeatureProviderImpl(mDevicePolicyManager, mPackageManager,
+                mUserManager, mConnectivityManger);
     }
 
     @Test
@@ -71,6 +87,15 @@
     }
 
     @Test
+    public void testIsInCompMode() {
+        when(mDevicePolicyManager.getDeviceOwnerComponentOnAnyUser()).thenReturn(DEVICE_OWNER);
+        assertThat(mProvider.isInCompMode()).isFalse();
+
+        mProfiles.add(new UserInfo(MANAGED_PROFILE_USER_ID, "", "", UserInfo.FLAG_MANAGED_PROFILE));
+        assertThat(mProvider.isInCompMode()).isTrue();
+    }
+
+    @Test
     public void testGetLastSecurityLogRetrievalTime() {
         when(mDevicePolicyManager.getLastSecurityLogRetrievalTime()).thenReturn(-1L);
         assertThat(mProvider.getLastSecurityLogRetrievalTime()).isNull();
@@ -97,4 +122,39 @@
         when(mDevicePolicyManager.getLastNetworkLogRetrievalTime()).thenReturn(TIMESTAMP.getTime());
         assertThat(mProvider.getLastNetworkLogRetrievalTime()).isEqualTo(TIMESTAMP);
     }
+
+    @Test
+    public void testIsAlwaysOnVpnSetInPrimaryUser() {
+        when(mConnectivityManger.getAlwaysOnVpnPackageForUser(MY_USER_ID)).thenReturn(null);
+        assertThat(mProvider.isAlwaysOnVpnSetInPrimaryUser()).isFalse();
+
+        when(mConnectivityManger.getAlwaysOnVpnPackageForUser(MY_USER_ID))
+                .thenReturn(VPN_PACKAGE_ID);
+        assertThat(mProvider.isAlwaysOnVpnSetInPrimaryUser()).isTrue();
+    }
+
+    @Test
+    public void testIsAlwaysOnVpnSetInManagedProfileProfile() {
+        assertThat(mProvider.isAlwaysOnVpnSetInManagedProfile()).isFalse();
+
+        mProfiles.add(new UserInfo(MANAGED_PROFILE_USER_ID, "", "", UserInfo.FLAG_MANAGED_PROFILE));
+
+        when(mConnectivityManger.getAlwaysOnVpnPackageForUser(MANAGED_PROFILE_USER_ID))
+                .thenReturn(null);
+        assertThat(mProvider.isAlwaysOnVpnSetInManagedProfile()).isFalse();
+
+        when(mConnectivityManger.getAlwaysOnVpnPackageForUser(MANAGED_PROFILE_USER_ID))
+                .thenReturn(VPN_PACKAGE_ID);
+        assertThat(mProvider.isAlwaysOnVpnSetInManagedProfile()).isTrue();
+    }
+
+    @Test
+    public void testIsGlobalHttpProxySet() {
+        when(mConnectivityManger.getGlobalProxy()).thenReturn(null);
+        assertThat(mProvider.isGlobalHttpProxySet()).isFalse();
+
+        when(mConnectivityManger.getGlobalProxy()).thenReturn(
+                ProxyInfo.buildDirectProxy("localhost", 123));
+        assertThat(mProvider.isGlobalHttpProxySet()).isTrue();
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/enterprise/EnterprisePrivacySettingsTest.java b/tests/robotests/src/com/android/settings/enterprise/EnterprisePrivacySettingsTest.java
index f6e18c6..5e4e08f 100644
--- a/tests/robotests/src/com/android/settings/enterprise/EnterprisePrivacySettingsTest.java
+++ b/tests/robotests/src/com/android/settings/enterprise/EnterprisePrivacySettingsTest.java
@@ -73,10 +73,17 @@
         final List<PreferenceController> controllers = mSettings.getPreferenceControllers(
                 ShadowApplication.getInstance().getApplicationContext());
         assertThat(controllers).isNotNull();
-        assertThat(controllers.size()).isEqualTo(4);
+        assertThat(controllers.size()).isEqualTo(8);
         assertThat(controllers.get(0)).isInstanceOf(InstalledPackagesPreferenceController.class);
         assertThat(controllers.get(1)).isInstanceOf(NetworkLogsPreferenceController.class);
         assertThat(controllers.get(2)).isInstanceOf(BugReportsPreferenceController.class);
         assertThat(controllers.get(3)).isInstanceOf(SecurityLogsPreferenceController.class);
+        assertThat(controllers.get(4)).isInstanceOf(
+                AlwaysOnVpnPrimaryUserPreferenceController.class);
+        assertThat(controllers.get(5)).isInstanceOf(
+                AlwaysOnVpnManagedProfilePreferenceController.class);
+        assertThat(controllers.get(6)).isInstanceOf(GlobalHttpProxyPreferenceController.class);
+        assertThat(controllers.get(7)).isInstanceOf(
+                EnterpriseInstalledPackagesPreferenceController.class);
     }
 }
diff --git a/tests/robotests/src/com/android/settings/enterprise/GlobalHttpProxyPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/enterprise/GlobalHttpProxyPreferenceControllerTest.java
new file mode 100644
index 0000000..d505bad
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/enterprise/GlobalHttpProxyPreferenceControllerTest.java
@@ -0,0 +1,88 @@
+/*
+ * Copyright (C) 2017 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.enterprise;
+
+import android.content.Context;
+import android.support.v7.preference.Preference;
+
+import com.android.settings.SettingsRobolectricTestRunner;
+import com.android.settings.TestConfig;
+import com.android.settings.testutils.FakeFeatureFactory;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Answers;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.robolectric.annotation.Config;
+
+import static com.google.common.truth.Truth.assertThat;
+import static org.mockito.Mockito.when;
+
+/**
+ * Tests for {@link GlobalHttpProxyPreferenceController}.
+ */
+@RunWith(SettingsRobolectricTestRunner.class)
+@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
+public final class GlobalHttpProxyPreferenceControllerTest {
+    @Mock(answer = Answers.RETURNS_DEEP_STUBS)
+    private Context mContext;
+    private FakeFeatureFactory mFeatureFactory;
+
+    private GlobalHttpProxyPreferenceController mController;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        FakeFeatureFactory.setupForTest(mContext);
+        mFeatureFactory = (FakeFeatureFactory) FakeFeatureFactory.getFactory(mContext);
+        mController = new GlobalHttpProxyPreferenceController(mContext);
+    }
+
+    @Test
+    public void testUpdateState() {
+        final Preference preference = new Preference(mContext, null, 0, 0);
+        preference.setVisible(true);
+
+        when(mFeatureFactory.enterprisePrivacyFeatureProvider.isGlobalHttpProxySet())
+                .thenReturn(false);
+        mController.updateState(preference);
+        assertThat(preference.isVisible()).isFalse();
+
+        when(mFeatureFactory.enterprisePrivacyFeatureProvider.isGlobalHttpProxySet())
+                .thenReturn(true);
+        mController.updateState(preference);
+        assertThat(preference.isVisible()).isTrue();
+    }
+
+    @Test
+    public void testIsAvailable() {
+        assertThat(mController.isAvailable()).isTrue();
+    }
+
+    @Test
+    public void testHandlePreferenceTreeClick() {
+        assertThat(mController.handlePreferenceTreeClick(new Preference(mContext, null, 0, 0)))
+                .isFalse();
+    }
+
+    @Test
+    public void testGetPreferenceKey() {
+        assertThat(mController.getPreferenceKey()).isEqualTo("global_http_proxy");
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/enterprise/InstalledPackagesPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/enterprise/InstalledPackagesPreferenceControllerTest.java
index 79db853..5a0da66 100644
--- a/tests/robotests/src/com/android/settings/enterprise/InstalledPackagesPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/enterprise/InstalledPackagesPreferenceControllerTest.java
@@ -40,6 +40,7 @@
 import static com.google.common.truth.Truth.assertThat;
 import static org.mockito.Mockito.anyObject;
 import static org.mockito.Mockito.doAnswer;
+import static org.mockito.Mockito.eq;
 import static org.mockito.Mockito.when;
 
 /**
@@ -69,10 +70,11 @@
         doAnswer(new Answer() {
             public Object answer(InvocationOnMock invocation) {
                 ((ApplicationFeatureProvider.NumberOfInstalledAppsCallback)
-                        invocation.getArguments()[0]).onNumberOfInstalledAppsResult(20);
+                        invocation.getArguments()[1]).onNumberOfInstalledAppsResult(20);
                 return null;
             }}).when(mFeatureFactory.applicationFeatureProvider)
-                    .calculateNumberOfInstalledApps(anyObject());
+                    .calculateNumberOfInstalledApps(
+                            eq(ApplicationFeatureProvider.IGNORE_INSTALL_REASON), anyObject());
         when(mContext.getResources().getQuantityString(
                 R.plurals.enterprise_privacy_number_installed_packages, 20, 20))
                 .thenReturn("20 packages");
diff --git a/tests/robotests/src/com/android/settings/inputmethod/SpellCheckerPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/inputmethod/SpellCheckerPreferenceControllerTest.java
index 78c0590..8ca7d64 100644
--- a/tests/robotests/src/com/android/settings/inputmethod/SpellCheckerPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/inputmethod/SpellCheckerPreferenceControllerTest.java
@@ -31,8 +31,8 @@
 import org.mockito.Answers;
 import org.mockito.Mock;
 import org.mockito.MockitoAnnotations;
+import org.robolectric.RuntimeEnvironment;
 import org.robolectric.annotation.Config;
-import org.robolectric.shadows.ShadowApplication;
 
 import static com.google.common.truth.Truth.assertThat;
 import static org.mockito.Mockito.mock;
@@ -53,7 +53,7 @@
     @Before
     public void setUp() {
         MockitoAnnotations.initMocks(this);
-        mAppContext = ShadowApplication.getInstance().getApplicationContext();
+        mAppContext = RuntimeEnvironment.application;
         when(mContext.getSystemService(Context.TEXT_SERVICES_MANAGER_SERVICE))
                 .thenReturn(mTextServicesManager);
         mPreference = new Preference(mAppContext);
@@ -76,7 +76,6 @@
         when(mTextServicesManager.isSpellCheckerEnabled()).thenReturn(false);
 
         mController.updateState(mPreference);
-
         assertThat(mPreference.getSummary())
                 .isEqualTo(mAppContext.getString(R.string.switch_off_text));
     }
diff --git a/tests/robotests/src/com/android/settings/search/DatabaseResultLoaderTest.java b/tests/robotests/src/com/android/settings/search/DatabaseResultLoaderTest.java
new file mode 100644
index 0000000..c592aef
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/search/DatabaseResultLoaderTest.java
@@ -0,0 +1,246 @@
+/*
+ * Copyright (C) 2017 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+package com.android.settings.search;
+
+import android.content.ContentValues;
+import android.content.Context;
+import android.database.sqlite.SQLiteDatabase;
+import com.android.settings.SettingsRobolectricTestRunner;
+import com.android.settings.TestConfig;
+import com.android.settings.search2.DatabaseIndexingUtils;
+import com.android.settings.search2.DatabaseResultLoader;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.robolectric.RuntimeEnvironment;
+import org.robolectric.annotation.Config;
+
+import java.lang.reflect.Field;
+
+import static com.google.common.truth.Truth.assertThat;
+
+@RunWith(SettingsRobolectricTestRunner.class)
+@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
+public class DatabaseResultLoaderTest {
+    private Context mContext;
+
+    private DatabaseResultLoader loader;
+
+    SQLiteDatabase mDb;
+
+    @Before
+    public void setUp() {
+        mContext = RuntimeEnvironment.application;
+        mDb = IndexDatabaseHelper.getInstance(mContext).getWritableDatabase();
+        setUpDb();
+    }
+
+    @After
+    public void cleanUp() {
+        Field instance;
+        Class clazz = IndexDatabaseHelper.class;
+        try {
+            instance = clazz.getDeclaredField("sSingleton");
+            instance.setAccessible(true);
+            instance.set(null, null);
+        } catch (Exception e) {
+            throw new RuntimeException();
+        }
+    }
+
+    @Test
+    public void testMatchTitle() {
+        loader = new DatabaseResultLoader(mContext, "title");
+        assertThat(loader.loadInBackground().size()).isEqualTo(3);
+    }
+
+    @Test
+    public void testMatchSummary() {
+        loader = new DatabaseResultLoader(mContext, "summary");
+        assertThat(loader.loadInBackground().size()).isEqualTo(3);
+    }
+
+    @Test
+    public void testMatchKeywords() {
+        loader = new DatabaseResultLoader(mContext, "keywords");
+        assertThat(loader.loadInBackground().size()).isEqualTo(3);
+    }
+
+    @Test
+    public void testMatchEntries() {
+        loader = new DatabaseResultLoader(mContext, "entries");
+        assertThat(loader.loadInBackground().size()).isEqualTo(3);
+    }
+
+    @Test
+    public void testSpecialCaseWord_MatchesNonPrefix() {
+        insertSpecialCase("Data usage");
+        loader = new DatabaseResultLoader(mContext, "usage");
+        assertThat(loader.loadInBackground().size()).isEqualTo(1);
+    }
+
+    @Test
+    public void testSpecialCaseSpace_Matches() {
+        insertSpecialCase("space");
+        loader = new DatabaseResultLoader(mContext, " space ");
+        assertThat(loader.loadInBackground().size()).isEqualTo(1);
+    }
+
+    @Test
+    public void testSpecialCaseDash_MatchesWordNoDash() {
+        insertSpecialCase("wi-fi calling");
+        loader = new DatabaseResultLoader(mContext, "wifi");
+        assertThat(loader.loadInBackground().size()).isEqualTo(1);
+    }
+
+    @Test
+    public void testSpecialCaseDash_MatchesWordWithDash() {
+        insertSpecialCase("priorités seulment");
+        loader = new DatabaseResultLoader(mContext, "priorités");
+        assertThat(loader.loadInBackground().size()).isEqualTo(1);
+    }
+
+    @Test
+    public void testSpecialCaseDash_MatchesWordWithoutDash() {
+        insertSpecialCase("priorités seulment");
+        loader = new DatabaseResultLoader(mContext, "priorites");
+        assertThat(loader.loadInBackground().size()).isEqualTo(1);
+    }
+
+    @Test
+    public void testSpecialCaseDash_MatchesEntireQueryWithoutDash() {
+        insertSpecialCase("wi-fi calling");
+        loader = new DatabaseResultLoader(mContext, "wifi calling");
+        assertThat(loader.loadInBackground().size()).isEqualTo(1);
+    }
+
+    private void insertSpecialCase(String specialCase) {
+        String normalized = DatabaseIndexingUtils.normalizeHyphen(specialCase);
+        normalized = DatabaseIndexingUtils.normalizeString(normalized);
+
+        ContentValues values = new ContentValues();
+        values.put(IndexDatabaseHelper.IndexColumns.DOCID, 0);
+        values.put(IndexDatabaseHelper.IndexColumns.LOCALE, "en-us");
+        values.put(IndexDatabaseHelper.IndexColumns.DATA_RANK, 1);
+        values.put(IndexDatabaseHelper.IndexColumns.DATA_TITLE, specialCase);
+        values.put(IndexDatabaseHelper.IndexColumns.DATA_TITLE_NORMALIZED, normalized);
+        values.put(IndexDatabaseHelper.IndexColumns.DATA_SUMMARY_ON, "");
+        values.put(IndexDatabaseHelper.IndexColumns.DATA_SUMMARY_ON_NORMALIZED, "");
+        values.put(IndexDatabaseHelper.IndexColumns.DATA_SUMMARY_OFF, "");
+        values.put(IndexDatabaseHelper.IndexColumns.DATA_SUMMARY_OFF_NORMALIZED, "");
+        values.put(IndexDatabaseHelper.IndexColumns.DATA_ENTRIES, "");
+        values.put(IndexDatabaseHelper.IndexColumns.DATA_KEYWORDS, "");
+        values.put(IndexDatabaseHelper.IndexColumns.CLASS_NAME,
+                "com.android.settings.gestures.GestureSettings");
+        values.put(IndexDatabaseHelper.IndexColumns.SCREEN_TITLE, "Moves");
+        values.put(IndexDatabaseHelper.IndexColumns.INTENT_ACTION, "");
+        values.put(IndexDatabaseHelper.IndexColumns.INTENT_TARGET_PACKAGE, "");
+        values.put(IndexDatabaseHelper.IndexColumns.INTENT_TARGET_CLASS, "");
+        values.put(IndexDatabaseHelper.IndexColumns.ICON, "");
+        values.put(IndexDatabaseHelper.IndexColumns.ENABLED, "");
+        values.put(IndexDatabaseHelper.IndexColumns.DATA_KEY_REF, "gesture_double_tap_power");
+        values.put(IndexDatabaseHelper.IndexColumns.USER_ID, 0);
+        values.put(IndexDatabaseHelper.IndexColumns.PAYLOAD_TYPE, 0);
+        values.put(IndexDatabaseHelper.IndexColumns.PAYLOAD, (String) null);
+
+        mDb.replaceOrThrow(IndexDatabaseHelper.Tables.TABLE_PREFS_INDEX, null, values);
+    }
+
+    private void setUpDb() {
+        ContentValues values = new ContentValues();
+        values.put(IndexDatabaseHelper.IndexColumns.DOCID, 0);
+        values.put(IndexDatabaseHelper.IndexColumns.LOCALE, "en-us");
+        values.put(IndexDatabaseHelper.IndexColumns.DATA_RANK, 1);
+        values.put(IndexDatabaseHelper.IndexColumns.DATA_TITLE, "alpha_title");
+        values.put(IndexDatabaseHelper.IndexColumns.DATA_TITLE_NORMALIZED, "alpha title");
+        values.put(IndexDatabaseHelper.IndexColumns.DATA_SUMMARY_ON, "alpha_summary");
+        values.put(IndexDatabaseHelper.IndexColumns.DATA_SUMMARY_ON_NORMALIZED, "alpha_summary");
+        values.put(IndexDatabaseHelper.IndexColumns.DATA_SUMMARY_OFF, "alpha_summary");
+        values.put(IndexDatabaseHelper.IndexColumns.DATA_SUMMARY_OFF_NORMALIZED, "alpha_summary");
+        values.put(IndexDatabaseHelper.IndexColumns.DATA_ENTRIES, "alpha_entries");
+        values.put(IndexDatabaseHelper.IndexColumns.DATA_KEYWORDS, "alpha_keywords");
+        values.put(IndexDatabaseHelper.IndexColumns.CLASS_NAME,
+                "com.android.settings.gestures.GestureSettings");
+        values.put(IndexDatabaseHelper.IndexColumns.SCREEN_TITLE, "Moves");
+        values.put(IndexDatabaseHelper.IndexColumns.INTENT_ACTION, "");
+        values.put(IndexDatabaseHelper.IndexColumns.INTENT_TARGET_PACKAGE, "");
+        values.put(IndexDatabaseHelper.IndexColumns.INTENT_TARGET_CLASS, "");
+        values.put(IndexDatabaseHelper.IndexColumns.ICON, "");
+        values.put(IndexDatabaseHelper.IndexColumns.ENABLED, "");
+        values.put(IndexDatabaseHelper.IndexColumns.DATA_KEY_REF, "gesture_double_tap_power");
+        values.put(IndexDatabaseHelper.IndexColumns.USER_ID, 0);
+        values.put(IndexDatabaseHelper.IndexColumns.PAYLOAD_TYPE, 0);
+        values.put(IndexDatabaseHelper.IndexColumns.PAYLOAD, (String) null);
+
+        mDb.replaceOrThrow(IndexDatabaseHelper.Tables.TABLE_PREFS_INDEX, null, values);
+
+        values = new ContentValues();
+        values.put(IndexDatabaseHelper.IndexColumns.DOCID, 1);
+        values.put(IndexDatabaseHelper.IndexColumns.LOCALE, "en-us");
+        values.put(IndexDatabaseHelper.IndexColumns.DATA_RANK, 1);
+        values.put(IndexDatabaseHelper.IndexColumns.DATA_TITLE, "bravo_title");
+        values.put(IndexDatabaseHelper.IndexColumns.DATA_TITLE_NORMALIZED, "bravo title");
+        values.put(IndexDatabaseHelper.IndexColumns.DATA_SUMMARY_ON, "bravo_summary");
+        values.put(IndexDatabaseHelper.IndexColumns.DATA_SUMMARY_ON_NORMALIZED, "bravo_summary");
+        values.put(IndexDatabaseHelper.IndexColumns.DATA_SUMMARY_OFF, "bravo_summary");
+        values.put(IndexDatabaseHelper.IndexColumns.DATA_SUMMARY_OFF_NORMALIZED, "bravo_summary");
+        values.put(IndexDatabaseHelper.IndexColumns.DATA_ENTRIES, "bravo_entries");
+        values.put(IndexDatabaseHelper.IndexColumns.DATA_KEYWORDS, "bravo_keywords");
+        values.put(IndexDatabaseHelper.IndexColumns.CLASS_NAME,
+                "com.android.settings.gestures.GestureSettings");
+        values.put(IndexDatabaseHelper.IndexColumns.SCREEN_TITLE, "Moves");
+        values.put(IndexDatabaseHelper.IndexColumns.INTENT_ACTION, "");
+        values.put(IndexDatabaseHelper.IndexColumns.INTENT_TARGET_PACKAGE, "");
+        values.put(IndexDatabaseHelper.IndexColumns.INTENT_TARGET_CLASS, "");
+        values.put(IndexDatabaseHelper.IndexColumns.ICON, "");
+        values.put(IndexDatabaseHelper.IndexColumns.ENABLED, "");
+        values.put(IndexDatabaseHelper.IndexColumns.DATA_KEY_REF, "gesture_double_tap_power");
+        values.put(IndexDatabaseHelper.IndexColumns.USER_ID, 0);
+        values.put(IndexDatabaseHelper.IndexColumns.PAYLOAD_TYPE, 0);
+        values.put(IndexDatabaseHelper.IndexColumns.PAYLOAD, (String) null);
+        mDb.replaceOrThrow(IndexDatabaseHelper.Tables.TABLE_PREFS_INDEX, null, values);
+
+        values = new ContentValues();
+        values.put(IndexDatabaseHelper.IndexColumns.DOCID, 2);
+        values.put(IndexDatabaseHelper.IndexColumns.LOCALE, "en-us");
+        values.put(IndexDatabaseHelper.IndexColumns.DATA_RANK, 1);
+        values.put(IndexDatabaseHelper.IndexColumns.DATA_TITLE, "charlie_title");
+        values.put(IndexDatabaseHelper.IndexColumns.DATA_TITLE_NORMALIZED, "charlie title");
+        values.put(IndexDatabaseHelper.IndexColumns.DATA_SUMMARY_ON, "charlie_summary");
+        values.put(IndexDatabaseHelper.IndexColumns.DATA_SUMMARY_ON_NORMALIZED, "charlie_summary");
+        values.put(IndexDatabaseHelper.IndexColumns.DATA_SUMMARY_OFF, "charlie_summary");
+        values.put(IndexDatabaseHelper.IndexColumns.DATA_SUMMARY_OFF_NORMALIZED, "charlie_summary");
+        values.put(IndexDatabaseHelper.IndexColumns.DATA_ENTRIES, "charlie_entries");
+        values.put(IndexDatabaseHelper.IndexColumns.DATA_KEYWORDS, "charlie_keywords");
+        values.put(IndexDatabaseHelper.IndexColumns.CLASS_NAME,
+                "com.android.settings.gestures.GestureSettings");
+        values.put(IndexDatabaseHelper.IndexColumns.SCREEN_TITLE, "Moves");
+        values.put(IndexDatabaseHelper.IndexColumns.INTENT_ACTION, "");
+        values.put(IndexDatabaseHelper.IndexColumns.INTENT_TARGET_PACKAGE, "");
+        values.put(IndexDatabaseHelper.IndexColumns.INTENT_TARGET_CLASS, "");
+        values.put(IndexDatabaseHelper.IndexColumns.ICON, "");
+        values.put(IndexDatabaseHelper.IndexColumns.ENABLED, "");
+        values.put(IndexDatabaseHelper.IndexColumns.DATA_KEY_REF, "gesture_double_tap_power");
+        values.put(IndexDatabaseHelper.IndexColumns.USER_ID, 0);
+        values.put(IndexDatabaseHelper.IndexColumns.PAYLOAD_TYPE, 0);
+        values.put(IndexDatabaseHelper.IndexColumns.PAYLOAD, (String) null);
+
+        mDb.replaceOrThrow(IndexDatabaseHelper.Tables.TABLE_PREFS_INDEX, null, values);
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/search/DynamicIndexableContentMonitorTest.java b/tests/robotests/src/com/android/settings/search/DynamicIndexableContentMonitorTest.java
index 28fe8b0..58e9260 100644
--- a/tests/robotests/src/com/android/settings/search/DynamicIndexableContentMonitorTest.java
+++ b/tests/robotests/src/com/android/settings/search/DynamicIndexableContentMonitorTest.java
@@ -23,7 +23,6 @@
 import static org.mockito.Matchers.anyInt;
 import static org.mockito.Matchers.anyString;
 import static org.mockito.Matchers.eq;
-import static org.mockito.Mockito.atLeastOnce;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.never;
 import static org.mockito.Mockito.only;
@@ -50,6 +49,7 @@
 import android.print.PrintManager;
 import android.print.PrintServicesLoader;
 import android.printservice.PrintServiceInfo;
+import android.provider.Settings;
 import android.provider.UserDictionary;
 import android.view.inputmethod.InputMethodInfo;
 
@@ -57,7 +57,10 @@
 import com.android.settings.SettingsRobolectricTestRunner;
 import com.android.settings.TestConfig;
 import com.android.settings.accessibility.AccessibilitySettings;
+import com.android.settings.inputmethod.AvailableVirtualKeyboardFragment;
 import com.android.settings.inputmethod.InputMethodAndLanguageSettings;
+import com.android.settings.inputmethod.PhysicalKeyboardFragment;
+import com.android.settings.inputmethod.VirtualKeyboardFragment;
 import com.android.settings.print.PrintSettingsFragment;
 import com.android.settings.testutils.shadow.ShadowActivityWithLoadManager;
 import com.android.settings.testutils.shadow.ShadowContextImplWithRegisterReceiver;
@@ -69,7 +72,6 @@
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
-import org.mockito.verification.VerificationMode;
 import org.robolectric.Robolectric;
 import org.robolectric.RuntimeEnvironment;
 import org.robolectric.annotation.Config;
@@ -210,9 +212,7 @@
         mMonitor.register(mActivity, LOADER_ID, mIndex, true /* isUserUnlocked */);
 
         // Rebuild indexing should happen.
-        // CAVEAT: Currently InputMethodAndLanuageSettings may be indexed once for input devices and
-        // once for input methods.
-        verifyRebuildIndexing(InputMethodAndLanguageSettings.class, atLeastOnce());
+        verifyRebuildIndexing(PhysicalKeyboardFragment.class);
         // Input monitor should be registered to InputManager.
         final InputManager.InputDeviceListener listener = extactInputDeviceListener();
         assertThat(listener).isNotNull();
@@ -224,7 +224,7 @@
 
         mMonitor.register(mActivity, LOADER_ID, mIndex, true /* isUserUnlocked */);
 
-        verifyNoIndexing(InputMethodAndLanguageSettings.class);
+        verifyNoIndexing(PhysicalKeyboardFragment.class);
         assertThat(extactInputDeviceListener()).isEqualTo(listener);
 
         /*
@@ -234,7 +234,7 @@
 
         listener.onInputDeviceAdded(1 /* deviceId */);
 
-        verifyIncrementalIndexing(InputMethodAndLanguageSettings.class);
+        verifyIncrementalIndexing(PhysicalKeyboardFragment.class);
 
         /*
          * A device is removed.
@@ -243,7 +243,7 @@
 
         listener.onInputDeviceRemoved(2 /* deviceId */);
 
-        verifyRebuildIndexing(InputMethodAndLanguageSettings.class);
+        verifyRebuildIndexing(PhysicalKeyboardFragment.class);
 
         /*
          * A device is changed.
@@ -252,7 +252,7 @@
 
         listener.onInputDeviceChanged(3 /* deviceId */);
 
-        verifyRebuildIndexing(InputMethodAndLanguageSettings.class);
+        verifyRebuildIndexing(PhysicalKeyboardFragment.class);
     }
 
     @Test
@@ -338,9 +338,14 @@
         final PackageMonitor packageMonitor = extractPackageMonitor();
         assertThat(packageMonitor).isNotNull();
 
-        // CAVEAT: Currently InputMethodAndLanuageSettings may be indexed once for input devices and
-        // once for input methods.
-        verifyRebuildIndexing(InputMethodAndLanguageSettings.class, atLeastOnce());
+        verifyRebuildIndexing(VirtualKeyboardFragment.class);
+        verifyRebuildIndexing(AvailableVirtualKeyboardFragment.class);
+
+        final Uri enabledInputMethodsContentUri = Settings.Secure.getUriFor(
+                Settings.Secure.ENABLED_INPUT_METHODS);
+        // Content observer should be registered.
+        final ContentObserver observer = extractContentObserver(enabledInputMethodsContentUri);
+        assertThat(observer).isNotNull();
 
         /*
          * When an input method service package is installed, incremental indexing happen.
@@ -351,7 +356,8 @@
         packageMonitor.onPackageAppeared(IME_PACKAGE_1, USER_ID);
         Robolectric.flushBackgroundThreadScheduler();
 
-        verifyIncrementalIndexing(InputMethodAndLanguageSettings.class);
+        verifyIncrementalIndexing(VirtualKeyboardFragment.class);
+        verifyIncrementalIndexing(AvailableVirtualKeyboardFragment.class);
 
         /*
          * When another input method service package is installed, incremental indexing happens.
@@ -362,7 +368,8 @@
         packageMonitor.onPackageAppeared(IME_PACKAGE_2, USER_ID);
         Robolectric.flushBackgroundThreadScheduler();
 
-        verifyIncrementalIndexing(InputMethodAndLanguageSettings.class);
+        verifyIncrementalIndexing(VirtualKeyboardFragment.class);
+        verifyIncrementalIndexing(AvailableVirtualKeyboardFragment.class);
 
         /*
          * When an input method service is disabled, rebuild indexing happens.
@@ -374,7 +381,8 @@
         packageMonitor.onPackageModified(IME_PACKAGE_1);
         Robolectric.flushBackgroundThreadScheduler();
 
-        verifyRebuildIndexing(InputMethodAndLanguageSettings.class);
+        verifyRebuildIndexing(VirtualKeyboardFragment.class);
+        verifyRebuildIndexing(AvailableVirtualKeyboardFragment.class);
 
         /*
          * When an input method service is enabled, incremental indexing happens.
@@ -386,7 +394,8 @@
         packageMonitor.onPackageModified(IME_PACKAGE_1);
         Robolectric.flushBackgroundThreadScheduler();
 
-        verifyIncrementalIndexing(InputMethodAndLanguageSettings.class);
+        verifyIncrementalIndexing(VirtualKeyboardFragment.class);
+        verifyIncrementalIndexing(AvailableVirtualKeyboardFragment.class);
 
         /*
          * When an input method service package is uninstalled, rebuild indexing happens.
@@ -396,7 +405,8 @@
 
         packageMonitor.onPackageDisappeared(IME_PACKAGE_1, USER_ID);
 
-        verifyRebuildIndexing(InputMethodAndLanguageSettings.class);
+        verifyRebuildIndexing(VirtualKeyboardFragment.class);
+        verifyRebuildIndexing(AvailableVirtualKeyboardFragment.class);
 
         /*
          * When an accessibility service package is installed, nothing happens.
@@ -406,7 +416,18 @@
 
         packageMonitor.onPackageAppeared(A11Y_PACKAGE_1, USER_ID);
 
-        verifyNoIndexing(InputMethodAndLanguageSettings.class);
+        verifyNoIndexing(VirtualKeyboardFragment.class);
+        verifyNoIndexing(AvailableVirtualKeyboardFragment.class);
+
+        /*
+         * When enabled IMEs list is changed, rebuild indexing happens.
+         */
+        reset(mIndex);
+
+        observer.onChange(false /* selfChange */, enabledInputMethodsContentUri);
+
+        verifyRebuildIndexing(VirtualKeyboardFragment.class);
+        verifyRebuildIndexing(AvailableVirtualKeyboardFragment.class);
     }
 
     @Test
@@ -417,9 +438,7 @@
         final ContentObserver observer = extractContentObserver(UserDictionary.Words.CONTENT_URI);
         assertThat(observer).isNotNull();
 
-        // CAVEAT: Currently InputMethodAndLanuageSettings may be indexed once for input devices and
-        // once for input methods.
-        verifyRebuildIndexing(InputMethodAndLanguageSettings.class, atLeastOnce());
+        verifyRebuildIndexing(InputMethodAndLanguageSettings.class);
 
         /*
          * When user dictionary content is changed, rebuild indexing happens.
@@ -441,11 +460,7 @@
     }
 
     private void verifyRebuildIndexing(Class<?> indexingClass) {
-        verifyRebuildIndexing(indexingClass, times(1));
-    }
-
-    private void verifyRebuildIndexing(Class<?> indexingClass, VerificationMode verificationMode) {
-        verify(mIndex, verificationMode).updateFromClassNameResource(indexingClass.getName(),
+        verify(mIndex, times(1)).updateFromClassNameResource(indexingClass.getName(),
                 true /* rebuild */, true /* includeInSearchResults */);
         verify(mIndex, never()).updateFromClassNameResource(indexingClass.getName(),
                 false /* rebuild */, true /* includeInSearchResults */);
diff --git a/tests/robotests/src/com/android/settings/search/InlineSwitchViewHolderTest.java b/tests/robotests/src/com/android/settings/search/InlineSwitchViewHolderTest.java
index efbad2f..b8fe3fc 100644
--- a/tests/robotests/src/com/android/settings/search/InlineSwitchViewHolderTest.java
+++ b/tests/robotests/src/com/android/settings/search/InlineSwitchViewHolderTest.java
@@ -17,7 +17,6 @@
 
 package com.android.settings.search;
 
-import android.app.Fragment;
 import android.content.Context;
 import android.graphics.drawable.Drawable;
 import android.view.LayoutInflater;
@@ -28,7 +27,7 @@
 import com.android.settings.TestConfig;
 import com.android.settings.search2.InlineSwitchPayload;
 import com.android.settings.search2.InlineSwitchViewHolder;
-import com.android.settings.search2.IntentPayload;
+import com.android.settings.search2.SearchFragment;
 import com.android.settings.search2.SearchResult;
 
 import org.junit.Before;
@@ -53,7 +52,7 @@
     private static final String SUMMARY = "summary";
 
     @Mock
-    private Fragment mFragment;
+    private SearchFragment mFragment;
 
     @Mock
     private InlineSwitchPayload mPayload;
@@ -97,7 +96,7 @@
                 .addSummary(SUMMARY)
                 .addRank(1)
                 .addPayload(new InlineSwitchPayload("", 0, null))
-                .addBreadcrumbs(new ArrayList<String>())
+                .addBreadcrumbs(new ArrayList<>())
                 .addIcon(mIcon)
                 .addPayload(mPayload);
 
diff --git a/tests/robotests/src/com/android/settings/search/IntentSearchViewHolderTest.java b/tests/robotests/src/com/android/settings/search/IntentSearchViewHolderTest.java
index ed503d8..3874479 100644
--- a/tests/robotests/src/com/android/settings/search/IntentSearchViewHolderTest.java
+++ b/tests/robotests/src/com/android/settings/search/IntentSearchViewHolderTest.java
@@ -17,7 +17,6 @@
 
 package com.android.settings.search;
 
-import android.app.Fragment;
 import android.content.Context;
 import android.content.Intent;
 import android.graphics.drawable.Drawable;
@@ -29,6 +28,7 @@
 import com.android.settings.TestConfig;
 import com.android.settings.search2.IntentPayload;
 import com.android.settings.search2.IntentSearchViewHolder;
+import com.android.settings.search2.SearchFragment;
 import com.android.settings.search2.SearchResult;
 import com.android.settings.search2.SearchResult.Builder;
 
@@ -54,7 +54,7 @@
     private static final String SUMMARY = "summary";
 
     @Mock
-    private Fragment mFragment;
+    private SearchFragment mFragment;
     private IntentSearchViewHolder mHolder;
     private Drawable mIcon;
 
@@ -84,6 +84,8 @@
         assertThat(mHolder.titleView.getText()).isEqualTo(TITLE);
         assertThat(mHolder.summaryView.getText()).isEqualTo(SUMMARY);
         assertThat(mHolder.iconView.getDrawable()).isEqualTo(mIcon);
+
+        verify(mFragment).onSearchResultClicked();
         verify(mFragment).startActivity(any(Intent.class));
     }
 
@@ -93,7 +95,7 @@
                 .addSummary(SUMMARY)
                 .addRank(1)
                 .addPayload(new IntentPayload(null))
-                .addBreadcrumbs(new ArrayList<String>())
+                .addBreadcrumbs(new ArrayList<>())
                 .addIcon(mIcon);
 
         return builder.build();
diff --git a/tests/robotests/src/com/android/settings/search2/CursorToSearchResultConverterTest.java b/tests/robotests/src/com/android/settings/search2/CursorToSearchResultConverterTest.java
index 98b250d..6ad7501 100644
--- a/tests/robotests/src/com/android/settings/search2/CursorToSearchResultConverterTest.java
+++ b/tests/robotests/src/com/android/settings/search2/CursorToSearchResultConverterTest.java
@@ -22,8 +22,8 @@
 import android.content.Intent;
 import android.database.MatrixCursor;
 import android.graphics.drawable.Drawable;
-
 import android.util.ArrayMap;
+
 import com.android.settings.R;
 import com.android.settings.SettingsRobolectricTestRunner;
 import com.android.settings.SubSettings;
@@ -46,51 +46,50 @@
 @Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
 public class CursorToSearchResultConverterTest {
 
-    private CursorToSearchResultConverter mConverter;
-
-    private static final String[] COLUMNS = new String[]{"rank", "title", "summary_on",
-            "summary off", "entries", "keywords", "class name", "screen title", "icon",
-            "intent action", "target package", "target class", "enabled", "key",
-            "payload_type", "payload"};
-
-    private static final String[] TITLES = new String[]{"title1", "title2", "title3"};
-    private static final String SUMMARY = "SUMMARY";
+    private static final String ID = "id";
+    private static final String[] TITLES = {"title1", "title2", "title3"};
+    private static final String SUMMARY = "summary";
+    private static final String TARGET_PACKAGE = "a.b.c";
+    private static final String TARGET_CLASS = "a.b.c.class";
+    private static final String QUERY = "query";
+    private static final Intent INTENT = new Intent("com.android.settings");
+    private static final int ICON = R.drawable.ic_search_history;
+    private static final int BASE_RANK = 1;
     private static final int EXAMPLES = 3;
-    private static final Intent mIntent = new Intent("com.android.settings");
-    private static final int mIcon = R.drawable.ic_search_history;
 
     private Drawable mDrawable;
+    private CursorToSearchResultConverter mConverter;
 
     @Before
     public void setUp() {
         Context context = Robolectric.buildActivity(Activity.class).get();
-        mDrawable = context.getDrawable(mIcon);
-        mConverter = new CursorToSearchResultConverter(context);
+        mDrawable = context.getDrawable(ICON);
+        mConverter = new CursorToSearchResultConverter(context, QUERY);
     }
 
     @Test
     public void testParseNullResults_ReturnsNull() {
-        List<SearchResult> results = mConverter.convertCursor(null);
+        List<SearchResult> results = mConverter.convertCursor(null, BASE_RANK);
         assertThat(results).isNull();
     }
 
     @Test
     public void testParseCursor_NotNull() {
-        List<SearchResult> results = mConverter.convertCursor(getDummyCursor());
+        List<SearchResult> results = mConverter.convertCursor(getDummyCursor(), BASE_RANK);
         assertThat(results).isNotNull();
     }
 
     @Test
     public void testParseCursor_MatchesRank() {
-        List<SearchResult> results = mConverter.convertCursor(getDummyCursor());
+        List<SearchResult> results = mConverter.convertCursor(getDummyCursor(), BASE_RANK);
         for (int i = 0; i < EXAMPLES; i++) {
-            assertThat(results.get(i).rank).isEqualTo(i);
+            assertThat(results.get(i).rank).isEqualTo(BASE_RANK);
         }
     }
 
     @Test
     public void testParseCursor_MatchesTitle() {
-        List<SearchResult> results = mConverter.convertCursor(getDummyCursor());
+        List<SearchResult> results = mConverter.convertCursor(getDummyCursor(), BASE_RANK);
         for (int i = 0; i < EXAMPLES; i++) {
             assertThat(results.get(i).title).isEqualTo(TITLES[i]);
         }
@@ -98,7 +97,7 @@
 
     @Test
     public void testParseCursor_MatchesSummary() {
-        List<SearchResult> results = mConverter.convertCursor(getDummyCursor());
+        List<SearchResult> results = mConverter.convertCursor(getDummyCursor(), BASE_RANK);
         for (int i = 0; i < EXAMPLES; i++) {
             assertThat(results.get(i).summary).isEqualTo(SUMMARY);
         }
@@ -106,9 +105,10 @@
 
     @Test
     public void testParseCursor_MatchesIcon() {
-        List<SearchResult> results = mConverter.convertCursor(getDummyCursor());
+        List<SearchResult> results = mConverter.convertCursor(getDummyCursor(), BASE_RANK);
         for (int i = 0; i < EXAMPLES; i++) {
             Drawable resultDrawable = results.get(i).icon;
+            assertThat(resultDrawable).isNotNull();
             assertThat(resultDrawable.toString()).isEqualTo(mDrawable.toString());
         }
     }
@@ -116,7 +116,7 @@
     @Test
     public void testParseCursor_NoIcon() {
         List<SearchResult> results = mConverter.convertCursor(
-                getDummyCursor(false /* hasIcon */));
+                getDummyCursor(false /* hasIcon */), BASE_RANK);
         for (int i = 0; i < EXAMPLES; i++) {
             Drawable resultDrawable = results.get(i).icon;
             assertThat(resultDrawable).isNull();
@@ -125,7 +125,7 @@
 
     @Test
     public void testParseCursor_MatchesPayloadType() {
-        List<SearchResult> results = mConverter.convertCursor(getDummyCursor());
+        List<SearchResult> results = mConverter.convertCursor(getDummyCursor(), BASE_RANK);
         ResultPayload payload;
         for (int i = 0; i < EXAMPLES; i++) {
             payload = results.get(i).payload;
@@ -135,27 +135,24 @@
 
     @Test
     public void testParseCursor_MatchesIntentForSubSettings() {
-        MatrixCursor cursor = new MatrixCursor(COLUMNS);
+        MatrixCursor cursor = new MatrixCursor(DatabaseResultLoader.SELECT_COLUMNS);
         final String BLANK = "";
         cursor.addRow(new Object[]{
-                0,       // rank
-                TITLES[0],
-                SUMMARY,
+                ID,      // Doc ID
+                TITLES[0], // Title
+                SUMMARY, // Summary on
                 SUMMARY, // summary off
-                BLANK,   // entries
-                BLANK,   // Keywords
                 GestureSettings.class.getName(),
                 BLANK,   // screen title
                 null,    // icon
                 BLANK,   // action
                 null,    // target package
                 BLANK,   // target class
-                BLANK,   // enabled
-                BLANK,   // key
+                BLANK,   // Key
                 0,       // Payload Type
                 null     // Payload
         });
-        List<SearchResult> results = mConverter.convertCursor(cursor);
+        List<SearchResult> results = mConverter.convertCursor(cursor, BASE_RANK);
         IntentPayload payload = (IntentPayload) results.get(0).payload;
         Intent intent = payload.intent;
         assertThat(intent.getComponent().getClassName()).isEqualTo(SubSettings.class.getName());
@@ -163,18 +160,44 @@
 
     @Test
     public void testParseCursor_MatchesIntentPayload() {
-        List<SearchResult> results = mConverter.convertCursor(getDummyCursor());
+        List<SearchResult> results = mConverter.convertCursor(getDummyCursor(), BASE_RANK);
         IntentPayload payload;
         for (int i = 0; i < EXAMPLES; i++) {
             payload = (IntentPayload) results.get(i).payload;
             Intent intent = payload.intent;
-            assertThat(intent.getAction()).isEqualTo(mIntent.getAction());
+            assertThat(intent.getAction()).isEqualTo(INTENT.getAction());
         }
     }
 
     @Test
+    public void testParseCursor_MatchesIntentPayloadForExternalApps() {
+        MatrixCursor cursor = new MatrixCursor(DatabaseResultLoader.SELECT_COLUMNS);
+        cursor.addRow(new Object[]{
+                ID,      // Doc ID
+                TITLES[0], // Title
+                SUMMARY, // Summary on
+                SUMMARY, // summary off
+                null,    // class
+                TITLES[0], // Title
+                null,    // icon
+                Intent.ACTION_VIEW,   // action
+                TARGET_PACKAGE,    // target package
+                TARGET_CLASS,   // target class
+                QUERY,   // Key
+                PayloadType.INTENT,    // Payload Type
+                null // Payload
+        });
+        List<SearchResult> results = mConverter.convertCursor(cursor, BASE_RANK);
+        IntentPayload payload = (IntentPayload) results.get(0).payload;
+        Intent intent = payload.intent;
+
+        assertThat(intent.getComponent().getPackageName()).isEqualTo(TARGET_PACKAGE);
+        assertThat(intent.getComponent().getClassName()).isEqualTo(TARGET_CLASS);
+    }
+
+    @Test
     public void testParseCursor_MatchesInlineSwitchPayload() {
-        MatrixCursor cursor = new MatrixCursor(COLUMNS);
+        MatrixCursor cursor = new MatrixCursor(DatabaseResultLoader.SELECT_COLUMNS);
         final String BLANK = "";
         final String uri = "test.com";
         final int type = ResultPayload.PayloadType.INLINE_SWITCH;
@@ -185,24 +208,21 @@
         final InlineSwitchPayload payload = new InlineSwitchPayload(uri, source, map);
 
         cursor.addRow(new Object[]{
-                0,       // rank
-                TITLES[0],
-                SUMMARY,
+                ID,      // Doc ID
+                TITLES[0], // Title
+                SUMMARY, // Summary on
                 SUMMARY, // summary off
-                BLANK,   // entries
-                BLANK,   // Keywords
                 GestureSettings.class.getName(),
                 BLANK,   // screen title
                 null,    // icon
                 BLANK,   // action
                 null,    // target package
                 BLANK,   // target class
-                BLANK,   // enabled
-                BLANK,   // key
+                BLANK,   // Key
                 type,    // Payload Type
                 ResultPayloadUtils.marshall(payload) // Payload
         });
-        List<SearchResult> results = mConverter.convertCursor(cursor);
+        List<SearchResult> results = mConverter.convertCursor(cursor, BASE_RANK);
         InlineSwitchPayload newPayload = (InlineSwitchPayload) results.get(0).payload;
 
         assertThat(newPayload.settingsUri).isEqualTo(uri);
@@ -217,27 +237,22 @@
     }
 
     private MatrixCursor getDummyCursor(boolean hasIcon) {
-        MatrixCursor cursor = new MatrixCursor(COLUMNS);
+        MatrixCursor cursor = new MatrixCursor(DatabaseResultLoader.SELECT_COLUMNS);
         final String BLANK = "";
 
         for (int i = 0; i < EXAMPLES; i++) {
-            ArrayList<String> item = new ArrayList<>(COLUMNS.length);
-            item.add(Integer.toString(i));
-            item.add(TITLES[i]);
-            item.add(SUMMARY);
+            ArrayList<String> item = new ArrayList<>(DatabaseResultLoader.SELECT_COLUMNS.length);
+            item.add(ID + i); // Doc ID
+            item.add(TITLES[i]); // Title
+            item.add(SUMMARY); // Summary on
             item.add(BLANK); // summary off
-            item.add(BLANK); // entries
-            item.add(BLANK); // keywords
             item.add(BLANK); // classname
             item.add(BLANK); // screen title
-            item.add(hasIcon ? Integer.toString(mIcon) : null);
-            item.add(mIntent.getAction());
+            item.add(hasIcon ? Integer.toString(ICON) : null); // Icon
+            item.add(INTENT.getAction()); // Intent action
             item.add(BLANK); // target package
             item.add(BLANK); // target class
-            item.add(BLANK); // enabled
-            item.add(BLANK); // key
-                             // Note there is no user id. This is omitted because it is not being
-                             // queried. Should the queries change, so should this method.
+            item.add(BLANK); // Key
             item.add(Integer.toString(0));     // Payload Type
             item.add(null); // Payload
 
diff --git a/tests/robotests/src/com/android/settings/search2/InstalledAppResultLoaderTest.java b/tests/robotests/src/com/android/settings/search2/InstalledAppResultLoaderTest.java
index e3c2180..24aa94b 100644
--- a/tests/robotests/src/com/android/settings/search2/InstalledAppResultLoaderTest.java
+++ b/tests/robotests/src/com/android/settings/search2/InstalledAppResultLoaderTest.java
@@ -46,7 +46,6 @@
 @Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
 public class InstalledAppResultLoaderTest {
 
-
     @Mock(answer = Answers.RETURNS_DEEP_STUBS)
     private Context mContext;
     @Mock(answer = Answers.RETURNS_DEEP_STUBS)
diff --git a/tests/robotests/src/com/android/settings/search2/SearchFragmentTest.java b/tests/robotests/src/com/android/settings/search2/SearchFragmentTest.java
index 40d1ae5..64d602e 100644
--- a/tests/robotests/src/com/android/settings/search2/SearchFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/search2/SearchFragmentTest.java
@@ -19,6 +19,7 @@
 import android.content.Context;
 import android.os.Bundle;
 
+import com.android.internal.logging.nano.MetricsProto;
 import com.android.settings.R;
 import com.android.settings.SettingsRobolectricTestRunner;
 import com.android.settings.TestConfig;
@@ -36,6 +37,8 @@
 
 import static org.mockito.Matchers.any;
 import static org.mockito.Matchers.anyString;
+import static org.mockito.Matchers.eq;
+import static org.mockito.Mockito.never;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
@@ -97,7 +100,14 @@
                 .findFragmentById(R.id.main_content);
 
         fragment.onQueryTextChange(testQuery);
+        activityController.get().onBackPressed();
+        activityController.pause().stop().destroy();
 
+        verify(mFeatureFactory.metricsFeatureProvider, never()).action(
+                any(Context.class),
+                eq(MetricsProto.MetricsEvent.ACTION_LEAVE_SEARCH_RESULT_WITHOUT_QUERY));
+        verify(mFeatureFactory.metricsFeatureProvider).histogram(
+                any(Context.class), eq(SearchFragment.RESULT_CLICK_COUNT), eq(0));
         verify(mFeatureFactory.searchFeatureProvider)
                 .getDatabaseSearchLoader(any(Context.class), anyString());
         verify(mFeatureFactory.searchFeatureProvider)
diff --git a/tests/robotests/src/com/android/settings/support/SupportDisclaimerDialogFragmentTest.java b/tests/robotests/src/com/android/settings/support/SupportDisclaimerDialogFragmentTest.java
new file mode 100644
index 0000000..8f0484d
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/support/SupportDisclaimerDialogFragmentTest.java
@@ -0,0 +1,118 @@
+package com.android.settings.support;
+
+import android.accounts.Account;
+import android.annotation.NonNull;
+import android.annotation.StringRes;
+import android.app.Dialog;
+import android.content.Context;
+import android.content.res.Resources;
+import android.content.res.Resources.NotFoundException;
+import android.text.Spannable;
+import android.text.style.URLSpan;
+import android.widget.CheckBox;
+import com.android.internal.logging.nano.MetricsProto;
+import com.android.settings.R;
+import com.android.settings.SettingsRobolectricTestRunner;
+import com.android.settings.TestConfig;
+import com.android.settings.core.instrumentation.MetricsFeatureProvider;
+import com.android.settings.overlay.SupportFeatureProvider;
+import com.android.settings.overlay.SupportFeatureProvider.SupportType;
+import com.android.settings.support.SupportDisclaimerDialogFragmentTest.SupportDisclaimerShadowResources;
+import com.android.settings.testutils.FakeFeatureFactory;
+import com.android.settings.testutils.shadow.SettingsShadowResources;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Answers;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.robolectric.annotation.Config;
+import org.robolectric.annotation.Implementation;
+import org.robolectric.annotation.Implements;
+import org.robolectric.util.FragmentTestUtil;
+
+import static org.mockito.Matchers.any;
+import static org.mockito.Matchers.eq;
+import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+import static org.robolectric.internal.Shadow.directlyOn;
+
+@RunWith(SettingsRobolectricTestRunner.class)
+@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION,
+        shadows = {SupportDisclaimerShadowResources.class})
+public class SupportDisclaimerDialogFragmentTest {
+
+    @Mock(answer = Answers.RETURNS_DEEP_STUBS)
+    Context mContext;
+    private FakeFeatureFactory mFakeFeatureFactory;
+    private MetricsFeatureProvider mMetricsFeatureProvider;
+    private SupportFeatureProvider mSupportFeatureProvider;
+
+    private final Account mFakeAccount = new Account("user1", "fake_type");
+
+    private static final int FAKE_RES_ID = -1000;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        FakeFeatureFactory.setupForTest(mContext);
+        mFakeFeatureFactory = (FakeFeatureFactory) FakeFeatureFactory.getFactory(mContext);
+        mMetricsFeatureProvider = mFakeFeatureFactory.getMetricsFeatureProvider();
+        mSupportFeatureProvider = mFakeFeatureFactory.getSupportFeatureProvider(mContext);
+        when(mSupportFeatureProvider.getDisclaimerStringResId())
+                .thenReturn(FAKE_RES_ID);
+    }
+
+    @Test
+    public void onClick_DoNotShowCheckedLogsAction() {
+        SupportDisclaimerDialogFragment fragment =
+                SupportDisclaimerDialogFragment.newInstance(mFakeAccount, SupportType.CHAT);
+        FragmentTestUtil.startFragment(fragment);
+
+        // pretend the user selected to skip the dialog in the future
+        CheckBox doNotShow = (CheckBox) fragment.getDialog()
+                .findViewById(R.id.support_disclaimer_do_not_show_again);
+        doNotShow.setChecked(true);
+
+        // verify we logged the action
+        fragment.onClick(fragment.getDialog(), Dialog.BUTTON_POSITIVE);
+        verify(mMetricsFeatureProvider, times(1)).action(any(),
+                eq(MetricsProto.MetricsEvent.ACTION_SKIP_DISCLAIMER_SELECTED));
+    }
+
+    @Test
+    public void onClick_DoNotShowUncheckedDoesNotLogAction() {
+        SupportDisclaimerDialogFragment fragment =
+                SupportDisclaimerDialogFragment.newInstance(mFakeAccount, SupportType.CHAT);
+        FragmentTestUtil.startFragment(fragment);
+
+        // pretend the user selected to skip the dialog in the future
+        CheckBox doNotShow = (CheckBox) fragment.getDialog()
+                .findViewById(R.id.support_disclaimer_do_not_show_again);
+        doNotShow.setChecked(false);
+
+        // verify we logged the action
+        fragment.onClick(fragment.getDialog(), Dialog.BUTTON_POSITIVE);
+        verify(mMetricsFeatureProvider, never()).action(any(),
+                eq(MetricsProto.MetricsEvent.ACTION_SKIP_DISCLAIMER_SELECTED));
+    }
+
+    @Implements(Resources.class)
+    public static class SupportDisclaimerShadowResources extends SettingsShadowResources {
+
+        @Implementation
+        @NonNull public CharSequence getText(@StringRes int id) throws NotFoundException {
+            if (id == FAKE_RES_ID) {
+                Spannable text = Spannable.Factory.getInstance()
+                        .newSpannable("string with url");
+                text.setSpan(new URLSpan("https://google.com"), 0, 1,
+                        Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
+                return text;
+            }
+            return directlyOn(realResources, Resources.class).getText(id);
+        }
+    }
+
+}
diff --git a/tests/robotests/src/com/android/settings/testutils/shadow/SettingsShadowResources.java b/tests/robotests/src/com/android/settings/testutils/shadow/SettingsShadowResources.java
index 51a187b..3a1e0b7 100644
--- a/tests/robotests/src/com/android/settings/testutils/shadow/SettingsShadowResources.java
+++ b/tests/robotests/src/com/android/settings/testutils/shadow/SettingsShadowResources.java
@@ -35,7 +35,7 @@
 @Implements(Resources.class)
 public class SettingsShadowResources extends ShadowResources {
 
-    @RealObject Resources realResources;
+    @RealObject public Resources realResources;
 
     @Implementation
     public int getDimensionPixelSize(@DimenRes int id) throws NotFoundException {
diff --git a/tests/robotests/src/com/android/settings/vpn2/VpnUtilsTest.java b/tests/robotests/src/com/android/settings/vpn2/VpnUtilsTest.java
new file mode 100644
index 0000000..582f9fb
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/vpn2/VpnUtilsTest.java
@@ -0,0 +1,45 @@
+/*
+ * Copyright (C) 2017 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.vpn2;
+
+import com.android.settings.SettingsRobolectricTestRunner;
+import com.android.settings.TestConfig;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.robolectric.annotation.Config;
+
+import static com.google.common.truth.Truth.assertThat;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
+/**
+ * Tests for {@link VpnUtils}.
+ */
+@RunWith(SettingsRobolectricTestRunner.class)
+@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
+public final class VpnUtilsTest {
+    @Test
+    public void testIsAlwaysOnVpnSet() {
+        final ConnectivityManagerWrapper cm = mock(ConnectivityManagerWrapper.class);
+        when(cm.getAlwaysOnVpnPackageForUser(0)).thenReturn("com.example.vpn");
+        assertThat(VpnUtils.isAlwaysOnVpnSet(cm, 0)).isTrue();
+
+        when(cm.getAlwaysOnVpnPackageForUser(0)).thenReturn(null);
+        assertThat(VpnUtils.isAlwaysOnVpnSet(cm, 0)).isFalse();
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/wifi/AllowRecommendationPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/wifi/AllowRecommendationPreferenceControllerTest.java
new file mode 100644
index 0000000..d33854a
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/wifi/AllowRecommendationPreferenceControllerTest.java
@@ -0,0 +1,89 @@
+/*
+ * Copyright (C) 2017 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.wifi;
+
+import android.content.Context;
+import android.provider.Settings;
+import android.support.v14.preference.SwitchPreference;
+import android.support.v7.preference.Preference;
+
+import com.android.settings.SettingsRobolectricTestRunner;
+import com.android.settings.TestConfig;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.robolectric.RuntimeEnvironment;
+import org.robolectric.annotation.Config;
+
+import static com.google.common.truth.Truth.assertThat;
+
+@RunWith(SettingsRobolectricTestRunner.class)
+@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
+public class AllowRecommendationPreferenceControllerTest {
+
+    private Context mContext;
+    private AllowRecommendationPreferenceController mController;
+
+
+    @Before
+    public void setUp() {
+        mContext = RuntimeEnvironment.application;
+        mController = new AllowRecommendationPreferenceController(mContext);
+    }
+
+    @Test
+    public void testIsAvailable_shouldAlwaysReturnTrue() {
+        assertThat(mController.isAvailable()).isTrue();
+    }
+
+    @Test
+    public void handlePreferenceTreeClick_nonMatchingKey_shouldDoNothing() {
+        final SwitchPreference pref = new SwitchPreference(mContext);
+
+        assertThat(mController.handlePreferenceTreeClick(pref)).isFalse();
+    }
+
+    @Test
+    public void handlePreferenceTreeClick_nonMatchingType_shouldDoNothing() {
+        final Preference pref = new Preference(mContext);
+        pref.setKey(mController.getPreferenceKey());
+
+        assertThat(mController.handlePreferenceTreeClick(pref)).isFalse();
+    }
+
+
+    @Test
+    public void handlePreferenceTreeClick_matchingKeyAndType_shouldUpdateSetting() {
+        final SwitchPreference pref = new SwitchPreference(mContext);
+        pref.setKey(mController.getPreferenceKey());
+
+        // Turn on
+        pref.setChecked(true);
+        assertThat(mController.handlePreferenceTreeClick(pref)).isTrue();
+        assertThat(Settings.Global.getInt(mContext.getContentResolver(),
+                Settings.Global.NETWORK_RECOMMENDATIONS_ENABLED, 0))
+                .isEqualTo(1);
+
+        // Turn off
+        pref.setChecked(false);
+        assertThat(mController.handlePreferenceTreeClick(pref)).isTrue();
+        assertThat(Settings.Global.getInt(mContext.getContentResolver(),
+                Settings.Global.NETWORK_RECOMMENDATIONS_ENABLED, 0))
+                .isEqualTo(0);
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/wifi/CellularFallbackPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/wifi/CellularFallbackPreferenceControllerTest.java
new file mode 100644
index 0000000..bf564a5
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/wifi/CellularFallbackPreferenceControllerTest.java
@@ -0,0 +1,70 @@
+/*
+ * Copyright (C) 2017 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.wifi;
+
+import android.content.Context;
+import android.net.wifi.WifiManager;
+
+import com.android.settings.SettingsRobolectricTestRunner;
+import com.android.settings.TestConfig;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Answers;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.robolectric.annotation.Config;
+
+import static com.google.common.truth.Truth.assertThat;
+import static org.mockito.Mockito.when;
+
+@RunWith(SettingsRobolectricTestRunner.class)
+@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
+public class CellularFallbackPreferenceControllerTest {
+
+    @Mock(answer = Answers.RETURNS_DEEP_STUBS)
+    private Context mContext;
+    @Mock
+    private WifiManager mWifiManager;
+
+    private CellularFallbackPreferenceController mController;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        mController = new CellularFallbackPreferenceController(mContext);
+    }
+
+    @Test
+    public void isAvailable_avoidBadWifiConfigIsFalse_shouldReturnTrue() {
+        when(mContext.getResources().getInteger(
+                com.android.internal.R.integer.config_networkAvoidBadWifi))
+                .thenReturn(0);
+
+        assertThat(mController.isAvailable()).isTrue();
+    }
+
+    @Test
+    public void isAvailable_avoidBadWifiConfigIsTrue_shouldReturnFalse() {
+        when(mContext.getResources().getInteger(
+                com.android.internal.R.integer.config_networkAvoidBadWifi))
+                .thenReturn(1);
+
+        assertThat(mController.isAvailable()).isFalse();
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/wifi/NotifyOpenNetworkPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/wifi/NotifyOpenNetworkPreferenceControllerTest.java
new file mode 100644
index 0000000..3afa7fb
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/wifi/NotifyOpenNetworkPreferenceControllerTest.java
@@ -0,0 +1,114 @@
+/*
+ * Copyright (C) 2017 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.wifi;
+
+import static android.provider.Settings.Global.NETWORK_RECOMMENDATIONS_ENABLED;
+import static android.provider.Settings.Global.WIFI_NETWORKS_AVAILABLE_NOTIFICATION_ON;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.verify;
+
+import android.content.Context;
+import android.provider.Settings;
+import android.support.v14.preference.SwitchPreference;
+import android.support.v7.preference.Preference;
+
+import com.android.settings.SettingsRobolectricTestRunner;
+import com.android.settings.TestConfig;
+import com.android.settings.core.lifecycle.Lifecycle;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.MockitoAnnotations;
+import org.robolectric.RuntimeEnvironment;
+import org.robolectric.annotation.Config;
+
+@RunWith(SettingsRobolectricTestRunner.class)
+@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
+public class NotifyOpenNetworkPreferenceControllerTest {
+
+    private Context mContext;
+    private NotifyOpenNetworksPreferenceController mController;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        mContext = RuntimeEnvironment.application;
+        mController = new NotifyOpenNetworksPreferenceController(mContext, mock(Lifecycle.class));
+    }
+
+    @Test
+    public void testIsAvailable_shouldAlwaysReturnTrue() {
+        assertThat(mController.isAvailable()).isTrue();
+    }
+
+    @Test
+    public void handlePreferenceTreeClick_nonMatchingKey_shouldDoNothing() {
+        final SwitchPreference pref = new SwitchPreference(mContext);
+
+        assertThat(mController.handlePreferenceTreeClick(pref)).isFalse();
+    }
+
+    @Test
+    public void handlePreferenceTreeClick_nonMatchingType_shouldDoNothing() {
+        final Preference pref = new Preference(mContext);
+        pref.setKey(mController.getPreferenceKey());
+
+        assertThat(mController.handlePreferenceTreeClick(pref)).isFalse();
+    }
+
+    @Test
+    public void handlePreferenceTreeClick_matchingKeyAndType_shouldUpdateSetting() {
+        final SwitchPreference pref = new SwitchPreference(mContext);
+        pref.setChecked(true);
+        pref.setKey(mController.getPreferenceKey());
+
+        assertThat(mController.handlePreferenceTreeClick(pref)).isTrue();
+        assertThat(Settings.Global.getInt(mContext.getContentResolver(),
+                WIFI_NETWORKS_AVAILABLE_NOTIFICATION_ON, 0))
+                .isEqualTo(1);
+    }
+
+    @Test
+    public void updateState_preferenceSetCheckedAndSetEnabledWhenSettingsAreEnabled() {
+        final SwitchPreference preference = mock(SwitchPreference.class);
+        Settings.System.putInt(mContext.getContentResolver(), NETWORK_RECOMMENDATIONS_ENABLED, 1);
+        Settings.System.putInt(mContext.getContentResolver(),
+                WIFI_NETWORKS_AVAILABLE_NOTIFICATION_ON, 1);
+
+        mController.updateState(preference);
+
+        verify(preference).setChecked(true);
+        verify(preference).setEnabled(true);
+    }
+
+    @Test
+    public void updateState_preferenceSetCheckedAndSetEnabledWhenSettingsAreDisabled() {
+        final SwitchPreference preference = mock(SwitchPreference.class);
+        Settings.System.putInt(mContext.getContentResolver(), NETWORK_RECOMMENDATIONS_ENABLED, 0);
+        Settings.System.putInt(mContext.getContentResolver(),
+                WIFI_NETWORKS_AVAILABLE_NOTIFICATION_ON, 0);
+
+        mController.updateState(preference);
+
+        verify(preference).setChecked(false);
+        verify(preference).setEnabled(false);
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/wifi/SavedNetworkPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/wifi/SavedNetworkPreferenceControllerTest.java
new file mode 100644
index 0000000..657c21e
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/wifi/SavedNetworkPreferenceControllerTest.java
@@ -0,0 +1,71 @@
+/*
+ * Copyright (C) 2017 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.wifi;
+
+import android.content.Context;
+import android.net.wifi.WifiConfiguration;
+import android.net.wifi.WifiManager;
+
+import com.android.settings.SettingsRobolectricTestRunner;
+import com.android.settings.TestConfig;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.robolectric.annotation.Config;
+
+import java.util.List;
+
+import static com.google.common.truth.Truth.assertThat;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
+@RunWith(SettingsRobolectricTestRunner.class)
+@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
+public class SavedNetworkPreferenceControllerTest {
+
+    @Mock
+    private Context mContext;
+    @Mock
+    private WifiManager mWifiManager;
+
+    private SavedNetworkPreferenceController mController;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+
+        mController = new SavedNetworkPreferenceController(mContext, mWifiManager);
+    }
+
+    @Test
+    public void isAvailable_noSavedNetwork_shouldReturnFalse() {
+        when(mWifiManager.getConfiguredNetworks()).thenReturn(null);
+        assertThat(mController.isAvailable()).isFalse();
+    }
+
+    @Test
+    public void isAvailable_hasSavedNetwork_shouldReturnTrue() {
+        List<WifiConfiguration> configs = mock(List.class);
+        when(configs.isEmpty()).thenReturn(false);
+        when(mWifiManager.getConfiguredNetworks()).thenReturn(configs);
+
+        assertThat(mController.isAvailable()).isTrue();
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/wifi/WifiInfoPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/wifi/WifiInfoPreferenceControllerTest.java
new file mode 100644
index 0000000..40c480f
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/wifi/WifiInfoPreferenceControllerTest.java
@@ -0,0 +1,103 @@
+/*
+ * Copyright (C) 2017 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.wifi;
+
+import android.content.BroadcastReceiver;
+import android.content.Context;
+import android.content.IntentFilter;
+import android.net.wifi.WifiManager;
+import android.support.v7.preference.Preference;
+import android.support.v7.preference.PreferenceScreen;
+
+import com.android.settings.SettingsRobolectricTestRunner;
+import com.android.settings.TestConfig;
+import com.android.settings.core.lifecycle.Lifecycle;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Answers;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.robolectric.annotation.Config;
+
+import static com.google.common.truth.Truth.assertThat;
+import static org.mockito.Matchers.any;
+import static org.mockito.Matchers.anyString;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+@RunWith(SettingsRobolectricTestRunner.class)
+@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
+public class WifiInfoPreferenceControllerTest {
+
+    @Mock
+    private Context mContext;
+    @Mock(answer = Answers.RETURNS_DEEP_STUBS)
+    private WifiManager mWifiManager;
+    @Mock
+    private PreferenceScreen mScreen;
+    @Mock
+    private Preference mIpPreference;
+    @Mock
+    private Preference mMacPreference;
+
+    private Lifecycle mLifecycle;
+    private WifiInfoPreferenceController mController;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        mLifecycle = new Lifecycle();
+        when(mContext.getSystemService(WifiManager.class))
+                .thenReturn(mWifiManager);
+        when(mScreen.findPreference(anyString()))
+                .thenReturn(mMacPreference)
+                .thenReturn(mIpPreference);
+        mController = new WifiInfoPreferenceController(mContext, mLifecycle, mWifiManager);
+    }
+
+    @Test
+    public void testIsAvailable_shouldAlwaysReturnTrue() {
+        assertThat(mController.isAvailable()).isTrue();
+    }
+
+    @Test
+    public void getPreferenceKey_shouldReturnNull() {
+        assertThat(mController.getPreferenceKey()).isNull();
+    }
+
+    @Test
+    public void runThroughLifecycle_shouldInstallListenerOnResume() {
+        mLifecycle.onResume();
+        verify(mContext).registerReceiver(any(BroadcastReceiver.class), any(IntentFilter.class));
+
+        mLifecycle.onPause();
+        verify(mContext).unregisterReceiver(any(BroadcastReceiver.class));
+    }
+
+    @Test
+    public void onResume_shouldUpdateWifiInfo() {
+        when(mWifiManager.getCurrentNetwork()).thenReturn(null);
+
+        mController.displayPreference(mScreen);
+        mController.onResume();
+
+        verify(mMacPreference).setSummary(any());
+        verify(mIpPreference).setSummary(any());
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/wifi/WifiWakeupPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/wifi/WifiWakeupPreferenceControllerTest.java
new file mode 100644
index 0000000..d6243ac
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/wifi/WifiWakeupPreferenceControllerTest.java
@@ -0,0 +1,111 @@
+/*
+ * Copyright (C) 2017 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.wifi;
+
+import static android.provider.Settings.Global.NETWORK_RECOMMENDATIONS_ENABLED;
+import static android.provider.Settings.Global.WIFI_WAKEUP_ENABLED;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.verify;
+
+import android.content.Context;
+import android.provider.Settings;
+import android.support.v14.preference.SwitchPreference;
+import android.support.v7.preference.Preference;
+
+import com.android.settings.SettingsRobolectricTestRunner;
+import com.android.settings.TestConfig;
+import com.android.settings.core.lifecycle.Lifecycle;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.MockitoAnnotations;
+import org.robolectric.RuntimeEnvironment;
+import org.robolectric.annotation.Config;
+
+@RunWith(SettingsRobolectricTestRunner.class)
+@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
+public class WifiWakeupPreferenceControllerTest {
+
+    private Context mContext;
+    private WifiWakeupPreferenceController mController;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        mContext = RuntimeEnvironment.application;
+        mController = new WifiWakeupPreferenceController(mContext, mock(Lifecycle.class));
+    }
+
+    @Test
+    public void testIsAvailable_shouldAlwaysReturnTrue() {
+        assertThat(mController.isAvailable()).isTrue();
+    }
+
+    @Test
+    public void handlePreferenceTreeClick_nonMatchingKey_shouldDoNothing() {
+        final SwitchPreference pref = new SwitchPreference(mContext);
+
+        assertThat(mController.handlePreferenceTreeClick(pref)).isFalse();
+    }
+
+    @Test
+    public void handlePreferenceTreeClick_nonMatchingType_shouldDoNothing() {
+        final Preference pref = new Preference(mContext);
+        pref.setKey(mController.getPreferenceKey());
+
+        assertThat(mController.handlePreferenceTreeClick(pref)).isFalse();
+    }
+
+    @Test
+    public void handlePreferenceTreeClick_matchingKeyAndType_shouldUpdateSetting() {
+        final SwitchPreference pref = new SwitchPreference(mContext);
+        pref.setChecked(true);
+        pref.setKey(mController.getPreferenceKey());
+
+        assertThat(mController.handlePreferenceTreeClick(pref)).isTrue();
+        assertThat(Settings.Global.getInt(mContext.getContentResolver(), WIFI_WAKEUP_ENABLED, 0))
+                .isEqualTo(1);
+    }
+
+    @Test
+    public void updateState_preferenceSetCheckedAndSetEnabledWhenSettingsAreEnabled() {
+        final SwitchPreference preference = mock(SwitchPreference.class);
+        Settings.System.putInt(mContext.getContentResolver(), NETWORK_RECOMMENDATIONS_ENABLED, 1);
+        Settings.System.putInt(mContext.getContentResolver(), WIFI_WAKEUP_ENABLED, 1);
+
+        mController.updateState(preference);
+
+        verify(preference).setChecked(true);
+        verify(preference).setEnabled(true);
+    }
+
+    @Test
+    public void updateState_preferenceSetCheckedAndSetEnabledWhenSettingsAreDisabled() {
+        final SwitchPreference preference = mock(SwitchPreference.class);
+        Settings.System.putInt(mContext.getContentResolver(), NETWORK_RECOMMENDATIONS_ENABLED, 0);
+        Settings.System.putInt(mContext.getContentResolver(), WIFI_WAKEUP_ENABLED, 0);
+
+        mController.updateState(preference);
+
+        verify(preference).setChecked(false);
+        verify(preference).setEnabled(false);
+    }
+}
diff --git a/tests/unit/src/com/android/settings/core/SettingsGatewayTest.java b/tests/unit/src/com/android/settings/core/SettingsGatewayTest.java
new file mode 100644
index 0000000..abce2c8
--- /dev/null
+++ b/tests/unit/src/com/android/settings/core/SettingsGatewayTest.java
@@ -0,0 +1,59 @@
+/*
+ * Copyright (C) 2017 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.core;
+
+import android.content.ComponentName;
+import android.content.Context;
+import android.content.Intent;
+import android.content.pm.PackageManager;
+import android.content.pm.ResolveInfo;
+import android.support.test.InstrumentationRegistry;
+import android.support.test.filters.SmallTest;
+import android.support.test.runner.AndroidJUnit4;
+import android.util.Log;
+
+import com.android.settings.core.gateway.SettingsGateway;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+import java.util.List;
+
+import static org.junit.Assert.assertFalse;
+
+@SmallTest
+@RunWith(AndroidJUnit4.class)
+public class SettingsGatewayTest {
+
+    private static final String TAG = "SettingsGatewayTest";
+
+    @Test
+    public void allRestrictedActivityMustBeDefinedInManifest() {
+        final Context context = InstrumentationRegistry.getTargetContext();
+        final PackageManager packageManager = context.getPackageManager();
+        final String packageName = context.getPackageName();
+        for (String className : SettingsGateway.SETTINGS_FOR_RESTRICTED) {
+            final Intent intent = new Intent();
+            intent.setComponent(new ComponentName(packageName, className));
+            List<ResolveInfo> resolveInfos = packageManager.queryIntentActivities(intent,
+                    PackageManager.MATCH_DISABLED_COMPONENTS);
+            Log.d(TAG, packageName + "/" + className + "; resolveInfo size: "
+                    + resolveInfos.size());
+            assertFalse(className + " is not-defined in manifest", resolveInfos.isEmpty());
+        }
+    }
+}
diff --git a/tests/unit/src/com/android/settings/search/SearchActivityTest.java b/tests/unit/src/com/android/settings/search/SearchActivityTest.java
new file mode 100644
index 0000000..ffe2094
--- /dev/null
+++ b/tests/unit/src/com/android/settings/search/SearchActivityTest.java
@@ -0,0 +1,53 @@
+/*
+ * Copyright (C) 2017 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.search;
+
+import android.content.Context;
+import android.content.Intent;
+import android.content.pm.PackageManager;
+import android.content.pm.ResolveInfo;
+import android.support.test.InstrumentationRegistry;
+import android.support.test.filters.SmallTest;
+import android.support.test.runner.AndroidJUnit4;
+
+import com.android.settings.Settings;
+import com.android.settings.search2.SearchActivity;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+import java.util.List;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+
+@SmallTest
+@RunWith(AndroidJUnit4.class)
+public class SearchActivityTest {
+
+    @Test
+    public void shouldHaveParentActivity() {
+        final Context context = InstrumentationRegistry.getTargetContext();
+        final PackageManager packageManager = context.getPackageManager();
+        final Intent intent = new Intent(context, SearchActivity.class);
+        final List<ResolveInfo> resolveInfos = packageManager.queryIntentActivities(
+                intent, PackageManager.GET_META_DATA);
+
+        assertFalse(resolveInfos.isEmpty());
+        assertEquals(Settings.class.getName(), resolveInfos.get(0).activityInfo.parentActivityName);
+    }
+}
