diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 186ddf7..3281ade 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -2226,7 +2226,7 @@
             <meta-data android:name="com.android.settings.category"
                 android:value="com.android.settings.category.wireless" />
             <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
-                android:value="com.android.settings.DataUsageSummary" />
+                android:value="com.android.settings.datausage.DataUsageSummary" />
         </activity>
 
         <activity android:name="Settings$DreamSettingsActivity"
diff --git a/res/drawable/data_sweep_limit.xml b/res/drawable/data_sweep_limit.xml
index eba023f..b0f5fda 100644
--- a/res/drawable/data_sweep_limit.xml
+++ b/res/drawable/data_sweep_limit.xml
@@ -14,6 +14,12 @@
      limitations under the License.
 -->
 
-<selector xmlns:android="http://schemas.android.com/apk/res/android">
-    <item android:drawable="@drawable/data_sweep_limit_activated" />
-</selector>
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="2dp"
+    android:height="14.5dp"
+    android:viewportWidth="2"
+    android:viewportHeight="56">
+    <path
+        android:fillColor="#ffffffff"
+        android:pathData="M0,48l2,0l0,8l-2,0l0,-8z" />
+</vector>
diff --git a/res/drawable/data_sweep_warning.xml b/res/drawable/data_sweep_warning.xml
index 5c0a1e9..b0f5fda 100644
--- a/res/drawable/data_sweep_warning.xml
+++ b/res/drawable/data_sweep_warning.xml
@@ -14,6 +14,12 @@
      limitations under the License.
 -->
 
-<selector xmlns:android="http://schemas.android.com/apk/res/android">
-    <item android:drawable="@drawable/data_sweep_warning_activated" />
-</selector>
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="2dp"
+    android:height="14.5dp"
+    android:viewportWidth="2"
+    android:viewportHeight="56">
+    <path
+        android:fillColor="#ffffffff"
+        android:pathData="M0,48l2,0l0,8l-2,0l0,-8z" />
+</vector>
diff --git a/res/drawable/ic_signal_workmode_enable.xml b/res/drawable/ic_signal_workmode_enable.xml
new file mode 100644
index 0000000..49af897
--- /dev/null
+++ b/res/drawable/ic_signal_workmode_enable.xml
@@ -0,0 +1,63 @@
+<?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:name="root"
+    android:height="42dp"
+    android:width="42dp"
+    android:viewportHeight="42"
+    android:viewportWidth="42" >
+    <group
+        android:name="ic_signal_briefcase"
+        android:translateX="21.9995"
+        android:translateY="25.73401" >
+        <group
+            android:name="ic_signal_briefcase_pivot"
+            android:translateX="-23.21545"
+            android:translateY="-18.86649" >
+            <clip-path
+                android:name="mask"
+                android:pathData="M 37.8337860107,-40.3974914551 c 0.0,0.0 -35.8077850342,31.5523681641 -35.8077850342,31.5523681641 c 0.0,0.0 40.9884796143,40.9278411865 40.9884796143,40.9278411865 c 0.0,0.0 -2.61700439453,2.0938873291 -2.61700439453,2.0938873291 c 0.0,0.0 -41.1884460449,-40.9392852783 -41.1884460449,-40.9392852783 c 0.0,0.0 -34.6200408936,25.4699249268 -34.6200408936,25.4699249268 c 0.0,0.0 55.9664764404,69.742401123 55.9664764404,69.742401123 c 0.0,0.0 73.2448120117,-59.1047973633 73.2448120117,-59.1047973633 c 0.0,0.0 -55.9664916992,-69.7423400879 -55.9664916992,-69.7423400879 Z" />
+            <group
+                android:name="cross" >
+                <path
+                    android:name="cross_1"
+                    android:pathData="M 7.54049682617,3.9430847168 c 0.0,0.0 31.5749816895,31.4499664307 31.5749816895,31.4499664307 "
+                    android:strokeColor="#FFFFFFFF"
+                    android:strokeAlpha="1"
+                    android:strokeWidth="3.5"
+                    android:fillColor="#00000000" />
+            </group>
+            <group
+                android:name="briefcase"
+                android:translateX="23.481"
+                android:translateY="18.71151" >
+                <path
+                    android:fillColor="#FFFFFFFF"
+                    android:fillAlpha="1"
+                    android:pathData="M-4.83333,-14.3333 L-7.16667,-11.8333 L-7.16667,-9.5 L-4.83333,-9.5 L-4.83333,-11.8333 L4.83333,-11.8333 L4.83333,-9.5 L7.16667,-9.5 L7.16667,-11.8333 L4.83333,-14.3333 Z" />
+                <path
+                    android:fillColor="#FFFFFFFF"
+                    android:fillAlpha="1"
+                    android:pathData="M13.1667,-9.5 L-13.1667,-9.5 C-14.5,-9.5,-15.5,-8.5,-15.5,-7.16666 L-15.5,0.00000286102 C-15.5,1.33334,-14.5,2.33334,-13.1667,2.33334 L-3.66667,2.33334 L-3.66667,0.00000286102 L3.5,0.00000286102 L3.5,2.33334 L13,2.33334 C14.3333,2.33334,15.3333,1.33334,15.3333,0 L15.3333,-7.16666 C15.5,-8.5,14.3333,-9.5,13.1667,-9.5 Z" />
+                <path
+                    android:fillColor="#FFFFFFFF"
+                    android:fillAlpha="1"
+                    android:pathData="M-3.5,7.16667 L-3.5,4.83334 L-14.3333,4.83334 L-14.3333,10.8333 C-14.3333,12.1667,-13.3333,13.1667,-12,13.1667 L11.8333,13.1667 C13.1667,13.1667,14.1667,12.1667,14.1667,10.8333 L14.1667,4.83334 L3.5,4.83334 L3.5,7.16667 L-3.5,7.16667 Z" />
+            </group>
+        </group>
+    </group>
+</vector>
diff --git a/res/layout/app_header.xml b/res/layout/app_header.xml
index ffc6829..6c13ae8 100644
--- a/res/layout/app_header.xml
+++ b/res/layout/app_header.xml
@@ -53,11 +53,5 @@
         android:src="@drawable/ic_info"
         style="?android:attr/borderlessButtonStyle" />
 
-    <View
-        android:id="@+id/row_divider"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:background="?android:attr/listDivider" />
-
 </RelativeLayout>
 
diff --git a/res/layout/apps_filter_spinner.xml b/res/layout/apps_filter_spinner.xml
index 45e64c4..b8b5c90 100644
--- a/res/layout/apps_filter_spinner.xml
+++ b/res/layout/apps_filter_spinner.xml
@@ -20,22 +20,34 @@
     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" >
 
     <Spinner
         android:id="@+id/filter_spinner"
         android:layout_height="wrap_content"
         android:layout_width="wrap_content"
+        android:layout_alignParentStart="true"
         android:layout_marginStart="64dp"
+        android:layout_marginEnd="70dp"
         android:layout_alignWithParentIfMissing="true"
         android:layout_centerVertical="true"
         android:textAlignment="viewStart" />
 
-    <View
-        android:id="@+id/row_divider"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:background="?android:attr/listDivider" />
+    <ImageView
+        android:id="@+id/filter_settings"
+        android:layout_width="56dp"
+        android:layout_height="56dp"
+        android:layout_alignParentEnd="true"
+        android:layout_centerVertical="true"
+        android:minHeight="0dp"
+        android:minWidth="0dp"
+        android:contentDescription="@string/configure"
+        android:scaleType="center"
+        android:src="@drawable/ic_settings_24dp"
+        style="?android:attr/borderlessButtonStyle"
+        android:visibility="gone" />
+
 
 </RelativeLayout>
 
diff --git a/res/layout/data_usage_app_header.xml b/res/layout/data_usage_app_header.xml
new file mode 100644
index 0000000..8ca391a
--- /dev/null
+++ b/res/layout/data_usage_app_header.xml
@@ -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.
+-->
+
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:orientation="vertical">
+
+    <include layout="@layout/app_header" />
+
+    <View
+        android:layout_width="match_parent"
+        android:layout_height=".5dp"
+        android:background="@android:color/white" />
+
+    <include layout="@layout/apps_filter_spinner" />
+
+</LinearLayout>
diff --git a/res/layout/data_usage_chart.xml b/res/layout/data_usage_chart.xml
index 648c7f8..3a2ee09 100644
--- a/res/layout/data_usage_chart.xml
+++ b/res/layout/data_usage_chart.xml
@@ -22,8 +22,8 @@
     android:id="@+id/chart"
     android:layout_width="match_parent"
     android:layout_height="@dimen/data_usage_chart_height"
-    android:paddingLeft="?android:attr/listPreferredItemPaddingStart"
-    android:paddingRight="40dp"
+    android:paddingStart="?android:attr/listPreferredItemPaddingStart"
+    android:paddingEnd="?android:attr/listPreferredItemPaddingEnd"
     android:paddingTop="16dp"
     android:paddingBottom="24dp">
 
diff --git a/res/layout/data_usage_cycles.xml b/res/layout/data_usage_cycles.xml
index 45143ec..5267e26 100644
--- a/res/layout/data_usage_cycles.xml
+++ b/res/layout/data_usage_cycles.xml
@@ -31,14 +31,4 @@
         android:textAppearance="@android:style/TextAppearance.Material.Subhead"
         android:textColor="?android:attr/textColorPrimary" />
 
-    <TextView
-        android:id="@+id/cycle_summary"
-        android:layout_width="0dp"
-        android:layout_height="wrap_content"
-        android:layout_weight="1"
-        android:layout_gravity="center_vertical"
-        android:textAppearance="@android:style/TextAppearance.Material.Subhead"
-        android:textColor="?android:attr/textColorPrimary"
-        android:textAlignment="viewEnd" />
-
 </LinearLayout>
diff --git a/res/layout/memory_key.xml b/res/layout/memory_key.xml
deleted file mode 100644
index 62db2fc..0000000
--- a/res/layout/memory_key.xml
+++ /dev/null
@@ -1,58 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2015 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<LinearLayout
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="wrap_content"
-    android:gravity="center_vertical|end"
-    android:layout_marginBottom="5dp" >
-
-    <ImageView
-        android:layout_width="16dp"
-        android:layout_height="16dp"
-        android:scaleType="centerInside"
-        android:src="@color/memory_avg_use"
-        android:contentDescription="@null" />
-
-    <TextView
-        android:id="@+id/memory_avg"
-        android:text="@string/memory_avg_use"
-        android:textAppearance="@android:style/TextAppearance.Material.Body1"
-        android:textColor="?android:attr/textColorSecondary"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_marginStart="8dp"
-        android:layout_marginEnd="16dp" />
-
-    <ImageView
-        android:layout_width="16dp"
-        android:layout_height="16dp"
-        android:scaleType="centerInside"
-        android:src="@color/memory_max_use"
-        android:contentDescription="@null" />
-
-    <TextView
-        android:id="@+id/memory_max"
-        android:text="@string/memory_max_use"
-        android:textAppearance="@android:style/TextAppearance.Material.Body1"
-        android:textColor="?android:attr/textColorSecondary"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_marginStart="8dp"
-        android:layout_marginEnd="16dp" />
-
-</LinearLayout>
diff --git a/res/layout/preference_category_no_label.xml b/res/layout/preference_category_no_label.xml
new file mode 100644
index 0000000..dafabb2
--- /dev/null
+++ b/res/layout/preference_category_no_label.xml
@@ -0,0 +1,20 @@
+<?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.
+-->
+<Space xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="0dp" />
+
diff --git a/res/layout/preference_category_short.xml b/res/layout/preference_category_short.xml
new file mode 100644
index 0000000..452d0bc
--- /dev/null
+++ b/res/layout/preference_category_short.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.
+-->
+
+<!-- Layout used for PreferenceCategory in a PreferenceActivity. -->
+<TextView xmlns:android="http://schemas.android.com/apk/res/android"
+    android:id="@android:id/title"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:layout_marginBottom="0dp"
+    android:textAppearance="@android:style/TextAppearance.Material.Body2"
+    android:textColor="?android:attr/colorAccent"
+    android:paddingStart="?android:attr/listPreferredItemPaddingStart"
+    android:paddingEnd="?android:attr/listPreferredItemPaddingEnd"
+    android:paddingTop="16dip" />
diff --git a/res/layout/preference_list_fragment.xml b/res/layout/preference_list_fragment.xml
index 99e764f..f8badcf 100644
--- a/res/layout/preference_list_fragment.xml
+++ b/res/layout/preference_list_fragment.xml
@@ -18,95 +18,95 @@
 -->
 
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
-      android:id="@+id/container_material"
-      android:orientation="vertical"
-      android:layout_width="match_parent"
-      android:layout_height="match_parent"
-      android:background="@android:color/transparent">
+    android:id="@+id/container_material"
+    android:orientation="vertical"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:background="@android:color/transparent">
 
     <FrameLayout android:id="@+id/pinned_header"
-                 android:layout_width="match_parent"
-                 android:layout_height="wrap_content"
-                 android:visibility="gone" />
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:visibility="gone" />
 
-         <FrameLayout
-                 android:id="@android:id/list_container"
-                 android:layout_height="0px"
-                 android:layout_weight="1"
-                 android:layout_width="match_parent">
+    <FrameLayout
+        android:id="@android:id/list_container"
+        android:layout_height="0px"
+        android:layout_weight="1"
+        android:layout_width="match_parent">
 
         <ListView android:id="@+id/backup_list"
-                  style="@style/PreferenceFragmentListSinglePane"
-                  android:layout_width="match_parent"
-                  android:layout_height="match_parent"
-                  android:paddingStart="@dimen/settings_side_margin"
-                  android:paddingEnd="@dimen/settings_side_margin"
-                  android:paddingTop="@dimen/dashboard_padding_top"
-                  android:paddingBottom="@dimen/dashboard_padding_bottom"
-                  android:scrollbarStyle="@*android:integer/preference_fragment_scrollbarStyle"
-                  android:clipToPadding="false"
-                  android:drawSelectorOnTop="false"
-                  android:elevation="@dimen/dashboard_category_elevation"
-                  android:visibility="gone"
-                  android:scrollbarAlwaysDrawVerticalTrack="true" />
+            style="@style/PreferenceFragmentListSinglePane"
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"
+            android:paddingStart="@dimen/settings_side_margin"
+            android:paddingEnd="@dimen/settings_side_margin"
+            android:paddingTop="@dimen/dashboard_padding_top"
+            android:paddingBottom="@dimen/dashboard_padding_bottom"
+            android:scrollbarStyle="@*android:integer/preference_fragment_scrollbarStyle"
+            android:clipToPadding="false"
+            android:drawSelectorOnTop="false"
+            android:elevation="@dimen/dashboard_category_elevation"
+            android:visibility="gone"
+            android:scrollbarAlwaysDrawVerticalTrack="true" />
 
         <include layout="@layout/loading_container" />
 
         <com.android.settings.widget.FloatingActionButton
-                  android:id="@+id/fab"
-                  android:visibility="gone"
-                  android:clickable="true"
-                  android:layout_width="@dimen/fab_size"
-                  android:layout_height="@dimen/fab_size"
-                  android:layout_gravity="bottom|end"
-                  android:layout_marginEnd="@dimen/fab_margin"
-                  android:layout_marginBottom="@dimen/fab_margin"
-                  android:elevation="@dimen/fab_elevation"
-                  android:background="@drawable/fab_background" />
+            android:id="@+id/fab"
+            android:visibility="gone"
+            android:clickable="true"
+            android:layout_width="@dimen/fab_size"
+            android:layout_height="@dimen/fab_size"
+            android:layout_gravity="bottom|end"
+            android:layout_marginEnd="@dimen/fab_margin"
+            android:layout_marginBottom="@dimen/fab_margin"
+            android:elevation="@dimen/fab_elevation"
+            android:background="@drawable/fab_background" />
 
     </FrameLayout>
 
     <TextView android:id="@android:id/empty"
-              android:layout_width="match_parent"
-              android:layout_height="match_parent"
-              android:padding="@*android:dimen/preference_fragment_padding_side"
-              android:gravity="center"
-              android:visibility="gone" />
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:padding="@*android:dimen/preference_fragment_padding_side"
+        android:gravity="center"
+        android:visibility="gone" />
 
     <RelativeLayout android:id="@+id/button_bar"
-                    android:layout_height="wrap_content"
-                    android:layout_width="match_parent"
-                    android:layout_weight="0"
-                    android:visibility="gone">
+        android:layout_height="wrap_content"
+        android:layout_width="match_parent"
+        android:layout_weight="0"
+        android:visibility="gone">
 
         <Button android:id="@+id/back_button"
+            android:layout_width="150dip"
+            android:layout_height="wrap_content"
+            android:layout_margin="5dip"
+            android:layout_alignParentStart="true"
+            android:text="@*android:string/back_button_label"
+            />
+
+        <LinearLayout
+            android:orientation="horizontal"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_alignParentEnd="true">
+
+            <Button android:id="@+id/skip_button"
                 android:layout_width="150dip"
                 android:layout_height="wrap_content"
                 android:layout_margin="5dip"
-                android:layout_alignParentStart="true"
-                android:text="@*android:string/back_button_label"
+                android:text="@*android:string/skip_button_label"
+                android:visibility="gone"
                 />
 
-        <LinearLayout
-                android:orientation="horizontal"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:layout_alignParentEnd="true">
-
-            <Button android:id="@+id/skip_button"
-                    android:layout_width="150dip"
-                    android:layout_height="wrap_content"
-                    android:layout_margin="5dip"
-                    android:text="@*android:string/skip_button_label"
-                    android:visibility="gone"
-                    />
-
             <Button android:id="@+id/next_button"
-                    android:layout_width="150dip"
-                    android:layout_height="wrap_content"
-                    android:layout_margin="5dip"
-                    android:text="@*android:string/next_button_label"
-                    />
+                android:layout_width="150dip"
+                android:layout_height="wrap_content"
+                android:layout_margin="5dip"
+                android:text="@*android:string/next_button_label"
+                />
 
         </LinearLayout>
 
diff --git a/res/layout/proc_stats_ui.xml b/res/layout/proc_stats_ui.xml
deleted file mode 100644
index 9d0a22d..0000000
--- a/res/layout/proc_stats_ui.xml
+++ /dev/null
@@ -1,45 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-     Copyright (C) 2015 The Android Open Source Project
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at"+
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<LinearLayout
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:id="@+id/all_details"
-    android:layout_width="match_parent"
-    android:layout_height="wrap_content"
-    android:paddingStart="?android:attr/listPreferredItemPaddingStart"
-    android:paddingEnd="?android:attr/listPreferredItemPaddingEnd"
-    android:orientation="vertical">
-
-    <TextView
-        android:id="@+id/memory_state"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:layout_marginTop="5dp"
-        android:layout_marginBottom="5dp"
-        android:textColor="?android:attr/colorAccent"
-        android:textAppearance="@android:style/TextAppearance.Material.Display1"
-        />
-
-    <com.android.settings.applications.LinearColorBar
-        android:id="@+id/color_bar"
-        android:layout_width="match_parent"
-        android:layout_height="28dp"
-        android:layout_marginBottom="15dp"
-        />
-
-</LinearLayout>
-
diff --git a/res/layout/process_stats_details.xml b/res/layout/process_stats_details.xml
deleted file mode 100644
index aa402f6..0000000
--- a/res/layout/process_stats_details.xml
+++ /dev/null
@@ -1,47 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2013 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:id="@+id/all_details"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    android:orientation="vertical"
-    android:paddingStart="?android:attr/listPreferredItemPaddingStart"
-    android:paddingEnd="?android:attr/listPreferredItemPaddingEnd">
-
-    <com.android.settings.applications.LinearColorBar
-        android:id="@+id/color_bar"
-        android:layout_width="match_parent"
-        android:layout_height="40dp"
-        android:layout_marginTop="12dp"
-        android:layout_marginBottom="10dp"
-        />
-
-    <include layout="@layout/memory_key" />
-
-    <!-- Force stop and report buttons -->
-    <LinearLayout
-        android:id="@+id/two_buttons_panel"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:paddingBottom="6dip"
-        android:orientation="vertical">
-
-        <include layout="@layout/two_buttons_panel"/>
-    </LinearLayout>
-
-</LinearLayout>
diff --git a/res/layout/redaction_interstitial.xml b/res/layout/redaction_interstitial.xml
index 14e57f8..73a9e5c 100644
--- a/res/layout/redaction_interstitial.xml
+++ b/res/layout/redaction_interstitial.xml
@@ -24,7 +24,7 @@
         android:paddingEnd="?attr/side_margin">
 
     <TextView
-            android:layout_width="wrap_content"
+            android:layout_width="match_parent"
             android:layout_height="wrap_content"
             android:layout_marginTop="@dimen/redaction_vertical_margins"
             android:layout_marginStart="?android:attr/listPreferredItemPaddingStart"
diff --git a/res/layout/settings_summary_preference.xml b/res/layout/settings_summary_preference.xml
new file mode 100644
index 0000000..7614fca
--- /dev/null
+++ b/res/layout/settings_summary_preference.xml
@@ -0,0 +1,77 @@
+<?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:paddingStart="?android:attr/listPreferredItemPaddingStart"
+    android:paddingEnd="?android:attr/listPreferredItemPaddingEnd"
+    android:orientation="vertical">
+
+    <TextView
+        android:id="@android:id/title"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:paddingTop="0dp"
+        android:layout_marginTop="0dp"
+        android:layout_marginBottom="5dp"
+        android:textColor="?android:attr/colorAccent"
+        android:textAppearance="@android:style/TextAppearance.Material.Display1"
+        />
+
+    <TextView android:id="@android:id/summary"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:textAppearance="?android:attr/textAppearanceListItemSecondary"
+        android:textColor="?android:attr/textColorSecondary"
+        android:paddingBottom="5dp"
+        android:maxLines="10" />
+
+    <com.android.settings.applications.LinearColorBar
+        android:id="@+id/color_bar"
+        android:layout_width="match_parent"
+        android:layout_height="28dp"
+        />
+
+    <LinearLayout
+        android:id="@+id/label_bar"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:paddingTop="2dp"
+        android:orientation="horizontal">
+
+        <TextView android:id="@android:id/text1"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:textAppearance="?android:attr/textAppearanceListItemSecondary"
+            android:textColor="?android:attr/textColorSecondary" />
+
+        <Space
+            android:layout_width="0dp"
+            android:layout_height="wrap_content"
+            android:layout_weight="1" />
+
+        <TextView android:id="@android:id/text2"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:textAppearance="?android:attr/textAppearanceListItemSecondary"
+            android:textColor="?android:attr/textColorSecondary" />
+
+    </LinearLayout>
+
+</LinearLayout>
+
diff --git a/res/layout/setup_redaction_interstitial.xml b/res/layout/setup_redaction_interstitial.xml
index f5954a1..6eef9ce 100644
--- a/res/layout/setup_redaction_interstitial.xml
+++ b/res/layout/setup_redaction_interstitial.xml
@@ -36,7 +36,7 @@
 
         <TextView
             style="@style/SuwDescription"
-            android:layout_width="wrap_content"
+            android:layout_width="match_parent"
             android:layout_height="wrap_content"
             android:layout_marginStart="?android:attr/listPreferredItemPaddingStart"
             android:layout_marginEnd="?android:attr/listPreferredItemPaddingEnd"
diff --git a/res/menu/data_usage.xml b/res/menu/data_usage.xml
index 749eb16..9fe6b60 100644
--- a/res/menu/data_usage.xml
+++ b/res/menu/data_usage.xml
@@ -16,24 +16,6 @@
 
 <menu xmlns:android="http://schemas.android.com/apk/res/android">
     <item
-        android:id="@+id/data_usage_menu_restrict_background"
-        android:title="@string/data_usage_menu_restrict_background" />
-    <item
-        android:id="@+id/data_usage_menu_show_wifi"
-        android:title="@string/data_usage_menu_show_wifi" />
-    <item
-        android:id="@+id/data_usage_menu_show_ethernet"
-        android:title="@string/data_usage_menu_show_ethernet" />
-    <item
-        android:id="@+id/data_usage_menu_metered"
-        android:title="@string/data_usage_menu_metered" />
-    <item
-        android:id="@+id/data_usage_menu_sim_cards"
-        android:title="@string/data_usage_menu_sim_cards" />
-    <item
         android:id="@+id/data_usage_menu_cellular_networks"
         android:title="@string/data_usage_menu_cellular_networks" />
-    <item
-        android:id="@+id/data_usage_menu_help"
-        android:title="@string/help_label" />
 </menu>
diff --git a/res/values-af/strings.xml b/res/values-af/strings.xml
index bfb68fc..ecc49f8 100644
--- a/res/values-af/strings.xml
+++ b/res/values-af/strings.xml
@@ -264,7 +264,7 @@
     <string name="roaming_disable" msgid="1295279574370898378">"Verbind aan datadienste wanneer swerf"</string>
     <string name="roaming_reenable_message" msgid="9141007271031717369">"Jy het dataverbinding verloor omdat jy wegbeweeg het van jou tuisnetwerk af sonder om dataswerwing weer aan te skakel."</string>
     <string name="roaming_turn_it_on_button" msgid="4387601818162120589">"Skakel dit aan"</string>
-    <string name="roaming_warning" msgid="7625933694709170887">"As jy dataswerwing toelaat, kan dit moontlik heelwat swerfkoste veroorsaak!"</string>
+    <string name="roaming_warning" msgid="4275443317524544705">"Dit kan baie duur wees."</string>
     <string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"As jy dataswerwing toelaat, kan hoë swerwingskoste jou in die gesig staar! \n\nHierdie instelling beïnvloed alle gebruikers op hierdie tablet."</string>
     <string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"As jy dataswerwing toelaat, kan hoë swerwingskoste jou in die gesig staar! \n\nHierdie instelling beïnvloed alle gebruikers op hierdie foon."</string>
     <string name="roaming_reenable_title" msgid="6068100976707316772">"Laat dataswerwing toe?"</string>
@@ -1936,6 +1936,8 @@
     <string name="sync_is_failing" msgid="1591561768344128377">"Sinkronisering ondervind tans probleme. Dit sal binnekort terug wees."</string>
     <string name="add_account_label" msgid="7811707265834013767">"Voeg rekening by"</string>
     <string name="managed_profile_not_available_label" msgid="852263300911325904">"Werkprofiel is nog nie beskikbaar nie"</string>
+    <string name="work_mode_label" msgid="5794470908668593961">"Werkmodus"</string>
+    <string name="work_mode_summary" msgid="1620246003886940776">"Stel werkprofiel in staat om te werk, insluitend programme, agtergrondsinkronisering en verwante kenmerke"</string>
     <string name="remove_managed_profile_label" msgid="3856519337797285325">"Verwyder werkprofiel"</string>
     <string name="background_data" msgid="5779592891375473817">"Agtergronddata"</string>
     <string name="background_data_summary" msgid="8328521479872763452">"Programme kan te enige tyd data sinkroniseer, stuur en ontvang"</string>
@@ -2797,8 +2799,32 @@
     <string name="condition_cellular_summary" msgid="1818046558419658463">"Internet is net deur Wi-Fi beskikbaar"</string>
     <string name="condition_bg_data_title" msgid="1422001615923482010">"Agtergronddata is af"</string>
     <string name="condition_bg_data_summary" msgid="656957852895282228">"Agtergronddata is net deur Wi-Fi beskikbaar. Dit kan sommige programme of dienste beïnvloed wanneer Wi-Fi nie beskikbaar is nie."</string>
+    <string name="condition_work_title" msgid="7293722361184366648">"Werkprofiel is af"</string>
+    <string name="condition_work_summary" msgid="7543202177571590378">"Programme, agtergrondsinkronisering en ander kenmerke wat met jou werkprofiel verband hou, is afgeskakel."</string>
     <string name="suggestions_title" msgid="8758376306825920705">"Voorstelle (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
     <string name="suggestion_remove" msgid="904627293892092439">"Verwyder"</string>
     <string name="color_temperature" msgid="2501579996151717270">"Skerm se kleurtemperatuur"</string>
     <string name="color_temperature_desc" msgid="3603319696846982249">"Aktiveer koel temperatuur"</string>
+    <string name="usage" msgid="2977875522080448986">"Gebruik"</string>
+    <string name="cellular_data_usage" msgid="2763710678354680712">"Sellulêre datagebruik"</string>
+    <string name="wifi_data_usage" msgid="686754111095324306">"Wi-Fi-datagebruik"</string>
+    <string name="ethernet_data_usage" msgid="5108764537574354616">"Ethernet-datagebruik"</string>
+    <string name="wifi" msgid="1081550856200013637">"Wi-Fi"</string>
+    <string name="ethernet" msgid="6600095783781389720">"Ethernet"</string>
+    <string name="cell_data_template" msgid="3308709914705592281">"<xliff:g id="ID_1">%1$s</xliff:g> se sellulêre data"</string>
+    <string name="wifi_data_template" msgid="501654649753761778">"<xliff:g id="ID_1">%1$s</xliff:g> se Wi-Fi-data"</string>
+    <string name="ethernet_data_template" msgid="5775729859383597507">"<xliff:g id="ID_1">%1$s</xliff:g> se ethernet-data"</string>
+    <string name="cell_warning_only" msgid="763147658209027140">"<xliff:g id="ID_1">%1$s</xliff:g>-datawaarskuwing"</string>
+    <string name="cell_warning_and_limit" msgid="2273413629267437470">"<xliff:g id="ID_1">%1$s</xliff:g>-datawaarskuwing / <xliff:g id="ID_2">%2$s</xliff:g>-datalimiet"</string>
+    <string name="billing_cycle" msgid="5169909190811133499">"Faktureringsiklus"</string>
+    <string name="billing_cycle_summary" msgid="9009106526129293752">"Maandelikse siklus begin op die <xliff:g id="ID_1">%1$s</xliff:g> van elke maand"</string>
+    <string name="billing_cycle_fragment_summary" msgid="1940518156600077066">"Maandeliks vanaf <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="network_restrictions" msgid="8234695294536675380">"Netwerkbeperkinge"</string>
+    <string name="operator_warning" msgid="7206980278353372811">"Operateur se datarekeninge kan van jou toestel verskil."</string>
+    <string name="data_used_template" msgid="3245919669966296505">"<xliff:g id="ID_1">%1$s</xliff:g> gebruik"</string>
+    <string name="data_warning" msgid="209133958008062117">"Datawaarskuwing"</string>
+    <string name="set_data_limit" msgid="2901526323210516923">"Stel datalimiet"</string>
+    <string name="data_limit" msgid="1885406964934590552">"Datalimiet"</string>
+    <string name="data_usage_template" msgid="392191945602400904">"<xliff:g id="ID_1">%1$s</xliff:g> gebruik tussen <xliff:g id="ID_2">%2$s</xliff:g>"</string>
+    <string name="configure" msgid="1029654422228677273">"Stel op"</string>
 </resources>
diff --git a/res/values-am/strings.xml b/res/values-am/strings.xml
index ac2b2b7..17e5631 100644
--- a/res/values-am/strings.xml
+++ b/res/values-am/strings.xml
@@ -74,8 +74,7 @@
     <string name="sdcard_unmount" product="default" msgid="3364184561355611897">"SD ካርድ ንቀል"</string>
     <string name="sdcard_format" product="nosdcard" msgid="6285310523155166716">"USB ማከማቻ አጥፋ"</string>
     <string name="sdcard_format" product="default" msgid="6713185532039187532">"የSD ካርድ አጥፋ"</string>
-    <!-- no translation found for font_size_summary (133937309990844030) -->
-    <skip />
+    <string name="font_size_summary" msgid="133937309990844030">"በማያ ገጽ ላይ ያለ ጽሑፍን ያሳንሱ ወይም ያተልቁ።"</string>
     <string name="small_font" msgid="2295331917424072635">"አነስተኛ"</string>
     <string name="medium_font" msgid="2068475425515133701">"መካከለኛ"</string>
     <string name="large_font" msgid="599055175160971446">"ትልቅ"</string>
@@ -265,7 +264,7 @@
     <string name="roaming_disable" msgid="1295279574370898378">"በእንቅስቃሴ ላይ ሲሆን ወደ ውሂብ አገልግሎቶች ተያያዝ"</string>
     <string name="roaming_reenable_message" msgid="9141007271031717369">"የውሂብዎ ተያያዥነት ጠፍቷል ምክንያቱም የቤትዎን አውታረመረብ በእንቅስቃሴ ላይ አጥፋተው በመተዎ ነው።"</string>
     <string name="roaming_turn_it_on_button" msgid="4387601818162120589">"አብራው"</string>
-    <string name="roaming_warning" msgid="7625933694709170887">"የውሂብ ዝውውር በምትፈቅድበት ጊዜ፤ ላቅ ያለ የዝውውር ክፍያዎች ልትከፍልትችላለህ!"</string>
+    <string name="roaming_warning" msgid="4275443317524544705">"ቀላል የማይባል ክፍያ ሊጠየቁ ይችሉ ይሆናል።"</string>
     <string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"የውሂብ ዝውውር ሲፈቅዱ ጉልህ የሆኑ የውሂብ ዝውውር ክፍያዎች ሊደርስብዎት ይችላል!\n\nይህ ቅንብር እዚህ ጡባዊ ላይ ያሉት ሁሉም ተጠቃሚዎች ይመለከታቸዋል።"</string>
     <string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"የውሂብ ዝውውር ሲፈቅዱ ጉልህ የሆኑ የውሂብ ዝውውር ክፍያዎች ሊደርስብዎት ይችላል!\n\nይህ ቅንብር እዚህ ስልክ ላይ ያሉት ሁሉም ተጠቃሚዎች ይመለከታቸዋል።"</string>
     <string name="roaming_reenable_title" msgid="6068100976707316772">"የውሂብ ዝውውር ፍቀድ?"</string>
@@ -1277,7 +1276,7 @@
     <string name="lock_settings_profile_unification_title" msgid="3130455578336894831">"ተመሳሳዩን የማያ ገጽ መቆለፊያን ተጠቀም"</string>
     <string name="lock_settings_profile_unification_summary" msgid="8014208091623293835">"ከሥራ መገለጫ ጋር እንዲዛመድ ዋና መገለጫን ይለውጡ"</string>
     <string name="lock_settings_profile_unification_dialog_title" msgid="5297248764066294130">"ተመሳሳዩን የማያ ገጽ መቆለፊያ ይጠቀሙ?"</string>
-    <string name="lock_settings_profile_unification_dialog_body" msgid="342417647696962745">"ይህን መቆለፊያ ለእርስዎ መሣሪያ ሊጠቀሙበት ይችላሉ፣ ነገር ግን የእርስዎ የአይቲ አስተዳዳሪ በሥራ መገለጫው ላይ ያቀናበሯቸውን ሁሉም ከማያ ገጽ መቆለፊያ ጋር የተዛመዱ መመሪያዎችን ያካትታል።\nተመሳሳዩን መቆለፊያ ለእርስዎ መሣሪያ መጠቀም ይፈልጋሉ?"</string>
+    <string name="lock_settings_profile_unification_dialog_body" msgid="342417647696962745">"ይህን መቆለፊያ ለእርስዎ መሣሪያ ሊጠቀሙበት ይችላሉ፣ ነገር ግን የእርስዎ የአይቲ አስተዳዳሪ በሥራ መገለጫው ላይ ያቀናበሯቸውን ሁሉንም ከማያ ገጽ መቆለፊያ ጋር የተዛመዱ መመሪያዎችን ያካትታል።\nተመሳሳዩን መቆለፊያ ለእርስዎ መሣሪያ መጠቀም ይፈልጋሉ?"</string>
     <string name="lock_settings_profile_unified_summary" msgid="237623767711796217">"ከእርስዎ መሣሪያ መቆለፊያ ጋር ተመሳሳይ ነው"</string>
     <string name="manageapplications_settings_title" msgid="7041951105633616745">"መተግበሪያዎች አስተዳድር"</string>
     <string name="manageapplications_settings_summary" msgid="1794401500935451259">"የተጫኑ መተግበራያዎች አስተዳድር እና አስወግድ"</string>
@@ -1937,6 +1936,8 @@
     <string name="sync_is_failing" msgid="1591561768344128377">"አስምር በአሁኑጊዜ ችግር እየገጠመው ነው። ከአፍታ ቆይታ በኋላ ይመለሳል።"</string>
     <string name="add_account_label" msgid="7811707265834013767">"መለያ አክል"</string>
     <string name="managed_profile_not_available_label" msgid="852263300911325904">"የስራ መገለጫ ገና አይገኝም"</string>
+    <string name="work_mode_label" msgid="5794470908668593961">"የሥራ ሁነታ"</string>
+    <string name="work_mode_summary" msgid="1620246003886940776">"የሥራ መገለጫ፣ መተግበሪያዎችን፣ የበስተጀርባ ሥምረት እና ተዛማጅ ባህሪዎችን ጨምሮ ይፍቀዱ"</string>
     <string name="remove_managed_profile_label" msgid="3856519337797285325">"የስራ መገለጫ አስወግድ"</string>
     <string name="background_data" msgid="5779592891375473817">"ዳራ ውሂብ"</string>
     <string name="background_data_summary" msgid="8328521479872763452">"መተግበሪያዎች በማንኛውም ሰዓት ማመሳሰል፣ መላክ፣ እና ውሂብ መቀበል ይችላሉ።"</string>
@@ -2754,8 +2755,7 @@
     <string name="camera_double_tap_power_gesture_desc" msgid="7355664631775680376">"የእርስዎን ማያ ገጽ ሳይከፍቱ ካሜራን በፍጥነት ይክፈቱ"</string>
     <string name="screen_zoom_title" msgid="6332123593919641665">"የማያ ገጽ አጉላ/አሳንስ"</string>
     <string name="screen_zoom_keywords" msgid="9176477565403352552">"የማሳያ ትፍገት፣ ማያ ገጽ ማጉያ፣ ልኬት፣ ማመጣጠን"</string>
-    <!-- no translation found for screen_zoom_summary (2022973627105802010) -->
-    <skip />
+    <string name="screen_zoom_summary" msgid="2022973627105802010">"በማያ ገጽ ላይ ያሉ ሁሉንም ንጥሎች ያሳንሱ ወይም ያተልቁ። ይህ ቅንብር ከተለወጠ በኋላ በእርስዎ መነሻ ገጽ ላይ ያሉ አንዳንድ መተግበሪያዎች አቀማመጣቸውን ሊለውጡ ይችሉ ይሆናል።"</string>
     <string name="screen_zoom_preview_title" msgid="4680671508172336572">"ቅድመ-እይታ"</string>
     <string name="screen_zoom_make_smaller_desc" msgid="4622359904253364742">"አነስ አድርግ"</string>
     <string name="screen_zoom_make_larger_desc" msgid="2236171043607896594">"ተለቅ አድርግ"</string>
@@ -2799,8 +2799,32 @@
     <string name="condition_cellular_summary" msgid="1818046558419658463">"በይነመረብ በWi-Fi በኩል ብቻ ነው የሚገኘው"</string>
     <string name="condition_bg_data_title" msgid="1422001615923482010">"የጀርባ ውሂብ ጠፍቷል"</string>
     <string name="condition_bg_data_summary" msgid="656957852895282228">"የጀርባ ውሂብ በWi-Fi በኩል ብቻ ነው የሚገኘው። ይሄ Wi-Fi በማይገኝበት ጊዜ በአንዳንድ መተግበሪያዎች ወይም አገልግሎቶች ላይ ተጽዕኖ ሊፈጥር ይችላል።"</string>
+    <string name="condition_work_title" msgid="7293722361184366648">"የሥራ መገለጫ ጠፍቷል"</string>
+    <string name="condition_work_summary" msgid="7543202177571590378">"መተግበሪያዎች፣ የበስተጀርባ ሥምረት፣ እና ሌሎች ከእርስዎ የሥራ መገለጫ ጋር የተገናኙ ባህሪዎች ጠፍተዋል።"</string>
     <string name="suggestions_title" msgid="8758376306825920705">"የአስተያየት ጥቆማዎች (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
     <string name="suggestion_remove" msgid="904627293892092439">"አስወግድ"</string>
     <string name="color_temperature" msgid="2501579996151717270">"የቀለም ሙቀትን አሳይ"</string>
     <string name="color_temperature_desc" msgid="3603319696846982249">"ቀዝቃዛ ሙቀትን አንቃ"</string>
+    <string name="usage" msgid="2977875522080448986">"አጠቃቀም"</string>
+    <string name="cellular_data_usage" msgid="2763710678354680712">"የተንቀሳቃሽ ውሂብ አጠቃቀም"</string>
+    <string name="wifi_data_usage" msgid="686754111095324306">"Wi-Fi ውሂብ አጠቃቀም"</string>
+    <string name="ethernet_data_usage" msgid="5108764537574354616">"የኤተርኔት ውሂብ አጠቃቀም"</string>
+    <string name="wifi" msgid="1081550856200013637">"Wi-Fi"</string>
+    <string name="ethernet" msgid="6600095783781389720">"ኤተርኔት"</string>
+    <string name="cell_data_template" msgid="3308709914705592281">"<xliff:g id="ID_1">%1$s</xliff:g> የተንቀሳቃሽ ስልክ ውሂብ"</string>
+    <string name="wifi_data_template" msgid="501654649753761778">"<xliff:g id="ID_1">%1$s</xliff:g> Wi-Fi ውሂብ"</string>
+    <string name="ethernet_data_template" msgid="5775729859383597507">"<xliff:g id="ID_1">%1$s</xliff:g> ኤተርኔት ውሂብ"</string>
+    <string name="cell_warning_only" msgid="763147658209027140">"<xliff:g id="ID_1">%1$s</xliff:g> የውሂብ ማስጠንቀቂያ"</string>
+    <string name="cell_warning_and_limit" msgid="2273413629267437470">"<xliff:g id="ID_1">%1$s</xliff:g> የውሂብ ማስጠንቀቂያ / <xliff:g id="ID_2">%2$s</xliff:g> የውሂብ ገደብ"</string>
+    <string name="billing_cycle" msgid="5169909190811133499">"የክፍያ አከፋፈል ዑደት"</string>
+    <string name="billing_cycle_summary" msgid="9009106526129293752">"ወርሃዊ ዑደት በየወሩ በ<xliff:g id="ID_1">%1$s</xliff:g> ላይ ይጀምራል"</string>
+    <string name="billing_cycle_fragment_summary" msgid="1940518156600077066">"ከ<xliff:g id="ID_1">%1$s</xliff:g> ጀምሮ በየወሩ"</string>
+    <string name="network_restrictions" msgid="8234695294536675380">"የአውታረ መረብ ገደቦች"</string>
+    <string name="operator_warning" msgid="7206980278353372811">"የአገልግሎት አቅራቢ ውሂብ አቆጣጠር ከእርስዎ መሣሪያ ሊለይ ይችላል።"</string>
+    <string name="data_used_template" msgid="3245919669966296505">"<xliff:g id="ID_1">%1$s</xliff:g> ጥቅም ላይ ውሏል"</string>
+    <string name="data_warning" msgid="209133958008062117">"የውሂብ ማስጠንቀቂያ"</string>
+    <string name="set_data_limit" msgid="2901526323210516923">"የውሂብ ገደብ ያዘጋጁ"</string>
+    <string name="data_limit" msgid="1885406964934590552">"የውሂብ ገደብ"</string>
+    <string name="data_usage_template" msgid="392191945602400904">"<xliff:g id="ID_1">%1$s</xliff:g> ከ<xliff:g id="ID_2">%2$s</xliff:g> መሃል ጥቅም ላይ ውሏል"</string>
+    <string name="configure" msgid="1029654422228677273">"አዋቅር"</string>
 </resources>
diff --git a/res/values-ar/strings.xml b/res/values-ar/strings.xml
index f6b547c..5a02b13 100644
--- a/res/values-ar/strings.xml
+++ b/res/values-ar/strings.xml
@@ -268,7 +268,8 @@
     <string name="roaming_disable" msgid="1295279574370898378">"اتصال بخدمات البيانات عند التجوال"</string>
     <string name="roaming_reenable_message" msgid="9141007271031717369">"لقد فقدت اتصال البيانات نظرًا لأنك أوقفت تشغيل تجوال البيانات بشبكتك الرئيسية."</string>
     <string name="roaming_turn_it_on_button" msgid="4387601818162120589">"تشغيل"</string>
-    <string name="roaming_warning" msgid="7625933694709170887">"عند السماح بتجوال البيانات، قد تتكلف رسوم تجوال مرتفعة!"</string>
+    <!-- no translation found for roaming_warning (4275443317524544705) -->
+    <skip />
     <string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"عند السماح بتجوال البيانات، قد تتكلف رسوم تجوال مرتفعة!\n\nيؤثر هذا الإعداد على جميع مستخدمي هذا الجهاز اللوحي."</string>
     <string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"عند السماح بتجوال البيانات، قد تتكلف رسوم تجوال مرتفعة!\n\nيؤثر هذا الإعداد على جميع مستخدمي هذا الهاتف."</string>
     <string name="roaming_reenable_title" msgid="6068100976707316772">"السماح بتجوال البيانات؟"</string>
@@ -2000,6 +2001,10 @@
     <string name="sync_is_failing" msgid="1591561768344128377">"تواجه المزامنة حاليًا بعض المشاكل. وسوف تكون متاحة خلال وقت قصير."</string>
     <string name="add_account_label" msgid="7811707265834013767">"إضافة حساب"</string>
     <string name="managed_profile_not_available_label" msgid="852263300911325904">"لا يتوفر الملف الشخصي للعمل حتى الآن"</string>
+    <!-- no translation found for work_mode_label (5794470908668593961) -->
+    <skip />
+    <!-- no translation found for work_mode_summary (1620246003886940776) -->
+    <skip />
     <string name="remove_managed_profile_label" msgid="3856519337797285325">"إزالة الملف الشخصي للعمل"</string>
     <string name="background_data" msgid="5779592891375473817">"بيانات الخلفية"</string>
     <string name="background_data_summary" msgid="8328521479872763452">"يمكن للتطبيقات مزامنة وإرسال وتلقي البيانات في أي وقت"</string>
@@ -2897,8 +2902,55 @@
     <string name="condition_cellular_summary" msgid="1818046558419658463">"‏لا تتوفر خدمة الإنترنت إلا عبر Wi-Fi"</string>
     <string name="condition_bg_data_title" msgid="1422001615923482010">"تم تعطيل بيانات الخلفية"</string>
     <string name="condition_bg_data_summary" msgid="656957852895282228">"‏لا تتوفر بيانات الخلفية إلا عبر Wi-Fi. وقد يؤثر هذا في أداء بعض التطبيقات أو الخدمات عند عدم توفر خدمة Wi-Fi."</string>
+    <!-- no translation found for condition_work_title (7293722361184366648) -->
+    <skip />
+    <!-- no translation found for condition_work_summary (7543202177571590378) -->
+    <skip />
     <string name="suggestions_title" msgid="8758376306825920705">"الاقتراحات (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
     <string name="suggestion_remove" msgid="904627293892092439">"إزالة"</string>
     <string name="color_temperature" msgid="2501579996151717270">"عرض درجة حرارة الألوان"</string>
     <string name="color_temperature_desc" msgid="3603319696846982249">"تمكين درجة الحرارة الباردة"</string>
+    <!-- no translation found for usage (2977875522080448986) -->
+    <skip />
+    <!-- no translation found for cellular_data_usage (2763710678354680712) -->
+    <skip />
+    <!-- no translation found for wifi_data_usage (686754111095324306) -->
+    <skip />
+    <!-- no translation found for ethernet_data_usage (5108764537574354616) -->
+    <skip />
+    <string name="wifi" msgid="1081550856200013637">"Wi-Fi"</string>
+    <!-- no translation found for ethernet (6600095783781389720) -->
+    <skip />
+    <!-- no translation found for cell_data_template (3308709914705592281) -->
+    <skip />
+    <!-- no translation found for wifi_data_template (501654649753761778) -->
+    <skip />
+    <!-- no translation found for ethernet_data_template (5775729859383597507) -->
+    <skip />
+    <!-- no translation found for cell_warning_only (763147658209027140) -->
+    <skip />
+    <!-- no translation found for cell_warning_and_limit (2273413629267437470) -->
+    <skip />
+    <!-- no translation found for billing_cycle (5169909190811133499) -->
+    <skip />
+    <!-- no translation found for billing_cycle_summary (9009106526129293752) -->
+    <skip />
+    <!-- no translation found for billing_cycle_fragment_summary (1940518156600077066) -->
+    <skip />
+    <!-- no translation found for network_restrictions (8234695294536675380) -->
+    <skip />
+    <!-- no translation found for operator_warning (7206980278353372811) -->
+    <skip />
+    <!-- no translation found for data_used_template (3245919669966296505) -->
+    <skip />
+    <!-- no translation found for data_warning (209133958008062117) -->
+    <skip />
+    <!-- no translation found for set_data_limit (2901526323210516923) -->
+    <skip />
+    <!-- no translation found for data_limit (1885406964934590552) -->
+    <skip />
+    <!-- no translation found for data_usage_template (392191945602400904) -->
+    <skip />
+    <!-- no translation found for configure (1029654422228677273) -->
+    <skip />
 </resources>
diff --git a/res/values-az-rAZ/strings.xml b/res/values-az-rAZ/strings.xml
index 8690c5c..3f7920b 100644
--- a/res/values-az-rAZ/strings.xml
+++ b/res/values-az-rAZ/strings.xml
@@ -264,7 +264,8 @@
     <string name="roaming_disable" msgid="1295279574370898378">"Rouminq zamanı data xidmətlərinə qoşulun"</string>
     <string name="roaming_reenable_message" msgid="9141007271031717369">"Siz data rominq yanılı olmadan ana şəbəkəni tərk etdiyiniz üçün data bağlantını itirdiniz."</string>
     <string name="roaming_turn_it_on_button" msgid="4387601818162120589">"Aktiv edin"</string>
-    <string name="roaming_warning" msgid="7625933694709170887">"Data rouminqinə icazə versəniz, buna görə Sizdən əlavə rüsumlar tutula bilər."</string>
+    <!-- no translation found for roaming_warning (4275443317524544705) -->
+    <skip />
     <string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"Data rouminqinə icazə verdiyiniz zaman sizdən əlavə rüsumlar tutula bilər!\n\nBu ayar bu planşetin bütün istifadəçilərinə təsir edir."</string>
     <string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"Data rominqinə icazə verməyiniz əhəmiyyətli rominq sərfiyyatına səbəb ola bilər!\n\nBu parametr bu telefondakı bütün istifadəçilərə təsir edir."</string>
     <string name="roaming_reenable_title" msgid="6068100976707316772">"Data rominqə icazə verilsin?"</string>
@@ -1936,6 +1937,10 @@
     <string name="sync_is_failing" msgid="1591561768344128377">"Hazırda sinxronizasiyada problemlər var. Bir azdan sonra düzələcək."</string>
     <string name="add_account_label" msgid="7811707265834013767">"Hesab əlavə edin"</string>
     <string name="managed_profile_not_available_label" msgid="852263300911325904">"İş profili hələ əlçatan deyil"</string>
+    <!-- no translation found for work_mode_label (5794470908668593961) -->
+    <skip />
+    <!-- no translation found for work_mode_summary (1620246003886940776) -->
+    <skip />
     <string name="remove_managed_profile_label" msgid="3856519337797285325">"İş profilini silin"</string>
     <string name="background_data" msgid="5779592891375473817">"Fon datası"</string>
     <string name="background_data_summary" msgid="8328521479872763452">"Tətbiqlər istənilən vaxt datanı sinxronlaşdıra, göndərə və qəbul edə bilər"</string>
@@ -2797,8 +2802,55 @@
     <string name="condition_cellular_summary" msgid="1818046558419658463">"İnternet yalnız Wi-Fi vasitəsilə əlçatandır"</string>
     <string name="condition_bg_data_title" msgid="1422001615923482010">"Arxa fon datası deaktivdir"</string>
     <string name="condition_bg_data_summary" msgid="656957852895282228">"Arxa fon datası yalnız  Wi-Fi vasitəsilə əlçatandır. Wi-Fi əlçatan olmadıqda, bəzi tətbiq və ya xidmətlərə təsir edə bilər."</string>
+    <!-- no translation found for condition_work_title (7293722361184366648) -->
+    <skip />
+    <!-- no translation found for condition_work_summary (7543202177571590378) -->
+    <skip />
     <string name="suggestions_title" msgid="8758376306825920705">"Təkliflər (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
     <string name="suggestion_remove" msgid="904627293892092439">"Silin"</string>
     <string name="color_temperature" msgid="2501579996151717270">"Rəng tempraturunu göstərin"</string>
     <string name="color_temperature_desc" msgid="3603319696846982249">"Sərin temperaturu aktiv edin"</string>
+    <!-- no translation found for usage (2977875522080448986) -->
+    <skip />
+    <!-- no translation found for cellular_data_usage (2763710678354680712) -->
+    <skip />
+    <!-- no translation found for wifi_data_usage (686754111095324306) -->
+    <skip />
+    <!-- no translation found for ethernet_data_usage (5108764537574354616) -->
+    <skip />
+    <string name="wifi" msgid="1081550856200013637">"Wi-Fi"</string>
+    <!-- no translation found for ethernet (6600095783781389720) -->
+    <skip />
+    <!-- no translation found for cell_data_template (3308709914705592281) -->
+    <skip />
+    <!-- no translation found for wifi_data_template (501654649753761778) -->
+    <skip />
+    <!-- no translation found for ethernet_data_template (5775729859383597507) -->
+    <skip />
+    <!-- no translation found for cell_warning_only (763147658209027140) -->
+    <skip />
+    <!-- no translation found for cell_warning_and_limit (2273413629267437470) -->
+    <skip />
+    <!-- no translation found for billing_cycle (5169909190811133499) -->
+    <skip />
+    <!-- no translation found for billing_cycle_summary (9009106526129293752) -->
+    <skip />
+    <!-- no translation found for billing_cycle_fragment_summary (1940518156600077066) -->
+    <skip />
+    <!-- no translation found for network_restrictions (8234695294536675380) -->
+    <skip />
+    <!-- no translation found for operator_warning (7206980278353372811) -->
+    <skip />
+    <!-- no translation found for data_used_template (3245919669966296505) -->
+    <skip />
+    <!-- no translation found for data_warning (209133958008062117) -->
+    <skip />
+    <!-- no translation found for set_data_limit (2901526323210516923) -->
+    <skip />
+    <!-- no translation found for data_limit (1885406964934590552) -->
+    <skip />
+    <!-- no translation found for data_usage_template (392191945602400904) -->
+    <skip />
+    <!-- no translation found for configure (1029654422228677273) -->
+    <skip />
 </resources>
diff --git a/res/values-b+sr+Latn/strings.xml b/res/values-b+sr+Latn/strings.xml
index 6c39a65..66a16b7 100644
--- a/res/values-b+sr+Latn/strings.xml
+++ b/res/values-b+sr+Latn/strings.xml
@@ -75,8 +75,7 @@
     <string name="sdcard_unmount" product="default" msgid="3364184561355611897">"Oslobađanje SD kartice"</string>
     <string name="sdcard_format" product="nosdcard" msgid="6285310523155166716">"Brisanje USB memorije"</string>
     <string name="sdcard_format" product="default" msgid="6713185532039187532">"Izbriši SD karticu"</string>
-    <!-- no translation found for font_size_summary (133937309990844030) -->
-    <skip />
+    <string name="font_size_summary" msgid="133937309990844030">"Omogućava da tekst na ekranu bude manji ili veći."</string>
     <string name="small_font" msgid="2295331917424072635">"Mala"</string>
     <string name="medium_font" msgid="2068475425515133701">"Srednja"</string>
     <string name="large_font" msgid="599055175160971446">"Velika"</string>
@@ -266,7 +265,8 @@
     <string name="roaming_disable" msgid="1295279574370898378">"Povezivanje sa uslugom za podatke tokom rominga"</string>
     <string name="roaming_reenable_message" msgid="9141007271031717369">"Veza za prenos podataka je prekinuta zato što ste napustili matičnu mrežu sa isključenim prenosom podataka u romingu."</string>
     <string name="roaming_turn_it_on_button" msgid="4387601818162120589">"Uključi"</string>
-    <string name="roaming_warning" msgid="7625933694709170887">"Kada omogućite prenos podataka u romingu, mogu da nastanu veliki troškovi rominga!"</string>
+    <!-- no translation found for roaming_warning (4275443317524544705) -->
+    <skip />
     <string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"Kada omogućite prenos podataka u romingu, možete da napravite velike troškove u romingu!\n\nOvo podešavanje utiče na sve korisnike ovog tableta."</string>
     <string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"Kada omogućite prenos podataka u romingu, možete da napravite velike troškove u romingu!\n\nOvo podešavanje utiče na sve korisnike ovog telefona."</string>
     <string name="roaming_reenable_title" msgid="6068100976707316772">"Dozvolite prenos podataka u romingu?"</string>
@@ -1953,6 +1953,10 @@
     <string name="sync_is_failing" msgid="1591561768344128377">"Sinhronizacija trenutno ima problema. Uskoro će se vratiti."</string>
     <string name="add_account_label" msgid="7811707265834013767">"Dodaj nalog"</string>
     <string name="managed_profile_not_available_label" msgid="852263300911325904">"Poslovni profil još uvek nije dostupan"</string>
+    <!-- no translation found for work_mode_label (5794470908668593961) -->
+    <skip />
+    <!-- no translation found for work_mode_summary (1620246003886940776) -->
+    <skip />
     <string name="remove_managed_profile_label" msgid="3856519337797285325">"Ukloni profil za posao"</string>
     <string name="background_data" msgid="5779592891375473817">"Podaci o pozadini"</string>
     <string name="background_data_summary" msgid="8328521479872763452">"Aplikacije uvek mogu da sinhronizuju, šalju i primaju podatke"</string>
@@ -2779,8 +2783,7 @@
     <string name="camera_double_tap_power_gesture_desc" msgid="7355664631775680376">"Brzo otvorite kameru bez otključavanja ekrana"</string>
     <string name="screen_zoom_title" msgid="6332123593919641665">"Nivo zumiranja ekrana"</string>
     <string name="screen_zoom_keywords" msgid="9176477565403352552">"gustina ekrana, zumiranje ekrana, razmera, prilagođavanje"</string>
-    <!-- no translation found for screen_zoom_summary (2022973627105802010) -->
-    <skip />
+    <string name="screen_zoom_summary" msgid="2022973627105802010">"Omogućava da sve stavke na ekranu budu manje ili veće. Položaj nekih aplikacija na početnom ekranu može da se promeni nakon promene ovog podešavanja."</string>
     <string name="screen_zoom_preview_title" msgid="4680671508172336572">"Pregled"</string>
     <string name="screen_zoom_make_smaller_desc" msgid="4622359904253364742">"Umanji"</string>
     <string name="screen_zoom_make_larger_desc" msgid="2236171043607896594">"Uvećaj"</string>
@@ -2824,8 +2827,55 @@
     <string name="condition_cellular_summary" msgid="1818046558419658463">"Internet je dostupan samo preko Wi-Fi-ja"</string>
     <string name="condition_bg_data_title" msgid="1422001615923482010">"Pozadinski podaci su isključeni"</string>
     <string name="condition_bg_data_summary" msgid="656957852895282228">"Pozadinski podaci su dostupni samo preko Wi-Fi-ja. To može da utiče na neke aplikacije ili usluge kada Wi-Fi nije dostupan."</string>
+    <!-- no translation found for condition_work_title (7293722361184366648) -->
+    <skip />
+    <!-- no translation found for condition_work_summary (7543202177571590378) -->
+    <skip />
     <string name="suggestions_title" msgid="8758376306825920705">"Predlozi (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
     <string name="suggestion_remove" msgid="904627293892092439">"Ukloni"</string>
     <string name="color_temperature" msgid="2501579996151717270">"Prikaži temperaturu boje"</string>
     <string name="color_temperature_desc" msgid="3603319696846982249">"Omogućava hladnu temperaturu"</string>
+    <!-- no translation found for usage (2977875522080448986) -->
+    <skip />
+    <!-- no translation found for cellular_data_usage (2763710678354680712) -->
+    <skip />
+    <!-- no translation found for wifi_data_usage (686754111095324306) -->
+    <skip />
+    <!-- no translation found for ethernet_data_usage (5108764537574354616) -->
+    <skip />
+    <string name="wifi" msgid="1081550856200013637">"Wi-Fi"</string>
+    <!-- no translation found for ethernet (6600095783781389720) -->
+    <skip />
+    <!-- no translation found for cell_data_template (3308709914705592281) -->
+    <skip />
+    <!-- no translation found for wifi_data_template (501654649753761778) -->
+    <skip />
+    <!-- no translation found for ethernet_data_template (5775729859383597507) -->
+    <skip />
+    <!-- no translation found for cell_warning_only (763147658209027140) -->
+    <skip />
+    <!-- no translation found for cell_warning_and_limit (2273413629267437470) -->
+    <skip />
+    <!-- no translation found for billing_cycle (5169909190811133499) -->
+    <skip />
+    <!-- no translation found for billing_cycle_summary (9009106526129293752) -->
+    <skip />
+    <!-- no translation found for billing_cycle_fragment_summary (1940518156600077066) -->
+    <skip />
+    <!-- no translation found for network_restrictions (8234695294536675380) -->
+    <skip />
+    <!-- no translation found for operator_warning (7206980278353372811) -->
+    <skip />
+    <!-- no translation found for data_used_template (3245919669966296505) -->
+    <skip />
+    <!-- no translation found for data_warning (209133958008062117) -->
+    <skip />
+    <!-- no translation found for set_data_limit (2901526323210516923) -->
+    <skip />
+    <!-- no translation found for data_limit (1885406964934590552) -->
+    <skip />
+    <!-- no translation found for data_usage_template (392191945602400904) -->
+    <skip />
+    <!-- no translation found for configure (1029654422228677273) -->
+    <skip />
 </resources>
diff --git a/res/values-bg/strings.xml b/res/values-bg/strings.xml
index 66d083c..eddac3f 100644
--- a/res/values-bg/strings.xml
+++ b/res/values-bg/strings.xml
@@ -74,8 +74,7 @@
     <string name="sdcard_unmount" product="default" msgid="3364184561355611897">"Деактивиране на SD карта"</string>
     <string name="sdcard_format" product="nosdcard" msgid="6285310523155166716">"Изтриване на USB"</string>
     <string name="sdcard_format" product="default" msgid="6713185532039187532">"Изтриване на SD картата"</string>
-    <!-- no translation found for font_size_summary (133937309990844030) -->
-    <skip />
+    <string name="font_size_summary" msgid="133937309990844030">"Намаляване или уголемяване на текста на екрана."</string>
     <string name="small_font" msgid="2295331917424072635">"Малък"</string>
     <string name="medium_font" msgid="2068475425515133701">"Среден"</string>
     <string name="large_font" msgid="599055175160971446">"Голям"</string>
@@ -265,7 +264,8 @@
     <string name="roaming_disable" msgid="1295279574370898378">"Свързване с услуги за данни при роуминг"</string>
     <string name="roaming_reenable_message" msgid="9141007271031717369">"Изгубихте връзката за данни, защото сте оставили домашната си мрежа с изключен роуминг на данни."</string>
     <string name="roaming_turn_it_on_button" msgid="4387601818162120589">"Включване"</string>
-    <string name="roaming_warning" msgid="7625933694709170887">"Разрешаването на роуминг на данни може да доведе до висока такса за роуминг!"</string>
+    <!-- no translation found for roaming_warning (4275443317524544705) -->
+    <skip />
     <string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"Разрешаването на роуминг на данни може да доведе до високи такси!\n\nНастройката засяга всички потребители на този таблет."</string>
     <string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"Разрешаването на роуминг на данни може да доведе до високи такси!\n\nНастройката засяга всички потребители на този телефон."</string>
     <string name="roaming_reenable_title" msgid="6068100976707316772">"Да се разреши ли роуминг на данни?"</string>
@@ -1937,6 +1937,10 @@
     <string name="sync_is_failing" msgid="1591561768344128377">"Синхронизирането понастоящем среща проблеми. Ще продължи скоро."</string>
     <string name="add_account_label" msgid="7811707265834013767">"Добавяне на профил"</string>
     <string name="managed_profile_not_available_label" msgid="852263300911325904">"Служебният потребителски профил още не е налице"</string>
+    <!-- no translation found for work_mode_label (5794470908668593961) -->
+    <skip />
+    <!-- no translation found for work_mode_summary (1620246003886940776) -->
+    <skip />
     <string name="remove_managed_profile_label" msgid="3856519337797285325">"Премахв. на служебния потр. профил"</string>
     <string name="background_data" msgid="5779592891375473817">"Данни на заден план"</string>
     <string name="background_data_summary" msgid="8328521479872763452">"Приложенията да синхр., пращат и получават данни винаги"</string>
@@ -2754,8 +2758,7 @@
     <string name="camera_double_tap_power_gesture_desc" msgid="7355664631775680376">"Бързо отваряйте камерата, без да отключвате екрана си"</string>
     <string name="screen_zoom_title" msgid="6332123593919641665">"Промяна на мащаба на екрана"</string>
     <string name="screen_zoom_keywords" msgid="9176477565403352552">"плътност на дисплея, промяна на мащаба на екрана, мащаб, мащабиране"</string>
-    <!-- no translation found for screen_zoom_summary (2022973627105802010) -->
-    <skip />
+    <string name="screen_zoom_summary" msgid="2022973627105802010">"Намаляване или уголемяване на всички елементи на екрана. Позицията на някои приложения на началния екран може да се промени, след като коригирате тази настройка."</string>
     <string name="screen_zoom_preview_title" msgid="4680671508172336572">"Визуализация"</string>
     <string name="screen_zoom_make_smaller_desc" msgid="4622359904253364742">"Намаляване на размера"</string>
     <string name="screen_zoom_make_larger_desc" msgid="2236171043607896594">"Увеличаване на размера"</string>
@@ -2799,8 +2802,55 @@
     <string name="condition_cellular_summary" msgid="1818046558419658463">"Достъпът до интернет е възможен само през Wi-Fi"</string>
     <string name="condition_bg_data_title" msgid="1422001615923482010">"Данните на заден план са изкл."</string>
     <string name="condition_bg_data_summary" msgid="656957852895282228">"Данните на заден план са налице само през Wi-Fi. Липсата на такава мрежа може да засегне някои приложения или услуги."</string>
+    <!-- no translation found for condition_work_title (7293722361184366648) -->
+    <skip />
+    <!-- no translation found for condition_work_summary (7543202177571590378) -->
+    <skip />
     <string name="suggestions_title" msgid="8758376306825920705">"Предложения (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
     <string name="suggestion_remove" msgid="904627293892092439">"Премахване"</string>
     <string name="color_temperature" msgid="2501579996151717270">"Цветна температура на екрана"</string>
     <string name="color_temperature_desc" msgid="3603319696846982249">"Активиране на студената цветова гама"</string>
+    <!-- no translation found for usage (2977875522080448986) -->
+    <skip />
+    <!-- no translation found for cellular_data_usage (2763710678354680712) -->
+    <skip />
+    <!-- no translation found for wifi_data_usage (686754111095324306) -->
+    <skip />
+    <!-- no translation found for ethernet_data_usage (5108764537574354616) -->
+    <skip />
+    <string name="wifi" msgid="1081550856200013637">"Wi-Fi"</string>
+    <!-- no translation found for ethernet (6600095783781389720) -->
+    <skip />
+    <!-- no translation found for cell_data_template (3308709914705592281) -->
+    <skip />
+    <!-- no translation found for wifi_data_template (501654649753761778) -->
+    <skip />
+    <!-- no translation found for ethernet_data_template (5775729859383597507) -->
+    <skip />
+    <!-- no translation found for cell_warning_only (763147658209027140) -->
+    <skip />
+    <!-- no translation found for cell_warning_and_limit (2273413629267437470) -->
+    <skip />
+    <!-- no translation found for billing_cycle (5169909190811133499) -->
+    <skip />
+    <!-- no translation found for billing_cycle_summary (9009106526129293752) -->
+    <skip />
+    <!-- no translation found for billing_cycle_fragment_summary (1940518156600077066) -->
+    <skip />
+    <!-- no translation found for network_restrictions (8234695294536675380) -->
+    <skip />
+    <!-- no translation found for operator_warning (7206980278353372811) -->
+    <skip />
+    <!-- no translation found for data_used_template (3245919669966296505) -->
+    <skip />
+    <!-- no translation found for data_warning (209133958008062117) -->
+    <skip />
+    <!-- no translation found for set_data_limit (2901526323210516923) -->
+    <skip />
+    <!-- no translation found for data_limit (1885406964934590552) -->
+    <skip />
+    <!-- no translation found for data_usage_template (392191945602400904) -->
+    <skip />
+    <!-- no translation found for configure (1029654422228677273) -->
+    <skip />
 </resources>
diff --git a/res/values-bn-rBD/strings.xml b/res/values-bn-rBD/strings.xml
index cee320c..6fac94f 100644
--- a/res/values-bn-rBD/strings.xml
+++ b/res/values-bn-rBD/strings.xml
@@ -74,8 +74,7 @@
     <string name="sdcard_unmount" product="default" msgid="3364184561355611897">"SD কার্ড আনমাউন্ট করুন"</string>
     <string name="sdcard_format" product="nosdcard" msgid="6285310523155166716">"USB সঞ্চয়স্থান মুছে ফেলুন"</string>
     <string name="sdcard_format" product="default" msgid="6713185532039187532">"SD কার্ড মুছে ফেলুন"</string>
-    <!-- no translation found for font_size_summary (133937309990844030) -->
-    <skip />
+    <string name="font_size_summary" msgid="133937309990844030">"স্ক্রীনে পাঠ্য ছোট বা বড় করুন।"</string>
     <string name="small_font" msgid="2295331917424072635">"ক্ষুদ্র"</string>
     <string name="medium_font" msgid="2068475425515133701">"মাঝারি"</string>
     <string name="large_font" msgid="599055175160971446">"বৃহত্‍"</string>
@@ -265,7 +264,8 @@
     <string name="roaming_disable" msgid="1295279574370898378">"রোমিংয়ে থাকাকালীন ডেটা পরিষেবাগুলি সংযোগ করুন"</string>
     <string name="roaming_reenable_message" msgid="9141007271031717369">"আপনি আপনার হোম নেটওয়ার্ক থেকে ডেটা রোমিং বন্ধ করে দেওয়ার কারণে আপনি ডেটা সংযোগ হারিয়েছেন।"</string>
     <string name="roaming_turn_it_on_button" msgid="4387601818162120589">"এটি চালু করুন"</string>
-    <string name="roaming_warning" msgid="7625933694709170887">"যখন আপনি ডেটা রোমিংয়ের অনুমতি দেবেন, তখন আপনাকে রোমিং চার্জ ধার্য করা হতে পারে!"</string>
+    <!-- no translation found for roaming_warning (4275443317524544705) -->
+    <skip />
     <string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"যখন আপনি ডেটা রোমিংয়ের অনুমতি দেবেন, তখন আপনাকে রোমিং চার্জ ধার্য করা হতে পারে!\n\nএই সেটিংস এই ট্যাবলেটের সমস্ত ব্যবহারকারীর উপর প্রভাব ফেলবে।"</string>
     <string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"যখন আপনি ডেটা রোমিংয়ের অনুমতি দেবেন, তখন আপনাকে রোমিং চার্জ ধার্য করা হতে পারে!\n\nএই সেটিংস এই ফোনের সমস্ত ব্যবহারকারীর উপর প্রভাব ফেলবে।"</string>
     <string name="roaming_reenable_title" msgid="6068100976707316772">"ডেটা রোমিংয়ের অনুমতি দেবেন?"</string>
@@ -1937,6 +1937,10 @@
     <string name="sync_is_failing" msgid="1591561768344128377">"সমন্বয় বর্তমানে সমস্যার সম্মুখীন হচ্ছে। এটি খুব শীঘ্রই ফিরে আসবে।"</string>
     <string name="add_account_label" msgid="7811707265834013767">"অ্যাকাউন্ট যোগ করুন"</string>
     <string name="managed_profile_not_available_label" msgid="852263300911325904">"কর্মস্থলের প্রোফাইল এখনো উপলব্ধ নয়"</string>
+    <!-- no translation found for work_mode_label (5794470908668593961) -->
+    <skip />
+    <!-- no translation found for work_mode_summary (1620246003886940776) -->
+    <skip />
     <string name="remove_managed_profile_label" msgid="3856519337797285325">"কর্মস্থলের প্রোফাইল সরান"</string>
     <string name="background_data" msgid="5779592891375473817">"পশ্চাদপট ডেটা"</string>
     <string name="background_data_summary" msgid="8328521479872763452">"অ্যাপ্লিকেশানগুলি যে কোনো সময়ে ডেটা সমন্বয়, পাঠাতে ও গ্রহণ করতে পারে"</string>
@@ -2754,8 +2758,7 @@
     <string name="camera_double_tap_power_gesture_desc" msgid="7355664631775680376">"আপনার স্ক্রীন আনলক না করেই দ্রুত ক্যামেরা খুলুন"</string>
     <string name="screen_zoom_title" msgid="6332123593919641665">"স্ক্রীনের জুম"</string>
     <string name="screen_zoom_keywords" msgid="9176477565403352552">"ঘনত্ব হিসাবে প্রদর্শন, স্ক্রীন জুম করা, স্কেল, স্কেলের মাপ"</string>
-    <!-- no translation found for screen_zoom_summary (2022973627105802010) -->
-    <skip />
+    <string name="screen_zoom_summary" msgid="2022973627105802010">"স্ক্রীনে সব আইটেম ছোট বা বড় করুন। এই সেটিংটি পরিবর্তন করার পরে আপনার হোম স্ক্রীনের কিছু অ্যাপ্লিকেশান অবস্থান পরিবর্তন করতে পারে।"</string>
     <string name="screen_zoom_preview_title" msgid="4680671508172336572">"পূর্বরূপ দেখুন"</string>
     <string name="screen_zoom_make_smaller_desc" msgid="4622359904253364742">"আরো ছোট করুন"</string>
     <string name="screen_zoom_make_larger_desc" msgid="2236171043607896594">"আরো বড় করুন"</string>
@@ -2799,8 +2802,56 @@
     <string name="condition_cellular_summary" msgid="1818046558419658463">"শুধুমাত্র Wi-Fi এর মাধ্যমে ইন্টারনেট উপলব্ধ"</string>
     <string name="condition_bg_data_title" msgid="1422001615923482010">"পশ্চাদপট ডেটা বন্ধ আছে"</string>
     <string name="condition_bg_data_summary" msgid="656957852895282228">"পশ্চাদপট ডেটা শুধুমাত্র Wi-Fi এর মাধ্যমে উপলব্ধ হয়৷ Wi-Fi উপলব্ধ না থাকলে এটি কিছু অ্যাপ্লিকেশান এবং পরিষেবায় প্রভাব ফেলতে পারে৷"</string>
+    <!-- no translation found for condition_work_title (7293722361184366648) -->
+    <skip />
+    <!-- no translation found for condition_work_summary (7543202177571590378) -->
+    <skip />
     <string name="suggestions_title" msgid="8758376306825920705">"প্রস্তাবনাগুলি (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
     <string name="suggestion_remove" msgid="904627293892092439">"সরান"</string>
     <string name="color_temperature" msgid="2501579996151717270">"কালার টেম্পারেচার প্রদর্শন করুন"</string>
     <string name="color_temperature_desc" msgid="3603319696846982249">"শীতল টেম্পারেচার সক্ষম করুন"</string>
+    <!-- no translation found for usage (2977875522080448986) -->
+    <skip />
+    <!-- no translation found for cellular_data_usage (2763710678354680712) -->
+    <skip />
+    <!-- no translation found for wifi_data_usage (686754111095324306) -->
+    <skip />
+    <!-- no translation found for ethernet_data_usage (5108764537574354616) -->
+    <skip />
+    <!-- no translation found for wifi (1081550856200013637) -->
+    <skip />
+    <!-- no translation found for ethernet (6600095783781389720) -->
+    <skip />
+    <!-- no translation found for cell_data_template (3308709914705592281) -->
+    <skip />
+    <!-- no translation found for wifi_data_template (501654649753761778) -->
+    <skip />
+    <!-- no translation found for ethernet_data_template (5775729859383597507) -->
+    <skip />
+    <!-- no translation found for cell_warning_only (763147658209027140) -->
+    <skip />
+    <!-- no translation found for cell_warning_and_limit (2273413629267437470) -->
+    <skip />
+    <!-- no translation found for billing_cycle (5169909190811133499) -->
+    <skip />
+    <!-- no translation found for billing_cycle_summary (9009106526129293752) -->
+    <skip />
+    <!-- no translation found for billing_cycle_fragment_summary (1940518156600077066) -->
+    <skip />
+    <!-- no translation found for network_restrictions (8234695294536675380) -->
+    <skip />
+    <!-- no translation found for operator_warning (7206980278353372811) -->
+    <skip />
+    <!-- no translation found for data_used_template (3245919669966296505) -->
+    <skip />
+    <!-- no translation found for data_warning (209133958008062117) -->
+    <skip />
+    <!-- no translation found for set_data_limit (2901526323210516923) -->
+    <skip />
+    <!-- no translation found for data_limit (1885406964934590552) -->
+    <skip />
+    <!-- no translation found for data_usage_template (392191945602400904) -->
+    <skip />
+    <!-- no translation found for configure (1029654422228677273) -->
+    <skip />
 </resources>
diff --git a/res/values-ca/strings.xml b/res/values-ca/strings.xml
index 4c4d7d9..de8dbf1 100644
--- a/res/values-ca/strings.xml
+++ b/res/values-ca/strings.xml
@@ -74,8 +74,7 @@
     <string name="sdcard_unmount" product="default" msgid="3364184561355611897">"Desactiva la targeta SD"</string>
     <string name="sdcard_format" product="nosdcard" msgid="6285310523155166716">"Esborra l\'emmagatzematge USB"</string>
     <string name="sdcard_format" product="default" msgid="6713185532039187532">"Esborra la targeta SD"</string>
-    <!-- no translation found for font_size_summary (133937309990844030) -->
-    <skip />
+    <string name="font_size_summary" msgid="133937309990844030">"Amplia o redueix el text de la pantalla."</string>
     <string name="small_font" msgid="2295331917424072635">"Petita"</string>
     <string name="medium_font" msgid="2068475425515133701">"Mitjana"</string>
     <string name="large_font" msgid="599055175160971446">"Gran"</string>
@@ -265,7 +264,8 @@
     <string name="roaming_disable" msgid="1295279574370898378">"Estableix connexió amb serveis de dades en itinerància"</string>
     <string name="roaming_reenable_message" msgid="9141007271031717369">"Has perdut la connectivitat de dades, perquè has abandonat la xarxa domèstica i la itinerància de dades està desactivada."</string>
     <string name="roaming_turn_it_on_button" msgid="4387601818162120589">"Activa-la"</string>
-    <string name="roaming_warning" msgid="7625933694709170887">"Si permets la itinerància de dades, és possible que se\'t facturin càrrecs d\'itinerància elevats."</string>
+    <!-- no translation found for roaming_warning (4275443317524544705) -->
+    <skip />
     <string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"Si permets la itinerància de dades, és possible que se\'t facturin càrrecs d\'itinerància elevats.\n\nAquesta configuració afecta tots els usuaris de la tauleta."</string>
     <string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"Si permets la itinerància de dades, és possible que se\'t facturin càrrecs d\'itinerància elevats.\n\nAquesta configuració afecta tots els usuaris del telèfon."</string>
     <string name="roaming_reenable_title" msgid="6068100976707316772">"Permetre la itinerància de dades?"</string>
@@ -1937,6 +1937,10 @@
     <string name="sync_is_failing" msgid="1591561768344128377">"La sincronització té problemes. Es tornarà a activar aviat."</string>
     <string name="add_account_label" msgid="7811707265834013767">"Afegeix compte"</string>
     <string name="managed_profile_not_available_label" msgid="852263300911325904">"El perfil professional encara no està disponible."</string>
+    <!-- no translation found for work_mode_label (5794470908668593961) -->
+    <skip />
+    <!-- no translation found for work_mode_summary (1620246003886940776) -->
+    <skip />
     <string name="remove_managed_profile_label" msgid="3856519337797285325">"Suprimeix el perfil professional"</string>
     <string name="background_data" msgid="5779592891375473817">"Dades en segon pla"</string>
     <string name="background_data_summary" msgid="8328521479872763452">"Les aplicacions poden sincronitzar, enviar i rebre dades en qualsevol moment"</string>
@@ -2754,8 +2758,7 @@
     <string name="camera_double_tap_power_gesture_desc" msgid="7355664631775680376">"Obre ràpidament la càmera sense haver de desbloquejar la pantalla"</string>
     <string name="screen_zoom_title" msgid="6332123593919641665">"Zoom de la pantalla"</string>
     <string name="screen_zoom_keywords" msgid="9176477565403352552">"densitat de pantalla, zoom de pantalla, escala, mida"</string>
-    <!-- no translation found for screen_zoom_summary (2022973627105802010) -->
-    <skip />
+    <string name="screen_zoom_summary" msgid="2022973627105802010">"Amplia o redueix tots els elements de la pantalla. És possible que algunes aplicacions de la pantalla d\'inici canviïn de posició després de canviar aquesta opció de configuració."</string>
     <string name="screen_zoom_preview_title" msgid="4680671508172336572">"Previsualització"</string>
     <string name="screen_zoom_make_smaller_desc" msgid="4622359904253364742">"Redueix"</string>
     <string name="screen_zoom_make_larger_desc" msgid="2236171043607896594">"Amplia"</string>
@@ -2799,8 +2802,55 @@
     <string name="condition_cellular_summary" msgid="1818046558419658463">"Internet només està disponible per Wi-Fi"</string>
     <string name="condition_bg_data_title" msgid="1422001615923482010">"Dades en segon pla desactivades"</string>
     <string name="condition_bg_data_summary" msgid="656957852895282228">"Les dades en segon pla només estan disponibles mitjançant una Wi-Fi. Això pot afectar aplicacions o serveis determinats quan no n\'hi hagi cap de disponible."</string>
+    <!-- no translation found for condition_work_title (7293722361184366648) -->
+    <skip />
+    <!-- no translation found for condition_work_summary (7543202177571590378) -->
+    <skip />
     <string name="suggestions_title" msgid="8758376306825920705">"Suggeriments (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
     <string name="suggestion_remove" msgid="904627293892092439">"Suprimeix"</string>
     <string name="color_temperature" msgid="2501579996151717270">"Temperatura del color de la pantalla"</string>
     <string name="color_temperature_desc" msgid="3603319696846982249">"Activa la temperatura freda"</string>
+    <!-- no translation found for usage (2977875522080448986) -->
+    <skip />
+    <!-- no translation found for cellular_data_usage (2763710678354680712) -->
+    <skip />
+    <!-- no translation found for wifi_data_usage (686754111095324306) -->
+    <skip />
+    <!-- no translation found for ethernet_data_usage (5108764537574354616) -->
+    <skip />
+    <string name="wifi" msgid="1081550856200013637">"Wi-Fi"</string>
+    <!-- no translation found for ethernet (6600095783781389720) -->
+    <skip />
+    <!-- no translation found for cell_data_template (3308709914705592281) -->
+    <skip />
+    <!-- no translation found for wifi_data_template (501654649753761778) -->
+    <skip />
+    <!-- no translation found for ethernet_data_template (5775729859383597507) -->
+    <skip />
+    <!-- no translation found for cell_warning_only (763147658209027140) -->
+    <skip />
+    <!-- no translation found for cell_warning_and_limit (2273413629267437470) -->
+    <skip />
+    <!-- no translation found for billing_cycle (5169909190811133499) -->
+    <skip />
+    <!-- no translation found for billing_cycle_summary (9009106526129293752) -->
+    <skip />
+    <!-- no translation found for billing_cycle_fragment_summary (1940518156600077066) -->
+    <skip />
+    <!-- no translation found for network_restrictions (8234695294536675380) -->
+    <skip />
+    <!-- no translation found for operator_warning (7206980278353372811) -->
+    <skip />
+    <!-- no translation found for data_used_template (3245919669966296505) -->
+    <skip />
+    <!-- no translation found for data_warning (209133958008062117) -->
+    <skip />
+    <!-- no translation found for set_data_limit (2901526323210516923) -->
+    <skip />
+    <!-- no translation found for data_limit (1885406964934590552) -->
+    <skip />
+    <!-- no translation found for data_usage_template (392191945602400904) -->
+    <skip />
+    <!-- no translation found for configure (1029654422228677273) -->
+    <skip />
 </resources>
diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml
index 4737b7b..4477eb7 100644
--- a/res/values-cs/strings.xml
+++ b/res/values-cs/strings.xml
@@ -76,8 +76,7 @@
     <string name="sdcard_unmount" product="default" msgid="3364184561355611897">"Odpojit kartu SD"</string>
     <string name="sdcard_format" product="nosdcard" msgid="6285310523155166716">"Smazat úložiště USB"</string>
     <string name="sdcard_format" product="default" msgid="6713185532039187532">"Smazat kartu SD"</string>
-    <!-- no translation found for font_size_summary (133937309990844030) -->
-    <skip />
+    <string name="font_size_summary" msgid="133937309990844030">"Umožňuje zvětšit nebo zmenšit text na obrazovce."</string>
     <string name="small_font" msgid="2295331917424072635">"Malá"</string>
     <string name="medium_font" msgid="2068475425515133701">"Střední"</string>
     <string name="large_font" msgid="599055175160971446">"Velká"</string>
@@ -267,7 +266,8 @@
     <string name="roaming_disable" msgid="1295279574370898378">"Používat datové služby při roamingu"</string>
     <string name="roaming_reenable_message" msgid="9141007271031717369">"Připojení datových služeb bylo přerušeno, protože jste opustili domovskou síť a máte vypnutý datový roaming."</string>
     <string name="roaming_turn_it_on_button" msgid="4387601818162120589">"Zapnout"</string>
-    <string name="roaming_warning" msgid="7625933694709170887">"Pokud povolíte datový roaming, mohou vám být účtovány vysoké poplatky."</string>
+    <!-- no translation found for roaming_warning (4275443317524544705) -->
+    <skip />
     <string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"Pokud aktivujete datový roaming, mohou vám být za roaming účtovány nemalé poplatky.\n\nToto nastavení ovlivní všechny uživatele tohoto tabletu."</string>
     <string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"Pokud aktivujete datový roaming, mohou vám být za roaming účtovány nemalé poplatky.\n\nToto nastavení ovlivní všechny uživatele tohoto telefonu."</string>
     <string name="roaming_reenable_title" msgid="6068100976707316772">"Povolit datový roaming?"</string>
@@ -1969,6 +1969,10 @@
     <string name="sync_is_failing" msgid="1591561768344128377">"Nastaly potíže se synchronizací. Služba bude brzy obnovena."</string>
     <string name="add_account_label" msgid="7811707265834013767">"Přidat účet"</string>
     <string name="managed_profile_not_available_label" msgid="852263300911325904">"Pracovní profil zatím není k dispozici"</string>
+    <!-- no translation found for work_mode_label (5794470908668593961) -->
+    <skip />
+    <!-- no translation found for work_mode_summary (1620246003886940776) -->
+    <skip />
     <string name="remove_managed_profile_label" msgid="3856519337797285325">"Odstranit pracovní profil"</string>
     <string name="background_data" msgid="5779592891375473817">"Data na pozadí"</string>
     <string name="background_data_summary" msgid="8328521479872763452">"Aplikace mohou kdykoli synchronizovat, odesílat a přijímat data."</string>
@@ -2804,8 +2808,7 @@
     <string name="camera_double_tap_power_gesture_desc" msgid="7355664631775680376">"Rychle otevře fotoaparát bez odemknutí obrazovky"</string>
     <string name="screen_zoom_title" msgid="6332123593919641665">"Přiblížení obrazovky"</string>
     <string name="screen_zoom_keywords" msgid="9176477565403352552">"displej, hustota, přiblížení obrazovky, měřítko, zvětšení"</string>
-    <!-- no translation found for screen_zoom_summary (2022973627105802010) -->
-    <skip />
+    <string name="screen_zoom_summary" msgid="2022973627105802010">"Umožňuje zvětšit nebo zmenšit všechny položky na obrazovce. Po změně tohoto nastavení se ikony některých aplikací na ploše mohou přemístit."</string>
     <string name="screen_zoom_preview_title" msgid="4680671508172336572">"Náhled"</string>
     <string name="screen_zoom_make_smaller_desc" msgid="4622359904253364742">"Zmenšit"</string>
     <string name="screen_zoom_make_larger_desc" msgid="2236171043607896594">"Zvětšit"</string>
@@ -2849,8 +2852,55 @@
     <string name="condition_cellular_summary" msgid="1818046558419658463">"Internet je dostupný pouze prostřednictvím Wi-Fi"</string>
     <string name="condition_bg_data_title" msgid="1422001615923482010">"Data na pozadí jsou vypnuta"</string>
     <string name="condition_bg_data_summary" msgid="656957852895282228">"Data na pozadí jsou dostupná pouze prostřednictvím Wi-Fi. Tato skutečnost může mít vliv na některé aplikace a služby, pokud síť Wi-Fi není k dispozici."</string>
+    <!-- no translation found for condition_work_title (7293722361184366648) -->
+    <skip />
+    <!-- no translation found for condition_work_summary (7543202177571590378) -->
+    <skip />
     <string name="suggestions_title" msgid="8758376306825920705">"Návrhy (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
     <string name="suggestion_remove" msgid="904627293892092439">"Odstranit"</string>
     <string name="color_temperature" msgid="2501579996151717270">"Teplota barev displeje"</string>
     <string name="color_temperature_desc" msgid="3603319696846982249">"Nastaví studené barvy"</string>
+    <!-- no translation found for usage (2977875522080448986) -->
+    <skip />
+    <!-- no translation found for cellular_data_usage (2763710678354680712) -->
+    <skip />
+    <!-- no translation found for wifi_data_usage (686754111095324306) -->
+    <skip />
+    <!-- no translation found for ethernet_data_usage (5108764537574354616) -->
+    <skip />
+    <string name="wifi" msgid="1081550856200013637">"Wi-Fi"</string>
+    <!-- no translation found for ethernet (6600095783781389720) -->
+    <skip />
+    <!-- no translation found for cell_data_template (3308709914705592281) -->
+    <skip />
+    <!-- no translation found for wifi_data_template (501654649753761778) -->
+    <skip />
+    <!-- no translation found for ethernet_data_template (5775729859383597507) -->
+    <skip />
+    <!-- no translation found for cell_warning_only (763147658209027140) -->
+    <skip />
+    <!-- no translation found for cell_warning_and_limit (2273413629267437470) -->
+    <skip />
+    <!-- no translation found for billing_cycle (5169909190811133499) -->
+    <skip />
+    <!-- no translation found for billing_cycle_summary (9009106526129293752) -->
+    <skip />
+    <!-- no translation found for billing_cycle_fragment_summary (1940518156600077066) -->
+    <skip />
+    <!-- no translation found for network_restrictions (8234695294536675380) -->
+    <skip />
+    <!-- no translation found for operator_warning (7206980278353372811) -->
+    <skip />
+    <!-- no translation found for data_used_template (3245919669966296505) -->
+    <skip />
+    <!-- no translation found for data_warning (209133958008062117) -->
+    <skip />
+    <!-- no translation found for set_data_limit (2901526323210516923) -->
+    <skip />
+    <!-- no translation found for data_limit (1885406964934590552) -->
+    <skip />
+    <!-- no translation found for data_usage_template (392191945602400904) -->
+    <skip />
+    <!-- no translation found for configure (1029654422228677273) -->
+    <skip />
 </resources>
diff --git a/res/values-da/strings.xml b/res/values-da/strings.xml
index f65e9ef..f98116b 100644
--- a/res/values-da/strings.xml
+++ b/res/values-da/strings.xml
@@ -74,8 +74,7 @@
     <string name="sdcard_unmount" product="default" msgid="3364184561355611897">"Demonter SD-kort"</string>
     <string name="sdcard_format" product="nosdcard" msgid="6285310523155166716">"Slet USB-lager"</string>
     <string name="sdcard_format" product="default" msgid="6713185532039187532">"Formatér SD-kort"</string>
-    <!-- no translation found for font_size_summary (133937309990844030) -->
-    <skip />
+    <string name="font_size_summary" msgid="133937309990844030">"Gør teksten på skærmen mindre eller større."</string>
     <string name="small_font" msgid="2295331917424072635">"Lille"</string>
     <string name="medium_font" msgid="2068475425515133701">"Normal"</string>
     <string name="large_font" msgid="599055175160971446">"Stor"</string>
@@ -265,7 +264,8 @@
     <string name="roaming_disable" msgid="1295279574370898378">"Opret forbindelse til datatjenester ved roaming"</string>
     <string name="roaming_reenable_message" msgid="9141007271031717369">"Du har mistet dataforbindelsen, fordi du har forladt dit hjemmenetværk med dataroaming slået fra."</string>
     <string name="roaming_turn_it_on_button" msgid="4387601818162120589">"Slå det til"</string>
-    <string name="roaming_warning" msgid="7625933694709170887">"Når du tillader dataroaming, risikerer du at skulle betale høje gebyrer for roaming."</string>
+    <!-- no translation found for roaming_warning (4275443317524544705) -->
+    <skip />
     <string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"Når du tillader dataroaming, kan du blive udsat for væsentlige roamingudgifter.\n\nDenne indstilling påvirker alle brugere på denne tablet."</string>
     <string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"Når du tillader dataroaming, kan du blive udsat for væsentlige roamingudgifter.\n\nDenne indstilling påvirker alle brugere på denne telefon."</string>
     <string name="roaming_reenable_title" msgid="6068100976707316772">"Vil du tillade dataroaming?"</string>
@@ -1278,7 +1278,7 @@
     <string name="lock_settings_profile_unification_summary" msgid="8014208091623293835">"Skift primær profil, så den svarer til arbejdsprofilen"</string>
     <string name="lock_settings_profile_unification_dialog_title" msgid="5297248764066294130">"Vil du bruge den samme skærmlås?"</string>
     <string name="lock_settings_profile_unification_dialog_body" msgid="342417647696962745">"Du kan bruge denne lås til din enhed, men den vil være underlagt alle politikker vedrørende skærmlås, som din it-administrator har angivet for arbejdsprofilen.\nVil du bruge den samme skærmlås til din enhed?"</string>
-    <string name="lock_settings_profile_unified_summary" msgid="237623767711796217">"Det samme som din enhedslås"</string>
+    <string name="lock_settings_profile_unified_summary" msgid="237623767711796217">"Den samme som din enhedslås"</string>
     <string name="manageapplications_settings_title" msgid="7041951105633616745">"Administrer apps"</string>
     <string name="manageapplications_settings_summary" msgid="1794401500935451259">"Administrer og fjern installerede apps"</string>
     <string name="applications_settings" msgid="1721442176406964682">"Apps"</string>
@@ -1937,6 +1937,10 @@
     <string name="sync_is_failing" msgid="1591561768344128377">"Der er i øjeblikket problemer med synkroniseringen. Den etableres igen om lidt."</string>
     <string name="add_account_label" msgid="7811707265834013767">"Tilføj konto"</string>
     <string name="managed_profile_not_available_label" msgid="852263300911325904">"Arbejdsprofilen er endnu ikke tilgængelig"</string>
+    <!-- no translation found for work_mode_label (5794470908668593961) -->
+    <skip />
+    <!-- no translation found for work_mode_summary (1620246003886940776) -->
+    <skip />
     <string name="remove_managed_profile_label" msgid="3856519337797285325">"Fjern arbejdsprofil"</string>
     <string name="background_data" msgid="5779592891375473817">"Baggrundsdata"</string>
     <string name="background_data_summary" msgid="8328521479872763452">"Apps kan altid synkronisere, sende og modtage data"</string>
@@ -2362,7 +2366,7 @@
     <string name="keywords_default_apps" msgid="223872637509160136">"apps, standard"</string>
     <string name="keywords_ignore_optimizations" msgid="6102579291119055029">"ignorer optimeringer, hvil, app-standby"</string>
     <string name="keywords_color_mode" msgid="6362744316886077510">"farverig, RGB, sRGB, farve, naturlig, standard"</string>
-    <string name="keywords_color_temperature" msgid="2688947724153266364">"farvetemperatur D65 D73 hvid gul blå varm køligt"</string>
+    <string name="keywords_color_temperature" msgid="2688947724153266364">"farvetemperatur D65 D73 hvid gul blå varm kølig"</string>
     <string name="keywords_lockscreen" msgid="5746561909668570047">"stryg for at låse op, adgangskode, mønster, pinkode"</string>
     <string name="keywords_profile_challenge" msgid="789611397846512845">"arbejdsudfordring, arbejde, profil"</string>
     <string name="setup_wifi_nfc_tag" msgid="9028353016222911016">"Konfigurer NFC-tag for Wi-Fi"</string>
@@ -2754,8 +2758,7 @@
     <string name="camera_double_tap_power_gesture_desc" msgid="7355664631775680376">"Åbn hurtigt kameraet uden at låse skærmen op"</string>
     <string name="screen_zoom_title" msgid="6332123593919641665">"Zoom på skærmen"</string>
     <string name="screen_zoom_keywords" msgid="9176477565403352552">"visningstæthed, zoom på skærmen, skala, skalering"</string>
-    <!-- no translation found for screen_zoom_summary (2022973627105802010) -->
-    <skip />
+    <string name="screen_zoom_summary" msgid="2022973627105802010">"Gør alle elementer på skærmen mindre eller større. Visse apps på din startskærm vil muligvis ændre placering, hvis denne indstilling ændres."</string>
     <string name="screen_zoom_preview_title" msgid="4680671508172336572">"Eksempelvisning"</string>
     <string name="screen_zoom_make_smaller_desc" msgid="4622359904253364742">"Formindsk"</string>
     <string name="screen_zoom_make_larger_desc" msgid="2236171043607896594">"Forstør"</string>
@@ -2799,8 +2802,55 @@
     <string name="condition_cellular_summary" msgid="1818046558419658463">"Der er kun internetforbindelse via Wi-Fi"</string>
     <string name="condition_bg_data_title" msgid="1422001615923482010">"Baggrundsdata er slået fra"</string>
     <string name="condition_bg_data_summary" msgid="656957852895282228">"Baggrundsdata er kun tilgængelig via Wi-Fi. Dette kan påvirke nogle apps eller tjenester, når Wi-Fi er ikke tilgængelig."</string>
+    <!-- no translation found for condition_work_title (7293722361184366648) -->
+    <skip />
+    <!-- no translation found for condition_work_summary (7543202177571590378) -->
+    <skip />
     <string name="suggestions_title" msgid="8758376306825920705">"Forslag (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
     <string name="suggestion_remove" msgid="904627293892092439">"Fjern"</string>
     <string name="color_temperature" msgid="2501579996151717270">"Skærmens farvetemperatur"</string>
     <string name="color_temperature_desc" msgid="3603319696846982249">"Aktivér kølig farvetemperatur"</string>
+    <!-- no translation found for usage (2977875522080448986) -->
+    <skip />
+    <!-- no translation found for cellular_data_usage (2763710678354680712) -->
+    <skip />
+    <!-- no translation found for wifi_data_usage (686754111095324306) -->
+    <skip />
+    <!-- no translation found for ethernet_data_usage (5108764537574354616) -->
+    <skip />
+    <string name="wifi" msgid="1081550856200013637">"Wi-Fi"</string>
+    <!-- no translation found for ethernet (6600095783781389720) -->
+    <skip />
+    <!-- no translation found for cell_data_template (3308709914705592281) -->
+    <skip />
+    <!-- no translation found for wifi_data_template (501654649753761778) -->
+    <skip />
+    <!-- no translation found for ethernet_data_template (5775729859383597507) -->
+    <skip />
+    <!-- no translation found for cell_warning_only (763147658209027140) -->
+    <skip />
+    <!-- no translation found for cell_warning_and_limit (2273413629267437470) -->
+    <skip />
+    <!-- no translation found for billing_cycle (5169909190811133499) -->
+    <skip />
+    <!-- no translation found for billing_cycle_summary (9009106526129293752) -->
+    <skip />
+    <!-- no translation found for billing_cycle_fragment_summary (1940518156600077066) -->
+    <skip />
+    <!-- no translation found for network_restrictions (8234695294536675380) -->
+    <skip />
+    <!-- no translation found for operator_warning (7206980278353372811) -->
+    <skip />
+    <!-- no translation found for data_used_template (3245919669966296505) -->
+    <skip />
+    <!-- no translation found for data_warning (209133958008062117) -->
+    <skip />
+    <!-- no translation found for set_data_limit (2901526323210516923) -->
+    <skip />
+    <!-- no translation found for data_limit (1885406964934590552) -->
+    <skip />
+    <!-- no translation found for data_usage_template (392191945602400904) -->
+    <skip />
+    <!-- no translation found for configure (1029654422228677273) -->
+    <skip />
 </resources>
diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml
index ddc0a60..8f31f3d 100644
--- a/res/values-de/strings.xml
+++ b/res/values-de/strings.xml
@@ -74,8 +74,7 @@
     <string name="sdcard_unmount" product="default" msgid="3364184561355611897">"SD-Karte entnehmen"</string>
     <string name="sdcard_format" product="nosdcard" msgid="6285310523155166716">"USB-Speicher löschen"</string>
     <string name="sdcard_format" product="default" msgid="6713185532039187532">"SD-Karte löschen"</string>
-    <!-- no translation found for font_size_summary (133937309990844030) -->
-    <skip />
+    <string name="font_size_summary" msgid="133937309990844030">"Text auf dem Display verkleinern oder vergrößern."</string>
     <string name="small_font" msgid="2295331917424072635">"Klein"</string>
     <string name="medium_font" msgid="2068475425515133701">"Mittel"</string>
     <string name="large_font" msgid="599055175160971446">"Groß"</string>
@@ -123,15 +122,15 @@
     <string name="device_picker" msgid="4978696506172252813">"Bluetooth-Gerät auswählen"</string>
     <string name="bluetooth_permission_request" msgid="1523129741266262748">"Bluetooth-Berechtigungsanfrage"</string>
     <string name="bluetooth_ask_enablement" msgid="1712443355224737143">"Eine App fordert die Berechtigung zum Aktivieren von Bluetooth für dieses Gerät an."</string>
-    <string name="bluetooth_ask_discovery" product="tablet" msgid="786921566047356213">"Eine App versucht, Ihr Tablet für <xliff:g id="TIMEOUT">%1$d</xliff:g> Sekunden für andere Bluetooth-Geräte sichtbar zu machen."</string>
-    <string name="bluetooth_ask_discovery" product="default" msgid="5510358858113713272">"Eine App versucht, Ihr Telefon für <xliff:g id="TIMEOUT">%1$d</xliff:g> Sekunden für andere Bluetooth-Geräte sichtbar zu machen."</string>
+    <string name="bluetooth_ask_discovery" product="tablet" msgid="786921566047356213">"Eine App versucht, dein Tablet für <xliff:g id="TIMEOUT">%1$d</xliff:g> Sekunden für andere Bluetooth-Geräte sichtbar zu machen."</string>
+    <string name="bluetooth_ask_discovery" product="default" msgid="5510358858113713272">"Eine App versucht, dein Telefon für <xliff:g id="TIMEOUT">%1$d</xliff:g> Sekunden für andere Bluetooth-Geräte sichtbar zu machen."</string>
     <string name="bluetooth_ask_lasting_discovery" product="tablet" msgid="8863617309580598607">"Eine App versucht, dein Tablet für andere Bluetooth-Geräte sichtbar zu machen. Du kannst diese Einstellung später in den Bluetooth-Einstellungen ändern."</string>
     <string name="bluetooth_ask_lasting_discovery" product="default" msgid="6487606808683607975">"Eine App versucht, dein Telefon für andere Bluetooth-Geräte sichtbar zu machen. Du kannst diese Einstellung später in den Bluetooth-Einstellungen ändern."</string>
     <string name="bluetooth_ask_start_broadcast" product="default" msgid="3535628155254187911">"Für <xliff:g id="APP_NAME">%1$s</xliff:g> soll die Bluetooth-Übertragung aktiviert werden, um mit anderen Geräten in der Nähe zu kommunizieren. Du kannst dies später in den Bluetooth-Einstellungen ändern."</string>
     <string name="bluetooth_ask_enablement_and_start_broadcast" product="default" msgid="8810858601242763295">"Für <xliff:g id="APP_NAME">%1$s</xliff:g> sollen Bluetooth und die Bluetooth-Übertragung aktiviert werden, um mit anderen Geräten in der Nähe zu kommunizieren. Du kannst dies später in den Bluetooth-Einstellungen ändern."</string>
-    <string name="bluetooth_broadcasting_explaination" product="default" msgid="4249322115655011799">"Wenn diese Funktion aktiviert ist, kann Ihr Telefon mit anderen Geräten in der Nähe kommunizieren.\n\nFür die Übertragung werden stromsparende Bluetooth-Signale verwendet."</string>
-    <string name="bluetooth_ask_enablement_and_discovery" product="tablet" msgid="3346529092809011149">"Eine App versucht, Bluetooth zu aktivieren und Ihr Tablet für <xliff:g id="TIMEOUT">%1$d</xliff:g> Sekunden für andere Geräte sichtbar zu machen."</string>
-    <string name="bluetooth_ask_enablement_and_discovery" product="default" msgid="4724094889807196118">"Eine App versucht, Bluetooth zu aktivieren und Ihr Telefon für <xliff:g id="TIMEOUT">%1$d</xliff:g> Sekunden für andere Geräte sichtbar zu machen."</string>
+    <string name="bluetooth_broadcasting_explaination" product="default" msgid="4249322115655011799">"Wenn diese Funktion aktiviert ist, kann dein Telefon mit anderen Geräten in der Nähe kommunizieren.\n\nFür die Übertragung werden stromsparende Bluetooth-Signale verwendet."</string>
+    <string name="bluetooth_ask_enablement_and_discovery" product="tablet" msgid="3346529092809011149">"Eine App versucht, Bluetooth zu aktivieren und dein Tablet für <xliff:g id="TIMEOUT">%1$d</xliff:g> Sekunden für andere Geräte sichtbar zu machen."</string>
+    <string name="bluetooth_ask_enablement_and_discovery" product="default" msgid="4724094889807196118">"Eine App versucht, Bluetooth zu aktivieren und dein Telefon für <xliff:g id="TIMEOUT">%1$d</xliff:g> Sekunden für andere Geräte sichtbar zu machen."</string>
     <string name="bluetooth_ask_enablement_and_lasting_discovery" product="tablet" msgid="989613204829097159">"Eine App versucht, Bluetooth zu aktivieren und dein Tablet für andere Geräte sichtbar zu machen. Du kannst diese Einstellung später in den Bluetooth-Einstellungen ändern."</string>
     <string name="bluetooth_ask_enablement_and_lasting_discovery" product="default" msgid="6671615712909139801">"Eine App versucht, Bluetooth zu aktivieren und dein Telefon für andere Geräte sichtbar zu machen. Du kannst diese Einstellung später in den Bluetooth-Einstellungen ändern."</string>
     <string name="bluetooth_turning_on" msgid="4850574877288036646">"Bluetooth wird aktiviert..."</string>
@@ -265,7 +264,8 @@
     <string name="roaming_disable" msgid="1295279574370898378">"Bei Roaming mit Datendienst verbinden"</string>
     <string name="roaming_reenable_message" msgid="9141007271031717369">"Die Datenkonnektivität wurde unterbrochen, weil du dein Heimnetzwerk verlassen hast und Daten-Roaming nicht aktiviert ist."</string>
     <string name="roaming_turn_it_on_button" msgid="4387601818162120589">"Aktivieren"</string>
-    <string name="roaming_warning" msgid="7625933694709170887">"Wenn du Daten-Roaming zulässt, können hohe Roaming-Gebühren anfallen!"</string>
+    <!-- no translation found for roaming_warning (4275443317524544705) -->
+    <skip />
     <string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"Wenn du Daten-Roaming zulässt, können erhebliche Roaming-Gebühren entstehen.\n\nDiese Einstellung betrifft alle Nutzer auf diesem Tablet."</string>
     <string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"Wenn du Daten-Roaming zulässt, können erhebliche Roaming-Gebühren entstehen.\n\nDiese Einstellung betrifft alle Nutzer auf diesem Telefon."</string>
     <string name="roaming_reenable_title" msgid="6068100976707316772">"Daten-Roaming zulassen?"</string>
@@ -330,7 +330,7 @@
     <string name="security_settings_fingerprint_enroll_onboard_message_2" msgid="4158160658182631304">"Füge deinen Fingerabdruck hinzu."</string>
     <string name="security_settings_fingerprint_enroll_introduction_title" msgid="3201556857492526098">"Mit Fingerabdruck entsperren"</string>
     <string name="security_settings_fingerprint_enroll_introduction_message" msgid="9193978734907066950">"Tippe einfach auf den Fingerabdrucksensor, um dein Smartphone zu entsperren, Käufe zu autorisieren oder dich in Apps anzumelden. Überlege genau, welche Fingerabdrücke du hinzufügen möchtest, da diese Aktionen mit allen Fingerabdrücken ausgeführt werden können, die du zu deinem Smartphone hinzufügst."</string>
-    <string name="security_settings_fingerprint_enroll_introduction_message_warning" msgid="7173290350577831813">"Hinweis: Ihr Fingerabdruck ist möglicherweise nicht so sicher wie ein komplexes Muster oder eine PIN."</string>
+    <string name="security_settings_fingerprint_enroll_introduction_message_warning" msgid="7173290350577831813">"Hinweis: Dein Fingerabdruck ist möglicherweise nicht so sicher wie ein komplexes Muster oder eine PIN."</string>
     <string name="security_settings_fingerprint_enroll_introduction_risk_link_text" msgid="9129531466157620977">"Weitere Informationen"</string>
     <string name="security_settings_fingerprint_enroll_introduction_cancel" msgid="3199351118385606526">"Abbrechen"</string>
     <string name="security_settings_fingerprint_enroll_introduction_continue" msgid="7472492858148162530">"Weiter"</string>
@@ -368,7 +368,7 @@
     <string name="fingerprint_last_delete_title" msgid="6410310101247028988">"Alle Fingerabdrücke entfernen?"</string>
     <string name="fingerprint_last_delete_message" msgid="8318926239554839722">"Du kannst dann deine Fingerabdrücke nicht verwenden, um dein Smartphone zu entsperren, Käufe zu autorisieren oder dich in Apps anzumelden."</string>
     <string name="fingerprint_last_delete_confirm" msgid="2634726361059274289">"Ja, entfernen"</string>
-    <string name="confirm_fingerprint_icon_content_description" msgid="5255544532157079096">"Mithilfe Ihres Fingerabdrucks fortfahren"</string>
+    <string name="confirm_fingerprint_icon_content_description" msgid="5255544532157079096">"Mithilfe deines Fingerabdrucks fortfahren"</string>
     <string name="crypt_keeper_settings_title" msgid="4219233835490520414">"Verschlüsselung"</string>
     <string name="crypt_keeper_encrypt_title" product="tablet" msgid="1060273569887301457">"Tablet verschlüsseln"</string>
     <string name="crypt_keeper_encrypt_title" product="default" msgid="1878996487755806122">"Telefon verschlüsseln"</string>
@@ -427,19 +427,19 @@
     <string name="unlock_setup_wizard_fingerprint_details" msgid="7893457665921363009">"Sobald du eine Displaysperre eingerichtet hast, kannst du unter \"Einstellungen\" &gt; \"Sicherheit\" auch deinen Fingerabdruck einrichten."</string>
     <string name="unlock_disable_lock_title" msgid="1427036227416979120">"Displaysperre deaktivieren"</string>
     <string name="unlock_disable_frp_warning_title" msgid="264008934468492550">"Geräteschutz entfernen?"</string>
-    <string name="unlock_disable_frp_warning_content_pattern" msgid="8869767290771023461">"Die Geräteschutzeinstellungen funktionieren ohne Ihr Muster nicht."</string>
+    <string name="unlock_disable_frp_warning_content_pattern" msgid="8869767290771023461">"Die Geräteschutzeinstellungen funktionieren ohne dein Muster nicht."</string>
     <string name="unlock_disable_frp_warning_content_pattern_fingerprint" msgid="8212242533942400457">"Die Geräteschutzeinstellungen funktionieren ohne dein Muster nicht.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Deine gespeicherten Fingerabdrücke werden ebenfalls von diesem Gerät entfernt und du kannst mit ihnen weder dein Smartphone entsperren noch Käufe autorisieren oder dich in Apps anmelden.\""</string>
-    <string name="unlock_disable_frp_warning_content_pin" msgid="586996206210265131">"Die Geräteschutzeinstellungen funktionieren ohne Ihre PIN nicht."</string>
+    <string name="unlock_disable_frp_warning_content_pin" msgid="586996206210265131">"Die Geräteschutzeinstellungen funktionieren ohne deine PIN nicht."</string>
     <string name="unlock_disable_frp_warning_content_pin_fingerprint" msgid="875669051899437197">"Die Geräteschutzeinstellungen funktionieren ohne deine PIN nicht.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Deine gespeicherten Fingerabdrücke werden ebenfalls von diesem Gerät entfernt und du kannst mit ihnen weder dein Smartphone entsperren noch Käufe autorisieren oder dich in Apps anmelden.\""</string>
-    <string name="unlock_disable_frp_warning_content_password" msgid="5420612686852555537">"Die Geräteschutzeinstellungen funktionieren ohne Ihr Passwort nicht."</string>
+    <string name="unlock_disable_frp_warning_content_password" msgid="5420612686852555537">"Die Geräteschutzeinstellungen funktionieren ohne dein Passwort nicht."</string>
     <string name="unlock_disable_frp_warning_content_password_fingerprint" msgid="2228159168587170445">"Die Geräteschutzeinstellungen funktionieren ohne dein Passwort nicht.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Deine gespeicherten Fingerabdrücke werden ebenfalls von diesem Gerät entfernt und du kannst mit ihnen weder dein Smartphone entsperren noch Käufe autorisieren oder dich in Apps anmelden.\""</string>
-    <string name="unlock_disable_frp_warning_content_unknown" msgid="1550718040483548220">"Die Geräteschutzeinstellungen funktionieren ohne Ihre Displaysperre nicht."</string>
+    <string name="unlock_disable_frp_warning_content_unknown" msgid="1550718040483548220">"Die Geräteschutzeinstellungen funktionieren ohne deine Displaysperre nicht."</string>
     <string name="unlock_disable_frp_warning_content_unknown_fingerprint" msgid="6363091330281670692">"Die Geräteschutzeinstellungen funktionieren ohne deine Displaysperre nicht.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Deine gespeicherten Fingerabdrücke werden ebenfalls von diesem Gerät entfernt und du kannst mit ihnen weder dein Smartphone entsperren noch Käufe autorisieren oder dich in Apps anmelden.\""</string>
@@ -513,7 +513,7 @@
 )  -->
     <string name="bluetooth_incoming_pairing_msg" msgid="1615930853859551491">"Von:&lt;br&gt;&lt;b&gt;<xliff:g id="DEVICE_NAME">%1$s</xliff:g>&lt;/b&gt;&lt;br&gt;&lt;br&gt;Pairing mit diesem Gerät durchführen?"</string>
     <string name="bluetooth_display_passkey_pin_msg" msgid="2796550001376088433">"Gib zum Pairing mit <xliff:g id="BOLD1_0">&lt;br&gt;&lt;b&gt;</xliff:g><xliff:g id="DEVICE_NAME">%1$s</xliff:g><xliff:g id="END_BOLD1">&lt;/b&gt;&lt;br&gt;&lt;br&gt;</xliff:g> <xliff:g id="BOLD2_1">&lt;br&gt;&lt;b&gt;</xliff:g><xliff:g id="PASSKEY">%2$s</xliff:g><xliff:g id="END_BOLD2">&lt;/b&gt;</xliff:g> ein und drücke anschließend die Eingabetaste."</string>
-    <string name="bluetooth_pairing_shares_phonebook" msgid="2277931851483023208">"Zulassen, dass <xliff:g id="DEVICE_NAME">%1$s</xliff:g> auf Ihre Kontakte und Ihre Anrufliste zugreifen kann"</string>
+    <string name="bluetooth_pairing_shares_phonebook" msgid="2277931851483023208">"Zulassen, dass <xliff:g id="DEVICE_NAME">%1$s</xliff:g> auf deine Kontakte und deine Anrufliste zugreifen kann"</string>
     <string name="bluetooth_error_title" msgid="6850384073923533096"></string>
     <string name="bluetooth_connecting_error_message" msgid="1397388344342081090">"Keine Verbindung zu <xliff:g id="DEVICE_NAME">%1$s</xliff:g> möglich"</string>
     <string name="bluetooth_preference_scan_title" msgid="2277464653118896016">"Scan nach Geräten"</string>
@@ -527,8 +527,8 @@
     <string name="bluetooth_preference_paired_dialog_contacts_option" msgid="7747163316331917594">"Kontakte und Anrufliste"</string>
     <string name="bluetooth_pairing_dialog_title" msgid="1417255032435317301">"Pairing mit diesem Gerät durchführen?"</string>
     <string name="bluetooth_pairing_dialog_sharing_phonebook_title" msgid="7664141669886358618">"Telefonbuch teilen?"</string>
-    <string name="bluetooth_pairing_dialog_contants_request" msgid="5531109163573611348">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> fordert Zugriff auf Ihre Kontakte und Ihre Anrufliste an."</string>
-    <string name="bluetooth_pairing_dialog_paring_request" msgid="8451248193517851958">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> möchte ein Bluetooth-Pairing durchführen und hat dann Zugriff auf Ihre Kontakte und Ihre Anrufliste."</string>
+    <string name="bluetooth_pairing_dialog_contants_request" msgid="5531109163573611348">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> fordert Zugriff auf deine Kontakte und deine Anrufliste an."</string>
+    <string name="bluetooth_pairing_dialog_paring_request" msgid="8451248193517851958">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> möchte ein Bluetooth-Pairing durchführen und hat dann Zugriff auf deine Kontakte und deine Anrufliste."</string>
     <string name="bluetooth_preference_paired_devices" msgid="1970524193086791964">"Pairing-Geräte"</string>
     <string name="bluetooth_preference_found_devices" msgid="1647983835063249680">"Verfügbar"</string>
     <string name="bluetooth_preference_no_found_devices" msgid="7594339669961811591">"Keine Geräte verfügbar"</string>
@@ -540,7 +540,7 @@
     <string name="bluetooth_device_context_connect_advanced" msgid="2643129703569788771">"Optionen..."</string>
     <string name="bluetooth_menu_advanced" msgid="8572178316357220524">"Erweitert"</string>
     <string name="bluetooth_advanced_titlebar" msgid="2142159726881547669">"Bluetooth - Erweitert"</string>
-    <string name="bluetooth_empty_list_bluetooth_off" msgid="6351930724051893423">"Bei aktiviertem Bluetooth kann Ihr Gerät mit Bluetooth-Geräten in der Nähe kommunizieren."</string>
+    <string name="bluetooth_empty_list_bluetooth_off" msgid="6351930724051893423">"Bei aktiviertem Bluetooth kann dein Gerät mit Bluetooth-Geräten in der Nähe kommunizieren."</string>
     <string name="ble_scan_notify_text" msgid="1295915006005700650">"Zur Erhöhung der Standortgenauigkeit können System-Apps und -dienste Bluetooth-Geräte weiterhin erkennen. Du kannst dies unter <xliff:g id="LINK_BEGIN_0">LINK_BEGIN</xliff:g>Sucheinstellungen<xliff:g id="LINK_END_1">LINK_END</xliff:g> ändern."</string>
     <string name="bluetooth_connect_specific_profiles_title" msgid="6952214406025825164">"Verbinden mit..."</string>
     <string name="bluetooth_disconnect_a2dp_profile" msgid="3524648279150937177">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> wird vom Medien-Audiosystem getrennt."</string>
@@ -685,7 +685,7 @@
     <string name="wifi_scan_always_confirm_allow" msgid="5355973075896817232">"Zulassen"</string>
     <string name="wifi_scan_always_confirm_deny" msgid="4463982053823520710">"Ablehnen"</string>
     <string name="wifi_hotspot_title" msgid="7726205804813286950">"Zum Verbinden anmelden?"</string>
-    <string name="wifi_hotspot_message" msgid="3673833421453455747">"<xliff:g id="APP_NAME">%1$s</xliff:g> erfordert vor dem Verbinden mit dem Netzwerk Ihre Onlineameldung."</string>
+    <string name="wifi_hotspot_message" msgid="3673833421453455747">"<xliff:g id="APP_NAME">%1$s</xliff:g> erfordert vor dem Verbinden mit dem Netzwerk deine Onlineanmeldung."</string>
     <string name="wifi_hotspot_connect" msgid="5065506390164939225">"Verbinden"</string>
     <string name="no_internet_access_text" msgid="7133561752896706392">"Dieses Netzwerk hat keinen Internetzugriff. Verbindung beibehalten?"</string>
     <string name="no_internet_access_remember" msgid="4697314331614625075">"Für dieses Netzwerk nicht mehr fragen"</string>
@@ -991,7 +991,7 @@
     <string name="usb_ptp_title" msgid="3852760810622389620">"Kamera (PTP)"</string>
     <string name="usb_ptp_summary" msgid="7406889433172511530">"Ermöglicht die Übertragung von Fotos mithilfe der Kamera-Software sowie die Übertragung von Dateien auf Computer, die MTP nicht unterstützen"</string>
     <string name="usb_midi_title" msgid="3069990264258413994">"MIDI"</string>
-    <string name="usb_midi_summary" msgid="539169474810956358">"Lässt MIDI-kompatible Apps über USB mit MIDI-Software auf Ihrem Computer arbeiten"</string>
+    <string name="usb_midi_summary" msgid="539169474810956358">"Lässt MIDI-kompatible Apps über USB mit MIDI-Software auf deinem Computer arbeiten"</string>
     <string name="storage_other_users" msgid="808708845102611856">"Andere Nutzer"</string>
     <string name="storage_internal_title" msgid="690771193137801021">"Gerätespeicher"</string>
     <string name="storage_external_title" msgid="3433462910096848696">"Mobiler Speicher"</string>
@@ -1027,7 +1027,7 @@
     <string name="storage_wizard_init_external_title" msgid="4867326438945303598">"Als tragbaren Speicher verwenden"</string>
     <string name="storage_wizard_init_external_summary" msgid="7476105886344565074">"Zum Übertragen von Fotos und anderen Medien zwischen Geräten"</string>
     <string name="storage_wizard_init_internal_title" msgid="9100613534261408519">"Als internen Speicher verwenden"</string>
-    <string name="storage_wizard_init_internal_summary" msgid="6240417501036216410">"Zum Speichern Ihrer Daten wie Apps und Fotos nur auf diesem Gerät. Eine Formatierung ist erforderlich. Dadurch kann das Speichermedium nicht mit anderen Geräten verwendet werden."</string>
+    <string name="storage_wizard_init_internal_summary" msgid="6240417501036216410">"Zum Speichern deiner Daten wie Apps und Fotos nur auf diesem Gerät. Eine Formatierung ist erforderlich. Dadurch kann das Speichermedium nicht mit anderen Geräten verwendet werden."</string>
     <string name="storage_wizard_format_confirm_title" msgid="2814021794538252546">"Als internen Speicher formatieren"</string>
     <string name="storage_wizard_format_confirm_body" msgid="4401758710076806509">"Um die Sicherheit zu gewährleisten, muss die <xliff:g id="NAME_0">^1</xliff:g> zuerst formatiert werden. \n\nDanach ist die <xliff:g id="NAME_1">^1</xliff:g> ausschließlich für dieses Gerät formatiert und funktioniert nicht mit anderen Geräten. \n\n"<b>"Durch die Formatierung werden alle derzeit auf der <xliff:g id="NAME_2">^1</xliff:g> gespeicherten Daten gelöscht."</b>" Um den Verlust von Daten zu verhindern, sichere sie vor der Formatierung."</string>
     <string name="storage_wizard_format_confirm_public_title" msgid="4905690038882041566">"Als tragbaren Speicher formatieren"</string>
@@ -1106,8 +1106,8 @@
     <string name="reset_network_complete_toast" msgid="787829973559541880">"Die Netzwerkeinstellungen wurden zurückgesetzt."</string>
     <string name="device_reset_title" msgid="2384019005638768076">"Gerät zurücksetzen"</string>
     <string name="master_clear_title" msgid="5907939616087039756">"Auf Werkszustand zurück"</string>
-    <string name="master_clear_desc" product="tablet" msgid="9146059417023157222">"Hierdurch werden alle Daten aus dem "<b>"internen Speicher"</b>" Ihres Tablets gelöscht, u. a.\n\n"<li>"Ihr Google-Konto"</li>\n<li>"System- und App-Daten sowie entsprechende Einstellungen"</li>\n<li>"Heruntergeladene Apps"</li></string>
-    <string name="master_clear_desc" product="default" msgid="4800386183314202571">"Hierdurch werden alle Daten aus dem "<b>"internen Speicher"</b>" Ihres Telefons gelöscht, u. a.\n\n"<li>"Ihr Google-Konto"</li>\n<li>"System- und App-Daten sowie entsprechende Einstellungen"</li>\n<li>"Heruntergeladene Apps"</li></string>
+    <string name="master_clear_desc" product="tablet" msgid="9146059417023157222">"Hierdurch werden alle Daten aus dem "<b>"internen Speicher"</b>" deines Tablets gelöscht, u. a.\n\n"<li>"dein Google-Konto"</li>\n<li>"System- und App-Daten sowie entsprechende Einstellungen"</li>\n<li>"heruntergeladene Apps"</li></string>
+    <string name="master_clear_desc" product="default" msgid="4800386183314202571">"Hierdurch werden alle Daten aus dem "<b>"internen Speicher"</b>" deines Telefons gelöscht, u. a.\n\n"<li>"dein Google-Konto"</li>\n<li>"System- und App-Daten sowie entsprechende Einstellungen"</li>\n<li>"heruntergeladene Apps"</li></string>
     <string name="master_clear_accounts" product="default" msgid="6412857499147999073">\n\n"Du bist zurzeit in folgenden Konten angemeldet:\n"</string>
     <string name="master_clear_other_users_present" product="default" msgid="5161423070702470742">\n\n"Auf diesem Gerät sind andere Nutzer vorhanden.\n"</string>
     <string name="master_clear_desc_also_erases_external" msgid="1903185203791274237"><li>"Musik"</li>\n<li>"Fotos"</li>\n<li>"Sonstige Nutzerdaten"</li></string>
@@ -1255,7 +1255,7 @@
     <string name="lockpattern_recording_incorrect_too_short" msgid="1348234155120957561">"Verbinde mindestens <xliff:g id="NUMBER">%d</xliff:g> Punkte. Bitte versuche es erneut."</string>
     <string name="lockpattern_pattern_entered_header" msgid="4316818983675591604">"Muster wurde aufgezeichnet."</string>
     <string name="lockpattern_need_to_confirm" msgid="8054853451639221265">"Zeichne das Muster zur Bestätigung erneut."</string>
-    <string name="lockpattern_pattern_confirmed_header" msgid="8455614172231880211">"Ihr neues Entsperrungsmuster:"</string>
+    <string name="lockpattern_pattern_confirmed_header" msgid="8455614172231880211">"Dein neues Entsperrungsmuster:"</string>
     <string name="lockpattern_confirm_button_text" msgid="1128204343957002841">"Bestätigen"</string>
     <string name="lockpattern_restart_button_text" msgid="3337574403350953926">"Neu aufzeichnen"</string>
     <string name="lockpattern_retry_button_text" msgid="3480423193273588166">"Löschen"</string>
@@ -1367,10 +1367,10 @@
     <string name="app_factory_reset_dlg_text" msgid="6371247225487725860">"Alle Updates für diese Android-System-App werden deinstalliert."</string>
     <string name="clear_failed_dlg_title" msgid="2387060805294783175">"Daten löschen"</string>
     <string name="clear_failed_dlg_text" msgid="5464475937929941008">"Daten können nicht für App gelöscht werden."</string>
-    <string name="security_settings_desc" product="tablet" msgid="1292421279262430109">"Diese App kann auf die folgenden Funktionen Ihres Tablets zugreifen:"</string>
-    <string name="security_settings_desc" product="default" msgid="61749028818785244">"Diese App kann auf die folgenden Funktionen Ihres Telefons zugreifen:"</string>
-    <string name="security_settings_desc_multi" product="tablet" msgid="7300932212437084403">"Diese App kann auf Folgendes auf Ihrem Tablet zugreifen. Um die Leistung zu verbessern und die Speicherauslastung zu verringern, hat <xliff:g id="BASE_APP_NAME">%1$s</xliff:g> einige dieser Berechtigungen, weil es im selben Prozess wie <xliff:g id="ADDITIONAL_APPS_LIST">%2$s</xliff:g> ausgeführt wird:"</string>
-    <string name="security_settings_desc_multi" product="default" msgid="6610268420793984752">"Diese App kann auf Folgendes auf Ihrem Telefon zugreifen. Um die Leistung zu verbessern und die Speicherauslastung zu verringern, hat <xliff:g id="BASE_APP_NAME">%1$s</xliff:g> einige dieser Berechtigungen, weil es im selben Prozess wie <xliff:g id="ADDITIONAL_APPS_LIST">%2$s</xliff:g> ausgeführt wird:"</string>
+    <string name="security_settings_desc" product="tablet" msgid="1292421279262430109">"Diese App kann auf die folgenden Funktionen deines Tablets zugreifen:"</string>
+    <string name="security_settings_desc" product="default" msgid="61749028818785244">"Diese App kann auf die folgenden Funktionen deines Telefons zugreifen:"</string>
+    <string name="security_settings_desc_multi" product="tablet" msgid="7300932212437084403">"Diese App kann auf Folgendes auf deinem Tablet zugreifen. Um die Leistung zu verbessern und die Speicherauslastung zu verringern, hat <xliff:g id="BASE_APP_NAME">%1$s</xliff:g> einige dieser Berechtigungen, weil es im selben Prozess wie <xliff:g id="ADDITIONAL_APPS_LIST">%2$s</xliff:g> ausgeführt wird:"</string>
+    <string name="security_settings_desc_multi" product="default" msgid="6610268420793984752">"Diese App kann auf Folgendes auf deinem Telefon zugreifen. Um die Leistung zu verbessern und die Speicherauslastung zu verringern, hat <xliff:g id="BASE_APP_NAME">%1$s</xliff:g> einige dieser Berechtigungen, weil es im selben Prozess wie <xliff:g id="ADDITIONAL_APPS_LIST">%2$s</xliff:g> ausgeführt wird:"</string>
     <string name="join_two_items" msgid="1336880355987539064">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g> und <xliff:g id="SECOND_ITEM">%2$s</xliff:g>"</string>
     <string name="join_many_items_last" msgid="5925635036718502724">"<xliff:g id="ALL_BUT_LAST_ITEM">%1$s</xliff:g> und <xliff:g id="LAST_ITEM_0">%2$s</xliff:g>"</string>
     <string name="join_many_items_first" msgid="4333907712038448660">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g>, <xliff:g id="ALL_BUT_FIRST_AND_LAST_ITEM">%2$s</xliff:g>"</string>
@@ -1589,7 +1589,7 @@
     <string name="accessibility_menu_item_settings" msgid="3344942964710773365">"Einstellungen"</string>
     <string name="accessibility_feature_state_on" msgid="2864292320042673806">"An"</string>
     <string name="accessibility_feature_state_off" msgid="4172584906487070211">"Aus"</string>
-    <string name="accessibility_feature_or_input_method_not_allowed" msgid="5950315477009501647">"Von Ihrem Unternehmen nicht zugelassen"</string>
+    <string name="accessibility_feature_or_input_method_not_allowed" msgid="5950315477009501647">"Von deinem Unternehmen nicht zugelassen"</string>
     <string name="captioning_preview_title" msgid="1234015253497016890">"Vorschau"</string>
     <string name="captioning_standard_options_title" msgid="3284211791180335844">"Standardoptionen"</string>
     <string name="captioning_locale" msgid="4559155661018823503">"Sprache"</string>
@@ -1622,13 +1622,13 @@
     <string name="color_magenta" msgid="5059212823607815549">"Magenta"</string>
     <string name="enable_service_title" msgid="3061307612673835592">"<xliff:g id="SERVICE">%1$s</xliff:g> verwenden?"</string>
     <string name="capabilities_list_title" msgid="86713361724771971">"<xliff:g id="SERVICE">%1$s</xliff:g> muss:"</string>
-    <string name="touch_filtered_warning" msgid="8644034725268915030">"Ihre Eingabe wird von \"Einstellungen\" nicht erkannt, weil eine App die Berechtigungsanfrage verdeckt."</string>
+    <string name="touch_filtered_warning" msgid="8644034725268915030">"Deine Eingabe wird von \"Einstellungen\" nicht erkannt, weil eine App die Berechtigungsanfrage verdeckt."</string>
     <string name="enable_service_encryption_warning" msgid="3064686622453974606">"Wenn du <xliff:g id="SERVICE">%1$s</xliff:g> aktivierst, verwendet dein Gerät nicht die Displaysperre, um die Datenverschlüsselung zu verbessern."</string>
     <string name="secure_lock_encryption_warning" msgid="460911459695077779">"Da du eine Bedienungshilfe aktiviert hast, verwendet dein Gerät nicht die Displaysperre, um die Datenverschlüsselung zu verbessern."</string>
     <string name="enable_service_pattern_reason" msgid="777577618063306751">"Da die Aktivierung von <xliff:g id="SERVICE">%1$s</xliff:g> Auswirkungen auf die Datenverschlüsselung hat, musst du dein Muster bestätigen."</string>
     <string name="enable_service_pin_reason" msgid="7882035264853248228">"Da die Aktivierung von <xliff:g id="SERVICE">%1$s</xliff:g> Auswirkungen auf die Datenverschlüsselung hat, musst du deine PIN bestätigen."</string>
     <string name="enable_service_password_reason" msgid="1224075277603097951">"Da die Aktivierung von <xliff:g id="SERVICE">%1$s</xliff:g> Auswirkungen auf die Datenverschlüsselung hat, musst du dein Passwort bestätigen."</string>
-    <string name="capability_title_receiveAccessibilityEvents" msgid="1869032063969970755">"Ihre Aktionen beobachten"</string>
+    <string name="capability_title_receiveAccessibilityEvents" msgid="1869032063969970755">"Deine Aktionen beobachten"</string>
     <string name="capability_desc_receiveAccessibilityEvents" msgid="6640333613848713883">"Erhalte Benachrichtigungen, wenn du mit der App interagierst."</string>
     <string name="disable_service_title" msgid="3624005212728512896">"<xliff:g id="SERVICE">%1$s</xliff:g> beenden?"</string>
     <string name="disable_service_message" msgid="2012273739481042318">"Durch Berühren von \"OK\" wird <xliff:g id="SERVICE">%1$s</xliff:g> beendet."</string>
@@ -1877,7 +1877,7 @@
     <string name="backup_inactive_title" msgid="5355557151569037197">"Der Sicherungsdienst ist inaktiv."</string>
     <string name="backup_configure_account_default_summary" msgid="2436933224764745553">"Zurzeit werden in keinem Konto gesicherte Daten gespeichert."</string>
     <string name="backup_erase_dialog_title" msgid="1027640829482174106"></string>
-    <string name="backup_erase_dialog_message" msgid="5221011285568343155">"Sicherung Ihrer WLAN-Passwörter, Lesezeichen, anderer Einstellungen und App-Daten beenden und alle Kopien auf Google-Servern löschen?"</string>
+    <string name="backup_erase_dialog_message" msgid="5221011285568343155">"Sicherung deiner WLAN-Passwörter, Lesezeichen, anderer Einstellungen und App-Daten beenden und alle Kopien auf Google-Servern löschen?"</string>
     <string name="fullbackup_erase_dialog_message" msgid="694766389396659626">"Soll das Sichern von Gerätedaten, wie z. B WLAN-Passwörtern und Anrufliste, sowie App-Daten, wie z. B. Einstellungen und von Apps gespeicherten Dateien, beendet werden und sollen alle Kopien auf Remote-Servern gelöscht werden?"</string>
     <string name="fullbackup_data_summary" msgid="960850365007767734">"Automatische Remote-Sicherung von Gerätedaten wie WLAN-Passwörtern und Anrufverlauf und App-Daten, z. B. Einstellungen und von Apps gespeicherte Dateien\n\nWenn du die automatische Sicherung aktivierst, werden Geräte- und App-Daten regelmäßig an einem Remote-Speicherort gespeichert. Bei App-Daten kann es sich um alle Daten handeln, die von einer App entsprechend den Entwicklereinstellungen gespeichert wurden, einschließlich potenziell sensibler Daten wie Kontakten, Nachrichten und Fotos."</string>
     <string name="device_admin_settings_title" msgid="1335557832906433309">"Einstellungen für die Geräteverwaltung"</string>
@@ -1938,6 +1938,10 @@
     <string name="sync_is_failing" msgid="1591561768344128377">"Bei der Synchronisierung treten momentan Probleme auf. Sie wird in Kürze fortgesetzt."</string>
     <string name="add_account_label" msgid="7811707265834013767">"Konto hinzufügen"</string>
     <string name="managed_profile_not_available_label" msgid="852263300911325904">"Arbeitsprofil ist noch nicht verfügbar."</string>
+    <!-- no translation found for work_mode_label (5794470908668593961) -->
+    <skip />
+    <!-- no translation found for work_mode_summary (1620246003886940776) -->
+    <skip />
     <string name="remove_managed_profile_label" msgid="3856519337797285325">"Arbeitsprofil entfernen"</string>
     <string name="background_data" msgid="5779592891375473817">"Hintergrunddaten"</string>
     <string name="background_data_summary" msgid="8328521479872763452">"Daten können jederzeit synchronisiert, gesendet und empfangen werden."</string>
@@ -1969,7 +1973,7 @@
     <string name="really_remove_account_title" msgid="8800653398717172460">"Konto entfernen?"</string>
     <string name="really_remove_account_message" product="tablet" msgid="1936147502815641161">"Durch das Entfernen dieses Kontos werden alle zugehörigen Nachrichten, Kontakte und andere Daten vom Tablet gelöscht!"</string>
     <string name="really_remove_account_message" product="default" msgid="3483528757922948356">"Durch das Entfernen dieses Kontos werden alle seine Nachrichten, Kontakte und andere Daten vom Telefon gelöscht!"</string>
-    <string name="remove_account_failed" msgid="6980737964448187854">"Ihr Administrator lässt diese Änderung nicht zu."</string>
+    <string name="remove_account_failed" msgid="6980737964448187854">"Dein Administrator lässt diese Änderung nicht zu."</string>
     <string name="provider_label" msgid="7724593781904508866">"Push-Abos"</string>
     <!-- no translation found for sync_item_title (4782834606909853006) -->
     <skip />
@@ -1992,7 +1996,7 @@
     <string name="select_all" msgid="1562774643280376715">"Alles auswählen"</string>
     <string name="data_usage_summary_title" msgid="3804110657238092929">"Datenverbrauch"</string>
     <string name="data_usage_app_summary_title" msgid="4147258989837459172">"Datennutzung durch Apps"</string>
-    <string name="data_usage_accounting" msgid="7170028915873577387">"Ihr Mobilfunkanbieter berechnet die Datennutzung eventuell anders als das Gerät."</string>
+    <string name="data_usage_accounting" msgid="7170028915873577387">"Dein Mobilfunkanbieter berechnet die Datennutzung eventuell anders als das Gerät."</string>
     <string name="data_usage_app" msgid="4970478397515423303">"App-Nutzung"</string>
     <string name="data_usage_app_info_label" msgid="3409931235687866706">"Informationen zur App"</string>
     <string name="data_usage_cellular_data" msgid="4859424346276043677">"Mobilfunkdaten"</string>
@@ -2075,7 +2079,7 @@
     <string name="data_usage_metered_mobile" msgid="2326986339431119372">"Mobilfunknetze"</string>
     <string name="data_usage_metered_wifi" msgid="1761738002328299714">"Kostenpflichtige WLANs"</string>
     <string name="data_usage_metered_wifi_disabled" msgid="727808462375941567">"Um kostenpflichtige Netzwerke auszuwählen, aktiviere WLAN."</string>
-    <string name="data_usage_disclaimer" msgid="6887858149980673444">"Ihr Mobilfunkanbieter berechnet die Datennutzung eventuell anders als das Gerät."</string>
+    <string name="data_usage_disclaimer" msgid="6887858149980673444">"Dein Mobilfunkanbieter berechnet die Datennutzung eventuell anders als das Gerät."</string>
     <string name="cryptkeeper_emergency_call" msgid="198578731586097145">"Notruf"</string>
     <string name="cryptkeeper_return_to_call" msgid="5613717339452772491">"Zurück zum Anruf"</string>
     <string name="vpn_name" msgid="4689699885361002297">"Name"</string>
@@ -2145,7 +2149,7 @@
     <string name="done_button" msgid="1991471253042622230">"Fertig"</string>
     <string name="ssl_ca_cert_dialog_title" msgid="5339377665264149395">"Netzwerküberwachung"</string>
     <string name="ssl_ca_cert_info_message" msgid="4583879256548819713">"Dieses Gerät wird verwaltet von:\n<xliff:g id="MANAGING_DOMAIN">%s</xliff:g>\n\nDein Administrator kann deine Netzwerkaktivitäten überwachen, einschließlich E-Mails, Apps und sicherer Websites.\n\nWende sich für weitere Informationen an deinen Administrator."</string>
-    <string name="ssl_ca_cert_warning_message" msgid="8216218659139190498">"Dritte können Ihre Netzwerkaktivitäten überwachen, einschließlich E-Mails, Apps und sicherer Websites.\n\nDies wird durch vertrauenswürdige Anmeldedaten ermöglicht, die auf Ihrem Gerät installiert sind."</string>
+    <string name="ssl_ca_cert_warning_message" msgid="8216218659139190498">"Dritte können deine Netzwerkaktivitäten überwachen, einschließlich E-Mails, Apps und sicherer Websites.\n\nDies wird durch vertrauenswürdige Anmeldedaten ermöglicht, die auf deinem Gerät installiert sind."</string>
     <string name="ssl_ca_cert_settings_button" msgid="8760495070836213605">"Vertrauenswürdige Anmeldedaten überprüfen"</string>
     <string name="user_settings_title" msgid="6151874007858148344">"Nutzer"</string>
     <string name="user_list_title" msgid="7937158411137563543">"Nutzer &amp; Profile"</string>
@@ -2170,7 +2174,7 @@
     <string name="user_add_user_message_long" msgid="8562152293752222985">"Du kannst dieses Gerät für andere Nutzer freigeben, indem du weitere Nutzer erstellst. Jeder Nutzer erhält einen eigenen Bereich, in dem er Apps, den Hintergrund usw. personalisieren kann. Jeder Nutzer kann zudem Geräteeinstellungen wie WLAN ändern, die sich auf alle Nutzer auswirken.\n\nWenn du einen neuen Nutzer hinzufügst, muss dieser seinen Bereich einrichten.\n\nJeder Nutzer kann Apps für alle anderen Nutzer aktualisieren."</string>
     <string name="user_add_user_message_short" msgid="1511354412249044381">"Wenn du einen neuen Nutzer hinzufügst, muss dieser seinen Bereich einrichten.\n\nJeder Nutzer kann Apps für alle anderen Nutzer aktualisieren."</string>
     <string name="user_setup_dialog_title" msgid="1765794166801864563">"Nutzer jetzt einrichten?"</string>
-    <string name="user_setup_dialog_message" msgid="1004068621380867148">"Die Person muss Zugang zu dem Gerät haben und ihren Speicherplatz einrichten."</string>
+    <string name="user_setup_dialog_message" msgid="1004068621380867148">"Die Person muss Zugang zu dem Gerät haben und deinen Speicherplatz einrichten."</string>
     <string name="user_setup_profile_dialog_message" msgid="3896568553327558731">"Profil jetzt einrichten?"</string>
     <string name="user_setup_button_setup_now" msgid="3391388430158437629">"Jetzt einrichten"</string>
     <string name="user_setup_button_setup_later" msgid="3068729597269172401">"Nicht jetzt"</string>
@@ -2217,7 +2221,7 @@
     <string name="global_locale_change_title" msgid="5956281361384221451">"Sprache ändern"</string>
     <string name="nfc_payment_settings_title" msgid="1807298287380821613">"Mobil bezahlen"</string>
     <string name="nfc_payment_how_it_works" msgid="3028822263837896720">"Funktionsweise"</string>
-    <string name="nfc_payment_no_apps" msgid="5477904979148086424">"Mit Ihrem Smartphone in Geschäften bezahlen"</string>
+    <string name="nfc_payment_no_apps" msgid="5477904979148086424">"Mit deinem Smartphone in Geschäften bezahlen"</string>
     <string name="nfc_payment_default" msgid="8648420259219150395">"Standard-App für Zahlungen"</string>
     <string name="nfc_payment_default_not_set" msgid="7485060884228447765">"Nicht festgelegt"</string>
     <string name="nfc_payment_app_and_desc" msgid="7942415346564794258">"<xliff:g id="APP">%1$s</xliff:g> – <xliff:g id="DESCRIPTION">%2$s</xliff:g>"</string>
@@ -2263,8 +2267,8 @@
     <string name="user_rename" msgid="8523499513614655279">"Umbenennen"</string>
     <string name="app_restrictions_custom_label" msgid="6160672982086584261">"App-Beschränkungen festlegen"</string>
     <string name="user_restrictions_controlled_by" msgid="3164078767438313899">"Von <xliff:g id="APP">%1$s</xliff:g> festgelegt"</string>
-    <string name="app_sees_restricted_accounts" msgid="7503264525057246240">"Diese App darf auf Ihre Konten zugreifen."</string>
-    <string name="app_sees_restricted_accounts_and_controlled_by" msgid="6968697624437267294">"Diese App darf auf Ihre Konten zugreifen. Von <xliff:g id="APP">%1$s</xliff:g> festgelegt"</string>
+    <string name="app_sees_restricted_accounts" msgid="7503264525057246240">"Diese App darf auf deine Konten zugreifen."</string>
+    <string name="app_sees_restricted_accounts_and_controlled_by" msgid="6968697624437267294">"Diese App darf auf deine Konten zugreifen. Von <xliff:g id="APP">%1$s</xliff:g> festgelegt"</string>
     <string name="restriction_wifi_config_title" msgid="8889556384136994814">"WLAN und mobile Nutzung"</string>
     <string name="restriction_wifi_config_summary" msgid="70888791513065244">"Änderungen an Einstellungen für WLAN und mobile Nutzung zulassen"</string>
     <string name="restriction_bluetooth_config_title" msgid="8871681580962503671">"Bluetooth"</string>
@@ -2274,7 +2278,7 @@
     <string name="restriction_nfc_enable_summary" product="tablet" msgid="3891097373396149915">"Datenaustausch bei Kontakt mit anderen Geräten zulassen"</string>
     <string name="restriction_nfc_enable_summary" product="default" msgid="825331120501418592">"Datenaustausch bei Kontakt mit anderen Geräten zulassen"</string>
     <string name="restriction_location_enable_title" msgid="5020268888245775164">"Standort"</string>
-    <string name="restriction_location_enable_summary" msgid="3489765572281788755">"Apps die Verwendung Ihrer Standortinformationen gestatten"</string>
+    <string name="restriction_location_enable_summary" msgid="3489765572281788755">"Apps die Verwendung deiner Standortinformationen gestatten"</string>
     <string name="wizard_back" msgid="5567007959434765743">"Zurück"</string>
     <string name="wizard_next" msgid="3606212602795100640">"Weiter"</string>
     <string name="wizard_finish" msgid="3286109692700083252">"Fertig"</string>
@@ -2312,7 +2316,7 @@
     <string name="sim_other_call_settings" msgid="8247802316114482477">"Sonstige Anrufeinstellungen"</string>
     <string name="preferred_network_offload_title" msgid="1605829724169550275">"Bevorzugtes Netzwerk entlasten"</string>
     <string name="preferred_network_offload_header" msgid="2321173571529106767">"Netzwerknamenübertr. deaktivieren"</string>
-    <string name="preferred_network_offload_footer" msgid="5857279426054744020">"Bei deaktivierter Netzwerknamenübertragung können Dritte nicht auf Ihre Netzwerkinformationen zugreifen."</string>
+    <string name="preferred_network_offload_footer" msgid="5857279426054744020">"Bei deaktivierter Netzwerknamenübertragung können Dritte nicht auf deine Netzwerkinformationen zugreifen."</string>
     <string name="preferred_network_offload_popup" msgid="2252915199889604600">"Bei deaktivierter Netzwerknamenübertragung ist keine autom. Verbindung zu verborgenen Netzwerken möglich."</string>
     <string name="sim_signal_strength" msgid="9144010043784767984">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
     <string name="sim_notification_title" msgid="6272913297433198340">"SIM-Karten wurden geändert"</string>
@@ -2412,7 +2416,7 @@
     <string name="lock_screen_notifications_summary_show" msgid="6407527697810672847">"Gesamten Nachrichteninhalt anzeigen"</string>
     <string name="lock_screen_notifications_summary_hide" msgid="7891552853357258782">"Vertrauliche Benachrichtigungsinhalte ausblenden"</string>
     <string name="lock_screen_notifications_summary_disable" msgid="859628910427886715">"Keine Benachrichtigungen anzeigen"</string>
-    <string name="lock_screen_notifications_interstitial_message" msgid="6164532459432182244">"Wie sollen Benachrichtigungen angezeigt werden, wenn Ihr Gerät gesperrt ist?"</string>
+    <string name="lock_screen_notifications_interstitial_message" msgid="6164532459432182244">"Wie sollen Benachrichtigungen angezeigt werden, wenn dein Gerät gesperrt ist?"</string>
     <string name="lock_screen_notifications_interstitial_title" msgid="1416589393106326972">"Benachrichtigungen"</string>
     <string name="app_notifications_title" msgid="139788604658984593">"Benachrichtigungen"</string>
     <string name="topic_notifications_title" msgid="7243623930984080881">"Benachrichtigungen zu Themen"</string>
@@ -2432,7 +2436,7 @@
     </plurals>
     <string name="no_notification_listeners" msgid="3487091564454192821">"Keine installierte App hat Benachrichtigungszugriff angefordert."</string>
     <string name="notification_listener_security_warning_title" msgid="5522924135145843279">"Benachrichtigungszugriff für <xliff:g id="SERVICE">%1$s</xliff:g> zulassen?"</string>
-    <string name="notification_listener_security_warning_summary" msgid="548925084229440829">"<xliff:g id="NOTIFICATION_LISTENER_NAME">%1$s</xliff:g> darf alle Benachrichtigungen lesen. Darin können persönliche Daten wie Kontaktnamen oder Inhalte Ihrer erhaltenen Nachrichten enthalten sein. Der Listener kann diese Benachrichtigungen außerdem schließen oder Schaltflächen in den Benachrichtigungen betätigen."</string>
+    <string name="notification_listener_security_warning_summary" msgid="548925084229440829">"<xliff:g id="NOTIFICATION_LISTENER_NAME">%1$s</xliff:g> darf alle Benachrichtigungen lesen. Darin können persönliche Daten wie Kontaktnamen oder Inhalte deiner erhaltenen Nachrichten enthalten sein. Der Listener kann diese Benachrichtigungen außerdem schließen oder Schaltflächen in den Benachrichtigungen betätigen."</string>
     <string name="manage_zen_access_title" msgid="2611116122628520522">"Zugriff während \"Nicht stören\""</string>
     <string name="zen_access_empty_text" msgid="8772967285742259540">"Keine installierte App hat während \"Nicht stören\" Zugriff angefordert."</string>
     <string name="loading_notification_apps" msgid="5031818677010335895">"Apps werden geladen..."</string>
@@ -2660,7 +2664,7 @@
     <string name="high_power_on" msgid="6216293998227583810">"Nicht optimiert"</string>
     <string name="high_power_off" msgid="3393904131961263278">"Akkuverbrauch optimiert"</string>
     <string name="high_power_system" msgid="7362862974428225301">"Akku-Leistungsoptimierung nicht verfügbar"</string>
-    <string name="high_power_desc" msgid="6283926163708585760">"Keine Optimierung bezüglich der Akkuleistung anwenden. Ihr Akku entleert sich hierdurch möglicherweise schneller."</string>
+    <string name="high_power_desc" msgid="6283926163708585760">"Keine Optimierung bezüglich der Akkuleistung anwenden. Dein Akku entleert sich hierdurch möglicherweise schneller."</string>
     <plurals name="high_power_count" formatted="false" msgid="2464701722383894640">
       <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> Apps wurde die Optimierung bezüglich der Akkuleistung gestattet.</item>
       <item quantity="one">1 App wurde die Optimierung bezüglich der Akkuleistung gestattet.</item>
@@ -2720,11 +2724,11 @@
     <string name="zen_access_revoke_warning_dialog_summary" msgid="5518216907304930148">"Alle von dieser App erstellten \"Bitte nicht stören\"-Regeln werden entfernt."</string>
     <string name="ignore_optimizations_on" msgid="6915689518016285116">"Nicht optimieren"</string>
     <string name="ignore_optimizations_off" msgid="6153196256410296835">"Optimieren"</string>
-    <string name="ignore_optimizations_on_desc" msgid="2321398930330555815">"Ihr Akku entleert sich hierdurch möglicherweise schneller."</string>
+    <string name="ignore_optimizations_on_desc" msgid="2321398930330555815">"Dein Akku entleert sich hierdurch möglicherweise schneller."</string>
     <string name="ignore_optimizations_off_desc" msgid="5255731062045426544">"Zur Verlängerung der Akkulaufzeit empfohlen"</string>
     <string name="ignore_optimizations_title" msgid="2829637961185027768">"<xliff:g id="APP">%s</xliff:g> das Ignorieren von Akku-Leistungsoptimierungen gestatten?"</string>
     <string name="app_list_preference_none" msgid="108006867520327904">"Keine"</string>
-    <string name="work_profile_usage_access_warning" msgid="8870622842216566692">"Das Deaktivieren des Zugriffs auf Nutzungsdaten für diese App hindert Ihren Administrator nicht am Erfassen der Datennutzung für Apps in Ihrem Arbeitsprofil."</string>
+    <string name="work_profile_usage_access_warning" msgid="8870622842216566692">"Das Deaktivieren des Zugriffs auf Nutzungsdaten für diese App hindert deinen Administrator nicht am Erfassen der Datennutzung für Apps in deinem Arbeitsprofil."</string>
     <string name="accessibility_lock_screen_progress" msgid="2408292742980383166">"<xliff:g id="COUNT_0">%1$d</xliff:g> von <xliff:g id="COUNT_1">%2$d</xliff:g> Zeichen verwendet"</string>
     <string name="draw_overlay_title" msgid="4003905926278954971">"Apps, die über anderen Apps einblendbar sind"</string>
     <string name="draw_overlay" msgid="9078696044299199938">"Über anderen Apps einblenden"</string>
@@ -2757,8 +2761,7 @@
     <string name="camera_double_tap_power_gesture_desc" msgid="7355664631775680376">"Kamera ohne Entsperren des Displays schnell öffnen"</string>
     <string name="screen_zoom_title" msgid="6332123593919641665">"Displayzoom"</string>
     <string name="screen_zoom_keywords" msgid="9176477565403352552">"kompaktheitsgrad, bildschirm zoom, display zoom, maßstab, skalierung, skalieren"</string>
-    <!-- no translation found for screen_zoom_summary (2022973627105802010) -->
-    <skip />
+    <string name="screen_zoom_summary" msgid="2022973627105802010">"Alle Elemente auf dem Display verkleinern oder vergrößern. Wenn du diese Einstellungen änderst, verschieben sich unter Umständen einige Apps auf deinem Startbildschirm."</string>
     <string name="screen_zoom_preview_title" msgid="4680671508172336572">"Vorschau"</string>
     <string name="screen_zoom_make_smaller_desc" msgid="4622359904253364742">"Verkleinern"</string>
     <string name="screen_zoom_make_larger_desc" msgid="2236171043607896594">"Vergrößern"</string>
@@ -2802,8 +2805,55 @@
     <string name="condition_cellular_summary" msgid="1818046558419658463">"Eine Internetverbindung kann nur über WLAN hergestellt werden."</string>
     <string name="condition_bg_data_title" msgid="1422001615923482010">"Hintergrunddaten deaktiviert"</string>
     <string name="condition_bg_data_summary" msgid="656957852895282228">"Hintergrunddaten sind nur über WLAN verfügbar. Diese Einstellung kann sich auf einige Apps oder Dienste auswirken, wenn kein WLAN verfügbar ist."</string>
+    <!-- no translation found for condition_work_title (7293722361184366648) -->
+    <skip />
+    <!-- no translation found for condition_work_summary (7543202177571590378) -->
+    <skip />
     <string name="suggestions_title" msgid="8758376306825920705">"Vorschläge (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
     <string name="suggestion_remove" msgid="904627293892092439">"Entfernen"</string>
     <string name="color_temperature" msgid="2501579996151717270">"Display-Farbtemperatur"</string>
     <string name="color_temperature_desc" msgid="3603319696846982249">"Kalte Farben aktivieren"</string>
+    <!-- no translation found for usage (2977875522080448986) -->
+    <skip />
+    <!-- no translation found for cellular_data_usage (2763710678354680712) -->
+    <skip />
+    <!-- no translation found for wifi_data_usage (686754111095324306) -->
+    <skip />
+    <!-- no translation found for ethernet_data_usage (5108764537574354616) -->
+    <skip />
+    <string name="wifi" msgid="1081550856200013637">"WLAN"</string>
+    <!-- no translation found for ethernet (6600095783781389720) -->
+    <skip />
+    <!-- no translation found for cell_data_template (3308709914705592281) -->
+    <skip />
+    <!-- no translation found for wifi_data_template (501654649753761778) -->
+    <skip />
+    <!-- no translation found for ethernet_data_template (5775729859383597507) -->
+    <skip />
+    <!-- no translation found for cell_warning_only (763147658209027140) -->
+    <skip />
+    <!-- no translation found for cell_warning_and_limit (2273413629267437470) -->
+    <skip />
+    <!-- no translation found for billing_cycle (5169909190811133499) -->
+    <skip />
+    <!-- no translation found for billing_cycle_summary (9009106526129293752) -->
+    <skip />
+    <!-- no translation found for billing_cycle_fragment_summary (1940518156600077066) -->
+    <skip />
+    <!-- no translation found for network_restrictions (8234695294536675380) -->
+    <skip />
+    <!-- no translation found for operator_warning (7206980278353372811) -->
+    <skip />
+    <!-- no translation found for data_used_template (3245919669966296505) -->
+    <skip />
+    <!-- no translation found for data_warning (209133958008062117) -->
+    <skip />
+    <!-- no translation found for set_data_limit (2901526323210516923) -->
+    <skip />
+    <!-- no translation found for data_limit (1885406964934590552) -->
+    <skip />
+    <!-- no translation found for data_usage_template (392191945602400904) -->
+    <skip />
+    <!-- no translation found for configure (1029654422228677273) -->
+    <skip />
 </resources>
diff --git a/res/values-el/strings.xml b/res/values-el/strings.xml
index 1a282e8..410f004 100644
--- a/res/values-el/strings.xml
+++ b/res/values-el/strings.xml
@@ -74,8 +74,7 @@
     <string name="sdcard_unmount" product="default" msgid="3364184561355611897">"Αφαίρεση κάρτας SD"</string>
     <string name="sdcard_format" product="nosdcard" msgid="6285310523155166716">"Διαγρ. αποθ. χώρου USB"</string>
     <string name="sdcard_format" product="default" msgid="6713185532039187532">"Διαγραφή κάρτας SD"</string>
-    <!-- no translation found for font_size_summary (133937309990844030) -->
-    <skip />
+    <string name="font_size_summary" msgid="133937309990844030">"Κάντε το κείμενο στην οθόνη μικρότερο ή μεγαλύτερο."</string>
     <string name="small_font" msgid="2295331917424072635">"Μικρό"</string>
     <string name="medium_font" msgid="2068475425515133701">"Μέτριο"</string>
     <string name="large_font" msgid="599055175160971446">"Μεγάλο"</string>
@@ -265,7 +264,8 @@
     <string name="roaming_disable" msgid="1295279574370898378">"Σύνδεση στις υπηρεσίες δεδομένων κατά την περιαγωγή"</string>
     <string name="roaming_reenable_message" msgid="9141007271031717369">"Χάσατε τη σύνδεση δεδομένων επειδή φύγατε από το οικείο δίκτυο έχοντας την περιαγωγή δεδομένων απενεργοποιημένη."</string>
     <string name="roaming_turn_it_on_button" msgid="4387601818162120589">"Ενεργοποίηση"</string>
-    <string name="roaming_warning" msgid="7625933694709170887">"Όταν επιτρέπετε την περιαγωγή δεδομένων, ενδέχεται να επιβαρυνθείτε με σημαντικές χρεώσεις περιαγωγής!"</string>
+    <!-- no translation found for roaming_warning (4275443317524544705) -->
+    <skip />
     <string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"Όταν επιτρέπετε την περιαγωγή δεδομένων, ενδέχεται να ισχύσουν σημαντικές χρεώσεις περιαγωγής!\n\nΑυτή η ρύθμιση επηρεάζει όλους τους χρήστες στο συγκεκριμένο tablet."</string>
     <string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"Όταν επιτρέπετε την περιαγωγή δεδομένων, ενδέχεται να ισχύσουν σημαντικές χρεώσεις περιαγωγής!\n\nΑυτή η ρύθμιση επηρεάζει όλους τους χρήστες στο συγκεκριμένο τηλέφωνο."</string>
     <string name="roaming_reenable_title" msgid="6068100976707316772">"Να επιτρέπεται η περιαγωγή δεδομένων;"</string>
@@ -1937,6 +1937,10 @@
     <string name="sync_is_failing" msgid="1591561768344128377">"Ο συγχρονισμός αντιμετωπίζει προβλήματα αυτήν τη στιγμή. Θα είναι διαθέσιμο ξανά σύντομα."</string>
     <string name="add_account_label" msgid="7811707265834013767">"Προσθήκη λογαριασμού"</string>
     <string name="managed_profile_not_available_label" msgid="852263300911325904">"Το προφίλ εργασίας δεν είναι διαθέσιμο ακόμη"</string>
+    <!-- no translation found for work_mode_label (5794470908668593961) -->
+    <skip />
+    <!-- no translation found for work_mode_summary (1620246003886940776) -->
+    <skip />
     <string name="remove_managed_profile_label" msgid="3856519337797285325">"Κατάργηση προφίλ εργασίας"</string>
     <string name="background_data" msgid="5779592891375473817">"Δεδομένα παρασκηνίου"</string>
     <string name="background_data_summary" msgid="8328521479872763452">"Οι εφαρμογές συγχρονίζονται και αποστέλλουν/λαμβάνουν δεδομένα οποτεδήποτε"</string>
@@ -2754,8 +2758,7 @@
     <string name="camera_double_tap_power_gesture_desc" msgid="7355664631775680376">"Γρήγορο άνοιγμα κάμερας χωρίς ξεκλείδωμα οθόνης"</string>
     <string name="screen_zoom_title" msgid="6332123593919641665">"Εστίαση οθόνης"</string>
     <string name="screen_zoom_keywords" msgid="9176477565403352552">"πυκνότητα προβολής, εστίαση οθόνης, κλίμακα, κλιμάκωση"</string>
-    <!-- no translation found for screen_zoom_summary (2022973627105802010) -->
-    <skip />
+    <string name="screen_zoom_summary" msgid="2022973627105802010">"Κάντε όλα τα στοιχεία στην οθόνη μικρότερα ή μεγαλύτερα. Ορισμένες εφαρμογές στην αρχική σας οθόνη ενδέχεται να αλλάξουν θέση μετά την αλλαγή αυτής της ρύθμισης."</string>
     <string name="screen_zoom_preview_title" msgid="4680671508172336572">"Προεπισκόπηση"</string>
     <string name="screen_zoom_make_smaller_desc" msgid="4622359904253364742">"Να γίνουν μικρότερα"</string>
     <string name="screen_zoom_make_larger_desc" msgid="2236171043607896594">"Να γίνουν μεγαλύτερα"</string>
@@ -2799,8 +2802,55 @@
     <string name="condition_cellular_summary" msgid="1818046558419658463">"Το διαδίκτυο είναι διαθέσιμο μόνο μέσω Wi-Fi"</string>
     <string name="condition_bg_data_title" msgid="1422001615923482010">"Ανενεργά δεδομένα παρασκηνίου"</string>
     <string name="condition_bg_data_summary" msgid="656957852895282228">"Τα δεδομένα παρασκηνίου είναι διαθέσιμα μόνο μέσω Wi-Fi. Αυτό ενδέχεται να επηρεάσει ορισμένες εφαρμογές ή υπηρεσίες όταν δεν υπάρχει διαθέσιμο δίκτυο Wi-Fi."</string>
+    <!-- no translation found for condition_work_title (7293722361184366648) -->
+    <skip />
+    <!-- no translation found for condition_work_summary (7543202177571590378) -->
+    <skip />
     <string name="suggestions_title" msgid="8758376306825920705">"Προτάσεις (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
     <string name="suggestion_remove" msgid="904627293892092439">"Κατάργηση"</string>
     <string name="color_temperature" msgid="2501579996151717270">"Θερμοκρασία χρώματος οθόνης"</string>
     <string name="color_temperature_desc" msgid="3603319696846982249">"Ενεργοποίηση ψυχρής θερμοκρασίας"</string>
+    <!-- no translation found for usage (2977875522080448986) -->
+    <skip />
+    <!-- no translation found for cellular_data_usage (2763710678354680712) -->
+    <skip />
+    <!-- no translation found for wifi_data_usage (686754111095324306) -->
+    <skip />
+    <!-- no translation found for ethernet_data_usage (5108764537574354616) -->
+    <skip />
+    <string name="wifi" msgid="1081550856200013637">"Wi-Fi"</string>
+    <!-- no translation found for ethernet (6600095783781389720) -->
+    <skip />
+    <!-- no translation found for cell_data_template (3308709914705592281) -->
+    <skip />
+    <!-- no translation found for wifi_data_template (501654649753761778) -->
+    <skip />
+    <!-- no translation found for ethernet_data_template (5775729859383597507) -->
+    <skip />
+    <!-- no translation found for cell_warning_only (763147658209027140) -->
+    <skip />
+    <!-- no translation found for cell_warning_and_limit (2273413629267437470) -->
+    <skip />
+    <!-- no translation found for billing_cycle (5169909190811133499) -->
+    <skip />
+    <!-- no translation found for billing_cycle_summary (9009106526129293752) -->
+    <skip />
+    <!-- no translation found for billing_cycle_fragment_summary (1940518156600077066) -->
+    <skip />
+    <!-- no translation found for network_restrictions (8234695294536675380) -->
+    <skip />
+    <!-- no translation found for operator_warning (7206980278353372811) -->
+    <skip />
+    <!-- no translation found for data_used_template (3245919669966296505) -->
+    <skip />
+    <!-- no translation found for data_warning (209133958008062117) -->
+    <skip />
+    <!-- no translation found for set_data_limit (2901526323210516923) -->
+    <skip />
+    <!-- no translation found for data_limit (1885406964934590552) -->
+    <skip />
+    <!-- no translation found for data_usage_template (392191945602400904) -->
+    <skip />
+    <!-- no translation found for configure (1029654422228677273) -->
+    <skip />
 </resources>
diff --git a/res/values-en-rAU/strings.xml b/res/values-en-rAU/strings.xml
index d101733..94a22e5 100644
--- a/res/values-en-rAU/strings.xml
+++ b/res/values-en-rAU/strings.xml
@@ -264,7 +264,7 @@
     <string name="roaming_disable" msgid="1295279574370898378">"Connect to data services when roaming"</string>
     <string name="roaming_reenable_message" msgid="9141007271031717369">"You have lost data connectivity because you left your home network with data roaming turned off."</string>
     <string name="roaming_turn_it_on_button" msgid="4387601818162120589">"Turn it on"</string>
-    <string name="roaming_warning" msgid="7625933694709170887">"When you allow data roaming, you may incur significant roaming charges!"</string>
+    <string name="roaming_warning" msgid="4275443317524544705">"You may incur significant charges."</string>
     <string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"When you allow data roaming, you may incur significant roaming charges!\n\nThis setting affects all users on this tablet."</string>
     <string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"When you allow data roaming, you may incur significant roaming charges!\n\nThis setting affects all users on this phone."</string>
     <string name="roaming_reenable_title" msgid="6068100976707316772">"Allow data roaming?"</string>
@@ -1936,6 +1936,8 @@
     <string name="sync_is_failing" msgid="1591561768344128377">"Sync is currently experiencing problems. It will be back shortly."</string>
     <string name="add_account_label" msgid="7811707265834013767">"Add account"</string>
     <string name="managed_profile_not_available_label" msgid="852263300911325904">"Work profile isn\'t available yet"</string>
+    <string name="work_mode_label" msgid="5794470908668593961">"Work mode"</string>
+    <string name="work_mode_summary" msgid="1620246003886940776">"Allow work profile to function, including apps, background sync and related features"</string>
     <string name="remove_managed_profile_label" msgid="3856519337797285325">"Remove work profile"</string>
     <string name="background_data" msgid="5779592891375473817">"Background data"</string>
     <string name="background_data_summary" msgid="8328521479872763452">"Apps can sync, send and receive data at any time"</string>
@@ -2797,8 +2799,32 @@
     <string name="condition_cellular_summary" msgid="1818046558419658463">"Internet is available only via Wi-Fi"</string>
     <string name="condition_bg_data_title" msgid="1422001615923482010">"Background data is off"</string>
     <string name="condition_bg_data_summary" msgid="656957852895282228">"Background data is only available via Wi-Fi. This may affect some apps or services when Wi-Fi is not available."</string>
+    <string name="condition_work_title" msgid="7293722361184366648">"Work profile is off"</string>
+    <string name="condition_work_summary" msgid="7543202177571590378">"Apps, background sync and other features related to your work profile are turned off."</string>
     <string name="suggestions_title" msgid="8758376306825920705">"Suggestions (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
     <string name="suggestion_remove" msgid="904627293892092439">"Remove"</string>
     <string name="color_temperature" msgid="2501579996151717270">"Display colour temperature"</string>
     <string name="color_temperature_desc" msgid="3603319696846982249">"Enable cool temperature"</string>
+    <string name="usage" msgid="2977875522080448986">"Usage"</string>
+    <string name="cellular_data_usage" msgid="2763710678354680712">"Cellular data usage"</string>
+    <string name="wifi_data_usage" msgid="686754111095324306">"Wi-Fi data usage"</string>
+    <string name="ethernet_data_usage" msgid="5108764537574354616">"Ethernet data usage"</string>
+    <string name="wifi" msgid="1081550856200013637">"Wi-Fi"</string>
+    <string name="ethernet" msgid="6600095783781389720">"Ethernet"</string>
+    <string name="cell_data_template" msgid="3308709914705592281">"<xliff:g id="ID_1">%1$s</xliff:g> cellular data"</string>
+    <string name="wifi_data_template" msgid="501654649753761778">"<xliff:g id="ID_1">%1$s</xliff:g> Wi-Fi data"</string>
+    <string name="ethernet_data_template" msgid="5775729859383597507">"<xliff:g id="ID_1">%1$s</xliff:g> Ethernet data"</string>
+    <string name="cell_warning_only" msgid="763147658209027140">"<xliff:g id="ID_1">%1$s</xliff:g> Data warning"</string>
+    <string name="cell_warning_and_limit" msgid="2273413629267437470">"<xliff:g id="ID_1">%1$s</xliff:g> Data warning / <xliff:g id="ID_2">%2$s</xliff:g> Data limit"</string>
+    <string name="billing_cycle" msgid="5169909190811133499">"Billing cycle"</string>
+    <string name="billing_cycle_summary" msgid="9009106526129293752">"Monthly cycle starts on the <xliff:g id="ID_1">%1$s</xliff:g> of every month"</string>
+    <string name="billing_cycle_fragment_summary" msgid="1940518156600077066">"Monthly starting <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="network_restrictions" msgid="8234695294536675380">"Network restrictions"</string>
+    <string name="operator_warning" msgid="7206980278353372811">"Operator data accounting may differ from your device."</string>
+    <string name="data_used_template" msgid="3245919669966296505">"<xliff:g id="ID_1">%1$s</xliff:g> used"</string>
+    <string name="data_warning" msgid="209133958008062117">"Data warning"</string>
+    <string name="set_data_limit" msgid="2901526323210516923">"Set data limit"</string>
+    <string name="data_limit" msgid="1885406964934590552">"Data limit"</string>
+    <string name="data_usage_template" msgid="392191945602400904">"<xliff:g id="ID_1">%1$s</xliff:g> used between <xliff:g id="ID_2">%2$s</xliff:g>"</string>
+    <string name="configure" msgid="1029654422228677273">"Configure"</string>
 </resources>
diff --git a/res/values-en-rGB/strings.xml b/res/values-en-rGB/strings.xml
index d101733..94a22e5 100644
--- a/res/values-en-rGB/strings.xml
+++ b/res/values-en-rGB/strings.xml
@@ -264,7 +264,7 @@
     <string name="roaming_disable" msgid="1295279574370898378">"Connect to data services when roaming"</string>
     <string name="roaming_reenable_message" msgid="9141007271031717369">"You have lost data connectivity because you left your home network with data roaming turned off."</string>
     <string name="roaming_turn_it_on_button" msgid="4387601818162120589">"Turn it on"</string>
-    <string name="roaming_warning" msgid="7625933694709170887">"When you allow data roaming, you may incur significant roaming charges!"</string>
+    <string name="roaming_warning" msgid="4275443317524544705">"You may incur significant charges."</string>
     <string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"When you allow data roaming, you may incur significant roaming charges!\n\nThis setting affects all users on this tablet."</string>
     <string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"When you allow data roaming, you may incur significant roaming charges!\n\nThis setting affects all users on this phone."</string>
     <string name="roaming_reenable_title" msgid="6068100976707316772">"Allow data roaming?"</string>
@@ -1936,6 +1936,8 @@
     <string name="sync_is_failing" msgid="1591561768344128377">"Sync is currently experiencing problems. It will be back shortly."</string>
     <string name="add_account_label" msgid="7811707265834013767">"Add account"</string>
     <string name="managed_profile_not_available_label" msgid="852263300911325904">"Work profile isn\'t available yet"</string>
+    <string name="work_mode_label" msgid="5794470908668593961">"Work mode"</string>
+    <string name="work_mode_summary" msgid="1620246003886940776">"Allow work profile to function, including apps, background sync and related features"</string>
     <string name="remove_managed_profile_label" msgid="3856519337797285325">"Remove work profile"</string>
     <string name="background_data" msgid="5779592891375473817">"Background data"</string>
     <string name="background_data_summary" msgid="8328521479872763452">"Apps can sync, send and receive data at any time"</string>
@@ -2797,8 +2799,32 @@
     <string name="condition_cellular_summary" msgid="1818046558419658463">"Internet is available only via Wi-Fi"</string>
     <string name="condition_bg_data_title" msgid="1422001615923482010">"Background data is off"</string>
     <string name="condition_bg_data_summary" msgid="656957852895282228">"Background data is only available via Wi-Fi. This may affect some apps or services when Wi-Fi is not available."</string>
+    <string name="condition_work_title" msgid="7293722361184366648">"Work profile is off"</string>
+    <string name="condition_work_summary" msgid="7543202177571590378">"Apps, background sync and other features related to your work profile are turned off."</string>
     <string name="suggestions_title" msgid="8758376306825920705">"Suggestions (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
     <string name="suggestion_remove" msgid="904627293892092439">"Remove"</string>
     <string name="color_temperature" msgid="2501579996151717270">"Display colour temperature"</string>
     <string name="color_temperature_desc" msgid="3603319696846982249">"Enable cool temperature"</string>
+    <string name="usage" msgid="2977875522080448986">"Usage"</string>
+    <string name="cellular_data_usage" msgid="2763710678354680712">"Cellular data usage"</string>
+    <string name="wifi_data_usage" msgid="686754111095324306">"Wi-Fi data usage"</string>
+    <string name="ethernet_data_usage" msgid="5108764537574354616">"Ethernet data usage"</string>
+    <string name="wifi" msgid="1081550856200013637">"Wi-Fi"</string>
+    <string name="ethernet" msgid="6600095783781389720">"Ethernet"</string>
+    <string name="cell_data_template" msgid="3308709914705592281">"<xliff:g id="ID_1">%1$s</xliff:g> cellular data"</string>
+    <string name="wifi_data_template" msgid="501654649753761778">"<xliff:g id="ID_1">%1$s</xliff:g> Wi-Fi data"</string>
+    <string name="ethernet_data_template" msgid="5775729859383597507">"<xliff:g id="ID_1">%1$s</xliff:g> Ethernet data"</string>
+    <string name="cell_warning_only" msgid="763147658209027140">"<xliff:g id="ID_1">%1$s</xliff:g> Data warning"</string>
+    <string name="cell_warning_and_limit" msgid="2273413629267437470">"<xliff:g id="ID_1">%1$s</xliff:g> Data warning / <xliff:g id="ID_2">%2$s</xliff:g> Data limit"</string>
+    <string name="billing_cycle" msgid="5169909190811133499">"Billing cycle"</string>
+    <string name="billing_cycle_summary" msgid="9009106526129293752">"Monthly cycle starts on the <xliff:g id="ID_1">%1$s</xliff:g> of every month"</string>
+    <string name="billing_cycle_fragment_summary" msgid="1940518156600077066">"Monthly starting <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="network_restrictions" msgid="8234695294536675380">"Network restrictions"</string>
+    <string name="operator_warning" msgid="7206980278353372811">"Operator data accounting may differ from your device."</string>
+    <string name="data_used_template" msgid="3245919669966296505">"<xliff:g id="ID_1">%1$s</xliff:g> used"</string>
+    <string name="data_warning" msgid="209133958008062117">"Data warning"</string>
+    <string name="set_data_limit" msgid="2901526323210516923">"Set data limit"</string>
+    <string name="data_limit" msgid="1885406964934590552">"Data limit"</string>
+    <string name="data_usage_template" msgid="392191945602400904">"<xliff:g id="ID_1">%1$s</xliff:g> used between <xliff:g id="ID_2">%2$s</xliff:g>"</string>
+    <string name="configure" msgid="1029654422228677273">"Configure"</string>
 </resources>
diff --git a/res/values-en-rIN/strings.xml b/res/values-en-rIN/strings.xml
index d101733..94a22e5 100644
--- a/res/values-en-rIN/strings.xml
+++ b/res/values-en-rIN/strings.xml
@@ -264,7 +264,7 @@
     <string name="roaming_disable" msgid="1295279574370898378">"Connect to data services when roaming"</string>
     <string name="roaming_reenable_message" msgid="9141007271031717369">"You have lost data connectivity because you left your home network with data roaming turned off."</string>
     <string name="roaming_turn_it_on_button" msgid="4387601818162120589">"Turn it on"</string>
-    <string name="roaming_warning" msgid="7625933694709170887">"When you allow data roaming, you may incur significant roaming charges!"</string>
+    <string name="roaming_warning" msgid="4275443317524544705">"You may incur significant charges."</string>
     <string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"When you allow data roaming, you may incur significant roaming charges!\n\nThis setting affects all users on this tablet."</string>
     <string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"When you allow data roaming, you may incur significant roaming charges!\n\nThis setting affects all users on this phone."</string>
     <string name="roaming_reenable_title" msgid="6068100976707316772">"Allow data roaming?"</string>
@@ -1936,6 +1936,8 @@
     <string name="sync_is_failing" msgid="1591561768344128377">"Sync is currently experiencing problems. It will be back shortly."</string>
     <string name="add_account_label" msgid="7811707265834013767">"Add account"</string>
     <string name="managed_profile_not_available_label" msgid="852263300911325904">"Work profile isn\'t available yet"</string>
+    <string name="work_mode_label" msgid="5794470908668593961">"Work mode"</string>
+    <string name="work_mode_summary" msgid="1620246003886940776">"Allow work profile to function, including apps, background sync and related features"</string>
     <string name="remove_managed_profile_label" msgid="3856519337797285325">"Remove work profile"</string>
     <string name="background_data" msgid="5779592891375473817">"Background data"</string>
     <string name="background_data_summary" msgid="8328521479872763452">"Apps can sync, send and receive data at any time"</string>
@@ -2797,8 +2799,32 @@
     <string name="condition_cellular_summary" msgid="1818046558419658463">"Internet is available only via Wi-Fi"</string>
     <string name="condition_bg_data_title" msgid="1422001615923482010">"Background data is off"</string>
     <string name="condition_bg_data_summary" msgid="656957852895282228">"Background data is only available via Wi-Fi. This may affect some apps or services when Wi-Fi is not available."</string>
+    <string name="condition_work_title" msgid="7293722361184366648">"Work profile is off"</string>
+    <string name="condition_work_summary" msgid="7543202177571590378">"Apps, background sync and other features related to your work profile are turned off."</string>
     <string name="suggestions_title" msgid="8758376306825920705">"Suggestions (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
     <string name="suggestion_remove" msgid="904627293892092439">"Remove"</string>
     <string name="color_temperature" msgid="2501579996151717270">"Display colour temperature"</string>
     <string name="color_temperature_desc" msgid="3603319696846982249">"Enable cool temperature"</string>
+    <string name="usage" msgid="2977875522080448986">"Usage"</string>
+    <string name="cellular_data_usage" msgid="2763710678354680712">"Cellular data usage"</string>
+    <string name="wifi_data_usage" msgid="686754111095324306">"Wi-Fi data usage"</string>
+    <string name="ethernet_data_usage" msgid="5108764537574354616">"Ethernet data usage"</string>
+    <string name="wifi" msgid="1081550856200013637">"Wi-Fi"</string>
+    <string name="ethernet" msgid="6600095783781389720">"Ethernet"</string>
+    <string name="cell_data_template" msgid="3308709914705592281">"<xliff:g id="ID_1">%1$s</xliff:g> cellular data"</string>
+    <string name="wifi_data_template" msgid="501654649753761778">"<xliff:g id="ID_1">%1$s</xliff:g> Wi-Fi data"</string>
+    <string name="ethernet_data_template" msgid="5775729859383597507">"<xliff:g id="ID_1">%1$s</xliff:g> Ethernet data"</string>
+    <string name="cell_warning_only" msgid="763147658209027140">"<xliff:g id="ID_1">%1$s</xliff:g> Data warning"</string>
+    <string name="cell_warning_and_limit" msgid="2273413629267437470">"<xliff:g id="ID_1">%1$s</xliff:g> Data warning / <xliff:g id="ID_2">%2$s</xliff:g> Data limit"</string>
+    <string name="billing_cycle" msgid="5169909190811133499">"Billing cycle"</string>
+    <string name="billing_cycle_summary" msgid="9009106526129293752">"Monthly cycle starts on the <xliff:g id="ID_1">%1$s</xliff:g> of every month"</string>
+    <string name="billing_cycle_fragment_summary" msgid="1940518156600077066">"Monthly starting <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="network_restrictions" msgid="8234695294536675380">"Network restrictions"</string>
+    <string name="operator_warning" msgid="7206980278353372811">"Operator data accounting may differ from your device."</string>
+    <string name="data_used_template" msgid="3245919669966296505">"<xliff:g id="ID_1">%1$s</xliff:g> used"</string>
+    <string name="data_warning" msgid="209133958008062117">"Data warning"</string>
+    <string name="set_data_limit" msgid="2901526323210516923">"Set data limit"</string>
+    <string name="data_limit" msgid="1885406964934590552">"Data limit"</string>
+    <string name="data_usage_template" msgid="392191945602400904">"<xliff:g id="ID_1">%1$s</xliff:g> used between <xliff:g id="ID_2">%2$s</xliff:g>"</string>
+    <string name="configure" msgid="1029654422228677273">"Configure"</string>
 </resources>
diff --git a/res/values-es-rUS/strings.xml b/res/values-es-rUS/strings.xml
index 9f44c78..3bc7311 100644
--- a/res/values-es-rUS/strings.xml
+++ b/res/values-es-rUS/strings.xml
@@ -74,8 +74,7 @@
     <string name="sdcard_unmount" product="default" msgid="3364184561355611897">"Desmontar la tarjeta SD"</string>
     <string name="sdcard_format" product="nosdcard" msgid="6285310523155166716">"Eliminar almacenamiento USB"</string>
     <string name="sdcard_format" product="default" msgid="6713185532039187532">"Borrar tarjeta SD"</string>
-    <!-- no translation found for font_size_summary (133937309990844030) -->
-    <skip />
+    <string name="font_size_summary" msgid="133937309990844030">"Aumenta o reduce el tamaño del texto en pantalla."</string>
     <string name="small_font" msgid="2295331917424072635">"Pequeño"</string>
     <string name="medium_font" msgid="2068475425515133701">"Mediano"</string>
     <string name="large_font" msgid="599055175160971446">"Grande"</string>
@@ -265,7 +264,8 @@
     <string name="roaming_disable" msgid="1295279574370898378">"Conectar a servicios de datos en roaming"</string>
     <string name="roaming_reenable_message" msgid="9141007271031717369">"Has perdido la conectividad de los datos porque has dejado la red doméstica con roaming de datos desactivado."</string>
     <string name="roaming_turn_it_on_button" msgid="4387601818162120589">"Enciéndelo"</string>
-    <string name="roaming_warning" msgid="7625933694709170887">"Al permitir el roaming de datos, puedes incurrir en gastos de roaming importantes."</string>
+    <!-- no translation found for roaming_warning (4275443317524544705) -->
+    <skip />
     <string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"Al permitir el roaming de datos, los costos de roaming que deberás asumir pueden ser altos.\n\nEsta configuración afecta a todos los usuarios de esta tablet."</string>
     <string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"Al permitir el roaming de datos, los costos de roaming que deberás asumir pueden ser altos.\n\nEsta configuración afecta a todos los usuarios de este dispositivo."</string>
     <string name="roaming_reenable_title" msgid="6068100976707316772">"¿Permitir el roaming de datos?"</string>
@@ -1937,6 +1937,10 @@
     <string name="sync_is_failing" msgid="1591561768344128377">"En este momento la sincronización experimenta problemas. Volverá en breve."</string>
     <string name="add_account_label" msgid="7811707265834013767">"Agregar cuenta"</string>
     <string name="managed_profile_not_available_label" msgid="852263300911325904">"El perfil de trabajo aún no está disponible."</string>
+    <!-- no translation found for work_mode_label (5794470908668593961) -->
+    <skip />
+    <!-- no translation found for work_mode_summary (1620246003886940776) -->
+    <skip />
     <string name="remove_managed_profile_label" msgid="3856519337797285325">"Eliminar perfil de trabajo"</string>
     <string name="background_data" msgid="5779592891375473817">"Datos de fondo"</string>
     <string name="background_data_summary" msgid="8328521479872763452">"Las aplicaciones pueden sincronizar, enviar y recibir datos."</string>
@@ -2752,8 +2756,7 @@
     <string name="camera_double_tap_power_gesture_desc" msgid="7355664631775680376">"Abre la cámara de forma rápida sin desbloquear la pantalla"</string>
     <string name="screen_zoom_title" msgid="6332123593919641665">"Zoom de la pantalla"</string>
     <string name="screen_zoom_keywords" msgid="9176477565403352552">"densidad de la pantalla, zoom de la pantalla, escala"</string>
-    <!-- no translation found for screen_zoom_summary (2022973627105802010) -->
-    <skip />
+    <string name="screen_zoom_summary" msgid="2022973627105802010">"Aumenta o reduce el tamaño de todos los elementos en pantalla. Luego de modificar esta configuración, es posible que cambie la posición de algunas apps en la pantalla principal."</string>
     <string name="screen_zoom_preview_title" msgid="4680671508172336572">"Vista previa"</string>
     <string name="screen_zoom_make_smaller_desc" msgid="4622359904253364742">"Reducir el tamaño"</string>
     <string name="screen_zoom_make_larger_desc" msgid="2236171043607896594">"Aumentar el tamaño"</string>
@@ -2797,8 +2800,55 @@
     <string name="condition_cellular_summary" msgid="1818046558419658463">"Internet solo está disponible por medio de Wi-Fi"</string>
     <string name="condition_bg_data_title" msgid="1422001615923482010">"Segundo plano desactivado"</string>
     <string name="condition_bg_data_summary" msgid="656957852895282228">"Los datos en segundo plano solo están disponibles por medio de Wi-Fi. Si no hay una conexión Wi-Fi disponible, podrían verse afectados algunos servicios o apps."</string>
+    <!-- no translation found for condition_work_title (7293722361184366648) -->
+    <skip />
+    <!-- no translation found for condition_work_summary (7543202177571590378) -->
+    <skip />
     <string name="suggestions_title" msgid="8758376306825920705">"Sugerencias (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
     <string name="suggestion_remove" msgid="904627293892092439">"Quitar"</string>
     <string name="color_temperature" msgid="2501579996151717270">"Temperatura del color de la pantalla"</string>
     <string name="color_temperature_desc" msgid="3603319696846982249">"Habilitar temperatura del color"</string>
+    <!-- no translation found for usage (2977875522080448986) -->
+    <skip />
+    <!-- no translation found for cellular_data_usage (2763710678354680712) -->
+    <skip />
+    <!-- no translation found for wifi_data_usage (686754111095324306) -->
+    <skip />
+    <!-- no translation found for ethernet_data_usage (5108764537574354616) -->
+    <skip />
+    <string name="wifi" msgid="1081550856200013637">"Wi-Fi"</string>
+    <!-- no translation found for ethernet (6600095783781389720) -->
+    <skip />
+    <!-- no translation found for cell_data_template (3308709914705592281) -->
+    <skip />
+    <!-- no translation found for wifi_data_template (501654649753761778) -->
+    <skip />
+    <!-- no translation found for ethernet_data_template (5775729859383597507) -->
+    <skip />
+    <!-- no translation found for cell_warning_only (763147658209027140) -->
+    <skip />
+    <!-- no translation found for cell_warning_and_limit (2273413629267437470) -->
+    <skip />
+    <!-- no translation found for billing_cycle (5169909190811133499) -->
+    <skip />
+    <!-- no translation found for billing_cycle_summary (9009106526129293752) -->
+    <skip />
+    <!-- no translation found for billing_cycle_fragment_summary (1940518156600077066) -->
+    <skip />
+    <!-- no translation found for network_restrictions (8234695294536675380) -->
+    <skip />
+    <!-- no translation found for operator_warning (7206980278353372811) -->
+    <skip />
+    <!-- no translation found for data_used_template (3245919669966296505) -->
+    <skip />
+    <!-- no translation found for data_warning (209133958008062117) -->
+    <skip />
+    <!-- no translation found for set_data_limit (2901526323210516923) -->
+    <skip />
+    <!-- no translation found for data_limit (1885406964934590552) -->
+    <skip />
+    <!-- no translation found for data_usage_template (392191945602400904) -->
+    <skip />
+    <!-- no translation found for configure (1029654422228677273) -->
+    <skip />
 </resources>
diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml
index f6864d3..731d4be 100644
--- a/res/values-es/strings.xml
+++ b/res/values-es/strings.xml
@@ -74,8 +74,7 @@
     <string name="sdcard_unmount" product="default" msgid="3364184561355611897">"Desactivar tarjeta SD"</string>
     <string name="sdcard_format" product="nosdcard" msgid="6285310523155166716">"Borrar almacenamiento USB"</string>
     <string name="sdcard_format" product="default" msgid="6713185532039187532">"Borrar tarjeta SD"</string>
-    <!-- no translation found for font_size_summary (133937309990844030) -->
-    <skip />
+    <string name="font_size_summary" msgid="133937309990844030">"Aumenta o disminuye el tamaño del texto de la pantalla."</string>
     <string name="small_font" msgid="2295331917424072635">"Pequeño"</string>
     <string name="medium_font" msgid="2068475425515133701">"Mediano"</string>
     <string name="large_font" msgid="599055175160971446">"Grande"</string>
@@ -265,7 +264,7 @@
     <string name="roaming_disable" msgid="1295279574370898378">"Conectarse a servicios de datos en itinerancia"</string>
     <string name="roaming_reenable_message" msgid="9141007271031717369">"Has perdido la conectividad de datos porque has dejado desactivada la itinerancia de datos de tu red doméstica."</string>
     <string name="roaming_turn_it_on_button" msgid="4387601818162120589">"Activarla"</string>
-    <string name="roaming_warning" msgid="7625933694709170887">"Al permitir la itinerancia de datos, es posible que te facturen cargos adicionales elevados."</string>
+    <string name="roaming_warning" msgid="4275443317524544705">"El coste de este servicio puede ser significativo."</string>
     <string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"Al permitir la itinerancia de datos, los costes de itinerancia que deberás asumir pueden ser significativos.\n\nEsta configuración afecta a todos los usuarios de este tablet."</string>
     <string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"Al permitir la itinerancia de datos, los costes de itinerancia que deberás asumir pueden ser significativos.\n\nEsta configuración afecta a todos los usuarios de este teléfono."</string>
     <string name="roaming_reenable_title" msgid="6068100976707316772">"¿Permitir la itinerancia de datos?"</string>
@@ -1937,6 +1936,8 @@
     <string name="sync_is_failing" msgid="1591561768344128377">"En este momento hay incidencias con la sincronización. Se restablecerá en breve."</string>
     <string name="add_account_label" msgid="7811707265834013767">"Añadir cuenta"</string>
     <string name="managed_profile_not_available_label" msgid="852263300911325904">"El perfil de trabajo aún no está disponible"</string>
+    <string name="work_mode_label" msgid="5794470908668593961">"Modo de trabajo"</string>
+    <string name="work_mode_summary" msgid="1620246003886940776">"Permitir que se utilice el modo de trabajo, incluidas las aplicaciones, la sincronización en segundo plano y las funciones relacionadas"</string>
     <string name="remove_managed_profile_label" msgid="3856519337797285325">"Eliminar perfil de trabajo"</string>
     <string name="background_data" msgid="5779592891375473817">"Conexiones automáticas"</string>
     <string name="background_data_summary" msgid="8328521479872763452">"Las aplicaciones pueden sincronizar datos, enviarlos y recibirlos."</string>
@@ -2754,8 +2755,7 @@
     <string name="camera_double_tap_power_gesture_desc" msgid="7355664631775680376">"Abre la cámara rápidamente sin desbloquear la pantalla"</string>
     <string name="screen_zoom_title" msgid="6332123593919641665">"Zoom de la pantalla"</string>
     <string name="screen_zoom_keywords" msgid="9176477565403352552">"densidad de pantalla, zoom, escala"</string>
-    <!-- no translation found for screen_zoom_summary (2022973627105802010) -->
-    <skip />
+    <string name="screen_zoom_summary" msgid="2022973627105802010">"Aumenta o disminuye todos los elementos de la pantalla. Es posible que cambie la posición de algunas aplicaciones de la pantalla de inicio después de cambiar esta opción."</string>
     <string name="screen_zoom_preview_title" msgid="4680671508172336572">"Vista previa"</string>
     <string name="screen_zoom_make_smaller_desc" msgid="4622359904253364742">"Disminuir el tamaño"</string>
     <string name="screen_zoom_make_larger_desc" msgid="2236171043607896594">"Aumentar el tamaño"</string>
@@ -2799,8 +2799,32 @@
     <string name="condition_cellular_summary" msgid="1818046558419658463">"Internet solo está disponible a través de redes Wi-Fi"</string>
     <string name="condition_bg_data_title" msgid="1422001615923482010">"Conexiones automáticas desactivadas"</string>
     <string name="condition_bg_data_summary" msgid="656957852895282228">"Las conexiones automáticas solo están disponibles a través de redes Wi-Fi. Si la conexión Wi-Fi no está disponible, algunas aplicaciones o algunos servicios pueden verse afectados."</string>
+    <string name="condition_work_title" msgid="7293722361184366648">"Perfil de trabajo desactivado"</string>
+    <string name="condition_work_summary" msgid="7543202177571590378">"Las aplicaciones, la sincronización en segundo plano y otras funciones relacionadas con tu perfil de trabajo están desactivadas."</string>
     <string name="suggestions_title" msgid="8758376306825920705">"Sugerencias (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
     <string name="suggestion_remove" msgid="904627293892092439">"Quitar"</string>
     <string name="color_temperature" msgid="2501579996151717270">"Temperatura del color de la pantalla"</string>
     <string name="color_temperature_desc" msgid="3603319696846982249">"Habilitar temperatura del color"</string>
+    <string name="usage" msgid="2977875522080448986">"Uso"</string>
+    <string name="cellular_data_usage" msgid="2763710678354680712">"Uso de datos móviles"</string>
+    <string name="wifi_data_usage" msgid="686754111095324306">"Uso de datos Wi-Fi"</string>
+    <string name="ethernet_data_usage" msgid="5108764537574354616">"Uso de datos de Ethernet"</string>
+    <string name="wifi" msgid="1081550856200013637">"Wi-Fi"</string>
+    <string name="ethernet" msgid="6600095783781389720">"Ethernet"</string>
+    <string name="cell_data_template" msgid="3308709914705592281">"Datos móviles: <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="wifi_data_template" msgid="501654649753761778">"Datos Wi-Fi: <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="ethernet_data_template" msgid="5775729859383597507">"Datos de Ethernet: <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="cell_warning_only" msgid="763147658209027140">"Advertencia de datos: <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="cell_warning_and_limit" msgid="2273413629267437470">"Advertencia de datos: <xliff:g id="ID_1">%1$s</xliff:g>/Límite de datos: <xliff:g id="ID_2">%2$s</xliff:g>"</string>
+    <string name="billing_cycle" msgid="5169909190811133499">"Ciclo de facturación"</string>
+    <string name="billing_cycle_summary" msgid="9009106526129293752">"Ciclo mensual a partir del <xliff:g id="ID_1">%1$s</xliff:g> de cada mes"</string>
+    <string name="billing_cycle_fragment_summary" msgid="1940518156600077066">"Mensualmente a partir del <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="network_restrictions" msgid="8234695294536675380">"Restricciones de red"</string>
+    <string name="operator_warning" msgid="7206980278353372811">"El uso de datos determinado por el operador puede variar del recuento del dispositivo."</string>
+    <string name="data_used_template" msgid="3245919669966296505">"Datos utilizados: <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="data_warning" msgid="209133958008062117">"Advertencia de datos"</string>
+    <string name="set_data_limit" msgid="2901526323210516923">"Establecer límite de datos"</string>
+    <string name="data_limit" msgid="1885406964934590552">"Límite de datos"</string>
+    <string name="data_usage_template" msgid="392191945602400904">"Datos utilizados entre el <xliff:g id="ID_2">%2$s</xliff:g>: <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="configure" msgid="1029654422228677273">"Configurar"</string>
 </resources>
diff --git a/res/values-et-rEE/strings.xml b/res/values-et-rEE/strings.xml
index baf3677..e796aa6 100644
--- a/res/values-et-rEE/strings.xml
+++ b/res/values-et-rEE/strings.xml
@@ -74,8 +74,7 @@
     <string name="sdcard_unmount" product="default" msgid="3364184561355611897">"SD-kaardi lahutamine"</string>
     <string name="sdcard_format" product="nosdcard" msgid="6285310523155166716">"Kustuta USB-mäluseade"</string>
     <string name="sdcard_format" product="default" msgid="6713185532039187532">"Kustuta SD-kaart"</string>
-    <!-- no translation found for font_size_summary (133937309990844030) -->
-    <skip />
+    <string name="font_size_summary" msgid="133937309990844030">"Muutke ekraanil ilmuv tekst suuremaks või väiksemaks."</string>
     <string name="small_font" msgid="2295331917424072635">"Väike"</string>
     <string name="medium_font" msgid="2068475425515133701">"Keskmine"</string>
     <string name="large_font" msgid="599055175160971446">"Suur"</string>
@@ -265,7 +264,7 @@
     <string name="roaming_disable" msgid="1295279574370898378">"Ühenda rändluse ajal andmesideteenustega"</string>
     <string name="roaming_reenable_message" msgid="9141007271031717369">"Kaotasite andmesideühenduse, kuna jätsite oma koduvõrgu andmerändluse väljalülitatuks."</string>
     <string name="roaming_turn_it_on_button" msgid="4387601818162120589">"Lülita sisse"</string>
-    <string name="roaming_warning" msgid="7625933694709170887">"Kui lubate andmeside rändluse, siis võidakse teilt küsida suuri rändlustasusid."</string>
+    <string name="roaming_warning" msgid="4275443317524544705">"Lisanduda võivad suured tasud."</string>
     <string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"Kui lubate andmeside rändluse, siis võivad sellega kaasneda rändlustasud!\n\nSeade mõjutab tahvelarvuti kõiki kasutajaid."</string>
     <string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"Kui lubate andmeside rändluse, siis võivad sellega kaasneda rändlustasud!\n\nSeade mõjutab telefoni kõiki kasutajaid."</string>
     <string name="roaming_reenable_title" msgid="6068100976707316772">"Kas lubada andmeside rändlus?"</string>
@@ -1937,6 +1936,8 @@
     <string name="sync_is_failing" msgid="1591561768344128377">"Sünkroonimisega on praegu probleeme. See on varsti tagasi."</string>
     <string name="add_account_label" msgid="7811707265834013767">"Lisa konto"</string>
     <string name="managed_profile_not_available_label" msgid="852263300911325904">"Tööprofiil ei ole veel saadaval"</string>
+    <string name="work_mode_label" msgid="5794470908668593961">"Töörežiim"</string>
+    <string name="work_mode_summary" msgid="1620246003886940776">"Lubatakse tööprofiili toimingud, sh rakendused, taustal sünkroonimine ja seotud funktsioonid"</string>
     <string name="remove_managed_profile_label" msgid="3856519337797285325">"Eemalda tööprofiil"</string>
     <string name="background_data" msgid="5779592891375473817">"Taustaandmed"</string>
     <string name="background_data_summary" msgid="8328521479872763452">"Rakendused saavad andmeid sünkroonida, saata ja vastu võtta"</string>
@@ -2754,8 +2755,7 @@
     <string name="camera_double_tap_power_gesture_desc" msgid="7355664631775680376">"Kaamera avatakse kiirelt ekraani avamata"</string>
     <string name="screen_zoom_title" msgid="6332123593919641665">"Ekraani suum"</string>
     <string name="screen_zoom_keywords" msgid="9176477565403352552">"ekraani tihedus, ekraani suum, skaala, skaleerimine"</string>
-    <!-- no translation found for screen_zoom_summary (2022973627105802010) -->
-    <skip />
+    <string name="screen_zoom_summary" msgid="2022973627105802010">"Muutke kõik ekraanil olevad üksused suuremaks või väiksemaks. Pärast selle seade muutmist võib mõne avaekraanil oleva rakenduse asukoht muutuda."</string>
     <string name="screen_zoom_preview_title" msgid="4680671508172336572">"Eelvaade"</string>
     <string name="screen_zoom_make_smaller_desc" msgid="4622359904253364742">"Vähendamine"</string>
     <string name="screen_zoom_make_larger_desc" msgid="2236171043607896594">"Suurendamine"</string>
@@ -2799,8 +2799,32 @@
     <string name="condition_cellular_summary" msgid="1818046558419658463">"Internet on saadaval ainult WiFi kaudu"</string>
     <string name="condition_bg_data_title" msgid="1422001615923482010">"Taustaandmed on väljas"</string>
     <string name="condition_bg_data_summary" msgid="656957852895282228">"Taustaandmed on saadaval ainult WiFi kaudu. Kui WiFi pole saadaval, võib see mõjutada mõne rakenduse või teenuse tööd."</string>
+    <string name="condition_work_title" msgid="7293722361184366648">"Tööprofiil on välja lülitatud"</string>
+    <string name="condition_work_summary" msgid="7543202177571590378">"Rakendused, taustal sünkroonimine ja muud tööprofiiliga seotud funktsioonid on välja lülitatud."</string>
     <string name="suggestions_title" msgid="8758376306825920705">"Soovitused (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
     <string name="suggestion_remove" msgid="904627293892092439">"Eemalda"</string>
     <string name="color_temperature" msgid="2501579996151717270">"Värvitemperatuuri kuvamine"</string>
     <string name="color_temperature_desc" msgid="3603319696846982249">"Luba külm temperatuur"</string>
+    <string name="usage" msgid="2977875522080448986">"Kasutus"</string>
+    <string name="cellular_data_usage" msgid="2763710678354680712">"Mobiilse andmeside kasutus"</string>
+    <string name="wifi_data_usage" msgid="686754111095324306">"WiFi andmekasutus"</string>
+    <string name="ethernet_data_usage" msgid="5108764537574354616">"Etherneti andmekasutus"</string>
+    <string name="wifi" msgid="1081550856200013637">"WiFi"</string>
+    <string name="ethernet" msgid="6600095783781389720">"Ethernet"</string>
+    <string name="cell_data_template" msgid="3308709914705592281">"<xliff:g id="ID_1">%1$s</xliff:g> mobiilset andmesidet"</string>
+    <string name="wifi_data_template" msgid="501654649753761778">"<xliff:g id="ID_1">%1$s</xliff:g> WiFi-andmeid"</string>
+    <string name="ethernet_data_template" msgid="5775729859383597507">"<xliff:g id="ID_1">%1$s</xliff:g> Etherneti-andmeid"</string>
+    <string name="cell_warning_only" msgid="763147658209027140">"<xliff:g id="ID_1">%1$s</xliff:g> – andmemahu hoiatus"</string>
+    <string name="cell_warning_and_limit" msgid="2273413629267437470">"<xliff:g id="ID_1">%1$s</xliff:g> – andmemahu hoiatus / <xliff:g id="ID_2">%2$s</xliff:g> – andmemahu piirang"</string>
+    <string name="billing_cycle" msgid="5169909190811133499">"Arveldustsükkel"</string>
+    <string name="billing_cycle_summary" msgid="9009106526129293752">"Kuupõhine tsükkel algab iga kuu <xliff:g id="ID_1">%1$s</xliff:g>. päeval"</string>
+    <string name="billing_cycle_fragment_summary" msgid="1940518156600077066">"Kuupõhine alates <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="network_restrictions" msgid="8234695294536675380">"Võrgupiirangud"</string>
+    <string name="operator_warning" msgid="7206980278353372811">"Operaatori andmemahuarvestus võib seadme omast erineda."</string>
+    <string name="data_used_template" msgid="3245919669966296505">"<xliff:g id="ID_1">%1$s</xliff:g> on kasutatud"</string>
+    <string name="data_warning" msgid="209133958008062117">"Andmemahu hoiatus"</string>
+    <string name="set_data_limit" msgid="2901526323210516923">"Andmemahupiirangu määramine"</string>
+    <string name="data_limit" msgid="1885406964934590552">"Andmemahu piirang"</string>
+    <string name="data_usage_template" msgid="392191945602400904">"<xliff:g id="ID_1">%1$s</xliff:g> on kasutatud vahemikus <xliff:g id="ID_2">%2$s</xliff:g>"</string>
+    <string name="configure" msgid="1029654422228677273">"Seadistamine"</string>
 </resources>
diff --git a/res/values-eu-rES/strings.xml b/res/values-eu-rES/strings.xml
index 7a9a9a7..4ea4a5f 100644
--- a/res/values-eu-rES/strings.xml
+++ b/res/values-eu-rES/strings.xml
@@ -74,8 +74,7 @@
     <string name="sdcard_unmount" product="default" msgid="3364184561355611897">"Desmuntatu SD txartela"</string>
     <string name="sdcard_format" product="nosdcard" msgid="6285310523155166716">"Ezabatu USB memoria"</string>
     <string name="sdcard_format" product="default" msgid="6713185532039187532">"Ezabatu SD txartela"</string>
-    <!-- no translation found for font_size_summary (133937309990844030) -->
-    <skip />
+    <string name="font_size_summary" msgid="133937309990844030">"Handitu edo txikitu pantailako testua."</string>
     <string name="small_font" msgid="2295331917424072635">"Txikia"</string>
     <string name="medium_font" msgid="2068475425515133701">"Ertaina"</string>
     <string name="large_font" msgid="599055175160971446">"Handia"</string>
@@ -265,7 +264,8 @@
     <string name="roaming_disable" msgid="1295279574370898378">"Konektatu datu-zerbitzuetara ibiltaritzan"</string>
     <string name="roaming_reenable_message" msgid="9141007271031717369">"Datuen konexioa galdu duzu tokiko saretik irten zarelako ibiltaritza desaktibatuta duzula."</string>
     <string name="roaming_turn_it_on_button" msgid="4387601818162120589">"Aktibatu"</string>
-    <string name="roaming_warning" msgid="7625933694709170887">"Ibiltaritzako datuak baimentzen badituzu, baliteke ibiltaritza-kostu handiak ordaindu behar izatea!"</string>
+    <!-- no translation found for roaming_warning (4275443317524544705) -->
+    <skip />
     <string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"Ibiltaritzako datuak baimentzen badituzu, baliteke ibiltaritza-kostu handiak ordaindu behar izatea!\n\nEzarpenak tableta honen erabiltzaile guztiei eragiten die."</string>
     <string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"Ibiltaritzako datuak baimentzen badituzu, baliteke ibiltaritza-kostu handiak ordaindu behar izatea!\n\nEzarpenak telefono honen erabiltzaile guztiei eragiten die."</string>
     <string name="roaming_reenable_title" msgid="6068100976707316772">"Ibiltaritzako datuak baimendu nahi dituzu?"</string>
@@ -1215,7 +1215,7 @@
     <string name="copyright_title" msgid="865906688917260647">"Copyrighta"</string>
     <string name="license_title" msgid="1990487604356037871">"Lizentzia"</string>
     <string name="terms_title" msgid="7697580845616764642">"Zehaztapenak eta baldintzak"</string>
-    <string name="webview_license_title" msgid="2813507464175738967">"Web-ikustailearen lizentzia"</string>
+    <string name="webview_license_title" msgid="2813507464175738967">"Sistemaren WebView lizentzia"</string>
     <string name="wallpaper_attributions" msgid="3645880512943433928">"Horma-paperak"</string>
     <string name="wallpaper_attributions_values" msgid="2996183537914690469">"Satelite-irudien hornitzaileak:\n©2014 CNES / Astrium, DigitalGlobe, Bluesky"</string>
     <string name="settings_manual_activity_title" msgid="8133150693616006051">"Eskuliburua"</string>
@@ -1937,6 +1937,10 @@
     <string name="sync_is_failing" msgid="1591561768344128377">"Sinkronizazioak arazoak ditu. Laster egongo da berriro erabilgarri."</string>
     <string name="add_account_label" msgid="7811707265834013767">"Gehitu kontua"</string>
     <string name="managed_profile_not_available_label" msgid="852263300911325904">"Laneko profila ez dago oraindik erabilgarri"</string>
+    <!-- no translation found for work_mode_label (5794470908668593961) -->
+    <skip />
+    <!-- no translation found for work_mode_summary (1620246003886940776) -->
+    <skip />
     <string name="remove_managed_profile_label" msgid="3856519337797285325">"Kendu laneko profila"</string>
     <string name="background_data" msgid="5779592891375473817">"Atzeko planoko datuak"</string>
     <string name="background_data_summary" msgid="8328521479872763452">"Aplikazioek datuak edonoiz sinkroniza, bidal eta jaso ditzakete"</string>
@@ -2754,8 +2758,7 @@
     <string name="camera_double_tap_power_gesture_desc" msgid="7355664631775680376">"Ireki kamera bizkor, pantaila desblokeatu beharrik gabe"</string>
     <string name="screen_zoom_title" msgid="6332123593919641665">"Pantailaren zooma"</string>
     <string name="screen_zoom_keywords" msgid="9176477565403352552">"pantaila, dentsitate, zoom, eskala, tamaina, egokitu, doitu"</string>
-    <!-- no translation found for screen_zoom_summary (2022973627105802010) -->
-    <skip />
+    <string name="screen_zoom_summary" msgid="2022973627105802010">"Handitu edo txikitu pantailako elementu guztiak. Ezarpena aldatu ondoren, baliteke hasierako pantailako aplikazio batzuen posizioa aldatzea."</string>
     <string name="screen_zoom_preview_title" msgid="4680671508172336572">"Aurrebista"</string>
     <string name="screen_zoom_make_smaller_desc" msgid="4622359904253364742">"Txikitu"</string>
     <string name="screen_zoom_make_larger_desc" msgid="2236171043607896594">"Handitu"</string>
@@ -2799,8 +2802,56 @@
     <string name="condition_cellular_summary" msgid="1818046558419658463">"Wi-Fi bidez soilik erabil daiteke Internet"</string>
     <string name="condition_bg_data_title" msgid="1422001615923482010">"Atzeko planoko datuak desaktib."</string>
     <string name="condition_bg_data_summary" msgid="656957852895282228">"Atzeko planoko datuak Wi-Fi bidez soilik erabil daitezke. Horrek eragina izango du aplikazio eta zerbitzu batzuetan, Wi-Fi konexiorik ez dagoenean."</string>
+    <!-- no translation found for condition_work_title (7293722361184366648) -->
+    <skip />
+    <!-- no translation found for condition_work_summary (7543202177571590378) -->
+    <skip />
     <string name="suggestions_title" msgid="8758376306825920705">"Iradokizunak (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
     <string name="suggestion_remove" msgid="904627293892092439">"Kendu"</string>
     <string name="color_temperature" msgid="2501579996151717270">"Pantailaren kolorearen tenperatura"</string>
     <string name="color_temperature_desc" msgid="3603319696846982249">"Gaitu tenperatura hotza"</string>
+    <!-- no translation found for usage (2977875522080448986) -->
+    <skip />
+    <!-- no translation found for cellular_data_usage (2763710678354680712) -->
+    <skip />
+    <!-- no translation found for wifi_data_usage (686754111095324306) -->
+    <skip />
+    <!-- no translation found for ethernet_data_usage (5108764537574354616) -->
+    <skip />
+    <!-- no translation found for wifi (1081550856200013637) -->
+    <skip />
+    <!-- no translation found for ethernet (6600095783781389720) -->
+    <skip />
+    <!-- no translation found for cell_data_template (3308709914705592281) -->
+    <skip />
+    <!-- no translation found for wifi_data_template (501654649753761778) -->
+    <skip />
+    <!-- no translation found for ethernet_data_template (5775729859383597507) -->
+    <skip />
+    <!-- no translation found for cell_warning_only (763147658209027140) -->
+    <skip />
+    <!-- no translation found for cell_warning_and_limit (2273413629267437470) -->
+    <skip />
+    <!-- no translation found for billing_cycle (5169909190811133499) -->
+    <skip />
+    <!-- no translation found for billing_cycle_summary (9009106526129293752) -->
+    <skip />
+    <!-- no translation found for billing_cycle_fragment_summary (1940518156600077066) -->
+    <skip />
+    <!-- no translation found for network_restrictions (8234695294536675380) -->
+    <skip />
+    <!-- no translation found for operator_warning (7206980278353372811) -->
+    <skip />
+    <!-- no translation found for data_used_template (3245919669966296505) -->
+    <skip />
+    <!-- no translation found for data_warning (209133958008062117) -->
+    <skip />
+    <!-- no translation found for set_data_limit (2901526323210516923) -->
+    <skip />
+    <!-- no translation found for data_limit (1885406964934590552) -->
+    <skip />
+    <!-- no translation found for data_usage_template (392191945602400904) -->
+    <skip />
+    <!-- no translation found for configure (1029654422228677273) -->
+    <skip />
 </resources>
diff --git a/res/values-fa/strings.xml b/res/values-fa/strings.xml
index b6cfb2e..e813f9f 100644
--- a/res/values-fa/strings.xml
+++ b/res/values-fa/strings.xml
@@ -74,8 +74,7 @@
     <string name="sdcard_unmount" product="default" msgid="3364184561355611897">"‏جدا کردن کارت SD"</string>
     <string name="sdcard_format" product="nosdcard" msgid="6285310523155166716">"‏پاک کردن حافظهٔ USB"</string>
     <string name="sdcard_format" product="default" msgid="6713185532039187532">"‏پاک کردن کارت SD"</string>
-    <!-- no translation found for font_size_summary (133937309990844030) -->
-    <skip />
+    <string name="font_size_summary" msgid="133937309990844030">"اندازه نوشتار روی صفحه را کوچک‌تر یا بزرگ‌تر می‌کند."</string>
     <string name="small_font" msgid="2295331917424072635">"کوچک"</string>
     <string name="medium_font" msgid="2068475425515133701">"متوسط"</string>
     <string name="large_font" msgid="599055175160971446">"بزرگ"</string>
@@ -265,7 +264,8 @@
     <string name="roaming_disable" msgid="1295279574370898378">"اتصال به سرویس‌های داده هنگام رومینگ"</string>
     <string name="roaming_reenable_message" msgid="9141007271031717369">"شما اتصال داده خود را از دست داده‌اید زیرا رومینگ داده را در شبکه اصلی خود خاموش کرده‌اید."</string>
     <string name="roaming_turn_it_on_button" msgid="4387601818162120589">"روشن کنید"</string>
-    <string name="roaming_warning" msgid="7625933694709170887">"هنگام انجام رومینگ داده، ممکن است هزینه‌های رومینگ قابل توجهی را متحمل شوید!"</string>
+    <!-- no translation found for roaming_warning (4275443317524544705) -->
+    <skip />
     <string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"وقتی به رومینگ داده اجازه می‌دهید، ممکن است رومینگ، هزینه‌های بسیار زیادی برای شما در پی داشته باشد!\n\nاین تنظیم روی همه کاربران موجود در این رایانه لوحی تأثیر می‌گذارد."</string>
     <string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"وقتی به رومینگ داده اجازه می‌دهید، ممکن است هزینه‌های بسیار زیادی برای شما در پی داشته باشد!\n\nاین تنظیم روی همه کاربران موجود در این تلفن تأثیر می‌گذارد."</string>
     <string name="roaming_reenable_title" msgid="6068100976707316772">"رومینگ داده مجاز است؟"</string>
@@ -1937,6 +1937,10 @@
     <string name="sync_is_failing" msgid="1591561768344128377">"همگام‌سازی در حال حاضر دارای مشکلی است. در مدت کوتاهی تصحیح می‌شود."</string>
     <string name="add_account_label" msgid="7811707265834013767">"افزودن حساب"</string>
     <string name="managed_profile_not_available_label" msgid="852263300911325904">"نمایه کاری هنوز در دسترس نیست"</string>
+    <!-- no translation found for work_mode_label (5794470908668593961) -->
+    <skip />
+    <!-- no translation found for work_mode_summary (1620246003886940776) -->
+    <skip />
     <string name="remove_managed_profile_label" msgid="3856519337797285325">"حذف نمایه کار"</string>
     <string name="background_data" msgid="5779592891375473817">"داده‌های پس‌زمینه"</string>
     <string name="background_data_summary" msgid="8328521479872763452">"برنامه‌ها در هر زمان می‌توانند داده‌ها را همگام کرده، ارسال و دریافت کنند"</string>
@@ -2754,8 +2758,7 @@
     <string name="camera_double_tap_power_gesture_desc" msgid="7355664631775680376">"دوربین را سریع و بدون باز کردن قفل صفحه باز کنید"</string>
     <string name="screen_zoom_title" msgid="6332123593919641665">"بزرگنمایی صفحه نمایش"</string>
     <string name="screen_zoom_keywords" msgid="9176477565403352552">"تراکم نمایشگر، بزرگ‌نمایی صفحه، مقیاس، مقیاس‌بندی"</string>
-    <!-- no translation found for screen_zoom_summary (2022973627105802010) -->
-    <skip />
+    <string name="screen_zoom_summary" msgid="2022973627105802010">"همه موارد روی صفحه را بزرگ‌تر یا کوچک‌تر می‌کند. ممکن است بعد از تغییر این تنظیم، موقعیت بعضی از برنامه‌ها در صفحه اصلی تغییر کند."</string>
     <string name="screen_zoom_preview_title" msgid="4680671508172336572">"پیش‌نمایش"</string>
     <string name="screen_zoom_make_smaller_desc" msgid="4622359904253364742">"کوچک‌تر ببینید"</string>
     <string name="screen_zoom_make_larger_desc" msgid="2236171043607896594">"بزرگ‌تر ببینید"</string>
@@ -2799,8 +2802,55 @@
     <string name="condition_cellular_summary" msgid="1818046558419658463">"‏اینترنت فقط از طریق Wi-Fi در دسترس است"</string>
     <string name="condition_bg_data_title" msgid="1422001615923482010">"داده پس‌زمینه خاموش است"</string>
     <string name="condition_bg_data_summary" msgid="656957852895282228">"‏داده پس‌زمینه فقط از طریق Wi-Fi در دسترس است. وقتی Wi-Fi در دسترس نباشد، این قابلیت می‌تواند بعضی از برنامه‌ها یا خدمات را تحت تأثیر قرار دهد."</string>
+    <!-- no translation found for condition_work_title (7293722361184366648) -->
+    <skip />
+    <!-- no translation found for condition_work_summary (7543202177571590378) -->
+    <skip />
     <string name="suggestions_title" msgid="8758376306825920705">"پیشنهادات (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
     <string name="suggestion_remove" msgid="904627293892092439">"حذف"</string>
     <string name="color_temperature" msgid="2501579996151717270">"دمای رنگ نمایشگر"</string>
     <string name="color_temperature_desc" msgid="3603319696846982249">"فعال کردن دمای سرد"</string>
+    <!-- no translation found for usage (2977875522080448986) -->
+    <skip />
+    <!-- no translation found for cellular_data_usage (2763710678354680712) -->
+    <skip />
+    <!-- no translation found for wifi_data_usage (686754111095324306) -->
+    <skip />
+    <!-- no translation found for ethernet_data_usage (5108764537574354616) -->
+    <skip />
+    <string name="wifi" msgid="1081550856200013637">"Wi-Fi"</string>
+    <!-- no translation found for ethernet (6600095783781389720) -->
+    <skip />
+    <!-- no translation found for cell_data_template (3308709914705592281) -->
+    <skip />
+    <!-- no translation found for wifi_data_template (501654649753761778) -->
+    <skip />
+    <!-- no translation found for ethernet_data_template (5775729859383597507) -->
+    <skip />
+    <!-- no translation found for cell_warning_only (763147658209027140) -->
+    <skip />
+    <!-- no translation found for cell_warning_and_limit (2273413629267437470) -->
+    <skip />
+    <!-- no translation found for billing_cycle (5169909190811133499) -->
+    <skip />
+    <!-- no translation found for billing_cycle_summary (9009106526129293752) -->
+    <skip />
+    <!-- no translation found for billing_cycle_fragment_summary (1940518156600077066) -->
+    <skip />
+    <!-- no translation found for network_restrictions (8234695294536675380) -->
+    <skip />
+    <!-- no translation found for operator_warning (7206980278353372811) -->
+    <skip />
+    <!-- no translation found for data_used_template (3245919669966296505) -->
+    <skip />
+    <!-- no translation found for data_warning (209133958008062117) -->
+    <skip />
+    <!-- no translation found for set_data_limit (2901526323210516923) -->
+    <skip />
+    <!-- no translation found for data_limit (1885406964934590552) -->
+    <skip />
+    <!-- no translation found for data_usage_template (392191945602400904) -->
+    <skip />
+    <!-- no translation found for configure (1029654422228677273) -->
+    <skip />
 </resources>
diff --git a/res/values-fi/strings.xml b/res/values-fi/strings.xml
index bdcba68..ce55e5a 100644
--- a/res/values-fi/strings.xml
+++ b/res/values-fi/strings.xml
@@ -74,8 +74,7 @@
     <string name="sdcard_unmount" product="default" msgid="3364184561355611897">"Poista SD-kortti käytöstä"</string>
     <string name="sdcard_format" product="nosdcard" msgid="6285310523155166716">"Tyhjennä USB-tila"</string>
     <string name="sdcard_format" product="default" msgid="6713185532039187532">"Tyhjennä SD-kortti"</string>
-    <!-- no translation found for font_size_summary (133937309990844030) -->
-    <skip />
+    <string name="font_size_summary" msgid="133937309990844030">"Suurenna tai pienennä näytöllä olevaa tekstiä."</string>
     <string name="small_font" msgid="2295331917424072635">"Pieni"</string>
     <string name="medium_font" msgid="2068475425515133701">"Keskikokoinen"</string>
     <string name="large_font" msgid="599055175160971446">"Suuri"</string>
@@ -265,7 +264,8 @@
     <string name="roaming_disable" msgid="1295279574370898378">"Yhdistä verkkoon roaming-tilassa"</string>
     <string name="roaming_reenable_message" msgid="9141007271031717369">"Verkkoyhteys katkesi, koska poistuit kotiverkkosi alueelta eikä roaming-tilaa ole otettu käyttöön."</string>
     <string name="roaming_turn_it_on_button" msgid="4387601818162120589">"Ota käyttöön"</string>
-    <string name="roaming_warning" msgid="7625933694709170887">"Jos sallit verkkoyhteyden roaming-tilassa, roaming-maksut saattavat kasvaa suuriksi!"</string>
+    <!-- no translation found for roaming_warning (4275443317524544705) -->
+    <skip />
     <string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"Jos sallit tiedonsiirron roaming-tilassa, sinulle voi koitua suuria roaming-maksuja.\n\nTämä asetus vaikuttaa kaikkiin tämän tablet-laitteen käyttäjiin."</string>
     <string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"Jos sallit tiedonsiirron roaming-tilassa, sinulle voi koitua suuria roaming-maksuja.\n\nTämä asetus vaikuttaa kaikkiin tämän puhelimen käyttäjiin."</string>
     <string name="roaming_reenable_title" msgid="6068100976707316772">"Sallitaanko tiedonsiirto roaming-tilassa?"</string>
@@ -1937,6 +1937,10 @@
     <string name="sync_is_failing" msgid="1591561768344128377">"Synkronoinnissa on tällä hetkellä ongelmia. Palvelu palaa käyttöön hetken kuluttua."</string>
     <string name="add_account_label" msgid="7811707265834013767">"Lisää tili"</string>
     <string name="managed_profile_not_available_label" msgid="852263300911325904">"Työprofiili ei ole vielä käytettävissä"</string>
+    <!-- no translation found for work_mode_label (5794470908668593961) -->
+    <skip />
+    <!-- no translation found for work_mode_summary (1620246003886940776) -->
+    <skip />
     <string name="remove_managed_profile_label" msgid="3856519337797285325">"Poista työprofiili"</string>
     <string name="background_data" msgid="5779592891375473817">"Taustatiedot"</string>
     <string name="background_data_summary" msgid="8328521479872763452">"Sovell. voivat synkr., läh. &amp; vast.ottaa tietoa milloin vain"</string>
@@ -2754,8 +2758,7 @@
     <string name="camera_double_tap_power_gesture_desc" msgid="7355664631775680376">"Avaa kamera nopeasti avaamatta näytön lukitusta"</string>
     <string name="screen_zoom_title" msgid="6332123593919641665">"Näytön lähennys"</string>
     <string name="screen_zoom_keywords" msgid="9176477565403352552">"näytön tiheys, näytön zoomaus, skaala, skaalaus"</string>
-    <!-- no translation found for screen_zoom_summary (2022973627105802010) -->
-    <skip />
+    <string name="screen_zoom_summary" msgid="2022973627105802010">"Suurenna tai pienennä kaikkia näytöllä olevia kohteita. Tämän asetuksen muuttaminen voi siirtää joitakin aloitusnäytöllä olevia sovelluksia."</string>
     <string name="screen_zoom_preview_title" msgid="4680671508172336572">"Esikatselu"</string>
     <string name="screen_zoom_make_smaller_desc" msgid="4622359904253364742">"Pienennä"</string>
     <string name="screen_zoom_make_larger_desc" msgid="2236171043607896594">"Suurenna"</string>
@@ -2799,8 +2802,55 @@
     <string name="condition_cellular_summary" msgid="1818046558419658463">"Voit muodostaa yhteyden internetiin vain Wi-Fin kautta."</string>
     <string name="condition_bg_data_title" msgid="1422001615923482010">"Taustatiedot ovat pois päältä"</string>
     <string name="condition_bg_data_summary" msgid="656957852895282228">"Taustatiedot ovat käytettävissä vain Wi-Fi-yhteyden kautta. Tämä voi vaikuttaa joidenkin sovellusten tai palvelujen toimintaan, kun et käytä Wi-Fi-yhteyttä."</string>
+    <!-- no translation found for condition_work_title (7293722361184366648) -->
+    <skip />
+    <!-- no translation found for condition_work_summary (7543202177571590378) -->
+    <skip />
     <string name="suggestions_title" msgid="8758376306825920705">"Ehdotukset (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
     <string name="suggestion_remove" msgid="904627293892092439">"Poista"</string>
     <string name="color_temperature" msgid="2501579996151717270">"Näytä värilämpötila"</string>
     <string name="color_temperature_desc" msgid="3603319696846982249">"Ota viileä värilämpötila käyttöön."</string>
+    <!-- no translation found for usage (2977875522080448986) -->
+    <skip />
+    <!-- no translation found for cellular_data_usage (2763710678354680712) -->
+    <skip />
+    <!-- no translation found for wifi_data_usage (686754111095324306) -->
+    <skip />
+    <!-- no translation found for ethernet_data_usage (5108764537574354616) -->
+    <skip />
+    <string name="wifi" msgid="1081550856200013637">"Wi-Fi"</string>
+    <!-- no translation found for ethernet (6600095783781389720) -->
+    <skip />
+    <!-- no translation found for cell_data_template (3308709914705592281) -->
+    <skip />
+    <!-- no translation found for wifi_data_template (501654649753761778) -->
+    <skip />
+    <!-- no translation found for ethernet_data_template (5775729859383597507) -->
+    <skip />
+    <!-- no translation found for cell_warning_only (763147658209027140) -->
+    <skip />
+    <!-- no translation found for cell_warning_and_limit (2273413629267437470) -->
+    <skip />
+    <!-- no translation found for billing_cycle (5169909190811133499) -->
+    <skip />
+    <!-- no translation found for billing_cycle_summary (9009106526129293752) -->
+    <skip />
+    <!-- no translation found for billing_cycle_fragment_summary (1940518156600077066) -->
+    <skip />
+    <!-- no translation found for network_restrictions (8234695294536675380) -->
+    <skip />
+    <!-- no translation found for operator_warning (7206980278353372811) -->
+    <skip />
+    <!-- no translation found for data_used_template (3245919669966296505) -->
+    <skip />
+    <!-- no translation found for data_warning (209133958008062117) -->
+    <skip />
+    <!-- no translation found for set_data_limit (2901526323210516923) -->
+    <skip />
+    <!-- no translation found for data_limit (1885406964934590552) -->
+    <skip />
+    <!-- no translation found for data_usage_template (392191945602400904) -->
+    <skip />
+    <!-- no translation found for configure (1029654422228677273) -->
+    <skip />
 </resources>
diff --git a/res/values-fr-rCA/strings.xml b/res/values-fr-rCA/strings.xml
index 5b7d3c1..dcce61f 100644
--- a/res/values-fr-rCA/strings.xml
+++ b/res/values-fr-rCA/strings.xml
@@ -74,8 +74,7 @@
     <string name="sdcard_unmount" product="default" msgid="3364184561355611897">"Désinstaller la carte SD"</string>
     <string name="sdcard_format" product="nosdcard" msgid="6285310523155166716">"Effacer la mémoire de stockage USB"</string>
     <string name="sdcard_format" product="default" msgid="6713185532039187532">"Effacer la carte SD"</string>
-    <!-- no translation found for font_size_summary (133937309990844030) -->
-    <skip />
+    <string name="font_size_summary" msgid="133937309990844030">"Agrandissez ou réduisez le texte affiché."</string>
     <string name="small_font" msgid="2295331917424072635">"Petit"</string>
     <string name="medium_font" msgid="2068475425515133701">"Moyen"</string>
     <string name="large_font" msgid="599055175160971446">"Grande"</string>
@@ -265,7 +264,8 @@
     <string name="roaming_disable" msgid="1295279574370898378">"Se connecter aux services de données lors de l\'itinérance"</string>
     <string name="roaming_reenable_message" msgid="9141007271031717369">"Vous avez été déconnecté, car vous avez quitté votre réseau domestique et l\'itinérance des données est désactivée."</string>
     <string name="roaming_turn_it_on_button" msgid="4387601818162120589">"Activer"</string>
-    <string name="roaming_warning" msgid="7625933694709170887">"Lorsque vous activez l\'itinérance des données, des frais d\'itinérance importants peuvent s\'appliquer."</string>
+    <!-- no translation found for roaming_warning (4275443317524544705) -->
+    <skip />
     <string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"Lorsque vous autorisez l\'itinérance des données, des frais d\'itinérance importants peuvent s\'appliquer!\n\nCe paramètre affecte tous les utilisateurs de cette tablette."</string>
     <string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"Lorsque vous autorisez l\'itinérance des données, des frais d\'itinérance importants peuvent s\'appliquer!\n\nCe paramètre affecte tous les utilisateurs de ce téléphone."</string>
     <string name="roaming_reenable_title" msgid="6068100976707316772">"Autoriser l\'itinérance des données?"</string>
@@ -1937,6 +1937,10 @@
     <string name="sync_is_failing" msgid="1591561768344128377">"La synchronisation rencontre actuellement des problèmes. Elle sera rétablie sous peu."</string>
     <string name="add_account_label" msgid="7811707265834013767">"Ajouter un compte"</string>
     <string name="managed_profile_not_available_label" msgid="852263300911325904">"Le profil professionnel n\'est pas encore disponible"</string>
+    <!-- no translation found for work_mode_label (5794470908668593961) -->
+    <skip />
+    <!-- no translation found for work_mode_summary (1620246003886940776) -->
+    <skip />
     <string name="remove_managed_profile_label" msgid="3856519337797285325">"Supprimer le profil professionnel"</string>
     <string name="background_data" msgid="5779592891375473817">"Données en arrière-plan"</string>
     <string name="background_data_summary" msgid="8328521479872763452">"Synchronisation, envoi et réception de données à tout moment"</string>
@@ -2754,8 +2758,7 @@
     <string name="camera_double_tap_power_gesture_desc" msgid="7355664631775680376">"Lancez rapidement l\'appareil photo sans déverrouiller l\'écran"</string>
     <string name="screen_zoom_title" msgid="6332123593919641665">"Zoom de l\'écran"</string>
     <string name="screen_zoom_keywords" msgid="9176477565403352552">"densité d\'affichage, zoom de l\'écran, échelle, mise à l\'échelle"</string>
-    <!-- no translation found for screen_zoom_summary (2022973627105802010) -->
-    <skip />
+    <string name="screen_zoom_summary" msgid="2022973627105802010">"Agrandissez ou réduisez tous les éléments affichés. Si vous modifiez ce paramètre, certaines applications de votre écran d\'accueil risquent de changer de position."</string>
     <string name="screen_zoom_preview_title" msgid="4680671508172336572">"Aperçu"</string>
     <string name="screen_zoom_make_smaller_desc" msgid="4622359904253364742">"Rapetisser"</string>
     <string name="screen_zoom_make_larger_desc" msgid="2236171043607896594">"Agrandir"</string>
@@ -2799,8 +2802,55 @@
     <string name="condition_cellular_summary" msgid="1818046558419658463">"Internet est uniquement accessible par Wi-Fi"</string>
     <string name="condition_bg_data_title" msgid="1422001615923482010">"Données arrière-plan désactivées"</string>
     <string name="condition_bg_data_summary" msgid="656957852895282228">"Les données en arrière-plan ne sont accessibles que par Wi-Fi. Cela peut nuire à certaines applications ou certains services lorsque le Wi-Fi n\'est pas accessible."</string>
+    <!-- no translation found for condition_work_title (7293722361184366648) -->
+    <skip />
+    <!-- no translation found for condition_work_summary (7543202177571590378) -->
+    <skip />
     <string name="suggestions_title" msgid="8758376306825920705">"Suggestions (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
     <string name="suggestion_remove" msgid="904627293892092439">"Supprimer"</string>
     <string name="color_temperature" msgid="2501579996151717270">"Afficher la température des couleurs"</string>
     <string name="color_temperature_desc" msgid="3603319696846982249">"Activer les couleurs froides"</string>
+    <!-- no translation found for usage (2977875522080448986) -->
+    <skip />
+    <!-- no translation found for cellular_data_usage (2763710678354680712) -->
+    <skip />
+    <!-- no translation found for wifi_data_usage (686754111095324306) -->
+    <skip />
+    <!-- no translation found for ethernet_data_usage (5108764537574354616) -->
+    <skip />
+    <string name="wifi" msgid="1081550856200013637">"Wi-Fi"</string>
+    <!-- no translation found for ethernet (6600095783781389720) -->
+    <skip />
+    <!-- no translation found for cell_data_template (3308709914705592281) -->
+    <skip />
+    <!-- no translation found for wifi_data_template (501654649753761778) -->
+    <skip />
+    <!-- no translation found for ethernet_data_template (5775729859383597507) -->
+    <skip />
+    <!-- no translation found for cell_warning_only (763147658209027140) -->
+    <skip />
+    <!-- no translation found for cell_warning_and_limit (2273413629267437470) -->
+    <skip />
+    <!-- no translation found for billing_cycle (5169909190811133499) -->
+    <skip />
+    <!-- no translation found for billing_cycle_summary (9009106526129293752) -->
+    <skip />
+    <!-- no translation found for billing_cycle_fragment_summary (1940518156600077066) -->
+    <skip />
+    <!-- no translation found for network_restrictions (8234695294536675380) -->
+    <skip />
+    <!-- no translation found for operator_warning (7206980278353372811) -->
+    <skip />
+    <!-- no translation found for data_used_template (3245919669966296505) -->
+    <skip />
+    <!-- no translation found for data_warning (209133958008062117) -->
+    <skip />
+    <!-- no translation found for set_data_limit (2901526323210516923) -->
+    <skip />
+    <!-- no translation found for data_limit (1885406964934590552) -->
+    <skip />
+    <!-- no translation found for data_usage_template (392191945602400904) -->
+    <skip />
+    <!-- no translation found for configure (1029654422228677273) -->
+    <skip />
 </resources>
diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml
index 116e3ca..7e9da67 100644
--- a/res/values-fr/strings.xml
+++ b/res/values-fr/strings.xml
@@ -74,8 +74,7 @@
     <string name="sdcard_unmount" product="default" msgid="3364184561355611897">"Désinstaller la carte SD"</string>
     <string name="sdcard_format" product="nosdcard" msgid="6285310523155166716">"Effacer la mémoire de stockage USB"</string>
     <string name="sdcard_format" product="default" msgid="6713185532039187532">"Formater la carte SD"</string>
-    <!-- no translation found for font_size_summary (133937309990844030) -->
-    <skip />
+    <string name="font_size_summary" msgid="133937309990844030">"Agrandissez ou réduisez le texte affiché."</string>
     <string name="small_font" msgid="2295331917424072635">"Petite"</string>
     <string name="medium_font" msgid="2068475425515133701">"Moyenne"</string>
     <string name="large_font" msgid="599055175160971446">"Grande"</string>
@@ -265,7 +264,8 @@
     <string name="roaming_disable" msgid="1295279574370898378">"Se connecter aux services de données lors de l\'itinérance"</string>
     <string name="roaming_reenable_message" msgid="9141007271031717369">"Vous avez été déconnecté, car vous avez quitté votre réseau domestique et l\'itinérance des données est désactivée."</string>
     <string name="roaming_turn_it_on_button" msgid="4387601818162120589">"Activer"</string>
-    <string name="roaming_warning" msgid="7625933694709170887">"Lorsque vous activez l\'itinérance des données, des frais d\'itinérance importants peuvent s\'appliquer."</string>
+    <!-- no translation found for roaming_warning (4275443317524544705) -->
+    <skip />
     <string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"Lorsque vous autorisez l\'itinérance des données, des frais d\'itinérance importants peuvent s\'appliquer !\n\nCe paramètre affecte tous les utilisateurs de cette tablette."</string>
     <string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"Lorsque vous autorisez l\'itinérance des données, des frais d\'itinérance importants peuvent s\'appliquer !\n\nCe paramètre affecte tous les utilisateurs de ce téléphone."</string>
     <string name="roaming_reenable_title" msgid="6068100976707316772">"Autoriser l\'itinérance des données ?"</string>
@@ -1276,7 +1276,7 @@
     <string name="lock_settings_profile_screen_lock_title" msgid="3334747927367115256">"Verrouillage de l\'écran du profil professionnel"</string>
     <string name="lock_settings_profile_unification_title" msgid="3130455578336894831">"Utiliser le même verrouillage d\'écran"</string>
     <string name="lock_settings_profile_unification_summary" msgid="8014208091623293835">"Modifier le profil principal afin qu\'il corresponde au profil professionnel"</string>
-    <string name="lock_settings_profile_unification_dialog_title" msgid="5297248764066294130">"Utilisez le même verrouillage d\'écran ?"</string>
+    <string name="lock_settings_profile_unification_dialog_title" msgid="5297248764066294130">"Utiliser le même verrouillage d\'écran ?"</string>
     <string name="lock_settings_profile_unification_dialog_body" msgid="342417647696962745">"Vous pouvez utiliser ce verrouillage pour votre appareil, mais sachez qu\'il inclut toutes les règles liées au verrouillage de l\'écran définies par votre administrateur informatique sur le profil professionnel.\nVoulez-vous utiliser le même verrouillage d\'écran sur votre appareil ?"</string>
     <string name="lock_settings_profile_unified_summary" msgid="237623767711796217">"Identique au verrouillage de votre appareil"</string>
     <string name="manageapplications_settings_title" msgid="7041951105633616745">"Gérer les applications"</string>
@@ -1937,6 +1937,10 @@
     <string name="sync_is_failing" msgid="1591561768344128377">"La synchronisation rencontre des problèmes et sera bientôt rétablie."</string>
     <string name="add_account_label" msgid="7811707265834013767">"Ajouter un compte"</string>
     <string name="managed_profile_not_available_label" msgid="852263300911325904">"Le profil professionnel n\'est pas encore disponible."</string>
+    <!-- no translation found for work_mode_label (5794470908668593961) -->
+    <skip />
+    <!-- no translation found for work_mode_summary (1620246003886940776) -->
+    <skip />
     <string name="remove_managed_profile_label" msgid="3856519337797285325">"Supprimer le profil professionnel"</string>
     <string name="background_data" msgid="5779592891375473817">"Données en arrière-plan"</string>
     <string name="background_data_summary" msgid="8328521479872763452">"Synchronisation, envoi et réception de données à tout moment"</string>
@@ -2754,8 +2758,7 @@
     <string name="camera_double_tap_power_gesture_desc" msgid="7355664631775680376">"Lancez rapidement la caméra sans déverrouiller l\'écran."</string>
     <string name="screen_zoom_title" msgid="6332123593919641665">"Zoom sur l\'écran"</string>
     <string name="screen_zoom_keywords" msgid="9176477565403352552">"densité d\'affichage, zoom sur l\'écran, échelle, mise à l\'échelle"</string>
-    <!-- no translation found for screen_zoom_summary (2022973627105802010) -->
-    <skip />
+    <string name="screen_zoom_summary" msgid="2022973627105802010">"Agrandissez ou réduisez tous les éléments affichés. Si vous modifiez ce paramètre, certaines applications de votre écran d\'accueil risquent de changer de position."</string>
     <string name="screen_zoom_preview_title" msgid="4680671508172336572">"Aperçu"</string>
     <string name="screen_zoom_make_smaller_desc" msgid="4622359904253364742">"Réduire"</string>
     <string name="screen_zoom_make_larger_desc" msgid="2236171043607896594">"Agrandir"</string>
@@ -2799,8 +2802,55 @@
     <string name="condition_cellular_summary" msgid="1818046558419658463">"Internet n\'est disponible que via le Wi-Fi"</string>
     <string name="condition_bg_data_title" msgid="1422001615923482010">"Données arrière-plan désactiv."</string>
     <string name="condition_bg_data_summary" msgid="656957852895282228">"Les données en arrière-plan ne sont disponibles que via le Wi-Fi. Cela peut affecter certaines applications ou certains services lorsque le Wi-Fi n\'est pas accessible."</string>
+    <!-- no translation found for condition_work_title (7293722361184366648) -->
+    <skip />
+    <!-- no translation found for condition_work_summary (7543202177571590378) -->
+    <skip />
     <string name="suggestions_title" msgid="8758376306825920705">"Suggestions (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
     <string name="suggestion_remove" msgid="904627293892092439">"Supprimer"</string>
     <string name="color_temperature" msgid="2501579996151717270">"Afficher la température des couleurs"</string>
     <string name="color_temperature_desc" msgid="3603319696846982249">"Activer les couleurs froides"</string>
+    <!-- no translation found for usage (2977875522080448986) -->
+    <skip />
+    <!-- no translation found for cellular_data_usage (2763710678354680712) -->
+    <skip />
+    <!-- no translation found for wifi_data_usage (686754111095324306) -->
+    <skip />
+    <!-- no translation found for ethernet_data_usage (5108764537574354616) -->
+    <skip />
+    <string name="wifi" msgid="1081550856200013637">"Wi-Fi"</string>
+    <!-- no translation found for ethernet (6600095783781389720) -->
+    <skip />
+    <!-- no translation found for cell_data_template (3308709914705592281) -->
+    <skip />
+    <!-- no translation found for wifi_data_template (501654649753761778) -->
+    <skip />
+    <!-- no translation found for ethernet_data_template (5775729859383597507) -->
+    <skip />
+    <!-- no translation found for cell_warning_only (763147658209027140) -->
+    <skip />
+    <!-- no translation found for cell_warning_and_limit (2273413629267437470) -->
+    <skip />
+    <!-- no translation found for billing_cycle (5169909190811133499) -->
+    <skip />
+    <!-- no translation found for billing_cycle_summary (9009106526129293752) -->
+    <skip />
+    <!-- no translation found for billing_cycle_fragment_summary (1940518156600077066) -->
+    <skip />
+    <!-- no translation found for network_restrictions (8234695294536675380) -->
+    <skip />
+    <!-- no translation found for operator_warning (7206980278353372811) -->
+    <skip />
+    <!-- no translation found for data_used_template (3245919669966296505) -->
+    <skip />
+    <!-- no translation found for data_warning (209133958008062117) -->
+    <skip />
+    <!-- no translation found for set_data_limit (2901526323210516923) -->
+    <skip />
+    <!-- no translation found for data_limit (1885406964934590552) -->
+    <skip />
+    <!-- no translation found for data_usage_template (392191945602400904) -->
+    <skip />
+    <!-- no translation found for configure (1029654422228677273) -->
+    <skip />
 </resources>
diff --git a/res/values-gl-rES/strings.xml b/res/values-gl-rES/strings.xml
index 5b22bec..643bbd2 100644
--- a/res/values-gl-rES/strings.xml
+++ b/res/values-gl-rES/strings.xml
@@ -74,17 +74,16 @@
     <string name="sdcard_unmount" product="default" msgid="3364184561355611897">"Desactivar a tarxeta SD"</string>
     <string name="sdcard_format" product="nosdcard" msgid="6285310523155166716">"Borrar almacenamento USB"</string>
     <string name="sdcard_format" product="default" msgid="6713185532039187532">"Borrar tarxeta SD"</string>
-    <!-- no translation found for font_size_summary (133937309990844030) -->
-    <skip />
+    <string name="font_size_summary" msgid="133937309990844030">"Reduce ou amplía o texto da pantalla."</string>
     <string name="small_font" msgid="2295331917424072635">"Pequeno"</string>
     <string name="medium_font" msgid="2068475425515133701">"Medio"</string>
     <string name="large_font" msgid="599055175160971446">"Grande"</string>
     <string name="font_size_make_smaller_desc" msgid="7919995133365371569">"Reducir"</string>
     <string name="font_size_make_larger_desc" msgid="4316986572233686061">"Ampliar"</string>
     <string name="font_size_preview_text_headline" msgid="7955317408475392247">"Texto de mostra"</string>
-    <string name="font_size_preview_text_title" msgid="4762429961714563135">"Vinte mil leguas baixo dos mares"</string>
-    <string name="font_size_preview_text_subtitle" msgid="5712012075615701561">"Capítulo 23: O reino de coral"</string>
-    <string name="font_size_preview_text_body" msgid="1608889593334414309">"Ao día seguinte espertei coa cabeza particularmente despexada. Para a miña sorpresa, estaba no meu camarote. Con certeza, os meus compañeiros debían ter sido reinstalados no seu sen darse conta, coma min. Coma min, tamén ignoraban o que tiña ocorrido esa noite. Para desvelar o misterio, só podía confiar no azar do porvir.\nDespois pensei en saír do meu camarote e pregunteime se estaría preso ou libre novamente. En total liberdade. Abrín a porta, percorrín os corredores e subín a escaleira central. Os zapóns, pechados na véspera, estaban abertos. Cheguei á plataforma.\nNed Land e Conseil estaban esperándome. Interrogueinos, pero non sabían nada. Estaban sorprendidos de atoparse nos seus camarotes ao despertar dun pesado sono que os deixara totalmente inconscientes."</string>
+    <string name="font_size_preview_text_title" msgid="4762429961714563135">"Memorias dun neno labrego"</string>
+    <string name="font_size_preview_text_subtitle" msgid="5712012075615701561">"Pachín"</string>
+    <string name="font_size_preview_text_body" msgid="1608889593334414309">"Nun tempo disque falaban os animais. Andrómenas. Está ben que se lle conte a nenos da teta, pero non a min que levo rillado catro codias. Todos os días estase a refacer a verdade. Fai unha chea de tempo que non oio falar seriamente do «Anxo da garda», nin dos Reis Magos. E quen sabe cantas cousas máis que hoxe teño por certas irán cambiando en min. Voume afastando do berce, coma quen di.\nBoa estaría que os animais falasen coma nós. Os paxaros, o gando, as lebres. ¡Que rebumbio! Talvez se entendan sen conversar, ou non precisarán entenderse. Hai moitos homes e mulleres que parolan na mesma linguaxe e tampouco se entenden.\nMiña nai tenme dito que lle gustaría ver, sequera por un intre, o río baldeiro, sen auga. A min, tamén."</string>
     <string name="font_size_save" msgid="3450855718056759095">"Aceptar"</string>
     <string name="sdcard_setting" product="nosdcard" msgid="8281011784066476192">"Almacenamento USB"</string>
     <string name="sdcard_setting" product="default" msgid="5922637503871474866">"Tarxeta SD"</string>
@@ -265,7 +264,8 @@
     <string name="roaming_disable" msgid="1295279574370898378">"Conecta cos servizos de datos durante a itinerancia"</string>
     <string name="roaming_reenable_message" msgid="9141007271031717369">"Perdiches a conectividade de datos porque deixaches a túa rede doméstica coa itinerancia de datos desactivada."</string>
     <string name="roaming_turn_it_on_button" msgid="4387601818162120589">"Activala"</string>
-    <string name="roaming_warning" msgid="7625933694709170887">"Se permites a itinerancia de datos, os custos poden ser elevados."</string>
+    <!-- no translation found for roaming_warning (4275443317524544705) -->
+    <skip />
     <string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"Se permites a itinerancia de datos, os custos poden ser elevados.\n\nEsta configuración afecta a todos os usuarios deste tablet."</string>
     <string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"Se permites a itinerancia de datos, os custos poden ser elevados.\n\nEsta configuración afecta a todos os usuarios deste teléfono."</string>
     <string name="roaming_reenable_title" msgid="6068100976707316772">"Permitir a itinerancia de datos?"</string>
@@ -1277,7 +1277,7 @@
     <string name="lock_settings_profile_unification_title" msgid="3130455578336894831">"Usar o mesmo bloqueo da pantalla"</string>
     <string name="lock_settings_profile_unification_summary" msgid="8014208091623293835">"Cambiar perfil principal para que coincida co perfil de traballo"</string>
     <string name="lock_settings_profile_unification_dialog_title" msgid="5297248764066294130">"Queres usar o mesmo bloqueo da pantalla?"</string>
-    <string name="lock_settings_profile_unification_dialog_body" msgid="342417647696962745">"Podes usar este bloqueo para o teu dispositivo, pero incluirá todos os bloqueos da pantalla relacionados coas políticas establecidas polo administrador de TI no perfil de traballo.\nQueres usar o mesmo bloqueo da pantalla para o teu dispositivo?"</string>
+    <string name="lock_settings_profile_unification_dialog_body" msgid="342417647696962745">"Podes usar este bloqueo para o teu dispositivo, pero incluirá todos os bloqueos da pantalla relacionados coas políticas establecidas polo teu administrador de TI no perfil de traballo.\nQueres usar o mesmo bloqueo da pantalla para o teu dispositivo?"</string>
     <string name="lock_settings_profile_unified_summary" msgid="237623767711796217">"O mesmo que o bloqueo do teu dispositivo"</string>
     <string name="manageapplications_settings_title" msgid="7041951105633616745">"Xestionar aplicacións"</string>
     <string name="manageapplications_settings_summary" msgid="1794401500935451259">"Xestiona e elimina as aplicacións instaladas"</string>
@@ -1937,6 +1937,10 @@
     <string name="sync_is_failing" msgid="1591561768344128377">"A sincronización experimenta problemas actualmente. Recuperarase en breve."</string>
     <string name="add_account_label" msgid="7811707265834013767">"Engadir conta"</string>
     <string name="managed_profile_not_available_label" msgid="852263300911325904">"O perfil de traballo aínda non está dispoñible"</string>
+    <!-- no translation found for work_mode_label (5794470908668593961) -->
+    <skip />
+    <!-- no translation found for work_mode_summary (1620246003886940776) -->
+    <skip />
     <string name="remove_managed_profile_label" msgid="3856519337797285325">"Eliminar perfil de traballo"</string>
     <string name="background_data" msgid="5779592891375473817">"Datos en segundo plano"</string>
     <string name="background_data_summary" msgid="8328521479872763452">"Aplicacións poden sincronizar, enviar e recibir datos sempre"</string>
@@ -2754,8 +2758,7 @@
     <string name="camera_double_tap_power_gesture_desc" msgid="7355664631775680376">"Abre a cámara rapidamente sen desbloquear a pantalla"</string>
     <string name="screen_zoom_title" msgid="6332123593919641665">"Zoom da pantalla"</string>
     <string name="screen_zoom_keywords" msgid="9176477565403352552">"densidade de visualización, zoom da pantalla, escala, escalado"</string>
-    <!-- no translation found for screen_zoom_summary (2022973627105802010) -->
-    <skip />
+    <string name="screen_zoom_summary" msgid="2022973627105802010">"Reduce ou amplía todos os elementos da pantalla. É posible que algunhas aplicacións da pantalla de inicio cambien de posición despois de cambiar esta configuración."</string>
     <string name="screen_zoom_preview_title" msgid="4680671508172336572">"Vista previa"</string>
     <string name="screen_zoom_make_smaller_desc" msgid="4622359904253364742">"Facer máis pequeno"</string>
     <string name="screen_zoom_make_larger_desc" msgid="2236171043607896594">"Facer máis grande"</string>
@@ -2799,8 +2802,56 @@
     <string name="condition_cellular_summary" msgid="1818046558419658463">"Só hai Internet a través de wifi"</string>
     <string name="condition_bg_data_title" msgid="1422001615923482010">"Datos en seg. plano desactiv."</string>
     <string name="condition_bg_data_summary" msgid="656957852895282228">"Os datos en segundo plano só están dispoñibles a través de wifi. Esta opción pode afectar a algunhas aplicacións ou servizos cando non haxa wifi."</string>
+    <!-- no translation found for condition_work_title (7293722361184366648) -->
+    <skip />
+    <!-- no translation found for condition_work_summary (7543202177571590378) -->
+    <skip />
     <string name="suggestions_title" msgid="8758376306825920705">"Suxestións (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
     <string name="suggestion_remove" msgid="904627293892092439">"Eliminar"</string>
     <string name="color_temperature" msgid="2501579996151717270">"Temperatura da cor da pantalla"</string>
     <string name="color_temperature_desc" msgid="3603319696846982249">"Activar temperatura fría"</string>
+    <!-- no translation found for usage (2977875522080448986) -->
+    <skip />
+    <!-- no translation found for cellular_data_usage (2763710678354680712) -->
+    <skip />
+    <!-- no translation found for wifi_data_usage (686754111095324306) -->
+    <skip />
+    <!-- no translation found for ethernet_data_usage (5108764537574354616) -->
+    <skip />
+    <!-- no translation found for wifi (1081550856200013637) -->
+    <skip />
+    <!-- no translation found for ethernet (6600095783781389720) -->
+    <skip />
+    <!-- no translation found for cell_data_template (3308709914705592281) -->
+    <skip />
+    <!-- no translation found for wifi_data_template (501654649753761778) -->
+    <skip />
+    <!-- no translation found for ethernet_data_template (5775729859383597507) -->
+    <skip />
+    <!-- no translation found for cell_warning_only (763147658209027140) -->
+    <skip />
+    <!-- no translation found for cell_warning_and_limit (2273413629267437470) -->
+    <skip />
+    <!-- no translation found for billing_cycle (5169909190811133499) -->
+    <skip />
+    <!-- no translation found for billing_cycle_summary (9009106526129293752) -->
+    <skip />
+    <!-- no translation found for billing_cycle_fragment_summary (1940518156600077066) -->
+    <skip />
+    <!-- no translation found for network_restrictions (8234695294536675380) -->
+    <skip />
+    <!-- no translation found for operator_warning (7206980278353372811) -->
+    <skip />
+    <!-- no translation found for data_used_template (3245919669966296505) -->
+    <skip />
+    <!-- no translation found for data_warning (209133958008062117) -->
+    <skip />
+    <!-- no translation found for set_data_limit (2901526323210516923) -->
+    <skip />
+    <!-- no translation found for data_limit (1885406964934590552) -->
+    <skip />
+    <!-- no translation found for data_usage_template (392191945602400904) -->
+    <skip />
+    <!-- no translation found for configure (1029654422228677273) -->
+    <skip />
 </resources>
diff --git a/res/values-gu-rIN/strings.xml b/res/values-gu-rIN/strings.xml
index ce50ed7..b2e24a9 100644
--- a/res/values-gu-rIN/strings.xml
+++ b/res/values-gu-rIN/strings.xml
@@ -264,7 +264,8 @@
     <string name="roaming_disable" msgid="1295279574370898378">"જ્યારે રોમિંગ હોય ત્યારે ડેટા સેવાઓથી કનેક્ટ કરો"</string>
     <string name="roaming_reenable_message" msgid="9141007271031717369">"તમે ડેટા કનેક્ટિવિટી ગુમાવી છે કારણ કે તમે તમારા હોમ નેટવર્કને બંધ ડેટા રોમિંગ સાથે છોડ્યું છે."</string>
     <string name="roaming_turn_it_on_button" msgid="4387601818162120589">"તેને ચાલુ કરો"</string>
-    <string name="roaming_warning" msgid="7625933694709170887">"જ્યારે તમે ડેટા રોમિંગને મંજૂરી આપો છો ત્યારે, તમને આંશિક રોમિંગ શુલ્ક લાગી શકે છે!"</string>
+    <!-- no translation found for roaming_warning (4275443317524544705) -->
+    <skip />
     <string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"જ્યારે તમે ડેટા રોમિંગને મંજૂરી આપો છો ત્યારે, તમને નોંધપાત્ર રોમિંગ શુલ્ક લાગી શકે છે!\n\nઆ સેટિંગ્સ આ ટેબ્લેટ પરના બધા વપરાશકર્તાઓને પ્રભાવિત કરે છે."</string>
     <string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"જ્યારે તમે ડેટા રોમિંગને મંજૂરી આપો છો ત્યારે, તમને આંશિક રોમિંગ શુલ્ક લાગી શકે છે!\n\nઆ સેટિંગ્સ આ ફોનના બધા વપરાશકર્તાઓને પ્રભાવિત કરે છે."</string>
     <string name="roaming_reenable_title" msgid="6068100976707316772">"ડેટા રોમિંગને મંજૂરી આપીએ?"</string>
@@ -1938,6 +1939,10 @@
     <string name="sync_is_failing" msgid="1591561768344128377">"સમન્વયનમાં હાલમાં સમસ્યા આવી રહી છે. તે ટૂંક સમયમાં પાછું આવશે."</string>
     <string name="add_account_label" msgid="7811707265834013767">"એકાઉન્ટ ઉમેરો"</string>
     <string name="managed_profile_not_available_label" msgid="852263300911325904">"કાર્ય પ્રોફાઇલ હજી સુધી ઉપલબ્ધ નથી"</string>
+    <!-- no translation found for work_mode_label (5794470908668593961) -->
+    <skip />
+    <!-- no translation found for work_mode_summary (1620246003886940776) -->
+    <skip />
     <string name="remove_managed_profile_label" msgid="3856519337797285325">"કાર્ય પ્રોફાઇલ દૂર કરો"</string>
     <string name="background_data" msgid="5779592891375473817">"પૃષ્ઠભૂમિ ડેટા"</string>
     <string name="background_data_summary" msgid="8328521479872763452">"એપ્લિકેશનો કોઈપણ સમયે ડેટાને સમન્વયિત, મોકલી અને પ્રાપ્ત કરી શકે છે"</string>
@@ -2799,8 +2804,56 @@
     <string name="condition_cellular_summary" msgid="1818046558419658463">"ઇન્ટરનેટ માત્ર Wi-Fi મારફતે ઉપલબ્ધ છે"</string>
     <string name="condition_bg_data_title" msgid="1422001615923482010">"પૃષ્ઠભૂમિ ડેટા બંધ છે"</string>
     <string name="condition_bg_data_summary" msgid="656957852895282228">"પૃષ્ઠભૂમિ ડેટા માત્ર Wi-Fi મારફતે ઉપલબ્ધ છે. જ્યારે Wi-Fi ઉપલબ્ધ ન હોય ત્યારે આ કેટલીક ઍપ્લિકેશનો અથવા સેવાઓને પ્રભાવિત કરી શકે છે."</string>
+    <!-- no translation found for condition_work_title (7293722361184366648) -->
+    <skip />
+    <!-- no translation found for condition_work_summary (7543202177571590378) -->
+    <skip />
     <string name="suggestions_title" msgid="8758376306825920705">"સૂચનો (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
     <string name="suggestion_remove" msgid="904627293892092439">"દૂર કરો"</string>
     <string name="color_temperature" msgid="2501579996151717270">"ડિસ્પ્લેનું રંગ તાપમાન"</string>
     <string name="color_temperature_desc" msgid="3603319696846982249">"કૂલ તાપમાન સક્ષમ કરો"</string>
+    <!-- no translation found for usage (2977875522080448986) -->
+    <skip />
+    <!-- no translation found for cellular_data_usage (2763710678354680712) -->
+    <skip />
+    <!-- no translation found for wifi_data_usage (686754111095324306) -->
+    <skip />
+    <!-- no translation found for ethernet_data_usage (5108764537574354616) -->
+    <skip />
+    <!-- no translation found for wifi (1081550856200013637) -->
+    <skip />
+    <!-- no translation found for ethernet (6600095783781389720) -->
+    <skip />
+    <!-- no translation found for cell_data_template (3308709914705592281) -->
+    <skip />
+    <!-- no translation found for wifi_data_template (501654649753761778) -->
+    <skip />
+    <!-- no translation found for ethernet_data_template (5775729859383597507) -->
+    <skip />
+    <!-- no translation found for cell_warning_only (763147658209027140) -->
+    <skip />
+    <!-- no translation found for cell_warning_and_limit (2273413629267437470) -->
+    <skip />
+    <!-- no translation found for billing_cycle (5169909190811133499) -->
+    <skip />
+    <!-- no translation found for billing_cycle_summary (9009106526129293752) -->
+    <skip />
+    <!-- no translation found for billing_cycle_fragment_summary (1940518156600077066) -->
+    <skip />
+    <!-- no translation found for network_restrictions (8234695294536675380) -->
+    <skip />
+    <!-- no translation found for operator_warning (7206980278353372811) -->
+    <skip />
+    <!-- no translation found for data_used_template (3245919669966296505) -->
+    <skip />
+    <!-- no translation found for data_warning (209133958008062117) -->
+    <skip />
+    <!-- no translation found for set_data_limit (2901526323210516923) -->
+    <skip />
+    <!-- no translation found for data_limit (1885406964934590552) -->
+    <skip />
+    <!-- no translation found for data_usage_template (392191945602400904) -->
+    <skip />
+    <!-- no translation found for configure (1029654422228677273) -->
+    <skip />
 </resources>
diff --git a/res/values-hi/strings.xml b/res/values-hi/strings.xml
index 19cdfb0..b8b8bab 100644
--- a/res/values-hi/strings.xml
+++ b/res/values-hi/strings.xml
@@ -264,7 +264,7 @@
     <string name="roaming_disable" msgid="1295279574370898378">"रोमिंग के समय डेटा सेवाएं कनेक्ट करें"</string>
     <string name="roaming_reenable_message" msgid="9141007271031717369">"आपने डेटा कनेक्टिविटी खो दी है क्योंकि आपने डेटा रोमिंग बंद रखकर अपना होम नेटवर्क छोड़ दिया."</string>
     <string name="roaming_turn_it_on_button" msgid="4387601818162120589">"इसे चालू करें"</string>
-    <string name="roaming_warning" msgid="7625933694709170887">"जब आप डेटा रोमिंग की अनुमति देते हैं, तो परिणामस्वरूप आप पर रोमिंग शुल्‍क लग सकते हैं!"</string>
+    <string name="roaming_warning" msgid="4275443317524544705">"आपको बहुत अधिक शुल्‍क देना पड़ सकता है."</string>
     <string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"जब आप डेटा रोमिंग की अनुमति देते हैं, तो हो सकता है कि आपको अधिक रोमिंग शुल्क लगे!\n\nयह सेटिंग इस टेबलेट के सभी उपयोगकर्ताओं को प्रभावित करती है."</string>
     <string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"जब आप डेटा रोमिंग की अनुमति देते हैं, तो हो सकता है कि आपको अधिक रोमिंग शुल्क लगे!\n\nयह सेटिंग इस फ़ोन के सभी उपयोगकर्ताओं को प्रभावित करती है."</string>
     <string name="roaming_reenable_title" msgid="6068100976707316772">"डेटा रोमिंग की अनुमति दें?"</string>
@@ -1936,6 +1936,8 @@
     <string name="sync_is_failing" msgid="1591561768344128377">"किसी समस्या के कारण अभी समन्वयन नहीं हो पाया.यह शीघ्र ही उपलब्ध होगा."</string>
     <string name="add_account_label" msgid="7811707265834013767">"खाता जोड़ें"</string>
     <string name="managed_profile_not_available_label" msgid="852263300911325904">"कार्य प्रोफ़ाइल अभी तक उपलब्ध नहीं है"</string>
+    <string name="work_mode_label" msgid="5794470908668593961">"कार्य मोड"</string>
+    <string name="work_mode_summary" msgid="1620246003886940776">"ऐप्स, पृष्ठभूमि समन्वयन और संबंधित सुविधाओं सहित कार्य प्रोफ़ाइल को काम करने की अनुमति दें"</string>
     <string name="remove_managed_profile_label" msgid="3856519337797285325">"कार्य प्रोफ़ाइल निकालें"</string>
     <string name="background_data" msgid="5779592891375473817">"पृष्ठभूमि डेटा"</string>
     <string name="background_data_summary" msgid="8328521479872763452">"ऐप्स किसी भी समय डेटा समन्वयित, भेज और प्राप्त कर सकते हैं"</string>
@@ -2797,8 +2799,32 @@
     <string name="condition_cellular_summary" msgid="1818046558419658463">"इंटरनेट केवल वाई-फ़ाई के द्वारा उपलब्ध है"</string>
     <string name="condition_bg_data_title" msgid="1422001615923482010">"बैकग्राउंड डेटा बंद है"</string>
     <string name="condition_bg_data_summary" msgid="656957852895282228">"बैकग्राउंड डेटा केवल वाई-फ़ाई के द्वारा उपलब्ध है. इससे वाई-फ़ाई के उपलब्ध नहीं रहने पर कुछ ऐप्स या सेवाएं प्रभावित हो सकती हैं."</string>
+    <string name="condition_work_title" msgid="7293722361184366648">"कार्य प्रोफ़ाइल बंद है"</string>
+    <string name="condition_work_summary" msgid="7543202177571590378">"आपकी कार्य प्रोफ़ाइल से संबंधित ऐप्स, पृष्ठभूमि समन्वयन और अन्य सुविधाएं बंद हैं."</string>
     <string name="suggestions_title" msgid="8758376306825920705">"सुझाव (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
     <string name="suggestion_remove" msgid="904627293892092439">"निकालें"</string>
     <string name="color_temperature" msgid="2501579996151717270">"रंग तापमान दिखाएं"</string>
     <string name="color_temperature_desc" msgid="3603319696846982249">"शीतल तापमान सक्षम करें"</string>
+    <string name="usage" msgid="2977875522080448986">"उपयोग"</string>
+    <string name="cellular_data_usage" msgid="2763710678354680712">"सेल्युलर डेटा उपयोग"</string>
+    <string name="wifi_data_usage" msgid="686754111095324306">"वाई-फ़ाई डेटा उपयोग"</string>
+    <string name="ethernet_data_usage" msgid="5108764537574354616">"ईथरनेट डेटा उपयोग"</string>
+    <string name="wifi" msgid="1081550856200013637">"वाई-फ़ाई"</string>
+    <string name="ethernet" msgid="6600095783781389720">"ईथरनेट"</string>
+    <string name="cell_data_template" msgid="3308709914705592281">"<xliff:g id="ID_1">%1$s</xliff:g> सेल्युलर डेटा"</string>
+    <string name="wifi_data_template" msgid="501654649753761778">"<xliff:g id="ID_1">%1$s</xliff:g> वाई-फ़ाई डेटा"</string>
+    <string name="ethernet_data_template" msgid="5775729859383597507">"<xliff:g id="ID_1">%1$s</xliff:g> ईथरनेट डेटा"</string>
+    <string name="cell_warning_only" msgid="763147658209027140">"<xliff:g id="ID_1">%1$s</xliff:g> डेटा चेतावनी"</string>
+    <string name="cell_warning_and_limit" msgid="2273413629267437470">"<xliff:g id="ID_1">%1$s</xliff:g> डेटा चेतावनी / <xliff:g id="ID_2">%2$s</xliff:g> डेटा सीमा"</string>
+    <string name="billing_cycle" msgid="5169909190811133499">"बिलिंग चक्र"</string>
+    <string name="billing_cycle_summary" msgid="9009106526129293752">"मासिक चक्र प्रत्येक माह के <xliff:g id="ID_1">%1$s</xliff:g> को शुरू होगा"</string>
+    <string name="billing_cycle_fragment_summary" msgid="1940518156600077066">"<xliff:g id="ID_1">%1$s</xliff:g> से मासिक रूप से शुरू"</string>
+    <string name="network_restrictions" msgid="8234695294536675380">"नेटवर्क प्रतिबंध"</string>
+    <string name="operator_warning" msgid="7206980278353372811">"ऑपरेटर की डेटा गणना आपके डिवाइस से भिन्न हो सकती है."</string>
+    <string name="data_used_template" msgid="3245919669966296505">"<xliff:g id="ID_1">%1$s</xliff:g> का उपयोग किया गया"</string>
+    <string name="data_warning" msgid="209133958008062117">"डेटा चेतावनी"</string>
+    <string name="set_data_limit" msgid="2901526323210516923">"डेटा की सीमा सेट करें"</string>
+    <string name="data_limit" msgid="1885406964934590552">"डेटा सीमा"</string>
+    <string name="data_usage_template" msgid="392191945602400904">"<xliff:g id="ID_2">%2$s</xliff:g> के बीच <xliff:g id="ID_1">%1$s</xliff:g> का उपयोग किया गया"</string>
+    <string name="configure" msgid="1029654422228677273">"कॉन्फ़िगर करें"</string>
 </resources>
diff --git a/res/values-hr/strings.xml b/res/values-hr/strings.xml
index 3dda7c7..a34c2f6 100644
--- a/res/values-hr/strings.xml
+++ b/res/values-hr/strings.xml
@@ -75,8 +75,7 @@
     <string name="sdcard_unmount" product="default" msgid="3364184561355611897">"Isključi SD karticu"</string>
     <string name="sdcard_format" product="nosdcard" msgid="6285310523155166716">"Izbriši memoriju USB"</string>
     <string name="sdcard_format" product="default" msgid="6713185532039187532">"Izbriši SD karticu"</string>
-    <!-- no translation found for font_size_summary (133937309990844030) -->
-    <skip />
+    <string name="font_size_summary" msgid="133937309990844030">"Smanjuje ili povećava tekst na zaslonu."</string>
     <string name="small_font" msgid="2295331917424072635">"Mali"</string>
     <string name="medium_font" msgid="2068475425515133701">"Srednji"</string>
     <string name="large_font" msgid="599055175160971446">"Veliki"</string>
@@ -266,7 +265,8 @@
     <string name="roaming_disable" msgid="1295279574370898378">"Poveži se s podatkovnim uslugama u roamingu"</string>
     <string name="roaming_reenable_message" msgid="9141007271031717369">"Izgubili ste podatkovnu vezu jer ste isključili mrežni roaming podataka."</string>
     <string name="roaming_turn_it_on_button" msgid="4387601818162120589">"Uključi"</string>
-    <string name="roaming_warning" msgid="7625933694709170887">"Ako omogućite roaming podataka, može doći do značajnih troškova roaminga!"</string>
+    <!-- no translation found for roaming_warning (4275443317524544705) -->
+    <skip />
     <string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"Kada dopustite podatkovni roaming, mogu nastati značajni troškovi roaminga!\n\nOva postavka utječe na sve korisnike na ovom tabletu."</string>
     <string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"Kada dopustite podatkovni roaming, mogu nastati značajni troškovi roaminga!\n\nOva postavka utječe na sve korisnike na ovom telefonu."</string>
     <string name="roaming_reenable_title" msgid="6068100976707316772">"Dopusti roaming podataka?"</string>
@@ -1953,6 +1953,10 @@
     <string name="sync_is_failing" msgid="1591561768344128377">"Sinkronizacija trenutačno ima problema. Uskoro će nastaviti s radom."</string>
     <string name="add_account_label" msgid="7811707265834013767">"Dodavanje računa"</string>
     <string name="managed_profile_not_available_label" msgid="852263300911325904">"Radni profil još nije dostupan"</string>
+    <!-- no translation found for work_mode_label (5794470908668593961) -->
+    <skip />
+    <!-- no translation found for work_mode_summary (1620246003886940776) -->
+    <skip />
     <string name="remove_managed_profile_label" msgid="3856519337797285325">"Ukloni radni profil"</string>
     <string name="background_data" msgid="5779592891375473817">"Pozadinski podaci"</string>
     <string name="background_data_summary" msgid="8328521479872763452">"Aplikacije mogu sink., slati i primati podatke bilo kad"</string>
@@ -2779,8 +2783,7 @@
     <string name="camera_double_tap_power_gesture_desc" msgid="7355664631775680376">"Brzo otvaranje fotoaparata bez otključavanja zaslona"</string>
     <string name="screen_zoom_title" msgid="6332123593919641665">"Zumiranje zaslona"</string>
     <string name="screen_zoom_keywords" msgid="9176477565403352552">"prikaz, gustoća, zumiranje zaslona, skalirati, skaliranje"</string>
-    <!-- no translation found for screen_zoom_summary (2022973627105802010) -->
-    <skip />
+    <string name="screen_zoom_summary" msgid="2022973627105802010">"Smanjuje ili povećava sve stavke na zaslonu. Neke aplikacije na početnom zaslonu mogu promijeniti položaj nakon što promijenite tu postavku."</string>
     <string name="screen_zoom_preview_title" msgid="4680671508172336572">"Pregled"</string>
     <string name="screen_zoom_make_smaller_desc" msgid="4622359904253364742">"Smanji"</string>
     <string name="screen_zoom_make_larger_desc" msgid="2236171043607896594">"Povećaj"</string>
@@ -2824,8 +2827,55 @@
     <string name="condition_cellular_summary" msgid="1818046558419658463">"Internet je dostupan samo putem Wi-Fi-ja"</string>
     <string name="condition_bg_data_title" msgid="1422001615923482010">"Pozadinski podaci isključeni"</string>
     <string name="condition_bg_data_summary" msgid="656957852895282228">"Pozadinski podaci dostupni su samo putem Wi-Fi-ja. To može utjecati na neke aplikacije ili usluge kada Wi-Fi nije dostupan."</string>
+    <!-- no translation found for condition_work_title (7293722361184366648) -->
+    <skip />
+    <!-- no translation found for condition_work_summary (7543202177571590378) -->
+    <skip />
     <string name="suggestions_title" msgid="8758376306825920705">"Prijedlozi (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
     <string name="suggestion_remove" msgid="904627293892092439">"Ukloni"</string>
     <string name="color_temperature" msgid="2501579996151717270">"Temperatura boje prikaza"</string>
     <string name="color_temperature_desc" msgid="3603319696846982249">"Omogući hladnu temperaturu"</string>
+    <!-- no translation found for usage (2977875522080448986) -->
+    <skip />
+    <!-- no translation found for cellular_data_usage (2763710678354680712) -->
+    <skip />
+    <!-- no translation found for wifi_data_usage (686754111095324306) -->
+    <skip />
+    <!-- no translation found for ethernet_data_usage (5108764537574354616) -->
+    <skip />
+    <string name="wifi" msgid="1081550856200013637">"Wi-Fi"</string>
+    <!-- no translation found for ethernet (6600095783781389720) -->
+    <skip />
+    <!-- no translation found for cell_data_template (3308709914705592281) -->
+    <skip />
+    <!-- no translation found for wifi_data_template (501654649753761778) -->
+    <skip />
+    <!-- no translation found for ethernet_data_template (5775729859383597507) -->
+    <skip />
+    <!-- no translation found for cell_warning_only (763147658209027140) -->
+    <skip />
+    <!-- no translation found for cell_warning_and_limit (2273413629267437470) -->
+    <skip />
+    <!-- no translation found for billing_cycle (5169909190811133499) -->
+    <skip />
+    <!-- no translation found for billing_cycle_summary (9009106526129293752) -->
+    <skip />
+    <!-- no translation found for billing_cycle_fragment_summary (1940518156600077066) -->
+    <skip />
+    <!-- no translation found for network_restrictions (8234695294536675380) -->
+    <skip />
+    <!-- no translation found for operator_warning (7206980278353372811) -->
+    <skip />
+    <!-- no translation found for data_used_template (3245919669966296505) -->
+    <skip />
+    <!-- no translation found for data_warning (209133958008062117) -->
+    <skip />
+    <!-- no translation found for set_data_limit (2901526323210516923) -->
+    <skip />
+    <!-- no translation found for data_limit (1885406964934590552) -->
+    <skip />
+    <!-- no translation found for data_usage_template (392191945602400904) -->
+    <skip />
+    <!-- no translation found for configure (1029654422228677273) -->
+    <skip />
 </resources>
diff --git a/res/values-hu/strings.xml b/res/values-hu/strings.xml
index 288532c..7b736ce 100644
--- a/res/values-hu/strings.xml
+++ b/res/values-hu/strings.xml
@@ -264,7 +264,7 @@
     <string name="roaming_disable" msgid="1295279574370898378">"Csatlakozás adatszolgáltatásokhoz barangolás során"</string>
     <string name="roaming_reenable_message" msgid="9141007271031717369">"Megszakadt az adatkapcsolat, mert elhagyta az otthoni hálózatot, és az adatbarangolás nincs bekapcsolva."</string>
     <string name="roaming_turn_it_on_button" msgid="4387601818162120589">"Bekapcsolás"</string>
-    <string name="roaming_warning" msgid="7625933694709170887">"Ha engedélyezi az adatbarangolást, akkor jelentős barangolási költség merülhet fel!"</string>
+    <string name="roaming_warning" msgid="4275443317524544705">"Lehet, hogy jelentős összeget számítanak fel érte."</string>
     <string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"Az adatbarangolás engedélyezése jelentős díjnövekedéssel járhat.\n\nEz a beállítás minden felhasználót érint ezen a táblagépen."</string>
     <string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"Az adatbarangolás engedélyezése jelentős díjnövekedéssel járhat.\n\nEz a beállítás minden felhasználót érint ezen a telefonon."</string>
     <string name="roaming_reenable_title" msgid="6068100976707316772">"Engedélyezi az adatbarangolást?"</string>
@@ -1936,6 +1936,8 @@
     <string name="sync_is_failing" msgid="1591561768344128377">"A szinkronizálással problémák vannak. Hamarosan helyreáll."</string>
     <string name="add_account_label" msgid="7811707265834013767">"Fiók hozzáadása"</string>
     <string name="managed_profile_not_available_label" msgid="852263300911325904">"A munkaprofil még nem érhető el"</string>
+    <string name="work_mode_label" msgid="5794470908668593961">"Munka mód"</string>
+    <string name="work_mode_summary" msgid="1620246003886940776">"Munkaprofil használatának engedélyezése, beleértve az alkalmazásokat, a háttérben való szinkronizálást és a kapcsolódó funkciókat"</string>
     <string name="remove_managed_profile_label" msgid="3856519337797285325">"Munkaprofil eltávolítása"</string>
     <string name="background_data" msgid="5779592891375473817">"Háttéradatok"</string>
     <string name="background_data_summary" msgid="8328521479872763452">"Szinkronizálás, adatküldés és -fogadás bármikor"</string>
@@ -2797,8 +2799,32 @@
     <string name="condition_cellular_summary" msgid="1818046558419658463">"Internetkapcsolat csak Wi-Fi-n keresztül lehetséges"</string>
     <string name="condition_bg_data_title" msgid="1422001615923482010">"Háttéradatok kikapcsolva"</string>
     <string name="condition_bg_data_summary" msgid="656957852895282228">"A háttéradatok kizárólag Wi-Fi-n keresztül állnak rendelkezésre. Ez hatással lehet bizonyos alkalmazásokra és szolgáltatásokra, amikor nincs rendelkezésre álló Wi-Fi-kapcsolat."</string>
+    <string name="condition_work_title" msgid="7293722361184366648">"A munkaprofil mód ki van kapcsolva"</string>
+    <string name="condition_work_summary" msgid="7543202177571590378">"Az alkalmazások, a háttérben való szinkronizálás és a munkaprofilhoz kapcsolódó egyéb funkciók kikapcsolva."</string>
     <string name="suggestions_title" msgid="8758376306825920705">"Javaslatok (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
     <string name="suggestion_remove" msgid="904627293892092439">"Eltávolítás"</string>
     <string name="color_temperature" msgid="2501579996151717270">"Kijelző színhőmérséklete"</string>
     <string name="color_temperature_desc" msgid="3603319696846982249">"Hideg színhőmérséklet bekapcsolása"</string>
+    <string name="usage" msgid="2977875522080448986">"Használat"</string>
+    <string name="cellular_data_usage" msgid="2763710678354680712">"Mobiladat-használat"</string>
+    <string name="wifi_data_usage" msgid="686754111095324306">"Adathasználat Wi-Fi-kapcsolaton"</string>
+    <string name="ethernet_data_usage" msgid="5108764537574354616">"Adathasználat Ethernet-kapcsolaton"</string>
+    <string name="wifi" msgid="1081550856200013637">"Wi-Fi"</string>
+    <string name="ethernet" msgid="6600095783781389720">"Ethernet"</string>
+    <string name="cell_data_template" msgid="3308709914705592281">"<xliff:g id="ID_1">%1$s</xliff:g> mobiladat-forgalom"</string>
+    <string name="wifi_data_template" msgid="501654649753761778">"<xliff:g id="ID_1">%1$s</xliff:g> adathasználat Wi-Fi-kapcsolaton"</string>
+    <string name="ethernet_data_template" msgid="5775729859383597507">"<xliff:g id="ID_1">%1$s</xliff:g> adathasználat Ethernet-kapcsolaton"</string>
+    <string name="cell_warning_only" msgid="763147658209027140">"<xliff:g id="ID_1">%1$s</xliff:g> adatforgalmi figyelmeztetés"</string>
+    <string name="cell_warning_and_limit" msgid="2273413629267437470">"<xliff:g id="ID_1">%1$s</xliff:g> – adatforgalmi figyelmeztetés / <xliff:g id="ID_2">%2$s</xliff:g> – adatforgalom korlátozása"</string>
+    <string name="billing_cycle" msgid="5169909190811133499">"Számlázási ciklus"</string>
+    <string name="billing_cycle_summary" msgid="9009106526129293752">"A havi ciklus minden hónap <xliff:g id="ID_1">%1$s</xliff:g>. napján kezdődik"</string>
+    <string name="billing_cycle_fragment_summary" msgid="1940518156600077066">"Havonta a hónap <xliff:g id="ID_1">%1$s</xliff:g>. napján"</string>
+    <string name="network_restrictions" msgid="8234695294536675380">"Hálózati korlátozások"</string>
+    <string name="operator_warning" msgid="7206980278353372811">"A szolgáltató adatszámlálási módja eltérhet az eszközétől."</string>
+    <string name="data_used_template" msgid="3245919669966296505">"<xliff:g id="ID_1">%1$s</xliff:g> felhasználva"</string>
+    <string name="data_warning" msgid="209133958008062117">"Adatforgalmi figyelmeztetés"</string>
+    <string name="set_data_limit" msgid="2901526323210516923">"Adatkorlát beállítása"</string>
+    <string name="data_limit" msgid="1885406964934590552">"Adatforgalmi korlátozás"</string>
+    <string name="data_usage_template" msgid="392191945602400904">"<xliff:g id="ID_1">%1$s</xliff:g> felhasználva a következő dátumok között: <xliff:g id="ID_2">%2$s</xliff:g>"</string>
+    <string name="configure" msgid="1029654422228677273">"Beállítás"</string>
 </resources>
diff --git a/res/values-hy-rAM/strings.xml b/res/values-hy-rAM/strings.xml
index 70c09b8..7e0d535 100644
--- a/res/values-hy-rAM/strings.xml
+++ b/res/values-hy-rAM/strings.xml
@@ -74,8 +74,7 @@
     <string name="sdcard_unmount" product="default" msgid="3364184561355611897">"Անջատել SD քարտը"</string>
     <string name="sdcard_format" product="nosdcard" msgid="6285310523155166716">"Ջնջել USB կրիչը"</string>
     <string name="sdcard_format" product="default" msgid="6713185532039187532">"Ջնջել SD քարտը"</string>
-    <!-- no translation found for font_size_summary (133937309990844030) -->
-    <skip />
+    <string name="font_size_summary" msgid="133937309990844030">"Խոշորացնել կամ մանրացնել էկրանի տեքստը:"</string>
     <string name="small_font" msgid="2295331917424072635">"Փոքր"</string>
     <string name="medium_font" msgid="2068475425515133701">"Միջին"</string>
     <string name="large_font" msgid="599055175160971446">"Մեծ"</string>
@@ -265,7 +264,8 @@
     <string name="roaming_disable" msgid="1295279574370898378">"Միանալ տվյալների փոխանցման ծառայություններին ռոումինգում գտնվելիս"</string>
     <string name="roaming_reenable_message" msgid="9141007271031717369">"Դուք կորցրել եք տվյալների կապը, քանի որ անջատված եք թողել ձեր գլխավոր ցանցի տվյալների ռոումինգը:"</string>
     <string name="roaming_turn_it_on_button" msgid="4387601818162120589">"Միացնել"</string>
-    <string name="roaming_warning" msgid="7625933694709170887">"Երբ դուք թույլատրում եք տվյալների ռոումինգ, հնարավոր է` ձեզնից գանձվեն զգալի ռոումիգային միջնորդավճարներ:"</string>
+    <!-- no translation found for roaming_warning (4275443317524544705) -->
+    <skip />
     <string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"Երբ դուք թույլատրում եք տվյալների ռոումինգը, հնարավոր է` ձեզնից գանձվեն զգալի գումարային վճարներ:\n\nԱյս կարգավորումը վերաբերում է գրասալիկի բոլոր օգտվողներին:"</string>
     <string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"Երբ դուք թույլատրում եք ռոումինգային տվյալները, հնարավոր է` ձեզնից գանձվեն զգալի գումարային վճարներ:\n\nԱյս կարգավորումը վերաբերում է հեռախոսի բոլոր օգտվողներին:"</string>
     <string name="roaming_reenable_title" msgid="6068100976707316772">"Թույլատրե՞լ տվյալների ռոումինգը:"</string>
@@ -1937,6 +1937,10 @@
     <string name="sync_is_failing" msgid="1591561768344128377">"Համաժամեցման ընթացքում ժամանակավորապես խնդիրներ են ծագել: Կարճ ժամանակ անց այն կվերականգնվի:"</string>
     <string name="add_account_label" msgid="7811707265834013767">"Ավելացնել հաշիվ"</string>
     <string name="managed_profile_not_available_label" msgid="852263300911325904">"Աշխատանքային պրոֆիլը դեռևս հասանելի չէ"</string>
+    <!-- no translation found for work_mode_label (5794470908668593961) -->
+    <skip />
+    <!-- no translation found for work_mode_summary (1620246003886940776) -->
+    <skip />
     <string name="remove_managed_profile_label" msgid="3856519337797285325">"Հեռացնել աշխատանքային դիտարկումը"</string>
     <string name="background_data" msgid="5779592891375473817">"Հետնաշերտի տվյալներ"</string>
     <string name="background_data_summary" msgid="8328521479872763452">"Ծրագրերը կարող են համաժամեցնել, ուղարկել և ստանալ տվյալներ ցանկացած պահի"</string>
@@ -2754,8 +2758,7 @@
     <string name="camera_double_tap_power_gesture_desc" msgid="7355664631775680376">"Խցիկի արագ բացում առանց էկրանը ապակողպելու"</string>
     <string name="screen_zoom_title" msgid="6332123593919641665">"Էկրանի մասշտաբ"</string>
     <string name="screen_zoom_keywords" msgid="9176477565403352552">"ցուցադրման խտություն, էկրանի մասշտաբ, մասշտաբ, մասշտաբավորում"</string>
-    <!-- no translation found for screen_zoom_summary (2022973627105802010) -->
-    <skip />
+    <string name="screen_zoom_summary" msgid="2022973627105802010">"Խոշորացնել կամ մանրացնել էկրանի բոլոր տարրերը: Այս կարգավորումը փոխելուց հետո գլխավոր էկրանի որոշ հավելվածներ կարող են փոխել դիրքը:"</string>
     <string name="screen_zoom_preview_title" msgid="4680671508172336572">"Նախադիտում"</string>
     <string name="screen_zoom_make_smaller_desc" msgid="4622359904253364742">"Փոքրացնել"</string>
     <string name="screen_zoom_make_larger_desc" msgid="2236171043607896594">"Մեծացնել"</string>
@@ -2799,8 +2802,55 @@
     <string name="condition_cellular_summary" msgid="1818046558419658463">"Համացանցը հասանելի է միայն Wi-Fi-ի միջոցով"</string>
     <string name="condition_bg_data_title" msgid="1422001615923482010">"Ֆոնային տվյալներն անջատված են"</string>
     <string name="condition_bg_data_summary" msgid="656957852895282228">"Ֆոնային տվյալները հասանելի են միայն Wi-Fi-ի միջոցով: Wi-Fi ցանցերի բացակայության դեպքում դա կարող է ազդել որոշ հավելվածների կամ ծառայությունների աշխատանքի վրա:"</string>
+    <!-- no translation found for condition_work_title (7293722361184366648) -->
+    <skip />
+    <!-- no translation found for condition_work_summary (7543202177571590378) -->
+    <skip />
     <string name="suggestions_title" msgid="8758376306825920705">"Առաջարկություններ (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
     <string name="suggestion_remove" msgid="904627293892092439">"Հեռացնել"</string>
     <string name="color_temperature" msgid="2501579996151717270">"Էկրանի գունային ջերմաստիճանը"</string>
     <string name="color_temperature_desc" msgid="3603319696846982249">"Միացնել սառը ջերմաստիճանը"</string>
+    <!-- no translation found for usage (2977875522080448986) -->
+    <skip />
+    <!-- no translation found for cellular_data_usage (2763710678354680712) -->
+    <skip />
+    <!-- no translation found for wifi_data_usage (686754111095324306) -->
+    <skip />
+    <!-- no translation found for ethernet_data_usage (5108764537574354616) -->
+    <skip />
+    <string name="wifi" msgid="1081550856200013637">"Wi-Fi"</string>
+    <!-- no translation found for ethernet (6600095783781389720) -->
+    <skip />
+    <!-- no translation found for cell_data_template (3308709914705592281) -->
+    <skip />
+    <!-- no translation found for wifi_data_template (501654649753761778) -->
+    <skip />
+    <!-- no translation found for ethernet_data_template (5775729859383597507) -->
+    <skip />
+    <!-- no translation found for cell_warning_only (763147658209027140) -->
+    <skip />
+    <!-- no translation found for cell_warning_and_limit (2273413629267437470) -->
+    <skip />
+    <!-- no translation found for billing_cycle (5169909190811133499) -->
+    <skip />
+    <!-- no translation found for billing_cycle_summary (9009106526129293752) -->
+    <skip />
+    <!-- no translation found for billing_cycle_fragment_summary (1940518156600077066) -->
+    <skip />
+    <!-- no translation found for network_restrictions (8234695294536675380) -->
+    <skip />
+    <!-- no translation found for operator_warning (7206980278353372811) -->
+    <skip />
+    <!-- no translation found for data_used_template (3245919669966296505) -->
+    <skip />
+    <!-- no translation found for data_warning (209133958008062117) -->
+    <skip />
+    <!-- no translation found for set_data_limit (2901526323210516923) -->
+    <skip />
+    <!-- no translation found for data_limit (1885406964934590552) -->
+    <skip />
+    <!-- no translation found for data_usage_template (392191945602400904) -->
+    <skip />
+    <!-- no translation found for configure (1029654422228677273) -->
+    <skip />
 </resources>
diff --git a/res/values-in/strings.xml b/res/values-in/strings.xml
index cd827ac..0f3fc93 100644
--- a/res/values-in/strings.xml
+++ b/res/values-in/strings.xml
@@ -264,7 +264,8 @@
     <string name="roaming_disable" msgid="1295279574370898378">"Sambungkan ke layanan data ketika roaming"</string>
     <string name="roaming_reenable_message" msgid="9141007271031717369">"Anda telah kehilangan konektivitas data karena Anda meninggalkan jaringan asal dalam keadaan roaming data dimatikan."</string>
     <string name="roaming_turn_it_on_button" msgid="4387601818162120589">"Hidupkan"</string>
-    <string name="roaming_warning" msgid="7625933694709170887">"Saat Anda mengizinkan roaming data, Anda dapat dikenai tagihan roaming yang tinggi!"</string>
+    <!-- no translation found for roaming_warning (4275443317524544705) -->
+    <skip />
     <string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"Jika Anda mengizinkan roaming data, Anda mungkin dikenai tagihan roaming!\n\nSetelan ini memengaruhi semua pengguna di tablet ini."</string>
     <string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"Jika Anda mengizinkan roaming data, Anda mungkin dikenai tagihan roaming!\n\nSetelan ini memengaruhi semua pengguna di ponsel ini."</string>
     <string name="roaming_reenable_title" msgid="6068100976707316772">"Izinkan roaming data?"</string>
@@ -1936,6 +1937,10 @@
     <string name="sync_is_failing" msgid="1591561768344128377">"Saat ini sinkronisasi mengalami masalah. Sinkronisasi akan segera berfungsi kembali."</string>
     <string name="add_account_label" msgid="7811707265834013767">"Tambahkan akun"</string>
     <string name="managed_profile_not_available_label" msgid="852263300911325904">"Profil kerja belum tersedia"</string>
+    <!-- no translation found for work_mode_label (5794470908668593961) -->
+    <skip />
+    <!-- no translation found for work_mode_summary (1620246003886940776) -->
+    <skip />
     <string name="remove_managed_profile_label" msgid="3856519337797285325">"Buang profil kerja"</string>
     <string name="background_data" msgid="5779592891375473817">"Data latar belakang"</string>
     <string name="background_data_summary" msgid="8328521479872763452">"Apl dapat menyinkronkan, mengirimkan, dan menerima data kapan saja"</string>
@@ -2797,8 +2802,55 @@
     <string name="condition_cellular_summary" msgid="1818046558419658463">"Internet hanya tersedia melalui Wi-Fi"</string>
     <string name="condition_bg_data_title" msgid="1422001615923482010">"Data latar belakang nonaktif"</string>
     <string name="condition_bg_data_summary" msgid="656957852895282228">"Data latar belakang hanya tersedia melalui Wi-Fi. Hal ini dapat memengaruhi beberapa aplikasi atau layanan saat Wi-Fi tidak tersedia."</string>
+    <!-- no translation found for condition_work_title (7293722361184366648) -->
+    <skip />
+    <!-- no translation found for condition_work_summary (7543202177571590378) -->
+    <skip />
     <string name="suggestions_title" msgid="8758376306825920705">"Saran (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
     <string name="suggestion_remove" msgid="904627293892092439">"Hapus"</string>
     <string name="color_temperature" msgid="2501579996151717270">"Tampilkan suhu foto"</string>
     <string name="color_temperature_desc" msgid="3603319696846982249">"Aktifkan suhu sejuk"</string>
+    <!-- no translation found for usage (2977875522080448986) -->
+    <skip />
+    <!-- no translation found for cellular_data_usage (2763710678354680712) -->
+    <skip />
+    <!-- no translation found for wifi_data_usage (686754111095324306) -->
+    <skip />
+    <!-- no translation found for ethernet_data_usage (5108764537574354616) -->
+    <skip />
+    <string name="wifi" msgid="1081550856200013637">"Wi-Fi"</string>
+    <!-- no translation found for ethernet (6600095783781389720) -->
+    <skip />
+    <!-- no translation found for cell_data_template (3308709914705592281) -->
+    <skip />
+    <!-- no translation found for wifi_data_template (501654649753761778) -->
+    <skip />
+    <!-- no translation found for ethernet_data_template (5775729859383597507) -->
+    <skip />
+    <!-- no translation found for cell_warning_only (763147658209027140) -->
+    <skip />
+    <!-- no translation found for cell_warning_and_limit (2273413629267437470) -->
+    <skip />
+    <!-- no translation found for billing_cycle (5169909190811133499) -->
+    <skip />
+    <!-- no translation found for billing_cycle_summary (9009106526129293752) -->
+    <skip />
+    <!-- no translation found for billing_cycle_fragment_summary (1940518156600077066) -->
+    <skip />
+    <!-- no translation found for network_restrictions (8234695294536675380) -->
+    <skip />
+    <!-- no translation found for operator_warning (7206980278353372811) -->
+    <skip />
+    <!-- no translation found for data_used_template (3245919669966296505) -->
+    <skip />
+    <!-- no translation found for data_warning (209133958008062117) -->
+    <skip />
+    <!-- no translation found for set_data_limit (2901526323210516923) -->
+    <skip />
+    <!-- no translation found for data_limit (1885406964934590552) -->
+    <skip />
+    <!-- no translation found for data_usage_template (392191945602400904) -->
+    <skip />
+    <!-- no translation found for configure (1029654422228677273) -->
+    <skip />
 </resources>
diff --git a/res/values-is-rIS/strings.xml b/res/values-is-rIS/strings.xml
index 0d223e4..6c7c836 100644
--- a/res/values-is-rIS/strings.xml
+++ b/res/values-is-rIS/strings.xml
@@ -74,8 +74,7 @@
     <string name="sdcard_unmount" product="default" msgid="3364184561355611897">"Aftengja SD-kort"</string>
     <string name="sdcard_format" product="nosdcard" msgid="6285310523155166716">"Hreinsa út af USB geymslu"</string>
     <string name="sdcard_format" product="default" msgid="6713185532039187532">"Hreinsa út af SD-korti"</string>
-    <!-- no translation found for font_size_summary (133937309990844030) -->
-    <skip />
+    <string name="font_size_summary" msgid="133937309990844030">"Stækka eða minnka texta á skjá."</string>
     <string name="small_font" msgid="2295331917424072635">"Lítið"</string>
     <string name="medium_font" msgid="2068475425515133701">"Meðalstórt"</string>
     <string name="large_font" msgid="599055175160971446">"Stórt"</string>
@@ -265,7 +264,8 @@
     <string name="roaming_disable" msgid="1295279574370898378">"Tengjast gagnaþjónustu í reiki"</string>
     <string name="roaming_reenable_message" msgid="9141007271031717369">"Gagnasamband er ekki fyrir hendi vegna þess að þú hefur aftengst heimaneti og gagnareiki er ekki virkt."</string>
     <string name="roaming_turn_it_on_button" msgid="4387601818162120589">"Kveikja"</string>
-    <string name="roaming_warning" msgid="7625933694709170887">"Ef þú leyfir gagnareiki er hætt við að það hafi í för með sér mikinn kostnað!"</string>
+    <!-- no translation found for roaming_warning (4275443317524544705) -->
+    <skip />
     <string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"Ef þú leyfir gagnareiki er hætt við að það hafi í för með sér mikinn kostnað!\n\nÞessi stilling hefur áhrif á alla notendur spjaldtölvunnar."</string>
     <string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"Ef þú leyfir gagnareiki er hætt við að það hafi í för með sér mikinn kostnað!\n\nÞessi stilling hefur áhrif á alla notendur símans."</string>
     <string name="roaming_reenable_title" msgid="6068100976707316772">"Leyfa gagnareiki?"</string>
@@ -1937,6 +1937,10 @@
     <string name="sync_is_failing" msgid="1591561768344128377">"Vandamál eru með samstillingu sem stendur. Hún verður aftur í boði von bráðar."</string>
     <string name="add_account_label" msgid="7811707265834013767">"Bæta reikningi við"</string>
     <string name="managed_profile_not_available_label" msgid="852263300911325904">"Vinnusnið er ekki í boði ennþá"</string>
+    <!-- no translation found for work_mode_label (5794470908668593961) -->
+    <skip />
+    <!-- no translation found for work_mode_summary (1620246003886940776) -->
+    <skip />
     <string name="remove_managed_profile_label" msgid="3856519337797285325">"Fjarlægja vinnusnið"</string>
     <string name="background_data" msgid="5779592891375473817">"Bakgrunnsgögn"</string>
     <string name="background_data_summary" msgid="8328521479872763452">"Forrit geta alltaf samstillt, sent og tekið við gögnum"</string>
@@ -2754,8 +2758,7 @@
     <string name="camera_double_tap_power_gesture_desc" msgid="7355664631775680376">"Opnaðu myndavélina hratt án þess að taka skjáinn úr lás"</string>
     <string name="screen_zoom_title" msgid="6332123593919641665">"Aðdráttur á skjá"</string>
     <string name="screen_zoom_keywords" msgid="9176477565403352552">"skjár þéttleiki, aðdráttur, stærð"</string>
-    <!-- no translation found for screen_zoom_summary (2022973627105802010) -->
-    <skip />
+    <string name="screen_zoom_summary" msgid="2022973627105802010">"Minnkaðu eða stækkaðu öll atriði á skjánum. Hugsanlegt er að sum forrit á heimaskjánum færist til ef þú breytir þessari stillingu."</string>
     <string name="screen_zoom_preview_title" msgid="4680671508172336572">"Forskoðun"</string>
     <string name="screen_zoom_make_smaller_desc" msgid="4622359904253364742">"Minnka"</string>
     <string name="screen_zoom_make_larger_desc" msgid="2236171043607896594">"Stækka"</string>
@@ -2799,8 +2802,56 @@
     <string name="condition_cellular_summary" msgid="1818046558419658463">"Internetið er aðeins í boði gegnum Wi-Fi"</string>
     <string name="condition_bg_data_title" msgid="1422001615923482010">"Slökkt er á bakgrunnsgögnum"</string>
     <string name="condition_bg_data_summary" msgid="656957852895282228">"Bakgrunnsgögn eru aðeins í boði yfir Wi-Fi. Þetta getur haft áhrif á sum forrit eða þjónustu þegar Wi-Fi er ekki í boði."</string>
+    <!-- no translation found for condition_work_title (7293722361184366648) -->
+    <skip />
+    <!-- no translation found for condition_work_summary (7543202177571590378) -->
+    <skip />
     <string name="suggestions_title" msgid="8758376306825920705">"Tillögur (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
     <string name="suggestion_remove" msgid="904627293892092439">"Fjarlægja"</string>
     <string name="color_temperature" msgid="2501579996151717270">"Lithiti skjás"</string>
     <string name="color_temperature_desc" msgid="3603319696846982249">"Virkja kaldan litblæ"</string>
+    <!-- no translation found for usage (2977875522080448986) -->
+    <skip />
+    <!-- no translation found for cellular_data_usage (2763710678354680712) -->
+    <skip />
+    <!-- no translation found for wifi_data_usage (686754111095324306) -->
+    <skip />
+    <!-- no translation found for ethernet_data_usage (5108764537574354616) -->
+    <skip />
+    <!-- no translation found for wifi (1081550856200013637) -->
+    <skip />
+    <!-- no translation found for ethernet (6600095783781389720) -->
+    <skip />
+    <!-- no translation found for cell_data_template (3308709914705592281) -->
+    <skip />
+    <!-- no translation found for wifi_data_template (501654649753761778) -->
+    <skip />
+    <!-- no translation found for ethernet_data_template (5775729859383597507) -->
+    <skip />
+    <!-- no translation found for cell_warning_only (763147658209027140) -->
+    <skip />
+    <!-- no translation found for cell_warning_and_limit (2273413629267437470) -->
+    <skip />
+    <!-- no translation found for billing_cycle (5169909190811133499) -->
+    <skip />
+    <!-- no translation found for billing_cycle_summary (9009106526129293752) -->
+    <skip />
+    <!-- no translation found for billing_cycle_fragment_summary (1940518156600077066) -->
+    <skip />
+    <!-- no translation found for network_restrictions (8234695294536675380) -->
+    <skip />
+    <!-- no translation found for operator_warning (7206980278353372811) -->
+    <skip />
+    <!-- no translation found for data_used_template (3245919669966296505) -->
+    <skip />
+    <!-- no translation found for data_warning (209133958008062117) -->
+    <skip />
+    <!-- no translation found for set_data_limit (2901526323210516923) -->
+    <skip />
+    <!-- no translation found for data_limit (1885406964934590552) -->
+    <skip />
+    <!-- no translation found for data_usage_template (392191945602400904) -->
+    <skip />
+    <!-- no translation found for configure (1029654422228677273) -->
+    <skip />
 </resources>
diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml
index 9416569..4530b4e 100644
--- a/res/values-it/strings.xml
+++ b/res/values-it/strings.xml
@@ -264,7 +264,8 @@
     <string name="roaming_disable" msgid="1295279574370898378">"Connessione a servizi di dati in roaming"</string>
     <string name="roaming_reenable_message" msgid="9141007271031717369">"Connettività dati persa: hai lasciato la rete del tuo operatore con il roaming dati disattivato."</string>
     <string name="roaming_turn_it_on_button" msgid="4387601818162120589">"Attiva"</string>
-    <string name="roaming_warning" msgid="7625933694709170887">"Se consenti il roaming dei dati i costi potrebbero essere elevati."</string>
+    <!-- no translation found for roaming_warning (4275443317524544705) -->
+    <skip />
     <string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"Quando consenti il roaming dei dati, potrebbero essere addebitati costi significativi per il roaming.\n\nQuesta impostazione influisce su tutti gli utenti di questo tablet."</string>
     <string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"Quando consenti il roaming dei dati, potrebbero essere addebitati costi significativi per il roaming.\n\nQuesta impostazione influisce su tutti gli utenti di questo telefono."</string>
     <string name="roaming_reenable_title" msgid="6068100976707316772">"Consentire il roaming dei dati?"</string>
@@ -1936,6 +1937,10 @@
     <string name="sync_is_failing" msgid="1591561768344128377">"La sincronizzazione presenta dei problemi. Riprenderà a breve."</string>
     <string name="add_account_label" msgid="7811707265834013767">"Aggiungi account"</string>
     <string name="managed_profile_not_available_label" msgid="852263300911325904">"Profilo di lavoro non ancora disponibile"</string>
+    <!-- no translation found for work_mode_label (5794470908668593961) -->
+    <skip />
+    <!-- no translation found for work_mode_summary (1620246003886940776) -->
+    <skip />
     <string name="remove_managed_profile_label" msgid="3856519337797285325">"Rimuovi profilo di lavoro"</string>
     <string name="background_data" msgid="5779592891375473817">"Dati in background"</string>
     <string name="background_data_summary" msgid="8328521479872763452">"Sincron., invio e ricezione dati possibili in ogni momento"</string>
@@ -2797,8 +2802,55 @@
     <string name="condition_cellular_summary" msgid="1818046558419658463">"Internet disponibile solo tramite Wi-Fi"</string>
     <string name="condition_bg_data_title" msgid="1422001615923482010">"I dati in background sono disattivati"</string>
     <string name="condition_bg_data_summary" msgid="656957852895282228">"I dati in background sono disponibili solo tramite Wi-Fi. Ciò può condizionare qualche app o alcuni servizi quando la rete Wi-Fi non è disponibile."</string>
+    <!-- no translation found for condition_work_title (7293722361184366648) -->
+    <skip />
+    <!-- no translation found for condition_work_summary (7543202177571590378) -->
+    <skip />
     <string name="suggestions_title" msgid="8758376306825920705">"Suggerimenti (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
     <string name="suggestion_remove" msgid="904627293892092439">"Rimuovi"</string>
     <string name="color_temperature" msgid="2501579996151717270">"Temperatura colore del display"</string>
     <string name="color_temperature_desc" msgid="3603319696846982249">"Attiva la temperatura fredda"</string>
+    <!-- no translation found for usage (2977875522080448986) -->
+    <skip />
+    <!-- no translation found for cellular_data_usage (2763710678354680712) -->
+    <skip />
+    <!-- no translation found for wifi_data_usage (686754111095324306) -->
+    <skip />
+    <!-- no translation found for ethernet_data_usage (5108764537574354616) -->
+    <skip />
+    <string name="wifi" msgid="1081550856200013637">"Wi-Fi"</string>
+    <!-- no translation found for ethernet (6600095783781389720) -->
+    <skip />
+    <!-- no translation found for cell_data_template (3308709914705592281) -->
+    <skip />
+    <!-- no translation found for wifi_data_template (501654649753761778) -->
+    <skip />
+    <!-- no translation found for ethernet_data_template (5775729859383597507) -->
+    <skip />
+    <!-- no translation found for cell_warning_only (763147658209027140) -->
+    <skip />
+    <!-- no translation found for cell_warning_and_limit (2273413629267437470) -->
+    <skip />
+    <!-- no translation found for billing_cycle (5169909190811133499) -->
+    <skip />
+    <!-- no translation found for billing_cycle_summary (9009106526129293752) -->
+    <skip />
+    <!-- no translation found for billing_cycle_fragment_summary (1940518156600077066) -->
+    <skip />
+    <!-- no translation found for network_restrictions (8234695294536675380) -->
+    <skip />
+    <!-- no translation found for operator_warning (7206980278353372811) -->
+    <skip />
+    <!-- no translation found for data_used_template (3245919669966296505) -->
+    <skip />
+    <!-- no translation found for data_warning (209133958008062117) -->
+    <skip />
+    <!-- no translation found for set_data_limit (2901526323210516923) -->
+    <skip />
+    <!-- no translation found for data_limit (1885406964934590552) -->
+    <skip />
+    <!-- no translation found for data_usage_template (392191945602400904) -->
+    <skip />
+    <!-- no translation found for configure (1029654422228677273) -->
+    <skip />
 </resources>
diff --git a/res/values-iw/strings.xml b/res/values-iw/strings.xml
index 87a8d6a..cefe249 100644
--- a/res/values-iw/strings.xml
+++ b/res/values-iw/strings.xml
@@ -76,8 +76,7 @@
     <string name="sdcard_unmount" product="default" msgid="3364184561355611897">"‏בטל טעינה של כרטיס SD"</string>
     <string name="sdcard_format" product="nosdcard" msgid="6285310523155166716">"‏מחק אחסון USB"</string>
     <string name="sdcard_format" product="default" msgid="6713185532039187532">"‏מחק כרטיס SD"</string>
-    <!-- no translation found for font_size_summary (133937309990844030) -->
-    <skip />
+    <string name="font_size_summary" msgid="133937309990844030">"הגדל או הקטן את גודל הטקסט שעל המסך."</string>
     <string name="small_font" msgid="2295331917424072635">"קטן"</string>
     <string name="medium_font" msgid="2068475425515133701">"בינוני"</string>
     <string name="large_font" msgid="599055175160971446">"גדול"</string>
@@ -267,7 +266,8 @@
     <string name="roaming_disable" msgid="1295279574370898378">"התחבר לשירותי נתונים בנדידה"</string>
     <string name="roaming_reenable_message" msgid="9141007271031717369">"איבדת את קישוריות הנתונים כיוון שעזבת את הרשת הביתית בזמן שנדידת הנתונים היתה כבויה."</string>
     <string name="roaming_turn_it_on_button" msgid="4387601818162120589">"הפעל"</string>
-    <string name="roaming_warning" msgid="7625933694709170887">"כשאתה מאפשר נדידה, ייתכן שתחויב בעלויות נדידה גבוהות!"</string>
+    <!-- no translation found for roaming_warning (4275443317524544705) -->
+    <skip />
     <string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"כשאתה מאפשר נדידה, הדבר עשוי להיות כרוך בעלויות נדידה גבוהות!\n\nהגדרה זו משפיעה על כל המשתמשים בטאבלט הזה."</string>
     <string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"כשאתה מאפשר נדידה, הדבר עשוי להיות כרוך בעלויות נדידה גבוהות!\n\nהגדרה זו משפיעה על כל המשתמשים בטלפון הזה."</string>
     <string name="roaming_reenable_title" msgid="6068100976707316772">"האם לאפשר נדידה?"</string>
@@ -1969,6 +1969,10 @@
     <string name="sync_is_failing" msgid="1591561768344128377">"הסינכרון נתקל כעת בבעיות. הוא ימשיך תוך זמן קצר."</string>
     <string name="add_account_label" msgid="7811707265834013767">"הוסף חשבון"</string>
     <string name="managed_profile_not_available_label" msgid="852263300911325904">"פרופיל עבודה עדיין אינו זמין"</string>
+    <!-- no translation found for work_mode_label (5794470908668593961) -->
+    <skip />
+    <!-- no translation found for work_mode_summary (1620246003886940776) -->
+    <skip />
     <string name="remove_managed_profile_label" msgid="3856519337797285325">"הסר פרופיל עבודה"</string>
     <string name="background_data" msgid="5779592891375473817">"נתוני רקע"</string>
     <string name="background_data_summary" msgid="8328521479872763452">"אפליקציות יכולות לסנכרן, לשלוח ולקבל נתונים בכל עת"</string>
@@ -2806,8 +2810,7 @@
     <string name="camera_double_tap_power_gesture_desc" msgid="7355664631775680376">"הפעל את המצלמה במהירות מבלי לבטל את נעילת הטלפון"</string>
     <string name="screen_zoom_title" msgid="6332123593919641665">"מרחק מתצוגה במסך"</string>
     <string name="screen_zoom_keywords" msgid="9176477565403352552">"דחיסות תצוגה, מרחק מתצוגה במסך, קנה מידה, שינוי קנה מידה"</string>
-    <!-- no translation found for screen_zoom_summary (2022973627105802010) -->
-    <skip />
+    <string name="screen_zoom_summary" msgid="2022973627105802010">"הגדל או הקטן את כל הפריטים שעל המסך. לאחר שינוי הגדרה זו, המיקום של אפליקציות מסוימות במסך דף הבית שלך עשוי להשתנות."</string>
     <string name="screen_zoom_preview_title" msgid="4680671508172336572">"תצוגה מקדימה"</string>
     <string name="screen_zoom_make_smaller_desc" msgid="4622359904253364742">"הקטנה"</string>
     <string name="screen_zoom_make_larger_desc" msgid="2236171043607896594">"הגדלה"</string>
@@ -2851,8 +2854,55 @@
     <string name="condition_cellular_summary" msgid="1818046558419658463">"‏האינטרנט זמין רק באמצעות Wi-Fi"</string>
     <string name="condition_bg_data_title" msgid="1422001615923482010">"נתוני הרקע כבויים"</string>
     <string name="condition_bg_data_summary" msgid="656957852895282228">"‏נתוני הרקע זמינים רק באמצעות Wi-Fi. פעולה זו עשויה להשפיע על חלק מהאפליקציות והשירותים אם אין רשת ‏Wi-Fi‏‏‏‏ זמינה."</string>
+    <!-- no translation found for condition_work_title (7293722361184366648) -->
+    <skip />
+    <!-- no translation found for condition_work_summary (7543202177571590378) -->
+    <skip />
     <string name="suggestions_title" msgid="8758376306825920705">"הצעות (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
     <string name="suggestion_remove" msgid="904627293892092439">"הסר"</string>
     <string name="color_temperature" msgid="2501579996151717270">"טמפרטורת הצבע של התצוגה"</string>
     <string name="color_temperature_desc" msgid="3603319696846982249">"הפעל צבעים קרירים"</string>
+    <!-- no translation found for usage (2977875522080448986) -->
+    <skip />
+    <!-- no translation found for cellular_data_usage (2763710678354680712) -->
+    <skip />
+    <!-- no translation found for wifi_data_usage (686754111095324306) -->
+    <skip />
+    <!-- no translation found for ethernet_data_usage (5108764537574354616) -->
+    <skip />
+    <string name="wifi" msgid="1081550856200013637">"Wi-Fi"</string>
+    <!-- no translation found for ethernet (6600095783781389720) -->
+    <skip />
+    <!-- no translation found for cell_data_template (3308709914705592281) -->
+    <skip />
+    <!-- no translation found for wifi_data_template (501654649753761778) -->
+    <skip />
+    <!-- no translation found for ethernet_data_template (5775729859383597507) -->
+    <skip />
+    <!-- no translation found for cell_warning_only (763147658209027140) -->
+    <skip />
+    <!-- no translation found for cell_warning_and_limit (2273413629267437470) -->
+    <skip />
+    <!-- no translation found for billing_cycle (5169909190811133499) -->
+    <skip />
+    <!-- no translation found for billing_cycle_summary (9009106526129293752) -->
+    <skip />
+    <!-- no translation found for billing_cycle_fragment_summary (1940518156600077066) -->
+    <skip />
+    <!-- no translation found for network_restrictions (8234695294536675380) -->
+    <skip />
+    <!-- no translation found for operator_warning (7206980278353372811) -->
+    <skip />
+    <!-- no translation found for data_used_template (3245919669966296505) -->
+    <skip />
+    <!-- no translation found for data_warning (209133958008062117) -->
+    <skip />
+    <!-- no translation found for set_data_limit (2901526323210516923) -->
+    <skip />
+    <!-- no translation found for data_limit (1885406964934590552) -->
+    <skip />
+    <!-- no translation found for data_usage_template (392191945602400904) -->
+    <skip />
+    <!-- no translation found for configure (1029654422228677273) -->
+    <skip />
 </resources>
diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml
index bfdf70b..2ef570c 100644
--- a/res/values-ja/strings.xml
+++ b/res/values-ja/strings.xml
@@ -74,8 +74,7 @@
     <string name="sdcard_unmount" product="default" msgid="3364184561355611897">"SDカードのマウント解除"</string>
     <string name="sdcard_format" product="nosdcard" msgid="6285310523155166716">"USBストレージ内データの消去"</string>
     <string name="sdcard_format" product="default" msgid="6713185532039187532">"SDカード内データを消去"</string>
-    <!-- no translation found for font_size_summary (133937309990844030) -->
-    <skip />
+    <string name="font_size_summary" msgid="133937309990844030">"画面上のテキストのサイズを変更します。"</string>
     <string name="small_font" msgid="2295331917424072635">"小"</string>
     <string name="medium_font" msgid="2068475425515133701">"中"</string>
     <string name="large_font" msgid="599055175160971446">"大"</string>
@@ -265,7 +264,8 @@
     <string name="roaming_disable" msgid="1295279574370898378">"ローミング中にデータサービスに接続します"</string>
     <string name="roaming_reenable_message" msgid="9141007271031717369">"データローミングをOFFにしたままホームネットワークの外に出たためデータ接続が切断されました。"</string>
     <string name="roaming_turn_it_on_button" msgid="4387601818162120589">"ONにする"</string>
-    <string name="roaming_warning" msgid="7625933694709170887">"データローミングを許可すると高額な通信料が発生することがあります。"</string>
+    <!-- no translation found for roaming_warning (4275443317524544705) -->
+    <skip />
     <string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"データローミングを許可すると高額な通信料が発生することがあります。\n\nこの設定はこのタブレット上のすべてのユーザーに影響します。"</string>
     <string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"データローミングを許可すると高額な通信料が発生することがあります。\n\nこの設定はこの端末上のすべてのユーザーに影響します。"</string>
     <string name="roaming_reenable_title" msgid="6068100976707316772">"データ ローミングを許可しますか？"</string>
@@ -1941,6 +1941,10 @@
     <string name="sync_is_failing" msgid="1591561768344128377">"現在同期で問題が発生しています。しばらくお待ちください。"</string>
     <string name="add_account_label" msgid="7811707265834013767">"アカウントを追加"</string>
     <string name="managed_profile_not_available_label" msgid="852263300911325904">"仕事用プロファイルがまだ利用できません"</string>
+    <!-- no translation found for work_mode_label (5794470908668593961) -->
+    <skip />
+    <!-- no translation found for work_mode_summary (1620246003886940776) -->
+    <skip />
     <string name="remove_managed_profile_label" msgid="3856519337797285325">"仕事用プロファイルを削除"</string>
     <string name="background_data" msgid="5779592891375473817">"バックグラウンドデータ"</string>
     <string name="background_data_summary" msgid="8328521479872763452">"アプリがデータをいつでも同期、送信、受信可能にする"</string>
@@ -2758,8 +2762,7 @@
     <string name="camera_double_tap_power_gesture_desc" msgid="7355664631775680376">"画面ロックを解除せずにすばやくカメラを起動します"</string>
     <string name="screen_zoom_title" msgid="6332123593919641665">"画面のズーム"</string>
     <string name="screen_zoom_keywords" msgid="9176477565403352552">"表示間隔、画面のズーム、スケール、拡大縮小"</string>
-    <!-- no translation found for screen_zoom_summary (2022973627105802010) -->
-    <skip />
+    <string name="screen_zoom_summary" msgid="2022973627105802010">"画面上のすべての項目のサイズを変更します。この設定を変更すると、ホーム画面で一部のアプリの位置が変わる場合があります。"</string>
     <string name="screen_zoom_preview_title" msgid="4680671508172336572">"プレビュー"</string>
     <string name="screen_zoom_make_smaller_desc" msgid="4622359904253364742">"縮小"</string>
     <string name="screen_zoom_make_larger_desc" msgid="2236171043607896594">"拡大"</string>
@@ -2803,8 +2806,55 @@
     <string name="condition_cellular_summary" msgid="1818046558419658463">"インターネットは Wi-Fi 接続時のみ利用できます"</string>
     <string name="condition_bg_data_title" msgid="1422001615923482010">"バックグラウンドデータ OFF"</string>
     <string name="condition_bg_data_summary" msgid="656957852895282228">"バックグラウンド  データは Wi-Fi 接続時のみ利用できます。Wi-Fi に接続できない場合、一部のアプリやサービスに影響する可能性があります。"</string>
+    <!-- no translation found for condition_work_title (7293722361184366648) -->
+    <skip />
+    <!-- no translation found for condition_work_summary (7543202177571590378) -->
+    <skip />
     <string name="suggestions_title" msgid="8758376306825920705">"候補（<xliff:g id="ID_1">%1$d</xliff:g>）"</string>
     <string name="suggestion_remove" msgid="904627293892092439">"削除"</string>
     <string name="color_temperature" msgid="2501579996151717270">"色温度の表示"</string>
     <string name="color_temperature_desc" msgid="3603319696846982249">"クールを有効にする"</string>
+    <!-- no translation found for usage (2977875522080448986) -->
+    <skip />
+    <!-- no translation found for cellular_data_usage (2763710678354680712) -->
+    <skip />
+    <!-- no translation found for wifi_data_usage (686754111095324306) -->
+    <skip />
+    <!-- no translation found for ethernet_data_usage (5108764537574354616) -->
+    <skip />
+    <string name="wifi" msgid="1081550856200013637">"Wi-Fi"</string>
+    <!-- no translation found for ethernet (6600095783781389720) -->
+    <skip />
+    <!-- no translation found for cell_data_template (3308709914705592281) -->
+    <skip />
+    <!-- no translation found for wifi_data_template (501654649753761778) -->
+    <skip />
+    <!-- no translation found for ethernet_data_template (5775729859383597507) -->
+    <skip />
+    <!-- no translation found for cell_warning_only (763147658209027140) -->
+    <skip />
+    <!-- no translation found for cell_warning_and_limit (2273413629267437470) -->
+    <skip />
+    <!-- no translation found for billing_cycle (5169909190811133499) -->
+    <skip />
+    <!-- no translation found for billing_cycle_summary (9009106526129293752) -->
+    <skip />
+    <!-- no translation found for billing_cycle_fragment_summary (1940518156600077066) -->
+    <skip />
+    <!-- no translation found for network_restrictions (8234695294536675380) -->
+    <skip />
+    <!-- no translation found for operator_warning (7206980278353372811) -->
+    <skip />
+    <!-- no translation found for data_used_template (3245919669966296505) -->
+    <skip />
+    <!-- no translation found for data_warning (209133958008062117) -->
+    <skip />
+    <!-- no translation found for set_data_limit (2901526323210516923) -->
+    <skip />
+    <!-- no translation found for data_limit (1885406964934590552) -->
+    <skip />
+    <!-- no translation found for data_usage_template (392191945602400904) -->
+    <skip />
+    <!-- no translation found for configure (1029654422228677273) -->
+    <skip />
 </resources>
diff --git a/res/values-ka-rGE/strings.xml b/res/values-ka-rGE/strings.xml
index d1aa2b4..4000a817 100644
--- a/res/values-ka-rGE/strings.xml
+++ b/res/values-ka-rGE/strings.xml
@@ -74,8 +74,7 @@
     <string name="sdcard_unmount" product="default" msgid="3364184561355611897">"გამოაერთე SD ბარათი"</string>
     <string name="sdcard_format" product="nosdcard" msgid="6285310523155166716">"USB მეხსიერების წაშლა"</string>
     <string name="sdcard_format" product="default" msgid="6713185532039187532">"SD ბარათის გასუფთავება"</string>
-    <!-- no translation found for font_size_summary (133937309990844030) -->
-    <skip />
+    <string name="font_size_summary" msgid="133937309990844030">"ეკრანზე ტექსტის დაპატარავება ან გადიდება."</string>
     <string name="small_font" msgid="2295331917424072635">"პატარა"</string>
     <string name="medium_font" msgid="2068475425515133701">"საშუალო"</string>
     <string name="large_font" msgid="599055175160971446">"დიდი"</string>
@@ -265,7 +264,8 @@
     <string name="roaming_disable" msgid="1295279574370898378">"როუმინგის დროს ინტერნეტ სერვისებთან დაკავშირება"</string>
     <string name="roaming_reenable_message" msgid="9141007271031717369">"თქვენი ინტერნეტ კავშირი გაწყვეტილია, რადგან საშინაო ქსელი გამორთული ინტერნეტის როუმინგით დატოვეთ."</string>
     <string name="roaming_turn_it_on_button" msgid="4387601818162120589">"ჩართვა"</string>
-    <string name="roaming_warning" msgid="7625933694709170887">"ინტერნეტის როუმინგის ჩართვის შემთხვევაში, თქვენ შეიძლება დაგეკისროთ მაღალი დამატებითი ხარჯები!"</string>
+    <!-- no translation found for roaming_warning (4275443317524544705) -->
+    <skip />
     <string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"ინტერნეტის როუმინგის გააქტიურებით შეიძლება გამოიწვიოთ მნიშვნელოვანი როუმინგ ცვლილებები!\n\nეს ცვლილება ეხება ამ ტაბლეტის ყველა მომხმარებელს."</string>
     <string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"ინტერნეტის როუმინგის გააქტიურებით შეიძლება გამოიწვიოთ მნიშვნელოვანი როუმინგ ცვლილებები!\n\nეს ცვლილება ეხება ამ ტელეფონის ყველა მომხმარებელს."</string>
     <string name="roaming_reenable_title" msgid="6068100976707316772">"გსურთ, ჩაირთოს ინტერნეტის როუმინგი?"</string>
@@ -1937,6 +1937,10 @@
     <string name="sync_is_failing" msgid="1591561768344128377">"ამჟამად სინქრონიზაცია ვერ ხერხდება. ცოტა ხანში აღდგება."</string>
     <string name="add_account_label" msgid="7811707265834013767">"ანგარიშის დამატება"</string>
     <string name="managed_profile_not_available_label" msgid="852263300911325904">"სამუშაო პროფილი ჯერ არ არის ხელმისაწვდომი"</string>
+    <!-- no translation found for work_mode_label (5794470908668593961) -->
+    <skip />
+    <!-- no translation found for work_mode_summary (1620246003886940776) -->
+    <skip />
     <string name="remove_managed_profile_label" msgid="3856519337797285325">"სამუშაო პროფილის ამოშლა"</string>
     <string name="background_data" msgid="5779592891375473817">"უკანა ფონის მონაცემები"</string>
     <string name="background_data_summary" msgid="8328521479872763452">"აპებს ნებისმიერ დროს შეუძლიათ მონაცემების გაგზავნა, მიღება და სინქრონიზაცია"</string>
@@ -2754,8 +2758,7 @@
     <string name="camera_double_tap_power_gesture_desc" msgid="7355664631775680376">"კამერის სწრაფად გახსნა ეკრანის განბლოკვის გარეშე"</string>
     <string name="screen_zoom_title" msgid="6332123593919641665">"ეკრანის მასშტაბირება"</string>
     <string name="screen_zoom_keywords" msgid="9176477565403352552">"ეკრანის სიმკვრივე, ეკრანის მასშტაბირება, მასშტაბი, სკალირება"</string>
-    <!-- no translation found for screen_zoom_summary (2022973627105802010) -->
-    <skip />
+    <string name="screen_zoom_summary" msgid="2022973627105802010">"ეკრანზე არსებული ყველა ერთეულის დაპატარავება ან გადიდება. ამ პარამეტრის შეცვლის შემთხვევაში, ზოგიერთმა აპმა თქვენს მთავარ ეკრანზე შეიძლება პოზიცია შეიცვალოს."</string>
     <string name="screen_zoom_preview_title" msgid="4680671508172336572">"გადახედვა"</string>
     <string name="screen_zoom_make_smaller_desc" msgid="4622359904253364742">"დაპატარავება"</string>
     <string name="screen_zoom_make_larger_desc" msgid="2236171043607896594">"გადიდება"</string>
@@ -2799,8 +2802,55 @@
     <string name="condition_cellular_summary" msgid="1818046558419658463">"ინტერნეტი ხელმისაწვდომია მხოლოდ Wi-Fi-ს მეშვეობით"</string>
     <string name="condition_bg_data_title" msgid="1422001615923482010">"უკანა ფონის მონაც. გამორთულია"</string>
     <string name="condition_bg_data_summary" msgid="656957852895282228">"უკანა ფონის მონაცემები ხელმისაწვდომია მხოლოდ Wi-Fi-ს მეშვეობით. ამან შეიძლება გავლენა იქონიოს ზოგიერთი აპის ან სერვისის მუშაობაზე, როცა Wi-Fi მიუწვდომელი იქნება."</string>
+    <!-- no translation found for condition_work_title (7293722361184366648) -->
+    <skip />
+    <!-- no translation found for condition_work_summary (7543202177571590378) -->
+    <skip />
     <string name="suggestions_title" msgid="8758376306825920705">"შეთავაზებები (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
     <string name="suggestion_remove" msgid="904627293892092439">"ამოშლა"</string>
     <string name="color_temperature" msgid="2501579996151717270">"ფერთა ტემპერატურის ჩვენება"</string>
     <string name="color_temperature_desc" msgid="3603319696846982249">"ცივი ფერების ჩართვა"</string>
+    <!-- no translation found for usage (2977875522080448986) -->
+    <skip />
+    <!-- no translation found for cellular_data_usage (2763710678354680712) -->
+    <skip />
+    <!-- no translation found for wifi_data_usage (686754111095324306) -->
+    <skip />
+    <!-- no translation found for ethernet_data_usage (5108764537574354616) -->
+    <skip />
+    <string name="wifi" msgid="1081550856200013637">"Wi-Fi"</string>
+    <!-- no translation found for ethernet (6600095783781389720) -->
+    <skip />
+    <!-- no translation found for cell_data_template (3308709914705592281) -->
+    <skip />
+    <!-- no translation found for wifi_data_template (501654649753761778) -->
+    <skip />
+    <!-- no translation found for ethernet_data_template (5775729859383597507) -->
+    <skip />
+    <!-- no translation found for cell_warning_only (763147658209027140) -->
+    <skip />
+    <!-- no translation found for cell_warning_and_limit (2273413629267437470) -->
+    <skip />
+    <!-- no translation found for billing_cycle (5169909190811133499) -->
+    <skip />
+    <!-- no translation found for billing_cycle_summary (9009106526129293752) -->
+    <skip />
+    <!-- no translation found for billing_cycle_fragment_summary (1940518156600077066) -->
+    <skip />
+    <!-- no translation found for network_restrictions (8234695294536675380) -->
+    <skip />
+    <!-- no translation found for operator_warning (7206980278353372811) -->
+    <skip />
+    <!-- no translation found for data_used_template (3245919669966296505) -->
+    <skip />
+    <!-- no translation found for data_warning (209133958008062117) -->
+    <skip />
+    <!-- no translation found for set_data_limit (2901526323210516923) -->
+    <skip />
+    <!-- no translation found for data_limit (1885406964934590552) -->
+    <skip />
+    <!-- no translation found for data_usage_template (392191945602400904) -->
+    <skip />
+    <!-- no translation found for configure (1029654422228677273) -->
+    <skip />
 </resources>
diff --git a/res/values-kk-rKZ/strings.xml b/res/values-kk-rKZ/strings.xml
index 00c4820..b587d4e 100644
--- a/res/values-kk-rKZ/strings.xml
+++ b/res/values-kk-rKZ/strings.xml
@@ -264,7 +264,8 @@
     <string name="roaming_disable" msgid="1295279574370898378">"Роуминг кезінде дерекқор қызметіне жалғау"</string>
     <string name="roaming_reenable_message" msgid="9141007271031717369">"Дерекқор байланысын жоғалттыңыз, себебі үй желісінің дерекқор роуминг қызметін өшірулі күйінде қалдырғансыз."</string>
     <string name="roaming_turn_it_on_button" msgid="4387601818162120589">"Оны қосыңыз"</string>
-    <string name="roaming_warning" msgid="7625933694709170887">"Дерекқор роумингіне рұқсат берілгенде сізден біршама роуминг төлемі талап етілуі мүмкін!"</string>
+    <!-- no translation found for roaming_warning (4275443317524544705) -->
+    <skip />
     <string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"Дерекқор роумингіне рұқсат берілгенде сізден біршама роуминг төлемі талап етілуі мүмкін!\n\nБұл параметр осы планшеттегі барлық пайдаланушыларға әсер етеді."</string>
     <string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"Дерекқор роумингіне рұқсат берілгенде сізден біршама роуминг төлемі талап етілуі мүмкін!\n\nБұл параметр осы телефондағы барлық пайдаланушыларға әсер етеді."</string>
     <string name="roaming_reenable_title" msgid="6068100976707316772">"Дерекқор роумингіне рұқсат берілсін бе?"</string>
@@ -1936,6 +1937,10 @@
     <string name="sync_is_failing" msgid="1591561768344128377">"Синх мәселесі орын алуда. Біраз уақыттан кейін оралады."</string>
     <string name="add_account_label" msgid="7811707265834013767">"Есептік жазба қосу"</string>
     <string name="managed_profile_not_available_label" msgid="852263300911325904">"Жұмыс профилі әлі қол жетімді емес"</string>
+    <!-- no translation found for work_mode_label (5794470908668593961) -->
+    <skip />
+    <!-- no translation found for work_mode_summary (1620246003886940776) -->
+    <skip />
     <string name="remove_managed_profile_label" msgid="3856519337797285325">"Жұмыс профилін жою"</string>
     <string name="background_data" msgid="5779592891375473817">"Жалпы мағлұматтар дерекқоры"</string>
     <string name="background_data_summary" msgid="8328521479872763452">"Қолданбалар деректерді синхрондау, жіберу жұмыстарын орындайды және кез келген уақытта қабылдай алады."</string>
@@ -2797,8 +2802,56 @@
     <string name="condition_cellular_summary" msgid="1818046558419658463">"Интернет тек Wi-Fi арқылы қол жетімді"</string>
     <string name="condition_bg_data_title" msgid="1422001615923482010">"Фондық деректер өшірулі"</string>
     <string name="condition_bg_data_summary" msgid="656957852895282228">"Фондық деректер тек Wi-Fi арқылы қол жетімді. Бұл Wi-Fi қол жетімді емес кезде кейбір қолданбаларға немесе қызметтерге әсер етуі мүмкін."</string>
+    <!-- no translation found for condition_work_title (7293722361184366648) -->
+    <skip />
+    <!-- no translation found for condition_work_summary (7543202177571590378) -->
+    <skip />
     <string name="suggestions_title" msgid="8758376306825920705">"Ұсыныстар (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
     <string name="suggestion_remove" msgid="904627293892092439">"Жою"</string>
     <string name="color_temperature" msgid="2501579996151717270">"Дисплейдің түс температурасы"</string>
     <string name="color_temperature_desc" msgid="3603319696846982249">"Салқын температураны қосу"</string>
+    <!-- no translation found for usage (2977875522080448986) -->
+    <skip />
+    <!-- no translation found for cellular_data_usage (2763710678354680712) -->
+    <skip />
+    <!-- no translation found for wifi_data_usage (686754111095324306) -->
+    <skip />
+    <!-- no translation found for ethernet_data_usage (5108764537574354616) -->
+    <skip />
+    <!-- no translation found for wifi (1081550856200013637) -->
+    <skip />
+    <!-- no translation found for ethernet (6600095783781389720) -->
+    <skip />
+    <!-- no translation found for cell_data_template (3308709914705592281) -->
+    <skip />
+    <!-- no translation found for wifi_data_template (501654649753761778) -->
+    <skip />
+    <!-- no translation found for ethernet_data_template (5775729859383597507) -->
+    <skip />
+    <!-- no translation found for cell_warning_only (763147658209027140) -->
+    <skip />
+    <!-- no translation found for cell_warning_and_limit (2273413629267437470) -->
+    <skip />
+    <!-- no translation found for billing_cycle (5169909190811133499) -->
+    <skip />
+    <!-- no translation found for billing_cycle_summary (9009106526129293752) -->
+    <skip />
+    <!-- no translation found for billing_cycle_fragment_summary (1940518156600077066) -->
+    <skip />
+    <!-- no translation found for network_restrictions (8234695294536675380) -->
+    <skip />
+    <!-- no translation found for operator_warning (7206980278353372811) -->
+    <skip />
+    <!-- no translation found for data_used_template (3245919669966296505) -->
+    <skip />
+    <!-- no translation found for data_warning (209133958008062117) -->
+    <skip />
+    <!-- no translation found for set_data_limit (2901526323210516923) -->
+    <skip />
+    <!-- no translation found for data_limit (1885406964934590552) -->
+    <skip />
+    <!-- no translation found for data_usage_template (392191945602400904) -->
+    <skip />
+    <!-- no translation found for configure (1029654422228677273) -->
+    <skip />
 </resources>
diff --git a/res/values-km-rKH/strings.xml b/res/values-km-rKH/strings.xml
index 365a705..7a96fba 100644
--- a/res/values-km-rKH/strings.xml
+++ b/res/values-km-rKH/strings.xml
@@ -264,7 +264,8 @@
     <string name="roaming_disable" msgid="1295279574370898378">"តភ្ជាប់​សេវាកម្ម​ទិន្នន័យ​ ពេលរ៉ូមីង"</string>
     <string name="roaming_reenable_message" msgid="9141007271031717369">"អ្នក​បាត់បង់​ការ​តភ្ជាប់​ទិន្នន័យ ព្រោះ​អ្នក​បាន​ចាកចេញ​​ពី​បណ្ដាញ​នៅ​ផ្ទះ​របស់​អ្នក​ដែល​បាន​បិទ​ការ​រ៉ូមីង​ទិន្នន័យ។"</string>
     <string name="roaming_turn_it_on_button" msgid="4387601818162120589">"បើក​វា"</string>
-    <string name="roaming_warning" msgid="7625933694709170887">"ពេល​អ្នក​អនុញ្ញាត​រ៉ូមីង​​ទិន្នន័យ អ្នក​អាច​នឹង​ត្រូវ​គិត​ថ្លៃ​សេវាកម្ម​រ៉ូមីង​!"</string>
+    <!-- no translation found for roaming_warning (4275443317524544705) -->
+    <skip />
     <string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"ពេល​អ្នក​ឲ្យ​រ៉ូមីង​ទិន្នន័យ អ្នក​អាច​កាត់​លុយ​ពេល​រ៉ូមីង!\n\nការ​កំណត់​នេះ​មាន​ប្រសិទ្ធភាព​សម្រាប់​អ្នក​ប្រើ​ទាំងអស់​លើ​កុំព្យូទ័រ​បន្ទះ​នេះ។"</string>
     <string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"ពេល​អ្នក​អនុញ្ញាត​​រ៉ូមីង​ទិន្នន័យ អ្នក​អាច​ត្រូវ​បាន​គិត​ថ្លៃ​សេវាកម្ម​រ៉ូមីង​!\n\nការ​កំណត់​នេះ​ប៉ះពាល់​ដល់​អ្នក​ប្រើ​ទាំងអស់​​លើ​ទូរស័ព្ទ​នេះ។"</string>
     <string name="roaming_reenable_title" msgid="6068100976707316772">"ឲ្យ​រ៉ូមីង​ទិន្នន័យ?"</string>
@@ -1936,6 +1937,10 @@
     <string name="sync_is_failing" msgid="1591561768344128377">"បច្ចុប្បន្ន​ការ​ធ្វើ​សម​កាល​កម្ម​មាន​បញ្ហា។ វា​នឹង​​ដំណើរការ​ក្នុង​ពេល​ឆាប់ៗ​នេះ។"</string>
     <string name="add_account_label" msgid="7811707265834013767">"បន្ថែម​គណនី"</string>
     <string name="managed_profile_not_available_label" msgid="852263300911325904">"មិន​ទាន់​មាន​ប្រវត្តិរូប​ការងារ​នៅឡើយ​ទេ"</string>
+    <!-- no translation found for work_mode_label (5794470908668593961) -->
+    <skip />
+    <!-- no translation found for work_mode_summary (1620246003886940776) -->
+    <skip />
     <string name="remove_managed_profile_label" msgid="3856519337797285325">"លុប​ប្រវត្តិរូប​ការងារ"</string>
     <string name="background_data" msgid="5779592891375473817">"ទិន្នន័យ​ផ្ទៃ​ខាង​ក្រោយ"</string>
     <string name="background_data_summary" msgid="8328521479872763452">"កម្មវិធី​អាច​ធ្វើ​សម​កាល​កម្ម​ ផ្ញើ និង​ទទួល​ទិន្នន័យ​នៅ​ពេល​ណា​មួយ"</string>
@@ -2797,8 +2802,55 @@
     <string name="condition_cellular_summary" msgid="1818046558419658463">"អាចប្រើអ៊ីនធឺណិតបានតាមរយៈ Wi-Fi ប៉ុណ្ណោះ"</string>
     <string name="condition_bg_data_title" msgid="1422001615923482010">"ទិន្នន័យផ្ទៃខាងក្រោយបានបិទ"</string>
     <string name="condition_bg_data_summary" msgid="656957852895282228">"ទិន្នន័យផ្ទៃខាងក្រោយប្រើបានតាមរយៈ Wi-Fi ប៉ុណ្ណោះ។ វាអាចប៉ះពាល់កម្មវិធី ឬសេវាកម្មមួយចំនួន នៅពេលដែលមិនមាន Wi-Fi។"</string>
+    <!-- no translation found for condition_work_title (7293722361184366648) -->
+    <skip />
+    <!-- no translation found for condition_work_summary (7543202177571590378) -->
+    <skip />
     <string name="suggestions_title" msgid="8758376306825920705">"ការផ្តល់យោបល់ (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
     <string name="suggestion_remove" msgid="904627293892092439">"យកចេញ"</string>
     <string name="color_temperature" msgid="2501579996151717270">"បង្ហាញសីតុណ្ហភាពពណ៌"</string>
     <string name="color_temperature_desc" msgid="3603319696846982249">"បើកដំណើរសីតុណ្ហភាពត្រជាក់"</string>
+    <!-- no translation found for usage (2977875522080448986) -->
+    <skip />
+    <!-- no translation found for cellular_data_usage (2763710678354680712) -->
+    <skip />
+    <!-- no translation found for wifi_data_usage (686754111095324306) -->
+    <skip />
+    <!-- no translation found for ethernet_data_usage (5108764537574354616) -->
+    <skip />
+    <string name="wifi" msgid="1081550856200013637">"វ៉ាយហ្វាយ"</string>
+    <!-- no translation found for ethernet (6600095783781389720) -->
+    <skip />
+    <!-- no translation found for cell_data_template (3308709914705592281) -->
+    <skip />
+    <!-- no translation found for wifi_data_template (501654649753761778) -->
+    <skip />
+    <!-- no translation found for ethernet_data_template (5775729859383597507) -->
+    <skip />
+    <!-- no translation found for cell_warning_only (763147658209027140) -->
+    <skip />
+    <!-- no translation found for cell_warning_and_limit (2273413629267437470) -->
+    <skip />
+    <!-- no translation found for billing_cycle (5169909190811133499) -->
+    <skip />
+    <!-- no translation found for billing_cycle_summary (9009106526129293752) -->
+    <skip />
+    <!-- no translation found for billing_cycle_fragment_summary (1940518156600077066) -->
+    <skip />
+    <!-- no translation found for network_restrictions (8234695294536675380) -->
+    <skip />
+    <!-- no translation found for operator_warning (7206980278353372811) -->
+    <skip />
+    <!-- no translation found for data_used_template (3245919669966296505) -->
+    <skip />
+    <!-- no translation found for data_warning (209133958008062117) -->
+    <skip />
+    <!-- no translation found for set_data_limit (2901526323210516923) -->
+    <skip />
+    <!-- no translation found for data_limit (1885406964934590552) -->
+    <skip />
+    <!-- no translation found for data_usage_template (392191945602400904) -->
+    <skip />
+    <!-- no translation found for configure (1029654422228677273) -->
+    <skip />
 </resources>
diff --git a/res/values-kn-rIN/strings.xml b/res/values-kn-rIN/strings.xml
index 5cf9db2..fa7b102 100644
--- a/res/values-kn-rIN/strings.xml
+++ b/res/values-kn-rIN/strings.xml
@@ -83,7 +83,7 @@
     <string name="font_size_preview_text_headline" msgid="7955317408475392247">"ಮಾದರಿ ಪಠ್ಯ"</string>
     <string name="font_size_preview_text_title" msgid="4762429961714563135">"ಸಾಗರದ ಅಡಿಯಲ್ಲಿ ಇಪ್ಪತ್ತು ಸಾವಿರ ಲೀಗ್‌ಗಳು"</string>
     <string name="font_size_preview_text_subtitle" msgid="5712012075615701561">"ಅಧ್ಯಾಯ 23: ಕೋರಲ್ ಕಿಂಗ್‌ಡಮ್"</string>
-    <string name="font_size_preview_text_body" msgid="1608889593334414309">"ಮಾರನೆಯ ದಿನ ನಾನು ಎದ್ದಾಗ ನನ್ನ ತಲೆಯು ಸಂಪೂರ್ಣವಾಗಿ ಸ್ಪಷ್ಟವಾಗಿತ್ತು. ನನ್ನ ಆಶ್ಚರ್ಯಕ್ಕೆ, ನಾನು ನನ್ನ ಸ್ವಂತ ಕೋಣೆಯಲ್ಲಿದ್ದೆ. ನನ್ನ ಜೊತೆಗಾರರು, ಎಂದಿಗಿಂತಲೂ ನಾನು ಹೆಚ್ಚು ಗ್ರಹಿಸದೆ ಅವರ ಕ್ಯಾಬಿನ್‌ನಲ್ಲಿ ಯಾವುದೇ ಸಂದೇಹವನ್ನು ಸೂಚಿಸಿರಲಿಲ್ಲ. ರಾತ್ರಿಯಲ್ಲಿ ಏನು ನಡೆದಿದೆ ಎಂಬುದರ ಕುರಿತು ಅವರು ನನ್ನಷ್ಟೇ ಸಾಕಷ್ಟು ಅರಿಯದಂತಿದ್ದರು, ಈ ರಹಸ್ಯವನ್ನು ಭೇದಿಸಲು ನಾನು ಭವಿಷ್ಯದ ಅವಕಾಶಗಳ ಕುರಿತು ಪರಿಗಣಿಸಿದೆ.\nನಂತರ ನಾನು ನನ್ನ ಕೋಣೆಯನ್ನು ತೊರೆಯಲು ಆಲೋಚಿಸಿದೆ. ನಾನು ಮತ್ತೆ ಮುಕ್ತವಾಗಿದ್ದೇನೆಯೇ ಅಥವಾ ಬಂಧಿಯಾಗಿದ್ದೇನೆಯೇ? ಸ್ವಲ್ಪ ಮುಕ್ತ. ನಾನು ಬಾಗಿಲನ್ನು ತೆರೆದೆ, ಅರ್ಧ ಡೆಕ್‌ಗೆ ಹೋದೆ, ಮಧ್ಯದ ಸ್ಟೇರ್‌ಗಳಿಗೆ ಹೋದೆ. ಪ್ಯಾನಲ್‌ಗಳು ನಾವು ತೆರೆಯುವ ಮೊದಲೇ ಮುಚ್ಚಲಾಗಿತ್ತು. ನಾನು ಪ್ಲ್ಯಾಟ್‌ಫಾರ್ಮ್‌ಗೆ ಹೋದೆ.\nನೆಡ್ ಲ್ಯಾಂಡ್ ಮತ್ತು ಕಾನ್ಸಿಲ್ ಅಲ್ಲಿ ನನಗಾಗಿ ಕಾಯುತ್ತಿದ್ದರು. ನಾನು ಅವರನ್ನು ಪ್ರಶ್ನಿಸಿದೆ; ಅವರಿಗೆ ಏನೂ ತಿಳಿದಿರಲಿಲ್ಲ. ಅವರು ಮೈಮರೆತು ನಿದ್ರೆ ಹೋಗುವುದರಲ್ಲಿ ಅವರು ಸಂಪೂರ್ಣ ಜ್ಞಾನ ತಪ್ಪಿತ್ತು, ಅವರ ಕ್ಯಾಬಿನ್‌ನಲ್ಲಿ ಅವರನ್ನೇ ಹುಡುಕುವಲ್ಲಿ ಆಶ್ಚರ್ಯಚಕಿತರಾಗಿದ್ದರು."</string>
+    <string name="font_size_preview_text_body" msgid="1608889593334414309">"ಮಾರನೆಯ ದಿನ ನಾನು ಎದ್ದಾಗ ನನ್ನ ಮನಸ್ಸು ನಿರಾಳವಾಗಿತ್ತು, ಗೊಂದಲರಹಿತವಾಗಿತ್ತು. ನನಗೆ ಆಶ್ಚರ್ಯವಾಗಿದ್ದೇನೆಂದರೆ, ನಾನು ನನ್ನ ಸ್ವಂತ ಕೋಣೆಯಲ್ಲಿದ್ದೆ. ನನ್ನ ಜೊತೆಗಾರರು, ಎಂದಿನಂತೆ, ತಮ್ಮ ಕ್ಯಾಬಿನ್‌ಗಳಲ್ಲಿದ್ದರು. ನನ್ನ ಕುರಿತಾದ ಈ ಗ್ರಹಿಕೆ ಅವರಿಗೆ ಸಾಧ್ಯವಾಗಿರಲಿಲ್ಲ. ರಾತ್ರಿ ನಡೆದದ್ದು ಏನು ಎಂಬುದರ ಕುರಿತು ನನಗಿದ್ದಷ್ಟೇ ಅಜ್ಞಾನ ಅವರಿಗೂ ಇತ್ತು. ಈ ವಿಸ್ಮಯವನ್ನು ಬೇಧಿಸಲು ನಾನೇ ಭವಿಷ್ಯದ ಸಾಧ್ಯತೆಗಳನ್ನು ಪರಿಶೀಲಿಸಿದೆ. \nನನ್ನ ಕೋಣೆಯಿಂದ ಹೊರನಡೆಯಲು ಮುಂದಾದೆ. ಆಗಲಾದರೂ ನಾನು ಸ್ವತಂತ್ರನಾಗಿದ್ದೆನೇ? ಅಥವಾ ಬಂಧಿತನಾಗಿದ್ದೆನೇ? ಖಂಡಿತ ಸ್ವತಂತ್ರನಾಗಿದ್ದೆ. ಬಾಗಿಲು ತೆರೆದೆ, ಅರ್ಧ ಡೆಕ್‌ಗೆ ಹೋದೆ ಹಾಗೂ ಮಧ್ಯದ ಮೆಟ್ಟಿಲುಗಳ ಬಳಿ ಹೋದೆ. ಹಿಂದಿನ ಸಂಜೆ ಮುಚ್ಚಿದ್ದ ಪ್ಯಾನೆಲ್‌ಗಳು ತೆರೆದುಕೊಂಡಿದ್ದವು, ಪ್ಲಾಟ್‌ಫಾರ್ಮ್‌ಗೆ ಹೋದೆ.\nನೆಡ್ ಲ್ಯಾಂಡ್ ಮತ್ತು ಕಾನ್ಸಿಲ್ ಅಲ್ಲಿ ನನಗಾಗಿ ಕಾಯುತ್ತಿದ್ದರು. ನಾನವರನ್ನು ಪ್ರಶ್ನಿಸಿದೆ; ಅವರಿಗೆ ಏನೆಂದರೆ ಏನೂ ತಿಳಿದಿರಲಿಲ್ಲ. ಗಾಢ ನಿದ್ದೆಯಲ್ಲಿ ಮೈಮರೆತು ಮಲಗಿದ್ದ ಅವರು ತಾವು ತಮ್ಮ ಕ್ಯಾಬಿನ್‌ನಲ್ಲಿಯೇ ಇರುವುದನ್ನು ಅರಿತುಕೊಂಡು ಸ್ಥಂಭೀಭೂತರಾಗಿದ್ದರು."</string>
     <string name="font_size_save" msgid="3450855718056759095">"ಸರಿ"</string>
     <string name="sdcard_setting" product="nosdcard" msgid="8281011784066476192">"USB ಸಂಗ್ರಹಣೆ"</string>
     <string name="sdcard_setting" product="default" msgid="5922637503871474866">"SD ಕಾರ್ಡ್"</string>
@@ -264,7 +264,8 @@
     <string name="roaming_disable" msgid="1295279574370898378">"ರೋಮಿಂಗ್‌ನಲ್ಲಿರುವಾಗ ಡೇಟಾ ಸೇವೆಗಳಿಗೆ ಸಂಪರ್ಕಪಡಿಸಿ"</string>
     <string name="roaming_reenable_message" msgid="9141007271031717369">"ಡೇಟಾ ರೋಮಿಂಗ್ ಆಫ್‌ ಮಾಡಿದ ಸ್ಥಿತಿಯಲ್ಲಿ ನೀವು ನಿಮ್ಮ ಹೋಮ್‌ ನೆಟ್‌ವರ್ಕ್‌ ಅನ್ನು ಇರಿಸಿರುವ ಕಾರಣ ನೀವು ಡೇಟಾ ಸಂಪರ್ಕ ಕಲ್ಪಿಸುವಿಕೆಯನ್ನು ಕಳೆದುಕೊಂಡಿರುವಿರಿ."</string>
     <string name="roaming_turn_it_on_button" msgid="4387601818162120589">"ಇದನ್ನು ಆನ್ ಮಾಡು"</string>
-    <string name="roaming_warning" msgid="7625933694709170887">"ನೀವು ಡೇಟಾ ರೋಮಿಂಗ್ ಅನ್ನು ಅನುಮತಿಸಿದರೆ, ನೀವು ಗಣನೀಯವಾಗಿ ರೋಮಿಂಗ್ ದರಗಳನ್ನು ತೆರಬೇಕಾಗಬಹುದು!"</string>
+    <!-- no translation found for roaming_warning (4275443317524544705) -->
+    <skip />
     <string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"ನೀವು ಡೇಟಾ ರೋಮಿಂಗ್‌ಗೆ ಅನುಮತಿ ನೀಡಿದರೆ, ನೀವು ದೊಡ್ಡ ಪ್ರಮಾಣದಲ್ಲಿ ರೋಮಿಂಗ್ ದರಗಳನ್ನು ತೆರಬೇಕಾಗುತ್ತದೆ!\n\nಈ ಟ್ಯಾಬ್ಲೆಟ್‌‌‌ನಲ್ಲಿನ ಎಲ್ಲ ಬಳಕೆದಾರರಿಗೆ ಈ ಸೆಟ್ಟಿಂಗ್‌ ಪರಿಣಾಮ ಬೀರುತ್ತದೆ."</string>
     <string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"ನೀವು ಡೇಟಾ ರೋಮಿಂಗ್ ಅನ್ನು ಅನುಮತಿಸಿದರೆ, ನೀವು ಗಣನಿಯವಾಗಿ ರೋಮಿಂಗ್ ದರಗಳನ್ನು ತೆರಬೇಕಾಗಬಹುದು!\n\nಈ ಫೋನ್‌ನಲ್ಲಿ ಈ ಸೆಟ್ಟಿಂಗ್‌ ಎಲ್ಲ ಬಳಕೆದಾರರಿಗೆ ಪರಿಣಾಮ ಬೀರುತ್ತದೆ."</string>
     <string name="roaming_reenable_title" msgid="6068100976707316772">"ಡೇಟಾ ರೋಮಿಂಗ್ ಅನುಮತಿಸುವುದೇ?"</string>
@@ -1936,6 +1937,10 @@
     <string name="sync_is_failing" msgid="1591561768344128377">"ಸಿಂಕ್‌ ಈಗ ಕೊಂಚ ಸಮಸ್ಯೆ ಎದುರಿಸುತ್ತಿದೆ. ಶೀಘ್ರದಲ್ಲಿಯೇ ಅದು ಯಥಾಸ್ಥಿತಿಗೆ ಬರಲಿದೆ."</string>
     <string name="add_account_label" msgid="7811707265834013767">"ಖಾತೆ ಸೇರಿಸು"</string>
     <string name="managed_profile_not_available_label" msgid="852263300911325904">"ಕೆಲಸದ ಪ್ರೊಫೈಲ್‌ ಇನ್ನೂ ಲಭ್ಯವಿಲ್ಲ"</string>
+    <!-- no translation found for work_mode_label (5794470908668593961) -->
+    <skip />
+    <!-- no translation found for work_mode_summary (1620246003886940776) -->
+    <skip />
     <string name="remove_managed_profile_label" msgid="3856519337797285325">"ಉದ್ಯೋಗ ಪ್ರೊಫೈಲ್‌ ತೆಗೆದುಹಾಕಿ"</string>
     <string name="background_data" msgid="5779592891375473817">"ಹಿನ್ನೆಲೆ ಡೇಟಾ"</string>
     <string name="background_data_summary" msgid="8328521479872763452">"ಯಾವುದೇ ಸಮಯದಲ್ಲಿ ಡೇಟಾವನ್ನು ಅಪ್ಲಿಕೇಶನ್‌ಗಳು ಸಿಂಕ್ ಮಾಡಬಹುದು, ಕಳುಹಿಸಬಹುದು ಮತ್ತು ಸ್ವೀಕರಿಸಬಹುದು."</string>
@@ -2797,8 +2802,56 @@
     <string name="condition_cellular_summary" msgid="1818046558419658463">"ಇಂಟರ್ನೆಟ್ ವೈ-ಫೈ ಮೂಲಕ ಮಾತ್ರ ಲಭ್ಯವಿದೆ"</string>
     <string name="condition_bg_data_title" msgid="1422001615923482010">"ಹಿನ್ನೆಲೆ ಡೇಟಾ ಆಫ್ ಆಗಿದೆ"</string>
     <string name="condition_bg_data_summary" msgid="656957852895282228">"ಹಿನ್ನೆಲೆ ಡೇಟಾವು ವೈ-ಫೈ ಮೂಲಕ ಮಾತ್ರ ಲಭ್ಯವಾಗುತ್ತದೆ. ವೈ-ಫೈ ಲಭ್ಯವಿಲ್ಲದೆ ಇರುವಾಗ ಇದು ಕೆಲವು ಅಪ್ಲಿಕೇಶನ್‌ಗಳು ಅಥವಾ ಸೇವೆಗಳಿಗೆ ಪರಿಣಾಮ ಬೀರಬಹುದು."</string>
+    <!-- no translation found for condition_work_title (7293722361184366648) -->
+    <skip />
+    <!-- no translation found for condition_work_summary (7543202177571590378) -->
+    <skip />
     <string name="suggestions_title" msgid="8758376306825920705">"ಸಲಹೆಗಳು (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
     <string name="suggestion_remove" msgid="904627293892092439">"ತೆಗೆದುಹಾಕಿ"</string>
     <string name="color_temperature" msgid="2501579996151717270">"ಪ್ರದರ್ಶನ ಬಣ್ಣದ ತಾಪಮಾನ"</string>
     <string name="color_temperature_desc" msgid="3603319696846982249">"ಬಣ್ಣದ ತಾಪಮಾನವನ್ನು ಸಕ್ರಕಿಯಗೊಳಿಸಿ"</string>
+    <!-- no translation found for usage (2977875522080448986) -->
+    <skip />
+    <!-- no translation found for cellular_data_usage (2763710678354680712) -->
+    <skip />
+    <!-- no translation found for wifi_data_usage (686754111095324306) -->
+    <skip />
+    <!-- no translation found for ethernet_data_usage (5108764537574354616) -->
+    <skip />
+    <!-- no translation found for wifi (1081550856200013637) -->
+    <skip />
+    <!-- no translation found for ethernet (6600095783781389720) -->
+    <skip />
+    <!-- no translation found for cell_data_template (3308709914705592281) -->
+    <skip />
+    <!-- no translation found for wifi_data_template (501654649753761778) -->
+    <skip />
+    <!-- no translation found for ethernet_data_template (5775729859383597507) -->
+    <skip />
+    <!-- no translation found for cell_warning_only (763147658209027140) -->
+    <skip />
+    <!-- no translation found for cell_warning_and_limit (2273413629267437470) -->
+    <skip />
+    <!-- no translation found for billing_cycle (5169909190811133499) -->
+    <skip />
+    <!-- no translation found for billing_cycle_summary (9009106526129293752) -->
+    <skip />
+    <!-- no translation found for billing_cycle_fragment_summary (1940518156600077066) -->
+    <skip />
+    <!-- no translation found for network_restrictions (8234695294536675380) -->
+    <skip />
+    <!-- no translation found for operator_warning (7206980278353372811) -->
+    <skip />
+    <!-- no translation found for data_used_template (3245919669966296505) -->
+    <skip />
+    <!-- no translation found for data_warning (209133958008062117) -->
+    <skip />
+    <!-- no translation found for set_data_limit (2901526323210516923) -->
+    <skip />
+    <!-- no translation found for data_limit (1885406964934590552) -->
+    <skip />
+    <!-- no translation found for data_usage_template (392191945602400904) -->
+    <skip />
+    <!-- no translation found for configure (1029654422228677273) -->
+    <skip />
 </resources>
diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml
index 629ae1c..629dea6 100644
--- a/res/values-ko/strings.xml
+++ b/res/values-ko/strings.xml
@@ -74,8 +74,7 @@
     <string name="sdcard_unmount" product="default" msgid="3364184561355611897">"SD 카드 마운트 해제"</string>
     <string name="sdcard_format" product="nosdcard" msgid="6285310523155166716">"USB 저장소 지우기"</string>
     <string name="sdcard_format" product="default" msgid="6713185532039187532">"SD 카드 지우기"</string>
-    <!-- no translation found for font_size_summary (133937309990844030) -->
-    <skip />
+    <string name="font_size_summary" msgid="133937309990844030">"화면 텍스트를 축소 또는 확대합니다."</string>
     <string name="small_font" msgid="2295331917424072635">"작게"</string>
     <string name="medium_font" msgid="2068475425515133701">"보통"</string>
     <string name="large_font" msgid="599055175160971446">"크게"</string>
@@ -84,7 +83,7 @@
     <string name="font_size_preview_text_headline" msgid="7955317408475392247">"샘플 텍스트"</string>
     <string name="font_size_preview_text_title" msgid="4762429961714563135">"해저 2만 리"</string>
     <string name="font_size_preview_text_subtitle" msgid="5712012075615701561">"23장: 산호 왕국"</string>
-    <string name="font_size_preview_text_body" msgid="1608889593334414309">"다음 날 아침 잠에서 깼을 때는 이상하게 머리가 개운했다. 놀랍게도 나는 내 방에 있었다. 동료들 역시 다들 영문을 모른 채 자신들의 선실에 돌아와 있었다. 어젯밤 무슨 일이 휩쓸고 지나갔는지 동료들도 나만큼이나 알지 못했고, 이 미스터리는 시간이 지난 후에야 풀릴 것이라고 생각했다.\n방을 나가자는 생각이 들었다. 나는 풀려난 것일까, 아니면 여전히 포로인 것일까? 나는 꽤 자유로운 상태였다. 문을 열고, 반갑판으로 가서, 중앙 계단을 올랐다. 저녁에는 닫혀 있던 패널이 열려 있었다. 나는 플랫폼으로 발걸음을 옮겼다.\n네드랜드와 꽁세이유가 나를 기다리고 있었다. 그들에게 어떻게 된 일이냐고 물었지만 두 사람도 알지 못했다. 완전히 정신을 잃고 깊은 잠에 빠졌던 두 사람은 자신들의 선실에 돌아와 있는 것을 발견하고 깜짝 놀랐다."</string>
+    <string name="font_size_preview_text_body" msgid="1608889593334414309">"다음 날 아침 잠에서 깼을 때는 이상하게 머리가 개운했다. 놀랍게도 나는 내 방에 있었다. 동료들 역시 다들 영문을 모른 채 자신들의 선실에 돌아와 있었다. 어젯밤 무슨 일이 휩쓸고 지나갔는지 동료들도 나만큼이나 알지 못했고, 이 미스터리는 시간이 지난 후에야 풀릴 것이라고 생각했다.\n방을 나가자는 생각이 들었다. 나는 풀려난 것일까, 아니면 여전히 포로인 것일까? 나는 꽤 자유로운 상태였다. 문을 열고, 반갑판으로 가서, 중앙 계단을 올랐다. 어제 저녁에는 닫혀 있었던 패널이 열려 있었다. 나는 플랫폼으로 발걸음을 옮겼다.\n네드랜드와 꽁세이유가 나를 기다리고 있었다. 그들에게 어떻게 된 일이냐고 물었지만 두 사람도 알지 못했다. 완전히 정신을 잃고 깊은 잠에 빠졌던 두 사람은 자신들의 선실에 돌아와 있는 것을 발견하고 깜짝 놀랐다."</string>
     <string name="font_size_save" msgid="3450855718056759095">"확인"</string>
     <string name="sdcard_setting" product="nosdcard" msgid="8281011784066476192">"USB 저장소"</string>
     <string name="sdcard_setting" product="default" msgid="5922637503871474866">"SD 카드"</string>
@@ -265,7 +264,8 @@
     <string name="roaming_disable" msgid="1295279574370898378">"로밍 시 데이터 서비스에 연결"</string>
     <string name="roaming_reenable_message" msgid="9141007271031717369">"데이터 로밍을 사용 중지한 상태에서 홈 네트워크를 벗어났으므로 데이터 연결이 끊어졌습니다."</string>
     <string name="roaming_turn_it_on_button" msgid="4387601818162120589">"사용"</string>
-    <string name="roaming_warning" msgid="7625933694709170887">"데이터 로밍을 허용하면 높은 로밍 요금이 부과될 수 있습니다."</string>
+    <!-- no translation found for roaming_warning (4275443317524544705) -->
+    <skip />
     <string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"데이터 로밍을 허용하면 높은 로밍 요금이 부과될 수 있습니다.\n\n이 설정은 태블릿의 모든 사용자에게 영향을 줍니다."</string>
     <string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"데이터 로밍을 허용하면 높은 로밍 요금이 부과될 수 있습니다.\n\n이 설정은 휴대전화의 모든 사용자에게 영향을 줍니다."</string>
     <string name="roaming_reenable_title" msgid="6068100976707316772">"데이터 로밍을 허용하시겠습니까?"</string>
@@ -1937,6 +1937,10 @@
     <string name="sync_is_failing" msgid="1591561768344128377">"현재 동기화에 문제가 발생했습니다. 잠시 후에 다시 실행됩니다."</string>
     <string name="add_account_label" msgid="7811707265834013767">"계정 추가"</string>
     <string name="managed_profile_not_available_label" msgid="852263300911325904">"아직 직장 프로필을 사용할 수 없습니다."</string>
+    <!-- no translation found for work_mode_label (5794470908668593961) -->
+    <skip />
+    <!-- no translation found for work_mode_summary (1620246003886940776) -->
+    <skip />
     <string name="remove_managed_profile_label" msgid="3856519337797285325">"직장 프로필 삭제"</string>
     <string name="background_data" msgid="5779592891375473817">"백그라운드 데이터"</string>
     <string name="background_data_summary" msgid="8328521479872763452">"앱이 언제든지 데이터를 동기화하고 보내고 받을 수 있음"</string>
@@ -2754,8 +2758,7 @@
     <string name="camera_double_tap_power_gesture_desc" msgid="7355664631775680376">"화면을 잠금 해제하지 않고 신속하게 카메라를 열 수 있습니다."</string>
     <string name="screen_zoom_title" msgid="6332123593919641665">"화면 확대/축소"</string>
     <string name="screen_zoom_keywords" msgid="9176477565403352552">"디스플레이 밀도, 화면 확대/축소, 크기, 크기 조정"</string>
-    <!-- no translation found for screen_zoom_summary (2022973627105802010) -->
-    <skip />
+    <string name="screen_zoom_summary" msgid="2022973627105802010">"화면의 모든 항목을 축소 또는 확대합니다. 이 설정을 변경하면 메인 스크린에서 일부 앱의 위치가 변경될 수 있습니다."</string>
     <string name="screen_zoom_preview_title" msgid="4680671508172336572">"미리보기"</string>
     <string name="screen_zoom_make_smaller_desc" msgid="4622359904253364742">"축소"</string>
     <string name="screen_zoom_make_larger_desc" msgid="2236171043607896594">"확대"</string>
@@ -2799,8 +2802,55 @@
     <string name="condition_cellular_summary" msgid="1818046558419658463">"인터넷은 Wi-Fi를 통해서만 사용할 수 있습니다."</string>
     <string name="condition_bg_data_title" msgid="1422001615923482010">"백그라운드 데이터 사용 중지됨"</string>
     <string name="condition_bg_data_summary" msgid="656957852895282228">"백그라운드 데이터는 Wi-Fi를 통해서만 사용할 수 있습니다. Wi-Fi를 사용할 수 없는 경우 일부 앱이나 서비스에 영향을 미칠 수 있습니다."</string>
+    <!-- no translation found for condition_work_title (7293722361184366648) -->
+    <skip />
+    <!-- no translation found for condition_work_summary (7543202177571590378) -->
+    <skip />
     <string name="suggestions_title" msgid="8758376306825920705">"추천(<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
     <string name="suggestion_remove" msgid="904627293892092439">"삭제"</string>
     <string name="color_temperature" msgid="2501579996151717270">"디스플레이 색상 온도"</string>
     <string name="color_temperature_desc" msgid="3603319696846982249">"차가운 온도 사용 설정"</string>
+    <!-- no translation found for usage (2977875522080448986) -->
+    <skip />
+    <!-- no translation found for cellular_data_usage (2763710678354680712) -->
+    <skip />
+    <!-- no translation found for wifi_data_usage (686754111095324306) -->
+    <skip />
+    <!-- no translation found for ethernet_data_usage (5108764537574354616) -->
+    <skip />
+    <string name="wifi" msgid="1081550856200013637">"Wi-Fi"</string>
+    <!-- no translation found for ethernet (6600095783781389720) -->
+    <skip />
+    <!-- no translation found for cell_data_template (3308709914705592281) -->
+    <skip />
+    <!-- no translation found for wifi_data_template (501654649753761778) -->
+    <skip />
+    <!-- no translation found for ethernet_data_template (5775729859383597507) -->
+    <skip />
+    <!-- no translation found for cell_warning_only (763147658209027140) -->
+    <skip />
+    <!-- no translation found for cell_warning_and_limit (2273413629267437470) -->
+    <skip />
+    <!-- no translation found for billing_cycle (5169909190811133499) -->
+    <skip />
+    <!-- no translation found for billing_cycle_summary (9009106526129293752) -->
+    <skip />
+    <!-- no translation found for billing_cycle_fragment_summary (1940518156600077066) -->
+    <skip />
+    <!-- no translation found for network_restrictions (8234695294536675380) -->
+    <skip />
+    <!-- no translation found for operator_warning (7206980278353372811) -->
+    <skip />
+    <!-- no translation found for data_used_template (3245919669966296505) -->
+    <skip />
+    <!-- no translation found for data_warning (209133958008062117) -->
+    <skip />
+    <!-- no translation found for set_data_limit (2901526323210516923) -->
+    <skip />
+    <!-- no translation found for data_limit (1885406964934590552) -->
+    <skip />
+    <!-- no translation found for data_usage_template (392191945602400904) -->
+    <skip />
+    <!-- no translation found for configure (1029654422228677273) -->
+    <skip />
 </resources>
diff --git a/res/values-ky-rKG/strings.xml b/res/values-ky-rKG/strings.xml
index 260a89b..9f2ca01 100644
--- a/res/values-ky-rKG/strings.xml
+++ b/res/values-ky-rKG/strings.xml
@@ -74,8 +74,7 @@
     <string name="sdcard_unmount" product="default" msgid="3364184561355611897">"SD карта ажыратылсын"</string>
     <string name="sdcard_format" product="nosdcard" msgid="6285310523155166716">"USB сактагычты тазалоо"</string>
     <string name="sdcard_format" product="default" msgid="6713185532039187532">"SD картаны тазалоо"</string>
-    <!-- no translation found for font_size_summary (133937309990844030) -->
-    <skip />
+    <string name="font_size_summary" msgid="133937309990844030">"Экрандагы текстти кичирейтип же чоңойтуңуз."</string>
     <string name="small_font" msgid="2295331917424072635">"Кичине"</string>
     <string name="medium_font" msgid="2068475425515133701">"Орточо"</string>
     <string name="large_font" msgid="599055175160971446">"Чоң"</string>
@@ -265,7 +264,8 @@
     <string name="roaming_disable" msgid="1295279574370898378">"Роуминг учурунда мобилдик интернетке туташтырылсын"</string>
     <string name="roaming_reenable_message" msgid="9141007271031717369">"Жергиликтүү тармагыңыздан интернет-роуминг өчүрүлгөн абалда кеткендиктен Интернет туташуусун жоготтуңуз."</string>
     <string name="roaming_turn_it_on_button" msgid="4387601818162120589">"Аны күйгүзүү"</string>
-    <string name="roaming_warning" msgid="7625933694709170887">"Интернет-роумингге жол бергенде, сиз роуминг үчүн чоң төлөмгө кирептер болушуңуз мүмкүн!"</string>
+    <!-- no translation found for roaming_warning (4275443317524544705) -->
+    <skip />
     <string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"Интернет-роумингге жол бергенде, сиз роуминг үчүн чоң төлөмгө кирептер болушуңуз мүмкүн!\n\nБул тууралоо планшеттин бардык колдонуучуларына таратылат."</string>
     <string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"Интернет-роумингге жол бергенде, сиз роуминг үчүн чоң төлөмгө кирептер болушуңуз мүмкүн!\n\nБул тууралоо телефондун бардык колдонуучуларына таратылат."</string>
     <string name="roaming_reenable_title" msgid="6068100976707316772">"Интернет-роумингге жол берилсинби?"</string>
@@ -1206,7 +1206,7 @@
     <string name="location_sources_heading" msgid="1278732419851088319">"Жайгаштыруу булактары"</string>
     <string name="about_settings" product="tablet" msgid="593457295516533765">"Планшет жөнүндө"</string>
     <string name="about_settings" product="default" msgid="1743378368185371685">"Телефон жөнүндө"</string>
-    <string name="about_settings" product="emulator" msgid="221313099578564438">"Көчүрмөлөнгөн түзмөк жөнүндө"</string>
+    <string name="about_settings" product="emulator" msgid="221313099578564438">"Эмуляцияланган түзмөк жөнүндө"</string>
     <string name="about_settings_summary" msgid="3371517697156165959">"Юридикалык маалыматты, абалын, программа версиясын көрүү"</string>
     <string name="legal_information" msgid="5769301644270604095">"Юридикалык маалыматтар"</string>
     <string name="contributors_title" msgid="5917703088825286504">"Салым кошуучулар"</string>
@@ -1937,6 +1937,10 @@
     <string name="sync_is_failing" msgid="1591561768344128377">"Учурда шайкештирүү көйгөйгө дуушар болууда. Ал бир аздан кийин калыбына келет."</string>
     <string name="add_account_label" msgid="7811707265834013767">"Каттоо эсебин кошуу"</string>
     <string name="managed_profile_not_available_label" msgid="852263300911325904">"Жумуш профили азырынча жеткиликтүү эмес"</string>
+    <!-- no translation found for work_mode_label (5794470908668593961) -->
+    <skip />
+    <!-- no translation found for work_mode_summary (1620246003886940776) -->
+    <skip />
     <string name="remove_managed_profile_label" msgid="3856519337797285325">"Жумуш профилин алып салуу"</string>
     <string name="background_data" msgid="5779592891375473817">"Фондук дайындар"</string>
     <string name="background_data_summary" msgid="8328521479872763452">"Колдонмолордо каалаган убакта синхрондошуу, берилиштерди жөнөтүп, кабыл алуу мүмкүнчүлүгү бар"</string>
@@ -2754,8 +2758,7 @@
     <string name="camera_double_tap_power_gesture_desc" msgid="7355664631775680376">"Камераны экраныңыздын кулпусун ачпастан, тез эле ачып алыңыз"</string>
     <string name="screen_zoom_title" msgid="6332123593919641665">"Экрандын өлчөмүн өзгөртүү"</string>
     <string name="screen_zoom_keywords" msgid="9176477565403352552">"дисплей тыгыздыгы, экранды чоңойтуу, шкла, шкалалоо"</string>
-    <!-- no translation found for screen_zoom_summary (2022973627105802010) -->
-    <skip />
+    <string name="screen_zoom_summary" msgid="2022973627105802010">"Экрандагы бардык нерселерди кичирейтип же чоңойтуңуз. Бул жөндөө өзгөртүлгөндөн кийин башкы экраныңыздагы айрым колдонмолордун орду өзгөрүшү мүмкүн."</string>
     <string name="screen_zoom_preview_title" msgid="4680671508172336572">"Алдын ала көрүү"</string>
     <string name="screen_zoom_make_smaller_desc" msgid="4622359904253364742">"Кичирээк кылуу"</string>
     <string name="screen_zoom_make_larger_desc" msgid="2236171043607896594">"Чоңураак кылуу"</string>
@@ -2799,8 +2802,56 @@
     <string name="condition_cellular_summary" msgid="1818046558419658463">"Интернет Wi-Fi аркылуу гана жеткиликтүү"</string>
     <string name="condition_bg_data_title" msgid="1422001615923482010">"Фондук дайындар өчүк"</string>
     <string name="condition_bg_data_summary" msgid="656957852895282228">"Дайындарды фондук режимде өткөрүү үчүн Wi-Fi тармагына туташуу керек. Wi-Fi жок болгондо, айрым кызматтар менен колдонмолор иштебей калат."</string>
+    <!-- no translation found for condition_work_title (7293722361184366648) -->
+    <skip />
+    <!-- no translation found for condition_work_summary (7543202177571590378) -->
+    <skip />
     <string name="suggestions_title" msgid="8758376306825920705">"Сунуштар (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
     <string name="suggestion_remove" msgid="904627293892092439">"Алып салуу"</string>
     <string name="color_temperature" msgid="2501579996151717270">"Дисплейдин түстүү температурасы"</string>
     <string name="color_temperature_desc" msgid="3603319696846982249">"Салкын температураны иштетүү"</string>
+    <!-- no translation found for usage (2977875522080448986) -->
+    <skip />
+    <!-- no translation found for cellular_data_usage (2763710678354680712) -->
+    <skip />
+    <!-- no translation found for wifi_data_usage (686754111095324306) -->
+    <skip />
+    <!-- no translation found for ethernet_data_usage (5108764537574354616) -->
+    <skip />
+    <!-- no translation found for wifi (1081550856200013637) -->
+    <skip />
+    <!-- no translation found for ethernet (6600095783781389720) -->
+    <skip />
+    <!-- no translation found for cell_data_template (3308709914705592281) -->
+    <skip />
+    <!-- no translation found for wifi_data_template (501654649753761778) -->
+    <skip />
+    <!-- no translation found for ethernet_data_template (5775729859383597507) -->
+    <skip />
+    <!-- no translation found for cell_warning_only (763147658209027140) -->
+    <skip />
+    <!-- no translation found for cell_warning_and_limit (2273413629267437470) -->
+    <skip />
+    <!-- no translation found for billing_cycle (5169909190811133499) -->
+    <skip />
+    <!-- no translation found for billing_cycle_summary (9009106526129293752) -->
+    <skip />
+    <!-- no translation found for billing_cycle_fragment_summary (1940518156600077066) -->
+    <skip />
+    <!-- no translation found for network_restrictions (8234695294536675380) -->
+    <skip />
+    <!-- no translation found for operator_warning (7206980278353372811) -->
+    <skip />
+    <!-- no translation found for data_used_template (3245919669966296505) -->
+    <skip />
+    <!-- no translation found for data_warning (209133958008062117) -->
+    <skip />
+    <!-- no translation found for set_data_limit (2901526323210516923) -->
+    <skip />
+    <!-- no translation found for data_limit (1885406964934590552) -->
+    <skip />
+    <!-- no translation found for data_usage_template (392191945602400904) -->
+    <skip />
+    <!-- no translation found for configure (1029654422228677273) -->
+    <skip />
 </resources>
diff --git a/res/values-lo-rLA/strings.xml b/res/values-lo-rLA/strings.xml
index 0c06c4f..cda926e 100644
--- a/res/values-lo-rLA/strings.xml
+++ b/res/values-lo-rLA/strings.xml
@@ -74,8 +74,7 @@
     <string name="sdcard_unmount" product="default" msgid="3364184561355611897">"ຖອດການເຊື່ອມຕໍ່ SD card"</string>
     <string name="sdcard_format" product="nosdcard" msgid="6285310523155166716">"ລຶບບ່ອນເກັບຂໍ້ມູນ USB"</string>
     <string name="sdcard_format" product="default" msgid="6713185532039187532">"ລຶບຂໍ້ມູນໃນ SD card"</string>
-    <!-- no translation found for font_size_summary (133937309990844030) -->
-    <skip />
+    <string name="font_size_summary" msgid="133937309990844030">"ເຮັດໃຫ້ຂໍ້ຄວາມໃນໜ້າຈໍນ້ອຍລົງ ຫຼື ໃຫຍ່ຂຶ້ນ."</string>
     <string name="small_font" msgid="2295331917424072635">"ຂະໜາດນ້ອຍ"</string>
     <string name="medium_font" msgid="2068475425515133701">"ຂະໜາດກາງ"</string>
     <string name="large_font" msgid="599055175160971446">"ຂະໜາດໃຫຍ່"</string>
@@ -265,7 +264,8 @@
     <string name="roaming_disable" msgid="1295279574370898378">"ເຊື່ອມຕໍ່ບໍລິການຂໍ້ມູນເມື່ອໃຊ້ໂຣມມິງ"</string>
     <string name="roaming_reenable_message" msgid="9141007271031717369">"ທ່ານໄດ້ຖືກຕັດການເຊື່ອມຕໍ່ຂໍ້ມູນ ເນື່ອງຈາກທ່ານອອກຈາກເຄືອຂ່າຍໃນເຮືອນ ໂດຍປິດການໂຣມມິງຂໍ້ມູນໄວ້"</string>
     <string name="roaming_turn_it_on_button" msgid="4387601818162120589">"ເປີດໃຊ້ມັນ"</string>
-    <string name="roaming_warning" msgid="7625933694709170887">"ເມື່ອທ່ານອະນຸຍາດໃຫ້ໃຊ້ການໂຣມມິງຂໍ້ມູນ ທ່ານອາດຈະຕ້ອງເສຍຄ່າໃຊ້ຈ່າຍການໂຣມມິງຫຼາຍ!"</string>
+    <!-- no translation found for roaming_warning (4275443317524544705) -->
+    <skip />
     <string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"ເມື່ອທ່ານອະນຸຍາດໃຫ້ໂຣມມິງຂໍ້ມູນໄດ້ແລ້ວ, ທ່ານອາດຕ້ອງເສຍຄ່າໂຣມມິງຈຳນວນຫຼາຍ!\n\nການຕັ້ງຄ່ານີ້ມີຜົນກັບທຸກຜູ່ໃຊ້ໃນແທັບເລັດນີ້."</string>
     <string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"ເມື່ອທ່ານອະນຸຍາດໃຫ້ໃຊ້ການໂຣມມິງຂໍ້ມູນ ທ່ານອາດຈະຕ້ອງເສຍຄ່າໃຊ້ຈ່າຍການໂຣມມິງຫຼາຍ! \n\nການຕັ້ງຄ່ານີ້ຈະມີຜົນກັບທຸກຜູ່ໃຊ້ໃນໂທລະສັບນີ້."</string>
     <string name="roaming_reenable_title" msgid="6068100976707316772">"ອະນຸຍາດໃຫ້ໂຣມມິງຂໍ້ມູນໄດ້?"</string>
@@ -1937,6 +1937,10 @@
     <string name="sync_is_failing" msgid="1591561768344128377">"ການຊິ້ງຂໍ້ມູນກຳລັງປະສົບບັນຫາຢູ່ໃນປັດຈຸບັນ. ມັນຈະກັບມາໃຊ້ໄດ້ໃນໄວໆນີ້."</string>
     <string name="add_account_label" msgid="7811707265834013767">"ເພີ່ມບັນຊີ"</string>
     <string name="managed_profile_not_available_label" msgid="852263300911325904">"ໂປຣ​ໄຟລ໌​ບ່ອນ​ເຮັດ​ວຽກ​ບໍ່​ສາ​ມາດ​ໃຊ້​ໄດ້​ເທື່ອ"</string>
+    <!-- no translation found for work_mode_label (5794470908668593961) -->
+    <skip />
+    <!-- no translation found for work_mode_summary (1620246003886940776) -->
+    <skip />
     <string name="remove_managed_profile_label" msgid="3856519337797285325">"ລຶບ​ໂປຣ​ໄຟລ໌​ບ່ອນ​ເຮັດ​ວຽກ"</string>
     <string name="background_data" msgid="5779592891375473817">"ຂໍ້ມູນພື້ນຫຼັງ"</string>
     <string name="background_data_summary" msgid="8328521479872763452">"ແອັບຯສາມາດຊິ້ງຂໍ້ມູນ, ສົ່ງ ແລະຮັບຂໍ້ມູນໄດ້ທຸກເວລາ"</string>
@@ -2754,8 +2758,7 @@
     <string name="camera_double_tap_power_gesture_desc" msgid="7355664631775680376">"ເປີດ​ກ້ອງ​ຖ່າຍ​ຮູບ​ດ່ວນ​ໂດຍ​ບໍ່​ຕ້ອງ​ປົດ​ລັອກໜ້າຈໍ​ຂອງ​ທ່ານ"</string>
     <string name="screen_zoom_title" msgid="6332123593919641665">"ການຊູມໜ້າຈໍ"</string>
     <string name="screen_zoom_keywords" msgid="9176477565403352552">"ຄວາມໜາແໜ້ນຈໍສະແດງຜົນ, ການຊູມໜ້າຈໍ, ຂະໜາດ, ການຈັດມາດຕາສ່ວນ"</string>
-    <!-- no translation found for screen_zoom_summary (2022973627105802010) -->
-    <skip />
+    <string name="screen_zoom_summary" msgid="2022973627105802010">"ເຮັດໃຫ້ທຸກລາຍການຢູ່ໃນໜ້າຈໍນ້ອຍລົງ ຫຼື ໃຫຍ່ຂຶ້ນ. ບາງແອັບຢູ່ໃນໜ້າຈໍຫຼັກຂອງທ່ານອາດຈະປ່ຽນຕຳແໜ່ງ ຫຼັງຈາກປ່ຽນການຕັ້ງຄ່ານີ້."</string>
     <string name="screen_zoom_preview_title" msgid="4680671508172336572">"ສະແດງຕົວຢ່າງ"</string>
     <string name="screen_zoom_make_smaller_desc" msgid="4622359904253364742">"ເຮັດໃຫ້ນ້ອຍລົງ"</string>
     <string name="screen_zoom_make_larger_desc" msgid="2236171043607896594">"ເຮັດໃຫ້ໃຫຍ່ຂຶ້ນ"</string>
@@ -2799,8 +2802,55 @@
     <string name="condition_cellular_summary" msgid="1818046558419658463">"ສາມາດໃຊ້ອິນເຕີເນັດໄດ້ຜ່ານ Wi-Fi ເທົ່ານັ້ນ"</string>
     <string name="condition_bg_data_title" msgid="1422001615923482010">"ຂໍ້ມູນພື້ນຫຼັງປິດຢູ່"</string>
     <string name="condition_bg_data_summary" msgid="656957852895282228">"ຂໍ້ມູນພື້ນຫຼັງແມ່ນສາມາດໃຊ້ໄດ້ຜ່ານ Wi-Fi ເທົ່ານັ້ນ. ນີ້ອາດມີຜົນຕໍ່ກັບບາງແອັບຯ ຫຼືການບໍລິການໃນເວລາທີ່ບໍ່ມາມາດໃຊ້ Wi-Fi ໄດ້."</string>
+    <!-- no translation found for condition_work_title (7293722361184366648) -->
+    <skip />
+    <!-- no translation found for condition_work_summary (7543202177571590378) -->
+    <skip />
     <string name="suggestions_title" msgid="8758376306825920705">"ຄໍາ​ແນະ​ນໍາ (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
     <string name="suggestion_remove" msgid="904627293892092439">"ລຶບ​ອອກ"</string>
     <string name="color_temperature" msgid="2501579996151717270">"ອຸນຫະພູມສີຂອງຈໍສະແດງຜົນ"</string>
     <string name="color_temperature_desc" msgid="3603319696846982249">"ເປີດ​ນໍາ​ໃຊ້​ອຸນ​ຫະ​ພູມ​ເຢັນ"</string>
+    <!-- no translation found for usage (2977875522080448986) -->
+    <skip />
+    <!-- no translation found for cellular_data_usage (2763710678354680712) -->
+    <skip />
+    <!-- no translation found for wifi_data_usage (686754111095324306) -->
+    <skip />
+    <!-- no translation found for ethernet_data_usage (5108764537574354616) -->
+    <skip />
+    <string name="wifi" msgid="1081550856200013637">"Wi​-Fi"</string>
+    <!-- no translation found for ethernet (6600095783781389720) -->
+    <skip />
+    <!-- no translation found for cell_data_template (3308709914705592281) -->
+    <skip />
+    <!-- no translation found for wifi_data_template (501654649753761778) -->
+    <skip />
+    <!-- no translation found for ethernet_data_template (5775729859383597507) -->
+    <skip />
+    <!-- no translation found for cell_warning_only (763147658209027140) -->
+    <skip />
+    <!-- no translation found for cell_warning_and_limit (2273413629267437470) -->
+    <skip />
+    <!-- no translation found for billing_cycle (5169909190811133499) -->
+    <skip />
+    <!-- no translation found for billing_cycle_summary (9009106526129293752) -->
+    <skip />
+    <!-- no translation found for billing_cycle_fragment_summary (1940518156600077066) -->
+    <skip />
+    <!-- no translation found for network_restrictions (8234695294536675380) -->
+    <skip />
+    <!-- no translation found for operator_warning (7206980278353372811) -->
+    <skip />
+    <!-- no translation found for data_used_template (3245919669966296505) -->
+    <skip />
+    <!-- no translation found for data_warning (209133958008062117) -->
+    <skip />
+    <!-- no translation found for set_data_limit (2901526323210516923) -->
+    <skip />
+    <!-- no translation found for data_limit (1885406964934590552) -->
+    <skip />
+    <!-- no translation found for data_usage_template (392191945602400904) -->
+    <skip />
+    <!-- no translation found for configure (1029654422228677273) -->
+    <skip />
 </resources>
diff --git a/res/values-lt/strings.xml b/res/values-lt/strings.xml
index 072d60d..df5d1b7 100644
--- a/res/values-lt/strings.xml
+++ b/res/values-lt/strings.xml
@@ -266,7 +266,8 @@
     <string name="roaming_disable" msgid="1295279574370898378">"Veikiant tarptinkliniam ryšiui, prisijungti prie duomenų paslaugų"</string>
     <string name="roaming_reenable_message" msgid="9141007271031717369">"Praradote duomenų jungiamumą, nes pagrindinį tinklą palikote išjungę tarptinklinį ryšį."</string>
     <string name="roaming_turn_it_on_button" msgid="4387601818162120589">"Įjungti"</string>
-    <string name="roaming_warning" msgid="7625933694709170887">"Leisdami tarptinklinį duomenų ryšį, galite būti apmokestinti nemažais tarptinklinio ryšio mokesčiais!"</string>
+    <!-- no translation found for roaming_warning (4275443317524544705) -->
+    <skip />
     <string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"Kai leidžiate tarptinklinį duomenų ryšį, gali būti taikomi dideli tarptinklinio ryšio mokesčiai.\n\nŠis nustatymas turi įtakos visiems šio planšetinio kompiuterio naudotojams."</string>
     <string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"Kai leidžiate tarptinklinį duomenų ryšį, gali būti taikomi dideli tarptinklinio ryšio mokesčiai.\n\nŠis nustatymas turi įtakos visiems šio telefono naudotojams."</string>
     <string name="roaming_reenable_title" msgid="6068100976707316772">"Leisti tarptinklinį duomenų ryšį?"</string>
@@ -1968,6 +1969,10 @@
     <string name="sync_is_failing" msgid="1591561768344128377">"Šiuo metu iškilo sinchronizavimo problemų. Greitai jis vėl vyks."</string>
     <string name="add_account_label" msgid="7811707265834013767">"Pridėti paskyrą"</string>
     <string name="managed_profile_not_available_label" msgid="852263300911325904">"Darbo profilis dar nepasiekiamas"</string>
+    <!-- no translation found for work_mode_label (5794470908668593961) -->
+    <skip />
+    <!-- no translation found for work_mode_summary (1620246003886940776) -->
+    <skip />
     <string name="remove_managed_profile_label" msgid="3856519337797285325">"Pašalinti darbo profilį"</string>
     <string name="background_data" msgid="5779592891375473817">"Foniniai duomenys"</string>
     <string name="background_data_summary" msgid="8328521479872763452">"Programos gali bet kada sinchron., siųsti ir gauti duomenis"</string>
@@ -2849,8 +2854,55 @@
     <string name="condition_cellular_summary" msgid="1818046558419658463">"Internetas pasiekiamas tik prisijungus prie „Wi-Fi“ ryšio"</string>
     <string name="condition_bg_data_title" msgid="1422001615923482010">"Foniniai duomenys išjungti"</string>
     <string name="condition_bg_data_summary" msgid="656957852895282228">"Foniniai duomenys pasiekiami tik prisijungus prie „Wi-Fi“ ryšio. Tai gali paveikti kai kurias programas ar paslaugas, kai „Wi-Fi“ ryšys nepasiekiamas."</string>
+    <!-- no translation found for condition_work_title (7293722361184366648) -->
+    <skip />
+    <!-- no translation found for condition_work_summary (7543202177571590378) -->
+    <skip />
     <string name="suggestions_title" msgid="8758376306825920705">"Pasiūlymai (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
     <string name="suggestion_remove" msgid="904627293892092439">"Pašalinti"</string>
     <string name="color_temperature" msgid="2501579996151717270">"Ekrano spalvų temperatūra"</string>
     <string name="color_temperature_desc" msgid="3603319696846982249">"Įgalinti šaltų spalvų temperatūrą"</string>
+    <!-- no translation found for usage (2977875522080448986) -->
+    <skip />
+    <!-- no translation found for cellular_data_usage (2763710678354680712) -->
+    <skip />
+    <!-- no translation found for wifi_data_usage (686754111095324306) -->
+    <skip />
+    <!-- no translation found for ethernet_data_usage (5108764537574354616) -->
+    <skip />
+    <string name="wifi" msgid="1081550856200013637">"Wi-Fi"</string>
+    <!-- no translation found for ethernet (6600095783781389720) -->
+    <skip />
+    <!-- no translation found for cell_data_template (3308709914705592281) -->
+    <skip />
+    <!-- no translation found for wifi_data_template (501654649753761778) -->
+    <skip />
+    <!-- no translation found for ethernet_data_template (5775729859383597507) -->
+    <skip />
+    <!-- no translation found for cell_warning_only (763147658209027140) -->
+    <skip />
+    <!-- no translation found for cell_warning_and_limit (2273413629267437470) -->
+    <skip />
+    <!-- no translation found for billing_cycle (5169909190811133499) -->
+    <skip />
+    <!-- no translation found for billing_cycle_summary (9009106526129293752) -->
+    <skip />
+    <!-- no translation found for billing_cycle_fragment_summary (1940518156600077066) -->
+    <skip />
+    <!-- no translation found for network_restrictions (8234695294536675380) -->
+    <skip />
+    <!-- no translation found for operator_warning (7206980278353372811) -->
+    <skip />
+    <!-- no translation found for data_used_template (3245919669966296505) -->
+    <skip />
+    <!-- no translation found for data_warning (209133958008062117) -->
+    <skip />
+    <!-- no translation found for set_data_limit (2901526323210516923) -->
+    <skip />
+    <!-- no translation found for data_limit (1885406964934590552) -->
+    <skip />
+    <!-- no translation found for data_usage_template (392191945602400904) -->
+    <skip />
+    <!-- no translation found for configure (1029654422228677273) -->
+    <skip />
 </resources>
diff --git a/res/values-lv/strings.xml b/res/values-lv/strings.xml
index 4728600..87c0d7a 100644
--- a/res/values-lv/strings.xml
+++ b/res/values-lv/strings.xml
@@ -75,8 +75,7 @@
     <string name="sdcard_unmount" product="default" msgid="3364184561355611897">"Atvienot SD karti"</string>
     <string name="sdcard_format" product="nosdcard" msgid="6285310523155166716">"Dzēst USB krātuvi"</string>
     <string name="sdcard_format" product="default" msgid="6713185532039187532">"Dzēst SD karti"</string>
-    <!-- no translation found for font_size_summary (133937309990844030) -->
-    <skip />
+    <string name="font_size_summary" msgid="133937309990844030">"Palieliniet vai samaziniet tekstu ekrānā."</string>
     <string name="small_font" msgid="2295331917424072635">"Mazs"</string>
     <string name="medium_font" msgid="2068475425515133701">"Vidējs"</string>
     <string name="large_font" msgid="599055175160971446">"Liels"</string>
@@ -266,7 +265,8 @@
     <string name="roaming_disable" msgid="1295279574370898378">"Viesabonēšanas laikā izveidot savienojumu ar datu pakalpojumiem"</string>
     <string name="roaming_reenable_message" msgid="9141007271031717369">"Datu savienojamība ir zaudēta, jo mājas tīkls ar datu viesabonēšanu ir izslēgts."</string>
     <string name="roaming_turn_it_on_button" msgid="4387601818162120589">"Ieslēgt"</string>
-    <string name="roaming_warning" msgid="7625933694709170887">"Atļaujot datu viesabonēšanu, var rasties ievērojamas viesabonēšanas izmaksas."</string>
+    <!-- no translation found for roaming_warning (4275443317524544705) -->
+    <skip />
     <string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"Atļaujot datu viesabonēšanu, var rasties ievērojamas viesabonēšanas izmaksas.\n\nŠis iestatījums ietekmē visus planšetdatora lietotājus."</string>
     <string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"Atļaujot datu viesabonēšanu, var rasties ievērojamas viesabonēšanas izmaksas.\n\nŠis iestatījums ietekmē visus tālruņa lietotājus."</string>
     <string name="roaming_reenable_title" msgid="6068100976707316772">"Vai atļaut datu viesabonēšanu?"</string>
@@ -1953,6 +1953,10 @@
     <string name="sync_is_failing" msgid="1591561768344128377">"Pašreiz ir sinhronizācijas problēmas. Drīz šī darbība atkal būs pieejama."</string>
     <string name="add_account_label" msgid="7811707265834013767">"Pievienot kontu"</string>
     <string name="managed_profile_not_available_label" msgid="852263300911325904">"Darba profils vēl nav pieejams"</string>
+    <!-- no translation found for work_mode_label (5794470908668593961) -->
+    <skip />
+    <!-- no translation found for work_mode_summary (1620246003886940776) -->
+    <skip />
     <string name="remove_managed_profile_label" msgid="3856519337797285325">"Noņemt darba profilu"</string>
     <string name="background_data" msgid="5779592891375473817">"Fona dati"</string>
     <string name="background_data_summary" msgid="8328521479872763452">"Lietotnēs jebkurā brīdī var sinhr., sūtīt un saņemt datus"</string>
@@ -2779,8 +2783,7 @@
     <string name="camera_double_tap_power_gesture_desc" msgid="7355664631775680376">"Ērta kameras atvēršana, neatbloķējot ekrānu"</string>
     <string name="screen_zoom_title" msgid="6332123593919641665">"Ekrāna tālummaiņa"</string>
     <string name="screen_zoom_keywords" msgid="9176477565403352552">"attēlojums, blīvums, ekrāna tālummaiņa, mērogs, mērogošana"</string>
-    <!-- no translation found for screen_zoom_summary (2022973627105802010) -->
-    <skip />
+    <string name="screen_zoom_summary" msgid="2022973627105802010">"Padariet visus vienumus ekrānā lielākus vai mazākus. Mainot šo iestatījumu, var mainīties dažu lietotņu pozīcija sākuma ekrānā."</string>
     <string name="screen_zoom_preview_title" msgid="4680671508172336572">"Priekšskatījums"</string>
     <string name="screen_zoom_make_smaller_desc" msgid="4622359904253364742">"Samazināt"</string>
     <string name="screen_zoom_make_larger_desc" msgid="2236171043607896594">"Palielināt"</string>
@@ -2824,8 +2827,55 @@
     <string name="condition_cellular_summary" msgid="1818046558419658463">"Internets ir pieejams, izmantojot tikai Wi-Fi savienojumu"</string>
     <string name="condition_bg_data_title" msgid="1422001615923482010">"Fona dati ir izslēgti"</string>
     <string name="condition_bg_data_summary" msgid="656957852895282228">"Fona dati ir pieejami, izmantojot tikai Wi-Fi savienojumu. Tas var ietekmēt dažu lietotņu vai pakalpojumu darbību, kad Wi-Fī tīkls nav pieejams."</string>
+    <!-- no translation found for condition_work_title (7293722361184366648) -->
+    <skip />
+    <!-- no translation found for condition_work_summary (7543202177571590378) -->
+    <skip />
     <string name="suggestions_title" msgid="8758376306825920705">"Ieteikumi (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
     <string name="suggestion_remove" msgid="904627293892092439">"Noņemt"</string>
     <string name="color_temperature" msgid="2501579996151717270">"Ekrāna krāsu temperatūra"</string>
     <string name="color_temperature_desc" msgid="3603319696846982249">"Iespējot vēsu krāsu temperatūru"</string>
+    <!-- no translation found for usage (2977875522080448986) -->
+    <skip />
+    <!-- no translation found for cellular_data_usage (2763710678354680712) -->
+    <skip />
+    <!-- no translation found for wifi_data_usage (686754111095324306) -->
+    <skip />
+    <!-- no translation found for ethernet_data_usage (5108764537574354616) -->
+    <skip />
+    <string name="wifi" msgid="1081550856200013637">"Wi-Fi"</string>
+    <!-- no translation found for ethernet (6600095783781389720) -->
+    <skip />
+    <!-- no translation found for cell_data_template (3308709914705592281) -->
+    <skip />
+    <!-- no translation found for wifi_data_template (501654649753761778) -->
+    <skip />
+    <!-- no translation found for ethernet_data_template (5775729859383597507) -->
+    <skip />
+    <!-- no translation found for cell_warning_only (763147658209027140) -->
+    <skip />
+    <!-- no translation found for cell_warning_and_limit (2273413629267437470) -->
+    <skip />
+    <!-- no translation found for billing_cycle (5169909190811133499) -->
+    <skip />
+    <!-- no translation found for billing_cycle_summary (9009106526129293752) -->
+    <skip />
+    <!-- no translation found for billing_cycle_fragment_summary (1940518156600077066) -->
+    <skip />
+    <!-- no translation found for network_restrictions (8234695294536675380) -->
+    <skip />
+    <!-- no translation found for operator_warning (7206980278353372811) -->
+    <skip />
+    <!-- no translation found for data_used_template (3245919669966296505) -->
+    <skip />
+    <!-- no translation found for data_warning (209133958008062117) -->
+    <skip />
+    <!-- no translation found for set_data_limit (2901526323210516923) -->
+    <skip />
+    <!-- no translation found for data_limit (1885406964934590552) -->
+    <skip />
+    <!-- no translation found for data_usage_template (392191945602400904) -->
+    <skip />
+    <!-- no translation found for configure (1029654422228677273) -->
+    <skip />
 </resources>
diff --git a/res/values-mk-rMK/strings.xml b/res/values-mk-rMK/strings.xml
index 1bf74aa..896cc55 100644
--- a/res/values-mk-rMK/strings.xml
+++ b/res/values-mk-rMK/strings.xml
@@ -74,8 +74,7 @@
     <string name="sdcard_unmount" product="default" msgid="3364184561355611897">"Одмонтирај СД картичка"</string>
     <string name="sdcard_format" product="nosdcard" msgid="6285310523155166716">"Избриши УСБ меморија"</string>
     <string name="sdcard_format" product="default" msgid="6713185532039187532">"Избриши СД картичка"</string>
-    <!-- no translation found for font_size_summary (133937309990844030) -->
-    <skip />
+    <string name="font_size_summary" msgid="133937309990844030">"Направете го текстот на екранот помал или поголем."</string>
     <string name="small_font" msgid="2295331917424072635">"Мали"</string>
     <string name="medium_font" msgid="2068475425515133701">"Среден"</string>
     <string name="large_font" msgid="599055175160971446">"Голем"</string>
@@ -265,7 +264,7 @@
     <string name="roaming_disable" msgid="1295279574370898378">"Поврзи се со податочни услуги во роаминг"</string>
     <string name="roaming_reenable_message" msgid="9141007271031717369">"Изгубивте поврзување податоци зашто на вашата домашна мрежа исклучивте роаминг на податоци."</string>
     <string name="roaming_turn_it_on_button" msgid="4387601818162120589">"Вклучи"</string>
-    <string name="roaming_warning" msgid="7625933694709170887">"Кога ќе овозможите роаминг на податоци, може да направите големи трошоци за роаминг!"</string>
+    <string name="roaming_warning" msgid="4275443317524544705">"Може да направите големи трошоци."</string>
     <string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"Кога ќе овозможите роаминг на податоци, може да направите големи трошоци за роаминг!\n\nОва подесување влијае на сите корисници на овој таблет."</string>
     <string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"Кога ќе овозможите роаминг на податоци, може да направите големи трошоци за роаминг!\n\nОва подесување влијае на сите корисници на овој телефон."</string>
     <string name="roaming_reenable_title" msgid="6068100976707316772">"Дозволи роаминг на податоци?"</string>
@@ -1937,6 +1936,8 @@
     <string name="sync_is_failing" msgid="1591561768344128377">"Во моментов има проблеми со синхронизацијата. Ќе се среди наскоро."</string>
     <string name="add_account_label" msgid="7811707265834013767">"Додај сметка"</string>
     <string name="managed_profile_not_available_label" msgid="852263300911325904">"Работниот профил уште не е достапен"</string>
+    <string name="work_mode_label" msgid="5794470908668593961">"Режим на работа"</string>
+    <string name="work_mode_summary" msgid="1620246003886940776">"Дозволете работниот профил да функционира, вклучувајќи ги апликациите, синхронизирањето во заднина и други поврзани карактеристики"</string>
     <string name="remove_managed_profile_label" msgid="3856519337797285325">"Отстрани го работниот профил"</string>
     <string name="background_data" msgid="5779592891375473817">"Податоци во заднина"</string>
     <string name="background_data_summary" msgid="8328521479872763452">"Апл. може секогаш да се синхрон., праќаат и примаат податоци"</string>
@@ -2754,8 +2755,7 @@
     <string name="camera_double_tap_power_gesture_desc" msgid="7355664631775680376">"Брзо отворете ја камерата без да го отклучувате екранот"</string>
     <string name="screen_zoom_title" msgid="6332123593919641665">"Зум на екранот"</string>
     <string name="screen_zoom_keywords" msgid="9176477565403352552">"големина на екран, зумирај екран, скалирај, скалирање"</string>
-    <!-- no translation found for screen_zoom_summary (2022973627105802010) -->
-    <skip />
+    <string name="screen_zoom_summary" msgid="2022973627105802010">"Направете ги сите ставки на екранот помали или поголеми. Некои апликации на почетниот екран може да ја сменат позицијата откако ќе ја измените поставката."</string>
     <string name="screen_zoom_preview_title" msgid="4680671508172336572">"Преглед"</string>
     <string name="screen_zoom_make_smaller_desc" msgid="4622359904253364742">"Намали"</string>
     <string name="screen_zoom_make_larger_desc" msgid="2236171043607896594">"Зголеми"</string>
@@ -2799,8 +2799,32 @@
     <string name="condition_cellular_summary" msgid="1818046558419658463">"Интернетот е достапен само преку Wi-Fi"</string>
     <string name="condition_bg_data_title" msgid="1422001615923482010">"Исклучен сообраќај во заднина"</string>
     <string name="condition_bg_data_summary" msgid="656957852895282228">"Сообраќајот во заднина е достапен само преку Wi-Fi. Ова може да влијае на некои апликации или услуги кога Wi-Fi не е достапно."</string>
+    <string name="condition_work_title" msgid="7293722361184366648">"Работниот профил е исклучен"</string>
+    <string name="condition_work_summary" msgid="7543202177571590378">"Апликациите, синхронизирањето во заднина и други карактеристики поврзани со вашиот работен профил се исклучени."</string>
     <string name="suggestions_title" msgid="8758376306825920705">"Предлози (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
     <string name="suggestion_remove" msgid="904627293892092439">"Отстрани"</string>
     <string name="color_temperature" msgid="2501579996151717270">"Температура на бојата на екранот"</string>
     <string name="color_temperature_desc" msgid="3603319696846982249">"Овозможи ладна температура"</string>
+    <string name="usage" msgid="2977875522080448986">"Користење"</string>
+    <string name="cellular_data_usage" msgid="2763710678354680712">"Потрошен сообраќај на мобилни податоци"</string>
+    <string name="wifi_data_usage" msgid="686754111095324306">"Потрошен сообраќај на податоци преку Wi-Fi"</string>
+    <string name="ethernet_data_usage" msgid="5108764537574354616">"Потрошен сообраќај на етернет податоци"</string>
+    <string name="wifi" msgid="1081550856200013637">"Wi-Fi"</string>
+    <string name="ethernet" msgid="6600095783781389720">"Етернет"</string>
+    <string name="cell_data_template" msgid="3308709914705592281">"<xliff:g id="ID_1">%1$s</xliff:g> мобилни податоци"</string>
+    <string name="wifi_data_template" msgid="501654649753761778">"<xliff:g id="ID_1">%1$s</xliff:g> податоци преку Wi-Fi"</string>
+    <string name="ethernet_data_template" msgid="5775729859383597507">"<xliff:g id="ID_1">%1$s</xliff:g> етернет податоци"</string>
+    <string name="cell_warning_only" msgid="763147658209027140">"<xliff:g id="ID_1">%1$s</xliff:g> Предупредување за податоците"</string>
+    <string name="cell_warning_and_limit" msgid="2273413629267437470">"<xliff:g id="ID_1">%1$s</xliff:g> Предупредување за податоците/<xliff:g id="ID_2">%2$s</xliff:g> Ограничување на податоците"</string>
+    <string name="billing_cycle" msgid="5169909190811133499">"Циклус за наплата"</string>
+    <string name="billing_cycle_summary" msgid="9009106526129293752">"Месечниот циклус почнува на <xliff:g id="ID_1">%1$s</xliff:g> секој месец"</string>
+    <string name="billing_cycle_fragment_summary" msgid="1940518156600077066">"Месечно, почнувајќи на <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="network_restrictions" msgid="8234695294536675380">"Ограничувања на мрежата"</string>
+    <string name="operator_warning" msgid="7206980278353372811">"Пресметувањето на податоците од страна на операторот може да се разликува од она на вашиот уред."</string>
+    <string name="data_used_template" msgid="3245919669966296505">"<xliff:g id="ID_1">%1$s</xliff:g> потрошено"</string>
+    <string name="data_warning" msgid="209133958008062117">"Предупредување за податоците"</string>
+    <string name="set_data_limit" msgid="2901526323210516923">"Постави ограничување податоци"</string>
+    <string name="data_limit" msgid="1885406964934590552">"Ограничување податоци"</string>
+    <string name="data_usage_template" msgid="392191945602400904">"<xliff:g id="ID_1">%1$s</xliff:g> потрошено помеѓу <xliff:g id="ID_2">%2$s</xliff:g>"</string>
+    <string name="configure" msgid="1029654422228677273">"Конфигурирај"</string>
 </resources>
diff --git a/res/values-ml-rIN/strings.xml b/res/values-ml-rIN/strings.xml
index a0445fa..e0b4b0c 100644
--- a/res/values-ml-rIN/strings.xml
+++ b/res/values-ml-rIN/strings.xml
@@ -74,8 +74,7 @@
     <string name="sdcard_unmount" product="default" msgid="3364184561355611897">"SD കാർഡ് അൺമൗണ്ടുചെയ്യുക"</string>
     <string name="sdcard_format" product="nosdcard" msgid="6285310523155166716">"USB സ്റ്റോറേജ്  മായ്ക്കുക"</string>
     <string name="sdcard_format" product="default" msgid="6713185532039187532">"SD കാർഡ് മായ്ക്കുക"</string>
-    <!-- no translation found for font_size_summary (133937309990844030) -->
-    <skip />
+    <string name="font_size_summary" msgid="133937309990844030">"സ്ക്രീനിലെ ടെക്സ്റ്റ് ചെറുതോ വലുതോ ആക്കുക."</string>
     <string name="small_font" msgid="2295331917424072635">"ചെറുത്"</string>
     <string name="medium_font" msgid="2068475425515133701">"ഇടത്തരം"</string>
     <string name="large_font" msgid="599055175160971446">"വലുത്"</string>
@@ -265,7 +264,8 @@
     <string name="roaming_disable" msgid="1295279574370898378">"റോമിംഗിലായിരിക്കുമ്പോൾ ഡാറ്റ സേവനങ്ങളിൽ കണ‌ക്റ്റുചെയ്യുക"</string>
     <string name="roaming_reenable_message" msgid="9141007271031717369">"ഡാറ്റ റോമിംഗ് ഓഫുചെയ്‌തതിനൊപ്പം നിങ്ങളുടെ ഹോം നെറ്റ്‌വർക്കും നഷ്‌ടമായതിനാൽ നിങ്ങൾക്ക് ഡാറ്റ കണക്റ്റിവിറ്റി നഷ്‌ടപ്പെട്ടു."</string>
     <string name="roaming_turn_it_on_button" msgid="4387601818162120589">"അത് ഓണാക്കുക"</string>
-    <string name="roaming_warning" msgid="7625933694709170887">"നിങ്ങൾ ഡാറ്റ റോമിംഗ് അനുവദിക്കുമ്പോൾ, കാര്യമായ റോമിംഗ് നിരക്കുകൾക്ക് ഇടയാക്കാം!"</string>
+    <!-- no translation found for roaming_warning (4275443317524544705) -->
+    <skip />
     <string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"നിങ്ങൾ ഡാറ്റ റോമിംഗ് അനുവദിക്കുമ്പോൾ, കാര്യമായ റോമിംഗ് നിരക്കുകൾക്ക് ഇടയാക്കാം!\n\nഈ ടാബ്‌ലെറ്റിലെ എല്ലാ ഉപയോക്താക്കളെയും ഈ ക്രമീകരണം ബാധിക്കുന്നു."</string>
     <string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"നിങ്ങൾ ഡാറ്റ റോമിംഗ് അനുവദിക്കുമ്പോൾ, കാര്യമായ റോമിംഗ് നിരക്കുകൾക്ക് ഇടയാക്കാം!\n\nഈ ഫോണിലെ എല്ലാ ഉപയോക്താക്കളെയും ഈ ക്രമീകരണം ബാധിക്കുന്നു."</string>
     <string name="roaming_reenable_title" msgid="6068100976707316772">"ഡാറ്റ റോമിംഗ് അനുവദിക്കണോ?"</string>
@@ -1937,6 +1937,10 @@
     <string name="sync_is_failing" msgid="1591561768344128377">"സമന്വയം നിലവിൽ പ്രശ്‌നങ്ങൾ നേരിടുകയാണ്. ഇത് ഉടൻ പരാജയപ്പെടും."</string>
     <string name="add_account_label" msgid="7811707265834013767">"അക്കൗണ്ട് ചേർക്കുക"</string>
     <string name="managed_profile_not_available_label" msgid="852263300911325904">"ഔദ്യോഗിക പ്രൊഫൈൽ ഇതുവരെ ലഭ്യമല്ല"</string>
+    <!-- no translation found for work_mode_label (5794470908668593961) -->
+    <skip />
+    <!-- no translation found for work_mode_summary (1620246003886940776) -->
+    <skip />
     <string name="remove_managed_profile_label" msgid="3856519337797285325">"ഔദ്യോഗിക പ്രൊഫൈൽ നീക്കംചെയ്യുക"</string>
     <string name="background_data" msgid="5779592891375473817">"പശ്ചാത്തല ഡാറ്റ"</string>
     <string name="background_data_summary" msgid="8328521479872763452">"അപ്ലിക്കേഷനുകൾക്ക് ഏതു സമയത്തും ഡാറ്റ സമന്വയിപ്പിക്കാനും അയയ്ക്കാനും നേടാനുമാകും"</string>
@@ -2754,8 +2758,7 @@
     <string name="camera_double_tap_power_gesture_desc" msgid="7355664631775680376">"സ്ക്രീൻ അൺലോക്ക് ചെയ്യാതെ തന്നെ, അതിവേഗം ക്യാമറ തുറക്കുക"</string>
     <string name="screen_zoom_title" msgid="6332123593919641665">"സ്ക്രീൻ സൂം"</string>
     <string name="screen_zoom_keywords" msgid="9176477565403352552">"ഡിസ്‌പ്ലേ ഡെൻസിറ്റി, സ്ക്രീൻ സൂം, സ്കെയിൽ, സ്കെയിലിംഗ്"</string>
-    <!-- no translation found for screen_zoom_summary (2022973627105802010) -->
-    <skip />
+    <string name="screen_zoom_summary" msgid="2022973627105802010">"സ്ക്രീനിലെ എല്ലാ ഇനങ്ങളും ചെറുതോ വലുതോ ആക്കുക. ഈ ക്രമീകരണം മാറ്റിക്കഴിഞ്ഞാൽ നിങ്ങളുടെ ഹോം സ്ക്രീനിലെ ചില ആപ്‌സിന്റെ സ്ഥാനം മാറിയേക്കാം."</string>
     <string name="screen_zoom_preview_title" msgid="4680671508172336572">"പ്രിവ്യു നടത്തുക"</string>
     <string name="screen_zoom_make_smaller_desc" msgid="4622359904253364742">"ചെറുതാക്കുക"</string>
     <string name="screen_zoom_make_larger_desc" msgid="2236171043607896594">"വലുതാക്കുക"</string>
@@ -2799,8 +2802,56 @@
     <string name="condition_cellular_summary" msgid="1818046558419658463">"വൈഫൈ വഴി മാത്രം ഇന്റർനെറ്റ് ലഭ്യമാണ്"</string>
     <string name="condition_bg_data_title" msgid="1422001615923482010">"പശ്ചാത്തല ഡാറ്റ ഓഫാണ്"</string>
     <string name="condition_bg_data_summary" msgid="656957852895282228">"വൈഫൈ വഴി മാത്രം പശ്ചാത്തല ഡാറ്റ ലഭ്യമാണ്. വൈഫൈ ലഭ്യമല്ലാത്തപ്പോൾ ചില ആപ്സോ സേവനങ്ങളോ ഇതിനാൽ ബാധിക്കപ്പെട്ടേക്കാം."</string>
+    <!-- no translation found for condition_work_title (7293722361184366648) -->
+    <skip />
+    <!-- no translation found for condition_work_summary (7543202177571590378) -->
+    <skip />
     <string name="suggestions_title" msgid="8758376306825920705">"നിർദ്ദേശങ്ങൾ (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
     <string name="suggestion_remove" msgid="904627293892092439">"നീക്കംചെയ്യുക"</string>
     <string name="color_temperature" msgid="2501579996151717270">"ഡിസ്പ്ലേ വർണ്ണ താപനില"</string>
     <string name="color_temperature_desc" msgid="3603319696846982249">"തണുത്ത താപനില പ്രവർത്തനക്ഷമമാക്കുക"</string>
+    <!-- no translation found for usage (2977875522080448986) -->
+    <skip />
+    <!-- no translation found for cellular_data_usage (2763710678354680712) -->
+    <skip />
+    <!-- no translation found for wifi_data_usage (686754111095324306) -->
+    <skip />
+    <!-- no translation found for ethernet_data_usage (5108764537574354616) -->
+    <skip />
+    <!-- no translation found for wifi (1081550856200013637) -->
+    <skip />
+    <!-- no translation found for ethernet (6600095783781389720) -->
+    <skip />
+    <!-- no translation found for cell_data_template (3308709914705592281) -->
+    <skip />
+    <!-- no translation found for wifi_data_template (501654649753761778) -->
+    <skip />
+    <!-- no translation found for ethernet_data_template (5775729859383597507) -->
+    <skip />
+    <!-- no translation found for cell_warning_only (763147658209027140) -->
+    <skip />
+    <!-- no translation found for cell_warning_and_limit (2273413629267437470) -->
+    <skip />
+    <!-- no translation found for billing_cycle (5169909190811133499) -->
+    <skip />
+    <!-- no translation found for billing_cycle_summary (9009106526129293752) -->
+    <skip />
+    <!-- no translation found for billing_cycle_fragment_summary (1940518156600077066) -->
+    <skip />
+    <!-- no translation found for network_restrictions (8234695294536675380) -->
+    <skip />
+    <!-- no translation found for operator_warning (7206980278353372811) -->
+    <skip />
+    <!-- no translation found for data_used_template (3245919669966296505) -->
+    <skip />
+    <!-- no translation found for data_warning (209133958008062117) -->
+    <skip />
+    <!-- no translation found for set_data_limit (2901526323210516923) -->
+    <skip />
+    <!-- no translation found for data_limit (1885406964934590552) -->
+    <skip />
+    <!-- no translation found for data_usage_template (392191945602400904) -->
+    <skip />
+    <!-- no translation found for configure (1029654422228677273) -->
+    <skip />
 </resources>
diff --git a/res/values-mn-rMN/strings.xml b/res/values-mn-rMN/strings.xml
index bb886fb..ca96134 100644
--- a/res/values-mn-rMN/strings.xml
+++ b/res/values-mn-rMN/strings.xml
@@ -74,8 +74,7 @@
     <string name="sdcard_unmount" product="default" msgid="3364184561355611897">"SD картыг салгах"</string>
     <string name="sdcard_format" product="nosdcard" msgid="6285310523155166716">"USB санг арилгах"</string>
     <string name="sdcard_format" product="default" msgid="6713185532039187532">"SD картыг арилгах"</string>
-    <!-- no translation found for font_size_summary (133937309990844030) -->
-    <skip />
+    <string name="font_size_summary" msgid="133937309990844030">"Дэлгэцийн текстийг томруулах, жижигрүүлэх."</string>
     <string name="small_font" msgid="2295331917424072635">"Жижиг"</string>
     <string name="medium_font" msgid="2068475425515133701">"Дундаж"</string>
     <string name="large_font" msgid="599055175160971446">"Том"</string>
@@ -265,7 +264,8 @@
     <string name="roaming_disable" msgid="1295279574370898378">"Роумингтэй үед дата үйлчилгээнд холбогдох"</string>
     <string name="roaming_reenable_message" msgid="9141007271031717369">"Та төрөлх сүлжээнээс дата роумингыг унтраагаад гарсан тул дата холболтоо алдлаа."</string>
     <string name="roaming_turn_it_on_button" msgid="4387601818162120589">"Асаах"</string>
-    <string name="roaming_warning" msgid="7625933694709170887">"Та дата роумингыг зөвшөөрсөн үед танд нэлээд их роумингын төлбөр гарч болно!"</string>
+    <!-- no translation found for roaming_warning (4275443317524544705) -->
+    <skip />
     <string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"Дата роумингыг зөвшөөрсөн үед танд нэлээд их роумингын төлбөр гарч болно!\n\nЭнэ тохиргоо энэ таблетын бүх хэрэглэгчид хамаарна."</string>
     <string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"Дата роумингыг зөвшөөрсөн үед танд нэлээд их роумингын төлбөр гарч болно!\n\nЭнэ тохиргоо энэ утасны бүх хэрэглэгчид хамаарна."</string>
     <string name="roaming_reenable_title" msgid="6068100976707316772">"Дата роумингыг зөвшөөрөх үү?"</string>
@@ -1927,6 +1927,10 @@
     <string name="sync_is_failing" msgid="1591561768344128377">"Синк хийхэд асуудал үүсээд байна. Удахгүй зүгээр болох болно."</string>
     <string name="add_account_label" msgid="7811707265834013767">"Акаунт нэмэх"</string>
     <string name="managed_profile_not_available_label" msgid="852263300911325904">"Ажлын профайлыг хараахан ашиглах боломжгүй"</string>
+    <!-- no translation found for work_mode_label (5794470908668593961) -->
+    <skip />
+    <!-- no translation found for work_mode_summary (1620246003886940776) -->
+    <skip />
     <string name="remove_managed_profile_label" msgid="3856519337797285325">"Ажлын профайлыг арилгах"</string>
     <string name="background_data" msgid="5779592891375473817">"Далд өгөгдөл"</string>
     <string name="background_data_summary" msgid="8328521479872763452">"Апп-ууд өгөгдлийг ямар ч үед синк хийж, илгээж, хүлээж авч болно"</string>
@@ -2742,8 +2746,7 @@
     <string name="camera_double_tap_power_gesture_desc" msgid="7355664631775680376">"Камерыг дэлгэцийн түгжээ тайлалгүйгээр төвөггүй нээх"</string>
     <string name="screen_zoom_title" msgid="6332123593919641665">"Дэлгэцийг томруулах"</string>
     <string name="screen_zoom_keywords" msgid="9176477565403352552">"дэлгэцийн нягтрал, дэлгэцийг томруулах, хэмжих, хэмжээс"</string>
-    <!-- no translation found for screen_zoom_summary (2022973627105802010) -->
-    <skip />
+    <string name="screen_zoom_summary" msgid="2022973627105802010">"Дэлгэцийн бүх зүйлийг жижигрүүлэх, томруулах. Таны нүүр хуудасны зарим апп энэ тохиргоог өөрчилсны дараа байршил нь өөрчлөгдөнө."</string>
     <string name="screen_zoom_preview_title" msgid="4680671508172336572">"Урьдчилж харах"</string>
     <string name="screen_zoom_make_smaller_desc" msgid="4622359904253364742">"Жижигрүүлэх"</string>
     <string name="screen_zoom_make_larger_desc" msgid="2236171043607896594">"Томруулах"</string>
@@ -2787,8 +2790,55 @@
     <string name="condition_cellular_summary" msgid="1818046558419658463">"Интернэтийг Wi-Fi-тай үед ашиглах боломжтой"</string>
     <string name="condition_bg_data_title" msgid="1422001615923482010">"Ар дэвсгэрийн дата унтраалттай байна"</string>
     <string name="condition_bg_data_summary" msgid="656957852895282228">"Дэвсгэр дата зөвхөн Wi-Fi-р дамжуулсан тохиолдолд боломжтой. Ингэснээр Wi-Fi байхгүй үед зарим апп эсвэл үйлчилгээнд нөлөөлж болзошгүй."</string>
+    <!-- no translation found for condition_work_title (7293722361184366648) -->
+    <skip />
+    <!-- no translation found for condition_work_summary (7543202177571590378) -->
+    <skip />
     <string name="suggestions_title" msgid="8758376306825920705">"Санал болголт (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
     <string name="suggestion_remove" msgid="904627293892092439">"Арилгах"</string>
     <string name="color_temperature" msgid="2501579996151717270">"Дэлгэцийн өнгөний температур"</string>
     <string name="color_temperature_desc" msgid="3603319696846982249">"Хүйтэн температур идэвхжүүлэх"</string>
+    <!-- no translation found for usage (2977875522080448986) -->
+    <skip />
+    <!-- no translation found for cellular_data_usage (2763710678354680712) -->
+    <skip />
+    <!-- no translation found for wifi_data_usage (686754111095324306) -->
+    <skip />
+    <!-- no translation found for ethernet_data_usage (5108764537574354616) -->
+    <skip />
+    <string name="wifi" msgid="1081550856200013637">"Wi-Fi"</string>
+    <!-- no translation found for ethernet (6600095783781389720) -->
+    <skip />
+    <!-- no translation found for cell_data_template (3308709914705592281) -->
+    <skip />
+    <!-- no translation found for wifi_data_template (501654649753761778) -->
+    <skip />
+    <!-- no translation found for ethernet_data_template (5775729859383597507) -->
+    <skip />
+    <!-- no translation found for cell_warning_only (763147658209027140) -->
+    <skip />
+    <!-- no translation found for cell_warning_and_limit (2273413629267437470) -->
+    <skip />
+    <!-- no translation found for billing_cycle (5169909190811133499) -->
+    <skip />
+    <!-- no translation found for billing_cycle_summary (9009106526129293752) -->
+    <skip />
+    <!-- no translation found for billing_cycle_fragment_summary (1940518156600077066) -->
+    <skip />
+    <!-- no translation found for network_restrictions (8234695294536675380) -->
+    <skip />
+    <!-- no translation found for operator_warning (7206980278353372811) -->
+    <skip />
+    <!-- no translation found for data_used_template (3245919669966296505) -->
+    <skip />
+    <!-- no translation found for data_warning (209133958008062117) -->
+    <skip />
+    <!-- no translation found for set_data_limit (2901526323210516923) -->
+    <skip />
+    <!-- no translation found for data_limit (1885406964934590552) -->
+    <skip />
+    <!-- no translation found for data_usage_template (392191945602400904) -->
+    <skip />
+    <!-- no translation found for configure (1029654422228677273) -->
+    <skip />
 </resources>
diff --git a/res/values-mr-rIN/strings.xml b/res/values-mr-rIN/strings.xml
index d42172a..41be6e0 100644
--- a/res/values-mr-rIN/strings.xml
+++ b/res/values-mr-rIN/strings.xml
@@ -74,8 +74,7 @@
     <string name="sdcard_unmount" product="default" msgid="3364184561355611897">"SD कार्ड अनमाउंट करा"</string>
     <string name="sdcard_format" product="nosdcard" msgid="6285310523155166716">"USB संचयन मिटवा"</string>
     <string name="sdcard_format" product="default" msgid="6713185532039187532">"SD कार्ड मिटवा"</string>
-    <!-- no translation found for font_size_summary (133937309990844030) -->
-    <skip />
+    <string name="font_size_summary" msgid="133937309990844030">"स्क्रीन वरील मजकूर आणखी लहान किंवा आणखी मोठा बनवा."</string>
     <string name="small_font" msgid="2295331917424072635">"लहान"</string>
     <string name="medium_font" msgid="2068475425515133701">"मध्‍यम"</string>
     <string name="large_font" msgid="599055175160971446">"मोठा"</string>
@@ -265,7 +264,8 @@
     <string name="roaming_disable" msgid="1295279574370898378">"रोमिंगमध्ये असताना डेटा सेवांना कनेक्ट करा"</string>
     <string name="roaming_reenable_message" msgid="9141007271031717369">"आपण डेटा रोमिंग बंद करून आपले होम नेटवर्क सोडल्यामुळे आपण डेटा कनेक्टिव्हिटी गमावली आहे."</string>
     <string name="roaming_turn_it_on_button" msgid="4387601818162120589">"हे चालू करा"</string>
-    <string name="roaming_warning" msgid="7625933694709170887">"जेव्हा आपण डेटा रोमिंगला अनुमती देता तेव्हा आपल्‍याला पुरेसे रोमिंग शुल्‍क लागू शकते!"</string>
+    <!-- no translation found for roaming_warning (4275443317524544705) -->
+    <skip />
     <string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"जेव्हा आपण डेटा रोमिंगला अनुमती देता, तेव्हा आपल्याला महत्त्वाचे रोमिंग शुल्क आकारले जाऊ शकते!\n\nही सेटिंग या टॅब्लेटवरील सर्व वापरकर्ते प्रभावित करते."</string>
     <string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"जेव्हा आपण डेटा रोमिंगला अनुमती देता, तेव्हा आपल्याकडून महत्त्वाचे रोमिंग शुल्क आकारले जाऊ शकते!\n\nही सेटिंग या फोनवरील सर्व वापरकर्ते प्रभावित करते."</string>
     <string name="roaming_reenable_title" msgid="6068100976707316772">"डेटा रोमिंगला अनुमती द्यायची?"</string>
@@ -1278,7 +1278,7 @@
     <string name="lock_settings_profile_unification_summary" msgid="8014208091623293835">"कार्य प्रोफाईल जुळविण्यासाठी प्राथमिक प्रोफाईल बदला"</string>
     <string name="lock_settings_profile_unification_dialog_title" msgid="5297248764066294130">"समान स्क्रीन लॉक वापरायचा?"</string>
     <string name="lock_settings_profile_unification_dialog_body" msgid="342417647696962745">"आपण आपल्या डिव्हाइससाठी हा लॉक वापरू शकता परंतु त्यामध्‍ये आपल्‍या IT प्रशासकाद्वारे कार्य प्रोफाईलवर सेट केलेली सर्व स्क्रीन लॉक संबंधित धोरणे समाविष्ट असतील.\nआपण आपल्या डिव्हाइससाठी तोच स्क्रीन लॉक वापरू इच्छिता?"</string>
-    <string name="lock_settings_profile_unified_summary" msgid="237623767711796217">"आपल्या डिव्हाइसच्या लॉक समान असलेला"</string>
+    <string name="lock_settings_profile_unified_summary" msgid="237623767711796217">"आपल्या डिव्हाइस लॉक सारखा"</string>
     <string name="manageapplications_settings_title" msgid="7041951105633616745">"अ‍ॅप्स व्यवस्थापित करा"</string>
     <string name="manageapplications_settings_summary" msgid="1794401500935451259">"स्थापित अॅप्स व्यवस्थापित करा आणि काढा"</string>
     <string name="applications_settings" msgid="1721442176406964682">"अॅप्स"</string>
@@ -1937,6 +1937,10 @@
     <string name="sync_is_failing" msgid="1591561768344128377">"संकालनास सध्या समस्या येत आहेत. हे लवकरच परत येईल."</string>
     <string name="add_account_label" msgid="7811707265834013767">"खाते जोडा"</string>
     <string name="managed_profile_not_available_label" msgid="852263300911325904">"कार्य प्रोफाईल अद्याप उपलब्ध नाही"</string>
+    <!-- no translation found for work_mode_label (5794470908668593961) -->
+    <skip />
+    <!-- no translation found for work_mode_summary (1620246003886940776) -->
+    <skip />
     <string name="remove_managed_profile_label" msgid="3856519337797285325">"कार्य प्रोफाईल काढा"</string>
     <string name="background_data" msgid="5779592891375473817">"पार्श्वभूमी डेटा"</string>
     <string name="background_data_summary" msgid="8328521479872763452">"अॅप्स कोणत्याही वेळी डेटा संकालित करू, पाठवू आणि प्राप्त करू शकतात."</string>
@@ -2754,8 +2758,7 @@
     <string name="camera_double_tap_power_gesture_desc" msgid="7355664631775680376">"आपली स्क्रीन अनलॉक न करता कॅमेरा द्रुतपणे उघडा"</string>
     <string name="screen_zoom_title" msgid="6332123593919641665">"स्क्रीन झूम"</string>
     <string name="screen_zoom_keywords" msgid="9176477565403352552">"प्रदर्शन घनता, स्क्रीन झूम, मापन, मापन करीत आहे"</string>
-    <!-- no translation found for screen_zoom_summary (2022973627105802010) -->
-    <skip />
+    <string name="screen_zoom_summary" msgid="2022973627105802010">"स्क्रीनवरील सर्व आयटम आणखी लहान किंवा आणखी मोठे करा. आपल्या मुख्यपृष्ठावरील काही अॅप्स हे सेटिंग बदलल्‍यानंतर स्थान बदलू शकतात."</string>
     <string name="screen_zoom_preview_title" msgid="4680671508172336572">"पूर्वावलोकन"</string>
     <string name="screen_zoom_make_smaller_desc" msgid="4622359904253364742">"आणखी लहान करा"</string>
     <string name="screen_zoom_make_larger_desc" msgid="2236171043607896594">"आणखी मोठे करा"</string>
@@ -2799,8 +2802,56 @@
     <string name="condition_cellular_summary" msgid="1818046558419658463">"इंटरनेट केवळ Wi-Fi द्वारे उपलब्ध आहे"</string>
     <string name="condition_bg_data_title" msgid="1422001615923482010">"पार्श्वभूमी डेटा बंद आहे"</string>
     <string name="condition_bg_data_summary" msgid="656957852895282228">"पार्श्वभूमी डेटा केवळ Wi-Fi द्वारे उपलब्ध आहे. Wi-Fi उपलब्ध नसते तेव्हा हे काही अॅप्स किंवा सेवांना प्रभावित करू शकते."</string>
+    <!-- no translation found for condition_work_title (7293722361184366648) -->
+    <skip />
+    <!-- no translation found for condition_work_summary (7543202177571590378) -->
+    <skip />
     <string name="suggestions_title" msgid="8758376306825920705">"सूचना (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
     <string name="suggestion_remove" msgid="904627293892092439">"काढा"</string>
     <string name="color_temperature" msgid="2501579996151717270">"प्रदर्शन रंग तापमान"</string>
     <string name="color_temperature_desc" msgid="3603319696846982249">"थंड तापमान सक्षम करा"</string>
+    <!-- no translation found for usage (2977875522080448986) -->
+    <skip />
+    <!-- no translation found for cellular_data_usage (2763710678354680712) -->
+    <skip />
+    <!-- no translation found for wifi_data_usage (686754111095324306) -->
+    <skip />
+    <!-- no translation found for ethernet_data_usage (5108764537574354616) -->
+    <skip />
+    <!-- no translation found for wifi (1081550856200013637) -->
+    <skip />
+    <!-- no translation found for ethernet (6600095783781389720) -->
+    <skip />
+    <!-- no translation found for cell_data_template (3308709914705592281) -->
+    <skip />
+    <!-- no translation found for wifi_data_template (501654649753761778) -->
+    <skip />
+    <!-- no translation found for ethernet_data_template (5775729859383597507) -->
+    <skip />
+    <!-- no translation found for cell_warning_only (763147658209027140) -->
+    <skip />
+    <!-- no translation found for cell_warning_and_limit (2273413629267437470) -->
+    <skip />
+    <!-- no translation found for billing_cycle (5169909190811133499) -->
+    <skip />
+    <!-- no translation found for billing_cycle_summary (9009106526129293752) -->
+    <skip />
+    <!-- no translation found for billing_cycle_fragment_summary (1940518156600077066) -->
+    <skip />
+    <!-- no translation found for network_restrictions (8234695294536675380) -->
+    <skip />
+    <!-- no translation found for operator_warning (7206980278353372811) -->
+    <skip />
+    <!-- no translation found for data_used_template (3245919669966296505) -->
+    <skip />
+    <!-- no translation found for data_warning (209133958008062117) -->
+    <skip />
+    <!-- no translation found for set_data_limit (2901526323210516923) -->
+    <skip />
+    <!-- no translation found for data_limit (1885406964934590552) -->
+    <skip />
+    <!-- no translation found for data_usage_template (392191945602400904) -->
+    <skip />
+    <!-- no translation found for configure (1029654422228677273) -->
+    <skip />
 </resources>
diff --git a/res/values-ms-rMY/strings.xml b/res/values-ms-rMY/strings.xml
index 8203c08..07b458a 100644
--- a/res/values-ms-rMY/strings.xml
+++ b/res/values-ms-rMY/strings.xml
@@ -74,8 +74,7 @@
     <string name="sdcard_unmount" product="default" msgid="3364184561355611897">"Nyahlekap kad SD"</string>
     <string name="sdcard_format" product="nosdcard" msgid="6285310523155166716">"Padam storan USB"</string>
     <string name="sdcard_format" product="default" msgid="6713185532039187532">"Padam kad SD"</string>
-    <!-- no translation found for font_size_summary (133937309990844030) -->
-    <skip />
+    <string name="font_size_summary" msgid="133937309990844030">"Besarkan atau kecilkan teks pada skrin."</string>
     <string name="small_font" msgid="2295331917424072635">"Kecil"</string>
     <string name="medium_font" msgid="2068475425515133701">"Sederhana"</string>
     <string name="large_font" msgid="599055175160971446">"Besar"</string>
@@ -265,7 +264,8 @@
     <string name="roaming_disable" msgid="1295279574370898378">"Sambung ke perkhidmatan data semasa malakukan perayauan"</string>
     <string name="roaming_reenable_message" msgid="9141007271031717369">"Anda telah kehilangan kesambungan data kerana anda meninggalkan rangkaian rumah anda dengan data perayauan dimatikan."</string>
     <string name="roaming_turn_it_on_button" msgid="4387601818162120589">"Hidupkannya"</string>
-    <string name="roaming_warning" msgid="7625933694709170887">"Apabila anda membenarkan perayauan data,  anda boleh dikenakan caj perayauan yang tinggi!"</string>
+    <!-- no translation found for roaming_warning (4275443317524544705) -->
+    <skip />
     <string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"Apabila anda membenarkan perayauan data, anda mungkin dikenakan caj perayauan yang tinggi!\n\nTetapan ini melibatkan semua pengguna pada tablet ini."</string>
     <string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"Apabila anda membenarkan perayauan data, anda mungkin dikenakan caj perayauan yang tinggi!\n\nTetapan ini melibatkan semua pengguna pada telefon ini."</string>
     <string name="roaming_reenable_title" msgid="6068100976707316772">"Benarkan perayauan data?"</string>
@@ -1937,6 +1937,10 @@
     <string name="sync_is_failing" msgid="1591561768344128377">"Penyegerakan sedang mengalami masalah. Ia akan kembali sebentar lagi."</string>
     <string name="add_account_label" msgid="7811707265834013767">"Tambah akaun"</string>
     <string name="managed_profile_not_available_label" msgid="852263300911325904">"Profil kerja belum tersedia lagi"</string>
+    <!-- no translation found for work_mode_label (5794470908668593961) -->
+    <skip />
+    <!-- no translation found for work_mode_summary (1620246003886940776) -->
+    <skip />
     <string name="remove_managed_profile_label" msgid="3856519337797285325">"Alih keluar profil kerja"</string>
     <string name="background_data" msgid="5779592891375473817">"Data latar belakang"</string>
     <string name="background_data_summary" msgid="8328521479872763452">"Apl boleh menyegerak, menghantar dan menerima data pada bila-bila masa"</string>
@@ -2754,8 +2758,7 @@
     <string name="camera_double_tap_power_gesture_desc" msgid="7355664631775680376">"Buka kamera dengan cepat tanpa membuka kunci skrin"</string>
     <string name="screen_zoom_title" msgid="6332123593919641665">"Zum skrin"</string>
     <string name="screen_zoom_keywords" msgid="9176477565403352552">"kepadatan paparan, zum skrin, skala, penskalaan"</string>
-    <!-- no translation found for screen_zoom_summary (2022973627105802010) -->
-    <skip />
+    <string name="screen_zoom_summary" msgid="2022973627105802010">"Besarkan atau kecilkan semua item pada skrin. Kedudukan sesetengah apl pada skrin utama anda mungkin berubah selepas menukar tetapan ini."</string>
     <string name="screen_zoom_preview_title" msgid="4680671508172336572">"Pratonton"</string>
     <string name="screen_zoom_make_smaller_desc" msgid="4622359904253364742">"Buat yang lebih kecil"</string>
     <string name="screen_zoom_make_larger_desc" msgid="2236171043607896594">"Buat yang lebih besar"</string>
@@ -2799,8 +2802,55 @@
     <string name="condition_cellular_summary" msgid="1818046558419658463">"Internet hanya tersedia melalui Wi-Fi"</string>
     <string name="condition_bg_data_title" msgid="1422001615923482010">"Data latar belakang dimatikan"</string>
     <string name="condition_bg_data_summary" msgid="656957852895282228">"Data latar belakang hanya tersedia melalui Wi-Fi. Perkara ini mungkin menjejaskan beberapa apl atau perkhidmatan apabila Wi-Fi tidak tersedia."</string>
+    <!-- no translation found for condition_work_title (7293722361184366648) -->
+    <skip />
+    <!-- no translation found for condition_work_summary (7543202177571590378) -->
+    <skip />
     <string name="suggestions_title" msgid="8758376306825920705">"Cadangan (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
     <string name="suggestion_remove" msgid="904627293892092439">"Alih keluar"</string>
     <string name="color_temperature" msgid="2501579996151717270">"Suhu warna paparan"</string>
     <string name="color_temperature_desc" msgid="3603319696846982249">"Dayakan suhu sejuk"</string>
+    <!-- no translation found for usage (2977875522080448986) -->
+    <skip />
+    <!-- no translation found for cellular_data_usage (2763710678354680712) -->
+    <skip />
+    <!-- no translation found for wifi_data_usage (686754111095324306) -->
+    <skip />
+    <!-- no translation found for ethernet_data_usage (5108764537574354616) -->
+    <skip />
+    <string name="wifi" msgid="1081550856200013637">"Wi-Fi"</string>
+    <!-- no translation found for ethernet (6600095783781389720) -->
+    <skip />
+    <!-- no translation found for cell_data_template (3308709914705592281) -->
+    <skip />
+    <!-- no translation found for wifi_data_template (501654649753761778) -->
+    <skip />
+    <!-- no translation found for ethernet_data_template (5775729859383597507) -->
+    <skip />
+    <!-- no translation found for cell_warning_only (763147658209027140) -->
+    <skip />
+    <!-- no translation found for cell_warning_and_limit (2273413629267437470) -->
+    <skip />
+    <!-- no translation found for billing_cycle (5169909190811133499) -->
+    <skip />
+    <!-- no translation found for billing_cycle_summary (9009106526129293752) -->
+    <skip />
+    <!-- no translation found for billing_cycle_fragment_summary (1940518156600077066) -->
+    <skip />
+    <!-- no translation found for network_restrictions (8234695294536675380) -->
+    <skip />
+    <!-- no translation found for operator_warning (7206980278353372811) -->
+    <skip />
+    <!-- no translation found for data_used_template (3245919669966296505) -->
+    <skip />
+    <!-- no translation found for data_warning (209133958008062117) -->
+    <skip />
+    <!-- no translation found for set_data_limit (2901526323210516923) -->
+    <skip />
+    <!-- no translation found for data_limit (1885406964934590552) -->
+    <skip />
+    <!-- no translation found for data_usage_template (392191945602400904) -->
+    <skip />
+    <!-- no translation found for configure (1029654422228677273) -->
+    <skip />
 </resources>
diff --git a/res/values-my-rMM/strings.xml b/res/values-my-rMM/strings.xml
index f0fe3ba..8c392ff 100644
--- a/res/values-my-rMM/strings.xml
+++ b/res/values-my-rMM/strings.xml
@@ -264,7 +264,7 @@
     <string name="roaming_disable" msgid="1295279574370898378">"ရုန်းမင်းပြုလုပ်နေစဉ် ဒေတာဝန်ဆောင်မှုများကို ဆက်သွယ်ခြင်း"</string>
     <string name="roaming_reenable_message" msgid="9141007271031717369">"ဒေတာဆက်သွယ်မှုပြတ်တောက်သွားပါသည် အဘယ်ကြောင့်ဆိုသော် သင့်အိမ်၏ကွန်ယက်မှထွက်ကာ ဒေတာရုန်းမင်းကွန်ယက်ကိုလဲပိတ်ထားသောကြောင့်ဖြစ်သည်"</string>
     <string name="roaming_turn_it_on_button" msgid="4387601818162120589">"ဖွင့်မည်"</string>
-    <string name="roaming_warning" msgid="7625933694709170887">"ကွန်ယက်ပြင်ပဒေတာအသုံးပြုခြင်းကို သင် ခွင့်ပြုလျှင် သိသာကြီးမာသောသုံးစွဲခ ကျခံရလိမ့်မည် !"</string>
+    <string name="roaming_warning" msgid="4275443317524544705">"သိသာသည့် ငွေကြေးကုန်ကျမှုများ ရှိနိုင်ပါသည်။"</string>
     <string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"ကွန်ယက်ပြင်ပဒေတာအသုံးပြုခြင်းကို သင် ခွင့်ပြုလျှင် သိသာကြီးမာသောသုံးစွဲခ ကျခံရလိမ့်မည် !\n\n ဤအစီအမံသည် ဤတက်ဘလက်မှ သူံးစွဲသူအားလုံးကို အကျိုးသက်ရောက်လိမ့်မည်။"</string>
     <string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"ကွန်ယက်ပြင်ပဒေတာအသုံးပြုခြင်းကို သင် ခွင့်ပြုလျှင် သိသာကြီးမာသောသုံးစွဲခ ကျခံရလိမ့်မည် !\n\n ဤအစီအမံသည် ဤဖုန်းမှ သူံးစွဲသူအားလုံးကို အကျိုးသက်ရောက်လိမ့်မည်။"</string>
     <string name="roaming_reenable_title" msgid="6068100976707316772">"ကွန်ရက်ပြင်ပဒေတာအသုံးပြုခြင်း ခွင့်​ပြုမည်လား?"</string>
@@ -1936,6 +1936,8 @@
     <string name="sync_is_failing" msgid="1591561768344128377">"ထပ်တူကိုက်ညီအောင်ပြုလုပ်ခြင်းသည် လက်ရှိပြသနာရှိနေပါသည်။ ခဏကြာလျှင်ပြန်လည်ရရှိပါလိမ့်မည်။"</string>
     <string name="add_account_label" msgid="7811707265834013767">"အကောင့်ထပ်ထည့်ရန်"</string>
     <string name="managed_profile_not_available_label" msgid="852263300911325904">"အလုပ် ပရိုဖိုင်ကို မရရှိနိုင်သေးပါ"</string>
+    <string name="work_mode_label" msgid="5794470908668593961">"အလုပ်မုဒ်"</string>
+    <string name="work_mode_summary" msgid="1620246003886940776">"အက်ပ်များ၊ နောက်ခံစင့်ခ်လုပ်ခြင်း၊ နှင့်သက်ဆိုင်သည့်အင်္ဂါရပ်များကို ဆောင်ရွက်ရန် အလုပ်ပရိုဖိုင်ကိုခွင့်ပြုပါ။"</string>
     <string name="remove_managed_profile_label" msgid="3856519337797285325">"အလုပ် ပရိုဖိုင်ကို ဖယ်ရှားပစ်ရန်"</string>
     <string name="background_data" msgid="5779592891375473817">"နောက်ခံတွင်အသုံးပြုသောဒေတာ"</string>
     <string name="background_data_summary" msgid="8328521479872763452">"ဒေတာကိုအချိန်မရွေး ထပ်တူ၊၊ပို့ နှင့်လက်ခံခြင်းလုပ်နိုင်သည်"</string>
@@ -2797,8 +2799,32 @@
     <string name="condition_cellular_summary" msgid="1818046558419658463">"အင်တာနက်သည် ဝိုင်ဖိုင်မှတစ်ဆင့်သာ ရနိုင်သည်"</string>
     <string name="condition_bg_data_title" msgid="1422001615923482010">"နောက်ခံဒေတာပိတ်ထားသည်"</string>
     <string name="condition_bg_data_summary" msgid="656957852895282228">"နောက်ချက်ဒေတာသည် ဝိုင်ဖိုင်မှတစ်ဆင့်သာ ရနိုင်သည်။ ၎င်းသည် ဝိုင်ဖိုင်မရချိန်တွင် အက်ပ်များသို့မဟုတ် ဝန်ဆောင်မှုများကို ထိခိုက်စေပါသည်။"</string>
+    <string name="condition_work_title" msgid="7293722361184366648">"အလုပ်ပရိုဖိုင်ပိတ်ထားသည်"</string>
+    <string name="condition_work_summary" msgid="7543202177571590378">"သင့်အလုပ်ပရိုဖိုင်နှင့် သက်ဆိုင်သည့် အက်ပ်များ၊ နောက်ခံစင့်ခ်လုပ်ခြင်း၊ နှင့်အခြား အင်္ဂါရပ်များကို ပိတ်ထားပါသည်။"</string>
     <string name="suggestions_title" msgid="8758376306825920705">"အကြံပြုချက်များ (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
     <string name="suggestion_remove" msgid="904627293892092439">"ဖယ်ရှားပါ"</string>
     <string name="color_temperature" msgid="2501579996151717270">"မြင်ကွင်း အရောင်၏ အပူချိန်"</string>
     <string name="color_temperature_desc" msgid="3603319696846982249">"အေးသော အပူချိန်ကို ဖွင့်ပါ"</string>
+    <string name="usage" msgid="2977875522080448986">"အသုံးပြုမှု"</string>
+    <string name="cellular_data_usage" msgid="2763710678354680712">"ဆဲလ်လူလာဒေတာအသုံးပြုမှု"</string>
+    <string name="wifi_data_usage" msgid="686754111095324306">"ဝိုင်ဖိုင်ဒေတာအသုံးပြုမှု"</string>
+    <string name="ethernet_data_usage" msgid="5108764537574354616">"အီတာနက်ဒေတာအသုံးပြုချက်"</string>
+    <string name="wifi" msgid="1081550856200013637">"ဝိုင်ဖိုင်"</string>
+    <string name="ethernet" msgid="6600095783781389720">"အီတာနက်"</string>
+    <string name="cell_data_template" msgid="3308709914705592281">"<xliff:g id="ID_1">%1$s</xliff:g> ဆဲလ်လူလာဒေတာ"</string>
+    <string name="wifi_data_template" msgid="501654649753761778">"<xliff:g id="ID_1">%1$s</xliff:g> ဝိုင်ဖိုင်ဒေတာ"</string>
+    <string name="ethernet_data_template" msgid="5775729859383597507">"<xliff:g id="ID_1">%1$s</xliff:g> အီတာနက်ဒေတာ"</string>
+    <string name="cell_warning_only" msgid="763147658209027140">"<xliff:g id="ID_1">%1$s</xliff:g> ဒေတာသတိပေးချက်"</string>
+    <string name="cell_warning_and_limit" msgid="2273413629267437470">"<xliff:g id="ID_1">%1$s</xliff:g> ဒေတာသတိပေးချက် / <xliff:g id="ID_2">%2$s</xliff:g> ဒေတာကန့်သတ်ချက်"</string>
+    <string name="billing_cycle" msgid="5169909190811133499">"ငွေတောင်းခ့မှု ကြားကာလ"</string>
+    <string name="billing_cycle_summary" msgid="9009106526129293752">"လစဉ်လည်ပတ်မှုသည် လတိုင်း၏ <xliff:g id="ID_1">%1$s</xliff:g> တွင်စတင်သည်"</string>
+    <string name="billing_cycle_fragment_summary" msgid="1940518156600077066">"လစဉ်အစ <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="network_restrictions" msgid="8234695294536675380">"ကွန်ရက် ကန့်သတ်ချက်များ"</string>
+    <string name="operator_warning" msgid="7206980278353372811">"ဖုန်းလိုင်းဒေတာတွက်ချက်မှုသည် သင့်စက်ပစ္စည်းမှ ကွာခြားနိုင်ပါသည်။"</string>
+    <string name="data_used_template" msgid="3245919669966296505">"<xliff:g id="ID_1">%1$s</xliff:g> အသုံးပြုထားသည်"</string>
+    <string name="data_warning" msgid="209133958008062117">"ဒေတာသတိပေးချက်"</string>
+    <string name="set_data_limit" msgid="2901526323210516923">"ဒေတာအကန့်အသတ် သတ်မှတ်ရန်"</string>
+    <string name="data_limit" msgid="1885406964934590552">"ဒေတာအကန့်အသတ်"</string>
+    <string name="data_usage_template" msgid="392191945602400904">"<xliff:g id="ID_1">%1$s</xliff:g> <xliff:g id="ID_2">%2$s</xliff:g> အကြားအသုံးပြုခဲ့သည်"</string>
+    <string name="configure" msgid="1029654422228677273">"ပြင်ဆင်သတ်မှတ်ရန်"</string>
 </resources>
diff --git a/res/values-nb/strings.xml b/res/values-nb/strings.xml
index 9a48813..62924e0 100644
--- a/res/values-nb/strings.xml
+++ b/res/values-nb/strings.xml
@@ -74,8 +74,7 @@
     <string name="sdcard_unmount" product="default" msgid="3364184561355611897">"Avmonter minnekort"</string>
     <string name="sdcard_format" product="nosdcard" msgid="6285310523155166716">"Slett USB-lagring"</string>
     <string name="sdcard_format" product="default" msgid="6713185532039187532">"Tøm SD-kort"</string>
-    <!-- no translation found for font_size_summary (133937309990844030) -->
-    <skip />
+    <string name="font_size_summary" msgid="133937309990844030">"Gjør teksten på skjermen større eller mindre."</string>
     <string name="small_font" msgid="2295331917424072635">"Liten"</string>
     <string name="medium_font" msgid="2068475425515133701">"Middels"</string>
     <string name="large_font" msgid="599055175160971446">"Stor"</string>
@@ -265,7 +264,8 @@
     <string name="roaming_disable" msgid="1295279574370898378">"Koble til datatjenester ved roaming"</string>
     <string name="roaming_reenable_message" msgid="9141007271031717369">"Du har mistet datatilkobling fordi du forlot hjemmenettet med dataroaming av."</string>
     <string name="roaming_turn_it_on_button" msgid="4387601818162120589">"Slå på"</string>
-    <string name="roaming_warning" msgid="7625933694709170887">"Å tillate roaming kan medføre høye datakostnader."</string>
+    <!-- no translation found for roaming_warning (4275443317524544705) -->
+    <skip />
     <string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"Når du tillater roaming, kan dette føre til høye datakostnader.\n\nDenne innstillingen påvirker alle brukerne på dette nettbrettet."</string>
     <string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"Når du tillater roaming, kan dette føre til høye datakostnader.\n\nDenne innstillingen påvirker alle brukerne på denne telefonen."</string>
     <string name="roaming_reenable_title" msgid="6068100976707316772">"Vil du tillate roaming?"</string>
@@ -1937,6 +1937,10 @@
     <string name="sync_is_failing" msgid="1591561768344128377">"Det er midlertidige problemer med synkroniseringen. Vent litt."</string>
     <string name="add_account_label" msgid="7811707265834013767">"Legg til konto"</string>
     <string name="managed_profile_not_available_label" msgid="852263300911325904">"Arbeidsprofilen er ikke tilgjengelig ennå"</string>
+    <!-- no translation found for work_mode_label (5794470908668593961) -->
+    <skip />
+    <!-- no translation found for work_mode_summary (1620246003886940776) -->
+    <skip />
     <string name="remove_managed_profile_label" msgid="3856519337797285325">"Fjern arbeidsprofilen"</string>
     <string name="background_data" msgid="5779592891375473817">"Bakgrunnsdata"</string>
     <string name="background_data_summary" msgid="8328521479872763452">"Apper kan når som helst synkronisere, sende og motta data"</string>
@@ -2754,8 +2758,7 @@
     <string name="camera_double_tap_power_gesture_desc" msgid="7355664631775680376">"Åpne kameraet raskt uten å låse opp skjermen"</string>
     <string name="screen_zoom_title" msgid="6332123593919641665">"Zoom på skjermen"</string>
     <string name="screen_zoom_keywords" msgid="9176477565403352552">"skjermtetthet, zoom på skjermen, skala, skalering"</string>
-    <!-- no translation found for screen_zoom_summary (2022973627105802010) -->
-    <skip />
+    <string name="screen_zoom_summary" msgid="2022973627105802010">"Gjør alt på skjermen større eller mindre. Enkelte apper på startskjermen kan skifte plassering hvis du endrer denne innstillingen."</string>
     <string name="screen_zoom_preview_title" msgid="4680671508172336572">"Forhåndsvisning"</string>
     <string name="screen_zoom_make_smaller_desc" msgid="4622359904253364742">"Gjør mindre"</string>
     <string name="screen_zoom_make_larger_desc" msgid="2236171043607896594">"Gjør større"</string>
@@ -2799,8 +2802,55 @@
     <string name="condition_cellular_summary" msgid="1818046558419658463">"Internett er bare tilgjengelig via Wi-Fi"</string>
     <string name="condition_bg_data_title" msgid="1422001615923482010">"Bakgrunnsdata er av"</string>
     <string name="condition_bg_data_summary" msgid="656957852895282228">"Bakgrunnsdata er bare tilgjengelig via Wi-Fi. Dette kan påvirke noen apper og tjenester når Wi-Fi ikke er tilgjengelig."</string>
+    <!-- no translation found for condition_work_title (7293722361184366648) -->
+    <skip />
+    <!-- no translation found for condition_work_summary (7543202177571590378) -->
+    <skip />
     <string name="suggestions_title" msgid="8758376306825920705">"Forslag (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
     <string name="suggestion_remove" msgid="904627293892092439">"Fjern"</string>
     <string name="color_temperature" msgid="2501579996151717270">"Vis fargetemperatur"</string>
     <string name="color_temperature_desc" msgid="3603319696846982249">"Slå på kjølig temeperatur"</string>
+    <!-- no translation found for usage (2977875522080448986) -->
+    <skip />
+    <!-- no translation found for cellular_data_usage (2763710678354680712) -->
+    <skip />
+    <!-- no translation found for wifi_data_usage (686754111095324306) -->
+    <skip />
+    <!-- no translation found for ethernet_data_usage (5108764537574354616) -->
+    <skip />
+    <string name="wifi" msgid="1081550856200013637">"Wi-Fi"</string>
+    <!-- no translation found for ethernet (6600095783781389720) -->
+    <skip />
+    <!-- no translation found for cell_data_template (3308709914705592281) -->
+    <skip />
+    <!-- no translation found for wifi_data_template (501654649753761778) -->
+    <skip />
+    <!-- no translation found for ethernet_data_template (5775729859383597507) -->
+    <skip />
+    <!-- no translation found for cell_warning_only (763147658209027140) -->
+    <skip />
+    <!-- no translation found for cell_warning_and_limit (2273413629267437470) -->
+    <skip />
+    <!-- no translation found for billing_cycle (5169909190811133499) -->
+    <skip />
+    <!-- no translation found for billing_cycle_summary (9009106526129293752) -->
+    <skip />
+    <!-- no translation found for billing_cycle_fragment_summary (1940518156600077066) -->
+    <skip />
+    <!-- no translation found for network_restrictions (8234695294536675380) -->
+    <skip />
+    <!-- no translation found for operator_warning (7206980278353372811) -->
+    <skip />
+    <!-- no translation found for data_used_template (3245919669966296505) -->
+    <skip />
+    <!-- no translation found for data_warning (209133958008062117) -->
+    <skip />
+    <!-- no translation found for set_data_limit (2901526323210516923) -->
+    <skip />
+    <!-- no translation found for data_limit (1885406964934590552) -->
+    <skip />
+    <!-- no translation found for data_usage_template (392191945602400904) -->
+    <skip />
+    <!-- no translation found for configure (1029654422228677273) -->
+    <skip />
 </resources>
diff --git a/res/values-ne-rNP/strings.xml b/res/values-ne-rNP/strings.xml
index d28b98e..7029a4c 100644
--- a/res/values-ne-rNP/strings.xml
+++ b/res/values-ne-rNP/strings.xml
@@ -81,9 +81,9 @@
     <string name="font_size_make_smaller_desc" msgid="7919995133365371569">"अझ सानो बनाउनुहोस्"</string>
     <string name="font_size_make_larger_desc" msgid="4316986572233686061">"अझ ठूलो बनाउनुहोस्"</string>
     <string name="font_size_preview_text_headline" msgid="7955317408475392247">"नमूना पाठ"</string>
-    <string name="font_size_preview_text_title" msgid="4762429961714563135">"बिस Thousand Leagues Under The Sea"</string>
+    <string name="font_size_preview_text_title" msgid="4762429961714563135">"Twenty Thousand Leagues Under The Sea"</string>
     <string name="font_size_preview_text_subtitle" msgid="5712012075615701561">"अध्याय २३: The Coral Kingdom"</string>
-    <string name="font_size_preview_text_body" msgid="1608889593334414309">"अर्को दिन म पूरै होसमा उठें। मैले आफूलाई आफ्नै कोठामा पाउँदा म चकित भएँ। मेरा साथीहरूले यसलाई मैले भन्दा बढी ग्रहण नगरी आफ्ना क्याबिनमा रहनु कुनै ठूलो कुरो होइन। बितेको रातमा के के भयो भनेर म जस्तै उनीहरू अपरिचित हुनु र यो राज पत्ता लगाउन मैले केवल भविष्यमा हुने सम्भावनाहरूको अनुमान लगाएँ।\nमैले त्यसपछि आफ्नो कोठा छोडने बिचार गरें। म फेरि स्वतन्त्र थिएँ वा बन्दी बनेर बसेको थिएँ? लगभग स्वतन्त्र। मैले ढोका खोलें, आधा डेकमा पुगें त्यसपछि मध्य सिढीमा गएँ। साँझ पहिला बन्द भएको प्यानलहरू खुलेका थिए। म प्लेटफार्ममा पुगें। \nनेड ल्यान्ड र कोन्सेलले मलाई त्यहाँ कुरेका थिए। मैले तिनीहरूलाई सोधें, तिनीहरूलाई पनि केही थाहा भएन। गहिरो निद्रामा परेका कारण तिनीहरू अचेत अवस्थामा पुगे, तिनीहरू सबैले आफूलाई क्याबिनमा पाउँदा आश्चर्यचकित भएका थिए।"</string>
+    <string name="font_size_preview_text_body" msgid="1608889593334414309">"अर्को दिन म पूरै होसमा उठें। मैले आफूलाई आफ्नै कोठामा पाउँदा म चकित भएँ। मेरा साथीहरूले यसलाई मैले भन्दा बढी ग्रहण नगरी आफ्ना क्याबिनमा रहनु कुनै ठूलो कुरो होइन। बितेको रातमा के के भयो भनेर म जस्तै उनीहरू अपरिचित हुनु र यो रहस्य पत्ता लगाउन मैले केवल भविष्यमा हुने सम्भावनाहरूको अनुमान लगाएँ।\nमैले त्यसपछि आफ्नो कोठा छोडने बिचार गरें। म फेरि स्वतन्त्र थिएँ वा बन्दी बनेर बसेको थिएँ? लगभग स्वतन्त्र। मैले ढोका खोलें, आधा डेकमा पुगें त्यसपछि मध्य सिढीमा गएँ। साँझ पहिला बन्द भएको प्यानलहरू खुलेका थिए। म प्लेटफार्ममा पुगें। \nनेड ल्यान्ड र कोन्सेलले मलाई त्यहाँ कुरेका थिए। मैले तिनीहरूलाई सोधें, तिनीहरूलाई पनि केही थाहा भएन। गहिरो निद्रामा परेका कारण तिनीहरू अचेत अवस्थामा पुगे, तिनीहरू सबैले आफूलाई क्याबिनमा पाउँदा आश्चर्यचकित भएका थिए।"</string>
     <string name="font_size_save" msgid="3450855718056759095">"ठीक छ"</string>
     <string name="sdcard_setting" product="nosdcard" msgid="8281011784066476192">"USB भण्डारण"</string>
     <string name="sdcard_setting" product="default" msgid="5922637503871474866">"SD कार्ड"</string>
@@ -264,7 +264,8 @@
     <string name="roaming_disable" msgid="1295279574370898378">"रोमिङ हुँदा डेटा सेवासँग जोड्नुहोस्"</string>
     <string name="roaming_reenable_message" msgid="9141007271031717369">"तपाईंले डेटा जडान गुमाउनुभयो किनभने तपाईंले गृह नेटवर्क डेटा रोमिङ बन्द गरेर छोड्नुभयो।"</string>
     <string name="roaming_turn_it_on_button" msgid="4387601818162120589">"सक्रिय पार्नुहोस्"</string>
-    <string name="roaming_warning" msgid="7625933694709170887">"जब तपाईँ डेटा रोमिङका लागि अनुमति दिनु हुन्छ, तपाईँले ठूलै मात्रामा रोमिङ शुल्क उठाउनु भएको हुन सक्छ!"</string>
+    <!-- no translation found for roaming_warning (4275443317524544705) -->
+    <skip />
     <string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"डेटा रोमिङलाई अनुमति दिँदा तपाईँलाई महत्त्वपूर्ण रोमिङ शुल्क लाग्न सक्छ ! \n \n यो सेटिङ प्रभाव यस ट्याब्लेटका सबै प्रयोगकर्तामा पर्छ।"</string>
     <string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"डेटा रोमिङलाई सक्रिय बनाउनु भयो भने तपाईँलाई ठूलै मात्रामा रोमिङ शुल्क पर्न सक्छ! \n \n यस सेटिङले यस फोनका सबै प्रयोगकर्ताहरूलाई प्रभाव पर्ने छ।"</string>
     <string name="roaming_reenable_title" msgid="6068100976707316772">"डेटा रोमिङको अनुमति दिनुहुन्छ?"</string>
@@ -1276,7 +1277,7 @@
     <string name="lock_settings_profile_unification_title" msgid="3130455578336894831">"एउटै स्क्रिनलक प्रयोग गर्नुहोस्"</string>
     <string name="lock_settings_profile_unification_summary" msgid="8014208091623293835">"कार्यको प्रोफाइलसँग मेल गराउन प्राथमिक प्रोफाइल परिवर्तन गर्नुहोस्"</string>
     <string name="lock_settings_profile_unification_dialog_title" msgid="5297248764066294130">"एउटै स्क्रिनलक प्रयोग गर्ने हो?"</string>
-    <string name="lock_settings_profile_unification_dialog_body" msgid="342417647696962745">"तपाईँ आफ्नो यन्त्रमा यो लक प्रयोग गर्न सक्नुहुन्छ तर यसले कार्यको प्रोफाइमा तपाईँको IT व्यवस्थापकले सेट गरेको सबै स्क्रिनलक सम्बन्धित नीतिहरू समावेश गर्छ।\nतपाईं आफ्नो यन्त्रमा त्यहि स्क्रिन लक प्रयोग गर्न चाहनुहुन्छ?"</string>
+    <string name="lock_settings_profile_unification_dialog_body" msgid="342417647696962745">"तपाईँ आफ्नो यन्त्रमा यो लक प्रयोग गर्न सक्नुहुन्छ तर यसले कार्यको प्रोफाइमा तपाईँको IT व्यवस्थापकले सेट गरेको सबै स्क्रिनलक सम्बन्धित नीतिहरू समावेश गर्छ।\nतपाईं आफ्नो यन्त्रमा त्यही स्क्रिन लक प्रयोग गर्न चाहनुहुन्छ?"</string>
     <string name="lock_settings_profile_unified_summary" msgid="237623767711796217">"तपाईँको यन्त्रको लक जस्तै"</string>
     <string name="manageapplications_settings_title" msgid="7041951105633616745">"अनुप्रयोगहरू व्यवस्थापन गर्नुहोस्"</string>
     <string name="manageapplications_settings_summary" msgid="1794401500935451259">"स्थापित अनुप्रयोगहरू प्रबन्ध गर्नुहोस् र हटाउनुहोस्"</string>
@@ -1936,6 +1937,10 @@
     <string name="sync_is_failing" msgid="1591561768344128377">"सिङ्कले अहिले समस्याहरू भोग्दै छ। यो तुरुन्तै आउने छ।"</string>
     <string name="add_account_label" msgid="7811707265834013767">"खाता थप गर्नुहोस्"</string>
     <string name="managed_profile_not_available_label" msgid="852263300911325904">"कार्य प्रोफाइल अझै उपलब्ध भएको छैन"</string>
+    <!-- no translation found for work_mode_label (5794470908668593961) -->
+    <skip />
+    <!-- no translation found for work_mode_summary (1620246003886940776) -->
+    <skip />
     <string name="remove_managed_profile_label" msgid="3856519337797285325">"कार्य प्रोफाइल हटाउनुहोस्"</string>
     <string name="background_data" msgid="5779592891375473817">"पृष्ठभूमि डेटा"</string>
     <string name="background_data_summary" msgid="8328521479872763452">"अनुप्रयोगहरूले कुनै पनि समयमा डेटा सिङ्क गर्न पठाउन र प्राप्त गर्न सक्दछन्"</string>
@@ -2797,8 +2802,55 @@
     <string name="condition_cellular_summary" msgid="1818046558419658463">"इन्टरनेट केवल Wi-Fi मार्फत मात्र उपलब्ध छ"</string>
     <string name="condition_bg_data_title" msgid="1422001615923482010">"पृष्ठभूमि डेटा निष्क्रिय छ"</string>
     <string name="condition_bg_data_summary" msgid="656957852895282228">"पृष्ठभूमि डेटा Wi-Fi मार्फत मात्र उपलब्ध छ। Wi-Fi उपलब्ध नहुँदा यसले केही अनुप्रयोग वा सेवाहरूलाई प्रभावित गर्न सक्नेछ।"</string>
+    <!-- no translation found for condition_work_title (7293722361184366648) -->
+    <skip />
+    <!-- no translation found for condition_work_summary (7543202177571590378) -->
+    <skip />
     <string name="suggestions_title" msgid="8758376306825920705">"सुझावहरू (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
     <string name="suggestion_remove" msgid="904627293892092439">"हटाउनुहोस्"</string>
     <string name="color_temperature" msgid="2501579996151717270">"रंगको तापमान प्रदर्शन गर्नुहोस्"</string>
     <string name="color_temperature_desc" msgid="3603319696846982249">"शीतल तापमान सक्रिय गर्नुहोस्"</string>
+    <!-- no translation found for usage (2977875522080448986) -->
+    <skip />
+    <!-- no translation found for cellular_data_usage (2763710678354680712) -->
+    <skip />
+    <!-- no translation found for wifi_data_usage (686754111095324306) -->
+    <skip />
+    <!-- no translation found for ethernet_data_usage (5108764537574354616) -->
+    <skip />
+    <string name="wifi" msgid="1081550856200013637">"वाइफाइ"</string>
+    <!-- no translation found for ethernet (6600095783781389720) -->
+    <skip />
+    <!-- no translation found for cell_data_template (3308709914705592281) -->
+    <skip />
+    <!-- no translation found for wifi_data_template (501654649753761778) -->
+    <skip />
+    <!-- no translation found for ethernet_data_template (5775729859383597507) -->
+    <skip />
+    <!-- no translation found for cell_warning_only (763147658209027140) -->
+    <skip />
+    <!-- no translation found for cell_warning_and_limit (2273413629267437470) -->
+    <skip />
+    <!-- no translation found for billing_cycle (5169909190811133499) -->
+    <skip />
+    <!-- no translation found for billing_cycle_summary (9009106526129293752) -->
+    <skip />
+    <!-- no translation found for billing_cycle_fragment_summary (1940518156600077066) -->
+    <skip />
+    <!-- no translation found for network_restrictions (8234695294536675380) -->
+    <skip />
+    <!-- no translation found for operator_warning (7206980278353372811) -->
+    <skip />
+    <!-- no translation found for data_used_template (3245919669966296505) -->
+    <skip />
+    <!-- no translation found for data_warning (209133958008062117) -->
+    <skip />
+    <!-- no translation found for set_data_limit (2901526323210516923) -->
+    <skip />
+    <!-- no translation found for data_limit (1885406964934590552) -->
+    <skip />
+    <!-- no translation found for data_usage_template (392191945602400904) -->
+    <skip />
+    <!-- no translation found for configure (1029654422228677273) -->
+    <skip />
 </resources>
diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml
index 5645e99..7b99439 100644
--- a/res/values-nl/strings.xml
+++ b/res/values-nl/strings.xml
@@ -264,7 +264,7 @@
     <string name="roaming_disable" msgid="1295279574370898378">"Verbinding maken met gegevensservices tijdens roaming"</string>
     <string name="roaming_reenable_message" msgid="9141007271031717369">"De gegevensverbinding is verbroken, omdat je je thuisnetwerk hebt verlaten terwijl gegevensroaming was uitgeschakeld."</string>
     <string name="roaming_turn_it_on_button" msgid="4387601818162120589">"Inschakelen"</string>
-    <string name="roaming_warning" msgid="7625933694709170887">"Wanneer je gegevensroaming toestaat, kunnen er hoge roamingkosten in rekening worden gebracht."</string>
+    <string name="roaming_warning" msgid="4275443317524544705">"Er kunnen hoge kosten in rekening worden gebracht."</string>
     <string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"Wanneer je gegevensroaming toestaat, kunnen er hoge roamingkosten in rekening worden gebracht.\n\nDeze instelling is van invloed op alle gebruikers van deze tablet."</string>
     <string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"Wanneer je gegevensroaming toestaat, kunnen er hoge roamingkosten in rekening worden gebracht.\n\nDeze instelling is van invloed op alle gebruikers van deze telefoon."</string>
     <string name="roaming_reenable_title" msgid="6068100976707316772">"Gegevensroaming toestaan?"</string>
@@ -1936,6 +1936,8 @@
     <string name="sync_is_failing" msgid="1591561768344128377">"Er zijn momenteel problemen met de synchronisatie. Synchronisatie wordt snel opnieuw uitgevoerd."</string>
     <string name="add_account_label" msgid="7811707265834013767">"Account toevoegen"</string>
     <string name="managed_profile_not_available_label" msgid="852263300911325904">"Werkprofiel is nog niet beschikbaar"</string>
+    <string name="work_mode_label" msgid="5794470908668593961">"Werkmodus"</string>
+    <string name="work_mode_summary" msgid="1620246003886940776">"Functioneren van werkprofiel toestaan, waaronder apps, synchronisatie op de achtergrond en gerelateerde functies"</string>
     <string name="remove_managed_profile_label" msgid="3856519337797285325">"Werkprofiel verwijderen"</string>
     <string name="background_data" msgid="5779592891375473817">"Achtergrondgegevens"</string>
     <string name="background_data_summary" msgid="8328521479872763452">"Onbeperkt gegevens synchroniseren, verzenden en ontvangen"</string>
@@ -2797,8 +2799,32 @@
     <string name="condition_cellular_summary" msgid="1818046558419658463">"Internet is alleen beschikbaar via wifi"</string>
     <string name="condition_bg_data_title" msgid="1422001615923482010">"Achtergrondgegevens uit"</string>
     <string name="condition_bg_data_summary" msgid="656957852895282228">"Achtergrondgegevens zijn alleen beschikbaar via wifi. Dit kan van invloed zijn op bepaalde apps of services wanneer er geen wifi beschikbaar is."</string>
+    <string name="condition_work_title" msgid="7293722361184366648">"Werkprofiel is uitgeschakeld"</string>
+    <string name="condition_work_summary" msgid="7543202177571590378">"Apps, synchronisatie op de achtergrond en andere functies met betrekking tot je werkprofiel worden uitgeschakeld."</string>
     <string name="suggestions_title" msgid="8758376306825920705">"Suggesties (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
     <string name="suggestion_remove" msgid="904627293892092439">"Verwijderen"</string>
     <string name="color_temperature" msgid="2501579996151717270">"Kleurtemperatuur van display"</string>
     <string name="color_temperature_desc" msgid="3603319696846982249">"Koele temperatuur inschakelen"</string>
+    <string name="usage" msgid="2977875522080448986">"Gebruik"</string>
+    <string name="cellular_data_usage" msgid="2763710678354680712">"Mobiele-datagebruik"</string>
+    <string name="wifi_data_usage" msgid="686754111095324306">"Wifi-datagebruik"</string>
+    <string name="ethernet_data_usage" msgid="5108764537574354616">"Ethernet-datagebruik"</string>
+    <string name="wifi" msgid="1081550856200013637">"Wifi"</string>
+    <string name="ethernet" msgid="6600095783781389720">"Ethernet"</string>
+    <string name="cell_data_template" msgid="3308709914705592281">"<xliff:g id="ID_1">%1$s</xliff:g> mobiele data"</string>
+    <string name="wifi_data_template" msgid="501654649753761778">"<xliff:g id="ID_1">%1$s</xliff:g> wifi-data"</string>
+    <string name="ethernet_data_template" msgid="5775729859383597507">"<xliff:g id="ID_1">%1$s</xliff:g> Ethernet-data"</string>
+    <string name="cell_warning_only" msgid="763147658209027140">"<xliff:g id="ID_1">%1$s</xliff:g> datawaarschuwing"</string>
+    <string name="cell_warning_and_limit" msgid="2273413629267437470">"<xliff:g id="ID_1">%1$s</xliff:g> datawaarschuwing / <xliff:g id="ID_2">%2$s</xliff:g> datalimiet"</string>
+    <string name="billing_cycle" msgid="5169909190811133499">"Betalingscyclus"</string>
+    <string name="billing_cycle_summary" msgid="9009106526129293752">"De maandelijkse cyclus start op de <xliff:g id="ID_1">%1$s</xliff:g> van elke maand"</string>
+    <string name="billing_cycle_fragment_summary" msgid="1940518156600077066">"Maandelijks vanaf <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="network_restrictions" msgid="8234695294536675380">"Netwerkbeperkingen"</string>
+    <string name="operator_warning" msgid="7206980278353372811">"De door de provider berekende data kunnen afwijken van die van je apparaat."</string>
+    <string name="data_used_template" msgid="3245919669966296505">"<xliff:g id="ID_1">%1$s</xliff:g> gebruikt"</string>
+    <string name="data_warning" msgid="209133958008062117">"Datawaarschuwing"</string>
+    <string name="set_data_limit" msgid="2901526323210516923">"Datalimiet instellen"</string>
+    <string name="data_limit" msgid="1885406964934590552">"Datalimiet"</string>
+    <string name="data_usage_template" msgid="392191945602400904">"<xliff:g id="ID_1">%1$s</xliff:g> gebruikt tussen <xliff:g id="ID_2">%2$s</xliff:g>"</string>
+    <string name="configure" msgid="1029654422228677273">"Configureren"</string>
 </resources>
diff --git a/res/values-pa-rIN/strings.xml b/res/values-pa-rIN/strings.xml
index 9f4c92b..eea9f21 100644
--- a/res/values-pa-rIN/strings.xml
+++ b/res/values-pa-rIN/strings.xml
@@ -264,7 +264,7 @@
     <string name="roaming_disable" msgid="1295279574370898378">"ਰੋਮਿੰਗ ਵੇਲੇ ਡਾਟਾ ਸੇਵਾਵਾਂ ਨਾਲ ਕਨੈਕਟ ਕਰੋ"</string>
     <string name="roaming_reenable_message" msgid="9141007271031717369">"ਤੁਹਾਡੀ ਡਾਟਾ ਕਨੈਕਟੀਵਿਟੀ ਨਸ਼ਟ ਹੋ ਗਈ ਹੈ ਕਿਉਂਕਿ ਤੁਸੀਂ ਆਪਣਾ ਡਾਟਾ ਰੋਮਿੰਗ ਬੰਦ ਨਾਲ ਹੋਮ ਨੈਟਵਰਕ ਛੱਡ ਦਿੱਤਾ ਸੀ।"</string>
     <string name="roaming_turn_it_on_button" msgid="4387601818162120589">"ਇਸਤੇ ਚਾਲੂ ਕਰੋ"</string>
-    <string name="roaming_warning" msgid="7625933694709170887">"ਜਦੋਂ ਤੁਸੀਂ ਡਾਟਾ ਰੋਮਿੰਗ ਦੀ ਆਗਿਆ ਦਿੰਦੇ ਹੋ, ਤਾਂ ਤੁਹਾਨੂੰ ਖ਼ਾਸ ਰੋਮਿੰਗ ਖ਼ਰਚੇ ਪੈ ਸਕਦੇ ਹਨ!"</string>
+    <string name="roaming_warning" msgid="4275443317524544705">"ਤੁਹਾਨੂੰ ਵਾਧੂ ਚਾਰਜ ਦੇਣਾ ਪੈ ਸਕਦਾ ਹੈ"</string>
     <string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"ਜਦੋਂ ਤੁਸੀਂ ਡਾਟਾ ਰੋਮਿੰਗ ਦੀ ਆਗਿਆ ਦਿੰਦੇ ਹੋ, ਤਾਂ ਤੁਹਾਨੂੰ ਖ਼ਾਸ ਰੋਮਿੰਗ ਖ਼ਰਚੇ ਪੈ ਸਕਦੇ ਹਨ!\n\nਇਹ ਸੈਟਿੰਗ ਇਸ ਟੈਬਲੇਟ ਦੇ ਸਾਰੇ ਉਪਭੋਗਤਾਵਾਂ ਤੇ ਅਸਰ ਪਾਉਂਦੀ ਹੈ।"</string>
     <string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"ਜਦੋਂ ਤੁਸੀਂ ਡਾਟਾ ਰੋਮਿੰਗ ਦੀ ਆਗਿਆ ਦਿੰਦੇ ਹੋ, ਤਾਂ ਤੁਹਾਨੂੰ ਖ਼ਾਸ ਰੋਮਿੰਗ ਖ਼ਰਚੇ ਪੈ ਸਕਦੇ ਹਨ!\n\nਇਹ ਸੈਟਿੰਗ ਇਸ ਫੋਨ ਦੇ ਸਾਰੇ ਉਪਭੋਗਤਾਵਾਂ ਤੇ ਅਸਰ ਪਾਉਂਦੀ ਹੈ।"</string>
     <string name="roaming_reenable_title" msgid="6068100976707316772">"ਕੀ ਡਾਟਾ ਰੋਮਿੰਗ ਦੀ ਆਗਿਆ ਦੇਣੀ ਹੈ?"</string>
@@ -1936,6 +1936,8 @@
     <string name="sync_is_failing" msgid="1591561768344128377">"ਸਿੰਕ ਵਿੱਚ ਇਸ ਵੇਲੇ ਸਮੱਸਿਆਵਾਂ ਹੋ ਰਹੀਆਂ ਹਨ। ਇਹ ਜਲਦੀ ਹੀ ਠੀਕ ਹੋ ਜਾਏਗਾ।"</string>
     <string name="add_account_label" msgid="7811707265834013767">"ਖਾਤਾ ਜੋੜੋ"</string>
     <string name="managed_profile_not_available_label" msgid="852263300911325904">"ਕੰਮ ਪ੍ਰੋਫਾਈਲ ਅਜੇ ਉਪਲਬਧ ਨਹੀਂ ਹੈ"</string>
+    <string name="work_mode_label" msgid="5794470908668593961">"ਕੰਮ ਮੋਡ"</string>
+    <string name="work_mode_summary" msgid="1620246003886940776">"ਐਪਾਂ, ਬੈਕਗ੍ਰਾਊਂਡ ਸਮਕਾਲੀਕਰਨ, ਅਤੇ ਸਬੰਧਿਤ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਸ਼ਾਮਲ ਕਰਦੇ ਹੋਏ ਕੰਮ ਪ੍ਰੋਫਾਈਲ ਨੂੰ ਕੰਮ ਕਰਨ ਦੀ ਮਨਜ਼ੂਰੀ ਦਿਓ"</string>
     <string name="remove_managed_profile_label" msgid="3856519337797285325">"ਕੰਮ ਪ੍ਰੋਫਾਈਲ ਹਟਾਓ"</string>
     <string name="background_data" msgid="5779592891375473817">"ਪਿਛੋਕੜ ਡਾਟਾ"</string>
     <string name="background_data_summary" msgid="8328521479872763452">"ਐਪਸ ਕਿਸੇ ਵੀ ਸਮੇਂ ਡਾਟਾ ਸਿੰਕ ਕਰ ਸਕਦੇ ਹਨ, ਭੇਜ ਅਤੇ ਪ੍ਰਾਪਤ ਕਰ ਸਕਦੇ ਹਨ"</string>
@@ -2797,8 +2799,32 @@
     <string name="condition_cellular_summary" msgid="1818046558419658463">"ਇੰਟਰਨੈੱਟ ਸਿਰਫ਼ Wi-Fi ਰਾਹੀਂ ਹੀ ਉਪਲਬਧ ਹੈ"</string>
     <string name="condition_bg_data_title" msgid="1422001615923482010">"ਬੈਕਗ੍ਰਾਊਂਡ ਡੈਟਾ ਬੰਦ ਹੈ"</string>
     <string name="condition_bg_data_summary" msgid="656957852895282228">"ਬੈਕਗ੍ਰਾਊਂਡ ਡੈਟਾ ਸਿਰਫ਼ Wi-Fi ਰਾਹੀਂ ਉਪਲਬਧ ਹੈ। Wi-Fi ਉਪਲਬਧ ਨਾ ਹੋਣ \'ਤੇ ਇਹ ਕੁਝ ਐਪਾਂ ਜਾਂ ਸੇਵਾਵਾਂ \'ਤੇ ਅਸਰ ਪਾ ਸਕਦਾ ਹੈ।"</string>
+    <string name="condition_work_title" msgid="7293722361184366648">"ਕੰਮ ਪ੍ਰੋਫਾਈਲ ਬੰਦ ਹੈ"</string>
+    <string name="condition_work_summary" msgid="7543202177571590378">"ਤੁਹਾਡੀ ਕੰਮ ਪ੍ਰੋਫਾਈਲ ਨਾਲ ਸਬੰਧਿਤ ਐਪਾਂ, ਬੈਕਗ੍ਰਾਊਂਡ ਸਮਕਾਲੀਕਰਨ, ਅਤੇ ਹੋਰ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਬੰਦ ਹਨ।"</string>
     <string name="suggestions_title" msgid="8758376306825920705">"ਸੁਝਾਅ (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
     <string name="suggestion_remove" msgid="904627293892092439">"ਹਟਾਓ"</string>
     <string name="color_temperature" msgid="2501579996151717270">"ਰੰਗ ਤਾਪਮਾਨ ਵਿਖਾਓ"</string>
     <string name="color_temperature_desc" msgid="3603319696846982249">"ਠੰਡਾ ਤਾਪਮਾਨ ਯੋਗ ਬਣਾਓ"</string>
+    <string name="usage" msgid="2977875522080448986">"ਵਰਤੋਂ"</string>
+    <string name="cellular_data_usage" msgid="2763710678354680712">"ਸੈਲਿਊਲਰ ਡੈਟਾ ਵਰਤੋਂ"</string>
+    <string name="wifi_data_usage" msgid="686754111095324306">"Wi-Fi ਡੈਟਾ ਵਰਤੋਂ"</string>
+    <string name="ethernet_data_usage" msgid="5108764537574354616">"ਈਥਰਨੈੱਟ ਡੈਟਾ ਵਰਤੋਂ"</string>
+    <string name="wifi" msgid="1081550856200013637">"Wi-Fi"</string>
+    <string name="ethernet" msgid="6600095783781389720">"ਈਥਰਨੈੱਟ"</string>
+    <string name="cell_data_template" msgid="3308709914705592281">"<xliff:g id="ID_1">%1$s</xliff:g> ਸੈਲਿਊਲਰ ਡੈਟਾ"</string>
+    <string name="wifi_data_template" msgid="501654649753761778">"<xliff:g id="ID_1">%1$s</xliff:g> Wi-Fi ਡੈਟਾ"</string>
+    <string name="ethernet_data_template" msgid="5775729859383597507">"<xliff:g id="ID_1">%1$s</xliff:g> ਈਥਰਨੈੱਟ ਡੈਟਾ"</string>
+    <string name="cell_warning_only" msgid="763147658209027140">"<xliff:g id="ID_1">%1$s</xliff:g> ਡੈਟਾ ਚੇਤਾਵਨੀ"</string>
+    <string name="cell_warning_and_limit" msgid="2273413629267437470">"<xliff:g id="ID_1">%1$s</xliff:g> ਡੈਟਾ ਚੇਤਾਵਨੀ / <xliff:g id="ID_2">%2$s</xliff:g> ਡੈਟਾ ਸੀਮਾ"</string>
+    <string name="billing_cycle" msgid="5169909190811133499">"ਬਿਲਿੰਗ ਚੱਕਰ"</string>
+    <string name="billing_cycle_summary" msgid="9009106526129293752">"ਮਹੀਨਾਵਾਰ ਚੱਕਰ ਹਰ ਮਹੀਨੇ ਦੇ <xliff:g id="ID_1">%1$s</xliff:g> ਨੂੰ ਸ਼ੁਰੂ ਹੁੰਦਾ ਹੈ"</string>
+    <string name="billing_cycle_fragment_summary" msgid="1940518156600077066">"<xliff:g id="ID_1">%1$s</xliff:g> ਤੋਂ ਮਹੀਨਾਵਾਰ ਤੌਰ \'ਤੇ ਸ਼ੁਰੂ"</string>
+    <string name="network_restrictions" msgid="8234695294536675380">"ਨੈੱਟਵਰਕ ਪਾਬੰਦੀਆਂ"</string>
+    <string name="operator_warning" msgid="7206980278353372811">"ਕੈਰੀਅਰ ਡੈਟੇ ਦਾ ਲੇਖਾ ਤੁਹਾਡੀ ਡੀਵਾਈਸ ਤੋਂ ਵੱਖਰਾ ਹੋ ਸਕਦਾ ਹੈ।"</string>
+    <string name="data_used_template" msgid="3245919669966296505">"<xliff:g id="ID_1">%1$s</xliff:g> ਵਰਤਿਆ"</string>
+    <string name="data_warning" msgid="209133958008062117">"ਡੈਟਾ ਚੇਤਾਵਨੀ"</string>
+    <string name="set_data_limit" msgid="2901526323210516923">"ਡੈਟਾ ਸੀਮਾ ਸੈੱਟ ਕਰੋ"</string>
+    <string name="data_limit" msgid="1885406964934590552">"ਡੈਟਾ ਸੀਮਾ"</string>
+    <string name="data_usage_template" msgid="392191945602400904">"<xliff:g id="ID_2">%2$s</xliff:g> ਦੌਰਾਨ <xliff:g id="ID_1">%1$s</xliff:g> ਵਰਤਿਆ ਗਿਆ"</string>
+    <string name="configure" msgid="1029654422228677273">"ਸੰਰੂਪਣ ਕਰੋ"</string>
 </resources>
diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml
index e955a27..16563ab 100644
--- a/res/values-pl/strings.xml
+++ b/res/values-pl/strings.xml
@@ -76,8 +76,7 @@
     <string name="sdcard_unmount" product="default" msgid="3364184561355611897">"Odłącz kartę SD"</string>
     <string name="sdcard_format" product="nosdcard" msgid="6285310523155166716">"Wyczyść nośnik USB"</string>
     <string name="sdcard_format" product="default" msgid="6713185532039187532">"Wymaż kartę SD"</string>
-    <!-- no translation found for font_size_summary (133937309990844030) -->
-    <skip />
+    <string name="font_size_summary" msgid="133937309990844030">"Powiększ lub pomniejsz tekst na ekranie."</string>
     <string name="small_font" msgid="2295331917424072635">"Mały"</string>
     <string name="medium_font" msgid="2068475425515133701">"Średni"</string>
     <string name="large_font" msgid="599055175160971446">"Duży"</string>
@@ -267,7 +266,8 @@
     <string name="roaming_disable" msgid="1295279574370898378">"Połącz z usługami transmisji danych w roamingu"</string>
     <string name="roaming_reenable_message" msgid="9141007271031717369">"Połączenie transmisji danych zostało utracone, ponieważ opuszczono sieć macierzystą przy wyłączonej opcji danych w roamingu."</string>
     <string name="roaming_turn_it_on_button" msgid="4387601818162120589">"Włącz"</string>
-    <string name="roaming_warning" msgid="7625933694709170887">"Z zezwoleniem na roaming danych mogą się wiązać wysokie opłaty roamingowe."</string>
+    <!-- no translation found for roaming_warning (4275443317524544705) -->
+    <skip />
     <string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"Po zezwoleniu na przesyłanie danych w roamingu mogą zostać naliczone znaczne opłaty za roaming.\n\nTo ustawienie obowiązuje wszystkich użytkowników tego tabletu."</string>
     <string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"Po zezwoleniu na przesyłanie danych w roamingu mogą zostać naliczone znaczne opłaty za roaming.\n\nTo ustawienie obowiązuje wszystkich użytkowników tego telefonu."</string>
     <string name="roaming_reenable_title" msgid="6068100976707316772">"Zezwalać na roaming danych?"</string>
@@ -1969,6 +1969,10 @@
     <string name="sync_is_failing" msgid="1591561768344128377">"W tej chwili występują problemy z synchronizacją. Synchronizacja będzie możliwa wkrótce."</string>
     <string name="add_account_label" msgid="7811707265834013767">"Dodaj konto"</string>
     <string name="managed_profile_not_available_label" msgid="852263300911325904">"Profil do pracy nie jest jeszcze dostępny"</string>
+    <!-- no translation found for work_mode_label (5794470908668593961) -->
+    <skip />
+    <!-- no translation found for work_mode_summary (1620246003886940776) -->
+    <skip />
     <string name="remove_managed_profile_label" msgid="3856519337797285325">"Usuń profil do pracy"</string>
     <string name="background_data" msgid="5779592891375473817">"Dane w tle"</string>
     <string name="background_data_summary" msgid="8328521479872763452">"Aplikacje zawsze mogą synchronizować, wysyłać i odbierać dane."</string>
@@ -2804,8 +2808,7 @@
     <string name="camera_double_tap_power_gesture_desc" msgid="7355664631775680376">"Szybko uruchom aparat bez odblokowywania ekranu"</string>
     <string name="screen_zoom_title" msgid="6332123593919641665">"Powiększenie ekranu"</string>
     <string name="screen_zoom_keywords" msgid="9176477565403352552">"wyświetlacz, gęstość, powiększenie ekranu, skala, skalowanie"</string>
-    <!-- no translation found for screen_zoom_summary (2022973627105802010) -->
-    <skip />
+    <string name="screen_zoom_summary" msgid="2022973627105802010">"Powiększ lub pomniejsz wszystkie elementy na ekranie. Po zmianie tego ustawienia niektóre aplikacje na ekranie głównym mogą przesunąć się w inne miejsce."</string>
     <string name="screen_zoom_preview_title" msgid="4680671508172336572">"Podgląd"</string>
     <string name="screen_zoom_make_smaller_desc" msgid="4622359904253364742">"Pomniejsz"</string>
     <string name="screen_zoom_make_larger_desc" msgid="2236171043607896594">"Powiększ"</string>
@@ -2849,8 +2852,55 @@
     <string name="condition_cellular_summary" msgid="1818046558419658463">"Internet jest dostępny tylko przez Wi-Fi"</string>
     <string name="condition_bg_data_title" msgid="1422001615923482010">"Dane w tle są wyłączone"</string>
     <string name="condition_bg_data_summary" msgid="656957852895282228">"Przesyłanie danych w tle działa tylko wtedy, gdy masz połączenie z Wi-Fi. Może to mieć wpływ na niektóre aplikacje i usługi, gdy sieć Wi-Fi jest niedostępna."</string>
+    <!-- no translation found for condition_work_title (7293722361184366648) -->
+    <skip />
+    <!-- no translation found for condition_work_summary (7543202177571590378) -->
+    <skip />
     <string name="suggestions_title" msgid="8758376306825920705">"Sugestie (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
     <string name="suggestion_remove" msgid="904627293892092439">"Usuń"</string>
     <string name="color_temperature" msgid="2501579996151717270">"Temperatura kolorów wyświetlacza"</string>
     <string name="color_temperature_desc" msgid="3603319696846982249">"Włącz zimne kolory"</string>
+    <!-- no translation found for usage (2977875522080448986) -->
+    <skip />
+    <!-- no translation found for cellular_data_usage (2763710678354680712) -->
+    <skip />
+    <!-- no translation found for wifi_data_usage (686754111095324306) -->
+    <skip />
+    <!-- no translation found for ethernet_data_usage (5108764537574354616) -->
+    <skip />
+    <string name="wifi" msgid="1081550856200013637">"Wi-Fi"</string>
+    <!-- no translation found for ethernet (6600095783781389720) -->
+    <skip />
+    <!-- no translation found for cell_data_template (3308709914705592281) -->
+    <skip />
+    <!-- no translation found for wifi_data_template (501654649753761778) -->
+    <skip />
+    <!-- no translation found for ethernet_data_template (5775729859383597507) -->
+    <skip />
+    <!-- no translation found for cell_warning_only (763147658209027140) -->
+    <skip />
+    <!-- no translation found for cell_warning_and_limit (2273413629267437470) -->
+    <skip />
+    <!-- no translation found for billing_cycle (5169909190811133499) -->
+    <skip />
+    <!-- no translation found for billing_cycle_summary (9009106526129293752) -->
+    <skip />
+    <!-- no translation found for billing_cycle_fragment_summary (1940518156600077066) -->
+    <skip />
+    <!-- no translation found for network_restrictions (8234695294536675380) -->
+    <skip />
+    <!-- no translation found for operator_warning (7206980278353372811) -->
+    <skip />
+    <!-- no translation found for data_used_template (3245919669966296505) -->
+    <skip />
+    <!-- no translation found for data_warning (209133958008062117) -->
+    <skip />
+    <!-- no translation found for set_data_limit (2901526323210516923) -->
+    <skip />
+    <!-- no translation found for data_limit (1885406964934590552) -->
+    <skip />
+    <!-- no translation found for data_usage_template (392191945602400904) -->
+    <skip />
+    <!-- no translation found for configure (1029654422228677273) -->
+    <skip />
 </resources>
diff --git a/res/values-pt-rBR/strings.xml b/res/values-pt-rBR/strings.xml
index 3297a94..2a6b74e 100644
--- a/res/values-pt-rBR/strings.xml
+++ b/res/values-pt-rBR/strings.xml
@@ -74,8 +74,7 @@
     <string name="sdcard_unmount" product="default" msgid="3364184561355611897">"Desmontar cartão SD"</string>
     <string name="sdcard_format" product="nosdcard" msgid="6285310523155166716">"Apagar armazenamento USB"</string>
     <string name="sdcard_format" product="default" msgid="6713185532039187532">"Apagar cartão SD"</string>
-    <!-- no translation found for font_size_summary (133937309990844030) -->
-    <skip />
+    <string name="font_size_summary" msgid="133937309990844030">"Tornar o texto na tela menor ou maior."</string>
     <string name="small_font" msgid="2295331917424072635">"Pequena"</string>
     <string name="medium_font" msgid="2068475425515133701">"Médio"</string>
     <string name="large_font" msgid="599055175160971446">"Grande"</string>
@@ -265,7 +264,8 @@
     <string name="roaming_disable" msgid="1295279574370898378">"Conectar aos serviços de dados quando estiver em roaming"</string>
     <string name="roaming_reenable_message" msgid="9141007271031717369">"Você perdeu a conectividade de dados porque deixou o roaming de dados da sua rede doméstica desativado."</string>
     <string name="roaming_turn_it_on_button" msgid="4387601818162120589">"Ativar"</string>
-    <string name="roaming_warning" msgid="7625933694709170887">"Quando você permite o roaming de dados, poderão ser cobradas taxas significativas de roaming!"</string>
+    <!-- no translation found for roaming_warning (4275443317524544705) -->
+    <skip />
     <string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"Ao permitir o roaming de dados, você poderá receber cobranças significativas de roaming.\n\nEsta configuração afeta todos os usuários do tablet."</string>
     <string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"Ao permitir o roaming de dados, você poderá receber cobranças significativas de roaming.\n\nEsta configuração afeta todos os usuários do telefone."</string>
     <string name="roaming_reenable_title" msgid="6068100976707316772">"Permitir roaming de dados?"</string>
@@ -1937,6 +1937,10 @@
     <string name="sync_is_failing" msgid="1591561768344128377">"A sincronização está enfrentando problemas no momento. Ela retornará em breve."</string>
     <string name="add_account_label" msgid="7811707265834013767">"Adicionar conta"</string>
     <string name="managed_profile_not_available_label" msgid="852263300911325904">"Perfil de trabalho ainda indisponível"</string>
+    <!-- no translation found for work_mode_label (5794470908668593961) -->
+    <skip />
+    <!-- no translation found for work_mode_summary (1620246003886940776) -->
+    <skip />
     <string name="remove_managed_profile_label" msgid="3856519337797285325">"Remover perfil de trabalho"</string>
     <string name="background_data" msgid="5779592891375473817">"Dados de segundo plano"</string>
     <string name="background_data_summary" msgid="8328521479872763452">"Aplicat. sincronizam, enviam e recebem dados a qualquer hora"</string>
@@ -2754,8 +2758,7 @@
     <string name="camera_double_tap_power_gesture_desc" msgid="7355664631775680376">"Abrir a câmera rapidamente sem desbloquear a tela"</string>
     <string name="screen_zoom_title" msgid="6332123593919641665">"Zoom da tela"</string>
     <string name="screen_zoom_keywords" msgid="9176477565403352552">"densidade de exibição, zoom da tela, escala, dimensionamento"</string>
-    <!-- no translation found for screen_zoom_summary (2022973627105802010) -->
-    <skip />
+    <string name="screen_zoom_summary" msgid="2022973627105802010">"Tornar todos os itens na tela menores ou maiores. É possível que alguns apps na sua tela inicial mudem de posição após a alteração desta configuração."</string>
     <string name="screen_zoom_preview_title" msgid="4680671508172336572">"Visualização"</string>
     <string name="screen_zoom_make_smaller_desc" msgid="4622359904253364742">"Tornar menor"</string>
     <string name="screen_zoom_make_larger_desc" msgid="2236171043607896594">"Tornar maior"</string>
@@ -2799,8 +2802,55 @@
     <string name="condition_cellular_summary" msgid="1818046558419658463">"A Internet está disponível apenas via Wi-Fi"</string>
     <string name="condition_bg_data_title" msgid="1422001615923482010">"Dados em segundo plano desativados"</string>
     <string name="condition_bg_data_summary" msgid="656957852895282228">"Os dados em segundo plano estão disponíveis apenas via Wi-Fi. Isso poderá afetar alguns apps ou serviços quando o Wi-Fi não estiver disponível."</string>
+    <!-- no translation found for condition_work_title (7293722361184366648) -->
+    <skip />
+    <!-- no translation found for condition_work_summary (7543202177571590378) -->
+    <skip />
     <string name="suggestions_title" msgid="8758376306825920705">"Sugestões (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
     <string name="suggestion_remove" msgid="904627293892092439">"Remover"</string>
     <string name="color_temperature" msgid="2501579996151717270">"Temperatura da cor da tela"</string>
     <string name="color_temperature_desc" msgid="3603319696846982249">"Ativar temperatura fria"</string>
+    <!-- no translation found for usage (2977875522080448986) -->
+    <skip />
+    <!-- no translation found for cellular_data_usage (2763710678354680712) -->
+    <skip />
+    <!-- no translation found for wifi_data_usage (686754111095324306) -->
+    <skip />
+    <!-- no translation found for ethernet_data_usage (5108764537574354616) -->
+    <skip />
+    <string name="wifi" msgid="1081550856200013637">"Wi-Fi"</string>
+    <!-- no translation found for ethernet (6600095783781389720) -->
+    <skip />
+    <!-- no translation found for cell_data_template (3308709914705592281) -->
+    <skip />
+    <!-- no translation found for wifi_data_template (501654649753761778) -->
+    <skip />
+    <!-- no translation found for ethernet_data_template (5775729859383597507) -->
+    <skip />
+    <!-- no translation found for cell_warning_only (763147658209027140) -->
+    <skip />
+    <!-- no translation found for cell_warning_and_limit (2273413629267437470) -->
+    <skip />
+    <!-- no translation found for billing_cycle (5169909190811133499) -->
+    <skip />
+    <!-- no translation found for billing_cycle_summary (9009106526129293752) -->
+    <skip />
+    <!-- no translation found for billing_cycle_fragment_summary (1940518156600077066) -->
+    <skip />
+    <!-- no translation found for network_restrictions (8234695294536675380) -->
+    <skip />
+    <!-- no translation found for operator_warning (7206980278353372811) -->
+    <skip />
+    <!-- no translation found for data_used_template (3245919669966296505) -->
+    <skip />
+    <!-- no translation found for data_warning (209133958008062117) -->
+    <skip />
+    <!-- no translation found for set_data_limit (2901526323210516923) -->
+    <skip />
+    <!-- no translation found for data_limit (1885406964934590552) -->
+    <skip />
+    <!-- no translation found for data_usage_template (392191945602400904) -->
+    <skip />
+    <!-- no translation found for configure (1029654422228677273) -->
+    <skip />
 </resources>
diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml
index d161199..7da3b24 100644
--- a/res/values-pt-rPT/strings.xml
+++ b/res/values-pt-rPT/strings.xml
@@ -74,8 +74,7 @@
     <string name="sdcard_unmount" product="default" msgid="3364184561355611897">"Desmontar cartão SD"</string>
     <string name="sdcard_format" product="nosdcard" msgid="6285310523155166716">"Apagar armazenamento USB"</string>
     <string name="sdcard_format" product="default" msgid="6713185532039187532">"Apagar cartão SD"</string>
-    <!-- no translation found for font_size_summary (133937309990844030) -->
-    <skip />
+    <string name="font_size_summary" msgid="133937309990844030">"Aumentar ou diminuir o texto no ecrã."</string>
     <string name="small_font" msgid="2295331917424072635">"Pequeno"</string>
     <string name="medium_font" msgid="2068475425515133701">"Médio"</string>
     <string name="large_font" msgid="599055175160971446">"Grande"</string>
@@ -265,7 +264,8 @@
     <string name="roaming_disable" msgid="1295279574370898378">"Ligar a serviços de dados em roaming"</string>
     <string name="roaming_reenable_message" msgid="9141007271031717369">"A ligação de dados foi perdida porque saiu do alcance da sua rede e o roaming de dados estava desactivado."</string>
     <string name="roaming_turn_it_on_button" msgid="4387601818162120589">"Ligar"</string>
-    <string name="roaming_warning" msgid="7625933694709170887">"Ao permitir o roaming de dados, poderão ser cobrados custos de roaming significativos!"</string>
+    <!-- no translation found for roaming_warning (4275443317524544705) -->
+    <skip />
     <string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"Ao permitir o roaming de dados, podem ser cobradas tarifas de roaming significativas!\n\nEsta definição afeta todos os utilizadores deste tablet."</string>
     <string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"Ao permitir o roaming de dados, podem ser cobradas tarifas de roaming significativas!\n\nEsta definição afeta todos os utilizadores deste telemóvel."</string>
     <string name="roaming_reenable_title" msgid="6068100976707316772">"Permitir roaming de dados?"</string>
@@ -1937,6 +1937,10 @@
     <string name="sync_is_failing" msgid="1591561768344128377">"A sincronização está atualmente com problemas e será retomada em breve."</string>
     <string name="add_account_label" msgid="7811707265834013767">"Adicionar conta"</string>
     <string name="managed_profile_not_available_label" msgid="852263300911325904">"O perfil de trabalho ainda não está disponível"</string>
+    <!-- no translation found for work_mode_label (5794470908668593961) -->
+    <skip />
+    <!-- no translation found for work_mode_summary (1620246003886940776) -->
+    <skip />
     <string name="remove_managed_profile_label" msgid="3856519337797285325">"Remover perfil de trabalho"</string>
     <string name="background_data" msgid="5779592891375473817">"Dados em segundo plano"</string>
     <string name="background_data_summary" msgid="8328521479872763452">"As aplicações podem sincronizar, enviar e receber dados em qualquer altura"</string>
@@ -2754,8 +2758,7 @@
     <string name="camera_double_tap_power_gesture_desc" msgid="7355664631775680376">"Abrir rapidamente a câmara sem desbloquear o ecrã"</string>
     <string name="screen_zoom_title" msgid="6332123593919641665">"Zoom do ecrã"</string>
     <string name="screen_zoom_keywords" msgid="9176477565403352552">"densidade de apresentação, zoom do ecrã, escala, dimensionamento"</string>
-    <!-- no translation found for screen_zoom_summary (2022973627105802010) -->
-    <skip />
+    <string name="screen_zoom_summary" msgid="2022973627105802010">"Aumentar ou diminuir todos os itens no ecrã. Algumas aplicações no ecrã principal podem mudar de posição após a alteração desta definição."</string>
     <string name="screen_zoom_preview_title" msgid="4680671508172336572">"Pré-visualizar"</string>
     <string name="screen_zoom_make_smaller_desc" msgid="4622359904253364742">"Diminuir"</string>
     <string name="screen_zoom_make_larger_desc" msgid="2236171043607896594">"Aumentar"</string>
@@ -2799,8 +2802,55 @@
     <string name="condition_cellular_summary" msgid="1818046558419658463">"A Internet só está disponível através de Wi-Fi"</string>
     <string name="condition_bg_data_title" msgid="1422001615923482010">"Dados de segundo plano desat."</string>
     <string name="condition_bg_data_summary" msgid="656957852895282228">"Os dados de segundo plano só estão disponíveis através de Wi-Fi. Isto pode afetar algumas aplicações ou alguns serviços quando o Wi-Fi não estiver disponível."</string>
+    <!-- no translation found for condition_work_title (7293722361184366648) -->
+    <skip />
+    <!-- no translation found for condition_work_summary (7543202177571590378) -->
+    <skip />
     <string name="suggestions_title" msgid="8758376306825920705">"Sugestões (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
     <string name="suggestion_remove" msgid="904627293892092439">"Remover"</string>
     <string name="color_temperature" msgid="2501579996151717270">"Temperatura da cor do ecrã"</string>
     <string name="color_temperature_desc" msgid="3603319696846982249">"Ativar temperatura fria"</string>
+    <!-- no translation found for usage (2977875522080448986) -->
+    <skip />
+    <!-- no translation found for cellular_data_usage (2763710678354680712) -->
+    <skip />
+    <!-- no translation found for wifi_data_usage (686754111095324306) -->
+    <skip />
+    <!-- no translation found for ethernet_data_usage (5108764537574354616) -->
+    <skip />
+    <string name="wifi" msgid="1081550856200013637">"Wi-Fi"</string>
+    <!-- no translation found for ethernet (6600095783781389720) -->
+    <skip />
+    <!-- no translation found for cell_data_template (3308709914705592281) -->
+    <skip />
+    <!-- no translation found for wifi_data_template (501654649753761778) -->
+    <skip />
+    <!-- no translation found for ethernet_data_template (5775729859383597507) -->
+    <skip />
+    <!-- no translation found for cell_warning_only (763147658209027140) -->
+    <skip />
+    <!-- no translation found for cell_warning_and_limit (2273413629267437470) -->
+    <skip />
+    <!-- no translation found for billing_cycle (5169909190811133499) -->
+    <skip />
+    <!-- no translation found for billing_cycle_summary (9009106526129293752) -->
+    <skip />
+    <!-- no translation found for billing_cycle_fragment_summary (1940518156600077066) -->
+    <skip />
+    <!-- no translation found for network_restrictions (8234695294536675380) -->
+    <skip />
+    <!-- no translation found for operator_warning (7206980278353372811) -->
+    <skip />
+    <!-- no translation found for data_used_template (3245919669966296505) -->
+    <skip />
+    <!-- no translation found for data_warning (209133958008062117) -->
+    <skip />
+    <!-- no translation found for set_data_limit (2901526323210516923) -->
+    <skip />
+    <!-- no translation found for data_limit (1885406964934590552) -->
+    <skip />
+    <!-- no translation found for data_usage_template (392191945602400904) -->
+    <skip />
+    <!-- no translation found for configure (1029654422228677273) -->
+    <skip />
 </resources>
diff --git a/res/values-pt/strings.xml b/res/values-pt/strings.xml
index 3297a94..2a6b74e 100644
--- a/res/values-pt/strings.xml
+++ b/res/values-pt/strings.xml
@@ -74,8 +74,7 @@
     <string name="sdcard_unmount" product="default" msgid="3364184561355611897">"Desmontar cartão SD"</string>
     <string name="sdcard_format" product="nosdcard" msgid="6285310523155166716">"Apagar armazenamento USB"</string>
     <string name="sdcard_format" product="default" msgid="6713185532039187532">"Apagar cartão SD"</string>
-    <!-- no translation found for font_size_summary (133937309990844030) -->
-    <skip />
+    <string name="font_size_summary" msgid="133937309990844030">"Tornar o texto na tela menor ou maior."</string>
     <string name="small_font" msgid="2295331917424072635">"Pequena"</string>
     <string name="medium_font" msgid="2068475425515133701">"Médio"</string>
     <string name="large_font" msgid="599055175160971446">"Grande"</string>
@@ -265,7 +264,8 @@
     <string name="roaming_disable" msgid="1295279574370898378">"Conectar aos serviços de dados quando estiver em roaming"</string>
     <string name="roaming_reenable_message" msgid="9141007271031717369">"Você perdeu a conectividade de dados porque deixou o roaming de dados da sua rede doméstica desativado."</string>
     <string name="roaming_turn_it_on_button" msgid="4387601818162120589">"Ativar"</string>
-    <string name="roaming_warning" msgid="7625933694709170887">"Quando você permite o roaming de dados, poderão ser cobradas taxas significativas de roaming!"</string>
+    <!-- no translation found for roaming_warning (4275443317524544705) -->
+    <skip />
     <string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"Ao permitir o roaming de dados, você poderá receber cobranças significativas de roaming.\n\nEsta configuração afeta todos os usuários do tablet."</string>
     <string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"Ao permitir o roaming de dados, você poderá receber cobranças significativas de roaming.\n\nEsta configuração afeta todos os usuários do telefone."</string>
     <string name="roaming_reenable_title" msgid="6068100976707316772">"Permitir roaming de dados?"</string>
@@ -1937,6 +1937,10 @@
     <string name="sync_is_failing" msgid="1591561768344128377">"A sincronização está enfrentando problemas no momento. Ela retornará em breve."</string>
     <string name="add_account_label" msgid="7811707265834013767">"Adicionar conta"</string>
     <string name="managed_profile_not_available_label" msgid="852263300911325904">"Perfil de trabalho ainda indisponível"</string>
+    <!-- no translation found for work_mode_label (5794470908668593961) -->
+    <skip />
+    <!-- no translation found for work_mode_summary (1620246003886940776) -->
+    <skip />
     <string name="remove_managed_profile_label" msgid="3856519337797285325">"Remover perfil de trabalho"</string>
     <string name="background_data" msgid="5779592891375473817">"Dados de segundo plano"</string>
     <string name="background_data_summary" msgid="8328521479872763452">"Aplicat. sincronizam, enviam e recebem dados a qualquer hora"</string>
@@ -2754,8 +2758,7 @@
     <string name="camera_double_tap_power_gesture_desc" msgid="7355664631775680376">"Abrir a câmera rapidamente sem desbloquear a tela"</string>
     <string name="screen_zoom_title" msgid="6332123593919641665">"Zoom da tela"</string>
     <string name="screen_zoom_keywords" msgid="9176477565403352552">"densidade de exibição, zoom da tela, escala, dimensionamento"</string>
-    <!-- no translation found for screen_zoom_summary (2022973627105802010) -->
-    <skip />
+    <string name="screen_zoom_summary" msgid="2022973627105802010">"Tornar todos os itens na tela menores ou maiores. É possível que alguns apps na sua tela inicial mudem de posição após a alteração desta configuração."</string>
     <string name="screen_zoom_preview_title" msgid="4680671508172336572">"Visualização"</string>
     <string name="screen_zoom_make_smaller_desc" msgid="4622359904253364742">"Tornar menor"</string>
     <string name="screen_zoom_make_larger_desc" msgid="2236171043607896594">"Tornar maior"</string>
@@ -2799,8 +2802,55 @@
     <string name="condition_cellular_summary" msgid="1818046558419658463">"A Internet está disponível apenas via Wi-Fi"</string>
     <string name="condition_bg_data_title" msgid="1422001615923482010">"Dados em segundo plano desativados"</string>
     <string name="condition_bg_data_summary" msgid="656957852895282228">"Os dados em segundo plano estão disponíveis apenas via Wi-Fi. Isso poderá afetar alguns apps ou serviços quando o Wi-Fi não estiver disponível."</string>
+    <!-- no translation found for condition_work_title (7293722361184366648) -->
+    <skip />
+    <!-- no translation found for condition_work_summary (7543202177571590378) -->
+    <skip />
     <string name="suggestions_title" msgid="8758376306825920705">"Sugestões (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
     <string name="suggestion_remove" msgid="904627293892092439">"Remover"</string>
     <string name="color_temperature" msgid="2501579996151717270">"Temperatura da cor da tela"</string>
     <string name="color_temperature_desc" msgid="3603319696846982249">"Ativar temperatura fria"</string>
+    <!-- no translation found for usage (2977875522080448986) -->
+    <skip />
+    <!-- no translation found for cellular_data_usage (2763710678354680712) -->
+    <skip />
+    <!-- no translation found for wifi_data_usage (686754111095324306) -->
+    <skip />
+    <!-- no translation found for ethernet_data_usage (5108764537574354616) -->
+    <skip />
+    <string name="wifi" msgid="1081550856200013637">"Wi-Fi"</string>
+    <!-- no translation found for ethernet (6600095783781389720) -->
+    <skip />
+    <!-- no translation found for cell_data_template (3308709914705592281) -->
+    <skip />
+    <!-- no translation found for wifi_data_template (501654649753761778) -->
+    <skip />
+    <!-- no translation found for ethernet_data_template (5775729859383597507) -->
+    <skip />
+    <!-- no translation found for cell_warning_only (763147658209027140) -->
+    <skip />
+    <!-- no translation found for cell_warning_and_limit (2273413629267437470) -->
+    <skip />
+    <!-- no translation found for billing_cycle (5169909190811133499) -->
+    <skip />
+    <!-- no translation found for billing_cycle_summary (9009106526129293752) -->
+    <skip />
+    <!-- no translation found for billing_cycle_fragment_summary (1940518156600077066) -->
+    <skip />
+    <!-- no translation found for network_restrictions (8234695294536675380) -->
+    <skip />
+    <!-- no translation found for operator_warning (7206980278353372811) -->
+    <skip />
+    <!-- no translation found for data_used_template (3245919669966296505) -->
+    <skip />
+    <!-- no translation found for data_warning (209133958008062117) -->
+    <skip />
+    <!-- no translation found for set_data_limit (2901526323210516923) -->
+    <skip />
+    <!-- no translation found for data_limit (1885406964934590552) -->
+    <skip />
+    <!-- no translation found for data_usage_template (392191945602400904) -->
+    <skip />
+    <!-- no translation found for configure (1029654422228677273) -->
+    <skip />
 </resources>
diff --git a/res/values-ro/strings.xml b/res/values-ro/strings.xml
index a28f72a..c145b98 100644
--- a/res/values-ro/strings.xml
+++ b/res/values-ro/strings.xml
@@ -75,8 +75,7 @@
     <string name="sdcard_unmount" product="default" msgid="3364184561355611897">"Demontați cardul SD"</string>
     <string name="sdcard_format" product="nosdcard" msgid="6285310523155166716">"Ștergeți stocarea USB"</string>
     <string name="sdcard_format" product="default" msgid="6713185532039187532">"Ștergeți cardul SD"</string>
-    <!-- no translation found for font_size_summary (133937309990844030) -->
-    <skip />
+    <string name="font_size_summary" msgid="133937309990844030">"Micșorați sau măriți textul de pe ecran."</string>
     <string name="small_font" msgid="2295331917424072635">"Mică"</string>
     <string name="medium_font" msgid="2068475425515133701">"Medie"</string>
     <string name="large_font" msgid="599055175160971446">"Mare"</string>
@@ -266,7 +265,8 @@
     <string name="roaming_disable" msgid="1295279574370898378">"Conectați-vă la serviciile de date în roaming"</string>
     <string name="roaming_reenable_message" msgid="9141007271031717369">"Ați pierdut conectivitatea la date deoarece ați părăsit rețeaua de domiciliu neavând activat roamingul."</string>
     <string name="roaming_turn_it_on_button" msgid="4387601818162120589">"Activați"</string>
-    <string name="roaming_warning" msgid="7625933694709170887">"Când permiteţi roamingul de date puteţi acumula taxe considerabile pentru roaming!"</string>
+    <!-- no translation found for roaming_warning (4275443317524544705) -->
+    <skip />
     <string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"Dacă permiteţi roamingul de date, puteţi acumula cheltuieli considerabile pentru roaming!\n\nAceastă setare afectează toţi utilizatorii de pe această tabletă."</string>
     <string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"Dacă permiteţi roamingul de date, puteţi acumula cheltuieli considerabile pentru roaming!\n\nAceastă setare afectează toţi utilizatorii de pe acest telefon."</string>
     <string name="roaming_reenable_title" msgid="6068100976707316772">"Permiteţi roamingul de date?"</string>
@@ -1954,6 +1954,10 @@
     <string name="sync_is_failing" msgid="1591561768344128377">"Sincronizarea se confruntă în prezent cu probleme. Aceasta va fi funcțională în curând."</string>
     <string name="add_account_label" msgid="7811707265834013767">"Adăugați un cont"</string>
     <string name="managed_profile_not_available_label" msgid="852263300911325904">"Profilul de serviciu nu este încă disponibil"</string>
+    <!-- no translation found for work_mode_label (5794470908668593961) -->
+    <skip />
+    <!-- no translation found for work_mode_summary (1620246003886940776) -->
+    <skip />
     <string name="remove_managed_profile_label" msgid="3856519337797285325">"Eliminați profilul de serviciu"</string>
     <string name="background_data" msgid="5779592891375473817">"Date de fundal"</string>
     <string name="background_data_summary" msgid="8328521479872763452">"Aplicaţiile pot oricând sincroniza, trimite și primi date"</string>
@@ -2780,8 +2784,7 @@
     <string name="camera_double_tap_power_gesture_desc" msgid="7355664631775680376">"Deschideți rapid camera foto fără să deblocați ecranul"</string>
     <string name="screen_zoom_title" msgid="6332123593919641665">"Zoom ecran"</string>
     <string name="screen_zoom_keywords" msgid="9176477565403352552">"densitate afișaj, zoom ecran, scară, scalare"</string>
-    <!-- no translation found for screen_zoom_summary (2022973627105802010) -->
-    <skip />
+    <string name="screen_zoom_summary" msgid="2022973627105802010">"Micșorați sau măriți toate elementele de pe ecran. Este posibil ca unele aplicații de pe ecranul de pornire să își schimbe poziția după ce modificați această setare."</string>
     <string name="screen_zoom_preview_title" msgid="4680671508172336572">"Previzualizați"</string>
     <string name="screen_zoom_make_smaller_desc" msgid="4622359904253364742">"Micșorați"</string>
     <string name="screen_zoom_make_larger_desc" msgid="2236171043607896594">"Măriți"</string>
@@ -2825,8 +2828,55 @@
     <string name="condition_cellular_summary" msgid="1818046558419658463">"Internetul este disponibil doar prin Wi-Fi"</string>
     <string name="condition_bg_data_title" msgid="1422001615923482010">"Date de fundal dezactivate"</string>
     <string name="condition_bg_data_summary" msgid="656957852895282228">"Datele de fundal sunt disponibile doar prin Wi-Fi. Este posibil ca unele aplicații sau servicii să fie afectate când conexiunea Wi-Fi nu este disponibilă."</string>
+    <!-- no translation found for condition_work_title (7293722361184366648) -->
+    <skip />
+    <!-- no translation found for condition_work_summary (7543202177571590378) -->
+    <skip />
     <string name="suggestions_title" msgid="8758376306825920705">"Sugestii (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
     <string name="suggestion_remove" msgid="904627293892092439">"Eliminați"</string>
     <string name="color_temperature" msgid="2501579996151717270">"Temperatura de culoare a afișajului"</string>
-    <string name="color_temperature_desc" msgid="3603319696846982249">"Activați culorile reci"</string>
+    <string name="color_temperature_desc" msgid="3603319696846982249">"Activați temperatura rece"</string>
+    <!-- no translation found for usage (2977875522080448986) -->
+    <skip />
+    <!-- no translation found for cellular_data_usage (2763710678354680712) -->
+    <skip />
+    <!-- no translation found for wifi_data_usage (686754111095324306) -->
+    <skip />
+    <!-- no translation found for ethernet_data_usage (5108764537574354616) -->
+    <skip />
+    <string name="wifi" msgid="1081550856200013637">"Wi-Fi"</string>
+    <!-- no translation found for ethernet (6600095783781389720) -->
+    <skip />
+    <!-- no translation found for cell_data_template (3308709914705592281) -->
+    <skip />
+    <!-- no translation found for wifi_data_template (501654649753761778) -->
+    <skip />
+    <!-- no translation found for ethernet_data_template (5775729859383597507) -->
+    <skip />
+    <!-- no translation found for cell_warning_only (763147658209027140) -->
+    <skip />
+    <!-- no translation found for cell_warning_and_limit (2273413629267437470) -->
+    <skip />
+    <!-- no translation found for billing_cycle (5169909190811133499) -->
+    <skip />
+    <!-- no translation found for billing_cycle_summary (9009106526129293752) -->
+    <skip />
+    <!-- no translation found for billing_cycle_fragment_summary (1940518156600077066) -->
+    <skip />
+    <!-- no translation found for network_restrictions (8234695294536675380) -->
+    <skip />
+    <!-- no translation found for operator_warning (7206980278353372811) -->
+    <skip />
+    <!-- no translation found for data_used_template (3245919669966296505) -->
+    <skip />
+    <!-- no translation found for data_warning (209133958008062117) -->
+    <skip />
+    <!-- no translation found for set_data_limit (2901526323210516923) -->
+    <skip />
+    <!-- no translation found for data_limit (1885406964934590552) -->
+    <skip />
+    <!-- no translation found for data_usage_template (392191945602400904) -->
+    <skip />
+    <!-- no translation found for configure (1029654422228677273) -->
+    <skip />
 </resources>
diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml
index 3b2effd..7cec628 100644
--- a/res/values-ru/strings.xml
+++ b/res/values-ru/strings.xml
@@ -76,8 +76,7 @@
     <string name="sdcard_unmount" product="default" msgid="3364184561355611897">"Извлечь SD-карту"</string>
     <string name="sdcard_format" product="nosdcard" msgid="6285310523155166716">"Очистить USB-накопитель"</string>
     <string name="sdcard_format" product="default" msgid="6713185532039187532">"Очистить SD-карту"</string>
-    <!-- no translation found for font_size_summary (133937309990844030) -->
-    <skip />
+    <string name="font_size_summary" msgid="133937309990844030">"Увеличение или уменьшение размера шрифта."</string>
     <string name="small_font" msgid="2295331917424072635">"Маленький"</string>
     <string name="medium_font" msgid="2068475425515133701">"Среднее"</string>
     <string name="large_font" msgid="599055175160971446">"Большой"</string>
@@ -267,7 +266,8 @@
     <string name="roaming_disable" msgid="1295279574370898378">"Подключаться к службам передачи данных при роуминге"</string>
     <string name="roaming_reenable_message" msgid="9141007271031717369">"Мобильный Интернет в роуминге отключен. Вы можете включить интернет-роуминг в настройках."</string>
     <string name="roaming_turn_it_on_button" msgid="4387601818162120589">"Включить"</string>
-    <string name="roaming_warning" msgid="7625933694709170887">"Возможны высокие расходы на использование роуминга."</string>
+    <!-- no translation found for roaming_warning (4275443317524544705) -->
+    <skip />
     <string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"Использование роуминга может повлечь за собой непредвиденные расходы.\n\nНастройки будут изменены для всех пользователей устройства."</string>
     <string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"Использование роуминга может повлечь за собой непредвиденные расходы.\n\nНастройки будут изменены для всех пользователей устройства."</string>
     <string name="roaming_reenable_title" msgid="6068100976707316772">"Разрешить интернет-роуминг?"</string>
@@ -1969,6 +1969,10 @@
     <string name="sync_is_failing" msgid="1591561768344128377">"Проблемы с синхронизацией. Скоро все заработает."</string>
     <string name="add_account_label" msgid="7811707265834013767">"Добавить аккаунт"</string>
     <string name="managed_profile_not_available_label" msgid="852263300911325904">"Рабочий профиль пока не доступен"</string>
+    <!-- no translation found for work_mode_label (5794470908668593961) -->
+    <skip />
+    <!-- no translation found for work_mode_summary (1620246003886940776) -->
+    <skip />
     <string name="remove_managed_profile_label" msgid="3856519337797285325">"Удалить рабочий профиль"</string>
     <string name="background_data" msgid="5779592891375473817">"Фоновый режим"</string>
     <string name="background_data_summary" msgid="8328521479872763452">"Синхронизация, отправка и получение данных доступны всегда"</string>
@@ -2804,8 +2808,7 @@
     <string name="camera_double_tap_power_gesture_desc" msgid="7355664631775680376">"Открывать камеру двойным нажатием кнопки питания"</string>
     <string name="screen_zoom_title" msgid="6332123593919641665">"Масштаб"</string>
     <string name="screen_zoom_keywords" msgid="9176477565403352552">"разрешение экрана, масштаб, увеличение, уменьшение"</string>
-    <!-- no translation found for screen_zoom_summary (2022973627105802010) -->
-    <skip />
+    <string name="screen_zoom_summary" msgid="2022973627105802010">"Увеличение или уменьшение всех объектов на экране. Эта настройка может повлиять на порядок значков приложений на главном экране."</string>
     <string name="screen_zoom_preview_title" msgid="4680671508172336572">"Просмотр"</string>
     <string name="screen_zoom_make_smaller_desc" msgid="4622359904253364742">"Уменьшить"</string>
     <string name="screen_zoom_make_larger_desc" msgid="2236171043607896594">"Увеличить"</string>
@@ -2849,8 +2852,55 @@
     <string name="condition_cellular_summary" msgid="1818046558419658463">"Интернет доступен только через Wi-Fi"</string>
     <string name="condition_bg_data_title" msgid="1422001615923482010">"Фоновый режим отключен"</string>
     <string name="condition_bg_data_summary" msgid="656957852895282228">"Для обмена данными в фоновом режиме требуется подключение к сети Wi-Fi. Когда она недоступна, некоторые сервисы и приложения не будут работать."</string>
+    <!-- no translation found for condition_work_title (7293722361184366648) -->
+    <skip />
+    <!-- no translation found for condition_work_summary (7543202177571590378) -->
+    <skip />
     <string name="suggestions_title" msgid="8758376306825920705">"Подсказки (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
     <string name="suggestion_remove" msgid="904627293892092439">"Убрать"</string>
     <string name="color_temperature" msgid="2501579996151717270">"Показать цветовую температуру"</string>
     <string name="color_temperature_desc" msgid="3603319696846982249">"Включить холодные оттенки"</string>
+    <!-- no translation found for usage (2977875522080448986) -->
+    <skip />
+    <!-- no translation found for cellular_data_usage (2763710678354680712) -->
+    <skip />
+    <!-- no translation found for wifi_data_usage (686754111095324306) -->
+    <skip />
+    <!-- no translation found for ethernet_data_usage (5108764537574354616) -->
+    <skip />
+    <string name="wifi" msgid="1081550856200013637">"Wi-Fi"</string>
+    <!-- no translation found for ethernet (6600095783781389720) -->
+    <skip />
+    <!-- no translation found for cell_data_template (3308709914705592281) -->
+    <skip />
+    <!-- no translation found for wifi_data_template (501654649753761778) -->
+    <skip />
+    <!-- no translation found for ethernet_data_template (5775729859383597507) -->
+    <skip />
+    <!-- no translation found for cell_warning_only (763147658209027140) -->
+    <skip />
+    <!-- no translation found for cell_warning_and_limit (2273413629267437470) -->
+    <skip />
+    <!-- no translation found for billing_cycle (5169909190811133499) -->
+    <skip />
+    <!-- no translation found for billing_cycle_summary (9009106526129293752) -->
+    <skip />
+    <!-- no translation found for billing_cycle_fragment_summary (1940518156600077066) -->
+    <skip />
+    <!-- no translation found for network_restrictions (8234695294536675380) -->
+    <skip />
+    <!-- no translation found for operator_warning (7206980278353372811) -->
+    <skip />
+    <!-- no translation found for data_used_template (3245919669966296505) -->
+    <skip />
+    <!-- no translation found for data_warning (209133958008062117) -->
+    <skip />
+    <!-- no translation found for set_data_limit (2901526323210516923) -->
+    <skip />
+    <!-- no translation found for data_limit (1885406964934590552) -->
+    <skip />
+    <!-- no translation found for data_usage_template (392191945602400904) -->
+    <skip />
+    <!-- no translation found for configure (1029654422228677273) -->
+    <skip />
 </resources>
diff --git a/res/values-si-rLK/strings.xml b/res/values-si-rLK/strings.xml
index aadda77..3a4d48d 100644
--- a/res/values-si-rLK/strings.xml
+++ b/res/values-si-rLK/strings.xml
@@ -74,8 +74,7 @@
     <string name="sdcard_unmount" product="default" msgid="3364184561355611897">"SD කාඩ් පත ගලවන්න"</string>
     <string name="sdcard_format" product="nosdcard" msgid="6285310523155166716">"USB ආචයනය මකන්න"</string>
     <string name="sdcard_format" product="default" msgid="6713185532039187532">"SD කාඩ් පත මකන්න"</string>
-    <!-- no translation found for font_size_summary (133937309990844030) -->
-    <skip />
+    <string name="font_size_summary" msgid="133937309990844030">"තිරය මත පෙළ කුඩා හෝ විශාල කරන්න."</string>
     <string name="small_font" msgid="2295331917424072635">"කුඩා"</string>
     <string name="medium_font" msgid="2068475425515133701">"මධ්‍යම"</string>
     <string name="large_font" msgid="599055175160971446">"විශාල"</string>
@@ -265,7 +264,8 @@
     <string name="roaming_disable" msgid="1295279574370898378">"රෝමින් අතරතුර දත්ත සේවා වෙත සම්බන්ධ වන්න"</string>
     <string name="roaming_reenable_message" msgid="9141007271031717369">"ඔබගේ නිවාස ජාලය ඔබ හැර ගිය විට දත්ත රෝමින් අක්‍රිය වන බැවින් දත්ත සම්බන්ධතාවය ඔබට නැති වී ගොස් ඇත."</string>
     <string name="roaming_turn_it_on_button" msgid="4387601818162120589">"එය සක්‍රිය කරන්න"</string>
-    <string name="roaming_warning" msgid="7625933694709170887">"දත්ත රෝමින් වෙත අවසර දුන් විට, ඔබට සැලකිය යුතු රෝමිං ගාස්තු දැරීමට සිදු වනු ඇත!"</string>
+    <!-- no translation found for roaming_warning (4275443317524544705) -->
+    <skip />
     <string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"ඔබ දත්ත රෝමිං වෙත අවසර දුන් විට, ඔබෙන් සැලකිය යුතු ලෙස රෝමිං ගාස්තු අයවිය හැක!\n\nමෙම සැකසීම ටැබ්ලටයේ සියලුම පරිශීලකයන්ට බලපායි."</string>
     <string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"ඔබ දත්ත රෝමිං, ඔබෙන් විශාල වශයෙන් රෝමිං ගාස්තු අයවිය හැක!\n\nමෙම සැකසුම දුරකතනයේ සියලුම පරිශීලකයන්ට බලපායි."</string>
     <string name="roaming_reenable_title" msgid="6068100976707316772">"දත්ත රෝමින් සඳහා අවසර දෙන්න ද"</string>
@@ -1939,6 +1939,10 @@
     <string name="sync_is_failing" msgid="1591561768344128377">"සමමුහුර්තය දැනට ගැටළුවලට මුහුණපා ඇත. එය සුළු මොහොතකින් ආපසු පැමිණෙනු ඇත."</string>
     <string name="add_account_label" msgid="7811707265834013767">"ගිණුමක් එකතු කරන්න"</string>
     <string name="managed_profile_not_available_label" msgid="852263300911325904">"වැඩ පැතිකඩ තවම නොපවතියි"</string>
+    <!-- no translation found for work_mode_label (5794470908668593961) -->
+    <skip />
+    <!-- no translation found for work_mode_summary (1620246003886940776) -->
+    <skip />
     <string name="remove_managed_profile_label" msgid="3856519337797285325">"වැඩ පැතිකඩ ඉවත් කරන්න"</string>
     <string name="background_data" msgid="5779592891375473817">"පසුබිම් දත්ත"</string>
     <string name="background_data_summary" msgid="8328521479872763452">"යෙදුම්වලට ඕනෑම වෙලාවක දත්ත සමමුහුර්ත කිරීමට, යැවීමට, සහ ලබාගැනීමට හැකිය"</string>
@@ -2756,8 +2760,7 @@
     <string name="camera_double_tap_power_gesture_desc" msgid="7355664631775680376">"ඔබගේ තිරය අගුලු හැරීමෙන් තොරව ඉක්මනින් කැමරාව විවෘත කරන්න"</string>
     <string name="screen_zoom_title" msgid="6332123593919641665">"තිර විශාලනය"</string>
     <string name="screen_zoom_keywords" msgid="9176477565403352552">"සංදර්ශක ඝනත්වය, තිර විශාලනය, පරිමාණය, පරිමාණ කිරීම"</string>
-    <!-- no translation found for screen_zoom_summary (2022973627105802010) -->
-    <skip />
+    <string name="screen_zoom_summary" msgid="2022973627105802010">"තිරය මත සියලු අයිතම කුඩා හෝ විශාල කරන්න. මෙම සැකසීම වෙනස් කිරීමෙන් පසුව ඔබේ මුල් පිටු තිරයේ ඇති සමහර යෙදුම්වල පිහිටි ස්ථානය වෙනස් වීමට හැකිය."</string>
     <string name="screen_zoom_preview_title" msgid="4680671508172336572">"පෙරදසුන"</string>
     <string name="screen_zoom_make_smaller_desc" msgid="4622359904253364742">"වඩා කුඩා කරන්න"</string>
     <string name="screen_zoom_make_larger_desc" msgid="2236171043607896594">"වඩා විශාල කරන්න"</string>
@@ -2801,8 +2804,55 @@
     <string name="condition_cellular_summary" msgid="1818046558419658463">"අන්තර්ජාලය Wi-Fi හරහා පමණක් ලබා ගත හැකිය"</string>
     <string name="condition_bg_data_title" msgid="1422001615923482010">"පසුබිම් දත්ත ක්‍රියාවිරහිතයි"</string>
     <string name="condition_bg_data_summary" msgid="656957852895282228">"පසුබිම් දත්ත Wi-Fi හරහා පමණක් ලබා ගත හැකිය. Wi-Fi ලබා ගත නොහැකි වූ විට මෙය සමහර යෙදුම් හෝ සේවා කෙරෙහි බලපෑ හැකිය."</string>
+    <!-- no translation found for condition_work_title (7293722361184366648) -->
+    <skip />
+    <!-- no translation found for condition_work_summary (7543202177571590378) -->
+    <skip />
     <string name="suggestions_title" msgid="8758376306825920705">"යෝජනා (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
     <string name="suggestion_remove" msgid="904627293892092439">"ඉවත් කරන්න"</string>
     <string name="color_temperature" msgid="2501579996151717270">"වර්ණ උෂ්ණත්වය සංදර්ශනය කිරීම"</string>
     <string name="color_temperature_desc" msgid="3603319696846982249">"සිසිල් උෂ්ණත්වය සබල කිරීම"</string>
+    <!-- no translation found for usage (2977875522080448986) -->
+    <skip />
+    <!-- no translation found for cellular_data_usage (2763710678354680712) -->
+    <skip />
+    <!-- no translation found for wifi_data_usage (686754111095324306) -->
+    <skip />
+    <!-- no translation found for ethernet_data_usage (5108764537574354616) -->
+    <skip />
+    <string name="wifi" msgid="1081550856200013637">"Wi-Fi"</string>
+    <!-- no translation found for ethernet (6600095783781389720) -->
+    <skip />
+    <!-- no translation found for cell_data_template (3308709914705592281) -->
+    <skip />
+    <!-- no translation found for wifi_data_template (501654649753761778) -->
+    <skip />
+    <!-- no translation found for ethernet_data_template (5775729859383597507) -->
+    <skip />
+    <!-- no translation found for cell_warning_only (763147658209027140) -->
+    <skip />
+    <!-- no translation found for cell_warning_and_limit (2273413629267437470) -->
+    <skip />
+    <!-- no translation found for billing_cycle (5169909190811133499) -->
+    <skip />
+    <!-- no translation found for billing_cycle_summary (9009106526129293752) -->
+    <skip />
+    <!-- no translation found for billing_cycle_fragment_summary (1940518156600077066) -->
+    <skip />
+    <!-- no translation found for network_restrictions (8234695294536675380) -->
+    <skip />
+    <!-- no translation found for operator_warning (7206980278353372811) -->
+    <skip />
+    <!-- no translation found for data_used_template (3245919669966296505) -->
+    <skip />
+    <!-- no translation found for data_warning (209133958008062117) -->
+    <skip />
+    <!-- no translation found for set_data_limit (2901526323210516923) -->
+    <skip />
+    <!-- no translation found for data_limit (1885406964934590552) -->
+    <skip />
+    <!-- no translation found for data_usage_template (392191945602400904) -->
+    <skip />
+    <!-- no translation found for configure (1029654422228677273) -->
+    <skip />
 </resources>
diff --git a/res/values-sk/strings.xml b/res/values-sk/strings.xml
index df170f4..95e08c4 100644
--- a/res/values-sk/strings.xml
+++ b/res/values-sk/strings.xml
@@ -76,8 +76,7 @@
     <string name="sdcard_unmount" product="default" msgid="3364184561355611897">"Odpojiť SD kartu"</string>
     <string name="sdcard_format" product="nosdcard" msgid="6285310523155166716">"Vymazať ukladací priestor USB"</string>
     <string name="sdcard_format" product="default" msgid="6713185532039187532">"Vymazať SD kartu"</string>
-    <!-- no translation found for font_size_summary (133937309990844030) -->
-    <skip />
+    <string name="font_size_summary" msgid="133937309990844030">"Zväčšite alebo zmenšite text na obrazovke."</string>
     <string name="small_font" msgid="2295331917424072635">"Malé"</string>
     <string name="medium_font" msgid="2068475425515133701">"Stredné"</string>
     <string name="large_font" msgid="599055175160971446">"Veľké"</string>
@@ -85,7 +84,7 @@
     <string name="font_size_make_larger_desc" msgid="4316986572233686061">"Zväčšiť"</string>
     <string name="font_size_preview_text_headline" msgid="7955317408475392247">"Ukážkový text"</string>
     <string name="font_size_preview_text_title" msgid="4762429961714563135">"Dvadsať tisíc míľ pod morom"</string>
-    <string name="font_size_preview_text_subtitle" msgid="5712012075615701561">"23. kapitola: Korálové kráľovstvo"</string>
+    <string name="font_size_preview_text_subtitle" msgid="5712012075615701561">"23. kapitola: Koralové kráľovstvo"</string>
     <string name="font_size_preview_text_body" msgid="1608889593334414309">"Nasledujúci deň som sa zobudil a v hlave som mal úplne jasno. Na moje veľké prekvapenie som bol vo svojej izbe. Moji spoločníci sa samozrejme vrátili do svojej kajuty, pričom si nevšimli o nič viac ako ja. O tom, čo sa stalo počas noci, nevedeli rovnako ako ja vôbec nič. V odhalení tohto tajomstva som sa mohol spoľahnúť iba na budúce príležitosti.\nPotom som sa rozhodol opustiť svoju izbu. Bol som znova voľný alebo väzeň? Úplne voľný. Otvoril som dvere, vyšiel na palubu a potom hlavnými schodmi. Palubné otvory, ktoré boli včera večer zatvorené, boli teraz otvorené. Vyšiel som na plošinu.\nNed Land a Conseil tam na mňa čakali. Povypytoval som sa ich, nič však nevedeli. Po hlbokom spánku, počas ktorého boli úplne nevedomí, sa s prekvapením ocitli vo svojej kajute."</string>
     <string name="font_size_save" msgid="3450855718056759095">"OK"</string>
     <string name="sdcard_setting" product="nosdcard" msgid="8281011784066476192">"Ukladací priestor USB"</string>
@@ -267,7 +266,8 @@
     <string name="roaming_disable" msgid="1295279574370898378">"Pripájať sa k dátovým službám pri roamingu"</string>
     <string name="roaming_reenable_message" msgid="9141007271031717369">"Dátové pripojenie bolo prerušené, pretože ste opustili domovskú sieť a máte vypnutý dátový roaming."</string>
     <string name="roaming_turn_it_on_button" msgid="4387601818162120589">"Zapnúť"</string>
-    <string name="roaming_warning" msgid="7625933694709170887">"Ak povolíte dátový roaming, môžu sa vám účtovať vysoké poplatky."</string>
+    <!-- no translation found for roaming_warning (4275443317524544705) -->
+    <skip />
     <string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"Ak povolíte dátový roaming, môžu sa vám účtovať vysoké poplatky za roaming!\n\nToto nastavenie ovplyvní všetkých používateľov tohto tabletu."</string>
     <string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"Ak povolíte dátový roaming, môžu sa vám účtovať vysoké poplatky za roaming!\n\nToto nastavenie ovplyvní všetkých používateľov tohto telefónu."</string>
     <string name="roaming_reenable_title" msgid="6068100976707316772">"Povoliť dátový roaming?"</string>
@@ -1969,6 +1969,10 @@
     <string name="sync_is_failing" msgid="1591561768344128377">"Vyskytli sa problémy so synchronizáciou. Služba bude čoskoro obnovená."</string>
     <string name="add_account_label" msgid="7811707265834013767">"Pridať účet"</string>
     <string name="managed_profile_not_available_label" msgid="852263300911325904">"Pracovný profil zatiaľ nie je k dispozícii"</string>
+    <!-- no translation found for work_mode_label (5794470908668593961) -->
+    <skip />
+    <!-- no translation found for work_mode_summary (1620246003886940776) -->
+    <skip />
     <string name="remove_managed_profile_label" msgid="3856519337797285325">"Odstrániť pracovný profil"</string>
     <string name="background_data" msgid="5779592891375473817">"Dátové prenosy na pozadí"</string>
     <string name="background_data_summary" msgid="8328521479872763452">"Aplikácie môžu kedykoľvek synchronizovať, odosielať a prijímať údaje"</string>
@@ -2804,8 +2808,7 @@
     <string name="camera_double_tap_power_gesture_desc" msgid="7355664631775680376">"Rýchlo otvorí fotoaparát bez odomknutia obrazovky"</string>
     <string name="screen_zoom_title" msgid="6332123593919641665">"Priblíženie obrazovky"</string>
     <string name="screen_zoom_keywords" msgid="9176477565403352552">"hustota obrazovky, priblíženie obrazovky, veľkosť, zmena veľkosti"</string>
-    <!-- no translation found for screen_zoom_summary (2022973627105802010) -->
-    <skip />
+    <string name="screen_zoom_summary" msgid="2022973627105802010">"Zväčšite alebo zmenšite všetky položky na obrazovke. Po zmene tohto nastavenia sa môže zmeniť umiestnenie niektorých aplikácií na ploche."</string>
     <string name="screen_zoom_preview_title" msgid="4680671508172336572">"Ukážka"</string>
     <string name="screen_zoom_make_smaller_desc" msgid="4622359904253364742">"Zmenšiť"</string>
     <string name="screen_zoom_make_larger_desc" msgid="2236171043607896594">"Zväčšiť"</string>
@@ -2849,8 +2852,55 @@
     <string name="condition_cellular_summary" msgid="1818046558419658463">"Internet je k dispozícii len prostredníctvom siete Wi-Fi"</string>
     <string name="condition_bg_data_title" msgid="1422001615923482010">"Dáta na pozadí sú vypnuté"</string>
     <string name="condition_bg_data_summary" msgid="656957852895282228">"Dáta na pozadí sú dostupné iba prostredníctvom siete Wi-Fi. Môže to ovplyvniť niektoré aplikácie či služby, keď sieť Wi-Fi nie je dostupná."</string>
+    <!-- no translation found for condition_work_title (7293722361184366648) -->
+    <skip />
+    <!-- no translation found for condition_work_summary (7543202177571590378) -->
+    <skip />
     <string name="suggestions_title" msgid="8758376306825920705">"Návrhy (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
     <string name="suggestion_remove" msgid="904627293892092439">"Odstrániť"</string>
     <string name="color_temperature" msgid="2501579996151717270">"Intenzita farby zobrazenia"</string>
     <string name="color_temperature_desc" msgid="3603319696846982249">"Povolenie studených farieb"</string>
+    <!-- no translation found for usage (2977875522080448986) -->
+    <skip />
+    <!-- no translation found for cellular_data_usage (2763710678354680712) -->
+    <skip />
+    <!-- no translation found for wifi_data_usage (686754111095324306) -->
+    <skip />
+    <!-- no translation found for ethernet_data_usage (5108764537574354616) -->
+    <skip />
+    <string name="wifi" msgid="1081550856200013637">"Wi-Fi"</string>
+    <!-- no translation found for ethernet (6600095783781389720) -->
+    <skip />
+    <!-- no translation found for cell_data_template (3308709914705592281) -->
+    <skip />
+    <!-- no translation found for wifi_data_template (501654649753761778) -->
+    <skip />
+    <!-- no translation found for ethernet_data_template (5775729859383597507) -->
+    <skip />
+    <!-- no translation found for cell_warning_only (763147658209027140) -->
+    <skip />
+    <!-- no translation found for cell_warning_and_limit (2273413629267437470) -->
+    <skip />
+    <!-- no translation found for billing_cycle (5169909190811133499) -->
+    <skip />
+    <!-- no translation found for billing_cycle_summary (9009106526129293752) -->
+    <skip />
+    <!-- no translation found for billing_cycle_fragment_summary (1940518156600077066) -->
+    <skip />
+    <!-- no translation found for network_restrictions (8234695294536675380) -->
+    <skip />
+    <!-- no translation found for operator_warning (7206980278353372811) -->
+    <skip />
+    <!-- no translation found for data_used_template (3245919669966296505) -->
+    <skip />
+    <!-- no translation found for data_warning (209133958008062117) -->
+    <skip />
+    <!-- no translation found for set_data_limit (2901526323210516923) -->
+    <skip />
+    <!-- no translation found for data_limit (1885406964934590552) -->
+    <skip />
+    <!-- no translation found for data_usage_template (392191945602400904) -->
+    <skip />
+    <!-- no translation found for configure (1029654422228677273) -->
+    <skip />
 </resources>
diff --git a/res/values-sl/strings.xml b/res/values-sl/strings.xml
index 417c139..e4e591d 100644
--- a/res/values-sl/strings.xml
+++ b/res/values-sl/strings.xml
@@ -76,8 +76,7 @@
     <string name="sdcard_unmount" product="default" msgid="3364184561355611897">"Izpni kartico SD"</string>
     <string name="sdcard_format" product="nosdcard" msgid="6285310523155166716">"Izbriši pomnilnik USB"</string>
     <string name="sdcard_format" product="default" msgid="6713185532039187532">"Izbriši kartico SD"</string>
-    <!-- no translation found for font_size_summary (133937309990844030) -->
-    <skip />
+    <string name="font_size_summary" msgid="133937309990844030">"Pomanjšava ali povečava besedila na zaslonu."</string>
     <string name="small_font" msgid="2295331917424072635">"Majhna"</string>
     <string name="medium_font" msgid="2068475425515133701">"Srednja"</string>
     <string name="large_font" msgid="599055175160971446">"Velika"</string>
@@ -267,7 +266,8 @@
     <string name="roaming_disable" msgid="1295279574370898378">"Med gostovanjem vzpostavi povezavo s podatkovnimi storitvami"</string>
     <string name="roaming_reenable_message" msgid="9141007271031717369">"Podatkovna povezava ni mogoča, ker ste zapustili domače omrežje, podatkovno gostovanje pa je izklopljeno."</string>
     <string name="roaming_turn_it_on_button" msgid="4387601818162120589">"Vklopi"</string>
-    <string name="roaming_warning" msgid="7625933694709170887">"Če dovolite podatkovno gostovanje, so lahko stroški gostovanja visoki."</string>
+    <!-- no translation found for roaming_warning (4275443317524544705) -->
+    <skip />
     <string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"Če omogočite podatkovno gostovanje, si lahko naprtite velike stroške!\n\nNastavitev vpliva na vse uporabnike v tem tabličnem računalniku."</string>
     <string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"Če omogočite podatkovno gostovanje, si lahko naprtite velike stroške!\n\nNastavitev vpliva na vse uporabnike v tem telefonu."</string>
     <string name="roaming_reenable_title" msgid="6068100976707316772">"Želite dovoliti podatkovno gostovanje?"</string>
@@ -1969,6 +1969,10 @@
     <string name="sync_is_failing" msgid="1591561768344128377">"Težava pri sinhronizaciji. Kmalu bo spet na voljo."</string>
     <string name="add_account_label" msgid="7811707265834013767">"Dodaj račun"</string>
     <string name="managed_profile_not_available_label" msgid="852263300911325904">"Delovni profil še ni na voljo"</string>
+    <!-- no translation found for work_mode_label (5794470908668593961) -->
+    <skip />
+    <!-- no translation found for work_mode_summary (1620246003886940776) -->
+    <skip />
     <string name="remove_managed_profile_label" msgid="3856519337797285325">"Odstrani delovni profil"</string>
     <string name="background_data" msgid="5779592891375473817">"Podatki v ozadju"</string>
     <string name="background_data_summary" msgid="8328521479872763452">"Aplikacije lahko kadar koli sinhronizirajo, pošiljajo in prejemajo podatke"</string>
@@ -2804,8 +2808,7 @@
     <string name="camera_double_tap_power_gesture_desc" msgid="7355664631775680376">"Hitro odpre fotoaparat brez odklepanja zaslona"</string>
     <string name="screen_zoom_title" msgid="6332123593919641665">"Povečava zaslona"</string>
     <string name="screen_zoom_keywords" msgid="9176477565403352552">"gostota zaslona, povečava zaslona, razmerje, spreminjanje velikosti"</string>
-    <!-- no translation found for screen_zoom_summary (2022973627105802010) -->
-    <skip />
+    <string name="screen_zoom_summary" msgid="2022973627105802010">"Pomanjšava ali povečava vseh elementov na zaslonu. Po spreminjanju te nastavitve se lahko spremeni položaj nekaterih aplikacij na začetnem zaslonu."</string>
     <string name="screen_zoom_preview_title" msgid="4680671508172336572">"Predogled"</string>
     <string name="screen_zoom_make_smaller_desc" msgid="4622359904253364742">"Pomanjšanje"</string>
     <string name="screen_zoom_make_larger_desc" msgid="2236171043607896594">"Povečanje"</string>
@@ -2849,8 +2852,55 @@
     <string name="condition_cellular_summary" msgid="1818046558419658463">"Internet je na voljo samo prek omrežja Wi-Fi"</string>
     <string name="condition_bg_data_title" msgid="1422001615923482010">"Prenos podat. v ozadju je izk."</string>
     <string name="condition_bg_data_summary" msgid="656957852895282228">"Prenos podatkov v ozadju je na voljo samo prek omrežja Wi-Fi. To morda vpliva na nekatere aplikacije ali storitve, ko omrežje Wi-Fi ni na voljo."</string>
+    <!-- no translation found for condition_work_title (7293722361184366648) -->
+    <skip />
+    <!-- no translation found for condition_work_summary (7543202177571590378) -->
+    <skip />
     <string name="suggestions_title" msgid="8758376306825920705">"Predlogi (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
     <string name="suggestion_remove" msgid="904627293892092439">"Odstrani"</string>
     <string name="color_temperature" msgid="2501579996151717270">"Barvna temperatura zaslona"</string>
     <string name="color_temperature_desc" msgid="3603319696846982249">"Omogočanje hladne temperature"</string>
+    <!-- no translation found for usage (2977875522080448986) -->
+    <skip />
+    <!-- no translation found for cellular_data_usage (2763710678354680712) -->
+    <skip />
+    <!-- no translation found for wifi_data_usage (686754111095324306) -->
+    <skip />
+    <!-- no translation found for ethernet_data_usage (5108764537574354616) -->
+    <skip />
+    <string name="wifi" msgid="1081550856200013637">"Wi-Fi"</string>
+    <!-- no translation found for ethernet (6600095783781389720) -->
+    <skip />
+    <!-- no translation found for cell_data_template (3308709914705592281) -->
+    <skip />
+    <!-- no translation found for wifi_data_template (501654649753761778) -->
+    <skip />
+    <!-- no translation found for ethernet_data_template (5775729859383597507) -->
+    <skip />
+    <!-- no translation found for cell_warning_only (763147658209027140) -->
+    <skip />
+    <!-- no translation found for cell_warning_and_limit (2273413629267437470) -->
+    <skip />
+    <!-- no translation found for billing_cycle (5169909190811133499) -->
+    <skip />
+    <!-- no translation found for billing_cycle_summary (9009106526129293752) -->
+    <skip />
+    <!-- no translation found for billing_cycle_fragment_summary (1940518156600077066) -->
+    <skip />
+    <!-- no translation found for network_restrictions (8234695294536675380) -->
+    <skip />
+    <!-- no translation found for operator_warning (7206980278353372811) -->
+    <skip />
+    <!-- no translation found for data_used_template (3245919669966296505) -->
+    <skip />
+    <!-- no translation found for data_warning (209133958008062117) -->
+    <skip />
+    <!-- no translation found for set_data_limit (2901526323210516923) -->
+    <skip />
+    <!-- no translation found for data_limit (1885406964934590552) -->
+    <skip />
+    <!-- no translation found for data_usage_template (392191945602400904) -->
+    <skip />
+    <!-- no translation found for configure (1029654422228677273) -->
+    <skip />
 </resources>
diff --git a/res/values-sq-rAL/strings.xml b/res/values-sq-rAL/strings.xml
index 786643d..e6fea37 100644
--- a/res/values-sq-rAL/strings.xml
+++ b/res/values-sq-rAL/strings.xml
@@ -74,8 +74,7 @@
     <string name="sdcard_unmount" product="default" msgid="3364184561355611897">"Shkëput kartën SD"</string>
     <string name="sdcard_format" product="nosdcard" msgid="6285310523155166716">"Spastro hapësirën për ruajtje të USB-së"</string>
     <string name="sdcard_format" product="default" msgid="6713185532039187532">"Spastroje kartën SD"</string>
-    <!-- no translation found for font_size_summary (133937309990844030) -->
-    <skip />
+    <string name="font_size_summary" msgid="133937309990844030">"Bëje tekstin në ekran më të vogël ose më të madh."</string>
     <string name="small_font" msgid="2295331917424072635">"E vogël"</string>
     <string name="medium_font" msgid="2068475425515133701">"Mesatar"</string>
     <string name="large_font" msgid="599055175160971446">"I madh"</string>
@@ -265,7 +264,7 @@
     <string name="roaming_disable" msgid="1295279574370898378">"Lidhu me shërbimet e të dhënave kur je në roaming"</string>
     <string name="roaming_reenable_message" msgid="9141007271031717369">"Ke humbur lidhshmërinë e të dhënave sepse u largove nga rrjeti vendor me të dhënat e roaming-ut që çaktivizove."</string>
     <string name="roaming_turn_it_on_button" msgid="4387601818162120589">"Aktivizoje"</string>
-    <string name="roaming_warning" msgid="7625933694709170887">"Nëse lejon përdorim të dhënash gjatë kohës që je në roaming, mund të shkaktohen tarifa të larta!"</string>
+    <string name="roaming_warning" msgid="4275443317524544705">"Mund të shkaktohen tarifa të larta."</string>
     <string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"Nëse lejon përdorim të dhënash gjatë kohës që je në roaming, mund të shkaktosh tarifa të konsiderueshme!\n\nKy cilësim ndikon te të gjithë përdoruesit në këtë tablet."</string>
     <string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"Nëse lejon përdorim të dhënash gjatë kohës që je në roaming, mund të shkaktosh tarifa të konsiderueshme!\n\nKy cilësim ndikon te të gjithë përdoruesit në këtë telefon."</string>
     <string name="roaming_reenable_title" msgid="6068100976707316772">"Të lejohet shfrytëzimi i roaming-ut?"</string>
@@ -1937,6 +1936,8 @@
     <string name="sync_is_failing" msgid="1591561768344128377">"Sinkronizimi ka aktualisht probleme. Do të jetë i disponueshëm së shpejti."</string>
     <string name="add_account_label" msgid="7811707265834013767">"Shto një llogari"</string>
     <string name="managed_profile_not_available_label" msgid="852263300911325904">"Profili i punës nuk ofrohet ende"</string>
+    <string name="work_mode_label" msgid="5794470908668593961">"Modaliteti i punës"</string>
+    <string name="work_mode_summary" msgid="1620246003886940776">"Lejoje profilin e punës të funksionojë, duke përfshirë aplikacionet, sinkronizimin në sfond dhe funksionet e lidhura"</string>
     <string name="remove_managed_profile_label" msgid="3856519337797285325">"Hiq profilin e punës"</string>
     <string name="background_data" msgid="5779592891375473817">"Të dhënat në sfond"</string>
     <string name="background_data_summary" msgid="8328521479872763452">"Aplikacionet mund të sinkronizojnë, dërgojnë dhe marrin të dhëna në çdo kohë"</string>
@@ -2754,8 +2755,7 @@
     <string name="camera_double_tap_power_gesture_desc" msgid="7355664631775680376">"Hap me shpejtësi kamerën pa e shkyçur ekranin"</string>
     <string name="screen_zoom_title" msgid="6332123593919641665">"Zmadhimi i ekranit"</string>
     <string name="screen_zoom_keywords" msgid="9176477565403352552">"dendësia e pamjes, zmadhimi i ekranit, shkalla, shkallëzimi"</string>
-    <!-- no translation found for screen_zoom_summary (2022973627105802010) -->
-    <skip />
+    <string name="screen_zoom_summary" msgid="2022973627105802010">"Bëji të gjithë artikujt në ekran më të vegjël ose më të mëdhenj. Disa aplikacione në ekranin bazë mund të ndryshojnë pozicion pas ndryshimit të këtij cilësimi."</string>
     <string name="screen_zoom_preview_title" msgid="4680671508172336572">"Pamja paraprake"</string>
     <string name="screen_zoom_make_smaller_desc" msgid="4622359904253364742">"Zvogëlo"</string>
     <string name="screen_zoom_make_larger_desc" msgid="2236171043607896594">"Zmadho"</string>
@@ -2799,8 +2799,32 @@
     <string name="condition_cellular_summary" msgid="1818046558419658463">"Interneti është i disponueshëm vetëm përmes Wi-Fi"</string>
     <string name="condition_bg_data_title" msgid="1422001615923482010">"Të dhënat e sfondit janë të çaktivizuara"</string>
     <string name="condition_bg_data_summary" msgid="656957852895282228">"Të dhënat e sfondit janë të disponueshme vetëm përmes lidhjes Wi-Fi. Kjo mund të ndikojë te disa aplikacione ose shërbime kur lidhja Wi-Fi nuk është e disponueshme."</string>
+    <string name="condition_work_title" msgid="7293722361184366648">"Profili i punës është i çaktivizuar"</string>
+    <string name="condition_work_summary" msgid="7543202177571590378">"Janë çaktivizuar aplikacionet, sinkronizimi në sfond dhe veçoritë e tjera që lidhen me profilin e punës."</string>
     <string name="suggestions_title" msgid="8758376306825920705">"Sugjerimet (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
     <string name="suggestion_remove" msgid="904627293892092439">"Hiqe"</string>
     <string name="color_temperature" msgid="2501579996151717270">"Shfaq temperaturën e ngjyrës"</string>
     <string name="color_temperature_desc" msgid="3603319696846982249">"Aktivizo temperaturën e ftohtë"</string>
+    <string name="usage" msgid="2977875522080448986">"Përdorimi"</string>
+    <string name="cellular_data_usage" msgid="2763710678354680712">"Përdorimi i të dhënave celulare"</string>
+    <string name="wifi_data_usage" msgid="686754111095324306">"Përdorimi i të dhënave me Wi-Fi"</string>
+    <string name="ethernet_data_usage" msgid="5108764537574354616">"Përdorimi i të dhënave me eternet"</string>
+    <string name="wifi" msgid="1081550856200013637">"Wi-Fi"</string>
+    <string name="ethernet" msgid="6600095783781389720">"Eterneti"</string>
+    <string name="cell_data_template" msgid="3308709914705592281">"Të dhëna celulare <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="wifi_data_template" msgid="501654649753761778">"Të dhëna me Wi-Fi <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="ethernet_data_template" msgid="5775729859383597507">"Të dhëna me eternet <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="cell_warning_only" msgid="763147658209027140">"Paralajmërimi i të dhënave <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="cell_warning_and_limit" msgid="2273413629267437470">"Paralajmërimi i të dhënave <xliff:g id="ID_1">%1$s</xliff:g> / Kufiri i të dhënave <xliff:g id="ID_2">%2$s</xliff:g>"</string>
+    <string name="billing_cycle" msgid="5169909190811133499">"Cikli i faturimit"</string>
+    <string name="billing_cycle_summary" msgid="9009106526129293752">"Cikli muor fillon në datë <xliff:g id="ID_1">%1$s</xliff:g> të çdo muaji"</string>
+    <string name="billing_cycle_fragment_summary" msgid="1940518156600077066">"Çdo muaj duke filluar nga <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="network_restrictions" msgid="8234695294536675380">"Kufizimet e rrjetit"</string>
+    <string name="operator_warning" msgid="7206980278353372811">"Llogaritja e të dhënave nga operatori mund të ndryshojë nga ajo e pajisjes tënde."</string>
+    <string name="data_used_template" msgid="3245919669966296505">"<xliff:g id="ID_1">%1$s</xliff:g> të përdorura"</string>
+    <string name="data_warning" msgid="209133958008062117">"Paralajmërimi i të dhënave"</string>
+    <string name="set_data_limit" msgid="2901526323210516923">"Cakto kufirin e të dhënave"</string>
+    <string name="data_limit" msgid="1885406964934590552">"Kufiri i të dhënave"</string>
+    <string name="data_usage_template" msgid="392191945602400904">"<xliff:g id="ID_1">%1$s</xliff:g> të përdorura mes datave <xliff:g id="ID_2">%2$s</xliff:g>"</string>
+    <string name="configure" msgid="1029654422228677273">"Konfiguro"</string>
 </resources>
diff --git a/res/values-sr/strings.xml b/res/values-sr/strings.xml
index 7fd673a..dc7c884 100644
--- a/res/values-sr/strings.xml
+++ b/res/values-sr/strings.xml
@@ -75,8 +75,7 @@
     <string name="sdcard_unmount" product="default" msgid="3364184561355611897">"Ослобађање SD картице"</string>
     <string name="sdcard_format" product="nosdcard" msgid="6285310523155166716">"Брисање USB меморије"</string>
     <string name="sdcard_format" product="default" msgid="6713185532039187532">"Избриши SD картицу"</string>
-    <!-- no translation found for font_size_summary (133937309990844030) -->
-    <skip />
+    <string name="font_size_summary" msgid="133937309990844030">"Омогућава да текст на екрану буде мањи или већи."</string>
     <string name="small_font" msgid="2295331917424072635">"Мала"</string>
     <string name="medium_font" msgid="2068475425515133701">"Средња"</string>
     <string name="large_font" msgid="599055175160971446">"Велика"</string>
@@ -266,7 +265,8 @@
     <string name="roaming_disable" msgid="1295279574370898378">"Повезивање са услугом за податке током роминга"</string>
     <string name="roaming_reenable_message" msgid="9141007271031717369">"Веза за пренос података је прекинута зато што сте напустили матичну мрежу са искљученим преносом података у ромингу."</string>
     <string name="roaming_turn_it_on_button" msgid="4387601818162120589">"Укључи"</string>
-    <string name="roaming_warning" msgid="7625933694709170887">"Када омогућите пренос података у ромингу, могу да настану велики трошкови роминга!"</string>
+    <!-- no translation found for roaming_warning (4275443317524544705) -->
+    <skip />
     <string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"Када омогућите пренос података у ромингу, можете да направите велике трошкове у ромингу!\n\nОво подешавање утиче на све кориснике овог таблета."</string>
     <string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"Када омогућите пренос података у ромингу, можете да направите велике трошкове у ромингу!\n\nОво подешавање утиче на све кориснике овог телефона."</string>
     <string name="roaming_reenable_title" msgid="6068100976707316772">"Дозволите пренос података у ромингу?"</string>
@@ -1953,6 +1953,10 @@
     <string name="sync_is_failing" msgid="1591561768344128377">"Синхронизација тренутно има проблема. Ускоро ће се вратити."</string>
     <string name="add_account_label" msgid="7811707265834013767">"Додај налог"</string>
     <string name="managed_profile_not_available_label" msgid="852263300911325904">"Пословни профил још увек није доступан"</string>
+    <!-- no translation found for work_mode_label (5794470908668593961) -->
+    <skip />
+    <!-- no translation found for work_mode_summary (1620246003886940776) -->
+    <skip />
     <string name="remove_managed_profile_label" msgid="3856519337797285325">"Уклони профил за посао"</string>
     <string name="background_data" msgid="5779592891375473817">"Подаци о позадини"</string>
     <string name="background_data_summary" msgid="8328521479872763452">"Апликације увек могу да синхронизују, шаљу и примају податке"</string>
@@ -2779,8 +2783,7 @@
     <string name="camera_double_tap_power_gesture_desc" msgid="7355664631775680376">"Брзо отворите камеру без откључавања екрана"</string>
     <string name="screen_zoom_title" msgid="6332123593919641665">"Ниво зумирања екрана"</string>
     <string name="screen_zoom_keywords" msgid="9176477565403352552">"густина екрана, зумирање екрана, размера, прилагођавање"</string>
-    <!-- no translation found for screen_zoom_summary (2022973627105802010) -->
-    <skip />
+    <string name="screen_zoom_summary" msgid="2022973627105802010">"Омогућава да све ставке на екрану буду мање или веће. Положај неких апликација на почетном екрану може да се промени након промене овог подешавања."</string>
     <string name="screen_zoom_preview_title" msgid="4680671508172336572">"Преглед"</string>
     <string name="screen_zoom_make_smaller_desc" msgid="4622359904253364742">"Умањи"</string>
     <string name="screen_zoom_make_larger_desc" msgid="2236171043607896594">"Увећај"</string>
@@ -2824,8 +2827,55 @@
     <string name="condition_cellular_summary" msgid="1818046558419658463">"Интернет је доступан само преко Wi-Fi-ја"</string>
     <string name="condition_bg_data_title" msgid="1422001615923482010">"Позадински подаци су искључени"</string>
     <string name="condition_bg_data_summary" msgid="656957852895282228">"Позадински подаци су доступни само преко Wi-Fi-ја. То може да утиче на неке апликације или услуге када Wi-Fi није доступан."</string>
+    <!-- no translation found for condition_work_title (7293722361184366648) -->
+    <skip />
+    <!-- no translation found for condition_work_summary (7543202177571590378) -->
+    <skip />
     <string name="suggestions_title" msgid="8758376306825920705">"Предлози (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
     <string name="suggestion_remove" msgid="904627293892092439">"Уклони"</string>
     <string name="color_temperature" msgid="2501579996151717270">"Прикажи температуру боје"</string>
     <string name="color_temperature_desc" msgid="3603319696846982249">"Омогућава хладну температуру"</string>
+    <!-- no translation found for usage (2977875522080448986) -->
+    <skip />
+    <!-- no translation found for cellular_data_usage (2763710678354680712) -->
+    <skip />
+    <!-- no translation found for wifi_data_usage (686754111095324306) -->
+    <skip />
+    <!-- no translation found for ethernet_data_usage (5108764537574354616) -->
+    <skip />
+    <string name="wifi" msgid="1081550856200013637">"Wi-Fi"</string>
+    <!-- no translation found for ethernet (6600095783781389720) -->
+    <skip />
+    <!-- no translation found for cell_data_template (3308709914705592281) -->
+    <skip />
+    <!-- no translation found for wifi_data_template (501654649753761778) -->
+    <skip />
+    <!-- no translation found for ethernet_data_template (5775729859383597507) -->
+    <skip />
+    <!-- no translation found for cell_warning_only (763147658209027140) -->
+    <skip />
+    <!-- no translation found for cell_warning_and_limit (2273413629267437470) -->
+    <skip />
+    <!-- no translation found for billing_cycle (5169909190811133499) -->
+    <skip />
+    <!-- no translation found for billing_cycle_summary (9009106526129293752) -->
+    <skip />
+    <!-- no translation found for billing_cycle_fragment_summary (1940518156600077066) -->
+    <skip />
+    <!-- no translation found for network_restrictions (8234695294536675380) -->
+    <skip />
+    <!-- no translation found for operator_warning (7206980278353372811) -->
+    <skip />
+    <!-- no translation found for data_used_template (3245919669966296505) -->
+    <skip />
+    <!-- no translation found for data_warning (209133958008062117) -->
+    <skip />
+    <!-- no translation found for set_data_limit (2901526323210516923) -->
+    <skip />
+    <!-- no translation found for data_limit (1885406964934590552) -->
+    <skip />
+    <!-- no translation found for data_usage_template (392191945602400904) -->
+    <skip />
+    <!-- no translation found for configure (1029654422228677273) -->
+    <skip />
 </resources>
diff --git a/res/values-sv/strings.xml b/res/values-sv/strings.xml
index 4063dd2..fcac3ce 100644
--- a/res/values-sv/strings.xml
+++ b/res/values-sv/strings.xml
@@ -74,8 +74,7 @@
     <string name="sdcard_unmount" product="default" msgid="3364184561355611897">"Montera bort SD-kort"</string>
     <string name="sdcard_format" product="nosdcard" msgid="6285310523155166716">"Radera USB-lagring"</string>
     <string name="sdcard_format" product="default" msgid="6713185532039187532">"Radera SD-kort"</string>
-    <!-- no translation found for font_size_summary (133937309990844030) -->
-    <skip />
+    <string name="font_size_summary" msgid="133937309990844030">"Gör texten på skärmen större eller mindre."</string>
     <string name="small_font" msgid="2295331917424072635">"Liten"</string>
     <string name="medium_font" msgid="2068475425515133701">"Medium"</string>
     <string name="large_font" msgid="599055175160971446">"Stor"</string>
@@ -265,7 +264,8 @@
     <string name="roaming_disable" msgid="1295279574370898378">"Anslut till datatjänster vid roaming"</string>
     <string name="roaming_reenable_message" msgid="9141007271031717369">"Du förlorade dataanslutningen eftersom du lämnade ditt hemnätverk utan att aktivera dataroaming."</string>
     <string name="roaming_turn_it_on_button" msgid="4387601818162120589">"Aktivera"</string>
-    <string name="roaming_warning" msgid="7625933694709170887">"När du tillåter dataroaming kan det tillkomma vissa avgifter!"</string>
+    <!-- no translation found for roaming_warning (4275443317524544705) -->
+    <skip />
     <string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"Om du tillåter dataroaming kan det leda till höga kostnader.\n\nDen här inställningen påverkar samtliga användare."</string>
     <string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"Om du tillåter dataroaming kan det leda till höga kostnader.\n\nDen här inställningen påverkar samtliga användare."</string>
     <string name="roaming_reenable_title" msgid="6068100976707316772">"Vill du tillåta dataroaming?"</string>
@@ -1937,6 +1937,10 @@
     <string name="sync_is_failing" msgid="1591561768344128377">"Det är för närvarande problem med synkronisering. Det fungerar igen om en stund."</string>
     <string name="add_account_label" msgid="7811707265834013767">"Lägg till konto"</string>
     <string name="managed_profile_not_available_label" msgid="852263300911325904">"Arbetsprofilen är inte tillgänglig än"</string>
+    <!-- no translation found for work_mode_label (5794470908668593961) -->
+    <skip />
+    <!-- no translation found for work_mode_summary (1620246003886940776) -->
+    <skip />
     <string name="remove_managed_profile_label" msgid="3856519337797285325">"Ta bort arbetsprofilen"</string>
     <string name="background_data" msgid="5779592891375473817">"Bakgrundsdata"</string>
     <string name="background_data_summary" msgid="8328521479872763452">"Appar kan synkronisera, skicka och ta emot data när som helst"</string>
@@ -2754,8 +2758,7 @@
     <string name="camera_double_tap_power_gesture_desc" msgid="7355664631775680376">"Öppna kameran snabbt utan att låsa upp skärmen"</string>
     <string name="screen_zoom_title" msgid="6332123593919641665">"Skärmförstoring"</string>
     <string name="screen_zoom_keywords" msgid="9176477565403352552">"skärmdensitet, skärmzoom, skala, förstoring"</string>
-    <!-- no translation found for screen_zoom_summary (2022973627105802010) -->
-    <skip />
+    <string name="screen_zoom_summary" msgid="2022973627105802010">"Gör alla objekt på skärmen större eller mindre. Vissa appar på startskärmen kan byta plats när du har ändrat den här inställningen."</string>
     <string name="screen_zoom_preview_title" msgid="4680671508172336572">"Förhandsgranskning"</string>
     <string name="screen_zoom_make_smaller_desc" msgid="4622359904253364742">"Förminska"</string>
     <string name="screen_zoom_make_larger_desc" msgid="2236171043607896594">"Förstora"</string>
@@ -2799,8 +2802,55 @@
     <string name="condition_cellular_summary" msgid="1818046558419658463">"Internet är endast tillgängligt via Wi-Fi"</string>
     <string name="condition_bg_data_title" msgid="1422001615923482010">"Bakgrundsdata har inaktiverats"</string>
     <string name="condition_bg_data_summary" msgid="656957852895282228">"Bakgrundsdata är endast tillgänglig via Wi-Fi. Det här kan påverka vissa appar eller tjänster när du inte har tillgång till Wi-Fi."</string>
+    <!-- no translation found for condition_work_title (7293722361184366648) -->
+    <skip />
+    <!-- no translation found for condition_work_summary (7543202177571590378) -->
+    <skip />
     <string name="suggestions_title" msgid="8758376306825920705">"Förslag (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
     <string name="suggestion_remove" msgid="904627293892092439">"Ta bort"</string>
     <string name="color_temperature" msgid="2501579996151717270">"Visa färgtemperatur"</string>
     <string name="color_temperature_desc" msgid="3603319696846982249">"Aktivera kall temperatur"</string>
+    <!-- no translation found for usage (2977875522080448986) -->
+    <skip />
+    <!-- no translation found for cellular_data_usage (2763710678354680712) -->
+    <skip />
+    <!-- no translation found for wifi_data_usage (686754111095324306) -->
+    <skip />
+    <!-- no translation found for ethernet_data_usage (5108764537574354616) -->
+    <skip />
+    <string name="wifi" msgid="1081550856200013637">"Wi-Fi"</string>
+    <!-- no translation found for ethernet (6600095783781389720) -->
+    <skip />
+    <!-- no translation found for cell_data_template (3308709914705592281) -->
+    <skip />
+    <!-- no translation found for wifi_data_template (501654649753761778) -->
+    <skip />
+    <!-- no translation found for ethernet_data_template (5775729859383597507) -->
+    <skip />
+    <!-- no translation found for cell_warning_only (763147658209027140) -->
+    <skip />
+    <!-- no translation found for cell_warning_and_limit (2273413629267437470) -->
+    <skip />
+    <!-- no translation found for billing_cycle (5169909190811133499) -->
+    <skip />
+    <!-- no translation found for billing_cycle_summary (9009106526129293752) -->
+    <skip />
+    <!-- no translation found for billing_cycle_fragment_summary (1940518156600077066) -->
+    <skip />
+    <!-- no translation found for network_restrictions (8234695294536675380) -->
+    <skip />
+    <!-- no translation found for operator_warning (7206980278353372811) -->
+    <skip />
+    <!-- no translation found for data_used_template (3245919669966296505) -->
+    <skip />
+    <!-- no translation found for data_warning (209133958008062117) -->
+    <skip />
+    <!-- no translation found for set_data_limit (2901526323210516923) -->
+    <skip />
+    <!-- no translation found for data_limit (1885406964934590552) -->
+    <skip />
+    <!-- no translation found for data_usage_template (392191945602400904) -->
+    <skip />
+    <!-- no translation found for configure (1029654422228677273) -->
+    <skip />
 </resources>
diff --git a/res/values-sw/strings.xml b/res/values-sw/strings.xml
index 065771f..546c56f 100644
--- a/res/values-sw/strings.xml
+++ b/res/values-sw/strings.xml
@@ -74,8 +74,7 @@
     <string name="sdcard_unmount" product="default" msgid="3364184561355611897">"Ondoa kadi ya SD"</string>
     <string name="sdcard_format" product="nosdcard" msgid="6285310523155166716">"Futa hifadhi ya USB"</string>
     <string name="sdcard_format" product="default" msgid="6713185532039187532">"Futa kadi ya SD"</string>
-    <!-- no translation found for font_size_summary (133937309990844030) -->
-    <skip />
+    <string name="font_size_summary" msgid="133937309990844030">"Ongeza au upunguze ukubwa wa maandishi kwenye skrini."</string>
     <string name="small_font" msgid="2295331917424072635">"Ndogo"</string>
     <string name="medium_font" msgid="2068475425515133701">"Wastani"</string>
     <string name="large_font" msgid="599055175160971446">"Kubwa"</string>
@@ -267,7 +266,8 @@
     <string name="roaming_disable" msgid="1295279574370898378">"Unganisha huduma ya data wakati niko nje ya mtandao wangu wa kawaida"</string>
     <string name="roaming_reenable_message" msgid="9141007271031717369">"Umepoteza muunganisho wa data kwa sababu uliondoka kwenye mtandao wako wa kawaida ukiwa umezima utumiaji data nje ya mtandao wa kawaida."</string>
     <string name="roaming_turn_it_on_button" msgid="4387601818162120589">"Iwashe"</string>
-    <string name="roaming_warning" msgid="7625933694709170887">"Ukiruhusu data kupitia mitandao mingine, unaweza kupata gharama kubwa ya kupitia mitandao mingine!"</string>
+    <!-- no translation found for roaming_warning (4275443317524544705) -->
+    <skip />
     <string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"Unaporuhusu data kupitia mitandao mingine, huenda ukatozwa gharama kubwa za matumizi ya nje!\n\nMpangilio huu unaathiri watumiaji wote kwenye kompyuta hii ndogo."</string>
     <string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"Unaporuhusu data kupitia mitandao mingine, huenda ukatozwa gharama kubwa za matumizi ya nje!\n\nMpangilio huu unaathiri watumiaji wote kwenye simu hii."</string>
     <string name="roaming_reenable_title" msgid="6068100976707316772">"Ruhusu data kupitia mitandao mingine?"</string>
@@ -1943,6 +1943,10 @@
     <string name="sync_is_failing" msgid="1591561768344128377">"Kwa sasa usawazishaji una tatizo. Utarudi baada ya muda mfupi."</string>
     <string name="add_account_label" msgid="7811707265834013767">"Ongeza akaunti"</string>
     <string name="managed_profile_not_available_label" msgid="852263300911325904">"Wasifu wa kazini bado haupatikani"</string>
+    <!-- no translation found for work_mode_label (5794470908668593961) -->
+    <skip />
+    <!-- no translation found for work_mode_summary (1620246003886940776) -->
+    <skip />
     <string name="remove_managed_profile_label" msgid="3856519337797285325">"Ondoa wasifu wa kazi"</string>
     <string name="background_data" msgid="5779592891375473817">"Data ya maandhari nyuma"</string>
     <string name="background_data_summary" msgid="8328521479872763452">"Programu inaweza kusawazisha, kutuma, na kupokea data wakati wowote"</string>
@@ -2760,8 +2764,7 @@
     <string name="camera_double_tap_power_gesture_desc" msgid="7355664631775680376">"Fungua kamera kwa haraka bila kufungua skrini yako"</string>
     <string name="screen_zoom_title" msgid="6332123593919641665">"Kukuza skrini"</string>
     <string name="screen_zoom_keywords" msgid="9176477565403352552">"onyesha uzito, kukuza skrini, kipimo, kupima"</string>
-    <!-- no translation found for screen_zoom_summary (2022973627105802010) -->
-    <skip />
+    <string name="screen_zoom_summary" msgid="2022973627105802010">"Ongeza au upunguze ukubwa wa vipengee vyote kwenye skrini. Baadhi ya programu kwenye skrini yako ya kwanza zinaweza kubadilisha mahali zilipo baada ya kubadilisha mipangilio hii."</string>
     <string name="screen_zoom_preview_title" msgid="4680671508172336572">"Onyesho la kuchungulia"</string>
     <string name="screen_zoom_make_smaller_desc" msgid="4622359904253364742">"Punguza"</string>
     <string name="screen_zoom_make_larger_desc" msgid="2236171043607896594">"Kuza"</string>
@@ -2805,8 +2808,55 @@
     <string name="condition_cellular_summary" msgid="1818046558419658463">"Intaneti inapatikana kupitia Wi-Fi pekee"</string>
     <string name="condition_bg_data_title" msgid="1422001615923482010">"Data ya chini chini imezimwa"</string>
     <string name="condition_bg_data_summary" msgid="656957852895282228">"Data ya chini chini inapatikana tu kupitia Wi-Fi. Hii inaweza kuathiri baadhi ya programu au huduma wakati Wi-Fi haipatikani."</string>
+    <!-- no translation found for condition_work_title (7293722361184366648) -->
+    <skip />
+    <!-- no translation found for condition_work_summary (7543202177571590378) -->
+    <skip />
     <string name="suggestions_title" msgid="8758376306825920705">"Mapendekezo ya (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
     <string name="suggestion_remove" msgid="904627293892092439">"Ondoa"</string>
     <string name="color_temperature" msgid="2501579996151717270">"Onyesha halijoto ya rangi"</string>
     <string name="color_temperature_desc" msgid="3603319696846982249">"Washa halijoto ya baridi"</string>
+    <!-- no translation found for usage (2977875522080448986) -->
+    <skip />
+    <!-- no translation found for cellular_data_usage (2763710678354680712) -->
+    <skip />
+    <!-- no translation found for wifi_data_usage (686754111095324306) -->
+    <skip />
+    <!-- no translation found for ethernet_data_usage (5108764537574354616) -->
+    <skip />
+    <string name="wifi" msgid="1081550856200013637">"Mtandao-hewa"</string>
+    <!-- no translation found for ethernet (6600095783781389720) -->
+    <skip />
+    <!-- no translation found for cell_data_template (3308709914705592281) -->
+    <skip />
+    <!-- no translation found for wifi_data_template (501654649753761778) -->
+    <skip />
+    <!-- no translation found for ethernet_data_template (5775729859383597507) -->
+    <skip />
+    <!-- no translation found for cell_warning_only (763147658209027140) -->
+    <skip />
+    <!-- no translation found for cell_warning_and_limit (2273413629267437470) -->
+    <skip />
+    <!-- no translation found for billing_cycle (5169909190811133499) -->
+    <skip />
+    <!-- no translation found for billing_cycle_summary (9009106526129293752) -->
+    <skip />
+    <!-- no translation found for billing_cycle_fragment_summary (1940518156600077066) -->
+    <skip />
+    <!-- no translation found for network_restrictions (8234695294536675380) -->
+    <skip />
+    <!-- no translation found for operator_warning (7206980278353372811) -->
+    <skip />
+    <!-- no translation found for data_used_template (3245919669966296505) -->
+    <skip />
+    <!-- no translation found for data_warning (209133958008062117) -->
+    <skip />
+    <!-- no translation found for set_data_limit (2901526323210516923) -->
+    <skip />
+    <!-- no translation found for data_limit (1885406964934590552) -->
+    <skip />
+    <!-- no translation found for data_usage_template (392191945602400904) -->
+    <skip />
+    <!-- no translation found for configure (1029654422228677273) -->
+    <skip />
 </resources>
diff --git a/res/values-ta-rIN/strings.xml b/res/values-ta-rIN/strings.xml
index f326098..7394b33 100644
--- a/res/values-ta-rIN/strings.xml
+++ b/res/values-ta-rIN/strings.xml
@@ -74,8 +74,7 @@
     <string name="sdcard_unmount" product="default" msgid="3364184561355611897">"SD கார்டை அகற்று"</string>
     <string name="sdcard_format" product="nosdcard" msgid="6285310523155166716">"USB சேமிப்பிடத்தை அழி"</string>
     <string name="sdcard_format" product="default" msgid="6713185532039187532">"SD கார்டை அழி"</string>
-    <!-- no translation found for font_size_summary (133937309990844030) -->
-    <skip />
+    <string name="font_size_summary" msgid="133937309990844030">"திரையில் காட்டப்படும் உரையைச் சிறிதாக்கும் அல்லது பெரிதாக்கும்."</string>
     <string name="small_font" msgid="2295331917424072635">"சிறிய"</string>
     <string name="medium_font" msgid="2068475425515133701">"நடுத்தரம்"</string>
     <string name="large_font" msgid="599055175160971446">"பெரிய"</string>
@@ -265,7 +264,8 @@
     <string name="roaming_disable" msgid="1295279574370898378">"ரோமிங்கின் போது தரவு சேவைகளுடன் இணை"</string>
     <string name="roaming_reenable_message" msgid="9141007271031717369">"உங்களுடைய உள்ளூர் நெட்வொர்க்கில் தரவு ரோமிங்கை முடக்கியுள்ளதால் உங்கள் தரவு இணைப்பை இழந்துவிட்டீர்கள்."</string>
     <string name="roaming_turn_it_on_button" msgid="4387601818162120589">"இதை இயக்கவும்"</string>
-    <string name="roaming_warning" msgid="7625933694709170887">"நீங்கள் தரவு ரோமிங்கை அனுமதிக்கும்போது, குறிப்பிட்ட ரோமிங் கட்டணங்கள் உங்களுக்கு விதிக்கப்படலாம்!"</string>
+    <!-- no translation found for roaming_warning (4275443317524544705) -->
+    <skip />
     <string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"நீங்கள் தரவு ரோமிங்கை அனுமதிக்கும்போது, குறிப்பிட்ட ரோமிங் கட்டணங்கள் உங்களுக்கு விதிக்கப்படலாம்!\n\nஅமைப்பானது, டேப்லெட்டில் உள்ள அனைவரையும் பாதிக்கும்."</string>
     <string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"நீங்கள் தரவு ரோமிங்கை அனுமதிக்கும்போது, குறிப்பிட்ட ரோமிங் கட்டணங்கள் உங்களுக்கு விதிக்கப்படலாம்!\n\nஅமைப்பானது, தொலைபேசியில் உள்ள அனைவரையும் பாதிக்கும்."</string>
     <string name="roaming_reenable_title" msgid="6068100976707316772">"தரவு ரோமிங்கை அனுமதிக்கவா?"</string>
@@ -1937,6 +1937,10 @@
     <string name="sync_is_failing" msgid="1591561768344128377">"ஒத்திசைவில் தற்போது சிக்கல்களை எதிர்கொள்கிறோம். விரைவில் இது சரிசெய்யப்படும்."</string>
     <string name="add_account_label" msgid="7811707265834013767">"கணக்கைச் சேர்"</string>
     <string name="managed_profile_not_available_label" msgid="852263300911325904">"இன்னும் பணி சுயவிவரம் கிடைக்கவில்லை"</string>
+    <!-- no translation found for work_mode_label (5794470908668593961) -->
+    <skip />
+    <!-- no translation found for work_mode_summary (1620246003886940776) -->
+    <skip />
     <string name="remove_managed_profile_label" msgid="3856519337797285325">"பணி சுயவிவரத்தை அகற்று"</string>
     <string name="background_data" msgid="5779592891375473817">"பின்புலத் தரவு"</string>
     <string name="background_data_summary" msgid="8328521479872763452">"பயன்பாடுகளால் எந்நேரத்திலும் தரவை ஒத்திசைக்கவும், அனுப்பவும் பெறவும் முடியும்"</string>
@@ -2754,8 +2758,7 @@
     <string name="camera_double_tap_power_gesture_desc" msgid="7355664631775680376">"திரையைத் திறக்காமலேயே கேமராவை வேகமாகத் திறக்கும்"</string>
     <string name="screen_zoom_title" msgid="6332123593919641665">"திரையின் அளவை மாற்று"</string>
     <string name="screen_zoom_keywords" msgid="9176477565403352552">"திரை அடர்த்தி, ஸ்கிரீன் ஜும், அளவு, அளவிடல்"</string>
-    <!-- no translation found for screen_zoom_summary (2022973627105802010) -->
-    <skip />
+    <string name="screen_zoom_summary" msgid="2022973627105802010">"திரையில் உள்ள எல்லாவற்றையும் சிறிதாக்கும் அல்லது பெரிதாக்கும். இந்த அமைப்பை மாற்றிய பின், முகப்புத் திரையில் உள்ள சில பயன்பாடுகளின் நிலை மாறக்கூடும்."</string>
     <string name="screen_zoom_preview_title" msgid="4680671508172336572">"மாதிரிக்காட்சி"</string>
     <string name="screen_zoom_make_smaller_desc" msgid="4622359904253364742">"சிறிதாக்கு"</string>
     <string name="screen_zoom_make_larger_desc" msgid="2236171043607896594">"பெரிதாக்கு"</string>
@@ -2799,8 +2802,56 @@
     <string name="condition_cellular_summary" msgid="1818046558419658463">"வைஃபை மூலம் மட்டுமே இணையம் கிடைக்கும்"</string>
     <string name="condition_bg_data_title" msgid="1422001615923482010">"பின்புலத் தரவு: முடக்கத்தில்"</string>
     <string name="condition_bg_data_summary" msgid="656957852895282228">"வைஃபை மூலம் மட்டுமே பின்புலத் தரவு செயல்படும். இதனால் வைஃபை கிடைக்காத போது சில பயன்பாடுகள் அல்லது சேவைகள் பாதிக்கப்படலாம்."</string>
+    <!-- no translation found for condition_work_title (7293722361184366648) -->
+    <skip />
+    <!-- no translation found for condition_work_summary (7543202177571590378) -->
+    <skip />
     <string name="suggestions_title" msgid="8758376306825920705">"பரிந்துரைகள் (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
     <string name="suggestion_remove" msgid="904627293892092439">"அகற்று"</string>
     <string name="color_temperature" msgid="2501579996151717270">"காட்சியின் வண்ண அளவு"</string>
     <string name="color_temperature_desc" msgid="3603319696846982249">"வெளிர் அளவை இயக்கு"</string>
+    <!-- no translation found for usage (2977875522080448986) -->
+    <skip />
+    <!-- no translation found for cellular_data_usage (2763710678354680712) -->
+    <skip />
+    <!-- no translation found for wifi_data_usage (686754111095324306) -->
+    <skip />
+    <!-- no translation found for ethernet_data_usage (5108764537574354616) -->
+    <skip />
+    <!-- no translation found for wifi (1081550856200013637) -->
+    <skip />
+    <!-- no translation found for ethernet (6600095783781389720) -->
+    <skip />
+    <!-- no translation found for cell_data_template (3308709914705592281) -->
+    <skip />
+    <!-- no translation found for wifi_data_template (501654649753761778) -->
+    <skip />
+    <!-- no translation found for ethernet_data_template (5775729859383597507) -->
+    <skip />
+    <!-- no translation found for cell_warning_only (763147658209027140) -->
+    <skip />
+    <!-- no translation found for cell_warning_and_limit (2273413629267437470) -->
+    <skip />
+    <!-- no translation found for billing_cycle (5169909190811133499) -->
+    <skip />
+    <!-- no translation found for billing_cycle_summary (9009106526129293752) -->
+    <skip />
+    <!-- no translation found for billing_cycle_fragment_summary (1940518156600077066) -->
+    <skip />
+    <!-- no translation found for network_restrictions (8234695294536675380) -->
+    <skip />
+    <!-- no translation found for operator_warning (7206980278353372811) -->
+    <skip />
+    <!-- no translation found for data_used_template (3245919669966296505) -->
+    <skip />
+    <!-- no translation found for data_warning (209133958008062117) -->
+    <skip />
+    <!-- no translation found for set_data_limit (2901526323210516923) -->
+    <skip />
+    <!-- no translation found for data_limit (1885406964934590552) -->
+    <skip />
+    <!-- no translation found for data_usage_template (392191945602400904) -->
+    <skip />
+    <!-- no translation found for configure (1029654422228677273) -->
+    <skip />
 </resources>
diff --git a/res/values-te-rIN/strings.xml b/res/values-te-rIN/strings.xml
index 8a21eb2..43e5a39 100644
--- a/res/values-te-rIN/strings.xml
+++ b/res/values-te-rIN/strings.xml
@@ -74,8 +74,7 @@
     <string name="sdcard_unmount" product="default" msgid="3364184561355611897">"SD కార్డు‌ను అన్‌మౌంట్ చేయండి"</string>
     <string name="sdcard_format" product="nosdcard" msgid="6285310523155166716">"USB నిల్వను ఎరేజ్ చేయండి"</string>
     <string name="sdcard_format" product="default" msgid="6713185532039187532">"SD కార్డు‌ను ఎరేజ్ చేయండి"</string>
-    <!-- no translation found for font_size_summary (133937309990844030) -->
-    <skip />
+    <string name="font_size_summary" msgid="133937309990844030">"స్క్రీన్‌పై ఉన్న వచనాన్ని చిన్నదిగా లేదా పెద్దదిగా చేస్తుంది."</string>
     <string name="small_font" msgid="2295331917424072635">"చిన్నది"</string>
     <string name="medium_font" msgid="2068475425515133701">"మధ్యస్థం"</string>
     <string name="large_font" msgid="599055175160971446">"పెద్దది"</string>
@@ -265,7 +264,7 @@
     <string name="roaming_disable" msgid="1295279574370898378">"రోమింగ్‌లో ఉన్నప్పుడు డేటా సేవలకు కనెక్ట్ చేయి"</string>
     <string name="roaming_reenable_message" msgid="9141007271031717369">"మీరు ఆఫ్ చేయబడిన డేటా రోమింగ్‌తో మీ హోమ్ నెట్‌వర్క్ నుండి నిష్క్రమించినందున డేటా కనెక్టివిటీని కోల్పోయారు."</string>
     <string name="roaming_turn_it_on_button" msgid="4387601818162120589">"దీన్ని ప్రారంభించు"</string>
-    <string name="roaming_warning" msgid="7625933694709170887">"మీరు డేటా రోమింగ్‌ను అనుమతించినప్పుడు, మీకు గణనీయంగా రోమింగ్ ఛార్జీలు విధించబడవచ్చు!"</string>
+    <string name="roaming_warning" msgid="4275443317524544705">"మీకు గణనీయ ఛార్జీలు విధించబడవచ్చు."</string>
     <string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"మీరు డేటా రోమింగ్‌ను అనుమతించినప్పుడు, మీకు గణనీయంగా రోమింగ్ ఛార్జీలు విధించబడవచ్చు!\n\nఈ సెట్టింగ్ ఈ టాబ్లెట్‌లో వినియోగదారులందరినీ ప్రభావితం చేస్తుంది."</string>
     <string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"మీరు డేటా రోమింగ్‌ను అనుమతించినప్పుడు, మీకు గణనీయంగా రోమింగ్ ఛార్జీలు విధించబడవచ్చు!\n\nఈ సెట్టింగ్ ఈ ఫోన్‌లో వినియోగదారులందరినీ ప్రభావితం చేస్తుంది."</string>
     <string name="roaming_reenable_title" msgid="6068100976707316772">"డేటా రోమింగ్‌ను అనుమతించాలా?"</string>
@@ -1937,6 +1936,8 @@
     <string name="sync_is_failing" msgid="1591561768344128377">"సమకాలీకరణ ప్రస్తుతం సమస్యలను ఎదుర్కొంటోంది. ఇది త్వరలో అందుబాటులోకి వస్తుంది."</string>
     <string name="add_account_label" msgid="7811707265834013767">"ఖాతాను జోడించు"</string>
     <string name="managed_profile_not_available_label" msgid="852263300911325904">"కార్యాలయ ప్రొఫైల్ ఇప్పటికీ అందుబాటులో లేదు"</string>
+    <string name="work_mode_label" msgid="5794470908668593961">"కార్యాలయ మోడ్"</string>
+    <string name="work_mode_summary" msgid="1620246003886940776">"అనువర్తనాలు, నేపథ్య సమకాలీకరణ మరియు సంబంధిత లక్షణాలతో సహా కార్యాలయ ప్రొఫైల్‌ను పని చేయడానికి అనుమతిస్తుంది"</string>
     <string name="remove_managed_profile_label" msgid="3856519337797285325">"కార్యాలయ ప్రొఫైల్‌ను తీసివేయి"</string>
     <string name="background_data" msgid="5779592891375473817">"నేపథ్య డేటా"</string>
     <string name="background_data_summary" msgid="8328521479872763452">"అనువర్తనాలు ఏ సమయంలోనైనా డేటాను సమకాలీకరించవచ్చు, పంపవచ్చు మరియు స్వీకరించవచ్చు"</string>
@@ -2754,8 +2755,7 @@
     <string name="camera_double_tap_power_gesture_desc" msgid="7355664631775680376">"మీ స్క్రీన్‌ను అన్‌లాక్ చేయకుండానే కెమెరాను శీఘ్రంగా తెరుస్తుంది"</string>
     <string name="screen_zoom_title" msgid="6332123593919641665">"స్క్రీన్ జూమ్"</string>
     <string name="screen_zoom_keywords" msgid="9176477565403352552">"డిస్‌ప్లే సాంద్రత, స్క్రీన్ జూమ్, ప్రమాణం, కొలమానం"</string>
-    <!-- no translation found for screen_zoom_summary (2022973627105802010) -->
-    <skip />
+    <string name="screen_zoom_summary" msgid="2022973627105802010">"స్క్రీన్‌పై ఉన్న అన్ని అంశాలను చిన్నవిగా లేదా పెద్దవిగా చేస్తుంది. ఈ సెట్టింగ్‌ను మార్చిన తర్వాత మీ హోమ్ స్క్రీన్‌పై ఉన్న కొన్ని అనువర్తనాల స్థానం మారవచ్చు."</string>
     <string name="screen_zoom_preview_title" msgid="4680671508172336572">"పరిదృశ్యం"</string>
     <string name="screen_zoom_make_smaller_desc" msgid="4622359904253364742">"చిన్నదిగా చేస్తుంది"</string>
     <string name="screen_zoom_make_larger_desc" msgid="2236171043607896594">"పెద్దదిగా చేస్తుంది"</string>
@@ -2799,8 +2799,32 @@
     <string name="condition_cellular_summary" msgid="1818046558419658463">"Wi-Fi ద్వారా మాత్రమే ఇంటర్నెట్ అందుబాటులో ఉంది"</string>
     <string name="condition_bg_data_title" msgid="1422001615923482010">"నేపథ్య డేటా ఆఫ్‌లో ఉంది"</string>
     <string name="condition_bg_data_summary" msgid="656957852895282228">"నేపథ్య డేటా Wi-Fi ద్వారా మాత్రమే అందుబాటులో ఉంది. Wi-Fi అందుబాటులో లేనప్పుడు కొన్ని అనువర్తనాలు లేదా సేవలపై దీని ప్రభావం ఉండవచ్చు."</string>
+    <string name="condition_work_title" msgid="7293722361184366648">"కార్యాలయ ప్రొఫైల్ ఆఫ్‌లో ఉంది"</string>
+    <string name="condition_work_summary" msgid="7543202177571590378">"మీ కార్యాలయ ప్రొఫైల్‌కి సంబంధించిన అనువర్తనాలు, నేపథ్య సమకాలీకరణ మరియు ఇతర లక్షణాలు ఆఫ్ చేయబడ్డాయి."</string>
     <string name="suggestions_title" msgid="8758376306825920705">"సూచనలు (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
     <string name="suggestion_remove" msgid="904627293892092439">"తీసివేయి"</string>
     <string name="color_temperature" msgid="2501579996151717270">"డిస్‌ప్లే రంగు ఉష్ణోగ్రత"</string>
     <string name="color_temperature_desc" msgid="3603319696846982249">"చల్లని ఉష్ణోగ్రతను ప్రారంభిస్తుంది"</string>
+    <string name="usage" msgid="2977875522080448986">"వినియోగం"</string>
+    <string name="cellular_data_usage" msgid="2763710678354680712">"సెల్యులార్ డేటా వినియోగం"</string>
+    <string name="wifi_data_usage" msgid="686754111095324306">"Wi-Fi డేటా వినియోగం"</string>
+    <string name="ethernet_data_usage" msgid="5108764537574354616">"ఈథర్‌నెట్ డేటా వినియోగం"</string>
+    <string name="wifi" msgid="1081550856200013637">"Wi-Fi"</string>
+    <string name="ethernet" msgid="6600095783781389720">"ఈథర్‌నెట్"</string>
+    <string name="cell_data_template" msgid="3308709914705592281">"<xliff:g id="ID_1">%1$s</xliff:g> సెల్యులార్ డేటా"</string>
+    <string name="wifi_data_template" msgid="501654649753761778">"<xliff:g id="ID_1">%1$s</xliff:g> Wi-Fi డేటా"</string>
+    <string name="ethernet_data_template" msgid="5775729859383597507">"<xliff:g id="ID_1">%1$s</xliff:g> ఈథర్‌నెట్ డేటా"</string>
+    <string name="cell_warning_only" msgid="763147658209027140">"<xliff:g id="ID_1">%1$s</xliff:g> డేటా హెచ్చరిక"</string>
+    <string name="cell_warning_and_limit" msgid="2273413629267437470">"<xliff:g id="ID_1">%1$s</xliff:g> డేటా హెచ్చరిక / <xliff:g id="ID_2">%2$s</xliff:g> డేటా పరిమితి"</string>
+    <string name="billing_cycle" msgid="5169909190811133499">"బిల్లింగ్ సైకిల్"</string>
+    <string name="billing_cycle_summary" msgid="9009106526129293752">"నెలవారీ సైకిల్ ప్రతి నెలా <xliff:g id="ID_1">%1$s</xliff:g>వ తేదీన మొదలవుతుంది"</string>
+    <string name="billing_cycle_fragment_summary" msgid="1940518156600077066">"ప్రతి నెలా <xliff:g id="ID_1">%1$s</xliff:g>వ తేదీన మొదలవుతుంది"</string>
+    <string name="network_restrictions" msgid="8234695294536675380">"నెట్‌వర్క్ పరిమితులు"</string>
+    <string name="operator_warning" msgid="7206980278353372811">"ఆపరేటర్ డేటా లెక్కింపు మీ పరికరాన్ని బట్టి మారవచ్చు."</string>
+    <string name="data_used_template" msgid="3245919669966296505">"<xliff:g id="ID_1">%1$s</xliff:g> వినియోగించబడింది"</string>
+    <string name="data_warning" msgid="209133958008062117">"డేటా హెచ్చరిక"</string>
+    <string name="set_data_limit" msgid="2901526323210516923">"డేటా పరిమితిని సెట్ చేయి"</string>
+    <string name="data_limit" msgid="1885406964934590552">"డేటా పరిమితి"</string>
+    <string name="data_usage_template" msgid="392191945602400904">"<xliff:g id="ID_2">%2$s</xliff:g> వ్యవధిలో <xliff:g id="ID_1">%1$s</xliff:g> వినియోగించబడింది"</string>
+    <string name="configure" msgid="1029654422228677273">"కాన్ఫిగర్ చేయి"</string>
 </resources>
diff --git a/res/values-th/strings.xml b/res/values-th/strings.xml
index d96030b..b8bc4da 100644
--- a/res/values-th/strings.xml
+++ b/res/values-th/strings.xml
@@ -74,8 +74,7 @@
     <string name="sdcard_unmount" product="default" msgid="3364184561355611897">"ยกเลิกการต่อเชื่อมการ์ด SD"</string>
     <string name="sdcard_format" product="nosdcard" msgid="6285310523155166716">"ลบที่เก็บข้อมูล USB"</string>
     <string name="sdcard_format" product="default" msgid="6713185532039187532">"ลบการ์ด SD"</string>
-    <!-- no translation found for font_size_summary (133937309990844030) -->
-    <skip />
+    <string name="font_size_summary" msgid="133937309990844030">"ทำให้ข้อความบนหน้าจอมีขนาดเล็กลงหรือใหญ่ขึ้น"</string>
     <string name="small_font" msgid="2295331917424072635">"ขนาดเล็ก"</string>
     <string name="medium_font" msgid="2068475425515133701">"ปานกลาง"</string>
     <string name="large_font" msgid="599055175160971446">"ใหญ่"</string>
@@ -265,7 +264,8 @@
     <string name="roaming_disable" msgid="1295279574370898378">"เชื่อมต่ออินเทอร์เน็ตขณะโรมมิ่ง"</string>
     <string name="roaming_reenable_message" msgid="9141007271031717369">"การเชื่อมต่อข้อมูลของคุณหายไปเนื่องจากคุณออกจากเครือข่ายที่บ้านโดยปิดการโรมมิ่งข้อมูลไว้"</string>
     <string name="roaming_turn_it_on_button" msgid="4387601818162120589">"เปิด"</string>
-    <string name="roaming_warning" msgid="7625933694709170887">"การอนุญาตการโรมมิ่งข้อมูล อาจทำให้คุณเสียค่าใช้จ่ายมาก!"</string>
+    <!-- no translation found for roaming_warning (4275443317524544705) -->
+    <skip />
     <string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"เมื่อคุณอนุญาตการโรมมิ่งข้อมูล อาจมีการเรียกเก็บค่าใช้จ่ายเพิ่มเติมจำนวนมากในการโรมมิ่ง!\n\nการตั้งค่านี้ส่งผลต่อผู้ใช้แท็บเล็ตนี้ทุกราย"</string>
     <string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"เมื่อคุณอนุญาตการโรมมิ่งข้อมูล อาจมีการเรียกเก็บค่าใช้จ่ายเพิ่มเติมจำนวนมากในการโรมมิ่ง!\n\nการตั้งค่านี้ส่งผลต่อผู้ใช้โทรศัพท์นี้ทุกราย"</string>
     <string name="roaming_reenable_title" msgid="6068100976707316772">"อนุญาตการโรมมิ่งข้อมูลหรือไม่"</string>
@@ -1937,6 +1937,10 @@
     <string name="sync_is_failing" msgid="1591561768344128377">"การซิงค์กำลังประสบปัญหา อีกสักครู่จะกลับมาอีกครั้ง"</string>
     <string name="add_account_label" msgid="7811707265834013767">"เพิ่มบัญชี"</string>
     <string name="managed_profile_not_available_label" msgid="852263300911325904">"โปรไฟล์งานยังไม่พร้อมใช้งาน"</string>
+    <!-- no translation found for work_mode_label (5794470908668593961) -->
+    <skip />
+    <!-- no translation found for work_mode_summary (1620246003886940776) -->
+    <skip />
     <string name="remove_managed_profile_label" msgid="3856519337797285325">"นำโปรไฟล์งานออก"</string>
     <string name="background_data" msgid="5779592891375473817">"ข้อมูลพื้นหลัง"</string>
     <string name="background_data_summary" msgid="8328521479872763452">"แอปพลิเคชันสามารถซิงค์ ส่ง และรับข้อมูลได้ตลอดเวลา"</string>
@@ -2754,8 +2758,7 @@
     <string name="camera_double_tap_power_gesture_desc" msgid="7355664631775680376">"เปิดกล้องอย่างรวดเร็วโดยไม่ต้องปลดล็อกหน้าจอ"</string>
     <string name="screen_zoom_title" msgid="6332123593919641665">"การซูมหน้าจอ"</string>
     <string name="screen_zoom_keywords" msgid="9176477565403352552">"ความหนาแน่นในการแสดงผล, ซูมหน้าจอ, ระดับ, การปรับระดับ"</string>
-    <!-- no translation found for screen_zoom_summary (2022973627105802010) -->
-    <skip />
+    <string name="screen_zoom_summary" msgid="2022973627105802010">"ทำให้รายการทั้งหมดบนหน้าจอมีขนาดเล็กลงหรือใหญ่ขึ้น ตำแหน่งแอปบางส่วนบนหน้าจอหลักอาจเปลี่ยนแปลงหลังเปลี่ยนการตั้งค่านี้"</string>
     <string name="screen_zoom_preview_title" msgid="4680671508172336572">"ดูตัวอย่าง"</string>
     <string name="screen_zoom_make_smaller_desc" msgid="4622359904253364742">"ทำให้เล็กลง"</string>
     <string name="screen_zoom_make_larger_desc" msgid="2236171043607896594">"ทำให้ใหญ่ขึ้น"</string>
@@ -2799,8 +2802,55 @@
     <string name="condition_cellular_summary" msgid="1818046558419658463">"สามารถใช้อินเทอร์เน็ตผ่าน Wi-Fi ได้เท่านั้น"</string>
     <string name="condition_bg_data_title" msgid="1422001615923482010">"ปิดใช้ข้อมูลแบ็กกราวด์อยู่"</string>
     <string name="condition_bg_data_summary" msgid="656957852895282228">"สามารถใช้ข้อมูลแบ็กกราวด์ผ่าน Wi-Fi ได้เท่านั้น ซึ่งอาจส่งผลกระทบต่อแอปหรือบริการบางอย่างเมื่อไม่มี Wi-Fi"</string>
+    <!-- no translation found for condition_work_title (7293722361184366648) -->
+    <skip />
+    <!-- no translation found for condition_work_summary (7543202177571590378) -->
+    <skip />
     <string name="suggestions_title" msgid="8758376306825920705">"รายการแนะนำ (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
     <string name="suggestion_remove" msgid="904627293892092439">"นำออก"</string>
     <string name="color_temperature" msgid="2501579996151717270">"อุณหภูมิสีในการแสดงผล"</string>
     <string name="color_temperature_desc" msgid="3603319696846982249">"เปิดใช้อุณหภูมิสีเย็นตา"</string>
+    <!-- no translation found for usage (2977875522080448986) -->
+    <skip />
+    <!-- no translation found for cellular_data_usage (2763710678354680712) -->
+    <skip />
+    <!-- no translation found for wifi_data_usage (686754111095324306) -->
+    <skip />
+    <!-- no translation found for ethernet_data_usage (5108764537574354616) -->
+    <skip />
+    <string name="wifi" msgid="1081550856200013637">"WiFi"</string>
+    <!-- no translation found for ethernet (6600095783781389720) -->
+    <skip />
+    <!-- no translation found for cell_data_template (3308709914705592281) -->
+    <skip />
+    <!-- no translation found for wifi_data_template (501654649753761778) -->
+    <skip />
+    <!-- no translation found for ethernet_data_template (5775729859383597507) -->
+    <skip />
+    <!-- no translation found for cell_warning_only (763147658209027140) -->
+    <skip />
+    <!-- no translation found for cell_warning_and_limit (2273413629267437470) -->
+    <skip />
+    <!-- no translation found for billing_cycle (5169909190811133499) -->
+    <skip />
+    <!-- no translation found for billing_cycle_summary (9009106526129293752) -->
+    <skip />
+    <!-- no translation found for billing_cycle_fragment_summary (1940518156600077066) -->
+    <skip />
+    <!-- no translation found for network_restrictions (8234695294536675380) -->
+    <skip />
+    <!-- no translation found for operator_warning (7206980278353372811) -->
+    <skip />
+    <!-- no translation found for data_used_template (3245919669966296505) -->
+    <skip />
+    <!-- no translation found for data_warning (209133958008062117) -->
+    <skip />
+    <!-- no translation found for set_data_limit (2901526323210516923) -->
+    <skip />
+    <!-- no translation found for data_limit (1885406964934590552) -->
+    <skip />
+    <!-- no translation found for data_usage_template (392191945602400904) -->
+    <skip />
+    <!-- no translation found for configure (1029654422228677273) -->
+    <skip />
 </resources>
diff --git a/res/values-tl/strings.xml b/res/values-tl/strings.xml
index 6d55d50..6e32f49 100644
--- a/res/values-tl/strings.xml
+++ b/res/values-tl/strings.xml
@@ -74,8 +74,7 @@
     <string name="sdcard_unmount" product="default" msgid="3364184561355611897">"I-unmount ang SD card"</string>
     <string name="sdcard_format" product="nosdcard" msgid="6285310523155166716">"Burahin imbakan na USB"</string>
     <string name="sdcard_format" product="default" msgid="6713185532039187532">"Burahin ang SD card"</string>
-    <!-- no translation found for font_size_summary (133937309990844030) -->
-    <skip />
+    <string name="font_size_summary" msgid="133937309990844030">"Paliitin o palakihin ang text sa screen."</string>
     <string name="small_font" msgid="2295331917424072635">"Maliit"</string>
     <string name="medium_font" msgid="2068475425515133701">"Katamtaman"</string>
     <string name="large_font" msgid="599055175160971446">"Malaki"</string>
@@ -265,7 +264,8 @@
     <string name="roaming_disable" msgid="1295279574370898378">"Kumonekta sa mga serbisyo ng data kapag nagro-roam"</string>
     <string name="roaming_reenable_message" msgid="9141007271031717369">"Nawala ang koneksyon ng data dahil iniwan mo ang iyong home network na naka-off ang roaming ng data."</string>
     <string name="roaming_turn_it_on_button" msgid="4387601818162120589">"I-on ito"</string>
-    <string name="roaming_warning" msgid="7625933694709170887">"Kapag pinayagan mo ang roaming ng data, maaari kang magkamit ng makabuluhang mga pagsingil sa roaming!"</string>
+    <!-- no translation found for roaming_warning (4275443317524544705) -->
+    <skip />
     <string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"Kapag papayagan mo ang roaming ng data, maaari kang magkaroon ng malalaking singilin sa roaming!\n\nNakakaapekto ang setting na ito sa lahat ng user sa tablet na ito."</string>
     <string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"Kapag papayagan mo ang roaming ng data, maaari kang magkaroon ng malalaking singilin sa roaming!\n\nNakakaapekto ang setting na ito sa lahat ng user sa teleponong ito."</string>
     <string name="roaming_reenable_title" msgid="6068100976707316772">"Payagan ang roaming ng data?"</string>
@@ -1937,6 +1937,10 @@
     <string name="sync_is_failing" msgid="1591561768344128377">"Kasalukuyang nakakaranas ng mga problema ang pag-sync. Babalik ito sa ilang saglit."</string>
     <string name="add_account_label" msgid="7811707265834013767">"Magdagdag ng account"</string>
     <string name="managed_profile_not_available_label" msgid="852263300911325904">"Hindi pa available ang profile sa trabaho"</string>
+    <!-- no translation found for work_mode_label (5794470908668593961) -->
+    <skip />
+    <!-- no translation found for work_mode_summary (1620246003886940776) -->
+    <skip />
     <string name="remove_managed_profile_label" msgid="3856519337797285325">"Alisin ang profile sa trabaho"</string>
     <string name="background_data" msgid="5779592891375473817">"Data sa background"</string>
     <string name="background_data_summary" msgid="8328521479872763452">"Maaaring mag-sync, magpadala, at tumanggap ng data ang apps anumang oras"</string>
@@ -2754,8 +2758,7 @@
     <string name="camera_double_tap_power_gesture_desc" msgid="7355664631775680376">"Mabilisang buksan ang camera nang hindi ina-unlock ang iyong screen"</string>
     <string name="screen_zoom_title" msgid="6332123593919641665">"Pag-zoom ng screen"</string>
     <string name="screen_zoom_keywords" msgid="9176477565403352552">"density ng display, pag-zoom sa screen, scale, pag-scale"</string>
-    <!-- no translation found for screen_zoom_summary (2022973627105802010) -->
-    <skip />
+    <string name="screen_zoom_summary" msgid="2022973627105802010">"Paliitin o palakihin ang lahat ng item sa screen. Maaaring mag-iba ng pwesto ang ilang app sa iyong home screen pagkatapos baguhin ang setting na ito."</string>
     <string name="screen_zoom_preview_title" msgid="4680671508172336572">"I-preview"</string>
     <string name="screen_zoom_make_smaller_desc" msgid="4622359904253364742">"Paliitin"</string>
     <string name="screen_zoom_make_larger_desc" msgid="2236171043607896594">"Palakihin"</string>
@@ -2799,8 +2802,55 @@
     <string name="condition_cellular_summary" msgid="1818046558419658463">"Available lang ang Internet kapag may Wi-Fi"</string>
     <string name="condition_bg_data_title" msgid="1422001615923482010">"Data ng background, naka-off"</string>
     <string name="condition_bg_data_summary" msgid="656957852895282228">"Available lang ang data ng background kapag may Wi-Fi. Maaari itong makaapekto sa ilang app o serbisyo kapag hindi available ang Wi-Fi."</string>
+    <!-- no translation found for condition_work_title (7293722361184366648) -->
+    <skip />
+    <!-- no translation found for condition_work_summary (7543202177571590378) -->
+    <skip />
     <string name="suggestions_title" msgid="8758376306825920705">"Mga Suhestyon (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
     <string name="suggestion_remove" msgid="904627293892092439">"Alisin"</string>
     <string name="color_temperature" msgid="2501579996151717270">"Temperatura ng kulay ng display"</string>
     <string name="color_temperature_desc" msgid="3603319696846982249">"I-enable ang malamig na temperatura"</string>
+    <!-- no translation found for usage (2977875522080448986) -->
+    <skip />
+    <!-- no translation found for cellular_data_usage (2763710678354680712) -->
+    <skip />
+    <!-- no translation found for wifi_data_usage (686754111095324306) -->
+    <skip />
+    <!-- no translation found for ethernet_data_usage (5108764537574354616) -->
+    <skip />
+    <string name="wifi" msgid="1081550856200013637">"Wi-Fi"</string>
+    <!-- no translation found for ethernet (6600095783781389720) -->
+    <skip />
+    <!-- no translation found for cell_data_template (3308709914705592281) -->
+    <skip />
+    <!-- no translation found for wifi_data_template (501654649753761778) -->
+    <skip />
+    <!-- no translation found for ethernet_data_template (5775729859383597507) -->
+    <skip />
+    <!-- no translation found for cell_warning_only (763147658209027140) -->
+    <skip />
+    <!-- no translation found for cell_warning_and_limit (2273413629267437470) -->
+    <skip />
+    <!-- no translation found for billing_cycle (5169909190811133499) -->
+    <skip />
+    <!-- no translation found for billing_cycle_summary (9009106526129293752) -->
+    <skip />
+    <!-- no translation found for billing_cycle_fragment_summary (1940518156600077066) -->
+    <skip />
+    <!-- no translation found for network_restrictions (8234695294536675380) -->
+    <skip />
+    <!-- no translation found for operator_warning (7206980278353372811) -->
+    <skip />
+    <!-- no translation found for data_used_template (3245919669966296505) -->
+    <skip />
+    <!-- no translation found for data_warning (209133958008062117) -->
+    <skip />
+    <!-- no translation found for set_data_limit (2901526323210516923) -->
+    <skip />
+    <!-- no translation found for data_limit (1885406964934590552) -->
+    <skip />
+    <!-- no translation found for data_usage_template (392191945602400904) -->
+    <skip />
+    <!-- no translation found for configure (1029654422228677273) -->
+    <skip />
 </resources>
diff --git a/res/values-tr/strings.xml b/res/values-tr/strings.xml
index 552fb3c..9e6cc42 100644
--- a/res/values-tr/strings.xml
+++ b/res/values-tr/strings.xml
@@ -74,8 +74,7 @@
     <string name="sdcard_unmount" product="default" msgid="3364184561355611897">"SD kartının bağlantısını kes"</string>
     <string name="sdcard_format" product="nosdcard" msgid="6285310523155166716">"USB belleği sil"</string>
     <string name="sdcard_format" product="default" msgid="6713185532039187532">"SD kartı sil"</string>
-    <!-- no translation found for font_size_summary (133937309990844030) -->
-    <skip />
+    <string name="font_size_summary" msgid="133937309990844030">"Ekrandaki metni daha küçük veya daha büyük yapın."</string>
     <string name="small_font" msgid="2295331917424072635">"Küçük"</string>
     <string name="medium_font" msgid="2068475425515133701">"Ortam"</string>
     <string name="large_font" msgid="599055175160971446">"Büyük"</string>
@@ -265,7 +264,8 @@
     <string name="roaming_disable" msgid="1295279574370898378">"Dolaşımdayken veri hizmetlerine bağlan"</string>
     <string name="roaming_reenable_message" msgid="9141007271031717369">"Veri dolaşımı kapalıyken ana ağınızdan ayrıldığınız için veri bağlantısını kaybettiniz."</string>
     <string name="roaming_turn_it_on_button" msgid="4387601818162120589">"Açın"</string>
-    <string name="roaming_warning" msgid="7625933694709170887">"Veri dolaşımına izin verdiğinizde, yüksek miktarda dolaşım ücretleri ödeyebilirsiniz!"</string>
+    <!-- no translation found for roaming_warning (4275443317524544705) -->
+    <skip />
     <string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"Veri dolaşımına izin verirseniz, önemli düzeyde dolaşım ücretleriyle karşılaşabilirsiniz!\n\nBu ayar bu tabletteki tüm kullanıcıları etkiler."</string>
     <string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"Veri dolaşımına izin verirseniz, önemli düzeyde dolaşım ücretleriyle karşılaşabilirsiniz!\n\nBu ayar bu telefondaki tüm kullanıcıları etkiler."</string>
     <string name="roaming_reenable_title" msgid="6068100976707316772">"Veri dolaşımına izin verilsin mi?"</string>
@@ -1937,6 +1937,10 @@
     <string name="sync_is_failing" msgid="1591561768344128377">"Şu anda senkronizasyon sorunları yaşanıyor. Kısa süre sonra düzeltilecek."</string>
     <string name="add_account_label" msgid="7811707265834013767">"Hesap ekle"</string>
     <string name="managed_profile_not_available_label" msgid="852263300911325904">"İş profili henüz kullanılamıyor"</string>
+    <!-- no translation found for work_mode_label (5794470908668593961) -->
+    <skip />
+    <!-- no translation found for work_mode_summary (1620246003886940776) -->
+    <skip />
     <string name="remove_managed_profile_label" msgid="3856519337797285325">"İş profilini kaldır"</string>
     <string name="background_data" msgid="5779592891375473817">"Arka plan veri"</string>
     <string name="background_data_summary" msgid="8328521479872763452">"Uyglr istediğiniz zaman verileri senk eder, gönderir ve alır"</string>
@@ -2754,8 +2758,7 @@
     <string name="camera_double_tap_power_gesture_desc" msgid="7355664631775680376">"Ekranınızı kilitlemeden kamerayı hızlıca açın"</string>
     <string name="screen_zoom_title" msgid="6332123593919641665">"Ekranı yakınlaştırma"</string>
     <string name="screen_zoom_keywords" msgid="9176477565403352552">"ekran yoğunluğu, ekran yakınlaştırma, ölçek, ölçekleme"</string>
-    <!-- no translation found for screen_zoom_summary (2022973627105802010) -->
-    <skip />
+    <string name="screen_zoom_summary" msgid="2022973627105802010">"Ekrandaki tüm öğeleri daha küçük veya daha büyük yapın. Bu ayar değiştirildikten sonra ana ekranınızdaki bazı uygulamaların konumu değişebilir."</string>
     <string name="screen_zoom_preview_title" msgid="4680671508172336572">"Önizleme"</string>
     <string name="screen_zoom_make_smaller_desc" msgid="4622359904253364742">"Küçült"</string>
     <string name="screen_zoom_make_larger_desc" msgid="2236171043607896594">"Büyüt"</string>
@@ -2799,8 +2802,55 @@
     <string name="condition_cellular_summary" msgid="1818046558419658463">"İnternet yalnızca kablosuz bağlantı üzerinden kullanılabilir"</string>
     <string name="condition_bg_data_title" msgid="1422001615923482010">"Arka plan veriler kapalı"</string>
     <string name="condition_bg_data_summary" msgid="656957852895282228">"Arka plan veriler yalnızca kablosuz bağlantı üzerinden kullanılabilir. Bu durum, kablosuz bağlantı mevcut olmadığında bazı uygulamaları veya hizmetleri etkileyebilir."</string>
+    <!-- no translation found for condition_work_title (7293722361184366648) -->
+    <skip />
+    <!-- no translation found for condition_work_summary (7543202177571590378) -->
+    <skip />
     <string name="suggestions_title" msgid="8758376306825920705">"Öneriler (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
     <string name="suggestion_remove" msgid="904627293892092439">"Kaldır"</string>
     <string name="color_temperature" msgid="2501579996151717270">"Ekran renk sıcaklığı"</string>
     <string name="color_temperature_desc" msgid="3603319696846982249">"Soğuk renkleri etkinleştir"</string>
+    <!-- no translation found for usage (2977875522080448986) -->
+    <skip />
+    <!-- no translation found for cellular_data_usage (2763710678354680712) -->
+    <skip />
+    <!-- no translation found for wifi_data_usage (686754111095324306) -->
+    <skip />
+    <!-- no translation found for ethernet_data_usage (5108764537574354616) -->
+    <skip />
+    <string name="wifi" msgid="1081550856200013637">"Kablosuz"</string>
+    <!-- no translation found for ethernet (6600095783781389720) -->
+    <skip />
+    <!-- no translation found for cell_data_template (3308709914705592281) -->
+    <skip />
+    <!-- no translation found for wifi_data_template (501654649753761778) -->
+    <skip />
+    <!-- no translation found for ethernet_data_template (5775729859383597507) -->
+    <skip />
+    <!-- no translation found for cell_warning_only (763147658209027140) -->
+    <skip />
+    <!-- no translation found for cell_warning_and_limit (2273413629267437470) -->
+    <skip />
+    <!-- no translation found for billing_cycle (5169909190811133499) -->
+    <skip />
+    <!-- no translation found for billing_cycle_summary (9009106526129293752) -->
+    <skip />
+    <!-- no translation found for billing_cycle_fragment_summary (1940518156600077066) -->
+    <skip />
+    <!-- no translation found for network_restrictions (8234695294536675380) -->
+    <skip />
+    <!-- no translation found for operator_warning (7206980278353372811) -->
+    <skip />
+    <!-- no translation found for data_used_template (3245919669966296505) -->
+    <skip />
+    <!-- no translation found for data_warning (209133958008062117) -->
+    <skip />
+    <!-- no translation found for set_data_limit (2901526323210516923) -->
+    <skip />
+    <!-- no translation found for data_limit (1885406964934590552) -->
+    <skip />
+    <!-- no translation found for data_usage_template (392191945602400904) -->
+    <skip />
+    <!-- no translation found for configure (1029654422228677273) -->
+    <skip />
 </resources>
diff --git a/res/values-uk/strings.xml b/res/values-uk/strings.xml
index 985c1d8..593afb6 100644
--- a/res/values-uk/strings.xml
+++ b/res/values-uk/strings.xml
@@ -266,7 +266,8 @@
     <string name="roaming_disable" msgid="1295279574370898378">"Підключатися до служб передавання даних у роумінгу"</string>
     <string name="roaming_reenable_message" msgid="9141007271031717369">"Доступ до даних утрачено, оскільки ви залишили домашню мережу з вимкненим роумінгом даних."</string>
     <string name="roaming_turn_it_on_button" msgid="4387601818162120589">"Увімкнути"</string>
-    <string name="roaming_warning" msgid="7625933694709170887">"Якщо дозволити роумінг даних, може стягуватися значна плата за роумінг!"</string>
+    <!-- no translation found for roaming_warning (4275443317524544705) -->
+    <skip />
     <string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"Якщо дозволити роумінг даних, з вас може стягуватися значна плата за роумінг.\n\nТаке налаштування впливає на всіх користувачів цього планшетного ПК."</string>
     <string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"Якщо дозволити роумінг даних, з вас може стягуватися значна плата за роумінг.\n\nТаке налаштування впливає на всіх користувачів цього телефону."</string>
     <string name="roaming_reenable_title" msgid="6068100976707316772">"Дозволити роумінг даних?"</string>
@@ -1968,6 +1969,10 @@
     <string name="sync_is_failing" msgid="1591561768344128377">"Наразі виникли проблеми із синхронізацією. Незабаром вона відновиться."</string>
     <string name="add_account_label" msgid="7811707265834013767">"Додати обліковий запис"</string>
     <string name="managed_profile_not_available_label" msgid="852263300911325904">"Робочий профіль ще недоступний"</string>
+    <!-- no translation found for work_mode_label (5794470908668593961) -->
+    <skip />
+    <!-- no translation found for work_mode_summary (1620246003886940776) -->
+    <skip />
     <string name="remove_managed_profile_label" msgid="3856519337797285325">"Видалити службовий профіль"</string>
     <string name="background_data" msgid="5779592891375473817">"Фонові дані"</string>
     <string name="background_data_summary" msgid="8328521479872763452">"Програми можуть будь-коли синхроніз., надсил. й отрим. дані"</string>
@@ -2847,8 +2852,55 @@
     <string name="condition_cellular_summary" msgid="1818046558419658463">"З’єднання з Інтернетом доступне лише через Wi-Fi"</string>
     <string name="condition_bg_data_title" msgid="1422001615923482010">"Фоновий режим вимкнено"</string>
     <string name="condition_bg_data_summary" msgid="656957852895282228">"Фоновий режим доступний лише через Wi-Fi. Це може вплинути на роботу деяких додатків і служб, коли мережа Wi-Fi недоступна."</string>
+    <!-- no translation found for condition_work_title (7293722361184366648) -->
+    <skip />
+    <!-- no translation found for condition_work_summary (7543202177571590378) -->
+    <skip />
     <string name="suggestions_title" msgid="8758376306825920705">"Пропозиції (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
     <string name="suggestion_remove" msgid="904627293892092439">"Видалити"</string>
     <string name="color_temperature" msgid="2501579996151717270">"Температура кольорів дисплея"</string>
     <string name="color_temperature_desc" msgid="3603319696846982249">"Увімкнути холодну температуру"</string>
+    <!-- no translation found for usage (2977875522080448986) -->
+    <skip />
+    <!-- no translation found for cellular_data_usage (2763710678354680712) -->
+    <skip />
+    <!-- no translation found for wifi_data_usage (686754111095324306) -->
+    <skip />
+    <!-- no translation found for ethernet_data_usage (5108764537574354616) -->
+    <skip />
+    <string name="wifi" msgid="1081550856200013637">"Wi-Fi"</string>
+    <!-- no translation found for ethernet (6600095783781389720) -->
+    <skip />
+    <!-- no translation found for cell_data_template (3308709914705592281) -->
+    <skip />
+    <!-- no translation found for wifi_data_template (501654649753761778) -->
+    <skip />
+    <!-- no translation found for ethernet_data_template (5775729859383597507) -->
+    <skip />
+    <!-- no translation found for cell_warning_only (763147658209027140) -->
+    <skip />
+    <!-- no translation found for cell_warning_and_limit (2273413629267437470) -->
+    <skip />
+    <!-- no translation found for billing_cycle (5169909190811133499) -->
+    <skip />
+    <!-- no translation found for billing_cycle_summary (9009106526129293752) -->
+    <skip />
+    <!-- no translation found for billing_cycle_fragment_summary (1940518156600077066) -->
+    <skip />
+    <!-- no translation found for network_restrictions (8234695294536675380) -->
+    <skip />
+    <!-- no translation found for operator_warning (7206980278353372811) -->
+    <skip />
+    <!-- no translation found for data_used_template (3245919669966296505) -->
+    <skip />
+    <!-- no translation found for data_warning (209133958008062117) -->
+    <skip />
+    <!-- no translation found for set_data_limit (2901526323210516923) -->
+    <skip />
+    <!-- no translation found for data_limit (1885406964934590552) -->
+    <skip />
+    <!-- no translation found for data_usage_template (392191945602400904) -->
+    <skip />
+    <!-- no translation found for configure (1029654422228677273) -->
+    <skip />
 </resources>
diff --git a/res/values-ur-rPK/strings.xml b/res/values-ur-rPK/strings.xml
index 20ea89d..acda81a 100644
--- a/res/values-ur-rPK/strings.xml
+++ b/res/values-ur-rPK/strings.xml
@@ -74,8 +74,7 @@
     <string name="sdcard_unmount" product="default" msgid="3364184561355611897">"‏SD کارڈ ان ماؤنٹ کریں"</string>
     <string name="sdcard_format" product="nosdcard" msgid="6285310523155166716">"‏USB اسٹوریج کو حذف کریں"</string>
     <string name="sdcard_format" product="default" msgid="6713185532039187532">"‏SD کارڈ حذف کریں"</string>
-    <!-- no translation found for font_size_summary (133937309990844030) -->
-    <skip />
+    <string name="font_size_summary" msgid="133937309990844030">"اسکرین پر موجود متن کو چھوٹا یا بڑا کریں۔"</string>
     <string name="small_font" msgid="2295331917424072635">"چھوٹا"</string>
     <string name="medium_font" msgid="2068475425515133701">"متوسط"</string>
     <string name="large_font" msgid="599055175160971446">"بڑا"</string>
@@ -265,7 +264,8 @@
     <string name="roaming_disable" msgid="1295279574370898378">"رومنگ کے وقت ڈیٹا سروسز سے مربوط ہوں"</string>
     <string name="roaming_reenable_message" msgid="9141007271031717369">"آپ ڈیٹا کنیکٹوٹی سے اس لیے محروم ہو گئے ہیں کیونکہ آپ نے اپنے ہوم نیٹ ورک کو ڈیٹا رومنگ آف ہونے کے ساتھ چھوڑ دیا ہے۔"</string>
     <string name="roaming_turn_it_on_button" msgid="4387601818162120589">"اسے آن کریں"</string>
-    <string name="roaming_warning" msgid="7625933694709170887">"اگر آپ ڈیٹا رومنگ کی اجازت دیتے ہیں تو آپ پر کافی زیادہ رومنگ چارجز لگ سکتے ہیں!"</string>
+    <!-- no translation found for roaming_warning (4275443317524544705) -->
+    <skip />
     <string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"اگر آپ ڈیٹا رومنگ کی اجازت دیتے ہیں تو آپ پر کافی زیادہ رومنگ چارجز لگ سکتے ہیں!\n\nیہ ترتیب اس ٹیبلٹ پر موجود سبھی صارفین پر اثرانداز ہوتی ہے۔"</string>
     <string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"اگر آپ ڈیٹا رومنگ کی اجازت دیتے ہیں تو آپ پر کافی زیادہ رومنگ چارجز لگ سکتے ہیں!\n\nیہ ترتیب اس فون پر موجود سبھی صارفین پر اثرانداز ہوتی ہے۔"</string>
     <string name="roaming_reenable_title" msgid="6068100976707316772">"ڈیٹا رومنگ کی اجازت دیں؟"</string>
@@ -1937,6 +1937,10 @@
     <string name="sync_is_failing" msgid="1591561768344128377">"مطابقت پذیری میں فی الحال دشواریاں پیش آ رہی ہیں۔ یہ جلد ہی واپس آ جائے گا۔"</string>
     <string name="add_account_label" msgid="7811707265834013767">"اکاؤنٹ شامل کریں"</string>
     <string name="managed_profile_not_available_label" msgid="852263300911325904">"دفتری پروفائل ابھی دستیاب نہیں ہے"</string>
+    <!-- no translation found for work_mode_label (5794470908668593961) -->
+    <skip />
+    <!-- no translation found for work_mode_summary (1620246003886940776) -->
+    <skip />
     <string name="remove_managed_profile_label" msgid="3856519337797285325">"دفتری پروفائل ہٹائیں"</string>
     <string name="background_data" msgid="5779592891375473817">"پس منظر کا ڈیٹا"</string>
     <string name="background_data_summary" msgid="8328521479872763452">"ایپس کسی بھی وقت ڈیٹا سنک، بھیج اور وصول کر سکتی ہیں"</string>
@@ -2754,8 +2758,7 @@
     <string name="camera_double_tap_power_gesture_desc" msgid="7355664631775680376">"اپنی اسکرین غیر مقفل کئے بغیر تیزی سے کیمرا کھولیں"</string>
     <string name="screen_zoom_title" msgid="6332123593919641665">"اسکرین زوم"</string>
     <string name="screen_zoom_keywords" msgid="9176477565403352552">"ڈسپلے کثافت، اسکرین زوم، اسکیل، اسکیل کرنا"</string>
-    <!-- no translation found for screen_zoom_summary (2022973627105802010) -->
-    <skip />
+    <string name="screen_zoom_summary" msgid="2022973627105802010">"اسکرین پر موجود تمام آئٹمز کو چھوٹا یا بڑا کریں۔ اس ترتیب کو تبدیل کرنے کے بعد آپ کی ہوم اسکرین پر موجود کچھ اہپس پوزیشن تبدیل کر سکتی ہیں۔"</string>
     <string name="screen_zoom_preview_title" msgid="4680671508172336572">"پیش منظر"</string>
     <string name="screen_zoom_make_smaller_desc" msgid="4622359904253364742">"چھوٹا کریں"</string>
     <string name="screen_zoom_make_larger_desc" msgid="2236171043607896594">"بڑا کریں"</string>
@@ -2799,8 +2802,56 @@
     <string name="condition_cellular_summary" msgid="1818046558419658463">"‏انٹرنیٹ صرف بذریعہ Wi-Fi دستیاب ہے"</string>
     <string name="condition_bg_data_title" msgid="1422001615923482010">"پس منظر ڈیٹا آف ہے"</string>
     <string name="condition_bg_data_summary" msgid="656957852895282228">"‏پس منظر ڈیٹا صرف بذریعہ Wi-Fi دستیاب ہے۔ جب Wi-Fi دستیاب نہ ہو تو کچھ ایپس یا سروسز متاثر ہو سکتی ہیں۔"</string>
+    <!-- no translation found for condition_work_title (7293722361184366648) -->
+    <skip />
+    <!-- no translation found for condition_work_summary (7543202177571590378) -->
+    <skip />
     <string name="suggestions_title" msgid="8758376306825920705">"تجاویز (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
     <string name="suggestion_remove" msgid="904627293892092439">"ہٹائیں"</string>
     <string name="color_temperature" msgid="2501579996151717270">"ڈسپلے رنگ کا درجہ حرارت"</string>
     <string name="color_temperature_desc" msgid="3603319696846982249">"سرد درجہ حرارت فعال کریں"</string>
+    <!-- no translation found for usage (2977875522080448986) -->
+    <skip />
+    <!-- no translation found for cellular_data_usage (2763710678354680712) -->
+    <skip />
+    <!-- no translation found for wifi_data_usage (686754111095324306) -->
+    <skip />
+    <!-- no translation found for ethernet_data_usage (5108764537574354616) -->
+    <skip />
+    <!-- no translation found for wifi (1081550856200013637) -->
+    <skip />
+    <!-- no translation found for ethernet (6600095783781389720) -->
+    <skip />
+    <!-- no translation found for cell_data_template (3308709914705592281) -->
+    <skip />
+    <!-- no translation found for wifi_data_template (501654649753761778) -->
+    <skip />
+    <!-- no translation found for ethernet_data_template (5775729859383597507) -->
+    <skip />
+    <!-- no translation found for cell_warning_only (763147658209027140) -->
+    <skip />
+    <!-- no translation found for cell_warning_and_limit (2273413629267437470) -->
+    <skip />
+    <!-- no translation found for billing_cycle (5169909190811133499) -->
+    <skip />
+    <!-- no translation found for billing_cycle_summary (9009106526129293752) -->
+    <skip />
+    <!-- no translation found for billing_cycle_fragment_summary (1940518156600077066) -->
+    <skip />
+    <!-- no translation found for network_restrictions (8234695294536675380) -->
+    <skip />
+    <!-- no translation found for operator_warning (7206980278353372811) -->
+    <skip />
+    <!-- no translation found for data_used_template (3245919669966296505) -->
+    <skip />
+    <!-- no translation found for data_warning (209133958008062117) -->
+    <skip />
+    <!-- no translation found for set_data_limit (2901526323210516923) -->
+    <skip />
+    <!-- no translation found for data_limit (1885406964934590552) -->
+    <skip />
+    <!-- no translation found for data_usage_template (392191945602400904) -->
+    <skip />
+    <!-- no translation found for configure (1029654422228677273) -->
+    <skip />
 </resources>
diff --git a/res/values-uz-rUZ/strings.xml b/res/values-uz-rUZ/strings.xml
index 6d46be1..b8977c9 100644
--- a/res/values-uz-rUZ/strings.xml
+++ b/res/values-uz-rUZ/strings.xml
@@ -74,8 +74,7 @@
     <string name="sdcard_unmount" product="default" msgid="3364184561355611897">"SD kartani uzish"</string>
     <string name="sdcard_format" product="nosdcard" msgid="6285310523155166716">"USB xotirani tozalash"</string>
     <string name="sdcard_format" product="default" msgid="6713185532039187532">"SD-kartani tozalash"</string>
-    <!-- no translation found for font_size_summary (133937309990844030) -->
-    <skip />
+    <string name="font_size_summary" msgid="133937309990844030">"Ekrandagi matnni kichiklashtiring yoki kattalashtiring."</string>
     <string name="small_font" msgid="2295331917424072635">"Kichik"</string>
     <string name="medium_font" msgid="2068475425515133701">"O‘rtacha"</string>
     <string name="large_font" msgid="599055175160971446">"Katta"</string>
@@ -265,7 +264,8 @@
     <string name="roaming_disable" msgid="1295279574370898378">"Rouming vaqtida mobil internetga ulanish"</string>
     <string name="roaming_reenable_message" msgid="9141007271031717369">"Internet aloqangiz uzilganligiga sabab, uydan chiqib ketganligiz yoki ma‘lumotlar roumingi o‘chiq holatda."</string>
     <string name="roaming_turn_it_on_button" msgid="4387601818162120589">"Roumingni yoqish"</string>
-    <string name="roaming_warning" msgid="7625933694709170887">"Internet roumingiga ruxsat berilsa, rouming uchun xarajatlar katta bo‘lishi mumkin!"</string>
+    <!-- no translation found for roaming_warning (4275443317524544705) -->
+    <skip />
     <string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"Internet roumingiga ruxsat berilsa, rouming uchun xarajatlar katta bo‘lishi mumkin!\n\nBu sozlama tanlovi ushbu planshetning barcha foydalanuvchilariga ta‘sir ko‘rsatishi mumkin."</string>
     <string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"Internet roumingiga ruxsat berilsa, rouming uchun xarajatlar katta bo‘lishi mumkin!\n\nBu sozlama tanlovi ushbu telefonning barcha foydalanuvchilariga ta‘sir ko‘rsatishi mumkin."</string>
     <string name="roaming_reenable_title" msgid="6068100976707316772">"Internet roumingiga ruxsat berilsinmi?"</string>
@@ -1937,6 +1937,10 @@
     <string name="sync_is_failing" msgid="1591561768344128377">"Hozirgi paytda sinx-lashda muammolar sezilmoqda. Ish xolati tez orada tiklanadi"</string>
     <string name="add_account_label" msgid="7811707265834013767">"Hisob qo‘shish"</string>
     <string name="managed_profile_not_available_label" msgid="852263300911325904">"Ishchi profil hali mavjud emas"</string>
+    <!-- no translation found for work_mode_label (5794470908668593961) -->
+    <skip />
+    <!-- no translation found for work_mode_summary (1620246003886940776) -->
+    <skip />
     <string name="remove_managed_profile_label" msgid="3856519337797285325">"Ishchi profilni o‘chirish"</string>
     <string name="background_data" msgid="5779592891375473817">"Ma’lumotlarni fonda yuklash"</string>
     <string name="background_data_summary" msgid="8328521479872763452">"Ilovalar sinxronlanishi, ma’lumotlarni istalgan paytda jo‘natishi va qabul qilishi mumkin"</string>
@@ -2754,8 +2758,7 @@
     <string name="camera_double_tap_power_gesture_desc" msgid="7355664631775680376">"Ekran qulfini ochmasdan kamerani tezroq ishga tushirish"</string>
     <string name="screen_zoom_title" msgid="6332123593919641665">"Ekran ko‘lami"</string>
     <string name="screen_zoom_keywords" msgid="9176477565403352552">"ekran, zichlik, ekran, ko‘lam, miqyos, oshirish"</string>
-    <!-- no translation found for screen_zoom_summary (2022973627105802010) -->
-    <skip />
+    <string name="screen_zoom_summary" msgid="2022973627105802010">"Ekrandagi barcha elementlarni kichiklashtiring yoki kattalashtiring. Bu sozlama o‘zgartirilganidan so‘ng bosh ekrandagi bir qancha ilovalar o‘z joylashuvini o‘zgartirishi mumkin."</string>
     <string name="screen_zoom_preview_title" msgid="4680671508172336572">"Oldindan ko‘rish"</string>
     <string name="screen_zoom_make_smaller_desc" msgid="4622359904253364742">"Kichiklashtirish"</string>
     <string name="screen_zoom_make_larger_desc" msgid="2236171043607896594">"Kattalashtirish"</string>
@@ -2799,8 +2802,56 @@
     <string name="condition_cellular_summary" msgid="1818046558419658463">"Fondagi internet faqat Wi-Fi orqali ishlaydi"</string>
     <string name="condition_bg_data_title" msgid="1422001615923482010">"Fondagi internet o‘chiq"</string>
     <string name="condition_bg_data_summary" msgid="656957852895282228">"Fondagi internet faqat Wi-Fi orqali ishlaydi. Agar Wi-Fi o‘chiq bo‘lsa, bu bir qancha ilovalar va xizmatlarning ishlashiga ta’sir qilishi mumkin."</string>
+    <!-- no translation found for condition_work_title (7293722361184366648) -->
+    <skip />
+    <!-- no translation found for condition_work_summary (7543202177571590378) -->
+    <skip />
     <string name="suggestions_title" msgid="8758376306825920705">"Takliflar (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
     <string name="suggestion_remove" msgid="904627293892092439">"O‘chirish"</string>
     <string name="color_temperature" msgid="2501579996151717270">"Displey rangi harorati"</string>
     <string name="color_temperature_desc" msgid="3603319696846982249">"Salqin haroratni yoqish"</string>
+    <!-- no translation found for usage (2977875522080448986) -->
+    <skip />
+    <!-- no translation found for cellular_data_usage (2763710678354680712) -->
+    <skip />
+    <!-- no translation found for wifi_data_usage (686754111095324306) -->
+    <skip />
+    <!-- no translation found for ethernet_data_usage (5108764537574354616) -->
+    <skip />
+    <!-- no translation found for wifi (1081550856200013637) -->
+    <skip />
+    <!-- no translation found for ethernet (6600095783781389720) -->
+    <skip />
+    <!-- no translation found for cell_data_template (3308709914705592281) -->
+    <skip />
+    <!-- no translation found for wifi_data_template (501654649753761778) -->
+    <skip />
+    <!-- no translation found for ethernet_data_template (5775729859383597507) -->
+    <skip />
+    <!-- no translation found for cell_warning_only (763147658209027140) -->
+    <skip />
+    <!-- no translation found for cell_warning_and_limit (2273413629267437470) -->
+    <skip />
+    <!-- no translation found for billing_cycle (5169909190811133499) -->
+    <skip />
+    <!-- no translation found for billing_cycle_summary (9009106526129293752) -->
+    <skip />
+    <!-- no translation found for billing_cycle_fragment_summary (1940518156600077066) -->
+    <skip />
+    <!-- no translation found for network_restrictions (8234695294536675380) -->
+    <skip />
+    <!-- no translation found for operator_warning (7206980278353372811) -->
+    <skip />
+    <!-- no translation found for data_used_template (3245919669966296505) -->
+    <skip />
+    <!-- no translation found for data_warning (209133958008062117) -->
+    <skip />
+    <!-- no translation found for set_data_limit (2901526323210516923) -->
+    <skip />
+    <!-- no translation found for data_limit (1885406964934590552) -->
+    <skip />
+    <!-- no translation found for data_usage_template (392191945602400904) -->
+    <skip />
+    <!-- no translation found for configure (1029654422228677273) -->
+    <skip />
 </resources>
diff --git a/res/values-vi/strings.xml b/res/values-vi/strings.xml
index 3b74b1f..67ee7e4 100644
--- a/res/values-vi/strings.xml
+++ b/res/values-vi/strings.xml
@@ -264,7 +264,8 @@
     <string name="roaming_disable" msgid="1295279574370898378">"Kết nối với dịch vụ dữ liệu khi chuyển vùng"</string>
     <string name="roaming_reenable_message" msgid="9141007271031717369">"Bạn đã mất kết nối dữ liệu vì bạn đã tắt chuyển vùng dữ liệu của mạng gia đình của mình."</string>
     <string name="roaming_turn_it_on_button" msgid="4387601818162120589">"Bật"</string>
-    <string name="roaming_warning" msgid="7625933694709170887">"Khi cho phép chuyển vùng dữ liệu, bạn có thể bị tính phí chuyển vùng đáng kể!"</string>
+    <!-- no translation found for roaming_warning (4275443317524544705) -->
+    <skip />
     <string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"Khi bạn cho phép chuyển vùng dữ liệu, bạn có thể phải trả khoản phí chuyển vùng đáng kể!\n\nCài đặt này ảnh hưởng đến tất cả người dùng trên máy tính bảng này."</string>
     <string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"Khi bạn cho phép chuyển vùng dữ liệu, bạn có thể phải trả khoản phí chuyển vùng đáng kể!\n\nCài đặt này ảnh hưởng đến tất cả người dùng trên điện thoại này."</string>
     <string name="roaming_reenable_title" msgid="6068100976707316772">"Cho phép chuyển vùng dữ liệu?"</string>
@@ -1936,6 +1937,10 @@
     <string name="sync_is_failing" msgid="1591561768344128377">"Đồng bộ hóa hiện đang gặp sự cố. Đồng bộ hóa sẽ sớm hoạt động trở lại."</string>
     <string name="add_account_label" msgid="7811707265834013767">"Thêm tài khoản"</string>
     <string name="managed_profile_not_available_label" msgid="852263300911325904">"Hiện chưa có hồ sơ công việc"</string>
+    <!-- no translation found for work_mode_label (5794470908668593961) -->
+    <skip />
+    <!-- no translation found for work_mode_summary (1620246003886940776) -->
+    <skip />
     <string name="remove_managed_profile_label" msgid="3856519337797285325">"Xóa hồ sơ công việc"</string>
     <string name="background_data" msgid="5779592891375473817">"Dữ liệu nền"</string>
     <string name="background_data_summary" msgid="8328521479872763452">"Ứng dụng có thể đ.bộ hóa, gửi &amp; nhận dữ liệu bất kỳ lúc nào"</string>
@@ -2797,8 +2802,55 @@
     <string name="condition_cellular_summary" msgid="1818046558419658463">"Internet chỉ khả dụng qua Wi-Fi"</string>
     <string name="condition_bg_data_title" msgid="1422001615923482010">"Dữ liệu nền bị tắt"</string>
     <string name="condition_bg_data_summary" msgid="656957852895282228">"Dữ liệu nền chỉ khả dụng qua Wi-Fi. Điều này có thể ảnh hưởng đến một số ứng dụng hoặc dịch vụ khi không có Wi-Fi."</string>
+    <!-- no translation found for condition_work_title (7293722361184366648) -->
+    <skip />
+    <!-- no translation found for condition_work_summary (7543202177571590378) -->
+    <skip />
     <string name="suggestions_title" msgid="8758376306825920705">"Đề xuất (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
     <string name="suggestion_remove" msgid="904627293892092439">"Xóa"</string>
     <string name="color_temperature" msgid="2501579996151717270">"Hiển thị nhiệt độ màu"</string>
     <string name="color_temperature_desc" msgid="3603319696846982249">"Bật tông màu lạnh"</string>
+    <!-- no translation found for usage (2977875522080448986) -->
+    <skip />
+    <!-- no translation found for cellular_data_usage (2763710678354680712) -->
+    <skip />
+    <!-- no translation found for wifi_data_usage (686754111095324306) -->
+    <skip />
+    <!-- no translation found for ethernet_data_usage (5108764537574354616) -->
+    <skip />
+    <string name="wifi" msgid="1081550856200013637">"Wi-Fi"</string>
+    <!-- no translation found for ethernet (6600095783781389720) -->
+    <skip />
+    <!-- no translation found for cell_data_template (3308709914705592281) -->
+    <skip />
+    <!-- no translation found for wifi_data_template (501654649753761778) -->
+    <skip />
+    <!-- no translation found for ethernet_data_template (5775729859383597507) -->
+    <skip />
+    <!-- no translation found for cell_warning_only (763147658209027140) -->
+    <skip />
+    <!-- no translation found for cell_warning_and_limit (2273413629267437470) -->
+    <skip />
+    <!-- no translation found for billing_cycle (5169909190811133499) -->
+    <skip />
+    <!-- no translation found for billing_cycle_summary (9009106526129293752) -->
+    <skip />
+    <!-- no translation found for billing_cycle_fragment_summary (1940518156600077066) -->
+    <skip />
+    <!-- no translation found for network_restrictions (8234695294536675380) -->
+    <skip />
+    <!-- no translation found for operator_warning (7206980278353372811) -->
+    <skip />
+    <!-- no translation found for data_used_template (3245919669966296505) -->
+    <skip />
+    <!-- no translation found for data_warning (209133958008062117) -->
+    <skip />
+    <!-- no translation found for set_data_limit (2901526323210516923) -->
+    <skip />
+    <!-- no translation found for data_limit (1885406964934590552) -->
+    <skip />
+    <!-- no translation found for data_usage_template (392191945602400904) -->
+    <skip />
+    <!-- no translation found for configure (1029654422228677273) -->
+    <skip />
 </resources>
diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml
index fbdd1ac..ead6e2a 100644
--- a/res/values-zh-rCN/strings.xml
+++ b/res/values-zh-rCN/strings.xml
@@ -74,21 +74,16 @@
     <string name="sdcard_unmount" product="default" msgid="3364184561355611897">"卸载SD卡"</string>
     <string name="sdcard_format" product="nosdcard" msgid="6285310523155166716">"格式化USB存储设备"</string>
     <string name="sdcard_format" product="default" msgid="6713185532039187532">"格式化SD卡"</string>
-    <!-- no translation found for font_size_summary (133937309990844030) -->
-    <skip />
+    <string name="font_size_summary" msgid="133937309990844030">"缩小或放大屏幕上的文字。"</string>
     <string name="small_font" msgid="2295331917424072635">"小"</string>
     <string name="medium_font" msgid="2068475425515133701">"中"</string>
     <string name="large_font" msgid="599055175160971446">"大"</string>
     <string name="font_size_make_smaller_desc" msgid="7919995133365371569">"缩小"</string>
     <string name="font_size_make_larger_desc" msgid="4316986572233686061">"放大"</string>
-    <!-- no translation found for font_size_preview_text_headline (7955317408475392247) -->
-    <skip />
-    <!-- no translation found for font_size_preview_text_title (4762429961714563135) -->
-    <skip />
-    <!-- no translation found for font_size_preview_text_subtitle (5712012075615701561) -->
-    <skip />
-    <!-- no translation found for font_size_preview_text_body (1608889593334414309) -->
-    <skip />
+    <string name="font_size_preview_text_headline" msgid="7955317408475392247">"示例文本"</string>
+    <string name="font_size_preview_text_title" msgid="4762429961714563135">"《海底两万里》"</string>
+    <string name="font_size_preview_text_subtitle" msgid="5712012075615701561">"第 23 章：《珊瑚王国》"</string>
+    <string name="font_size_preview_text_body" msgid="1608889593334414309">"第二天醒来时，我的脑袋异常清醒。令我大吃一惊的是，我竟然在自己的房间里。我的同伴们也一定都在不知不觉中被人送回了各自的船舱，而且和我一样，对于昨晚发生的事一无所知。要想揭开整件事情的谜团，我想只能等待日后偶然的机会了。\n我暗自琢磨着离开这个房间。我重获自由了吗？还是依然是个被囚禁的人？事实上，我已经完全获得自由了！我打开房门，穿过半个甲板，然后走上中央楼梯。昨晚关闭的嵌板现在是敞开的。我踏上平台。\n尼德·兰和康塞尔正在那里等着我。我向他们提出心中的疑惑，但没有获得任何答案。他们睡得太沉了，彻底失去意识，醒来时也是很惊讶地发现自己又回到了船舱中。"</string>
     <string name="font_size_save" msgid="3450855718056759095">"确定"</string>
     <string name="sdcard_setting" product="nosdcard" msgid="8281011784066476192">"USB存储设备"</string>
     <string name="sdcard_setting" product="default" msgid="5922637503871474866">"SD卡"</string>
@@ -269,7 +264,8 @@
     <string name="roaming_disable" msgid="1295279574370898378">"漫游时连接到移动数据网络服务"</string>
     <string name="roaming_reenable_message" msgid="9141007271031717369">"移动数据网络连接已断开，因为您已离开本地网络并关闭了移动数据网络漫游功能。"</string>
     <string name="roaming_turn_it_on_button" msgid="4387601818162120589">"将其启用"</string>
-    <string name="roaming_warning" msgid="7625933694709170887">"请注意，允许移动数据网络漫游可能会产生高额漫游费！"</string>
+    <!-- no translation found for roaming_warning (4275443317524544705) -->
+    <skip />
     <string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"如果允许数据漫游，您可能需要支付高昂的漫游费用！\n\n此设置会影响这部平板电脑上的所有用户。"</string>
     <string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"如果允许数据漫游，您可能需要支付高昂的漫游费用！\n\n此设置会影响这部手机上的所有用户。"</string>
     <string name="roaming_reenable_title" msgid="6068100976707316772">"允许移动数据网络漫游吗？"</string>
@@ -1279,9 +1275,9 @@
     <string name="lock_settings_profile_label" msgid="4423909470339292809">"工作资料安全"</string>
     <string name="lock_settings_profile_screen_lock_title" msgid="3334747927367115256">"工作资料屏幕锁定"</string>
     <string name="lock_settings_profile_unification_title" msgid="3130455578336894831">"使用相同的屏幕锁定设置"</string>
-    <string name="lock_settings_profile_unification_summary" msgid="8014208091623293835">"更改主资料，以使其与工作资料相符"</string>
+    <string name="lock_settings_profile_unification_summary" msgid="8014208091623293835">"将主资料改成与工作资料一致"</string>
     <string name="lock_settings_profile_unification_dialog_title" msgid="5297248764066294130">"要使用相同的屏幕锁定设置吗？"</string>
-    <string name="lock_settings_profile_unification_dialog_body" msgid="342417647696962745">"您可以针对自己的设备使用这种锁定，但这样做会使您的 IT 管理员所设置的所有屏幕锁定相关政策都应用到工作资料。\n要针对您的设备使用相同的屏幕锁定设置吗？"</string>
+    <string name="lock_settings_profile_unification_dialog_body" msgid="342417647696962745">"您可以在设备上使用这种锁定，但这样会使您的 IT 管理员所设置的所有屏幕锁定相关政策都应用到工作资料。\n要在设备上使用相同的屏幕锁定设置吗？"</string>
     <string name="lock_settings_profile_unified_summary" msgid="237623767711796217">"与设备相同的锁定设置"</string>
     <string name="manageapplications_settings_title" msgid="7041951105633616745">"管理应用"</string>
     <string name="manageapplications_settings_summary" msgid="1794401500935451259">"管理和删除已安装的应用"</string>
@@ -1941,6 +1937,10 @@
     <string name="sync_is_failing" msgid="1591561768344128377">"同步操作当前遇到了一些问题，很快便可恢复。"</string>
     <string name="add_account_label" msgid="7811707265834013767">"添加帐号"</string>
     <string name="managed_profile_not_available_label" msgid="852263300911325904">"工作资料尚不可用"</string>
+    <!-- no translation found for work_mode_label (5794470908668593961) -->
+    <skip />
+    <!-- no translation found for work_mode_summary (1620246003886940776) -->
+    <skip />
     <string name="remove_managed_profile_label" msgid="3856519337797285325">"移除工作资料"</string>
     <string name="background_data" msgid="5779592891375473817">"后台流量"</string>
     <string name="background_data_summary" msgid="8328521479872763452">"应用可以随时同步、发送和接收数据"</string>
@@ -2758,8 +2758,7 @@
     <string name="camera_double_tap_power_gesture_desc" msgid="7355664631775680376">"在不解锁屏幕的情况下快速打开相机"</string>
     <string name="screen_zoom_title" msgid="6332123593919641665">"屏幕缩放"</string>
     <string name="screen_zoom_keywords" msgid="9176477565403352552">"显示密度, 屏幕缩放, 比例, 调整比例"</string>
-    <!-- no translation found for screen_zoom_summary (2022973627105802010) -->
-    <skip />
+    <string name="screen_zoom_summary" msgid="2022973627105802010">"缩小或放大屏幕上的所有内容。更改此设置后，主屏幕上部分应用的位置可能会有变动。"</string>
     <string name="screen_zoom_preview_title" msgid="4680671508172336572">"预览"</string>
     <string name="screen_zoom_make_smaller_desc" msgid="4622359904253364742">"缩小"</string>
     <string name="screen_zoom_make_larger_desc" msgid="2236171043607896594">"放大"</string>
@@ -2803,8 +2802,55 @@
     <string name="condition_cellular_summary" msgid="1818046558419658463">"您只能通过 WLAN 网络连接到互联网"</string>
     <string name="condition_bg_data_title" msgid="1422001615923482010">"后台数据已关闭"</string>
     <string name="condition_bg_data_summary" msgid="656957852895282228">"您必须连接 WLAN 网络才能使用后台数据。如果无法连接 WLAN 网络，则部分应用或服务可能会受影响。"</string>
+    <!-- no translation found for condition_work_title (7293722361184366648) -->
+    <skip />
+    <!-- no translation found for condition_work_summary (7543202177571590378) -->
+    <skip />
     <string name="suggestions_title" msgid="8758376306825920705">"建议 (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
     <string name="suggestion_remove" msgid="904627293892092439">"移除"</string>
     <string name="color_temperature" msgid="2501579996151717270">"显示屏色温"</string>
     <string name="color_temperature_desc" msgid="3603319696846982249">"启用冷色温"</string>
+    <!-- no translation found for usage (2977875522080448986) -->
+    <skip />
+    <!-- no translation found for cellular_data_usage (2763710678354680712) -->
+    <skip />
+    <!-- no translation found for wifi_data_usage (686754111095324306) -->
+    <skip />
+    <!-- no translation found for ethernet_data_usage (5108764537574354616) -->
+    <skip />
+    <string name="wifi" msgid="1081550856200013637">"WLAN"</string>
+    <!-- no translation found for ethernet (6600095783781389720) -->
+    <skip />
+    <!-- no translation found for cell_data_template (3308709914705592281) -->
+    <skip />
+    <!-- no translation found for wifi_data_template (501654649753761778) -->
+    <skip />
+    <!-- no translation found for ethernet_data_template (5775729859383597507) -->
+    <skip />
+    <!-- no translation found for cell_warning_only (763147658209027140) -->
+    <skip />
+    <!-- no translation found for cell_warning_and_limit (2273413629267437470) -->
+    <skip />
+    <!-- no translation found for billing_cycle (5169909190811133499) -->
+    <skip />
+    <!-- no translation found for billing_cycle_summary (9009106526129293752) -->
+    <skip />
+    <!-- no translation found for billing_cycle_fragment_summary (1940518156600077066) -->
+    <skip />
+    <!-- no translation found for network_restrictions (8234695294536675380) -->
+    <skip />
+    <!-- no translation found for operator_warning (7206980278353372811) -->
+    <skip />
+    <!-- no translation found for data_used_template (3245919669966296505) -->
+    <skip />
+    <!-- no translation found for data_warning (209133958008062117) -->
+    <skip />
+    <!-- no translation found for set_data_limit (2901526323210516923) -->
+    <skip />
+    <!-- no translation found for data_limit (1885406964934590552) -->
+    <skip />
+    <!-- no translation found for data_usage_template (392191945602400904) -->
+    <skip />
+    <!-- no translation found for configure (1029654422228677273) -->
+    <skip />
 </resources>
diff --git a/res/values-zh-rHK/strings.xml b/res/values-zh-rHK/strings.xml
index 2c0ab2d..eb465b6 100644
--- a/res/values-zh-rHK/strings.xml
+++ b/res/values-zh-rHK/strings.xml
@@ -74,8 +74,7 @@
     <string name="sdcard_unmount" product="default" msgid="3364184561355611897">"卸載 SD 卡"</string>
     <string name="sdcard_format" product="nosdcard" msgid="6285310523155166716">"清除 USB 儲存裝置資料"</string>
     <string name="sdcard_format" product="default" msgid="6713185532039187532">"清除 SD 記憶卡資料"</string>
-    <!-- no translation found for font_size_summary (133937309990844030) -->
-    <skip />
+    <string name="font_size_summary" msgid="133937309990844030">"縮小或放大畫面上的文字。"</string>
     <string name="small_font" msgid="2295331917424072635">"小"</string>
     <string name="medium_font" msgid="2068475425515133701">"中"</string>
     <string name="large_font" msgid="599055175160971446">"大"</string>
@@ -84,7 +83,7 @@
     <string name="font_size_preview_text_headline" msgid="7955317408475392247">"範例文字"</string>
     <string name="font_size_preview_text_title" msgid="4762429961714563135">"《海底兩萬里》"</string>
     <string name="font_size_preview_text_subtitle" msgid="5712012075615701561">"第 23 章：珊瑚王國"</string>
-    <string name="font_size_preview_text_body" msgid="1608889593334414309">"第二天醒來時，我的頭腦非常清晰。令我詫異的是，我竟在自己的房間裡。我的同伴也一定在不知不覺中回到自己的船艙，對昨晚發生的事一無所知。我只寄望日後還有機會，揭開整件事的謎團。\n然後，我想走出房間。我重獲自由了嗎？還是仍是囚犯？結果是自由的很。我打開門，走上半甲板，再走到中央樓梯。昨晚關上的門板現在是開著的。我踏上平台。\n尼德·蘭和康塞爾在那裡等著我。我向他們提出心中的疑惑，但他們一無所知，只記得自己睡得很沉，徹底失去意識一樣，醒來時很驚訝發現身處自己的船艙中。"</string>
+    <string name="font_size_preview_text_body" msgid="1608889593334414309">"第二天我醒來的時候，頭腦特別清醒。我居然是在自己的房間，這讓我感到很驚。這麼說，我的兩個同伴對晚上發生的所有事情，像我一樣也都完全不知道，他們大概也是在一無所知的情況下被人送回了房間。看來，我只有依靠將來的偶然機會，才能要解開這個謎團。\n我暗自琢磨著離開這個房間。我是已經恢復了自由了呢？還是依然是個被囚禁的人呢？事實上，我已經完全獲得自由了！我打開了門，穿過走廊，登上了中央鐵梯。昨天關閉著的嵌板，現在是開著的。我走上了平台，\n尼德·蘭和康塞爾已經等在了那裡。我問他們，是否知道昨晚發生的事情，他們說昨晚沒給他們留下任何記憶，也感到很驚訝，不知道自己在什麼時候又回到了房間，只是一直在昏沉沉地睡著。"</string>
     <string name="font_size_save" msgid="3450855718056759095">"確定"</string>
     <string name="sdcard_setting" product="nosdcard" msgid="8281011784066476192">"USB 儲存裝置"</string>
     <string name="sdcard_setting" product="default" msgid="5922637503871474866">"SD 卡"</string>
@@ -265,7 +264,8 @@
     <string name="roaming_disable" msgid="1295279574370898378">"漫遊時連線到數據傳輸服務"</string>
     <string name="roaming_reenable_message" msgid="9141007271031717369">"您已離開主網絡覆蓋範圍，且已關閉數據傳輸漫遊服務，因此數據連線已中斷。"</string>
     <string name="roaming_turn_it_on_button" msgid="4387601818162120589">"開啟"</string>
-    <string name="roaming_warning" msgid="7625933694709170887">"如果您允許數據漫遊，可能需要支付龐大的漫遊費用！"</string>
+    <!-- no translation found for roaming_warning (4275443317524544705) -->
+    <skip />
     <string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"如果您允許數據漫遊，可能需要支付高昂的漫遊費用！\n\n這項設定會影響這部平板電腦的所有使用者。"</string>
     <string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"如果您允許數據漫遊，可能需要支付高昂的漫遊費用！\n\n這項設定會影響這部手機的所有使用者。"</string>
     <string name="roaming_reenable_title" msgid="6068100976707316772">"允許數據漫遊？"</string>
@@ -1942,6 +1942,10 @@
     <string name="sync_is_failing" msgid="1591561768344128377">"同步處理目前發生問題。將於短時間內恢復。"</string>
     <string name="add_account_label" msgid="7811707265834013767">"新增帳戶"</string>
     <string name="managed_profile_not_available_label" msgid="852263300911325904">"公司檔案未能使用"</string>
+    <!-- no translation found for work_mode_label (5794470908668593961) -->
+    <skip />
+    <!-- no translation found for work_mode_summary (1620246003886940776) -->
+    <skip />
     <string name="remove_managed_profile_label" msgid="3856519337797285325">"移除公司檔案"</string>
     <string name="background_data" msgid="5779592891375473817">"背景資料"</string>
     <string name="background_data_summary" msgid="8328521479872763452">"應用程式隨時可以同步處理、傳送和接收資料"</string>
@@ -2759,8 +2763,7 @@
     <string name="camera_double_tap_power_gesture_desc" msgid="7355664631775680376">"快速開啟相機，無需解鎖螢幕"</string>
     <string name="screen_zoom_title" msgid="6332123593919641665">"螢幕縮放"</string>
     <string name="screen_zoom_keywords" msgid="9176477565403352552">"顯示密度, 螢幕縮放, 比例, 按比例"</string>
-    <!-- no translation found for screen_zoom_summary (2022973627105802010) -->
-    <skip />
+    <string name="screen_zoom_summary" msgid="2022973627105802010">"縮小或放大畫面上的所有項目。變更此設定後，主畫面上的部分應用程式位置可能會有變動。"</string>
     <string name="screen_zoom_preview_title" msgid="4680671508172336572">"預覽"</string>
     <string name="screen_zoom_make_smaller_desc" msgid="4622359904253364742">"縮小"</string>
     <string name="screen_zoom_make_larger_desc" msgid="2236171043607896594">"放大"</string>
@@ -2804,8 +2807,55 @@
     <string name="condition_cellular_summary" msgid="1818046558419658463">"您必須使用 Wi-Fi 才能連線至互聯網"</string>
     <string name="condition_bg_data_title" msgid="1422001615923482010">"已關閉背景數據"</string>
     <string name="condition_bg_data_summary" msgid="656957852895282228">"您必須連接 Wi-Fi 才能使用背景數據。在沒有 Wi-Fi 的情況下，使用背景數據可能會影響部分應用程式或服務。"</string>
+    <!-- no translation found for condition_work_title (7293722361184366648) -->
+    <skip />
+    <!-- no translation found for condition_work_summary (7543202177571590378) -->
+    <skip />
     <string name="suggestions_title" msgid="8758376306825920705">"建議 (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
     <string name="suggestion_remove" msgid="904627293892092439">"移除"</string>
     <string name="color_temperature" msgid="2501579996151717270">"顯示屏的色溫"</string>
     <string name="color_temperature_desc" msgid="3603319696846982249">"啟用冷色"</string>
+    <!-- no translation found for usage (2977875522080448986) -->
+    <skip />
+    <!-- no translation found for cellular_data_usage (2763710678354680712) -->
+    <skip />
+    <!-- no translation found for wifi_data_usage (686754111095324306) -->
+    <skip />
+    <!-- no translation found for ethernet_data_usage (5108764537574354616) -->
+    <skip />
+    <string name="wifi" msgid="1081550856200013637">"Wi-Fi"</string>
+    <!-- no translation found for ethernet (6600095783781389720) -->
+    <skip />
+    <!-- no translation found for cell_data_template (3308709914705592281) -->
+    <skip />
+    <!-- no translation found for wifi_data_template (501654649753761778) -->
+    <skip />
+    <!-- no translation found for ethernet_data_template (5775729859383597507) -->
+    <skip />
+    <!-- no translation found for cell_warning_only (763147658209027140) -->
+    <skip />
+    <!-- no translation found for cell_warning_and_limit (2273413629267437470) -->
+    <skip />
+    <!-- no translation found for billing_cycle (5169909190811133499) -->
+    <skip />
+    <!-- no translation found for billing_cycle_summary (9009106526129293752) -->
+    <skip />
+    <!-- no translation found for billing_cycle_fragment_summary (1940518156600077066) -->
+    <skip />
+    <!-- no translation found for network_restrictions (8234695294536675380) -->
+    <skip />
+    <!-- no translation found for operator_warning (7206980278353372811) -->
+    <skip />
+    <!-- no translation found for data_used_template (3245919669966296505) -->
+    <skip />
+    <!-- no translation found for data_warning (209133958008062117) -->
+    <skip />
+    <!-- no translation found for set_data_limit (2901526323210516923) -->
+    <skip />
+    <!-- no translation found for data_limit (1885406964934590552) -->
+    <skip />
+    <!-- no translation found for data_usage_template (392191945602400904) -->
+    <skip />
+    <!-- no translation found for configure (1029654422228677273) -->
+    <skip />
 </resources>
diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml
index e85734e..4c624e1 100644
--- a/res/values-zh-rTW/strings.xml
+++ b/res/values-zh-rTW/strings.xml
@@ -74,8 +74,7 @@
     <string name="sdcard_unmount" product="default" msgid="3364184561355611897">"卸載 SD 卡"</string>
     <string name="sdcard_format" product="nosdcard" msgid="6285310523155166716">"清除 USB 儲存裝置"</string>
     <string name="sdcard_format" product="default" msgid="6713185532039187532">"清除 SD 卡"</string>
-    <!-- no translation found for font_size_summary (133937309990844030) -->
-    <skip />
+    <string name="font_size_summary" msgid="133937309990844030">"縮小或放大畫面上的文字。"</string>
     <string name="small_font" msgid="2295331917424072635">"小"</string>
     <string name="medium_font" msgid="2068475425515133701">"中"</string>
     <string name="large_font" msgid="599055175160971446">"大"</string>
@@ -265,7 +264,8 @@
     <string name="roaming_disable" msgid="1295279574370898378">"漫遊時連線到數據傳輸服務"</string>
     <string name="roaming_reenable_message" msgid="9141007271031717369">"由於您不在主要網路蓋涵範圍，且已關閉漫遊服務，資料連線已中斷。"</string>
     <string name="roaming_turn_it_on_button" msgid="4387601818162120589">"開啟"</string>
-    <string name="roaming_warning" msgid="7625933694709170887">"允許漫遊服務時，您可能需要支付龐大的漫遊費用！"</string>
+    <!-- no translation found for roaming_warning (4275443317524544705) -->
+    <skip />
     <string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"允許使用數據漫遊服務時，您可能需要支付龐大的漫遊費用！\n\n這項設定會影響這台平板電腦的所有使用者。"</string>
     <string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"允許使用數據漫遊服務時，您可能需要支付龐大的漫遊費用！\n\n這項設定會影響這支手機的所有使用者。"</string>
     <string name="roaming_reenable_title" msgid="6068100976707316772">"允許漫遊服務？"</string>
@@ -427,8 +427,8 @@
     <string name="unlock_setup_wizard_fingerprint_details" msgid="7893457665921363009">"設定螢幕鎖定之後，您還可以前往 [設定] &gt; [安全性] 設定指紋。"</string>
     <string name="unlock_disable_lock_title" msgid="1427036227416979120">"關閉螢幕鎖定"</string>
     <string name="unlock_disable_frp_warning_title" msgid="264008934468492550">"要移除裝置保護措施嗎？"</string>
-    <string name="unlock_disable_frp_warning_content_pattern" msgid="8869767290771023461">"如果移除您的解鎖圖形，裝置保護功能將無法運作。"</string>
-    <string name="unlock_disable_frp_warning_content_pattern_fingerprint" msgid="8212242533942400457">"如果移除您的解鎖圖形，裝置保護功能將無法運作。<xliff:g id="EMPTY_LINE">
+    <string name="unlock_disable_frp_warning_content_pattern" msgid="8869767290771023461">"如果移除您的解鎖圖案，裝置保護功能將無法運作。"</string>
+    <string name="unlock_disable_frp_warning_content_pattern_fingerprint" msgid="8212242533942400457">"如果移除您的解鎖圖案，裝置保護功能將無法運作。<xliff:g id="EMPTY_LINE">
 
 </xliff:g>您儲存的指紋會一併從這部裝置中移除，因此您將無法使用指紋解鎖手機、授權購物交易或登入應用程式。"</string>
     <string name="unlock_disable_frp_warning_content_pin" msgid="586996206210265131">"如果移除您的 PIN 碼，裝置保護功能將無法運作。"</string>
@@ -444,7 +444,7 @@
 
 </xliff:g>您儲存的指紋會一併從這部裝置中移除，因此您將無法使用指紋解鎖手機、授權購物交易或登入應用程式。"</string>
     <string name="unlock_disable_frp_warning_ok" msgid="7075138677177748705">"是，移除裝置保護措施"</string>
-    <string name="unlock_change_lock_pattern_title" msgid="2044092014872741130">"變更解鎖圖形"</string>
+    <string name="unlock_change_lock_pattern_title" msgid="2044092014872741130">"變更解鎖圖案"</string>
     <string name="unlock_change_lock_pin_title" msgid="806629901095938484">"變更解鎖 PIN"</string>
     <string name="unlock_change_lock_password_title" msgid="5606298470358768865">"變更解鎖密碼"</string>
     <string name="lockpassword_password_too_short" msgid="7328975683669256660">"密碼必須有至少 %d 個字元"</string>
@@ -1239,36 +1239,36 @@
     <string name="lockpassword_password_set_toast" msgid="4875050283108629383">"已設定密碼"</string>
     <string name="lockpassword_pin_set_toast" msgid="6011826444725291475">"已設定 PIN"</string>
     <string name="lockpassword_pattern_set_toast" msgid="6867259621331406236">"已設定圖形"</string>
-    <string name="lockpassword_confirm_your_pattern_generic" msgid="7050256155547273836">"請畫出您的裝置解鎖圖形以繼續作業。"</string>
+    <string name="lockpassword_confirm_your_pattern_generic" msgid="7050256155547273836">"請畫出您的裝置解鎖圖案以繼續作業。"</string>
     <string name="lockpassword_confirm_your_pin_generic" msgid="1072670959803859869">"請輸入您的裝置 PIN 以繼續作業。"</string>
     <string name="lockpassword_confirm_your_password_generic" msgid="1022239625083264596">"請輸入您的裝置密碼以繼續作業。"</string>
     <string name="lockpassword_invalid_pin" msgid="15588049067548470">"PIN 碼錯誤"</string>
     <string name="lockpassword_invalid_password" msgid="4038507398784975200">"密碼錯誤"</string>
     <string name="lockpattern_need_to_unlock_wrong" msgid="1745247595356012176">"圖形錯誤"</string>
     <string name="lock_settings_title" msgid="4213839087748988686">"裝置安全性"</string>
-    <string name="lockpattern_change_lock_pattern_label" msgid="5679630792003440352">"變更解鎖圖形"</string>
+    <string name="lockpattern_change_lock_pattern_label" msgid="5679630792003440352">"變更解鎖圖案"</string>
     <string name="lockpattern_change_lock_pin_label" msgid="266707138486731661">"變更解鎖 PIN"</string>
-    <string name="lockpattern_recording_intro_header" msgid="308287052221942814">"畫出解鎖圖形"</string>
+    <string name="lockpattern_recording_intro_header" msgid="308287052221942814">"畫出解鎖圖案"</string>
     <string name="lockpattern_recording_intro_footer" msgid="1118579101409152113">"請按 [Menu] 以取得說明。"</string>
     <string name="lockpattern_recording_inprogress" msgid="6667844062721656773">"完成時請移開手指"</string>
-    <string name="lockpattern_recording_incorrect_too_short" msgid="1348234155120957561">"圖形至少需連接 <xliff:g id="NUMBER">%d</xliff:g> 點，請再試一次。"</string>
+    <string name="lockpattern_recording_incorrect_too_short" msgid="1348234155120957561">"圖案至少需連接 <xliff:g id="NUMBER">%d</xliff:g> 點，請再試一次。"</string>
     <string name="lockpattern_pattern_entered_header" msgid="4316818983675591604">"圖形已記錄"</string>
     <string name="lockpattern_need_to_confirm" msgid="8054853451639221265">"請再次畫出圖形，以確認圖形無誤"</string>
-    <string name="lockpattern_pattern_confirmed_header" msgid="8455614172231880211">"您的新解鎖圖形"</string>
+    <string name="lockpattern_pattern_confirmed_header" msgid="8455614172231880211">"您的新解鎖圖案"</string>
     <string name="lockpattern_confirm_button_text" msgid="1128204343957002841">"確認"</string>
     <string name="lockpattern_restart_button_text" msgid="3337574403350953926">"重畫"</string>
     <string name="lockpattern_retry_button_text" msgid="3480423193273588166">"清除"</string>
     <string name="lockpattern_continue_button_text" msgid="4723771754714471410">"繼續"</string>
-    <string name="lockpattern_settings_title" msgid="3207750489460466680">"解鎖圖形"</string>
-    <string name="lockpattern_settings_enable_title" msgid="6920616873671115281">"需要解鎖圖形"</string>
-    <string name="lockpattern_settings_enable_summary" msgid="1165707416664252167">"必須畫出解鎖圖形以解鎖螢幕"</string>
-    <string name="lockpattern_settings_enable_visible_pattern_title" msgid="2615606088906120711">"顯示解鎖圖形"</string>
+    <string name="lockpattern_settings_title" msgid="3207750489460466680">"解鎖圖案"</string>
+    <string name="lockpattern_settings_enable_title" msgid="6920616873671115281">"需要解鎖圖案"</string>
+    <string name="lockpattern_settings_enable_summary" msgid="1165707416664252167">"必須畫出解鎖圖案以解鎖螢幕"</string>
+    <string name="lockpattern_settings_enable_visible_pattern_title" msgid="2615606088906120711">"顯示解鎖圖案"</string>
     <string name="lockpattern_settings_enable_tactile_feedback_title" msgid="8898518337442601027">"觸控時震動"</string>
     <string name="lockpattern_settings_enable_power_button_instantly_locks" msgid="5735444062633666327">"按下電源按鈕立即鎖定"</string>
     <string name="lockpattern_settings_power_button_instantly_locks_summary" msgid="8196258755143711694">"由「<xliff:g id="TRUST_AGENT_NAME">%1$s</xliff:g>」維持解鎖狀態時除外"</string>
-    <string name="lockpattern_settings_choose_lock_pattern" msgid="1652352830005653447">"設定解鎖圖形"</string>
-    <string name="lockpattern_settings_change_lock_pattern" msgid="1123908306116495545">"變更解鎖圖形"</string>
-    <string name="lockpattern_settings_help_how_to_record" msgid="2614673439060830433">"如何畫出解鎖圖形"</string>
+    <string name="lockpattern_settings_choose_lock_pattern" msgid="1652352830005653447">"設定解鎖圖案"</string>
+    <string name="lockpattern_settings_change_lock_pattern" msgid="1123908306116495545">"變更解鎖圖案"</string>
+    <string name="lockpattern_settings_help_how_to_record" msgid="2614673439060830433">"如何畫出解鎖圖案"</string>
     <string name="lockpattern_too_many_failed_confirmation_attempts" msgid="6909161623701848863">"錯誤次數過多，請於 <xliff:g id="NUMBER">%d</xliff:g> 秒後再試。"</string>
     <string name="activity_not_found" msgid="5551664692991605325">"您未在手機上安裝應用程式。"</string>
     <string name="lock_settings_profile_title" msgid="7819021341281339182">"Work 設定檔"</string>
@@ -1624,7 +1624,7 @@
     <string name="touch_filtered_warning" msgid="8644034725268915030">"權限要求遭到其他應用程式畫面遮掩，因此「設定」無法驗證您的回應。"</string>
     <string name="enable_service_encryption_warning" msgid="3064686622453974606">"如果您開啟 <xliff:g id="SERVICE">%1$s</xliff:g>，您的裝置將無法使用螢幕鎖定加強資料加密。"</string>
     <string name="secure_lock_encryption_warning" msgid="460911459695077779">"您已開啟協助工具服務，因此您的裝置無法使用螢幕鎖定加強資料加密。"</string>
-    <string name="enable_service_pattern_reason" msgid="777577618063306751">"開啟 <xliff:g id="SERVICE">%1$s</xliff:g> 將影響資料加密，因此您必須畫出解鎖圖形。"</string>
+    <string name="enable_service_pattern_reason" msgid="777577618063306751">"開啟 <xliff:g id="SERVICE">%1$s</xliff:g> 將影響資料加密，因此您必須畫出解鎖圖案。"</string>
     <string name="enable_service_pin_reason" msgid="7882035264853248228">"開啟 <xliff:g id="SERVICE">%1$s</xliff:g> 將影響資料加密，因此您必須輸入 PIN。"</string>
     <string name="enable_service_password_reason" msgid="1224075277603097951">"開啟 <xliff:g id="SERVICE">%1$s</xliff:g> 將影響資料加密，因此您必須輸入密碼。"</string>
     <string name="capability_title_receiveAccessibilityEvents" msgid="1869032063969970755">"記錄您的操作行為"</string>
@@ -1941,6 +1941,10 @@
     <string name="sync_is_failing" msgid="1591561768344128377">"目前同步處理發生問題。稍後會回復正常。"</string>
     <string name="add_account_label" msgid="7811707265834013767">"新增帳戶"</string>
     <string name="managed_profile_not_available_label" msgid="852263300911325904">"尚未提供工作設定檔"</string>
+    <!-- no translation found for work_mode_label (5794470908668593961) -->
+    <skip />
+    <!-- no translation found for work_mode_summary (1620246003886940776) -->
+    <skip />
     <string name="remove_managed_profile_label" msgid="3856519337797285325">"移除工作設定檔"</string>
     <string name="background_data" msgid="5779592891375473817">"背景資料"</string>
     <string name="background_data_summary" msgid="8328521479872763452">"應用程式隨時可以同步處理、傳送和接收資料"</string>
@@ -1982,7 +1986,7 @@
     <string name="status_wimax_mac_address" msgid="8390791848661413416">"4G MAC 位址"</string>
     <string name="enter_password" msgid="8035706727471334122">"如要啟動 Android，請輸入您的密碼"</string>
     <string name="enter_pin" msgid="5305333588093263790">"如要啟動 Android，請輸入您的 PIN"</string>
-    <string name="enter_pattern" msgid="4187435713036808566">"如要啟動 Android，請畫出解鎖圖形"</string>
+    <string name="enter_pattern" msgid="4187435713036808566">"如要啟動 Android，請畫出解鎖圖案"</string>
     <string name="cryptkeeper_wrong_pattern" msgid="8423835922362956999">"圖形錯誤"</string>
     <string name="cryptkeeper_wrong_password" msgid="5200857195368904047">"密碼錯誤"</string>
     <string name="cryptkeeper_wrong_pin" msgid="755720788765259382">"PIN 碼錯誤"</string>
@@ -2529,7 +2533,7 @@
     <string name="switch_off_text" msgid="1139356348100829659">"關閉"</string>
     <string name="screen_pinning_title" msgid="2292573232264116542">"螢幕固定"</string>
     <string name="screen_pinning_description" msgid="1137904524037468263">"開啟這項設定時，您可以使用螢幕固定功能讓目前的畫面保持顯示狀態，直到取消固定為止。\n\n如何使用螢幕固定功能：\n\n1. 確認螢幕固定功能已開啟。\n\n2. 開啟您要固定的畫面。\n\n3. 輕觸總覽按鈕。\n\n4. 向上滑動並輕觸圖釘圖示。"</string>
-    <string name="screen_pinning_unlock_pattern" msgid="8282268570060313339">"取消固定時必須畫出解鎖圖形"</string>
+    <string name="screen_pinning_unlock_pattern" msgid="8282268570060313339">"取消固定時必須畫出解鎖圖案"</string>
     <string name="screen_pinning_unlock_pin" msgid="8757588350454795286">"取消固定時必須輸入 PIN"</string>
     <string name="screen_pinning_unlock_password" msgid="2514079566873826434">"取消固定時必須輸入密碼"</string>
     <string name="screen_pinning_unlock_none" msgid="3814188275713871856">"取消固定時鎖定裝置"</string>
@@ -2545,22 +2549,22 @@
     <string name="encryption_interstitial_header" msgid="468015813904595613">"安全啟動"</string>
     <string name="encryption_continue_button" msgid="1121880322636992402">"繼續"</string>
     <string name="encryption_interstitial_message_pin" msgid="7164072567822375682">"如果要進一步保護裝置，您可以將裝置設為需要輸入 PIN 才能啟動，等裝置啟動後方可接收來電、訊息或通知 (包括警告)。\n\n這樣一來，即使裝置遺失或遭竊，其中的資料仍安全無虞。"</string>
-    <string name="encryption_interstitial_message_pattern" msgid="6747091924626566031">"如果要進一步保護裝置，您可以將裝置設為需要畫出解鎖圖形才能啟動，等裝置啟動後方可接收來電、訊息或通知 (包括警告)。\n\n這樣一來，即使裝置遺失或遭竊，其中的資料仍安全無虞。"</string>
+    <string name="encryption_interstitial_message_pattern" msgid="6747091924626566031">"如果要進一步保護裝置，您可以將裝置設為需要畫出解鎖圖案才能啟動，等裝置啟動後方可接收來電、訊息或通知 (包括警告)。\n\n這樣一來，即使裝置遺失或遭竊，其中的資料仍安全無虞。"</string>
     <string name="encryption_interstitial_message_password" msgid="3462225324186045679">"如果要進一步保護裝置，您可以將裝置設為需要輸入密碼才能啟動，等裝置啟動後方可接收來電、訊息或通知 (包括警告)。\n\n這樣一來，即使裝置遺失或遭竊，其中的資料仍安全無虞。"</string>
     <string name="encryption_interstitial_message_pin_for_fingerprint" msgid="3775537118799831558">"除了啟用裝置的指紋解鎖功能，您還可以設定裝置在啟動前要求使用者輸入 PIN 碼，為裝置增添多一道防護。裝置必須成功啟動才能接聽電話及接收訊息或通知 (包括鬧鐘)。\n\n這樣一來，萬一裝置遺失或遭竊，裝置上的資料仍會受到保護。"</string>
-    <string name="encryption_interstitial_message_pattern_for_fingerprint" msgid="1105290967535237237">"除了啟用裝置的指紋解鎖功能，您還可以設定裝置在啟動前要求使用者輸入解鎖圖形，為裝置增添多一道防護。裝置必須成功啟動才能接聽電話及接收訊息或通知 (包括鬧鐘)。\n\n這樣一來，萬一裝置遺失或遭竊，裝置上的資料仍會受到保護。"</string>
+    <string name="encryption_interstitial_message_pattern_for_fingerprint" msgid="1105290967535237237">"除了啟用裝置的指紋解鎖功能，您還可以設定裝置在啟動前要求使用者輸入解鎖圖案，為裝置增添多一道防護。裝置必須成功啟動才能接聽電話及接收訊息或通知 (包括鬧鐘)。\n\n這樣一來，萬一裝置遺失或遭竊，裝置上的資料仍會受到保護。"</string>
     <string name="encryption_interstitial_message_password_for_fingerprint" msgid="3512482682507378424">"除了啟用裝置的指紋解鎖功能，您還可以設定裝置在啟動前要求使用者輸入密碼，為裝置增添多一道防護。裝置必須成功啟動才能接聽電話及接收訊息或通知 (包括鬧鐘)。\n\n這樣一來，萬一裝置遺失或遭竊，裝置上的資料仍會受到保護。"</string>
     <string name="encrypt_require_pin" msgid="2063945047845243752">"需要輸入 PIN 才能啟動裝置"</string>
-    <string name="encrypt_require_pattern" msgid="6898479411004015810">"需要畫出解鎖圖形才能啟動裝置"</string>
+    <string name="encrypt_require_pattern" msgid="6898479411004015810">"需要畫出解鎖圖案才能啟動裝置"</string>
     <string name="encrypt_require_password" msgid="8770628366276570518">"需要輸入密碼才能啟動裝置"</string>
     <string name="encrypt_dont_require_pin" msgid="1082444817726247368">"不用了，謝謝"</string>
     <string name="encrypt_dont_require_pattern" msgid="6668299362640433843">"不用了，謝謝"</string>
     <string name="encrypt_dont_require_password" msgid="2580403214917009046">"不用了，謝謝"</string>
     <string name="encrypt_talkback_dialog_require_pin" msgid="8299960550048989807">"需要輸入 PIN？"</string>
-    <string name="encrypt_talkback_dialog_require_pattern" msgid="1499790256154146639">"需要畫出解鎖圖形？"</string>
+    <string name="encrypt_talkback_dialog_require_pattern" msgid="1499790256154146639">"需要畫出解鎖圖案？"</string>
     <string name="encrypt_talkback_dialog_require_password" msgid="8841994614218049215">"需要輸入密碼？"</string>
     <string name="encrypt_talkback_dialog_message_pin" msgid="7582096542997635316">"輸入您的 PIN 啟動裝置後，您將無法使用 <xliff:g id="SERVICE">%1$s</xliff:g> 等各項協助工具服務。"</string>
-    <string name="encrypt_talkback_dialog_message_pattern" msgid="2020083142199612743">"畫出解鎖圖形啟動裝置後，您將無法使用 <xliff:g id="SERVICE">%1$s</xliff:g> 等各項協助工具服務。"</string>
+    <string name="encrypt_talkback_dialog_message_pattern" msgid="2020083142199612743">"畫出解鎖圖案啟動裝置後，您將無法使用 <xliff:g id="SERVICE">%1$s</xliff:g> 等各項協助工具服務。"</string>
     <string name="encrypt_talkback_dialog_message_password" msgid="4155875981789127796">"輸入您的密碼啟動裝置後，您將無法使用 <xliff:g id="SERVICE">%1$s</xliff:g> 等各項協助工具服務。"</string>
     <string name="imei_information_title" msgid="8499085421609752290">"IMEI 資訊"</string>
     <string name="imei_information_summary" msgid="2074095606556565233">"IMEI 相關資訊"</string>
@@ -2758,8 +2762,7 @@
     <string name="camera_double_tap_power_gesture_desc" msgid="7355664631775680376">"不必將螢幕解鎖就能快速開啟相機"</string>
     <string name="screen_zoom_title" msgid="6332123593919641665">"畫面縮放"</string>
     <string name="screen_zoom_keywords" msgid="9176477565403352552">"顯示密度, 畫面縮放, 縮放, 縮放比例"</string>
-    <!-- no translation found for screen_zoom_summary (2022973627105802010) -->
-    <skip />
+    <string name="screen_zoom_summary" msgid="2022973627105802010">"縮小或放大畫面上的所有項目。如果變更這項設定，主畫面上的部分應用程式位置可能會有變動。"</string>
     <string name="screen_zoom_preview_title" msgid="4680671508172336572">"預覽"</string>
     <string name="screen_zoom_make_smaller_desc" msgid="4622359904253364742">"縮小"</string>
     <string name="screen_zoom_make_larger_desc" msgid="2236171043607896594">"放大"</string>
@@ -2803,8 +2806,55 @@
     <string name="condition_cellular_summary" msgid="1818046558419658463">"您必須連上 Wi-Fi 才能使用網際網路"</string>
     <string name="condition_bg_data_title" msgid="1422001615923482010">"背景資料功能已關閉"</string>
     <string name="condition_bg_data_summary" msgid="656957852895282228">"您必須連上 Wi-Fi 才能使用背景資料功能。如果無法連上 Wi-Fi，部分應用程式或服務可能會受到影響。"</string>
+    <!-- no translation found for condition_work_title (7293722361184366648) -->
+    <skip />
+    <!-- no translation found for condition_work_summary (7543202177571590378) -->
+    <skip />
     <string name="suggestions_title" msgid="8758376306825920705">"建議 (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
     <string name="suggestion_remove" msgid="904627293892092439">"移除"</string>
     <string name="color_temperature" msgid="2501579996151717270">"顯示器色溫"</string>
     <string name="color_temperature_desc" msgid="3603319696846982249">"啟用冷色溫"</string>
+    <!-- no translation found for usage (2977875522080448986) -->
+    <skip />
+    <!-- no translation found for cellular_data_usage (2763710678354680712) -->
+    <skip />
+    <!-- no translation found for wifi_data_usage (686754111095324306) -->
+    <skip />
+    <!-- no translation found for ethernet_data_usage (5108764537574354616) -->
+    <skip />
+    <string name="wifi" msgid="1081550856200013637">"Wi-Fi"</string>
+    <!-- no translation found for ethernet (6600095783781389720) -->
+    <skip />
+    <!-- no translation found for cell_data_template (3308709914705592281) -->
+    <skip />
+    <!-- no translation found for wifi_data_template (501654649753761778) -->
+    <skip />
+    <!-- no translation found for ethernet_data_template (5775729859383597507) -->
+    <skip />
+    <!-- no translation found for cell_warning_only (763147658209027140) -->
+    <skip />
+    <!-- no translation found for cell_warning_and_limit (2273413629267437470) -->
+    <skip />
+    <!-- no translation found for billing_cycle (5169909190811133499) -->
+    <skip />
+    <!-- no translation found for billing_cycle_summary (9009106526129293752) -->
+    <skip />
+    <!-- no translation found for billing_cycle_fragment_summary (1940518156600077066) -->
+    <skip />
+    <!-- no translation found for network_restrictions (8234695294536675380) -->
+    <skip />
+    <!-- no translation found for operator_warning (7206980278353372811) -->
+    <skip />
+    <!-- no translation found for data_used_template (3245919669966296505) -->
+    <skip />
+    <!-- no translation found for data_warning (209133958008062117) -->
+    <skip />
+    <!-- no translation found for set_data_limit (2901526323210516923) -->
+    <skip />
+    <!-- no translation found for data_limit (1885406964934590552) -->
+    <skip />
+    <!-- no translation found for data_usage_template (392191945602400904) -->
+    <skip />
+    <!-- no translation found for configure (1029654422228677273) -->
+    <skip />
 </resources>
diff --git a/res/values-zu/strings.xml b/res/values-zu/strings.xml
index aee5ed4..540fe83 100644
--- a/res/values-zu/strings.xml
+++ b/res/values-zu/strings.xml
@@ -264,7 +264,8 @@
     <string name="roaming_disable" msgid="1295279574370898378">"Xhuma kumasevisi edatha lapho uzulazula"</string>
     <string name="roaming_reenable_message" msgid="9141007271031717369">"Ulahlekelwe uxhumano lwedatha ngoba ushiye inethiwekhi yakho yasekhaya inokuzulazula kwedatha kuvaliwe."</string>
     <string name="roaming_turn_it_on_button" msgid="4387601818162120589">"Yivule"</string>
-    <string name="roaming_warning" msgid="7625933694709170887">"Uma uvumela ukuhamba kwedatha, ungathola amashaji yokuthola amancane!"</string>
+    <!-- no translation found for roaming_warning (4275443317524544705) -->
+    <skip />
     <string name="roaming_warning_multiuser" product="tablet" msgid="6458990250829214777">"Uma uvumela ukuzulazula kwedatha, ungahle ufake ebucayini amashaji okuzula amancane!\n\nLesi silungiselelwa sithinta bonke abasebenzisi kule thebulethi."</string>
     <string name="roaming_warning_multiuser" product="default" msgid="6368421100292355440">"Uma uvumela ukuzulazula kwedatha, ungahle ufake ebucayini amashaji okuzula amancane!\n\nLesi silungiselelwa sithinta bonke abasebenzisi kule foni."</string>
     <string name="roaming_reenable_title" msgid="6068100976707316772">"Vumela ukuhamba kwedatha?"</string>
@@ -1943,6 +1944,10 @@
     <string name="sync_is_failing" msgid="1591561768344128377">"Ukuvumelanisa okwamanje kubhekene nenkinga. Izobuya maduze."</string>
     <string name="add_account_label" msgid="7811707265834013767">"Yengeza  i-akhawunti"</string>
     <string name="managed_profile_not_available_label" msgid="852263300911325904">"Iphrofayela yomsebenzi ayitholakali okwamanje"</string>
+    <!-- no translation found for work_mode_label (5794470908668593961) -->
+    <skip />
+    <!-- no translation found for work_mode_summary (1620246003886940776) -->
+    <skip />
     <string name="remove_managed_profile_label" msgid="3856519337797285325">"Susa iphrofayela yomsebenzi"</string>
     <string name="background_data" msgid="5779592891375473817">"Idatha yasemuva"</string>
     <string name="background_data_summary" msgid="8328521479872763452">"Izinhlelo zokusebenza zingavumelanisa, zithumele, futhi zithole imininingo nganoma isiphi isikhathi"</string>
@@ -2804,8 +2809,55 @@
     <string name="condition_cellular_summary" msgid="1818046558419658463">"I-inthanethi itholakala kuphela nge-Wi-Fi"</string>
     <string name="condition_bg_data_title" msgid="1422001615923482010">"Idatha yangemuva ivaliwe"</string>
     <string name="condition_bg_data_summary" msgid="656957852895282228">"Idatha yangemuva itholakala kuphela nge-Wi-Fi. Lokhu kungathinta ezinye izinhlelo zokusebenza noma amasevisi uma i-Wi-Fi ingatholakali."</string>
+    <!-- no translation found for condition_work_title (7293722361184366648) -->
+    <skip />
+    <!-- no translation found for condition_work_summary (7543202177571590378) -->
+    <skip />
     <string name="suggestions_title" msgid="8758376306825920705">"Iziphakamiso (<xliff:g id="ID_1">%1$d</xliff:g>)"</string>
     <string name="suggestion_remove" msgid="904627293892092439">"Susa"</string>
     <string name="color_temperature" msgid="2501579996151717270">"Bonisa ithempelesha yombala"</string>
     <string name="color_temperature_desc" msgid="3603319696846982249">"Nika amandla ithempelesha elipholile"</string>
+    <!-- no translation found for usage (2977875522080448986) -->
+    <skip />
+    <!-- no translation found for cellular_data_usage (2763710678354680712) -->
+    <skip />
+    <!-- no translation found for wifi_data_usage (686754111095324306) -->
+    <skip />
+    <!-- no translation found for ethernet_data_usage (5108764537574354616) -->
+    <skip />
+    <string name="wifi" msgid="1081550856200013637">"Wi-Fi"</string>
+    <!-- no translation found for ethernet (6600095783781389720) -->
+    <skip />
+    <!-- no translation found for cell_data_template (3308709914705592281) -->
+    <skip />
+    <!-- no translation found for wifi_data_template (501654649753761778) -->
+    <skip />
+    <!-- no translation found for ethernet_data_template (5775729859383597507) -->
+    <skip />
+    <!-- no translation found for cell_warning_only (763147658209027140) -->
+    <skip />
+    <!-- no translation found for cell_warning_and_limit (2273413629267437470) -->
+    <skip />
+    <!-- no translation found for billing_cycle (5169909190811133499) -->
+    <skip />
+    <!-- no translation found for billing_cycle_summary (9009106526129293752) -->
+    <skip />
+    <!-- no translation found for billing_cycle_fragment_summary (1940518156600077066) -->
+    <skip />
+    <!-- no translation found for network_restrictions (8234695294536675380) -->
+    <skip />
+    <!-- no translation found for operator_warning (7206980278353372811) -->
+    <skip />
+    <!-- no translation found for data_used_template (3245919669966296505) -->
+    <skip />
+    <!-- no translation found for data_warning (209133958008062117) -->
+    <skip />
+    <!-- no translation found for set_data_limit (2901526323210516923) -->
+    <skip />
+    <!-- no translation found for data_limit (1885406964934590552) -->
+    <skip />
+    <!-- no translation found for data_usage_template (392191945602400904) -->
+    <skip />
+    <!-- no translation found for configure (1029654422228677273) -->
+    <skip />
 </resources>
diff --git a/res/values/colors.xml b/res/values/colors.xml
index f3fea10..a951776 100644
--- a/res/values/colors.xml
+++ b/res/values/colors.xml
@@ -94,12 +94,13 @@
     <color name="memory_critical">#ffff5621</color>
 
     <color name="memory_avg_use">#ff384248</color>
-    <color name="memory_max_use">#ff009587</color>
-    <color name="memory_remaining">#ffced7db</color>
 
     <color name="zen_rule_name_warning">@color/system_warning_color</color>
 
     <!-- Accent color that matches the settings launcher icon -->
     <color name="icon_accent">#ffabffec</color>
 
+    <color name="summary_default_start">#ff009587</color>
+    <color name="summary_default_end">#ffced7db</color>
+
 </resources>
diff --git a/res/values/config.xml b/res/values/config.xml
index f96662c..3f25fc6 100755
--- a/res/values/config.xml
+++ b/res/values/config.xml
@@ -35,4 +35,7 @@
     <!-- Carrier_enabled editable -->
     <bool name="config_allow_edit_carrier_enabled" translatable="false">false</bool>
 
+    <!-- When true enable color temperature setting. -->
+    <bool name="config_enableColorTemperature">false</bool>
+
 </resources>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 6e28a69..db68d71 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -586,7 +586,7 @@
     <!-- mobile network settings screen, button on dialog box that appears when you are roaming and clear the "Data roaming" check box -->
     <string name="roaming_turn_it_on_button">Turn it on</string>
     <!-- mobile network settings screen, message in dialog box that appears when you select the "Data roaming" check box -->
-    <string name="roaming_warning">When you allow data roaming, you may incur significant roaming charges!</string>
+    <string name="roaming_warning">You may incur significant charges.</string>
     <!-- mobile network settings screen, message in dialog box that appears when you select the "Data roaming" check box. This is for multiuser tablets [CHAR LIMIT=none] -->
     <string name="roaming_warning_multiuser" product="tablet">When you allow data roaming, you may incur significant roaming charges!\n\nThis setting affects all users on this tablet.</string>
     <!-- mobile network settings screen, message in dialog box that appears when you select the "Data roaming" check box. This is for multiuser phones [CHAR LIMIT=none] -->
@@ -4621,6 +4621,10 @@
     <string name="add_account_label">Add account</string>
     <!-- Label for the state of the work profile [CHAR LIMIT=80] -->
     <string name="managed_profile_not_available_label">Work profile isn\u2019t available yet</string>
+    <!-- Account Settings. The preference title for enabling work mode -->
+    <string name="work_mode_label">Work mode</string>
+    <!-- Account Settings. The preference summary for enabling work mode -->
+    <string name="work_mode_summary">Allow work profile to function, including apps, background sync, and related features</string>
     <!-- Button label to remove the work profile [CHAR LIMIT=35] -->
     <string name="remove_managed_profile_label">Remove work profile</string>
     <!-- Data synchronization settings screen, title of setting that controls whether background data should be used [CHAR LIMIT=30] -->
@@ -5620,6 +5624,9 @@
     <!-- Sound: Title for the option defining the default notification ringtone. [CHAR LIMIT=30] -->
     <string name="notification_ringtone_title">Default notification ringtone</string>
 
+    <!-- Sound: Title for the option defining the default alarm ringtone. [CHAR LIMIT=30] -->
+    <string name="alarm_ringtone_title">Default alarm ringtone</string>
+
     <!-- Sound: Title for the option managing whether or not to vibrate when ringing. [CHAR LIMIT=30] -->
     <string name="vibrate_when_ringing_title">Also vibrate for calls</string>
 
@@ -6798,6 +6805,12 @@
     <!-- Summary of condition that background data is off [CHAR LIMIT=NONE] -->
     <string name="condition_bg_data_summary">Background data is only available via Wi-Fi. This may affect some apps or services when Wi-Fi is not available.</string>
 
+    <!-- Title of condition that work mode is off [CHAR LIMIT=30] -->
+    <string name="condition_work_title">Work profile is off</string>
+
+    <!-- Summary of condition that work mode is off [CHAR LIMIT=NONE] -->
+    <string name="condition_work_summary">Apps, background sync, and other features related to your work profile are turned off.</string>
+
     <!-- Title for the suggestions section on the dashboard [CHAR LIMIT=30] -->
     <string name="suggestions_title">Suggestions (<xliff:g name="count" example="3">%1$d</xliff:g>)</string>
 
@@ -6809,4 +6822,75 @@
 
     <!-- Description of the setting to change the display's color temperature -->
     <string name="color_temperature_desc">Enable cool temperature</string>
+
+    <!-- Label for category for data usage [CHAR LIMIT=30] -->
+    <string name="usage">Usage</string>
+
+    <!-- Label for cellular data usage in data usage screen [CHAR LIMIT=60] -->
+    <string name="cellular_data_usage">Cellular data usage</string>
+
+    <!-- Label for wifi data usage in data usage screen [CHAR LIMIT=60] -->
+    <string name="wifi_data_usage">Wi-Fi data usage</string>
+
+    <!-- Label for ethernet data usage in data usage screen [CHAR LIMIT=60] -->
+    <string name="ethernet_data_usage">Ethernet data usage</string>
+
+    <!-- Label for section about wifi in data usage screen [CHAR LIMIT=60] -->
+    <string name="wifi">Wi-Fi</string>
+
+    <!-- Label for section about ethernet in data usage screen [CHAR LIMIT=60] -->
+    <string name="ethernet">Ethernet</string>
+
+    <!-- Format string for amount of cellular data used [CHAR LIMIT=30] -->
+    <string name="cell_data_template"><xliff:g name="units" example="GB">%1$s</xliff:g> cellular data</string>
+
+    <!-- Format string for amount of wifi data used [CHAR LIMIT=30] -->
+    <string name="wifi_data_template"><xliff:g name="units" example="GB">%1$s</xliff:g> Wi-Fi data</string>
+
+    <!-- Format string for amount of ethernet data used [CHAR LIMIT=30] -->
+    <string name="ethernet_data_template"><xliff:g name="units" example="GB">%1$s</xliff:g> ethernet data</string>
+
+    <!-- Format for a summary describing the amount of data before the user is warned [CHAR LIMIT=NONE] -->
+    <string name="cell_warning_only"><xliff:g name="amount" example="1 GB">%1$s</xliff:g> Data warning</string>
+
+    <!-- Format for a summary describing the amount of data before the user is warned or limited [CHAR LIMIT=NONE] -->
+    <string name="cell_warning_and_limit"><xliff:g name="amount" example="1 GB">%1$s</xliff:g> Data warning / <xliff:g name="amount" example="2 GB">%2$s</xliff:g> Data limit</string>
+
+    <!-- Title of button and screen for billing cycle preferences [CHAR LIMIT=30 -->
+    <string name="billing_cycle">Billing cycle</string>
+
+    <!-- Summary describing when the billing cycle for their phone carrier starts [CHAR LIMIT=NONE] -->
+    <string name="billing_cycle_summary">Monthly cycle starts on the <xliff:g name="day" example="1st">%1$s</xliff:g> of every month</string>
+
+    <!-- Summary describing when the billing cycle for their phone carrier starts [CHAR LIMIT=NONE] -->
+    <string name="billing_cycle_fragment_summary">Monthly starting <xliff:g name="day_of_month" example="1st">%1$s</xliff:g></string>
+
+    <!-- Title of button and screen for which wifi networks have data restrictions [CHAR LIMIT=30 -->
+    <string name="network_restrictions">Network restrictions</string>
+
+    <!-- A summary shown on data usage screens to indicate inaccuracy of data tracking [CHAR LIMIT=NONE] -->
+    <string name="operator_warning">Operator data accounting may differ from your device.</string>
+
+    <!-- Format string describing how much data has been used [CHAR LIMIT=20] -->
+    <string name="data_used_template"><xliff:g name="amount" example="1 GB">%1$s</xliff:g> used</string>
+
+    <!-- Label for button to set the amount of data before user is warned about usage [CHAR LIMIT=30] -->
+    <string name="data_warning">Data warning</string>
+
+    <!-- Label for switch about whether to limit how much data can be used [CHAR LIMIT=30] -->
+    <string name="set_data_limit">Set data limit</string>
+
+    <!-- Label for button to set the amount of data before user is limited [CHAR LIMIT=30] -->
+    <string name="data_limit">Data limit</string>
+
+    <!-- Summary about how much data has been used in a date range [CHAR LIMIT=NONE] -->
+    <string name="data_usage_template"><xliff:g name="amount" example="200 MB">%1$s</xliff:g> used between <xliff:g name="date_range" example="Jan 1 -- Feb 2">%2$s</xliff:g></string>
+
+    <!-- Accessibility label for button that leads to screen with more configuration options [CHAR LIMIT=NONE] -->
+    <string name="configure">Configure</string>
+
+    <!-- TODO: Actually figure out what to do with the extra apps, and update
+         the code to do that -->
+    <string name="data_usage_other_apps" translatable="false">Other apps included in usage</string>
+
 </resources>
diff --git a/res/xml/app_data_usage.xml b/res/xml/app_data_usage.xml
new file mode 100644
index 0000000..b082b56
--- /dev/null
+++ b/res/xml/app_data_usage.xml
@@ -0,0 +1,57 @@
+<?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.
+-->
+
+<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
+    android:title="@string/data_usage_summary_title">
+
+    <com.android.settings.applications.SpacePreference
+        android:layout_height="8dp" />
+
+    <Preference
+        android:key="total_usage"
+        android:title="@string/total_size_label"
+        android:selectable="false"
+        android:layout="@layout/horizontal_preference" />
+
+    <Preference
+        android:key="foreground_usage"
+        android:title="@string/data_usage_label_foreground"
+        android:selectable="false"
+        android:layout="@layout/horizontal_preference" />
+
+    <Preference
+        android:key="background_usage"
+        android:title="@string/data_usage_label_background"
+        android:selectable="false"
+        android:layout="@layout/horizontal_preference" />
+
+    <com.android.settings.applications.SpacePreference
+        android:layout_height="8dp" />
+
+    <Preference
+        android:key="app_settings"
+        android:title="@string/data_usage_app_settings" />
+
+    <SwitchPreference
+        android:key="restrict_background"
+        android:title="@string/data_usage_app_restrict_background"
+        android:summary="@string/data_usage_app_restrict_background_summary" />
+
+    <PreferenceCategory
+        android:key="app_list"
+        android:title="@string/data_usage_other_apps" />
+
+</PreferenceScreen>
diff --git a/res/xml/app_memory_settings.xml b/res/xml/app_memory_settings.xml
index 03ce0ff..56d1824 100644
--- a/res/xml/app_memory_settings.xml
+++ b/res/xml/app_memory_settings.xml
@@ -18,11 +18,15 @@
                   android:title="@string/memory_usage">
 
     <PreferenceCategory
-        android:title="@string/average_memory_use" />
+        android:title="@string/average_memory_use"
+        android:layout="@layout/preference_category_short" />
 
-    <com.android.settings.applications.LayoutPreference
+    <com.android.settings.SummaryPreference
         android:key="status_header"
-        android:layout="@layout/proc_stats_ui" />
+        android:selectable="false" />
+
+    <com.android.settings.applications.SpacePreference
+        android:layout_height="5dp" />
 
     <Preference
         android:key="frequency"
diff --git a/res/xml/billing_cycle.xml b/res/xml/billing_cycle.xml
new file mode 100644
index 0000000..9beebce
--- /dev/null
+++ b/res/xml/billing_cycle.xml
@@ -0,0 +1,36 @@
+<?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.
+-->
+
+<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
+    android:title="@string/data_usage_summary_title">
+
+    <Preference
+        android:key="billing_cycle"
+        android:title="@string/billing_cycle" />
+
+    <Preference
+        android:key="data_warning"
+        android:title="@string/data_warning" />
+
+    <SwitchPreference
+        android:key="set_data_limit"
+        android:title="@string/set_data_limit" />
+
+    <Preference
+        android:key="data_limit"
+        android:title="@string/data_limit" />
+
+</PreferenceScreen>
diff --git a/res/xml/data_usage.xml b/res/xml/data_usage.xml
new file mode 100644
index 0000000..378496e
--- /dev/null
+++ b/res/xml/data_usage.xml
@@ -0,0 +1,38 @@
+<?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.
+-->
+
+<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
+    android:title="@string/data_usage_summary_title">
+
+    <PreferenceCategory
+        android:title="@string/usage"
+        android:layout="@layout/preference_category_short">
+
+        <com.android.settings.SummaryPreference
+            android:key="status_header"
+            android:selectable="false" />
+
+        <Preference
+            android:key="limit_summary"
+            android:selectable="false" />
+
+        <com.android.settings.datausage.RestrictBackgroundDataPreference
+            android:key="restrict_background"
+            android:title="@string/data_usage_menu_restrict_background" />
+
+    </PreferenceCategory>
+
+</PreferenceScreen>
diff --git a/res/xml/data_usage_cellular.xml b/res/xml/data_usage_cellular.xml
new file mode 100644
index 0000000..8bfd37d
--- /dev/null
+++ b/res/xml/data_usage_cellular.xml
@@ -0,0 +1,38 @@
+<?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.
+-->
+
+<PreferenceScreen
+    xmlns:android="http://schemas.android.com/apk/res/android">
+
+    <com.android.settings.datausage.TemplatePreferenceCategory
+        android:key="mobile_category"
+        android:title="@string/data_usage_tab_mobile">
+
+        <com.android.settings.datausage.CellDataPreference
+            android:key="data_usage_enable"
+            android:title="@string/data_usage_enable_mobile" />
+
+        <com.android.settings.datausage.DataUsagePreference
+            android:key="cellular_data_usage"
+            android:title="@string/cellular_data_usage" />
+
+        <com.android.settings.datausage.BillingCyclePreference
+            android:key="billing_preference"
+            android:title="@string/billing_cycle" />
+
+    </com.android.settings.datausage.TemplatePreferenceCategory>
+
+</PreferenceScreen>
diff --git a/res/xml/data_usage_ethernet.xml b/res/xml/data_usage_ethernet.xml
new file mode 100644
index 0000000..508b365
--- /dev/null
+++ b/res/xml/data_usage_ethernet.xml
@@ -0,0 +1,30 @@
+<?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.
+-->
+
+<PreferenceScreen
+    xmlns:android="http://schemas.android.com/apk/res/android">
+
+    <com.android.settings.datausage.TemplatePreferenceCategory
+        android:key="ethernet_category"
+        android:title="@string/ethernet">
+
+        <com.android.settings.datausage.DataUsagePreference
+            android:key="ethernet_data_usage"
+            android:title="@string/ethernet_data_usage" />
+
+    </com.android.settings.datausage.TemplatePreferenceCategory>
+
+</PreferenceScreen>
diff --git a/res/xml/data_usage_list.xml b/res/xml/data_usage_list.xml
new file mode 100644
index 0000000..725105a
--- /dev/null
+++ b/res/xml/data_usage_list.xml
@@ -0,0 +1,37 @@
+<?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.
+-->
+
+<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
+    android:title="@string/data_usage_summary_title">
+
+    <PreferenceCategory
+        android:key="usage_amount"
+        android:layout="@layout/preference_category_short">
+
+        <com.android.settings.datausage.ChartDataUsagePreference
+            android:key="chart_data" />
+
+        <Preference
+            android:summary="@string/operator_warning"
+            android:selectable="false" />
+
+    </PreferenceCategory>
+
+    <PreferenceCategory
+        android:key="apps_group"
+        android:layout="@layout/preference_category_no_label" />
+
+</PreferenceScreen>
diff --git a/res/xml/data_usage_wifi.xml b/res/xml/data_usage_wifi.xml
new file mode 100644
index 0000000..62ff17f
--- /dev/null
+++ b/res/xml/data_usage_wifi.xml
@@ -0,0 +1,35 @@
+<?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.
+-->
+
+<PreferenceScreen
+    xmlns:android="http://schemas.android.com/apk/res/android">
+
+    <com.android.settings.datausage.TemplatePreferenceCategory
+        android:key="wifi_category"
+        android:title="@string/wifi">
+
+        <com.android.settings.datausage.DataUsagePreference
+            android:key="wifi_data_usage"
+            android:title="@string/wifi_data_usage" />
+
+        <com.android.settings.datausage.NetworkRestrictionsPreference
+            android:key="network_restrictions"
+            android:title="@string/network_restrictions"
+            android:fragment="com.android.settings.datausage.DataUsageMeteredSettings" />
+
+    </com.android.settings.datausage.TemplatePreferenceCategory>
+
+</PreferenceScreen>
diff --git a/res/xml/date_time_prefs.xml b/res/xml/date_time_prefs.xml
index d359d84..0aec43f 100644
--- a/res/xml/date_time_prefs.xml
+++ b/res/xml/date_time_prefs.xml
@@ -19,7 +19,7 @@
         android:title="@string/date_and_time"
         settings:keywords="@string/keywords_date_and_time">
 
-    <SwitchPreference android:key="auto_time"
+    <com.android.settingslib.RestrictedSwitchPreference android:key="auto_time"
         android:title="@string/date_time_auto"
         android:summaryOn="@string/date_time_auto_summaryOn"
         android:summaryOff="@string/date_time_auto_summaryOff"
diff --git a/res/xml/development_prefs.xml b/res/xml/development_prefs.xml
index ea4750e..6335c4e 100644
--- a/res/xml/development_prefs.xml
+++ b/res/xml/development_prefs.xml
@@ -86,6 +86,12 @@
         android:dialogTitle="@string/select_webview_provider_dialog_title"
         android:summary="%s" />
 
+    <SwitchPreference
+        android:key="color_temperature"
+        android:title="@string/color_temperature"
+        android:summary="@string/color_temperature_desc"
+        android:persistent="false" />
+
     <PreferenceCategory android:key="debug_debugging_category"
             android:title="@string/debug_debugging_category">
 
diff --git a/res/xml/process_stats_summary.xml b/res/xml/process_stats_summary.xml
index d267272..f36fd11 100644
--- a/res/xml/process_stats_summary.xml
+++ b/res/xml/process_stats_summary.xml
@@ -18,13 +18,17 @@
     xmlns:android="http://schemas.android.com/apk/res/android"
     android:title="@string/app_memory_use"
     android:key="app_list">
-    <PreferenceCategory
-        android:title="@string/average_memory_use" />
 
-    <com.android.settings.applications.LayoutPreference
+    <PreferenceCategory
+        android:title="@string/average_memory_use"
+        android:layout="@layout/preference_category_short" />
+
+    <com.android.settings.SummaryPreference
         android:key="status_header"
-        android:selectable="false"
-        android:layout="@layout/proc_stats_ui" />
+        android:selectable="false" />
+
+    <com.android.settings.applications.SpacePreference
+        android:layout_height="5dp" />
 
     <Preference
         android:key="performance"
diff --git a/res/xml/security_settings_misc.xml b/res/xml/security_settings_misc.xml
index e0828e5..a437547 100644
--- a/res/xml/security_settings_misc.xml
+++ b/res/xml/security_settings_misc.xml
@@ -64,10 +64,8 @@
             android:title="@string/credentials_title"
             android:persistent="false">
 
-        <Preference android:key="credential_storage_type"
+        <com.android.settingslib.RestrictedPreference android:key="credential_storage_type"
                 android:title="@string/credential_storage_type"
-                android:enabled="false"
-                android:shouldDisableView="false"
                 android:persistent="false" />
 
         <Preference android:key="trusted_credentials"
@@ -82,7 +80,7 @@
                 android:persistent="false"
                 android:fragment="com.android.settings.UserCredentialsSettings"/>
 
-        <Preference android:key="credentials_install"
+        <com.android.settingslib.RestrictedPreference android:key="credentials_install"
                 android:title="@string/credentials_install"
                 android:summary="@string/credentials_install_summary"
                 android:persistent="false">
@@ -91,9 +89,9 @@
                     android:targetPackage="com.android.certinstaller"
                     android:targetClass="com.android.certinstaller.CertInstallerMain"/>
 
-        </Preference>
+        </com.android.settingslib.RestrictedPreference>
 
-        <Preference android:key="credentials_reset"
+        <com.android.settingslib.RestrictedPreference android:key="credentials_reset"
                 android:title="@string/credentials_reset"
                 android:summary="@string/credentials_reset_summary"
                 android:persistent="false">
@@ -102,7 +100,7 @@
                     android:targetPackage="com.android.settings"
                     android:targetClass="com.android.settings.CredentialStorage"/>
 
-        </Preference>
+        </com.android.settingslib.RestrictedPreference>
 
     </PreferenceCategory>
 
diff --git a/res/xml/security_settings_picker.xml b/res/xml/security_settings_picker.xml
index e0c5185..3a45697 100644
--- a/res/xml/security_settings_picker.xml
+++ b/res/xml/security_settings_picker.xml
@@ -18,27 +18,27 @@
         android:title="@string/lock_settings_picker_title"
         android:key="lock_settings_picker">
 
-    <PreferenceScreen
+    <com.android.settingslib.RestrictedPreference
             android:key="unlock_set_off"
             android:title="@string/unlock_set_unlock_off_title"
             android:persistent="false"/>
 
-    <PreferenceScreen
+    <com.android.settingslib.RestrictedPreference
             android:key="unlock_set_none"
             android:title="@string/unlock_set_unlock_none_title"
             android:persistent="false"/>
 
-    <PreferenceScreen
+    <com.android.settingslib.RestrictedPreference
             android:key="unlock_set_pattern"
             android:title="@string/unlock_set_unlock_pattern_title"
             android:persistent="false"/>
 
-    <PreferenceScreen
+    <com.android.settingslib.RestrictedPreference
             android:key="unlock_set_pin"
             android:title="@string/unlock_set_unlock_pin_title"
             android:persistent="false"/>
 
-    <PreferenceScreen
+    <com.android.settingslib.RestrictedPreference
             android:key="unlock_set_password"
             android:title="@string/unlock_set_unlock_password_title"
             android:persistent="false"/>
diff --git a/res/xml/sound_settings.xml b/res/xml/sound_settings.xml
index 2cdebc4..dd03fb0 100644
--- a/res/xml/sound_settings.xml
+++ b/res/xml/sound_settings.xml
@@ -81,6 +81,14 @@
                 android:persistent="false"
                 android:ringtoneType="notification" />
 
+        <!-- Default alarm ringtone -->
+        <com.android.settings.DefaultRingtonePreference
+                android:key="alarm_ringtone"
+                android:title="@string/alarm_ringtone_title"
+                android:dialogTitle="@string/alarm_ringtone_title"
+                android:persistent="false"
+                android:ringtoneType="alarm" />
+
         <PreferenceScreen
                 android:key="cell_broadcast_settings"
                 android:title="@string/cell_broadcast_settings" >
diff --git a/src/com/android/settings/AppHeader.java b/src/com/android/settings/AppHeader.java
index 257b2f0..36026bb 100644
--- a/src/com/android/settings/AppHeader.java
+++ b/src/com/android/settings/AppHeader.java
@@ -57,7 +57,7 @@
                 tintColorRes, bar);
     }
 
-    private static View setupHeaderView(final Activity activity, Drawable icon, CharSequence label,
+    public static View setupHeaderView(final Activity activity, Drawable icon, CharSequence label,
             final String pkgName, final int uid, boolean includeAppInfo, int tintColorRes,
             View bar) {
         final ImageView appIcon = (ImageView) bar.findViewById(R.id.app_icon);
@@ -86,7 +86,7 @@
         return bar;
     }
 
-    private static boolean includeAppInfo(final Fragment fragment) {
+    public static boolean includeAppInfo(final Fragment fragment) {
         Bundle args = fragment.getArguments();
         boolean showInfo = true;
         if (args != null && args.getBoolean(EXTRA_HIDE_INFO_BUTTON, false)) {
diff --git a/src/com/android/settings/ChooseLockGeneric.java b/src/com/android/settings/ChooseLockGeneric.java
index bd46456..3d35bc8 100644
--- a/src/com/android/settings/ChooseLockGeneric.java
+++ b/src/com/android/settings/ChooseLockGeneric.java
@@ -45,6 +45,10 @@
 
 import com.android.internal.logging.MetricsLogger;
 import com.android.internal.widget.LockPatternUtils;
+import com.android.settingslib.RestrictedLockUtils;
+import com.android.settingslib.RestrictedPreference;
+
+import static com.android.settingslib.RestrictedLockUtils.EnforcedAdmin;
 
 public class ChooseLockGeneric extends SettingsActivity {
     public static final String CONFIRM_CREDENTIALS = "confirm_credentials";
@@ -367,39 +371,60 @@
                 boolean hideDisabled) {
             final PreferenceScreen entries = getPreferenceScreen();
 
+            int adminEnforcedQuality = mDPM.getPasswordQuality(null);
+            EnforcedAdmin enforcedAdmin = RestrictedLockUtils.checkIfPasswordQualityIsSet(
+                    getActivity());
             for (int i = entries.getPreferenceCount() - 1; i >= 0; --i) {
                 Preference pref = entries.getPreference(i);
-                if (pref instanceof PreferenceScreen) {
+                if (pref instanceof RestrictedPreference) {
                     final String key = pref.getKey();
                     boolean enabled = true;
                     boolean visible = true;
+                    boolean disabledByAdmin = false;
                     if (KEY_UNLOCK_SET_OFF.equals(key)) {
                         enabled = quality <= DevicePolicyManager.PASSWORD_QUALITY_UNSPECIFIED;
                         if (getResources().getBoolean(R.bool.config_hide_none_security_option)) {
                             enabled = false;
                             visible = false;
                         }
+                        disabledByAdmin = adminEnforcedQuality
+                                > DevicePolicyManager.PASSWORD_QUALITY_UNSPECIFIED;
                     } else if (KEY_UNLOCK_SET_NONE.equals(key)) {
                         if (mUserId != UserHandle.myUserId()) {
                             // Swipe doesn't make sense for profiles.
                             visible = false;
                         }
                         enabled = quality <= DevicePolicyManager.PASSWORD_QUALITY_UNSPECIFIED;
+                        disabledByAdmin = adminEnforcedQuality
+                                > DevicePolicyManager.PASSWORD_QUALITY_UNSPECIFIED;
                     } else if (KEY_UNLOCK_SET_PATTERN.equals(key)) {
                         enabled = quality <= DevicePolicyManager.PASSWORD_QUALITY_SOMETHING;
+                        disabledByAdmin = adminEnforcedQuality
+                                > DevicePolicyManager.PASSWORD_QUALITY_SOMETHING;
                     } else if (KEY_UNLOCK_SET_PIN.equals(key)) {
                         enabled = quality <= DevicePolicyManager.PASSWORD_QUALITY_NUMERIC_COMPLEX;
+                        disabledByAdmin = adminEnforcedQuality
+                                > DevicePolicyManager.PASSWORD_QUALITY_NUMERIC_COMPLEX;
                     } else if (KEY_UNLOCK_SET_PASSWORD.equals(key)) {
                         enabled = quality <= DevicePolicyManager.PASSWORD_QUALITY_COMPLEX;
+                        disabledByAdmin = adminEnforcedQuality
+                                > DevicePolicyManager.PASSWORD_QUALITY_COMPLEX;
                     }
                     if (hideDisabled) {
                         visible = enabled;
                     }
                     if (!visible) {
                         entries.removePreference(pref);
+                    } else if (disabledByAdmin && enforcedAdmin != null) {
+                        ((RestrictedPreference) pref).setDisabledByAdmin(enforcedAdmin);
                     } else if (!enabled) {
+                        // we need to setDisabledByAdmin to null first to disable the padlock
+                        // in case it was set earlier.
+                        ((RestrictedPreference) pref).setDisabledByAdmin(null);
                         pref.setSummary(R.string.unlock_set_unlock_disabled_summary);
                         pref.setEnabled(false);
+                    } else {
+                        ((RestrictedPreference) pref).setDisabledByAdmin(null);
                     }
                 }
             }
diff --git a/src/com/android/settings/DataUsageSummary.java b/src/com/android/settings/DataUsageSummary.java
deleted file mode 100644
index c9a2999..0000000
--- a/src/com/android/settings/DataUsageSummary.java
+++ /dev/null
@@ -1,2848 +0,0 @@
-/*
- * 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;
-
-import android.animation.LayoutTransition;
-import android.app.Activity;
-import android.app.ActivityManager;
-import android.app.AlertDialog;
-import android.app.Dialog;
-import android.app.DialogFragment;
-import android.app.Fragment;
-import android.app.FragmentTransaction;
-import android.app.LoaderManager.LoaderCallbacks;
-import android.content.ComponentName;
-import android.content.Context;
-import android.content.DialogInterface;
-import android.content.Intent;
-import android.content.Loader;
-import android.content.SharedPreferences;
-import android.content.pm.PackageManager;
-import android.content.pm.PackageManager.NameNotFoundException;
-import android.content.pm.UserInfo;
-import android.content.res.Resources;
-import android.graphics.Color;
-import android.graphics.drawable.ColorDrawable;
-import android.graphics.drawable.Drawable;
-import android.icu.impl.ICUResourceBundle;
-import android.icu.util.UResourceBundle;
-import android.net.ConnectivityManager;
-import android.net.INetworkPolicyManager;
-import android.net.INetworkStatsService;
-import android.net.INetworkStatsSession;
-import android.net.NetworkPolicy;
-import android.net.NetworkPolicyManager;
-import android.net.NetworkStats;
-import android.net.NetworkStatsHistory;
-import android.net.NetworkTemplate;
-import android.net.TrafficStats;
-import android.os.AsyncTask;
-import android.os.Bundle;
-import android.os.INetworkManagementService;
-import android.os.RemoteException;
-import android.os.ServiceManager;
-import android.os.SystemProperties;
-import android.os.UserHandle;
-import android.os.UserManager;
-import android.support.v7.preference.Preference;
-import android.telephony.SubscriptionInfo;
-import android.telephony.SubscriptionManager;
-import android.telephony.TelephonyManager;
-import android.text.TextUtils;
-import android.text.format.DateUtils;
-import android.text.format.Formatter;
-import android.text.format.Time;
-import android.util.Log;
-import android.util.SparseArray;
-import android.view.LayoutInflater;
-import android.view.Menu;
-import android.view.MenuInflater;
-import android.view.MenuItem;
-import android.view.View;
-import android.view.View.OnClickListener;
-import android.view.ViewGroup;
-import android.widget.AdapterView;
-import android.widget.AdapterView.OnItemClickListener;
-import android.widget.AdapterView.OnItemSelectedListener;
-import android.widget.ArrayAdapter;
-import android.widget.BaseAdapter;
-import android.widget.Button;
-import android.widget.FrameLayout;
-import android.widget.ImageView;
-import android.widget.LinearLayout;
-import android.widget.ListView;
-import android.widget.NumberPicker;
-import android.widget.ProgressBar;
-import android.widget.Spinner;
-import android.widget.Switch;
-import android.widget.TabHost;
-import android.widget.TabHost.OnTabChangeListener;
-import android.widget.TabHost.TabContentFactory;
-import android.widget.TabHost.TabSpec;
-import android.widget.TabWidget;
-import android.widget.TextView;
-import android.widget.Toast;
-import com.android.internal.logging.MetricsLogger;
-import com.android.internal.telephony.PhoneConstants;
-import com.android.settings.dashboard.SummaryLoader;
-import com.android.settings.dashboard.conditional.BackgroundDataCondition;
-import com.android.settings.dashboard.conditional.ConditionManager;
-import com.android.settings.drawable.InsetBoundsDrawable;
-import com.android.settings.net.DataUsageMeteredSettings;
-import com.android.settings.search.BaseSearchIndexProvider;
-import com.android.settings.search.Indexable;
-import com.android.settings.search.SearchIndexableRaw;
-import com.android.settings.widget.ChartDataUsageView;
-import com.android.settings.widget.ChartDataUsageView.DataUsageChartListener;
-import com.android.settings.widget.ChartNetworkSeriesView;
-import com.android.settingslib.AppItem;
-import com.android.settingslib.NetworkPolicyEditor;
-import com.android.settingslib.net.ChartData;
-import com.android.settingslib.net.ChartDataLoader;
-import com.android.settingslib.net.MobileDataController;
-import com.android.settingslib.net.SummaryForAllUidLoader;
-import com.android.settingslib.net.UidDetail;
-import com.android.settingslib.net.UidDetailProvider;
-import com.google.android.collect.Lists;
-import libcore.util.Objects;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Locale;
-import java.util.Map;
-import java.util.Set;
-
-import static android.net.ConnectivityManager.TYPE_ETHERNET;
-import static android.net.ConnectivityManager.TYPE_MOBILE;
-import static android.net.ConnectivityManager.TYPE_WIFI;
-import static android.net.ConnectivityManager.TYPE_WIMAX;
-import static android.net.NetworkPolicy.LIMIT_DISABLED;
-import static android.net.NetworkPolicy.WARNING_DISABLED;
-import static android.net.NetworkPolicyManager.EXTRA_NETWORK_TEMPLATE;
-import static android.net.NetworkPolicyManager.POLICY_NONE;
-import static android.net.NetworkPolicyManager.POLICY_REJECT_METERED_BACKGROUND;
-import static android.net.NetworkPolicyManager.computeLastCycleBoundary;
-import static android.net.NetworkPolicyManager.computeNextCycleBoundary;
-import static android.net.NetworkTemplate.MATCH_MOBILE_3G_LOWER;
-import static android.net.NetworkTemplate.MATCH_MOBILE_4G;
-import static android.net.NetworkTemplate.MATCH_MOBILE_ALL;
-import static android.net.NetworkTemplate.MATCH_WIFI;
-import static android.net.NetworkTemplate.buildTemplateEthernet;
-import static android.net.NetworkTemplate.buildTemplateMobile3gLower;
-import static android.net.NetworkTemplate.buildTemplateMobile4g;
-import static android.net.NetworkTemplate.buildTemplateMobileAll;
-import static android.net.NetworkTemplate.buildTemplateWifiWildcard;
-import static android.net.TrafficStats.GB_IN_BYTES;
-import static android.net.TrafficStats.MB_IN_BYTES;
-import static android.net.TrafficStats.UID_REMOVED;
-import static android.net.TrafficStats.UID_TETHERING;
-import static android.telephony.TelephonyManager.SIM_STATE_READY;
-import static android.text.format.DateUtils.FORMAT_ABBREV_MONTH;
-import static android.text.format.DateUtils.FORMAT_SHOW_DATE;
-import static android.view.ViewGroup.LayoutParams.WRAP_CONTENT;
-import static com.android.internal.util.Preconditions.checkNotNull;
-import static com.android.settings.Utils.prepareCustomPreferencesList;
-
-/**
- * Panel showing data usage history across various networks, including options
- * to inspect based on usage cycle and control through {@link NetworkPolicy}.
- */
-public class DataUsageSummary extends HighlightingFragment implements Indexable {
-    private static final String TAG = "DataUsage";
-    private static final boolean LOGD = false;
-
-    // TODO: remove this testing code
-    private static final boolean TEST_ANIM = false;
-    private static final boolean TEST_RADIOS = false;
-
-    private static final String TEST_RADIOS_PROP = "test.radios";
-    private static final String TEST_SUBSCRIBER_PROP = "test.subscriberid";
-
-    private static final String TAB_3G = "3g";
-    private static final String TAB_4G = "4g";
-    private static final String TAB_MOBILE = "mobile";
-    private static final String TAB_WIFI = "wifi";
-    private static final String TAB_ETHERNET = "ethernet";
-
-    private static final String TAG_CONFIRM_DATA_DISABLE = "confirmDataDisable";
-    private static final String TAG_CONFIRM_LIMIT = "confirmLimit";
-    private static final String TAG_CYCLE_EDITOR = "cycleEditor";
-    private static final String TAG_WARNING_EDITOR = "warningEditor";
-    private static final String TAG_LIMIT_EDITOR = "limitEditor";
-    private static final String TAG_CONFIRM_RESTRICT = "confirmRestrict";
-    private static final String TAG_DENIED_RESTRICT = "deniedRestrict";
-    private static final String TAG_CONFIRM_APP_RESTRICT = "confirmAppRestrict";
-    private static final String TAG_APP_DETAILS = "appDetails";
-
-    private static final String DATA_USAGE_ENABLE_MOBILE_KEY = "data_usage_enable_mobile";
-    private static final String DATA_USAGE_DISABLE_MOBILE_LIMIT_KEY =
-            "data_usage_disable_mobile_limit";
-    private static final String DATA_USAGE_CYCLE_KEY = "data_usage_cycle";
-
-    public static final String EXTRA_SHOW_APP_IMMEDIATE_PKG = "showAppImmediatePkg";
-
-    private static final int LOADER_CHART_DATA = 2;
-    private static final int LOADER_SUMMARY = 3;
-
-    private INetworkManagementService mNetworkService;
-    private INetworkStatsService mStatsService;
-    private NetworkPolicyManager mPolicyManager;
-    private TelephonyManager mTelephonyManager;
-    private SubscriptionManager mSubscriptionManager;
-    private UserManager mUserManager;
-
-    private INetworkStatsSession mStatsSession;
-
-    private static final String PREF_FILE = "data_usage";
-    private static final String PREF_SHOW_WIFI = "show_wifi";
-    private static final String PREF_SHOW_ETHERNET = "show_ethernet";
-
-    private SharedPreferences mPrefs;
-
-    private TabHost mTabHost;
-    private ViewGroup mTabsContainer;
-    private TabWidget mTabWidget;
-    private ListView mListView;
-    private ChartNetworkSeriesView mSeries;
-    private ChartNetworkSeriesView mDetailedSeries;
-    private DataUsageAdapter mAdapter;
-
-    /** Distance to inset content from sides, when needed. */
-    private int mInsetSide = 0;
-
-    private ViewGroup mHeader;
-
-    private ViewGroup mNetworkSwitchesContainer;
-    private LinearLayout mNetworkSwitches;
-    private boolean mDataEnabledSupported;
-    private Switch mDataEnabled;
-    private View mDataEnabledView;
-    private boolean mDisableAtLimitSupported;
-    private Switch mDisableAtLimit;
-    private View mDisableAtLimitView;
-
-    private View mCycleView;
-    private Spinner mCycleSpinner;
-    private CycleAdapter mCycleAdapter;
-    private TextView mCycleSummary;
-
-    private ChartDataUsageView mChart;
-    private View mDisclaimer;
-    private TextView mEmpty;
-    private View mStupidPadding;
-
-    private View mAppDetail;
-    private ImageView mAppIcon;
-    private ViewGroup mAppTitles;
-    private TextView mAppTotal;
-    private TextView mAppForeground;
-    private TextView mAppBackground;
-    private Button mAppSettings;
-
-    private LinearLayout mAppSwitches;
-    private Switch mAppRestrict;
-    private View mAppRestrictView;
-
-    private boolean mShowWifi = false;
-    private boolean mShowEthernet = false;
-
-    private NetworkTemplate mTemplate;
-    private ChartData mChartData;
-
-    private AppItem mCurrentApp = null;
-
-    private Intent mAppSettingsIntent;
-
-    private NetworkPolicyEditor mPolicyEditor;
-
-    private String mCurrentTab = null;
-    private String mIntentTab = null;
-
-    private MenuItem mMenuRestrictBackground;
-    private MenuItem mMenuShowWifi;
-    private MenuItem mMenuShowEthernet;
-    private MenuItem mMenuSimCards;
-    private MenuItem mMenuCellularNetworks;
-
-    private List<SubscriptionInfo> mSubInfoList;
-    private Map<Integer,String> mMobileTagMap;
-
-    /** Flag used to ignore listeners during binding. */
-    private boolean mBinding;
-
-    private UidDetailProvider mUidDetailProvider;
-
-    // Indicates request to show app immediately rather than list.
-    private String mShowAppImmediatePkg;
-
-    /**
-     * Local cache of data enabled for subId, used to work around delays.
-     */
-    private final Map<String, Boolean> mMobileDataEnabled = new HashMap<String, Boolean>();
-
-    @Override
-    protected int getMetricsCategory() {
-        return MetricsLogger.DATA_USAGE_SUMMARY;
-    }
-
-    @Override
-    public void onCreate(Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-        final Context context = getActivity();
-
-        mNetworkService = INetworkManagementService.Stub.asInterface(
-                ServiceManager.getService(Context.NETWORKMANAGEMENT_SERVICE));
-        mStatsService = INetworkStatsService.Stub.asInterface(
-                ServiceManager.getService(Context.NETWORK_STATS_SERVICE));
-        mPolicyManager = NetworkPolicyManager.from(context);
-        mTelephonyManager = TelephonyManager.from(context);
-        mSubscriptionManager = SubscriptionManager.from(context);
-        mUserManager = UserManager.get(context);
-
-        mPrefs = getActivity().getSharedPreferences(PREF_FILE, Context.MODE_PRIVATE);
-
-        mPolicyEditor = new NetworkPolicyEditor(mPolicyManager);
-        mPolicyEditor.read();
-
-        mSubInfoList = mSubscriptionManager.getActiveSubscriptionInfoList();
-        mMobileTagMap = initMobileTabTag(mSubInfoList);
-
-        try {
-            if (!mNetworkService.isBandwidthControlEnabled()) {
-                Log.w(TAG, "No bandwidth control; leaving");
-                getActivity().finish();
-            }
-        } catch (RemoteException e) {
-            Log.w(TAG, "No bandwidth control; leaving");
-            getActivity().finish();
-        }
-
-        try {
-            mStatsSession = mStatsService.openSession();
-        } catch (RemoteException e) {
-            throw new RuntimeException(e);
-        }
-
-        mShowWifi = mPrefs.getBoolean(PREF_SHOW_WIFI, false);
-        mShowEthernet = mPrefs.getBoolean(PREF_SHOW_ETHERNET, false);
-
-        // override preferences when no mobile radio
-        if (!hasReadyMobileRadio(context)) {
-            mShowWifi = true;
-            mShowEthernet = true;
-        }
-
-        mUidDetailProvider = new UidDetailProvider(context);
-
-        Bundle arguments = getArguments();
-        if (arguments != null) {
-            mShowAppImmediatePkg = arguments.getString(EXTRA_SHOW_APP_IMMEDIATE_PKG);
-        }
-
-        setHasOptionsMenu(true);
-    }
-
-    @Override
-    public View onCreateView(LayoutInflater inflater, ViewGroup container,
-            Bundle savedInstanceState) {
-
-        final Context context = inflater.getContext();
-        final View view = inflater.inflate(R.layout.data_usage_summary, container, false);
-
-
-        mTabHost = (TabHost) view.findViewById(android.R.id.tabhost);
-        mTabsContainer = (ViewGroup) view.findViewById(R.id.tabs_container);
-        mTabWidget = (TabWidget) view.findViewById(android.R.id.tabs);
-        mListView = (ListView) view.findViewById(android.R.id.list);
-
-        // decide if we need to manually inset our content, or if we should rely
-        // on parent container for inset.
-        final boolean shouldInset = mListView.getScrollBarStyle()
-                == View.SCROLLBARS_OUTSIDE_OVERLAY;
-        mInsetSide = 0;
-
-        // adjust padding around tabwidget as needed
-        prepareCustomPreferencesList(container, view, mListView, false);
-
-        mTabHost.setup();
-        mTabHost.setOnTabChangedListener(mTabListener);
-
-        mHeader = (ViewGroup) inflater.inflate(R.layout.data_usage_header, mListView, false);
-        mHeader.setClickable(true);
-
-        mListView.addHeaderView(new View(context), null, true);
-        mListView.addHeaderView(mHeader, null, true);
-        mListView.setItemsCanFocus(true);
-
-        if (mInsetSide > 0) {
-            // inset selector and divider drawables
-            insetListViewDrawables(mListView, mInsetSide);
-            mHeader.setPaddingRelative(mInsetSide, 0, mInsetSide, 0);
-        }
-
-        {
-            // bind network switches
-            mNetworkSwitchesContainer = (ViewGroup) mHeader.findViewById(
-                    R.id.network_switches_container);
-            mNetworkSwitches = (LinearLayout) mHeader.findViewById(R.id.network_switches);
-
-            mDataEnabled = new Switch(inflater.getContext());
-            mDataEnabled.setClickable(false);
-            mDataEnabled.setFocusable(false);
-            mDataEnabledView = inflatePreference(inflater, mNetworkSwitches, mDataEnabled);
-            mDataEnabledView.setTag(R.id.preference_highlight_key,
-                    DATA_USAGE_ENABLE_MOBILE_KEY);
-            mDataEnabledView.setClickable(true);
-            mDataEnabledView.setFocusable(true);
-            mDataEnabledView.setOnClickListener(mDataEnabledListener);
-            mNetworkSwitches.addView(mDataEnabledView);
-
-            mDisableAtLimit = new Switch(inflater.getContext());
-            mDisableAtLimit.setClickable(false);
-            mDisableAtLimit.setFocusable(false);
-            mDisableAtLimitView = inflatePreference(inflater, mNetworkSwitches, mDisableAtLimit);
-            mDisableAtLimitView.setTag(R.id.preference_highlight_key,
-                    DATA_USAGE_DISABLE_MOBILE_LIMIT_KEY);
-            mDisableAtLimitView.setClickable(true);
-            mDisableAtLimitView.setFocusable(true);
-            mDisableAtLimitView.setOnClickListener(mDisableAtLimitListener);
-            mNetworkSwitches.addView(mDisableAtLimitView);
-
-            mCycleView = inflater.inflate(R.layout.data_usage_cycles, mNetworkSwitches, false);
-            mCycleView.setTag(R.id.preference_highlight_key, DATA_USAGE_CYCLE_KEY);
-            mCycleSpinner = (Spinner) mCycleView.findViewById(R.id.cycles_spinner);
-            mCycleAdapter = new CycleAdapter(context);
-            mCycleSpinner.setAdapter(mCycleAdapter);
-            mCycleSpinner.setOnItemSelectedListener(mCycleListener);
-            mCycleSummary = (TextView) mCycleView.findViewById(R.id.cycle_summary);
-            mNetworkSwitches.addView(mCycleView);
-            mSeries = (ChartNetworkSeriesView)view.findViewById(R.id.series);
-            mDetailedSeries = (ChartNetworkSeriesView)view.findViewById(R.id.detail_series);
-        }
-
-        mChart = (ChartDataUsageView) mHeader.findViewById(R.id.chart);
-        mChart.setListener(mChartListener);
-        mChart.bindNetworkPolicy(null);
-
-        {
-            // bind app detail controls
-            mAppDetail = mHeader.findViewById(R.id.app_detail);
-            mAppIcon = (ImageView) mAppDetail.findViewById(R.id.app_icon);
-            mAppTitles = (ViewGroup) mAppDetail.findViewById(R.id.app_titles);
-            mAppForeground = (TextView) mAppDetail.findViewById(R.id.app_foreground);
-            mAppBackground = (TextView) mAppDetail.findViewById(R.id.app_background);
-            mAppSwitches = (LinearLayout) mAppDetail.findViewById(R.id.app_switches);
-
-            mAppSettings = (Button) mAppDetail.findViewById(R.id.app_settings);
-
-            mAppRestrict = new Switch(inflater.getContext());
-            mAppRestrict.setClickable(false);
-            mAppRestrict.setFocusable(false);
-            mAppRestrictView = inflatePreference(inflater, mAppSwitches, mAppRestrict);
-            mAppRestrictView.setClickable(true);
-            mAppRestrictView.setFocusable(true);
-            mAppRestrictView.setOnClickListener(mAppRestrictListener);
-            mAppSwitches.addView(mAppRestrictView);
-        }
-
-        mDisclaimer = mHeader.findViewById(R.id.disclaimer);
-        mEmpty = (TextView) mHeader.findViewById(android.R.id.empty);
-        mStupidPadding = mHeader.findViewById(R.id.stupid_padding);
-
-        final UserManager um = (UserManager) context.getSystemService(Context.USER_SERVICE);
-        mAdapter = new DataUsageAdapter(um, mUidDetailProvider, mInsetSide);
-        mListView.setOnItemClickListener(mListListener);
-        mListView.setAdapter(mAdapter);
-
-        showRequestedAppIfNeeded(view);
-
-        return view;
-    }
-
-    private void showRequestedAppIfNeeded(View rootView) {
-        if (mShowAppImmediatePkg == null) {
-            return;
-        }
-        try {
-            int uid = getActivity().getPackageManager().getPackageUidAsUser(mShowAppImmediatePkg,
-                UserHandle.myUserId());
-            AppItem app = new AppItem(uid);
-            app.addUid(uid);
-
-            final UidDetail detail = mUidDetailProvider.getUidDetail(app.key, true);
-            // When we are going straight to an app then we are coming from App Info and want
-            // a header at the top.
-            FrameLayout pinnedHeader = (FrameLayout) rootView.findViewById(R.id.pinned_header);
-            AppHeader.createAppHeader(getActivity(), detail.icon, detail.label,
-                    mShowAppImmediatePkg, uid, pinnedHeader);
-            AppDetailsFragment.show(DataUsageSummary.this, app, detail.label, false);
-        } catch (NameNotFoundException e) {
-            Log.w(TAG, "Could not find " + mShowAppImmediatePkg, e);
-            Toast.makeText(getActivity(), getString(R.string.unknown_app), Toast.LENGTH_LONG)
-                    .show();
-            getActivity().finish();
-        }
-    }
-
-    @Override
-    public void onViewStateRestored(Bundle savedInstanceState) {
-        super.onViewStateRestored(savedInstanceState);
-
-        // pick default tab based on incoming intent
-        final Intent intent = getActivity().getIntent();
-        mIntentTab = computeTabFromIntent(intent);
-
-        // this kicks off chain reaction which creates tabs, binds the body to
-        // selected network, and binds chart, cycles and detail list.
-        updateTabs();
-    }
-
-    @Override
-    public void onResume() {
-        super.onResume();
-
-        getView().post(new Runnable() {
-            @Override
-            public void run() {
-                highlightViewIfNeeded();
-            }
-        });
-
-        // kick off background task to update stats
-        new AsyncTask<Void, Void, Void>() {
-            @Override
-            protected Void doInBackground(Void... params) {
-                try {
-                    // wait a few seconds before kicking off
-                    Thread.sleep(2 * DateUtils.SECOND_IN_MILLIS);
-                    mStatsService.forceUpdate();
-                } catch (InterruptedException e) {
-                } catch (RemoteException e) {
-                }
-                return null;
-            }
-
-            @Override
-            protected void onPostExecute(Void result) {
-                if (isAdded()) {
-                    updateBody();
-                }
-            }
-        }.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
-    }
-
-    @Override
-    public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
-        inflater.inflate(R.menu.data_usage, menu);
-    }
-
-    @Override
-    public void onPrepareOptionsMenu(Menu menu) {
-        final Context context = getContext();
-        if (context == null) return;
-        final boolean appDetailMode = isAppDetailMode();
-        final boolean isAdmin = mUserManager.isAdminUser();
-
-        mMenuShowWifi = menu.findItem(R.id.data_usage_menu_show_wifi);
-        if (hasWifiRadio(context) && hasReadyMobileRadio(context)) {
-            mMenuShowWifi.setVisible(!appDetailMode);
-        } else {
-            mMenuShowWifi.setVisible(false);
-        }
-
-        mMenuShowEthernet = menu.findItem(R.id.data_usage_menu_show_ethernet);
-        if (hasEthernet(context) && hasReadyMobileRadio(context)) {
-            mMenuShowEthernet.setVisible(!appDetailMode);
-        } else {
-            mMenuShowEthernet.setVisible(false);
-        }
-
-        mMenuRestrictBackground = menu.findItem(R.id.data_usage_menu_restrict_background);
-        mMenuRestrictBackground.setVisible(
-                hasReadyMobileRadio(context) && isAdmin && !appDetailMode);
-
-        final MenuItem metered = menu.findItem(R.id.data_usage_menu_metered);
-        if (hasReadyMobileRadio(context) || hasWifiRadio(context)) {
-            metered.setVisible(!appDetailMode);
-        } else {
-            metered.setVisible(false);
-        }
-
-        // TODO: show when multiple sims available
-        mMenuSimCards = menu.findItem(R.id.data_usage_menu_sim_cards);
-        mMenuSimCards.setVisible(false);
-
-        mMenuCellularNetworks = menu.findItem(R.id.data_usage_menu_cellular_networks);
-        mMenuCellularNetworks.setVisible(hasReadyMobileRadio(context)
-                && !appDetailMode && isAdmin);
-
-        final MenuItem help = menu.findItem(R.id.data_usage_menu_help);
-        String helpUrl;
-        if (!TextUtils.isEmpty(helpUrl = getResources().getString(R.string.help_url_data_usage))) {
-            HelpUtils.prepareHelpMenuItem(getActivity(), help, helpUrl, getClass().getName());
-        } else {
-            help.setVisible(false);
-        }
-
-        updateMenuTitles();
-    }
-
-    private void updateMenuTitles() {
-        if (mPolicyManager.getRestrictBackground()) {
-            mMenuRestrictBackground.setTitle(R.string.data_usage_menu_allow_background);
-        } else {
-            mMenuRestrictBackground.setTitle(R.string.data_usage_menu_restrict_background);
-        }
-
-        if (mShowWifi) {
-            mMenuShowWifi.setTitle(R.string.data_usage_menu_hide_wifi);
-        } else {
-            mMenuShowWifi.setTitle(R.string.data_usage_menu_show_wifi);
-        }
-
-        if (mShowEthernet) {
-            mMenuShowEthernet.setTitle(R.string.data_usage_menu_hide_ethernet);
-        } else {
-            mMenuShowEthernet.setTitle(R.string.data_usage_menu_show_ethernet);
-        }
-    }
-
-    @Override
-    public boolean onOptionsItemSelected(MenuItem item) {
-        switch (item.getItemId()) {
-            case R.id.data_usage_menu_restrict_background: {
-                final boolean restrictBackground = !mPolicyManager.getRestrictBackground();
-                if (restrictBackground) {
-                    ConfirmRestrictFragment.show(this);
-                } else {
-                    // no confirmation to drop restriction
-                    setRestrictBackground(false);
-                }
-                return true;
-            }
-            case R.id.data_usage_menu_show_wifi: {
-                mShowWifi = !mShowWifi;
-                mPrefs.edit().putBoolean(PREF_SHOW_WIFI, mShowWifi).apply();
-                updateMenuTitles();
-                updateTabs();
-                return true;
-            }
-            case R.id.data_usage_menu_show_ethernet: {
-                mShowEthernet = !mShowEthernet;
-                mPrefs.edit().putBoolean(PREF_SHOW_ETHERNET, mShowEthernet).apply();
-                updateMenuTitles();
-                updateTabs();
-                return true;
-            }
-            case R.id.data_usage_menu_sim_cards: {
-                // TODO: hook up to sim cards
-                return true;
-            }
-            case R.id.data_usage_menu_cellular_networks: {
-                final Intent intent = new Intent(Intent.ACTION_MAIN);
-                intent.setComponent(new ComponentName("com.android.phone",
-                        "com.android.phone.MobileNetworkSettings"));
-                startActivity(intent);
-                return true;
-            }
-            case R.id.data_usage_menu_metered: {
-                final SettingsActivity sa = (SettingsActivity) getActivity();
-                sa.startPreferencePanel(DataUsageMeteredSettings.class.getCanonicalName(), null,
-                        R.string.data_usage_metered_title, null, this, 0);
-                return true;
-            }
-        }
-        return false;
-    }
-
-    @Override
-    public void onDestroy() {
-        mDataEnabledView = null;
-        mDisableAtLimitView = null;
-
-        mUidDetailProvider.clearCache();
-        mUidDetailProvider = null;
-
-        TrafficStats.closeQuietly(mStatsSession);
-
-        super.onDestroy();
-    }
-
-    /**
-     * Build and assign {@link LayoutTransition} to various containers. Should
-     * only be assigned after initial layout is complete.
-     */
-    private void ensureLayoutTransitions() {
-        if (mShowAppImmediatePkg != null) {
-            // If we are skipping right to showing an app, we don't care about transitions.
-            return;
-        }
-        // skip when already setup
-        if (mChart.getLayoutTransition() != null) return;
-
-        mTabsContainer.setLayoutTransition(buildLayoutTransition());
-        mHeader.setLayoutTransition(buildLayoutTransition());
-        mNetworkSwitchesContainer.setLayoutTransition(buildLayoutTransition());
-
-        final LayoutTransition chartTransition = buildLayoutTransition();
-        chartTransition.disableTransitionType(LayoutTransition.APPEARING);
-        chartTransition.disableTransitionType(LayoutTransition.DISAPPEARING);
-        mChart.setLayoutTransition(chartTransition);
-    }
-
-    private static LayoutTransition buildLayoutTransition() {
-        final LayoutTransition transition = new LayoutTransition();
-        if (TEST_ANIM) {
-            transition.setDuration(1500);
-        }
-        transition.setAnimateParentHierarchy(false);
-        return transition;
-    }
-
-    /**
-     * Rebuild all tabs based on {@link NetworkPolicyEditor} and
-     * {@link #mShowWifi}, hiding the tabs entirely when applicable. Selects
-     * first tab, and kicks off a full rebind of body contents.
-     */
-    private void updateTabs() {
-        final Context context = getActivity();
-        mTabHost.clearAllTabs();
-
-        int simCount = mTelephonyManager.getSimCount();
-
-        List<SubscriptionInfo> sirs = mSubscriptionManager.getActiveSubscriptionInfoList();
-        if (sirs != null) {
-            for (SubscriptionInfo sir : sirs) {
-                addMobileTab(context, sir, (simCount > 1));
-            }
-        }
-
-        if (mShowWifi && hasWifiRadio(context)) {
-            mTabHost.addTab(buildTabSpec(TAB_WIFI, R.string.data_usage_tab_wifi));
-        }
-
-        if (mShowEthernet && hasEthernet(context)) {
-            mTabHost.addTab(buildTabSpec(TAB_ETHERNET, R.string.data_usage_tab_ethernet));
-        }
-
-        final boolean noTabs = mTabWidget.getTabCount() == 0;
-        final boolean multipleTabs = mTabWidget.getTabCount() > 1;
-        mTabWidget.setVisibility(multipleTabs ? View.VISIBLE : View.GONE);
-        if (mIntentTab != null) {
-            if (Objects.equal(mIntentTab, mTabHost.getCurrentTabTag())) {
-                // already hit updateBody() when added; ignore
-                updateBody();
-            } else {
-                mTabHost.setCurrentTabByTag(mIntentTab);
-            }
-            mIntentTab = null;
-        } else if (noTabs) {
-            // no usable tabs, so hide body
-            updateBody();
-        } else {
-            // already hit updateBody() when added; ignore
-        }
-    }
-
-    /**
-     * Factory that provide empty {@link View} to make {@link TabHost} happy.
-     */
-    private TabContentFactory mEmptyTabContent = new TabContentFactory() {
-        @Override
-        public View createTabContent(String tag) {
-            return new View(mTabHost.getContext());
-        }
-    };
-
-    /**
-     * Build {@link TabSpec} with thin indicator, and empty content.
-     */
-    private TabSpec buildTabSpec(String tag, int titleRes) {
-        return mTabHost.newTabSpec(tag).setIndicator(getText(titleRes)).setContent(
-                mEmptyTabContent);
-    }
-
-    /**
-     * Build {@link TabSpec} with thin indicator, and empty content.
-     */
-    private TabSpec buildTabSpec(String tag, CharSequence title) {
-        return mTabHost.newTabSpec(tag).setIndicator(title).setContent(
-                mEmptyTabContent);
-    }
-
-
-    private OnTabChangeListener mTabListener = new OnTabChangeListener() {
-        @Override
-        public void onTabChanged(String tabId) {
-            // user changed tab; update body
-            updateBody();
-        }
-    };
-
-    /**
-     * Update body content based on current tab. Loads
-     * {@link NetworkStatsHistory} and {@link NetworkPolicy} from system, and
-     * binds them to visible controls.
-     */
-    private void updateBody() {
-        mBinding = true;
-        if (!isAdded()) return;
-
-        final Context context = getActivity();
-        final String currentTab = mTabHost.getCurrentTabTag();
-        final boolean isAdmin = mUserManager.isAdminUser();
-
-        if (currentTab == null) {
-            Log.w(TAG, "no tab selected; hiding body");
-            mListView.setVisibility(View.GONE);
-            return;
-        } else {
-            mListView.setVisibility(View.VISIBLE);
-        }
-
-        mCurrentTab = currentTab;
-
-        if (LOGD) Log.d(TAG, "updateBody() with currentTab=" + currentTab);
-
-        mDataEnabledSupported = isAdmin;
-        mDisableAtLimitSupported = true;
-
-        // TODO: remove mobile tabs when SIM isn't ready probably by
-        // TODO: using SubscriptionManager.getActiveSubscriptionInfoList.
-        if (LOGD) Log.d(TAG, "updateBody() isMobileTab=" + isMobileTab(currentTab));
-
-        if (isMobileTab(currentTab)) {
-            if (LOGD) Log.d(TAG, "updateBody() mobile tab");
-            setPreferenceTitle(mDataEnabledView, R.string.data_usage_enable_mobile);
-            setPreferenceTitle(mDisableAtLimitView, R.string.data_usage_disable_mobile_limit);
-            mDataEnabledSupported = isMobileDataAvailable(getSubId(currentTab));
-
-            // Match mobile traffic for this subscriber, but normalize it to
-            // catch any other merged subscribers.
-            mTemplate = buildTemplateMobileAll(
-                    getActiveSubscriberId(context, getSubId(currentTab)));
-            mTemplate = NetworkTemplate.normalize(mTemplate,
-                    mTelephonyManager.getMergedSubscriberIds());
-
-        } else if (TAB_3G.equals(currentTab)) {
-            if (LOGD) Log.d(TAG, "updateBody() 3g tab");
-            setPreferenceTitle(mDataEnabledView, R.string.data_usage_enable_3g);
-            setPreferenceTitle(mDisableAtLimitView, R.string.data_usage_disable_3g_limit);
-            // TODO: bind mDataEnabled to 3G radio state
-            mTemplate = buildTemplateMobile3gLower(getActiveSubscriberId(context));
-
-        } else if (TAB_4G.equals(currentTab)) {
-            if (LOGD) Log.d(TAG, "updateBody() 4g tab");
-            setPreferenceTitle(mDataEnabledView, R.string.data_usage_enable_4g);
-            setPreferenceTitle(mDisableAtLimitView, R.string.data_usage_disable_4g_limit);
-            // TODO: bind mDataEnabled to 4G radio state
-            mTemplate = buildTemplateMobile4g(getActiveSubscriberId(context));
-
-        } else if (TAB_WIFI.equals(currentTab)) {
-            // wifi doesn't have any controls
-            if (LOGD) Log.d(TAG, "updateBody() wifi tab");
-            mDataEnabledSupported = false;
-            mDisableAtLimitSupported = false;
-            mTemplate = buildTemplateWifiWildcard();
-
-        } else if (TAB_ETHERNET.equals(currentTab)) {
-            // ethernet doesn't have any controls
-            if (LOGD) Log.d(TAG, "updateBody() ethernet tab");
-            mDataEnabledSupported = false;
-            mDisableAtLimitSupported = false;
-            mTemplate = buildTemplateEthernet();
-
-        } else {
-            if (LOGD) Log.d(TAG, "updateBody() unknown tab");
-            throw new IllegalStateException("unknown tab: " + currentTab);
-        }
-
-        mPolicyEditor.read();
-        final NetworkPolicy policy = mPolicyEditor.getPolicy(mTemplate);
-        if (policy != null) {
-            final long currentTime = System.currentTimeMillis();
-            final long start = computeLastCycleBoundary(currentTime, policy);
-            final long end = currentTime;
-            long totalBytes = 0;
-
-            try {
-                totalBytes = mStatsService.getNetworkTotalBytes(policy.template, start, end);
-            } catch (RuntimeException e) {
-            } catch (RemoteException e) {
-            }
-
-            if (policy.isOverLimit(totalBytes) && policy.lastLimitSnooze < start) {
-                setPreferenceSummary(mDataEnabledView,
-                        getString(R.string.data_usage_cellular_data_summary));
-            } else {
-                final TextView summary = (TextView) mDataEnabledView
-                        .findViewById(android.R.id.summary);
-                summary.setVisibility(View.GONE);
-            }
-        }
-
-        // kick off loader for network history
-        // TODO: consider chaining two loaders together instead of reloading
-        // network history when showing app detail.
-        getLoaderManager().restartLoader(LOADER_CHART_DATA,
-                ChartDataLoader.buildArgs(mTemplate, mCurrentApp), mChartDataCallbacks);
-
-        // detail mode can change visible menus, invalidate
-        getActivity().invalidateOptionsMenu();
-
-        mBinding = false;
-
-        int seriesColor = context.getColor(R.color.sim_noitification);
-        if (mCurrentTab != null && mCurrentTab.length() > TAB_MOBILE.length() ){
-            final int slotId = Integer.parseInt(mCurrentTab.substring(TAB_MOBILE.length(),
-                    mCurrentTab.length()));
-            final SubscriptionInfo sir = mSubscriptionManager
-                    .getActiveSubscriptionInfoForSimSlotIndex(slotId);
-
-            if (sir != null) {
-                seriesColor = sir.getIconTint();
-            }
-        }
-
-        final int secondaryColor = Color.argb(127, Color.red(seriesColor), Color.green(seriesColor),
-                Color.blue(seriesColor));
-        mSeries.setChartColor(Color.BLACK, seriesColor, secondaryColor);
-        mDetailedSeries.setChartColor(Color.BLACK, seriesColor, secondaryColor);
-    }
-
-    private boolean isAppDetailMode() {
-        return mCurrentApp != null;
-    }
-
-    /**
-     * Update UID details panels to match {@link #mCurrentApp}, showing or
-     * hiding them depending on {@link #isAppDetailMode()}.
-     */
-    private void updateAppDetail() {
-        final Context context = getActivity();
-        final PackageManager pm = context.getPackageManager();
-        final LayoutInflater inflater = getActivity().getLayoutInflater();
-
-        if (isAppDetailMode()) {
-            mAppDetail.setVisibility(View.VISIBLE);
-            mCycleAdapter.setChangeVisible(false);
-            mChart.setVisibility(View.GONE);
-        } else {
-            mAppDetail.setVisibility(View.GONE);
-            mCycleAdapter.setChangeVisible(true);
-            mChart.setVisibility(View.VISIBLE);
-
-            // hide detail stats when not in detail mode
-            mChart.bindDetailNetworkStats(null);
-            return;
-        }
-
-        // remove warning/limit sweeps while in detail mode
-        mChart.bindNetworkPolicy(null);
-
-        // show icon and all labels appearing under this app
-        final int uid = mCurrentApp.key;
-        final UidDetail detail = mUidDetailProvider.getUidDetail(uid, true);
-        mAppIcon.setImageDrawable(detail.icon);
-
-        mAppTitles.removeAllViews();
-
-        View title = null;
-        if (detail.detailLabels != null) {
-            final int n = detail.detailLabels.length;
-            for (int i = 0; i < n; ++i) {
-                CharSequence label = detail.detailLabels[i];
-                CharSequence contentDescription = detail.detailContentDescriptions[i];
-                title = inflater.inflate(R.layout.data_usage_app_title, mAppTitles, false);
-                TextView appTitle = (TextView) title.findViewById(R.id.app_title);
-                appTitle.setText(label);
-                appTitle.setContentDescription(contentDescription);
-                mAppTitles.addView(title);
-            }
-        } else {
-            title = inflater.inflate(R.layout.data_usage_app_title, mAppTitles, false);
-            TextView appTitle = (TextView) title.findViewById(R.id.app_title);
-            appTitle.setText(detail.label);
-            appTitle.setContentDescription(detail.contentDescription);
-            mAppTitles.addView(title);
-        }
-
-        // Remember last slot for summary
-        if (title != null) {
-            mAppTotal = (TextView) title.findViewById(R.id.app_summary);
-        } else {
-            mAppTotal = null;
-        }
-
-        // enable settings button when package provides it
-        final String[] packageNames = pm.getPackagesForUid(uid);
-        if (packageNames != null && packageNames.length > 0) {
-            mAppSettingsIntent = new Intent(Intent.ACTION_MANAGE_NETWORK_USAGE);
-            mAppSettingsIntent.addCategory(Intent.CATEGORY_DEFAULT);
-
-            // Search for match across all packages
-            boolean matchFound = false;
-            for (String packageName : packageNames) {
-                mAppSettingsIntent.setPackage(packageName);
-                if (pm.resolveActivity(mAppSettingsIntent, 0) != null) {
-                    matchFound = true;
-                    break;
-                }
-            }
-
-            mAppSettings.setOnClickListener(new OnClickListener() {
-                @Override
-                public void onClick(View v) {
-                    if (!isAdded()) {
-                        return;
-                    }
-
-                    // TODO: target towards entire UID instead of just first package
-                    getActivity().startActivityAsUser(mAppSettingsIntent,
-                            new UserHandle(UserHandle.getUserId(uid)));
-                }
-            });
-            mAppSettings.setEnabled(matchFound);
-            mAppSettings.setVisibility(View.VISIBLE);
-
-        } else {
-            mAppSettingsIntent = null;
-            mAppSettings.setOnClickListener(null);
-            mAppSettings.setVisibility(View.GONE);
-        }
-
-        updateDetailData();
-
-        if (UserHandle.isApp(uid) && !mPolicyManager.getRestrictBackground()
-                && isBandwidthControlEnabled() && hasReadyMobileRadio(context)) {
-            setPreferenceTitle(mAppRestrictView, R.string.data_usage_app_restrict_background);
-            setPreferenceSummary(mAppRestrictView,
-                    getString(R.string.data_usage_app_restrict_background_summary));
-
-            mAppRestrictView.setVisibility(View.VISIBLE);
-            mAppRestrict.setChecked(getAppRestrictBackground());
-
-        } else {
-            mAppRestrictView.setVisibility(View.GONE);
-        }
-    }
-
-    private void setPolicyWarningBytes(long warningBytes) {
-        if (LOGD) Log.d(TAG, "setPolicyWarningBytes()");
-        mPolicyEditor.setPolicyWarningBytes(mTemplate, warningBytes);
-        updatePolicy(false);
-    }
-
-    private void setPolicyLimitBytes(long limitBytes) {
-        if (LOGD) Log.d(TAG, "setPolicyLimitBytes()");
-        mPolicyEditor.setPolicyLimitBytes(mTemplate, limitBytes);
-        updatePolicy(false);
-    }
-
-    private boolean isMobileDataEnabled(int subId) {
-        if (LOGD) Log.d(TAG, "isMobileDataEnabled:+ subId=" + subId);
-        boolean isEnable = false;
-        if (mMobileDataEnabled.get(String.valueOf(subId)) != null) {
-            //TODO: deprecate and remove this once enabled flag is on policy
-            //Multiple Subscriptions, the value need to be reseted
-            isEnable = mMobileDataEnabled.get(String.valueOf(subId)).booleanValue();
-            if (LOGD) {
-                Log.d(TAG, "isMobileDataEnabled: != null, subId=" + subId
-                        + " isEnable=" + isEnable);
-            }
-            mMobileDataEnabled.put(String.valueOf(subId), null);
-        } else {
-            // SUB SELECT
-            isEnable = mTelephonyManager.getDataEnabled(subId);
-            if (LOGD) {
-                Log.d(TAG, "isMobileDataEnabled: == null, subId=" + subId
-                        + " isEnable=" + isEnable);
-            }
-        }
-        return isEnable;
-    }
-
-    private void setMobileDataEnabled(int subId, boolean enabled) {
-        if (LOGD) Log.d(TAG, "setMobileDataEnabled()");
-        mTelephonyManager.setDataEnabled(subId, enabled);
-        mMobileDataEnabled.put(String.valueOf(subId), enabled);
-        updatePolicy(false);
-    }
-
-    private boolean isNetworkPolicyModifiable(NetworkPolicy policy) {
-        return policy != null && isBandwidthControlEnabled() && mDataEnabled.isChecked()
-                && mUserManager.isAdminUser();
-    }
-
-    private boolean isBandwidthControlEnabled() {
-        try {
-            return mNetworkService.isBandwidthControlEnabled();
-        } catch (RemoteException e) {
-            Log.w(TAG, "problem talking with INetworkManagementService: " + e);
-            return false;
-        }
-    }
-
-    public void setRestrictBackground(boolean restrictBackground) {
-        mPolicyManager.setRestrictBackground(restrictBackground);
-        updateMenuTitles();
-        ConditionManager.get(getContext()).getCondition(BackgroundDataCondition.class)
-                .refreshState();
-    }
-
-    private boolean getAppRestrictBackground() {
-        final int uid = mCurrentApp.key;
-        final int uidPolicy = mPolicyManager.getUidPolicy(uid);
-        return (uidPolicy & POLICY_REJECT_METERED_BACKGROUND) != 0;
-    }
-
-    private void setAppRestrictBackground(boolean restrictBackground) {
-        if (LOGD) Log.d(TAG, "setAppRestrictBackground()");
-        final int uid = mCurrentApp.key;
-        mPolicyManager.setUidPolicy(
-                uid, restrictBackground ? POLICY_REJECT_METERED_BACKGROUND : POLICY_NONE);
-        mAppRestrict.setChecked(restrictBackground);
-    }
-
-    /**
-     * Update chart sweeps and cycle list to reflect {@link NetworkPolicy} for
-     * current {@link #mTemplate}.
-     */
-    private void updatePolicy(boolean refreshCycle) {
-        boolean dataEnabledVisible = mDataEnabledSupported;
-        boolean disableAtLimitVisible = mDisableAtLimitSupported;
-
-        if (isAppDetailMode()) {
-            dataEnabledVisible = false;
-            disableAtLimitVisible = false;
-        }
-
-        // TODO: move enabled state directly into policy
-        if (isMobileTab(mCurrentTab)) {
-            mBinding = true;
-            mDataEnabled.setChecked(isMobileDataEnabled(getSubId(mCurrentTab)));
-            mBinding = false;
-        }
-
-        final NetworkPolicy policy = mPolicyEditor.getPolicy(mTemplate);
-        //SUB SELECT
-        if (isNetworkPolicyModifiable(policy) && isMobileDataAvailable(getSubId(mCurrentTab))) {
-            mDisableAtLimit.setChecked(policy != null && policy.limitBytes != LIMIT_DISABLED);
-            if (!isAppDetailMode()) {
-                mChart.bindNetworkPolicy(policy);
-            }
-
-        } else {
-            // controls are disabled; don't bind warning/limit sweeps
-            disableAtLimitVisible = false;
-            mChart.bindNetworkPolicy(null);
-        }
-
-        mDataEnabledView.setVisibility(dataEnabledVisible ? View.VISIBLE : View.GONE);
-        mDisableAtLimitView.setVisibility(disableAtLimitVisible ? View.VISIBLE : View.GONE);
-
-        if (refreshCycle) {
-            // generate cycle list based on policy and available history
-            updateCycleList(policy);
-        }
-    }
-
-    /**
-     * Rebuild {@link #mCycleAdapter} based on {@link NetworkPolicy#cycleDay}
-     * and available {@link NetworkStatsHistory} data. Always selects the newest
-     * item, updating the inspection range on {@link #mChart}.
-     */
-    private void updateCycleList(NetworkPolicy policy) {
-        // stash away currently selected cycle to try restoring below
-        final CycleItem previousItem = (CycleItem) mCycleSpinner.getSelectedItem();
-        mCycleAdapter.clear();
-
-        final Context context = mCycleSpinner.getContext();
-        NetworkStatsHistory.Entry entry = null;
-
-        long historyStart = Long.MAX_VALUE;
-        long historyEnd = Long.MIN_VALUE;
-        if (mChartData != null) {
-            historyStart = mChartData.network.getStart();
-            historyEnd = mChartData.network.getEnd();
-        }
-
-        final long now = System.currentTimeMillis();
-        if (historyStart == Long.MAX_VALUE) historyStart = now;
-        if (historyEnd == Long.MIN_VALUE) historyEnd = now + 1;
-
-        boolean hasCycles = false;
-        if (policy != null) {
-            // find the next cycle boundary
-            long cycleEnd = computeNextCycleBoundary(historyEnd, policy);
-
-            // walk backwards, generating all valid cycle ranges
-            while (cycleEnd > historyStart) {
-                final long cycleStart = computeLastCycleBoundary(cycleEnd, policy);
-                Log.d(TAG, "generating cs=" + cycleStart + " to ce=" + cycleEnd + " waiting for hs="
-                        + historyStart);
-
-                final boolean includeCycle;
-                if (mChartData != null) {
-                    entry = mChartData.network.getValues(cycleStart, cycleEnd, entry);
-                    includeCycle = (entry.rxBytes + entry.txBytes) > 0;
-                } else {
-                    includeCycle = true;
-                }
-
-                if (includeCycle) {
-                    mCycleAdapter.add(new CycleItem(context, cycleStart, cycleEnd));
-                    hasCycles = true;
-                }
-                cycleEnd = cycleStart;
-            }
-
-            // one last cycle entry to modify policy cycle day
-            mCycleAdapter.setChangePossible(isNetworkPolicyModifiable(policy));
-        }
-
-        if (!hasCycles) {
-            // no policy defined cycles; show entry for each four-week period
-            long cycleEnd = historyEnd;
-            while (cycleEnd > historyStart) {
-                final long cycleStart = cycleEnd - (DateUtils.WEEK_IN_MILLIS * 4);
-
-                final boolean includeCycle;
-                if (mChartData != null) {
-                    entry = mChartData.network.getValues(cycleStart, cycleEnd, entry);
-                    includeCycle = (entry.rxBytes + entry.txBytes) > 0;
-                } else {
-                    includeCycle = true;
-                }
-
-                if (includeCycle) {
-                    mCycleAdapter.add(new CycleItem(context, cycleStart, cycleEnd));
-                }
-                cycleEnd = cycleStart;
-            }
-
-            mCycleAdapter.setChangePossible(false);
-        }
-
-        // force pick the current cycle (first item)
-        if (mCycleAdapter.getCount() > 0) {
-            final int position = mCycleAdapter.findNearestPosition(previousItem);
-            mCycleSpinner.setSelection(position);
-
-            // only force-update cycle when changed; skipping preserves any
-            // user-defined inspection region.
-            final CycleItem selectedItem = mCycleAdapter.getItem(position);
-            if (!Objects.equal(selectedItem, previousItem)) {
-                mCycleListener.onItemSelected(mCycleSpinner, null, position, 0);
-            } else {
-                // but still kick off loader for detailed list
-                updateDetailData();
-            }
-        } else {
-            updateDetailData();
-        }
-    }
-
-    private void disableDataForOtherSubscriptions(SubscriptionInfo currentSir) {
-        if (mSubInfoList != null) {
-            for (SubscriptionInfo subInfo : mSubInfoList) {
-                if (subInfo.getSubscriptionId() != currentSir.getSubscriptionId()) {
-                    setMobileDataEnabled(subInfo.getSubscriptionId(), false);
-                }
-            }
-        }
-    }
-
-    private View.OnClickListener mDataEnabledListener = new View.OnClickListener() {
-        @Override
-        public void onClick(View v) {
-            if (mBinding) return;
-
-            final boolean enabled = !mDataEnabled.isChecked();
-            final String currentTab = mCurrentTab;
-            if (isMobileTab(currentTab)) {
-                MetricsLogger.action(getContext(), MetricsLogger.ACTION_CELL_DATA_TOGGLE, enabled);
-                if (enabled) {
-                    // If we are showing the Sim Card tile then we are a Multi-Sim device.
-                    if (Utils.showSimCardTile(getActivity())) {
-                        handleMultiSimDataDialog();
-                    } else {
-                        setMobileDataEnabled(getSubId(currentTab), true);
-                    }
-                } else {
-                    // disabling data; show confirmation dialog which eventually
-                    // calls setMobileDataEnabled() once user confirms.
-                    ConfirmDataDisableFragment.show(DataUsageSummary.this, getSubId(mCurrentTab));
-                }
-            }
-
-            updatePolicy(false);
-        }
-    };
-
-    private void handleMultiSimDataDialog() {
-        final Context context = getActivity();
-        final SubscriptionInfo currentSir = getCurrentTabSubInfo(context);
-
-        //If sim has not loaded after toggling data switch, return.
-        if (currentSir == null) {
-            return;
-        }
-
-        final SubscriptionInfo nextSir = mSubscriptionManager.getDefaultDataSubscriptionInfo();
-
-        // If the device is single SIM or is enabling data on the active data SIM then forgo
-        // the pop-up.
-        if (!Utils.showSimCardTile(context) ||
-                (nextSir != null && currentSir != null &&
-                currentSir.getSubscriptionId() == nextSir.getSubscriptionId())) {
-            setMobileDataEnabled(currentSir.getSubscriptionId(), true);
-            if (nextSir != null && currentSir != null &&
-                currentSir.getSubscriptionId() == nextSir.getSubscriptionId()) {
-                disableDataForOtherSubscriptions(currentSir);
-            }
-            updateBody();
-            return;
-        }
-
-        final String previousName = (nextSir == null)
-            ? context.getResources().getString(R.string.sim_selection_required_pref)
-            : nextSir.getDisplayName().toString();
-
-        AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
-
-        builder.setTitle(R.string.sim_change_data_title);
-        builder.setMessage(getActivity().getResources().getString(R.string.sim_change_data_message,
-                    currentSir.getDisplayName(), previousName));
-
-        builder.setPositiveButton(R.string.okay, new DialogInterface.OnClickListener() {
-            @Override
-            public void onClick(DialogInterface dialog, int id) {
-                mSubscriptionManager.setDefaultDataSubId(currentSir.getSubscriptionId());
-                setMobileDataEnabled(currentSir.getSubscriptionId(), true);
-                disableDataForOtherSubscriptions(currentSir);
-                updateBody();
-            }
-        });
-        builder.setNegativeButton(R.string.cancel, null);
-
-        builder.create().show();
-    }
-
-    private View.OnClickListener mDisableAtLimitListener = new View.OnClickListener() {
-        @Override
-        public void onClick(View v) {
-            final boolean disableAtLimit = !mDisableAtLimit.isChecked();
-            if (disableAtLimit) {
-                // enabling limit; show confirmation dialog which eventually
-                // calls setPolicyLimitBytes() once user confirms.
-                ConfirmLimitFragment.show(DataUsageSummary.this);
-            } else {
-                setPolicyLimitBytes(LIMIT_DISABLED);
-            }
-        }
-    };
-
-    private View.OnClickListener mAppRestrictListener = new View.OnClickListener() {
-        @Override
-        public void onClick(View v) {
-            final boolean restrictBackground = !mAppRestrict.isChecked();
-
-            if (restrictBackground) {
-                // enabling restriction; show confirmation dialog which
-                // eventually calls setRestrictBackground() once user
-                // confirms.
-                ConfirmAppRestrictFragment.show(DataUsageSummary.this);
-            } else {
-                setAppRestrictBackground(false);
-            }
-        }
-    };
-
-    private OnItemClickListener mListListener = new OnItemClickListener() {
-        @Override
-        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
-            final Context context = view.getContext();
-            final AppItem app = (AppItem) parent.getItemAtPosition(position);
-
-            // TODO: sigh, remove this hack once we understand 6450986
-            if (mUidDetailProvider == null || app == null) return;
-
-            final UidDetail detail = mUidDetailProvider.getUidDetail(app.key, true);
-            AppDetailsFragment.show(DataUsageSummary.this, app, detail.label);
-        }
-    };
-
-    private OnItemSelectedListener mCycleListener = new OnItemSelectedListener() {
-        @Override
-        public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
-            final CycleItem cycle = (CycleItem) parent.getItemAtPosition(position);
-            if (cycle instanceof CycleChangeItem) {
-                // show cycle editor; will eventually call setPolicyCycleDay()
-                // when user finishes editing.
-                CycleEditorFragment.show(DataUsageSummary.this);
-
-                // reset spinner to something other than "change cycle..."
-                mCycleSpinner.setSelection(0);
-
-            } else {
-                if (LOGD) {
-                    Log.d(TAG, "showing cycle " + cycle + ", start=" + cycle.start + ", end="
-                            + cycle.end + "]");
-                }
-
-                // update chart to show selected cycle, and update detail data
-                // to match updated sweep bounds.
-                mChart.setVisibleRange(cycle.start, cycle.end);
-
-                updateDetailData();
-            }
-        }
-
-        @Override
-        public void onNothingSelected(AdapterView<?> parent) {
-            // ignored
-        }
-    };
-
-    /**
-     * Update details based on {@link #mChart} inspection range depending on
-     * current mode. In network mode, updates {@link #mAdapter} with sorted list
-     * of applications data usage, and when {@link #isAppDetailMode()} update
-     * app details.
-     */
-    private void updateDetailData() {
-        if (LOGD) Log.d(TAG, "updateDetailData()");
-
-        final long start = mChart.getInspectStart();
-        final long end = mChart.getInspectEnd();
-        final long now = System.currentTimeMillis();
-
-        final Context context = getActivity();
-
-        NetworkStatsHistory.Entry entry = null;
-        if (isAppDetailMode() && mChartData != null && mChartData.detail != null) {
-            // bind foreground/background to piechart and labels
-            entry = mChartData.detailDefault.getValues(start, end, now, entry);
-            final long defaultBytes = entry.rxBytes + entry.txBytes;
-            entry = mChartData.detailForeground.getValues(start, end, now, entry);
-            final long foregroundBytes = entry.rxBytes + entry.txBytes;
-            final long totalBytes = defaultBytes + foregroundBytes;
-
-            if (mAppTotal != null) {
-                mAppTotal.setText(Formatter.formatFileSize(context, totalBytes));
-            }
-            mAppBackground.setText(Formatter.formatFileSize(context, defaultBytes));
-            mAppForeground.setText(Formatter.formatFileSize(context, foregroundBytes));
-
-            // and finally leave with summary data for label below
-            entry = mChartData.detail.getValues(start, end, now, null);
-
-            getLoaderManager().destroyLoader(LOADER_SUMMARY);
-
-            mCycleSummary.setVisibility(View.GONE);
-
-        } else {
-            if (mChartData != null) {
-                entry = mChartData.network.getValues(start, end, now, null);
-            }
-
-            mCycleSummary.setVisibility(View.VISIBLE);
-
-            // kick off loader for detailed stats
-            getLoaderManager().restartLoader(LOADER_SUMMARY,
-                    SummaryForAllUidLoader.buildArgs(mTemplate, start, end), mSummaryCallbacks);
-        }
-
-        final long totalBytes = entry != null ? entry.rxBytes + entry.txBytes : 0;
-        final String totalPhrase = Formatter.formatFileSize(context, totalBytes);
-        mCycleSummary.setText(totalPhrase);
-
-        if (isMobileTab(mCurrentTab) || TAB_3G.equals(mCurrentTab)
-                || TAB_4G.equals(mCurrentTab)) {
-            if (isAppDetailMode()) {
-                mDisclaimer.setVisibility(View.GONE);
-            } else {
-                mDisclaimer.setVisibility(View.VISIBLE);
-            }
-        } else {
-            mDisclaimer.setVisibility(View.GONE);
-        }
-
-        // initial layout is finished above, ensure we have transitions
-        ensureLayoutTransitions();
-    }
-
-    private final LoaderCallbacks<ChartData> mChartDataCallbacks = new LoaderCallbacks<
-            ChartData>() {
-        @Override
-        public Loader<ChartData> onCreateLoader(int id, Bundle args) {
-            return new ChartDataLoader(getActivity(), mStatsSession, args);
-        }
-
-        @Override
-        public void onLoadFinished(Loader<ChartData> loader, ChartData data) {
-            mChartData = data;
-            mChart.bindNetworkStats(mChartData.network);
-            mChart.bindDetailNetworkStats(mChartData.detail);
-
-            // calcuate policy cycles based on available data
-            updatePolicy(true);
-            updateAppDetail();
-
-            // force scroll to top of body when showing detail
-            if (mChartData.detail != null) {
-                mListView.smoothScrollToPosition(0);
-            }
-        }
-
-        @Override
-        public void onLoaderReset(Loader<ChartData> loader) {
-            mChartData = null;
-            mChart.bindNetworkStats(null);
-            mChart.bindDetailNetworkStats(null);
-        }
-    };
-
-    private final LoaderCallbacks<NetworkStats> mSummaryCallbacks = new LoaderCallbacks<
-            NetworkStats>() {
-        @Override
-        public Loader<NetworkStats> onCreateLoader(int id, Bundle args) {
-            return new SummaryForAllUidLoader(getActivity(), mStatsSession, args);
-        }
-
-        @Override
-        public void onLoadFinished(Loader<NetworkStats> loader, NetworkStats data) {
-            final int[] restrictedUids = mPolicyManager.getUidsWithPolicy(
-                    POLICY_REJECT_METERED_BACKGROUND);
-            mAdapter.bindStats(data, restrictedUids);
-            updateEmptyVisible();
-        }
-
-        @Override
-        public void onLoaderReset(Loader<NetworkStats> loader) {
-            mAdapter.bindStats(null, new int[0]);
-            updateEmptyVisible();
-        }
-
-        private void updateEmptyVisible() {
-            final boolean isEmpty = mAdapter.isEmpty() && !isAppDetailMode();
-            mEmpty.setVisibility(isEmpty ? View.VISIBLE : View.GONE);
-            mStupidPadding.setVisibility(isEmpty ? View.VISIBLE : View.GONE);
-        }
-    };
-
-    private static String getActiveSubscriberId(Context context) {
-        final TelephonyManager tele = TelephonyManager.from(context);
-        final String actualSubscriberId = tele.getSubscriberId();
-        String retVal = SystemProperties.get(TEST_SUBSCRIBER_PROP, actualSubscriberId);
-        if (LOGD) Log.d(TAG, "getActiveSubscriberId=" + retVal + " actualSubscriberId=" + actualSubscriberId);
-        return retVal;
-    }
-
-    private static String getActiveSubscriberId(Context context, int subId) {
-        final TelephonyManager tele = TelephonyManager.from(context);
-        String retVal = tele.getSubscriberId(subId);
-        if (LOGD) Log.d(TAG, "getActiveSubscriberId=" + retVal + " subId=" + subId);
-        return retVal;
-    }
-
-    private DataUsageChartListener mChartListener = new DataUsageChartListener() {
-        @Override
-        public void onWarningChanged() {
-            setPolicyWarningBytes(mChart.getWarningBytes());
-        }
-
-        @Override
-        public void onLimitChanged() {
-            setPolicyLimitBytes(mChart.getLimitBytes());
-            updateBody();
-        }
-
-        @Override
-        public void requestWarningEdit() {
-            WarningEditorFragment.show(DataUsageSummary.this);
-        }
-
-        @Override
-        public void requestLimitEdit() {
-            LimitEditorFragment.show(DataUsageSummary.this);
-        }
-    };
-
-    /**
-     * List item that reflects a specific data usage cycle.
-     */
-    public static class CycleItem implements Comparable<CycleItem> {
-        public CharSequence label;
-        public long start;
-        public long end;
-
-        CycleItem(CharSequence label) {
-            this.label = label;
-        }
-
-        public CycleItem(Context context, long start, long end) {
-            this.label = formatDateRange(context, start, end);
-            this.start = start;
-            this.end = end;
-        }
-
-        @Override
-        public String toString() {
-            return label.toString();
-        }
-
-        @Override
-        public boolean equals(Object o) {
-            if (o instanceof CycleItem) {
-                final CycleItem another = (CycleItem) o;
-                return start == another.start && end == another.end;
-            }
-            return false;
-        }
-
-        @Override
-        public int compareTo(CycleItem another) {
-            return Long.compare(start, another.start);
-        }
-    }
-
-    private static final StringBuilder sBuilder = new StringBuilder(50);
-    private static final java.util.Formatter sFormatter = new java.util.Formatter(
-            sBuilder, Locale.getDefault());
-
-    public static String formatDateRange(Context context, long start, long end) {
-        final int flags = FORMAT_SHOW_DATE | FORMAT_ABBREV_MONTH;
-
-        synchronized (sBuilder) {
-            sBuilder.setLength(0);
-            return DateUtils.formatDateRange(context, sFormatter, start, end, flags, null)
-                    .toString();
-        }
-    }
-
-    /**
-     * Special-case data usage cycle that triggers dialog to change
-     * {@link NetworkPolicy#cycleDay}.
-     */
-    public static class CycleChangeItem extends CycleItem {
-        public CycleChangeItem(Context context) {
-            super(context.getString(R.string.data_usage_change_cycle));
-        }
-    }
-
-    public static class CycleAdapter extends ArrayAdapter<CycleItem> {
-        private boolean mChangePossible = false;
-        private boolean mChangeVisible = false;
-
-        private final CycleChangeItem mChangeItem;
-
-        public CycleAdapter(Context context) {
-            super(context, R.layout.data_usage_cycle_item);
-            setDropDownViewResource(R.layout.data_usage_cycle_item_dropdown);
-            mChangeItem = new CycleChangeItem(context);
-        }
-
-        public void setChangePossible(boolean possible) {
-            mChangePossible = possible;
-            updateChange();
-        }
-
-        public void setChangeVisible(boolean visible) {
-            mChangeVisible = visible;
-            updateChange();
-        }
-
-        private void updateChange() {
-            remove(mChangeItem);
-            if (mChangePossible && mChangeVisible) {
-                add(mChangeItem);
-            }
-        }
-
-        /**
-         * Find position of {@link CycleItem} in this adapter which is nearest
-         * the given {@link CycleItem}.
-         */
-        public int findNearestPosition(CycleItem target) {
-            if (target != null) {
-                final int count = getCount();
-                for (int i = count - 1; i >= 0; i--) {
-                    final CycleItem item = getItem(i);
-                    if (item instanceof CycleChangeItem) {
-                        continue;
-                    } else if (item.compareTo(target) >= 0) {
-                        return i;
-                    }
-                }
-            }
-            return 0;
-        }
-    }
-
-    /**
-     * Adapter of applications, sorted by total usage descending.
-     */
-    public static class DataUsageAdapter extends BaseAdapter {
-        private final UidDetailProvider mProvider;
-        private final int mInsetSide;
-        private final UserManager mUm;
-
-        private ArrayList<AppItem> mItems = Lists.newArrayList();
-        private long mLargest;
-
-        public DataUsageAdapter(final UserManager userManager, UidDetailProvider provider, int insetSide) {
-            mProvider = checkNotNull(provider);
-            mInsetSide = insetSide;
-            mUm = userManager;
-        }
-
-        /**
-         * Bind the given {@link NetworkStats}, or {@code null} to clear list.
-         */
-        public void bindStats(NetworkStats stats, int[] restrictedUids) {
-            mItems.clear();
-            mLargest = 0;
-
-            final int currentUserId = ActivityManager.getCurrentUser();
-            final List<UserHandle> profiles = mUm.getUserProfiles();
-            final SparseArray<AppItem> knownItems = new SparseArray<AppItem>();
-
-            NetworkStats.Entry entry = null;
-            final int size = stats != null ? stats.size() : 0;
-            for (int i = 0; i < size; i++) {
-                entry = stats.getValues(i, entry);
-
-                // Decide how to collapse items together
-                final int uid = entry.uid;
-
-                final int collapseKey;
-                final int category;
-                final int userId = UserHandle.getUserId(uid);
-                if (UserHandle.isApp(uid)) {
-                    if (profiles.contains(new UserHandle(userId))) {
-                        if (userId != currentUserId) {
-                            // Add to a managed user item.
-                            final int managedKey = UidDetailProvider.buildKeyForUser(userId);
-                            accumulate(managedKey, knownItems, entry,
-                                    AppItem.CATEGORY_USER);
-                        }
-                        // Add to app item.
-                        collapseKey = uid;
-                        category = AppItem.CATEGORY_APP;
-                    } else {
-                        // If it is a removed user add it to the removed users' key
-                        final UserInfo info = mUm.getUserInfo(userId);
-                        if (info == null) {
-                            collapseKey = UID_REMOVED;
-                            category = AppItem.CATEGORY_APP;
-                        } else {
-                            // Add to other user item.
-                            collapseKey = UidDetailProvider.buildKeyForUser(userId);
-                            category = AppItem.CATEGORY_USER;
-                        }
-                    }
-                } else if (uid == UID_REMOVED || uid == UID_TETHERING) {
-                    collapseKey = uid;
-                    category = AppItem.CATEGORY_APP;
-                } else {
-                    collapseKey = android.os.Process.SYSTEM_UID;
-                    category = AppItem.CATEGORY_APP;
-                }
-                accumulate(collapseKey, knownItems, entry, category);
-            }
-
-            final int restrictedUidsMax = restrictedUids.length;
-            for (int i = 0; i < restrictedUidsMax; ++i) {
-                final int uid = restrictedUids[i];
-                // Only splice in restricted state for current user or managed users
-                if (!profiles.contains(new UserHandle(UserHandle.getUserId(uid)))) {
-                    continue;
-                }
-
-                AppItem item = knownItems.get(uid);
-                if (item == null) {
-                    item = new AppItem(uid);
-                    item.total = -1;
-                    mItems.add(item);
-                    knownItems.put(item.key, item);
-                }
-                item.restricted = true;
-            }
-
-            if (!mItems.isEmpty()) {
-                final AppItem title = new AppItem();
-                title.category = AppItem.CATEGORY_APP_TITLE;
-                mItems.add(title);
-            }
-
-            Collections.sort(mItems);
-            notifyDataSetChanged();
-        }
-
-        /**
-         * Accumulate data usage of a network stats entry for the item mapped by the collapse key.
-         * Creates the item if needed.
-         *
-         * @param collapseKey the collapse key used to map the item.
-         * @param knownItems collection of known (already existing) items.
-         * @param entry the network stats entry to extract data usage from.
-         * @param itemCategory the item is categorized on the list view by this category. Must be
-         *            either AppItem.APP_ITEM_CATEGORY or AppItem.MANAGED_USER_ITEM_CATEGORY
-         */
-        private void accumulate(int collapseKey, final SparseArray<AppItem> knownItems,
-                NetworkStats.Entry entry, int itemCategory) {
-            final int uid = entry.uid;
-            AppItem item = knownItems.get(collapseKey);
-            if (item == null) {
-                item = new AppItem(collapseKey);
-                item.category = itemCategory;
-                mItems.add(item);
-                knownItems.put(item.key, item);
-            }
-            item.addUid(uid);
-            item.total += entry.rxBytes + entry.txBytes;
-            if (mLargest < item.total) {
-                mLargest = item.total;
-            }
-        }
-
-        @Override
-        public int getCount() {
-            return mItems.size();
-        }
-
-        @Override
-        public Object getItem(int position) {
-            return mItems.get(position);
-        }
-
-        @Override
-        public long getItemId(int position) {
-            return mItems.get(position).key;
-        }
-
-        /**
-         * See {@link #getItemViewType} for the view types.
-         */
-        @Override
-        public int getViewTypeCount() {
-            return 2;
-        }
-
-        /**
-         * Returns 1 for separator items and 0 for anything else.
-         */
-        @Override
-        public int getItemViewType(int position) {
-            final AppItem item = mItems.get(position);
-            if (item.category == AppItem.CATEGORY_APP_TITLE) {
-                return 1;
-            } else {
-                return 0;
-            }
-        }
-
-        @Override
-        public boolean areAllItemsEnabled() {
-            return false;
-        }
-
-        @Override
-        public boolean isEnabled(int position) {
-            if (position > mItems.size()) {
-                throw new ArrayIndexOutOfBoundsException();
-            }
-            return getItemViewType(position) == 0;
-        }
-
-        @Override
-        public View getView(int position, View convertView, ViewGroup parent) {
-            final AppItem item = mItems.get(position);
-            LayoutInflater inflater = LayoutInflater.from(parent.getContext());
-            if (getItemViewType(position) == 1) {
-                if (convertView == null) {
-                    convertView = Utils.inflateCategoryHeader(inflater, parent);
-                }
-
-                final TextView title = (TextView) convertView.findViewById(android.R.id.title);
-                title.setText(R.string.data_usage_app);
-
-            } else {
-                if (convertView == null) {
-                    convertView = inflater.inflate(R.layout.data_usage_item, parent, false);
-                    inflater.inflate(R.layout.widget_progress_bar,
-                            (ViewGroup) convertView.findViewById(android.R.id.widget_frame));
-
-                    if (mInsetSide > 0) {
-                        convertView.setPaddingRelative(mInsetSide, 0, mInsetSide, 0);
-                    }
-                }
-
-                final Context context = parent.getContext();
-
-                final TextView summary = (TextView) convertView.findViewById(android.R.id.summary);
-                final ProgressBar progress = (ProgressBar) convertView.findViewById(
-                        android.R.id.progress);
-
-                // kick off async load of app details
-                UidDetailTask.bindView(mProvider, item, convertView);
-
-                if (item.restricted && item.total <= 0) {
-                    summary.setText(R.string.data_usage_app_restricted);
-                    progress.setVisibility(View.GONE);
-                } else {
-                    summary.setText(Formatter.formatFileSize(context, item.total));
-                    progress.setVisibility(View.VISIBLE);
-                }
-
-                final int percentTotal = mLargest != 0 ? (int) (item.total * 100 / mLargest) : 0;
-                progress.setProgress(percentTotal);
-            }
-
-            return convertView;
-        }
-    }
-
-    /**
-     * Empty {@link Fragment} that controls display of UID details in
-     * {@link DataUsageSummary}.
-     */
-    public static class AppDetailsFragment extends Fragment {
-        private static final String EXTRA_APP = "app";
-
-        public static void show(DataUsageSummary parent, AppItem app, CharSequence label) {
-            show(parent, app, label, true);
-        }
-
-        public static void show(DataUsageSummary parent, AppItem app, CharSequence label,
-                boolean addToBack) {
-            if (!parent.isAdded()) return;
-
-            final Bundle args = new Bundle();
-            args.putParcelable(EXTRA_APP, app);
-
-            final AppDetailsFragment fragment = new AppDetailsFragment();
-            fragment.setArguments(args);
-            fragment.setTargetFragment(parent, 0);
-            final FragmentTransaction ft = parent.getFragmentManager().beginTransaction();
-            ft.add(fragment, TAG_APP_DETAILS);
-            if (addToBack) {
-                ft.addToBackStack(TAG_APP_DETAILS);
-            }
-            ft.setBreadCrumbTitle(
-                    parent.getResources().getString(R.string.data_usage_app_summary_title));
-            ft.commitAllowingStateLoss();
-        }
-
-        @Override
-        public void onStart() {
-            super.onStart();
-            final DataUsageSummary target = (DataUsageSummary) getTargetFragment();
-            target.mCurrentApp = getArguments().getParcelable(EXTRA_APP);
-            target.updateBody();
-        }
-
-        @Override
-        public void onStop() {
-            super.onStop();
-            final DataUsageSummary target = (DataUsageSummary) getTargetFragment();
-            target.mCurrentApp = null;
-            target.updateBody();
-        }
-
-        @Override
-        public boolean onOptionsItemSelected(MenuItem item) {
-            switch (item.getItemId()) {
-            case android.R.id.home:
-                getFragmentManager().popBackStack();
-                return true;
-            }
-            return super.onOptionsItemSelected(item);
-        }
-    }
-
-    /**
-     * Dialog to request user confirmation before setting
-     * {@link NetworkPolicy#limitBytes}.
-     */
-    public static class ConfirmLimitFragment extends DialogFragment {
-        private static final String EXTRA_MESSAGE = "message";
-        private static final String EXTRA_LIMIT_BYTES = "limitBytes";
-
-        public static void show(DataUsageSummary parent) {
-            if (!parent.isAdded()) return;
-
-            final NetworkPolicy policy = parent.mPolicyEditor.getPolicy(parent.mTemplate);
-            if (policy == null) return;
-
-            final Resources res = parent.getResources();
-            final CharSequence message;
-            final long minLimitBytes = (long) (policy.warningBytes * 1.2f);
-            final long limitBytes;
-
-            // TODO: customize default limits based on network template
-            final String currentTab = parent.mCurrentTab;
-            if (TAB_3G.equals(currentTab)) {
-                message = res.getString(R.string.data_usage_limit_dialog_mobile);
-                limitBytes = Math.max(5 * GB_IN_BYTES, minLimitBytes);
-            } else if (TAB_4G.equals(currentTab)) {
-                message = res.getString(R.string.data_usage_limit_dialog_mobile);
-                limitBytes = Math.max(5 * GB_IN_BYTES, minLimitBytes);
-            } else if (isMobileTab(currentTab)) {
-                message = res.getString(R.string.data_usage_limit_dialog_mobile);
-                limitBytes = Math.max(5 * GB_IN_BYTES, minLimitBytes);
-            } else {
-                throw new IllegalArgumentException("unknown current tab: " + currentTab);
-            }
-
-            final Bundle args = new Bundle();
-            args.putCharSequence(EXTRA_MESSAGE, message);
-            args.putLong(EXTRA_LIMIT_BYTES, limitBytes);
-
-            final ConfirmLimitFragment dialog = new ConfirmLimitFragment();
-            dialog.setArguments(args);
-            dialog.setTargetFragment(parent, 0);
-            dialog.show(parent.getFragmentManager(), TAG_CONFIRM_LIMIT);
-        }
-
-        @Override
-        public Dialog onCreateDialog(Bundle savedInstanceState) {
-            final Context context = getActivity();
-
-            final CharSequence message = getArguments().getCharSequence(EXTRA_MESSAGE);
-            final long limitBytes = getArguments().getLong(EXTRA_LIMIT_BYTES);
-
-            final AlertDialog.Builder builder = new AlertDialog.Builder(context);
-            builder.setTitle(R.string.data_usage_limit_dialog_title);
-            builder.setMessage(message);
-
-            builder.setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() {
-                @Override
-                public void onClick(DialogInterface dialog, int which) {
-                    final DataUsageSummary target = (DataUsageSummary) getTargetFragment();
-                    if (target != null) {
-                        target.setPolicyLimitBytes(limitBytes);
-                    }
-                }
-            });
-
-            return builder.create();
-        }
-    }
-
-    /**
-     * Dialog to edit {@link NetworkPolicy#cycleDay}.
-     */
-    public static class CycleEditorFragment extends DialogFragment {
-        private static final String EXTRA_TEMPLATE = "template";
-
-        public static void show(DataUsageSummary parent) {
-            if (!parent.isAdded()) return;
-
-            final Bundle args = new Bundle();
-            args.putParcelable(EXTRA_TEMPLATE, parent.mTemplate);
-
-            final CycleEditorFragment dialog = new CycleEditorFragment();
-            dialog.setArguments(args);
-            dialog.setTargetFragment(parent, 0);
-            dialog.show(parent.getFragmentManager(), TAG_CYCLE_EDITOR);
-        }
-
-        @Override
-        public Dialog onCreateDialog(Bundle savedInstanceState) {
-            final Context context = getActivity();
-            final DataUsageSummary target = (DataUsageSummary) getTargetFragment();
-            final NetworkPolicyEditor editor = target.mPolicyEditor;
-
-            final AlertDialog.Builder builder = new AlertDialog.Builder(context);
-            final LayoutInflater dialogInflater = LayoutInflater.from(builder.getContext());
-
-            final View view = dialogInflater.inflate(R.layout.data_usage_cycle_editor, null, false);
-            final NumberPicker cycleDayPicker = (NumberPicker) view.findViewById(R.id.cycle_day);
-
-            final NetworkTemplate template = getArguments().getParcelable(EXTRA_TEMPLATE);
-            final int cycleDay = editor.getPolicyCycleDay(template);
-
-            cycleDayPicker.setMinValue(1);
-            cycleDayPicker.setMaxValue(31);
-            cycleDayPicker.setValue(cycleDay);
-            cycleDayPicker.setWrapSelectorWheel(true);
-
-            builder.setTitle(R.string.data_usage_cycle_editor_title);
-            builder.setView(view);
-
-            builder.setPositiveButton(R.string.data_usage_cycle_editor_positive,
-                    new DialogInterface.OnClickListener() {
-                        @Override
-                        public void onClick(DialogInterface dialog, int which) {
-                            // clear focus to finish pending text edits
-                            cycleDayPicker.clearFocus();
-
-                            final int cycleDay = cycleDayPicker.getValue();
-                            final String cycleTimezone = new Time().timezone;
-                            editor.setPolicyCycleDay(template, cycleDay, cycleTimezone);
-                            target.updatePolicy(true);
-                        }
-                    });
-
-            return builder.create();
-        }
-    }
-
-    /**
-     * Dialog to edit {@link NetworkPolicy#warningBytes}.
-     */
-    public static class WarningEditorFragment extends DialogFragment {
-        private static final String EXTRA_TEMPLATE = "template";
-
-        public static void show(DataUsageSummary parent) {
-            if (!parent.isAdded()) return;
-
-            final Bundle args = new Bundle();
-            args.putParcelable(EXTRA_TEMPLATE, parent.mTemplate);
-
-            final WarningEditorFragment dialog = new WarningEditorFragment();
-            dialog.setArguments(args);
-            dialog.setTargetFragment(parent, 0);
-            dialog.show(parent.getFragmentManager(), TAG_WARNING_EDITOR);
-        }
-
-        @Override
-        public Dialog onCreateDialog(Bundle savedInstanceState) {
-            final Context context = getActivity();
-            final DataUsageSummary target = (DataUsageSummary) getTargetFragment();
-            final NetworkPolicyEditor editor = target.mPolicyEditor;
-
-            final AlertDialog.Builder builder = new AlertDialog.Builder(context);
-            final LayoutInflater dialogInflater = LayoutInflater.from(builder.getContext());
-
-            final View view = dialogInflater.inflate(R.layout.data_usage_bytes_editor, null, false);
-            final NumberPicker bytesPicker = (NumberPicker) view.findViewById(R.id.bytes);
-
-            final NetworkTemplate template = getArguments().getParcelable(EXTRA_TEMPLATE);
-            final long warningBytes = editor.getPolicyWarningBytes(template);
-            final long limitBytes = editor.getPolicyLimitBytes(template);
-
-            bytesPicker.setMinValue(0);
-            if (limitBytes != LIMIT_DISABLED) {
-                bytesPicker.setMaxValue((int) (limitBytes / MB_IN_BYTES) - 1);
-            } else {
-                bytesPicker.setMaxValue(Integer.MAX_VALUE);
-            }
-            bytesPicker.setValue((int) (warningBytes / MB_IN_BYTES));
-            bytesPicker.setWrapSelectorWheel(false);
-
-            builder.setTitle(R.string.data_usage_warning_editor_title);
-            builder.setView(view);
-
-            builder.setPositiveButton(R.string.data_usage_cycle_editor_positive,
-                    new DialogInterface.OnClickListener() {
-                        @Override
-                        public void onClick(DialogInterface dialog, int which) {
-                            // clear focus to finish pending text edits
-                            bytesPicker.clearFocus();
-
-                            final long bytes = bytesPicker.getValue() * MB_IN_BYTES;
-                            editor.setPolicyWarningBytes(template, bytes);
-                            target.updatePolicy(false);
-                        }
-                    });
-
-            return builder.create();
-        }
-    }
-
-    /**
-     * Dialog to edit {@link NetworkPolicy#limitBytes}.
-     */
-    public static class LimitEditorFragment extends DialogFragment {
-        private static final String EXTRA_TEMPLATE = "template";
-
-        public static void show(DataUsageSummary parent) {
-            if (!parent.isAdded()) return;
-
-            final Bundle args = new Bundle();
-            args.putParcelable(EXTRA_TEMPLATE, parent.mTemplate);
-
-            final LimitEditorFragment dialog = new LimitEditorFragment();
-            dialog.setArguments(args);
-            dialog.setTargetFragment(parent, 0);
-            dialog.show(parent.getFragmentManager(), TAG_LIMIT_EDITOR);
-        }
-
-        @Override
-        public Dialog onCreateDialog(Bundle savedInstanceState) {
-            final Context context = getActivity();
-            final DataUsageSummary target = (DataUsageSummary) getTargetFragment();
-            final NetworkPolicyEditor editor = target.mPolicyEditor;
-
-            final AlertDialog.Builder builder = new AlertDialog.Builder(context);
-            final LayoutInflater dialogInflater = LayoutInflater.from(builder.getContext());
-
-            final View view = dialogInflater.inflate(R.layout.data_usage_bytes_editor, null, false);
-            final NumberPicker bytesPicker = (NumberPicker) view.findViewById(R.id.bytes);
-
-            final NetworkTemplate template = getArguments().getParcelable(EXTRA_TEMPLATE);
-            final long warningBytes = editor.getPolicyWarningBytes(template);
-            final long limitBytes = editor.getPolicyLimitBytes(template);
-
-            bytesPicker.setMaxValue(Integer.MAX_VALUE);
-            if (warningBytes != WARNING_DISABLED && limitBytes > 0) {
-                bytesPicker.setMinValue((int) (warningBytes / MB_IN_BYTES) + 1);
-            } else {
-                bytesPicker.setMinValue(0);
-            }
-            bytesPicker.setValue((int) (limitBytes / MB_IN_BYTES));
-            bytesPicker.setWrapSelectorWheel(false);
-
-            builder.setTitle(R.string.data_usage_limit_editor_title);
-            builder.setView(view);
-
-            builder.setPositiveButton(R.string.data_usage_cycle_editor_positive,
-                    new DialogInterface.OnClickListener() {
-                        @Override
-                        public void onClick(DialogInterface dialog, int which) {
-                            // clear focus to finish pending text edits
-                            bytesPicker.clearFocus();
-
-                            final long bytes = bytesPicker.getValue() * MB_IN_BYTES;
-                            editor.setPolicyLimitBytes(template, bytes);
-                            target.updatePolicy(false);
-                        }
-                    });
-
-            return builder.create();
-        }
-    }
-    /**
-     * Dialog to request user confirmation before disabling data.
-     */
-    public static class ConfirmDataDisableFragment extends DialogFragment {
-        static int mSubId;
-        public static void show(DataUsageSummary parent, int subId) {
-            mSubId = subId;
-            if (!parent.isAdded()) return;
-
-            final ConfirmDataDisableFragment dialog = new ConfirmDataDisableFragment();
-            dialog.setTargetFragment(parent, 0);
-            dialog.show(parent.getFragmentManager(), TAG_CONFIRM_DATA_DISABLE);
-        }
-
-        @Override
-        public Dialog onCreateDialog(Bundle savedInstanceState) {
-            final Context context = getActivity();
-
-            final AlertDialog.Builder builder = new AlertDialog.Builder(context);
-            builder.setMessage(R.string.data_usage_disable_mobile);
-
-            builder.setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() {
-                @Override
-                public void onClick(DialogInterface dialog, int which) {
-                    final DataUsageSummary target = (DataUsageSummary) getTargetFragment();
-                    if (target != null) {
-                        // TODO: extend to modify policy enabled flag.
-                        target.setMobileDataEnabled(mSubId, false);
-                    }
-                }
-            });
-            builder.setNegativeButton(android.R.string.cancel, null);
-
-            return builder.create();
-        }
-    }
-
-    /**
-     * Dialog to request user confirmation before setting
-     * {@link INetworkPolicyManager#setRestrictBackground(boolean)}.
-     */
-    public static class ConfirmRestrictFragment extends DialogFragment {
-        public static void show(DataUsageSummary parent) {
-            if (!parent.isAdded()) return;
-
-            final ConfirmRestrictFragment dialog = new ConfirmRestrictFragment();
-            dialog.setTargetFragment(parent, 0);
-            dialog.show(parent.getFragmentManager(), TAG_CONFIRM_RESTRICT);
-        }
-
-        @Override
-        public Dialog onCreateDialog(Bundle savedInstanceState) {
-            final Context context = getActivity();
-
-            final AlertDialog.Builder builder = new AlertDialog.Builder(context);
-            builder.setTitle(R.string.data_usage_restrict_background_title);
-            if (Utils.hasMultipleUsers(context)) {
-                builder.setMessage(R.string.data_usage_restrict_background_multiuser);
-            } else {
-                builder.setMessage(R.string.data_usage_restrict_background);
-            }
-
-            builder.setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() {
-                @Override
-                public void onClick(DialogInterface dialog, int which) {
-                    final DataUsageSummary target = (DataUsageSummary) getTargetFragment();
-                    if (target != null) {
-                        target.setRestrictBackground(true);
-                    }
-                }
-            });
-            builder.setNegativeButton(android.R.string.cancel, null);
-
-            return builder.create();
-        }
-    }
-
-    /**
-     * Dialog to inform user that {@link #POLICY_REJECT_METERED_BACKGROUND}
-     * change has been denied, usually based on
-     * {@link DataUsageSummary#hasLimitedNetworks()}.
-     */
-    public static class DeniedRestrictFragment extends DialogFragment {
-        public static void show(DataUsageSummary parent) {
-            if (!parent.isAdded()) return;
-
-            final DeniedRestrictFragment dialog = new DeniedRestrictFragment();
-            dialog.setTargetFragment(parent, 0);
-            dialog.show(parent.getFragmentManager(), TAG_DENIED_RESTRICT);
-        }
-
-        @Override
-        public Dialog onCreateDialog(Bundle savedInstanceState) {
-            final Context context = getActivity();
-
-            final AlertDialog.Builder builder = new AlertDialog.Builder(context);
-            builder.setTitle(R.string.data_usage_app_restrict_background);
-            builder.setMessage(R.string.data_usage_restrict_denied_dialog);
-            builder.setPositiveButton(android.R.string.ok, null);
-
-            return builder.create();
-        }
-    }
-
-    /**
-     * Dialog to request user confirmation before setting
-     * {@link #POLICY_REJECT_METERED_BACKGROUND}.
-     */
-    public static class ConfirmAppRestrictFragment extends DialogFragment {
-        public static void show(DataUsageSummary parent) {
-            if (!parent.isAdded()) return;
-
-            final ConfirmAppRestrictFragment dialog = new ConfirmAppRestrictFragment();
-            dialog.setTargetFragment(parent, 0);
-            dialog.show(parent.getFragmentManager(), TAG_CONFIRM_APP_RESTRICT);
-        }
-
-        @Override
-        public Dialog onCreateDialog(Bundle savedInstanceState) {
-            final Context context = getActivity();
-
-            final AlertDialog.Builder builder = new AlertDialog.Builder(context);
-            builder.setTitle(R.string.data_usage_app_restrict_dialog_title);
-            builder.setMessage(R.string.data_usage_app_restrict_dialog);
-
-            builder.setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() {
-                @Override
-                public void onClick(DialogInterface dialog, int which) {
-                    final DataUsageSummary target = (DataUsageSummary) getTargetFragment();
-                    if (target != null) {
-                        target.setAppRestrictBackground(true);
-                    }
-                }
-            });
-            builder.setNegativeButton(android.R.string.cancel, null);
-
-            return builder.create();
-        }
-    }
-
-    /**
-     * Compute default tab that should be selected, based on
-     * {@link NetworkPolicyManager#EXTRA_NETWORK_TEMPLATE} extra.
-     */
-    private static String computeTabFromIntent(Intent intent) {
-        final NetworkTemplate template = intent.getParcelableExtra(EXTRA_NETWORK_TEMPLATE);
-        if (template == null) {
-            final int subId = intent.getIntExtra(PhoneConstants.SUBSCRIPTION_KEY,
-                    SubscriptionManager.INVALID_SUBSCRIPTION_ID);
-            if (SubscriptionManager.isValidSubscriptionId(subId)) {
-                return TAB_MOBILE + String.valueOf(subId);
-            }
-            return null;
-        }
-
-        switch (template.getMatchRule()) {
-            case MATCH_MOBILE_3G_LOWER:
-                return TAB_3G;
-            case MATCH_MOBILE_4G:
-                return TAB_4G;
-            case MATCH_MOBILE_ALL:
-                return TAB_MOBILE;
-            case MATCH_WIFI:
-                return TAB_WIFI;
-            default:
-                return null;
-        }
-    }
-
-    /**
-     * Background task that loads {@link UidDetail}, binding to
-     * {@link DataUsageAdapter} row item when finished.
-     */
-    private static class UidDetailTask extends AsyncTask<Void, Void, UidDetail> {
-        private final UidDetailProvider mProvider;
-        private final AppItem mItem;
-        private final View mTarget;
-
-        private UidDetailTask(UidDetailProvider provider, AppItem item, View target) {
-            mProvider = checkNotNull(provider);
-            mItem = checkNotNull(item);
-            mTarget = checkNotNull(target);
-        }
-
-        public static void bindView(
-                UidDetailProvider provider, AppItem item, View target) {
-            final UidDetailTask existing = (UidDetailTask) target.getTag();
-            if (existing != null) {
-                existing.cancel(false);
-            }
-
-            final UidDetail cachedDetail = provider.getUidDetail(item.key, false);
-            if (cachedDetail != null) {
-                bindView(cachedDetail, target);
-            } else {
-                target.setTag(new UidDetailTask(provider, item, target).executeOnExecutor(
-                        AsyncTask.THREAD_POOL_EXECUTOR));
-            }
-        }
-
-        private static void bindView(UidDetail detail, View target) {
-            final ImageView icon = (ImageView) target.findViewById(android.R.id.icon);
-            final TextView title = (TextView) target.findViewById(android.R.id.title);
-
-            if (detail != null) {
-                icon.setImageDrawable(detail.icon);
-                title.setText(detail.label);
-                title.setContentDescription(detail.contentDescription);
-            } else {
-                icon.setImageDrawable(null);
-                title.setText(null);
-            }
-        }
-
-        @Override
-        protected void onPreExecute() {
-            bindView(null, mTarget);
-        }
-
-        @Override
-        protected UidDetail doInBackground(Void... params) {
-            return mProvider.getUidDetail(mItem.key, true);
-        }
-
-        @Override
-        protected void onPostExecute(UidDetail result) {
-            bindView(result, mTarget);
-        }
-    }
-
-    /**
-     * Test if device has a mobile data radio with SIM in ready state.
-     */
-    public static boolean hasReadyMobileRadio(Context context) {
-        if (TEST_RADIOS) {
-            return SystemProperties.get(TEST_RADIOS_PROP).contains("mobile");
-        }
-
-        final ConnectivityManager conn = ConnectivityManager.from(context);
-        final TelephonyManager tele = TelephonyManager.from(context);
-
-        final List<SubscriptionInfo> subInfoList =
-                SubscriptionManager.from(context).getActiveSubscriptionInfoList();
-        // No activated Subscriptions
-        if (subInfoList == null) {
-            if (LOGD) Log.d(TAG, "hasReadyMobileRadio: subInfoList=null");
-            return false;
-        }
-        // require both supported network and ready SIM
-        boolean isReady = true;
-        for (SubscriptionInfo subInfo : subInfoList) {
-            isReady = isReady & tele.getSimState(subInfo.getSimSlotIndex()) == SIM_STATE_READY;
-            if (LOGD) Log.d(TAG, "hasReadyMobileRadio: subInfo=" + subInfo);
-        }
-        boolean retVal = conn.isNetworkSupported(TYPE_MOBILE) && isReady;
-        if (LOGD) {
-            Log.d(TAG, "hasReadyMobileRadio:"
-                    + " conn.isNetworkSupported(TYPE_MOBILE)="
-                                            + conn.isNetworkSupported(TYPE_MOBILE)
-                    + " isReady=" + isReady);
-        }
-        return retVal;
-    }
-
-    /*
-     * TODO: consider adding to TelephonyManager or SubscritpionManager.
-     */
-    public static boolean hasReadyMobileRadio(Context context, int subId) {
-        if (TEST_RADIOS) {
-            return SystemProperties.get(TEST_RADIOS_PROP).contains("mobile");
-        }
-
-        final ConnectivityManager conn = ConnectivityManager.from(context);
-        final TelephonyManager tele = TelephonyManager.from(context);
-        final int slotId = SubscriptionManager.getSlotId(subId);
-        final boolean isReady = tele.getSimState(slotId) == SIM_STATE_READY;
-
-        boolean retVal =  conn.isNetworkSupported(TYPE_MOBILE) && isReady;
-        if (LOGD) Log.d(TAG, "hasReadyMobileRadio: subId=" + subId
-                + " conn.isNetworkSupported(TYPE_MOBILE)=" + conn.isNetworkSupported(TYPE_MOBILE)
-                + " isReady=" + isReady);
-        return retVal;
-    }
-
-    /**
-     * Test if device has a mobile 4G data radio.
-     */
-    public static boolean hasReadyMobile4gRadio(Context context) {
-        if (!NetworkPolicyEditor.ENABLE_SPLIT_POLICIES) {
-            return false;
-        }
-        if (TEST_RADIOS) {
-            return SystemProperties.get(TEST_RADIOS_PROP).contains("4g");
-        }
-
-        final ConnectivityManager conn = ConnectivityManager.from(context);
-        final TelephonyManager tele = TelephonyManager.from(context);
-
-        final boolean hasWimax = conn.isNetworkSupported(TYPE_WIMAX);
-        final boolean hasLte = (tele.getLteOnCdmaMode() == PhoneConstants.LTE_ON_CDMA_TRUE)
-                && hasReadyMobileRadio(context);
-        return hasWimax || hasLte;
-    }
-
-    /**
-     * Test if device has a Wi-Fi data radio.
-     */
-    public static boolean hasWifiRadio(Context context) {
-        if (TEST_RADIOS) {
-            return SystemProperties.get(TEST_RADIOS_PROP).contains("wifi");
-        }
-
-        final ConnectivityManager conn = ConnectivityManager.from(context);
-        return conn.isNetworkSupported(TYPE_WIFI);
-    }
-
-    /**
-     * Test if device has an ethernet network connection.
-     */
-    public boolean hasEthernet(Context context) {
-        if (TEST_RADIOS) {
-            return SystemProperties.get(TEST_RADIOS_PROP).contains("ethernet");
-        }
-
-        final ConnectivityManager conn = ConnectivityManager.from(context);
-        final boolean hasEthernet = conn.isNetworkSupported(TYPE_ETHERNET);
-
-        final long ethernetBytes;
-        if (mStatsSession != null) {
-            try {
-                ethernetBytes = mStatsSession.getSummaryForNetwork(
-                        NetworkTemplate.buildTemplateEthernet(), Long.MIN_VALUE, Long.MAX_VALUE)
-                        .getTotalBytes();
-            } catch (RemoteException e) {
-                throw new RuntimeException(e);
-            }
-        } else {
-            ethernetBytes = 0;
-        }
-
-        // only show ethernet when both hardware present and traffic has occurred
-        return hasEthernet && ethernetBytes > 0;
-    }
-
-    /**
-     * Inflate a {@link Preference} style layout, adding the given {@link View}
-     * widget into {@link android.R.id#widget_frame}.
-     */
-    private static View inflatePreference(LayoutInflater inflater, ViewGroup root, View widget) {
-        final View view = inflater.inflate(R.layout.preference, root, false);
-        final LinearLayout widgetFrame = (LinearLayout) view.findViewById(
-                android.R.id.widget_frame);
-        widgetFrame.addView(widget, new LinearLayout.LayoutParams(WRAP_CONTENT, WRAP_CONTENT));
-        return view;
-    }
-
-    /**
-     * Test if any networks are currently limited.
-     */
-    private boolean hasLimitedNetworks() {
-        return !buildLimitedNetworksList().isEmpty();
-    }
-
-    /**
-     * Build string describing currently limited networks, which defines when
-     * background data is restricted.
-     */
-    @Deprecated
-    private CharSequence buildLimitedNetworksString() {
-        final List<CharSequence> limited = buildLimitedNetworksList();
-
-        // handle case where no networks limited
-        if (limited.isEmpty()) {
-            limited.add(getText(R.string.data_usage_list_none));
-        }
-
-        final ICUResourceBundle icuBundle = (ICUResourceBundle) UResourceBundle.
-                getBundleInstance(ICUResourceBundle.ICU_BASE_NAME);
-        final String listMiddlePattern =
-                icuBundle.getStringWithFallback("listPattern/standard/middle");
-        // The returned pattern is something like "{0}, {1}", from which we want
-        // to extract the ", " part.
-        final int firstClosingBrace = listMiddlePattern.indexOf('}');
-        final int lastOpeningBrace = listMiddlePattern.lastIndexOf('{');
-        final CharSequence delimiter = listMiddlePattern.substring(
-                firstClosingBrace+1, lastOpeningBrace);
-
-        return TextUtils.join(delimiter, limited);
-    }
-
-    /**
-     * Build list of currently limited networks, which defines when background
-     * data is restricted.
-     */
-    @Deprecated
-    private List<CharSequence> buildLimitedNetworksList() {
-        final Context context = getActivity();
-
-        // build combined list of all limited networks
-        final ArrayList<CharSequence> limited = Lists.newArrayList();
-
-        final TelephonyManager tele = TelephonyManager.from(context);
-        if (tele.getSimState() == SIM_STATE_READY) {
-            final String subscriberId = getActiveSubscriberId(context);
-            if (mPolicyEditor.hasLimitedPolicy(buildTemplateMobileAll(subscriberId))) {
-                limited.add(getText(R.string.data_usage_list_mobile));
-            }
-            if (mPolicyEditor.hasLimitedPolicy(buildTemplateMobile3gLower(subscriberId))) {
-                limited.add(getText(R.string.data_usage_tab_3g));
-            }
-            if (mPolicyEditor.hasLimitedPolicy(buildTemplateMobile4g(subscriberId))) {
-                limited.add(getText(R.string.data_usage_tab_4g));
-            }
-        }
-
-        if (mPolicyEditor.hasLimitedPolicy(buildTemplateWifiWildcard())) {
-            limited.add(getText(R.string.data_usage_tab_wifi));
-        }
-        if (mPolicyEditor.hasLimitedPolicy(buildTemplateEthernet())) {
-            limited.add(getText(R.string.data_usage_tab_ethernet));
-        }
-
-        return limited;
-    }
-
-    /**
-     * Inset both selector and divider {@link Drawable} on the given
-     * {@link ListView} by the requested dimensions.
-     */
-    private static void insetListViewDrawables(ListView view, int insetSide) {
-        final Drawable selector = view.getSelector();
-        final Drawable divider = view.getDivider();
-
-        // fully unregister these drawables so callbacks can be maintained after
-        // wrapping below.
-        final Drawable stub = new ColorDrawable(Color.TRANSPARENT);
-        view.setSelector(stub);
-        view.setDivider(stub);
-
-        view.setSelector(new InsetBoundsDrawable(selector, insetSide));
-        view.setDivider(new InsetBoundsDrawable(divider, insetSide));
-    }
-
-    /**
-     * Set {@link android.R.id#title} for a preference view inflated with
-     * {@link #inflatePreference(LayoutInflater, ViewGroup, View)}.
-     */
-    private static void setPreferenceTitle(View parent, int resId) {
-        final TextView title = (TextView) parent.findViewById(android.R.id.title);
-        title.setText(resId);
-    }
-
-    /**
-     * Set {@link android.R.id#summary} for a preference view inflated with
-     * {@link #inflatePreference(LayoutInflater, ViewGroup, View)}.
-     */
-    private static void setPreferenceSummary(View parent, CharSequence string) {
-        final TextView summary = (TextView) parent.findViewById(android.R.id.summary);
-        summary.setVisibility(View.VISIBLE);
-        summary.setText(string);
-    }
-
-    private void addMobileTab(Context context, SubscriptionInfo subInfo, boolean isMultiSim) {
-        if (subInfo != null && mMobileTagMap != null) {
-            if (hasReadyMobileRadio(context, subInfo.getSubscriptionId())) {
-                if (isMultiSim) {
-                    mTabHost.addTab(buildTabSpec(mMobileTagMap.get(subInfo.getSubscriptionId()),
-                            subInfo.getDisplayName()));
-                } else {
-                    mTabHost.addTab(buildTabSpec(mMobileTagMap.get(subInfo.getSubscriptionId()),
-                            R.string.data_usage_tab_mobile));
-                }
-            }
-        } else {
-            if (LOGD) Log.d(TAG, "addMobileTab: subInfoList is null");
-        }
-    }
-
-    private SubscriptionInfo getCurrentTabSubInfo(Context context) {
-        if (mSubInfoList != null && mTabHost != null) {
-            final int currentTagIndex = mTabHost.getCurrentTab();
-            int i = 0;
-            for (SubscriptionInfo subInfo : mSubInfoList) {
-                if (hasReadyMobileRadio(context, subInfo.getSubscriptionId())) {
-                    if (i++ == currentTagIndex) {
-                        return subInfo;
-                    }
-                }
-            }
-        }
-        return null;
-    }
-
-    /**
-     * Init a map with subId key and mobile tag name
-     * @param subInfoList The subscription Info List
-     * @return The map or null if no activated subscription
-     */
-    private Map<Integer, String> initMobileTabTag(List<SubscriptionInfo> subInfoList) {
-        Map<Integer, String> map = null;
-        if (subInfoList != null) {
-            String mobileTag;
-            map = new HashMap<Integer, String>();
-            for (SubscriptionInfo subInfo : subInfoList) {
-                mobileTag = TAB_MOBILE + String.valueOf(subInfo.getSubscriptionId());
-                map.put(subInfo.getSubscriptionId(), mobileTag);
-            }
-        }
-        return map;
-    }
-
-    private static boolean isMobileTab(String currentTab) {
-        return currentTab != null ? currentTab.contains(TAB_MOBILE) : false;
-    }
-
-    private int getSubId(String currentTab) {
-        if (mMobileTagMap != null) {
-            Set<Integer> set = mMobileTagMap.keySet();
-            for (Integer subId : set) {
-                if (mMobileTagMap.get(subId).equals(currentTab)) {
-                    return subId;
-                }
-            }
-        }
-        Log.e(TAG, "currentTab = " + currentTab + " non mobile tab called this function");
-        return -1;
-    }
-
-    private boolean isMobileDataAvailable(int subId) {
-        return mSubscriptionManager.getActiveSubscriptionInfo(subId) != null;
-    }
-
-    private static class SummaryProvider
-            implements SummaryLoader.SummaryProvider {
-
-        private final Activity mActivity;
-        private final SummaryLoader mSummaryLoader;
-        private final MobileDataController mDataController;
-
-        public SummaryProvider(Activity activity, SummaryLoader summaryLoader) {
-            mActivity = activity;
-            mSummaryLoader = summaryLoader;
-            mDataController = new MobileDataController(activity);
-        }
-
-        @Override
-        public void setListening(boolean listening) {
-            if (listening) {
-                MobileDataController.DataUsageInfo info = mDataController.getDataUsageInfo();
-                String used;
-                if (info == null) {
-                    used = Formatter.formatFileSize(mActivity, 0);
-                } else if (info.limitLevel <= 0) {
-                    used = Formatter.formatFileSize(mActivity, info.usageLevel);
-                } else {
-                    used = Utils.formatPercentage(info.usageLevel, info.limitLevel);
-                }
-                mSummaryLoader.setSummary(this,
-                        mActivity.getString(R.string.data_usage_summary_format, used));
-            }
-        }
-    }
-
-    public static final SummaryLoader.SummaryProviderFactory SUMMARY_PROVIDER_FACTORY
-            = new SummaryLoader.SummaryProviderFactory() {
-        @Override
-        public SummaryLoader.SummaryProvider createSummaryProvider(Activity activity,
-                                                                   SummaryLoader summaryLoader) {
-            return new SummaryProvider(activity, summaryLoader);
-        }
-    };
-
-    /**
-     * For search
-     */
-    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.data_usage_summary_title);
-                data.screenTitle = res.getString(R.string.data_usage_summary_title);
-                result.add(data);
-
-                // Mobile data
-                data = new SearchIndexableRaw(context);
-                data.key = DATA_USAGE_ENABLE_MOBILE_KEY;
-                data.title = res.getString(R.string.data_usage_enable_mobile);
-                data.screenTitle = res.getString(R.string.data_usage_summary_title);
-                result.add(data);
-
-                // Set mobile data limit
-                data = new SearchIndexableRaw(context);
-                data.key = DATA_USAGE_DISABLE_MOBILE_LIMIT_KEY;
-                data.title = res.getString(R.string.data_usage_disable_mobile_limit);
-                data.screenTitle = res.getString(R.string.data_usage_summary_title);
-                result.add(data);
-
-                // Data usage cycle
-                data = new SearchIndexableRaw(context);
-                data.key = DATA_USAGE_CYCLE_KEY;
-                data.title = res.getString(R.string.data_usage_cycle);
-                data.screenTitle = res.getString(R.string.data_usage_summary_title);
-                result.add(data);
-
-                return result;
-            }
-        };
-}
diff --git a/src/com/android/settings/DateTimeSettings.java b/src/com/android/settings/DateTimeSettings.java
index d92d610..6602c3e 100644
--- a/src/com/android/settings/DateTimeSettings.java
+++ b/src/com/android/settings/DateTimeSettings.java
@@ -39,11 +39,15 @@
 
 import com.android.internal.logging.MetricsLogger;
 import com.android.settings.dashboard.SummaryLoader;
+import com.android.settingslib.RestrictedLockUtils;
+import com.android.settingslib.RestrictedSwitchPreference;
 import com.android.settingslib.datetime.ZoneGetter;
 
 import java.util.Calendar;
 import java.util.Date;
 
+import static com.android.settingslib.RestrictedLockUtils.EnforcedAdmin;
+
 public class DateTimeSettings extends SettingsPreferenceFragment
         implements OnSharedPreferenceChangeListener,
                 TimePickerDialog.OnTimeSetListener, DatePickerDialog.OnDateSetListener {
@@ -64,7 +68,7 @@
     // have we been launched from the setup wizard?
     protected static final String EXTRA_IS_FIRST_RUN = "firstRun";
 
-    private SwitchPreference mAutoTimePref;
+    private RestrictedSwitchPreference mAutoTimePref;
     private Preference mTimePref;
     private Preference mTime24Pref;
     private SwitchPreference mAutoTimeZonePref;
@@ -89,23 +93,17 @@
         boolean autoTimeEnabled = getAutoState(Settings.Global.AUTO_TIME);
         boolean autoTimeZoneEnabled = getAutoState(Settings.Global.AUTO_TIME_ZONE);
 
-        mAutoTimePref = (SwitchPreference) findPreference(KEY_AUTO_TIME);
-
-        DevicePolicyManager dpm = (DevicePolicyManager) getSystemService(Context
-                .DEVICE_POLICY_SERVICE);
-        if (dpm.getAutoTimeRequired()) {
-            mAutoTimePref.setEnabled(false);
-
-            // If Settings.Global.AUTO_TIME is false it will be set to true
-            // by the device policy manager very soon.
-            // Note that this app listens to that change.
-        }
+        mAutoTimePref = (RestrictedSwitchPreference) findPreference(KEY_AUTO_TIME);
+        EnforcedAdmin admin = RestrictedLockUtils.checkIfAutoTimeRequired(getActivity());
+        mAutoTimePref.setDisabledByAdmin(admin);
 
         Intent intent = getActivity().getIntent();
         boolean isFirstRun = intent.getBooleanExtra(EXTRA_IS_FIRST_RUN, false);
 
         mDummyDate = Calendar.getInstance();
 
+        // If device admin requires auto time device policy manager will set
+        // Settings.Global.AUTO_TIME to true. Note that this app listens to that change.
         mAutoTimePref.setChecked(autoTimeEnabled);
         mAutoTimeZonePref = (SwitchPreference) findPreference(KEY_AUTO_TIME_ZONE);
         // Override auto-timezone if it's a wifi-only device or if we're still in setup wizard.
diff --git a/src/com/android/settings/DevelopmentSettings.java b/src/com/android/settings/DevelopmentSettings.java
index 34bf00e..a1d9750 100644
--- a/src/com/android/settings/DevelopmentSettings.java
+++ b/src/com/android/settings/DevelopmentSettings.java
@@ -124,6 +124,7 @@
     private static final String BUGREPORT_IN_POWER_KEY = "bugreport_in_power";
     private static final String OPENGL_TRACES_PROPERTY = "debug.egl.trace";
     private static final String TUNER_UI_KEY = "tuner_ui";
+    private static final String COLOR_TEMPERATURE_PROPERTY = "persist.sys.debug.color_temp";
 
     private static final String DEBUG_APP_KEY = "debug_app";
     private static final String WAIT_FOR_DEBUGGER_KEY = "wait_for_debugger";
@@ -177,6 +178,7 @@
     private static final String KEY_COLOR_MODE = "color_mode";
     private static final String FORCE_RESIZABLE_KEY = "force_resizable_activities";
     private static final String ENABLE_FREEFORM_SUPPORT_KEY = "enable_freeform_support";
+    private static final String COLOR_TEMPERATURE_KEY = "color_temperature";
 
     private static final String INACTIVE_APPS_KEY = "inactive_apps";
 
@@ -285,6 +287,8 @@
 
     private SwitchPreference mEnableFreeformSupport;
 
+    private SwitchPreference mColorTemperaturePreference;
+
     private final ArrayList<Preference> mAllPrefs = new ArrayList<Preference>();
 
     private final ArrayList<SwitchPreference> mResetSwitchPrefs
@@ -480,6 +484,15 @@
             mColorModePreference = null;
         }
         updateWebViewProviderOptions();
+
+        mColorTemperaturePreference = (SwitchPreference) findPreference(COLOR_TEMPERATURE_KEY);
+        if (getResources().getBoolean(R.bool.config_enableColorTemperature)) {
+            mAllPrefs.add(mColorTemperaturePreference);
+            mResetSwitchPrefs.add(mColorTemperaturePreference);
+        } else {
+            removePreference(COLOR_TEMPERATURE_KEY);
+            mColorTemperaturePreference = null;
+        }
     }
 
     private ListPreference addListPreference(String prefKey) {
@@ -690,6 +703,9 @@
         updateForceResizableOptions();
         updateEnableFreeformWindowsSupportOptions();
         updateWebViewProviderOptions();
+        if (mColorTemperaturePreference != null) {
+            updateColorTemperature();
+        }
     }
 
     private void resetDangerousOptions() {
@@ -1257,6 +1273,17 @@
         }
     }
 
+    private void updateColorTemperature() {
+        updateSwitchPreference(mColorTemperaturePreference,
+                SystemProperties.getBoolean(COLOR_TEMPERATURE_PROPERTY, false));
+    }
+
+    private void writeColorTemperature() {
+        SystemProperties.set(COLOR_TEMPERATURE_PROPERTY,
+                mColorTemperaturePreference.isChecked() ? "1" : "0");
+        pokeSystemProperties();
+    }
+
     private void updateUSBAudioOptions() {
         updateSwitchPreference(mUSBAudio, Settings.Secure.getInt(getContentResolver(),
                 Settings.Secure.USB_AUDIO_AUTOMATIC_ROUTING_DISABLED, 0) != 0);
@@ -1762,12 +1789,12 @@
         } else if (preference == mBtHciSnoopLog) {
             writeBtHciSnoopLogOptions();
         } else if (preference == mEnableOemUnlock) {
-            if (!showKeyguardConfirmation(getResources(), REQUEST_CODE_ENABLE_OEM_UNLOCK)) {
-                if (mEnableOemUnlock.isChecked()) {
+            if (mEnableOemUnlock.isChecked()) {
+                if (!showKeyguardConfirmation(getResources(), REQUEST_CODE_ENABLE_OEM_UNLOCK)) {
                     confirmEnableOemUnlock();
-                } else {
-                    Utils.setOemUnlockEnabled(getActivity(), false);
                 }
+            } else {
+                Utils.setOemUnlockEnabled(getActivity(), false);
             }
         } else if (preference == mMockLocationAppPref) {
             Intent intent = new Intent(getActivity(), AppPicker.class);
@@ -1830,6 +1857,8 @@
             writeLegacyDhcpClientOptions();
         } else if (preference == mMobileDataAlwaysOn) {
             writeMobileDataAlwaysOnOptions();
+        } else if (preference == mColorTemperaturePreference) {
+            writeColorTemperature();
         } else if (preference == mUSBAudio) {
             writeUSBAudioOptions();
         } else if (preference == mForceResizable) {
diff --git a/src/com/android/settings/HighlightingFragment.java b/src/com/android/settings/HighlightingFragment.java
deleted file mode 100644
index 2d305e7..0000000
--- a/src/com/android/settings/HighlightingFragment.java
+++ /dev/null
@@ -1,125 +0,0 @@
-/*
- * 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.
- */
-
-package com.android.settings;
-
-import android.graphics.drawable.Drawable;
-import android.os.Bundle;
-import android.text.TextUtils;
-import android.view.View;
-import android.view.ViewGroup;
-
-public abstract class HighlightingFragment extends InstrumentedFragment {
-
-    private static final String TAG = "HighlightSettingsFragment";
-
-    private static final int DELAY_HIGHLIGHT_DURATION_MILLIS = 400;
-    private static final String SAVE_HIGHLIGHTED_KEY = "android:view_highlighted";
-
-    private String mViewKey;
-    private boolean mViewHighlighted = false;
-    private Drawable mHighlightDrawable;
-
-    @Override
-    public void onCreate(Bundle icicle) {
-        super.onCreate(icicle);
-
-        if (icicle != null) {
-            mViewHighlighted = icicle.getBoolean(SAVE_HIGHLIGHTED_KEY);
-        }
-    }
-
-    @Override
-    public void onSaveInstanceState(Bundle outState) {
-        super.onSaveInstanceState(outState);
-
-        outState.putBoolean(SAVE_HIGHLIGHTED_KEY, mViewHighlighted);
-    }
-
-    @Override
-    public void onActivityCreated(Bundle savedInstanceState) {
-        super.onActivityCreated(savedInstanceState);
-
-        final Bundle args = getArguments();
-        if (args != null) {
-            mViewKey = args.getString(SettingsActivity.EXTRA_FRAGMENT_ARG_KEY);
-            highlightViewIfNeeded();
-        }
-    }
-
-    public void highlightViewIfNeeded() {
-        if (!mViewHighlighted &&!TextUtils.isEmpty(mViewKey)) {
-            highlightView(mViewKey);
-        }
-    }
-
-    private Drawable getHighlightDrawable() {
-        if (mHighlightDrawable == null) {
-            mHighlightDrawable = getActivity().getDrawable(R.drawable.preference_highlight);
-        }
-        return mHighlightDrawable;
-    }
-
-    private void highlightView(String key) {
-        final Drawable highlight = getHighlightDrawable();
-
-        // Try locating the View thru its Tag / Key
-        final View view = findViewForKey(getView(), key);
-        if (view != null ) {
-            view.setBackground(highlight);
-
-            getView().postDelayed(new Runnable() {
-                @Override
-                public void run() {
-                    final int centerX = view.getWidth() / 2;
-                    final int centerY = view.getHeight() / 2;
-                    highlight.setHotspot(centerX, centerY);
-                    view.setPressed(true);
-                    view.setPressed(false);
-                }
-            }, DELAY_HIGHLIGHT_DURATION_MILLIS);
-
-            mViewHighlighted = true;
-        }
-    }
-
-    private View findViewForKey(View root, String key) {
-        if (checkTag(root, key)) {
-            return root;
-        }
-        if (root instanceof ViewGroup) {
-            final ViewGroup group = (ViewGroup) root;
-            final int count = group.getChildCount();
-            for (int n = 0; n < count; n++) {
-                final View child = group.getChildAt(n);
-                final View view = findViewForKey(child, key);
-                if (view != null) {
-                    return view;
-                }
-            }
-        }
-        return null;
-    }
-
-    private boolean checkTag(View view, String key) {
-        final Object tag = view.getTag(R.id.preference_highlight_key);
-        if (tag == null || !(tag instanceof String)) {
-            return false;
-        }
-        final String viewKey = (String) tag;
-        return (!TextUtils.isEmpty(viewKey) && viewKey.equals(key));
-    }
-}
diff --git a/src/com/android/settings/InstrumentedFragment.java b/src/com/android/settings/InstrumentedFragment.java
index 2d39961..58b8eb0 100644
--- a/src/com/android/settings/InstrumentedFragment.java
+++ b/src/com/android/settings/InstrumentedFragment.java
@@ -34,6 +34,9 @@
     public static final int CONFIGURE_WIFI = UNDECLARED + 4;
     public static final int DISPLAY_SCREEN_ZOOM = UNDECLARED + 5;
     public static final int ACCESSIBILITY_FONT_SIZE = UNDECLARED + 6;
+    public static final int DATA_USAGE_LIST = UNDECLARED + 7;
+    public static final int BILLING_CYCLE = UNDECLARED + 8;
+    public static final int APP_DATA_USAGE = UNDECLARED + 9;
 
     /**
      * Declare the view of this category.
diff --git a/src/com/android/settings/SecuritySettings.java b/src/com/android/settings/SecuritySettings.java
index 1221624..d39203d 100644
--- a/src/com/android/settings/SecuritySettings.java
+++ b/src/com/android/settings/SecuritySettings.java
@@ -61,6 +61,7 @@
 import com.android.settings.search.Index;
 import com.android.settings.search.Indexable;
 import com.android.settings.search.SearchIndexableRaw;
+import com.android.settingslib.RestrictedPreference;
 import com.android.settingslib.RestrictedSwitchPreference;
 
 import java.util.ArrayList;
@@ -130,7 +131,7 @@
     private SwitchPreference mShowPassword;
 
     private KeyStore mKeyStore;
-    private Preference mResetCredentials;
+    private RestrictedPreference mResetCredentials;
 
     private RestrictedSwitchPreference mToggleAppInstallation;
     private DialogInterface mWarnInstallApps;
@@ -310,25 +311,26 @@
 
         // Show password
         mShowPassword = (SwitchPreference) root.findPreference(KEY_SHOW_PASSWORD);
-        mResetCredentials = root.findPreference(KEY_RESET_CREDENTIALS);
+        mResetCredentials = (RestrictedPreference) root.findPreference(KEY_RESET_CREDENTIALS);
 
         // Credential storage
         final UserManager um = (UserManager) getActivity().getSystemService(Context.USER_SERVICE);
         mKeyStore = KeyStore.getInstance(); // needs to be initialized for onResume()
-        if (!um.hasUserRestriction(UserManager.DISALLOW_CONFIG_CREDENTIALS)) {
-            Preference credentialStorageType = root.findPreference(KEY_CREDENTIAL_STORAGE_TYPE);
 
-            final int storageSummaryRes =
+        RestrictedPreference credentialStorageType = (RestrictedPreference) root.findPreference(
+                KEY_CREDENTIAL_STORAGE_TYPE);
+        credentialStorageType.checkRestrictionAndSetDisabled(
+                UserManager.DISALLOW_CONFIG_CREDENTIALS);
+        RestrictedPreference installCredentials = (RestrictedPreference) root.findPreference(
+                KEY_CREDENTIALS_INSTALL);
+        installCredentials.checkRestrictionAndSetDisabled(UserManager.DISALLOW_CONFIG_CREDENTIALS);
+        mResetCredentials.checkRestrictionAndSetDisabled(UserManager.DISALLOW_CONFIG_CREDENTIALS);
+
+        final int storageSummaryRes =
                 mKeyStore.isHardwareBacked() ? R.string.credential_storage_type_hardware
                         : R.string.credential_storage_type_software;
-            credentialStorageType.setSummary(storageSummaryRes);
-        } else {
-            PreferenceGroup credentialsManager = (PreferenceGroup)
-                    root.findPreference(KEY_CREDENTIALS_MANAGER);
-            credentialsManager.removePreference(root.findPreference(KEY_RESET_CREDENTIALS));
-            credentialsManager.removePreference(root.findPreference(KEY_CREDENTIALS_INSTALL));
-            credentialsManager.removePreference(root.findPreference(KEY_CREDENTIAL_STORAGE_TYPE));
-        }
+        credentialStorageType.setSummary(storageSummaryRes);
+
 
         // Application install
         PreferenceGroup deviceAdminCategory = (PreferenceGroup)
@@ -649,7 +651,7 @@
                     Settings.System.TEXT_SHOW_PASSWORD, 1) != 0);
         }
 
-        if (mResetCredentials != null) {
+        if (mResetCredentials != null && !mResetCredentials.isDisabledByAdmin()) {
             mResetCredentials.setEnabled(!mKeyStore.isEmpty());
         }
 
diff --git a/src/com/android/settings/SettingsActivity.java b/src/com/android/settings/SettingsActivity.java
index de66aea..dab2cb7 100644
--- a/src/com/android/settings/SettingsActivity.java
+++ b/src/com/android/settings/SettingsActivity.java
@@ -68,6 +68,7 @@
 import com.android.settings.bluetooth.BluetoothSettings;
 import com.android.settings.dashboard.DashboardSummary;
 import com.android.settings.dashboard.SearchResultsSummary;
+import com.android.settings.datausage.DataUsageSummary;
 import com.android.settings.deviceinfo.PrivateVolumeForget;
 import com.android.settings.deviceinfo.PrivateVolumeSettings;
 import com.android.settings.deviceinfo.PublicVolumeSettings;
@@ -85,9 +86,9 @@
 import com.android.settings.notification.AppNotificationSettings;
 import com.android.settings.notification.ConfigureNotificationSettings;
 import com.android.settings.notification.NotificationAccessSettings;
-import com.android.settings.notification.SoundSettings;
 import com.android.settings.notification.NotificationStation;
 import com.android.settings.notification.OtherSoundSettings;
+import com.android.settings.notification.SoundSettings;
 import com.android.settings.notification.ZenAccessSettings;
 import com.android.settings.notification.ZenModeAutomationSettings;
 import com.android.settings.notification.ZenModeEventRuleSettings;
diff --git a/src/com/android/settings/SettingsPreferenceFragment.java b/src/com/android/settings/SettingsPreferenceFragment.java
index f79def9..2ba49ce 100644
--- a/src/com/android/settings/SettingsPreferenceFragment.java
+++ b/src/com/android/settings/SettingsPreferenceFragment.java
@@ -24,7 +24,6 @@
 import android.content.Context;
 import android.content.DialogInterface;
 import android.content.pm.PackageManager;
-import android.graphics.drawable.Drawable;
 import android.os.Bundle;
 import android.support.v7.preference.Preference;
 import android.support.v7.preference.PreferenceGroup;
@@ -187,6 +186,11 @@
         setEmptyView(loading);
     }
 
+    public void setLoading(boolean loading, boolean animate) {
+        View loading_container = getView().findViewById(R.id.loading_container);
+        Utils.handleLoadingContainer(loading_container, getListView(), !loading, animate);
+    }
+
     public void registerObserverIfNeeded() {
         if (!mIsDataSetObserverRegistered) {
             if (mCurrentRootAdapter != null) {
diff --git a/src/com/android/settings/SummaryPreference.java b/src/com/android/settings/SummaryPreference.java
new file mode 100644
index 0000000..0943a2b
--- /dev/null
+++ b/src/com/android/settings/SummaryPreference.java
@@ -0,0 +1,99 @@
+/*
+ * 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;
+
+import android.content.Context;
+import android.support.v7.preference.Preference;
+import android.support.v7.preference.PreferenceViewHolder;
+import android.text.TextUtils;
+import android.util.AttributeSet;
+import android.view.View;
+import android.widget.TextView;
+import com.android.settings.applications.LinearColorBar;
+
+/**
+ * Provides a summary of a setting page in a preference.  Such as memory or data usage.
+ */
+public class SummaryPreference extends Preference {
+
+    private static final String TAG = "SummaryPreference";
+    private String mAmount;
+    private String mUnits;
+
+    private int mLeft, mMiddle, mRight;
+    private float mLeftRatio, mMiddleRatio, mRightRatio;
+    private String mStartLabel;
+    private String mEndLabel;
+
+    public SummaryPreference(Context context, AttributeSet attrs) {
+        super(context, attrs);
+        setLayoutResource(R.layout.settings_summary_preference);
+        mLeft = context.getColor(R.color.summary_default_start);
+        mRight = context.getColor(R.color.summary_default_end);
+    }
+
+    public void setAmount(String amount) {
+        mAmount = amount;
+        if (mAmount != null && mUnits != null) {
+            setTitle(TextUtils.expandTemplate(getContext().getText(R.string.storage_size_large),
+                    mAmount, mUnits));
+        }
+    }
+
+    public void setUnits(String units) {
+        mUnits = units;
+        if (mAmount != null && mUnits != null) {
+            setTitle(TextUtils.expandTemplate(getContext().getText(R.string.storage_size_large),
+                    mAmount, mUnits));
+        }
+    }
+
+    public void setLabels(String start, String end) {
+        mStartLabel = start;
+        mEndLabel = end;
+        notifyChanged();
+    }
+
+    public void setRatios(float left, float middle, float right) {
+        mLeftRatio = left;
+        mMiddleRatio = middle;
+        mRightRatio = right;
+        notifyChanged();
+    }
+
+    public void setColors(int left, int middle, int right) {
+        mLeft = left;
+        mMiddle = middle;
+        mRight = right;
+        notifyChanged();
+    }
+
+    @Override
+    public void onBindViewHolder(PreferenceViewHolder holder) {
+        super.onBindViewHolder(holder);
+
+        LinearColorBar colorBar = (LinearColorBar) holder.itemView.findViewById(R.id.color_bar);
+        colorBar.setRatios(mLeftRatio, mMiddleRatio, mRightRatio);
+        colorBar.setColors(mLeft, mMiddle, mRight);
+
+        if (!TextUtils.isEmpty(mStartLabel) || !TextUtils.isEmpty(mEndLabel)) {
+            holder.findViewById(R.id.label_bar).setVisibility(View.VISIBLE);
+            ((TextView) holder.findViewById(android.R.id.text1)).setText(mStartLabel);
+            ((TextView) holder.findViewById(android.R.id.text2)).setText(mEndLabel);
+        } else {
+            holder.findViewById(R.id.label_bar).setVisibility(View.GONE);
+        }
+    }
+}
diff --git a/src/com/android/settings/Utils.java b/src/com/android/settings/Utils.java
index 4afa1d9..96d0a37 100644
--- a/src/com/android/settings/Utils.java
+++ b/src/com/android/settings/Utils.java
@@ -67,6 +67,7 @@
 import android.text.Spannable;
 import android.text.SpannableString;
 import android.text.TextUtils;
+import android.text.format.DateUtils;
 import android.text.style.TtsSpan;
 import android.util.ArraySet;
 import android.util.Log;
@@ -81,6 +82,7 @@
 import android.widget.ListView;
 import android.widget.TabWidget;
 import com.android.internal.util.UserIcons;
+import com.android.settings.datausage.DataUsageList;
 
 import java.io.IOException;
 import java.io.InputStream;
@@ -91,6 +93,8 @@
 import java.util.Locale;
 
 import static android.content.Intent.EXTRA_USER;
+import static android.text.format.DateUtils.FORMAT_ABBREV_MONTH;
+import static android.text.format.DateUtils.FORMAT_SHOW_DATE;
 
 public final class Utils extends com.android.settingslib.Utils {
 
@@ -978,5 +982,19 @@
         context.getTheme().resolveAttribute(attr, value, true);
         return value.resourceId;
     }
+
+    private static final StringBuilder sBuilder = new StringBuilder(50);
+    private static final java.util.Formatter sFormatter = new java.util.Formatter(
+            sBuilder, Locale.getDefault());
+
+    public static String formatDateRange(Context context, long start, long end) {
+        final int flags = FORMAT_SHOW_DATE | FORMAT_ABBREV_MONTH;
+
+        synchronized (sBuilder) {
+            sBuilder.setLength(0);
+            return DateUtils.formatDateRange(context, sFormatter, start, end, flags, null)
+                    .toString();
+        }
+    }
 }
 
diff --git a/src/com/android/settings/accessibility/AccessibilitySettings.java b/src/com/android/settings/accessibility/AccessibilitySettings.java
index 7aa5a76..f56ebe0 100644
--- a/src/com/android/settings/accessibility/AccessibilitySettings.java
+++ b/src/com/android/settings/accessibility/AccessibilitySettings.java
@@ -52,6 +52,8 @@
 import com.android.settings.search.BaseSearchIndexProvider;
 import com.android.settings.search.Indexable;
 import com.android.settings.search.SearchIndexableRaw;
+import com.android.settingslib.RestrictedPreference;
+import com.android.settingslib.RestrictedLockUtils;
 import com.android.settingslib.accessibility.AccessibilityUtils;
 
 import java.util.ArrayList;
@@ -61,6 +63,8 @@
 import java.util.Map;
 import java.util.Set;
 
+import com.android.settingslib.RestrictedLockUtils.EnforcedAdmin;
+
 /**
  * Activity with the accessibility settings.
  */
@@ -476,8 +480,7 @@
         for (int i = 0, count = installedServices.size(); i < count; ++i) {
             AccessibilityServiceInfo info = installedServices.get(i);
 
-            PreferenceScreen preference = getPreferenceManager().createPreferenceScreen(
-                    getActivity());
+            RestrictedPreference preference = new RestrictedPreference(getActivity());
             String title = info.getResolveInfo().loadLabel(getPackageManager()).toString();
 
             ServiceInfo serviceInfo = info.getResolveInfo().serviceInfo;
@@ -500,7 +503,17 @@
             String packageName = serviceInfo.packageName;
             boolean serviceAllowed =
                     permittedServices == null || permittedServices.contains(packageName);
-            preference.setEnabled(serviceAllowed || serviceEnabled);
+            if (!serviceAllowed && !serviceEnabled) {
+                EnforcedAdmin admin =
+                        RestrictedLockUtils.getProfileOrDeviceOwnerOnCallingUser(getActivity());
+                if (admin != null) {
+                    preference.setDisabledByAdmin(admin);
+                } else {
+                    preference.setEnabled(false);
+                }
+            } else {
+                preference.setEnabled(true);
+            }
 
             String summaryString;
             if (serviceAllowed) {
diff --git a/src/com/android/settings/accounts/AccountSettings.java b/src/com/android/settings/accounts/AccountSettings.java
index 3942fbb..4296689 100644
--- a/src/com/android/settings/accounts/AccountSettings.java
+++ b/src/com/android/settings/accounts/AccountSettings.java
@@ -39,8 +39,10 @@
 import android.os.UserHandle;
 import android.os.UserManager;
 import android.provider.SearchIndexableResource;
+import android.support.v14.preference.SwitchPreference;
 import android.support.v7.preference.Preference;
 import android.support.v7.preference.Preference.OnPreferenceClickListener;
+import android.support.v7.preference.Preference.OnPreferenceChangeListener;
 import android.support.v7.preference.PreferenceGroup;
 import android.support.v7.preference.PreferenceScreen;
 import android.util.Log;
@@ -80,7 +82,7 @@
  */
 public class AccountSettings extends SettingsPreferenceFragment
         implements AuthenticatorHelper.OnAccountsUpdateListener,
-        OnPreferenceClickListener, Indexable {
+        OnPreferenceClickListener, OnPreferenceChangeListener, Indexable {
     public static final String TAG = "AccountSettings";
 
     private static final String KEY_ACCOUNT = "account";
@@ -88,8 +90,9 @@
     private static final String ADD_ACCOUNT_ACTION = "android.settings.ADD_ACCOUNT_SETTINGS";
     private static final String TAG_CONFIRM_AUTO_SYNC_CHANGE = "confirmAutoSyncChange";
 
-    private static final int ORDER_LAST = 1001;
-    private static final int ORDER_NEXT_TO_LAST = 1000;
+    private static final int ORDER_LAST = 1002;
+    private static final int ORDER_NEXT_TO_LAST = 1001;
+    private static final int ORDER_NEXT_TO_NEXT_TO_LAST = 1000;
 
     private UserManager mUm;
     private SparseArray<ProfileData> mProfiles = new SparseArray<ProfileData>();
@@ -112,6 +115,10 @@
          */
         public Preference addAccountPreference;
         /**
+         * The preference that displays the button to toggle work profile.
+         */
+        public SwitchPreference workModeSwitch;
+        /**
          * The preference that displays the button to remove the managed profile
          */
         public Preference removeWorkProfilePreference;
@@ -234,6 +241,21 @@
         return false;
     }
 
+    @Override
+    public boolean onPreferenceChange(Preference preference, Object newValue) {
+        // Check the preference
+        final int count = mProfiles.size();
+        for (int i = 0; i < count; i++) {
+            ProfileData profileData = mProfiles.valueAt(i);
+            if (preference == profileData.workModeSwitch) {
+                final int userId = profileData.userInfo.id;
+                mUm.setQuietModeEnabled(userId, !((boolean) newValue));
+                return true;
+            }
+        }
+        return false;
+    }
+
     void updateUi() {
         // Load the preferences from an XML resource
         addPreferencesFromResource(R.xml.account_settings);
@@ -286,6 +308,9 @@
                 profileData.preferenceGroup.setSummary(workGroupSummary);
                 ((AccessiblePreferenceCategory) profileData.preferenceGroup).setContentDescription(
                         getString(R.string.accessibility_category_work, workGroupSummary));
+                profileData.workModeSwitch = newWorkModeSwitchPreference(context);
+                final UserHandle userHandle = profileData.userInfo.getUserHandle();
+                profileData.workModeSwitch.setChecked(!mUm.isQuietModeEnabled(userHandle));
                 profileData.removeWorkProfilePreference = newRemoveWorkProfilePreference(context);
             } else {
                 profileData.preferenceGroup.setTitle(R.string.category_personal);
@@ -313,6 +338,15 @@
         preference.setTitle(R.string.add_account_label);
         preference.setIcon(R.drawable.ic_menu_add);
         preference.setOnPreferenceClickListener(this);
+        preference.setOrder(ORDER_NEXT_TO_NEXT_TO_LAST);
+        return preference;
+    }
+
+    private SwitchPreference newWorkModeSwitchPreference(Context context) {
+        SwitchPreference preference = new SwitchPreference(getPrefContext());
+        preference.setTitle(R.string.work_mode_label);
+        preference.setSummary(R.string.work_mode_summary);
+        preference.setOnPreferenceChangeListener(this);
         preference.setOrder(ORDER_NEXT_TO_LAST);
         return preference;
     }
@@ -385,6 +419,9 @@
                     R.string.managed_profile_not_available_label);
             profileData.preferenceGroup.addPreference(mProfileNotAvailablePreference);
         }
+        if (profileData.workModeSwitch != null) {
+            profileData.preferenceGroup.addPreference(profileData.workModeSwitch);
+        }
         if (profileData.removeWorkProfilePreference != null) {
             profileData.preferenceGroup.addPreference(profileData.removeWorkProfilePreference);
         }
@@ -533,9 +570,9 @@
 
         @Override
         public void onReceive(Context context, Intent intent) {
+            Log.v(TAG, "Received broadcast: " + intent.getAction());
             if (intent.getAction().equals(Intent.ACTION_MANAGED_PROFILE_REMOVED)
                     || intent.getAction().equals(Intent.ACTION_MANAGED_PROFILE_ADDED)) {
-                Log.v(TAG, "Received broadcast: " + intent.getAction());
                 // Clean old state
                 stopListeningToAccountUpdates();
                 cleanUpPreferences();
@@ -547,6 +584,17 @@
                 getActivity().invalidateOptionsMenu();
                 return;
             }
+
+            if (intent.getAction().equals(Intent.ACTION_MANAGED_PROFILE_AVAILABILITY_CHANGED)) {
+                // We assume there's only one managed profile, otherwise this needs to change.
+                ProfileData profileData = mProfiles.valueAt(1);
+                if (intent.getIntExtra(Intent.EXTRA_USER_HANDLE,
+                        UserHandle.USER_NULL) == profileData.userInfo.id) {
+                    profileData.workModeSwitch.setChecked(
+                            !mUm.isQuietModeEnabled(profileData.userInfo.getUserHandle()));
+                }
+                return;
+            }
             Log.w(TAG, "Cannot handle received broadcast: " + intent.getAction());
         }
 
@@ -555,6 +603,7 @@
                 IntentFilter intentFilter = new IntentFilter();
                 intentFilter.addAction(Intent.ACTION_MANAGED_PROFILE_REMOVED);
                 intentFilter.addAction(Intent.ACTION_MANAGED_PROFILE_ADDED);
+                intentFilter.addAction(Intent.ACTION_MANAGED_PROFILE_AVAILABILITY_CHANGED);
                 context.registerReceiver(this, intentFilter);
                 listeningToManagedProfileEvents = true;
             }
diff --git a/src/com/android/settings/accounts/ChooseAccountActivity.java b/src/com/android/settings/accounts/ChooseAccountActivity.java
index f2f1f86..489a165 100644
--- a/src/com/android/settings/accounts/ChooseAccountActivity.java
+++ b/src/com/android/settings/accounts/ChooseAccountActivity.java
@@ -169,6 +169,7 @@
                 Drawable drawable = getDrawableForType(pref.type);
                 ProviderPreference p = new ProviderPreference(getPreferenceScreen().getContext(),
                         pref.type, drawable, pref.name);
+                p.checkAccountManagementAndSetDisabled();
                 mAddAccountGroup.addPreference(p);
             }
         } else {
diff --git a/src/com/android/settings/accounts/ProviderPreference.java b/src/com/android/settings/accounts/ProviderPreference.java
index 9a63062..863fef4 100644
--- a/src/com/android/settings/accounts/ProviderPreference.java
+++ b/src/com/android/settings/accounts/ProviderPreference.java
@@ -20,11 +20,16 @@
 import android.graphics.drawable.Drawable;
 import android.support.v7.preference.Preference;
 
+import com.android.settingslib.RestrictedLockUtils;
+import com.android.settingslib.RestrictedPreference;
+
+import static com.android.settingslib.RestrictedLockUtils.EnforcedAdmin;
+
 /**
  * ProviderPreference is used to display an image to the left of a provider name.
  * The preference ultimately calls AccountManager.addAccount() for the account type.
  */
-public class ProviderPreference extends Preference {
+public class ProviderPreference extends RestrictedPreference {
     private String mAccountType;
 
     public ProviderPreference(
@@ -39,4 +44,10 @@
     public String getAccountType() {
         return mAccountType;
     }
+
+    public void checkAccountManagementAndSetDisabled() {
+        EnforcedAdmin admin = RestrictedLockUtils.checkIfAccountManagementDisabled(
+                getContext(), getAccountType());
+        setDisabledByAdmin(admin);
+    }
 }
diff --git a/src/com/android/settings/applications/InstalledAppDetails.java b/src/com/android/settings/applications/InstalledAppDetails.java
index 7d8a7f0..42d8e46 100755
--- a/src/com/android/settings/applications/InstalledAppDetails.java
+++ b/src/com/android/settings/applications/InstalledAppDetails.java
@@ -21,7 +21,6 @@
 import android.app.AlertDialog;
 import android.app.LoaderManager.LoaderCallbacks;
 import android.app.admin.DevicePolicyManager;
-import android.icu.text.ListFormatter;
 import android.content.ActivityNotFoundException;
 import android.content.BroadcastReceiver;
 import android.content.ComponentName;
@@ -37,6 +36,7 @@
 import android.content.pm.UserInfo;
 import android.content.res.Resources;
 import android.graphics.drawable.Drawable;
+import android.icu.text.ListFormatter;
 import android.net.INetworkStatsService;
 import android.net.INetworkStatsSession;
 import android.net.NetworkTemplate;
@@ -63,16 +63,17 @@
 import android.widget.Button;
 import android.widget.ImageView;
 import android.widget.TextView;
-
 import com.android.internal.logging.MetricsLogger;
 import com.android.internal.os.BatterySipper;
 import com.android.internal.os.BatteryStatsHelper;
 import com.android.settings.AppHeader;
-import com.android.settings.DataUsageSummary;
 import com.android.settings.R;
 import com.android.settings.SettingsActivity;
 import com.android.settings.Utils;
 import com.android.settings.applications.PermissionsSummaryHelper.PermissionsResultCallback;
+import com.android.settings.datausage.AppDataUsage;
+import com.android.settings.datausage.DataUsageList;
+import com.android.settings.datausage.DataUsageSummary;
 import com.android.settings.fuelgauge.BatteryEntry;
 import com.android.settings.fuelgauge.PowerUsageDetail;
 import com.android.settings.notification.AppNotificationSettings;
@@ -753,13 +754,7 @@
             ProcessStatsBase.launchMemoryDetail((SettingsActivity) getActivity(),
                     mStatsManager.getMemInfo(), mStats, false);
         } else if (preference == mDataPreference) {
-            Bundle args = new Bundle();
-            args.putString(DataUsageSummary.EXTRA_SHOW_APP_IMMEDIATE_PKG,
-                    mAppEntry.info.packageName);
-
-            SettingsActivity sa = (SettingsActivity) getActivity();
-            sa.startPreferencePanel(DataUsageSummary.class.getName(), args, -1,
-                    getString(R.string.app_data_usage), this, SUB_INFO_FRAGMENT);
+            startAppInfoFragment(AppDataUsage.class, getString(R.string.app_data_usage));
         } else if (preference == mBatteryPreference) {
             BatteryEntry entry = new BatteryEntry(getActivity(), null, mUserManager, mSipper);
             PowerUsageDetail.startBatteryDetailPage((SettingsActivity) getActivity(),
@@ -794,7 +789,7 @@
     }
 
     public static NetworkTemplate getTemplate(Context context) {
-        if (DataUsageSummary.hasReadyMobileRadio(context)) {
+        if (DataUsageList.hasReadyMobileRadio(context)) {
             return NetworkTemplate.buildTemplateMobileWildcard();
         }
         if (DataUsageSummary.hasWifiRadio(context)) {
diff --git a/src/com/android/settings/applications/ProcessStatsDetail.java b/src/com/android/settings/applications/ProcessStatsDetail.java
index 9db79bc..4ad480e 100644
--- a/src/com/android/settings/applications/ProcessStatsDetail.java
+++ b/src/com/android/settings/applications/ProcessStatsDetail.java
@@ -40,14 +40,13 @@
 import android.view.MenuInflater;
 import android.view.MenuItem;
 import android.view.View;
-import android.widget.TextView;
-
 import com.android.internal.logging.MetricsLogger;
 import com.android.settings.AppHeader;
 import com.android.settings.CancellablePreference;
 import com.android.settings.CancellablePreference.OnCancelListener;
 import com.android.settings.R;
 import com.android.settings.SettingsPreferenceFragment;
+import com.android.settings.SummaryPreference;
 import com.android.settings.applications.ProcStatsEntry.Service;
 
 import java.util.ArrayList;
@@ -87,8 +86,6 @@
     private long mTotalTime;
     private long mOnePercentTime;
 
-    private LinearColorBar mColorBar;
-
     private double mMaxMemoryUsage;
 
     private double mTotalScale;
@@ -177,20 +174,19 @@
         mProcGroup = (PreferenceCategory) findPreference(KEY_PROCS);
         fillProcessesSection();
 
-        LayoutPreference headerLayout = (LayoutPreference) findPreference(KEY_DETAILS_HEADER);
+        SummaryPreference summaryPreference = (SummaryPreference) findPreference(KEY_DETAILS_HEADER);
 
         // TODO: Find way to share this code with ProcessStatsPreference.
         boolean statsForeground = mApp.mRunWeight > mApp.mBgWeight;
         double avgRam = (statsForeground ? mApp.mRunWeight : mApp.mBgWeight) * mWeightToRam;
         float avgRatio = (float) (avgRam / mMaxMemoryUsage);
         float remainingRatio = 1 - avgRatio;
-        mColorBar = (LinearColorBar) headerLayout.findViewById(R.id.color_bar);
         Context context = getActivity();
-        mColorBar.setColors( context.getColor(R.color.memory_max_use), 0,
-                context.getColor(R.color.memory_remaining));
-        mColorBar.setRatios(avgRatio, 0, remainingRatio);
-        ((TextView) headerLayout.findViewById(R.id.memory_state)).setText(
-                Formatter.formatShortFileSize(getContext(), (long) avgRam));
+        summaryPreference.setRatios(avgRatio, 0, remainingRatio);
+        Formatter.BytesResult usedResult = Formatter.formatBytes(context.getResources(),
+                (long) avgRam, Formatter.FLAG_SHORTER);
+        summaryPreference.setAmount(usedResult.value);
+        summaryPreference.setUnits(usedResult.units);
 
         long duration = Math.max(mApp.mRunDuration, mApp.mBgDuration);
         CharSequence frequency = ProcStatsPackageEntry.getFrequency(duration
diff --git a/src/com/android/settings/applications/ProcessStatsSummary.java b/src/com/android/settings/applications/ProcessStatsSummary.java
index 09fea89..28917c8 100644
--- a/src/com/android/settings/applications/ProcessStatsSummary.java
+++ b/src/com/android/settings/applications/ProcessStatsSummary.java
@@ -16,18 +16,15 @@
 package com.android.settings.applications;
 
 import android.app.Activity;
-import android.content.BroadcastReceiver;
 import android.content.Context;
 import android.os.Bundle;
 import android.support.v7.preference.Preference;
 import android.support.v7.preference.Preference.OnPreferenceClickListener;
-import android.text.TextUtils;
 import android.text.format.Formatter;
 import android.text.format.Formatter.BytesResult;
-import android.widget.TextView;
-
 import com.android.internal.logging.MetricsLogger;
 import com.android.settings.R;
+import com.android.settings.SummaryPreference;
 import com.android.settings.Utils;
 import com.android.settings.applications.ProcStatsData.MemInfo;
 import com.android.settings.dashboard.SummaryLoader;
@@ -42,9 +39,7 @@
     private static final String KEY_FREE = "free";
     private static final String KEY_APP_LIST = "apps_list";
 
-    private LinearColorBar mColors;
-    private LayoutPreference mHeader;
-    private TextView mMemStatus;
+    private SummaryPreference mSummaryPref;
 
     private Preference mPerformance;
     private Preference mTotalMemory;
@@ -57,9 +52,10 @@
         super.onCreate(icicle);
 
         addPreferencesFromResource(R.xml.process_stats_summary);
-        mHeader = (LayoutPreference) findPreference(KEY_STATUS_HEADER);
-        mMemStatus = (TextView) mHeader.findViewById(R.id.memory_state);
-        mColors = (LinearColorBar) mHeader.findViewById(R.id.color_bar);
+        mSummaryPref = (SummaryPreference) findPreference(KEY_STATUS_HEADER);
+        int memColor = getContext().getColor(R.color.running_processes_apps_ram);
+        mSummaryPref.setColors(memColor, memColor,
+                getContext().getColor(R.color.running_processes_free_ram));
 
         mPerformance = findPreference(KEY_PERFORMANCE);
         mTotalMemory = findPreference(KEY_TOTAL_MEMORY);
@@ -72,8 +68,6 @@
     @Override
     public void refreshUi() {
         Context context = getContext();
-        int memColor = context.getColor(R.color.running_processes_apps_ram);
-        mColors.setColors(memColor, memColor, context.getColor(R.color.running_processes_free_ram));
 
         MemInfo memInfo = mStatsManager.getMemInfo();
 
@@ -92,10 +86,10 @@
         } else {
             memString = memStatesStr[memStatesStr.length - 1];
         }
-        mMemStatus.setText(TextUtils.expandTemplate(getText(R.string.storage_size_large),
-                usedResult.value, usedResult.units));
+        mSummaryPref.setAmount(usedResult.value);
+        mSummaryPref.setUnits(usedResult.units);
         float usedRatio = (float)(usedRam / (freeRam + usedRam));
-        mColors.setRatios(usedRatio, 0, 1 - usedRatio);
+        mSummaryPref.setRatios(usedRatio, 0, 1 - usedRatio);
 
         mPerformance.setSummary(memString);
         mTotalMemory.setSummary(totalString);
diff --git a/src/com/android/settings/dashboard/conditional/ConditionManager.java b/src/com/android/settings/dashboard/conditional/ConditionManager.java
index a245222..cd044ac 100644
--- a/src/com/android/settings/dashboard/conditional/ConditionManager.java
+++ b/src/com/android/settings/dashboard/conditional/ConditionManager.java
@@ -132,6 +132,7 @@
         addIfMissing(BatterySaverCondition.class);
         addIfMissing(CellularDataCondition.class);
         addIfMissing(BackgroundDataCondition.class);
+        addIfMissing(WorkModeCondition.class);
     }
 
     private void addIfMissing(Class<? extends Condition> clz) {
@@ -154,6 +155,8 @@
             return new CellularDataCondition(this);
         } else if (BackgroundDataCondition.class == clz) {
             return new BackgroundDataCondition(this);
+        } else if (WorkModeCondition.class == clz) {
+            return new WorkModeCondition(this);
         }
         throw new RuntimeException("Unexpected Condition " + clz);
     }
diff --git a/src/com/android/settings/dashboard/conditional/WorkModeCondition.java b/src/com/android/settings/dashboard/conditional/WorkModeCondition.java
new file mode 100644
index 0000000..be333ea
--- /dev/null
+++ b/src/com/android/settings/dashboard/conditional/WorkModeCondition.java
@@ -0,0 +1,99 @@
+/*
+ * 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.conditional;
+
+import android.content.Context;
+import android.content.Intent;
+import android.content.pm.UserInfo;
+import android.graphics.drawable.Icon;
+import android.os.UserHandle;
+import android.os.UserManager;
+
+import com.android.settings.R;
+import com.android.settings.Settings;
+
+import java.util.List;
+
+public class WorkModeCondition extends Condition {
+
+    private UserManager mUm;
+    private UserHandle mUserHandle;
+
+    public WorkModeCondition(ConditionManager conditionManager) {
+        super(conditionManager);
+        mUm = (UserManager) mManager.getContext().getSystemService(Context.USER_SERVICE);
+    }
+
+    private void updateUserHandle() {
+        List<UserInfo> profiles = mUm.getProfiles(UserHandle.myUserId());
+        final int profilesCount = profiles.size();
+        mUserHandle = null;
+        for (int i = 0; i < profilesCount; i++) {
+            UserInfo userInfo = profiles.get(i);
+            if (userInfo.isManagedProfile()) {
+                // We assume there's only one managed profile, otherwise UI needs to change.
+                mUserHandle = userInfo.getUserHandle();
+                break;
+            }
+        }
+    }
+
+    @Override
+    public void refreshState() {
+        updateUserHandle();
+        setActive(mUserHandle != null && mUm.isQuietModeEnabled(mUserHandle));
+    }
+
+    @Override
+    public Icon getIcon() {
+        return Icon.createWithResource(mManager.getContext(),
+                R.drawable.ic_signal_workmode_enable);
+    }
+
+    @Override
+    public CharSequence getTitle() {
+        return mManager.getContext().getString(R.string.condition_work_title);
+    }
+
+    @Override
+    public CharSequence getSummary() {
+        return mManager.getContext().getString(R.string.condition_work_summary);
+    }
+
+    @Override
+    public CharSequence[] getActions() {
+        return new CharSequence[] {
+                mManager.getContext().getString(R.string.condition_turn_on)
+        };
+    }
+
+    @Override
+    public void onPrimaryClick() {
+        mManager.getContext().startActivity(new Intent(mManager.getContext(),
+                Settings.AccountSettingsActivity.class));
+    }
+
+    @Override
+    public void onActionClick(int index) {
+        if (index == 0) {
+            mUm.setQuietModeEnabled(mUserHandle.getIdentifier(), false);
+            setActive(false);
+        } else {
+            throw new IllegalArgumentException("Unexpected index " + index);
+        }
+    }
+}
diff --git a/src/com/android/settings/datausage/AppDataUsage.java b/src/com/android/settings/datausage/AppDataUsage.java
new file mode 100644
index 0000000..9ca066f
--- /dev/null
+++ b/src/com/android/settings/datausage/AppDataUsage.java
@@ -0,0 +1,343 @@
+/*
+ * 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.datausage;
+
+import com.android.settings.AppHeader;
+import com.android.settings.InstrumentedFragment;
+import com.android.settings.R;
+import com.android.settings.applications.AppInfoBase;
+import com.android.settingslib.AppItem;
+import com.android.settingslib.net.ChartData;
+import com.android.settingslib.net.ChartDataLoader;
+
+import android.app.LoaderManager;
+import android.content.Context;
+import android.content.Intent;
+import android.content.Loader;
+import android.content.pm.ApplicationInfo;
+import android.content.pm.PackageManager;
+import android.graphics.drawable.Drawable;
+import android.net.INetworkStatsSession;
+import android.net.NetworkPolicy;
+import android.net.NetworkStatsHistory;
+import android.net.NetworkTemplate;
+import android.net.TrafficStats;
+import android.os.AsyncTask;
+import android.os.Bundle;
+import android.os.RemoteException;
+import android.os.UserHandle;
+import android.support.v14.preference.SwitchPreference;
+import android.support.v7.preference.Preference;
+import android.support.v7.preference.PreferenceCategory;
+import android.text.format.Formatter;
+import android.util.ArraySet;
+import android.util.Log;
+import android.view.View;
+import android.widget.AdapterView;
+import android.widget.Spinner;
+
+import static android.net.NetworkPolicyManager.POLICY_NONE;
+import static android.net.NetworkPolicyManager.POLICY_REJECT_METERED_BACKGROUND;
+
+public class AppDataUsage extends DataUsageBase implements Preference.OnPreferenceChangeListener {
+
+    public static final String ARG_APP_ITEM = "app_item";
+    public static final String ARG_NETWORK_TEMPLATE = "network_template";
+
+    private static final String KEY_TOTAL_USAGE = "total_usage";
+    private static final String KEY_FOREGROUND_USAGE = "foreground_usage";
+    private static final String KEY_BACKGROUND_USAGE = "background_usage";
+    private static final String KEY_APP_SETTINGS = "app_settings";
+    private static final String KEY_RESTRICT_BACKGROUND = "restrict_background";
+    private static final String KEY_APP_LIST = "app_list";
+
+    private static final int LOADER_CHART_DATA = 2;
+
+    private final ArraySet<String> mPackages = new ArraySet<>();
+    private Preference mTotalUsage;
+    private Preference mForegroundUsage;
+    private Preference mBackgroundUsage;
+    private Preference mAppSettings;
+    private SwitchPreference mRestrictBackground;
+    private PreferenceCategory mAppList;
+
+    private Drawable mIcon;
+    private CharSequence mLabel;
+    private INetworkStatsSession mStatsSession;
+    private Spinner mCycleSpinner;
+    private CycleAdapter mCycleAdapter;
+
+    private long mStart;
+    private long mEnd;
+    private ChartData mChartData;
+    private NetworkTemplate mTemplate;
+    private NetworkPolicy mPolicy;
+    private AppItem mAppItem;
+    private Intent mAppSettingsIntent;
+
+    @Override
+    public void onCreate(Bundle icicle) {
+        super.onCreate(icicle);
+        final Bundle args = getArguments();
+
+        try {
+            mStatsSession = services.mStatsService.openSession();
+        } catch (RemoteException e) {
+            throw new RuntimeException(e);
+        }
+
+        mAppItem = (args != null) ? (AppItem) args.getParcelable(ARG_APP_ITEM) : null;
+        mTemplate = (args != null) ? (NetworkTemplate) args.getParcelable(ARG_NETWORK_TEMPLATE)
+                : null;
+        if (mTemplate == null) {
+            Context context = getContext();
+            mTemplate = DataUsageSummary.getDefaultTemplate(context,
+                    DataUsageSummary.getDefaultSubscriptionId(context));
+        }
+        if (mAppItem == null) {
+            int uid = (args != null) ? args.getInt(AppInfoBase.ARG_PACKAGE_UID, -1)
+                    : getActivity().getIntent().getIntExtra(AppInfoBase.ARG_PACKAGE_UID, -1);
+            if (uid == -1) {
+                // TODO: Log error.
+                getActivity().finish();
+            } else {
+                addUid(uid);
+                mAppItem = new AppItem(uid);
+                mAppItem.addUid(uid);
+            }
+        } else {
+            for (int i = 0; i < mAppItem.uids.size(); i++) {
+                addUid(mAppItem.uids.keyAt(i));
+            }
+        }
+        if (mPackages.size() != 0) {
+            PackageManager pm = getPackageManager();
+            try {
+                ApplicationInfo info = pm.getApplicationInfo(mPackages.valueAt(0), 0);
+                mIcon = info.loadIcon(pm);
+                mLabel = info.loadLabel(pm);
+            } catch (PackageManager.NameNotFoundException e) {
+            }
+        }
+        addPreferencesFromResource(R.xml.app_data_usage);
+
+        mTotalUsage = findPreference(KEY_TOTAL_USAGE);
+        mForegroundUsage = findPreference(KEY_FOREGROUND_USAGE);
+        mBackgroundUsage = findPreference(KEY_BACKGROUND_USAGE);
+
+        if (UserHandle.isApp(mAppItem.key)) {
+            mRestrictBackground = (SwitchPreference) findPreference(KEY_RESTRICT_BACKGROUND);
+            mRestrictBackground.setOnPreferenceChangeListener(this);
+            mAppSettings = findPreference(KEY_APP_SETTINGS);
+
+            mAppSettingsIntent = new Intent(Intent.ACTION_MANAGE_NETWORK_USAGE);
+            mAppSettingsIntent.addCategory(Intent.CATEGORY_DEFAULT);
+
+            PackageManager pm = getPackageManager();
+            boolean matchFound = false;
+            for (String packageName : mPackages) {
+                mAppSettingsIntent.setPackage(packageName);
+                if (pm.resolveActivity(mAppSettingsIntent, 0) != null) {
+                    matchFound = true;
+                    break;
+                }
+            }
+            if (!matchFound) {
+                removePreference(KEY_APP_SETTINGS);
+                mAppSettings = null;
+            }
+
+            if (mPackages.size() > 1) {
+                mAppList = (PreferenceCategory) findPreference(KEY_APP_LIST);
+                for (int i = 1 ; i < mPackages.size(); i++) {
+                    new AppPrefLoader().executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR,
+                            mPackages.valueAt(i));
+                }
+            } else {
+                removePreference(KEY_APP_LIST);
+            }
+        } else {
+            removePreference(KEY_APP_SETTINGS);
+            removePreference(KEY_RESTRICT_BACKGROUND);
+            removePreference(KEY_APP_LIST);
+        }
+    }
+
+    @Override
+    public void onDestroy() {
+        TrafficStats.closeQuietly(mStatsSession);
+        super.onDestroy();
+    }
+
+    @Override
+    public void onResume() {
+        super.onResume();
+        mPolicy = services.mPolicyEditor.getPolicy(mTemplate);
+        getLoaderManager().restartLoader(LOADER_CHART_DATA,
+                ChartDataLoader.buildArgs(mTemplate, mAppItem), mChartDataCallbacks);
+        updatePrefs();
+    }
+
+    @Override
+    public boolean onPreferenceChange(Preference preference, Object newValue) {
+        if (preference == mRestrictBackground) {
+            setAppRestrictBackground((Boolean) newValue);
+            return true;
+        }
+        return false;
+    }
+
+    @Override
+    public boolean onPreferenceTreeClick(Preference preference) {
+        if (preference == mAppSettings) {
+            // TODO: target towards entire UID instead of just first package
+            getActivity().startActivityAsUser(mAppSettingsIntent, new UserHandle(
+                    UserHandle.getUserId(mAppItem.key)));
+            return true;
+        }
+        return super.onPreferenceTreeClick(preference);
+    }
+
+    private void updatePrefs() {
+        if (mRestrictBackground != null) {
+            mRestrictBackground.setChecked(getAppRestrictBackground());
+        }
+    }
+
+    private void addUid(int uid) {
+        String[] packages = getPackageManager().getPackagesForUid(uid);
+        if (packages != null) {
+            for (int i = 0; i < packages.length; i++) {
+                mPackages.add(packages[i]);
+            }
+        }
+    }
+
+    private void bindData() {
+        if (mChartData == null || mStart == 0) {
+            return;
+        }
+        final Context context = getContext();
+        final long now = System.currentTimeMillis();
+
+        NetworkStatsHistory.Entry entry = null;
+        entry = mChartData.detailDefault.getValues(mStart, mEnd, now, entry);
+        final long backgroundBytes = entry.rxBytes + entry.txBytes;
+        entry = mChartData.detailForeground.getValues(mStart, mEnd, now, entry);
+        final long foregroundBytes = entry.rxBytes + entry.txBytes;
+        final long totalBytes = backgroundBytes + foregroundBytes;
+
+        mTotalUsage.setSummary(Formatter.formatFileSize(context, totalBytes));
+        mForegroundUsage.setSummary(Formatter.formatFileSize(context, foregroundBytes));
+        mBackgroundUsage.setSummary(Formatter.formatFileSize(context, backgroundBytes));
+    }
+
+    private boolean getAppRestrictBackground() {
+        final int uid = mAppItem.key;
+        final int uidPolicy = services.mPolicyManager.getUidPolicy(uid);
+        return (uidPolicy & POLICY_REJECT_METERED_BACKGROUND) != 0;
+    }
+
+    private void setAppRestrictBackground(boolean restrictBackground) {
+        final int uid = mAppItem.key;
+        services.mPolicyManager.setUidPolicy(
+                uid, restrictBackground ? POLICY_REJECT_METERED_BACKGROUND : POLICY_NONE);
+    }
+
+    @Override
+    public void onViewCreated(View view, Bundle savedInstanceState) {
+        super.onViewCreated(view, savedInstanceState);
+
+        View header = setPinnedHeaderView(R.layout.data_usage_app_header);
+        String pkg = mPackages.size() != 0 ? mPackages.valueAt(0) : null;
+        int uid = 0;
+        try {
+            uid = pkg != null ? getPackageManager().getPackageUid(pkg, 0) : 0;
+        } catch (PackageManager.NameNotFoundException e) {
+        }
+        AppHeader.setupHeaderView(getActivity(), mIcon, mLabel,
+                pkg, uid, AppHeader.includeAppInfo(this), 0, header);
+
+        mCycleSpinner = (Spinner) header.findViewById(R.id.filter_spinner);
+        mCycleAdapter = new CycleAdapter(getContext(), mCycleSpinner, mCycleListener);
+    }
+
+    @Override
+    protected int getMetricsCategory() {
+        return InstrumentedFragment.APP_DATA_USAGE;
+    }
+
+    private AdapterView.OnItemSelectedListener mCycleListener =
+            new AdapterView.OnItemSelectedListener() {
+        @Override
+        public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
+            final CycleAdapter.CycleItem cycle =
+                    (CycleAdapter.CycleItem) parent.getItemAtPosition(position);
+
+            mStart = cycle.start;
+            mEnd = cycle.end;
+            bindData();
+        }
+
+        @Override
+        public void onNothingSelected(AdapterView<?> parent) {
+            // ignored
+        }
+    };
+
+    private final LoaderManager.LoaderCallbacks<ChartData> mChartDataCallbacks =
+            new LoaderManager.LoaderCallbacks<ChartData>() {
+        @Override
+        public Loader<ChartData> onCreateLoader(int id, Bundle args) {
+            return new ChartDataLoader(getActivity(), mStatsSession, args);
+        }
+
+        @Override
+        public void onLoadFinished(Loader<ChartData> loader, ChartData data) {
+            mChartData = data;
+            mCycleAdapter.updateCycleList(mPolicy, mChartData);
+            bindData();
+        }
+
+        @Override
+        public void onLoaderReset(Loader<ChartData> loader) {
+        }
+    };
+
+    private class AppPrefLoader extends AsyncTask<String, Void, Preference> {
+        @Override
+        protected Preference doInBackground(String... params) {
+            PackageManager pm = getPackageManager();
+            String pkg = params[0];
+            try {
+                ApplicationInfo info = pm.getApplicationInfo(pkg, 0);
+                Preference preference = new Preference(getPrefContext());
+                preference.setIcon(info.loadIcon(pm));
+                preference.setTitle(info.loadLabel(pm));
+                preference.setSelectable(false);
+                return preference;
+            } catch (PackageManager.NameNotFoundException e) {
+            }
+            return null;
+        }
+
+        @Override
+        protected void onPostExecute(Preference pref) {
+            if (pref != null && mAppList != null) {
+                mAppList.addPreference(pref);
+            }
+        }
+    }
+}
diff --git a/src/com/android/settings/datausage/AppDataUsagePreference.java b/src/com/android/settings/datausage/AppDataUsagePreference.java
new file mode 100644
index 0000000..04e2b6d
--- /dev/null
+++ b/src/com/android/settings/datausage/AppDataUsagePreference.java
@@ -0,0 +1,123 @@
+/*
+ * 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.datausage;
+
+import android.content.Context;
+import android.os.AsyncTask;
+import android.support.v7.preference.Preference;
+import android.support.v7.preference.PreferenceViewHolder;
+import android.text.format.Formatter;
+import android.view.View;
+import android.widget.ProgressBar;
+import com.android.settingslib.AppItem;
+import com.android.settingslib.net.UidDetail;
+import com.android.settingslib.net.UidDetailProvider;
+
+import static com.android.internal.util.Preconditions.checkNotNull;
+
+public class AppDataUsagePreference extends Preference {
+
+    private final AppItem mItem;
+    private final int mPercent;
+
+    public AppDataUsagePreference(Context context, AppItem item, int percent,
+            UidDetailProvider provider) {
+        super(context);
+        mItem = item;
+        mPercent = percent;
+        setLayoutResource(com.android.settings.R.layout.data_usage_item);
+        setWidgetLayoutResource(com.android.settings.R.layout.widget_progress_bar);
+        if (item.restricted && item.total <= 0) {
+            setSummary(com.android.settings.R.string.data_usage_app_restricted);
+        } else {
+            setSummary(Formatter.formatFileSize(context, item.total));
+        }
+
+        // kick off async load of app details
+        UidDetailTask.bindView(provider, item, this);
+    }
+
+    @Override
+    public void onBindViewHolder(PreferenceViewHolder holder) {
+        super.onBindViewHolder(holder);
+
+        final ProgressBar progress = (ProgressBar) holder.findViewById(
+                android.R.id.progress);
+
+        if (mItem.restricted && mItem.total <= 0) {
+            progress.setVisibility(View.GONE);
+        } else {
+            progress.setVisibility(View.VISIBLE);
+        }
+        progress.setProgress(mPercent);
+    }
+
+    public AppItem getItem() {
+        return mItem;
+    }
+
+    /**
+     * Background task that loads {@link UidDetail}, binding to
+     * {@link DataUsageAdapter} row item when finished.
+     */
+    private static class UidDetailTask extends AsyncTask<Void, Void, UidDetail> {
+        private final UidDetailProvider mProvider;
+        private final AppItem mItem;
+        private final AppDataUsagePreference mTarget;
+
+        private UidDetailTask(UidDetailProvider provider, AppItem item,
+                AppDataUsagePreference target) {
+            mProvider = checkNotNull(provider);
+            mItem = checkNotNull(item);
+            mTarget = checkNotNull(target);
+        }
+
+        public static void bindView(UidDetailProvider provider, AppItem item,
+                AppDataUsagePreference target) {
+            final UidDetail cachedDetail = provider.getUidDetail(item.key, false);
+            if (cachedDetail != null) {
+                bindView(cachedDetail, target);
+            } else {
+                new UidDetailTask(provider, item, target).executeOnExecutor(
+                        AsyncTask.THREAD_POOL_EXECUTOR);
+            }
+        }
+
+        private static void bindView(UidDetail detail, Preference target) {
+            if (detail != null) {
+                target.setIcon(detail.icon);
+                target.setTitle(detail.label);
+            } else {
+                target.setIcon(null);
+                target.setTitle(null);
+            }
+        }
+
+        @Override
+        protected void onPreExecute() {
+            bindView(null, mTarget);
+        }
+
+        @Override
+        protected UidDetail doInBackground(Void... params) {
+            return mProvider.getUidDetail(mItem.key, true);
+        }
+
+        @Override
+        protected void onPostExecute(UidDetail result) {
+            bindView(result, mTarget);
+        }
+    }
+}
diff --git a/src/com/android/settings/datausage/BillingCyclePreference.java b/src/com/android/settings/datausage/BillingCyclePreference.java
new file mode 100644
index 0000000..84eaabb
--- /dev/null
+++ b/src/com/android/settings/datausage/BillingCyclePreference.java
@@ -0,0 +1,90 @@
+/*
+ * 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.datausage;
+
+import android.content.BroadcastReceiver;
+import android.content.Context;
+import android.content.Intent;
+import android.content.IntentFilter;
+import android.net.NetworkPolicy;
+import android.net.NetworkTemplate;
+import android.os.Bundle;
+import android.os.RemoteException;
+import android.support.v7.preference.Preference;
+import android.util.AttributeSet;
+import com.android.settings.R;
+import com.android.settings.Utils;
+
+public class BillingCyclePreference extends Preference implements TemplatePreference {
+
+    private NetworkTemplate mTemplate;
+    private NetworkServices mServices;
+    private NetworkPolicy mPolicy;
+    private int mSubId;
+
+    public BillingCyclePreference(Context context, AttributeSet attrs) {
+        super(context, attrs);
+    }
+
+    @Override
+    public void onAttached() {
+        super.onAttached();
+        getContext().registerReceiver(mReceiver, new IntentFilter(
+                CellDataPreference.ACTION_DATA_ENABLED_CHANGED));
+    }
+
+    @Override
+    public void onDetached() {
+        getContext().unregisterReceiver(mReceiver);
+        super.onDetached();
+    }
+
+    @Override
+    public void setTemplate(NetworkTemplate template, int subId,
+            NetworkServices services) {
+        mTemplate = template;
+        mSubId = subId;
+        mServices = services;
+        mPolicy = services.mPolicyEditor.getPolicy(mTemplate);
+        setSummary(getContext().getString(R.string.billing_cycle_fragment_summary,
+                mPolicy != null ? mPolicy.cycleDay : 1));
+        setIntent(getIntent());
+    }
+
+    private void updateEnabled() {
+        try {
+            setEnabled(mPolicy != null && mServices.mNetworkService.isBandwidthControlEnabled()
+                    && mServices.mTelephonyManager.getDataEnabled(mSubId)
+                    && mServices.mUserManager.isAdminUser());
+        } catch (RemoteException e) {
+            setEnabled(false);
+        }
+    }
+
+    @Override
+    public Intent getIntent() {
+        Bundle args = new Bundle();
+        args.putParcelable(DataUsageList.EXTRA_NETWORK_TEMPLATE, mTemplate);
+        return Utils.onBuildStartFragmentIntent(getContext(), BillingCycleSettings.class.getName(),
+                args, null, 0, getTitle(), false);
+    }
+
+    private final BroadcastReceiver mReceiver = new BroadcastReceiver() {
+        @Override
+        public void onReceive(Context context, Intent intent) {
+            updateEnabled();
+        }
+    };
+}
diff --git a/src/com/android/settings/datausage/BillingCycleSettings.java b/src/com/android/settings/datausage/BillingCycleSettings.java
new file mode 100644
index 0000000..5807992
--- /dev/null
+++ b/src/com/android/settings/datausage/BillingCycleSettings.java
@@ -0,0 +1,357 @@
+/*
+ * 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.datausage;
+
+import android.app.AlertDialog;
+import android.app.Dialog;
+import android.app.DialogFragment;
+import android.content.Context;
+import android.content.DialogInterface;
+import android.content.res.Resources;
+import android.net.NetworkPolicy;
+import android.net.NetworkTemplate;
+import android.os.Bundle;
+import android.support.v14.preference.SwitchPreference;
+import android.support.v7.preference.Preference;
+import android.text.format.Formatter;
+import android.text.format.Time;
+import android.util.Log;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.widget.NumberPicker;
+import com.android.settings.InstrumentedFragment;
+import com.android.settings.R;
+import com.android.settingslib.NetworkPolicyEditor;
+import com.android.settingslib.net.DataUsageController;
+
+import static android.net.NetworkPolicy.LIMIT_DISABLED;
+import static android.net.NetworkPolicy.WARNING_DISABLED;
+import static android.net.TrafficStats.GB_IN_BYTES;
+import static android.net.TrafficStats.MB_IN_BYTES;
+
+public class BillingCycleSettings extends DataUsageBase implements
+        Preference.OnPreferenceChangeListener {
+
+    private static final String TAG = "BillingCycleSettings";
+    private static final boolean LOGD = false;
+
+    private static final String TAG_CONFIRM_LIMIT = "confirmLimit";
+    private static final String TAG_CYCLE_EDITOR = "cycleEditor";
+    private static final String TAG_WARNING_EDITOR = "warningEditor";
+
+    private static final String KEY_BILLING_CYCLE = "billing_cycle";
+    private static final String KEY_DATA_WARNING = "data_warning";
+    private static final String KEY_SET_DATA_LIMIT = "set_data_limit";
+    private static final String KEY_DATA_LIMIT = "data_limit";
+
+    private NetworkTemplate mNetworkTemplate;
+    private Preference mBillingCycle;
+    private Preference mDataWarning;
+    private SwitchPreference mEnableDataLimit;
+    private Preference mDataLimit;
+    private DataUsageController mDataUsageController;
+
+    @Override
+    public void onCreate(Bundle icicle) {
+        super.onCreate(icicle);
+
+        mDataUsageController = new DataUsageController(getContext());
+
+        Bundle args = getArguments();
+        mNetworkTemplate = args.getParcelable(DataUsageList.EXTRA_NETWORK_TEMPLATE);
+
+        addPreferencesFromResource(R.xml.billing_cycle);
+        mBillingCycle = findPreference(KEY_BILLING_CYCLE);
+        mDataWarning = findPreference(KEY_DATA_WARNING);
+        mEnableDataLimit = (SwitchPreference) findPreference(KEY_SET_DATA_LIMIT);
+        mEnableDataLimit.setOnPreferenceChangeListener(this);
+        mDataLimit = findPreference(KEY_DATA_LIMIT);
+    }
+
+    @Override
+    public void onResume() {
+        super.onResume();
+        updatePrefs();
+    }
+
+    private void updatePrefs() {
+        NetworkPolicy policy = services.mPolicyEditor.getPolicy(mNetworkTemplate);
+        mBillingCycle.setSummary(getString(R.string.billing_cycle_summary, policy != null ?
+                policy.cycleDay : 1));
+        mDataWarning.setSummary(Formatter.formatFileSize(getContext(), policy != null
+                ? policy.warningBytes : DataUsageController.DEFAULT_WARNING_LEVEL));
+        if (policy != null && policy.limitBytes != LIMIT_DISABLED) {
+            mDataLimit.setSummary(Formatter.formatFileSize(getContext(), policy.limitBytes));
+            mDataLimit.setEnabled(true);
+            mEnableDataLimit.setChecked(true);
+        } else {
+            mDataLimit.setSummary(null);
+            mDataLimit.setEnabled(false);
+            mEnableDataLimit.setChecked(false);
+        }
+    }
+
+    @Override
+    public boolean onPreferenceTreeClick(Preference preference) {
+        if (preference == mBillingCycle) {
+            CycleEditorFragment.show(this);
+            return true;
+        } else if (preference == mDataWarning) {
+            BytesEditorFragment.show(this, false);
+            return true;
+        } else if (preference == mDataLimit) {
+            BytesEditorFragment.show(this, true);
+            return true;
+        }
+        return super.onPreferenceTreeClick(preference);
+    }
+
+    @Override
+    public boolean onPreferenceChange(Preference preference, Object newValue) {
+        if (mEnableDataLimit == preference) {
+            boolean enabled = (Boolean) newValue;
+            if (enabled) {
+                ConfirmLimitFragment.show(this);
+            } else {
+                setPolicyLimitBytes(LIMIT_DISABLED);
+            }
+            return true;
+        }
+        return false;
+    }
+
+    @Override
+    protected int getMetricsCategory() {
+        return InstrumentedFragment.BILLING_CYCLE;
+    }
+
+    private void setPolicyLimitBytes(long limitBytes) {
+        if (LOGD) Log.d(TAG, "setPolicyLimitBytes()");
+        services.mPolicyEditor.setPolicyLimitBytes(mNetworkTemplate, limitBytes);
+        updatePrefs();
+    }
+
+    /**
+     * Dialog to edit {@link NetworkPolicy#warningBytes}.
+     */
+    public static class BytesEditorFragment extends DialogFragment
+            implements DialogInterface.OnClickListener{
+        private static final String EXTRA_TEMPLATE = "template";
+        private static final String EXTRA_LIMIT = "limit";
+        private View mView;
+
+        public static void show(BillingCycleSettings parent, boolean isLimit) {
+            if (!parent.isAdded()) return;
+
+            final Bundle args = new Bundle();
+            args.putParcelable(EXTRA_TEMPLATE, parent.mNetworkTemplate);
+            args.putBoolean(EXTRA_LIMIT, isLimit);
+
+            final BytesEditorFragment dialog = new BytesEditorFragment();
+            dialog.setArguments(args);
+            dialog.setTargetFragment(parent, 0);
+            dialog.show(parent.getFragmentManager(), TAG_WARNING_EDITOR);
+        }
+
+        @Override
+        public Dialog onCreateDialog(Bundle savedInstanceState) {
+            final Context context = getActivity();
+
+
+            final LayoutInflater dialogInflater = LayoutInflater.from(context);
+            mView = dialogInflater.inflate(R.layout.data_usage_bytes_editor, null, false);
+            setupPicker((NumberPicker) mView.findViewById(R.id.bytes));
+            return new AlertDialog.Builder(context)
+                    .setTitle(R.string.data_usage_warning_editor_title)
+                    .setView(mView)
+                    .setPositiveButton(R.string.data_usage_cycle_editor_positive, this)
+                    .create();
+        }
+
+        private void setupPicker(NumberPicker bytesPicker) {
+            final BillingCycleSettings target = (BillingCycleSettings) getTargetFragment();
+            final NetworkPolicyEditor editor = target.services.mPolicyEditor;
+
+            final NetworkTemplate template = getArguments().getParcelable(EXTRA_TEMPLATE);
+            final boolean isLimit = getArguments().getBoolean(EXTRA_LIMIT);
+            final long warningBytes = editor.getPolicyWarningBytes(template);
+            final long limitBytes = editor.getPolicyLimitBytes(template);
+
+            if (isLimit) {
+                bytesPicker.setMaxValue(Integer.MAX_VALUE);
+                if (warningBytes != WARNING_DISABLED) {
+                    bytesPicker.setMinValue((int) (warningBytes / MB_IN_BYTES) + 1);
+                } else {
+                    bytesPicker.setMinValue(0);
+                }
+            } else {
+                bytesPicker.setMinValue(0);
+                if (limitBytes != LIMIT_DISABLED) {
+                    bytesPicker.setMaxValue((int) (limitBytes / MB_IN_BYTES) - 1);
+                } else {
+                    bytesPicker.setMaxValue(Integer.MAX_VALUE);
+                }
+            }
+            bytesPicker.setValue((int) ((isLimit ? limitBytes : warningBytes) / MB_IN_BYTES));
+            bytesPicker.setWrapSelectorWheel(false);
+        }
+
+        @Override
+        public void onClick(DialogInterface dialog, int which) {
+            if (which != DialogInterface.BUTTON_POSITIVE) {
+                return;
+            }
+            final BillingCycleSettings target = (BillingCycleSettings) getTargetFragment();
+            final NetworkPolicyEditor editor = target.services.mPolicyEditor;
+
+            final NetworkTemplate template = getArguments().getParcelable(EXTRA_TEMPLATE);
+            final boolean isLimit = getArguments().getBoolean(EXTRA_LIMIT);
+            NumberPicker bytesPicker = (NumberPicker) mView.findViewById(R.id.bytes);
+            // clear focus to finish pending text edits
+            bytesPicker.clearFocus();
+
+            final long bytes = bytesPicker.getValue() * MB_IN_BYTES;
+            if (isLimit) {
+                editor.setPolicyLimitBytes(template, bytes);
+            } else {
+                editor.setPolicyWarningBytes(template, bytes);
+            }
+            target.updatePrefs();
+        }
+    }
+
+    /**
+     * Dialog to edit {@link NetworkPolicy#cycleDay}.
+     */
+    public static class CycleEditorFragment extends DialogFragment implements
+            DialogInterface.OnClickListener{
+        private static final String EXTRA_TEMPLATE = "template";
+        private NumberPicker mCycleDayPicker;
+
+        public static void show(BillingCycleSettings parent) {
+            if (!parent.isAdded()) return;
+
+            final Bundle args = new Bundle();
+            args.putParcelable(EXTRA_TEMPLATE, parent.mNetworkTemplate);
+
+            final CycleEditorFragment dialog = new CycleEditorFragment();
+            dialog.setArguments(args);
+            dialog.setTargetFragment(parent, 0);
+            dialog.show(parent.getFragmentManager(), TAG_CYCLE_EDITOR);
+        }
+
+        @Override
+        public Dialog onCreateDialog(Bundle savedInstanceState) {
+            final Context context = getActivity();
+            final BillingCycleSettings target = (BillingCycleSettings) getTargetFragment();
+            final NetworkPolicyEditor editor = target.services.mPolicyEditor;
+
+            final AlertDialog.Builder builder = new AlertDialog.Builder(context);
+            final LayoutInflater dialogInflater = LayoutInflater.from(builder.getContext());
+
+            final View view = dialogInflater.inflate(R.layout.data_usage_cycle_editor, null, false);
+            mCycleDayPicker = (NumberPicker) view.findViewById(R.id.cycle_day);
+
+            final NetworkTemplate template = getArguments().getParcelable(EXTRA_TEMPLATE);
+            final int cycleDay = editor.getPolicyCycleDay(template);
+
+            mCycleDayPicker.setMinValue(1);
+            mCycleDayPicker.setMaxValue(31);
+            mCycleDayPicker.setValue(cycleDay);
+            mCycleDayPicker.setWrapSelectorWheel(true);
+
+            return builder.setTitle(R.string.data_usage_cycle_editor_title)
+                    .setView(view)
+                    .setPositiveButton(R.string.data_usage_cycle_editor_positive, this)
+                    .create();
+        }
+
+        @Override
+        public void onClick(DialogInterface dialog, int which) {
+            final NetworkTemplate template = getArguments().getParcelable(EXTRA_TEMPLATE);
+            final BillingCycleSettings target = (BillingCycleSettings) getTargetFragment();
+            final NetworkPolicyEditor editor = target.services.mPolicyEditor;
+
+            // clear focus to finish pending text edits
+            mCycleDayPicker.clearFocus();
+
+            final int cycleDay = mCycleDayPicker.getValue();
+            final String cycleTimezone = new Time().timezone;
+            editor.setPolicyCycleDay(template, cycleDay, cycleTimezone);
+            target.updatePrefs();
+        }
+    }
+
+    /**
+     * Dialog to request user confirmation before setting
+     * {@link NetworkPolicy#limitBytes}.
+     */
+    public static class ConfirmLimitFragment extends DialogFragment implements
+            DialogInterface.OnClickListener{
+        private static final String EXTRA_MESSAGE = "message";
+        private static final String EXTRA_LIMIT_BYTES = "limitBytes";
+        public static final float FLOAT = 1.2f;
+
+        public static void show(BillingCycleSettings parent) {
+            if (!parent.isAdded()) return;
+
+            final NetworkPolicy policy = parent.services.mPolicyEditor
+                    .getPolicy(parent.mNetworkTemplate);
+            if (policy == null) return;
+
+            final Resources res = parent.getResources();
+            final CharSequence message;
+            final long minLimitBytes = (long) (policy.warningBytes * FLOAT);
+            final long limitBytes;
+
+            // TODO: customize default limits based on network template
+            message = res.getString(R.string.data_usage_limit_dialog_mobile);
+            limitBytes = Math.max(5 * GB_IN_BYTES, minLimitBytes);
+
+            final Bundle args = new Bundle();
+            args.putCharSequence(EXTRA_MESSAGE, message);
+            args.putLong(EXTRA_LIMIT_BYTES, limitBytes);
+
+            final ConfirmLimitFragment dialog = new ConfirmLimitFragment();
+            dialog.setArguments(args);
+            dialog.setTargetFragment(parent, 0);
+            dialog.show(parent.getFragmentManager(), TAG_CONFIRM_LIMIT);
+        }
+
+        @Override
+        public Dialog onCreateDialog(Bundle savedInstanceState) {
+            final Context context = getActivity();
+
+            final CharSequence message = getArguments().getCharSequence(EXTRA_MESSAGE);
+
+            return new AlertDialog.Builder(context)
+                    .setTitle(R.string.data_usage_limit_dialog_title)
+                    .setMessage(message)
+                    .setPositiveButton(android.R.string.ok, this)
+                    .setNegativeButton(android.R.string.cancel, null)
+                    .create();
+        }
+
+        @Override
+        public void onClick(DialogInterface dialog, int which) {
+            if (which != DialogInterface.BUTTON_POSITIVE) return;
+            final long limitBytes = getArguments().getLong(EXTRA_LIMIT_BYTES);
+            final BillingCycleSettings target = (BillingCycleSettings) getTargetFragment();
+            if (target != null) {
+                target.setPolicyLimitBytes(limitBytes);
+            }
+        }
+    }
+}
diff --git a/src/com/android/settings/datausage/CellDataPreference.java b/src/com/android/settings/datausage/CellDataPreference.java
new file mode 100644
index 0000000..0a91be2
--- /dev/null
+++ b/src/com/android/settings/datausage/CellDataPreference.java
@@ -0,0 +1,276 @@
+/*
+ * 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.datausage;
+
+import android.app.AlertDialog;
+import android.content.BroadcastReceiver;
+import android.content.Context;
+import android.content.DialogInterface;
+import android.content.Intent;
+import android.content.IntentFilter;
+import android.net.NetworkTemplate;
+import android.os.Parcel;
+import android.os.Parcelable;
+import android.support.v7.preference.PreferenceViewHolder;
+import android.telephony.SubscriptionInfo;
+import android.telephony.SubscriptionManager;
+import android.telephony.TelephonyManager;
+import android.util.AttributeSet;
+import android.util.Log;
+import android.view.View;
+import android.widget.Checkable;
+import com.android.internal.logging.MetricsLogger;
+import com.android.settings.CustomDialogPreference;
+import com.android.settings.R;
+import com.android.settings.Utils;
+
+import java.util.List;
+
+public class CellDataPreference extends CustomDialogPreference implements TemplatePreference {
+
+    // TODO: Get Telephony to broadcast when this changes, and remove this.
+    static final String ACTION_DATA_ENABLED_CHANGED =
+            "com.android.settings.action.DATA_ENABLED_CHANGED";
+
+    private static final String TAG = "CellDataPreference";
+
+    public int mSubId;
+    public boolean mChecked;
+    public boolean mMultiSimDialog;
+    private TelephonyManager mTelephonyManager;
+    private SubscriptionManager mSubscriptionManager;
+
+    public CellDataPreference(Context context, AttributeSet attrs) {
+        super(context, attrs, android.R.attr.switchPreferenceStyle);
+    }
+
+    @Override
+    protected void onRestoreInstanceState(Parcelable s) {
+        CellDataState state = (CellDataState) s;
+        super.onRestoreInstanceState(state.getSuperState());
+        mTelephonyManager = TelephonyManager.from(getContext());
+        mChecked = state.mChecked;
+        mMultiSimDialog = state.mMultiSimDialog;
+        mSubId = state.mSubId;
+        setKey(getKey() + mSubId);
+        notifyChanged();
+    }
+
+    @Override
+    protected Parcelable onSaveInstanceState() {
+        CellDataState state = new CellDataState(super.onSaveInstanceState());
+        state.mChecked = mChecked;
+        state.mMultiSimDialog = mMultiSimDialog;
+        state.mSubId = mSubId;
+        return state;
+    }
+
+    @Override
+    public void onAttached() {
+        super.onAttached();
+        getContext().registerReceiver(mReceiver, new IntentFilter(ACTION_DATA_ENABLED_CHANGED));
+    }
+
+    @Override
+    public void onDetached() {
+        getContext().unregisterReceiver(mReceiver);
+        super.onDetached();
+    }
+
+    @Override
+    public void setTemplate(NetworkTemplate template, int subId, NetworkServices services) {
+        if (subId == SubscriptionManager.INVALID_SUBSCRIPTION_ID) {
+            throw new IllegalArgumentException("CellDataPreference needs a SubscriptionInfo");
+        }
+        mTelephonyManager = TelephonyManager.from(getContext());
+        if (mSubId == SubscriptionManager.INVALID_SUBSCRIPTION_ID) {
+            mSubId = subId;
+            setKey(getKey() + subId);
+        }
+        updateChecked();
+    }
+
+    private void updateChecked() {
+        setChecked(mTelephonyManager.getDataEnabled(mSubId));
+    }
+
+    @Override
+    protected void performClick(View view) {
+        super.performClick(view);
+        MetricsLogger.action(getContext(), MetricsLogger.ACTION_CELL_DATA_TOGGLE, !mChecked);
+        if (mChecked) {
+            // disabling data; show confirmation dialog which eventually
+            // calls setMobileDataEnabled() once user confirms.
+            mMultiSimDialog = false;
+            super.performClick(view);
+        } else {
+            // If we are showing the Sim Card tile then we are a Multi-Sim device.
+            if (Utils.showSimCardTile(getContext())) {
+                mMultiSimDialog = true;
+                super.performClick(view);
+            } else {
+                setMobileDataEnabled(true);
+            }
+        }
+    }
+
+    private void setMobileDataEnabled(boolean enabled) {
+        if (DataUsageSummary.LOGD) Log.d(TAG, "setMobileDataEnabled()");
+        mTelephonyManager.setDataEnabled(mSubId, enabled);
+        setChecked(enabled);
+        getContext().sendBroadcast(new Intent(ACTION_DATA_ENABLED_CHANGED));
+    }
+
+    private void setChecked(boolean checked) {
+        if (mChecked == checked) return;
+        mChecked = checked;
+        notifyChanged();
+    }
+
+    @Override
+    public void onBindViewHolder(PreferenceViewHolder holder) {
+        super.onBindViewHolder(holder);
+        View switchView = holder.findViewById(android.R.id.switch_widget);
+        switchView.setClickable(false);
+        ((Checkable) switchView).setChecked(mChecked);
+    }
+
+    @Override
+    protected void onPrepareDialogBuilder(AlertDialog.Builder builder,
+            DialogInterface.OnClickListener listener) {
+        if (mMultiSimDialog) {
+            showMultiSimDialog(builder, listener);
+        } else {
+            showDisableDialog(builder, listener);
+        }
+    }
+
+    private void showDisableDialog(AlertDialog.Builder builder,
+            DialogInterface.OnClickListener listener) {
+        builder.setTitle(null)
+                .setMessage(R.string.data_usage_disable_mobile)
+                .setPositiveButton(android.R.string.ok, listener)
+                .setNegativeButton(android.R.string.cancel, null);
+    }
+
+    private void showMultiSimDialog(AlertDialog.Builder builder,
+            DialogInterface.OnClickListener listener) {
+        mSubscriptionManager = SubscriptionManager.from(getContext());
+        final SubscriptionInfo currentSir = mSubscriptionManager.getActiveSubscriptionInfo(mSubId);
+
+        final SubscriptionInfo nextSir = mSubscriptionManager.getDefaultDataSubscriptionInfo();
+
+        // If the device is single SIM or is enabling data on the active data SIM then forgo
+        // the pop-up.
+        if (!Utils.showSimCardTile(getContext()) ||
+                (nextSir != null && currentSir != null &&
+                currentSir.getSubscriptionId() == nextSir.getSubscriptionId())) {
+            setMobileDataEnabled(true);
+            if (nextSir != null && currentSir != null &&
+                currentSir.getSubscriptionId() == nextSir.getSubscriptionId()) {
+                disableDataForOtherSubscriptions(currentSir);
+            }
+            return;
+        }
+
+        final String previousName = (nextSir == null)
+            ? getContext().getResources().getString(R.string.sim_selection_required_pref)
+            : nextSir.getDisplayName().toString();
+
+        builder.setTitle(R.string.sim_change_data_title);
+        builder.setMessage(getContext().getString(R.string.sim_change_data_message,
+                    currentSir.getDisplayName(), previousName));
+
+        builder.setPositiveButton(R.string.okay, new DialogInterface.OnClickListener() {
+            @Override
+            public void onClick(DialogInterface dialog, int id) {
+                mSubscriptionManager.setDefaultDataSubId(currentSir.getSubscriptionId());
+                setMobileDataEnabled(true);
+                disableDataForOtherSubscriptions(currentSir);
+            }
+        });
+        builder.setNegativeButton(R.string.cancel, null);
+
+        builder.create().show();
+    }
+
+    private void disableDataForOtherSubscriptions(SubscriptionInfo currentSir) {
+        List<SubscriptionInfo> subInfoList = mSubscriptionManager.getActiveSubscriptionInfoList();
+        if (subInfoList != null) {
+            for (SubscriptionInfo subInfo : subInfoList) {
+                if (subInfo.getSubscriptionId() != currentSir.getSubscriptionId()) {
+                    mTelephonyManager.setDataEnabled(subInfo.getSubscriptionId(), false);
+                }
+            }
+        }
+        getContext().sendBroadcast(new Intent(ACTION_DATA_ENABLED_CHANGED));
+    }
+
+    @Override
+    protected void onClick(DialogInterface dialog, int which) {
+        if (which != DialogInterface.BUTTON_POSITIVE) {
+            return;
+        }
+        if (mMultiSimDialog) {
+        } else {
+            // TODO: extend to modify policy enabled flag.
+            setMobileDataEnabled(false);
+        }
+    }
+
+    private final BroadcastReceiver mReceiver = new BroadcastReceiver() {
+        @Override
+        public void onReceive(Context context, Intent intent) {
+            updateChecked();
+        }
+    };
+
+    public static class CellDataState extends BaseSavedState {
+        public int mSubId;
+        public boolean mChecked;
+        public boolean mMultiSimDialog;
+
+        public CellDataState(Parcelable base) {
+            super(base);
+        }
+
+        public CellDataState(Parcel source) {
+            super(source);
+            mChecked = source.readByte() != 0;
+            mMultiSimDialog = source.readByte() != 0;
+            mSubId = source.readInt();
+        }
+
+        @Override
+        public void writeToParcel(Parcel dest, int flags) {
+            super.writeToParcel(dest, flags);
+            dest.writeByte((byte) (mChecked ? 1 : 0));
+            dest.writeByte((byte) (mMultiSimDialog ? 1 : 0));
+            dest.writeInt(mSubId);
+        }
+
+        public static final Creator<CellDataState> CREATOR = new Creator<CellDataState>() {
+            @Override
+            public CellDataState createFromParcel(Parcel source) {
+                return new CellDataState(source);
+            }
+
+            @Override
+            public CellDataState[] newArray(int size) {
+                return new CellDataState[size];
+            }
+        };
+    }
+}
diff --git a/src/com/android/settings/datausage/ChartDataUsagePreference.java b/src/com/android/settings/datausage/ChartDataUsagePreference.java
new file mode 100644
index 0000000..f328cf6
--- /dev/null
+++ b/src/com/android/settings/datausage/ChartDataUsagePreference.java
@@ -0,0 +1,82 @@
+/*
+ * 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.datausage;
+
+import android.content.Context;
+import android.graphics.Color;
+import android.net.NetworkPolicy;
+import android.net.NetworkStatsHistory;
+import android.support.v7.preference.Preference;
+import android.support.v7.preference.PreferenceViewHolder;
+import android.util.AttributeSet;
+import com.android.settings.R;
+import com.android.settings.widget.ChartDataUsageView;
+import com.android.settings.widget.ChartNetworkSeriesView;
+
+public class ChartDataUsagePreference extends Preference {
+
+    private NetworkPolicy mPolicy;
+    private long mStart;
+    private long mEnd;
+    private NetworkStatsHistory mNetwork;
+    private int mSecondaryColor;
+    private int mSeriesColor;
+
+    public ChartDataUsagePreference(Context context, AttributeSet attrs) {
+        super(context, attrs);
+        setLayoutResource(R.layout.data_usage_chart);
+    }
+
+    @Override
+    public void onBindViewHolder(PreferenceViewHolder holder) {
+        super.onBindViewHolder(holder);
+        ChartDataUsageView chart = (ChartDataUsageView) holder.itemView;
+        chart.setVisibleRange(mStart, mEnd);
+        chart.bindNetworkPolicy(mPolicy);
+        chart.bindNetworkStats(mNetwork);
+        ChartNetworkSeriesView series = (ChartNetworkSeriesView) holder.findViewById(R.id.series);
+        series.setChartColor(Color.BLACK, mSeriesColor, mSecondaryColor);
+    }
+
+    public void bindNetworkPolicy(NetworkPolicy policy) {
+        mPolicy = policy;
+        notifyChanged();
+    }
+
+    public void setVisibleRange(long start, long end) {
+        mStart = start;
+        mEnd = end;
+        notifyChanged();
+    }
+
+    public long getInspectStart() {
+        return mStart;
+    }
+
+    public long getInspectEnd() {
+        return mEnd;
+    }
+
+    public void bindNetworkStats(NetworkStatsHistory network) {
+        mNetwork = network;
+        notifyChanged();
+    }
+
+    public void setColors(int seriesColor, int secondaryColor) {
+        mSeriesColor = seriesColor;
+        mSecondaryColor = secondaryColor;
+        notifyChanged();
+    }
+}
diff --git a/src/com/android/settings/datausage/CycleAdapter.java b/src/com/android/settings/datausage/CycleAdapter.java
new file mode 100644
index 0000000..682cc8a
--- /dev/null
+++ b/src/com/android/settings/datausage/CycleAdapter.java
@@ -0,0 +1,188 @@
+/*
+ * 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.datausage;
+
+import com.android.settings.Utils;
+import com.android.settingslib.net.ChartData;
+
+import android.content.Context;
+import android.net.NetworkPolicy;
+import android.net.NetworkStatsHistory;
+import android.text.format.DateUtils;
+import android.widget.AdapterView;
+import android.widget.ArrayAdapter;
+import android.widget.Spinner;
+
+import libcore.util.Objects;
+
+import static android.net.NetworkPolicyManager.computeLastCycleBoundary;
+import static android.net.NetworkPolicyManager.computeNextCycleBoundary;
+
+public class CycleAdapter extends ArrayAdapter<CycleAdapter.CycleItem> {
+
+    private final Spinner mSpinner;
+    private final AdapterView.OnItemSelectedListener mListener;
+
+    public CycleAdapter(Context context, Spinner spinner,
+            AdapterView.OnItemSelectedListener listener) {
+        super(context, com.android.settings.R.layout.filter_spinner_item);
+        setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
+        mSpinner = spinner;
+        mListener = listener;
+        mSpinner.setAdapter(this);
+        mSpinner.setOnItemSelectedListener(mListener);
+    }
+
+    /**
+     * Find position of {@link CycleItem} in this adapter which is nearest
+     * the given {@link CycleItem}.
+     */
+    public int findNearestPosition(CycleItem target) {
+        if (target != null) {
+            final int count = getCount();
+            for (int i = count - 1; i >= 0; i--) {
+                final CycleItem item = getItem(i);
+                if (item.compareTo(target) >= 0) {
+                    return i;
+                }
+            }
+        }
+        return 0;
+    }
+
+    /**
+     * Rebuild list based on {@link NetworkPolicy#cycleDay}
+     * and available {@link NetworkStatsHistory} data. Always selects the newest
+     * item, updating the inspection range on chartData.
+     */
+     public boolean updateCycleList(NetworkPolicy policy, ChartData chartData) {
+        // stash away currently selected cycle to try restoring below
+        final CycleAdapter.CycleItem previousItem = (CycleAdapter.CycleItem)
+                mSpinner.getSelectedItem();
+        clear();
+
+        final Context context = mSpinner.getContext();
+        NetworkStatsHistory.Entry entry = null;
+
+        long historyStart = Long.MAX_VALUE;
+        long historyEnd = Long.MIN_VALUE;
+        if (chartData != null) {
+            historyStart = chartData.network.getStart();
+            historyEnd = chartData.network.getEnd();
+        }
+
+        final long now = System.currentTimeMillis();
+        if (historyStart == Long.MAX_VALUE) historyStart = now;
+        if (historyEnd == Long.MIN_VALUE) historyEnd = now + 1;
+
+        boolean hasCycles = false;
+        if (policy != null) {
+            // find the next cycle boundary
+            long cycleEnd = computeNextCycleBoundary(historyEnd, policy);
+
+            // walk backwards, generating all valid cycle ranges
+            while (cycleEnd > historyStart) {
+                final long cycleStart = computeLastCycleBoundary(cycleEnd, policy);
+
+                final boolean includeCycle;
+                if (chartData != null) {
+                    entry = chartData.network.getValues(cycleStart, cycleEnd, entry);
+                    includeCycle = (entry.rxBytes + entry.txBytes) > 0;
+                } else {
+                    includeCycle = true;
+                }
+
+                if (includeCycle) {
+                    add(new CycleAdapter.CycleItem(context, cycleStart, cycleEnd));
+                    hasCycles = true;
+                }
+                cycleEnd = cycleStart;
+            }
+        }
+
+        if (!hasCycles) {
+            // no policy defined cycles; show entry for each four-week period
+            long cycleEnd = historyEnd;
+            while (cycleEnd > historyStart) {
+                final long cycleStart = cycleEnd - (DateUtils.WEEK_IN_MILLIS * 4);
+
+                final boolean includeCycle;
+                if (chartData != null) {
+                    entry = chartData.network.getValues(cycleStart, cycleEnd, entry);
+                    includeCycle = (entry.rxBytes + entry.txBytes) > 0;
+                } else {
+                    includeCycle = true;
+                }
+
+                if (includeCycle) {
+                    add(new CycleAdapter.CycleItem(context, cycleStart, cycleEnd));
+                }
+                cycleEnd = cycleStart;
+            }
+        }
+
+        // force pick the current cycle (first item)
+        if (getCount() > 0) {
+            final int position = findNearestPosition(previousItem);
+            mSpinner.setSelection(position);
+
+            // only force-update cycle when changed; skipping preserves any
+            // user-defined inspection region.
+            final CycleAdapter.CycleItem selectedItem = getItem(position);
+            if (!Objects.equal(selectedItem, previousItem)) {
+                mListener.onItemSelected(mSpinner, null, position, 0);
+                return false;
+            }
+        }
+        return true;
+    }
+
+    /**
+     * List item that reflects a specific data usage cycle.
+     */
+    public static class CycleItem implements Comparable<CycleItem> {
+        public CharSequence label;
+        public long start;
+        public long end;
+
+        public CycleItem(CharSequence label) {
+            this.label = label;
+        }
+
+        public CycleItem(Context context, long start, long end) {
+            this.label = Utils.formatDateRange(context, start, end);
+            this.start = start;
+            this.end = end;
+        }
+
+        @Override
+        public String toString() {
+            return label.toString();
+        }
+
+        @Override
+        public boolean equals(Object o) {
+            if (o instanceof CycleItem) {
+                final CycleItem another = (CycleItem) o;
+                return start == another.start && end == another.end;
+            }
+            return false;
+        }
+
+        @Override
+        public int compareTo(CycleItem another) {
+            return Long.compare(start, another.start);
+        }
+    }
+}
diff --git a/src/com/android/settings/datausage/DataUsageBase.java b/src/com/android/settings/datausage/DataUsageBase.java
new file mode 100644
index 0000000..ef565a1
--- /dev/null
+++ b/src/com/android/settings/datausage/DataUsageBase.java
@@ -0,0 +1,92 @@
+/*
+ * 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.datausage;
+
+import com.android.settings.SettingsPreferenceFragment;
+import com.android.settingslib.NetworkPolicyEditor;
+
+import android.content.Context;
+import android.net.INetworkStatsService;
+import android.net.NetworkPolicy;
+import android.net.NetworkPolicyManager;
+import android.os.Bundle;
+import android.os.INetworkManagementService;
+import android.os.RemoteException;
+import android.os.ServiceManager;
+import android.os.UserManager;
+import android.telephony.SubscriptionManager;
+import android.telephony.TelephonyManager;
+import android.util.Log;
+
+public abstract class DataUsageBase extends SettingsPreferenceFragment {
+
+    private static final String TAG = "DataUsageBase";
+
+    protected final TemplatePreference.NetworkServices services =
+            new TemplatePreference.NetworkServices();
+
+    @Override
+    public void onCreate(Bundle icicle) {
+        super.onCreate(icicle);
+        final Context context = getActivity();
+
+        services.mNetworkService = INetworkManagementService.Stub.asInterface(
+                ServiceManager.getService(Context.NETWORKMANAGEMENT_SERVICE));
+        services.mStatsService = INetworkStatsService.Stub.asInterface(
+                ServiceManager.getService(Context.NETWORK_STATS_SERVICE));
+        services.mPolicyManager = NetworkPolicyManager.from(context);
+
+        services.mPolicyEditor = new NetworkPolicyEditor(services.mPolicyManager);
+
+        services.mTelephonyManager = TelephonyManager.from(context);
+        services.mSubscriptionManager = SubscriptionManager.from(context);
+        services.mUserManager = UserManager.get(context);
+    }
+
+    @Override
+    public void onResume() {
+        super.onResume();
+        services.mPolicyEditor.read();
+    }
+
+    protected boolean isAdmin() {
+        return services.mUserManager.isAdminUser();
+    }
+
+    protected boolean isMobileDataAvailable(int subId) {
+        return services.mSubscriptionManager.getActiveSubscriptionInfo(subId) != null;
+    }
+
+    protected boolean isNetworkPolicyModifiable(NetworkPolicy policy, int subId) {
+        return policy != null && isBandwidthControlEnabled() && services.mUserManager.isAdminUser()
+                && isDataEnabled(subId);
+    }
+
+    private boolean isDataEnabled(int subId) {
+        if (subId == SubscriptionManager.INVALID_SUBSCRIPTION_ID) {
+            return true;
+        }
+        return services.mTelephonyManager.getDataEnabled(subId);
+    }
+
+    protected boolean isBandwidthControlEnabled() {
+        try {
+            return services.mNetworkService.isBandwidthControlEnabled();
+        } catch (RemoteException e) {
+            Log.w(TAG, "problem talking with INetworkManagementService: " + e);
+            return false;
+        }
+    }
+}
diff --git a/src/com/android/settings/datausage/DataUsageList.java b/src/com/android/settings/datausage/DataUsageList.java
new file mode 100644
index 0000000..4aa52ba
--- /dev/null
+++ b/src/com/android/settings/datausage/DataUsageList.java
@@ -0,0 +1,550 @@
+/*
+ * 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.datausage;
+
+import android.app.ActivityManager;
+import android.app.LoaderManager.LoaderCallbacks;
+import android.content.Context;
+import android.content.Loader;
+import android.content.pm.UserInfo;
+import android.graphics.Color;
+import android.net.ConnectivityManager;
+import android.net.INetworkStatsSession;
+import android.net.NetworkPolicy;
+import android.net.NetworkStats;
+import android.net.NetworkStatsHistory;
+import android.net.NetworkTemplate;
+import android.net.TrafficStats;
+import android.os.AsyncTask;
+import android.os.Bundle;
+import android.os.RemoteException;
+import android.os.SystemProperties;
+import android.os.UserHandle;
+import android.os.UserManager;
+import android.support.v7.preference.Preference;
+import android.support.v7.preference.PreferenceGroup;
+import android.telephony.SubscriptionInfo;
+import android.telephony.SubscriptionManager;
+import android.telephony.TelephonyManager;
+import android.text.format.DateUtils;
+import android.text.format.Formatter;
+import android.util.Log;
+import android.util.SparseArray;
+import android.view.View;
+import android.widget.AdapterView;
+import android.widget.AdapterView.OnItemSelectedListener;
+import android.widget.Spinner;
+import com.android.settings.InstrumentedFragment;
+import com.android.settings.R;
+import com.android.settingslib.AppItem;
+import com.android.settingslib.net.ChartData;
+import com.android.settingslib.net.ChartDataLoader;
+import com.android.settingslib.net.SummaryForAllUidLoader;
+import com.android.settingslib.net.UidDetailProvider;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import static android.net.ConnectivityManager.TYPE_MOBILE;
+import static android.net.NetworkPolicyManager.POLICY_REJECT_METERED_BACKGROUND;
+import static android.net.TrafficStats.UID_REMOVED;
+import static android.net.TrafficStats.UID_TETHERING;
+import static android.telephony.TelephonyManager.SIM_STATE_READY;
+import static com.android.settings.datausage.DataUsageSummary.TEST_RADIOS;
+import static com.android.settings.datausage.DataUsageSummary.TEST_RADIOS_PROP;
+
+/**
+ * Panel showing data usage history across various networks, including options
+ * to inspect based on usage cycle and control through {@link NetworkPolicy}.
+ */
+public class DataUsageList extends DataUsageBase {
+    private static final String TAG = "DataUsage";
+    private static final boolean LOGD = false;
+
+    private static final String KEY_USAGE_AMOUNT = "usage_amount";
+    private static final String KEY_CHART_DATA = "chart_data";
+    private static final String KEY_APPS_GROUP = "apps_group";
+
+    private static final int LOADER_CHART_DATA = 2;
+    private static final int LOADER_SUMMARY = 3;
+    public static final String EXTRA_SUB_ID = "sub_id";
+    public static final String EXTRA_NETWORK_TEMPLATE = "network_template";
+
+    private INetworkStatsSession mStatsSession;
+
+    private ChartDataUsagePreference mChart;
+
+    private NetworkTemplate mTemplate;
+    private int mSubId;
+    private ChartData mChartData;
+
+    /** Flag used to ignore listeners during binding. */
+    private boolean mBinding;
+
+    private UidDetailProvider mUidDetailProvider;
+
+    /**
+     * Local cache of data enabled for subId, used to work around delays.
+     */
+    private final Map<String, Boolean> mMobileDataEnabled = new HashMap<String, Boolean>();
+    private CycleAdapter mCycleAdapter;
+    private Spinner mCycleSpinner;
+    private Preference mUsageAmount;
+    private PreferenceGroup mApps;
+    private View mHeader;
+
+    @Override
+    protected int getMetricsCategory() {
+        return InstrumentedFragment.DATA_USAGE_LIST;
+    }
+
+    @Override
+    public void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        final Context context = getActivity();
+
+        if (!isBandwidthControlEnabled()) {
+            Log.w(TAG, "No bandwidth control; leaving");
+            getActivity().finish();
+        }
+
+        try {
+            mStatsSession = services.mStatsService.openSession();
+        } catch (RemoteException e) {
+            throw new RuntimeException(e);
+        }
+
+        mUidDetailProvider = new UidDetailProvider(context);
+
+        addPreferencesFromResource(R.xml.data_usage_list);
+        mUsageAmount = findPreference(KEY_USAGE_AMOUNT);
+        mChart = (ChartDataUsagePreference) findPreference(KEY_CHART_DATA);
+        mApps = (PreferenceGroup) findPreference(KEY_APPS_GROUP);
+
+        final Bundle args = getArguments();
+        mSubId = args.getInt(EXTRA_SUB_ID, SubscriptionManager.INVALID_SUBSCRIPTION_ID);
+        mTemplate = args.getParcelable(EXTRA_NETWORK_TEMPLATE);
+    }
+
+    @Override
+    public void onViewCreated(View v, Bundle savedInstanceState) {
+        super.onViewCreated(v, savedInstanceState);
+
+        mHeader = setPinnedHeaderView(R.layout.apps_filter_spinner);
+        mCycleSpinner = (Spinner) mHeader.findViewById(R.id.filter_spinner);
+        mCycleAdapter = new CycleAdapter(getContext(), mCycleSpinner, mCycleListener);
+        setLoading(true, false);
+    }
+
+    @Override
+    public void onResume() {
+        super.onResume();
+
+        updateBody();
+
+        // kick off background task to update stats
+        new AsyncTask<Void, Void, Void>() {
+            @Override
+            protected Void doInBackground(Void... params) {
+                try {
+                    // wait a few seconds before kicking off
+                    Thread.sleep(2 * DateUtils.SECOND_IN_MILLIS);
+                    services.mStatsService.forceUpdate();
+                } catch (InterruptedException e) {
+                } catch (RemoteException e) {
+                }
+                return null;
+            }
+
+            @Override
+            protected void onPostExecute(Void result) {
+                if (isAdded()) {
+                    updateBody();
+                }
+            }
+        }.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
+    }
+
+    @Override
+    public void onDestroy() {
+        mUidDetailProvider.clearCache();
+        mUidDetailProvider = null;
+
+        TrafficStats.closeQuietly(mStatsSession);
+
+        super.onDestroy();
+    }
+
+    /**
+     * Update body content based on current tab. Loads
+     * {@link NetworkStatsHistory} and {@link NetworkPolicy} from system, and
+     * binds them to visible controls.
+     */
+    private void updateBody() {
+        mBinding = true;
+        if (!isAdded()) return;
+
+        final Context context = getActivity();
+
+        // kick off loader for network history
+        // TODO: consider chaining two loaders together instead of reloading
+        // network history when showing app detail.
+        getLoaderManager().restartLoader(LOADER_CHART_DATA,
+                ChartDataLoader.buildArgs(mTemplate, null), mChartDataCallbacks);
+
+        // detail mode can change visible menus, invalidate
+        getActivity().invalidateOptionsMenu();
+
+        mBinding = false;
+
+        int seriesColor = context.getColor(R.color.sim_noitification);
+        if (mSubId != SubscriptionManager.INVALID_SUBSCRIPTION_ID){
+            final SubscriptionInfo sir = services.mSubscriptionManager
+                    .getActiveSubscriptionInfo(mSubId);
+
+            if (sir != null) {
+                seriesColor = sir.getIconTint();
+            }
+        }
+
+        final int secondaryColor = Color.argb(127, Color.red(seriesColor), Color.green(seriesColor),
+                Color.blue(seriesColor));
+        mChart.setColors(seriesColor, secondaryColor);
+    }
+
+    /**
+     * Update chart sweeps and cycle list to reflect {@link NetworkPolicy} for
+     * current {@link #mTemplate}.
+     */
+    private void updatePolicy(boolean refreshCycle) {
+        final NetworkPolicy policy = services.mPolicyEditor.getPolicy(mTemplate);
+        //SUB SELECT
+        if (isNetworkPolicyModifiable(policy, mSubId) && isMobileDataAvailable(mSubId)) {
+            mChart.bindNetworkPolicy(policy);
+            mHeader.findViewById(R.id.filter_settings).setVisibility(View.VISIBLE);
+            mHeader.findViewById(R.id.filter_settings).setOnClickListener(
+                    new View.OnClickListener() {
+                @Override
+                public void onClick(View v) {
+                    Bundle args = new Bundle();
+                    args.putParcelable(DataUsageList.EXTRA_NETWORK_TEMPLATE, mTemplate);
+                    startFragment(DataUsageList.this, BillingCycleSettings.class.getName(),
+                            R.string.billing_cycle, 0, args);
+                }
+            });
+        } else {
+            // controls are disabled; don't bind warning/limit sweeps
+            mChart.bindNetworkPolicy(null);
+            mHeader.findViewById(R.id.filter_settings).setVisibility(View.GONE);
+        }
+
+        if (refreshCycle) {
+            // generate cycle list based on policy and available history
+            if (mCycleAdapter.updateCycleList(policy, mChartData)) {
+                updateDetailData();
+            }
+        }
+    }
+
+    /**
+     * Update details based on {@link #mChart} inspection range depending on
+     * current mode. Updates {@link #mAdapter} with sorted list
+     * of applications data usage.
+     */
+    private void updateDetailData() {
+        if (LOGD) Log.d(TAG, "updateDetailData()");
+
+        final long start = mChart.getInspectStart();
+        final long end = mChart.getInspectEnd();
+        final long now = System.currentTimeMillis();
+
+        final Context context = getActivity();
+
+        NetworkStatsHistory.Entry entry = null;
+        if (mChartData != null) {
+            entry = mChartData.network.getValues(start, end, now, null);
+        }
+
+        // kick off loader for detailed stats
+        getLoaderManager().restartLoader(LOADER_SUMMARY,
+                SummaryForAllUidLoader.buildArgs(mTemplate, start, end), mSummaryCallbacks);
+
+        final long totalBytes = entry != null ? entry.rxBytes + entry.txBytes : 0;
+        final String totalPhrase = Formatter.formatFileSize(context, totalBytes);
+        mUsageAmount.setTitle(getString(R.string.data_used_template, totalPhrase));
+    }
+
+    /**
+     * Bind the given {@link NetworkStats}, or {@code null} to clear list.
+     */
+    public void bindStats(NetworkStats stats, int[] restrictedUids) {
+        ArrayList<AppItem> items = new ArrayList<>();
+        long largest = 0;
+
+        final int currentUserId = ActivityManager.getCurrentUser();
+        UserManager userManager = UserManager.get(getContext());
+        final List<UserHandle> profiles = userManager.getUserProfiles();
+        final SparseArray<AppItem> knownItems = new SparseArray<AppItem>();
+
+        NetworkStats.Entry entry = null;
+        final int size = stats != null ? stats.size() : 0;
+        for (int i = 0; i < size; i++) {
+            entry = stats.getValues(i, entry);
+
+            // Decide how to collapse items together
+            final int uid = entry.uid;
+
+            final int collapseKey;
+            final int category;
+            final int userId = UserHandle.getUserId(uid);
+            if (UserHandle.isApp(uid)) {
+                if (profiles.contains(new UserHandle(userId))) {
+                    if (userId != currentUserId) {
+                        // Add to a managed user item.
+                        final int managedKey = UidDetailProvider.buildKeyForUser(userId);
+                        largest = accumulate(managedKey, knownItems, entry, AppItem.CATEGORY_USER,
+                                items, largest);
+                    }
+                    // Add to app item.
+                    collapseKey = uid;
+                    category = AppItem.CATEGORY_APP;
+                } else {
+                    // If it is a removed user add it to the removed users' key
+                    final UserInfo info = userManager.getUserInfo(userId);
+                    if (info == null) {
+                        collapseKey = UID_REMOVED;
+                        category = AppItem.CATEGORY_APP;
+                    } else {
+                        // Add to other user item.
+                        collapseKey = UidDetailProvider.buildKeyForUser(userId);
+                        category = AppItem.CATEGORY_USER;
+                    }
+                }
+            } else if (uid == UID_REMOVED || uid == UID_TETHERING) {
+                collapseKey = uid;
+                category = AppItem.CATEGORY_APP;
+            } else {
+                collapseKey = android.os.Process.SYSTEM_UID;
+                category = AppItem.CATEGORY_APP;
+            }
+            largest = accumulate(collapseKey, knownItems, entry, category, items, largest);
+        }
+
+        final int restrictedUidsMax = restrictedUids.length;
+        for (int i = 0; i < restrictedUidsMax; ++i) {
+            final int uid = restrictedUids[i];
+            // Only splice in restricted state for current user or managed users
+            if (!profiles.contains(new UserHandle(UserHandle.getUserId(uid)))) {
+                continue;
+            }
+
+            AppItem item = knownItems.get(uid);
+            if (item == null) {
+                item = new AppItem(uid);
+                item.total = -1;
+                items.add(item);
+                knownItems.put(item.key, item);
+            }
+            item.restricted = true;
+        }
+
+        Collections.sort(items);
+        mApps.removeAll();
+        for (int i = 0; i < items.size(); i++) {
+            final int percentTotal = largest != 0 ? (int) (items.get(i).total * 100 / largest) : 0;
+            AppDataUsagePreference preference = new AppDataUsagePreference(getContext(),
+                    items.get(i), percentTotal, mUidDetailProvider);
+            preference.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {
+                @Override
+                public boolean onPreferenceClick(Preference preference) {
+                    AppDataUsagePreference pref = (AppDataUsagePreference) preference;
+                    AppItem item = pref.getItem();
+                    startAppDataUsage(item);
+                    return true;
+                }
+            });
+            mApps.addPreference(preference);
+        }
+    }
+
+    private void startAppDataUsage(AppItem item) {
+        Bundle args = new Bundle();
+        args.putParcelable(AppDataUsage.ARG_APP_ITEM, item);
+        args.putParcelable(AppDataUsage.ARG_NETWORK_TEMPLATE, mTemplate);
+        startFragment(this, AppDataUsage.class.getName(), R.string.app_data_usage, 0, args);
+    }
+
+    /**
+     * Accumulate data usage of a network stats entry for the item mapped by the collapse key.
+     * Creates the item if needed.
+     * @param collapseKey the collapse key used to map the item.
+     * @param knownItems collection of known (already existing) items.
+     * @param entry the network stats entry to extract data usage from.
+     * @param itemCategory the item is categorized on the list view by this category. Must be
+     */
+    private static long accumulate(int collapseKey, final SparseArray<AppItem> knownItems,
+            NetworkStats.Entry entry, int itemCategory, ArrayList<AppItem> items, long largest) {
+        final int uid = entry.uid;
+        AppItem item = knownItems.get(collapseKey);
+        if (item == null) {
+            item = new AppItem(collapseKey);
+            item.category = itemCategory;
+            items.add(item);
+            knownItems.put(item.key, item);
+        }
+        item.addUid(uid);
+        item.total += entry.rxBytes + entry.txBytes;
+        return Math.max(largest, item.total);
+    }
+
+    /**
+     * Test if device has a mobile data radio with SIM in ready state.
+     */
+    public static boolean hasReadyMobileRadio(Context context) {
+        if (TEST_RADIOS) {
+            return SystemProperties.get(TEST_RADIOS_PROP).contains("mobile");
+        }
+
+        final ConnectivityManager conn = ConnectivityManager.from(context);
+        final TelephonyManager tele = TelephonyManager.from(context);
+
+        final List<SubscriptionInfo> subInfoList =
+                SubscriptionManager.from(context).getActiveSubscriptionInfoList();
+        // No activated Subscriptions
+        if (subInfoList == null) {
+            if (LOGD) Log.d(TAG, "hasReadyMobileRadio: subInfoList=null");
+            return false;
+        }
+        // require both supported network and ready SIM
+        boolean isReady = true;
+        for (SubscriptionInfo subInfo : subInfoList) {
+            isReady = isReady & tele.getSimState(subInfo.getSimSlotIndex()) == SIM_STATE_READY;
+            if (LOGD) Log.d(TAG, "hasReadyMobileRadio: subInfo=" + subInfo);
+        }
+        boolean retVal = conn.isNetworkSupported(TYPE_MOBILE) && isReady;
+        if (LOGD) {
+            Log.d(TAG, "hasReadyMobileRadio:"
+                    + " conn.isNetworkSupported(TYPE_MOBILE)="
+                                            + conn.isNetworkSupported(TYPE_MOBILE)
+                    + " isReady=" + isReady);
+        }
+        return retVal;
+    }
+
+    /*
+     * TODO: consider adding to TelephonyManager or SubscriptionManager.
+     */
+    public static boolean hasReadyMobileRadio(Context context, int subId) {
+        if (TEST_RADIOS) {
+            return SystemProperties.get(TEST_RADIOS_PROP).contains("mobile");
+        }
+
+        final ConnectivityManager conn = ConnectivityManager.from(context);
+        final TelephonyManager tele = TelephonyManager.from(context);
+        final int slotId = SubscriptionManager.getSlotId(subId);
+        final boolean isReady = tele.getSimState(slotId) == SIM_STATE_READY;
+
+        boolean retVal =  conn.isNetworkSupported(TYPE_MOBILE) && isReady;
+        if (LOGD) Log.d(TAG, "hasReadyMobileRadio: subId=" + subId
+                + " conn.isNetworkSupported(TYPE_MOBILE)=" + conn.isNetworkSupported(TYPE_MOBILE)
+                + " isReady=" + isReady);
+        return retVal;
+    }
+
+    private OnItemSelectedListener mCycleListener = new OnItemSelectedListener() {
+        @Override
+        public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
+            final CycleAdapter.CycleItem cycle = (CycleAdapter.CycleItem)
+                    parent.getItemAtPosition(position);
+
+            if (LOGD) {
+                Log.d(TAG, "showing cycle " + cycle + ", start=" + cycle.start + ", end="
+                        + cycle.end + "]");
+            }
+
+            // update chart to show selected cycle, and update detail data
+            // to match updated sweep bounds.
+            mChart.setVisibleRange(cycle.start, cycle.end);
+
+            updateDetailData();
+        }
+
+        @Override
+        public void onNothingSelected(AdapterView<?> parent) {
+            // ignored
+        }
+    };
+
+    private final LoaderCallbacks<ChartData> mChartDataCallbacks = new LoaderCallbacks<
+            ChartData>() {
+        @Override
+        public Loader<ChartData> onCreateLoader(int id, Bundle args) {
+            return new ChartDataLoader(getActivity(), mStatsSession, args);
+        }
+
+        @Override
+        public void onLoadFinished(Loader<ChartData> loader, ChartData data) {
+            setLoading(false, true);
+            mChartData = data;
+            mChart.bindNetworkStats(mChartData.network);
+
+            // calcuate policy cycles based on available data
+            updatePolicy(true);
+        }
+
+        @Override
+        public void onLoaderReset(Loader<ChartData> loader) {
+            mChartData = null;
+            mChart.bindNetworkStats(null);
+        }
+    };
+
+    private final LoaderCallbacks<NetworkStats> mSummaryCallbacks = new LoaderCallbacks<
+            NetworkStats>() {
+        @Override
+        public Loader<NetworkStats> onCreateLoader(int id, Bundle args) {
+            return new SummaryForAllUidLoader(getActivity(), mStatsSession, args);
+        }
+
+        @Override
+        public void onLoadFinished(Loader<NetworkStats> loader, NetworkStats data) {
+            final int[] restrictedUids = services.mPolicyManager.getUidsWithPolicy(
+                    POLICY_REJECT_METERED_BACKGROUND);
+            bindStats(data, restrictedUids);
+            updateEmptyVisible();
+        }
+
+        @Override
+        public void onLoaderReset(Loader<NetworkStats> loader) {
+            bindStats(null, new int[0]);
+            updateEmptyVisible();
+        }
+
+        private void updateEmptyVisible() {
+            if ((mApps.getPreferenceCount() != 0) !=
+                    (getPreferenceScreen().getPreferenceCount() != 0)) {
+                if (mApps.getPreferenceCount() != 0) {
+                    getPreferenceScreen().addPreference(mUsageAmount);
+                    getPreferenceScreen().addPreference(mApps);
+                } else {
+                    getPreferenceScreen().removeAll();
+                }
+            }
+        }
+    };
+}
diff --git a/src/com/android/settings/net/DataUsageMeteredSettings.java b/src/com/android/settings/datausage/DataUsageMeteredSettings.java
similarity index 93%
rename from src/com/android/settings/net/DataUsageMeteredSettings.java
rename to src/com/android/settings/datausage/DataUsageMeteredSettings.java
index ef3a705..9790704 100644
--- a/src/com/android/settings/net/DataUsageMeteredSettings.java
+++ b/src/com/android/settings/datausage/DataUsageMeteredSettings.java
@@ -1,20 +1,18 @@
 /*
- * Copyright (C) 2012 The Android Open Source Project
+ * 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
+ * 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.
+ * 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.net;
+package com.android.settings.datausage;
 
 import android.content.Context;
 import android.content.res.Resources;
@@ -42,8 +40,8 @@
 
 import static android.net.NetworkPolicy.LIMIT_DISABLED;
 import static android.net.wifi.WifiInfo.removeDoubleQuotes;
-import static com.android.settings.DataUsageSummary.hasReadyMobileRadio;
-import static com.android.settings.DataUsageSummary.hasWifiRadio;
+import static com.android.settings.datausage.DataUsageList.hasReadyMobileRadio;
+import static com.android.settings.datausage.DataUsageSummary.hasWifiRadio;
 
 /**
  * Panel to configure {@link NetworkPolicy#metered} for networks.
diff --git a/src/com/android/settings/datausage/DataUsagePreference.java b/src/com/android/settings/datausage/DataUsagePreference.java
new file mode 100644
index 0000000..bd865b5
--- /dev/null
+++ b/src/com/android/settings/datausage/DataUsagePreference.java
@@ -0,0 +1,58 @@
+/*
+ * 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.datausage;
+
+import android.content.Context;
+import android.content.Intent;
+import android.net.NetworkTemplate;
+import android.os.Bundle;
+import android.support.v7.preference.Preference;
+import android.telephony.SubscriptionManager;
+import android.text.format.Formatter;
+import android.util.AttributeSet;
+import com.android.settings.Utils;
+import com.android.settingslib.net.DataUsageController;
+import com.android.settings.R;
+
+public class DataUsagePreference extends Preference implements TemplatePreference {
+
+    private NetworkTemplate mTemplate;
+    private int mSubId;
+
+    public DataUsagePreference(Context context, AttributeSet attrs) {
+        super(context, attrs);
+    }
+
+    @Override
+    public void setTemplate(NetworkTemplate template, int subId,
+            NetworkServices services) {
+        mTemplate = template;
+        mSubId = subId;
+        DataUsageController controller = new DataUsageController(getContext());
+        DataUsageController.DataUsageInfo usageInfo = controller.getDataUsageInfo(mTemplate);
+        setSummary(getContext().getString(R.string.data_usage_template,
+                Formatter.formatFileSize(getContext(), usageInfo.usageLevel), usageInfo.period));
+        setIntent(getIntent());
+    }
+
+    @Override
+    public Intent getIntent() {
+        Bundle args = new Bundle();
+        args.putParcelable(DataUsageList.EXTRA_NETWORK_TEMPLATE, mTemplate);
+        args.putInt(DataUsageList.EXTRA_SUB_ID, mSubId);
+        return Utils.onBuildStartFragmentIntent(getContext(), DataUsageList.class.getName(), args,
+                getContext().getPackageName(), 0, getTitle(), false);
+    }
+}
diff --git a/src/com/android/settings/datausage/DataUsageSummary.java b/src/com/android/settings/datausage/DataUsageSummary.java
new file mode 100644
index 0000000..65e0217
--- /dev/null
+++ b/src/com/android/settings/datausage/DataUsageSummary.java
@@ -0,0 +1,375 @@
+/*
+ * 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.datausage;
+
+import android.app.Activity;
+import android.content.ComponentName;
+import android.content.Context;
+import android.content.Intent;
+import android.net.ConnectivityManager;
+import android.net.INetworkStatsSession;
+import android.net.NetworkTemplate;
+import android.net.TrafficStats;
+import android.os.Bundle;
+import android.os.RemoteException;
+import android.os.SystemProperties;
+import android.provider.SearchIndexableResource;
+import android.support.v7.preference.Preference;
+import android.support.v7.preference.PreferenceScreen;
+import android.telephony.SubscriptionInfo;
+import android.telephony.SubscriptionManager;
+import android.telephony.TelephonyManager;
+import android.text.format.Formatter;
+import android.view.Menu;
+import android.view.MenuInflater;
+import android.view.MenuItem;
+import com.android.internal.logging.MetricsLogger;
+import com.android.settings.R;
+import com.android.settings.SummaryPreference;
+import com.android.settings.Utils;
+import com.android.settings.dashboard.SummaryLoader;
+import com.android.settings.search.BaseSearchIndexProvider;
+import com.android.settings.search.Indexable;
+import com.android.settingslib.net.DataUsageController;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import static android.net.ConnectivityManager.TYPE_ETHERNET;
+import static android.net.ConnectivityManager.TYPE_WIFI;
+
+public class DataUsageSummary extends DataUsageBase implements Indexable {
+
+    private static final String TAG = "DataUsageSummary";
+    static final boolean LOGD = false;
+
+    public static final boolean TEST_RADIOS = false;
+    public static final String TEST_RADIOS_PROP = "test.radios";
+
+    private static final String KEY_STATUS_HEADER = "status_header";
+    private static final String KEY_LIMIT_SUMMARY = "limit_summary";
+    private static final String KEY_RESTRICT_BACKGROUND = "restrict_background";
+
+    private DataUsageController mDataUsageController;
+    private SummaryPreference mSummaryPreference;
+    private Preference mLimitPreference;
+    private NetworkTemplate mDefaultTemplate;
+    private int mDataUsageTemplate;
+
+    @Override
+    public void onCreate(Bundle icicle) {
+        super.onCreate(icicle);
+
+        boolean hasMobileData = hasMobileData(getContext());
+        mDataUsageController = new DataUsageController(getContext());
+        addPreferencesFromResource(R.xml.data_usage);
+
+        int defaultSubId = getDefaultSubscriptionId(getContext());
+        mDefaultTemplate = getDefaultTemplate(getContext(), defaultSubId);
+        if (hasMobileData) {
+            mLimitPreference = findPreference(KEY_LIMIT_SUMMARY);
+        } else {
+            removePreference(KEY_LIMIT_SUMMARY);
+        }
+        if (!hasMobileData || !isAdmin()) {
+            removePreference(KEY_RESTRICT_BACKGROUND);
+        }
+        if (hasMobileData) {
+            List<SubscriptionInfo> subscriptions =
+                    services.mSubscriptionManager.getActiveSubscriptionInfoList();
+            if (subscriptions == null || subscriptions.size() == 0) {
+                addMobileSection(defaultSubId);
+            }
+            for (int i = 0; subscriptions != null && i < subscriptions.size(); i++) {
+                addMobileSection(subscriptions.get(i).getSubscriptionId());
+            }
+        }
+        boolean hasWifiRadio = hasWifiRadio(getContext());
+        if (hasWifiRadio) {
+            addWifiSection();
+        }
+        if (hasEthernet(getContext())) {
+            addEthernetSection();
+        }
+        mDataUsageTemplate = hasMobileData ? R.string.cell_data_template
+                : hasWifiRadio ? R.string.wifi_data_template
+                : R.string.ethernet_data_template;
+
+        mSummaryPreference = (SummaryPreference) findPreference(KEY_STATUS_HEADER);
+        setHasOptionsMenu(true);
+    }
+
+    @Override
+    public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
+        inflater.inflate(R.menu.data_usage, menu);
+        super.onCreateOptionsMenu(menu, inflater);
+    }
+
+    @Override
+    public boolean onOptionsItemSelected(MenuItem item) {
+        switch (item.getItemId()) {
+            case R.id.data_usage_menu_cellular_networks: {
+                final Intent intent = new Intent(Intent.ACTION_MAIN);
+                intent.setComponent(new ComponentName("com.android.phone",
+                        "com.android.phone.MobileNetworkSettings"));
+                startActivity(intent);
+                return true;
+            }
+        }
+        return false;
+    }
+
+    private void addMobileSection(int subId) {
+        TemplatePreferenceCategory category = (TemplatePreferenceCategory)
+                inflatePreferences(R.xml.data_usage_cellular);
+        category.setTemplate(getNetworkTemplate(subId), subId, services);
+    }
+
+    private void addWifiSection() {
+        TemplatePreferenceCategory category = (TemplatePreferenceCategory)
+                inflatePreferences(R.xml.data_usage_wifi);
+        category.setTemplate(NetworkTemplate.buildTemplateWifiWildcard(), 0, services);
+    }
+
+    private void addEthernetSection() {
+        TemplatePreferenceCategory category = (TemplatePreferenceCategory)
+                inflatePreferences(R.xml.data_usage_ethernet);
+        category.setTemplate(NetworkTemplate.buildTemplateEthernet(), 0, services);
+    }
+
+    private Preference inflatePreferences(int resId) {
+        PreferenceScreen rootPreferences = getPreferenceManager().inflateFromResource(
+                getPrefContext(), resId, null);
+        Preference pref = rootPreferences.getPreference(0);
+        rootPreferences.removeAll();
+
+        PreferenceScreen screen = getPreferenceScreen();
+        pref.setOrder(screen.getPreferenceCount());
+        screen.addPreference(pref);
+
+        return pref;
+    }
+
+    private NetworkTemplate getNetworkTemplate(int subscriptionId) {
+        NetworkTemplate mobileAll = NetworkTemplate.buildTemplateMobileAll(
+                services.mTelephonyManager.getSubscriberId(subscriptionId));
+        return NetworkTemplate.normalize(mobileAll,
+                services.mTelephonyManager.getMergedSubscriberIds());
+    }
+
+    @Override
+    public void onResume() {
+        super.onResume();
+        updateState();
+    }
+
+    private void updateState() {
+        DataUsageController.DataUsageInfo info = mDataUsageController.getDataUsageInfo(
+                mDefaultTemplate);
+        Context context = getContext();
+        if (mSummaryPreference != null) {
+            Formatter.BytesResult usedResult = Formatter.formatBytes(context.getResources(),
+                    info.usageLevel, Formatter.FLAG_SHORTER);
+            mSummaryPreference.setAmount(usedResult.value);
+            mSummaryPreference.setUnits(getString(mDataUsageTemplate, usedResult.units));
+            long limit = info.limitLevel;
+            if (limit <= 0) {
+                limit = info.warningLevel;
+            }
+            if (info.usageLevel > limit) {
+                limit = info.usageLevel;
+            }
+            mSummaryPreference.setSummary(info.period);
+            mSummaryPreference.setLabels(Formatter.formatFileSize(context, 0),
+                    Formatter.formatFileSize(context, limit));
+            mSummaryPreference.setRatios(info.usageLevel / (float) limit, 0,
+                    (limit - info.usageLevel) / (float) limit);
+        }
+        if (mLimitPreference != null) {
+            String warning = Formatter.formatFileSize(context, info.warningLevel);
+            String limit = Formatter.formatFileSize(context, info.limitLevel);
+            mLimitPreference.setSummary(getString(info.limitLevel <= 0 ? R.string.cell_warning_only
+                    : R.string.cell_warning_and_limit, warning, limit));
+        }
+
+        PreferenceScreen screen = getPreferenceScreen();
+        for (int i = 1; i < screen.getPreferenceCount(); i++) {
+            ((TemplatePreferenceCategory) screen.getPreference(i)).pushTemplates(services);
+        }
+    }
+
+    @Override
+    protected int getMetricsCategory() {
+        return MetricsLogger.DATA_USAGE_SUMMARY;
+    }
+
+    /**
+     * Test if device has an ethernet network connection.
+     */
+    public boolean hasEthernet(Context context) {
+        if (TEST_RADIOS) {
+            return SystemProperties.get(TEST_RADIOS_PROP).contains("ethernet");
+        }
+
+        final ConnectivityManager conn = ConnectivityManager.from(context);
+        final boolean hasEthernet = conn.isNetworkSupported(TYPE_ETHERNET);
+
+        final long ethernetBytes;
+        try {
+            INetworkStatsSession statsSession = services.mStatsService.openSession();
+            if (statsSession != null) {
+                ethernetBytes = statsSession.getSummaryForNetwork(
+                        NetworkTemplate.buildTemplateEthernet(), Long.MIN_VALUE, Long.MAX_VALUE)
+                        .getTotalBytes();
+                TrafficStats.closeQuietly(statsSession);
+            } else {
+                ethernetBytes = 0;
+            }
+        } catch (RemoteException e) {
+            throw new RuntimeException(e);
+        }
+
+        // only show ethernet when both hardware present and traffic has occurred
+        return hasEthernet && ethernetBytes > 0;
+    }
+
+    public static boolean hasMobileData(Context context) {
+        return ConnectivityManager.from(context).isNetworkSupported(
+                ConnectivityManager.TYPE_MOBILE);
+    }
+
+    /**
+     * Test if device has a Wi-Fi data radio.
+     */
+    public static boolean hasWifiRadio(Context context) {
+        if (TEST_RADIOS) {
+            return SystemProperties.get(TEST_RADIOS_PROP).contains("wifi");
+        }
+
+        final ConnectivityManager conn = ConnectivityManager.from(context);
+        return conn.isNetworkSupported(TYPE_WIFI);
+    }
+
+    public static int getDefaultSubscriptionId(Context context) {
+        SubscriptionManager subManager = SubscriptionManager.from(context);
+        if (subManager == null) {
+            return SubscriptionManager.INVALID_SUBSCRIPTION_ID;
+        }
+        SubscriptionInfo subscriptionInfo = subManager.getDefaultDataSubscriptionInfo();
+        if (subscriptionInfo == null) {
+            List<SubscriptionInfo> list = subManager.getAllSubscriptionInfoList();
+            if (list.size() == 0) {
+                return SubscriptionManager.INVALID_SUBSCRIPTION_ID;
+            }
+            subscriptionInfo = list.get(0);
+        }
+        return subscriptionInfo.getSubscriptionId();
+    }
+
+    public static NetworkTemplate getDefaultTemplate(Context context, int defaultSubId) {
+        if (hasMobileData(context)) {
+            TelephonyManager telephonyManager = TelephonyManager.from(context);
+            NetworkTemplate mobileAll = NetworkTemplate.buildTemplateMobileAll(
+                    telephonyManager.getSubscriberId(defaultSubId));
+            return NetworkTemplate.normalize(mobileAll,
+                    telephonyManager.getMergedSubscriberIds());
+        } else if (hasWifiRadio(context)) {
+            return NetworkTemplate.buildTemplateWifiWildcard();
+        } else {
+            return NetworkTemplate.buildTemplateEthernet();
+        }
+    }
+
+    private static class SummaryProvider
+            implements SummaryLoader.SummaryProvider {
+
+        private final Activity mActivity;
+        private final SummaryLoader mSummaryLoader;
+        private final DataUsageController mDataController;
+
+        public SummaryProvider(Activity activity, SummaryLoader summaryLoader) {
+            mActivity = activity;
+            mSummaryLoader = summaryLoader;
+            mDataController = new DataUsageController(activity);
+        }
+
+        @Override
+        public void setListening(boolean listening) {
+            if (listening) {
+                DataUsageController.DataUsageInfo info = mDataController.getDataUsageInfo();
+                String used;
+                if (info == null) {
+                    used = Formatter.formatFileSize(mActivity, 0);
+                } else if (info.limitLevel <= 0) {
+                    used = Formatter.formatFileSize(mActivity, info.usageLevel);
+                } else {
+                    used = Utils.formatPercentage(info.usageLevel, info.limitLevel);
+                }
+                mSummaryLoader.setSummary(this,
+                        mActivity.getString(R.string.data_usage_summary_format, used));
+            }
+        }
+    }
+
+    public static final SummaryLoader.SummaryProviderFactory SUMMARY_PROVIDER_FACTORY
+            = new SummaryLoader.SummaryProviderFactory() {
+        @Override
+        public SummaryLoader.SummaryProvider createSummaryProvider(Activity activity,
+                                                                   SummaryLoader summaryLoader) {
+            return new SummaryProvider(activity, summaryLoader);
+        }
+    };
+
+    /**
+     * For search
+     */
+    public static final Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+        new BaseSearchIndexProvider() {
+
+            @Override
+            public List<SearchIndexableResource> getXmlResourcesToIndex(Context context,
+                    boolean enabled) {
+                ArrayList<SearchIndexableResource> resources = new ArrayList<>();
+                SearchIndexableResource resource = new SearchIndexableResource(context);
+                resource.xmlResId = R.xml.data_usage;
+                resources.add(resource);
+
+                if (hasMobileData(context)) {
+                    resource = new SearchIndexableResource(context);
+                    resource.xmlResId = R.xml.data_usage_cellular;
+                    resources.add(resource);
+                }
+                if (hasWifiRadio(context)) {
+                    resource = new SearchIndexableResource(context);
+                    resource.xmlResId = R.xml.data_usage_wifi;
+                    resources.add(resource);
+                }
+                return resources;
+            }
+
+            @Override
+            public List<String> getNonIndexableKeys(Context context) {
+                ArrayList<String> keys = new ArrayList<>();
+                boolean hasMobileData = ConnectivityManager.from(context).isNetworkSupported(
+                        ConnectivityManager.TYPE_MOBILE);
+
+                if (hasMobileData) {
+                    keys.add(KEY_RESTRICT_BACKGROUND);
+                }
+
+                return keys;
+            }
+        };
+}
diff --git a/src/com/android/settings/datausage/NetworkRestrictionsPreference.java b/src/com/android/settings/datausage/NetworkRestrictionsPreference.java
new file mode 100644
index 0000000..e2e9d1e
--- /dev/null
+++ b/src/com/android/settings/datausage/NetworkRestrictionsPreference.java
@@ -0,0 +1,33 @@
+/*
+ * 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.datausage;
+
+import android.content.Context;
+import android.net.NetworkTemplate;
+import android.support.v7.preference.Preference;
+import android.util.AttributeSet;
+
+public class NetworkRestrictionsPreference extends Preference implements TemplatePreference {
+
+    public NetworkRestrictionsPreference(Context context, AttributeSet attrs) {
+        super(context, attrs);
+    }
+
+    @Override
+    public void setTemplate(NetworkTemplate template, int subId,
+            NetworkServices services) {
+        // TODO: Summary
+    }
+}
diff --git a/src/com/android/settings/datausage/RestrictBackgroundDataPreference.java b/src/com/android/settings/datausage/RestrictBackgroundDataPreference.java
new file mode 100644
index 0000000..67bce03
--- /dev/null
+++ b/src/com/android/settings/datausage/RestrictBackgroundDataPreference.java
@@ -0,0 +1,99 @@
+/*
+ * 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.datausage;
+
+import android.app.AlertDialog;
+import android.content.Context;
+import android.content.DialogInterface;
+import android.net.NetworkPolicyManager;
+import android.support.v7.preference.PreferenceViewHolder;
+import android.util.AttributeSet;
+import android.view.View;
+import android.widget.Checkable;
+import com.android.settings.CustomDialogPreference;
+import com.android.settings.R;
+import com.android.settings.Utils;
+import com.android.settings.dashboard.conditional.BackgroundDataCondition;
+import com.android.settings.dashboard.conditional.ConditionManager;
+
+public class RestrictBackgroundDataPreference extends CustomDialogPreference {
+
+    private NetworkPolicyManager mPolicyManager;
+    private boolean mChecked;
+
+    public RestrictBackgroundDataPreference(Context context, AttributeSet attrs) {
+        super(context, attrs, android.R.attr.switchPreferenceStyle);
+    }
+
+    @Override
+    public void onAttached() {
+        super.onAttached();
+        mPolicyManager = NetworkPolicyManager.from(getContext());
+        setChecked(mPolicyManager.getRestrictBackground());
+    }
+
+    public void setRestrictBackground(boolean restrictBackground) {
+        mPolicyManager.setRestrictBackground(restrictBackground);
+        setChecked(restrictBackground);
+        ConditionManager.get(getContext()).getCondition(BackgroundDataCondition.class)
+                .refreshState();
+    }
+
+    private void setChecked(boolean checked) {
+        if (mChecked == checked) return;
+        mChecked = checked;
+        notifyChanged();
+    }
+
+    @Override
+    public void onBindViewHolder(PreferenceViewHolder holder) {
+        super.onBindViewHolder(holder);
+        View switchView = holder.findViewById(android.R.id.switch_widget);
+        switchView.setClickable(false);
+        ((Checkable) switchView).setChecked(mChecked);
+    }
+
+    @Override
+    protected void performClick(View view) {
+        if (mChecked) {
+            setRestrictBackground(false);
+        } else {
+            super.performClick(view);
+        }
+    }
+
+    @Override
+    protected void onPrepareDialogBuilder(AlertDialog.Builder builder,
+            DialogInterface.OnClickListener listener) {
+        super.onPrepareDialogBuilder(builder, listener);
+        builder.setTitle(R.string.data_usage_restrict_background_title);
+        if (Utils.hasMultipleUsers(getContext())) {
+            builder.setMessage(R.string.data_usage_restrict_background_multiuser);
+        } else {
+            builder.setMessage(R.string.data_usage_restrict_background);
+        }
+
+        builder.setPositiveButton(android.R.string.ok, listener);
+        builder.setNegativeButton(android.R.string.cancel, null);
+    }
+
+    @Override
+    protected void onClick(DialogInterface dialog, int which) {
+        if (which != DialogInterface.BUTTON_POSITIVE) {
+            return;
+        }
+        setRestrictBackground(true);
+    }
+}
diff --git a/src/com/android/settings/datausage/TemplatePreference.java b/src/com/android/settings/datausage/TemplatePreference.java
new file mode 100644
index 0000000..4b1cd0c
--- /dev/null
+++ b/src/com/android/settings/datausage/TemplatePreference.java
@@ -0,0 +1,41 @@
+/*
+ * 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.datausage;
+
+import android.net.INetworkStatsService;
+import android.net.NetworkPolicyManager;
+import android.net.NetworkTemplate;
+import android.os.INetworkManagementService;
+import android.os.UserManager;
+import android.telephony.SubscriptionInfo;
+import android.telephony.SubscriptionManager;
+import android.telephony.TelephonyManager;
+import com.android.settingslib.NetworkPolicyEditor;
+
+public interface TemplatePreference {
+
+    void setTemplate(NetworkTemplate template, int subId, NetworkServices services);
+
+    class NetworkServices {
+        INetworkManagementService mNetworkService;
+        INetworkStatsService mStatsService;
+        NetworkPolicyManager mPolicyManager;
+        TelephonyManager mTelephonyManager;
+        SubscriptionManager mSubscriptionManager;
+        UserManager mUserManager;
+        NetworkPolicyEditor mPolicyEditor;
+    }
+
+}
diff --git a/src/com/android/settings/datausage/TemplatePreferenceCategory.java b/src/com/android/settings/datausage/TemplatePreferenceCategory.java
new file mode 100644
index 0000000..0be5c73
--- /dev/null
+++ b/src/com/android/settings/datausage/TemplatePreferenceCategory.java
@@ -0,0 +1,57 @@
+/*
+ * 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.datausage;
+
+import android.content.Context;
+import android.net.NetworkTemplate;
+import android.support.v7.preference.Preference;
+import android.support.v7.preference.PreferenceCategory;
+import android.util.AttributeSet;
+
+public class TemplatePreferenceCategory extends PreferenceCategory implements TemplatePreference {
+
+    private NetworkTemplate mTemplate;
+    private int mSubId;
+
+    public TemplatePreferenceCategory(Context context, AttributeSet attrs) {
+        super(context, attrs);
+    }
+
+    @Override
+    public void setTemplate(NetworkTemplate template, int subId,
+            NetworkServices services) {
+        mTemplate = template;
+        mSubId = subId;
+    }
+
+    @Override
+    public boolean addPreference(Preference preference) {
+        if (!(preference instanceof TemplatePreference)) {
+            throw new IllegalArgumentException(
+                    "TemplatePreferenceCategories can only hold TemplatePreferences");
+        }
+        return super.addPreference(preference);
+    }
+
+    public void pushTemplates(NetworkServices services) {
+        if (mTemplate == null) {
+            throw new RuntimeException("null mTemplate for " + getKey());
+        }
+        for (int i = 0; i < getPreferenceCount(); i++) {
+            ((TemplatePreference) getPreference(i)).setTemplate(mTemplate, mSubId, services);
+        }
+    }
+
+}
diff --git a/src/com/android/settings/inputmethod/InputMethodPreference.java b/src/com/android/settings/inputmethod/InputMethodPreference.java
index 0d812e5..8c87080 100755
--- a/src/com/android/settings/inputmethod/InputMethodPreference.java
+++ b/src/com/android/settings/inputmethod/InputMethodPreference.java
@@ -34,11 +34,15 @@
 
 import com.android.internal.inputmethod.InputMethodUtils;
 import com.android.settings.R;
+import com.android.settingslib.RestrictedLockUtils;
+import com.android.settingslib.RestrictedSwitchPreference;
 
 import java.text.Collator;
 import java.util.ArrayList;
 import java.util.List;
 
+import static com.android.settingslib.RestrictedLockUtils.EnforcedAdmin;
+
 /**
  * Input method preference.
  *
@@ -46,7 +50,7 @@
  * is used to enable or disable the IME. 2) An instance without a switch is used to invoke the
  * setting activity of the IME.
  */
-class InputMethodPreference extends SwitchPreference implements OnPreferenceClickListener,
+class InputMethodPreference extends RestrictedSwitchPreference implements OnPreferenceClickListener,
         OnPreferenceChangeListener {
     private static final String TAG = InputMethodPreference.class.getSimpleName();
     private static final String EMPTY_TEXT = "";
@@ -80,7 +84,7 @@
      * @param isImeEnabler true if this preference is the IME enabler that has enable/disable
      *     switches for all available IMEs, not the list of enabled IMEs.
      * @param isAllowedByOrganization false if the IME has been disabled by a device or profile
-           owner.
+     *     owner.
      * @param onSaveListener The listener called when this preference has been changed and needs
      *     to save the state to shared preference.
      */
@@ -115,6 +119,11 @@
                 && mInputMethodSettingValues.isValidSystemNonAuxAsciiCapableIme(imi, context);
         setOnPreferenceClickListener(this);
         setOnPreferenceChangeListener(this);
+        if (!isAllowedByOrganization) {
+            EnforcedAdmin admin =
+                    RestrictedLockUtils.getProfileOrDeviceOwnerOnCallingUser(context);
+            setDisabledByAdmin(admin);
+        }
     }
 
     public InputMethodInfo getInputMethodInfo() {
diff --git a/src/com/android/settings/location/LocationSettings.java b/src/com/android/settings/location/LocationSettings.java
index 9974e89..047fcbb 100644
--- a/src/com/android/settings/location/LocationSettings.java
+++ b/src/com/android/settings/location/LocationSettings.java
@@ -46,6 +46,7 @@
 import com.android.settings.applications.InstalledAppDetails;
 import com.android.settings.dashboard.SummaryLoader;
 import com.android.settings.widget.SwitchBar;
+import com.android.settingslib.RestrictedLockUtils;
 import com.android.settingslib.location.RecentLocationApps;
 
 import java.util.ArrayList;
@@ -53,6 +54,8 @@
 import java.util.Comparator;
 import java.util.List;
 
+import static com.android.settingslib.RestrictedLockUtils.EnforcedAdmin;
+
 /**
  * System location settings (Settings &gt; Location). The screen has three parts:
  * <ul>
@@ -373,9 +376,15 @@
         // corner cases, the location might still be enabled. In such case the master switch should
         // be disabled but checked.
         final boolean enabled = (mode != android.provider.Settings.Secure.LOCATION_MODE_OFF);
+        EnforcedAdmin admin = RestrictedLockUtils.checkIfRestrictionEnforced(getActivity(),
+                UserManager.DISALLOW_SHARE_LOCATION, UserHandle.myUserId());
         // Disable the whole switch bar instead of the switch itself. If we disabled the switch
         // only, it would be re-enabled again if the switch bar is not disabled.
-        mSwitchBar.setEnabled(!restricted);
+        if (admin != null) {
+            mSwitchBar.setDisabledByAdmin(admin);
+        } else {
+            mSwitchBar.setEnabled(!restricted);
+        }
         mLocationMode.setEnabled(enabled && !restricted);
         mCategoryRecentLocationRequests.setEnabled(enabled);
 
diff --git a/src/com/android/settings/notification/SoundSettings.java b/src/com/android/settings/notification/SoundSettings.java
index 1c21329..dae492f 100644
--- a/src/com/android/settings/notification/SoundSettings.java
+++ b/src/com/android/settings/notification/SoundSettings.java
@@ -73,6 +73,7 @@
     private static final String KEY_NOTIFICATION_VOLUME = "notification_volume";
     private static final String KEY_PHONE_RINGTONE = "ringtone";
     private static final String KEY_NOTIFICATION_RINGTONE = "notification_ringtone";
+    private static final String KEY_ALARM_RINGTONE = "alarm_ringtone";
     private static final String KEY_VIBRATE_WHEN_RINGING = "vibrate_when_ringing";
     private static final String KEY_MASTER_MONO = "master_mono";
     private static final String KEY_WIFI_DISPLAY = "wifi_display";
@@ -103,6 +104,7 @@
 
     private Preference mPhoneRingtonePreference;
     private Preference mNotificationRingtonePreference;
+    private Preference mAlarmRingtonePreference;
     private TwoStatePreference mVibrateWhenRinging;
     private TwoStatePreference mMasterMono;
     private ComponentName mSuppressor;
@@ -324,6 +326,7 @@
         }
         mNotificationRingtonePreference =
                 getPreferenceScreen().findPreference(KEY_NOTIFICATION_RINGTONE);
+        mAlarmRingtonePreference = getPreferenceScreen().findPreference(KEY_ALARM_RINGTONE);
     }
 
     private void lookupRingtoneNames() {
@@ -347,6 +350,13 @@
                     mHandler.obtainMessage(H.UPDATE_NOTIFICATION_RINGTONE, summary).sendToTarget();
                 }
             }
+            if (mAlarmRingtonePreference != null) {
+                final CharSequence summary =
+                        updateRingtoneName(mContext, RingtoneManager.TYPE_ALARM);
+                if (summary != null) {
+                    mHandler.obtainMessage(H.UPDATE_ALARM_RINGTONE, summary).sendToTarget();
+                }
+            }
         }
     };
 
@@ -484,6 +494,7 @@
         private static final int UPDATE_EFFECTS_SUPPRESSOR = 4;
         private static final int UPDATE_RINGER_MODE = 5;
         private static final int UPDATE_MASTER_MONO = 6;
+        private static final int UPDATE_ALARM_RINGTONE = 7;
 
         private H() {
             super(Looper.getMainLooper());
@@ -510,6 +521,9 @@
                 case UPDATE_MASTER_MONO:
                     updateMasterMono();
                     break;
+                case UPDATE_ALARM_RINGTONE:
+                    mAlarmRingtonePreference.setSummary((CharSequence) msg.obj);
+                    break;
             }
         }
     }
diff --git a/src/com/android/settings/search/Ranking.java b/src/com/android/settings/search/Ranking.java
index 3d5ff35..59f83ec 100644
--- a/src/com/android/settings/search/Ranking.java
+++ b/src/com/android/settings/search/Ranking.java
@@ -17,7 +17,6 @@
 package com.android.settings.search;
 
 import com.android.settings.ChooseLockGeneric;
-import com.android.settings.DataUsageSummary;
 import com.android.settings.DateTimeSettings;
 import com.android.settings.DevelopmentSettings;
 import com.android.settings.DeviceInfoSettings;
@@ -35,6 +34,8 @@
 import com.android.settings.applications.AdvancedAppSettings;
 import com.android.settings.applications.ManageDefaultApps;
 import com.android.settings.bluetooth.BluetoothSettings;
+import com.android.settings.datausage.DataUsageMeteredSettings;
+import com.android.settings.datausage.DataUsageSummary;
 import com.android.settings.deviceinfo.StorageSettings;
 import com.android.settings.display.ScreenZoomSettings;
 import com.android.settings.fuelgauge.BatterySaverSettings;
@@ -42,7 +43,6 @@
 import com.android.settings.inputmethod.InputMethodAndLanguageSettings;
 import com.android.settings.location.LocationSettings;
 import com.android.settings.location.ScanningSettings;
-import com.android.settings.net.DataUsageMeteredSettings;
 import com.android.settings.notification.ConfigureNotificationSettings;
 import com.android.settings.notification.OtherSoundSettings;
 import com.android.settings.notification.SoundSettings;
diff --git a/src/com/android/settings/search/SearchIndexableResources.java b/src/com/android/settings/search/SearchIndexableResources.java
index f15ff63..1d55b55 100644
--- a/src/com/android/settings/search/SearchIndexableResources.java
+++ b/src/com/android/settings/search/SearchIndexableResources.java
@@ -16,9 +16,6 @@
 
 package com.android.settings.search;
 
-import android.provider.SearchIndexableResource;
-
-import com.android.settings.DataUsageSummary;
 import com.android.settings.DateTimeSettings;
 import com.android.settings.DevelopmentSettings;
 import com.android.settings.DeviceInfoSettings;
@@ -37,6 +34,8 @@
 import com.android.settings.applications.AdvancedAppSettings;
 import com.android.settings.applications.ManageDefaultApps;
 import com.android.settings.bluetooth.BluetoothSettings;
+import com.android.settings.datausage.DataUsageMeteredSettings;
+import com.android.settings.datausage.DataUsageSummary;
 import com.android.settings.deviceinfo.StorageSettings;
 import com.android.settings.display.ScreenZoomSettings;
 import com.android.settings.fuelgauge.BatterySaverSettings;
@@ -44,7 +43,6 @@
 import com.android.settings.inputmethod.InputMethodAndLanguageSettings;
 import com.android.settings.location.LocationSettings;
 import com.android.settings.location.ScanningSettings;
-import com.android.settings.net.DataUsageMeteredSettings;
 import com.android.settings.notification.ConfigureNotificationSettings;
 import com.android.settings.notification.OtherSoundSettings;
 import com.android.settings.notification.SoundSettings;
@@ -58,6 +56,8 @@
 import com.android.settings.wifi.SavedAccessPointsWifiSettings;
 import com.android.settings.wifi.WifiSettings;
 
+import android.provider.SearchIndexableResource;
+
 import java.util.Collection;
 import java.util.HashMap;
 
diff --git a/src/com/android/settings/widget/ChartGridView.java b/src/com/android/settings/widget/ChartGridView.java
index c85d4fc..2091719 100644
--- a/src/com/android/settings/widget/ChartGridView.java
+++ b/src/com/android/settings/widget/ChartGridView.java
@@ -32,7 +32,7 @@
 import com.android.internal.util.Preconditions;
 import com.android.settings.R;
 
-import static com.android.settings.DataUsageSummary.formatDateRange;
+import static com.android.settings.Utils.formatDateRange;
 
 /**
  * Background of {@link ChartView} that renders grid lines as requested by
diff --git a/src/com/android/settings/widget/ChartSweepView.java b/src/com/android/settings/widget/ChartSweepView.java
index e8e24aa..cdcd0a7 100644
--- a/src/com/android/settings/widget/ChartSweepView.java
+++ b/src/com/android/settings/widget/ChartSweepView.java
@@ -143,7 +143,6 @@
         a.recycle();
 
         setClickable(true);
-        setFocusable(true);
         setOnClickListener(mClickListener);
 
         setWillNotDraw(false);
diff --git a/src/com/android/settings/widget/SwitchBar.java b/src/com/android/settings/widget/SwitchBar.java
index d5f469c..b096cc4 100644
--- a/src/com/android/settings/widget/SwitchBar.java
+++ b/src/com/android/settings/widget/SwitchBar.java
@@ -35,6 +35,9 @@
 import android.widget.TextView;
 
 import com.android.settings.R;
+import com.android.settingslib.RestrictedLockUtils;
+
+import static com.android.settingslib.RestrictedLockUtils.EnforcedAdmin;
 
 import java.util.ArrayList;
 
@@ -58,6 +61,9 @@
     private String mLabel;
     private String mSummary;
 
+    private boolean mDisabledByAdmin = false;
+    private EnforcedAdmin mEnforcedAdmin = null;
+
     private ArrayList<OnSwitchChangeListener> mSwitchChangeListeners =
             new ArrayList<OnSwitchChangeListener>();
 
@@ -153,11 +159,35 @@
     }
 
     public void setEnabled(boolean enabled) {
+        if (enabled && mDisabledByAdmin) {
+            setDisabledByAdmin(null);
+            return;
+        }
         super.setEnabled(enabled);
         mTextView.setEnabled(enabled);
         mSwitch.setEnabled(enabled);
     }
 
+    /**
+     * If admin is not null, disables the text and switch but keeps the view clickable.
+     * Otherwise, calls setEnabled which will enables the entire view including
+     * the text and switch.
+     */
+    public void setDisabledByAdmin(EnforcedAdmin admin) {
+        mEnforcedAdmin = admin;
+        if (admin != null) {
+            super.setEnabled(true);
+            mDisabledByAdmin = true;
+            RestrictedLockUtils.setTextViewPadlock(mContext, mTextView, true);
+            mTextView.setEnabled(false);
+            mSwitch.setEnabled(false);
+        } else {
+            mDisabledByAdmin = false;
+            RestrictedLockUtils.setTextViewPadlock(mContext, mTextView, false);
+            setEnabled(true);
+        }
+    }
+
     public final ToggleSwitch getSwitch() {
         return mSwitch;
     }
@@ -182,8 +212,12 @@
 
     @Override
     public void onClick(View v) {
-        final boolean isChecked = !mSwitch.isChecked();
-        setChecked(isChecked);
+        if (mDisabledByAdmin) {
+            RestrictedLockUtils.sendShowAdminSupportDetailsIntent(mContext, mEnforcedAdmin);
+        } else {
+            final boolean isChecked = !mSwitch.isChecked();
+            setChecked(isChecked);
+        }
     }
 
     public void propagateChecked(boolean isChecked) {
diff --git a/src/com/android/settings/wifi/WifiDialogActivity.java b/src/com/android/settings/wifi/WifiDialogActivity.java
index b15a6e4..af723c3 100644
--- a/src/com/android/settings/wifi/WifiDialogActivity.java
+++ b/src/com/android/settings/wifi/WifiDialogActivity.java
@@ -61,6 +61,12 @@
     }
 
     @Override
+    public void finish() {
+        super.finish();
+        overridePendingTransition(0, 0);
+    }
+
+    @Override
     public void onForget(WifiDialog dialog) {
         final WifiManager wifiManager = getSystemService(WifiManager.class);
         final AccessPoint accessPoint = dialog.getController().getAccessPoint();
