diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index f4a972b..776c4ec 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 -->
@@ -453,6 +454,7 @@
         <activity android:name="TetherProvisioningActivity"
             android:exported="true"
             android:permission="android.permission.TETHER_PRIVILEGED"
+            android:excludeFromRecents="true"
             android:theme="@style/Theme.ProvisioningActivity">
             <intent-filter android:priority="1">
                 <action android:name="android.settings.TETHER_PROVISIONING_UI" />
@@ -3090,7 +3092,7 @@
         </activity-alias>
 
         <activity android:name=".Settings$StorageDashboardActivity"
-                  android:label="@string/storage_settings"
+                  android:label="@string/storage_settings_2"
                   android:icon="@drawable/ic_settings_storage">
             <intent-filter android:priority="5">
                 <action android:name="com.android.settings.action.SETTINGS" />
@@ -3103,20 +3105,6 @@
                        android:value="true" />
         </activity>
 
-        <activity-alias android:name="InternalStorageDashboardAlias"
-                        android:targetActivity="Settings$StorageSettingsActivity"
-                        android:label="@string/storage_internal_title">
-            <intent-filter android:priority="5">
-                <action android:name="com.android.settings.action.SETTINGS" />
-            </intent-filter>
-            <meta-data android:name="com.android.settings.category"
-                       android:value="com.android.settings.category.ia.storage" />
-            <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
-                       android:value="com.android.settings.deviceinfo.StorageSettings" />
-            <meta-data android:name="com.android.settings.PRIMARY_PROFILE_CONTROLLED"
-                       android:value="true" />
-        </activity-alias>
-
         <activity-alias android:name="SecurityDashboardAlias"
                 android:targetActivity="Settings$SecuritySettingsActivity">
             <intent-filter android:priority="4">
@@ -3182,7 +3170,7 @@
 
         <activity android:name=".Settings$SupportDashboardActivity"
                   android:label="@string/page_tab_title_support"
-                  android:icon="@drawable/ic_help_24dp">
+                  android:icon="@drawable/ic_support_24dp">
             <intent-filter android:priority="0">
                 <action android:name="com.android.settings.action.SETTINGS"/>
             </intent-filter>
@@ -3466,25 +3454,24 @@
 
         <!-- Quick Settings tiles for Developer Options -->
         <service
-                android:name=".qstile.DevelopmentTiles$ShowLayout"
-                android:label="@string/debug_layout"
-                android:icon="@drawable/tile_icon_show_layout"
-                android:permission="android.permission.BIND_QUICK_SETTINGS_TILE"
-                android:enabled="false">
+            android:name=".qstile.DevelopmentModeTile"
+            android:label="@string/developer_tile"
+            android:icon="@drawable/ic_settings_development"
+            android:permission="android.permission.BIND_QUICK_SETTINGS_TILE"
+            android:enabled="true">
             <intent-filter>
                 <action android:name="android.service.quicksettings.action.QS_TILE" />
             </intent-filter>
         </service>
-        <service
-                android:name=".qstile.DevelopmentTiles$GPUProfiling"
-                android:label="@string/track_frame_time"
-                android:icon="@drawable/tile_icon_graphics"
-                android:permission="android.permission.BIND_QUICK_SETTINGS_TILE"
-                android:enabled="false">
+        <activity
+            android:name=".qstile.DevelopmentTileConfigActivity"
+            android:excludeFromRecents="true"
+            android:launchMode="singleInstance"
+            android:label="@string/developer_tile">
             <intent-filter>
-                <action android:name="android.service.quicksettings.action.QS_TILE" />
+                <action android:name="android.service.quicksettings.action.QS_TILE_PREFERENCES" />
             </intent-filter>
-        </service>
+        </activity>
 
         <activity android:name=".HelpTrampoline"
             android:exported="true"
diff --git a/res/drawable/ic_apps.xml b/res/drawable/ic_apps.xml
new file mode 100644
index 0000000..784a818
--- /dev/null
+++ b/res/drawable/ic_apps.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="M4,8h4L8,4L4,4v4zM10,20h4v-4h-4v4zM4,20h4v-4L4,16v4zM4,14h4v-4L4,10v4zM10,14h4v-4h-4v4zM16,4v4h4L20,4h-4zM10,8h4L14,4h-4v4zM16,14h4v-4h-4v4zM16,20h4v-4h-4v4z"
+        android:fillColor="#FFFFFFFF"/>
+</vector>
diff --git a/res/drawable/ic_arrow_down_24dp.xml b/res/drawable/ic_arrow_down_24dp.xml
new file mode 100644
index 0000000..7c5866d
--- /dev/null
+++ b/res/drawable/ic_arrow_down_24dp.xml
@@ -0,0 +1,26 @@
+<?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.
+-->
+
+<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/colorAccent">
+    <path
+        android:fillColor="#FF000000"
+        android:pathData="M7.41,7.84L12,12.42l4.59,-4.58L18,9.25l-6,6 -6,-6z"/>
+</vector>
diff --git a/res/drawable/ic_bt_laptop.xml b/res/drawable/ic_bt_laptop.xml
index bf2fd49..029e4d9 100644
--- a/res/drawable/ic_bt_laptop.xml
+++ b/res/drawable/ic_bt_laptop.xml
@@ -18,7 +18,7 @@
     android:height="24dp"
     android:viewportWidth="24.0"
     android:viewportHeight="24.0"
-    android:tint="?android:attr/colorAccent">
+    android:tint="?android:attr/colorControlNormal">
     <path
         android:fillColor="#FF000000"
         android:pathData="M20,18c1.1,0 2,-0.9 2,-2V6c0,-1.1 -0.9,-2 -2,-2H4c-1.1,0
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_search_24dp.xml b/res/drawable/ic_search_24dp.xml
new file mode 100644
index 0000000..4693dd7
--- /dev/null
+++ b/res/drawable/ic_search_24dp.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+  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.
+  -->
+
+<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.5,14l-0.8,0l-0.3,-0.3c1,-1.1 1.6,-2.6 1.6,-4.2C16,5.9 13.1,3 9.5,3C5.9,3 3,5.9 3,9.5S5.9,16 9.5,16c1.6,0 3.1,-0.6 4.2,-1.6l0.3,0.3l0,0.8l5,5l1.5,-1.5L15.5,14zM9.5,14C7,14 5,12 5,9.5S7,5 9.5,5C12,5 14,7 14,9.5S12,14 9.5,14z"
+        android:fillColor="#ffffff"/>
+</vector>
diff --git a/res/drawable/ic_settings_about.xml b/res/drawable/ic_settings_about.xml
index 89f9b0c..cdf8275 100644
--- a/res/drawable/ic_settings_about.xml
+++ b/res/drawable/ic_settings_about.xml
@@ -18,7 +18,7 @@
         android:height="24.0dp"
         android:viewportWidth="24.0"
         android:viewportHeight="24.0"
-        android:tint="?android:attr/colorAccent">
+        android:tint="?android:attr/colorControlNormal">
     <path
         android:fillColor="#FFFFFFFF"
         android:pathData="M11.0,17.0l2.0,0.0l0.0,-6.0l-2.0,0.0l0.0,6.0zm1.0,-15.0C6.48,2.0 2.0,6.48 2.0,12.0s4.48,10.0 10.0,10.0 10.0,-4.48 10.0,-10.0S17.52,2.0 12.0,2.0zm0.0,18.0c-4.41,0.0 -8.0,-3.59 -8.0,-8.0s3.59,-8.0 8.0,-8.0 8.0,3.59 8.0,8.0 -3.59,8.0 -8.0,8.0zM11.0,9.0l2.0,0.0L13.0,7.0l-2.0,0.0l0.0,2.0z"/>
diff --git a/res/drawable/ic_settings_accessibility.xml b/res/drawable/ic_settings_accessibility.xml
index facad15..34c0bdd 100644
--- a/res/drawable/ic_settings_accessibility.xml
+++ b/res/drawable/ic_settings_accessibility.xml
@@ -18,7 +18,7 @@
         android:height="24.0dp"
         android:viewportWidth="24.0"
         android:viewportHeight="24.0"
-        android:tint="?android:attr/colorAccent">
+        android:tint="?android:attr/colorControlNormal">
     <path
         android:fillColor="#FFFFFFFF"
         android:pathData="M12.0,2.0c1.1,0.0 2.0,0.9 2.0,2.0s-0.9,2.0 -2.0,2.0 -2.0,-0.9 -2.0,-2.0 0.9,-2.0 2.0,-2.0zm9.0,7.0l-6.0,0.0l0.0,13.0l-2.0,0.0l0.0,-6.0l-2.0,0.0l0.0,6.0L9.0,22.0L9.0,9.0L3.0,9.0L3.0,7.0l18.0,0.0l0.0,2.0z"/>
diff --git a/res/drawable/ic_settings_accounts.xml b/res/drawable/ic_settings_accounts.xml
index 0b57892..154c09c 100644
--- a/res/drawable/ic_settings_accounts.xml
+++ b/res/drawable/ic_settings_accounts.xml
@@ -18,7 +18,7 @@
         android:height="24.0dp"
         android:viewportWidth="24.0"
         android:viewportHeight="24.0"
-        android:tint="?android:attr/colorAccent">
+        android:tint="?android:attr/colorControlNormal">
     <path
         android:fillColor="#FFFFFFFF"
         android:pathData="M3.0,5.0
diff --git a/res/drawable/ic_settings_applications.xml b/res/drawable/ic_settings_applications.xml
index b95ee45..c783ef9 100644
--- a/res/drawable/ic_settings_applications.xml
+++ b/res/drawable/ic_settings_applications.xml
@@ -18,7 +18,7 @@
         android:height="24.0dp"
         android:viewportWidth="24.0"
         android:viewportHeight="24.0"
-        android:tint="?android:attr/colorAccent">
+        android:tint="?android:attr/colorControlNormal">
     <path
         android:fillColor="#FFFFFFFF"
         android:pathData="M5.0,16.0c0.0,3.87 3.13,7.0 7.0,7.0s7.0,-3.13 7.0,-7.0l0.0,-4.0L5.0,12.0l0.0,4.0zM16.12,4.37l2.1,-2.1 -0.82,-0.83 -2.3,2.31C14.16,3.28 13.12,3.0 12.0,3.0s-2.1,0.28 -3.0,0.75L6.6,1.44l-0.8,0.83 2.1,2.1C6.14,5.64 5.0,7.68 5.0,10.0l0.0,1.0l14.0,0.0l0.0,-1.0c0.0,-2.32 -1.14,-4.36 -2.88,-5.63zM9.0,9.0c-0.55,0.0 -1.0,-0.45 -1.0,-1.0s0.45,-1.0 1.0,-1.0 1.0,0.45 1.0,1.0 -0.45,1.0 -1.0,1.0zm6.0,0.0c-0.55,0.0 -1.0,-0.45 -1.0,-1.0s0.45,-1.0 1.0,-1.0 1.0,0.45 1.0,1.0 -0.45,1.0 -1.0,1.0z"/>
diff --git a/res/drawable/ic_settings_backup.xml b/res/drawable/ic_settings_backup.xml
index 50d8f0b..8a9997a 100644
--- a/res/drawable/ic_settings_backup.xml
+++ b/res/drawable/ic_settings_backup.xml
@@ -18,7 +18,7 @@
         android:height="24.0dp"
         android:viewportWidth="24.0"
         android:viewportHeight="24.0"
-        android:tint="?android:attr/colorAccent">
+        android:tint="?android:attr/colorControlNormal">
     <path
         android:fillColor="#FFFFFFFF"
         android:pathData="M19.35,10.04C18.67,6.59 15.64,4.0 12.0,4.0 9.11,4.0 6.6,5.64 5.35,8.04 2.34,8.36 0.0,10.91 0.0,14.0c0.0,3.31 2.69,6.0 6.0,6.0l13.0,0.0c2.76,0.0 5.0,-2.24 5.0,-5.0 0.0,-2.64 -2.05,-4.78 -4.65,-4.96zM14.0,13.0l0.0,4.0l-4.0,0.0l0.0,-4.0L7.0,13.0l5.0,-5.0 5.0,5.0l-3.0,0.0z"/>
diff --git a/res/drawable/ic_settings_battery.xml b/res/drawable/ic_settings_battery.xml
index b3db3dd..c8e053d 100644
--- a/res/drawable/ic_settings_battery.xml
+++ b/res/drawable/ic_settings_battery.xml
@@ -18,7 +18,7 @@
         android:height="24.0dp"
         android:viewportWidth="24.0"
         android:viewportHeight="24.0"
-        android:tint="?android:attr/colorAccent">
+        android:tint="?android:attr/colorControlNormal">
     <path
         android:fillColor="#FFFFFFFF"
         android:pathData="M15.67,4.0L14.0,4.0L14.0,2.0l-4.0,0.0l0.0,2.0L8.33,4.0C7.6,4.0 7.0,4.6 7.0,5.33l0.0,15.33C7.0,21.4 7.6,22.0 8.33,22.0l7.33,0.0c0.74,0.0 1.34,-0.6 1.34,-1.33L17.0,5.33C17.0,4.6 16.4,4.0 15.67,4.0z
diff --git a/res/drawable/ic_settings_bluetooth.xml b/res/drawable/ic_settings_bluetooth.xml
index 632e6e1..fb4dfa4 100644
--- a/res/drawable/ic_settings_bluetooth.xml
+++ b/res/drawable/ic_settings_bluetooth.xml
@@ -18,7 +18,7 @@
         android:height="24.0dp"
         android:viewportWidth="48.0"
         android:viewportHeight="48.0"
-        android:tint="?android:attr/colorAccent">
+        android:tint="?android:attr/colorControlNormal">
     <path
         android:fillColor="#FFFFFFFF"
         android:pathData="M35.41,15.41L24.0,4.0l-2.0,0.0l0.0,15.17L12.83,10.0 10.0,12.83 21.17,24.0 10.0,35.17 12.83,38.0 22.0,28.83L22.0,44.0l2.0,0.0l11.41,-11.41L26.83,24.0l8.58,-8.59zM26.0,11.66l3.76,3.76L26.0,19.17l0.0,-7.51zm3.76,20.93L26.0,36.34l0.0,-7.52l3.76,3.77z"/>
diff --git a/res/drawable/ic_settings_data_usage.xml b/res/drawable/ic_settings_data_usage.xml
index 1ba963d..31ea994 100644
--- a/res/drawable/ic_settings_data_usage.xml
+++ b/res/drawable/ic_settings_data_usage.xml
@@ -18,7 +18,7 @@
         android:height="24.0dp"
         android:viewportWidth="48.0"
         android:viewportHeight="48.0"
-        android:tint="?android:attr/colorAccent">
+        android:tint="?android:attr/colorControlNormal">
     <path
         android:fillColor="#FFFFFFFF"
         android:pathData="M26.0,4.1
diff --git a/res/drawable/ic_settings_date_time.xml b/res/drawable/ic_settings_date_time.xml
index d84f3eb..b965878 100644
--- a/res/drawable/ic_settings_date_time.xml
+++ b/res/drawable/ic_settings_date_time.xml
@@ -18,7 +18,7 @@
         android:height="24.0dp"
         android:viewportWidth="24.0"
         android:viewportHeight="24.0"
-        android:tint="?android:attr/colorAccent">
+        android:tint="?android:attr/colorControlNormal">
     <path
         android:fillColor="#FFFFFFFF"
         android:pathData="M11.99,2.0C6.47,2.0 2.0,6.48 2.0,12.0s4.47,10.0 9.99,10.0C17.52,22.0 22.0,17.52 22.0,12.0S17.52,2.0 11.99,2.0zM12.0,20.0c-4.42,0.0 -8.0,-3.58 -8.0,-8.0s3.58,-8.0 8.0,-8.0 8.0,3.58 8.0,8.0 -3.58,8.0 -8.0,8.0z"/>
diff --git a/res/drawable/ic_settings_development.xml b/res/drawable/ic_settings_development.xml
index 42d043e..211b3a2 100644
--- a/res/drawable/ic_settings_development.xml
+++ b/res/drawable/ic_settings_development.xml
@@ -17,5 +17,5 @@
 
 <bitmap xmlns:android="http://schemas.android.com/apk/res/android"
     android:src="@drawable/ic_settings_development_alpha"
-    android:tint="?android:attr/colorAccent" />
+    android:tint="?android:attr/colorControlNormal" />
 
diff --git a/res/drawable/ic_settings_display.xml b/res/drawable/ic_settings_display.xml
index 3b2c5dd..ff763f0 100644
--- a/res/drawable/ic_settings_display.xml
+++ b/res/drawable/ic_settings_display.xml
@@ -18,7 +18,7 @@
         android:height="24.0dp"
         android:viewportWidth="24.0"
         android:viewportHeight="24.0"
-        android:tint="?android:attr/colorAccent">
+        android:tint="?android:attr/colorControlNormal">
     <path
         android:fillColor="#FFFFFFFF"
         android:pathData="M20.0,15.31L23.31,12.0 20.0,8.69L20.0,4.0l-4.69,0.0L12.0,0.69 8.69,4.0L4.0,4.0l0.0,4.69L0.69,12.0 4.0,15.31L4.0,20.0l4.69,0.0L12.0,23.31 15.31,20.0L20.0,20.0l0.0,-4.69zM12.0,18.0L12.0,6.0c3.31,0.0 6.0,2.69 6.0,6.0s-2.69,6.0 -6.0,6.0z"/>
diff --git a/res/drawable/ic_settings_gestures.xml b/res/drawable/ic_settings_gestures.xml
index 9537bed..d882cb3 100644
--- a/res/drawable/ic_settings_gestures.xml
+++ b/res/drawable/ic_settings_gestures.xml
@@ -18,7 +18,7 @@
         android:height="24dp"
         android:viewportWidth="24.0"
         android:viewportHeight="24.0"
-        android:tint="?android:attr/colorAccent">
+        android:tint="?android:attr/colorControlNormal">
     <path
         android:fillColor="#FF000000"
         android:pathData="M9,11.24L9,7.5C9,6.12 10.12,5 11.5,5S14,6.12 14,7.5v3.74c1.21,-0.81 2,-2.18 2,-3.74C16,5.01 13.99,3 11.5,3S7,5.01 7,7.5c0,1.56 0.79,2.93 2,3.74zM18.84,15.87l-4.54,-2.26c-0.17,-0.07 -0.35,-0.11 -0.54,-0.11L13,13.5v-6c0,-0.83 -0.67,-1.5 -1.5,-1.5S10,6.67 10,7.5v10.74l-3.43,-0.72c-0.08,-0.01 -0.15,-0.03 -0.24,-0.03 -0.31,0 -0.59,0.13 -0.79,0.33l-0.79,0.8 4.94,4.94c0.27,0.27 0.65,0.44 1.06,0.44h6.79c0.75,0 1.33,-0.55 1.44,-1.28l0.75,-5.27c0.01,-0.07 0.02,-0.14 0.02,-0.2 0,-0.62 -0.38,-1.16 -0.91,-1.38z"/>
diff --git a/res/drawable/ic_settings_language.xml b/res/drawable/ic_settings_language.xml
index 4e5b2b5..30b2891 100644
--- a/res/drawable/ic_settings_language.xml
+++ b/res/drawable/ic_settings_language.xml
@@ -18,7 +18,7 @@
         android:height="24.0dp"
         android:viewportWidth="24.0"
         android:viewportHeight="24.0"
-        android:tint="?android:attr/colorAccent">
+        android:tint="?android:attr/colorControlNormal">
     <path
         android:fillColor="#FFFFFFFF"
         android:pathData="M11.99,2.0C6.47,2.0 2.0,6.48 2.0,12.0s4.47,10.0 9.99,10.0C17.52,22.0 22.0,17.52 22.0,12.0S17.52,2.0 11.99,2.0z
diff --git a/res/drawable/ic_settings_location.xml b/res/drawable/ic_settings_location.xml
index 02f24cf..c774b2e 100644
--- a/res/drawable/ic_settings_location.xml
+++ b/res/drawable/ic_settings_location.xml
@@ -18,7 +18,7 @@
         android:height="24.0dp"
         android:viewportWidth="24.0"
         android:viewportHeight="24.0"
-        android:tint="?android:attr/colorAccent">
+        android:tint="?android:attr/colorControlNormal">
     <path
         android:fillColor="#FFFFFFFF"
         android:pathData="M12.0,2.0C8.13,2.0 5.0,5.13 5.0,9.0c0.0,5.25 7.0,13.0 7.0,13.0s7.0,-7.75 7.0,-13.0c0.0,-3.87 -3.13,-7.0 -7.0,-7.0zm0.0,9.5c-1.38,0.0 -2.5,-1.12 -2.5,-2.5s1.12,-2.5 2.5,-2.5 2.5,1.12 2.5,2.5 -1.12,2.5 -2.5,2.5z"/>
diff --git a/res/drawable/ic_settings_memory.xml b/res/drawable/ic_settings_memory.xml
index 410460e..830dfc9 100644
--- a/res/drawable/ic_settings_memory.xml
+++ b/res/drawable/ic_settings_memory.xml
@@ -18,7 +18,7 @@
         android:height="32dp"
         android:viewportWidth="24.0"
         android:viewportHeight="24.0"
-        android:tint="?android:attr/colorAccent">
+        android:tint="?android:attr/colorControlNormal">
     <path
         android:pathData="M6.0,4.0l0.0,16.0 12.0,0.0 0.0,-16.0 -12.0,0.0z
         M6.0,5.25l0,1.5 -3,0 0,-1.5 3,0z
diff --git a/res/drawable/ic_settings_more.xml b/res/drawable/ic_settings_more.xml
index cd7e866..6fc4ebb 100644
--- a/res/drawable/ic_settings_more.xml
+++ b/res/drawable/ic_settings_more.xml
@@ -18,7 +18,7 @@
         android:height="24.0dp"
         android:viewportWidth="18.0"
         android:viewportHeight="18.0"
-        android:tint="?android:attr/colorAccent">
+        android:tint="?android:attr/colorControlNormal">
     <path
         android:fillColor="#FFFFFFFF"
         android:pathData="M4.0,7.5c-0.83,0.0 -1.0,0.67 -1.5,1.5s0.67,1.5 1.5,1.5S5.5,9.83 5.5,9.0 4.83,7.5 4.0,7.5zm10.0,0.0c-0.83,0.0 -1.0,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.5zm-5.0,0.0c-0.83,0.0 -1.0,0.67 -1.5,1.5s0.67,1.5 1.5,1.5 1.5,-0.67 1.5,-1.5S9.83,7.5 9.0,7.5z"/>
diff --git a/res/drawable/ic_settings_multiuser.xml b/res/drawable/ic_settings_multiuser.xml
index b24a5d4..4dd83a5 100644
--- a/res/drawable/ic_settings_multiuser.xml
+++ b/res/drawable/ic_settings_multiuser.xml
@@ -18,7 +18,7 @@
         android:height="24.0dp"
         android:viewportWidth="24.0"
         android:viewportHeight="24.0"
-        android:tint="?android:attr/colorAccent">
+        android:tint="?android:attr/colorControlNormal">
     <path
         android:fillColor="#FFFFFFFF"
         android:pathData="M12.0,12.0c2.21,0.0 4.0,-1.79 4.0,-4.0s-1.79,-4.0 -4.0,-4.0 -4.0,1.79 -4.0,4.0 1.79,4.0 4.0,4.0zm0.0,2.0c-2.67,0.0 -8.0,1.34 -8.0,4.0l0.0,2.0l16.0,0.0l0.0,-2.0c0.0,-2.66 -5.33,-4.0 -8.0,-4.0z"/>
diff --git a/res/drawable/ic_settings_nfc_payment.xml b/res/drawable/ic_settings_nfc_payment.xml
index 897cd8b..555a6b4 100644
--- a/res/drawable/ic_settings_nfc_payment.xml
+++ b/res/drawable/ic_settings_nfc_payment.xml
@@ -17,6 +17,6 @@
 
 <bitmap xmlns:android="http://schemas.android.com/apk/res/android"
     android:src="@drawable/ic_settings_nfc_payment_am_alpha"
-    android:tint="?android:attr/colorAccent"
+    android:tint="?android:attr/colorControlNormal"
     android:autoMirrored="true" />
 
diff --git a/res/drawable/ic_settings_night_display.xml b/res/drawable/ic_settings_night_display.xml
index edd1da7..7f161e2 100644
--- a/res/drawable/ic_settings_night_display.xml
+++ b/res/drawable/ic_settings_night_display.xml
@@ -18,7 +18,7 @@
     android:height="24dp"
     android:viewportWidth="24"
     android:viewportHeight="24"
-    android:tint="?android:attr/colorAccent">
+    android:tint="?android:attr/colorControlNormal">
 
     <path
         android:fillColor="#FFF"
diff --git a/res/drawable/ic_settings_notifications.xml b/res/drawable/ic_settings_notifications.xml
index 24e9ae0..2b49afe 100644
--- a/res/drawable/ic_settings_notifications.xml
+++ b/res/drawable/ic_settings_notifications.xml
@@ -18,7 +18,7 @@
         android:height="24.0dp"
         android:viewportWidth="24.0"
         android:viewportHeight="24.0"
-        android:tint="?android:attr/colorAccent">
+        android:tint="?android:attr/colorControlNormal">
     <path
         android:fillColor="#FFFFFFFF"
         android:pathData="M12.0,22.0c1.1,0.0 2.0,-0.9 2.0,-2.0l-4.0,0.0c0.0,1.0 0.89,2.0 2.0,2.0zm6.0,-6.0l0.0,-5.0c0.0,-3.07 -1.64,-5.64 -4.5,-6.32L13.5,4.0c0.0,-0.83 -0.67,-1.5 -1.5,-1.5s-1.0,0.67 -1.5,1.5l0.0,0.68C7.63,5.36 6.0,7.92 6.0,11.0l0.0,5.0l-2.0,2.0l0.0,1.0l16.0,0.0l0.0,-1.0l-2.0,-2.0z"/>
diff --git a/res/drawable/ic_settings_print.xml b/res/drawable/ic_settings_print.xml
index 31a7189..7470014 100644
--- a/res/drawable/ic_settings_print.xml
+++ b/res/drawable/ic_settings_print.xml
@@ -18,7 +18,7 @@
         android:height="24.0dp"
         android:viewportWidth="24.0"
         android:viewportHeight="24.0"
-        android:tint="?android:attr/colorAccent">
+        android:tint="?android:attr/colorControlNormal">
     <path
         android:fillColor="#FFFFFFFF"
         android:pathData="M19.0,8.0L5.0,8.0c-1.66,0.0 -3.0,1.34 -3.0,3.0l0.0,6.0l4.0,0.0l0.0,4.0l12.0,0.0l0.0,-4.0l4.0,0.0l0.0,-6.0c0.0,-1.66 -1.34,-3.0 -3.0,-3.0zm-3.0,11.0L8.0,19.0l0.0,-5.0l8.0,0.0l0.0,5.0zm3.0,-7.0c-0.55,0.0 -1.0,-0.45 -1.0,-1.0s0.45,-1.0 1.0,-1.0 1.0,0.45 1.0,1.0 -0.45,1.0 -1.0,1.0zm-1.0,-9.0L6.0,3.0l0.0,4.0l12.0,0.0L18.0,3.0z"/>
diff --git a/res/drawable/ic_settings_security.xml b/res/drawable/ic_settings_security.xml
index c12f304..34accd0 100644
--- a/res/drawable/ic_settings_security.xml
+++ b/res/drawable/ic_settings_security.xml
@@ -18,7 +18,7 @@
         android:height="24.0dp"
         android:viewportWidth="24.0"
         android:viewportHeight="24.0"
-        android:tint="?android:attr/colorAccent">
+        android:tint="?android:attr/colorControlNormal">
     <path
         android:fillColor="#FFFFFFFF"
         android:pathData="M18.0,8.0l-1.0,0.0L17.0,6.0c0.0,-2.76 -2.24,-5.0 -5.0,-5.0S7.0,3.24 7.0,6.0l0.0,2.0L6.0,8.0c-1.1,0.0 -2.0,0.9 -2.0,2.0l0.0,10.0c0.0,1.0 0.9,2.0 2.0,2.0l12.0,0.0c1.1,0.0 2.0,-0.9 2.0,-2.0L20.0,10.0c0.0,-1.1 -0.9,-2.0 -2.0,-2.0zm-6.0,9.0c-1.1,0.0 -2.0,-0.9 -2.0,-2.0s0.9,-2.0 2.0,-2.0 2.0,0.9 2.0,2.0 -0.9,2.0 -2.0,2.0zm3.1,-9.0L8.9,8.0L8.9,6.0c0.0,-1.71 1.39,-3.1 3.1,-3.1 1.71,0.0 3.1,1.39 3.1,3.1l0.0,2.0z"/>
diff --git a/res/drawable/ic_settings_sim.xml b/res/drawable/ic_settings_sim.xml
index d2b9d2f..ca548cf 100644
--- a/res/drawable/ic_settings_sim.xml
+++ b/res/drawable/ic_settings_sim.xml
@@ -17,5 +17,5 @@
 
 <bitmap xmlns:android="http://schemas.android.com/apk/res/android"
     android:src="@drawable/ic_sim_sd"
-    android:tint="?android:attr/colorAccent" />
+    android:tint="?android:attr/colorControlNormal" />
 
diff --git a/res/drawable/ic_settings_sound.xml b/res/drawable/ic_settings_sound.xml
index 679e729..598a02a 100644
--- a/res/drawable/ic_settings_sound.xml
+++ b/res/drawable/ic_settings_sound.xml
@@ -18,7 +18,7 @@
         android:height="24.0dp"
         android:viewportWidth="24.0"
         android:viewportHeight="24.0"
-        android:tint="?android:attr/colorAccent">
+        android:tint="?android:attr/colorControlNormal">
     <path
         android:fillColor="#FFFFFFFF"
         android:pathData="M3.0,9.0l0.0,6.0l4.0,0.0l5.0,5.0L12.0,4.0L7.0,9.0L3.0,9.0zm13.5,3.0c0.0,-1.77 -1.02,-3.29 -2.5,-4.03l0.0,8.05c1.48,-0.73 2.5,-2.25 2.5,-4.02zM14.0,3.23l0.0,2.06c2.8,0.86 5.0,3.54 5.0,6.71s-2.11,5.85 -5.0,6.71l0.0,2.06c4.01,-0.91 7.0,-4.49 7.0,-8.77s-2.99,-7.86 -7.0,-8.77z"/>
diff --git a/res/drawable/ic_settings_storage.xml b/res/drawable/ic_settings_storage.xml
index fe472eb..9bf6a27 100644
--- a/res/drawable/ic_settings_storage.xml
+++ b/res/drawable/ic_settings_storage.xml
@@ -18,7 +18,7 @@
         android:height="24.0dp"
         android:viewportWidth="24.0"
         android:viewportHeight="24.0"
-        android:tint="?android:attr/colorAccent">
+        android:tint="?android:attr/colorControlNormal">
     <path
         android:fillColor="#FFFFFFFF"
         android:pathData="M2.0,20.0l20.0,0.0l0.0,-4.0L2.0,16.0l0.0,4.0zm2.0,-3.0l2.0,0.0l0.0,2.0L4.0,19.0l0.0,-2.0zM2.0,4.0l0.0,4.0l20.0,0.0L22.0,4.0L2.0,4.0zm4.0,3.0L4.0,7.0L4.0,5.0l2.0,0.0l0.0,2.0zm-4.0,7.0l20.0,0.0l0.0,-4.0L2.0,10.0l0.0,4.0zm2.0,-3.0l2.0,0.0l0.0,2.0L4.0,13.0l0.0,-2.0z"/>
diff --git a/res/drawable/ic_settings_wireless.xml b/res/drawable/ic_settings_wireless.xml
index 2aeb9e2..9859f31 100644
--- a/res/drawable/ic_settings_wireless.xml
+++ b/res/drawable/ic_settings_wireless.xml
@@ -18,7 +18,7 @@
         android:height="24.0dp"
         android:viewportWidth="18.0"
         android:viewportHeight="18.0"
-        android:tint="?android:attr/colorAccent">
+        android:tint="?android:attr/colorControlNormal">
     <path
         android:fillColor="#FFFFFFFF"
         android:pathData="M9.01,15.99l8.8,-10.96C17.47,4.77 14.08,2.0 9.0,2.0S0.53,4.7 0.19,5.03l8.8,10.96l0.02,0.0z"/>
diff --git a/res/drawable/ic_support_24dp.xml b/res/drawable/ic_support_24dp.xml
new file mode 100644
index 0000000..b7e2f53
--- /dev/null
+++ b/res/drawable/ic_support_24dp.xml
@@ -0,0 +1,31 @@
+<?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.
+-->
+
+<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:fillColor="#FF000000"
+        android:pathData="M20,19.59V8l-6,-6H6c-1.1,0 -1.99,0.9 -1.99,2L4,20c0,1.1 0.89,2
+        1.99,2H18c0.45,0 0.85,-0.15 1.19,-0.4l-4.43,-4.43c-0.8,0.52 -1.74,0.83 -2.76,0.83 -2.76,0
+         -5,-2.24 -5,-5s2.24,-5 5,-5 5,2.24 5,5c0,1.02 -0.31,1.96 -0.83,2.75L20,19.59zM9,13c0,1.66
+          1.34,3 3,3s3,-1.34 3,-3 -1.34,-3 -3,-3 -3,1.34 -3,3z"/>
+</vector>
\ No newline at end of file
diff --git a/res/drawable/ic_sync.xml b/res/drawable/ic_sync.xml
new file mode 100644
index 0000000..45a2dbd
--- /dev/null
+++ b/res/drawable/ic_sync.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,4L12,1L8,5l4,4L12,6c3.31,0 6,2.69 6,6 0,1.01 -0.25,1.97 -0.7,2.8l1.46,1.46C19.54,15.03 20,13.57 20,12c0,-4.42 -3.58,-8 -8,-8zM12,18c-3.31,0 -6,-2.69 -6,-6 0,-1.01 0.25,-1.97 0.7,-2.8L5.24,7.74C4.46,8.97 4,10.43 4,12c0,4.42 3.58,8 8,8v3l4,-4 -4,-4v3z"
+        android:fillColor="#FFFFFFFF"/>
+</vector>
diff --git a/res/drawable/ic_system_update.xml b/res/drawable/ic_system_update.xml
new file mode 100644
index 0000000..ef8f991
--- /dev/null
+++ b/res/drawable/ic_system_update.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="M17,1.01L7,1c-1.1,0 -2,0.9 -2,2v18c0,1.1 0.9,2 2,2h10c1.1,0 2,-0.9 2,-2L19,3c0,-1.1 -0.9,-1.99 -2,-1.99zM17,19L7,19L7,5h10v14zM16,13h-3L13,8h-2v5L8,13l4,4 4,-4z"
+        android:fillColor="#FFFFFFFF"/>
+</vector>
diff --git a/res/drawable/ic_wallpaper.xml b/res/drawable/ic_wallpaper.xml
index c46df83..20da9c3 100644
--- a/res/drawable/ic_wallpaper.xml
+++ b/res/drawable/ic_wallpaper.xml
@@ -18,7 +18,7 @@
         android:height="24.0dp"
         android:viewportWidth="24.0"
         android:viewportHeight="24.0"
-        android:tint="?android:attr/colorAccent">
+        android:tint="?android:attr/colorControlNormal">
     <path
         android:fillColor="#FF000000"
         android:pathData="M4.0,4.0l7.0,0.0L11.0,2.0L4.0,2.0c-1.1,0.0 -2.0,0.9 -2.0,2.0l0.0,7.0l2.0,0.0L4.0,4.0zm6.0,9.0l-4.0,5.0l12.0,0.0l-3.0,-4.0 -2.03,2.71L10.0,13.0zm7.0,-4.5c0.0,-0.83 -0.67,-1.5 -1.5,-1.5S14.0,7.67 14.0,8.5s0.67,1.5 1.5,1.5S17.0,9.33 17.0,8.5zM20.0,2.0l-7.0,0.0l0.0,2.0l7.0,0.0l0.0,7.0l2.0,0.0L22.0,4.0c0.0,-1.1 -0.9,-2.0 -2.0,-2.0zm0.0,18.0l-7.0,0.0l0.0,2.0l7.0,0.0c1.1,0.0 2.0,-0.9 2.0,-2.0l0.0,-7.0l-2.0,0.0l0.0,7.0zM4.0,13.0L2.0,13.0l0.0,7.0c0.0,1.0 0.9,2.0 2.0,2.0l7.0,0.0l0.0,-2.0L4.0,20.0l0.0,-7.0z"/>
diff --git a/res/drawable/tile_icon_graphics.xml b/res/drawable/tile_icon_graphics.xml
deleted file mode 100644
index 84a0a5a..0000000
--- a/res/drawable/tile_icon_graphics.xml
+++ /dev/null
@@ -1,52 +0,0 @@
-<!--
-Copyright (C) 2015 The Android Open Source Project
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-    you may not use this file except in compliance with the License.
-    You may obtain a copy of the License at
-
-         http://www.apache.org/licenses/LICENSE-2.0
-
-    Unless required by applicable law or agreed to in writing, software
-    distributed under the License is distributed on an "AS IS" BASIS,
-    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-    See the License for the specific language governing permissions and
-    limitations under the License.
--->
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
-        android:width="24dp"
-        android:height="24dp"
-        android:viewportWidth="24.0"
-        android:viewportHeight="24.0">
-    <path
-        android:fillColor="#FFFFFFFF"
-        android:pathData="M23,1v22H1V1H23 M24,0H0v24h24V0L24,0z"/>
-    <path
-        android:strokeColor="#FFFFFFFF"
-        android:strokeWidth="0.667"
-        android:pathData="M5,19L1,23"/>
-    <path
-        android:strokeColor="#FFFFFFFF"
-        android:strokeWidth="0.667"
-        android:pathData="M1,1L5,5"/>
-    <path
-        android:strokeColor="#FFFFFFFF"
-        android:strokeWidth="0.667"
-        android:pathData="M19,5L23,1"/>
-    <path
-        android:strokeColor="#FFFFFFFF"
-        android:strokeWidth="0.667"
-        android:pathData="M19,19L23,23"/>
-    <path
-        android:fillColor="#FFFFFFFF"
-        android:pathData="M14,3.8l-4,0l-0.2,-0.8l4.4,0z"/>
-    <path
-        android:fillColor="#FFFFFFFF"
-        android:pathData="M18.8,5.2v13.5H5.2V5.2H18.8 M19.5,4.5h-15v15h15V4.5L19.5,4.5z"/>
-    <path
-        android:fillColor="#FFFFFFFF"
-        android:pathData="M6.5,9.5h5v11h-5z"/>
-    <path
-        android:fillColor="#FFFFFFFF"
-        android:pathData="M12.5,16.5h5v5h-5z"/>
-</vector>
diff --git a/res/drawable/tile_icon_show_layout.xml b/res/drawable/tile_icon_show_layout.xml
deleted file mode 100644
index b9b825e..0000000
--- a/res/drawable/tile_icon_show_layout.xml
+++ /dev/null
@@ -1,60 +0,0 @@
-<!--
-Copyright (C) 2015 The Android Open Source Project
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-    you may not use this file except in compliance with the License.
-    You may obtain a copy of the License at
-
-         http://www.apache.org/licenses/LICENSE-2.0
-
-    Unless required by applicable law or agreed to in writing, software
-    distributed under the License is distributed on an "AS IS" BASIS,
-    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-    See the License for the specific language governing permissions and
-    limitations under the License.
--->
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
-        android:width="24dp"
-        android:height="24dp"
-        android:viewportWidth="24.0"
-        android:viewportHeight="24.0">
-    <path
-        android:fillColor="#FFFFFFFF"
-        android:pathData="M12,7.2c-3.2,0 -5.9,2 -7,4.8c1.1,2.8 3.8,4.8 7,4.8s5.9,-2 7,-4.8C17.9,9.2 15.2,7.2 12,7.2zM12,15.2c-1.8,0 -3.2,-1.4 -3.2,-3.2s1.4,-3.2 3.2,-3.2s3.2,1.4 3.2,3.2S13.8,15.2 12,15.2zM12,10.1c-1.1,0 -1.9,0.9 -1.9,1.9s0.9,1.9 1.9,1.9s1.9,-0.9 1.9,-1.9S13.1,10.1 12,10.1z"/>
-    <path
-        android:fillColor="#80FFFFFF"
-        android:pathData="M0.0,6.0h1.0v12.0h-1.0z"/>
-    <path
-        android:fillColor="#80FFFFFF"
-        android:pathData="M6.0,0.0h12.0v1.0h-12.0z"/>
-    <path
-        android:fillColor="#80FFFFFF"
-        android:pathData="M23.0,6.0h1.0v12.0h-1.0z"/>
-    <path
-        android:fillColor="#80FFFFFF"
-        android:pathData="M6.0,23.0h12.0v1.0h-12.0z"/>
-    <path
-        android:fillColor="#FFFFFFFF"
-        android:pathData="M1.0,23.0l0.0,-5.0l-1.0,0.0l0.0,6.0l6.0,0.0l0.0,-1.0z"/>
-    <path
-        android:fillColor="#FFFFFFFF"
-        android:pathData="M1.0,1.0l5.0,0.0l0.0,-1.0l-6.0,0.0l0.0,6.0l1.0,0.0z"/>
-    <path
-        android:fillColor="#FFFFFFFF"
-        android:pathData="M18.0,0.0l0.0,1.0l5.0,0.0l0.0,5.0l1.0,0.0l0.0,-6.0z"/>
-    <path
-        android:fillColor="#FFFFFFFF"
-        android:pathData="M23.0,23.0l-5.0,0.0l0.0,1.0l6.0,0.0l0.0,-6.0l-1.0,0.0z"/>
-    <path
-        android:fillColor="#80FFFFFF"
-        android:pathData="M9.5,6.0h5.0v1.0h-5.0z"/>
-    <path
-        android:fillColor="#80FFFFFF"
-        android:pathData="M9.5,17.0h5.0v1.0h-5.0z"/>
-    <path
-        android:fillColor="#FFFFFFFF"
-        android:pathData="M4.5,7.0l5.0,0.0l0.0,-1.0l-6.0,0.0l0.0,6.0l0.0,6.0l6.0,0.0l0.0,-1.0l-5.0,0.0l0.0,-5.0z"/>
-    <path
-        android:fillColor="#FFFFFFFF"
-        android:pathData="M14.5,6.0l0.0,1.0l5.0,0.0l0.0,5.0l0.0,5.0l-5.0,0.0l0.0,1.0l6.0,0.0l0.0,-6.0l0.0,-6.0z"/>
-</vector>
diff --git a/res/layout/account_header.xml b/res/layout/account_header.xml
new file mode 100755
index 0000000..7cae95e
--- /dev/null
+++ b/res/layout/account_header.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 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.
+-->
+
+<LinearLayout
+        xmlns:android="http://schemas.android.com/apk/res/android"
+        style="@style/EntityHeader"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:paddingStart="?android:attr/listPreferredItemPaddingStart"
+        android:paddingEnd="?android:attr/listPreferredItemPaddingEnd"
+        android:gravity="center_vertical"
+        android:paddingTop="24dip"
+        android:paddingBottom="24dip"
+        android:orientation="horizontal">
+
+        <LinearLayout
+          android:id="@+id/icon_container"
+          android:layout_width="wrap_content"
+          android:layout_height="wrap_content"
+          android:minWidth="60dp"
+          android:orientation="horizontal"
+          android:paddingEnd="12dp"
+          android:paddingTop="12dp"
+          android:paddingBottom="12dp">
+                <ImageView
+                  android:id="@android:id/icon"
+                  android:layout_width="wrap_content"
+                  android:layout_height="wrap_content"
+                  android:maxWidth="48dp"
+                  android:maxHeight="48dp"/>
+        </LinearLayout>
+
+        <TextView
+          android:id="@android:id/title"
+          style="@style/TextAppearance.EntityHeaderTitle"
+          android:layout_width="wrap_content"
+          android:layout_height="wrap_content"
+          android:singleLine="true"/>
+
+</LinearLayout>
diff --git a/res/layout/app_details.xml b/res/layout/app_details.xml
index 4e654fd..7994a4c 100644
--- a/res/layout/app_details.xml
+++ b/res/layout/app_details.xml
@@ -18,7 +18,7 @@
 <LinearLayout
     xmlns:android="http://schemas.android.com/apk/res/android"
     android:id="@+id/app_snippet"
-    style="@style/AppHeader"
+    style="@style/EntityHeader"
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
     android:layout_gravity="center_horizontal|top"
@@ -37,7 +37,7 @@
 
     <TextView
         android:id="@android:id/title"
-        style="@style/TextAppearance.AppHeaderTitle"
+        style="@style/TextAppearance.EntityHeaderTitle"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:singleLine="true"
diff --git a/res/layout/apps_filter_spinner.xml b/res/layout/apps_filter_spinner.xml
index b8b5c90..3ba7404 100644
--- a/res/layout/apps_filter_spinner.xml
+++ b/res/layout/apps_filter_spinner.xml
@@ -18,7 +18,6 @@
 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
     android:layout_height="?android:attr/actionBarSize"
-    android:background="@drawable/switchbar_background"
     android:gravity="center_vertical"
     android:paddingEnd="@dimen/switchbar_subsettings_margin_end"
     android:theme="?attr/switchBarTheme" >
diff --git a/res/layout/development_tile_config_header.xml b/res/layout/development_tile_config_header.xml
new file mode 100644
index 0000000..5169da2
--- /dev/null
+++ b/res/layout/development_tile_config_header.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+  ~ 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
+  -->
+
+<TextView
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="?android:attr/actionBarSize"
+    android:background="@drawable/switchbar_background"
+    android:text="@string/developer_tile_unavailable"
+    android:paddingStart="8dip"
+    android:paddingEnd="8dip"
+    android:singleLine="true"
+    android:ellipsize="marquee"
+    android:marqueeRepeatLimit ="marquee_forever"
+    android:textSize="16sp"
+    android:fontFamily="sans-serif"
+    android:textColor="?android:attr/textColorPrimary"
+    android:gravity="center" />
diff --git a/res/layout/expand_preference.xml b/res/layout/expand_preference.xml
index 640cda7..1392d65 100644
--- a/res/layout/expand_preference.xml
+++ b/res/layout/expand_preference.xml
@@ -15,18 +15,63 @@
   limitations under the License.
   -->
 
+<!-- Based off frameworks/base/core/res/res/layout/preference_material.xml -->
 <LinearLayout
     xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
-    android:background="@drawable/selectable_card_grey"
-    android:gravity="center_vertical"
     android:minHeight="?android:attr/listPreferredItemHeight"
-    android:orientation="vertical"
-    android:paddingEnd="?android:attr/scrollbarSize">
-    <TextView
-        android:id="@android:id/title"
+    android:gravity="center_vertical"
+    android:paddingStart="?android:attr/listPreferredItemPaddingStart"
+    android:paddingEnd="?android:attr/listPreferredItemPaddingEnd"
+    android:background="?android:attr/selectableItemBackground"
+    android:clipToPadding="false">
+
+    <LinearLayout
+        android:id="@+id/icon_container"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
-        android:layout_gravity="center"/>
-</LinearLayout>
\ No newline at end of file
+        android:minWidth="60dp"
+        android:gravity="start|center_vertical"
+        android:orientation="horizontal"
+        android:paddingEnd="12dp"
+        android:paddingTop="4dp"
+        android:paddingBottom="4dp">
+        <com.android.internal.widget.PreferenceImageView
+            android:id="@android:id/icon"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:maxWidth="48dp"
+            android:maxHeight="48dp"/>
+    </LinearLayout>
+
+    <RelativeLayout
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_weight="1"
+        android:paddingTop="16dp"
+        android:paddingBottom="16dp">
+
+        <TextView
+            android:id="@android:id/title"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:singleLine="true"
+            android:textAppearance="?android:attr/textAppearanceListItem"
+            android:textColor="?android:attr/colorAccent"
+            android:ellipsize="marquee"/>
+
+        <TextView
+            android:id="@android:id/summary"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_below="@android:id/title"
+            android:layout_alignStart="@android:id/title"
+            android:textAppearance="?android:attr/textAppearanceListItemSecondary"
+            android:textColor="?android:attr/textColorSecondary"
+            android:ellipsize="marquee"
+            android:maxLines="1"/>
+
+    </RelativeLayout>
+
+</LinearLayout>
diff --git a/res/layout/remove_account_button.xml b/res/layout/remove_account_button.xml
new file mode 100644
index 0000000..6b47c37
--- /dev/null
+++ b/res/layout/remove_account_button.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 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.
+-->
+<LinearLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:orientation="vertical">
+
+    <Button
+      android:id="@+id/button"
+      android:text="@string/remove_account_label"
+      android:layout_width="wrap_content"
+      android:layout_height="wrap_content"
+      android:layout_gravity="center_horizontal"
+      android:layout_marginTop="20dip"
+      android:layout_marginBottom="12dip"
+      android:gravity="center" />
+
+</LinearLayout>
diff --git a/res/layout/storage_item_alternate.xml b/res/layout/storage_item_alternate.xml
new file mode 100644
index 0000000..b41c82b
--- /dev/null
+++ b/res/layout/storage_item_alternate.xml
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 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.
+-->
+
+<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">
+
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:orientation="horizontal">
+
+        <TextView
+            android:id="@android:id/title"
+            android:layout_width="0dp"
+            android:layout_height="wrap_content"
+            android:layout_weight="1"
+            android:singleLine="true"
+            android:textAppearance="@android:style/TextAppearance.Material.Subhead"
+            android:textAlignment="viewStart"
+            android:ellipsize="marquee"
+            android:fadingEdge="horizontal" />
+
+        <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:textColor="?android:attr/textColorSecondaryNoDisable"
+            android:maxLines="10" />
+
+    </LinearLayout>
+
+</LinearLayout>
diff --git a/res/layout/storage_summary_donut.xml b/res/layout/storage_summary_donut.xml
new file mode 100644
index 0000000..9cffe69
--- /dev/null
+++ b/res/layout/storage_summary_donut.xml
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 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.
+-->
+
+<!-- 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">
+
+    <TextView
+        android:id="@android:id/title"
+        android:layout_width="wrap_content"
+        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" />
+
+    <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" />
+
+    <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" />
+
+</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/layout/wifi_advance_layout.xml b/res/layout/wifi_advance_layout.xml
deleted file mode 100644
index 85f7a5f..0000000
--- a/res/layout/wifi_advance_layout.xml
+++ /dev/null
@@ -1,64 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2014 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="48dip"
-    android:gravity="center_vertical"
-    android:background="?android:attr/selectableItemBackground">
-
-    <RelativeLayout
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_weight="1"
-        android:paddingTop="6dip"
-        android:paddingBottom="6dip">
-
-        <TextView
-            android:id="@android:id/title"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:paddingStart="16dip"
-            android:paddingEnd="16dip"
-            android:singleLine="true"
-            android:textAppearance="?android:attr/textAppearanceSmall"
-            android:ellipsize="marquee"
-            android:fadingEdge="horizontal" />
-
-        <TextView
-            android:id="@android:id/summary"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_below="@android:id/title"
-            android:layout_alignStart="@android:id/title"
-            android:paddingStart="16dip"
-            android:layout_marginEnd="16dip"
-            android:visibility="gone"
-            android:textAppearance="?android:attr/textAppearanceSmall"
-            android:textColor="?android:attr/textColorSecondary"
-            android:maxLines="4" />
-
-    </RelativeLayout>
-
-    <LinearLayout
-        android:id="@android:id/widget_frame"
-        android:layout_width="wrap_content"
-        android:layout_height="match_parent"
-        android:gravity="center_vertical"
-        android:orientation="vertical" />
-
-</LinearLayout>
diff --git a/res/values-af/strings.xml b/res/values-af/strings.xml
index 601e75f..6e956d4 100644
--- a/res/values-af/strings.xml
+++ b/res/values-af/strings.xml
@@ -658,7 +658,8 @@
     <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>
+    <!-- no translation found for android_beam_explained (1810540319385192758) -->
+    <skip />
     <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 +2582,8 @@
     <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>
+    <!-- no translation found for keywords_payment_settings (5220104934130446416) -->
+    <skip />
     <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 +2805,8 @@
     <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>
+    <!-- no translation found for display_auto_rotate_title (7119684966039069439) -->
+    <skip />
     <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 +3196,10 @@
     <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>
+    <!-- no translation found for developer_tile (4822711696408279658) -->
+    <skip />
+    <!-- no translation found for developer_tile_unavailable (6559656549479711827) -->
+    <skip />
     <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 +3321,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>
+    <!-- no translation found for storage_photos_videos (1872663116054954685) -->
+    <skip />
+    <!-- no translation found for storage_music_audio (7890103397813503615) -->
+    <skip />
+    <!-- no translation found for storage_games (7703159201697117621) -->
+    <skip />
+    <!-- no translation found for storage_other_apps (5524321740031718083) -->
+    <skip />
+    <!-- no translation found for storage_files (8581083146777364063) -->
+    <skip />
+    <!-- no translation found for storage_settings_2 (6369810699930056554) -->
+    <skip />
 </resources>
diff --git a/res/values-am/strings.xml b/res/values-am/strings.xml
index 5653769..8c8d3b1 100644
--- a/res/values-am/strings.xml
+++ b/res/values-am/strings.xml
@@ -658,7 +658,8 @@
     <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>
+    <!-- no translation found for android_beam_explained (1810540319385192758) -->
+    <skip />
     <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 +2582,8 @@
     <string name="keywords_profile_challenge" msgid="789611397846512845">"የስራ ፈተና፣ ስራ፣ መገለጫ"</string>
     <string name="keywords_unification" msgid="1922900767659821025">"የሥራ መገለጫ፣ የሚተዳደር መገለጫ፣ አዋህድ፣ ውህደት፣ ሥራ፣ መገለጫ"</string>
     <string name="keywords_gesture" msgid="5696040361482126337">"የጣት ምልክት"</string>
+    <!-- no translation found for keywords_payment_settings (5220104934130446416) -->
+    <skip />
     <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 +2805,8 @@
     <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>
+    <!-- no translation found for display_auto_rotate_title (7119684966039069439) -->
+    <skip />
     <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 +3196,10 @@
     <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>
+    <!-- no translation found for developer_tile (4822711696408279658) -->
+    <skip />
+    <!-- no translation found for developer_tile_unavailable (6559656549479711827) -->
+    <skip />
     <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 +3321,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>
+    <!-- no translation found for storage_photos_videos (1872663116054954685) -->
+    <skip />
+    <!-- no translation found for storage_music_audio (7890103397813503615) -->
+    <skip />
+    <!-- no translation found for storage_games (7703159201697117621) -->
+    <skip />
+    <!-- no translation found for storage_other_apps (5524321740031718083) -->
+    <skip />
+    <!-- no translation found for storage_files (8581083146777364063) -->
+    <skip />
+    <!-- no translation found for storage_settings_2 (6369810699930056554) -->
+    <skip />
 </resources>
diff --git a/res/values-ar/strings.xml b/res/values-ar/strings.xml
index d2056f5..bb9e83d 100644
--- a/res/values-ar/strings.xml
+++ b/res/values-ar/strings.xml
@@ -694,7 +694,8 @@
     <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>
+    <!-- no translation found for android_beam_explained (1810540319385192758) -->
+    <skip />
     <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 +2670,8 @@
     <string name="keywords_profile_challenge" msgid="789611397846512845">"المنافسة في العمل، عمل، ملف شخصي"</string>
     <string name="keywords_unification" msgid="1922900767659821025">"الملف الشخصي للعمل، ملف شخصي مُدار، يوحِّد، توحيد، عمل، ملف شخصي"</string>
     <string name="keywords_gesture" msgid="5696040361482126337">"إيماءة"</string>
+    <!-- no translation found for keywords_payment_settings (5220104934130446416) -->
+    <skip />
     <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 +2905,8 @@
     <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>
+    <!-- no translation found for display_auto_rotate_title (7119684966039069439) -->
+    <skip />
     <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 +3324,10 @@
     <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>
+    <!-- no translation found for developer_tile (4822711696408279658) -->
+    <skip />
+    <!-- no translation found for developer_tile_unavailable (6559656549479711827) -->
+    <skip />
     <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 +3465,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>
+    <!-- no translation found for storage_photos_videos (1872663116054954685) -->
+    <skip />
+    <!-- no translation found for storage_music_audio (7890103397813503615) -->
+    <skip />
+    <!-- no translation found for storage_games (7703159201697117621) -->
+    <skip />
+    <!-- no translation found for storage_other_apps (5524321740031718083) -->
+    <skip />
+    <!-- no translation found for storage_files (8581083146777364063) -->
+    <skip />
+    <!-- no translation found for storage_settings_2 (6369810699930056554) -->
+    <skip />
 </resources>
diff --git a/res/values-az-rAZ/strings.xml b/res/values-az-rAZ/strings.xml
index db62537..0ce21c7 100644
--- a/res/values-az-rAZ/strings.xml
+++ b/res/values-az-rAZ/strings.xml
@@ -658,7 +658,8 @@
     <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>
+    <!-- no translation found for android_beam_explained (1810540319385192758) -->
+    <skip />
     <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 +2582,8 @@
     <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>
+    <!-- no translation found for keywords_payment_settings (5220104934130446416) -->
+    <skip />
     <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 +2805,8 @@
     <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>
+    <!-- no translation found for display_auto_rotate_title (7119684966039069439) -->
+    <skip />
     <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 +3196,10 @@
     <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>
+    <!-- no translation found for developer_tile (4822711696408279658) -->
+    <skip />
+    <!-- no translation found for developer_tile_unavailable (6559656549479711827) -->
+    <skip />
     <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 +3321,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>
+    <!-- no translation found for storage_photos_videos (1872663116054954685) -->
+    <skip />
+    <!-- no translation found for storage_music_audio (7890103397813503615) -->
+    <skip />
+    <!-- no translation found for storage_games (7703159201697117621) -->
+    <skip />
+    <!-- no translation found for storage_other_apps (5524321740031718083) -->
+    <skip />
+    <!-- no translation found for storage_files (8581083146777364063) -->
+    <skip />
+    <!-- no translation found for storage_settings_2 (6369810699930056554) -->
+    <skip />
 </resources>
diff --git a/res/values-b+sr+Latn/strings.xml b/res/values-b+sr+Latn/strings.xml
index 1340175..aea68aa 100644
--- a/res/values-b+sr+Latn/strings.xml
+++ b/res/values-b+sr+Latn/strings.xml
@@ -667,7 +667,8 @@
     <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>
+    <!-- no translation found for android_beam_explained (1810540319385192758) -->
+    <skip />
     <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 +2604,8 @@
     <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>
+    <!-- no translation found for keywords_payment_settings (5220104934130446416) -->
+    <skip />
     <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 +2830,8 @@
     <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>
+    <!-- no translation found for display_auto_rotate_title (7119684966039069439) -->
+    <skip />
     <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 +3228,10 @@
     <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>
+    <!-- no translation found for developer_tile (4822711696408279658) -->
+    <skip />
+    <!-- no translation found for developer_tile_unavailable (6559656549479711827) -->
+    <skip />
     <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 +3357,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>
+    <!-- no translation found for storage_photos_videos (1872663116054954685) -->
+    <skip />
+    <!-- no translation found for storage_music_audio (7890103397813503615) -->
+    <skip />
+    <!-- no translation found for storage_games (7703159201697117621) -->
+    <skip />
+    <!-- no translation found for storage_other_apps (5524321740031718083) -->
+    <skip />
+    <!-- no translation found for storage_files (8581083146777364063) -->
+    <skip />
+    <!-- no translation found for storage_settings_2 (6369810699930056554) -->
+    <skip />
 </resources>
diff --git a/res/values-be-rBY/strings.xml b/res/values-be-rBY/strings.xml
index 1032e5f..1c4b728 100644
--- a/res/values-be-rBY/strings.xml
+++ b/res/values-be-rBY/strings.xml
@@ -676,7 +676,8 @@
     <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>
+    <!-- no translation found for android_beam_explained (1810540319385192758) -->
+    <skip />
     <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 +2626,8 @@
     <string name="keywords_profile_challenge" msgid="789611397846512845">"працоўная задача, праца, профіль"</string>
     <string name="keywords_unification" msgid="1922900767659821025">"працоўны профіль, профіль пад кіраваннем, уніфікаваць, уніфікацыя, праца, профіль"</string>
     <string name="keywords_gesture" msgid="5696040361482126337">"жэст"</string>
+    <!-- no translation found for keywords_payment_settings (5220104934130446416) -->
+    <skip />
     <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 +2855,8 @@
     <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>
+    <!-- no translation found for display_auto_rotate_title (7119684966039069439) -->
+    <skip />
     <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 +3260,10 @@
     <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>
+    <!-- no translation found for developer_tile (4822711696408279658) -->
+    <skip />
+    <!-- no translation found for developer_tile_unavailable (6559656549479711827) -->
+    <skip />
     <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 +3393,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>
+    <!-- no translation found for storage_photos_videos (1872663116054954685) -->
+    <skip />
+    <!-- no translation found for storage_music_audio (7890103397813503615) -->
+    <skip />
+    <!-- no translation found for storage_games (7703159201697117621) -->
+    <skip />
+    <!-- no translation found for storage_other_apps (5524321740031718083) -->
+    <skip />
+    <!-- no translation found for storage_files (8581083146777364063) -->
+    <skip />
+    <!-- no translation found for storage_settings_2 (6369810699930056554) -->
+    <skip />
 </resources>
diff --git a/res/values-bg/strings.xml b/res/values-bg/strings.xml
index cba1635..65fd517 100644
--- a/res/values-bg/strings.xml
+++ b/res/values-bg/strings.xml
@@ -658,7 +658,8 @@
     <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>
+    <!-- no translation found for android_beam_explained (1810540319385192758) -->
+    <skip />
     <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 +2582,8 @@
     <string name="keywords_profile_challenge" msgid="789611397846512845">"служебно предизвикателство, работа, потребителски профил"</string>
     <string name="keywords_unification" msgid="1922900767659821025">"служебен потребителски профил, управляван потребителски профил, обединение, обединяване, работа, потребителски профил"</string>
     <string name="keywords_gesture" msgid="5696040361482126337">"жест"</string>
+    <!-- no translation found for keywords_payment_settings (5220104934130446416) -->
+    <skip />
     <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 +2805,8 @@
     <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>
+    <!-- no translation found for display_auto_rotate_title (7119684966039069439) -->
+    <skip />
     <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 +3196,10 @@
     <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>
+    <!-- no translation found for developer_tile (4822711696408279658) -->
+    <skip />
+    <!-- no translation found for developer_tile_unavailable (6559656549479711827) -->
+    <skip />
     <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 +3321,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>
+    <!-- no translation found for storage_photos_videos (1872663116054954685) -->
+    <skip />
+    <!-- no translation found for storage_music_audio (7890103397813503615) -->
+    <skip />
+    <!-- no translation found for storage_games (7703159201697117621) -->
+    <skip />
+    <!-- no translation found for storage_other_apps (5524321740031718083) -->
+    <skip />
+    <!-- no translation found for storage_files (8581083146777364063) -->
+    <skip />
+    <!-- no translation found for storage_settings_2 (6369810699930056554) -->
+    <skip />
 </resources>
diff --git a/res/values-bn-rBD/strings.xml b/res/values-bn-rBD/strings.xml
index 57432b8..5a33d04 100644
--- a/res/values-bn-rBD/strings.xml
+++ b/res/values-bn-rBD/strings.xml
@@ -658,7 +658,8 @@
     <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>
+    <!-- no translation found for android_beam_explained (1810540319385192758) -->
+    <skip />
     <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 +2582,8 @@
     <string name="keywords_profile_challenge" msgid="789611397846512845">"কর্মস্থলের প্রতিদ্বন্দ্বিতা, কর্মস্থল, প্রোফাইল"</string>
     <string name="keywords_unification" msgid="1922900767659821025">"কর্মস্থলের প্রোফাইল, পরিচালিত প্রোফাইল, ঐক্যবদ্ধ, একীকরণ, কাজ, প্রোফাইল"</string>
     <string name="keywords_gesture" msgid="5696040361482126337">"অঙ্গভঙ্গি"</string>
+    <!-- no translation found for keywords_payment_settings (5220104934130446416) -->
+    <skip />
     <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 +2805,8 @@
     <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>
+    <!-- no translation found for display_auto_rotate_title (7119684966039069439) -->
+    <skip />
     <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 +3196,10 @@
     <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>
+    <!-- no translation found for developer_tile (4822711696408279658) -->
+    <skip />
+    <!-- no translation found for developer_tile_unavailable (6559656549479711827) -->
+    <skip />
     <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 +3321,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>
+    <!-- no translation found for storage_photos_videos (1872663116054954685) -->
+    <skip />
+    <!-- no translation found for storage_music_audio (7890103397813503615) -->
+    <skip />
+    <!-- no translation found for storage_games (7703159201697117621) -->
+    <skip />
+    <!-- no translation found for storage_other_apps (5524321740031718083) -->
+    <skip />
+    <!-- no translation found for storage_files (8581083146777364063) -->
+    <skip />
+    <!-- no translation found for storage_settings_2 (6369810699930056554) -->
+    <skip />
 </resources>
diff --git a/res/values-bs-rBA/strings.xml b/res/values-bs-rBA/strings.xml
index 14403c7..31581ae 100644
--- a/res/values-bs-rBA/strings.xml
+++ b/res/values-bs-rBA/strings.xml
@@ -667,7 +667,8 @@
     <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>
+    <!-- no translation found for android_beam_explained (1810540319385192758) -->
+    <skip />
     <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 +2604,8 @@
     <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>
+    <!-- no translation found for keywords_payment_settings (5220104934130446416) -->
+    <skip />
     <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 +2830,8 @@
     <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>
+    <!-- no translation found for display_auto_rotate_title (7119684966039069439) -->
+    <skip />
     <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 +3228,10 @@
     <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>
+    <!-- no translation found for developer_tile (4822711696408279658) -->
+    <skip />
+    <!-- no translation found for developer_tile_unavailable (6559656549479711827) -->
+    <skip />
     <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 +3357,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>
+    <!-- no translation found for storage_photos_videos (1872663116054954685) -->
+    <skip />
+    <!-- no translation found for storage_music_audio (7890103397813503615) -->
+    <skip />
+    <!-- no translation found for storage_games (7703159201697117621) -->
+    <skip />
+    <!-- no translation found for storage_other_apps (5524321740031718083) -->
+    <skip />
+    <!-- no translation found for storage_files (8581083146777364063) -->
+    <skip />
+    <!-- no translation found for storage_settings_2 (6369810699930056554) -->
+    <skip />
 </resources>
diff --git a/res/values-ca/strings.xml b/res/values-ca/strings.xml
index 99bd87f..39f42d4 100644
--- a/res/values-ca/strings.xml
+++ b/res/values-ca/strings.xml
@@ -658,7 +658,8 @@
     <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>
+    <!-- no translation found for android_beam_explained (1810540319385192758) -->
+    <skip />
     <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 +2582,8 @@
     <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>
+    <!-- no translation found for keywords_payment_settings (5220104934130446416) -->
+    <skip />
     <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 +2805,8 @@
     <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>
+    <!-- no translation found for display_auto_rotate_title (7119684966039069439) -->
+    <skip />
     <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 +3196,10 @@
     <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>
+    <!-- no translation found for developer_tile (4822711696408279658) -->
+    <skip />
+    <!-- no translation found for developer_tile_unavailable (6559656549479711827) -->
+    <skip />
     <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 +3321,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>
+    <!-- no translation found for storage_photos_videos (1872663116054954685) -->
+    <skip />
+    <!-- no translation found for storage_music_audio (7890103397813503615) -->
+    <skip />
+    <!-- no translation found for storage_games (7703159201697117621) -->
+    <skip />
+    <!-- no translation found for storage_other_apps (5524321740031718083) -->
+    <skip />
+    <!-- no translation found for storage_files (8581083146777364063) -->
+    <skip />
+    <!-- no translation found for storage_settings_2 (6369810699930056554) -->
+    <skip />
 </resources>
diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml
index 00c221c..4e5c03c 100644
--- a/res/values-cs/strings.xml
+++ b/res/values-cs/strings.xml
@@ -676,7 +676,8 @@
     <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>
+    <!-- no translation found for android_beam_explained (1810540319385192758) -->
+    <skip />
     <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 +2626,8 @@
     <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>
+    <!-- no translation found for keywords_payment_settings (5220104934130446416) -->
+    <skip />
     <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 +2855,8 @@
     <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>
+    <!-- no translation found for display_auto_rotate_title (7119684966039069439) -->
+    <skip />
     <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 +3260,10 @@
     <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>
+    <!-- no translation found for developer_tile (4822711696408279658) -->
+    <skip />
+    <!-- no translation found for developer_tile_unavailable (6559656549479711827) -->
+    <skip />
     <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 +3393,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>
+    <!-- no translation found for storage_photos_videos (1872663116054954685) -->
+    <skip />
+    <!-- no translation found for storage_music_audio (7890103397813503615) -->
+    <skip />
+    <!-- no translation found for storage_games (7703159201697117621) -->
+    <skip />
+    <!-- no translation found for storage_other_apps (5524321740031718083) -->
+    <skip />
+    <!-- no translation found for storage_files (8581083146777364063) -->
+    <skip />
+    <!-- no translation found for storage_settings_2 (6369810699930056554) -->
+    <skip />
 </resources>
diff --git a/res/values-da/strings.xml b/res/values-da/strings.xml
index bf52f27..c069270 100644
--- a/res/values-da/strings.xml
+++ b/res/values-da/strings.xml
@@ -658,7 +658,8 @@
     <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>
+    <!-- no translation found for android_beam_explained (1810540319385192758) -->
+    <skip />
     <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 +2582,8 @@
     <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>
+    <!-- no translation found for keywords_payment_settings (5220104934130446416) -->
+    <skip />
     <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 +2805,8 @@
     <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>
+    <!-- no translation found for display_auto_rotate_title (7119684966039069439) -->
+    <skip />
     <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 +2968,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 +3196,10 @@
     <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>
+    <!-- no translation found for developer_tile (4822711696408279658) -->
+    <skip />
+    <!-- no translation found for developer_tile_unavailable (6559656549479711827) -->
+    <skip />
     <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 +3321,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>
+    <!-- no translation found for storage_photos_videos (1872663116054954685) -->
+    <skip />
+    <!-- no translation found for storage_music_audio (7890103397813503615) -->
+    <skip />
+    <!-- no translation found for storage_games (7703159201697117621) -->
+    <skip />
+    <!-- no translation found for storage_other_apps (5524321740031718083) -->
+    <skip />
+    <!-- no translation found for storage_files (8581083146777364063) -->
+    <skip />
+    <!-- no translation found for storage_settings_2 (6369810699930056554) -->
+    <skip />
 </resources>
diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml
index 15f01d7..d8bcf75 100644
--- a/res/values-de/strings.xml
+++ b/res/values-de/strings.xml
@@ -658,7 +658,8 @@
     <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>
+    <!-- no translation found for android_beam_explained (1810540319385192758) -->
+    <skip />
     <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 +2582,8 @@
     <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>
+    <!-- no translation found for keywords_payment_settings (5220104934130446416) -->
+    <skip />
     <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 +2805,8 @@
     <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>
+    <!-- no translation found for display_auto_rotate_title (7119684966039069439) -->
+    <skip />
     <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 +3198,10 @@
     <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>
+    <!-- no translation found for developer_tile (4822711696408279658) -->
+    <skip />
+    <!-- no translation found for developer_tile_unavailable (6559656549479711827) -->
+    <skip />
     <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 +3323,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>
+    <!-- no translation found for storage_photos_videos (1872663116054954685) -->
+    <skip />
+    <!-- no translation found for storage_music_audio (7890103397813503615) -->
+    <skip />
+    <!-- no translation found for storage_games (7703159201697117621) -->
+    <skip />
+    <!-- no translation found for storage_other_apps (5524321740031718083) -->
+    <skip />
+    <!-- no translation found for storage_files (8581083146777364063) -->
+    <skip />
+    <!-- no translation found for storage_settings_2 (6369810699930056554) -->
+    <skip />
 </resources>
diff --git a/res/values-el/strings.xml b/res/values-el/strings.xml
index b45f2a7..ba07e52 100644
--- a/res/values-el/strings.xml
+++ b/res/values-el/strings.xml
@@ -658,7 +658,8 @@
     <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>
+    <!-- no translation found for android_beam_explained (1810540319385192758) -->
+    <skip />
     <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 +2582,8 @@
     <string name="keywords_profile_challenge" msgid="789611397846512845">"πρόκληση εργασίας, εργασία, προφίλ"</string>
     <string name="keywords_unification" msgid="1922900767659821025">"προφίλ εργασίας, διαχειριζόμενο προφίλ, ενοποιώ, ενοποίηση, εργασία, προφίλ"</string>
     <string name="keywords_gesture" msgid="5696040361482126337">"κίνηση"</string>
+    <!-- no translation found for keywords_payment_settings (5220104934130446416) -->
+    <skip />
     <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 +2805,8 @@
     <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>
+    <!-- no translation found for display_auto_rotate_title (7119684966039069439) -->
+    <skip />
     <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 +3196,10 @@
     <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>
+    <!-- no translation found for developer_tile (4822711696408279658) -->
+    <skip />
+    <!-- no translation found for developer_tile_unavailable (6559656549479711827) -->
+    <skip />
     <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 +3321,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>
+    <!-- no translation found for storage_photos_videos (1872663116054954685) -->
+    <skip />
+    <!-- no translation found for storage_music_audio (7890103397813503615) -->
+    <skip />
+    <!-- no translation found for storage_games (7703159201697117621) -->
+    <skip />
+    <!-- no translation found for storage_other_apps (5524321740031718083) -->
+    <skip />
+    <!-- no translation found for storage_files (8581083146777364063) -->
+    <skip />
+    <!-- no translation found for storage_settings_2 (6369810699930056554) -->
+    <skip />
 </resources>
diff --git a/res/values-en-rAU/strings.xml b/res/values-en-rAU/strings.xml
index dd8d9f9..8b2cba6 100644
--- a/res/values-en-rAU/strings.xml
+++ b/res/values-en-rAU/strings.xml
@@ -658,7 +658,8 @@
     <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>
+    <!-- no translation found for android_beam_explained (1810540319385192758) -->
+    <skip />
     <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>
@@ -2581,6 +2582,8 @@
     <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>
+    <!-- no translation found for keywords_payment_settings (5220104934130446416) -->
+    <skip />
     <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>
@@ -2802,7 +2805,8 @@
     <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>
+    <!-- no translation found for display_auto_rotate_title (7119684966039069439) -->
+    <skip />
     <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 +3196,10 @@
     <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>
+    <!-- no translation found for developer_tile (4822711696408279658) -->
+    <skip />
+    <!-- no translation found for developer_tile_unavailable (6559656549479711827) -->
+    <skip />
     <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>
@@ -3313,4 +3321,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>
+    <!-- no translation found for storage_photos_videos (1872663116054954685) -->
+    <skip />
+    <!-- no translation found for storage_music_audio (7890103397813503615) -->
+    <skip />
+    <!-- no translation found for storage_games (7703159201697117621) -->
+    <skip />
+    <!-- no translation found for storage_other_apps (5524321740031718083) -->
+    <skip />
+    <!-- no translation found for storage_files (8581083146777364063) -->
+    <skip />
+    <!-- no translation found for storage_settings_2 (6369810699930056554) -->
+    <skip />
 </resources>
diff --git a/res/values-en-rGB/strings.xml b/res/values-en-rGB/strings.xml
index 48d65d1..d522f8a 100644
--- a/res/values-en-rGB/strings.xml
+++ b/res/values-en-rGB/strings.xml
@@ -658,7 +658,8 @@
     <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>
+    <!-- no translation found for android_beam_explained (1810540319385192758) -->
+    <skip />
     <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>
@@ -2581,6 +2582,8 @@
     <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>
+    <!-- no translation found for keywords_payment_settings (5220104934130446416) -->
+    <skip />
     <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>
@@ -2802,7 +2805,8 @@
     <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>
+    <!-- no translation found for display_auto_rotate_title (7119684966039069439) -->
+    <skip />
     <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 +3196,10 @@
     <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>
+    <!-- no translation found for developer_tile (4822711696408279658) -->
+    <skip />
+    <!-- no translation found for developer_tile_unavailable (6559656549479711827) -->
+    <skip />
     <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>
@@ -3313,4 +3321,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>
+    <!-- no translation found for storage_photos_videos (1872663116054954685) -->
+    <skip />
+    <!-- no translation found for storage_music_audio (7890103397813503615) -->
+    <skip />
+    <!-- no translation found for storage_games (7703159201697117621) -->
+    <skip />
+    <!-- no translation found for storage_other_apps (5524321740031718083) -->
+    <skip />
+    <!-- no translation found for storage_files (8581083146777364063) -->
+    <skip />
+    <!-- no translation found for storage_settings_2 (6369810699930056554) -->
+    <skip />
 </resources>
diff --git a/res/values-en-rIN/strings.xml b/res/values-en-rIN/strings.xml
index 48d65d1..d522f8a 100644
--- a/res/values-en-rIN/strings.xml
+++ b/res/values-en-rIN/strings.xml
@@ -658,7 +658,8 @@
     <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>
+    <!-- no translation found for android_beam_explained (1810540319385192758) -->
+    <skip />
     <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>
@@ -2581,6 +2582,8 @@
     <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>
+    <!-- no translation found for keywords_payment_settings (5220104934130446416) -->
+    <skip />
     <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>
@@ -2802,7 +2805,8 @@
     <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>
+    <!-- no translation found for display_auto_rotate_title (7119684966039069439) -->
+    <skip />
     <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 +3196,10 @@
     <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>
+    <!-- no translation found for developer_tile (4822711696408279658) -->
+    <skip />
+    <!-- no translation found for developer_tile_unavailable (6559656549479711827) -->
+    <skip />
     <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>
@@ -3313,4 +3321,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>
+    <!-- no translation found for storage_photos_videos (1872663116054954685) -->
+    <skip />
+    <!-- no translation found for storage_music_audio (7890103397813503615) -->
+    <skip />
+    <!-- no translation found for storage_games (7703159201697117621) -->
+    <skip />
+    <!-- no translation found for storage_other_apps (5524321740031718083) -->
+    <skip />
+    <!-- no translation found for storage_files (8581083146777364063) -->
+    <skip />
+    <!-- no translation found for storage_settings_2 (6369810699930056554) -->
+    <skip />
 </resources>
diff --git a/res/values-es-rUS/strings.xml b/res/values-es-rUS/strings.xml
index adedf27..6c51bd9 100644
--- a/res/values-es-rUS/strings.xml
+++ b/res/values-es-rUS/strings.xml
@@ -658,7 +658,8 @@
     <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>
+    <!-- no translation found for android_beam_explained (1810540319385192758) -->
+    <skip />
     <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 +2582,8 @@
     <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>
+    <!-- no translation found for keywords_payment_settings (5220104934130446416) -->
+    <skip />
     <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 +2803,8 @@
     <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>
+    <!-- no translation found for display_auto_rotate_title (7119684966039069439) -->
+    <skip />
     <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 +3194,10 @@
     <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>
+    <!-- no translation found for developer_tile (4822711696408279658) -->
+    <skip />
+    <!-- no translation found for developer_tile_unavailable (6559656549479711827) -->
+    <skip />
     <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 +3319,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>
+    <!-- no translation found for storage_photos_videos (1872663116054954685) -->
+    <skip />
+    <!-- no translation found for storage_music_audio (7890103397813503615) -->
+    <skip />
+    <!-- no translation found for storage_games (7703159201697117621) -->
+    <skip />
+    <!-- no translation found for storage_other_apps (5524321740031718083) -->
+    <skip />
+    <!-- no translation found for storage_files (8581083146777364063) -->
+    <skip />
+    <!-- no translation found for storage_settings_2 (6369810699930056554) -->
+    <skip />
 </resources>
diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml
index 667beb0..f34a500 100644
--- a/res/values-es/strings.xml
+++ b/res/values-es/strings.xml
@@ -658,7 +658,8 @@
     <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>
+    <!-- no translation found for android_beam_explained (1810540319385192758) -->
+    <skip />
     <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 +2582,8 @@
     <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>
+    <!-- no translation found for keywords_payment_settings (5220104934130446416) -->
+    <skip />
     <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 +2805,8 @@
     <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>
+    <!-- no translation found for display_auto_rotate_title (7119684966039069439) -->
+    <skip />
     <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 +3196,10 @@
     <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>
+    <!-- no translation found for developer_tile (4822711696408279658) -->
+    <skip />
+    <!-- no translation found for developer_tile_unavailable (6559656549479711827) -->
+    <skip />
     <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 +3321,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>
+    <!-- no translation found for storage_photos_videos (1872663116054954685) -->
+    <skip />
+    <!-- no translation found for storage_music_audio (7890103397813503615) -->
+    <skip />
+    <!-- no translation found for storage_games (7703159201697117621) -->
+    <skip />
+    <!-- no translation found for storage_other_apps (5524321740031718083) -->
+    <skip />
+    <!-- no translation found for storage_files (8581083146777364063) -->
+    <skip />
+    <!-- no translation found for storage_settings_2 (6369810699930056554) -->
+    <skip />
 </resources>
diff --git a/res/values-et-rEE/strings.xml b/res/values-et-rEE/strings.xml
index 66f79c5..78bdde3 100644
--- a/res/values-et-rEE/strings.xml
+++ b/res/values-et-rEE/strings.xml
@@ -658,7 +658,8 @@
     <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>
+    <!-- no translation found for android_beam_explained (1810540319385192758) -->
+    <skip />
     <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 +2582,8 @@
     <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>
+    <!-- no translation found for keywords_payment_settings (5220104934130446416) -->
+    <skip />
     <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 +2805,8 @@
     <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>
+    <!-- no translation found for display_auto_rotate_title (7119684966039069439) -->
+    <skip />
     <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 +3196,10 @@
     <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>
+    <!-- no translation found for developer_tile (4822711696408279658) -->
+    <skip />
+    <!-- no translation found for developer_tile_unavailable (6559656549479711827) -->
+    <skip />
     <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 +3321,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>
+    <!-- no translation found for storage_photos_videos (1872663116054954685) -->
+    <skip />
+    <!-- no translation found for storage_music_audio (7890103397813503615) -->
+    <skip />
+    <!-- no translation found for storage_games (7703159201697117621) -->
+    <skip />
+    <!-- no translation found for storage_other_apps (5524321740031718083) -->
+    <skip />
+    <!-- no translation found for storage_files (8581083146777364063) -->
+    <skip />
+    <!-- no translation found for storage_settings_2 (6369810699930056554) -->
+    <skip />
 </resources>
diff --git a/res/values-eu-rES/strings.xml b/res/values-eu-rES/strings.xml
index 4c56e43..8e6e7fc 100644
--- a/res/values-eu-rES/strings.xml
+++ b/res/values-eu-rES/strings.xml
@@ -658,7 +658,8 @@
     <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>
+    <!-- no translation found for android_beam_explained (1810540319385192758) -->
+    <skip />
     <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 +2582,8 @@
     <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>
+    <!-- no translation found for keywords_payment_settings (5220104934130446416) -->
+    <skip />
     <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 +2805,8 @@
     <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>
+    <!-- no translation found for display_auto_rotate_title (7119684966039069439) -->
+    <skip />
     <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 +3196,10 @@
     <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>
+    <!-- no translation found for developer_tile (4822711696408279658) -->
+    <skip />
+    <!-- no translation found for developer_tile_unavailable (6559656549479711827) -->
+    <skip />
     <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 +3321,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>
+    <!-- no translation found for storage_photos_videos (1872663116054954685) -->
+    <skip />
+    <!-- no translation found for storage_music_audio (7890103397813503615) -->
+    <skip />
+    <!-- no translation found for storage_games (7703159201697117621) -->
+    <skip />
+    <!-- no translation found for storage_other_apps (5524321740031718083) -->
+    <skip />
+    <!-- no translation found for storage_files (8581083146777364063) -->
+    <skip />
+    <!-- no translation found for storage_settings_2 (6369810699930056554) -->
+    <skip />
 </resources>
diff --git a/res/values-fa/strings.xml b/res/values-fa/strings.xml
index c7d0618..88f1a01 100644
--- a/res/values-fa/strings.xml
+++ b/res/values-fa/strings.xml
@@ -658,7 +658,8 @@
     <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>
+    <!-- no translation found for android_beam_explained (1810540319385192758) -->
+    <skip />
     <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 +2582,8 @@
     <string name="keywords_profile_challenge" msgid="789611397846512845">"چالش کار، کار، نمایه"</string>
     <string name="keywords_unification" msgid="1922900767659821025">"نمایه کاری، نمایه مدیریت‌شده، یکی شدن، یکپارچگی، کار، نمایه"</string>
     <string name="keywords_gesture" msgid="5696040361482126337">"اشاره"</string>
+    <!-- no translation found for keywords_payment_settings (5220104934130446416) -->
+    <skip />
     <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 +2805,8 @@
     <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>
+    <!-- no translation found for display_auto_rotate_title (7119684966039069439) -->
+    <skip />
     <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 +3196,10 @@
     <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>
+    <!-- no translation found for developer_tile (4822711696408279658) -->
+    <skip />
+    <!-- no translation found for developer_tile_unavailable (6559656549479711827) -->
+    <skip />
     <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 +3321,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>
+    <!-- no translation found for storage_photos_videos (1872663116054954685) -->
+    <skip />
+    <!-- no translation found for storage_music_audio (7890103397813503615) -->
+    <skip />
+    <!-- no translation found for storage_games (7703159201697117621) -->
+    <skip />
+    <!-- no translation found for storage_other_apps (5524321740031718083) -->
+    <skip />
+    <!-- no translation found for storage_files (8581083146777364063) -->
+    <skip />
+    <!-- no translation found for storage_settings_2 (6369810699930056554) -->
+    <skip />
 </resources>
diff --git a/res/values-fi/strings.xml b/res/values-fi/strings.xml
index 6fd97fe..bdd77b6 100644
--- a/res/values-fi/strings.xml
+++ b/res/values-fi/strings.xml
@@ -658,7 +658,8 @@
     <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>
+    <!-- no translation found for android_beam_explained (1810540319385192758) -->
+    <skip />
     <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 +2582,8 @@
     <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>
+    <!-- no translation found for keywords_payment_settings (5220104934130446416) -->
+    <skip />
     <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 +2805,8 @@
     <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>
+    <!-- no translation found for display_auto_rotate_title (7119684966039069439) -->
+    <skip />
     <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 +3196,10 @@
     <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>
+    <!-- no translation found for developer_tile (4822711696408279658) -->
+    <skip />
+    <!-- no translation found for developer_tile_unavailable (6559656549479711827) -->
+    <skip />
     <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 +3321,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>
+    <!-- no translation found for storage_photos_videos (1872663116054954685) -->
+    <skip />
+    <!-- no translation found for storage_music_audio (7890103397813503615) -->
+    <skip />
+    <!-- no translation found for storage_games (7703159201697117621) -->
+    <skip />
+    <!-- no translation found for storage_other_apps (5524321740031718083) -->
+    <skip />
+    <!-- no translation found for storage_files (8581083146777364063) -->
+    <skip />
+    <!-- no translation found for storage_settings_2 (6369810699930056554) -->
+    <skip />
 </resources>
diff --git a/res/values-fr-rCA/strings.xml b/res/values-fr-rCA/strings.xml
index 9ae9ec3..468f400 100644
--- a/res/values-fr-rCA/strings.xml
+++ b/res/values-fr-rCA/strings.xml
@@ -658,7 +658,8 @@
     <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>
+    <!-- no translation found for android_beam_explained (1810540319385192758) -->
+    <skip />
     <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 +2582,8 @@
     <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>
+    <!-- no translation found for keywords_payment_settings (5220104934130446416) -->
+    <skip />
     <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>
@@ -2802,7 +2805,8 @@
     <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>
+    <!-- no translation found for display_auto_rotate_title (7119684966039069439) -->
+    <skip />
     <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 +3196,10 @@
     <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>
+    <!-- no translation found for developer_tile (4822711696408279658) -->
+    <skip />
+    <!-- no translation found for developer_tile_unavailable (6559656549479711827) -->
+    <skip />
     <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>
@@ -3313,4 +3321,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>
+    <!-- no translation found for storage_photos_videos (1872663116054954685) -->
+    <skip />
+    <!-- no translation found for storage_music_audio (7890103397813503615) -->
+    <skip />
+    <!-- no translation found for storage_games (7703159201697117621) -->
+    <skip />
+    <!-- no translation found for storage_other_apps (5524321740031718083) -->
+    <skip />
+    <!-- no translation found for storage_files (8581083146777364063) -->
+    <skip />
+    <!-- no translation found for storage_settings_2 (6369810699930056554) -->
+    <skip />
 </resources>
diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml
index 475697e..2c38441 100644
--- a/res/values-fr/strings.xml
+++ b/res/values-fr/strings.xml
@@ -658,7 +658,8 @@
     <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>
+    <!-- no translation found for android_beam_explained (1810540319385192758) -->
+    <skip />
     <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 +2582,8 @@
     <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>
+    <!-- no translation found for keywords_payment_settings (5220104934130446416) -->
+    <skip />
     <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 +2805,8 @@
     <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>
+    <!-- no translation found for display_auto_rotate_title (7119684966039069439) -->
+    <skip />
     <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 +3196,10 @@
     <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>
+    <!-- no translation found for developer_tile (4822711696408279658) -->
+    <skip />
+    <!-- no translation found for developer_tile_unavailable (6559656549479711827) -->
+    <skip />
     <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 +3321,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>
+    <!-- no translation found for storage_photos_videos (1872663116054954685) -->
+    <skip />
+    <!-- no translation found for storage_music_audio (7890103397813503615) -->
+    <skip />
+    <!-- no translation found for storage_games (7703159201697117621) -->
+    <skip />
+    <!-- no translation found for storage_other_apps (5524321740031718083) -->
+    <skip />
+    <!-- no translation found for storage_files (8581083146777364063) -->
+    <skip />
+    <!-- no translation found for storage_settings_2 (6369810699930056554) -->
+    <skip />
 </resources>
diff --git a/res/values-gl-rES/strings.xml b/res/values-gl-rES/strings.xml
index 914ebea..bd74f94 100644
--- a/res/values-gl-rES/strings.xml
+++ b/res/values-gl-rES/strings.xml
@@ -658,7 +658,8 @@
     <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>
+    <!-- no translation found for android_beam_explained (1810540319385192758) -->
+    <skip />
     <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 +2582,8 @@
     <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>
+    <!-- no translation found for keywords_payment_settings (5220104934130446416) -->
+    <skip />
     <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 +2805,8 @@
     <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>
+    <!-- no translation found for display_auto_rotate_title (7119684966039069439) -->
+    <skip />
     <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 +3196,10 @@
     <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>
+    <!-- no translation found for developer_tile (4822711696408279658) -->
+    <skip />
+    <!-- no translation found for developer_tile_unavailable (6559656549479711827) -->
+    <skip />
     <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 +3321,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>
+    <!-- no translation found for storage_photos_videos (1872663116054954685) -->
+    <skip />
+    <!-- no translation found for storage_music_audio (7890103397813503615) -->
+    <skip />
+    <!-- no translation found for storage_games (7703159201697117621) -->
+    <skip />
+    <!-- no translation found for storage_other_apps (5524321740031718083) -->
+    <skip />
+    <!-- no translation found for storage_files (8581083146777364063) -->
+    <skip />
+    <!-- no translation found for storage_settings_2 (6369810699930056554) -->
+    <skip />
 </resources>
diff --git a/res/values-gu-rIN/strings.xml b/res/values-gu-rIN/strings.xml
index 4206d9b..2a3c971 100644
--- a/res/values-gu-rIN/strings.xml
+++ b/res/values-gu-rIN/strings.xml
@@ -658,7 +658,8 @@
     <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>
+    <!-- no translation found for android_beam_explained (1810540319385192758) -->
+    <skip />
     <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 +2582,8 @@
     <string name="keywords_profile_challenge" msgid="789611397846512845">"કાર્ય પડકાર, કાર્ય, પ્રોફાઇલ"</string>
     <string name="keywords_unification" msgid="1922900767659821025">"કાર્ય પ્રોફાઇલ, સંચાલિત પ્રોફાઇલ, એકીકૃત કરો, એકીકરણ, કાર્ય, પ્રોફાઇલ"</string>
     <string name="keywords_gesture" msgid="5696040361482126337">"હાવભાવ"</string>
+    <!-- no translation found for keywords_payment_settings (5220104934130446416) -->
+    <skip />
     <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 +2805,8 @@
     <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>
+    <!-- no translation found for display_auto_rotate_title (7119684966039069439) -->
+    <skip />
     <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 +3196,10 @@
     <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>
+    <!-- no translation found for developer_tile (4822711696408279658) -->
+    <skip />
+    <!-- no translation found for developer_tile_unavailable (6559656549479711827) -->
+    <skip />
     <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 +3321,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>
+    <!-- no translation found for storage_photos_videos (1872663116054954685) -->
+    <skip />
+    <!-- no translation found for storage_music_audio (7890103397813503615) -->
+    <skip />
+    <!-- no translation found for storage_games (7703159201697117621) -->
+    <skip />
+    <!-- no translation found for storage_other_apps (5524321740031718083) -->
+    <skip />
+    <!-- no translation found for storage_files (8581083146777364063) -->
+    <skip />
+    <!-- no translation found for storage_settings_2 (6369810699930056554) -->
+    <skip />
 </resources>
diff --git a/res/values-hi/strings.xml b/res/values-hi/strings.xml
index f928ff8..6608e54 100644
--- a/res/values-hi/strings.xml
+++ b/res/values-hi/strings.xml
@@ -111,7 +111,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 +658,8 @@
     <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>
+    <!-- no translation found for android_beam_explained (1810540319385192758) -->
+    <skip />
     <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>
@@ -2274,7 +2275,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>
@@ -2581,6 +2582,8 @@
     <string name="keywords_profile_challenge" msgid="789611397846512845">"कार्य चुनौती, कार्य, प्रोफ़ाइल"</string>
     <string name="keywords_unification" msgid="1922900767659821025">"कार्य प्रोफ़ाइल, प्रबंधित प्रोफ़ाइल, एक करना, एकीकरण, कार्य, प्रोफ़ाइल"</string>
     <string name="keywords_gesture" msgid="5696040361482126337">"हावभाव"</string>
+    <!-- no translation found for keywords_payment_settings (5220104934130446416) -->
+    <skip />
     <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 +2805,8 @@
     <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>
+    <!-- no translation found for display_auto_rotate_title (7119684966039069439) -->
+    <skip />
     <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 +3054,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 +3196,10 @@
     <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>
+    <!-- no translation found for developer_tile (4822711696408279658) -->
+    <skip />
+    <!-- no translation found for developer_tile_unavailable (6559656549479711827) -->
+    <skip />
     <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 +3321,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>
+    <!-- no translation found for storage_photos_videos (1872663116054954685) -->
+    <skip />
+    <!-- no translation found for storage_music_audio (7890103397813503615) -->
+    <skip />
+    <!-- no translation found for storage_games (7703159201697117621) -->
+    <skip />
+    <!-- no translation found for storage_other_apps (5524321740031718083) -->
+    <skip />
+    <!-- no translation found for storage_files (8581083146777364063) -->
+    <skip />
+    <!-- no translation found for storage_settings_2 (6369810699930056554) -->
+    <skip />
 </resources>
diff --git a/res/values-hr/strings.xml b/res/values-hr/strings.xml
index 65123c3..e042a83 100644
--- a/res/values-hr/strings.xml
+++ b/res/values-hr/strings.xml
@@ -667,7 +667,8 @@
     <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>
+    <!-- no translation found for android_beam_explained (1810540319385192758) -->
+    <skip />
     <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 +2604,8 @@
     <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>
+    <!-- no translation found for keywords_payment_settings (5220104934130446416) -->
+    <skip />
     <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 +2830,8 @@
     <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>
+    <!-- no translation found for display_auto_rotate_title (7119684966039069439) -->
+    <skip />
     <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 +3228,10 @@
     <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>
+    <!-- no translation found for developer_tile (4822711696408279658) -->
+    <skip />
+    <!-- no translation found for developer_tile_unavailable (6559656549479711827) -->
+    <skip />
     <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 +3357,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>
+    <!-- no translation found for storage_photos_videos (1872663116054954685) -->
+    <skip />
+    <!-- no translation found for storage_music_audio (7890103397813503615) -->
+    <skip />
+    <!-- no translation found for storage_games (7703159201697117621) -->
+    <skip />
+    <!-- no translation found for storage_other_apps (5524321740031718083) -->
+    <skip />
+    <!-- no translation found for storage_files (8581083146777364063) -->
+    <skip />
+    <!-- no translation found for storage_settings_2 (6369810699930056554) -->
+    <skip />
 </resources>
diff --git a/res/values-hu/strings.xml b/res/values-hu/strings.xml
index 1e8a08c..d544070 100644
--- a/res/values-hu/strings.xml
+++ b/res/values-hu/strings.xml
@@ -658,7 +658,8 @@
     <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>
+    <!-- no translation found for android_beam_explained (1810540319385192758) -->
+    <skip />
     <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 +2582,8 @@
     <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>
+    <!-- no translation found for keywords_payment_settings (5220104934130446416) -->
+    <skip />
     <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 +2805,8 @@
     <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>
+    <!-- no translation found for display_auto_rotate_title (7119684966039069439) -->
+    <skip />
     <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 +3196,10 @@
     <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>
+    <!-- no translation found for developer_tile (4822711696408279658) -->
+    <skip />
+    <!-- no translation found for developer_tile_unavailable (6559656549479711827) -->
+    <skip />
     <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 +3321,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>
+    <!-- no translation found for storage_photos_videos (1872663116054954685) -->
+    <skip />
+    <!-- no translation found for storage_music_audio (7890103397813503615) -->
+    <skip />
+    <!-- no translation found for storage_games (7703159201697117621) -->
+    <skip />
+    <!-- no translation found for storage_other_apps (5524321740031718083) -->
+    <skip />
+    <!-- no translation found for storage_files (8581083146777364063) -->
+    <skip />
+    <!-- no translation found for storage_settings_2 (6369810699930056554) -->
+    <skip />
 </resources>
diff --git a/res/values-hy-rAM/strings.xml b/res/values-hy-rAM/strings.xml
index 1b7f713..a3259ad 100644
--- a/res/values-hy-rAM/strings.xml
+++ b/res/values-hy-rAM/strings.xml
@@ -658,7 +658,8 @@
     <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>
+    <!-- no translation found for android_beam_explained (1810540319385192758) -->
+    <skip />
     <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 +2582,8 @@
     <string name="keywords_profile_challenge" msgid="789611397846512845">"աշխատանքային մարտահրավեր, աշխատանք, պրոֆիլ"</string>
     <string name="keywords_unification" msgid="1922900767659821025">"աշխատանքային պրոֆիլ, կառավարվող պրոֆիլ, միավորել, միավորում, աշխատանք, պրոֆիլ"</string>
     <string name="keywords_gesture" msgid="5696040361482126337">"ժեստ"</string>
+    <!-- no translation found for keywords_payment_settings (5220104934130446416) -->
+    <skip />
     <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 +2805,8 @@
     <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>
+    <!-- no translation found for display_auto_rotate_title (7119684966039069439) -->
+    <skip />
     <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 +3196,10 @@
     <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>
+    <!-- no translation found for developer_tile (4822711696408279658) -->
+    <skip />
+    <!-- no translation found for developer_tile_unavailable (6559656549479711827) -->
+    <skip />
     <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 +3321,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>
+    <!-- no translation found for storage_photos_videos (1872663116054954685) -->
+    <skip />
+    <!-- no translation found for storage_music_audio (7890103397813503615) -->
+    <skip />
+    <!-- no translation found for storage_games (7703159201697117621) -->
+    <skip />
+    <!-- no translation found for storage_other_apps (5524321740031718083) -->
+    <skip />
+    <!-- no translation found for storage_files (8581083146777364063) -->
+    <skip />
+    <!-- no translation found for storage_settings_2 (6369810699930056554) -->
+    <skip />
 </resources>
diff --git a/res/values-in/strings.xml b/res/values-in/strings.xml
index 4c54bb8..06c4e0b 100644
--- a/res/values-in/strings.xml
+++ b/res/values-in/strings.xml
@@ -658,7 +658,8 @@
     <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>
+    <!-- no translation found for android_beam_explained (1810540319385192758) -->
+    <skip />
     <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>
@@ -2581,6 +2582,8 @@
     <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>
+    <!-- no translation found for keywords_payment_settings (5220104934130446416) -->
+    <skip />
     <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>
@@ -2802,7 +2805,8 @@
     <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>
+    <!-- no translation found for display_auto_rotate_title (7119684966039069439) -->
+    <skip />
     <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 +3196,10 @@
     <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>
+    <!-- no translation found for developer_tile (4822711696408279658) -->
+    <skip />
+    <!-- no translation found for developer_tile_unavailable (6559656549479711827) -->
+    <skip />
     <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>
@@ -3313,4 +3321,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>
+    <!-- no translation found for storage_photos_videos (1872663116054954685) -->
+    <skip />
+    <!-- no translation found for storage_music_audio (7890103397813503615) -->
+    <skip />
+    <!-- no translation found for storage_games (7703159201697117621) -->
+    <skip />
+    <!-- no translation found for storage_other_apps (5524321740031718083) -->
+    <skip />
+    <!-- no translation found for storage_files (8581083146777364063) -->
+    <skip />
+    <!-- no translation found for storage_settings_2 (6369810699930056554) -->
+    <skip />
 </resources>
diff --git a/res/values-is-rIS/strings.xml b/res/values-is-rIS/strings.xml
index edd947e..14279af 100644
--- a/res/values-is-rIS/strings.xml
+++ b/res/values-is-rIS/strings.xml
@@ -658,7 +658,8 @@
     <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>
+    <!-- no translation found for android_beam_explained (1810540319385192758) -->
+    <skip />
     <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 +2582,8 @@
     <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>
+    <!-- no translation found for keywords_payment_settings (5220104934130446416) -->
+    <skip />
     <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 +2805,8 @@
     <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>
+    <!-- no translation found for display_auto_rotate_title (7119684966039069439) -->
+    <skip />
     <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 +3196,10 @@
     <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>
+    <!-- no translation found for developer_tile (4822711696408279658) -->
+    <skip />
+    <!-- no translation found for developer_tile_unavailable (6559656549479711827) -->
+    <skip />
     <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 +3321,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>
+    <!-- no translation found for storage_photos_videos (1872663116054954685) -->
+    <skip />
+    <!-- no translation found for storage_music_audio (7890103397813503615) -->
+    <skip />
+    <!-- no translation found for storage_games (7703159201697117621) -->
+    <skip />
+    <!-- no translation found for storage_other_apps (5524321740031718083) -->
+    <skip />
+    <!-- no translation found for storage_files (8581083146777364063) -->
+    <skip />
+    <!-- no translation found for storage_settings_2 (6369810699930056554) -->
+    <skip />
 </resources>
diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml
index afd78c5..1148198 100644
--- a/res/values-it/strings.xml
+++ b/res/values-it/strings.xml
@@ -658,7 +658,8 @@
     <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>
+    <!-- no translation found for android_beam_explained (1810540319385192758) -->
+    <skip />
     <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 +2582,8 @@
     <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>
+    <!-- no translation found for keywords_payment_settings (5220104934130446416) -->
+    <skip />
     <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 +2805,8 @@
     <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>
+    <!-- no translation found for display_auto_rotate_title (7119684966039069439) -->
+    <skip />
     <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 +3196,10 @@
     <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>
+    <!-- no translation found for developer_tile (4822711696408279658) -->
+    <skip />
+    <!-- no translation found for developer_tile_unavailable (6559656549479711827) -->
+    <skip />
     <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 +3321,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>
+    <!-- no translation found for storage_photos_videos (1872663116054954685) -->
+    <skip />
+    <!-- no translation found for storage_music_audio (7890103397813503615) -->
+    <skip />
+    <!-- no translation found for storage_games (7703159201697117621) -->
+    <skip />
+    <!-- no translation found for storage_other_apps (5524321740031718083) -->
+    <skip />
+    <!-- no translation found for storage_files (8581083146777364063) -->
+    <skip />
+    <!-- no translation found for storage_settings_2 (6369810699930056554) -->
+    <skip />
 </resources>
diff --git a/res/values-iw/strings.xml b/res/values-iw/strings.xml
index e2c9c00..0ef6973 100644
--- a/res/values-iw/strings.xml
+++ b/res/values-iw/strings.xml
@@ -676,7 +676,8 @@
     <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>
+    <!-- no translation found for android_beam_explained (1810540319385192758) -->
+    <skip />
     <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 +2628,8 @@
     <string name="keywords_profile_challenge" msgid="789611397846512845">"אתגר בעבודה, עבודה, פרופיל"</string>
     <string name="keywords_unification" msgid="1922900767659821025">"פרופיל עבודה, פרופיל מנוהל, לאחד, איחוד, עבודה, פרופיל"</string>
     <string name="keywords_gesture" msgid="5696040361482126337">"תנועה"</string>
+    <!-- no translation found for keywords_payment_settings (5220104934130446416) -->
+    <skip />
     <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 +2857,8 @@
     <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>
+    <!-- no translation found for display_auto_rotate_title (7119684966039069439) -->
+    <skip />
     <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 +3262,10 @@
     <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>
+    <!-- no translation found for developer_tile (4822711696408279658) -->
+    <skip />
+    <!-- no translation found for developer_tile_unavailable (6559656549479711827) -->
+    <skip />
     <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 +3395,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>
+    <!-- no translation found for storage_photos_videos (1872663116054954685) -->
+    <skip />
+    <!-- no translation found for storage_music_audio (7890103397813503615) -->
+    <skip />
+    <!-- no translation found for storage_games (7703159201697117621) -->
+    <skip />
+    <!-- no translation found for storage_other_apps (5524321740031718083) -->
+    <skip />
+    <!-- no translation found for storage_files (8581083146777364063) -->
+    <skip />
+    <!-- no translation found for storage_settings_2 (6369810699930056554) -->
+    <skip />
 </resources>
diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml
index 672c32c..2543992 100644
--- a/res/values-ja/strings.xml
+++ b/res/values-ja/strings.xml
@@ -658,7 +658,8 @@
     <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>
+    <!-- no translation found for android_beam_explained (1810540319385192758) -->
+    <skip />
     <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>
@@ -2585,6 +2586,8 @@
     <string name="keywords_profile_challenge" msgid="789611397846512845">"ワーク チャレンジ, 仕事用, プロファイル"</string>
     <string name="keywords_unification" msgid="1922900767659821025">"仕事用プロファイル, 管理対象プロファイル, 統合する, 統合, 仕事, プロファイル"</string>
     <string name="keywords_gesture" msgid="5696040361482126337">"操作"</string>
+    <!-- no translation found for keywords_payment_settings (5220104934130446416) -->
+    <skip />
     <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>
@@ -2806,7 +2809,8 @@
     <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>
+    <!-- no translation found for display_auto_rotate_title (7119684966039069439) -->
+    <skip />
     <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 +3200,10 @@
     <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>
+    <!-- no translation found for developer_tile (4822711696408279658) -->
+    <skip />
+    <!-- no translation found for developer_tile_unavailable (6559656549479711827) -->
+    <skip />
     <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>
@@ -3317,4 +3325,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>
+    <!-- no translation found for storage_photos_videos (1872663116054954685) -->
+    <skip />
+    <!-- no translation found for storage_music_audio (7890103397813503615) -->
+    <skip />
+    <!-- no translation found for storage_games (7703159201697117621) -->
+    <skip />
+    <!-- no translation found for storage_other_apps (5524321740031718083) -->
+    <skip />
+    <!-- no translation found for storage_files (8581083146777364063) -->
+    <skip />
+    <!-- no translation found for storage_settings_2 (6369810699930056554) -->
+    <skip />
 </resources>
diff --git a/res/values-ka-rGE/strings.xml b/res/values-ka-rGE/strings.xml
index a083940..df18115 100644
--- a/res/values-ka-rGE/strings.xml
+++ b/res/values-ka-rGE/strings.xml
@@ -658,7 +658,8 @@
     <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>
+    <!-- no translation found for android_beam_explained (1810540319385192758) -->
+    <skip />
     <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 +2582,8 @@
     <string name="keywords_profile_challenge" msgid="789611397846512845">"სამსახურის გამოწვევა, სამსახური, პროფილი"</string>
     <string name="keywords_unification" msgid="1922900767659821025">"სამსახურის პროფილი, მართული პროფილი, გაერთიანება, უნიფიკაცია, სამსახური, პროფილი"</string>
     <string name="keywords_gesture" msgid="5696040361482126337">"ჟესტი"</string>
+    <!-- no translation found for keywords_payment_settings (5220104934130446416) -->
+    <skip />
     <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 +2805,8 @@
     <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>
+    <!-- no translation found for display_auto_rotate_title (7119684966039069439) -->
+    <skip />
     <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 +3196,10 @@
     <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>
+    <!-- no translation found for developer_tile (4822711696408279658) -->
+    <skip />
+    <!-- no translation found for developer_tile_unavailable (6559656549479711827) -->
+    <skip />
     <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 +3321,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>
+    <!-- no translation found for storage_photos_videos (1872663116054954685) -->
+    <skip />
+    <!-- no translation found for storage_music_audio (7890103397813503615) -->
+    <skip />
+    <!-- no translation found for storage_games (7703159201697117621) -->
+    <skip />
+    <!-- no translation found for storage_other_apps (5524321740031718083) -->
+    <skip />
+    <!-- no translation found for storage_files (8581083146777364063) -->
+    <skip />
+    <!-- no translation found for storage_settings_2 (6369810699930056554) -->
+    <skip />
 </resources>
diff --git a/res/values-kk-rKZ/strings.xml b/res/values-kk-rKZ/strings.xml
index 99bd76b..ee475cf 100644
--- a/res/values-kk-rKZ/strings.xml
+++ b/res/values-kk-rKZ/strings.xml
@@ -658,7 +658,8 @@
     <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>
+    <!-- no translation found for android_beam_explained (1810540319385192758) -->
+    <skip />
     <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 +2582,8 @@
     <string name="keywords_profile_challenge" msgid="789611397846512845">"жұмыс профилін қорғау, жұмыс, профиль"</string>
     <string name="keywords_unification" msgid="1922900767659821025">"жұмыс профилі, басқарылатын профиль, бірыңғайлау, жұмыс, профиль"</string>
     <string name="keywords_gesture" msgid="5696040361482126337">"қимыл"</string>
+    <!-- no translation found for keywords_payment_settings (5220104934130446416) -->
+    <skip />
     <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 +2805,8 @@
     <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>
+    <!-- no translation found for display_auto_rotate_title (7119684966039069439) -->
+    <skip />
     <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 +3196,10 @@
     <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>
+    <!-- no translation found for developer_tile (4822711696408279658) -->
+    <skip />
+    <!-- no translation found for developer_tile_unavailable (6559656549479711827) -->
+    <skip />
     <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 +3321,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>
+    <!-- no translation found for storage_photos_videos (1872663116054954685) -->
+    <skip />
+    <!-- no translation found for storage_music_audio (7890103397813503615) -->
+    <skip />
+    <!-- no translation found for storage_games (7703159201697117621) -->
+    <skip />
+    <!-- no translation found for storage_other_apps (5524321740031718083) -->
+    <skip />
+    <!-- no translation found for storage_files (8581083146777364063) -->
+    <skip />
+    <!-- no translation found for storage_settings_2 (6369810699930056554) -->
+    <skip />
 </resources>
diff --git a/res/values-km-rKH/strings.xml b/res/values-km-rKH/strings.xml
index 8e75d05..1b57bf7 100644
--- a/res/values-km-rKH/strings.xml
+++ b/res/values-km-rKH/strings.xml
@@ -658,7 +658,8 @@
     <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>
+    <!-- no translation found for android_beam_explained (1810540319385192758) -->
+    <skip />
     <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 +2582,8 @@
     <string name="keywords_profile_challenge" msgid="789611397846512845">"បញ្ហាប្រឈមក្នុងការងារ ការងារ ប្រវត្តិរូប"</string>
     <string name="keywords_unification" msgid="1922900767659821025">"ប្រវត្តិរូបការងារ ប្រវត្តិរូបដែលត្រូវបានគ្រប់គ្រង រួមបញ្ចូល ការរួមបញ្ចូល ការងារ ប្រវត្តិរូប"</string>
     <string name="keywords_gesture" msgid="5696040361482126337">"កាយវិការ"</string>
+    <!-- no translation found for keywords_payment_settings (5220104934130446416) -->
+    <skip />
     <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 +2805,8 @@
     <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>
+    <!-- no translation found for display_auto_rotate_title (7119684966039069439) -->
+    <skip />
     <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 +3196,10 @@
     <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>
+    <!-- no translation found for developer_tile (4822711696408279658) -->
+    <skip />
+    <!-- no translation found for developer_tile_unavailable (6559656549479711827) -->
+    <skip />
     <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 +3321,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>
+    <!-- no translation found for storage_photos_videos (1872663116054954685) -->
+    <skip />
+    <!-- no translation found for storage_music_audio (7890103397813503615) -->
+    <skip />
+    <!-- no translation found for storage_games (7703159201697117621) -->
+    <skip />
+    <!-- no translation found for storage_other_apps (5524321740031718083) -->
+    <skip />
+    <!-- no translation found for storage_files (8581083146777364063) -->
+    <skip />
+    <!-- no translation found for storage_settings_2 (6369810699930056554) -->
+    <skip />
 </resources>
diff --git a/res/values-kn-rIN/strings.xml b/res/values-kn-rIN/strings.xml
index 3525bde..73cf055 100644
--- a/res/values-kn-rIN/strings.xml
+++ b/res/values-kn-rIN/strings.xml
@@ -658,7 +658,8 @@
     <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>
+    <!-- no translation found for android_beam_explained (1810540319385192758) -->
+    <skip />
     <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 +2582,8 @@
     <string name="keywords_profile_challenge" msgid="789611397846512845">"ಕೆಲಸದ ಸವಾಲು, ಕೆಲಸ, ಪ್ರೊಫೈಲ್"</string>
     <string name="keywords_unification" msgid="1922900767659821025">"ಕೆಲಸದ ಪ್ರೊಫೈಲ್, ನಿರ್ವಹಿಸಿದ ಪ್ರೊಫೈಲ್, ಒಗ್ಗೂಡಿಸಿ, ಏಕೀಕರಣ, ಕೆಲಸ, ಪ್ರೊಫೈಲ್"</string>
     <string name="keywords_gesture" msgid="5696040361482126337">"ಗೆಸ್ಚರ್"</string>
+    <!-- no translation found for keywords_payment_settings (5220104934130446416) -->
+    <skip />
     <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 +2805,8 @@
     <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>
+    <!-- no translation found for display_auto_rotate_title (7119684966039069439) -->
+    <skip />
     <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 +3196,10 @@
     <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>
+    <!-- no translation found for developer_tile (4822711696408279658) -->
+    <skip />
+    <!-- no translation found for developer_tile_unavailable (6559656549479711827) -->
+    <skip />
     <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 +3321,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>
+    <!-- no translation found for storage_photos_videos (1872663116054954685) -->
+    <skip />
+    <!-- no translation found for storage_music_audio (7890103397813503615) -->
+    <skip />
+    <!-- no translation found for storage_games (7703159201697117621) -->
+    <skip />
+    <!-- no translation found for storage_other_apps (5524321740031718083) -->
+    <skip />
+    <!-- no translation found for storage_files (8581083146777364063) -->
+    <skip />
+    <!-- no translation found for storage_settings_2 (6369810699930056554) -->
+    <skip />
 </resources>
diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml
index 752ed90..cda7b0b 100644
--- a/res/values-ko/strings.xml
+++ b/res/values-ko/strings.xml
@@ -658,7 +658,8 @@
     <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>
+    <!-- no translation found for android_beam_explained (1810540319385192758) -->
+    <skip />
     <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 +2582,8 @@
     <string name="keywords_profile_challenge" msgid="789611397846512845">"직장 보안 확인, 직장, 프로필"</string>
     <string name="keywords_unification" msgid="1922900767659821025">"직장 프로필, 관리된 프로필, 통합, 통합형, 직장, 프로필"</string>
     <string name="keywords_gesture" msgid="5696040361482126337">"동작"</string>
+    <!-- no translation found for keywords_payment_settings (5220104934130446416) -->
+    <skip />
     <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 +2805,8 @@
     <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>
+    <!-- no translation found for display_auto_rotate_title (7119684966039069439) -->
+    <skip />
     <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 +3196,10 @@
     <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>
+    <!-- no translation found for developer_tile (4822711696408279658) -->
+    <skip />
+    <!-- no translation found for developer_tile_unavailable (6559656549479711827) -->
+    <skip />
     <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 +3321,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>
+    <!-- no translation found for storage_photos_videos (1872663116054954685) -->
+    <skip />
+    <!-- no translation found for storage_music_audio (7890103397813503615) -->
+    <skip />
+    <!-- no translation found for storage_games (7703159201697117621) -->
+    <skip />
+    <!-- no translation found for storage_other_apps (5524321740031718083) -->
+    <skip />
+    <!-- no translation found for storage_files (8581083146777364063) -->
+    <skip />
+    <!-- no translation found for storage_settings_2 (6369810699930056554) -->
+    <skip />
 </resources>
diff --git a/res/values-ky-rKG/strings.xml b/res/values-ky-rKG/strings.xml
index 42e6b24..5b07d3e 100644
--- a/res/values-ky-rKG/strings.xml
+++ b/res/values-ky-rKG/strings.xml
@@ -657,7 +657,8 @@
     <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>
+    <!-- no translation found for android_beam_explained (1810540319385192758) -->
+    <skip />
     <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 +2581,8 @@
     <string name="keywords_profile_challenge" msgid="789611397846512845">"жумуш тапшырмасы, жумуш, профиль"</string>
     <string name="keywords_unification" msgid="1922900767659821025">"жумуш профили, башкарылган профиль, бириктир, бириктирүү, жумуш, профиль"</string>
     <string name="keywords_gesture" msgid="5696040361482126337">"жаңсоо"</string>
+    <!-- no translation found for keywords_payment_settings (5220104934130446416) -->
+    <skip />
     <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 +2804,8 @@
     <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>
+    <!-- no translation found for display_auto_rotate_title (7119684966039069439) -->
+    <skip />
     <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 +3195,10 @@
     <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>
+    <!-- no translation found for developer_tile (4822711696408279658) -->
+    <skip />
+    <!-- no translation found for developer_tile_unavailable (6559656549479711827) -->
+    <skip />
     <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 +3320,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>
+    <!-- no translation found for storage_photos_videos (1872663116054954685) -->
+    <skip />
+    <!-- no translation found for storage_music_audio (7890103397813503615) -->
+    <skip />
+    <!-- no translation found for storage_games (7703159201697117621) -->
+    <skip />
+    <!-- no translation found for storage_other_apps (5524321740031718083) -->
+    <skip />
+    <!-- no translation found for storage_files (8581083146777364063) -->
+    <skip />
+    <!-- no translation found for storage_settings_2 (6369810699930056554) -->
+    <skip />
 </resources>
diff --git a/res/values-lo-rLA/strings.xml b/res/values-lo-rLA/strings.xml
index 2b27ffe..b927974 100644
--- a/res/values-lo-rLA/strings.xml
+++ b/res/values-lo-rLA/strings.xml
@@ -658,7 +658,8 @@
     <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>
+    <!-- no translation found for android_beam_explained (1810540319385192758) -->
+    <skip />
     <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 +2582,8 @@
     <string name="keywords_profile_challenge" msgid="789611397846512845">"ສິ່ງທ້າທາຍດ້ານວຽກເຮັດ, ວຽກ, ໂປຣໄຟລ໌"</string>
     <string name="keywords_unification" msgid="1922900767659821025">"ໂປຣໄຟລ໌ບ່ອນເຮັດວຽກ, ໂປຣໄຟລ໌ທີ່ມີການຈັດການ, ຮວມ, ການຮວມ, ວຽກ, ໂປຣໄຟລ໌"</string>
     <string name="keywords_gesture" msgid="5696040361482126337">"ທ່າທາງ"</string>
+    <!-- no translation found for keywords_payment_settings (5220104934130446416) -->
+    <skip />
     <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 +2805,8 @@
     <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>
+    <!-- no translation found for display_auto_rotate_title (7119684966039069439) -->
+    <skip />
     <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 +3196,10 @@
     <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>
+    <!-- no translation found for developer_tile (4822711696408279658) -->
+    <skip />
+    <!-- no translation found for developer_tile_unavailable (6559656549479711827) -->
+    <skip />
     <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 +3321,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>
+    <!-- no translation found for storage_photos_videos (1872663116054954685) -->
+    <skip />
+    <!-- no translation found for storage_music_audio (7890103397813503615) -->
+    <skip />
+    <!-- no translation found for storage_games (7703159201697117621) -->
+    <skip />
+    <!-- no translation found for storage_other_apps (5524321740031718083) -->
+    <skip />
+    <!-- no translation found for storage_files (8581083146777364063) -->
+    <skip />
+    <!-- no translation found for storage_settings_2 (6369810699930056554) -->
+    <skip />
 </resources>
diff --git a/res/values-lt/strings.xml b/res/values-lt/strings.xml
index c0e94ed..13792f8 100644
--- a/res/values-lt/strings.xml
+++ b/res/values-lt/strings.xml
@@ -676,7 +676,8 @@
     <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>
+    <!-- no translation found for android_beam_explained (1810540319385192758) -->
+    <skip />
     <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 +2626,8 @@
     <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>
+    <!-- no translation found for keywords_payment_settings (5220104934130446416) -->
+    <skip />
     <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 +2855,8 @@
     <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>
+    <!-- no translation found for display_auto_rotate_title (7119684966039069439) -->
+    <skip />
     <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 +3262,10 @@
     <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>
+    <!-- no translation found for developer_tile (4822711696408279658) -->
+    <skip />
+    <!-- no translation found for developer_tile_unavailable (6559656549479711827) -->
+    <skip />
     <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 +3395,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>
+    <!-- no translation found for storage_photos_videos (1872663116054954685) -->
+    <skip />
+    <!-- no translation found for storage_music_audio (7890103397813503615) -->
+    <skip />
+    <!-- no translation found for storage_games (7703159201697117621) -->
+    <skip />
+    <!-- no translation found for storage_other_apps (5524321740031718083) -->
+    <skip />
+    <!-- no translation found for storage_files (8581083146777364063) -->
+    <skip />
+    <!-- no translation found for storage_settings_2 (6369810699930056554) -->
+    <skip />
 </resources>
diff --git a/res/values-lv/strings.xml b/res/values-lv/strings.xml
index 947b903..c15833e 100644
--- a/res/values-lv/strings.xml
+++ b/res/values-lv/strings.xml
@@ -667,7 +667,8 @@
     <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>
+    <!-- no translation found for android_beam_explained (1810540319385192758) -->
+    <skip />
     <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 +2604,8 @@
     <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>
+    <!-- no translation found for keywords_payment_settings (5220104934130446416) -->
+    <skip />
     <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 +2830,8 @@
     <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>
+    <!-- no translation found for display_auto_rotate_title (7119684966039069439) -->
+    <skip />
     <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 +3228,10 @@
     <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>
+    <!-- no translation found for developer_tile (4822711696408279658) -->
+    <skip />
+    <!-- no translation found for developer_tile_unavailable (6559656549479711827) -->
+    <skip />
     <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 +3357,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>
+    <!-- no translation found for storage_photos_videos (1872663116054954685) -->
+    <skip />
+    <!-- no translation found for storage_music_audio (7890103397813503615) -->
+    <skip />
+    <!-- no translation found for storage_games (7703159201697117621) -->
+    <skip />
+    <!-- no translation found for storage_other_apps (5524321740031718083) -->
+    <skip />
+    <!-- no translation found for storage_files (8581083146777364063) -->
+    <skip />
+    <!-- no translation found for storage_settings_2 (6369810699930056554) -->
+    <skip />
 </resources>
diff --git a/res/values-mk-rMK/strings.xml b/res/values-mk-rMK/strings.xml
index 41fb431..9051507 100644
--- a/res/values-mk-rMK/strings.xml
+++ b/res/values-mk-rMK/strings.xml
@@ -658,7 +658,8 @@
     <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>
+    <!-- no translation found for android_beam_explained (1810540319385192758) -->
+    <skip />
     <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 +2582,8 @@
     <string name="keywords_profile_challenge" msgid="789611397846512845">"работен предизвик, работа, профил"</string>
     <string name="keywords_unification" msgid="1922900767659821025">"работен профил, управуван профил, унифицирај, унифицирање, работа, профил"</string>
     <string name="keywords_gesture" msgid="5696040361482126337">"движење"</string>
+    <!-- no translation found for keywords_payment_settings (5220104934130446416) -->
+    <skip />
     <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 +2805,8 @@
     <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>
+    <!-- no translation found for display_auto_rotate_title (7119684966039069439) -->
+    <skip />
     <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 +3196,10 @@
     <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>
+    <!-- no translation found for developer_tile (4822711696408279658) -->
+    <skip />
+    <!-- no translation found for developer_tile_unavailable (6559656549479711827) -->
+    <skip />
     <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 +3321,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>
+    <!-- no translation found for storage_photos_videos (1872663116054954685) -->
+    <skip />
+    <!-- no translation found for storage_music_audio (7890103397813503615) -->
+    <skip />
+    <!-- no translation found for storage_games (7703159201697117621) -->
+    <skip />
+    <!-- no translation found for storage_other_apps (5524321740031718083) -->
+    <skip />
+    <!-- no translation found for storage_files (8581083146777364063) -->
+    <skip />
+    <!-- no translation found for storage_settings_2 (6369810699930056554) -->
+    <skip />
 </resources>
diff --git a/res/values-ml-rIN/strings.xml b/res/values-ml-rIN/strings.xml
index e88b139..64fbf60 100644
--- a/res/values-ml-rIN/strings.xml
+++ b/res/values-ml-rIN/strings.xml
@@ -658,7 +658,8 @@
     <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>
+    <!-- no translation found for android_beam_explained (1810540319385192758) -->
+    <skip />
     <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 +2582,8 @@
     <string name="keywords_profile_challenge" msgid="789611397846512845">"ഔദ്യോഗിക വെല്ലുവിളി, ഔദ്യോഗികം, പ്രൊഫൈൽ"</string>
     <string name="keywords_unification" msgid="1922900767659821025">"ഔദ്യോഗിക പ്രൊഫൈൽ, മാനേജുചെയ്യപ്പെടുന്ന പ്രൊഫൈൽ, ഏകീകരിക്കുക, ഏകീകരിക്കൽ, ഔദ്യോഗികം, പ്രൊഫൈൽ"</string>
     <string name="keywords_gesture" msgid="5696040361482126337">"ജെസ്‌റ്റർ"</string>
+    <!-- no translation found for keywords_payment_settings (5220104934130446416) -->
+    <skip />
     <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 +2805,8 @@
     <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>
+    <!-- no translation found for display_auto_rotate_title (7119684966039069439) -->
+    <skip />
     <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 +3196,10 @@
     <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>
+    <!-- no translation found for developer_tile (4822711696408279658) -->
+    <skip />
+    <!-- no translation found for developer_tile_unavailable (6559656549479711827) -->
+    <skip />
     <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 +3321,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>
+    <!-- no translation found for storage_photos_videos (1872663116054954685) -->
+    <skip />
+    <!-- no translation found for storage_music_audio (7890103397813503615) -->
+    <skip />
+    <!-- no translation found for storage_games (7703159201697117621) -->
+    <skip />
+    <!-- no translation found for storage_other_apps (5524321740031718083) -->
+    <skip />
+    <!-- no translation found for storage_files (8581083146777364063) -->
+    <skip />
+    <!-- no translation found for storage_settings_2 (6369810699930056554) -->
+    <skip />
 </resources>
diff --git a/res/values-mn-rMN/strings.xml b/res/values-mn-rMN/strings.xml
index 469f35b..5190acc 100644
--- a/res/values-mn-rMN/strings.xml
+++ b/res/values-mn-rMN/strings.xml
@@ -658,7 +658,8 @@
     <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>
+    <!-- no translation found for android_beam_explained (1810540319385192758) -->
+    <skip />
     <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 +2582,8 @@
     <string name="keywords_profile_challenge" msgid="789611397846512845">"ажлын сорилт, ажил, профайл"</string>
     <string name="keywords_unification" msgid="1922900767659821025">"ажлын профайл, удирдсан профайл, нэгтгэх, нэгдэл, ажил, профайл"</string>
     <string name="keywords_gesture" msgid="5696040361482126337">"зангаа"</string>
+    <!-- no translation found for keywords_payment_settings (5220104934130446416) -->
+    <skip />
     <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>
@@ -2800,7 +2803,8 @@
     <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>
+    <!-- no translation found for display_auto_rotate_title (7119684966039069439) -->
+    <skip />
     <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 +3194,10 @@
     <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>
+    <!-- no translation found for developer_tile (4822711696408279658) -->
+    <skip />
+    <!-- no translation found for developer_tile_unavailable (6559656549479711827) -->
+    <skip />
     <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>
@@ -3311,4 +3319,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>
+    <!-- no translation found for storage_photos_videos (1872663116054954685) -->
+    <skip />
+    <!-- no translation found for storage_music_audio (7890103397813503615) -->
+    <skip />
+    <!-- no translation found for storage_games (7703159201697117621) -->
+    <skip />
+    <!-- no translation found for storage_other_apps (5524321740031718083) -->
+    <skip />
+    <!-- no translation found for storage_files (8581083146777364063) -->
+    <skip />
+    <!-- no translation found for storage_settings_2 (6369810699930056554) -->
+    <skip />
 </resources>
diff --git a/res/values-mr-rIN/strings.xml b/res/values-mr-rIN/strings.xml
index 92a0a38..60b525c 100644
--- a/res/values-mr-rIN/strings.xml
+++ b/res/values-mr-rIN/strings.xml
@@ -658,7 +658,8 @@
     <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>
+    <!-- no translation found for android_beam_explained (1810540319385192758) -->
+    <skip />
     <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 +2582,8 @@
     <string name="keywords_profile_challenge" msgid="789611397846512845">"कार्य आव्हान, कार्य, प्रोफाईल"</string>
     <string name="keywords_unification" msgid="1922900767659821025">"कार्य प्रोफाईल, व्यवस्थापित केलेले प्रोफाईल, एकीकरण, एकीकरण करणे, कार्य, प्रोफाईल"</string>
     <string name="keywords_gesture" msgid="5696040361482126337">"जेश्चर"</string>
+    <!-- no translation found for keywords_payment_settings (5220104934130446416) -->
+    <skip />
     <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 +2805,8 @@
     <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>
+    <!-- no translation found for display_auto_rotate_title (7119684966039069439) -->
+    <skip />
     <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 +3196,10 @@
     <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>
+    <!-- no translation found for developer_tile (4822711696408279658) -->
+    <skip />
+    <!-- no translation found for developer_tile_unavailable (6559656549479711827) -->
+    <skip />
     <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 +3321,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>
+    <!-- no translation found for storage_photos_videos (1872663116054954685) -->
+    <skip />
+    <!-- no translation found for storage_music_audio (7890103397813503615) -->
+    <skip />
+    <!-- no translation found for storage_games (7703159201697117621) -->
+    <skip />
+    <!-- no translation found for storage_other_apps (5524321740031718083) -->
+    <skip />
+    <!-- no translation found for storage_files (8581083146777364063) -->
+    <skip />
+    <!-- no translation found for storage_settings_2 (6369810699930056554) -->
+    <skip />
 </resources>
diff --git a/res/values-ms-rMY/strings.xml b/res/values-ms-rMY/strings.xml
index a612be1..4a30bc5 100644
--- a/res/values-ms-rMY/strings.xml
+++ b/res/values-ms-rMY/strings.xml
@@ -658,7 +658,8 @@
     <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>
+    <!-- no translation found for android_beam_explained (1810540319385192758) -->
+    <skip />
     <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 +2582,8 @@
     <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>
+    <!-- no translation found for keywords_payment_settings (5220104934130446416) -->
+    <skip />
     <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 +2805,8 @@
     <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>
+    <!-- no translation found for display_auto_rotate_title (7119684966039069439) -->
+    <skip />
     <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 +3196,10 @@
     <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>
+    <!-- no translation found for developer_tile (4822711696408279658) -->
+    <skip />
+    <!-- no translation found for developer_tile_unavailable (6559656549479711827) -->
+    <skip />
     <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 +3321,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>
+    <!-- no translation found for storage_photos_videos (1872663116054954685) -->
+    <skip />
+    <!-- no translation found for storage_music_audio (7890103397813503615) -->
+    <skip />
+    <!-- no translation found for storage_games (7703159201697117621) -->
+    <skip />
+    <!-- no translation found for storage_other_apps (5524321740031718083) -->
+    <skip />
+    <!-- no translation found for storage_files (8581083146777364063) -->
+    <skip />
+    <!-- no translation found for storage_settings_2 (6369810699930056554) -->
+    <skip />
 </resources>
diff --git a/res/values-my-rMM/strings.xml b/res/values-my-rMM/strings.xml
index 6c29655..9e18157 100644
--- a/res/values-my-rMM/strings.xml
+++ b/res/values-my-rMM/strings.xml
@@ -658,7 +658,8 @@
     <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>
+    <!-- no translation found for android_beam_explained (1810540319385192758) -->
+    <skip />
     <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 +2582,8 @@
     <string name="keywords_profile_challenge" msgid="789611397846512845">"အလုပ်၏ စိန်ခေါ်မှု၊ အလုပ်၊ ပရိုဖိုင်"</string>
     <string name="keywords_unification" msgid="1922900767659821025">"အလုပ်ပရိုဖိုင်၊ စီမံခန့်ခွဲထားသည့် ပရိုဖိုင်၊ စည်းလုံးစေခြင်း၊ စည်းလုံးအောင်ပြုလုပ်ခြင်း၊ အလုပ်၊ ပရိုဖိုင်"</string>
     <string name="keywords_gesture" msgid="5696040361482126337">"လှုပ်ရှားမှုဟန်"</string>
+    <!-- no translation found for keywords_payment_settings (5220104934130446416) -->
+    <skip />
     <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 +2805,8 @@
     <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>
+    <!-- no translation found for display_auto_rotate_title (7119684966039069439) -->
+    <skip />
     <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 +3196,10 @@
     <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>
+    <!-- no translation found for developer_tile (4822711696408279658) -->
+    <skip />
+    <!-- no translation found for developer_tile_unavailable (6559656549479711827) -->
+    <skip />
     <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 +3321,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>
+    <!-- no translation found for storage_photos_videos (1872663116054954685) -->
+    <skip />
+    <!-- no translation found for storage_music_audio (7890103397813503615) -->
+    <skip />
+    <!-- no translation found for storage_games (7703159201697117621) -->
+    <skip />
+    <!-- no translation found for storage_other_apps (5524321740031718083) -->
+    <skip />
+    <!-- no translation found for storage_files (8581083146777364063) -->
+    <skip />
+    <!-- no translation found for storage_settings_2 (6369810699930056554) -->
+    <skip />
 </resources>
diff --git a/res/values-nb/strings.xml b/res/values-nb/strings.xml
index 5e9fd54..b1de54f 100644
--- a/res/values-nb/strings.xml
+++ b/res/values-nb/strings.xml
@@ -658,7 +658,8 @@
     <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>
+    <!-- no translation found for android_beam_explained (1810540319385192758) -->
+    <skip />
     <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 +2582,8 @@
     <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>
+    <!-- no translation found for keywords_payment_settings (5220104934130446416) -->
+    <skip />
     <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 +2805,8 @@
     <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>
+    <!-- no translation found for display_auto_rotate_title (7119684966039069439) -->
+    <skip />
     <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 +3196,10 @@
     <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>
+    <!-- no translation found for developer_tile (4822711696408279658) -->
+    <skip />
+    <!-- no translation found for developer_tile_unavailable (6559656549479711827) -->
+    <skip />
     <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 +3321,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>
+    <!-- no translation found for storage_photos_videos (1872663116054954685) -->
+    <skip />
+    <!-- no translation found for storage_music_audio (7890103397813503615) -->
+    <skip />
+    <!-- no translation found for storage_games (7703159201697117621) -->
+    <skip />
+    <!-- no translation found for storage_other_apps (5524321740031718083) -->
+    <skip />
+    <!-- no translation found for storage_files (8581083146777364063) -->
+    <skip />
+    <!-- no translation found for storage_settings_2 (6369810699930056554) -->
+    <skip />
 </resources>
diff --git a/res/values-ne-rNP/strings.xml b/res/values-ne-rNP/strings.xml
index e084035..1454686 100644
--- a/res/values-ne-rNP/strings.xml
+++ b/res/values-ne-rNP/strings.xml
@@ -658,7 +658,8 @@
     <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>
+    <!-- no translation found for android_beam_explained (1810540319385192758) -->
+    <skip />
     <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 +2582,8 @@
     <string name="keywords_profile_challenge" msgid="789611397846512845">"कार्य चुनौती, कार्य, प्रोफाइल"</string>
     <string name="keywords_unification" msgid="1922900767659821025">"कार्यको प्रोफाइल, व्यवस्थापन गरिएको प्रोफाइल, एकरूपता ल्याउनु, एकरूपता, कार्य, प्रोफाइल"</string>
     <string name="keywords_gesture" msgid="5696040361482126337">"इसारा"</string>
+    <!-- no translation found for keywords_payment_settings (5220104934130446416) -->
+    <skip />
     <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 +2805,8 @@
     <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>
+    <!-- no translation found for display_auto_rotate_title (7119684966039069439) -->
+    <skip />
     <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 +3198,10 @@
     <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>
+    <!-- no translation found for developer_tile (4822711696408279658) -->
+    <skip />
+    <!-- no translation found for developer_tile_unavailable (6559656549479711827) -->
+    <skip />
     <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 +3323,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>
+    <!-- no translation found for storage_photos_videos (1872663116054954685) -->
+    <skip />
+    <!-- no translation found for storage_music_audio (7890103397813503615) -->
+    <skip />
+    <!-- no translation found for storage_games (7703159201697117621) -->
+    <skip />
+    <!-- no translation found for storage_other_apps (5524321740031718083) -->
+    <skip />
+    <!-- no translation found for storage_files (8581083146777364063) -->
+    <skip />
+    <!-- no translation found for storage_settings_2 (6369810699930056554) -->
+    <skip />
 </resources>
diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml
index d816790..a8a5b8b 100644
--- a/res/values-nl/strings.xml
+++ b/res/values-nl/strings.xml
@@ -425,7 +425,7 @@
     <string name="crypt_keeper_failed_title" msgid="7133499413023075961">"Encryptie mislukt"</string>
     <string name="crypt_keeper_failed_summary" product="tablet" msgid="8219375738445017266">"Het versleutelen is onderbroken en kan niet worden voltooid. Als gevolg hiervan zijn de gegevens op je telefoon niet meer toegankelijk. \n\nAls je je tablet weer wilt gebruiken, moet je de fabrieksinstellingen herstellen. Wanneer je de tablet instelt na het herstel, krijg je de mogelijkheid gegevens waarvan je een back-up hebt gemaakt in je Google-account, terug te zetten."</string>
     <string name="crypt_keeper_failed_summary" product="default" msgid="3270131542549577953">"Het versleutelen is onderbroken en kan niet worden voltooid. Daardoor zijn de gegevens op je telefoon niet meer toegankelijk. \n\nAls je je telefoon weer wilt gebruiken, moet je de fabrieksinstellingen herstellen. Wanneer je de telefoon instelt na het herstel, krijg je de mogelijkheid gegevens terug te zetten waarvan je een back-up hebt gemaakt in je Google-account."</string>
-    <string name="crypt_keeper_data_corrupt_title" msgid="8759119849089795751">"Decodering mislukt"</string>
+    <string name="crypt_keeper_data_corrupt_title" msgid="8759119849089795751">"Ontsleutelen mislukt"</string>
     <string name="crypt_keeper_data_corrupt_summary" product="tablet" msgid="840107296925798402">"Het wachtwoord dat je hebt opgegeven, is correct, maar je gegevens zijn beschadigd. \n\nAls je je tablet weer wilt gebruiken, moet je deze terugzetten naar de fabrieksinstellingen. Wanneer je je tablet configureert na het terugzetten, heb je de mogelijkheid gegevens waarvan je een back-up in je Google-account hebt gemaakt, te herstellen."</string>
     <string name="crypt_keeper_data_corrupt_summary" product="default" msgid="8843311420059663824">"Het wachtwoord dat je hebt opgegeven, is correct, maar je gegevens zijn beschadigd. \n\nAls je je telefoon weer wilt gebruiken, moet je deze terugzetten naar de fabrieksinstellingen. Wanneer je je telefoon configureert na het terugzetten, heb je de mogelijkheid gegevens waarvan je een back-up in je Google-account hebt gemaakt, te herstellen."</string>
     <string name="crypt_keeper_switch_input_method" msgid="4168332125223483198">"Invoermethode schakelen"</string>
@@ -658,7 +658,8 @@
     <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>
+    <!-- no translation found for android_beam_explained (1810540319385192758) -->
+    <skip />
     <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 +2582,8 @@
     <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>
+    <!-- no translation found for keywords_payment_settings (5220104934130446416) -->
+    <skip />
     <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 +2805,8 @@
     <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>
+    <!-- no translation found for display_auto_rotate_title (7119684966039069439) -->
+    <skip />
     <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 +3196,10 @@
     <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>
+    <!-- no translation found for developer_tile (4822711696408279658) -->
+    <skip />
+    <!-- no translation found for developer_tile_unavailable (6559656549479711827) -->
+    <skip />
     <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 +3321,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>
+    <!-- no translation found for storage_photos_videos (1872663116054954685) -->
+    <skip />
+    <!-- no translation found for storage_music_audio (7890103397813503615) -->
+    <skip />
+    <!-- no translation found for storage_games (7703159201697117621) -->
+    <skip />
+    <!-- no translation found for storage_other_apps (5524321740031718083) -->
+    <skip />
+    <!-- no translation found for storage_files (8581083146777364063) -->
+    <skip />
+    <!-- no translation found for storage_settings_2 (6369810699930056554) -->
+    <skip />
 </resources>
diff --git a/res/values-pa-rIN/strings.xml b/res/values-pa-rIN/strings.xml
index 3fb70e6..76e5cdd 100644
--- a/res/values-pa-rIN/strings.xml
+++ b/res/values-pa-rIN/strings.xml
@@ -658,7 +658,8 @@
     <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>
+    <!-- no translation found for android_beam_explained (1810540319385192758) -->
+    <skip />
     <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 +2582,8 @@
     <string name="keywords_profile_challenge" msgid="789611397846512845">"ਕੰਮ ਚੁਣੌਤੀ, ਕੰਮ, ਪ੍ਰੋਫਾਈਲ"</string>
     <string name="keywords_unification" msgid="1922900767659821025">"ਕੰਮ ਪ੍ਰੋਫਾਈਲ, ਪ੍ਰਬੰਧਿਤ ਕੀਤੀ ਗਈ ਪ੍ਰੋਫਾਈਲ, ਇਕਰੂਪ ਕਰਨਾ, ਏਕੀਕਰਨ, ਕੰਮ, ਪ੍ਰੋਫਾਈਲ"</string>
     <string name="keywords_gesture" msgid="5696040361482126337">"ਸੰਕੇਤ"</string>
+    <!-- no translation found for keywords_payment_settings (5220104934130446416) -->
+    <skip />
     <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 +2805,8 @@
     <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>
+    <!-- no translation found for display_auto_rotate_title (7119684966039069439) -->
+    <skip />
     <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 +3196,10 @@
     <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>
+    <!-- no translation found for developer_tile (4822711696408279658) -->
+    <skip />
+    <!-- no translation found for developer_tile_unavailable (6559656549479711827) -->
+    <skip />
     <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 +3321,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>
+    <!-- no translation found for storage_photos_videos (1872663116054954685) -->
+    <skip />
+    <!-- no translation found for storage_music_audio (7890103397813503615) -->
+    <skip />
+    <!-- no translation found for storage_games (7703159201697117621) -->
+    <skip />
+    <!-- no translation found for storage_other_apps (5524321740031718083) -->
+    <skip />
+    <!-- no translation found for storage_files (8581083146777364063) -->
+    <skip />
+    <!-- no translation found for storage_settings_2 (6369810699930056554) -->
+    <skip />
 </resources>
diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml
index 8ed1e40..01e4b36 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,8 @@
     <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>
+    <!-- no translation found for android_beam_explained (1810540319385192758) -->
+    <skip />
     <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 +1367,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 +2626,8 @@
     <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>
+    <!-- no translation found for keywords_payment_settings (5220104934130446416) -->
+    <skip />
     <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 +2855,8 @@
     <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>
+    <!-- no translation found for display_auto_rotate_title (7119684966039069439) -->
+    <skip />
     <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 +3260,10 @@
     <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>
+    <!-- no translation found for developer_tile (4822711696408279658) -->
+    <skip />
+    <!-- no translation found for developer_tile_unavailable (6559656549479711827) -->
+    <skip />
     <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 +3393,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>
+    <!-- no translation found for storage_photos_videos (1872663116054954685) -->
+    <skip />
+    <!-- no translation found for storage_music_audio (7890103397813503615) -->
+    <skip />
+    <!-- no translation found for storage_games (7703159201697117621) -->
+    <skip />
+    <!-- no translation found for storage_other_apps (5524321740031718083) -->
+    <skip />
+    <!-- no translation found for storage_files (8581083146777364063) -->
+    <skip />
+    <!-- no translation found for storage_settings_2 (6369810699930056554) -->
+    <skip />
 </resources>
diff --git a/res/values-pt-rBR/strings.xml b/res/values-pt-rBR/strings.xml
index 5da9e76..91b62c2 100644
--- a/res/values-pt-rBR/strings.xml
+++ b/res/values-pt-rBR/strings.xml
@@ -658,7 +658,8 @@
     <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>
+    <!-- no translation found for android_beam_explained (1810540319385192758) -->
+    <skip />
     <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 +2582,8 @@
     <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>
+    <!-- no translation found for keywords_payment_settings (5220104934130446416) -->
+    <skip />
     <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 +2805,8 @@
     <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>
+    <!-- no translation found for display_auto_rotate_title (7119684966039069439) -->
+    <skip />
     <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 +3196,10 @@
     <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>
+    <!-- no translation found for developer_tile (4822711696408279658) -->
+    <skip />
+    <!-- no translation found for developer_tile_unavailable (6559656549479711827) -->
+    <skip />
     <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 +3321,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>
+    <!-- no translation found for storage_photos_videos (1872663116054954685) -->
+    <skip />
+    <!-- no translation found for storage_music_audio (7890103397813503615) -->
+    <skip />
+    <!-- no translation found for storage_games (7703159201697117621) -->
+    <skip />
+    <!-- no translation found for storage_other_apps (5524321740031718083) -->
+    <skip />
+    <!-- no translation found for storage_files (8581083146777364063) -->
+    <skip />
+    <!-- no translation found for storage_settings_2 (6369810699930056554) -->
+    <skip />
 </resources>
diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml
index 9a0b37c..b421d69 100644
--- a/res/values-pt-rPT/strings.xml
+++ b/res/values-pt-rPT/strings.xml
@@ -658,7 +658,8 @@
     <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>
+    <!-- no translation found for android_beam_explained (1810540319385192758) -->
+    <skip />
     <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 +2582,8 @@
     <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>
+    <!-- no translation found for keywords_payment_settings (5220104934130446416) -->
+    <skip />
     <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 +2805,8 @@
     <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>
+    <!-- no translation found for display_auto_rotate_title (7119684966039069439) -->
+    <skip />
     <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 +3196,10 @@
     <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>
+    <!-- no translation found for developer_tile (4822711696408279658) -->
+    <skip />
+    <!-- no translation found for developer_tile_unavailable (6559656549479711827) -->
+    <skip />
     <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 +3321,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>
+    <!-- no translation found for storage_photos_videos (1872663116054954685) -->
+    <skip />
+    <!-- no translation found for storage_music_audio (7890103397813503615) -->
+    <skip />
+    <!-- no translation found for storage_games (7703159201697117621) -->
+    <skip />
+    <!-- no translation found for storage_other_apps (5524321740031718083) -->
+    <skip />
+    <!-- no translation found for storage_files (8581083146777364063) -->
+    <skip />
+    <!-- no translation found for storage_settings_2 (6369810699930056554) -->
+    <skip />
 </resources>
diff --git a/res/values-pt/strings.xml b/res/values-pt/strings.xml
index 5da9e76..91b62c2 100644
--- a/res/values-pt/strings.xml
+++ b/res/values-pt/strings.xml
@@ -658,7 +658,8 @@
     <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>
+    <!-- no translation found for android_beam_explained (1810540319385192758) -->
+    <skip />
     <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 +2582,8 @@
     <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>
+    <!-- no translation found for keywords_payment_settings (5220104934130446416) -->
+    <skip />
     <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 +2805,8 @@
     <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>
+    <!-- no translation found for display_auto_rotate_title (7119684966039069439) -->
+    <skip />
     <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 +3196,10 @@
     <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>
+    <!-- no translation found for developer_tile (4822711696408279658) -->
+    <skip />
+    <!-- no translation found for developer_tile_unavailable (6559656549479711827) -->
+    <skip />
     <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 +3321,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>
+    <!-- no translation found for storage_photos_videos (1872663116054954685) -->
+    <skip />
+    <!-- no translation found for storage_music_audio (7890103397813503615) -->
+    <skip />
+    <!-- no translation found for storage_games (7703159201697117621) -->
+    <skip />
+    <!-- no translation found for storage_other_apps (5524321740031718083) -->
+    <skip />
+    <!-- no translation found for storage_files (8581083146777364063) -->
+    <skip />
+    <!-- no translation found for storage_settings_2 (6369810699930056554) -->
+    <skip />
 </resources>
diff --git a/res/values-ro/strings.xml b/res/values-ro/strings.xml
index ed59e8f..b55a2eb 100644
--- a/res/values-ro/strings.xml
+++ b/res/values-ro/strings.xml
@@ -667,7 +667,8 @@
     <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>
+    <!-- no translation found for android_beam_explained (1810540319385192758) -->
+    <skip />
     <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 +2604,8 @@
     <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>
+    <!-- no translation found for keywords_payment_settings (5220104934130446416) -->
+    <skip />
     <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 +2830,8 @@
     <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>
+    <!-- no translation found for display_auto_rotate_title (7119684966039069439) -->
+    <skip />
     <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 +3228,10 @@
     <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>
+    <!-- no translation found for developer_tile (4822711696408279658) -->
+    <skip />
+    <!-- no translation found for developer_tile_unavailable (6559656549479711827) -->
+    <skip />
     <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 +3357,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>
+    <!-- no translation found for storage_photos_videos (1872663116054954685) -->
+    <skip />
+    <!-- no translation found for storage_music_audio (7890103397813503615) -->
+    <skip />
+    <!-- no translation found for storage_games (7703159201697117621) -->
+    <skip />
+    <!-- no translation found for storage_other_apps (5524321740031718083) -->
+    <skip />
+    <!-- no translation found for storage_files (8581083146777364063) -->
+    <skip />
+    <!-- no translation found for storage_settings_2 (6369810699930056554) -->
+    <skip />
 </resources>
diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml
index db3d03e..80050bb 100644
--- a/res/values-ru/strings.xml
+++ b/res/values-ru/strings.xml
@@ -676,7 +676,8 @@
     <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>
+    <!-- no translation found for android_beam_explained (1810540319385192758) -->
+    <skip />
     <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 +2626,8 @@
     <string name="keywords_profile_challenge" msgid="789611397846512845">"защита рабочего профиля, рабочий, профиль"</string>
     <string name="keywords_unification" msgid="1922900767659821025">"рабочий профиль, управляемый профиль, объединить, объединение, работа, профиль"</string>
     <string name="keywords_gesture" msgid="5696040361482126337">"жест"</string>
+    <!-- no translation found for keywords_payment_settings (5220104934130446416) -->
+    <skip />
     <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 +2855,8 @@
     <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>
+    <!-- no translation found for display_auto_rotate_title (7119684966039069439) -->
+    <skip />
     <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 +3260,10 @@
     <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>
+    <!-- no translation found for developer_tile (4822711696408279658) -->
+    <skip />
+    <!-- no translation found for developer_tile_unavailable (6559656549479711827) -->
+    <skip />
     <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 +3393,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>
+    <!-- no translation found for storage_photos_videos (1872663116054954685) -->
+    <skip />
+    <!-- no translation found for storage_music_audio (7890103397813503615) -->
+    <skip />
+    <!-- no translation found for storage_games (7703159201697117621) -->
+    <skip />
+    <!-- no translation found for storage_other_apps (5524321740031718083) -->
+    <skip />
+    <!-- no translation found for storage_files (8581083146777364063) -->
+    <skip />
+    <!-- no translation found for storage_settings_2 (6369810699930056554) -->
+    <skip />
 </resources>
diff --git a/res/values-si-rLK/strings.xml b/res/values-si-rLK/strings.xml
index c6138f7..b2fe2bb 100644
--- a/res/values-si-rLK/strings.xml
+++ b/res/values-si-rLK/strings.xml
@@ -658,7 +658,8 @@
     <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>
+    <!-- no translation found for android_beam_explained (1810540319385192758) -->
+    <skip />
     <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 +2582,8 @@
     <string name="keywords_profile_challenge" msgid="789611397846512845">"වැඩ අභියෝගය, වැඩ, පැතිකඩ"</string>
     <string name="keywords_unification" msgid="1922900767659821025">"කාර්යාල පැතිකඩ, කළමනාකරණය කළ පැතිකඩ, ඒකාබද්ධ, ඒකාබද්ධ කිරීම, කාර්යාල, පැතිකඩ"</string>
     <string name="keywords_gesture" msgid="5696040361482126337">"ඉංගිතය"</string>
+    <!-- no translation found for keywords_payment_settings (5220104934130446416) -->
+    <skip />
     <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 +2805,8 @@
     <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>
+    <!-- no translation found for display_auto_rotate_title (7119684966039069439) -->
+    <skip />
     <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 +3196,10 @@
     <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>
+    <!-- no translation found for developer_tile (4822711696408279658) -->
+    <skip />
+    <!-- no translation found for developer_tile_unavailable (6559656549479711827) -->
+    <skip />
     <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 +3321,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>
+    <!-- no translation found for storage_photos_videos (1872663116054954685) -->
+    <skip />
+    <!-- no translation found for storage_music_audio (7890103397813503615) -->
+    <skip />
+    <!-- no translation found for storage_games (7703159201697117621) -->
+    <skip />
+    <!-- no translation found for storage_other_apps (5524321740031718083) -->
+    <skip />
+    <!-- no translation found for storage_files (8581083146777364063) -->
+    <skip />
+    <!-- no translation found for storage_settings_2 (6369810699930056554) -->
+    <skip />
 </resources>
diff --git a/res/values-sk/strings.xml b/res/values-sk/strings.xml
index 1961f8d..87f2a51 100644
--- a/res/values-sk/strings.xml
+++ b/res/values-sk/strings.xml
@@ -676,7 +676,8 @@
     <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>
+    <!-- no translation found for android_beam_explained (1810540319385192758) -->
+    <skip />
     <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 +2626,8 @@
     <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>
+    <!-- no translation found for keywords_payment_settings (5220104934130446416) -->
+    <skip />
     <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 +2855,8 @@
     <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>
+    <!-- no translation found for display_auto_rotate_title (7119684966039069439) -->
+    <skip />
     <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 +3260,10 @@
     <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>
+    <!-- no translation found for developer_tile (4822711696408279658) -->
+    <skip />
+    <!-- no translation found for developer_tile_unavailable (6559656549479711827) -->
+    <skip />
     <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 +3393,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>
+    <!-- no translation found for storage_photos_videos (1872663116054954685) -->
+    <skip />
+    <!-- no translation found for storage_music_audio (7890103397813503615) -->
+    <skip />
+    <!-- no translation found for storage_games (7703159201697117621) -->
+    <skip />
+    <!-- no translation found for storage_other_apps (5524321740031718083) -->
+    <skip />
+    <!-- no translation found for storage_files (8581083146777364063) -->
+    <skip />
+    <!-- no translation found for storage_settings_2 (6369810699930056554) -->
+    <skip />
 </resources>
diff --git a/res/values-sl/strings.xml b/res/values-sl/strings.xml
index 69e71e1..a3cf571 100644
--- a/res/values-sl/strings.xml
+++ b/res/values-sl/strings.xml
@@ -676,7 +676,8 @@
     <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>
+    <!-- no translation found for android_beam_explained (1810540319385192758) -->
+    <skip />
     <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 +2626,8 @@
     <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>
+    <!-- no translation found for keywords_payment_settings (5220104934130446416) -->
+    <skip />
     <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 +2855,8 @@
     <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>
+    <!-- no translation found for display_auto_rotate_title (7119684966039069439) -->
+    <skip />
     <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 +3260,10 @@
     <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>
+    <!-- no translation found for developer_tile (4822711696408279658) -->
+    <skip />
+    <!-- no translation found for developer_tile_unavailable (6559656549479711827) -->
+    <skip />
     <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 +3393,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>
+    <!-- no translation found for storage_photos_videos (1872663116054954685) -->
+    <skip />
+    <!-- no translation found for storage_music_audio (7890103397813503615) -->
+    <skip />
+    <!-- no translation found for storage_games (7703159201697117621) -->
+    <skip />
+    <!-- no translation found for storage_other_apps (5524321740031718083) -->
+    <skip />
+    <!-- no translation found for storage_files (8581083146777364063) -->
+    <skip />
+    <!-- no translation found for storage_settings_2 (6369810699930056554) -->
+    <skip />
 </resources>
diff --git a/res/values-sq-rAL/strings.xml b/res/values-sq-rAL/strings.xml
index 735817a..9e7c319 100644
--- a/res/values-sq-rAL/strings.xml
+++ b/res/values-sq-rAL/strings.xml
@@ -658,7 +658,8 @@
     <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>
+    <!-- no translation found for android_beam_explained (1810540319385192758) -->
+    <skip />
     <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 +2582,8 @@
     <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>
+    <!-- no translation found for keywords_payment_settings (5220104934130446416) -->
+    <skip />
     <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 +2805,8 @@
     <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>
+    <!-- no translation found for display_auto_rotate_title (7119684966039069439) -->
+    <skip />
     <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 +3196,10 @@
     <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>
+    <!-- no translation found for developer_tile (4822711696408279658) -->
+    <skip />
+    <!-- no translation found for developer_tile_unavailable (6559656549479711827) -->
+    <skip />
     <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 +3321,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>
+    <!-- no translation found for storage_photos_videos (1872663116054954685) -->
+    <skip />
+    <!-- no translation found for storage_music_audio (7890103397813503615) -->
+    <skip />
+    <!-- no translation found for storage_games (7703159201697117621) -->
+    <skip />
+    <!-- no translation found for storage_other_apps (5524321740031718083) -->
+    <skip />
+    <!-- no translation found for storage_files (8581083146777364063) -->
+    <skip />
+    <!-- no translation found for storage_settings_2 (6369810699930056554) -->
+    <skip />
 </resources>
diff --git a/res/values-sr/strings.xml b/res/values-sr/strings.xml
index f3c8a23..4b5e83e 100644
--- a/res/values-sr/strings.xml
+++ b/res/values-sr/strings.xml
@@ -667,7 +667,8 @@
     <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>
+    <!-- no translation found for android_beam_explained (1810540319385192758) -->
+    <skip />
     <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 +2604,8 @@
     <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>
+    <!-- no translation found for keywords_payment_settings (5220104934130446416) -->
+    <skip />
     <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 +2830,8 @@
     <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>
+    <!-- no translation found for display_auto_rotate_title (7119684966039069439) -->
+    <skip />
     <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 +3228,10 @@
     <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>
+    <!-- no translation found for developer_tile (4822711696408279658) -->
+    <skip />
+    <!-- no translation found for developer_tile_unavailable (6559656549479711827) -->
+    <skip />
     <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 +3357,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>
+    <!-- no translation found for storage_photos_videos (1872663116054954685) -->
+    <skip />
+    <!-- no translation found for storage_music_audio (7890103397813503615) -->
+    <skip />
+    <!-- no translation found for storage_games (7703159201697117621) -->
+    <skip />
+    <!-- no translation found for storage_other_apps (5524321740031718083) -->
+    <skip />
+    <!-- no translation found for storage_files (8581083146777364063) -->
+    <skip />
+    <!-- no translation found for storage_settings_2 (6369810699930056554) -->
+    <skip />
 </resources>
diff --git a/res/values-sv/strings.xml b/res/values-sv/strings.xml
index 8b1f3ed..75b184e 100644
--- a/res/values-sv/strings.xml
+++ b/res/values-sv/strings.xml
@@ -321,7 +321,7 @@
     <string name="owner_info_settings_title" msgid="5530285568897386122">"Låsskärmsmeddelande"</string>
     <string name="security_enable_widgets_title" msgid="2754833397070967846">"Aktivera widgetar"</string>
     <string name="security_enable_widgets_disabled_summary" msgid="1557090442377855233">"Har inaktiverats av administratören"</string>
-    <string name="owner_info_settings_summary" msgid="7472393443779227052">"Ingen"</string>
+    <string name="owner_info_settings_summary" msgid="7472393443779227052">"Inget"</string>
     <string name="owner_info_settings_status" msgid="120407527726476378">"<xliff:g id="COUNT_0">%1$d</xliff:g>/<xliff:g id="COUNT_1">%2$d</xliff:g>"</string>
     <string name="owner_info_settings_edit_text_hint" msgid="7591869574491036360">"T.ex. Jockes Android."</string>
     <string name="user_info_settings_title" msgid="1195015434996724736">"Användarinfo"</string>
@@ -658,7 +658,8 @@
     <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>
+    <!-- no translation found for android_beam_explained (1810540319385192758) -->
+    <skip />
     <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 +2582,8 @@
     <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>
+    <!-- no translation found for keywords_payment_settings (5220104934130446416) -->
+    <skip />
     <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 +2805,8 @@
     <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>
+    <!-- no translation found for display_auto_rotate_title (7119684966039069439) -->
+    <skip />
     <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 +3196,10 @@
     <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>
+    <!-- no translation found for developer_tile (4822711696408279658) -->
+    <skip />
+    <!-- no translation found for developer_tile_unavailable (6559656549479711827) -->
+    <skip />
     <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 +3321,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>
+    <!-- no translation found for storage_photos_videos (1872663116054954685) -->
+    <skip />
+    <!-- no translation found for storage_music_audio (7890103397813503615) -->
+    <skip />
+    <!-- no translation found for storage_games (7703159201697117621) -->
+    <skip />
+    <!-- no translation found for storage_other_apps (5524321740031718083) -->
+    <skip />
+    <!-- no translation found for storage_files (8581083146777364063) -->
+    <skip />
+    <!-- no translation found for storage_settings_2 (6369810699930056554) -->
+    <skip />
 </resources>
diff --git a/res/values-sw/strings.xml b/res/values-sw/strings.xml
index b61eca9..64badd9 100644
--- a/res/values-sw/strings.xml
+++ b/res/values-sw/strings.xml
@@ -658,7 +658,8 @@
     <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>
+    <!-- no translation found for android_beam_explained (1810540319385192758) -->
+    <skip />
     <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 +2582,8 @@
     <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>
+    <!-- no translation found for keywords_payment_settings (5220104934130446416) -->
+    <skip />
     <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 +2805,8 @@
     <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>
+    <!-- no translation found for display_auto_rotate_title (7119684966039069439) -->
+    <skip />
     <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 +3196,10 @@
     <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>
+    <!-- no translation found for developer_tile (4822711696408279658) -->
+    <skip />
+    <!-- no translation found for developer_tile_unavailable (6559656549479711827) -->
+    <skip />
     <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 +3321,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>
+    <!-- no translation found for storage_photos_videos (1872663116054954685) -->
+    <skip />
+    <!-- no translation found for storage_music_audio (7890103397813503615) -->
+    <skip />
+    <!-- no translation found for storage_games (7703159201697117621) -->
+    <skip />
+    <!-- no translation found for storage_other_apps (5524321740031718083) -->
+    <skip />
+    <!-- no translation found for storage_files (8581083146777364063) -->
+    <skip />
+    <!-- no translation found for storage_settings_2 (6369810699930056554) -->
+    <skip />
 </resources>
diff --git a/res/values-ta-rIN/strings.xml b/res/values-ta-rIN/strings.xml
index 2cdd4f0..324c0b9 100644
--- a/res/values-ta-rIN/strings.xml
+++ b/res/values-ta-rIN/strings.xml
@@ -658,7 +658,8 @@
     <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>
+    <!-- no translation found for android_beam_explained (1810540319385192758) -->
+    <skip />
     <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 +2582,8 @@
     <string name="keywords_profile_challenge" msgid="789611397846512845">"பணிச்சுமை, பணி, சுயவிவரம்"</string>
     <string name="keywords_unification" msgid="1922900767659821025">"பணி சுயவிவரம், நிர்வகிக்கப்படும் சுயவிவரம், ஒருங்கிணை, ஒருங்கிணைத்தல், பணி, சுயவிவரம்"</string>
     <string name="keywords_gesture" msgid="5696040361482126337">"சைகை"</string>
+    <!-- no translation found for keywords_payment_settings (5220104934130446416) -->
+    <skip />
     <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 +2805,8 @@
     <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>
+    <!-- no translation found for display_auto_rotate_title (7119684966039069439) -->
+    <skip />
     <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 +3196,10 @@
     <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>
+    <!-- no translation found for developer_tile (4822711696408279658) -->
+    <skip />
+    <!-- no translation found for developer_tile_unavailable (6559656549479711827) -->
+    <skip />
     <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 +3321,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>
+    <!-- no translation found for storage_photos_videos (1872663116054954685) -->
+    <skip />
+    <!-- no translation found for storage_music_audio (7890103397813503615) -->
+    <skip />
+    <!-- no translation found for storage_games (7703159201697117621) -->
+    <skip />
+    <!-- no translation found for storage_other_apps (5524321740031718083) -->
+    <skip />
+    <!-- no translation found for storage_files (8581083146777364063) -->
+    <skip />
+    <!-- no translation found for storage_settings_2 (6369810699930056554) -->
+    <skip />
 </resources>
diff --git a/res/values-te-rIN/strings.xml b/res/values-te-rIN/strings.xml
index 95be5bb..c6e76ee 100644
--- a/res/values-te-rIN/strings.xml
+++ b/res/values-te-rIN/strings.xml
@@ -658,7 +658,8 @@
     <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>
+    <!-- no translation found for android_beam_explained (1810540319385192758) -->
+    <skip />
     <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 +2582,8 @@
     <string name="keywords_profile_challenge" msgid="789611397846512845">"కార్యాలయ సవాలు, కార్యాలయం, ప్రొఫైల్"</string>
     <string name="keywords_unification" msgid="1922900767659821025">"కార్యాలయ ప్రొఫైల్, నిర్వహించబడిన ప్రొఫైల్, ఏకీకరించు, ఏకీకరణ, కార్యాలయం, ప్రొఫైల్"</string>
     <string name="keywords_gesture" msgid="5696040361482126337">"సంజ్ఞ"</string>
+    <!-- no translation found for keywords_payment_settings (5220104934130446416) -->
+    <skip />
     <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 +2805,8 @@
     <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>
+    <!-- no translation found for display_auto_rotate_title (7119684966039069439) -->
+    <skip />
     <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 +3196,10 @@
     <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>
+    <!-- no translation found for developer_tile (4822711696408279658) -->
+    <skip />
+    <!-- no translation found for developer_tile_unavailable (6559656549479711827) -->
+    <skip />
     <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 +3321,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>
+    <!-- no translation found for storage_photos_videos (1872663116054954685) -->
+    <skip />
+    <!-- no translation found for storage_music_audio (7890103397813503615) -->
+    <skip />
+    <!-- no translation found for storage_games (7703159201697117621) -->
+    <skip />
+    <!-- no translation found for storage_other_apps (5524321740031718083) -->
+    <skip />
+    <!-- no translation found for storage_files (8581083146777364063) -->
+    <skip />
+    <!-- no translation found for storage_settings_2 (6369810699930056554) -->
+    <skip />
 </resources>
diff --git a/res/values-th/strings.xml b/res/values-th/strings.xml
index 902fd65..0ea691d 100644
--- a/res/values-th/strings.xml
+++ b/res/values-th/strings.xml
@@ -658,7 +658,8 @@
     <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>
+    <!-- no translation found for android_beam_explained (1810540319385192758) -->
+    <skip />
     <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>
@@ -2581,6 +2582,8 @@
     <string name="keywords_profile_challenge" msgid="789611397846512845">"ความท้าทายในการทำงาน, งาน, โปรไฟล์"</string>
     <string name="keywords_unification" msgid="1922900767659821025">"โปรไฟล์งาน, โปรไฟล์ที่มีการจัดการ, รวม, การรวม, งาน, โปรไฟล์"</string>
     <string name="keywords_gesture" msgid="5696040361482126337">"ท่าทางสัมผัส"</string>
+    <!-- no translation found for keywords_payment_settings (5220104934130446416) -->
+    <skip />
     <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 +2805,8 @@
     <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>
+    <!-- no translation found for display_auto_rotate_title (7119684966039069439) -->
+    <skip />
     <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 +3196,10 @@
     <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>
+    <!-- no translation found for developer_tile (4822711696408279658) -->
+    <skip />
+    <!-- no translation found for developer_tile_unavailable (6559656549479711827) -->
+    <skip />
     <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 +3321,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>
+    <!-- no translation found for storage_photos_videos (1872663116054954685) -->
+    <skip />
+    <!-- no translation found for storage_music_audio (7890103397813503615) -->
+    <skip />
+    <!-- no translation found for storage_games (7703159201697117621) -->
+    <skip />
+    <!-- no translation found for storage_other_apps (5524321740031718083) -->
+    <skip />
+    <!-- no translation found for storage_files (8581083146777364063) -->
+    <skip />
+    <!-- no translation found for storage_settings_2 (6369810699930056554) -->
+    <skip />
 </resources>
diff --git a/res/values-tl/strings.xml b/res/values-tl/strings.xml
index 047a687..da5d3da 100644
--- a/res/values-tl/strings.xml
+++ b/res/values-tl/strings.xml
@@ -658,7 +658,8 @@
     <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>
+    <!-- no translation found for android_beam_explained (1810540319385192758) -->
+    <skip />
     <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>
@@ -2581,6 +2582,8 @@
     <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>
+    <!-- no translation found for keywords_payment_settings (5220104934130446416) -->
+    <skip />
     <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>
@@ -2802,7 +2805,8 @@
     <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>
+    <!-- no translation found for display_auto_rotate_title (7119684966039069439) -->
+    <skip />
     <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 +3196,10 @@
     <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>
+    <!-- no translation found for developer_tile (4822711696408279658) -->
+    <skip />
+    <!-- no translation found for developer_tile_unavailable (6559656549479711827) -->
+    <skip />
     <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>
@@ -3313,4 +3321,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>
+    <!-- no translation found for storage_photos_videos (1872663116054954685) -->
+    <skip />
+    <!-- no translation found for storage_music_audio (7890103397813503615) -->
+    <skip />
+    <!-- no translation found for storage_games (7703159201697117621) -->
+    <skip />
+    <!-- no translation found for storage_other_apps (5524321740031718083) -->
+    <skip />
+    <!-- no translation found for storage_files (8581083146777364063) -->
+    <skip />
+    <!-- no translation found for storage_settings_2 (6369810699930056554) -->
+    <skip />
 </resources>
diff --git a/res/values-tr/strings.xml b/res/values-tr/strings.xml
index aac62d3..19080d5 100644
--- a/res/values-tr/strings.xml
+++ b/res/values-tr/strings.xml
@@ -658,7 +658,8 @@
     <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>
+    <!-- no translation found for android_beam_explained (1810540319385192758) -->
+    <skip />
     <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 +2582,8 @@
     <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>
+    <!-- no translation found for keywords_payment_settings (5220104934130446416) -->
+    <skip />
     <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 +2805,8 @@
     <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>
+    <!-- no translation found for display_auto_rotate_title (7119684966039069439) -->
+    <skip />
     <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 +3196,10 @@
     <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>
+    <!-- no translation found for developer_tile (4822711696408279658) -->
+    <skip />
+    <!-- no translation found for developer_tile_unavailable (6559656549479711827) -->
+    <skip />
     <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 +3321,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>
+    <!-- no translation found for storage_photos_videos (1872663116054954685) -->
+    <skip />
+    <!-- no translation found for storage_music_audio (7890103397813503615) -->
+    <skip />
+    <!-- no translation found for storage_games (7703159201697117621) -->
+    <skip />
+    <!-- no translation found for storage_other_apps (5524321740031718083) -->
+    <skip />
+    <!-- no translation found for storage_files (8581083146777364063) -->
+    <skip />
+    <!-- no translation found for storage_settings_2 (6369810699930056554) -->
+    <skip />
 </resources>
diff --git a/res/values-uk/strings.xml b/res/values-uk/strings.xml
index f3b8478..e6a55b2 100644
--- a/res/values-uk/strings.xml
+++ b/res/values-uk/strings.xml
@@ -676,7 +676,8 @@
     <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>
+    <!-- no translation found for android_beam_explained (1810540319385192758) -->
+    <skip />
     <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 +2626,8 @@
     <string name="keywords_profile_challenge" msgid="789611397846512845">"робоче завдання, робочий, профіль"</string>
     <string name="keywords_unification" msgid="1922900767659821025">"робочий профіль, керований профіль, об’єднати, об’єднання, робота, профіль"</string>
     <string name="keywords_gesture" msgid="5696040361482126337">"жест"</string>
+    <!-- no translation found for keywords_payment_settings (5220104934130446416) -->
+    <skip />
     <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 +2855,8 @@
     <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>
+    <!-- no translation found for display_auto_rotate_title (7119684966039069439) -->
+    <skip />
     <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 +3260,10 @@
     <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>
+    <!-- no translation found for developer_tile (4822711696408279658) -->
+    <skip />
+    <!-- no translation found for developer_tile_unavailable (6559656549479711827) -->
+    <skip />
     <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 +3393,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>
+    <!-- no translation found for storage_photos_videos (1872663116054954685) -->
+    <skip />
+    <!-- no translation found for storage_music_audio (7890103397813503615) -->
+    <skip />
+    <!-- no translation found for storage_games (7703159201697117621) -->
+    <skip />
+    <!-- no translation found for storage_other_apps (5524321740031718083) -->
+    <skip />
+    <!-- no translation found for storage_files (8581083146777364063) -->
+    <skip />
+    <!-- no translation found for storage_settings_2 (6369810699930056554) -->
+    <skip />
 </resources>
diff --git a/res/values-ur-rPK/strings.xml b/res/values-ur-rPK/strings.xml
index db98b25..dee4513 100644
--- a/res/values-ur-rPK/strings.xml
+++ b/res/values-ur-rPK/strings.xml
@@ -646,7 +646,8 @@
     <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>
+    <!-- no translation found for android_beam_explained (1810540319385192758) -->
+    <skip />
     <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 +2568,8 @@
     <string name="keywords_profile_challenge" msgid="789611397846512845">"کام کا چیلنج، کام، پروفائل"</string>
     <string name="keywords_unification" msgid="1922900767659821025">"دفتری پروفائل، منظم پروفائل، یکجا کریں، یکجا کرنا، کام، پروفائل"</string>
     <string name="keywords_gesture" msgid="5696040361482126337">"اشارہ"</string>
+    <!-- no translation found for keywords_payment_settings (5220104934130446416) -->
+    <skip />
     <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 +2791,8 @@
     <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>
+    <!-- no translation found for display_auto_rotate_title (7119684966039069439) -->
+    <skip />
     <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 +3182,10 @@
     <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>
+    <!-- no translation found for developer_tile (4822711696408279658) -->
+    <skip />
+    <!-- no translation found for developer_tile_unavailable (6559656549479711827) -->
+    <skip />
     <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 +3307,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>
+    <!-- no translation found for storage_photos_videos (1872663116054954685) -->
+    <skip />
+    <!-- no translation found for storage_music_audio (7890103397813503615) -->
+    <skip />
+    <!-- no translation found for storage_games (7703159201697117621) -->
+    <skip />
+    <!-- no translation found for storage_other_apps (5524321740031718083) -->
+    <skip />
+    <!-- no translation found for storage_files (8581083146777364063) -->
+    <skip />
+    <!-- no translation found for storage_settings_2 (6369810699930056554) -->
+    <skip />
 </resources>
diff --git a/res/values-uz-rUZ/strings.xml b/res/values-uz-rUZ/strings.xml
index 2b325f4..f1e3642 100644
--- a/res/values-uz-rUZ/strings.xml
+++ b/res/values-uz-rUZ/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,8 @@
     <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>
+    <!-- no translation found for android_beam_explained (1810540319385192758) -->
+    <skip />
     <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 +2582,8 @@
     <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>
+    <!-- no translation found for keywords_payment_settings (5220104934130446416) -->
+    <skip />
     <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 +2749,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 +2805,8 @@
     <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>
+    <!-- no translation found for display_auto_rotate_title (7119684966039069439) -->
+    <skip />
     <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 +3196,10 @@
     <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>
+    <!-- no translation found for developer_tile (4822711696408279658) -->
+    <skip />
+    <!-- no translation found for developer_tile_unavailable (6559656549479711827) -->
+    <skip />
     <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 +3321,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>
+    <!-- no translation found for storage_photos_videos (1872663116054954685) -->
+    <skip />
+    <!-- no translation found for storage_music_audio (7890103397813503615) -->
+    <skip />
+    <!-- no translation found for storage_games (7703159201697117621) -->
+    <skip />
+    <!-- no translation found for storage_other_apps (5524321740031718083) -->
+    <skip />
+    <!-- no translation found for storage_files (8581083146777364063) -->
+    <skip />
+    <!-- no translation found for storage_settings_2 (6369810699930056554) -->
+    <skip />
 </resources>
diff --git a/res/values-vi/strings.xml b/res/values-vi/strings.xml
index d9d379c..03d2b22 100644
--- a/res/values-vi/strings.xml
+++ b/res/values-vi/strings.xml
@@ -658,7 +658,8 @@
     <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>
+    <!-- no translation found for android_beam_explained (1810540319385192758) -->
+    <skip />
     <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 +2582,8 @@
     <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>
+    <!-- no translation found for keywords_payment_settings (5220104934130446416) -->
+    <skip />
     <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 +2805,8 @@
     <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>
+    <!-- no translation found for display_auto_rotate_title (7119684966039069439) -->
+    <skip />
     <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 +3196,10 @@
     <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>
+    <!-- no translation found for developer_tile (4822711696408279658) -->
+    <skip />
+    <!-- no translation found for developer_tile_unavailable (6559656549479711827) -->
+    <skip />
     <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 +3321,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>
+    <!-- no translation found for storage_photos_videos (1872663116054954685) -->
+    <skip />
+    <!-- no translation found for storage_music_audio (7890103397813503615) -->
+    <skip />
+    <!-- no translation found for storage_games (7703159201697117621) -->
+    <skip />
+    <!-- no translation found for storage_other_apps (5524321740031718083) -->
+    <skip />
+    <!-- no translation found for storage_files (8581083146777364063) -->
+    <skip />
+    <!-- no translation found for storage_settings_2 (6369810699930056554) -->
+    <skip />
 </resources>
diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml
index 474b511..1f12a2f 100644
--- a/res/values-zh-rCN/strings.xml
+++ b/res/values-zh-rCN/strings.xml
@@ -658,7 +658,8 @@
     <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>
+    <!-- no translation found for android_beam_explained (1810540319385192758) -->
+    <skip />
     <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>
@@ -2581,6 +2582,8 @@
     <string name="keywords_profile_challenge" msgid="789611397846512845">"工作验证, 工作, 资料"</string>
     <string name="keywords_unification" msgid="1922900767659821025">"工作资料, 托管资料, 汇整, 统一, 工作, 资料"</string>
     <string name="keywords_gesture" msgid="5696040361482126337">"手势"</string>
+    <!-- no translation found for keywords_payment_settings (5220104934130446416) -->
+    <skip />
     <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>
@@ -2802,7 +2805,8 @@
     <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>
+    <!-- no translation found for display_auto_rotate_title (7119684966039069439) -->
+    <skip />
     <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 +3196,10 @@
     <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>
+    <!-- no translation found for developer_tile (4822711696408279658) -->
+    <skip />
+    <!-- no translation found for developer_tile_unavailable (6559656549479711827) -->
+    <skip />
     <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 +3321,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>
+    <!-- no translation found for storage_photos_videos (1872663116054954685) -->
+    <skip />
+    <!-- no translation found for storage_music_audio (7890103397813503615) -->
+    <skip />
+    <!-- no translation found for storage_games (7703159201697117621) -->
+    <skip />
+    <!-- no translation found for storage_other_apps (5524321740031718083) -->
+    <skip />
+    <!-- no translation found for storage_files (8581083146777364063) -->
+    <skip />
+    <!-- no translation found for storage_settings_2 (6369810699930056554) -->
+    <skip />
 </resources>
diff --git a/res/values-zh-rHK/strings.xml b/res/values-zh-rHK/strings.xml
index 3bf07a6..3064ceb 100644
--- a/res/values-zh-rHK/strings.xml
+++ b/res/values-zh-rHK/strings.xml
@@ -658,7 +658,8 @@
     <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>
+    <!-- no translation found for android_beam_explained (1810540319385192758) -->
+    <skip />
     <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>
@@ -2584,6 +2585,8 @@
     <string name="keywords_profile_challenge" msgid="789611397846512845">"工作挑戰, 工作, 設定檔"</string>
     <string name="keywords_unification" msgid="1922900767659821025">"工作設定檔, 受管理的設定檔, 整合, 整合, 工作, 設定檔"</string>
     <string name="keywords_gesture" msgid="5696040361482126337">"手勢"</string>
+    <!-- no translation found for keywords_payment_settings (5220104934130446416) -->
+    <skip />
     <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>
@@ -2805,7 +2808,8 @@
     <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>
+    <!-- no translation found for display_auto_rotate_title (7119684966039069439) -->
+    <skip />
     <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 +3199,10 @@
     <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>
+    <!-- no translation found for developer_tile (4822711696408279658) -->
+    <skip />
+    <!-- no translation found for developer_tile_unavailable (6559656549479711827) -->
+    <skip />
     <string name="premium_sms_none" msgid="8268105565738040566">"沒有已安裝的應用程式要求發送付費短訊的權限"</string>
     <string name="premium_sms_warning" msgid="9086859595338944882">"付費短訊的費用可能高昂，並會增加您流動網絡供應商帳單的款項。如果您為應用程式開放權限，將可以透過該應用程式發送付費短訊。"</string>
     <string name="premium_sms_access" msgid="4660047004791638305">"發送付費短訊的權限"</string>
@@ -3316,4 +3324,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>
+    <!-- no translation found for storage_photos_videos (1872663116054954685) -->
+    <skip />
+    <!-- no translation found for storage_music_audio (7890103397813503615) -->
+    <skip />
+    <!-- no translation found for storage_games (7703159201697117621) -->
+    <skip />
+    <!-- no translation found for storage_other_apps (5524321740031718083) -->
+    <skip />
+    <!-- no translation found for storage_files (8581083146777364063) -->
+    <skip />
+    <!-- no translation found for storage_settings_2 (6369810699930056554) -->
+    <skip />
 </resources>
diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml
index 139f9aa..fbb2229 100644
--- a/res/values-zh-rTW/strings.xml
+++ b/res/values-zh-rTW/strings.xml
@@ -658,7 +658,8 @@
     <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>
+    <!-- no translation found for android_beam_explained (1810540319385192758) -->
+    <skip />
     <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>
@@ -2585,6 +2586,8 @@
     <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>
+    <!-- no translation found for keywords_payment_settings (5220104934130446416) -->
+    <skip />
     <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>
@@ -2806,7 +2809,8 @@
     <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>
+    <!-- no translation found for display_auto_rotate_title (7119684966039069439) -->
+    <skip />
     <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 +3200,10 @@
     <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>
+    <!-- no translation found for developer_tile (4822711696408279658) -->
+    <skip />
+    <!-- no translation found for developer_tile_unavailable (6559656549479711827) -->
+    <skip />
     <string name="premium_sms_none" msgid="8268105565738040566">"沒有任何已安裝的應用程式要求「付費簡訊」存取權"</string>
     <string name="premium_sms_warning" msgid="9086859595338944882">"「付費簡訊」需要額外計費，相關費用會併入您的電信費帳單。如果您為某個應用程式啟用權限，即可利用該應用程式傳送付費簡訊。"</string>
     <string name="premium_sms_access" msgid="4660047004791638305">"付費簡訊存取權"</string>
@@ -3317,4 +3325,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>
+    <!-- no translation found for storage_photos_videos (1872663116054954685) -->
+    <skip />
+    <!-- no translation found for storage_music_audio (7890103397813503615) -->
+    <skip />
+    <!-- no translation found for storage_games (7703159201697117621) -->
+    <skip />
+    <!-- no translation found for storage_other_apps (5524321740031718083) -->
+    <skip />
+    <!-- no translation found for storage_files (8581083146777364063) -->
+    <skip />
+    <!-- no translation found for storage_settings_2 (6369810699930056554) -->
+    <skip />
 </resources>
diff --git a/res/values-zu/strings.xml b/res/values-zu/strings.xml
index 16aeb43..2f44ba3 100644
--- a/res/values-zu/strings.xml
+++ b/res/values-zu/strings.xml
@@ -658,7 +658,8 @@
     <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>
+    <!-- no translation found for android_beam_explained (1810540319385192758) -->
+    <skip />
     <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 +2583,8 @@
     <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>
+    <!-- no translation found for keywords_payment_settings (5220104934130446416) -->
+    <skip />
     <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 +2806,8 @@
     <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>
+    <!-- no translation found for display_auto_rotate_title (7119684966039069439) -->
+    <skip />
     <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 +3197,10 @@
     <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>
+    <!-- no translation found for developer_tile (4822711696408279658) -->
+    <skip />
+    <!-- no translation found for developer_tile_unavailable (6559656549479711827) -->
+    <skip />
     <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 +3322,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>
+    <!-- no translation found for storage_photos_videos (1872663116054954685) -->
+    <skip />
+    <!-- no translation found for storage_music_audio (7890103397813503615) -->
+    <skip />
+    <!-- no translation found for storage_games (7703159201697117621) -->
+    <skip />
+    <!-- no translation found for storage_other_apps (5524321740031718083) -->
+    <skip />
+    <!-- no translation found for storage_files (8581083146777364063) -->
+    <skip />
+    <!-- no translation found for storage_settings_2 (6369810699930056554) -->
+    <skip />
 </resources>
diff --git a/res/values/colors.xml b/res/values/colors.xml
index 3be4038..a8d35dc 100644
--- a/res/values/colors.xml
+++ b/res/values/colors.xml
@@ -111,4 +111,6 @@
     <!-- 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>
 </resources>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 955b8cc..0f8f762 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -1554,7 +1554,7 @@
     <!-- Used in the Android Beam sharing preferences screen. This phrase is a trademark. [CHAR LIMIT=32] -->
     <string name="android_beam_label">Android Beam</string>
     <!-- Explanation of the Android Beam feature in the Android Beam settings panel. The use of "beam" here is as a verb and not considered trademarked. [CHAR LIMIT=NONE] -->
-    <string name="android_beam_explained">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">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>
 
     <!-- Wi-Fi Settings --> <skip />
     <!-- Used in the 1st-level settings screen to turn on Wi-Fi -->
@@ -5998,6 +5998,7 @@
     <string name="keywords_profile_challenge">work challenge, work, profile</string>
     <string name="keywords_unification">work profile, managed profile, unify, unification, work, profile</string>
     <string name="keywords_gesture">gesture</string>
+    <string name="keywords_payment_settings">pay, tap, payments</string>
 
     <!-- NFC Wi-Fi pairing/setup strings-->
 
@@ -6628,7 +6629,7 @@
     <string name="experimental_preference">(Experimental)</string>
 
     <!-- [CHAR LIMIT=45] Auto-rotate setting title -->
-    <string name="display_auto_rotate_title">When device is rotated</string>
+    <string name="display_auto_rotate_title">Device rotation</string>
     <!-- [CHAR LIMIT=70] Rotate when screen is turned option -->
     <string name="display_auto_rotate_rotate">Rotate the contents of the screen</string>
     <!-- [CHAR LIMIT=70] Keep the screen in portrait when rotated -->
@@ -7680,6 +7681,12 @@
     <!-- Title of developer options to set the smallest width of the screen [CHAR LIMIT=60]-->
     <string name="developer_smallest_width">Smallest width</string>
 
+    <!-- Title of developer options time [CHAR LIMIT=60]-->
+    <string name="developer_tile">Development mode</string>
+
+    <!-- Message shown when there is no active state for development mode [CHAR LIMIT=NONE]-->
+    <string name="developer_tile_unavailable">No active state selected</string>
+
     <!-- Message shown when there are no premium SMS apps [CHAR LIMIT=NONE] -->
     <string name="premium_sms_none">No installed apps have requested Premium SMS access</string>
 
@@ -7996,4 +8003,23 @@
     <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>
+
+    <!-- Preference label for the Photos & Videos storage section. [CHAR LIMIT=50] -->
+    <string name="storage_photos_videos">Photos &amp; Videos</string>
+
+    <!-- Preference label for the Music & Audio storage section. [CHAR LIMIT=50] -->
+    <string name="storage_music_audio">Music &amp; Audio</string>
+
+    <!-- Preference label for the Games storage section. [CHAR LIMIT=50] -->
+    <string name="storage_games">Games</string>
+
+    <!-- Preference label for the Other apps storage section. [CHAR LIMIT=50] -->
+    <string name="storage_other_apps">Other apps</string>
+
+    <!-- Preference label for the Files storage section. [CHAR LIMIT=50] -->
+    <string name="storage_files">Files</string>
+
+    <!-- Main settings screen item's title to go into the storage settings screen [CHAR LIMIT=25] -->
+    <string name="storage_settings_2" >Phone Storage</string>
+
 </resources>
diff --git a/res/values/styles.xml b/res/values/styles.xml
index ce7ddaa..a3baa21 100644
--- a/res/values/styles.xml
+++ b/res/values/styles.xml
@@ -417,7 +417,7 @@
         <item name="android:progressDrawable">@drawable/ring_progress</item>
     </style>
 
-    <style name="AppHeader">
+    <style name="EntityHeader">
         <item name="android:background">@color/card_background_grey</item>
         <item name="android:gravity">center_horizontal</item>
         <item name="android:paddingTop">16dp</item>
@@ -426,7 +426,7 @@
         <item name="android:paddingBottom">8dp</item>
     </style>
 
-    <style name="TextAppearance.AppHeaderTitle"
+    <style name="TextAppearance.EntityHeaderTitle"
            parent="@android:style/TextAppearance.Material.Subhead">
         <item name="android:textColor">?android:attr/textColorPrimary</item>
         <item name="android:textSize">24sp</item>
@@ -437,5 +437,4 @@
     </style>
 
     <style name="AppActionPrimaryButton" parent="android:Widget.Material.Button.Colored"/>
-
 </resources>
diff --git a/res/values/themes.xml b/res/values/themes.xml
index 6438e70..f1cca37 100644
--- a/res/values/themes.xml
+++ b/res/values/themes.xml
@@ -96,6 +96,7 @@
 
     <style name="PreferenceTheme.SetupWizard" parent="PreferenceTheme">
         <item name="preferenceFragmentStyle">@style/SetupWizardPreferenceFragmentStyle</item>
+        <item name="preferenceStyle">@style/Preference.Material</item>
     </style>
 
     <style name="SetupWizardPreferenceFragmentStyle" parent="PreferenceFragment.Material">
@@ -119,7 +120,7 @@
          layouts against a remote context using our local theme colors. Due to the implementation
          details of Theme, we can't reference any local resources and MUST instead use the values
          directly. So use #ff263238 instead of @color/theme_primary and so on. -->
-    <style name="Theme.SettingsBase" parent="@android:style/Theme.DeviceDefault.Settings" />
+    <style name="Theme.SettingsBase" parent="@*android:style/Theme.DeviceDefault.Settings.LightActionBar" />
 
     <style name="Theme.Settings" parent="Theme.SettingsBase">
         <item name="preferenceTheme">@style/PreferenceTheme</item>
@@ -153,6 +154,8 @@
         <item name="*android:regularColor">@color/lock_pattern_view_regular_color</item>
         <item name="*android:successColor">@color/lock_pattern_view_success_color</item>
         <item name="*android:errorColor">@color/lock_pattern_view_error_color</item>
+
+        <item name="android:statusBarColor">@color/status_bar_color</item>
     </style>
 
     <style name="Theme.SubSettings" parent="Theme.Settings">
@@ -172,7 +175,7 @@
         <item name="android:backgroundDimEnabled">false</item>
     </style>
 
-    <style name="Theme.ActionBar" parent="@android:style/Widget.Material.ActionBar.Solid">
+    <style name="Theme.ActionBar" parent="@android:style/Widget.DeviceDefault.Light.ActionBar">
         <item name="android:contentInsetStart">@dimen/actionbar_contentInsetStart</item>
     </style>
 
@@ -180,16 +183,16 @@
         <item name="android:contentInsetStart">@dimen/actionbar_subsettings_contentInsetStart</item>
     </style>
 
-    <style name="ThemeOverlay.SwitchBar.Settings" parent="@*android:style/ThemeOverlay.DeviceDefault.Dark.ActionBar.Accent">
+    <style name="ThemeOverlay.SwitchBar.Settings" parent="@*android:style/ThemeOverlay.DeviceDefault.ActionBar.Accent">
         <item name="switchBarMarginStart">@dimen/switchbar_subsettings_margin_start</item>
         <item name="switchBarMarginEnd">@dimen/switchbar_subsettings_margin_end</item>
-        <item name="switchBarBackgroundColor">?android:attr/colorSecondary</item>
+        <item name="switchBarBackgroundColor">?android:attr/colorBackground</item>
     </style>
 
-    <style name="ThemeOverlay.SwitchBar.SubSettings" parent="@android:style/ThemeOverlay.Material.Dark.ActionBar">
+    <style name="ThemeOverlay.SwitchBar.SubSettings" parent="@*android:style/ThemeOverlay.DeviceDefault.ActionBar.Accent">
         <item name="switchBarMarginStart">@dimen/switchbar_subsettings_margin_start</item>
         <item name="switchBarMarginEnd">@dimen/switchbar_subsettings_margin_end</item>
-        <item name="switchBarBackgroundColor">?android:attr/colorSecondary</item>
+        <item name="switchBarBackgroundColor">?android:attr/colorBackground</item>
     </style>
 
     <style name="Theme.DialogWhenLarge" parent="@*android:style/Theme.DeviceDefault.Settings.DialogWhenLarge">
@@ -214,8 +217,7 @@
     <style name="Theme.SubSettingsDialogWhenLarge" parent="Theme.DialogWhenLarge">
         <item name="preferenceTheme">@style/PreferenceTheme</item>
         <item name="android:actionBarWidgetTheme">@null</item>
-        <item name="android:actionBarTheme">@android:style/ThemeOverlay.Material.Dark.ActionBar</item>
-
+        <item name="android:actionBarTheme">@*android:style/ThemeOverlay.DeviceDefault.ActionBar.Accent</item>
         <item name="preferenceBackgroundColor">@drawable/preference_background</item>
     </style>
 
diff --git a/res/xml/account_type_settings.xml b/res/xml/account_type_settings.xml
index f9e5aa8..91e90fe 100644
--- a/res/xml/account_type_settings.xml
+++ b/res/xml/account_type_settings.xml
@@ -20,12 +20,24 @@
         settings:keywords="@string/keywords_accounts">
 
     <Preference
+      android:key="account_header"
+      android:layout="@layout/account_header"
+      android:selectable="false"
+      android:order="0"/>
+
+    <Preference
         android:key="account_sync"
         android:title="@string/account_sync_title"
+        android:icon="@drawable/ic_sync"
         android:order="1"/>
 
     <PreferenceCategory
       android:key="dashboard_tile_placeholder"
       android:order="10"/>
 
+    <com.android.settings.applications.LayoutPreference
+      android:key="remove_account"
+      android:layout="@layout/remove_account_button"
+      android:order="100" />
+
 </PreferenceScreen>
diff --git a/res/xml/app_and_notification.xml b/res/xml/app_and_notification.xml
index b172e2a..e07dd17 100644
--- a/res/xml/app_and_notification.xml
+++ b/res/xml/app_and_notification.xml
@@ -23,6 +23,7 @@
     <Preference
         android:key="manage_perms"
         android:title="@string/app_permissions"
+        android:icon="@drawable/ic_apps"
         android:order="-130"
         settings:keywords="@string/keywords_app_permissions">
         <intent android:action="android.intent.action.MANAGE_PERMISSIONS"/>
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/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/development_prefs.xml b/res/xml/development_prefs.xml
index bdbd86f..3c2bab9 100644
--- a/res/xml/development_prefs.xml
+++ b/res/xml/development_prefs.xml
@@ -196,6 +196,42 @@
             android:key="bluetooth_disable_absolute_volume"
             android:title="@string/bluetooth_disable_absolute_volume"
             android:summary="@string/bluetooth_disable_absolute_volume_summary"/>
+
+        <ListPreference
+            android:key="bluetooth_select_a2dp_codec"
+            android:title="@string/bluetooth_select_a2dp_codec_type"
+            android:dialogTitle="@string/bluetooth_select_a2dp_codec_type_dialog_title"
+            android:entries="@array/bluetooth_a2dp_codec_titles"
+            android:entryValues="@array/bluetooth_a2dp_codec_values" />
+
+        <ListPreference
+            android:key="bluetooth_select_a2dp_sample_rate"
+            android:title="@string/bluetooth_select_a2dp_codec_sample_rate"
+            android:dialogTitle="@string/bluetooth_select_a2dp_codec_sample_rate_dialog_title"
+            android:entries="@array/bluetooth_a2dp_codec_sample_rate_titles"
+            android:entryValues="@array/bluetooth_a2dp_codec_sample_rate_values" />
+
+        <ListPreference
+            android:key="bluetooth_select_a2dp_bits_per_sample"
+            android:title="@string/bluetooth_select_a2dp_codec_bits_per_sample"
+            android:dialogTitle="@string/bluetooth_select_a2dp_codec_bits_per_sample_dialog_title"
+            android:entries="@array/bluetooth_a2dp_codec_bits_per_sample_titles"
+            android:entryValues="@array/bluetooth_a2dp_codec_bits_per_sample_values" />
+
+        <ListPreference
+            android:key="bluetooth_select_a2dp_channel_mode"
+            android:title="@string/bluetooth_select_a2dp_codec_channel_mode"
+            android:dialogTitle="@string/bluetooth_select_a2dp_codec_channel_mode_dialog_title"
+            android:entries="@array/bluetooth_a2dp_codec_channel_mode_titles"
+            android:entryValues="@array/bluetooth_a2dp_codec_channel_mode_values" />
+
+        <ListPreference
+            android:key="bluetooth_select_a2dp_ldac_playback_quality"
+            android:title="@string/bluetooth_select_a2dp_codec_ldac_playback_quality"
+            android:dialogTitle="@string/bluetooth_select_a2dp_codec_ldac_playback_quality_dialog_title"
+            android:entries="@array/bluetooth_a2dp_codec_ldac_playback_quality_titles"
+            android:entryValues="@array/bluetooth_a2dp_codec_ldac_playback_quality_values" />
+
     </PreferenceCategory>
 
     <PreferenceCategory android:key="debug_input_category"
diff --git a/res/xml/development_tile_prefs.xml b/res/xml/development_tile_prefs.xml
new file mode 100644
index 0000000..26f1c24
--- /dev/null
+++ b/res/xml/development_tile_prefs.xml
@@ -0,0 +1,114 @@
+<?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
+  -->
+
+<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" >
+
+    <PreferenceCategory
+        android:key="debug_input_category"
+        android:title="@string/debug_input_category">
+
+        <SwitchPreference
+            android:key="show_touches"
+            android:title="@string/show_touches"
+            android:summary="@string/show_touches_summary"/>
+
+        <SwitchPreference
+            android:key="pointer_location"
+            android:title="@string/pointer_location"
+            android:summary="@string/pointer_location_summary"/>
+
+    </PreferenceCategory>
+
+    <PreferenceCategory
+        android:key="debug_drawing_category"
+        android:title="@string/debug_drawing_category">
+
+        <SwitchPreference
+            android:key="debug_layout"
+            android:title="@string/debug_layout"
+            android:summary="@string/debug_layout_summary"/>
+
+        <SwitchPreference
+            android:key="force_rtl_layout_all_locales"
+            android:title="@string/force_rtl_layout_all_locales"
+            android:summary="@string/force_rtl_layout_all_locales_summary"/>
+
+        <ListPreference
+            android:key="window_animation_scale"
+            android:defaultValue="1"
+            android:summary="%s"
+            android:title="@string/window_animation_scale_title"
+            android:entries="@array/window_animation_scale_entries"
+            android:entryValues="@array/window_animation_scale_values" />
+
+        <ListPreference
+            android:key="transition_animation_scale"
+            android:defaultValue="1"
+            android:summary="%s"
+            android:title="@string/transition_animation_scale_title"
+            android:entries="@array/transition_animation_scale_entries"
+            android:entryValues="@array/transition_animation_scale_values" />
+
+        <ListPreference
+            android:key="animator_duration_scale"
+            android:defaultValue="1"
+            android:summary="%s"
+            android:title="@string/animator_duration_scale_title"
+            android:entries="@array/animator_duration_scale_entries"
+            android:entryValues="@array/animator_duration_scale_values" />
+
+    </PreferenceCategory>
+
+    <PreferenceCategory
+        android:key="debug_hw_drawing_category"
+        android:title="@string/debug_hw_drawing_category">
+
+        <SwitchPreference
+            android:key="show_hw_screen_udpates"
+            android:title="@string/show_hw_screen_updates"
+            android:summary="@string/show_hw_screen_updates_summary"/>
+
+        <SwitchPreference
+            android:key="show_hw_layers_udpates"
+            android:title="@string/show_hw_layers_updates"
+            android:summary="@string/show_hw_layers_updates_summary"/>
+
+        <ListPreference
+            android:key="debug_hw_overdraw"
+            android:defaultValue="false"
+            android:summary="%s"
+            android:title="@string/debug_hw_overdraw"
+            android:entries="@array/debug_hw_overdraw_entries"
+            android:entryValues="@array/debug_hw_overdraw_values" />
+
+    </PreferenceCategory>
+
+    <PreferenceCategory
+        android:key="debug_monitoring_category"
+        android:title="@string/debug_monitoring_category">
+
+        <ListPreference
+            android:key="track_frame_time"
+            android:defaultValue="false"
+            android:summary="%s"
+            android:title="@string/track_frame_time"
+            android:entries="@array/track_frame_time_entries"
+            android:entryValues="@array/track_frame_time_values" />
+
+    </PreferenceCategory>
+
+</PreferenceScreen>
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/storage_dashboard_fragment.xml b/res/xml/storage_dashboard_fragment.xml
index 92e3ddb..d577267 100644
--- a/res/xml/storage_dashboard_fragment.xml
+++ b/res/xml/storage_dashboard_fragment.xml
@@ -17,9 +17,36 @@
 <PreferenceScreen
     xmlns:android="http://schemas.android.com/apk/res/android"
     android:title="@string/storage_settings">
-    <Preference
-        android:key="pref_manage_storage"
-        android:title="@string/storage_menu_manage"
+    <com.android.settings.deviceinfo.storage.StorageSummaryDonutPreference
+        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">
-    </Preference>
+    </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">
+    </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">
+    </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">
+    </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">
+    </com.android.settings.deviceinfo.storage.StorageItemPreferenceAlternate>
 </PreferenceScreen>
\ No newline at end of file
diff --git a/res/xml/system_dashboard_fragment.xml b/res/xml/system_dashboard_fragment.xml
index 519ae8e..3ad1c61 100644
--- a/res/xml/system_dashboard_fragment.xml
+++ b/res/xml/system_dashboard_fragment.xml
@@ -23,6 +23,7 @@
         android:key="system_update_settings"
         android:title="@string/system_update_settings_list_item_title"
         android:summary="@string/system_update_settings_list_item_summary"
+        android:icon="@drawable/ic_system_update"
         android:order="-30">
         <intent android:action="android.settings.SYSTEM_UPDATE_SETTINGS"/>
     </Preference>
diff --git a/res/xml/wifi_configure_settings.xml b/res/xml/wifi_configure_settings.xml
index 53fda71..91df2fe 100644
--- a/res/xml/wifi_configure_settings.xml
+++ b/res/xml/wifi_configure_settings.xml
@@ -15,7 +15,6 @@
 -->
 
 <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
-        xmlns:settings="http://schemas.android.com/apk/res-auto"
         android:title="@string/wifi_configure_titlebar">
 
     <Preference
@@ -45,15 +44,12 @@
         android:title="@string/wifi_cellular_data_fallback_title"
         android:summary="@string/wifi_cellular_data_fallback_summary"/>
 
-    <com.android.settings.DividerPreference
+    <Preference
         android:key="mac_address"
-        android:title="@string/wifi_advanced_mac_address_title"
-        android:layout="@layout/wifi_advance_layout"
-        settings:allowDividerAbove="true" />
+        android:title="@string/wifi_advanced_mac_address_title"/>
 
     <Preference
         android:key="current_ip_address"
-        android:title="@string/wifi_advanced_ip_address_title"
-        android:layout="@layout/wifi_advance_layout" />
+        android:title="@string/wifi_advanced_ip_address_title"/>
 
 </PreferenceScreen>
diff --git a/src/com/android/settings/DevelopmentSettings.java b/src/com/android/settings/DevelopmentSettings.java
index 1ae3380..418c1e2 100644
--- a/src/com/android/settings/DevelopmentSettings.java
+++ b/src/com/android/settings/DevelopmentSettings.java
@@ -25,7 +25,10 @@
 import android.app.Dialog;
 import android.app.admin.DevicePolicyManager;
 import android.app.backup.IBackupManager;
+import android.bluetooth.BluetoothA2dp;
 import android.bluetooth.BluetoothAdapter;
+import android.bluetooth.BluetoothCodecConfig;
+import android.bluetooth.BluetoothProfile;
 import android.content.BroadcastReceiver;
 import android.content.ComponentName;
 import android.content.ContentResolver;
@@ -201,6 +204,12 @@
     private static final String BLUETOOTH_DISABLE_ABSOLUTE_VOLUME_PROPERTY =
             "persist.bluetooth.disableabsvol";
 
+    private static final String BLUETOOTH_SELECT_A2DP_CODEC_KEY = "bluetooth_select_a2dp_codec";
+    private static final String BLUETOOTH_SELECT_A2DP_SAMPLE_RATE_KEY = "bluetooth_select_a2dp_sample_rate";
+    private static final String BLUETOOTH_SELECT_A2DP_BITS_PER_SAMPLE_KEY = "bluetooth_select_a2dp_bits_per_sample";
+    private static final String BLUETOOTH_SELECT_A2DP_CHANNEL_MODE_KEY = "bluetooth_select_a2dp_channel_mode";
+    private static final String BLUETOOTH_SELECT_A2DP_LDAC_PLAYBACK_QUALITY_KEY = "bluetooth_select_a2dp_ldac_playback_quality";
+
     private static final String INACTIVE_APPS_KEY = "inactive_apps";
 
     private static final String IMMEDIATELY_DESTROY_ACTIVITIES_KEY
@@ -268,8 +277,16 @@
     private SwitchPreference mWifiAggressiveHandover;
     private SwitchPreference mMobileDataAlwaysOn;
     private SwitchPreference mBluetoothDisableAbsVolume;
-    private SwitchPreference mOtaDisableAutomaticUpdate;
 
+    private BluetoothA2dp mBluetoothA2dp;
+    private final Object mBluetoothA2dpLock = new Object();
+    private ListPreference mBluetoothSelectA2dpCodec;
+    private ListPreference mBluetoothSelectA2dpSampleRate;
+    private ListPreference mBluetoothSelectA2dpBitsPerSample;
+    private ListPreference mBluetoothSelectA2dpChannelMode;
+    private ListPreference mBluetoothSelectA2dpLdacPlaybackQuality;
+
+    private SwitchPreference mOtaDisableAutomaticUpdate;
     private SwitchPreference mWifiAllowScansWithTraffic;
     private SwitchPreference mStrictMode;
     private SwitchPreference mPointerLocation;
@@ -470,6 +487,12 @@
         mWebViewMultiprocess = findAndInitSwitchPref(WEBVIEW_MULTIPROCESS_KEY);
         mBluetoothDisableAbsVolume = findAndInitSwitchPref(BLUETOOTH_DISABLE_ABSOLUTE_VOLUME_KEY);
 
+        mBluetoothSelectA2dpCodec = addListPreference(BLUETOOTH_SELECT_A2DP_CODEC_KEY);
+        mBluetoothSelectA2dpSampleRate = addListPreference(BLUETOOTH_SELECT_A2DP_SAMPLE_RATE_KEY);
+        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);
+
         mWindowAnimationScale = addListPreference(WINDOW_ANIMATION_SCALE_KEY);
         mTransitionAnimationScale = addListPreference(TRANSITION_ANIMATION_SCALE_KEY);
         mAnimatorDurationScale = addListPreference(ANIMATOR_DURATION_SCALE_KEY);
@@ -675,6 +698,20 @@
         if (getActivity().registerReceiver(mUsbReceiver, filter) == null) {
             updateUsbConfigurationValues();
         }
+
+        initBluetoothConfigurationValues();
+        BluetoothAdapter adapter = BluetoothAdapter.getDefaultAdapter();
+        if (adapter != null) {
+            adapter.getProfileProxy(getActivity(),
+                                    mBluetoothA2dpServiceListener,
+                                    BluetoothProfile.A2DP);
+        }
+        filter = new IntentFilter();
+        filter.addAction(BluetoothA2dp.ACTION_CODEC_CONFIG_CHANGED);
+        if (getActivity().registerReceiver(mBluetoothA2dpReceiver, filter) == null) {
+            updateBluetoothA2dpConfigurationValues();
+        }
+
         return super.onCreateView(inflater, container, savedInstanceState);
     }
 
@@ -688,6 +725,12 @@
         mSwitchBar.removeOnSwitchChangeListener(this);
         mSwitchBar.hide();
         getActivity().unregisterReceiver(mUsbReceiver);
+        getActivity().unregisterReceiver(mBluetoothA2dpReceiver);
+        BluetoothAdapter adapter = BluetoothAdapter.getDefaultAdapter();
+        if (adapter != null) {
+            adapter.closeProfileProxy(BluetoothProfile.A2DP, mBluetoothA2dp);
+            mBluetoothA2dp = null;
+        }
     }
 
     void updateSwitchPreference(SwitchPreference switchPreference, boolean value) {
@@ -757,6 +800,7 @@
             updateColorTemperature();
         }
         updateBluetoothDisableAbsVolumeOptions();
+        updateBluetoothA2dpConfigurationValues();
     }
 
     private void resetDangerousOptions() {
@@ -1737,6 +1781,361 @@
         }
     }
 
+    private void initBluetoothConfigurationValues() {
+        String[] values;
+        String[] titles;
+        int index;
+
+        // Init the Codec Type - Default
+        values = getResources().getStringArray(R.array.bluetooth_a2dp_codec_values);
+        titles = getResources().getStringArray(R.array.bluetooth_a2dp_codec_titles);
+        index = 0;
+        mBluetoothSelectA2dpCodec.setValue(values[index]);
+        mBluetoothSelectA2dpCodec.setSummary(titles[index]);
+
+        // Init the Sample Rate - Default
+        values = getResources().getStringArray(R.array.bluetooth_a2dp_codec_sample_rate_values);
+        titles = getResources().getStringArray(R.array.bluetooth_a2dp_codec_sample_rate_titles);
+        index = 0;
+        mBluetoothSelectA2dpSampleRate.setValue(values[index]);
+        mBluetoothSelectA2dpSampleRate.setSummary(titles[index]);
+
+        // Init the Bits Per Sample - Default
+        values = getResources().getStringArray(R.array.bluetooth_a2dp_codec_bits_per_sample_values);
+        titles = getResources().getStringArray(R.array.bluetooth_a2dp_codec_bits_per_sample_titles);
+        index = 0;
+        mBluetoothSelectA2dpBitsPerSample.setValue(values[index]);
+        mBluetoothSelectA2dpBitsPerSample.setSummary(titles[index]);
+
+        // Init the Channel Mode - Default
+        values = getResources().getStringArray(R.array.bluetooth_a2dp_codec_channel_mode_values);
+        titles = getResources().getStringArray(R.array.bluetooth_a2dp_codec_channel_mode_titles);
+        index = 0;
+        mBluetoothSelectA2dpChannelMode.setValue(values[index]);
+        mBluetoothSelectA2dpChannelMode.setSummary(titles[index]);
+
+        // Init the LDAC Playback Quality - High
+        values = getResources().getStringArray(R.array.bluetooth_a2dp_codec_ldac_playback_quality_values);
+        titles = getResources().getStringArray(R.array.bluetooth_a2dp_codec_ldac_playback_quality_titles);
+        index = 0;
+        mBluetoothSelectA2dpLdacPlaybackQuality.setValue(values[index]);
+        mBluetoothSelectA2dpLdacPlaybackQuality.setSummary(titles[index]);
+    }
+
+    private void updateBluetoothA2dpConfigurationValues() {
+        int index;
+        String[] titles;
+        BluetoothCodecConfig codecConfig = null;
+
+        synchronized (mBluetoothA2dpLock) {
+            if (mBluetoothA2dp != null) {
+                codecConfig = mBluetoothA2dp.getCodecConfig();
+            }
+        }
+        if (codecConfig == null)
+            return;
+
+        // Update the Codec Type
+        index = -1;
+        switch (codecConfig.getCodecType()) {
+        case BluetoothCodecConfig.SOURCE_CODEC_TYPE_SBC:
+            index = 1;
+            break;
+        case BluetoothCodecConfig.SOURCE_CODEC_TYPE_APTX:
+            index = 2;
+            break;
+        case BluetoothCodecConfig.SOURCE_CODEC_TYPE_APTX_HD:
+            index = 3;
+            break;
+        case BluetoothCodecConfig.SOURCE_CODEC_TYPE_LDAC:
+            index = 4;
+            break;
+        case BluetoothCodecConfig.SOURCE_CODEC_TYPE_INVALID:
+        default:
+            break;
+        }
+        if (index >= 0) {
+            titles = getResources().getStringArray(R.array.bluetooth_a2dp_codec_titles);
+            mBluetoothSelectA2dpCodec.setSummary("Streaming: " + titles[index]);
+        }
+
+        // Update the Sample Rate
+        index = -1;
+        switch (codecConfig.getSampleRate()) {
+        case BluetoothCodecConfig.SAMPLE_RATE_44100:
+            index = 1;
+            break;
+        case BluetoothCodecConfig.SAMPLE_RATE_48000:
+            index = 2;
+            break;
+        case BluetoothCodecConfig.SAMPLE_RATE_88200:
+            index = 3;
+            break;
+        case BluetoothCodecConfig.SAMPLE_RATE_96000:
+            index = 4;
+            break;
+        case BluetoothCodecConfig.SAMPLE_RATE_176400:
+        case BluetoothCodecConfig.SAMPLE_RATE_192000:
+        case BluetoothCodecConfig.SAMPLE_RATE_NONE:
+        default:
+            break;
+        }
+        if (index >= 0) {
+            titles = getResources().getStringArray(R.array.bluetooth_a2dp_codec_sample_rate_titles);
+            mBluetoothSelectA2dpSampleRate.setSummary("Streaming: " + titles[index]);
+        }
+
+        // Update the Bits Per Sample
+        index = -1;
+        switch (codecConfig.getBitsPerSample()) {
+        case BluetoothCodecConfig.BITS_PER_SAMPLE_16:
+            index = 1;
+            break;
+        case BluetoothCodecConfig.BITS_PER_SAMPLE_24:
+            index = 2;
+            break;
+        case BluetoothCodecConfig.BITS_PER_SAMPLE_32:
+            index = 3;
+            break;
+        case BluetoothCodecConfig.BITS_PER_SAMPLE_NONE:
+        default:
+            break;
+        }
+        if (index >= 0) {
+            titles = getResources().getStringArray(R.array.bluetooth_a2dp_codec_bits_per_sample_titles);
+            mBluetoothSelectA2dpBitsPerSample.setSummary("Streaming: " + titles[index]);
+        }
+
+        // Update the Channel Mode
+        index = -1;
+        switch (codecConfig.getChannelMode()) {
+        case BluetoothCodecConfig.CHANNEL_MODE_MONO:
+            index = 1;
+            break;
+        case BluetoothCodecConfig.CHANNEL_MODE_STEREO:
+            index = 2;
+            break;
+        case BluetoothCodecConfig.CHANNEL_MODE_NONE:
+        default:
+            break;
+        }
+        if (index >= 0) {
+            titles = getResources().getStringArray(R.array.bluetooth_a2dp_codec_channel_mode_titles);
+            mBluetoothSelectA2dpChannelMode.setSummary("Streaming: " + titles[index]);
+        }
+
+        // Update the LDAC Playback Quality
+        index = -1;
+        switch ((int)codecConfig.getCodecSpecific1()) {
+        case 1000:
+            index = 0;
+            break;
+        case 1001:
+            index = 1;
+            break;
+        case 1002:
+            index = 2;
+            break;
+        default:
+            break;
+        }
+        if (index >= 0) {
+            titles = getResources().getStringArray(R.array.bluetooth_a2dp_codec_ldac_playback_quality_titles);
+            mBluetoothSelectA2dpLdacPlaybackQuality.setSummary("Streaming: " + titles[index]);
+        }
+    }
+
+    private void writeBluetoothConfigurationOption(Preference preference,
+                                                   Object newValue) {
+        String[] titles;
+        int index;
+        int codecTypeValue = BluetoothCodecConfig.SOURCE_CODEC_TYPE_INVALID;
+        int codecPriorityValue = BluetoothCodecConfig.CODEC_PRIORITY_DEFAULT;
+        int sampleRateValue = BluetoothCodecConfig.SAMPLE_RATE_NONE;
+        int bitsPerSampleValue = BluetoothCodecConfig.BITS_PER_SAMPLE_NONE;
+        int channelModeValue = BluetoothCodecConfig.CHANNEL_MODE_NONE;
+        long codecSpecific1Value = 0;
+        long codecSpecific2Value = 0;
+        long codecSpecific3Value = 0;
+        long codecSpecific4Value = 0;
+
+        // Codec Type
+        String codecType = mBluetoothSelectA2dpCodec.getValue();
+        if (preference == mBluetoothSelectA2dpCodec) {
+            codecType = newValue.toString();
+            index = mBluetoothSelectA2dpCodec.findIndexOfValue(newValue.toString());
+            if (index >= 0) {
+                titles = getResources().getStringArray(R.array.bluetooth_a2dp_codec_titles);
+                mBluetoothSelectA2dpCodec.setSummary(titles[index]);
+            }
+        }
+        index = mBluetoothSelectA2dpCodec.findIndexOfValue(codecType);
+        switch (index) {
+        case 0:
+            // Reset the priority of the current codec to default
+            String oldValue = mBluetoothSelectA2dpCodec.getValue();
+            switch (mBluetoothSelectA2dpCodec.findIndexOfValue(oldValue)) {
+            case 0:
+                break;      // No current codec
+            case 1:
+                codecTypeValue = BluetoothCodecConfig.SOURCE_CODEC_TYPE_SBC;
+                break;
+            case 2:
+                codecTypeValue = BluetoothCodecConfig.SOURCE_CODEC_TYPE_APTX;
+                break;
+            case 3:
+                codecTypeValue = BluetoothCodecConfig.SOURCE_CODEC_TYPE_APTX_HD;
+                break;
+            case 4:
+                codecTypeValue = BluetoothCodecConfig.SOURCE_CODEC_TYPE_LDAC;
+                break;
+            default:
+                break;
+            }
+            break;
+        case 1:
+            codecTypeValue = BluetoothCodecConfig.SOURCE_CODEC_TYPE_SBC;
+            codecPriorityValue = BluetoothCodecConfig.CODEC_PRIORITY_HIGHEST;
+            break;
+        case 2:
+            codecTypeValue = BluetoothCodecConfig.SOURCE_CODEC_TYPE_APTX;
+            codecPriorityValue = BluetoothCodecConfig.CODEC_PRIORITY_HIGHEST;
+            break;
+        case 3:
+            codecTypeValue = BluetoothCodecConfig.SOURCE_CODEC_TYPE_APTX_HD;
+            codecPriorityValue = BluetoothCodecConfig.CODEC_PRIORITY_HIGHEST;
+            break;
+        case 4:
+            codecTypeValue = BluetoothCodecConfig.SOURCE_CODEC_TYPE_LDAC;
+            codecPriorityValue = BluetoothCodecConfig.CODEC_PRIORITY_HIGHEST;
+            break;
+        default:
+            break;
+        }
+
+        // Sample Rate
+        String sampleRate = mBluetoothSelectA2dpSampleRate.getValue();
+        if (preference == mBluetoothSelectA2dpSampleRate) {
+            sampleRate = newValue.toString();
+            index = mBluetoothSelectA2dpSampleRate.findIndexOfValue(newValue.toString());
+            if (index >= 0) {
+                titles = getResources().getStringArray(R.array.bluetooth_a2dp_codec_sample_rate_titles);
+                mBluetoothSelectA2dpSampleRate.setSummary(titles[index]);
+            }
+        }
+        index = mBluetoothSelectA2dpSampleRate.findIndexOfValue(sampleRate);
+        switch (index) {
+        case 0:
+            // Reset to default
+            break;
+        case 1:
+            sampleRateValue = BluetoothCodecConfig.SAMPLE_RATE_44100;
+            break;
+        case 2:
+            sampleRateValue = BluetoothCodecConfig.SAMPLE_RATE_48000;
+            break;
+        case 3:
+            sampleRateValue = BluetoothCodecConfig.SAMPLE_RATE_88200;
+            break;
+        case 4:
+            sampleRateValue = BluetoothCodecConfig.SAMPLE_RATE_96000;
+            break;
+        default:
+            break;
+        }
+
+        // Bits Per Sample
+        String bitsPerSample = mBluetoothSelectA2dpBitsPerSample.getValue();
+        if (preference == mBluetoothSelectA2dpBitsPerSample) {
+            bitsPerSample = newValue.toString();
+            index = mBluetoothSelectA2dpBitsPerSample.findIndexOfValue(newValue.toString());
+            if (index >= 0) {
+                titles = getResources().getStringArray(R.array.bluetooth_a2dp_codec_bits_per_sample_titles);
+                mBluetoothSelectA2dpBitsPerSample.setSummary(titles[index]);
+            }
+        }
+        index = mBluetoothSelectA2dpBitsPerSample.findIndexOfValue(bitsPerSample);
+        switch (index) {
+        case 0:
+            // Reset to default
+            break;
+        case 1:
+            bitsPerSampleValue = BluetoothCodecConfig.BITS_PER_SAMPLE_16;
+            break;
+        case 2:
+            bitsPerSampleValue = BluetoothCodecConfig.BITS_PER_SAMPLE_24;
+            break;
+        case 3:
+            bitsPerSampleValue = BluetoothCodecConfig.BITS_PER_SAMPLE_32;
+            break;
+        default:
+            break;
+        }
+
+        // Channel Mode
+        String channelMode = mBluetoothSelectA2dpChannelMode.getValue();
+        if (preference == mBluetoothSelectA2dpChannelMode) {
+            channelMode = newValue.toString();
+            index = mBluetoothSelectA2dpChannelMode.findIndexOfValue(newValue.toString());
+            if (index >= 0) {
+                titles = getResources().getStringArray(R.array.bluetooth_a2dp_codec_channel_mode_titles);
+                mBluetoothSelectA2dpChannelMode.setSummary(titles[index]);
+            }
+        }
+        index = mBluetoothSelectA2dpChannelMode.findIndexOfValue(channelMode);
+        switch (index) {
+        case 0:
+            // Reset to default
+            break;
+        case 1:
+            channelModeValue = BluetoothCodecConfig.CHANNEL_MODE_MONO;
+            break;
+        case 2:
+            channelModeValue = BluetoothCodecConfig.CHANNEL_MODE_STEREO;
+            break;
+        default:
+            break;
+        }
+
+        // LDAC Playback Quality
+        String ldacPlaybackQuality = mBluetoothSelectA2dpLdacPlaybackQuality.getValue();
+        if (preference == mBluetoothSelectA2dpLdacPlaybackQuality) {
+            ldacPlaybackQuality = newValue.toString();
+            index = mBluetoothSelectA2dpLdacPlaybackQuality.findIndexOfValue(newValue.toString());
+            if (index >= 0) {
+                titles = getResources().getStringArray(R.array.bluetooth_a2dp_codec_ldac_playback_quality_titles);
+                mBluetoothSelectA2dpLdacPlaybackQuality.setSummary(titles[index]);
+            }
+        }
+        index = mBluetoothSelectA2dpLdacPlaybackQuality.findIndexOfValue(ldacPlaybackQuality);
+        switch (index) {
+        case 0:
+            codecSpecific1Value = 1000;
+            break;
+        case 1:
+            codecSpecific1Value = 1001;
+            break;
+        case 2:
+            codecSpecific1Value = 1002;
+            break;
+        default:
+            break;
+        }
+
+        BluetoothCodecConfig codecConfig =
+            new BluetoothCodecConfig(codecTypeValue, codecPriorityValue,
+                                     sampleRateValue, bitsPerSampleValue,
+                                     channelModeValue, codecSpecific1Value,
+                                     codecSpecific2Value, codecSpecific3Value,
+                                     codecSpecific4Value);
+
+        synchronized (mBluetoothA2dpLock) {
+            if (mBluetoothA2dp != null) {
+                mBluetoothA2dp.setCodecConfigPreference(codecConfig);
+            }
+        }
+    }
+
     private void writeImmediatelyDestroyActivitiesOptions() {
         try {
             ActivityManager.getService().setAlwaysFinish(
@@ -2115,6 +2514,13 @@
                 toast.show();
             }
             return false;
+        } else if ((preference == mBluetoothSelectA2dpCodec) ||
+                   (preference == mBluetoothSelectA2dpSampleRate) ||
+                   (preference == mBluetoothSelectA2dpBitsPerSample) ||
+                   (preference == mBluetoothSelectA2dpChannelMode) ||
+                   (preference == mBluetoothSelectA2dpLdacPlaybackQuality)) {
+            writeBluetoothConfigurationOption(preference, newValue);
+            return true;
         } else if (preference == mLogdSize) {
             writeLogdSizeOption(newValue);
             return true;
@@ -2254,6 +2660,31 @@
         }
     };
 
+    private BroadcastReceiver mBluetoothA2dpReceiver = new BroadcastReceiver() {
+        @Override
+        public void onReceive(Context context, Intent intent) {
+            updateBluetoothA2dpConfigurationValues();
+        }
+    };
+
+    private BluetoothProfile.ServiceListener mBluetoothA2dpServiceListener =
+        new BluetoothProfile.ServiceListener() {
+            public void onServiceConnected(int profile,
+                                           BluetoothProfile proxy) {
+                synchronized (mBluetoothA2dpLock) {
+                    mBluetoothA2dp = (BluetoothA2dp) proxy;
+                }
+                updateBluetoothA2dpConfigurationValues();
+            }
+
+            public void onServiceDisconnected(int profile) {
+                synchronized (mBluetoothA2dpLock) {
+                    mBluetoothA2dp = null;
+                }
+                updateBluetoothA2dpConfigurationValues();
+            }
+        };
+
     public static class SystemPropPoker extends AsyncTask<Void, Void, Void> {
         @Override
         protected Void doInBackground(Void... params) {
diff --git a/src/com/android/settings/DisplaySettings.java b/src/com/android/settings/DisplaySettings.java
index 356d5c5..91b193d 100644
--- a/src/com/android/settings/DisplaySettings.java
+++ b/src/com/android/settings/DisplaySettings.java
@@ -62,6 +62,12 @@
     }
 
     @Override
+    public void onAttach(Context context) {
+        super.onAttach(context);
+        mProgressiveDisclosureMixin.setTileLimit(4);
+    }
+
+    @Override
     protected String getCategoryKey() {
         return CategoryKey.CATEGORY_DISPLAY;
     }
diff --git a/src/com/android/settings/SecuritySettings.java b/src/com/android/settings/SecuritySettings.java
index 46e7fe5..b092857 100644
--- a/src/com/android/settings/SecuritySettings.java
+++ b/src/com/android/settings/SecuritySettings.java
@@ -62,10 +62,13 @@
 import com.android.settings.search.Index;
 import com.android.settings.search.Indexable;
 import com.android.settings.search.SearchIndexableRaw;
+import com.android.settings.security.SecurityFeatureProvider;
 import com.android.settingslib.RestrictedLockUtils;
 import com.android.settingslib.RestrictedPreference;
 import com.android.settingslib.RestrictedSwitchPreference;
 import com.android.settingslib.drawer.CategoryKey;
+import com.android.settingslib.drawer.DashboardCategory;
+import com.android.settingslib.drawer.Tile;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -130,6 +133,7 @@
 
     private DashboardFeatureProvider mDashboardFeatureProvider;
     private DevicePolicyManager mDPM;
+    private SecurityFeatureProvider mSecurityFeatureProvider;
     private SubscriptionManager mSubscriptionManager;
     private UserManager mUm;
 
@@ -183,6 +187,8 @@
         mDashboardFeatureProvider = FeatureFactory.getFactory(activity)
                 .getDashboardFeatureProvider(activity);
 
+        mSecurityFeatureProvider = FeatureFactory.getFactory(activity).getSecurityFeatureProvider();
+
         if (savedInstanceState != null
                 && savedInstanceState.containsKey(TRUST_AGENT_CLICK_INTENT)) {
             mTrustAgentClickIntent = savedInstanceState.getParcelable(TRUST_AGENT_CLICK_INTENT);
@@ -416,6 +422,11 @@
             }
         }
 
+        // Update preference data with tile data. Security feature provider only updates the data
+        // if it actually needs to be changed.
+        mSecurityFeatureProvider.updatePreferences(getActivity(), root,
+                mDashboardFeatureProvider.getTilesForCategory(CategoryKey.CATEGORY_SECURITY));
+
         for (int i = 0; i < SWITCH_PREFERENCE_KEYS.length; i++) {
             final Preference pref = findPreference(SWITCH_PREFERENCE_KEYS[i]);
             if (pref != null) pref.setOnPreferenceChangeListener(this);
diff --git a/src/com/android/settings/SettingsActivity.java b/src/com/android/settings/SettingsActivity.java
index b9be118..2ca0d4b 100644
--- a/src/com/android/settings/SettingsActivity.java
+++ b/src/com/android/settings/SettingsActivity.java
@@ -61,9 +61,8 @@
 import com.android.settings.dashboard.DashboardSummary;
 import com.android.settings.dashboard.SearchResultsSummary;
 import com.android.settings.overlay.FeatureFactory;
-import com.android.settings.qstile.DevelopmentTiles;
+import com.android.settings.qstile.DevelopmentModeTile;
 import com.android.settings.search.DynamicIndexableContentMonitor;
-import com.android.settings.search.Index;
 import com.android.settings.search2.SearchFeatureProvider;
 import com.android.settings.widget.SwitchBar;
 import com.android.settingslib.drawer.DashboardCategory;
@@ -462,10 +461,7 @@
         if (mIsShowingDashboard) {
             // Run the Index update only if we have some space
             if (!Utils.isLowStorage(this)) {
-                long indexStartTime = System.currentTimeMillis();
-                Index.getInstance(getApplicationContext()).update();
-                if (DEBUG_TIMING) Log.d(LOG_TAG, "Index.update() took "
-                        + (System.currentTimeMillis() - indexStartTime) + " ms");
+                mSearchFeatureProvider.updateIndex(getApplicationContext());
             } else {
                 Log.w(LOG_TAG, "Cannot update the Indexer as we are running low on storage space!");
             }
@@ -942,59 +938,64 @@
 
         String packageName = getPackageName();
         setTileEnabled(new ComponentName(packageName, WifiSettingsActivity.class.getName()),
-                pm.hasSystemFeature(PackageManager.FEATURE_WIFI), isAdmin, pm);
+                pm.hasSystemFeature(PackageManager.FEATURE_WIFI), isAdmin);
 
         setTileEnabled(new ComponentName(packageName,
                 Settings.BluetoothSettingsActivity.class.getName()),
-                pm.hasSystemFeature(PackageManager.FEATURE_BLUETOOTH), isAdmin, pm);
+                pm.hasSystemFeature(PackageManager.FEATURE_BLUETOOTH), isAdmin);
 
         setTileEnabled(new ComponentName(packageName,
                 Settings.DataUsageSummaryActivity.class.getName()),
-                Utils.isBandwidthControlEnabled(), isAdmin, pm);
+                Utils.isBandwidthControlEnabled(), isAdmin);
 
         setTileEnabled(new ComponentName(packageName,
                 Settings.SimSettingsActivity.class.getName()),
-                Utils.showSimCardTile(this), isAdmin, pm);
+                Utils.showSimCardTile(this), isAdmin);
 
         setTileEnabled(new ComponentName(packageName,
                 Settings.PowerUsageSummaryActivity.class.getName()),
-                mBatteryPresent, isAdmin, pm);
+                mBatteryPresent, isAdmin);
 
         setTileEnabled(new ComponentName(packageName,
                 Settings.UserSettingsActivity.class.getName()),
                 UserHandle.MU_ENABLED && UserManager.supportsMultipleUsers()
-                && !Utils.isMonkeyRunning(), isAdmin, pm);
+                && !Utils.isMonkeyRunning(), isAdmin);
 
         setTileEnabled(new ComponentName(packageName,
                         Settings.WirelessSettingsActivity.class.getName()),
-                !UserManager.isDeviceInDemoMode(this), isAdmin, pm);
+                !UserManager.isDeviceInDemoMode(this), isAdmin);
 
         setTileEnabled(new ComponentName(packageName,
                         Settings.DateTimeSettingsActivity.class.getName()),
-                !UserManager.isDeviceInDemoMode(this), isAdmin, pm);
+                !UserManager.isDeviceInDemoMode(this), isAdmin);
         NfcAdapter adapter = NfcAdapter.getDefaultAdapter(this);
         setTileEnabled(new ComponentName(packageName,
                         Settings.PaymentSettingsActivity.class.getName()),
                 pm.hasSystemFeature(PackageManager.FEATURE_NFC)
                         && pm.hasSystemFeature(PackageManager.FEATURE_NFC_HOST_CARD_EMULATION)
-                        && adapter != null && adapter.isEnabled(), isAdmin, pm);
+                        && 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()),
-                pm.hasSystemFeature(PackageManager.FEATURE_PRINTING), isAdmin, pm);
+                pm.hasSystemFeature(PackageManager.FEATURE_PRINTING), isAdmin);
 
         final boolean showDev = mDevelopmentPreferences.getBoolean(
                     DevelopmentSettings.PREF_SHOW, android.os.Build.TYPE.equals("eng"))
                 && !um.hasUserRestriction(UserManager.DISALLOW_DEBUGGING_FEATURES);
         setTileEnabled(new ComponentName(packageName,
                         Settings.DevelopmentSettingsActivity.class.getName()),
-                showDev, isAdmin, pm);
+                showDev, isAdmin);
         setTileEnabled(new ComponentName(packageName,
                         Settings.DevelopmentSettingsActivity.DASHBOARD_ALIAS),
-                showDev, isAdmin, pm);
+                showDev, isAdmin);
 
         // Reveal development-only quick settings tiles
-        DevelopmentTiles.setTilesEnabled(this, showDev);
+        setTileEnabled(new ComponentName(this, DevelopmentModeTile.class), showDev);
 
         if (UserHandle.MU_ENABLED && !isAdmin) {
             // When on restricted users, disable all extra categories (but only the settings ones).
@@ -1010,7 +1011,7 @@
                     ComponentName component = tile.intent.getComponent();
                     if (packageName.equals(component.getPackageName()) && !ArrayUtils.contains(
                             SETTINGS_FOR_RESTRICTED, component.getClassName())) {
-                        setTileEnabled(component, false, isAdmin, pm);
+                        setTileEnabled(component, false, isAdmin);
                     }
                 }
             }
@@ -1019,10 +1020,10 @@
         String backupIntent = getResources().getString(R.string.config_backup_settings_intent);
         boolean useDefaultBackup = TextUtils.isEmpty(backupIntent);
         setTileEnabled(new ComponentName(packageName,
-                Settings.PrivacySettingsActivity.class.getName()), useDefaultBackup, isAdmin, pm);
+                Settings.PrivacySettingsActivity.class.getName()), useDefaultBackup, isAdmin);
         setTileEnabled(new ComponentName(packageName,
                         "com.android.settings.PrivacyDashboardAlias"),
-                useDefaultBackup, isAdmin, pm);
+                useDefaultBackup, isAdmin);
 
         boolean hasBackupActivity = false;
         if (!useDefaultBackup) {
@@ -1034,24 +1035,25 @@
             }
         }
 
-        // Enable/disble BackupSettingsActivity and its alias.
+        // Enable/disable BackupSettingsActivity and its alias.
         setTileEnabled(new ComponentName(packageName,
-                BackupSettingsActivity.class.getName()), hasBackupActivity, isAdmin, pm);
+                BackupSettingsActivity.class.getName()), hasBackupActivity, isAdmin);
         setTileEnabled(new ComponentName(packageName,
-                "com.android.settings.BackupResetDashboardAlias"), hasBackupActivity, isAdmin, pm);
+                "com.android.settings.BackupResetDashboardAlias"), hasBackupActivity, isAdmin);
 
         setTileEnabled(new ComponentName(packageName,
                 Settings.EnterprisePrivacySettingsActivity.class.getName()),
                 FeatureFactory.getFactory(this).getEnterprisePrivacyFeatureProvider(this)
-                        .hasDeviceOwner(), isAdmin, pm);
+                        .hasDeviceOwner(), isAdmin);
         setTileEnabled(new ComponentName(packageName,
                         "com.android.settings.EnterprisePrivacyDashboardAlias"),
                 FeatureFactory.getFactory(this).getEnterprisePrivacyFeatureProvider(this)
-                        .hasDeviceOwner(), isAdmin, pm);
+                        .hasDeviceOwner(), isAdmin);
+        // Final step, refresh categories.
+        updateCategories();
     }
 
-    private void setTileEnabled(ComponentName component, boolean enabled, boolean isAdmin,
-            PackageManager pm) {
+    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())) {
             enabled = false;
diff --git a/src/com/android/settings/accounts/AccountDetailDashboardFragment.java b/src/com/android/settings/accounts/AccountDetailDashboardFragment.java
index cf0a0a8..12f78ff 100644
--- a/src/com/android/settings/accounts/AccountDetailDashboardFragment.java
+++ b/src/com/android/settings/accounts/AccountDetailDashboardFragment.java
@@ -23,11 +23,13 @@
 import android.os.UserManager;
 import android.support.annotation.VisibleForTesting;
 
+import android.support.v7.preference.Preference;
 import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
 import com.android.settings.R;
 import com.android.settings.Utils;
 import com.android.settings.core.PreferenceController;
 import com.android.settings.dashboard.DashboardFragment;
+import com.android.settingslib.accounts.AuthenticatorHelper;
 import com.android.settingslib.drawer.CategoryKey;
 import com.android.settingslib.drawer.Tile;
 
@@ -43,11 +45,16 @@
     public static final String KEY_ACCOUNT_TYPE = "account_type";
     public static final String KEY_ACCOUNT_LABEL = "account_label";
     public static final String KEY_ACCOUNT_TITLE_RES = "account_title_res";
+    public static final String KEY_ACCOUNT_HEADER = "account_header";
+    public static final String KEY_USER_HANDLE = "user_handle";
 
+    @VisibleForTesting(otherwise = VisibleForTesting.PRIVATE)
+    Account mAccount;
     private String mAccountLabel;
     @VisibleForTesting(otherwise = VisibleForTesting.PRIVATE)
     String mAccountType;
     private AccountSyncPreferenceController mAccountSynController;
+    private RemoveAccountPreferenceController mRemoveAccountController;
 
     @Override
     public void onCreate(Bundle icicle) {
@@ -57,10 +64,9 @@
         UserHandle userHandle = Utils.getSecureTargetUser(activity.getActivityToken(),
             (UserManager) getSystemService(Context.USER_SERVICE), args,
             activity.getIntent().getExtras());
-        Account account = null;
         if (args != null) {
             if (args.containsKey(KEY_ACCOUNT)) {
-                account = args.getParcelable(KEY_ACCOUNT);
+                mAccount = args.getParcelable(KEY_ACCOUNT);
             }
             if (args.containsKey(KEY_ACCOUNT_LABEL)) {
                 mAccountLabel = args.getString(KEY_ACCOUNT_LABEL);
@@ -69,7 +75,8 @@
                 mAccountType = args.getString(KEY_ACCOUNT_TYPE);
             }
         }
-        mAccountSynController.init(account, userHandle);
+        mAccountSynController.init(mAccount, userHandle);
+        mRemoveAccountController.setAccount(mAccount);
     }
 
     @Override
@@ -78,6 +85,7 @@
         if (mAccountLabel != null) {
             getActivity().setTitle(mAccountLabel);
         }
+        updateAccountHeader();
     }
 
     @Override
@@ -105,6 +113,8 @@
         final List<PreferenceController> controllers = new ArrayList<>();
         mAccountSynController = new AccountSyncPreferenceController(context);
         controllers.add(mAccountSynController);
+        mRemoveAccountController = new RemoveAccountPreferenceController(context, this);
+        controllers.add(mRemoveAccountController);
         return controllers;
     }
 
@@ -120,4 +130,18 @@
         return mAccountType.equals(metadata.getString(METADATA_IA_ACCOUNT));
     }
 
+    @VisibleForTesting
+    void updateAccountHeader() {
+        final Preference headerPreference = findPreference(KEY_ACCOUNT_HEADER);
+        headerPreference.setTitle(mAccount.name);
+        final Context context = getContext();
+        UserHandle userHandle = null;
+        Bundle args = getArguments();
+        if (args != null && args.containsKey(KEY_USER_HANDLE)) {
+            userHandle = args.getParcelable(KEY_USER_HANDLE);
+        }
+        final AuthenticatorHelper helper = new AuthenticatorHelper(context, userHandle, null);
+        headerPreference.setIcon(helper.getDrawableForType(context, mAccountType));
+   }
+
 }
\ No newline at end of file
diff --git a/src/com/android/settings/accounts/AccountPreferenceController.java b/src/com/android/settings/accounts/AccountPreferenceController.java
index 723a1ec..ad3fac1 100644
--- a/src/com/android/settings/accounts/AccountPreferenceController.java
+++ b/src/com/android/settings/accounts/AccountPreferenceController.java
@@ -465,6 +465,8 @@
                     final Bundle fragmentArguments = new Bundle();
                     fragmentArguments.putParcelable(AccountDetailDashboardFragment.KEY_ACCOUNT,
                         account);
+                    fragmentArguments.putParcelable(AccountDetailDashboardFragment.KEY_USER_HANDLE,
+                        userHandle);
                     fragmentArguments.putString(AccountDetailDashboardFragment.KEY_ACCOUNT_TYPE,
                         accountType);
                     fragmentArguments.putString(AccountDetailDashboardFragment.KEY_ACCOUNT_LABEL,
diff --git a/src/com/android/settings/accounts/RemoveAccountPreferenceController.java b/src/com/android/settings/accounts/RemoveAccountPreferenceController.java
new file mode 100644
index 0000000..c8dbe4c
--- /dev/null
+++ b/src/com/android/settings/accounts/RemoveAccountPreferenceController.java
@@ -0,0 +1,199 @@
+/*
+ * 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.accounts;
+
+import android.accounts.Account;
+import android.accounts.AccountManager;
+import android.accounts.AccountManagerCallback;
+import android.accounts.AccountManagerFuture;
+import android.accounts.AuthenticatorException;
+import android.accounts.OperationCanceledException;
+import android.app.Activity;
+import android.app.AlertDialog;
+import android.app.Dialog;
+import android.app.Fragment;
+import android.content.Context;
+import android.content.DialogInterface;
+import android.os.Bundle;
+import android.os.Process;
+import android.support.v7.preference.PreferenceScreen;
+import android.view.View;
+import android.view.View.OnClickListener;
+import android.widget.Button;
+
+import com.android.internal.logging.nano.MetricsProto;
+import com.android.settings.R;
+import com.android.settings.applications.LayoutPreference;
+import com.android.settings.core.PreferenceController;
+import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
+
+import java.io.IOException;
+
+public class RemoveAccountPreferenceController extends PreferenceController
+    implements OnClickListener {
+
+    private static final String KEY_REMOVE_ACCOUNT = "remove_account";
+
+    private Account mAccount;
+    private Fragment mParentFragment;
+
+    public RemoveAccountPreferenceController(Context context, Fragment parent) {
+        super(context);
+        mParentFragment = parent;
+    }
+
+    @Override
+    public void displayPreference(PreferenceScreen screen) {
+        super.displayPreference(screen);
+        final LayoutPreference removeAccountPreference =
+            (LayoutPreference) screen.findPreference(KEY_REMOVE_ACCOUNT);
+        Button removeAccountButton = (Button) removeAccountPreference.findViewById(R.id.button);
+        removeAccountButton.setOnClickListener(this);
+    }
+
+    @Override
+    public boolean isAvailable() {
+        return true;
+    }
+
+    @Override
+    public String getPreferenceKey() {
+        return KEY_REMOVE_ACCOUNT;
+    }
+
+    @Override
+    public void onClick(View v) {
+        ConfirmRemoveAccountDialog.show(mParentFragment, mAccount);
+    }
+
+    public void setAccount(Account account) {
+        mAccount = account;
+    }
+
+    /**
+     * Dialog to confirm with user about account removal
+     */
+    public static class ConfirmRemoveAccountDialog extends InstrumentedDialogFragment implements
+            DialogInterface.OnClickListener {
+        private static final String SAVE_ACCOUNT = "account";
+        private static final String REMOVE_ACCOUNT_DIALOG = "confirmRemoveAccount";
+        private Account mAccount;
+
+        public static ConfirmRemoveAccountDialog show(Fragment parent, Account account) {
+            if (!parent.isAdded()) {
+                return null;
+            }
+            final ConfirmRemoveAccountDialog dialog = new ConfirmRemoveAccountDialog();
+            dialog.mAccount = account;
+            dialog.setTargetFragment(parent, 0);
+            dialog.show(parent.getFragmentManager(), REMOVE_ACCOUNT_DIALOG);
+            return dialog;
+        }
+
+        @Override
+        public Dialog onCreateDialog(Bundle savedInstanceState) {
+            final Context context = getActivity();
+            if (savedInstanceState != null) {
+                mAccount = (Account) savedInstanceState.getParcelable(SAVE_ACCOUNT);
+            }
+            return new AlertDialog.Builder(context)
+                .setTitle(R.string.really_remove_account_title)
+                .setMessage(R.string.really_remove_account_message)
+                .setNegativeButton(android.R.string.cancel, null)
+                .setPositiveButton(R.string.remove_account_label, this)
+                .create();
+        }
+
+        @Override
+        public void onSaveInstanceState(Bundle outState) {
+            super.onSaveInstanceState(outState);
+            outState.putParcelable(SAVE_ACCOUNT, mAccount);
+        }
+
+        @Override
+        public int getMetricsCategory() {
+            return MetricsProto.MetricsEvent.DIALOG_ACCOUNT_SYNC_REMOVE;
+        }
+
+        @Override
+        public void onClick(DialogInterface dialog, int which) {
+            Activity activity = getTargetFragment().getActivity();
+            AccountManager.get(activity).removeAccountAsUser(mAccount, activity,
+                    new AccountManagerCallback<Bundle>() {
+                        @Override
+                        public void run(AccountManagerFuture<Bundle> future) {
+                            // If already out of this screen, don't proceed.
+                            if (!getTargetFragment().isResumed()) {
+                                return;
+                            }
+                            boolean failed = true;
+                            try {
+                                if (future.getResult()
+                                    .getBoolean(AccountManager.KEY_BOOLEAN_RESULT)) {
+                                    failed = false;
+                                }
+                            } catch (OperationCanceledException e) {
+                                // handled below
+                            } catch (IOException e) {
+                                // handled below
+                            } catch (AuthenticatorException e) {
+                                // handled below
+                            }
+                            final Activity activity = getTargetFragment().getActivity();
+                            if (failed && activity != null && !activity.isFinishing()) {
+                                RemoveAccountFailureDialog.show(getTargetFragment());
+                            } else {
+                                activity.finish();
+                            }
+                        }
+                    }, null, Process.myUserHandle());
+        }
+    }
+
+    /**
+     * Dialog to tell user about account removal failure
+     */
+    public static class RemoveAccountFailureDialog extends InstrumentedDialogFragment {
+
+        private static final String FAILED_REMOVAL_DIALOG = "removeAccountFailed";
+
+        public static void show(Fragment parent) {
+            if (!parent.isAdded()) {
+                return;
+            }
+            final RemoveAccountFailureDialog dialog = new RemoveAccountFailureDialog();
+            dialog.setTargetFragment(parent, 0);
+            dialog.show(parent.getFragmentManager(), FAILED_REMOVAL_DIALOG);
+        }
+
+        @Override
+        public Dialog onCreateDialog(Bundle savedInstanceState) {
+            final Context context = getActivity();
+
+            return new AlertDialog.Builder(context)
+                .setTitle(R.string.really_remove_account_title)
+                .setMessage(R.string.remove_account_failed)
+                .setPositiveButton(android.R.string.ok, null)
+                .create();
+        }
+
+        @Override
+        public int getMetricsCategory() {
+            return MetricsProto.MetricsEvent.DIALOG_ACCOUNT_SYNC_FAILED_REMOVAL;
+        }
+
+    }
+}
diff --git a/src/com/android/settings/applications/AdvancedAppSettings.java b/src/com/android/settings/applications/AdvancedAppSettings.java
index 1a15d6f..5bce24d 100644
--- a/src/com/android/settings/applications/AdvancedAppSettings.java
+++ b/src/com/android/settings/applications/AdvancedAppSettings.java
@@ -16,7 +16,6 @@
 package com.android.settings.applications;
 
 import android.content.Context;
-import android.os.Bundle;
 import android.provider.SearchIndexableResource;
 
 import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
@@ -37,11 +36,6 @@
     static final String TAG = "AdvancedAppSettings";
 
     @Override
-    public void onCreate(Bundle icicle) {
-        super.onCreate(icicle);
-    }
-
-    @Override
     protected String getCategoryKey() {
         return CategoryKey.CATEGORY_APPS_DEFAULT;
     }
diff --git a/src/com/android/settings/applications/AppAndNotificationDashboardFragment.java b/src/com/android/settings/applications/AppAndNotificationDashboardFragment.java
index 5942897..be70f86 100644
--- a/src/com/android/settings/applications/AppAndNotificationDashboardFragment.java
+++ b/src/com/android/settings/applications/AppAndNotificationDashboardFragment.java
@@ -40,6 +40,12 @@
     }
 
     @Override
+    public void onAttach(Context context) {
+        super.onAttach(context);
+        mProgressiveDisclosureMixin.setTileLimit(3);
+    }
+
+    @Override
     protected String getCategoryKey() {
         return CategoryKey.CATEGORY_APPS;
     }
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/bluetooth/BluetoothSettings.java b/src/com/android/settings/bluetooth/BluetoothSettings.java
index 2a1341e..d709726 100644
--- a/src/com/android/settings/bluetooth/BluetoothSettings.java
+++ b/src/com/android/settings/bluetooth/BluetoothSettings.java
@@ -428,10 +428,7 @@
             });
         }
         getPreferenceScreen().removeAll();
-        Spannable boldSpan = (Spannable) emptyView.getText();
-        boldSpan.setSpan(
-                new TextAppearanceSpan(getActivity(), android.R.style.TextAppearance_Medium), 0,
-                briefText.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
+        setTextSpan(emptyView.getText(), briefText);
     }
 
     @Override
@@ -461,6 +458,16 @@
         updateContent(mLocalAdapter.getBluetoothState());
     }
 
+    @VisibleForTesting
+    void setTextSpan(CharSequence text, CharSequence briefText) {
+        if (text instanceof Spannable) {
+            Spannable boldSpan = (Spannable) text;
+            boldSpan.setSpan(
+                new TextAppearanceSpan(getActivity(), android.R.style.TextAppearance_Medium), 0,
+                briefText.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
+        }
+    }
+
     private final View.OnClickListener mDeviceProfilesListener = new View.OnClickListener() {
         @Override
         public void onClick(View v) {
diff --git a/src/com/android/settings/dashboard/DashboardAdapter.java b/src/com/android/settings/dashboard/DashboardAdapter.java
index 8ff5607..8b97f04 100644
--- a/src/com/android/settings/dashboard/DashboardAdapter.java
+++ b/src/com/android/settings/dashboard/DashboardAdapter.java
@@ -20,6 +20,7 @@
 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;
@@ -58,9 +59,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) {
@@ -157,6 +159,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/DashboardFeatureProviderImpl.java b/src/com/android/settings/dashboard/DashboardFeatureProviderImpl.java
index e7d2b58..b5d8a73 100644
--- a/src/com/android/settings/dashboard/DashboardFeatureProviderImpl.java
+++ b/src/com/android/settings/dashboard/DashboardFeatureProviderImpl.java
@@ -63,7 +63,7 @@
 
     @Override
     public boolean isEnabled() {
-        return false;
+        return true;
     }
 
     @Override
diff --git a/src/com/android/settings/dashboard/DashboardFragment.java b/src/com/android/settings/dashboard/DashboardFragment.java
index 9afe4b2..14d1bdd 100644
--- a/src/com/android/settings/dashboard/DashboardFragment.java
+++ b/src/com/android/settings/dashboard/DashboardFragment.java
@@ -268,6 +268,7 @@
 
         // Add resource based tiles.
         displayResourceTiles();
+        mProgressiveDisclosureMixin.collapse(getPreferenceScreen());
 
         refreshDashboardTiles(TAG);
     }
diff --git a/src/com/android/settings/dashboard/DashboardItemAnimator.java b/src/com/android/settings/dashboard/DashboardItemAnimator.java
index fcaba22..88e69e5 100644
--- a/src/com/android/settings/dashboard/DashboardItemAnimator.java
+++ b/src/com/android/settings/dashboard/DashboardItemAnimator.java
@@ -18,15 +18,22 @@
 import android.support.v4.view.ViewCompat;
 import android.support.v7.widget.DefaultItemAnimator;
 import android.support.v7.widget.RecyclerView.ViewHolder;
+import com.android.settingslib.drawer.Tile;
 
 public class DashboardItemAnimator extends DefaultItemAnimator {
 
     @Override
     public boolean animateChange(ViewHolder oldHolder, ViewHolder newHolder, int fromX, int fromY,
             int toX, int toY) {
-        if (oldHolder == newHolder) {
-            fromX += ViewCompat.getTranslationX(oldHolder.itemView);
-            fromY += ViewCompat.getTranslationY(oldHolder.itemView);
+        final Object tag = oldHolder.itemView.getTag();
+        if (tag instanceof Tile && oldHolder == newHolder) {
+            // When this view has other move animation running, skip this value to avoid
+            // animations interrupt each other.
+            if (!isRunning()) {
+                fromX += ViewCompat.getTranslationX(oldHolder.itemView);
+                fromY += ViewCompat.getTranslationY(oldHolder.itemView);
+            }
+
             if (fromX == toX && fromY == toY) {
                 dispatchMoveFinished(oldHolder);
                 return false;
diff --git a/src/com/android/settings/dashboard/DashboardSummary.java b/src/com/android/settings/dashboard/DashboardSummary.java
index 136ccaf..9d64d4c 100644
--- a/src/com/android/settings/dashboard/DashboardSummary.java
+++ b/src/com/android/settings/dashboard/DashboardSummary.java
@@ -21,17 +21,16 @@
 import android.os.AsyncTask;
 import android.os.Bundle;
 import android.os.Handler;
+import android.support.annotation.VisibleForTesting;
 import android.support.v7.widget.LinearLayoutManager;
 import android.util.Log;
 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.Settings;
 import com.android.settings.SettingsActivity;
-import com.android.settings.core.InstrumentedPreferenceFragment;
+import com.android.settings.core.InstrumentedFragment;
 import com.android.settings.dashboard.conditional.Condition;
 import com.android.settings.dashboard.conditional.ConditionAdapterUtils;
 import com.android.settings.dashboard.conditional.ConditionManager;
@@ -46,7 +45,7 @@
 import java.util.ArrayList;
 import java.util.List;
 
-public class DashboardSummary extends InstrumentedPreferenceFragment
+public class DashboardSummary extends InstrumentedFragment
         implements SettingsDrawerActivity.CategoryListener, ConditionManager.ConditionListener,
         FocusRecyclerView.FocusListener {
     public static final boolean DEBUG = false;
@@ -54,15 +53,6 @@
     private static final int MAX_WAIT_MILLIS = 700;
     private static final String TAG = "DashboardSummary";
 
-    public static final String[] INITIAL_ITEMS = new String[]{
-            Settings.WifiSettingsActivity.class.getName(),
-            Settings.BluetoothSettingsActivity.class.getName(),
-            Settings.DataUsageSummaryActivity.class.getName(),
-            Settings.PowerUsageSummaryActivity.class.getName(),
-            Settings.ManageApplicationsActivity.class.getName(),
-            Settings.StorageSettingsActivity.class.getName(),
-    };
-
     private static final String SUGGESTIONS = "suggestions";
 
     private static final String EXTRA_SCROLL_POSITION = "scroll_position";
@@ -102,10 +92,9 @@
                     ((SettingsActivity) getActivity()).getDashboardCategories());
         }
 
-        Context context = getContext();
-        mConditionManager = ConditionManager.get(context, false);
-        mSuggestionParser = new SuggestionParser(context,
-                context.getSharedPreferences(SUGGESTIONS, 0), R.xml.suggestion_ordering);
+        mConditionManager = ConditionManager.get(activity, false);
+        mSuggestionParser = new SuggestionParser(activity,
+                activity.getSharedPreferences(SUGGESTIONS, 0), R.xml.suggestion_ordering);
         mSuggestionsChecks = new SuggestionsChecks(getContext());
         if (savedInstanceState == null) {
             mSuggestionsShownLogged = new ArrayList<>();
@@ -246,11 +235,7 @@
         new SuggestionLoader().execute();
         // Set categories on their own if loading suggestions takes too long.
         mHandler.postDelayed(() -> {
-            final Activity activity = getActivity();
-            if (activity != null) {
-                mAdapter.setCategoriesAndSuggestions(
-                        ((SettingsActivity) activity).getDashboardCategories(), null);
-            }
+            updateCategoryAndSuggestion(null /* tiles */);
         }, MAX_WAIT_MILLIS);
     }
 
@@ -262,7 +247,11 @@
     @Override
     public void onConditionsChanged() {
         Log.d(TAG, "onConditionsChanged");
+        final boolean scrollToTop = mLayoutManager.findFirstCompletelyVisibleItemPosition() <= 1;
         mAdapter.setConditions(mConditionManager.getConditions());
+        if (scrollToTop) {
+            mDashboard.scrollToPosition(0);
+        }
     }
 
     private class SuggestionLoader extends AsyncTask<Void, Void, List<Tile>> {
@@ -292,23 +281,27 @@
         protected void onPostExecute(List<Tile> tiles) {
             // tell handler that suggestions were loaded quickly enough
             mHandler.removeCallbacksAndMessages(null);
+            updateCategoryAndSuggestion(tiles);
+        }
+    }
 
-            final Activity activity = getActivity();
-            if (activity == null) {
-                return;
-            }
+    @VisibleForTesting
+    void updateCategoryAndSuggestion(List<Tile> tiles) {
+        final Activity activity = getActivity();
+        if (activity == null) {
+            return;
+        }
 
-            if (mDashboardFeatureProvider.isEnabled()) {
-                // Temporary hack to wrap homepage category into a list. Soon we will create adapter
-                // API that takes a single category.
-                List<DashboardCategory> categories = new ArrayList<>();
-                categories.add(mDashboardFeatureProvider.getTilesForCategory(
-                        CategoryKey.CATEGORY_HOMEPAGE));
-                mAdapter.setCategoriesAndSuggestions(categories, tiles);
-            } else {
-                mAdapter.setCategoriesAndSuggestions(
-                        ((SettingsActivity) activity).getDashboardCategories(), tiles);
-            }
+        if (mDashboardFeatureProvider.isEnabled()) {
+            // Temporary hack to wrap homepage category into a list. Soon we will create adapter
+            // API that takes a single category.
+            List<DashboardCategory> categories = new ArrayList<>();
+            categories.add(mDashboardFeatureProvider.getTilesForCategory(
+                    CategoryKey.CATEGORY_HOMEPAGE));
+            mAdapter.setCategoriesAndSuggestions(categories, tiles);
+        } else {
+            mAdapter.setCategoriesAndSuggestions(
+                    ((SettingsActivity) activity).getDashboardCategories(), tiles);
         }
     }
 }
diff --git a/src/com/android/settings/dashboard/ExpandPreference.java b/src/com/android/settings/dashboard/ExpandPreference.java
index 215bfc5..cfa1836 100644
--- a/src/com/android/settings/dashboard/ExpandPreference.java
+++ b/src/com/android/settings/dashboard/ExpandPreference.java
@@ -47,6 +47,7 @@
 
     private void init() {
         setLayoutResource(R.layout.expand_preference);
+        setIcon(R.drawable.ic_arrow_down_24dp);
         setTitle(R.string.wifi_more);
         setOrder(999);
     }
diff --git a/src/com/android/settings/dashboard/ProgressiveDisclosureMixin.java b/src/com/android/settings/dashboard/ProgressiveDisclosureMixin.java
index 8110f32..2907028 100644
--- a/src/com/android/settings/dashboard/ProgressiveDisclosureMixin.java
+++ b/src/com/android/settings/dashboard/ProgressiveDisclosureMixin.java
@@ -25,6 +25,7 @@
 import android.text.TextUtils;
 import android.util.Log;
 
+import com.android.settings.R;
 import com.android.settings.core.lifecycle.LifecycleObserver;
 import com.android.settings.core.lifecycle.events.OnCreate;
 import com.android.settings.core.lifecycle.events.OnSaveInstanceState;
@@ -40,18 +41,19 @@
     private static final String STATE_USER_EXPANDED = "state_user_expanded";
     private static final int DEFAULT_TILE_LIMIT = 300;
 
-    private int mTileLimit = DEFAULT_TILE_LIMIT;
-
+    private final Context mContext;
     private final DashboardFeatureProvider mDashboardFeatureProvider;
     // Collapsed preference sorted by order.
     private final List<Preference> mCollapsedPrefs = new ArrayList<>();
-    private final ExpandPreference mExpandButton;
+    private /* final */ ExpandPreference mExpandButton;
     private final PreferenceFragment mFragment;
 
+    private int mTileLimit = DEFAULT_TILE_LIMIT;
     private boolean mUserExpanded;
 
     public ProgressiveDisclosureMixin(Context context,
             DashboardFeatureProvider dashboardFeatureProvider, PreferenceFragment fragment) {
+        mContext = context;
         mFragment = fragment;
         mExpandButton = new ExpandPreference(context);
         mExpandButton.setOnPreferenceClickListener(this);
@@ -181,6 +183,8 @@
                 if (mCollapsedPrefs.isEmpty()) {
                     // Removed last element, remove expand button too.
                     screen.removePreference(mExpandButton);
+                } else {
+                    updateExpandButtonSummary();
                 }
                 return;
             }
@@ -216,10 +220,28 @@
             insertionIndex = insertionIndex * -1 - 1;
         }
         mCollapsedPrefs.add(insertionIndex, preference);
+        updateExpandButtonSummary();
     }
 
     @VisibleForTesting(otherwise = VisibleForTesting.PRIVATE)
     List<Preference> getCollapsedPrefs() {
         return mCollapsedPrefs;
     }
+
+    @VisibleForTesting(otherwise = VisibleForTesting.PRIVATE)
+    void updateExpandButtonSummary() {
+        final int size = mCollapsedPrefs.size();
+        if (size == 0) {
+            mExpandButton.setSummary(null);
+        } else if (size == 1) {
+            mExpandButton.setSummary(mCollapsedPrefs.get(0).getTitle());
+        } else {
+            CharSequence summary = mCollapsedPrefs.get(0).getTitle();
+            for (int i = 1; i < size; i++) {
+                summary = mContext.getString(R.string.join_many_items_middle, summary,
+                        mCollapsedPrefs.get(i).getTitle());
+            }
+            mExpandButton.setSummary(summary);
+        }
+    }
 }
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/deviceinfo/ManageStoragePreferenceController.java b/src/com/android/settings/deviceinfo/ManageStoragePreferenceController.java
index f4dd14e..3170a87 100644
--- a/src/com/android/settings/deviceinfo/ManageStoragePreferenceController.java
+++ b/src/com/android/settings/deviceinfo/ManageStoragePreferenceController.java
@@ -23,7 +23,7 @@
 
 public class ManageStoragePreferenceController extends PreferenceController {
 
-    public static final String KEY_MANAGE_STORAGE = "pref_manage_storage";
+    public static final String KEY_MANAGE_STORAGE = "footer_preference";
 
     public ManageStoragePreferenceController(Context context) {
         super(context);
diff --git a/src/com/android/settings/deviceinfo/StorageDashboardFragment.java b/src/com/android/settings/deviceinfo/StorageDashboardFragment.java
index 8992830..5d1ac4a 100644
--- a/src/com/android/settings/deviceinfo/StorageDashboardFragment.java
+++ b/src/com/android/settings/deviceinfo/StorageDashboardFragment.java
@@ -17,15 +17,24 @@
 package com.android.settings.deviceinfo;
 
 import android.content.Context;
+import android.os.Bundle;
+import android.os.storage.StorageManager;
+import android.os.storage.VolumeInfo;
 import android.provider.SearchIndexableResource;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
 
 import com.android.internal.logging.nano.MetricsProto;
 import com.android.settings.R;
 import com.android.settings.core.PreferenceController;
 import com.android.settings.dashboard.DashboardFragment;
+import com.android.settings.deviceinfo.storage.StorageItemPreferenceController;
+import com.android.settings.deviceinfo.storage.StorageSummaryDonutPreferenceController;
 import com.android.settings.overlay.FeatureFactory;
 import com.android.settings.search.BaseSearchIndexProvider;
 import com.android.settings.search.Indexable;
+import com.android.settings.widget.FooterPreference;
 import com.android.settingslib.drawer.CategoryKey;
 
 import java.util.ArrayList;
@@ -33,9 +42,53 @@
 import java.util.List;
 
 public class StorageDashboardFragment extends DashboardFragment {
-
     private static final String TAG = "StorageDashboardFrag";
 
+    private VolumeInfo mVolume;
+    private long mTotalSize;
+
+    private StorageSummaryDonutPreferenceController mSummaryController;
+
+    private boolean isVolumeValid() {
+        return (mVolume != null) && (mVolume.getType() == VolumeInfo.TYPE_PRIVATE)
+                && mVolume.isMountedReadable();
+    }
+
+    @Override
+    public void onCreate(Bundle icicle) {
+        super.onCreate(icicle);
+        final Context context = getActivity();
+
+        // Initialize the storage sizes that we can quickly calc.
+        StorageManager sm = context.getSystemService(StorageManager.class);
+        mVolume = sm.findVolumeById(VolumeInfo.ID_PRIVATE_INTERNAL);
+        if (!isVolumeValid()) {
+            getActivity().finish();
+            return;
+        }
+
+        final long sharedDataSize = mVolume.getPath().getTotalSpace();
+        mTotalSize = sm.getPrimaryStorageSize();
+        long systemSize = mTotalSize - sharedDataSize;
+
+        if (mTotalSize <= 0) {
+            mTotalSize = sharedDataSize;
+            systemSize = 0;
+        }
+
+        final long usedBytes = mTotalSize - mVolume.getPath().getFreeSpace();
+        mSummaryController.updateBytes(usedBytes, mTotalSize);
+
+        // Initialize the footer preference to go to the smart storage management.
+        final FooterPreference pref = mFooterPreferenceMixin.createFooterPreference();
+        pref.setTitle(R.string.storage_menu_manage);
+        pref.setFragment("com.android.settings.deletionhelper.AutomaticStorageManagerSettings");
+        pref.setIcon(R.drawable.ic_settings_storage);
+        pref.setEnabled(true);
+
+
+    }
+
     @Override
     public int getMetricsCategory() {
         return MetricsProto.MetricsEvent.SETTINGS_STORAGE_CATEGORY;
@@ -59,10 +112,25 @@
     @Override
     protected List<PreferenceController> getPreferenceControllers(Context context) {
         final List<PreferenceController> controllers = new ArrayList<>();
+        mSummaryController = new StorageSummaryDonutPreferenceController(context);
+        controllers.add(mSummaryController);
         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/storage/StorageItemPreferenceAlternate.java b/src/com/android/settings/deviceinfo/storage/StorageItemPreferenceAlternate.java
new file mode 100644
index 0000000..932a779
--- /dev/null
+++ b/src/com/android/settings/deviceinfo/storage/StorageItemPreferenceAlternate.java
@@ -0,0 +1,44 @@
+/*
+ * Copyright (C) 2011 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.support.v7.preference.Preference;
+import android.support.v7.preference.PreferenceViewHolder;
+import android.text.format.Formatter;
+import android.util.AttributeSet;
+import android.view.View;
+
+import com.android.settings.R;
+
+public class StorageItemPreferenceAlternate extends Preference {
+    public StorageItemPreferenceAlternate(Context context) {
+        this(context, null);
+    }
+
+    public StorageItemPreferenceAlternate(Context context, AttributeSet attrs) {
+        super(context, attrs);
+        setLayoutResource(R.layout.storage_item_alternate);
+        setSummary(R.string.memory_calculating_size);
+    }
+
+    public void setStorageSize(long size) {
+        setSummary(size == 0
+                ? String.valueOf(0)
+                : Formatter.formatFileSize(getContext(), size));
+    }
+}
\ No newline at end of file
diff --git a/src/com/android/settings/deviceinfo/storage/StorageItemPreferenceController.java b/src/com/android/settings/deviceinfo/storage/StorageItemPreferenceController.java
new file mode 100644
index 0000000..6a61072
--- /dev/null
+++ b/src/com/android/settings/deviceinfo/storage/StorageItemPreferenceController.java
@@ -0,0 +1,69 @@
+/*
+ * 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.deviceinfo.storage;
+
+import android.content.Context;
+import android.support.v7.preference.Preference;
+
+import com.android.settings.core.PreferenceController;
+
+/**
+ * StorageItemPreferenceController handles the updating of a single storage preference line item.
+ */
+public class StorageItemPreferenceController extends PreferenceController {
+    private static final long NOT_YET_SET = -1;
+    private final String mKey;
+    private long mStorageSize;
+
+    public StorageItemPreferenceController(Context context, String key) {
+        super(context);
+        mKey = key;
+        mStorageSize = NOT_YET_SET;
+    }
+
+    @Override
+    public boolean isAvailable() {
+        return true;
+    }
+
+    @Override
+    public boolean handlePreferenceTreeClick(Preference preference) {
+        return false;
+    }
+
+    @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);
+    }
+
+    /**
+     * Sets the amount of bytes used by this storage item.
+     */
+    public void setStorageSize(long size) {
+        mStorageSize = size;
+    }
+}
diff --git a/src/com/android/settings/deviceinfo/storage/StorageSummaryDonutPreference.java b/src/com/android/settings/deviceinfo/storage/StorageSummaryDonutPreference.java
new file mode 100644
index 0000000..d6fd354
--- /dev/null
+++ b/src/com/android/settings/deviceinfo/storage/StorageSummaryDonutPreference.java
@@ -0,0 +1,71 @@
+/*
+ * 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.deviceinfo.storage;
+
+import android.content.Context;
+import android.support.v7.preference.Preference;
+import android.support.v7.preference.PreferenceViewHolder;
+import android.util.AttributeSet;
+import android.util.MathUtils;
+import android.view.View;
+import android.widget.ProgressBar;
+
+import com.android.settings.R;
+
+/**
+ * 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 {
+    private int mPercent = -1;
+
+    public StorageSummaryDonutPreference(Context context) {
+        this(context, null);
+    }
+
+    public StorageSummaryDonutPreference(Context context, AttributeSet attrs) {
+        super(context, attrs);
+
+        setLayoutResource(R.layout.storage_summary_donut);
+        setEnabled(false);
+    }
+
+    public void setPercent(long usedBytes, long totalBytes) {
+        if (totalBytes == 0) {
+            return;
+        }
+
+        mPercent = MathUtils.constrain((int) ((usedBytes * 100) / totalBytes),
+                (usedBytes > 0) ? 1 : 0, 100);
+    }
+
+    @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);
+    }
+
+}
diff --git a/src/com/android/settings/deviceinfo/storage/StorageSummaryDonutPreferenceController.java b/src/com/android/settings/deviceinfo/storage/StorageSummaryDonutPreferenceController.java
new file mode 100644
index 0000000..1d2478a
--- /dev/null
+++ b/src/com/android/settings/deviceinfo/storage/StorageSummaryDonutPreferenceController.java
@@ -0,0 +1,72 @@
+package com.android.settings.deviceinfo.storage;
+
+import android.content.Context;
+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;
+
+/**
+ * StorgaeSummaryPreferenceController updates the donut storage summary preference to have the
+ * correct sizes showing.
+ */
+public class StorageSummaryDonutPreferenceController extends PreferenceController {
+    private long mUsedBytes;
+    private long mTotalBytes;
+
+    public StorageSummaryDonutPreferenceController(Context context) {
+        super(context);
+    }
+
+    @Override
+    public void displayPreference(PreferenceScreen screen) {
+        StorageSummaryDonutPreference summary = (StorageSummaryDonutPreference)
+                screen.findPreference("pref_summary");
+        summary.setEnabled(true);
+    }
+
+    @Override
+    public void updateState(Preference preference) {
+        super.updateState(preference);
+        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.setPercent(mUsedBytes, mTotalBytes);
+    }
+
+    @Override
+    public boolean isAvailable() {
+        return true;
+    }
+
+    @Override
+    public boolean handlePreferenceTreeClick(Preference preference) {
+        return false;
+    }
+
+    @Override
+    public String getPreferenceKey() {
+        return "pref_summary";
+    }
+
+    /**
+     * Updates the state of the donut preference for the next update.
+     * @param used Total number of used bytes on the summarized volume.
+     * @param total Total number of bytes on the summarized volume.
+     */
+    public void updateBytes(long used, long total) {
+        mUsedBytes = used;
+        mTotalBytes = total;
+    }
+}
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/nfc/PaymentSettings.java b/src/com/android/settings/nfc/PaymentSettings.java
index e617ef3..37a77f9 100644
--- a/src/com/android/settings/nfc/PaymentSettings.java
+++ b/src/com/android/settings/nfc/PaymentSettings.java
@@ -19,6 +19,7 @@
 import android.app.Activity;
 import android.content.Context;
 import android.content.Intent;
+import android.content.res.Resources;
 import android.nfc.NfcAdapter;
 import android.os.Bundle;
 import android.support.v7.preference.PreferenceManager;
@@ -31,13 +32,18 @@
 
 import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
 import com.android.settings.R;
+import com.android.settings.search.BaseSearchIndexProvider;
+import com.android.settings.search.Indexable;
+import com.android.settings.search.SearchIndexableRaw;
 import com.android.settings.SettingsPreferenceFragment;
 import com.android.settings.dashboard.SummaryLoader;
 import com.android.settings.nfc.PaymentBackend.PaymentAppInfo;
 
+import java.util.Arrays;
+import java.util.ArrayList;
 import java.util.List;
 
-public class PaymentSettings extends SettingsPreferenceFragment {
+public class PaymentSettings extends SettingsPreferenceFragment implements Indexable {
     public static final String TAG = "PaymentSettings";
     private PaymentBackend mPaymentBackend;
 
@@ -132,4 +138,21 @@
             return new SummaryProvider(activity, summaryLoader);
         }
     };
+
+    public static final SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+        new BaseSearchIndexProvider() {
+            @Override
+            public List<SearchIndexableRaw> getRawDataToIndex(Context context, boolean enabled) {
+                final List<SearchIndexableRaw> result = new ArrayList<SearchIndexableRaw>();
+                final Resources res = context.getResources();
+
+                // Add fragment title
+                SearchIndexableRaw data = new SearchIndexableRaw(context);
+                data.title = res.getString(R.string.nfc_payment_settings_title);
+                data.screenTitle = res.getString(R.string.nfc_payment_settings_title);
+                data.keywords = res.getString(R.string.keywords_payment_settings);
+                result.add(data);
+                return result;
+            }
+    };
 }
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/RingVolumePreferenceController.java b/src/com/android/settings/notification/RingVolumePreferenceController.java
index 2297837..a94d086 100644
--- a/src/com/android/settings/notification/RingVolumePreferenceController.java
+++ b/src/com/android/settings/notification/RingVolumePreferenceController.java
@@ -119,9 +119,7 @@
         if (Objects.equals(suppressor, mSuppressor)) return;
         mSuppressor = suppressor;
         if (mPreference != null) {
-            final String text = suppressor != null ?
-                mContext.getString(com.android.internal.R.string.muted_by,
-                    getSuppressorCaption(suppressor)) : null;
+            final String text = SuppressorHelper.getSuppressionText(mContext, suppressor);
             mPreference.setSuppressionText(text);
         }
         updatePreferenceIcon();
@@ -137,25 +135,6 @@
         }
     }
 
-    private String getSuppressorCaption(ComponentName suppressor) {
-        final PackageManager pm = mContext.getPackageManager();
-        try {
-            final ServiceInfo info = pm.getServiceInfo(suppressor, 0);
-            if (info != null) {
-                final CharSequence seq = info.loadLabel(pm);
-                if (seq != null) {
-                    final String str = seq.toString().trim();
-                    if (str.length() > 0) {
-                        return str;
-                    }
-                }
-            }
-        } catch (Throwable e) {
-            Log.w(TAG, "Error loading suppressor caption", e);
-        }
-        return suppressor.getPackageName();
-    }
-
     private final class H extends Handler {
         private static final int UPDATE_EFFECTS_SUPPRESSOR = 1;
         private static final int UPDATE_RINGER_MODE = 2;
diff --git a/src/com/android/settings/notification/SoundSettings.java b/src/com/android/settings/notification/SoundSettings.java
index 5f53d9a..f156a84 100644
--- a/src/com/android/settings/notification/SoundSettings.java
+++ b/src/com/android/settings/notification/SoundSettings.java
@@ -19,6 +19,8 @@
 import android.app.Activity;
 import android.app.NotificationManager;
 import android.content.BroadcastReceiver;
+import android.content.ComponentName;
+import android.content.ContentResolver;
 import android.content.Context;
 import android.content.Intent;
 import android.content.IntentFilter;
@@ -40,7 +42,6 @@
 import com.android.settings.dashboard.DashboardFragment;
 import com.android.settings.dashboard.SummaryLoader;
 import com.android.settings.search.BaseSearchIndexProvider;
-
 import com.android.settingslib.drawer.CategoryKey;
 import java.text.NumberFormat;
 import java.util.ArrayList;
@@ -62,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;
     }
@@ -251,7 +258,15 @@
                                 AudioManager.STREAM_RING) / maxVolume);
                 resId = R.string.sound_settings_summary;
             }
-            mSummaryLoader.setSummary(this, mContext.getString(resId, percent));
+
+            final ComponentName suppressor = NotificationManager.from(mContext)
+                    .getEffectsSuppressor();
+            if (suppressor != null) {
+                String suppressText = SuppressorHelper.getSuppressionText(mContext, suppressor);
+                mSummaryLoader.setSummary(this, suppressText);
+            } else {
+                mSummaryLoader.setSummary(this, mContext.getString(resId, percent));
+            }
         }
     }
 
diff --git a/src/com/android/settings/notification/SuppressorHelper.java b/src/com/android/settings/notification/SuppressorHelper.java
new file mode 100644
index 0000000..8bf4d83
--- /dev/null
+++ b/src/com/android/settings/notification/SuppressorHelper.java
@@ -0,0 +1,55 @@
+/*
+ * 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.notification;
+
+import android.content.ComponentName;
+import android.content.Context;
+import android.content.pm.PackageManager;
+import android.content.pm.ServiceInfo;
+import android.support.annotation.VisibleForTesting;
+import android.util.Log;
+
+public class SuppressorHelper {
+    private static final String TAG = "SuppressorHelper";
+
+    public static String getSuppressionText(Context context, ComponentName suppressor) {
+        return suppressor != null ?
+                context.getString(com.android.internal.R.string.muted_by,
+                        getSuppressorCaption(context, suppressor)) : null;
+    }
+
+    @VisibleForTesting
+    static String getSuppressorCaption(Context context, ComponentName suppressor) {
+        final PackageManager pm = context.getPackageManager();
+        try {
+            final ServiceInfo info = pm.getServiceInfo(suppressor, 0);
+            if (info != null) {
+                final CharSequence seq = info.loadLabel(pm);
+                if (seq != null) {
+                    final String str = seq.toString().trim();
+                    if (str.length() > 0) {
+                        return str;
+                    }
+                }
+            }
+        } catch (Throwable e) {
+            Log.w(TAG, "Error loading suppressor caption", e);
+        }
+        return suppressor.getPackageName();
+    }
+
+}
diff --git a/src/com/android/settings/overlay/FeatureFactory.java b/src/com/android/settings/overlay/FeatureFactory.java
index 0b8ee8e..8b6c3b1 100644
--- a/src/com/android/settings/overlay/FeatureFactory.java
+++ b/src/com/android/settings/overlay/FeatureFactory.java
@@ -27,6 +27,7 @@
 import com.android.settings.enterprise.EnterprisePrivacyFeatureProvider;
 import com.android.settings.fuelgauge.PowerUsageFeatureProvider;
 import com.android.settings.localepicker.LocaleFeatureProvider;
+import com.android.settings.security.SecurityFeatureProvider;
 import com.android.settings.search2.SearchFeatureProvider;
 
 /**
@@ -85,6 +86,8 @@
 
     public abstract SurveyFeatureProvider getSurveyFeatureProvider(Context context);
 
+    public abstract SecurityFeatureProvider getSecurityFeatureProvider();
+
     public static final class FactoryNotFoundException extends RuntimeException {
         public FactoryNotFoundException(Throwable throwable) {
             super("Unable to create factory. Did you misconfigure Proguard?", throwable);
diff --git a/src/com/android/settings/overlay/FeatureFactoryImpl.java b/src/com/android/settings/overlay/FeatureFactoryImpl.java
index c2d5d79..eb5d065 100644
--- a/src/com/android/settings/overlay/FeatureFactoryImpl.java
+++ b/src/com/android/settings/overlay/FeatureFactoryImpl.java
@@ -33,6 +33,8 @@
 import com.android.settings.fuelgauge.PowerUsageFeatureProvider;
 import com.android.settings.localepicker.LocaleFeatureProvider;
 import com.android.settings.localepicker.LocaleFeatureProviderImpl;
+import com.android.settings.security.SecurityFeatureProvider;
+import com.android.settings.security.SecurityFeatureProviderImpl;
 import com.android.settings.search2.SearchFeatureProvider;
 import com.android.settings.search2.SearchFeatureProviderImpl;
 
@@ -48,6 +50,7 @@
     private LocaleFeatureProvider mLocaleFeatureProvider;
     private EnterprisePrivacyFeatureProvider mEnterprisePrivacyFeatureProvider;
     private SearchFeatureProvider mSearchFeatureProvider;
+    private SecurityFeatureProvider mSecurityFeatureProvider;
 
     @Override
     public SupportFeatureProvider getSupportFeatureProvider(Context context) {
@@ -115,4 +118,12 @@
     public SurveyFeatureProvider getSurveyFeatureProvider(Context context) {
         return null;
     }
+
+    @Override
+    public SecurityFeatureProvider getSecurityFeatureProvider() {
+        if (mSecurityFeatureProvider == null) {
+            mSecurityFeatureProvider = new SecurityFeatureProviderImpl();
+        }
+        return mSecurityFeatureProvider;
+    }
 }
diff --git a/src/com/android/settings/qstile/DevelopmentModeTile.java b/src/com/android/settings/qstile/DevelopmentModeTile.java
new file mode 100644
index 0000000..578ffd8
--- /dev/null
+++ b/src/com/android/settings/qstile/DevelopmentModeTile.java
@@ -0,0 +1,205 @@
+/*
+ * 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.qstile;
+
+import android.content.ContentResolver;
+import android.content.Context;
+import android.content.Intent;
+import android.os.RemoteException;
+import android.os.SystemProperties;
+import android.provider.Settings;
+import android.service.quicksettings.Tile;
+import android.service.quicksettings.TileService;
+import android.view.IWindowManager;
+import android.view.ThreadedRenderer;
+import android.view.View;
+
+import android.view.WindowManagerGlobal;
+import com.android.internal.app.LocalePicker;
+import com.android.settings.DevelopmentSettings;
+
+import java.util.Map;
+
+public class DevelopmentModeTile extends TileService {
+
+    static final String SHARED_PREFERENCES_NAME = "development_mode_tile_settings";
+
+    private static final String SHOW_TOUCHES_KEY = "show_touches";
+    private static final String POINTER_LOCATION_KEY = "pointer_location";
+    private static final String DEBUG_LAYOUT_KEY = "debug_layout";
+    private static final String FORCE_RTL_LAYOUT_KEY = "force_rtl_layout_all_locales";
+    private static final String WINDOW_ANIMATION_SCALE_KEY = "window_animation_scale";
+    private static final String TRANSITION_ANIMATION_SCALE_KEY = "transition_animation_scale";
+    private static final String ANIMATOR_DURATION_SCALE_KEY = "animator_duration_scale";
+    private static final String SHOW_HW_SCREEN_UPDATES_KEY = "show_hw_screen_udpates";
+    private static final String SHOW_HW_LAYERS_UPDATES_KEY = "show_hw_layers_udpates";
+    private static final String DEBUG_HW_OVERDRAW_KEY = "debug_hw_overdraw";
+    private static final String TRACK_FRAME_TIME_KEY = "track_frame_time";
+
+    private DevModeProperties mProps = new DevModeProperties();
+
+    @Override
+    public void onStartListening() {
+        super.onStartListening();
+        refresh();
+    }
+
+    public void refresh() {
+        mProps.refreshState(this);
+        getQsTile().setState(mProps.isSet ? (mProps.allMatch
+            ? Tile.STATE_ACTIVE : Tile.STATE_INACTIVE) : Tile.STATE_UNAVAILABLE);
+        getQsTile().updateTile();
+    }
+
+    @Override
+    public void onClick() {
+        if (getQsTile().getState() == Tile.STATE_UNAVAILABLE) {
+            startActivityAndCollapse(new Intent(this, DevelopmentTileConfigActivity.class));
+            return;
+        }
+
+        boolean active = getQsTile().getState() == Tile.STATE_INACTIVE;
+        Map<String, ?> values =
+                getSharedPreferences(SHARED_PREFERENCES_NAME, MODE_PRIVATE).getAll();
+        ContentResolver cr = getContentResolver();
+        for (Property prop : mProps.mSysProps) {
+            Object expected = values.get(prop.prefKey);
+            String value = active && !prop.isDefault(expected) ? expected.toString() : "false";
+            SystemProperties.set(prop.key, value);
+        }
+        for (Property prop : mProps.mSysSettings) {
+            boolean expectedTrue = active && !prop.isDefault(values.get(prop.prefKey));
+            Settings.System.putInt(cr, prop.key, expectedTrue ? 1 : 0);
+        }
+
+        boolean expectedGlobPropTrue = active &&
+                !mProps.mGlobProp.isDefault(values.get(mProps.mGlobProp.prefKey));
+        Settings.Global.putInt(cr, mProps.mGlobProp.key, expectedGlobPropTrue ? 1 : 0);
+        SystemProperties.set(mProps.mGlobProp.key, expectedGlobPropTrue ? "1" : "0");
+        LocalePicker.updateLocales(getResources().getConfiguration().getLocales());
+
+        IWindowManager wm = WindowManagerGlobal.getWindowManagerService();
+        try {
+            // Update the various animation scale values to expected values or 1. mProps.mAnimScales
+            // is an ordered array, where the index corresponds to the individual property.
+            for (int i = 0; i < mProps.mAnimScales.length; i++) {
+                Object expected = values.get(mProps.mAnimScales[i]);
+                float expectedFloat = active && expected != null ?
+                        Float.parseFloat(expected.toString()) : 1;
+                wm.setAnimationScale(i, expectedFloat);
+            }
+        } catch (RemoteException e) { }
+
+        new DevelopmentSettings.SystemPropPoker().execute(); // Settings app magic
+        refresh();
+    }
+
+    static class DevModeProperties {
+
+        private final Property[] mSysProps = new Property[] {
+                new Property(View.DEBUG_LAYOUT_PROPERTY, DEBUG_LAYOUT_KEY),
+                new Property(ThreadedRenderer.DEBUG_DIRTY_REGIONS_PROPERTY,
+                        SHOW_HW_SCREEN_UPDATES_KEY),
+                new Property(ThreadedRenderer.DEBUG_SHOW_LAYERS_UPDATES_PROPERTY,
+                        SHOW_HW_LAYERS_UPDATES_KEY),
+                new Property(ThreadedRenderer.DEBUG_OVERDRAW_PROPERTY, DEBUG_HW_OVERDRAW_KEY),
+                new Property(ThreadedRenderer.PROFILE_PROPERTY, TRACK_FRAME_TIME_KEY),
+        };
+
+        private final Property[] mSysSettings = new Property[] {
+                new Property(Settings.System.SHOW_TOUCHES, SHOW_TOUCHES_KEY),
+                new Property(Settings.System.POINTER_LOCATION, POINTER_LOCATION_KEY),
+        };
+
+        private final Property mGlobProp =
+                new Property(Settings.Global.DEVELOPMENT_FORCE_RTL, FORCE_RTL_LAYOUT_KEY);
+
+        private final String[] mAnimScales = new String[] {
+                WINDOW_ANIMATION_SCALE_KEY,
+                TRANSITION_ANIMATION_SCALE_KEY,
+                ANIMATOR_DURATION_SCALE_KEY
+        };
+
+        /**
+         * True is the values of all the properties corresponds to the expected values. Updated when
+         * {@link #refreshState(Context)} is called.
+         */
+        public boolean allMatch;
+        /**
+         * True is at least one property has a non-default expected value. Updated when
+         * {@link #refreshState(Context)} is called. Not that if all properties have default
+         * expected value, then active and non-active state will be the same.
+         */
+        public boolean isSet;
+
+        public void refreshState(Context context) {
+            Map<String, ?> values =
+                    context.getSharedPreferences(SHARED_PREFERENCES_NAME, MODE_PRIVATE).getAll();
+            allMatch = true;
+            // True if there is at least one non-default value.
+            isSet = false;
+
+            for (Property prop : mSysProps) {
+                Object expected = values.get(prop.prefKey);
+                String actual = SystemProperties.get(prop.key);
+                allMatch &= prop.isDefault(expected)
+                    ? prop.isDefault(actual) : expected.toString().equals(actual);
+                isSet |= !prop.isDefault(expected);
+            }
+
+            ContentResolver cr = context.getContentResolver();
+            for (Property prop : mSysSettings) {
+                boolean expectedTrue = !prop.isDefault(values.get(prop.prefKey));
+                isSet |= expectedTrue;
+                allMatch &= expectedTrue == (Settings.System.getInt(cr, prop.key, 0) != 0);
+            }
+
+            boolean expectedGlopPropTrue = !mGlobProp.isDefault(values.get(mGlobProp.prefKey));
+            isSet |= expectedGlopPropTrue;
+            allMatch &= expectedGlopPropTrue == (Settings.Global.getInt(cr, mGlobProp.key, 0) != 0);
+
+            IWindowManager wm = WindowManagerGlobal.getWindowManagerService();
+            try {
+                for (int i = 0; i < mAnimScales.length; i++) {
+                    Object expected = values.get(mAnimScales[i]);
+                    float expectedFloat = expected == null
+                        ? 1 : Float.parseFloat(expected.toString());
+                    isSet |= expectedFloat != 1;
+                    allMatch &= expectedFloat == wm.getAnimationScale(i);
+                }
+            } catch (RemoteException e) { }
+        }
+    }
+
+    private static class Property {
+        final String key;
+        final String prefKey;
+
+        Property(String key, String prefKey) {
+            this.key = key;
+            this.prefKey = prefKey;
+        }
+
+        boolean isDefault(Object value) {
+            if (value == null) {
+                return true;
+            }
+            String str = value.toString();
+            return str.equals("") || str.equals("false");
+        }
+    }
+}
diff --git a/src/com/android/settings/qstile/DevelopmentTileConfigActivity.java b/src/com/android/settings/qstile/DevelopmentTileConfigActivity.java
new file mode 100644
index 0000000..cc63026
--- /dev/null
+++ b/src/com/android/settings/qstile/DevelopmentTileConfigActivity.java
@@ -0,0 +1,115 @@
+/*
+ * 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.qstile;
+
+import android.content.Intent;
+import android.content.SharedPreferences;
+import android.os.Bundle;
+import android.view.View;
+
+import com.android.settings.R;
+import com.android.settings.SettingsActivity;
+import com.android.settings.SettingsPreferenceFragment;
+import com.android.settings.core.instrumentation.Instrumentable;
+import com.android.settings.widget.SwitchBar;
+
+public class DevelopmentTileConfigActivity extends SettingsActivity {
+
+    @Override
+    public Intent getIntent() {
+        Intent modIntent = new Intent(super.getIntent())
+                .putExtra(EXTRA_SHOW_FRAGMENT, DevelopmentTileConfigFragment.class.getName())
+                .putExtra(EXTRA_HIDE_DRAWER, true);
+        return modIntent;
+    }
+
+    @Override
+    protected boolean isValidFragment(String fragmentName) {
+        return (DevelopmentTileConfigFragment.class.getName().equals(fragmentName));
+    }
+
+    public static class DevelopmentTileConfigFragment extends SettingsPreferenceFragment implements
+            SharedPreferences.OnSharedPreferenceChangeListener {
+
+        private DevelopmentModeTile.DevModeProperties mProps =
+                new DevelopmentModeTile.DevModeProperties();
+
+        private SwitchBar mSwitchBar;
+        private View mDisabledMessage;
+
+        @Override
+        public void onCreate(Bundle icicle) {
+            super.onCreate(icicle);
+            getPreferenceManager()
+                    .setSharedPreferencesName(DevelopmentModeTile.SHARED_PREFERENCES_NAME);
+            addPreferencesFromResource(R.xml.development_tile_prefs);
+        }
+
+        @Override
+        public void onViewCreated(View view, Bundle savedInstanceState) {
+            super.onViewCreated(view, savedInstanceState);
+            mDisabledMessage = setPinnedHeaderView(R.layout.development_tile_config_header);
+            refreshHeader();
+        }
+
+        @Override
+        public void onActivityCreated(Bundle savedInstanceState) {
+            super.onActivityCreated(savedInstanceState);
+            mSwitchBar = ((SettingsActivity) getActivity()).getSwitchBar();
+            mSwitchBar.setEnabled(false);
+        }
+
+        @Override
+        public int getMetricsCategory() {
+            return Instrumentable.METRICS_CATEGORY_UNKNOWN;
+        }
+
+        @Override
+        public void onResume() {
+            super.onResume();
+            refreshHeader();
+            getPreferenceManager().getSharedPreferences()
+                    .registerOnSharedPreferenceChangeListener(this);
+        }
+
+        @Override
+        public void onPause() {
+            super.onPause();
+            getPreferenceManager().getSharedPreferences()
+                    .unregisterOnSharedPreferenceChangeListener(this);
+        }
+
+        @Override
+        public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
+            refreshHeader();
+        }
+
+        private void refreshHeader() {
+            if (mSwitchBar != null && mDisabledMessage != null) {
+                mProps.refreshState(getActivity());
+                if (mProps.isSet) {
+                    mSwitchBar.show();
+                    mDisabledMessage.setVisibility(View.GONE);
+                } else {
+                    mSwitchBar.hide();
+                    mDisabledMessage.setVisibility(View.VISIBLE);
+                }
+                mSwitchBar.setChecked(mProps.allMatch);
+            }
+        }
+    }
+}
diff --git a/src/com/android/settings/qstile/DevelopmentTiles.java b/src/com/android/settings/qstile/DevelopmentTiles.java
deleted file mode 100644
index 0d8e7db..0000000
--- a/src/com/android/settings/qstile/DevelopmentTiles.java
+++ /dev/null
@@ -1,95 +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.qstile;
-
-import android.content.ComponentName;
-import android.content.Context;
-import android.content.pm.PackageManager;
-import android.os.SystemProperties;
-import android.service.quicksettings.Tile;
-import android.service.quicksettings.TileService;
-import android.view.ThreadedRenderer;
-import android.view.View;
-import com.android.settings.DevelopmentSettings;
-
-public class DevelopmentTiles {
-    // List of components that need to be enabled when developer tools are turned on
-    static final Class[] TILE_CLASSES = new Class[] {
-            ShowLayout.class,
-            GPUProfiling.class,
-    };
-    public static void setTilesEnabled(Context context, boolean enable) {
-        final PackageManager pm = context.getPackageManager();
-        for (Class cls : TILE_CLASSES) {
-            pm.setComponentEnabledSetting(new ComponentName(context, cls),
-                    enable ? PackageManager.COMPONENT_ENABLED_STATE_ENABLED
-                           : PackageManager.COMPONENT_ENABLED_STATE_DEFAULT,
-                    PackageManager.DONT_KILL_APP);
-        }
-    }
-
-    /**
-     * Tile to control the "Show layout bounds" developer setting
-     */
-    public static class ShowLayout extends TileService {
-        @Override
-        public void onStartListening() {
-            super.onStartListening();
-            refresh();
-        }
-
-        public void refresh() {
-            final boolean enabled = SystemProperties.getBoolean(View.DEBUG_LAYOUT_PROPERTY, false);
-            getQsTile().setState(enabled ? Tile.STATE_ACTIVE : Tile.STATE_INACTIVE);
-            getQsTile().updateTile();
-        }
-
-        @Override
-        public void onClick() {
-            SystemProperties.set(View.DEBUG_LAYOUT_PROPERTY,
-                    getQsTile().getState() == Tile.STATE_INACTIVE ? "true" : "false");
-            new DevelopmentSettings.SystemPropPoker().execute(); // Settings app magic
-            refresh();
-        }
-    }
-
-    /**
-     * Tile to control the "GPU profiling" developer setting
-     */
-    public static class GPUProfiling extends TileService {
-        @Override
-        public void onStartListening() {
-            super.onStartListening();
-            refresh();
-        }
-
-        public void refresh() {
-            final String value = SystemProperties.get(ThreadedRenderer.PROFILE_PROPERTY);
-            getQsTile().setState(value.equals("visual_bars")
-                    ? Tile.STATE_ACTIVE : Tile.STATE_INACTIVE);
-            getQsTile().updateTile();
-        }
-
-        @Override
-        public void onClick() {
-            SystemProperties.set(ThreadedRenderer.PROFILE_PROPERTY,
-                    getQsTile().getState() == Tile.STATE_INACTIVE ? "visual_bars" : "");
-            new DevelopmentSettings.SystemPropPoker().execute(); // Settings app magic
-            refresh();
-        }
-    }
-}
\ No newline at end of file
diff --git a/src/com/android/settings/search/SearchIndexableResources.java b/src/com/android/settings/search/SearchIndexableResources.java
index 7fa302c..4ecbcf1 100644
--- a/src/com/android/settings/search/SearchIndexableResources.java
+++ b/src/com/android/settings/search/SearchIndexableResources.java
@@ -58,6 +58,7 @@
 import com.android.settings.location.LocationSettings;
 import com.android.settings.location.ScanningSettings;
 import com.android.settings.network.NetworkDashboardFragment;
+import com.android.settings.nfc.PaymentSettings;
 import com.android.settings.notification.ConfigureNotificationSettings;
 import com.android.settings.notification.OtherSoundSettings;
 import com.android.settings.notification.SoundSettings;
@@ -154,6 +155,7 @@
         addIndex(StorageDashboardFragment.class, NO_DATA_RES_ID, R.drawable.ic_settings_storage);
         addIndex(ConnectedDeviceDashboardFragment.class, NO_DATA_RES_ID, R.drawable.ic_bt_laptop);
         addIndex(EnterprisePrivacySettings.class, NO_DATA_RES_ID, R.drawable.ic_settings_about);
+        addIndex(PaymentSettings.class, NO_DATA_RES_ID, R.drawable.ic_settings_nfc_payment);
     }
 
     private SearchIndexableResources() {
diff --git a/src/com/android/settings/search2/SearchFeatureProviderImpl.java b/src/com/android/settings/search2/SearchFeatureProviderImpl.java
index acb90b7..97b7bfe 100644
--- a/src/com/android/settings/search2/SearchFeatureProviderImpl.java
+++ b/src/com/android/settings/search2/SearchFeatureProviderImpl.java
@@ -19,19 +19,21 @@
 import android.app.Activity;
 import android.content.Context;
 import android.content.Intent;
+import android.util.Log;
 import android.view.Menu;
 import android.view.MenuItem;
 
 import com.android.settings.R;
-import com.android.settings.search.Index;
-
 import com.android.settings.applications.PackageManagerWrapperImpl;
+import com.android.settings.search.Index;
 
 /**
  * FeatureProvider for the refactored search code.
  */
 public class SearchFeatureProviderImpl implements SearchFeatureProvider {
 
+    private static final String TAG = "SearchFeatureProvider";
+
     private DatabaseIndexingManager mDatabaseIndexingManager;
 
     @Override
@@ -46,7 +48,7 @@
         }
         String menuTitle = activity.getString(R.string.search_menu);
         MenuItem menuItem = menu.add(Menu.NONE, Menu.NONE, Menu.NONE, menuTitle)
-                .setIcon(R.drawable.abc_ic_search_api_material)
+                .setIcon(R.drawable.ic_search_24dp)
                 .setOnMenuItemClickListener(new MenuItem.OnMenuItemClickListener() {
                     @Override
                     public boolean onMenuItemClick(MenuItem item) {
@@ -81,10 +83,12 @@
 
     @Override
     public void updateIndex(Context context) {
+        long indexStartTime = System.currentTimeMillis();
         if (isEnabled(context)) {
             getIndexingManager(context).update();
         } else {
             Index.getInstance(context).update();
         }
+        Log.d(TAG, "Index.update() took " + (System.currentTimeMillis() - indexStartTime) + " ms");
     }
 }
diff --git a/src/com/android/settings/security/SecurityFeatureProvider.java b/src/com/android/settings/security/SecurityFeatureProvider.java
new file mode 100644
index 0000000..5cf6fc9
--- /dev/null
+++ b/src/com/android/settings/security/SecurityFeatureProvider.java
@@ -0,0 +1,31 @@
+/*
+ * 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.security;
+
+import android.content.Context;
+import android.support.v7.preference.PreferenceScreen;
+
+import com.android.settingslib.drawer.DashboardCategory;
+
+
+/** FeatureProvider for security. */
+public interface SecurityFeatureProvider {
+
+    /** Update preferences with data from associated tiles. */
+    void updatePreferences(Context context, PreferenceScreen preferenceScreen,
+            DashboardCategory dashboardCategory);
+}
diff --git a/src/com/android/settings/security/SecurityFeatureProviderImpl.java b/src/com/android/settings/security/SecurityFeatureProviderImpl.java
new file mode 100644
index 0000000..91659fd
--- /dev/null
+++ b/src/com/android/settings/security/SecurityFeatureProviderImpl.java
@@ -0,0 +1,117 @@
+/*
+ * 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.security;
+
+import android.content.Context;
+import android.content.Intent;
+import android.content.IContentProvider;
+import android.content.pm.PackageManager;
+import android.content.res.Resources;
+import android.graphics.drawable.Drawable;
+import com.android.settingslib.drawer.DashboardCategory;
+import android.support.v4.content.ContextCompat;
+import android.support.v7.preference.Preference;
+import android.support.v7.preference.PreferenceScreen;
+import android.text.TextUtils;
+import android.util.ArrayMap;
+
+import com.android.settingslib.drawer.Tile;
+import com.android.settingslib.drawer.TileUtils;
+
+import java.util.Map;
+
+/** Implementation for {@code SecurityFeatureProvider}. */
+public class SecurityFeatureProviderImpl implements SecurityFeatureProvider {
+
+    /** Update preferences with data from associated tiles. */
+    public void updatePreferences(Context context, PreferenceScreen preferenceScreen,
+            DashboardCategory dashboardCategory) {
+        if (preferenceScreen == null) {
+            return;
+        }
+        int tilesCount = (dashboardCategory != null) ? dashboardCategory.getTilesCount() : 0;
+        if (tilesCount == 0) {
+            return;
+        }
+        Map<String, IContentProvider> providerMap = new ArrayMap<>();
+        for (int i = 0; i < tilesCount; i++) {
+            Tile tile = dashboardCategory.getTile(i);
+            // If the tile does not have a key or appropriate meta data, skip it.
+            if (TextUtils.isEmpty(tile.key) || (tile.metaData == null)) {
+                continue;
+            }
+            Preference matchingPref = preferenceScreen.findPreference(tile.key);
+            // If the tile does not have a matching preference, skip it.
+            if (matchingPref == null) {
+                continue;
+            }
+            // Check if the tile has content providers for dynamically updatable content.
+            String iconUri = tile.metaData.getString(TileUtils.META_DATA_PREFERENCE_ICON_URI, null);
+            String summaryUri =
+                    tile.metaData.getString(TileUtils.META_DATA_PREFERENCE_SUMMARY_URI, null);
+            if (!TextUtils.isEmpty(iconUri)) {
+                int icon = TileUtils.getIconFromUri(context, iconUri, providerMap);
+                boolean updateIcon = true;
+                String packageName = null;
+                // Dynamic icon has to come from the same package that the preference launches.
+                if (tile.intent != null) {
+                        Intent intent = tile.intent;
+                        if (!TextUtils.isEmpty(intent.getPackage())) {
+                            packageName = intent.getPackage();
+                        } else if (intent.getComponent() != null) {
+                            packageName = intent.getComponent().getPackageName();
+                        }
+                }
+                if (TextUtils.isEmpty(packageName)) {
+                    updateIcon = false;
+                } else {
+                    if (tile.icon == null) {
+                        // If the tile does not have an icon already, only update if the suggested
+                        // icon is non-zero.
+                        updateIcon = (icon != 0);
+                    } else {
+                        // If the existing icon has the same resource package and resource id, the
+                        // icon does not need to be updated.
+                        updateIcon = !(packageName.equals(tile.icon.getResPackage())
+                                && (icon == tile.icon.getResId()));
+                    }
+                }
+                if (updateIcon) {
+                    try {
+                        matchingPref.setIcon(context.getPackageManager()
+                                .getResourcesForApplication(packageName)
+                                        .getDrawable(icon, context.getTheme()));
+                    } catch (PackageManager.NameNotFoundException | Resources.NotFoundException e) {
+                        // Intentionally ignored. If icon resources cannot be found, do not update.
+                    }
+                }
+            }
+            if (!TextUtils.isEmpty(summaryUri)) {
+                String summary = TileUtils.getTextFromUri(context, summaryUri, providerMap,
+                        TileUtils.META_DATA_PREFERENCE_SUMMARY);
+                // Only update the summary if it has actually changed.
+                if (summary == null) {
+                    if (matchingPref.getSummary() != null) {
+                        matchingPref.setSummary(summary);
+                    }
+                } else if (!summary.equals(matchingPref.getSummary())) {
+                    matchingPref.setSummary(summary);
+                }
+            }
+        }
+    }
+}
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/tests/app/src/com/android/settings/dashboard/FirstIdViewMatcher.java b/tests/app/src/com/android/settings/dashboard/FirstIdViewMatcher.java
index 15290b1..910d791 100644
--- a/tests/app/src/com/android/settings/dashboard/FirstIdViewMatcher.java
+++ b/tests/app/src/com/android/settings/dashboard/FirstIdViewMatcher.java
@@ -34,7 +34,16 @@
             private boolean mMatched;
 
             public void describeTo(Description description) {
-                description.appendText(" is the first view that matches id.");
+                String idDescription = Integer.toString(id);
+                if (resources != null) {
+                    try {
+                        idDescription = resources.getResourceName(id);
+                    } catch (Resources.NotFoundException e) {
+                        // No big deal, will just use the int value.
+                        idDescription = String.format("%s (resource name not found)", id);
+                    }
+                }
+                description.appendText("with first id: " + idDescription);
             }
 
             public boolean matchesSafely(View view) {
@@ -42,7 +51,7 @@
                 if (mMatched) {
                     return false;
                 } else {
-                    mMatched |= id == view.getId();
+                    mMatched = id == view.getId();
                     return mMatched;
                 }
             }
diff --git a/tests/app/src/com/android/settings/dashboard/PreferenceThemeTest.java b/tests/app/src/com/android/settings/dashboard/PreferenceThemeTest.java
index b99f753e..22723a6 100644
--- a/tests/app/src/com/android/settings/dashboard/PreferenceThemeTest.java
+++ b/tests/app/src/com/android/settings/dashboard/PreferenceThemeTest.java
@@ -20,6 +20,7 @@
 import android.content.Context;
 import android.content.Intent;
 import android.support.test.InstrumentationRegistry;
+import android.support.test.espresso.matcher.ViewMatchers.Visibility;
 import android.support.test.filters.SmallTest;
 import android.support.test.runner.AndroidJUnit4;
 
@@ -33,9 +34,12 @@
 import static android.support.test.espresso.assertion.ViewAssertions.doesNotExist;
 import static android.support.test.espresso.assertion.ViewAssertions.matches;
 import static android.support.test.espresso.matcher.ViewMatchers.isDisplayed;
+import static android.support.test.espresso.matcher.ViewMatchers.withEffectiveVisibility;
 import static android.support.test.espresso.matcher.ViewMatchers.withId;
 import static com.android.settings.dashboard.FirstIdViewMatcher.withFirstId;
 
+import static org.hamcrest.Matchers.allOf;
+
 @RunWith(AndroidJUnit4.class)
 @SmallTest
 public class PreferenceThemeTest {
@@ -54,10 +58,19 @@
     @Test
     public void startPhoneStatus_preferenceIconSpaceReserved() throws InterruptedException {
         launchPhoneStatus();
-        onView(withId(android.R.id.icon_frame)).check(doesNotExist());
+        onView(withId(R.id.icon_frame)).check(doesNotExist());
         onView(withFirstId(R.id.icon_container)).check(matches(isDisplayed()));
     }
 
+    @Test
+    public void startSetupWizardLockScreen_preferenceIconSpaceNotReserved() {
+        launchSetupWizardLockScreen();
+        // Icons should not be shown, and the frame should not occupy extra space.
+        onView(allOf(withId(R.id.icon_frame), withEffectiveVisibility(Visibility.VISIBLE)))
+                .check(doesNotExist());
+        onView(withId(R.id.icon_container)).check(doesNotExist());
+    }
+
     private void launchPhoneStatus() {
         final Intent settingsIntent = new Intent("android.settings.DEVICE_INFO_SETTINGS")
                 .addCategory(Intent.CATEGORY_DEFAULT)
@@ -65,4 +78,12 @@
                 .addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
         InstrumentationRegistry.getInstrumentation().startActivitySync(settingsIntent);
     }
+
+    private void launchSetupWizardLockScreen() {
+        final Intent settingsIntent = new Intent("com.android.settings.SETUP_LOCK_SCREEN")
+                .addCategory(Intent.CATEGORY_DEFAULT)
+                .setPackage(mTargetPackage)
+                .addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+        InstrumentationRegistry.getInstrumentation().startActivitySync(settingsIntent);
+    }
 }
diff --git a/tests/robotests/assets/grandfather_not_implementing_indexable b/tests/robotests/assets/grandfather_not_implementing_indexable
index 0c539d8..81adf8b 100644
--- a/tests/robotests/assets/grandfather_not_implementing_indexable
+++ b/tests/robotests/assets/grandfather_not_implementing_indexable
@@ -88,4 +88,5 @@
 com.android.settings.notification.ZenModeSettings
 com.android.settings.accessibility.ToggleDaltonizerPreferenceFragment
 com.android.settings.applications.ConvertToFbe
-com.android.settings.localepicker.LocaleListEditor
\ No newline at end of file
+com.android.settings.localepicker.LocaleListEditor
+com.android.settings.qstile.DevelopmentTileConfigActivity$DevelopmentTileConfigFragment
\ No newline at end of file
diff --git a/tests/robotests/res/values/themes.xml b/tests/robotests/res/values/themes.xml
new file mode 100644
index 0000000..b91df65
--- /dev/null
+++ b/tests/robotests/res/values/themes.xml
@@ -0,0 +1,3 @@
+<resources>
+    <style name="Theme.Settings" parent="@android:style/Theme.DeviceDefault.Settings"/>
+</resources>
diff --git a/tests/robotests/src/com/android/settings/SettingsRobolectricTestRunner.java b/tests/robotests/src/com/android/settings/SettingsRobolectricTestRunner.java
index 4472025..668fc88 100644
--- a/tests/robotests/src/com/android/settings/SettingsRobolectricTestRunner.java
+++ b/tests/robotests/src/com/android/settings/SettingsRobolectricTestRunner.java
@@ -15,9 +15,9 @@
  */
 package com.android.settings;
 
-import android.app.Activity;
 import android.app.Fragment;
 import android.content.Intent;
+
 import org.junit.runners.model.InitializationError;
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.annotation.Config;
@@ -55,10 +55,10 @@
         // Using the manifest file's relative path, we can figure out the application directory.
         final String appRoot = "packages/apps/Settings";
         final String manifestPath = appRoot + "/AndroidManifest.xml";
-        final String resDir = appRoot + "/res";
+        final String resDir = appRoot + "/tests/robotests/res";
         final String assetsDir = appRoot + config.assetDir();
 
-        // By adding any resources from libraries we need to the AndroidManifest, we can access
+        // By adding any resources from libraries we need the AndroidManifest, we can access
         // them from within the parallel universe's resource loader.
         final AndroidManifest manifest = new AndroidManifest(Fs.fileFromPath(manifestPath),
                 Fs.fileFromPath(resDir), Fs.fileFromPath(assetsDir)) {
diff --git a/tests/robotests/src/com/android/settings/accounts/AccountDetailDashboardFragmentTest.java b/tests/robotests/src/com/android/settings/accounts/AccountDetailDashboardFragmentTest.java
index 7006dfb..3ba4d02 100644
--- a/tests/robotests/src/com/android/settings/accounts/AccountDetailDashboardFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/accounts/AccountDetailDashboardFragmentTest.java
@@ -15,35 +15,69 @@
  */
 package com.android.settings.accounts;
 
+import android.accounts.Account;
+import android.accounts.AccountManager;
+import android.accounts.AuthenticatorDescription;
+import android.content.Context;
 import android.os.Bundle;
+import android.os.UserHandle;
+import android.support.v7.preference.Preference;
 
+import com.android.settings.R;
+import com.android.settings.SettingsRobolectricTestRunner;
 import com.android.settings.TestConfig;
+import com.android.settings.testutils.shadow.ShadowAccountManager;
+import com.android.settings.testutils.shadow.ShadowContentResolver;
 import com.android.settingslib.drawer.CategoryKey;
 import com.android.settingslib.drawer.Tile;
 
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
-import org.robolectric.RobolectricTestRunner;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
 import org.robolectric.annotation.Config;
+import org.robolectric.shadows.ShadowApplication;
 
 import static com.google.common.truth.Truth.assertThat;
+import static org.mockito.Answers.RETURNS_DEEP_STUBS;
+import static org.mockito.Matchers.anyInt;
+import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
 
-@RunWith(RobolectricTestRunner.class)
+@RunWith(SettingsRobolectricTestRunner.class)
 @Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
 public class AccountDetailDashboardFragmentTest {
 
     private static final String METADATA_CATEGORY = "com.android.settings.category";
     private static final String METADATA_ACCOUNT_TYPE = "com.android.settings.ia.account";
+    private static final String METADATA_USER_HANDLE = "user_handle";
+    private static final String PREF_ACCOUNT_HEADER = "account_header";
+
+    @Mock(answer = RETURNS_DEEP_STUBS)
+    private AccountManager mAccountManager;
+    @Mock
+    private Preference mPreference;
 
     private AccountDetailDashboardFragment mFragment;
+    private Context mContext;
 
     @Before
     public void setUp() {
-        mFragment = new AccountDetailDashboardFragment();
+        MockitoAnnotations.initMocks(this);
+        ShadowApplication shadowContext = ShadowApplication.getInstance();
+        shadowContext.setSystemService(Context.ACCOUNT_SERVICE, mAccountManager);
+        mContext = spy(shadowContext.getApplicationContext());
+
+        mFragment = spy(new AccountDetailDashboardFragment());
         final Bundle args = new Bundle();
-        args.putString(METADATA_ACCOUNT_TYPE, "com.abc");
+        args.putParcelable(METADATA_USER_HANDLE, UserHandle.CURRENT);
+        mFragment.setArguments(args);
         mFragment.mAccountType = "com.abc";
+        mFragment.mAccount = new Account("name1@abc.com", "com.abc");
     }
 
     @Test
@@ -83,4 +117,18 @@
         assertThat(mFragment.displayTile(tile)).isFalse();
     }
 
+    @Test
+    @Config(shadows = {ShadowAccountManager.class, ShadowContentResolver.class})
+    public void updateAccountHeader_shouldShowAccountName() throws Exception {
+        when(mAccountManager.getAuthenticatorTypesAsUser(anyInt())).thenReturn(
+            new AuthenticatorDescription[0]);
+        when(mAccountManager.getAccountsAsUser(anyInt())).thenReturn(new Account[0]);
+        when(mFragment.getContext()).thenReturn(mContext);
+        doReturn(mPreference).when(mFragment).findPreference(PREF_ACCOUNT_HEADER);
+
+        mFragment.updateAccountHeader();
+
+        verify(mPreference).setTitle("name1@abc.com");
+    }
+
 }
diff --git a/tests/robotests/src/com/android/settings/accounts/RemoveAccountPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accounts/RemoveAccountPreferenceControllerTest.java
new file mode 100644
index 0000000..50f3ac6
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/accounts/RemoveAccountPreferenceControllerTest.java
@@ -0,0 +1,137 @@
+/*
+ * 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.accounts;
+
+import android.accounts.Account;
+import android.accounts.AccountManager;
+import android.accounts.AccountManagerCallback;
+import android.accounts.AuthenticatorDescription;
+import android.app.Activity;
+import android.app.FragmentManager;
+import android.app.FragmentTransaction;
+import android.content.Context;
+import android.os.Handler;
+import android.os.UserHandle;
+import android.support.v7.preference.PreferenceScreen;
+import android.support.v14.preference.PreferenceFragment;
+import android.widget.Button;
+
+import com.android.settings.AccessiblePreferenceCategory;
+import com.android.settings.R;
+import com.android.settings.SettingsRobolectricTestRunner;
+import com.android.settings.TestConfig;
+import com.android.settings.applications.LayoutPreference;
+import com.android.settings.search.SearchIndexableRaw;
+import com.android.settings.testutils.FakeFeatureFactory;
+import com.android.settings.testutils.shadow.ShadowAccountManager;
+import com.android.settings.testutils.shadow.ShadowContentResolver;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.robolectric.annotation.Config;
+import org.robolectric.shadows.ShadowApplication;
+
+import static com.google.common.truth.Truth.assertThat;
+import static org.mockito.Answers.RETURNS_DEEP_STUBS;
+import static org.mockito.Matchers.any;
+import static org.mockito.Matchers.anyInt;
+import static org.mockito.Matchers.eq;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.spy;
+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 RemoveAccountPreferenceControllerTest {
+
+    private static final String KEY_REMOVE_ACCOUNT = "remove_account";
+    private static final String TAG_REMOVE_ACCOUNT_DIALOG = "confirmRemoveAccount";
+
+    @Mock(answer = RETURNS_DEEP_STUBS)
+    private AccountManager mAccountManager;
+    @Mock(answer = RETURNS_DEEP_STUBS)
+    private PreferenceFragment mFragment;
+    @Mock
+    private PreferenceScreen mScreen;
+    @Mock
+    private FragmentManager mFragmentManager;
+    @Mock
+    private FragmentTransaction mFragmentTransaction;
+    @Mock
+    private LayoutPreference mPreference;
+
+    private Context mContext;
+    private RemoveAccountPreferenceController mController;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        ShadowApplication shadowContext = ShadowApplication.getInstance();
+        shadowContext.setSystemService(Context.ACCOUNT_SERVICE, mAccountManager);
+        mContext = spy(shadowContext.getApplicationContext());
+
+        when(mFragment.getPreferenceScreen()).thenReturn(mScreen);
+        when(mFragment.getPreferenceManager().getContext()).thenReturn(mContext);
+        when(mFragment.getFragmentManager()).thenReturn(mFragmentManager);
+        when(mFragmentManager.beginTransaction()).thenReturn(mFragmentTransaction);
+        when(mAccountManager.getAuthenticatorTypesAsUser(anyInt())).thenReturn(
+            new AuthenticatorDescription[0]);
+        when(mAccountManager.getAccountsAsUser(anyInt())).thenReturn(new Account[0]);
+        mController = new RemoveAccountPreferenceController(mContext, mFragment);
+    }
+
+    @Test
+    public void displayPreference_shouldAddClickListener() {
+        when(mScreen.findPreference(KEY_REMOVE_ACCOUNT)).thenReturn(mPreference);
+        final Button button = mock(Button.class);
+        when(mPreference.findViewById(R.id.button)).thenReturn(button);
+
+        mController.displayPreference(mScreen);
+
+        verify(button).setOnClickListener(mController);
+    }
+
+    @Test
+    public void onClick_shouldStartConfirmDialog() {
+        when(mFragment.isAdded()).thenReturn(true);
+        mController.onClick(null);
+
+        verify(mFragmentTransaction).add(
+            any(RemoveAccountPreferenceController.ConfirmRemoveAccountDialog.class),
+            eq(TAG_REMOVE_ACCOUNT_DIALOG));
+    }
+
+    @Test
+    @Config(shadows = {ShadowAccountManager.class, ShadowContentResolver.class})
+    public void confirmRemove_shouldRemoveAccount() {
+        when(mFragment.isAdded()).thenReturn(true);
+        Activity activity = mock(Activity.class);
+        when(activity.getSystemService(Context.ACCOUNT_SERVICE)).thenReturn(mAccountManager);
+        when(mFragment.getActivity()).thenReturn(activity);
+
+        Account account = new Account("Account11", "com.acct1");
+        RemoveAccountPreferenceController.ConfirmRemoveAccountDialog dialog =
+            RemoveAccountPreferenceController.ConfirmRemoveAccountDialog.show(mFragment, account);
+
+        dialog.onClick(null, 0);
+        verify(mAccountManager).removeAccountAsUser(eq(account), any(Activity.class),
+            any(AccountManagerCallback.class), any(Handler.class), any(UserHandle.class));
+    }
+}
\ No newline at end of file
diff --git a/tests/robotests/src/com/android/settings/bluetooth/BluetoothSettingsTest.java b/tests/robotests/src/com/android/settings/bluetooth/BluetoothSettingsTest.java
new file mode 100644
index 0000000..9e90fdf
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/bluetooth/BluetoothSettingsTest.java
@@ -0,0 +1,37 @@
+/*
+ * Copyright (C) 2017 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.bluetooth;
+
+import com.android.settings.SettingsRobolectricTestRunner;
+import com.android.settings.TestConfig;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.robolectric.annotation.Config;
+
+@RunWith(SettingsRobolectricTestRunner.class)
+@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
+public class BluetoothSettingsTest {
+
+    @Test
+    public void setTextSpan_notSpannable_shouldNotCrash() {
+        final String str = "test";
+        final BluetoothSettings settings = new BluetoothSettings();
+        settings.setTextSpan(str, "hello");
+    }
+
+}
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/DashboardItemAnimatorTest.java b/tests/robotests/src/com/android/settings/dashboard/DashboardItemAnimatorTest.java
index 6ca6f4d..90ff25c 100644
--- a/tests/robotests/src/com/android/settings/dashboard/DashboardItemAnimatorTest.java
+++ b/tests/robotests/src/com/android/settings/dashboard/DashboardItemAnimatorTest.java
@@ -21,6 +21,7 @@
 import com.android.settings.SettingsRobolectricTestRunner;
 import com.android.settings.TestConfig;
 import com.android.settings.dashboard.SupportItemAdapter.ViewHolder;
+import com.android.settingslib.drawer.Tile;
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -41,20 +42,30 @@
         final Context context = ShadowApplication.getInstance().getApplicationContext();
         mDashboardItemAnimator = new DashboardItemAnimator();
         mViewHolder = new ViewHolder(new TextView(context));
+        mViewHolder.itemView.setTag(new Tile());
     }
 
     @Test
-    public void testAnimateChange_NoOffset_NoPendingAnimation() {
+    public void testAnimateChange_NoPositionChange_NoPendingAnimation() {
         final boolean hasPendingAnimation = mDashboardItemAnimator
                 .animateChange(mViewHolder, mViewHolder, 0, 1, 0, 1);
         assertThat(hasPendingAnimation).isFalse();
     }
 
     @Test
-    public void testAnimateChange_HasOffset_HasPendingAnimation() {
+    public void testAnimateChange_HasPositionChange_HasPendingAnimation() {
         final boolean hasPendingAnimation = mDashboardItemAnimator
                 .animateChange(mViewHolder, mViewHolder, 0, 0, 1, 1);
         assertThat(hasPendingAnimation).isTrue();
     }
 
+    @Test
+    public void testAnimateChange_HasRunningAnimationWhileNoPositionChange_NoPendingAnimation() {
+        // Set pending move animations
+        mDashboardItemAnimator.animateMove(mViewHolder, 0, 0, 1, 1);
+
+        final boolean hasPendingAnimation = mDashboardItemAnimator
+                .animateChange(mViewHolder, mViewHolder, 0, 1, 0, 1);
+        assertThat(hasPendingAnimation).isFalse();
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/dashboard/DashboardSummaryTest.java b/tests/robotests/src/com/android/settings/dashboard/DashboardSummaryTest.java
new file mode 100644
index 0000000..9627e2c
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/dashboard/DashboardSummaryTest.java
@@ -0,0 +1,93 @@
+/*
+ * 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.dashboard;
+
+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;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.robolectric.annotation.Config;
+import org.robolectric.util.ReflectionHelpers;
+
+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;
+
+@RunWith(SettingsRobolectricTestRunner.class)
+@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
+public class DashboardSummaryTest {
+
+    @Mock
+    private DashboardAdapter mAdapter;
+    @Mock
+    private DashboardFeatureProvider mDashboardFeatureProvider;
+    @Mock
+    private FocusRecyclerView mDashboard;
+    @Mock
+    private LinearLayoutManager mLayoutManager;
+    @Mock
+    private ConditionManager mConditionManager;
+
+    private DashboardSummary mSummary;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        mSummary = spy(new DashboardSummary());
+        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
+    public void updateCategoryAndSuggestion_shouldGetCategoryFromFeatureProvider() {
+        doReturn(mock(Activity.class)).when(mSummary).getActivity();
+        when(mDashboardFeatureProvider.isEnabled()).thenReturn(true);
+        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/dashboard/ProgressiveDisclosureTest.java b/tests/robotests/src/com/android/settings/dashboard/ProgressiveDisclosureTest.java
index ffc6874..bb00cb8 100644
--- a/tests/robotests/src/com/android/settings/dashboard/ProgressiveDisclosureTest.java
+++ b/tests/robotests/src/com/android/settings/dashboard/ProgressiveDisclosureTest.java
@@ -21,6 +21,7 @@
 import android.support.v7.preference.Preference;
 import android.support.v7.preference.PreferenceScreen;
 
+import com.android.settings.R;
 import com.android.settings.SettingsRobolectricTestRunner;
 import com.android.settings.TestConfig;
 import com.android.settings.overlay.FeatureFactory;
@@ -34,6 +35,7 @@
 import org.mockito.MockitoAnnotations;
 import org.robolectric.annotation.Config;
 import org.robolectric.shadows.ShadowApplication;
+import org.robolectric.util.ReflectionHelpers;
 
 import java.util.List;
 
@@ -41,6 +43,7 @@
 import static org.mockito.Matchers.any;
 import static org.mockito.Matchers.anyInt;
 import static org.mockito.Matchers.anyString;
+import static org.mockito.Mockito.atLeastOnce;
 import static org.mockito.Mockito.never;
 import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.verify;
@@ -56,10 +59,11 @@
     private FakeFeatureFactory mFakeFeatureFactory;
     @Mock(answer = Answers.RETURNS_DEEP_STUBS)
     private PreferenceFragment mPreferenceFragment;
+    @Mock
+    private ExpandPreference mExpandButton;
     private PreferenceScreen mScreen;
     private Context mAppContext;
     private Preference mPreference;
-
     private ProgressiveDisclosureMixin mMixin;
 
     @Before
@@ -71,6 +75,7 @@
         mFakeFeatureFactory = (FakeFeatureFactory) FeatureFactory.getFactory(mContext);
         mMixin = new ProgressiveDisclosureMixin(mAppContext,
                 mFakeFeatureFactory.dashboardFeatureProvider, mPreferenceFragment);
+        ReflectionHelpers.setField(mMixin, "mExpandButton", mExpandButton);
         mPreference = new Preference(mAppContext);
         mPreference.setKey("test");
         when(mFakeFeatureFactory.dashboardFeatureProvider.isEnabled()).thenReturn(true);
@@ -166,6 +171,7 @@
 
         mMixin.collapse(screen);
         assertThat(mMixin.isCollapsed()).isFalse();
+        verify(mExpandButton, never()).setSummary(anyString());
         verify(screen, never()).addPreference(any(Preference.class));
         verify(screen, never()).removePreference(any(Preference.class));
     }
@@ -180,6 +186,7 @@
         mMixin.collapse(screen);
 
         assertThat(mMixin.isCollapsed()).isTrue();
+        verify(mExpandButton, atLeastOnce()).setSummary(anyString());
         verify(screen).addPreference(any(ExpandPreference.class));
         verify(screen, times(3)).removePreference(any(Preference.class));
     }
@@ -224,7 +231,9 @@
         lastPref.setOrder(100);
         // Add something to collapsed list so we are in collapsed state.
         mMixin.addToCollapsedList(new Preference(mAppContext));
+        verify(mExpandButton).setSummary(anyString());
         assertThat(mMixin.getCollapsedPrefs().size()).isEqualTo(1);
+
         // 3 prefs on screen, 2 are real and the last one is more button.
         when(mScreen.getPreferenceCount()).thenReturn(3);
         when(mScreen.getPreference(1)).thenReturn(lastPref);
@@ -244,7 +253,9 @@
         lastPref.setOrder(100);
         // Add something to collapsed list so we are in collapsed state.
         mMixin.addToCollapsedList(new Preference(mAppContext));
+        verify(mExpandButton).setSummary(anyString());
         assertThat(mMixin.getCollapsedPrefs().size()).isEqualTo(1);
+
         // 3 prefs on screen, 2 are real and the last one is more button.
         when(mScreen.getPreferenceCount()).thenReturn(3);
         when(mScreen.getPreference(1)).thenReturn(lastPref);
@@ -255,6 +266,40 @@
 
         verify(mScreen, never()).removePreference(any(Preference.class));
         verify(mScreen, never()).addPreference(any(Preference.class));
+        verify(mExpandButton, times(2)).setSummary(anyString());
         assertThat(mMixin.getCollapsedPrefs().get(0)).isSameAs(toBeAdded);
     }
+
+    @Test
+    public void updateExpandSummary_noPref_noSummary() {
+        mMixin.updateExpandButtonSummary();
+
+        verify(mExpandButton).setSummary(null);
+    }
+
+    @Test
+    public void updateExapndSummary_singlePref_expandSummarySameAsPrefTitle() {
+        final String TEST = "test";
+        final Preference pref = new Preference(mAppContext);
+        pref.setTitle(TEST);
+
+        mMixin.addToCollapsedList(pref);
+        verify(mExpandButton).setSummary(TEST);
+    }
+
+    @Test
+    public void updateExapndSummary_multiPrefs_useCombinedPrefTitleAsSummary() {
+        final String TEST1 = "test1";
+        final String TEST2 = "test2";
+        final Preference pref1 = new Preference(mAppContext);
+        pref1.setTitle(TEST1);
+        final Preference pref2 = new Preference(mAppContext);
+        pref2.setTitle(TEST2);
+
+        mMixin.addToCollapsedList(pref1);
+        mMixin.addToCollapsedList(pref2);
+
+        verify(mExpandButton)
+                .setSummary(mAppContext.getString(R.string.join_many_items_middle, TEST1, TEST2));
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/dashboard/SupportItemAdapterTest.java b/tests/robotests/src/com/android/settings/dashboard/SupportItemAdapterTest.java
index a877ed2..b0dfe61 100644
--- a/tests/robotests/src/com/android/settings/dashboard/SupportItemAdapterTest.java
+++ b/tests/robotests/src/com/android/settings/dashboard/SupportItemAdapterTest.java
@@ -18,37 +18,37 @@
 
 import android.accounts.Account;
 import android.app.Activity;
-import android.content.Context;
 import android.content.Intent;
 import android.provider.Settings;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.widget.Spinner;
 import android.widget.SpinnerAdapter;
+
+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.dashboard.SupportItemAdapter.EscalationData;
 import com.android.settings.overlay.SupportFeatureProvider;
-import java.util.List;
+
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
 import org.mockito.MockitoAnnotations;
 import org.robolectric.Robolectric;
-import org.robolectric.RobolectricTestRunner;
 import org.robolectric.annotation.Config;
-import com.android.settings.R;
 import org.robolectric.shadows.ShadowActivity;
 
+import static com.google.common.truth.Truth.assertThat;
 import static org.mockito.Matchers.any;
 import static org.mockito.Matchers.anyInt;
 import static org.mockito.Mockito.verify;
-import static org.robolectric.Shadows.shadowOf;
 import static org.mockito.Mockito.when;
-import static com.google.common.truth.Truth.assertThat;
+import static org.robolectric.Shadows.shadowOf;
 
-@RunWith(RobolectricTestRunner.class)
+@RunWith(SettingsRobolectricTestRunner.class)
 @Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
 public class SupportItemAdapterTest {
     private static final String ACCOUNT_TYPE = "com.google";
@@ -106,9 +106,10 @@
 
     @Test
     public void testSetAccount_AccountEmpty_NotCrash() {
-        when(mSupportFeatureProvider.getSupportEligibleAccounts(mActivity)).thenReturn(ZERO_ACCOUNT);
+        when(mSupportFeatureProvider.getSupportEligibleAccounts(mActivity)).thenReturn(
+                ZERO_ACCOUNT);
         mSupportItemAdapter = new SupportItemAdapter(mActivity, null, mSupportFeatureProvider,
-            mMetricsFeatureProvider, null);
+                mMetricsFeatureProvider, null);
 
         // Should not crash in this method
         mSupportItemAdapter.setAccounts(ONE_ACCOUNT);
diff --git a/tests/robotests/src/com/android/settings/deviceinfo/StorageDashboardFragmentTest.java b/tests/robotests/src/com/android/settings/deviceinfo/StorageDashboardFragmentTest.java
new file mode 100644
index 0000000..5775aeb
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/deviceinfo/StorageDashboardFragmentTest.java
@@ -0,0 +1,74 @@
+/*
+ * 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.deviceinfo;
+
+import android.content.Context;
+import android.provider.SearchIndexableResource;
+
+import com.android.settings.SettingsRobolectricTestRunner;
+import com.android.settings.TestConfig;
+import com.android.settings.testutils.FakeFeatureFactory;
+import com.android.settingslib.drawer.CategoryKey;
+
+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.shadows.ShadowApplication;
+
+import java.util.List;
+
+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 StorageDashboardFragmentTest {
+
+    @Mock(answer = Answers.RETURNS_DEEP_STUBS)
+    private Context mContext;
+
+    private StorageDashboardFragment mFragment;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        FakeFeatureFactory.setupForTest(mContext);
+        final FakeFeatureFactory factory =
+                (FakeFeatureFactory) FakeFeatureFactory.getFactory(mContext);
+        when(factory.dashboardFeatureProvider.isEnabled()).thenReturn(true);
+        mFragment = new StorageDashboardFragment();
+    }
+
+    @Test
+    public void testCategory_isConnectedDevice() {
+        assertThat(mFragment.getCategoryKey()).isEqualTo(CategoryKey.CATEGORY_STORAGE);
+    }
+
+    @Test
+    public void testSearchIndexProvider_shouldIndexResource() {
+        final List<SearchIndexableResource> indexRes =
+                StorageDashboardFragment.SEARCH_INDEX_DATA_PROVIDER.getXmlResourcesToIndex(
+                        ShadowApplication.getInstance().getApplicationContext(),
+                        true /* enabled */);
+
+        assertThat(indexRes).isNotNull();
+        assertThat(indexRes.get(0).xmlResId).isEqualTo(mFragment.getPreferenceScreenResId());
+    }
+}
\ No newline at end of file
diff --git a/tests/robotests/src/com/android/settings/deviceinfo/storage/StorageItemPreferenceAlternateTest.java b/tests/robotests/src/com/android/settings/deviceinfo/storage/StorageItemPreferenceAlternateTest.java
new file mode 100644
index 0000000..d2fc504
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/deviceinfo/storage/StorageItemPreferenceAlternateTest.java
@@ -0,0 +1,56 @@
+/*
+ * 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.deviceinfo.storage;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import android.content.Context;
+
+import com.android.settings.R;
+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;
+
+
+@RunWith(SettingsRobolectricTestRunner.class)
+@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
+public class StorageItemPreferenceAlternateTest {
+    private Context mContext;
+
+    @Before
+    public void setUp() throws Exception {
+        mContext = RuntimeEnvironment.application;
+    }
+
+    @Test
+    public void testBeforeLoad() {
+        StorageItemPreferenceAlternate pref = new StorageItemPreferenceAlternate(mContext);
+        assertThat(((String) pref.getSummary())).isEqualTo(
+                mContext.getString(R.string.memory_calculating_size));
+    }
+
+    @Test
+    public void testAfterLoad() {
+        StorageItemPreferenceAlternate pref = new StorageItemPreferenceAlternate(mContext);
+        pref.setStorageSize(1024L);
+        assertThat(((String) pref.getSummary())).isEqualTo("1.00KB");
+    }
+}
\ No newline at end of file
diff --git a/tests/robotests/src/com/android/settings/deviceinfo/storage/StorageItemPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/deviceinfo/storage/StorageItemPreferenceControllerTest.java
new file mode 100644
index 0000000..1862dd0
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/deviceinfo/storage/StorageItemPreferenceControllerTest.java
@@ -0,0 +1,79 @@
+/*
+ * 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.deviceinfo.storage;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import android.content.Context;
+import android.support.v7.preference.Preference;
+import android.support.v7.preference.PreferenceViewHolder;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.widget.LinearLayout;
+
+import com.android.settings.SettingsRobolectricTestRunner;
+import com.android.settings.TestConfig;
+import com.android.settings.deviceinfo.StorageItemPreference;
+
+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;
+
+@RunWith(SettingsRobolectricTestRunner.class)
+@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
+public class StorageItemPreferenceControllerTest {
+    private static final String KEY = "pref";
+    private Context mContext;
+    private StorageItemPreferenceController mController;
+    private PreferenceViewHolder mHolder;
+    private StorageItemPreferenceAlternate mPreference;
+
+    @Before
+    public void setUp() throws Exception {
+        mContext = RuntimeEnvironment.application;
+        mController = new StorageItemPreferenceController(mContext, KEY);
+        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);
+    }
+
+    @Test
+    public void testUpdateStateWithInitialState() {
+        mController.updateState(mPreference);
+        assertThat(mPreference.getSummary().toString()).isEqualTo("Calculating…");
+    }
+
+    @Test
+    public void testPreferenceShouldUpdateAfterPopulatingData() {
+        mController.setStorageSize(1024L);
+        mController.updateState(mPreference);
+        assertThat(mPreference.getSummary().toString()).isEqualTo("1.00KB");
+
+    }
+}
\ No newline at end of file
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/notification/SuppressorHelperTest.java b/tests/robotests/src/com/android/settings/notification/SuppressorHelperTest.java
new file mode 100644
index 0000000..86f3d81
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/notification/SuppressorHelperTest.java
@@ -0,0 +1,66 @@
+/*
+ * 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.notification;
+
+import android.content.ComponentName;
+import android.content.Context;
+import android.content.pm.PackageManager;
+import android.content.pm.ServiceInfo;
+import org.junit.Before;
+import org.junit.Test;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+
+import static com.google.common.truth.Truth.assertThat;
+import static org.mockito.Mockito.when;
+
+public class SuppressorHelperTest {
+    private static final String SUPPRESSOR_NAME = "wear";
+
+    private ComponentName mSuppressor;
+    @Mock
+    private Context mContext;
+    @Mock
+    private PackageManager mPackageManager;
+    @Mock
+    private ServiceInfo mServiceInfo;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        mSuppressor = new ComponentName("", "");
+
+        try {
+            when(mContext.getPackageManager()).thenReturn(mPackageManager);
+            when(mPackageManager.getServiceInfo(mSuppressor, 0)).thenReturn(mServiceInfo);
+            when(mServiceInfo.loadLabel(mPackageManager)).thenReturn(new String(SUPPRESSOR_NAME));
+        } catch (PackageManager.NameNotFoundException e) {
+            // Do nothing. This exception will never happen in mock
+        }
+    }
+
+    @Test
+    public void testGetSuppressionText_SuppressorNull_ReturnNull() {
+        String text = SuppressorHelper.getSuppressionText(mContext, null);
+        assertThat(text).isNull();
+    }
+
+    @Test
+    public void testGetSuppressorCaption_SuppressorNotNull_ReturnSuppressorName() {
+        String text = SuppressorHelper.getSuppressorCaption(mContext, mSuppressor);
+        assertThat(text).isEqualTo(SUPPRESSOR_NAME);
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/qstile/DevelopmentModeTileTest.java b/tests/robotests/src/com/android/settings/qstile/DevelopmentModeTileTest.java
new file mode 100644
index 0000000..a30bd47
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/qstile/DevelopmentModeTileTest.java
@@ -0,0 +1,75 @@
+package com.android.settings.qstile;
+
+import static org.junit.Assert.assertEquals;
+import static org.mockito.Matchers.eq;
+import static org.mockito.Mockito.reset;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import android.content.Intent;
+import android.service.quicksettings.Tile;
+
+import com.android.settings.SettingsRobolectricTestRunner;
+import com.android.settings.TestConfig;
+import com.android.settings.testutils.shadow.ShadowTileService;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.robolectric.Robolectric;
+import org.robolectric.annotation.Config;
+import org.robolectric.internal.ShadowExtractor;
+import org.robolectric.util.ReflectionHelpers;
+
+@RunWith(SettingsRobolectricTestRunner.class)
+@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION,
+        shadows = ShadowTileService.class)
+public class DevelopmentModeTileTest {
+
+    @Mock private Tile mTile;
+    @Mock private DevelopmentModeTile.DevModeProperties mProps;
+
+    private DevelopmentModeTile mDevelopmentModeTile;
+    private ShadowTileService mShadowTileService;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        mDevelopmentModeTile = Robolectric.buildService(DevelopmentModeTile.class).get();
+
+        ReflectionHelpers.setField(mDevelopmentModeTile, "mProps", mProps);
+        mShadowTileService = (ShadowTileService) ShadowExtractor.extract(mDevelopmentModeTile);
+        mShadowTileService.setTile(mTile);
+    }
+
+    @Test
+    public void refresh() {
+        verifyRefreshState(false, true, Tile.STATE_UNAVAILABLE);
+        verifyRefreshState(false, false, Tile.STATE_UNAVAILABLE);
+        verifyRefreshState(true, false, Tile.STATE_INACTIVE);
+        verifyRefreshState(true, true, Tile.STATE_ACTIVE);
+    }
+
+    @Test
+    public void onClick_startSetting() {
+        when(mTile.getState()).thenReturn(Tile.STATE_UNAVAILABLE);
+        mDevelopmentModeTile.onClick();
+
+        Intent intent = mShadowTileService.getNextStartedActivity();
+        assertEquals(DevelopmentTileConfigActivity.class.getName(),
+                intent.getComponent().getClassName());
+    }
+
+    private void verifyRefreshState(boolean isSet, boolean allMatch, int expectedState) {
+        reset(mProps, mTile);
+
+        mProps.isSet = isSet;
+        mProps.allMatch = allMatch;
+        mDevelopmentModeTile.refresh();
+
+        verify(mProps).refreshState(eq(mDevelopmentModeTile));
+        verify(mTile).setState(eq(expectedState));
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/security/SecurityFeatureProviderImplTest.java b/tests/robotests/src/com/android/settings/security/SecurityFeatureProviderImplTest.java
new file mode 100644
index 0000000..f64054c
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/security/SecurityFeatureProviderImplTest.java
@@ -0,0 +1,178 @@
+/*
+ * 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.security;
+
+import android.content.Context;
+import android.content.IContentProvider;
+import android.content.Intent;
+import android.content.pm.PackageManager;
+import android.content.res.Resources;
+import android.graphics.drawable.Drawable;
+import android.os.Bundle;
+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.settingslib.drawer.DashboardCategory;
+import com.android.settingslib.drawer.Tile;
+import com.android.settingslib.drawer.TileUtils;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.robolectric.RuntimeEnvironment;
+import org.robolectric.annotation.Config;
+import org.robolectric.annotation.Implementation;
+import org.robolectric.annotation.Implements;
+
+import java.util.Map;
+
+import static org.mockito.Matchers.any;
+import static org.mockito.Matchers.anyInt;
+import static org.mockito.Matchers.anyString;
+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.verifyNoMoreInteractions;
+import static org.mockito.Mockito.when;
+
+@RunWith(SettingsRobolectricTestRunner.class)
+@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
+public class SecurityFeatureProviderImplTest {
+
+    private static final String MOCK_KEY = "key";
+    private static final String MOCK_SUMMARY = "summary";
+    private static final String URI_GET_SUMMARY = "content://package/text/summary";
+    private static final String URI_GET_ICON = "content://package/icon/my_icon";
+
+    @Mock
+    private Drawable mMockDrawable;
+    @Mock
+    private Context mContext;
+    @Mock
+    private PackageManager mPackageManager;
+    @Mock
+    private Resources mResources;
+
+    private SecurityFeatureProviderImpl mImpl;
+
+    @Implements(com.android.settingslib.drawer.TileUtils.class)
+    public static class TileUtilsMock {
+        @Implementation
+        public static int getIconFromUri(Context context, String uriString,
+                Map<String, IContentProvider> providerMap) {
+            return 161803;
+        }
+
+        @Implementation
+        public static String getTextFromUri(Context context, String uriString,
+                Map<String, IContentProvider> providerMap, String key) {
+            return MOCK_SUMMARY;
+        }
+    }
+
+    @Before
+    public void setUp() throws PackageManager.NameNotFoundException {
+        MockitoAnnotations.initMocks(this);
+        mContext = spy(RuntimeEnvironment.application);
+        mImpl = new SecurityFeatureProviderImpl();
+        when(mContext.getPackageManager()).thenReturn(mPackageManager);
+        when(mPackageManager.getResourcesForApplication(anyString())).thenReturn(mResources);
+        when(mResources.getDrawable(anyInt(), any())).thenReturn(mMockDrawable);
+    }
+
+    @Test
+    public void updateTilesData_shouldNotProcessEmptyScreenOrTiles() {
+        mImpl.updatePreferences(mContext, null, null);
+        mImpl.updatePreferences(mContext, new PreferenceScreen(mContext, null), null);
+        verifyNoMoreInteractions(mPackageManager);
+    }
+
+    @Test
+    public void updateTilesData_shouldNotProcessNonMatchingPreference() {
+        DashboardCategory dashboardCategory = new DashboardCategory();
+        dashboardCategory.addTile(new Tile());
+        mImpl.updatePreferences(mContext, getPreferenceScreen(), dashboardCategory);
+        verifyNoMoreInteractions(mPackageManager);
+    }
+
+    @Test
+    public void updateTilesData_shouldNotProcessMatchingPreferenceWithNoData() {
+        mImpl.updatePreferences(mContext, getPreferenceScreen(), getDashboardCategory());
+        verifyNoMoreInteractions(mPackageManager);
+    }
+
+    @Test
+    @Config(shadows = {
+            TileUtilsMock.class,
+    })
+    public void updateTilesData_shouldUpdateMatchingPreference() {
+        Bundle bundle = new Bundle();
+        bundle.putString(TileUtils.META_DATA_PREFERENCE_ICON_URI, URI_GET_ICON);
+        bundle.putString(TileUtils.META_DATA_PREFERENCE_SUMMARY_URI, URI_GET_SUMMARY);
+
+        PreferenceScreen screen = getPreferenceScreen();
+        DashboardCategory dashboardCategory = getDashboardCategory();
+        dashboardCategory.getTile(0).intent = new Intent().setPackage("package");
+        dashboardCategory.getTile(0).metaData = bundle;
+
+        mImpl.updatePreferences(mContext, screen, dashboardCategory);
+        verify(screen.findPreference(MOCK_KEY)).setIcon(mMockDrawable);
+        verify(screen.findPreference(MOCK_KEY)).setSummary(MOCK_SUMMARY);
+    }
+
+    @Test
+    @Config(shadows = {
+            TileUtilsMock.class,
+    })
+    public void updateTilesData_shouldNotUpdateAlreadyUpdatedPreference() {
+        Bundle bundle = new Bundle();
+        bundle.putString(TileUtils.META_DATA_PREFERENCE_ICON_URI, URI_GET_ICON);
+        bundle.putString(TileUtils.META_DATA_PREFERENCE_SUMMARY_URI, URI_GET_SUMMARY);
+
+        PreferenceScreen screen = getPreferenceScreen();
+        when(screen.findPreference(MOCK_KEY).getSummary()).thenReturn(MOCK_SUMMARY);
+        when(screen.findPreference(MOCK_KEY).getIcon()).thenReturn(mMockDrawable);
+
+        DashboardCategory dashboardCategory = getDashboardCategory();
+        dashboardCategory.getTile(0).intent = new Intent().setPackage("package");
+        dashboardCategory.getTile(0).metaData = bundle;
+
+        mImpl.updatePreferences(mContext, screen, dashboardCategory);
+        verify(screen.findPreference(MOCK_KEY), never()).setSummary(anyString());
+    }
+
+    private PreferenceScreen getPreferenceScreen() {
+        final PreferenceScreen screen = mock(PreferenceScreen.class);
+        final Preference pref = mock(Preference.class);
+        when(screen.findPreference(MOCK_KEY)).thenReturn(pref);
+        when(pref.getKey()).thenReturn(MOCK_KEY);
+        return screen;
+    }
+
+    private static DashboardCategory getDashboardCategory() {
+        DashboardCategory dashboardCategory = new DashboardCategory();
+        Tile tile = new Tile();
+        tile.key = MOCK_KEY;
+        dashboardCategory.addTile(tile);
+        return dashboardCategory;
+    }
+}
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/FakeFeatureFactory.java b/tests/robotests/src/com/android/settings/testutils/FakeFeatureFactory.java
index 1625f35..bc0894c 100644
--- a/tests/robotests/src/com/android/settings/testutils/FakeFeatureFactory.java
+++ b/tests/robotests/src/com/android/settings/testutils/FakeFeatureFactory.java
@@ -25,6 +25,7 @@
 import com.android.settings.localepicker.LocaleFeatureProvider;
 import com.android.settings.overlay.FeatureFactory;
 import com.android.settings.overlay.SupportFeatureProvider;
+import com.android.settings.security.SecurityFeatureProvider;
 import com.android.settings.search2.SearchFeatureProvider;
 import com.android.settings.overlay.SurveyFeatureProvider;
 
@@ -47,6 +48,7 @@
     public final EnterprisePrivacyFeatureProvider enterprisePrivacyFeatureProvider;
     public final SearchFeatureProvider searchFeatureProvider;
     public final SurveyFeatureProvider surveyFeatureProvider;
+    public final SecurityFeatureProvider securityFeatureProvider;
 
     /**
      * Call this in {@code @Before} method of the test class to use fake factory.
@@ -78,6 +80,7 @@
         enterprisePrivacyFeatureProvider = mock(EnterprisePrivacyFeatureProvider.class);
         searchFeatureProvider = mock(SearchFeatureProvider.class);
         surveyFeatureProvider = mock(SurveyFeatureProvider.class);
+        securityFeatureProvider = mock(SecurityFeatureProvider.class);
     }
 
     @Override
@@ -124,4 +127,9 @@
     public SurveyFeatureProvider getSurveyFeatureProvider(Context context) {
         return surveyFeatureProvider;
     }
+
+    @Override
+    public SecurityFeatureProvider getSecurityFeatureProvider() {
+        return securityFeatureProvider;
+    }
 }
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/testutils/shadow/ShadowTileService.java b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowTileService.java
new file mode 100644
index 0000000..2270ff3
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowTileService.java
@@ -0,0 +1,38 @@
+package com.android.settings.testutils.shadow;
+
+import android.content.Intent;
+import android.service.quicksettings.Tile;
+import android.service.quicksettings.TileService;
+
+import org.robolectric.annotation.Implementation;
+import org.robolectric.annotation.Implements;
+import org.robolectric.annotation.RealObject;
+import org.robolectric.shadows.ShadowService;
+
+/**
+ * Shadow for {@link TileService}.
+ */
+@Implements(TileService.class)
+public class ShadowTileService extends ShadowService {
+
+    @RealObject TileService realService;
+
+    private Tile mTile;
+
+    public void __constructor__() { }
+
+    @Implementation
+    public final Tile getQsTile() {
+        return mTile;
+    }
+
+    @Implementation
+    public final void startActivityAndCollapse(Intent intent) {
+        realService.startActivity(intent);
+    }
+
+    // Non-Android setter.
+    public void setTile(Tile tile) {
+        mTile = tile;
+    }
+}
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);
+    }
+}
