diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 71840b1..aa53bdb 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -1382,6 +1382,21 @@
                 android:value="com.android.settings.applications.manageapplications.ManageApplications" />
         </activity>
 
+        <activity
+            android:name="Settings$AppUsageAccessSettingsActivity"
+            android:label="@string/usage_access_title"
+            android:taskAffinity="com.android.settings"
+            android:parentActivityName="Settings">
+            <intent-filter>
+                <action android:name="android.settings.USAGE_ACCESS_SETTINGS"/>
+                <category android:name="android.intent.category.DEFAULT"/>
+                <data android:scheme="package"/>
+            </intent-filter>
+            <meta-data
+                android:name="com.android.settings.FRAGMENT_CLASS"
+                android:value="com.android.settings.applications.UsageAccessDetails"/>
+        </activity>
+
         <activity android:name="Settings$IccLockSettingsActivity"
                 android:label="@string/sim_lock_settings"
                 android:process="com.android.phone">
diff --git a/res/drawable/drag_handle.xml b/res/drawable/drag_handle.xml
index 835ac5b..1e3efeb 100644
--- a/res/drawable/drag_handle.xml
+++ b/res/drawable/drag_handle.xml
@@ -15,13 +15,13 @@
 -->
 
 <vector xmlns:android="http://schemas.android.com/apk/res/android"
-        android:height="24dp"
         android:width="24dp"
-        android:viewportHeight="48"
-        android:viewportWidth="48"
-        android:tint="@color/material_grey_600">
-
-    <path android:fillColor="@android:color/white"
-          android:pathData="M6,30h36v-4L6,26v4zM6,38h36v-4L6,34v4zM6,22h36L42,18L6,18v4zM6,10v4h36L42,10L6,10z" />
-
+        android:height="24dp"
+        android:viewportWidth="24"
+        android:viewportHeight="24"
+        android:tint="?android:attr/colorControlNormal">
+    <path
+        android:fillColor="@android:color/white"
+        android:pathData="M20,9H4v2h16V9zM4,15h16v-2H4V15z"/>
 </vector>
+
diff --git a/res/drawable/ic_add.xml b/res/drawable/ic_add.xml
deleted file mode 100644
index e4ced7d..0000000
--- a/res/drawable/ic_add.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<!--
-    Copyright (C) 2015 The Android Open Source Project
-
-    Licensed under the Apache License, Version 2.0 (the "License");
-    you may not use this file except in compliance with the License.
-    You may obtain a copy of the License at
-
-         http://www.apache.org/licenses/LICENSE-2.0
-
-    Unless required by applicable law or agreed to in writing, software
-    distributed under the License is distributed on an "AS IS" BASIS,
-    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-    See the License for the specific language governing permissions and
-    limitations under the License.
--->
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
-        android:width="24.0dp"
-        android:height="24.0dp"
-        android:viewportWidth="48.0"
-        android:viewportHeight="48.0">
-    <path
-        android:fillColor="?android:attr/colorControlNormal"
-        android:pathData="M38.0,26.0L26.0,26.0l0.0,12.0l-4.0,0.0L22.0,26.0L10.0,26.0l0.0,-4.0l12.0,0.0L22.0,10.0l4.0,0.0l0.0,12.0l12.0,0.0l0.0,4.0z"/>
-</vector>
diff --git a/res/drawable/ic_add_24dp.xml b/res/drawable/ic_add_24dp.xml
index f87a882..7196981 100644
--- a/res/drawable/ic_add_24dp.xml
+++ b/res/drawable/ic_add_24dp.xml
@@ -21,5 +21,6 @@
         android:tint="?android:attr/colorControlNormal">
     <path
         android:fillColor="@android:color/white"
-        android:pathData="M19,13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"/>
+        android:pathData="M20,13h-7v7h-2v-7H4v-2h7V4h2v7h7V13z"/>
 </vector>
+
diff --git a/res/drawable/ic_airplane.xml b/res/drawable/ic_airplane.xml
deleted file mode 100644
index b3e0ba0..0000000
--- a/res/drawable/ic_airplane.xml
+++ /dev/null
@@ -1,57 +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.
--->
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
-    android:name="root"
-    android:alpha="1.0"
-    android:height="48dp"
-    android:width="48dp"
-    android:viewportHeight="48"
-    android:viewportWidth="48" >
-    <group
-        android:name="ic_signal_airplane"
-        android:translateX="21.9995"
-        android:translateY="25.73401" >
-        <group
-            android:name="ic_signal_airplane_pivot"
-            android:translateX="-23.21545"
-            android:translateY="-18.86649" >
-            <clip-path
-                android:name="mask"
-                android:pathData="M 37.8337860107,-40.4599914551 c 0.0,0.0 -35.8077850342,31.5523681641 -35.8077850342,31.5523681641 c 0.0,0.0 9.55097961426,9.55285644531 9.55097961426,9.55285644531 c 0.0,0.0 -2.61698913574,2.09387207031 -2.61698913574,2.09387207031 c 0.0,0.0 -9.75096130371,-9.56428527832 -9.75096130371,-9.56428527832 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 0.324981689453,0.399978637695 0.324981689453,0.399978637695 "
-                    android:strokeColor="#FFFFFFFF"
-                    android:strokeAlpha="0"
-                    android:strokeWidth="3.5"
-                    android:fillColor="#00000000" />
-            </group>
-            <group
-                android:name="plane"
-                android:translateX="23.481"
-                android:translateY="18.71151" >
-                <path
-                    android:name="plane_1"
-                    android:pathData="M 18.9439849854,7.98849487305 c 0.0,0.0 0.0,-4.0 0.0,-4.0 c 0.0,0.0 -16.0,-10.0 -16.0,-10.0 c 0.0,0.0 0.0,-11.0 0.0,-11.0 c 0.0,-1.70001220703 -1.30000305176,-3.0 -3.0,-3.0 c -1.69999694824,0.0 -3.0,1.29998779297 -3.0,3.0 c 0.0,0.0 0.0,11.0 0.0,11.0 c 0.0,0.0 -16.0,10.0 -16.0,10.0 c 0.0,0.0 0.0,4.0 0.0,4.0 c 0.0,0.0 16.0,-5.0 16.0,-5.0 c 0.0,0.0 0.0,11.0 0.0,11.0 c 0.0,0.0 -4.0,3.0 -4.0,3.0 c 0.0,0.0 0.0,3.0 0.0,3.0 c 0.0,0.0 7.0,-2.0 7.0,-2.0 c 0.0,0.0 7.0,2.0 7.0,2.0 c 0.0,0.0 0.0,-3.0 0.0,-3.0 c 0.0,0.0 -4.0,-3.0 -4.0,-3.0 c 0.0,0.0 0.0,-11.0 0.0,-11.0 c 0.0,0.0 16.0,5.0 16.0,5.0 Z"
-                    android:fillColor="#FFFFFFFF"
-                    android:fillAlpha="1" />
-            </group>
-        </group>
-    </group>
-</vector>
diff --git a/res/drawable/ic_arrow_down_24dp.xml b/res/drawable/ic_arrow_down_24dp.xml
deleted file mode 100644
index f334902..0000000
--- a/res/drawable/ic_arrow_down_24dp.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2017 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
-        android:width="24dp"
-        android:height="24dp"
-        android:viewportWidth="24.0"
-        android:viewportHeight="24.0"
-        android:tint="?android:attr/colorAccent">
-    <path
-        android:fillColor="#FF000000"
-        android:pathData="M8.12 9.29L12 13.17l3.88-3.88a.996 .996 0 1 1 1.41 1.41l-4.59 4.59a.996 .996 0 0
-1-1.41 0L6.7 10.7a.996 .996 0 0 1 0-1.41c.39-.38 1.03-.39 1.42 0z"/>
-</vector>
diff --git a/res/drawable/ic_cellular_off.xml b/res/drawable/ic_cellular_off.xml
index 4f767cf..76dbed5 100644
--- a/res/drawable/ic_cellular_off.xml
+++ b/res/drawable/ic_cellular_off.xml
@@ -14,15 +14,19 @@
     limitations under the License.
 -->
 <vector xmlns:android="http://schemas.android.com/apk/res/android"
+        android:width="24dp"
+        android:height="24dp"
         android:autoMirrored="true"
-        android:width="17dp"
-        android:height="17dp"
-        android:viewportWidth="24.0"
-        android:viewportHeight="24.0">
+        android:viewportHeight="24"
+        android:viewportWidth="24"
+        android:tint="?android:attr/colorAccent">
     <path
         android:fillColor="#FF000000"
-        android:pathData="M22.32,16.05l-1.45,1.45l1.45,1.45c0.38,0.38 0.38,0.99 0,1.37c-0.38,0.38 -0.99,0.38 -1.37,0l-1.44,-1.44l-1.45,1.45c-0.38,0.38 -0.99,0.38 -1.37,0l-0.01,-0.01c-0.38,-0.38 -0.38,-0.99 0,-1.37c0,0 0,0 0,0l1.45,-1.45l-1.45,-1.45c-0.38,-0.38 -0.38,-0.99 0,-1.37c0,0 0,0 0,0l0.01,-0.01c0.38,-0.38 0.99,-0.38 1.37,0l1.45,1.45l1.44,-1.44c0.38,-0.38 0.99,-0.38 1.37,0C22.7,15.06 22.7,15.67 22.32,16.05z"/>
+        android:pathData="M21.19,21.19l-2.69,-2.69l-1.41,-1.41l-1.09,-1.09l-2,-2l-4,-4l-2,-2l-5.19,-5.19l-1.42,1.41l6.61,6.61l0,2.17l2.17,0l3.83,3.83l0,1.34l-2.59,-2.58l-1.41,1.41l5,5l2.09,-2.09l2.69,2.7z"/>
     <path
         android:fillColor="#FF000000"
-        android:pathData="M22,12V3.8c0,-0.71 -0.87,-1.08 -1.38,-0.57L3.24,20.62C2.73,21.13 3.09,22 3.8,22H14V12H22z"/>
+        android:pathData="M14,11.17l2,2l0,-2.17l-2,0z"/>
+    <path
+        android:fillColor="#FF000000"
+        android:pathData="M10,5.83l2.59,2.58l1.41,-1.41l-5,-5l-2.09,2.09l3.09,3.08z"/>
 </vector>
diff --git a/res/drawable/ic_data_saver.xml b/res/drawable/ic_data_saver.xml
index d2d55a9..aefcd84 100644
--- a/res/drawable/ic_data_saver.xml
+++ b/res/drawable/ic_data_saver.xml
@@ -14,12 +14,20 @@
     limitations under the License.
 -->
 <vector xmlns:android="http://schemas.android.com/apk/res/android"
-        android:width="24.0dp"
-        android:height="24.0dp"
-        android:viewportWidth="24.0"
-        android:viewportHeight="24.0"
+        android:width="24dp"
+        android:height="24dp"
+        android:autoMirrored="true"
+        android:viewportHeight="24"
+        android:viewportWidth="24"
         android:tint="?android:attr/colorControlNormal">
     <path
         android:fillColor="#FFFFFFFF"
-        android:pathData="M18.32,16.75l1.32,0.76c0.26,0.15 0.34,0.51 0.15,0.74 -2.09,2.6 -5.44,4.14 -9.14,3.65 -4.4,-0.58 -7.96,-4.12 -8.56,-8.52C1.34,7.8 5.21,2.95 10.43,2.12c0.3,-0.05 0.57,0.2 0.57,0.5v1.53c0,0.24 -0.18,0.44 -0.41,0.49 -3.6,0.69 -6.29,3.95 -6.07,7.79 0.21,3.82 3.43,6.95 7.25,7.07 2.37,0.08 4.51,-0.96 5.93,-2.63a0.48,0.48 0,0 1,0.62 -0.12zM19.5,12c0,0.83 -0.14,1.63 -0.39,2.38 -0.08,0.23 0.01,0.47 0.21,0.59l1.33,0.77c0.26,0.15 0.61,0.04 0.72,-0.24 0.4,-1.09 0.63,-2.27 0.63,-3.5 0,-4.99 -3.65,-9.12 -8.43,-9.88 -0.3,-0.04 -0.57,0.2 -0.57,0.5v1.53c0,0.24 0.18,0.44 0.41,0.48 3.46,0.68 6.09,3.72 6.09,7.37z" />
+        android:pathData="M11,8l0,3l-3,0l0,2l3,0l0,3l2,0l0,-3l3,0l0,-2l-3,0l0,-3z"/>
+    <path
+        android:fillColor="#FFFFFFFF"
+        android:pathData="M13,2.05v3.03c3.39,0.49 6,3.39 6,6.92c0,0.9 -0.18,1.75 -0.48,2.54l2.6,1.53C21.68,14.83 22,13.45 22,12C22,6.82 18.05,2.55 13,2.05z"/>
+    <path
+        android:fillColor="#FFFFFFFF"
+        android:pathData="M12,19c-3.87,0 -7,-3.13 -7,-7c0,-3.53 2.61,-6.43 6,-6.92V2.05C5.94,2.55 2,6.81 2,12c0,5.52 4.47,10 9.99,10c3.31,0 6.24,-1.61 8.06,-4.09l-2.6,-1.53C16.17,17.98 14.21,19 12,19z"/>
 </vector>
+
diff --git a/res/drawable/ic_devices_other.xml b/res/drawable/ic_devices_other.xml
index b40aceb..c7b6cf2 100644
--- a/res/drawable/ic_devices_other.xml
+++ b/res/drawable/ic_devices_other.xml
@@ -16,16 +16,11 @@
 <vector xmlns:android="http://schemas.android.com/apk/res/android"
         android:width="24dp"
         android:height="24dp"
-        android:viewportWidth="24.0"
-        android:viewportHeight="24.0">
+        android:autoMirrored="true"
+        android:viewportHeight="24"
+        android:viewportWidth="24">
     <path
-        android:fillColor="#FFFFFFFF"
-        android:pathData="M3,6h17c0.55,0,1-0.45,1-1v0c0-0.55-0.45-1-1-1H3C1.9,4,1,4.9,1,6v12c0,1.1,0.9,2,2,2h3c0.55,0,1-0.45,1-1v0
-        c0-0.55-0.45-1-1-1H3V6z
-        M13,12H9v1.78C8.39,14.33,8,15.11,8,16c0,0.89,0.39,1.67,1,2.22V20h4v-1.78c0.61-0.55,1-1.34,1-2.22
-        s-0.39-1.67-1-2.22V12z
-        M11,17.5c-0.83,0-1.5-0.67-1.5-1.5s0.67-1.5,1.5-1.5s1.5,0.67,1.5,1.5S11.83,17.5,11,17.5z
-        M22,8h-6
-        c-0.5,0-1,0.5-1,1v10c0,0.5,0.5,1,1,1h6c0.5,0,1-0.5,1-1V9C23,8.5,22.5,8,22,8z
-        M21,18h-4v-8h4V18z" />
+        android:fillColor="@android:color/white"
+        android:pathData="M3,6h18V4H3C1.9,4 1,4.9 1,6v12c0,1.1 0.9,2 2,2h4v-2H3V6zM13,12H9v1.78C8.39,14.33 8,15.11 8,16c0,0.89 0.39,1.67 1,2.22V20h4v-1.78c0.61,-0.55 1,-1.34 1,-2.22s-0.39,-1.67 -1,-2.22V12zM11,17.5c-0.83,0 -1.5,-0.67 -1.5,-1.5s0.67,-1.5 1.5,-1.5s1.5,0.67 1.5,1.5S11.83,17.5 11,17.5zM22,8h-6c-0.5,0 -1,0.5 -1,1v10c0,0.5 0.5,1 1,1h6c0.5,0 1,-0.5 1,-1V9C23,8.5 22.5,8 22,8zM21,18h-4v-8h4V18z"/>
 </vector>
+
diff --git a/res/drawable/ic_devices_other_black.xml b/res/drawable/ic_devices_other_black.xml
index babcc63..926f02c 100644
--- a/res/drawable/ic_devices_other_black.xml
+++ b/res/drawable/ic_devices_other_black.xml
@@ -19,12 +19,7 @@
         android:width="24dp"
         android:height="24dp"
         android:tint="?android:attr/colorControlNormal">
-    <path android:fillColor="#FF000000"
-          android:pathData="M3 6h18V4H3C1.9 4 1 4.9 1 6v12c0 1.10.9 2 2 2h4v-2H3V6z M13 12H9
-          v1.78C8.39 14.33 8 15.11 8 16c0 0.89 0.39 1.67 1 2.22 V20h4v-1.78c0.61-0.55 1-1.34
-          1-2.22s-0.39-1.67-1-2.22V12z M11 17.5c-0.83 0-1.5-0.67-1.5-1.5s0.67-1.5 1.5-1.5s1.5
-          0.67 1.5 1.5 S11.83 17.5 11 17.5z M22 8h-6c-0.5 0-1 0.5-1 1v10c0 0.5 0.5 1 1
-          1h6c0.5 0 1-0.5 1-1V9C23 8.5 22.5 8 22 8z M21 18h-4v-8h4V18z" />
-    <path android:fillColor="#00000000"
-          android:pathData="M0 0h24v24H0V0z"/>
+    <path
+        android:fillColor="@android:color/white"
+        android:pathData="M3,6h18V4H3C1.9,4 1,4.9 1,6v12c0,1.1 0.9,2 2,2h4v-2H3V6zM13,12H9v1.78C8.39,14.33 8,15.11 8,16c0,0.89 0.39,1.67 1,2.22V20h4v-1.78c0.61,-0.55 1,-1.34 1,-2.22s-0.39,-1.67 -1,-2.22V12zM11,17.5c-0.83,0 -1.5,-0.67 -1.5,-1.5s0.67,-1.5 1.5,-1.5s1.5,0.67 1.5,1.5S11.83,17.5 11,17.5zM22,8h-6c-0.5,0 -1,0.5 -1,1v10c0,0.5 0.5,1 1,1h6c0.5,0 1,-0.5 1,-1V9C23,8.5 22.5,8 22,8zM21,18h-4v-8h4V18z"/>
 </vector>
\ No newline at end of file
diff --git a/res/drawable/ic_info_outline_24dp.xml b/res/drawable/ic_info_outline_24dp.xml
index 3d8b89f..634d797 100644
--- a/res/drawable/ic_info_outline_24dp.xml
+++ b/res/drawable/ic_info_outline_24dp.xml
@@ -17,8 +17,8 @@
 <vector xmlns:android="http://schemas.android.com/apk/res/android"
         android:width="24dp"
         android:height="24dp"
-        android:viewportWidth="24.0"
-        android:viewportHeight="24.0"
+        android:viewportHeight="24"
+        android:viewportWidth="24"
         android:tint="?android:attr/textColorSecondary">
     <path
         android:fillColor="#FF000000"
diff --git a/res/drawable/ic_local_phone_24_lib.xml b/res/drawable/ic_local_phone_24_lib.xml
index 4574802..094e0bd 100644
--- a/res/drawable/ic_local_phone_24_lib.xml
+++ b/res/drawable/ic_local_phone_24_lib.xml
@@ -16,13 +16,11 @@
 <vector xmlns:android="http://schemas.android.com/apk/res/android"
         android:width="24dp"
         android:height="24dp"
-        android:viewportWidth="24"
+        android:tint="?android:attr/colorControlNormal"
         android:viewportHeight="24"
-        android:tint="?android:attr/colorControlNormal">
+        android:viewportWidth="24">
 
     <path
         android:fillColor="#000000"
-        android:pathData="M16.01,14.48l-2.62,2.62c-2.75-1.49-5.01-3.75-6.5-6.5l2.62-2.62c0.24-0.24,0.34-0.58,0.27-0.9L9.13,3.82 c-0.09-0.47-0.5-0.8-0.98-0.8L4,3.01c-0.56,0-1.03,0.47-1,1.03c0.17,2.91,1.04,5.63,2.43,8.01c1.57,2.69,3.81,4.93,6.5,6.5 c2.38,1.39,5.1,2.26,8.01,2.43c0.56,0.03,1.03-0.44,1.03-1l0-4.15c0-0.48-0.34-0.89-0.8-0.98l-3.26-0.65 C16.58,14.14,16.24,14.24,16.01,14.48z" />
-    <path
-        android:pathData="M0,0h24v24H0V0z" />
+        android:pathData="M16.01,14.46l-2.62,2.62c-2.75,-1.49 -5.01,-3.75 -6.5,-6.5l2.62,-2.62c0.24,-0.24 0.34,-0.58 0.27,-0.9L9.13,3.8C9.04,3.34 8.63,3 8.15,3L4,3C3.44,3 2.97,3.47 3,4.03c0.17,2.91 1.04,5.63 2.43,8.01c1.57,2.69 3.81,4.93 6.5,6.5c2.38,1.39 5.1,2.26 8.01,2.43c0.56,0.03 1.03,-0.44 1.03,-1l0,-4.15c0,-0.48 -0.34,-0.89 -0.8,-0.98l-3.26,-0.65C16.58,14.12 16.24,14.23 16.01,14.46z"/>
 </vector>
diff --git a/res/drawable/ic_search_24dp.xml b/res/drawable/ic_search_24dp.xml
index 8f14e88..d63711a 100644
--- a/res/drawable/ic_search_24dp.xml
+++ b/res/drawable/ic_search_24dp.xml
@@ -16,15 +16,12 @@
   -->
 
 <vector xmlns:android="http://schemas.android.com/apk/res/android"
-    android:width="24dp"
-    android:height="24dp"
-    android:viewportWidth="24"
-    android:viewportHeight="24"
-    android:tint="?android:attr/colorControlNormal">
-
+        android:width="24dp"
+        android:height="24dp"
+        android:viewportWidth="24"
+        android:viewportHeight="24"
+        android:tint="?android:attr/colorControlNormal">
     <path
-        android:fillColor="#000000"
-        android:pathData="M15.5,14h-0.79l-0.28-0.27c1.2-1.4,1.82-3.31,1.48-5.34c-0.47-2.78-2.79-5-5.59-5.34c-4.23-0.52-7.79,3.04-7.27,7.27
-c0.34,2.8,2.56,5.12,5.34,5.59c2.03,0.34,3.94-0.28,5.34-1.48L14,14.71v0.79l5.2,5.19c0.41,0.41,1.07,0.41,1.48,0l0.01-0.01
-c0.41-0.41,0.41-1.07,0-1.48L15.5,14z M9.5,14C7.01,14,5,11.99,5,9.5S7.01,5,9.5,5S14,7.01,14,9.5S11.99,14,9.5,14z" />
-</vector>
\ No newline at end of file
+        android:fillColor="#FF000000"
+        android:pathData="M20.49,19l-5.73,-5.73C15.53,12.2 16,10.91 16,9.5C16,5.91 13.09,3 9.5,3S3,5.91 3,9.5C3,13.09 5.91,16 9.5,16c1.41,0 2.7,-0.47 3.77,-1.24L19,20.49L20.49,19zM5,9.5C5,7.01 7.01,5 9.5,5S14,7.01 14,9.5S11.99,14 9.5,14S5,11.99 5,9.5z"/>
+</vector>
diff --git a/res/drawable/ic_settings_night_display.xml b/res/drawable/ic_settings_night_display.xml
index 178b131..3292ed4 100644
--- a/res/drawable/ic_settings_night_display.xml
+++ b/res/drawable/ic_settings_night_display.xml
@@ -14,12 +14,12 @@
     limitations under the License.
 -->
 <vector xmlns:android="http://schemas.android.com/apk/res/android"
-    android:width="24dp"
-    android:height="24dp"
-    android:viewportWidth="24.0"
-    android:viewportHeight="24.0"
-    android:tint="?android:attr/colorControlNormal">
+        android:width="24dp"
+        android:height="24dp"
+        android:tint="?android:attr/colorControlNormal"
+        android:viewportHeight="24"
+        android:viewportWidth="24">
     <path
-        android:fillColor="#FFF"
-        android:pathData="M13,12c0,-3.57 2.2,-6.62 5.31,-7.87 0.89,-0.36 0.75,-1.69 -0.19,-1.9 -1.1,-0.24 -2.27,-0.3 -3.48,-0.14 -4.51,0.6 -8.12,4.31 -8.59,8.83C5.43,16.93 10.12,22 16,22c0.73,0 1.43,-0.08 2.12,-0.23 0.95,-0.21 1.1,-1.53 0.2,-1.9A8.471,8.471 0,0 1,13 12z" />
-</vector>
\ No newline at end of file
+        android:fillColor="#FF000000"
+        android:pathData="M15.5,22c1.05,0 2.05,-0.16 3,-0.46c-4.06,-1.27 -7,-5.06 -7,-9.54s2.94,-8.27 7,-9.54C17.55,2.16 16.55,2 15.5,2c-5.52,0 -10,4.48 -10,10S9.98,22 15.5,22L15.5,22z"/>
+</vector>
diff --git a/res/drawable/ic_settings_security.xml b/res/drawable/ic_settings_security.xml
index 055babc..6065dd9 100644
--- a/res/drawable/ic_settings_security.xml
+++ b/res/drawable/ic_settings_security.xml
@@ -14,12 +14,15 @@
     limitations under the License.
 -->
 <vector xmlns:android="http://schemas.android.com/apk/res/android"
-        android:width="24.0dp"
-        android:height="24.0dp"
-        android:viewportWidth="24.0"
-        android:viewportHeight="24.0"
+        android:width="24dp"
+        android:height="24dp"
+        android:viewportHeight="24"
+        android:viewportWidth="24"
         android:tint="?android:attr/colorControlNormal">
     <path
         android:fillColor="#FFFFFFFF"
-        android:pathData="M18,8h-1V6c0,-2.76 -2.24,-5 -5,-5S7,3.24 7,6v2H6c-1.1,0 -2,0.9 -2,2v10c0,1.1 0.9,2 2,2h12c1.1,0 2,-0.9 2,-2V10C20,8.9 19.1,8 18,8zM9,6c0,-1.66 1.34,-3 3,-3s3,1.34 3,3v2H9V6zM18,20H6V10h12V20zM12,17c1.1,0 2,-0.9 2,-2c0,-1.1 -0.9,-2 -2,-2c-1.1,0 -2,0.9 -2,2C10,16.1 10.9,17 12,17z"/>
-</vector>
+        android:pathData="M18,8h-1V6c0,-2.76 -2.24,-5 -5,-5S7,3.24 7,6v0h2v0c0,-1.66 1.34,-3 3,-3s3,1.34 3,3v2H6c-1.1,0 -2,0.9 -2,2v10c0,1.1 0.9,2 2,2h12c1.1,0 2,-0.9 2,-2V10C20,8.9 19.1,8 18,8zM18,20H6V10h12V20z"/>
+    <path
+        android:fillColor="#FFFFFFFF"
+        android:pathData="M12,15m-2,0a2,2 0,1 1,4 0a2,2 0,1 1,-4 0"/>
+</vector>
\ No newline at end of file
diff --git a/res/drawable/ic_settings_security_white.xml b/res/drawable/ic_settings_security_white.xml
index 544ebef..1779402 100644
--- a/res/drawable/ic_settings_security_white.xml
+++ b/res/drawable/ic_settings_security_white.xml
@@ -14,11 +14,15 @@
   limitations under the License.
   -->
 <vector xmlns:android="http://schemas.android.com/apk/res/android"
-        android:width="24.0dp"
-        android:height="24.0dp"
-        android:viewportWidth="24.0"
-        android:viewportHeight="24.0">
+        android:width="24dp"
+        android:height="24dp"
+        android:viewportHeight="24"
+        android:viewportWidth="24">
     <path
         android:fillColor="#FFFFFFFF"
-        android:pathData="M18,8h-1V6c0,-2.76 -2.24,-5 -5,-5S7,3.24 7,6v2H6c-1.1,0 -2,0.9 -2,2v10c0,1.1 0.9,2 2,2h12c1.1,0 2,-0.9 2,-2V10C20,8.9 19.1,8 18,8zM9,6c0,-1.66 1.34,-3 3,-3s3,1.34 3,3v2H9V6zM18,20H6V10h12V20zM12,17c1.1,0 2,-0.9 2,-2c0,-1.1 -0.9,-2 -2,-2c-1.1,0 -2,0.9 -2,2C10,16.1 10.9,17 12,17z"/>
+        android:pathData="M18,8h-1V6c0,-2.76 -2.24,-5 -5,-5S7,3.24 7,6v0h2v0c0,-1.66 1.34,-3 3,-3s3,1.34 3,3v2H6c-1.1,0 -2,0.9 -2,2v10c0,1.1 0.9,2 2,2h12c1.1,0 2,-0.9 2,-2V10C20,8.9 19.1,8 18,8zM18,20H6V10h12V20z"/>
+    <path
+        android:fillColor="#FFFFFFFF"
+        android:pathData="M12,15m-2,0a2,2 0,1 1,4 0a2,2 0,1 1,-4 0"/>
 </vector>
+
diff --git a/res/drawable/ic_settings_wireless.xml b/res/drawable/ic_settings_wireless.xml
index 0c894eb..f9b4bbc 100644
--- a/res/drawable/ic_settings_wireless.xml
+++ b/res/drawable/ic_settings_wireless.xml
@@ -21,5 +21,5 @@
         android:tint="?android:attr/colorControlNormal">
     <path
         android:fillColor="#FFFFFFFF"
-        android:pathData="M23.66,8.11c0.39,-0.48 0.29,-1.19 -0.22,-1.54C21.67,5.36 17.55,3 12,3 6.44,3 2.33,5.36 0.56,6.57c-0.51,0.35 -0.61,1.06 -0.23,1.54L11.16,21.6c0.42,0.53 1.23,0.53 1.66,0L23.66,8.11z"/>
+        android:pathData="M1,9l2,2c4.97,-4.97 13.03,-4.97 18,0l2,-2C16.93,2.93 7.08,2.93 1,9zM9,17l3,3l3,-3C13.35,15.34 10.66,15.34 9,17zM5,13l2,2c2.76,-2.76 7.24,-2.76 10,0l2,-2C15.14,9.14 8.87,9.14 5,13z"/>
 </vector>
diff --git a/res/drawable/ic_settings_wireless_white.xml b/res/drawable/ic_settings_wireless_white.xml
index 8dedb0d..3271b8b 100644
--- a/res/drawable/ic_settings_wireless_white.xml
+++ b/res/drawable/ic_settings_wireless_white.xml
@@ -20,5 +20,5 @@
         android:viewportHeight="24.0">
     <path
         android:fillColor="#FFFFFFFF"
-        android:pathData="M23.66,8.11c0.39,-0.48 0.29,-1.19 -0.22,-1.54C21.67,5.36 17.55,3 12,3 6.44,3 2.33,5.36 0.56,6.57c-0.51,0.35 -0.61,1.06 -0.23,1.54L11.16,21.6c0.42,0.53 1.23,0.53 1.66,0L23.66,8.11z"/>
+        android:pathData="M1,9l2,2c4.97,-4.97 13.03,-4.97 18,0l2,-2C16.93,2.93 7.08,2.93 1,9zM9,17l3,3l3,-3C13.35,15.34 10.66,15.34 9,17zM5,13l2,2c2.76,-2.76 7.24,-2.76 10,0l2,-2C15.14,9.14 8.87,9.14 5,13z"/>
 </vector>
diff --git a/res/drawable/ic_sync.xml b/res/drawable/ic_sync.xml
index 45a2dbd..ed16b03 100644
--- a/res/drawable/ic_sync.xml
+++ b/res/drawable/ic_sync.xml
@@ -16,10 +16,13 @@
 <vector xmlns:android="http://schemas.android.com/apk/res/android"
         android:width="24dp"
         android:height="24dp"
-        android:viewportWidth="24.0"
-        android:viewportHeight="24.0"
+        android:viewportWidth="24"
+        android:viewportHeight="24"
         android:tint="?android:attr/colorControlNormal">
     <path
-        android:pathData="M12,4L12,1L8,5l4,4L12,6c3.31,0 6,2.69 6,6 0,1.01 -0.25,1.97 -0.7,2.8l1.46,1.46C19.54,15.03 20,13.57 20,12c0,-4.42 -3.58,-8 -8,-8zM12,18c-3.31,0 -6,-2.69 -6,-6 0,-1.01 0.25,-1.97 0.7,-2.8L5.24,7.74C4.46,8.97 4,10.43 4,12c0,4.42 3.58,8 8,8v3l4,-4 -4,-4v3z"
-        android:fillColor="#FFFFFFFF"/>
+        android:fillColor="#FFFFFFFF"
+        android:pathData="M17.26,6H19V4h-6v0.07V10h2V6.81c1.79,1.04 3,2.97 3,5.19c0,2.97 -2.17,5.43 -5,5.91v2.02c3.95,-0.49 7,-3.85 7,-7.93C20,9.6 18.93,7.46 17.26,6z"/>
+    <path
+        android:fillColor="#FFFFFFFF"
+        android:pathData="M4,12c0,2.4 1.07,4.54 2.74,6H5v2h6v-0.07V14H9v3.19C7.21,16.15 6,14.22 6,12c0,-2.97 2.17,-5.43 5,-5.91V4.07C7.05,4.56 4,7.92 4,12z"/>
 </vector>
diff --git a/res/drawable/ic_wallpaper.xml b/res/drawable/ic_wallpaper.xml
index 20da9c3..d0fc6be 100644
--- a/res/drawable/ic_wallpaper.xml
+++ b/res/drawable/ic_wallpaper.xml
@@ -14,12 +14,12 @@
     limitations under the License.
 -->
 <vector xmlns:android="http://schemas.android.com/apk/res/android"
-        android:width="24.0dp"
-        android:height="24.0dp"
-        android:viewportWidth="24.0"
-        android:viewportHeight="24.0"
+        android:width="24dp"
+        android:height="24dp"
+        android:viewportWidth="24"
+        android:viewportHeight="24"
         android:tint="?android:attr/colorControlNormal">
     <path
         android:fillColor="#FF000000"
-        android:pathData="M4.0,4.0l7.0,0.0L11.0,2.0L4.0,2.0c-1.1,0.0 -2.0,0.9 -2.0,2.0l0.0,7.0l2.0,0.0L4.0,4.0zm6.0,9.0l-4.0,5.0l12.0,0.0l-3.0,-4.0 -2.03,2.71L10.0,13.0zm7.0,-4.5c0.0,-0.83 -0.67,-1.5 -1.5,-1.5S14.0,7.67 14.0,8.5s0.67,1.5 1.5,1.5S17.0,9.33 17.0,8.5zM20.0,2.0l-7.0,0.0l0.0,2.0l7.0,0.0l0.0,7.0l2.0,0.0L22.0,4.0c0.0,-1.1 -0.9,-2.0 -2.0,-2.0zm0.0,18.0l-7.0,0.0l0.0,2.0l7.0,0.0c1.1,0.0 2.0,-0.9 2.0,-2.0l0.0,-7.0l-2.0,0.0l0.0,7.0zM4.0,13.0L2.0,13.0l0.0,7.0c0.0,1.0 0.9,2.0 2.0,2.0l7.0,0.0l0.0,-2.0L4.0,20.0l0.0,-7.0z"/>
+        android:pathData="M9,12.71l2.14,2.58l3,-3.87L18,16.57H6L9,12.71zM5,5h6V3H5C3.9,3 3,3.9 3,5v6h2V5zM19,19h-6v2h6c1.1,0 2,-0.9 2,-2v-6h-2V19zM5,19v-6H3v6c0,1.1 0.9,2 2,2h6v-2H5zM19,5v6h2V5c0,-1.1 -0.9,-2 -2,-2h-6v2H19zM16,9c0.55,0 1,-0.45 1,-1s-0.45,-1 -1,-1c-0.55,0 -1,0.45 -1,1S15.45,9 16,9z"/>
 </vector>
diff --git a/res/drawable/signal_strength_1x.xml b/res/drawable/signal_strength_1x.xml
new file mode 100644
index 0000000..d69b0dc
--- /dev/null
+++ b/res/drawable/signal_strength_1x.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+  Copyright (C) 2018 The Android Open Source Project
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+  -->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="8.5dp"
+    android:height="17dp"
+    android:viewportWidth="12.0"
+    android:viewportHeight="24.0"
+    android:tint="?android:attr/colorControlNormal">
+    <path
+        android:fillColor="#FFFFFFFF"
+        android:pathData="M3.500000,11.000000L1.800000,11.000000L1.800000,4.400000L0.200000,5.100000L0.200000,3.700000l3.100000,-1.300000l0.200000,0.000000L3.500000,11.000000z"/>
+    <path
+        android:fillColor="#FFFFFFFF"
+        android:pathData="M8.600000,5.500000l1.200000,-3.000000l1.900000,0.000000L9.700000,6.700000l2.200000,4.300000L9.900000,11.000000L8.700000,7.900000L7.400000,11.000000L5.500000,11.000000l2.100000,-4.300000L5.600000,2.500000l1.900000,0.000000L8.600000,5.500000z"/>
+</vector>
\ No newline at end of file
diff --git a/res/drawable/signal_strength_3g.xml b/res/drawable/signal_strength_3g.xml
new file mode 100644
index 0000000..9b5e4a6
--- /dev/null
+++ b/res/drawable/signal_strength_3g.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+  Copyright (C) 2018 The Android Open Source Project
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+  -->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="9.208dp"
+    android:height="17dp"
+    android:viewportWidth="13.0"
+    android:viewportHeight="24.0"
+    android:tint="?android:attr/colorControlNormal">
+    <path
+        android:fillColor="#FFFFFFFF"
+        android:pathData="M2.000000,6.000000l0.800000,0.000000c0.300000,0.000000 0.500000,-0.100000 0.700000,-0.300000s0.200000,-0.500000 0.200000,-0.900000c0.000000,-0.300000 -0.100000,-0.600000 -0.200000,-0.800000S3.200000,3.700000 2.900000,3.700000C2.700000,3.700000 2.500000,3.800000 2.300000,4.000000S2.100000,4.400000 2.100000,4.700000L0.500000,4.700000C0.500000,4.000000 0.700000,3.400000 1.100000,3.000000s1.000000,-0.600000 1.700000,-0.600000c0.800000,0.000000 1.400000,0.200000 1.900000,0.600000s0.700000,1.000000 0.700000,1.800000c0.000000,0.400000 -0.100000,0.700000 -0.300000,1.100000S4.600000,6.500000 4.300000,6.600000C4.700000,6.800000 5.000000,7.100000 5.200000,7.400000s0.300000,0.700000 0.300000,1.200000c0.000000,0.800000 -0.200000,1.400000 -0.700000,1.800000s-1.100000,0.700000 -1.900000,0.700000c-0.700000,0.000000 -1.300000,-0.200000 -1.800000,-0.600000s-0.700000,-1.000000 -0.700000,-1.800000L2.000000,8.700000C2.000000,9.000000 2.100000,9.300000 2.300000,9.500000s0.400000,0.300000 0.600000,0.300000c0.300000,0.000000 0.500000,-0.100000 0.700000,-0.300000S3.900000,9.000000 3.900000,8.600000c0.000000,-0.500000 -0.100000,-0.800000 -0.300000,-1.000000S3.200000,7.300000 2.800000,7.300000L2.000000,7.300000L2.000000,6.000000z"/>
+    <path
+        android:fillColor="#FFFFFFFF"
+        android:pathData="M12.500000,9.900000c-0.200000,0.400000 -0.600000,0.700000 -1.000000,0.900000s-1.000000,0.400000 -1.800000,0.400000c-0.900000,0.000000 -1.700000,-0.300000 -2.200000,-0.800000S6.700000,9.000000 6.700000,7.900000L6.700000,5.600000c0.000000,-1.100000 0.300000,-1.900000 0.800000,-2.400000s1.200000,-0.800000 2.100000,-0.800000c1.000000,0.000000 1.700000,0.200000 2.100000,0.700000s0.700000,1.200000 0.700000,2.100000l-1.600000,0.000000c0.000000,-0.500000 -0.100000,-0.900000 -0.200000,-1.100000s-0.500000,-0.300000 -0.900000,-0.300000c-0.400000,0.000000 -0.700000,0.200000 -0.900000,0.500000S8.400000,5.000000 8.400000,5.600000l0.000000,2.300000c0.000000,0.700000 0.100000,1.100000 0.300000,1.400000s0.600000,0.500000 1.000000,0.500000c0.300000,0.000000 0.600000,0.000000 0.700000,-0.100000s0.300000,-0.200000 0.400000,-0.300000L10.799999,7.800000L9.600000,7.800000L9.600000,6.600000l2.900000,0.000000L12.500000,9.900000z"/>
+</vector>
\ No newline at end of file
diff --git a/res/drawable/signal_strength_g.xml b/res/drawable/signal_strength_g.xml
new file mode 100644
index 0000000..6f6e21b
--- /dev/null
+++ b/res/drawable/signal_strength_g.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+  Copyright (C) 2018 The Android Open Source Project
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+  -->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="4.958dp"
+    android:height="17dp"
+    android:viewportWidth="7.0"
+    android:viewportHeight="24.0"
+    android:tint="?android:attr/colorControlNormal">
+    <path
+        android:fillColor="#FFFFFFFF"
+        android:pathData="M6.500000,9.900000c-0.200000,0.400000 -0.600000,0.700000 -1.000000,0.900000s-1.000000,0.400000 -1.800000,0.400000c-0.900000,0.000000 -1.700000,-0.300000 -2.200000,-0.800000S0.700000,9.000000 0.700000,7.900000L0.700000,5.600000c0.000000,-1.100000 0.300000,-1.900000 0.800000,-2.400000s1.200000,-0.800000 2.100000,-0.800000c1.000000,0.000000 1.700000,0.200000 2.100000,0.700000s0.700000,1.200000 0.700000,2.100000L4.700000,5.200000c0.000000,-0.500000 -0.100000,-0.900000 -0.200000,-1.100000S4.000000,3.700000 3.600000,3.700000c-0.400000,0.000000 -0.700000,0.200000 -0.900000,0.500000S2.300000,5.000000 2.300000,5.600000l0.000000,2.300000c0.000000,0.700000 0.100000,1.100000 0.300000,1.400000s0.600000,0.500000 1.000000,0.500000c0.300000,0.000000 0.600000,0.000000 0.700000,-0.100000s0.300000,-0.200000 0.400000,-0.300000L4.700000,7.800000L3.500000,7.800000L3.500000,6.600000l2.900000,0.000000L6.400000,9.900000z"/>
+</vector>
\ No newline at end of file
diff --git a/res/drawable/signal_strength_lte.xml b/res/drawable/signal_strength_lte.xml
new file mode 100644
index 0000000..998999f
--- /dev/null
+++ b/res/drawable/signal_strength_lte.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+  Copyright (C) 2018 The Android Open Source Project
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+  -->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="9.208dp"
+    android:height="17dp"
+    android:viewportWidth="13.0"
+    android:viewportHeight="24.0"
+    android:tint="?android:attr/colorControlNormal">
+    <path
+        android:fillColor="#FFFFFFFF"
+        android:pathData="M2.000000,9.700000l2.000000,0.000000L4.000000,11.000000L0.300000,11.000000L0.300000,2.500000L2.000000,2.500000L2.000000,9.700000z"/>
+    <path
+        android:fillColor="#FFFFFFFF"
+        android:pathData="M8.300000,3.800000L7.000000,3.800000L7.000000,11.000000L5.300000,11.000000L5.300000,3.800000L4.000000,3.800000L4.000000,2.500000l4.300000,0.000000L8.300000,3.800000z"/>
+    <path
+        android:fillColor="#FFFFFFFF"
+        android:pathData="M12.400000,7.300000l-1.700000,0.000000l0.000000,2.400000l2.100000,0.000000L12.799999,11.000000L9.000000,11.000000L9.000000,2.500000l3.700000,0.000000l0.000000,1.300000l-2.100000,0.000000l0.000000,2.100000l1.700000,0.000000L12.300000,7.300000z"/>
+</vector>
\ No newline at end of file
diff --git a/res/layout/preference_app.xml b/res/layout/preference_app.xml
deleted file mode 100644
index f0adebf..0000000
--- a/res/layout/preference_app.xml
+++ /dev/null
@@ -1,100 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2014 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-<LinearLayout
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:settings="http://schemas.android.com/apk/res-auto"
-    android:layout_width="match_parent"
-    android:layout_height="wrap_content"
-    android:background="?android:attr/selectableItemBackground"
-    android:gravity="center_vertical"
-    android:minHeight="?android:attr/listPreferredItemHeightSmall"
-    android:paddingStart="?android:attr/listPreferredItemPaddingStart"
-    android:paddingEnd="?android:attr/listPreferredItemPaddingEnd">
-
-    <LinearLayout
-        android:id="@+id/icon_frame"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:gravity="start|center_vertical"
-        android:minWidth="56dp"
-        android:orientation="horizontal"
-        android:paddingEnd="8dp"
-        android:paddingTop="4dp"
-        android:paddingBottom="4dp">
-        <ImageView
-            android:id="@android:id/icon"
-            android:layout_width="@dimen/secondary_app_icon_size"
-            android:layout_height="@dimen/secondary_app_icon_size"/>
-    </LinearLayout>
-
-    <LinearLayout
-        android:layout_width="0dp"
-        android:layout_height="wrap_content"
-        android:layout_weight="1"
-        android:orientation="vertical"
-        android:paddingTop="16dp"
-        android:paddingBottom="16dp">
-
-        <TextView android:id="@android:id/title"
-                  android:layout_width="wrap_content"
-                  android:layout_height="wrap_content"
-                  android:singleLine="true"
-                  android:textAppearance="@style/TextAppearance.TileTitle"
-                  android:ellipsize="marquee"
-                  android:fadingEdge="horizontal" />
-
-        <LinearLayout
-            android:id="@+id/summary_container"
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:visibility="gone">
-            <TextView android:id="@android:id/summary"
-                      android:layout_width="0dp"
-                      android:layout_height="wrap_content"
-                      android:layout_weight="1"
-                      android:textAppearance="@style/TextAppearance.Small"
-                      android:textAlignment="viewStart"
-                      android:textColor="?android:attr/textColorSecondary" />
-
-            <TextView android:id="@+id/appendix"
-                      android:layout_width="0dp"
-                      android:layout_height="wrap_content"
-                      android:layout_weight="1"
-                      android:textAppearance="@style/TextAppearance.Small"
-                      android:textAlignment="viewEnd"
-                      android:textColor="?android:attr/textColorSecondary"
-                      android:maxLines="1"
-                      android:ellipsize="end" />
-        </LinearLayout>
-        <ProgressBar
-            android:id="@android:id/progress"
-            style="?android:attr/progressBarStyleHorizontal"
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:layout_marginTop="4dp"
-            android:max="100"
-            android:visibility="gone" />
-    </LinearLayout>
-
-    <LinearLayout
-        android:id="@android:id/widget_frame"
-        android:layout_width="wrap_content"
-        android:layout_height="match_parent"
-        android:gravity="center"
-        android:minWidth="64dp"
-        android:orientation="vertical" />
-
-</LinearLayout>
diff --git a/res/menu/time_zone_base_search_menu.xml b/res/menu/time_zone_base_search_menu.xml
index 92241af..6df42c4 100644
--- a/res/menu/time_zone_base_search_menu.xml
+++ b/res/menu/time_zone_base_search_menu.xml
@@ -19,7 +19,7 @@
     <item
         android:id="@+id/time_zone_search_menu"
         android:title="@string/search_settings"
-        android:icon="@*android:drawable/ic_search_api_material"
+        android:icon="@drawable/ic_search_24dp"
         android:showAsAction="always|collapseActionView"
         android:actionViewClass="android.widget.SearchView" />
 
diff --git a/res/values-af/strings.xml b/res/values-af/strings.xml
index baf66e3..4f475d4 100644
--- a/res/values-af/strings.xml
+++ b/res/values-af/strings.xml
@@ -4150,4 +4150,24 @@
     <string name="high_frequency_display_device_summary" msgid="1476189143535389304">"Aktiveer virtuele hoëfrekwensie-paneel"</string>
     <string name="homepage_all_settings" msgid="1245540304900512919">"Alle instellings"</string>
     <string name="homepage_personal_settings" msgid="3998213046366125494">"Jou instellings"</string>
+    <!-- no translation found for cbrs_data_switch (2438108549734702331) -->
+    <skip />
+    <!-- no translation found for cbrs_data_switch_summary (1359701543634843588) -->
+    <skip />
+    <!-- no translation found for choose_network_title (5702586742615861037) -->
+    <skip />
+    <!-- no translation found for network_disconnected (2933191767567503504) -->
+    <skip />
+    <!-- no translation found for network_connected (4943925032253989621) -->
+    <skip />
+    <!-- no translation found for network_connecting (76404590784733557) -->
+    <skip />
+    <!-- no translation found for network_could_not_connect (1113813392274155369) -->
+    <skip />
+    <!-- no translation found for empty_networks_list (2578752112731781190) -->
+    <skip />
+    <!-- no translation found for network_query_error (7487714485362598410) -->
+    <skip />
+    <!-- no translation found for forbidden_network (4626592887509826545) -->
+    <skip />
 </resources>
diff --git a/res/values-am/strings.xml b/res/values-am/strings.xml
index 6a9c0ca..6f11ca6 100644
--- a/res/values-am/strings.xml
+++ b/res/values-am/strings.xml
@@ -4150,4 +4150,24 @@
     <string name="high_frequency_display_device_summary" msgid="1476189143535389304">"ምናባዊ የፈጣን ድግግሞሽ ፓነልን አንቃ"</string>
     <string name="homepage_all_settings" msgid="1245540304900512919">"ሁሉም ቅንብሮች"</string>
     <string name="homepage_personal_settings" msgid="3998213046366125494">"የእርስዎ ቅንብሮች"</string>
+    <!-- no translation found for cbrs_data_switch (2438108549734702331) -->
+    <skip />
+    <!-- no translation found for cbrs_data_switch_summary (1359701543634843588) -->
+    <skip />
+    <!-- no translation found for choose_network_title (5702586742615861037) -->
+    <skip />
+    <!-- no translation found for network_disconnected (2933191767567503504) -->
+    <skip />
+    <!-- no translation found for network_connected (4943925032253989621) -->
+    <skip />
+    <!-- no translation found for network_connecting (76404590784733557) -->
+    <skip />
+    <!-- no translation found for network_could_not_connect (1113813392274155369) -->
+    <skip />
+    <!-- no translation found for empty_networks_list (2578752112731781190) -->
+    <skip />
+    <!-- no translation found for network_query_error (7487714485362598410) -->
+    <skip />
+    <!-- no translation found for forbidden_network (4626592887509826545) -->
+    <skip />
 </resources>
diff --git a/res/values-ar/strings.xml b/res/values-ar/strings.xml
index 7e9ad10..b73ddeb 100644
--- a/res/values-ar/strings.xml
+++ b/res/values-ar/strings.xml
@@ -4442,4 +4442,24 @@
     <string name="high_frequency_display_device_summary" msgid="1476189143535389304">"تفعيل لوحة التكرار العالي الافتراضية"</string>
     <string name="homepage_all_settings" msgid="1245540304900512919">"جميع الإعدادات"</string>
     <string name="homepage_personal_settings" msgid="3998213046366125494">"إعداداتك"</string>
+    <!-- no translation found for cbrs_data_switch (2438108549734702331) -->
+    <skip />
+    <!-- no translation found for cbrs_data_switch_summary (1359701543634843588) -->
+    <skip />
+    <!-- no translation found for choose_network_title (5702586742615861037) -->
+    <skip />
+    <!-- no translation found for network_disconnected (2933191767567503504) -->
+    <skip />
+    <!-- no translation found for network_connected (4943925032253989621) -->
+    <skip />
+    <!-- no translation found for network_connecting (76404590784733557) -->
+    <skip />
+    <!-- no translation found for network_could_not_connect (1113813392274155369) -->
+    <skip />
+    <!-- no translation found for empty_networks_list (2578752112731781190) -->
+    <skip />
+    <!-- no translation found for network_query_error (7487714485362598410) -->
+    <skip />
+    <!-- no translation found for forbidden_network (4626592887509826545) -->
+    <skip />
 </resources>
diff --git a/res/values-as/strings.xml b/res/values-as/strings.xml
index 3d44924..1372f37 100644
--- a/res/values-as/strings.xml
+++ b/res/values-as/strings.xml
@@ -1122,13 +1122,13 @@
     <string name="auto_brightness_very_high_summary" msgid="4551003097086220709">"বেটাৰিৰ বৰ্ধিত ব্যৱহাৰ"</string>
     <string name="auto_brightness_disclaimer" msgid="871436423746343406">"উপলব্ধ পোহৰ অনুযায়ী উজ্জ্বলতাৰ স্তৰ অপ্টিমাইজ কৰক। এই সুবিধাটো অন হৈ থাকিলেও আপুনি সাময়িকভাৱে উজ্জ্বলতা সাল-সলনি কৰিব পাৰিব।"</string>
     <string name="auto_brightness_description" msgid="7310335517128283729">"আপোনাৰ স্ক্ৰীণৰ উজ্জ্বলতা আপোনাৰ পৰিবেশ আৰু কাৰ্যকলাপবোৰৰ লগত স্ৱয়ংক্ৰিয়ভাৱে খাপ খায়। আপুনি অনুকূলনযোগ্য় উজ্জ্বলতাক আপোনাৰ অগ্ৰাধিকাৰসমূহ বুজিবলৈ সহায় কৰিবৰ বাবে শ্লাইডাৰক মেনুয়েলভাৱে স্থানান্তৰ কৰিব পাৰে।"</string>
-    <string name="night_display_title" msgid="2626451512200357686">"ৰাতিৰ লাইট"</string>
-    <string name="night_display_text" msgid="1837277457033025056">"ৰাতিৰ পোহৰে আপোনাৰ স্ক্ৰিণ সংকেতক ৰঙীণ বনাই দিয়ে। এই কাৰ্যই আপোনাক নিজৰ স্ক্ৰিণ চাবলৈ বা কম পোহৰতো পঢ়িবলৈ সুবিধা দিয়ে আৰু আপোনাক শান্তিৰে শোৱাত সহায়ও কৰিব পাৰে।"</string>
+    <string name="night_display_title" msgid="2626451512200357686">"ৰাতিৰ পোহৰ"</string>
+    <string name="night_display_text" msgid="1837277457033025056">"ৰাতিৰ পোহৰে আপোনাৰ স্ক্ৰীণখন মৌ-বৰণীয়া কৰি তোলে। এই কাৰ্যই আপোনাক স্ক্ৰীণখন চাবলৈ বা কম পোহৰতো পঢ়িবলৈ সুবিধা দিয়ে আৰু ই আপোনাক সহজে টোপনি যোৱাতো সহায় কৰিব পাৰে।"</string>
     <string name="night_display_auto_mode_title" msgid="6574111412154833409">"সূচী"</string>
     <string name="night_display_auto_mode_never" msgid="2483761922928753400">"নাই"</string>
-    <string name="night_display_auto_mode_custom" msgid="2379394568898721765">"নিজৰ অনুসৰি কৰা সময়ত অন হ’ব"</string>
-    <string name="night_display_auto_mode_twilight" msgid="589042813708244059">"সূৰ্যাস্তৰ পৰা সূৰ্যোদয়লৈ অন কৰি ৰাখক"</string>
-    <string name="night_display_start_time_title" msgid="8918016772613689584">"আৰম্ভণিৰ সময়"</string>
+    <string name="night_display_auto_mode_custom" msgid="2379394568898721765">"কাষ্টম সময়ত অন হ’ব"</string>
+    <string name="night_display_auto_mode_twilight" msgid="589042813708244059">"সূৰ্যাস্তৰ পৰা সূৰ্যোদয়লৈ অন হয়"</string>
+    <string name="night_display_start_time_title" msgid="8918016772613689584">"আৰম্ভ হোৱাৰ সময়"</string>
     <string name="night_display_end_time_title" msgid="8286061578083519350">"সমাপ্ত হোৱাৰ সময়"</string>
     <string name="night_display_status_title" msgid="1784041143360286267">"স্থিতি"</string>
     <string name="night_display_temperature_title" msgid="1435292789272017136">"তীব্ৰতা"</string>
@@ -1144,7 +1144,7 @@
     <string name="night_display_activation_off_manual" msgid="4074557720918572883">"এতিয়া অফ কৰক"</string>
     <string name="night_display_activation_on_twilight" msgid="6976051971534953845">"সূৰ্যোদয় নোহোৱালৈকে অন কৰি ৰাখক"</string>
     <string name="night_display_activation_off_twilight" msgid="7196227685059907233">"সূৰ্যাস্ত নোহোৱালৈকে অফ কৰি ৰাখক"</string>
-    <string name="night_display_activation_on_custom" msgid="5472029024427933598">"<xliff:g id="ID_1">%1$s</xliff:g> নবজালৈকে অফ কৰি ৰাখক"</string>
+    <string name="night_display_activation_on_custom" msgid="5472029024427933598">"<xliff:g id="ID_1">%1$s</xliff:g> নবজালৈকে অন কৰি ৰাখক"</string>
     <string name="night_display_activation_off_custom" msgid="6169984658293744715">"<xliff:g id="ID_1">%1$s</xliff:g> নবজালৈকে অফ কৰি ৰাখক"</string>
     <string name="screen_timeout" msgid="4351334843529712571">"সুপ্ত অৱস্থা"</string>
     <string name="screen_timeout_title" msgid="5130038655092628247">"স্ক্ৰীণ অফ হৈ যায়"</string>
@@ -1930,7 +1930,7 @@
     <string name="app_name_label" msgid="5440362857006046193">"এপ্"</string>
     <string name="last_time_used_label" msgid="8459441968795479307">"অন্তিমবাৰ ব্যৱহাৰ হৈছে"</string>
     <string name="usage_time_label" msgid="295954901452833058">"ব্যৱহাৰৰ সময়"</string>
-    <string name="accessibility_settings" msgid="3975902491934816215">"দিব্যাংগসকলৰ বাবে সুবিধাসমূহ"</string>
+    <string name="accessibility_settings" msgid="3975902491934816215">"সাধ্য সুবিধা"</string>
     <string name="accessibility_settings_title" msgid="2130492524656204459">"দিব্যাংগসকলৰ বাবে থকা সুবিধাসমূহৰ ছেটিংসমূহ"</string>
     <string name="accessibility_settings_summary" msgid="981260486011624939">"স্ক্ৰীণ ৰিডাৰ, ডিছপ্লে, ভাব-বিনিময় নিয়ন্ত্ৰণ"</string>
     <string name="vision_settings_title" msgid="4204111425716868288">"দৃষ্টি সম্পৰ্কীয় ছেটিংসমূহ"</string>
@@ -2942,9 +2942,9 @@
     <string name="account_dashboard_title" msgid="5895948991491438911">"একাউণ্টসমূহ"</string>
     <string name="account_dashboard_default_summary" msgid="3998347400161811075">"কোনো একাউণ্ট যোগ কৰা হোৱা নাই"</string>
     <string name="app_default_dashboard_title" msgid="7342549305933047317">"ডিফ\'ল্ট এপসমূহ"</string>
-    <string name="system_dashboard_summary" msgid="5797743225249766685">"ভাষা, সময়, বেকআপ, আপডেইট"</string>
+    <string name="system_dashboard_summary" msgid="5797743225249766685">"ভাষা, সময়, বেক আপ, আপডে’ট"</string>
     <string name="search_results_title" msgid="1796252422574886932">"ছেটিংসমূহ"</string>
-    <string name="search_menu" msgid="6283419262313758339">"ছেটিংবোৰ সন্ধান কৰক"</string>
+    <string name="search_menu" msgid="6283419262313758339">"ছেটিংসমূহ-ত সন্ধান কৰক"</string>
     <string name="keywords_wifi" msgid="3646884600964177062">"ৱাইফাই, ৱাই-ফাই, নেটৱৰ্ক সংযোগ, ইণ্টাৰনেট, বেঁতাৰ, ডেটা, ৱাই ফাই"</string>
     <string name="keywords_change_wifi_state" msgid="627068244033681010">"ৱাইফাই, ৱাই-ফাই, ট\'গল, নিয়ন্ত্ৰণ"</string>
     <string name="keywords_more_default_sms_app" msgid="8597706109432491909">"পাঠ বাৰ্তা, পাঠ বাৰ্তা প্ৰেৰণ, বাৰ্তা, বাৰ্তা প্ৰেৰণ, ডিফ\'ল্ট"</string>
@@ -3634,8 +3634,8 @@
     <string name="running_frequency" msgid="6622624669948277693">"ফ্ৰিকুৱেন্সী"</string>
     <string name="memory_maximum_usage" msgid="6513785462055278341">"সৰ্বাধিক ব্যৱহাৰ"</string>
     <string name="no_data_usage" msgid="9131454024293628063">"কোনো ডেটা ব্যৱহাৰ হোৱা নাই"</string>
-    <string name="zen_access_warning_dialog_title" msgid="1198189958031157142">"<xliff:g id="APP">%1$s</xliff:g>ক অসুবিধা নিদিবত প্ৰৱেশ কৰিবলৈ অনুমতি দিবনে?"</string>
-    <string name="zen_access_warning_dialog_summary" msgid="4015885767653010873">"এই এপে অসুবিধা নিদিবক অন/অফ কৰিব পাৰিব আৰু তাৰ লগত জড়িত ছেটিংসমূহ সলনি কৰিব পাৰিব।"</string>
+    <string name="zen_access_warning_dialog_title" msgid="1198189958031157142">"<xliff:g id="APP">%1$s</xliff:g>ক অসুবিধা নিদিব-ক এক্সেছ কৰিবলৈ অনুমতি দিবনে?"</string>
+    <string name="zen_access_warning_dialog_summary" msgid="4015885767653010873">"এই এপটোৱে অসুবিধা নিদিব-ক অন/অফ কৰিব পাৰিব আৰু তাৰ লগত জড়িত ছেটিংসমূহ সলনি কৰিব পাৰিব।"</string>
     <string name="zen_access_disabled_package_warning" msgid="302820100078584431">"জাননীৰ প্ৰৱেশ অন হৈ থকাৰ বাবে অন কৰি ৰাখিবৈ লাগিব"</string>
     <string name="zen_access_revoke_warning_dialog_title" msgid="558779234015793950">"<xliff:g id="APP">%1$s</xliff:g>ৰ অসুবিধা নিদিবলৈ থকা প্ৰৱেশৰ অনুমতি প্ৰত্যাহাৰ কৰিবনে?"</string>
     <string name="zen_access_revoke_warning_dialog_summary" msgid="5518216907304930148">"এই এপে সৃষ্টি কৰা সকলো অসুবিধা নিদিব নিয়ম আঁতৰোৱা হ\'ব।"</string>
@@ -3902,7 +3902,7 @@
     <string name="notification_suggestion_title" msgid="387052719462473500">"লক স্ক্ৰীণত নিয়ন্ত্ৰণসম্পৰ্কীয় তথ্য"</string>
     <string name="notification_suggestion_summary" msgid="8521159741445416875">"জাননীৰ সমল দেখুৱাওক বা লুকুৱাওক"</string>
     <string name="page_tab_title_summary" msgid="4070309266374993258">"সকলো"</string>
-    <string name="page_tab_title_support" msgid="4407600495101788249">"কিটিপ আৰু সহায়"</string>
+    <string name="page_tab_title_support" msgid="4407600495101788249">"উপদেশ আৰু সহায়"</string>
     <string name="developer_smallest_width" msgid="7516950434587313360">"সকলোতকৈ সৰু পুতল"</string>
     <string name="premium_sms_none" msgid="8268105565738040566">"ইনষ্টল কৰি ৰখা কোনো এপে প্ৰিমিয়াম এছএমএছ পঠাবলৈ অনুমতি বিচাৰি অনুৰোধ কৰা নাই"</string>
     <string name="premium_sms_warning" msgid="9086859595338944882">"প্ৰিমিয়াম এছএমএছৰ কাৰণে আপুনি খৰচ বহন কৰিবলগীয়া হ \'ব পাৰে যাৰ বাবে বাহকে আপোনালৈ পঠিওৱা বিলত দেয়ৰ পৰিমাণ বাঢ়িব পাৰে। আপুনি যদি কোনো এপক অনুমতি দিয়ে, তেন্তে আপুনি সেই এপটো ব্যৱহাৰ কৰি প্ৰিমিয়াম এছএমএছ পঠাব পাৰিব।"</string>
@@ -4152,4 +4152,24 @@
     <string name="high_frequency_display_device_summary" msgid="1476189143535389304">"ভাৰ্শ্বুৱল উচ্চ ফ্ৰিকুএন্সী পেনেল সক্ষম কৰক"</string>
     <string name="homepage_all_settings" msgid="1245540304900512919">"সকলো ছেটিং"</string>
     <string name="homepage_personal_settings" msgid="3998213046366125494">"আপোনাৰ ছেটিংসমূহ"</string>
+    <!-- no translation found for cbrs_data_switch (2438108549734702331) -->
+    <skip />
+    <!-- no translation found for cbrs_data_switch_summary (1359701543634843588) -->
+    <skip />
+    <!-- no translation found for choose_network_title (5702586742615861037) -->
+    <skip />
+    <!-- no translation found for network_disconnected (2933191767567503504) -->
+    <skip />
+    <!-- no translation found for network_connected (4943925032253989621) -->
+    <skip />
+    <!-- no translation found for network_connecting (76404590784733557) -->
+    <skip />
+    <!-- no translation found for network_could_not_connect (1113813392274155369) -->
+    <skip />
+    <!-- no translation found for empty_networks_list (2578752112731781190) -->
+    <skip />
+    <!-- no translation found for network_query_error (7487714485362598410) -->
+    <skip />
+    <!-- no translation found for forbidden_network (4626592887509826545) -->
+    <skip />
 </resources>
diff --git a/res/values-az/strings.xml b/res/values-az/strings.xml
index 60cd3f6..3550e3d 100644
--- a/res/values-az/strings.xml
+++ b/res/values-az/strings.xml
@@ -1128,7 +1128,7 @@
     <string name="night_display_auto_mode_title" msgid="6574111412154833409">"Cədvəl"</string>
     <string name="night_display_auto_mode_never" msgid="2483761922928753400">"Heç biri"</string>
     <string name="night_display_auto_mode_custom" msgid="2379394568898721765">"Xüsusi vaxtda aktiv edir"</string>
-    <string name="night_display_auto_mode_twilight" msgid="589042813708244059">"Qürubdan şəfəqə qədər aktiv edir"</string>
+    <string name="night_display_auto_mode_twilight" msgid="589042813708244059">"Gün çıxandan batana qədər aktiv edir"</string>
     <string name="night_display_start_time_title" msgid="8918016772613689584">"Başlama vaxtı"</string>
     <string name="night_display_end_time_title" msgid="8286061578083519350">"Bitmə tarixi"</string>
     <string name="night_display_status_title" msgid="1784041143360286267">"Status"</string>
@@ -1143,9 +1143,9 @@
     <string name="night_display_summary_on_auto_mode_twilight" msgid="852270120144683507">"Şəfəq vaxtı avtomatik deaktiv edəcək"</string>
     <string name="night_display_activation_on_manual" msgid="277343561277625826">"İndi aktiv edin"</string>
     <string name="night_display_activation_off_manual" msgid="4074557720918572883">"İndi deaktiv edin"</string>
-    <string name="night_display_activation_on_twilight" msgid="6976051971534953845">"Şəfəqə qədər deaktiv edin"</string>
-    <string name="night_display_activation_off_twilight" msgid="7196227685059907233">"Qüruba qədər deaktiv edin"</string>
-    <string name="night_display_activation_on_custom" msgid="5472029024427933598">"<xliff:g id="ID_1">%1$s</xliff:g> olana qədər deaktiv edin"</string>
+    <string name="night_display_activation_on_twilight" msgid="6976051971534953845">"Gün çıxanadək aktiv olsun"</string>
+    <string name="night_display_activation_off_twilight" msgid="7196227685059907233">"Gün batımına qədər deaktiv edin"</string>
+    <string name="night_display_activation_on_custom" msgid="5472029024427933598">"<xliff:g id="ID_1">%1$s</xliff:g> olana qədər aktiv edin"</string>
     <string name="night_display_activation_off_custom" msgid="6169984658293744715">"<xliff:g id="ID_1">%1$s</xliff:g> olanaq qədər deaktiv edin"</string>
     <string name="screen_timeout" msgid="4351334843529712571">"Yuxu"</string>
     <string name="screen_timeout_title" msgid="5130038655092628247">"Ekran sönür"</string>
@@ -4150,4 +4150,24 @@
     <string name="high_frequency_display_device_summary" msgid="1476189143535389304">"Virtual Yüksək Tezlikli Paneli Aktiv Edin"</string>
     <string name="homepage_all_settings" msgid="1245540304900512919">"Bütün Ayarlar"</string>
     <string name="homepage_personal_settings" msgid="3998213046366125494">"Ayarlarınız"</string>
+    <!-- no translation found for cbrs_data_switch (2438108549734702331) -->
+    <skip />
+    <!-- no translation found for cbrs_data_switch_summary (1359701543634843588) -->
+    <skip />
+    <!-- no translation found for choose_network_title (5702586742615861037) -->
+    <skip />
+    <!-- no translation found for network_disconnected (2933191767567503504) -->
+    <skip />
+    <!-- no translation found for network_connected (4943925032253989621) -->
+    <skip />
+    <!-- no translation found for network_connecting (76404590784733557) -->
+    <skip />
+    <!-- no translation found for network_could_not_connect (1113813392274155369) -->
+    <skip />
+    <!-- no translation found for empty_networks_list (2578752112731781190) -->
+    <skip />
+    <!-- no translation found for network_query_error (7487714485362598410) -->
+    <skip />
+    <!-- no translation found for forbidden_network (4626592887509826545) -->
+    <skip />
 </resources>
diff --git a/res/values-b+sr+Latn/strings.xml b/res/values-b+sr+Latn/strings.xml
index 0613d69..9b96c23 100644
--- a/res/values-b+sr+Latn/strings.xml
+++ b/res/values-b+sr+Latn/strings.xml
@@ -4223,4 +4223,24 @@
     <string name="high_frequency_display_device_summary" msgid="1476189143535389304">"Omogućite virtuelnu ploču visoke frekvencije"</string>
     <string name="homepage_all_settings" msgid="1245540304900512919">"Sva podešavanja"</string>
     <string name="homepage_personal_settings" msgid="3998213046366125494">"Podešavanja"</string>
+    <!-- no translation found for cbrs_data_switch (2438108549734702331) -->
+    <skip />
+    <!-- no translation found for cbrs_data_switch_summary (1359701543634843588) -->
+    <skip />
+    <!-- no translation found for choose_network_title (5702586742615861037) -->
+    <skip />
+    <!-- no translation found for network_disconnected (2933191767567503504) -->
+    <skip />
+    <!-- no translation found for network_connected (4943925032253989621) -->
+    <skip />
+    <!-- no translation found for network_connecting (76404590784733557) -->
+    <skip />
+    <!-- no translation found for network_could_not_connect (1113813392274155369) -->
+    <skip />
+    <!-- no translation found for empty_networks_list (2578752112731781190) -->
+    <skip />
+    <!-- no translation found for network_query_error (7487714485362598410) -->
+    <skip />
+    <!-- no translation found for forbidden_network (4626592887509826545) -->
+    <skip />
 </resources>
diff --git a/res/values-be/strings.xml b/res/values-be/strings.xml
index 6038227..b6ce5eb 100644
--- a/res/values-be/strings.xml
+++ b/res/values-be/strings.xml
@@ -3746,8 +3746,8 @@
     <string name="running_frequency" msgid="6622624669948277693">"Частата"</string>
     <string name="memory_maximum_usage" msgid="6513785462055278341">"Максімальнае выкарыстанне"</string>
     <string name="no_data_usage" msgid="9131454024293628063">"Даныя не выкарыстоўваюцца"</string>
-    <string name="zen_access_warning_dialog_title" msgid="1198189958031157142">"Адкрыць доступ да рэжыму «Не турбаваць» для <xliff:g id="APP">%1$s</xliff:g>?"</string>
-    <string name="zen_access_warning_dialog_summary" msgid="4015885767653010873">"Дадатак зможа уключаць/выключаць рэжым «Не турбаваць» і змяняць звязаныя з ім налады."</string>
+    <string name="zen_access_warning_dialog_title" msgid="1198189958031157142">"Даць праграме \"<xliff:g id="APP">%1$s</xliff:g>\" доступ да рэжыму \"Не турбаваць\"?"</string>
+    <string name="zen_access_warning_dialog_summary" msgid="4015885767653010873">"Праграма зможа уключаць і выключаць рэжым «Не турбаваць» і змяняць адпаведныя налады."</string>
     <string name="zen_access_disabled_package_warning" msgid="302820100078584431">"Павінен заставацца ўключаным, таму што ўключаны доступ да апавяшчэнняў"</string>
     <string name="zen_access_revoke_warning_dialog_title" msgid="558779234015793950">"Адклікаць доступ да рэжыму «Не турбаваць» для <xliff:g id="APP">%1$s</xliff:g>?"</string>
     <string name="zen_access_revoke_warning_dialog_summary" msgid="5518216907304930148">"Усе правілы рэжыму «Не турбаваць», створаныя гэтай праграмай, будуць выдалены."</string>
@@ -4298,4 +4298,24 @@
     <string name="high_frequency_display_device_summary" msgid="1476189143535389304">"Уключыць віртуальную высокачастотную панэль"</string>
     <string name="homepage_all_settings" msgid="1245540304900512919">"Усе налады"</string>
     <string name="homepage_personal_settings" msgid="3998213046366125494">"Вашы налады"</string>
+    <!-- no translation found for cbrs_data_switch (2438108549734702331) -->
+    <skip />
+    <!-- no translation found for cbrs_data_switch_summary (1359701543634843588) -->
+    <skip />
+    <!-- no translation found for choose_network_title (5702586742615861037) -->
+    <skip />
+    <!-- no translation found for network_disconnected (2933191767567503504) -->
+    <skip />
+    <!-- no translation found for network_connected (4943925032253989621) -->
+    <skip />
+    <!-- no translation found for network_connecting (76404590784733557) -->
+    <skip />
+    <!-- no translation found for network_could_not_connect (1113813392274155369) -->
+    <skip />
+    <!-- no translation found for empty_networks_list (2578752112731781190) -->
+    <skip />
+    <!-- no translation found for network_query_error (7487714485362598410) -->
+    <skip />
+    <!-- no translation found for forbidden_network (4626592887509826545) -->
+    <skip />
 </resources>
diff --git a/res/values-bg/strings.xml b/res/values-bg/strings.xml
index f83eff5..4274967 100644
--- a/res/values-bg/strings.xml
+++ b/res/values-bg/strings.xml
@@ -4150,4 +4150,24 @@
     <string name="high_frequency_display_device_summary" msgid="1476189143535389304">"Активиране на виртуалния панел за висока честота"</string>
     <string name="homepage_all_settings" msgid="1245540304900512919">"Всички настройки"</string>
     <string name="homepage_personal_settings" msgid="3998213046366125494">"Вашите настройки"</string>
+    <!-- no translation found for cbrs_data_switch (2438108549734702331) -->
+    <skip />
+    <!-- no translation found for cbrs_data_switch_summary (1359701543634843588) -->
+    <skip />
+    <!-- no translation found for choose_network_title (5702586742615861037) -->
+    <skip />
+    <!-- no translation found for network_disconnected (2933191767567503504) -->
+    <skip />
+    <!-- no translation found for network_connected (4943925032253989621) -->
+    <skip />
+    <!-- no translation found for network_connecting (76404590784733557) -->
+    <skip />
+    <!-- no translation found for network_could_not_connect (1113813392274155369) -->
+    <skip />
+    <!-- no translation found for empty_networks_list (2578752112731781190) -->
+    <skip />
+    <!-- no translation found for network_query_error (7487714485362598410) -->
+    <skip />
+    <!-- no translation found for forbidden_network (4626592887509826545) -->
+    <skip />
 </resources>
diff --git a/res/values-bn/strings.xml b/res/values-bn/strings.xml
index 857f611..239e32a 100644
--- a/res/values-bn/strings.xml
+++ b/res/values-bn/strings.xml
@@ -1124,7 +1124,7 @@
     <string name="auto_brightness_disclaimer" msgid="871436423746343406">"উপলব্ধ আলোর জন্য মানানসই উজ্জ্বলতার স্তর। যখন এই বৈশিষ্ট্যটি চালু থাকবে, তখনও অস্থায়ীভাবে আপনি উজ্জ্বলতা নিয়ন্ত্রণ করতে পারবেন।"</string>
     <string name="auto_brightness_description" msgid="7310335517128283729">"আপনার পারিপার্শ্বিক অবস্থা এবং অ্যাক্টিভিটি অনুযায়ী স্ক্রিনের উজ্জ্বলতা নিজে থেকেই অ্যাডজাস্ট করে নেওয়া হবে। স্ক্রিন কতখানি উজ্জ্বল হলে আপনার সুবিধা হয়, তা আপনি স্লাইডারের মাধ্যমে নির্দিষ্ট করে দিতে পারেন।"</string>
     <string name="night_display_title" msgid="2626451512200357686">"নাইট লাইট"</string>
-    <string name="night_display_text" msgid="1837277457033025056">"নাইট লাইট আপনার স্ক্রিনকে হলুদাভ করে দেয়৷ এটি আপনাকে অল্প আলোয় স্ক্রিনের দিকে স্বচ্ছন্দে তাকানোর সুবিধা দেয় এবং খুব ঘুমিয়ে পড়তে সাহায্য করতে পারে৷"</string>
+    <string name="night_display_text" msgid="1837277457033025056">"নাইট লাইট আপনার স্ক্রিনকে হলুদাভ করে দেয়৷ এটি আপনাকে অল্প আলোয় স্ক্রিনের দিকে স্বচ্ছন্দে তাকানোর সুবিধা দেয় এবং সহজে ঘুমিয়ে পড়তে সাহায্য করে৷"</string>
     <string name="night_display_auto_mode_title" msgid="6574111412154833409">"সময়সূচি"</string>
     <string name="night_display_auto_mode_never" msgid="2483761922928753400">"কোনো কিছুই নয়"</string>
     <string name="night_display_auto_mode_custom" msgid="2379394568898721765">"কাস্টম সময়ে চালু করুন"</string>
@@ -4150,4 +4150,24 @@
     <string name="high_frequency_display_device_summary" msgid="1476189143535389304">"ভার্চুয়াল উচ্চ ফ্রিকোয়েন্সি প্যানেল চালু করুন"</string>
     <string name="homepage_all_settings" msgid="1245540304900512919">"সমস্ত সেটিংস"</string>
     <string name="homepage_personal_settings" msgid="3998213046366125494">"আপনার সেটিংস"</string>
+    <!-- no translation found for cbrs_data_switch (2438108549734702331) -->
+    <skip />
+    <!-- no translation found for cbrs_data_switch_summary (1359701543634843588) -->
+    <skip />
+    <!-- no translation found for choose_network_title (5702586742615861037) -->
+    <skip />
+    <!-- no translation found for network_disconnected (2933191767567503504) -->
+    <skip />
+    <!-- no translation found for network_connected (4943925032253989621) -->
+    <skip />
+    <!-- no translation found for network_connecting (76404590784733557) -->
+    <skip />
+    <!-- no translation found for network_could_not_connect (1113813392274155369) -->
+    <skip />
+    <!-- no translation found for empty_networks_list (2578752112731781190) -->
+    <skip />
+    <!-- no translation found for network_query_error (7487714485362598410) -->
+    <skip />
+    <!-- no translation found for forbidden_network (4626592887509826545) -->
+    <skip />
 </resources>
diff --git a/res/values-bs/strings.xml b/res/values-bs/strings.xml
index 3a7d8a7..b934e44 100644
--- a/res/values-bs/strings.xml
+++ b/res/values-bs/strings.xml
@@ -4223,4 +4223,24 @@
     <string name="high_frequency_display_device_summary" msgid="1476189143535389304">"Omogućite Virtuelnu ploču visoke frekventnosti"</string>
     <string name="homepage_all_settings" msgid="1245540304900512919">"Sve postavke"</string>
     <string name="homepage_personal_settings" msgid="3998213046366125494">"Vaše postavke"</string>
+    <!-- no translation found for cbrs_data_switch (2438108549734702331) -->
+    <skip />
+    <!-- no translation found for cbrs_data_switch_summary (1359701543634843588) -->
+    <skip />
+    <!-- no translation found for choose_network_title (5702586742615861037) -->
+    <skip />
+    <!-- no translation found for network_disconnected (2933191767567503504) -->
+    <skip />
+    <!-- no translation found for network_connected (4943925032253989621) -->
+    <skip />
+    <!-- no translation found for network_connecting (76404590784733557) -->
+    <skip />
+    <!-- no translation found for network_could_not_connect (1113813392274155369) -->
+    <skip />
+    <!-- no translation found for empty_networks_list (2578752112731781190) -->
+    <skip />
+    <!-- no translation found for network_query_error (7487714485362598410) -->
+    <skip />
+    <!-- no translation found for forbidden_network (4626592887509826545) -->
+    <skip />
 </resources>
diff --git a/res/values-ca/strings.xml b/res/values-ca/strings.xml
index 1f54fb9..33a2989 100644
--- a/res/values-ca/strings.xml
+++ b/res/values-ca/strings.xml
@@ -4150,4 +4150,24 @@
     <string name="high_frequency_display_device_summary" msgid="1476189143535389304">"Activa el tauler virtual d\'alta freqüència"</string>
     <string name="homepage_all_settings" msgid="1245540304900512919">"Tota la configuració"</string>
     <string name="homepage_personal_settings" msgid="3998213046366125494">"La teva configuració"</string>
+    <!-- no translation found for cbrs_data_switch (2438108549734702331) -->
+    <skip />
+    <!-- no translation found for cbrs_data_switch_summary (1359701543634843588) -->
+    <skip />
+    <!-- no translation found for choose_network_title (5702586742615861037) -->
+    <skip />
+    <!-- no translation found for network_disconnected (2933191767567503504) -->
+    <skip />
+    <!-- no translation found for network_connected (4943925032253989621) -->
+    <skip />
+    <!-- no translation found for network_connecting (76404590784733557) -->
+    <skip />
+    <!-- no translation found for network_could_not_connect (1113813392274155369) -->
+    <skip />
+    <!-- no translation found for empty_networks_list (2578752112731781190) -->
+    <skip />
+    <!-- no translation found for network_query_error (7487714485362598410) -->
+    <skip />
+    <!-- no translation found for forbidden_network (4626592887509826545) -->
+    <skip />
 </resources>
diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml
index f68021e..2d0eca7 100644
--- a/res/values-cs/strings.xml
+++ b/res/values-cs/strings.xml
@@ -1505,7 +1505,7 @@
     <string name="restore_default_apn" msgid="8178010218751639581">"Obnovování výchozích nastavení přístupového bodu"</string>
     <string name="menu_restore" msgid="8260067415075573273">"Obnovit výchozí"</string>
     <string name="restore_default_apn_completed" msgid="2824775307377604897">"Výchozí nastavení přístupového bodu bylo obnoveno."</string>
-    <string name="reset_dashboard_title" msgid="6254873816990678620">"Resetovat možnosti"</string>
+    <string name="reset_dashboard_title" msgid="6254873816990678620">"Možnosti resetu"</string>
     <string name="reset_dashboard_summary" msgid="4851012632493522755">"Lze resetovat síť, aplikace nebo zařízení"</string>
     <string name="reset_network_title" msgid="6166025966016873843">"Resetovat Wi-Fi, data a Bluetooth"</string>
     <string name="reset_network_desc" msgid="5547979398298881406">"Budou resetována nastavení všech sítí, včetně následujících:\n\n"<li>"Wi‑Fi"</li>\n<li>"Mobilní data"</li>\n<li>"Bluetooth"</li></string>
@@ -4296,4 +4296,24 @@
     <string name="high_frequency_display_device_summary" msgid="1476189143535389304">"Povolit virtuální panel vysoké frekvence"</string>
     <string name="homepage_all_settings" msgid="1245540304900512919">"Všechna nastavení"</string>
     <string name="homepage_personal_settings" msgid="3998213046366125494">"Nastavení"</string>
+    <!-- no translation found for cbrs_data_switch (2438108549734702331) -->
+    <skip />
+    <!-- no translation found for cbrs_data_switch_summary (1359701543634843588) -->
+    <skip />
+    <!-- no translation found for choose_network_title (5702586742615861037) -->
+    <skip />
+    <!-- no translation found for network_disconnected (2933191767567503504) -->
+    <skip />
+    <!-- no translation found for network_connected (4943925032253989621) -->
+    <skip />
+    <!-- no translation found for network_connecting (76404590784733557) -->
+    <skip />
+    <!-- no translation found for network_could_not_connect (1113813392274155369) -->
+    <skip />
+    <!-- no translation found for empty_networks_list (2578752112731781190) -->
+    <skip />
+    <!-- no translation found for network_query_error (7487714485362598410) -->
+    <skip />
+    <!-- no translation found for forbidden_network (4626592887509826545) -->
+    <skip />
 </resources>
diff --git a/res/values-da/strings.xml b/res/values-da/strings.xml
index a122b79..37e3b6b 100644
--- a/res/values-da/strings.xml
+++ b/res/values-da/strings.xml
@@ -4150,4 +4150,24 @@
     <string name="high_frequency_display_device_summary" msgid="1476189143535389304">"Aktivér det virtuelle panel for høj frekvens"</string>
     <string name="homepage_all_settings" msgid="1245540304900512919">"Alle indstillinger"</string>
     <string name="homepage_personal_settings" msgid="3998213046366125494">"Dine indstillinger"</string>
+    <!-- no translation found for cbrs_data_switch (2438108549734702331) -->
+    <skip />
+    <!-- no translation found for cbrs_data_switch_summary (1359701543634843588) -->
+    <skip />
+    <!-- no translation found for choose_network_title (5702586742615861037) -->
+    <skip />
+    <!-- no translation found for network_disconnected (2933191767567503504) -->
+    <skip />
+    <!-- no translation found for network_connected (4943925032253989621) -->
+    <skip />
+    <!-- no translation found for network_connecting (76404590784733557) -->
+    <skip />
+    <!-- no translation found for network_could_not_connect (1113813392274155369) -->
+    <skip />
+    <!-- no translation found for empty_networks_list (2578752112731781190) -->
+    <skip />
+    <!-- no translation found for network_query_error (7487714485362598410) -->
+    <skip />
+    <!-- no translation found for forbidden_network (4626592887509826545) -->
+    <skip />
 </resources>
diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml
index adc8fea..bb1a89e 100644
--- a/res/values-de/strings.xml
+++ b/res/values-de/strings.xml
@@ -201,7 +201,7 @@
     <string name="proxy_error_empty_port" msgid="5539106187558215246">"Du musst das Feld für den Port ausfüllen."</string>
     <string name="proxy_error_empty_host_set_port" msgid="2451694104858226781">"Das Feld für den Port muss leer sein, wenn das Feld für den Host leer ist."</string>
     <string name="proxy_error_invalid_port" msgid="5988270202074492710">"Der eingegebene Port ist ungültig."</string>
-    <string name="proxy_warning_limited_support" msgid="7229337138062837422">"Der HTTP-Proxy wird vom Browser verwendet, möglicherweise aber nicht von anderen Apps."</string>
+    <string name="proxy_warning_limited_support" msgid="7229337138062837422">"Der HTTP-Proxy wird vom Browser verwendet, eventuell aber nicht von anderen Apps."</string>
     <string name="proxy_url_title" msgid="7185282894936042359">"PAC-URL: "</string>
     <string name="radio_info_dl_kbps" msgid="6894556071523815984">"DL-Bandbreite (kbit/s):"</string>
     <string name="radio_info_ul_kbps" msgid="946464073571185678">"UL-Bandbreite (kbit/s):"</string>
@@ -455,7 +455,7 @@
     <string name="security_settings_fingerprint_enroll_touch_dialog_title" msgid="1863561601428695160">"Das ist nicht der Sensor"</string>
     <string name="security_settings_fingerprint_enroll_touch_dialog_message" msgid="2989019978041986175">"Sensor auf Rückseite mit Zeigefinger berühren."</string>
     <string name="security_settings_fingerprint_enroll_error_dialog_title" msgid="3618021988442639280">"Registrierung wurde nicht abgeschlossen."</string>
-    <string name="security_settings_fingerprint_enroll_error_timeout_dialog_message" msgid="2942551158278899627">"Zeitüberschreitung bei Fingerabdruckregistrierung. Versuche es erneut."</string>
+    <string name="security_settings_fingerprint_enroll_error_timeout_dialog_message" msgid="2942551158278899627">"Zeitüberschreitung bei Fingerabdruckregistrierung. Bitte versuche es noch einmal."</string>
     <string name="security_settings_fingerprint_enroll_error_generic_dialog_message" msgid="3624760637222239293">"Fehler bei Fingerabdruckregistrierung. Versuche es erneut oder verwende einen anderen Finger."</string>
     <string name="fingerprint_enroll_button_add" msgid="6317978977419045463">"Weitere hinzufügen"</string>
     <string name="fingerprint_enroll_button_next" msgid="6247009337616342759">"Weiter"</string>
@@ -480,8 +480,8 @@
     <string name="crypt_keeper_desc" product="default" msgid="2579929266645543631">"Du kannst deine Konten, Einstellungen, heruntergeladenen Apps und die zugehörigen Daten, Medienelemente und andere Dateien verschlüsseln. Nachdem du dein Smartphone verschlüsselt hast, musst du, sofern du eine Displaysperre eingerichtet hast (also ein Muster, eine numerische PIN oder ein Passwort), bei jedem Einschalten des Smartphones das Display entsperren, um das Smartphone zu entschlüsseln. Der einzige andere Weg zur Entschlüsselung ist das Zurücksetzen auf die Werkseinstellungen. Hierdurch werden alle deine Daten gelöscht.\n\nDie Verschlüsselung dauert mindestens eine Stunde. Bei Beginn muss der Akku aufgeladen sein und das Smartphone muss sich während des gesamten Vorgangs im Netzbetrieb befinden. Wenn du den Vorgang unterbrichst, gehen einige oder alle deine Daten verloren."</string>
     <string name="crypt_keeper_button_text" product="tablet" msgid="1189623490604750854">"Tablet verschlüsseln"</string>
     <string name="crypt_keeper_button_text" product="default" msgid="2008346408473255519">"Smartphone verschlüsseln"</string>
-    <string name="crypt_keeper_low_charge_text" msgid="2029407131227814893">"Lade den Akku auf und versuche es erneut."</string>
-    <string name="crypt_keeper_unplugged_text" msgid="4785376766063053901">"Schließe dein Ladegerät an und versuche es erneut."</string>
+    <string name="crypt_keeper_low_charge_text" msgid="2029407131227814893">"Lade den Akku auf und versuche es noch einmal."</string>
+    <string name="crypt_keeper_unplugged_text" msgid="4785376766063053901">"Schließe dein Ladegerät an und versuche es noch einmal."</string>
     <string name="crypt_keeper_dialog_need_password_title" msgid="4058971800557767">"Keine PIN oder kein Passwort für Displaysperre"</string>
     <string name="crypt_keeper_dialog_need_password_message" msgid="4071395977297369642">"Du musst eine PIN oder ein Passwort für die Displaysperre festlegen, bevor du die Verschlüsselung starten kannst."</string>
     <string name="crypt_keeper_confirm_title" msgid="5100339496381875522">"Verschlüsseln?"</string>
@@ -695,8 +695,8 @@
     <string name="bluetooth_enable_alphanumeric_pin" msgid="7222713483058171357">"Die PIN enthält Buchstaben oder Symbole."</string>
     <string name="bluetooth_pin_values_hint" msgid="3815897557875873646">"In der Regel 0000 oder 1234"</string>
     <string name="bluetooth_pin_values_hint_16_digits" msgid="7849359451584101077">"Muss aus 16 Ziffern bestehen"</string>
-    <string name="bluetooth_enter_pin_other_device" msgid="4637977124526813470">"Möglicherweise musst du diese PIN auch auf dem anderen Gerät eingeben."</string>
-    <string name="bluetooth_enter_passkey_other_device" msgid="2798719004030279602">"Möglicherweise musst du diesen Zugangscode auch auf dem anderen Gerät eingeben."</string>
+    <string name="bluetooth_enter_pin_other_device" msgid="4637977124526813470">"Eventuell musst du diese PIN auch auf dem anderen Gerät eingeben."</string>
+    <string name="bluetooth_enter_passkey_other_device" msgid="2798719004030279602">"Eventuell musst du diesen Zugangscode auch auf dem anderen Gerät eingeben."</string>
     <!-- syntax error in translation for bluetooth_confirm_passkey_msg (3708312912841950052) org.xmlpull.v1.XmlPullParserException: name expected (position:START_TAG <null>@1:240 in     <string name="bluetooth_confirm_passkey_msg" msgid="3708312912841950052">"Zur Kopplung mit:&gt;&lt;b&gt;<xliff:g id="DEVICE_NAME">%1$s</xliff:g>&lt;/b&gt;&lt;br&gt;&lt;br&gt;Vergewissere dich, dass folgender Zugangscode angezeigt wird:<&lt;br&gt;&lt;b&gt;P<xliff:g id="PASSKEY">%2$s</xliff:g>&lt;/b&gt;."</string>
 )  -->
     <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; Mit diesem Gerät koppeln?"</string>
@@ -1198,7 +1198,7 @@
     <string name="sim_change_pin" msgid="7328607264898359112">"PIN für SIM-Karte"</string>
     <string name="sim_bad_pin" msgid="2345230873496357977">"Falsche PIN"</string>
     <string name="sim_pins_dont_match" msgid="1695021563878890574">"Die PINs stimmen nicht überein."</string>
-    <string name="sim_change_failed" msgid="3602072380172511475">"PIN kann nicht geändert werden.\nMöglicherweise ist es die falsche PIN."</string>
+    <string name="sim_change_failed" msgid="3602072380172511475">"PIN kann nicht geändert werden.\nEventuell ist es die falsche PIN."</string>
     <string name="sim_change_succeeded" msgid="8556135413096489627">"SIM-PIN erfolgreich geändert"</string>
     <string name="sim_lock_failed" msgid="2489611099235575984">"Status der SIM-Kartensperrung kann nicht geändert werden.\nMöglicherweise falsche PIN."</string>
     <string name="sim_enter_ok" msgid="6475946836899218919">"OK"</string>
@@ -1302,8 +1302,8 @@
     <string name="dlg_confirm_unmount_text" product="default" msgid="6998379994779187692">"Wenn du die SD-Karte entfernst, werden einige von dir verwendete Apps angehalten und sind nicht mehr verfügbar, bis du die SD-Karte wieder einsetzt."</string>
     <string name="dlg_error_unmount_title" product="nosdcard" msgid="4642742385125426529"></string>
     <string name="dlg_error_unmount_title" product="default" msgid="4642742385125426529"></string>
-    <string name="dlg_error_unmount_text" product="nosdcard" msgid="9191518889746166147">"USB-Speicher kann nicht getrennt werden. Bitte versuche es später erneut."</string>
-    <string name="dlg_error_unmount_text" product="default" msgid="3500976899159848422">"SD-Karte kann nicht entfernt werden. Bitte versuche es später erneut."</string>
+    <string name="dlg_error_unmount_text" product="nosdcard" msgid="9191518889746166147">"USB-Speicher kann nicht getrennt werden. Bitte versuche es später noch einmal."</string>
+    <string name="dlg_error_unmount_text" product="default" msgid="3500976899159848422">"SD-Karte kann nicht entfernt werden. Bitte versuche es später noch einmal."</string>
     <string name="unmount_inform_text" product="nosdcard" msgid="7120241136790744265">"USB-Speicher wird getrennt."</string>
     <string name="unmount_inform_text" product="default" msgid="1904212716075458402">"SD-Karte wird getrennt."</string>
     <string name="sd_ejecting_title" msgid="8824572198034365468">"Trennen..."</string>
@@ -1650,7 +1650,7 @@
     <string name="lockpattern_recording_intro_header" msgid="308287052221942814">"Zeichne ein Entsperrungsmuster."</string>
     <string name="lockpattern_recording_intro_footer" msgid="1118579101409152113">"Menütaste drücken, um die Hilfe aufzurufen"</string>
     <string name="lockpattern_recording_inprogress" msgid="6667844062721656773">"Lass die Tasten los, wenn du fertig bist."</string>
-    <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_recording_incorrect_too_short" msgid="1348234155120957561">"Verbinde mindestens <xliff:g id="NUMBER">%d</xliff:g> Punkte. Bitte versuche es noch einmal."</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">"Dein neues Entsperrungsmuster:"</string>
@@ -2165,7 +2165,7 @@
     <string name="battery_tip_early_heads_up_title" msgid="5788492366387119807">"Energiesparmodus aktivieren"</string>
     <string name="battery_tip_early_heads_up_summary" msgid="1639271439914224547">"Der Akku könnte früher als üblich leer sein"</string>
     <string name="battery_tip_early_heads_up_done_title" msgid="4294083319255926811">"Energiesparmodus ist aktiviert"</string>
-    <string name="battery_tip_early_heads_up_done_summary" msgid="7054036010928794364">"Einige Funktionen sind möglicherweise eingeschränkt"</string>
+    <string name="battery_tip_early_heads_up_done_summary" msgid="7054036010928794364">"Einige Funktionen sind eventuell eingeschränkt"</string>
     <string name="battery_tip_high_usage_title" product="default" msgid="1282187115295901930">"Smartphone mehr als üblich genutzt"</string>
     <string name="battery_tip_high_usage_title" product="tablet" msgid="7422137233845959351">"Tablet mehr als üblich genutzt"</string>
     <string name="battery_tip_high_usage_title" product="device" msgid="5483320224273724068">"Gerät mehr als üblich genutzt"</string>
@@ -2700,7 +2700,7 @@
     <string name="vpn_lockdown_summary" msgid="2200032066376720339">"Wähle ein VPN-Profil für eine durchgehende Verbindung aus. Netzwerkverkehr ist nur möglich, wenn eine Verbindung zu diesem VPN besteht."</string>
     <string name="vpn_lockdown_none" msgid="9214462857336483711">"Keines"</string>
     <string name="vpn_lockdown_config_error" msgid="3898576754914217248">"Für ein durchgehend aktives VPN ist eine IP-Adresse für den Server und für das DNS erforderlich."</string>
-    <string name="vpn_no_network" msgid="3050233675132726155">"Es ist keine Netzwerkverbindung verfügbar. Bitte versuche es später erneut."</string>
+    <string name="vpn_no_network" msgid="3050233675132726155">"Es ist keine Netzwerkverbindung verfügbar. Bitte versuche es später noch einmal."</string>
     <string name="vpn_disconnected" msgid="280531508768927471">"Verbindung mit VPN getrennt"</string>
     <string name="vpn_disconnected_summary" msgid="3082851661207900606">"Keine"</string>
     <string name="vpn_missing_cert" msgid="5357192202207234745">"Ein Zertifikat fehlt. Versuche, das Profil zu ändern."</string>
@@ -2728,7 +2728,7 @@
     <string name="backup_pw_set_button_text" msgid="2387480910044648795">"Passwort festlegen"</string>
     <string name="backup_pw_cancel_button_text" msgid="8845630125391744615">"Abbrechen"</string>
     <string name="additional_system_update_settings_list_item_title" msgid="214987609894661992">"Zusätzliche Systemupdates"</string>
-    <string name="ssl_ca_cert_warning" msgid="2045866713601984673">"Das Netzwerk wird möglicherweise überwacht."</string>
+    <string name="ssl_ca_cert_warning" msgid="2045866713601984673">"Das Netzwerk wird eventuell überwacht."</string>
     <string name="done_button" msgid="1991471253042622230">"Fertig"</string>
     <plurals name="ssl_ca_cert_dialog_title" formatted="false" msgid="7145092748045794650">
       <item quantity="other">Zertifikaten vertrauen oder sie entfernen</item>
@@ -3019,7 +3019,7 @@
     <string name="setup_wifi_nfc_tag" msgid="9028353016222911016">"WLAN-NFC-Tag einrichten"</string>
     <string name="write_tag" msgid="8571858602896222537">"Schreiben"</string>
     <string name="status_awaiting_tap" msgid="2130145523773160617">"Zum Schreiben auf ein Tag tippen…"</string>
-    <string name="status_invalid_password" msgid="2575271864572897406">"Ungültiges Passwort. Bitte versuche es erneut."</string>
+    <string name="status_invalid_password" msgid="2575271864572897406">"Ungültiges Passwort. Bitte versuche es noch einmal."</string>
     <string name="status_write_success" msgid="5228419086308251169">"Erfolgreich ausgeführt!"</string>
     <string name="status_failed_to_write" msgid="8072752734686294718">"Es können keine Daten in das NFC-Tag geschrieben werden. Sollte das Problem weiterhin bestehen, versuche es mit einem anderen Tag."</string>
     <string name="status_tag_not_writable" msgid="2511611539977682175">"In das NFC-Tag kann nicht geschrieben werden. Bitte verwende ein anderes Tag."</string>
@@ -4150,4 +4150,24 @@
     <string name="high_frequency_display_device_summary" msgid="1476189143535389304">"Virtuelles High-Frequency-Steuerfeld aktivieren"</string>
     <string name="homepage_all_settings" msgid="1245540304900512919">"Alle Einstellungen"</string>
     <string name="homepage_personal_settings" msgid="3998213046366125494">"Meine Einstellungen"</string>
+    <!-- no translation found for cbrs_data_switch (2438108549734702331) -->
+    <skip />
+    <!-- no translation found for cbrs_data_switch_summary (1359701543634843588) -->
+    <skip />
+    <!-- no translation found for choose_network_title (5702586742615861037) -->
+    <skip />
+    <!-- no translation found for network_disconnected (2933191767567503504) -->
+    <skip />
+    <!-- no translation found for network_connected (4943925032253989621) -->
+    <skip />
+    <!-- no translation found for network_connecting (76404590784733557) -->
+    <skip />
+    <!-- no translation found for network_could_not_connect (1113813392274155369) -->
+    <skip />
+    <!-- no translation found for empty_networks_list (2578752112731781190) -->
+    <skip />
+    <!-- no translation found for network_query_error (7487714485362598410) -->
+    <skip />
+    <!-- no translation found for forbidden_network (4626592887509826545) -->
+    <skip />
 </resources>
diff --git a/res/values-el/strings.xml b/res/values-el/strings.xml
index 21edb92..d9ee09e 100644
--- a/res/values-el/strings.xml
+++ b/res/values-el/strings.xml
@@ -4150,4 +4150,24 @@
     <string name="high_frequency_display_device_summary" msgid="1476189143535389304">"Ενεργοποίηση εικονικού πίνακα υψηλών συχνοτήτων"</string>
     <string name="homepage_all_settings" msgid="1245540304900512919">"Όλες οι ρυθμίσεις"</string>
     <string name="homepage_personal_settings" msgid="3998213046366125494">"Οι ρυθμίσεις σας"</string>
+    <!-- no translation found for cbrs_data_switch (2438108549734702331) -->
+    <skip />
+    <!-- no translation found for cbrs_data_switch_summary (1359701543634843588) -->
+    <skip />
+    <!-- no translation found for choose_network_title (5702586742615861037) -->
+    <skip />
+    <!-- no translation found for network_disconnected (2933191767567503504) -->
+    <skip />
+    <!-- no translation found for network_connected (4943925032253989621) -->
+    <skip />
+    <!-- no translation found for network_connecting (76404590784733557) -->
+    <skip />
+    <!-- no translation found for network_could_not_connect (1113813392274155369) -->
+    <skip />
+    <!-- no translation found for empty_networks_list (2578752112731781190) -->
+    <skip />
+    <!-- no translation found for network_query_error (7487714485362598410) -->
+    <skip />
+    <!-- no translation found for forbidden_network (4626592887509826545) -->
+    <skip />
 </resources>
diff --git a/res/values-en-rAU/strings.xml b/res/values-en-rAU/strings.xml
index 3f053bb..e338450 100644
--- a/res/values-en-rAU/strings.xml
+++ b/res/values-en-rAU/strings.xml
@@ -4150,4 +4150,24 @@
     <string name="high_frequency_display_device_summary" msgid="1476189143535389304">"Enable Virtual High Frequency Panel"</string>
     <string name="homepage_all_settings" msgid="1245540304900512919">"All Settings"</string>
     <string name="homepage_personal_settings" msgid="3998213046366125494">"Your Settings"</string>
+    <!-- no translation found for cbrs_data_switch (2438108549734702331) -->
+    <skip />
+    <!-- no translation found for cbrs_data_switch_summary (1359701543634843588) -->
+    <skip />
+    <!-- no translation found for choose_network_title (5702586742615861037) -->
+    <skip />
+    <!-- no translation found for network_disconnected (2933191767567503504) -->
+    <skip />
+    <!-- no translation found for network_connected (4943925032253989621) -->
+    <skip />
+    <!-- no translation found for network_connecting (76404590784733557) -->
+    <skip />
+    <!-- no translation found for network_could_not_connect (1113813392274155369) -->
+    <skip />
+    <!-- no translation found for empty_networks_list (2578752112731781190) -->
+    <skip />
+    <!-- no translation found for network_query_error (7487714485362598410) -->
+    <skip />
+    <!-- no translation found for forbidden_network (4626592887509826545) -->
+    <skip />
 </resources>
diff --git a/res/values-en-rCA/strings.xml b/res/values-en-rCA/strings.xml
index dc977c1..662cdbd 100644
--- a/res/values-en-rCA/strings.xml
+++ b/res/values-en-rCA/strings.xml
@@ -4150,4 +4150,24 @@
     <string name="high_frequency_display_device_summary" msgid="1476189143535389304">"Enable Virtual High Frequency Panel"</string>
     <string name="homepage_all_settings" msgid="1245540304900512919">"All Settings"</string>
     <string name="homepage_personal_settings" msgid="3998213046366125494">"Your Settings"</string>
+    <!-- no translation found for cbrs_data_switch (2438108549734702331) -->
+    <skip />
+    <!-- no translation found for cbrs_data_switch_summary (1359701543634843588) -->
+    <skip />
+    <!-- no translation found for choose_network_title (5702586742615861037) -->
+    <skip />
+    <!-- no translation found for network_disconnected (2933191767567503504) -->
+    <skip />
+    <!-- no translation found for network_connected (4943925032253989621) -->
+    <skip />
+    <!-- no translation found for network_connecting (76404590784733557) -->
+    <skip />
+    <!-- no translation found for network_could_not_connect (1113813392274155369) -->
+    <skip />
+    <!-- no translation found for empty_networks_list (2578752112731781190) -->
+    <skip />
+    <!-- no translation found for network_query_error (7487714485362598410) -->
+    <skip />
+    <!-- no translation found for forbidden_network (4626592887509826545) -->
+    <skip />
 </resources>
diff --git a/res/values-en-rGB/strings.xml b/res/values-en-rGB/strings.xml
index 3f053bb..e338450 100644
--- a/res/values-en-rGB/strings.xml
+++ b/res/values-en-rGB/strings.xml
@@ -4150,4 +4150,24 @@
     <string name="high_frequency_display_device_summary" msgid="1476189143535389304">"Enable Virtual High Frequency Panel"</string>
     <string name="homepage_all_settings" msgid="1245540304900512919">"All Settings"</string>
     <string name="homepage_personal_settings" msgid="3998213046366125494">"Your Settings"</string>
+    <!-- no translation found for cbrs_data_switch (2438108549734702331) -->
+    <skip />
+    <!-- no translation found for cbrs_data_switch_summary (1359701543634843588) -->
+    <skip />
+    <!-- no translation found for choose_network_title (5702586742615861037) -->
+    <skip />
+    <!-- no translation found for network_disconnected (2933191767567503504) -->
+    <skip />
+    <!-- no translation found for network_connected (4943925032253989621) -->
+    <skip />
+    <!-- no translation found for network_connecting (76404590784733557) -->
+    <skip />
+    <!-- no translation found for network_could_not_connect (1113813392274155369) -->
+    <skip />
+    <!-- no translation found for empty_networks_list (2578752112731781190) -->
+    <skip />
+    <!-- no translation found for network_query_error (7487714485362598410) -->
+    <skip />
+    <!-- no translation found for forbidden_network (4626592887509826545) -->
+    <skip />
 </resources>
diff --git a/res/values-en-rIN/strings.xml b/res/values-en-rIN/strings.xml
index 3f053bb..e338450 100644
--- a/res/values-en-rIN/strings.xml
+++ b/res/values-en-rIN/strings.xml
@@ -4150,4 +4150,24 @@
     <string name="high_frequency_display_device_summary" msgid="1476189143535389304">"Enable Virtual High Frequency Panel"</string>
     <string name="homepage_all_settings" msgid="1245540304900512919">"All Settings"</string>
     <string name="homepage_personal_settings" msgid="3998213046366125494">"Your Settings"</string>
+    <!-- no translation found for cbrs_data_switch (2438108549734702331) -->
+    <skip />
+    <!-- no translation found for cbrs_data_switch_summary (1359701543634843588) -->
+    <skip />
+    <!-- no translation found for choose_network_title (5702586742615861037) -->
+    <skip />
+    <!-- no translation found for network_disconnected (2933191767567503504) -->
+    <skip />
+    <!-- no translation found for network_connected (4943925032253989621) -->
+    <skip />
+    <!-- no translation found for network_connecting (76404590784733557) -->
+    <skip />
+    <!-- no translation found for network_could_not_connect (1113813392274155369) -->
+    <skip />
+    <!-- no translation found for empty_networks_list (2578752112731781190) -->
+    <skip />
+    <!-- no translation found for network_query_error (7487714485362598410) -->
+    <skip />
+    <!-- no translation found for forbidden_network (4626592887509826545) -->
+    <skip />
 </resources>
diff --git a/res/values-en-rXC/strings.xml b/res/values-en-rXC/strings.xml
index 454eac1..d89c39d 100644
--- a/res/values-en-rXC/strings.xml
+++ b/res/values-en-rXC/strings.xml
@@ -4149,4 +4149,14 @@
     <string name="high_frequency_display_device_summary" msgid="1476189143535389304">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‏‎‎‎‏‏‏‏‏‎‎‎‏‏‏‏‎‏‎‎‎‏‏‎‏‎‎‎‏‏‏‎‎‎‏‏‎‏‏‎‏‏‏‎‎‎‎‏‎‏‎‎‏‏‏‏‎‎‎‎Enable Virtual High Frequency Panel‎‏‎‎‏‎"</string>
     <string name="homepage_all_settings" msgid="1245540304900512919">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‎‎‏‎‏‎‎‏‎‎‏‎‎‎‎‏‏‎‎‎‏‎‎‏‏‏‎‏‏‏‎‎‎‏‏‎‎‎‎‎‏‏‎‏‏‎‏‏‏‎‎‏‎‎‏‎‏‏‏‎All Settings‎‏‎‎‏‎"</string>
     <string name="homepage_personal_settings" msgid="3998213046366125494">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‏‏‏‎‏‏‏‏‏‎‎‏‎‎‎‎‎‎‏‏‎‎‏‎‏‎‏‎‎‎‎‏‏‎‎‏‏‏‏‏‏‎‎‎‎‏‏‏‏‎‏‏‎‏‏‎‏‏‎‎Your Settings‎‏‎‎‏‎"</string>
+    <string name="cbrs_data_switch" msgid="2438108549734702331">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‎‎‏‏‏‎‏‎‏‎‏‏‏‏‎‎‏‏‎‏‏‎‎‏‏‏‎‏‏‏‎‏‏‏‎‏‏‎‎‎‏‏‏‏‎‎‏‏‏‎‎‏‏‏‏‏‎‏‏‎CBRS Data‎‏‎‎‏‎"</string>
+    <string name="cbrs_data_switch_summary" msgid="1359701543634843588">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‎‏‎‏‏‎‏‏‏‏‎‏‎‏‎‎‎‎‏‎‏‎‏‏‎‎‏‏‎‎‏‎‏‎‎‏‏‏‎‎‏‏‏‏‎‏‏‎‏‏‏‏‏‎‎‎‏‎‎‎CBRS Data‎‏‎‎‏‎"</string>
+    <string name="choose_network_title" msgid="5702586742615861037">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‏‏‏‎‎‏‎‎‎‏‏‏‎‏‎‏‎‎‎‎‏‏‎‏‏‎‏‏‏‎‎‎‏‏‎‎‏‏‏‏‎‎‎‎‏‏‎‎‏‏‏‎‎‏‎‏‏‎‏‎Choose network‎‏‎‎‏‎"</string>
+    <string name="network_disconnected" msgid="2933191767567503504">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‎‎‎‏‎‏‏‎‏‎‎‏‏‎‎‏‎‏‎‎‏‎‏‏‏‏‏‎‎‏‏‎‎‏‏‏‏‏‏‎‏‏‎‎‎‎‏‎‎‎‎‏‎‎‏‎‎‎‎‎Disconnected‎‏‎‎‏‎"</string>
+    <string name="network_connected" msgid="4943925032253989621">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‏‎‎‏‎‎‏‏‏‎‎‎‏‎‏‏‎‎‏‏‎‎‏‏‏‏‏‎‏‏‎‏‏‏‏‏‎‏‎‏‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‎‏‎Connected‎‏‎‎‏‎"</string>
+    <string name="network_connecting" msgid="76404590784733557">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‎‏‏‎‎‎‎‏‏‏‏‎‏‏‏‎‎‎‏‏‎‎‏‎‎‏‎‎‎‎‎‏‏‎‎‏‏‏‎‏‏‏‎‏‏‏‎‎‎‎‏‎‏‏‏‎‏‎‏‎Connecting…‎‏‎‎‏‎"</string>
+    <string name="network_could_not_connect" msgid="1113813392274155369">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‏‏‏‎‏‏‏‎‏‎‏‎‎‎‎‏‏‏‏‎‏‏‎‎‎‎‏‎‎‎‎‏‎‎‎‏‎‎‏‎‎‏‎‏‏‏‎‎‏‏‏‎‏‏‎‏‎‎‏‎Couldn’t connect‎‏‎‎‏‎"</string>
+    <string name="empty_networks_list" msgid="2578752112731781190">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‎‏‏‏‏‎‎‏‎‎‏‏‎‎‏‎‎‎‏‎‏‏‎‎‎‏‎‎‎‏‏‏‎‏‏‎‎‏‎‏‎‏‎‎‏‏‏‏‎‎‎‎‏‎‎‎‏‏‎‎No networks found.‎‏‎‎‏‎"</string>
+    <string name="network_query_error" msgid="7487714485362598410">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‏‏‏‏‏‏‎‏‎‎‏‏‎‏‏‎‏‎‎‏‎‏‎‎‏‏‏‎‎‎‏‏‏‏‏‏‎‎‏‎‏‎‏‏‎‏‎‎‎‏‎‎‎‎‎‏‎‏‎‎Couldn’t find networks. Try again.‎‏‎‎‏‎"</string>
+    <string name="forbidden_network" msgid="4626592887509826545">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‎‎‎‎‎‏‏‎‏‎‎‏‏‏‏‎‏‎‏‏‎‏‏‎‏‏‏‏‏‏‎‏‏‎‎‎‏‎‏‏‏‏‏‎‎‏‏‏‎‏‏‏‏‏‏‎‎‎‏‎(forbidden)‎‏‎‎‏‎"</string>
 </resources>
diff --git a/res/values-es-rUS/strings.xml b/res/values-es-rUS/strings.xml
index d18e6d8..96b5e4d 100644
--- a/res/values-es-rUS/strings.xml
+++ b/res/values-es-rUS/strings.xml
@@ -4148,4 +4148,24 @@
     <string name="high_frequency_display_device_summary" msgid="1476189143535389304">"Habilitar panel virtual de alta frecuencia"</string>
     <string name="homepage_all_settings" msgid="1245540304900512919">"Toda la configuración"</string>
     <string name="homepage_personal_settings" msgid="3998213046366125494">"Tu configuración"</string>
+    <!-- no translation found for cbrs_data_switch (2438108549734702331) -->
+    <skip />
+    <!-- no translation found for cbrs_data_switch_summary (1359701543634843588) -->
+    <skip />
+    <!-- no translation found for choose_network_title (5702586742615861037) -->
+    <skip />
+    <!-- no translation found for network_disconnected (2933191767567503504) -->
+    <skip />
+    <!-- no translation found for network_connected (4943925032253989621) -->
+    <skip />
+    <!-- no translation found for network_connecting (76404590784733557) -->
+    <skip />
+    <!-- no translation found for network_could_not_connect (1113813392274155369) -->
+    <skip />
+    <!-- no translation found for empty_networks_list (2578752112731781190) -->
+    <skip />
+    <!-- no translation found for network_query_error (7487714485362598410) -->
+    <skip />
+    <!-- no translation found for forbidden_network (4626592887509826545) -->
+    <skip />
 </resources>
diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml
index 1b85364..767fbb3 100644
--- a/res/values-es/strings.xml
+++ b/res/values-es/strings.xml
@@ -4150,4 +4150,24 @@
     <string name="high_frequency_display_device_summary" msgid="1476189143535389304">"Habilitar el panel virtual de alta frecuencia"</string>
     <string name="homepage_all_settings" msgid="1245540304900512919">"Todos los ajustes"</string>
     <string name="homepage_personal_settings" msgid="3998213046366125494">"Tus ajustes"</string>
+    <!-- no translation found for cbrs_data_switch (2438108549734702331) -->
+    <skip />
+    <!-- no translation found for cbrs_data_switch_summary (1359701543634843588) -->
+    <skip />
+    <!-- no translation found for choose_network_title (5702586742615861037) -->
+    <skip />
+    <!-- no translation found for network_disconnected (2933191767567503504) -->
+    <skip />
+    <!-- no translation found for network_connected (4943925032253989621) -->
+    <skip />
+    <!-- no translation found for network_connecting (76404590784733557) -->
+    <skip />
+    <!-- no translation found for network_could_not_connect (1113813392274155369) -->
+    <skip />
+    <!-- no translation found for empty_networks_list (2578752112731781190) -->
+    <skip />
+    <!-- no translation found for network_query_error (7487714485362598410) -->
+    <skip />
+    <!-- no translation found for forbidden_network (4626592887509826545) -->
+    <skip />
 </resources>
diff --git a/res/values-et/strings.xml b/res/values-et/strings.xml
index e66df0b..6e0d50f 100644
--- a/res/values-et/strings.xml
+++ b/res/values-et/strings.xml
@@ -1124,7 +1124,7 @@
     <string name="auto_brightness_disclaimer" msgid="871436423746343406">"Heledust optimeeritakse valgustingimuste järgi. Kui funktsioon on sisse lülitatud, saate heledust siiski ajutiselt reguleerida."</string>
     <string name="auto_brightness_description" msgid="7310335517128283729">"Teie ekraanikuva eredust kohandatakse automaatselt teie keskkonna ja tegevuste järgi. Võite liugurit käsitsi liigutada, et aidata kohanduval eredusel teie eelistusi õppida."</string>
     <string name="night_display_title" msgid="2626451512200357686">"Öövalgus"</string>
-    <string name="night_display_text" msgid="1837277457033025056">"Funktsioon Öövalgus toonib ekraani kollaseks. Nii on hämaras ekraani mugavam vaadata ja sellelt teksti lugeda. See võib aidata teil ka hõlpsamini magama jääda."</string>
+    <string name="night_display_text" msgid="1837277457033025056">"Funktsioon Öövalgus toonib ekraani oranžkollaseks. Nii on hämaras ekraani mugavam vaadata ja sellelt teksti lugeda. See võib aidata teil ka hõlpsamini magama jääda."</string>
     <string name="night_display_auto_mode_title" msgid="6574111412154833409">"Ajastamine"</string>
     <string name="night_display_auto_mode_never" msgid="2483761922928753400">"Mitte kunagi"</string>
     <string name="night_display_auto_mode_custom" msgid="2379394568898721765">"Lülitub sisse kohandatud ajal"</string>
@@ -3632,7 +3632,7 @@
     <string name="running_frequency" msgid="6622624669948277693">"Sagedus"</string>
     <string name="memory_maximum_usage" msgid="6513785462055278341">"Maksimaalne kasutus"</string>
     <string name="no_data_usage" msgid="9131454024293628063">"Andmeid pole kasutatud"</string>
-    <string name="zen_access_warning_dialog_title" msgid="1198189958031157142">"Kas lubada rakenduse <xliff:g id="APP">%1$s</xliff:g> juurdepääs funktsioonile Mitte segada?"</string>
+    <string name="zen_access_warning_dialog_title" msgid="1198189958031157142">"Rakenduse <xliff:g id="APP">%1$s</xliff:g> juurdepääs funktsioonile Mitte segada"</string>
     <string name="zen_access_warning_dialog_summary" msgid="4015885767653010873">"Rakendus saab funktsiooni Mitte segada sisse/välja lülitada ja muuta sellega seotud seadeid."</string>
     <string name="zen_access_disabled_package_warning" msgid="302820100078584431">"Peab jääma sisselülitatud asendisse, kuna juurdepääs märguannetele on sisse lülitatud"</string>
     <string name="zen_access_revoke_warning_dialog_title" msgid="558779234015793950">"Kas tühistada rakenduse <xliff:g id="APP">%1$s</xliff:g> juurdepääs režiimile Mitte segada?"</string>
@@ -4150,4 +4150,24 @@
     <string name="high_frequency_display_device_summary" msgid="1476189143535389304">"Luba virtuaalne kõrgsageduslik paneel"</string>
     <string name="homepage_all_settings" msgid="1245540304900512919">"Kõik seaded"</string>
     <string name="homepage_personal_settings" msgid="3998213046366125494">"Teie seaded"</string>
+    <!-- no translation found for cbrs_data_switch (2438108549734702331) -->
+    <skip />
+    <!-- no translation found for cbrs_data_switch_summary (1359701543634843588) -->
+    <skip />
+    <!-- no translation found for choose_network_title (5702586742615861037) -->
+    <skip />
+    <!-- no translation found for network_disconnected (2933191767567503504) -->
+    <skip />
+    <!-- no translation found for network_connected (4943925032253989621) -->
+    <skip />
+    <!-- no translation found for network_connecting (76404590784733557) -->
+    <skip />
+    <!-- no translation found for network_could_not_connect (1113813392274155369) -->
+    <skip />
+    <!-- no translation found for empty_networks_list (2578752112731781190) -->
+    <skip />
+    <!-- no translation found for network_query_error (7487714485362598410) -->
+    <skip />
+    <!-- no translation found for forbidden_network (4626592887509826545) -->
+    <skip />
 </resources>
diff --git a/res/values-eu/strings.xml b/res/values-eu/strings.xml
index 1d77d79..e86b44c 100644
--- a/res/values-eu/strings.xml
+++ b/res/values-eu/strings.xml
@@ -1125,7 +1125,7 @@
     <string name="auto_brightness_description" msgid="7310335517128283729">"Pantailaren distira automatikoki doituko da inguruneko argiaren eta egiten ari zarenaren arabera. Eskuz aldatu nahi baduzu distira, mugitu graduatzailea distira doigarriak zure hobespenak ikas ditzan."</string>
     <string name="night_display_title" msgid="2626451512200357686">"Gaueko argia"</string>
     <string name="night_display_text" msgid="1837277457033025056">"Gaueko argiak tindu horikaraz janzten du pantaila. Horrela, ez zaizu horren nekagarria egingo argi gutxirekin pantailari begira egotea eta errazago hartuko duzu lo, gainera."</string>
-    <string name="night_display_auto_mode_title" msgid="6574111412154833409">"Programazioa"</string>
+    <string name="night_display_auto_mode_title" msgid="6574111412154833409">"Ordutegia"</string>
     <string name="night_display_auto_mode_never" msgid="2483761922928753400">"Bat ere ez"</string>
     <string name="night_display_auto_mode_custom" msgid="2379394568898721765">"Ordu jakinetan aktibatzen da"</string>
     <string name="night_display_auto_mode_twilight" msgid="589042813708244059">"Iluntzetik egunsentira aktibatzen da"</string>
@@ -1145,8 +1145,8 @@
     <string name="night_display_activation_off_manual" msgid="4074557720918572883">"Desaktibatu"</string>
     <string name="night_display_activation_on_twilight" msgid="6976051971534953845">"Aktibatu egunsentira arte"</string>
     <string name="night_display_activation_off_twilight" msgid="7196227685059907233">"Desaktibatu ilunabarrera arte"</string>
-    <string name="night_display_activation_on_custom" msgid="5472029024427933598">"Aktibatu <xliff:g id="ID_1">%1$s</xliff:g> arte"</string>
-    <string name="night_display_activation_off_custom" msgid="6169984658293744715">"Desaktibatu <xliff:g id="ID_1">%1$s</xliff:g> arte"</string>
+    <string name="night_display_activation_on_custom" msgid="5472029024427933598">"Aktibatu <xliff:g id="ID_1">%1$s</xliff:g>(a)k arte"</string>
+    <string name="night_display_activation_off_custom" msgid="6169984658293744715">"Desaktibatu <xliff:g id="ID_1">%1$s</xliff:g>(a)k arte"</string>
     <string name="screen_timeout" msgid="4351334843529712571">"Ezarri egonean moduan"</string>
     <string name="screen_timeout_title" msgid="5130038655092628247">"Pantaila itzaltzen da"</string>
     <string name="screen_timeout_summary" msgid="327761329263064327">"<xliff:g id="TIMEOUT_DESCRIPTION">%1$s</xliff:g> inaktibo egon ondoren"</string>
@@ -3632,8 +3632,8 @@
     <string name="running_frequency" msgid="6622624669948277693">"Maiztasuna"</string>
     <string name="memory_maximum_usage" msgid="6513785462055278341">"Gehieneko erabilera"</string>
     <string name="no_data_usage" msgid="9131454024293628063">"Ez da erabili daturik"</string>
-    <string name="zen_access_warning_dialog_title" msgid="1198189958031157142">"<xliff:g id="APP">%1$s</xliff:g> aplikazioari \"Ez molestatu\" egoerarako sarbidea baimendu nahi diozu?"</string>
-    <string name="zen_access_warning_dialog_summary" msgid="4015885767653010873">"Aplikazioak \"Ez molestatu\" egoera aktibatu eta desaktibatu ahal izango du, eta horrekin erlazionatutako ezarpenetan aldaketak egin ahal izango ditu."</string>
+    <string name="zen_access_warning_dialog_title" msgid="1198189958031157142">"<xliff:g id="APP">%1$s</xliff:g> aplikazioari \"Ez molestatu\" modurako sarbidea eman?"</string>
+    <string name="zen_access_warning_dialog_summary" msgid="4015885767653010873">"Aplikazioak \"Ez molestatu\" egoera aktibatu eta desaktibatu ahal izango du, eta erlazionatutako ezarpenetan aldaketak egin ahal izango ditu."</string>
     <string name="zen_access_disabled_package_warning" msgid="302820100078584431">"Aktibatuta egon behar du, jakinarazpenetarako sarbidea aktibatuta dagoelako"</string>
     <string name="zen_access_revoke_warning_dialog_title" msgid="558779234015793950">"Ez molestatzeko arauetarako sarbidea kendu nahi diozu <xliff:g id="APP">%1$s</xliff:g> aplikazioari?"</string>
     <string name="zen_access_revoke_warning_dialog_summary" msgid="5518216907304930148">"Kendu egingo dira aplikazioak sortu dituen ez molestatzeko arau guztiak."</string>
@@ -4150,4 +4150,24 @@
     <string name="high_frequency_display_device_summary" msgid="1476189143535389304">"Gaitu zehaztasun handiko panel birtuala"</string>
     <string name="homepage_all_settings" msgid="1245540304900512919">"Ezarpen guztiak"</string>
     <string name="homepage_personal_settings" msgid="3998213046366125494">"Ezarpenak"</string>
+    <!-- no translation found for cbrs_data_switch (2438108549734702331) -->
+    <skip />
+    <!-- no translation found for cbrs_data_switch_summary (1359701543634843588) -->
+    <skip />
+    <!-- no translation found for choose_network_title (5702586742615861037) -->
+    <skip />
+    <!-- no translation found for network_disconnected (2933191767567503504) -->
+    <skip />
+    <!-- no translation found for network_connected (4943925032253989621) -->
+    <skip />
+    <!-- no translation found for network_connecting (76404590784733557) -->
+    <skip />
+    <!-- no translation found for network_could_not_connect (1113813392274155369) -->
+    <skip />
+    <!-- no translation found for empty_networks_list (2578752112731781190) -->
+    <skip />
+    <!-- no translation found for network_query_error (7487714485362598410) -->
+    <skip />
+    <!-- no translation found for forbidden_network (4626592887509826545) -->
+    <skip />
 </resources>
diff --git a/res/values-fa/strings.xml b/res/values-fa/strings.xml
index 7816ba6..4d89593 100644
--- a/res/values-fa/strings.xml
+++ b/res/values-fa/strings.xml
@@ -4150,4 +4150,24 @@
     <string name="high_frequency_display_device_summary" msgid="1476189143535389304">"فعال کردن پانل مجازی بسامد بالا"</string>
     <string name="homepage_all_settings" msgid="1245540304900512919">"همه تنظیمات"</string>
     <string name="homepage_personal_settings" msgid="3998213046366125494">"تنظیمات شما"</string>
+    <!-- no translation found for cbrs_data_switch (2438108549734702331) -->
+    <skip />
+    <!-- no translation found for cbrs_data_switch_summary (1359701543634843588) -->
+    <skip />
+    <!-- no translation found for choose_network_title (5702586742615861037) -->
+    <skip />
+    <!-- no translation found for network_disconnected (2933191767567503504) -->
+    <skip />
+    <!-- no translation found for network_connected (4943925032253989621) -->
+    <skip />
+    <!-- no translation found for network_connecting (76404590784733557) -->
+    <skip />
+    <!-- no translation found for network_could_not_connect (1113813392274155369) -->
+    <skip />
+    <!-- no translation found for empty_networks_list (2578752112731781190) -->
+    <skip />
+    <!-- no translation found for network_query_error (7487714485362598410) -->
+    <skip />
+    <!-- no translation found for forbidden_network (4626592887509826545) -->
+    <skip />
 </resources>
diff --git a/res/values-fi/strings.xml b/res/values-fi/strings.xml
index 4819fbc..901469d 100644
--- a/res/values-fi/strings.xml
+++ b/res/values-fi/strings.xml
@@ -4150,4 +4150,24 @@
     <string name="high_frequency_display_device_summary" msgid="1476189143535389304">"Ota käyttöön virtuaalinen korkeataajuuspaneeli"</string>
     <string name="homepage_all_settings" msgid="1245540304900512919">"Kaikki asetukset"</string>
     <string name="homepage_personal_settings" msgid="3998213046366125494">"Omat asetukset"</string>
+    <!-- no translation found for cbrs_data_switch (2438108549734702331) -->
+    <skip />
+    <!-- no translation found for cbrs_data_switch_summary (1359701543634843588) -->
+    <skip />
+    <!-- no translation found for choose_network_title (5702586742615861037) -->
+    <skip />
+    <!-- no translation found for network_disconnected (2933191767567503504) -->
+    <skip />
+    <!-- no translation found for network_connected (4943925032253989621) -->
+    <skip />
+    <!-- no translation found for network_connecting (76404590784733557) -->
+    <skip />
+    <!-- no translation found for network_could_not_connect (1113813392274155369) -->
+    <skip />
+    <!-- no translation found for empty_networks_list (2578752112731781190) -->
+    <skip />
+    <!-- no translation found for network_query_error (7487714485362598410) -->
+    <skip />
+    <!-- no translation found for forbidden_network (4626592887509826545) -->
+    <skip />
 </resources>
diff --git a/res/values-fr-rCA/strings.xml b/res/values-fr-rCA/strings.xml
index ba6c572..0483273 100644
--- a/res/values-fr-rCA/strings.xml
+++ b/res/values-fr-rCA/strings.xml
@@ -4150,4 +4150,24 @@
     <string name="high_frequency_display_device_summary" msgid="1476189143535389304">"Activer le panneau virtuel haute fréquence"</string>
     <string name="homepage_all_settings" msgid="1245540304900512919">"Tous les paramètres"</string>
     <string name="homepage_personal_settings" msgid="3998213046366125494">"Vos paramètres"</string>
+    <!-- no translation found for cbrs_data_switch (2438108549734702331) -->
+    <skip />
+    <!-- no translation found for cbrs_data_switch_summary (1359701543634843588) -->
+    <skip />
+    <!-- no translation found for choose_network_title (5702586742615861037) -->
+    <skip />
+    <!-- no translation found for network_disconnected (2933191767567503504) -->
+    <skip />
+    <!-- no translation found for network_connected (4943925032253989621) -->
+    <skip />
+    <!-- no translation found for network_connecting (76404590784733557) -->
+    <skip />
+    <!-- no translation found for network_could_not_connect (1113813392274155369) -->
+    <skip />
+    <!-- no translation found for empty_networks_list (2578752112731781190) -->
+    <skip />
+    <!-- no translation found for network_query_error (7487714485362598410) -->
+    <skip />
+    <!-- no translation found for forbidden_network (4626592887509826545) -->
+    <skip />
 </resources>
diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml
index 2ba1f5a..e77767f 100644
--- a/res/values-fr/strings.xml
+++ b/res/values-fr/strings.xml
@@ -4150,4 +4150,24 @@
     <string name="high_frequency_display_device_summary" msgid="1476189143535389304">"Activer le panneau virtuel haute fréquence"</string>
     <string name="homepage_all_settings" msgid="1245540304900512919">"Tous les paramètres"</string>
     <string name="homepage_personal_settings" msgid="3998213046366125494">"Vos paramètres"</string>
+    <!-- no translation found for cbrs_data_switch (2438108549734702331) -->
+    <skip />
+    <!-- no translation found for cbrs_data_switch_summary (1359701543634843588) -->
+    <skip />
+    <!-- no translation found for choose_network_title (5702586742615861037) -->
+    <skip />
+    <!-- no translation found for network_disconnected (2933191767567503504) -->
+    <skip />
+    <!-- no translation found for network_connected (4943925032253989621) -->
+    <skip />
+    <!-- no translation found for network_connecting (76404590784733557) -->
+    <skip />
+    <!-- no translation found for network_could_not_connect (1113813392274155369) -->
+    <skip />
+    <!-- no translation found for empty_networks_list (2578752112731781190) -->
+    <skip />
+    <!-- no translation found for network_query_error (7487714485362598410) -->
+    <skip />
+    <!-- no translation found for forbidden_network (4626592887509826545) -->
+    <skip />
 </resources>
diff --git a/res/values-gl/strings.xml b/res/values-gl/strings.xml
index 6838df0..100d315 100644
--- a/res/values-gl/strings.xml
+++ b/res/values-gl/strings.xml
@@ -1127,8 +1127,8 @@
     <string name="night_display_text" msgid="1837277457033025056">"A función Luz nocturna dálle un ton ámbar á pantalla pola noite para que che resulte máis fácil mirala con pouca luz e che axude a coller o sono."</string>
     <string name="night_display_auto_mode_title" msgid="6574111412154833409">"Programar"</string>
     <string name="night_display_auto_mode_never" msgid="2483761922928753400">"Nunca"</string>
-    <string name="night_display_auto_mode_custom" msgid="2379394568898721765">"Activar en horario personalizado"</string>
-    <string name="night_display_auto_mode_twilight" msgid="589042813708244059">"Activar do anoitecer ao amencer"</string>
+    <string name="night_display_auto_mode_custom" msgid="2379394568898721765">"Actívase en horario personalizado"</string>
+    <string name="night_display_auto_mode_twilight" msgid="589042813708244059">"Activar do solpor ao amencer"</string>
     <string name="night_display_start_time_title" msgid="8918016772613689584">"Hora de inicio"</string>
     <string name="night_display_end_time_title" msgid="8286061578083519350">"Hora de finalización"</string>
     <string name="night_display_status_title" msgid="1784041143360286267">"Estado"</string>
@@ -1933,7 +1933,7 @@
     <string name="usage_time_label" msgid="295954901452833058">"Tempo de uso"</string>
     <string name="accessibility_settings" msgid="3975902491934816215">"Accesibilidade"</string>
     <string name="accessibility_settings_title" msgid="2130492524656204459">"Configuración de accesibilidade"</string>
-    <string name="accessibility_settings_summary" msgid="981260486011624939">"Lectores de pantalla, pantalla, controis de interacción"</string>
+    <string name="accessibility_settings_summary" msgid="981260486011624939">"Lectores de pantalla, interacción, pantalla"</string>
     <string name="vision_settings_title" msgid="4204111425716868288">"Configuración de visualización"</string>
     <string name="vision_settings_description" msgid="5679491180156408260">"Podes personalizar este dispositivo segundo as túas necesidades. Podes cambiar estas funcións de accesibilidade máis tarde en Configuración."</string>
     <string name="vision_settings_suggestion_title" msgid="8058794060304707004">"Cambiar tamaño do tipo de letra"</string>
@@ -3633,11 +3633,11 @@
     <string name="running_frequency" msgid="6622624669948277693">"Frecuencia"</string>
     <string name="memory_maximum_usage" msgid="6513785462055278341">"Uso máximo"</string>
     <string name="no_data_usage" msgid="9131454024293628063">"Non se utilizaron datos"</string>
-    <string name="zen_access_warning_dialog_title" msgid="1198189958031157142">"Queres que <xliff:g id="APP">%1$s</xliff:g> teña acceso ao modo Non molestar?"</string>
+    <string name="zen_access_warning_dialog_title" msgid="1198189958031157142">"Queres permitir o acceso da aplicación <xliff:g id="APP">%1$s</xliff:g> ao modo Non molestar?"</string>
     <string name="zen_access_warning_dialog_summary" msgid="4015885767653010873">"A aplicación poderá activar ou desactivar o modo Non molestar e facer cambios na configuración relacionada."</string>
     <string name="zen_access_disabled_package_warning" msgid="302820100078584431">"Debe permanecer activado porque o acceso ás notificacións está activado"</string>
-    <string name="zen_access_revoke_warning_dialog_title" msgid="558779234015793950">"Queres revogarlle o acceso a <xliff:g id="APP">%1$s</xliff:g> ás normas Non molestar?"</string>
-    <string name="zen_access_revoke_warning_dialog_summary" msgid="5518216907304930148">"Eliminaranse todas as normas Non molestar creadas por esta aplicación."</string>
+    <string name="zen_access_revoke_warning_dialog_title" msgid="558779234015793950">"Queres revogar o acceso da aplicación <xliff:g id="APP">%1$s</xliff:g> ao modo Non molestar?"</string>
+    <string name="zen_access_revoke_warning_dialog_summary" msgid="5518216907304930148">"Eliminaranse todas as normas do modo Non molestar creadas por esta aplicación."</string>
     <string name="ignore_optimizations_on" msgid="6915689518016285116">"Non optimizar"</string>
     <string name="ignore_optimizations_off" msgid="6153196256410296835">"Optimizar"</string>
     <string name="ignore_optimizations_on_desc" msgid="3549930955839111652">"A batería pódese esgotar máis rápido. Deixarase de restrinxir o uso da batería en segundo plano por parte da aplicación."</string>
@@ -4151,4 +4151,24 @@
     <string name="high_frequency_display_device_summary" msgid="1476189143535389304">"Activa o panel virtual de alta frecuencia"</string>
     <string name="homepage_all_settings" msgid="1245540304900512919">"Toda a configuración"</string>
     <string name="homepage_personal_settings" msgid="3998213046366125494">"A túa configuración"</string>
+    <!-- no translation found for cbrs_data_switch (2438108549734702331) -->
+    <skip />
+    <!-- no translation found for cbrs_data_switch_summary (1359701543634843588) -->
+    <skip />
+    <!-- no translation found for choose_network_title (5702586742615861037) -->
+    <skip />
+    <!-- no translation found for network_disconnected (2933191767567503504) -->
+    <skip />
+    <!-- no translation found for network_connected (4943925032253989621) -->
+    <skip />
+    <!-- no translation found for network_connecting (76404590784733557) -->
+    <skip />
+    <!-- no translation found for network_could_not_connect (1113813392274155369) -->
+    <skip />
+    <!-- no translation found for empty_networks_list (2578752112731781190) -->
+    <skip />
+    <!-- no translation found for network_query_error (7487714485362598410) -->
+    <skip />
+    <!-- no translation found for forbidden_network (4626592887509826545) -->
+    <skip />
 </resources>
diff --git a/res/values-gu/strings.xml b/res/values-gu/strings.xml
index 940357d..3aabd1a 100644
--- a/res/values-gu/strings.xml
+++ b/res/values-gu/strings.xml
@@ -4150,4 +4150,24 @@
     <string name="high_frequency_display_device_summary" msgid="1476189143535389304">"વર્ચ્યુઅલ ઉચ્ચ આવર્તન પૅનલ ચાલુ કરો"</string>
     <string name="homepage_all_settings" msgid="1245540304900512919">"બધી સેટિંગ"</string>
     <string name="homepage_personal_settings" msgid="3998213046366125494">"તમારી સેટિંગ"</string>
+    <!-- no translation found for cbrs_data_switch (2438108549734702331) -->
+    <skip />
+    <!-- no translation found for cbrs_data_switch_summary (1359701543634843588) -->
+    <skip />
+    <!-- no translation found for choose_network_title (5702586742615861037) -->
+    <skip />
+    <!-- no translation found for network_disconnected (2933191767567503504) -->
+    <skip />
+    <!-- no translation found for network_connected (4943925032253989621) -->
+    <skip />
+    <!-- no translation found for network_connecting (76404590784733557) -->
+    <skip />
+    <!-- no translation found for network_could_not_connect (1113813392274155369) -->
+    <skip />
+    <!-- no translation found for empty_networks_list (2578752112731781190) -->
+    <skip />
+    <!-- no translation found for network_query_error (7487714485362598410) -->
+    <skip />
+    <!-- no translation found for forbidden_network (4626592887509826545) -->
+    <skip />
 </resources>
diff --git a/res/values-hi/strings.xml b/res/values-hi/strings.xml
index 4e87bc8..d60043f 100644
--- a/res/values-hi/strings.xml
+++ b/res/values-hi/strings.xml
@@ -4156,4 +4156,24 @@
     <skip />
     <!-- no translation found for homepage_personal_settings (3998213046366125494) -->
     <skip />
+    <!-- no translation found for cbrs_data_switch (2438108549734702331) -->
+    <skip />
+    <!-- no translation found for cbrs_data_switch_summary (1359701543634843588) -->
+    <skip />
+    <!-- no translation found for choose_network_title (5702586742615861037) -->
+    <skip />
+    <!-- no translation found for network_disconnected (2933191767567503504) -->
+    <skip />
+    <!-- no translation found for network_connected (4943925032253989621) -->
+    <skip />
+    <!-- no translation found for network_connecting (76404590784733557) -->
+    <skip />
+    <!-- no translation found for network_could_not_connect (1113813392274155369) -->
+    <skip />
+    <!-- no translation found for empty_networks_list (2578752112731781190) -->
+    <skip />
+    <!-- no translation found for network_query_error (7487714485362598410) -->
+    <skip />
+    <!-- no translation found for forbidden_network (4626592887509826545) -->
+    <skip />
 </resources>
diff --git a/res/values-hr/strings.xml b/res/values-hr/strings.xml
index 7fc8058..c655ce9 100644
--- a/res/values-hr/strings.xml
+++ b/res/values-hr/strings.xml
@@ -4223,4 +4223,24 @@
     <string name="high_frequency_display_device_summary" msgid="1476189143535389304">"Omogući virtualnu ploču visoke frekvencije"</string>
     <string name="homepage_all_settings" msgid="1245540304900512919">"Sve postavke"</string>
     <string name="homepage_personal_settings" msgid="3998213046366125494">"Vaše postavke"</string>
+    <!-- no translation found for cbrs_data_switch (2438108549734702331) -->
+    <skip />
+    <!-- no translation found for cbrs_data_switch_summary (1359701543634843588) -->
+    <skip />
+    <!-- no translation found for choose_network_title (5702586742615861037) -->
+    <skip />
+    <!-- no translation found for network_disconnected (2933191767567503504) -->
+    <skip />
+    <!-- no translation found for network_connected (4943925032253989621) -->
+    <skip />
+    <!-- no translation found for network_connecting (76404590784733557) -->
+    <skip />
+    <!-- no translation found for network_could_not_connect (1113813392274155369) -->
+    <skip />
+    <!-- no translation found for empty_networks_list (2578752112731781190) -->
+    <skip />
+    <!-- no translation found for network_query_error (7487714485362598410) -->
+    <skip />
+    <!-- no translation found for forbidden_network (4626592887509826545) -->
+    <skip />
 </resources>
diff --git a/res/values-hu/strings.xml b/res/values-hu/strings.xml
index 22e45c7..d64b007 100644
--- a/res/values-hu/strings.xml
+++ b/res/values-hu/strings.xml
@@ -4150,4 +4150,24 @@
     <string name="high_frequency_display_device_summary" msgid="1476189143535389304">"Gyakori frissítésű virtuális panel engedélyezése"</string>
     <string name="homepage_all_settings" msgid="1245540304900512919">"Minden beállítás"</string>
     <string name="homepage_personal_settings" msgid="3998213046366125494">"Saját beállítások"</string>
+    <!-- no translation found for cbrs_data_switch (2438108549734702331) -->
+    <skip />
+    <!-- no translation found for cbrs_data_switch_summary (1359701543634843588) -->
+    <skip />
+    <!-- no translation found for choose_network_title (5702586742615861037) -->
+    <skip />
+    <!-- no translation found for network_disconnected (2933191767567503504) -->
+    <skip />
+    <!-- no translation found for network_connected (4943925032253989621) -->
+    <skip />
+    <!-- no translation found for network_connecting (76404590784733557) -->
+    <skip />
+    <!-- no translation found for network_could_not_connect (1113813392274155369) -->
+    <skip />
+    <!-- no translation found for empty_networks_list (2578752112731781190) -->
+    <skip />
+    <!-- no translation found for network_query_error (7487714485362598410) -->
+    <skip />
+    <!-- no translation found for forbidden_network (4626592887509826545) -->
+    <skip />
 </resources>
diff --git a/res/values-hy/strings.xml b/res/values-hy/strings.xml
index 5c69d0b..f4233cc 100644
--- a/res/values-hy/strings.xml
+++ b/res/values-hy/strings.xml
@@ -1128,7 +1128,7 @@
     <string name="night_display_auto_mode_title" msgid="6574111412154833409">"Ժամանակացույց"</string>
     <string name="night_display_auto_mode_never" msgid="2483761922928753400">"Չկա"</string>
     <string name="night_display_auto_mode_custom" msgid="2379394568898721765">"Միանում է սահմանված ժամին"</string>
-    <string name="night_display_auto_mode_twilight" msgid="589042813708244059">"Միանում է մայրամուտից մինչև արևածագ"</string>
+    <string name="night_display_auto_mode_twilight" msgid="589042813708244059">"Միանում է մայրամուտից մինչև լուսաբաց"</string>
     <string name="night_display_start_time_title" msgid="8918016772613689584">"Սկիզբ"</string>
     <string name="night_display_end_time_title" msgid="8286061578083519350">"Ավարտ"</string>
     <string name="night_display_status_title" msgid="1784041143360286267">"Կարգավիճակ"</string>
@@ -3632,7 +3632,7 @@
     <string name="running_frequency" msgid="6622624669948277693">"Հաճախականություն"</string>
     <string name="memory_maximum_usage" msgid="6513785462055278341">"Առավելագույն օգտագործումը"</string>
     <string name="no_data_usage" msgid="9131454024293628063">"Առանց տվյալների օգտագործման"</string>
-    <string name="zen_access_warning_dialog_title" msgid="1198189958031157142">"Թույլատրե՞լ <xliff:g id="APP">%1$s</xliff:g> հավելվածին միացնել/անջատել «Չանհանգստացնել» գործառույթը:"</string>
+    <string name="zen_access_warning_dialog_title" msgid="1198189958031157142">"Թույլատրե՞լ <xliff:g id="APP">%1$s</xliff:g>-ին օգտագործել «Չանհանգստացնել» ռեժիմը"</string>
     <string name="zen_access_warning_dialog_summary" msgid="4015885767653010873">"Հավելվածը կարող է միացնել/անջատել «Չանհանգստացնել» գործառույթը և փոփոխել նրան առնչվող կարգավորումները:"</string>
     <string name="zen_access_disabled_package_warning" msgid="302820100078584431">"Պետք է միացած մնա, քանի որ ծանուցումների օգտագործումն ակտիվացված է"</string>
     <string name="zen_access_revoke_warning_dialog_title" msgid="558779234015793950">"Չեղարկե՞լ <xliff:g id="APP">%1$s</xliff:g> հավելվածին տրամադրված «Չանհանգստացնել» գործառույթն օգտագործելու թույլտվությունը:"</string>
@@ -4150,4 +4150,24 @@
     <string name="high_frequency_display_device_summary" msgid="1476189143535389304">"Միսցնել բարձր հաճախականության վիրտուալ վահանակը"</string>
     <string name="homepage_all_settings" msgid="1245540304900512919">"Բոլոր կարգավորումները"</string>
     <string name="homepage_personal_settings" msgid="3998213046366125494">"Իմ կարգավորումները"</string>
+    <!-- no translation found for cbrs_data_switch (2438108549734702331) -->
+    <skip />
+    <!-- no translation found for cbrs_data_switch_summary (1359701543634843588) -->
+    <skip />
+    <!-- no translation found for choose_network_title (5702586742615861037) -->
+    <skip />
+    <!-- no translation found for network_disconnected (2933191767567503504) -->
+    <skip />
+    <!-- no translation found for network_connected (4943925032253989621) -->
+    <skip />
+    <!-- no translation found for network_connecting (76404590784733557) -->
+    <skip />
+    <!-- no translation found for network_could_not_connect (1113813392274155369) -->
+    <skip />
+    <!-- no translation found for empty_networks_list (2578752112731781190) -->
+    <skip />
+    <!-- no translation found for network_query_error (7487714485362598410) -->
+    <skip />
+    <!-- no translation found for forbidden_network (4626592887509826545) -->
+    <skip />
 </resources>
diff --git a/res/values-in/strings.xml b/res/values-in/strings.xml
index bc248cd..d6f8d03 100644
--- a/res/values-in/strings.xml
+++ b/res/values-in/strings.xml
@@ -4150,4 +4150,24 @@
     <string name="high_frequency_display_device_summary" msgid="1476189143535389304">"Aktifkan Panel Frekuensi Tinggi Virtual"</string>
     <string name="homepage_all_settings" msgid="1245540304900512919">"Semua Setelan"</string>
     <string name="homepage_personal_settings" msgid="3998213046366125494">"Setelan Anda"</string>
+    <!-- no translation found for cbrs_data_switch (2438108549734702331) -->
+    <skip />
+    <!-- no translation found for cbrs_data_switch_summary (1359701543634843588) -->
+    <skip />
+    <!-- no translation found for choose_network_title (5702586742615861037) -->
+    <skip />
+    <!-- no translation found for network_disconnected (2933191767567503504) -->
+    <skip />
+    <!-- no translation found for network_connected (4943925032253989621) -->
+    <skip />
+    <!-- no translation found for network_connecting (76404590784733557) -->
+    <skip />
+    <!-- no translation found for network_could_not_connect (1113813392274155369) -->
+    <skip />
+    <!-- no translation found for empty_networks_list (2578752112731781190) -->
+    <skip />
+    <!-- no translation found for network_query_error (7487714485362598410) -->
+    <skip />
+    <!-- no translation found for forbidden_network (4626592887509826545) -->
+    <skip />
 </resources>
diff --git a/res/values-is/strings.xml b/res/values-is/strings.xml
index 93ff626..4316207 100644
--- a/res/values-is/strings.xml
+++ b/res/values-is/strings.xml
@@ -4150,4 +4150,24 @@
     <string name="high_frequency_display_device_summary" msgid="1476189143535389304">"Kveikja á sýndarhátíðnisvæði"</string>
     <string name="homepage_all_settings" msgid="1245540304900512919">"Allar stillingar"</string>
     <string name="homepage_personal_settings" msgid="3998213046366125494">"Stillingar þínar"</string>
+    <!-- no translation found for cbrs_data_switch (2438108549734702331) -->
+    <skip />
+    <!-- no translation found for cbrs_data_switch_summary (1359701543634843588) -->
+    <skip />
+    <!-- no translation found for choose_network_title (5702586742615861037) -->
+    <skip />
+    <!-- no translation found for network_disconnected (2933191767567503504) -->
+    <skip />
+    <!-- no translation found for network_connected (4943925032253989621) -->
+    <skip />
+    <!-- no translation found for network_connecting (76404590784733557) -->
+    <skip />
+    <!-- no translation found for network_could_not_connect (1113813392274155369) -->
+    <skip />
+    <!-- no translation found for empty_networks_list (2578752112731781190) -->
+    <skip />
+    <!-- no translation found for network_query_error (7487714485362598410) -->
+    <skip />
+    <!-- no translation found for forbidden_network (4626592887509826545) -->
+    <skip />
 </resources>
diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml
index dfe6906..db1df9f 100644
--- a/res/values-it/strings.xml
+++ b/res/values-it/strings.xml
@@ -4150,4 +4150,24 @@
     <string name="high_frequency_display_device_summary" msgid="1476189143535389304">"Attiva il riquadro virtuale Alta frequenza"</string>
     <string name="homepage_all_settings" msgid="1245540304900512919">"Tutte le impostazioni"</string>
     <string name="homepage_personal_settings" msgid="3998213046366125494">"Le tue impostazioni"</string>
+    <!-- no translation found for cbrs_data_switch (2438108549734702331) -->
+    <skip />
+    <!-- no translation found for cbrs_data_switch_summary (1359701543634843588) -->
+    <skip />
+    <!-- no translation found for choose_network_title (5702586742615861037) -->
+    <skip />
+    <!-- no translation found for network_disconnected (2933191767567503504) -->
+    <skip />
+    <!-- no translation found for network_connected (4943925032253989621) -->
+    <skip />
+    <!-- no translation found for network_connecting (76404590784733557) -->
+    <skip />
+    <!-- no translation found for network_could_not_connect (1113813392274155369) -->
+    <skip />
+    <!-- no translation found for empty_networks_list (2578752112731781190) -->
+    <skip />
+    <!-- no translation found for network_query_error (7487714485362598410) -->
+    <skip />
+    <!-- no translation found for forbidden_network (4626592887509826545) -->
+    <skip />
 </resources>
diff --git a/res/values-iw/strings.xml b/res/values-iw/strings.xml
index f31d8e8..4dcc051 100644
--- a/res/values-iw/strings.xml
+++ b/res/values-iw/strings.xml
@@ -3243,7 +3243,7 @@
     <string name="zen_onboarding_current_setting_title" msgid="776426065129609376">"ללא צליל מהודעות"</string>
     <string name="zen_onboarding_new_setting_summary" msgid="6293026064871880706">"הודעות לא יוצגו ולא יושמעו. מותרות שיחות מאנשי קשר שמסומנים בכוכב וממתקשרים חוזרים."</string>
     <string name="zen_onboarding_current_setting_summary" msgid="1280614488924843713">"(ההגדרה הנוכחית)"</string>
-    <string name="zen_onboarding_dnd_visual_disturbances_header" msgid="1352808651270918932">"האם לשנות את ההגדרות של ההודעות במצב \'נא לא להפריע\'?"</string>
+    <string name="zen_onboarding_dnd_visual_disturbances_header" msgid="1352808651270918932">"האם לשנות את ההגדרות של ההתראות במצב \'נא לא להפריע\'?"</string>
     <string name="sound_work_settings" msgid="6774324553228566442">"צלילי פרופיל עבודה"</string>
     <string name="work_use_personal_sounds_title" msgid="1148331221338458874">"השתמש בצלילי הפרופיל האישי"</string>
     <string name="work_use_personal_sounds_summary" msgid="6207040454949823153">"הצלילים זהים עבור הפרופיל האישי ופרופיל העבודה"</string>
@@ -3366,8 +3366,8 @@
     <string name="app_notification_block_summary" msgid="4744020456943215352">"לעולם אל תציג את ההודעות האלה"</string>
     <string name="notification_content_block_title" msgid="5854232570963006360">"הצג הודעות"</string>
     <string name="notification_content_block_summary" msgid="7746185794438882389">"אף פעם אל תציג הודעות בהצללה או במכשירים היקפיים"</string>
-    <string name="notification_badge_title" msgid="6370122441168519809">"הצגה של סימן ההודעות"</string>
-    <string name="notification_channel_badge_title" msgid="2240827899882847087">"הצגה של סימן ההודעות"</string>
+    <string name="notification_badge_title" msgid="6370122441168519809">"הצגה של סימן ההתראות"</string>
+    <string name="notification_channel_badge_title" msgid="2240827899882847087">"הצגה של סימן ההתראות"</string>
     <string name="app_notification_override_dnd_title" msgid="7867458246395884830">"ביטול / שינוי של \'נא לא להפריע\'"</string>
     <string name="app_notification_override_dnd_summary" msgid="2612502099373472686">"הודעות אלה יוכלו להמשיך ולהפריע כשמצב \'נא לא להפריע\' מופעל"</string>
     <string name="app_notification_visibility_override_title" msgid="7821124557634786985">"במסך הנעילה"</string>
@@ -3491,7 +3491,7 @@
     <string name="zen_mode_screen_off" msgid="3144446765110327937">"כאשר המסך כבוי"</string>
     <string name="zen_mode_screen_off_summary" msgid="7430034620565812258">"הודעות שהושתקו במצב \'נא לא להפריע\' יפעילו את המסך ואת האור המהבהב"</string>
     <string name="zen_mode_screen_off_summary_no_led" msgid="2826121465026642017">"הודעות שהושתקו במצב \'נא לא להפריע\' יפעילו את המסך"</string>
-    <string name="notification_app_settings_button" msgid="6685640230371477485">"הגדרות התראה"</string>
+    <string name="notification_app_settings_button" msgid="6685640230371477485">"הגדרת התראות"</string>
     <string name="suggestion_button_text" msgid="3275010948381252006">"אישור"</string>
     <string name="device_feedback" msgid="3238056036766293294">"שליחת משוב על המכשיר הזה"</string>
     <string name="restr_pin_enter_admin_pin" msgid="1085834515677448072">"הזן את קוד הגישה של מנהל המכשיר"</string>
@@ -4298,4 +4298,24 @@
     <string name="high_frequency_display_device_summary" msgid="1476189143535389304">"הפעלה של חלונית וירטואלית בתדר גבוה"</string>
     <string name="homepage_all_settings" msgid="1245540304900512919">"כל ההגדרות"</string>
     <string name="homepage_personal_settings" msgid="3998213046366125494">"ההגדרות שלך"</string>
+    <!-- no translation found for cbrs_data_switch (2438108549734702331) -->
+    <skip />
+    <!-- no translation found for cbrs_data_switch_summary (1359701543634843588) -->
+    <skip />
+    <!-- no translation found for choose_network_title (5702586742615861037) -->
+    <skip />
+    <!-- no translation found for network_disconnected (2933191767567503504) -->
+    <skip />
+    <!-- no translation found for network_connected (4943925032253989621) -->
+    <skip />
+    <!-- no translation found for network_connecting (76404590784733557) -->
+    <skip />
+    <!-- no translation found for network_could_not_connect (1113813392274155369) -->
+    <skip />
+    <!-- no translation found for empty_networks_list (2578752112731781190) -->
+    <skip />
+    <!-- no translation found for network_query_error (7487714485362598410) -->
+    <skip />
+    <!-- no translation found for forbidden_network (4626592887509826545) -->
+    <skip />
 </resources>
diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml
index 7e2724d..811ae38 100644
--- a/res/values-ja/strings.xml
+++ b/res/values-ja/strings.xml
@@ -4150,4 +4150,24 @@
     <string name="high_frequency_display_device_summary" msgid="1476189143535389304">"高頻度仮装パネルを有効にする"</string>
     <string name="homepage_all_settings" msgid="1245540304900512919">"すべての設定"</string>
     <string name="homepage_personal_settings" msgid="3998213046366125494">"カスタマイズした設定"</string>
+    <!-- no translation found for cbrs_data_switch (2438108549734702331) -->
+    <skip />
+    <!-- no translation found for cbrs_data_switch_summary (1359701543634843588) -->
+    <skip />
+    <!-- no translation found for choose_network_title (5702586742615861037) -->
+    <skip />
+    <!-- no translation found for network_disconnected (2933191767567503504) -->
+    <skip />
+    <!-- no translation found for network_connected (4943925032253989621) -->
+    <skip />
+    <!-- no translation found for network_connecting (76404590784733557) -->
+    <skip />
+    <!-- no translation found for network_could_not_connect (1113813392274155369) -->
+    <skip />
+    <!-- no translation found for empty_networks_list (2578752112731781190) -->
+    <skip />
+    <!-- no translation found for network_query_error (7487714485362598410) -->
+    <skip />
+    <!-- no translation found for forbidden_network (4626592887509826545) -->
+    <skip />
 </resources>
diff --git a/res/values-ka/strings.xml b/res/values-ka/strings.xml
index 0c242ed..4b0192c 100644
--- a/res/values-ka/strings.xml
+++ b/res/values-ka/strings.xml
@@ -4150,4 +4150,24 @@
     <string name="high_frequency_display_device_summary" msgid="1476189143535389304">"მაღალი სიხშირეების ვირტუალური პანელის ჩართვა"</string>
     <string name="homepage_all_settings" msgid="1245540304900512919">"ყველა პარამეტრი"</string>
     <string name="homepage_personal_settings" msgid="3998213046366125494">"თქვენი პარამეტრები"</string>
+    <!-- no translation found for cbrs_data_switch (2438108549734702331) -->
+    <skip />
+    <!-- no translation found for cbrs_data_switch_summary (1359701543634843588) -->
+    <skip />
+    <!-- no translation found for choose_network_title (5702586742615861037) -->
+    <skip />
+    <!-- no translation found for network_disconnected (2933191767567503504) -->
+    <skip />
+    <!-- no translation found for network_connected (4943925032253989621) -->
+    <skip />
+    <!-- no translation found for network_connecting (76404590784733557) -->
+    <skip />
+    <!-- no translation found for network_could_not_connect (1113813392274155369) -->
+    <skip />
+    <!-- no translation found for empty_networks_list (2578752112731781190) -->
+    <skip />
+    <!-- no translation found for network_query_error (7487714485362598410) -->
+    <skip />
+    <!-- no translation found for forbidden_network (4626592887509826545) -->
+    <skip />
 </resources>
diff --git a/res/values-kk/strings.xml b/res/values-kk/strings.xml
index 24558c0..0269f64 100644
--- a/res/values-kk/strings.xml
+++ b/res/values-kk/strings.xml
@@ -1124,7 +1124,7 @@
     <string name="auto_brightness_disclaimer" msgid="871436423746343406">"Қолжетімді жарықтандыруға сәйкес жарық деңгейін оңтайландырыңыз. Бұл функция қосулы кезде, жарық деңгейін уақытша реттей аласыз."</string>
     <string name="auto_brightness_description" msgid="7310335517128283729">"Экран жарықтығы қоршаған ортаға және әрекеттерге автоматты түрде бейімделеді. Бейімделгіш жарықтық параметрлерде сақталуы үшін, жүгірткіні қолмен жылжытуыңызға болады."</string>
     <string name="night_display_title" msgid="2626451512200357686">"Түнгі жарық"</string>
-    <string name="night_display_text" msgid="1837277457033025056">"Түнгі жарық функциясы экраныңызға ашық сары реңк береді. Бұл қараңғыда экранға қарауды жеңілдетеді әрі жылдам ұйықтауға да көмектесуі мүмкін."</string>
+    <string name="night_display_text" msgid="1837277457033025056">"\"Түнгі жарық\" функциясы экраныңызға ашық сары реңк береді. Бұл қараңғыда экранға қарауды жеңілдетеді әрі жылдам ұйықтауға да көмектесуі мүмкін."</string>
     <string name="night_display_auto_mode_title" msgid="6574111412154833409">"Уақыт кестесі"</string>
     <string name="night_display_auto_mode_never" msgid="2483761922928753400">"Ешқашан"</string>
     <string name="night_display_auto_mode_custom" msgid="2379394568898721765">"Арнаулы уақытта қосылады"</string>
@@ -2422,7 +2422,7 @@
     <string name="emergency_tone_summary" msgid="722259232924572153">"Төтенше қоңырау шалу әрекетін орнату"</string>
     <string name="privacy_settings_title" msgid="2978878794187459190">"Сақтық көшірме"</string>
     <string name="backup_summary_state_on" msgid="6407084627816231202">"Қосу"</string>
-    <string name="backup_summary_state_off" msgid="7388321532624105594">"Өшіру"</string>
+    <string name="backup_summary_state_off" msgid="7388321532624105594">"Өшірулі"</string>
     <string name="backup_section_title" msgid="7952232291452882740">"Сақтық көшірме жасау және қалпына келтіру"</string>
     <string name="personal_data_section_title" msgid="7815209034443782061">"Жеке деректер"</string>
     <string name="backup_data_title" msgid="1239105919852668016">"Деректердің сақтық көшірмесін жасау"</string>
@@ -3632,7 +3632,7 @@
     <string name="running_frequency" msgid="6622624669948277693">"Жиілік"</string>
     <string name="memory_maximum_usage" msgid="6513785462055278341">"Ең көп пайдалануы"</string>
     <string name="no_data_usage" msgid="9131454024293628063">"Деректер пайдаланылмаған"</string>
-    <string name="zen_access_warning_dialog_title" msgid="1198189958031157142">"<xliff:g id="APP">%1$s</xliff:g> үшін «Мазаламау» режиміне кіру рұқсатын бересіз бе?"</string>
+    <string name="zen_access_warning_dialog_title" msgid="1198189958031157142">"<xliff:g id="APP">%1$s</xliff:g> қолданбасына «Мазаламау» режиміне кіруге бола ма?"</string>
     <string name="zen_access_warning_dialog_summary" msgid="4015885767653010873">"Қолданба «Мазаламау» режимін қосуы/өшіруі және қатысты параметрлерге өзгерістер енгізуі мүмкін."</string>
     <string name="zen_access_disabled_package_warning" msgid="302820100078584431">"Хабарландыру параметрі қосулы болғандықтан, міндетті түрде қосулы болуы тиіс"</string>
     <string name="zen_access_revoke_warning_dialog_title" msgid="558779234015793950">"<xliff:g id="APP">%1$s</xliff:g> үшін \"Мазаламау\" режиміне қатынасты қайтару керек пе?"</string>
@@ -4150,4 +4150,24 @@
     <string name="high_frequency_display_device_summary" msgid="1476189143535389304">"Виртуалды жоғары жиілік панелін қосу"</string>
     <string name="homepage_all_settings" msgid="1245540304900512919">"Барлық параметрлер"</string>
     <string name="homepage_personal_settings" msgid="3998213046366125494">"Параметрлеріңіз"</string>
+    <!-- no translation found for cbrs_data_switch (2438108549734702331) -->
+    <skip />
+    <!-- no translation found for cbrs_data_switch_summary (1359701543634843588) -->
+    <skip />
+    <!-- no translation found for choose_network_title (5702586742615861037) -->
+    <skip />
+    <!-- no translation found for network_disconnected (2933191767567503504) -->
+    <skip />
+    <!-- no translation found for network_connected (4943925032253989621) -->
+    <skip />
+    <!-- no translation found for network_connecting (76404590784733557) -->
+    <skip />
+    <!-- no translation found for network_could_not_connect (1113813392274155369) -->
+    <skip />
+    <!-- no translation found for empty_networks_list (2578752112731781190) -->
+    <skip />
+    <!-- no translation found for network_query_error (7487714485362598410) -->
+    <skip />
+    <!-- no translation found for forbidden_network (4626592887509826545) -->
+    <skip />
 </resources>
diff --git a/res/values-km/strings.xml b/res/values-km/strings.xml
index 8df7cd5..3a42297 100644
--- a/res/values-km/strings.xml
+++ b/res/values-km/strings.xml
@@ -1234,7 +1234,7 @@
     <string name="device_status_summary" product="tablet" msgid="3292717754497039686">"ស្ថានភាព​ថ្ម បណ្ដាញ និង​ព័ត៌មាន​ផ្សេងៗ"</string>
     <string name="device_status_summary" product="default" msgid="2599162787451519618">"លេខ​ទូរស័ព្ទ សញ្ញា ។ល។"</string>
     <string name="storage_settings" msgid="4211799979832404953">"ទំហំ​ផ្ទុក"</string>
-    <string name="storage_usb_settings" msgid="7293054033137078060">"ឧបករណ៍​ផ្ទុក"</string>
+    <string name="storage_usb_settings" msgid="7293054033137078060">"ទំហំ​ផ្ទុក"</string>
     <string name="storage_settings_title" msgid="8746016738388094064">"កំណត់​ការ​​ផ្ទុក"</string>
     <string name="storage_settings_summary" product="nosdcard" msgid="3543813623294870759">"ផ្ដាច់​​ឧបករណ៍​ផ្ទុក​យូអេសប៊ី មើល​ទំហំ​ដែល​មាន"</string>
     <string name="storage_settings_summary" product="default" msgid="9176693537325988610">"ផ្ដាច់​​កាត​អេស​ឌី មើល​ទំហំ​ដែល​មាន"</string>
@@ -4150,4 +4150,24 @@
     <string name="high_frequency_display_device_summary" msgid="1476189143535389304">"បើក​ផ្ទាំង​ប្រេកង់​ខ្ពស់​និម្មិត"</string>
     <string name="homepage_all_settings" msgid="1245540304900512919">"ការកំណត់​ទាំងអស់"</string>
     <string name="homepage_personal_settings" msgid="3998213046366125494">"ការកំណត់របស់អ្នក"</string>
+    <!-- no translation found for cbrs_data_switch (2438108549734702331) -->
+    <skip />
+    <!-- no translation found for cbrs_data_switch_summary (1359701543634843588) -->
+    <skip />
+    <!-- no translation found for choose_network_title (5702586742615861037) -->
+    <skip />
+    <!-- no translation found for network_disconnected (2933191767567503504) -->
+    <skip />
+    <!-- no translation found for network_connected (4943925032253989621) -->
+    <skip />
+    <!-- no translation found for network_connecting (76404590784733557) -->
+    <skip />
+    <!-- no translation found for network_could_not_connect (1113813392274155369) -->
+    <skip />
+    <!-- no translation found for empty_networks_list (2578752112731781190) -->
+    <skip />
+    <!-- no translation found for network_query_error (7487714485362598410) -->
+    <skip />
+    <!-- no translation found for forbidden_network (4626592887509826545) -->
+    <skip />
 </resources>
diff --git a/res/values-kn/strings.xml b/res/values-kn/strings.xml
index e4191f1..8d4fd8c 100644
--- a/res/values-kn/strings.xml
+++ b/res/values-kn/strings.xml
@@ -1127,8 +1127,8 @@
     <string name="night_display_text" msgid="1837277457033025056">"ನೈಟ್ ಲೈಟ್ ನಿಮ್ಮ ಪರದೆಯನ್ನು ಕಡು ಕಂದು ಬಣ್ಣಕ್ಕೆ ತಿರುಗಿಸುತ್ತದೆ. ಇದರಿಂದಾಗಿ ಮಂದ ಬೆಳಕಿನಲ್ಲಿಯೂ ನಿಮ್ಮ ಪರದೆಯನ್ನು ನೋಡಲು ಅಥವಾ ಓದಲು ಸುಲಭವಾಗುತ್ತದೆ ಮತ್ತು ಸುಲಭವಾಗಿ ನಿದ್ರಿಸಲು ಇದು ನಿಮಗೆ ಸಹಾಯ ಮಾಡಬಹುದು."</string>
     <string name="night_display_auto_mode_title" msgid="6574111412154833409">"ಅವಧಿ"</string>
     <string name="night_display_auto_mode_never" msgid="2483761922928753400">"ಯಾವುದೂ ಅಲ್ಲ"</string>
-    <string name="night_display_auto_mode_custom" msgid="2379394568898721765">"ಕಸ್ಟಮ್ ಸಮಯದಲ್ಲಿ ಆನ್ ಮಾಡಿ"</string>
-    <string name="night_display_auto_mode_twilight" msgid="589042813708244059">"ಸೂರ್ಯಾಸ್ತದಿಂದ ಸೂರ್ಯೋದಯದವರೆಗೂ ಆನ್‌ ಮಾಡಿರುತ್ತದೆ"</string>
+    <string name="night_display_auto_mode_custom" msgid="2379394568898721765">"ಕಸ್ಟಮ್ ಸಮಯದಲ್ಲಿ ಆನ್ ಆಗುತ್ತದೆ"</string>
+    <string name="night_display_auto_mode_twilight" msgid="589042813708244059">"ಸೂರ್ಯಾಸ್ತದಿಂದ ಸೂರ್ಯೋದಯದವರೆಗೂ ಆನ್‌ ಆಗಿರುತ್ತದೆ"</string>
     <string name="night_display_start_time_title" msgid="8918016772613689584">"ಪ್ರಾರಂಭದ ಸಮಯ"</string>
     <string name="night_display_end_time_title" msgid="8286061578083519350">"ಮುಕ್ತಾಯದ ಸಮಯ"</string>
     <string name="night_display_status_title" msgid="1784041143360286267">"ಸ್ಥಿತಿ"</string>
@@ -4150,4 +4150,24 @@
     <string name="high_frequency_display_device_summary" msgid="1476189143535389304">"ವರ್ಚುವಲ್ ಅಧಿಕ ಆವರ್ತನ ಫಲಕವನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿ"</string>
     <string name="homepage_all_settings" msgid="1245540304900512919">"ಎಲ್ಲಾ ಸೆಟ್ಟಿಂಗ್‌ಗಳು"</string>
     <string name="homepage_personal_settings" msgid="3998213046366125494">"ನಿಮ್ಮ ಸೆಟ್ಟಿಂಗ್‌ಗಳು"</string>
+    <!-- no translation found for cbrs_data_switch (2438108549734702331) -->
+    <skip />
+    <!-- no translation found for cbrs_data_switch_summary (1359701543634843588) -->
+    <skip />
+    <!-- no translation found for choose_network_title (5702586742615861037) -->
+    <skip />
+    <!-- no translation found for network_disconnected (2933191767567503504) -->
+    <skip />
+    <!-- no translation found for network_connected (4943925032253989621) -->
+    <skip />
+    <!-- no translation found for network_connecting (76404590784733557) -->
+    <skip />
+    <!-- no translation found for network_could_not_connect (1113813392274155369) -->
+    <skip />
+    <!-- no translation found for empty_networks_list (2578752112731781190) -->
+    <skip />
+    <!-- no translation found for network_query_error (7487714485362598410) -->
+    <skip />
+    <!-- no translation found for forbidden_network (4626592887509826545) -->
+    <skip />
 </resources>
diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml
index aa3ce91..7e6756a 100644
--- a/res/values-ko/strings.xml
+++ b/res/values-ko/strings.xml
@@ -1128,7 +1128,7 @@
     <string name="night_display_auto_mode_title" msgid="6574111412154833409">"예약"</string>
     <string name="night_display_auto_mode_never" msgid="2483761922928753400">"없음"</string>
     <string name="night_display_auto_mode_custom" msgid="2379394568898721765">"맞춤 시간에 켜짐"</string>
-    <string name="night_display_auto_mode_twilight" msgid="589042813708244059">"일몰부터 일출까지 사용"</string>
+    <string name="night_display_auto_mode_twilight" msgid="589042813708244059">"일몰부터 일출까지 켜짐"</string>
     <string name="night_display_start_time_title" msgid="8918016772613689584">"시작 시간"</string>
     <string name="night_display_end_time_title" msgid="8286061578083519350">"종료 시간"</string>
     <string name="night_display_status_title" msgid="1784041143360286267">"상태"</string>
@@ -2941,7 +2941,7 @@
     <string name="app_and_notification_dashboard_summary" msgid="2363314178802548682">"권한, 기본 앱"</string>
     <string name="notification_settings_work_profile" msgid="3186757479243373003">"알림 액세스는 직장 프로필에 있는 앱에서 사용할 수 없습니다."</string>
     <string name="account_dashboard_title" msgid="5895948991491438911">"계정"</string>
-    <string name="account_dashboard_default_summary" msgid="3998347400161811075">"추가된 계정이 없습니다."</string>
+    <string name="account_dashboard_default_summary" msgid="3998347400161811075">"추가된 계정 없음"</string>
     <string name="app_default_dashboard_title" msgid="7342549305933047317">"기본 앱"</string>
     <string name="system_dashboard_summary" msgid="5797743225249766685">"언어, 시간, 백업, 업데이트"</string>
     <string name="search_results_title" msgid="1796252422574886932">"설정"</string>
@@ -4150,4 +4150,24 @@
     <string name="high_frequency_display_device_summary" msgid="1476189143535389304">"고주사율 가상 패널을 사용 설정합니다."</string>
     <string name="homepage_all_settings" msgid="1245540304900512919">"모든 설정"</string>
     <string name="homepage_personal_settings" msgid="3998213046366125494">"내 설정"</string>
+    <!-- no translation found for cbrs_data_switch (2438108549734702331) -->
+    <skip />
+    <!-- no translation found for cbrs_data_switch_summary (1359701543634843588) -->
+    <skip />
+    <!-- no translation found for choose_network_title (5702586742615861037) -->
+    <skip />
+    <!-- no translation found for network_disconnected (2933191767567503504) -->
+    <skip />
+    <!-- no translation found for network_connected (4943925032253989621) -->
+    <skip />
+    <!-- no translation found for network_connecting (76404590784733557) -->
+    <skip />
+    <!-- no translation found for network_could_not_connect (1113813392274155369) -->
+    <skip />
+    <!-- no translation found for empty_networks_list (2578752112731781190) -->
+    <skip />
+    <!-- no translation found for network_query_error (7487714485362598410) -->
+    <skip />
+    <!-- no translation found for forbidden_network (4626592887509826545) -->
+    <skip />
 </resources>
diff --git a/res/values-ky/strings.xml b/res/values-ky/strings.xml
index 4f7998f..92b7e21 100644
--- a/res/values-ky/strings.xml
+++ b/res/values-ky/strings.xml
@@ -3631,7 +3631,7 @@
     <string name="running_frequency" msgid="6622624669948277693">"Жыштык"</string>
     <string name="memory_maximum_usage" msgid="6513785462055278341">"Эң көп керектелиши"</string>
     <string name="no_data_usage" msgid="9131454024293628063">"Колдонулган дайындар жок"</string>
-    <string name="zen_access_warning_dialog_title" msgid="1198189958031157142">"<xliff:g id="APP">%1$s</xliff:g> колдонмосуна \"Тынчымды алба\" функциясын пайдаланууга уруксат берилсинби?"</string>
+    <string name="zen_access_warning_dialog_title" msgid="1198189958031157142">"<xliff:g id="APP">%1$s</xliff:g> колдонмосуна \"Тынчымды алба\" режимине уруксат бересизби?"</string>
     <string name="zen_access_warning_dialog_summary" msgid="4015885767653010873">"Бул колдонмо \"Тынчымды алба\" режимин күйгүзүп/өчүрүп, тийиштүү жөндөөлөрдү өзгөртө алат."</string>
     <string name="zen_access_disabled_package_warning" msgid="302820100078584431">"Эскертмелерге уруксат берилгендиктен, күйүп турушу керек"</string>
     <string name="zen_access_revoke_warning_dialog_title" msgid="558779234015793950">"<xliff:g id="APP">%1$s</xliff:g> колдонмосуна \"Тынчымды алба\" функциясын пайдалануу мүмкүнчүлүгү калыбына келтирилсинби?"</string>
@@ -4149,4 +4149,24 @@
     <string name="high_frequency_display_device_summary" msgid="1476189143535389304">"Виртуалдык жогорку жыштык панелин иштетүү"</string>
     <string name="homepage_all_settings" msgid="1245540304900512919">"Бардык жөндөөлөр"</string>
     <string name="homepage_personal_settings" msgid="3998213046366125494">"Жөндөөлөр"</string>
+    <!-- no translation found for cbrs_data_switch (2438108549734702331) -->
+    <skip />
+    <!-- no translation found for cbrs_data_switch_summary (1359701543634843588) -->
+    <skip />
+    <!-- no translation found for choose_network_title (5702586742615861037) -->
+    <skip />
+    <!-- no translation found for network_disconnected (2933191767567503504) -->
+    <skip />
+    <!-- no translation found for network_connected (4943925032253989621) -->
+    <skip />
+    <!-- no translation found for network_connecting (76404590784733557) -->
+    <skip />
+    <!-- no translation found for network_could_not_connect (1113813392274155369) -->
+    <skip />
+    <!-- no translation found for empty_networks_list (2578752112731781190) -->
+    <skip />
+    <!-- no translation found for network_query_error (7487714485362598410) -->
+    <skip />
+    <!-- no translation found for forbidden_network (4626592887509826545) -->
+    <skip />
 </resources>
diff --git a/res/values-lo/strings.xml b/res/values-lo/strings.xml
index c266120..79d3de3 100644
--- a/res/values-lo/strings.xml
+++ b/res/values-lo/strings.xml
@@ -365,7 +365,7 @@
     <string name="location_settings_title" msgid="1369675479310751735">"ສະຖານທີ່"</string>
     <string name="location_settings_master_switch_title" msgid="3560242980335542411">"ໃຊ້​ສະຖານທີ່"</string>
     <string name="account_settings_title" msgid="626177544686329806">"ບັນຊີ"</string>
-    <string name="security_settings_title" msgid="4918904614964215087">"ຄວາມປອດໄພ &amp; ສະຖານທີ່"</string>
+    <string name="security_settings_title" msgid="4918904614964215087">"ຄວາມປອດໄພ ແລະ ສະຖານທີ່"</string>
     <string name="encryption_and_credential_settings_title" msgid="6514904533438791561">"ການເຂົ້າລະຫັດ ແລະ ຂໍ້ມູນການເຂົ້າສູ່ລະບົບ"</string>
     <string name="encryption_and_credential_settings_summary" product="default" msgid="8721883002237981248">"ເຂົ້າລະຫັດໂທລະສັບແລ້ວ"</string>
     <string name="decryption_settings_summary" product="default" msgid="5671817824042639849">"ໂທລະສັບບໍ່ໄດ້ຖືກເຂົ້າລະຫັດ"</string>
@@ -1124,7 +1124,7 @@
     <string name="auto_brightness_disclaimer" msgid="871436423746343406">"ປັບແຕ່ງຄວາມສະຫວ່າງຂອງແສງ. ເມື່ອເປີດໃຊ້ຄຸນສົມບັດນີ້, ທ່ານຈະຍັງຄົງສາມາດປັບແຕ່ງລະດັບຄວາມສະຫວ່າງຊົ່ວຄາວໄດ້ຢູ່."</string>
     <string name="auto_brightness_description" msgid="7310335517128283729">"ຄວາມສະຫວ່າງໜ້າຈໍຂອງທ່ານຈະຖືກປັບໂດຍອັດຕະໂນມັດໂດຍອ້າງອີງຈາກສະພາບແວດລ້ອມ ແລະ ກິດຈະກຳທີ່ທ່ານເຮັດ. ທ່ານສາມາດຍ້າຍຕົວເລື່ອນດ້ວຍຕົນເອງເພື່ອຊ່ວຍໃຫ້ລະບົບຮຽນຮູ້ການຕັ້ງຄ່າຂອງທ່ານໄດ້."</string>
     <string name="night_display_title" msgid="2626451512200357686">"ແສງກາງຄືນ"</string>
-    <string name="night_display_text" msgid="1837277457033025056">"ຄຸນສົມບັດ ແສງກາງຄືນ ຈະໃສ່ສີໜ້າຈໍຂອງທ່ານເປັນສີແດງໃນເວລາກາງຄືນ. ນີ້ຈະເຮັດໃຫ້ສາມາດເບິ່ງໜ້າຈໍໄດ້ງ່າຍຂຶ້ນໃນສະພາບແສງໜ້ອຍ ແລະ ອາດຊ່ວຍໃຫ້ທ່ານນອນຫຼັບງ່າຍຂຶ້ນໄດ້ນຳ."</string>
+    <string name="night_display_text" msgid="1837277457033025056">"ຄຸນສົມບັດ ແສງກາງຄືນ ຈະໃສ່ສີໜ້າຈໍຂອງທ່ານເປັນສີອົມເຫຼືອງໃນເວລາກາງຄືນ. ນີ້ຈະເຮັດໃຫ້ສາມາດເບິ່ງໜ້າຈໍໄດ້ງ່າຍຂຶ້ນໃນສະພາບແສງໜ້ອຍ ແລະ ອາດຊ່ວຍໃຫ້ທ່ານນອນຫຼັບງ່າຍຂຶ້ນໄດ້ນຳ."</string>
     <string name="night_display_auto_mode_title" msgid="6574111412154833409">"ຕັ້ງເວລາ"</string>
     <string name="night_display_auto_mode_never" msgid="2483761922928753400">"ບໍ່ໃຊ້"</string>
     <string name="night_display_auto_mode_custom" msgid="2379394568898721765">"ເປີດໃຊ້ໃນເວລາທີ່ກຳນົດເອງ"</string>
@@ -3632,8 +3632,8 @@
     <string name="running_frequency" msgid="6622624669948277693">"ຄວາມຖີ່"</string>
     <string name="memory_maximum_usage" msgid="6513785462055278341">"ການ​ໃຊ້​ສູງ​ສຸດ"</string>
     <string name="no_data_usage" msgid="9131454024293628063">"ບໍ່​ມີ​ຂໍ້​ມູນ​ທີ່​ໃຊ້​ແລ້ວ"</string>
-    <string name="zen_access_warning_dialog_title" msgid="1198189958031157142">"ອະນຸຍາດ​ການ​ເຂົ້າ​ເຖິງ ບໍ່​ລົບ​ກວນ​ ສຳລັບ <xliff:g id="APP">%1$s</xliff:g> ບໍ?"</string>
-    <string name="zen_access_warning_dialog_summary" msgid="4015885767653010873">"​ແອັບ​ຈະ​ສາມາດ​ເປີດ/ປິດ ບໍ່​ລົບ​ກວນ ​ແລະ​ເຮ​ັດການ​ປ່ຽນ​ແປງ​ຕໍ່​ກັບ​ການ​ຕັ້ງ​ຄ່າ​ທີ່​ກ່ຽວຂ້ອງ."</string>
+    <string name="zen_access_warning_dialog_title" msgid="1198189958031157142">"ອະນຸຍາດໃຫ້ເຂົ້າເຖິງໂໝດຫ້າມລົບກວນສຳລັບ <xliff:g id="APP">%1$s</xliff:g> ບໍ່?"</string>
+    <string name="zen_access_warning_dialog_summary" msgid="4015885767653010873">"ແອັບຈະສາມາດເປີດ/ປີດ ໂໝດຫ້າມລົບກວນ ແລະ ປ່ຽນແປງການຕັ້ງຄ່າທີ່ກ່ຽວຂ້ອງໄດ້."</string>
     <string name="zen_access_disabled_package_warning" msgid="302820100078584431">"ຕ້ອງເປີດໄວ້ເນື່ອງຈາກການເຂົ້າເຖິງການແຈ້ງເຕືອນຖືກເປີດໃຊ້"</string>
     <string name="zen_access_revoke_warning_dialog_title" msgid="558779234015793950">"ຖອດຖອນ​ການ​ເຂົ້າ​ເຖິງຫ້າມ​ລົບ​ກວນສຳລັບ <xliff:g id="APP">%1$s</xliff:g> ບໍ?"</string>
     <string name="zen_access_revoke_warning_dialog_summary" msgid="5518216907304930148">"ທຸກກົດ​ລະບຽບຫ້າມ​ລົບ​ກວນທີ່​ສ້າງ​ຂຶ້ນ​ໂດຍ​ແອັບຯ​ນີ້​ຈະ​ຖືກລຶບ​ອອກ."</string>
@@ -4150,4 +4150,24 @@
     <string name="high_frequency_display_device_summary" msgid="1476189143535389304">"ເປີດໃຊ້ແຜງຄວາມຖີ່ສູງແບບສະເໝືອນ"</string>
     <string name="homepage_all_settings" msgid="1245540304900512919">"ການຕັ້ງຄ່າທັງໝົດ"</string>
     <string name="homepage_personal_settings" msgid="3998213046366125494">"ການຕັ້ງຄ່າຂອງທ່ານ"</string>
+    <!-- no translation found for cbrs_data_switch (2438108549734702331) -->
+    <skip />
+    <!-- no translation found for cbrs_data_switch_summary (1359701543634843588) -->
+    <skip />
+    <!-- no translation found for choose_network_title (5702586742615861037) -->
+    <skip />
+    <!-- no translation found for network_disconnected (2933191767567503504) -->
+    <skip />
+    <!-- no translation found for network_connected (4943925032253989621) -->
+    <skip />
+    <!-- no translation found for network_connecting (76404590784733557) -->
+    <skip />
+    <!-- no translation found for network_could_not_connect (1113813392274155369) -->
+    <skip />
+    <!-- no translation found for empty_networks_list (2578752112731781190) -->
+    <skip />
+    <!-- no translation found for network_query_error (7487714485362598410) -->
+    <skip />
+    <!-- no translation found for forbidden_network (4626592887509826545) -->
+    <skip />
 </resources>
diff --git a/res/values-lt/strings.xml b/res/values-lt/strings.xml
index dee50d1..39cd0da 100644
--- a/res/values-lt/strings.xml
+++ b/res/values-lt/strings.xml
@@ -4296,4 +4296,24 @@
     <string name="high_frequency_display_device_summary" msgid="1476189143535389304">"Įgalinti virtualųjį didelio dažnio skydelį"</string>
     <string name="homepage_all_settings" msgid="1245540304900512919">"Visi nustatymai"</string>
     <string name="homepage_personal_settings" msgid="3998213046366125494">"Jūsų nustatymai"</string>
+    <!-- no translation found for cbrs_data_switch (2438108549734702331) -->
+    <skip />
+    <!-- no translation found for cbrs_data_switch_summary (1359701543634843588) -->
+    <skip />
+    <!-- no translation found for choose_network_title (5702586742615861037) -->
+    <skip />
+    <!-- no translation found for network_disconnected (2933191767567503504) -->
+    <skip />
+    <!-- no translation found for network_connected (4943925032253989621) -->
+    <skip />
+    <!-- no translation found for network_connecting (76404590784733557) -->
+    <skip />
+    <!-- no translation found for network_could_not_connect (1113813392274155369) -->
+    <skip />
+    <!-- no translation found for empty_networks_list (2578752112731781190) -->
+    <skip />
+    <!-- no translation found for network_query_error (7487714485362598410) -->
+    <skip />
+    <!-- no translation found for forbidden_network (4626592887509826545) -->
+    <skip />
 </resources>
diff --git a/res/values-lv/strings.xml b/res/values-lv/strings.xml
index 52bea58..2f7b1e9 100644
--- a/res/values-lv/strings.xml
+++ b/res/values-lv/strings.xml
@@ -4223,4 +4223,24 @@
     <string name="high_frequency_display_device_summary" msgid="1476189143535389304">"Iespējot virtuālo augstas frekvences paneli"</string>
     <string name="homepage_all_settings" msgid="1245540304900512919">"Visi iestatījumi"</string>
     <string name="homepage_personal_settings" msgid="3998213046366125494">"Jūsu iestatījumi"</string>
+    <!-- no translation found for cbrs_data_switch (2438108549734702331) -->
+    <skip />
+    <!-- no translation found for cbrs_data_switch_summary (1359701543634843588) -->
+    <skip />
+    <!-- no translation found for choose_network_title (5702586742615861037) -->
+    <skip />
+    <!-- no translation found for network_disconnected (2933191767567503504) -->
+    <skip />
+    <!-- no translation found for network_connected (4943925032253989621) -->
+    <skip />
+    <!-- no translation found for network_connecting (76404590784733557) -->
+    <skip />
+    <!-- no translation found for network_could_not_connect (1113813392274155369) -->
+    <skip />
+    <!-- no translation found for empty_networks_list (2578752112731781190) -->
+    <skip />
+    <!-- no translation found for network_query_error (7487714485362598410) -->
+    <skip />
+    <!-- no translation found for forbidden_network (4626592887509826545) -->
+    <skip />
 </resources>
diff --git a/res/values-mk/strings.xml b/res/values-mk/strings.xml
index 43ea636..086a54af5 100644
--- a/res/values-mk/strings.xml
+++ b/res/values-mk/strings.xml
@@ -4150,4 +4150,24 @@
     <string name="high_frequency_display_device_summary" msgid="1476189143535389304">"Овозможи виртуелна табла за висока фреквенција"</string>
     <string name="homepage_all_settings" msgid="1245540304900512919">"Сите поставки"</string>
     <string name="homepage_personal_settings" msgid="3998213046366125494">"Вашите поставки"</string>
+    <!-- no translation found for cbrs_data_switch (2438108549734702331) -->
+    <skip />
+    <!-- no translation found for cbrs_data_switch_summary (1359701543634843588) -->
+    <skip />
+    <!-- no translation found for choose_network_title (5702586742615861037) -->
+    <skip />
+    <!-- no translation found for network_disconnected (2933191767567503504) -->
+    <skip />
+    <!-- no translation found for network_connected (4943925032253989621) -->
+    <skip />
+    <!-- no translation found for network_connecting (76404590784733557) -->
+    <skip />
+    <!-- no translation found for network_could_not_connect (1113813392274155369) -->
+    <skip />
+    <!-- no translation found for empty_networks_list (2578752112731781190) -->
+    <skip />
+    <!-- no translation found for network_query_error (7487714485362598410) -->
+    <skip />
+    <!-- no translation found for forbidden_network (4626592887509826545) -->
+    <skip />
 </resources>
diff --git a/res/values-ml/strings.xml b/res/values-ml/strings.xml
index 50734fd..82b3d05 100644
--- a/res/values-ml/strings.xml
+++ b/res/values-ml/strings.xml
@@ -1125,10 +1125,10 @@
     <string name="auto_brightness_description" msgid="7310335517128283729">"നിങ്ങളുടെ പരിതസ്ഥിതിയ്ക്കും പ്രവർത്തനങ്ങൾക്കുമനുസരിച്ച് സ്‌ക്രീൻ തെളിച്ചം സ്വമേധയാ ക്രമീകരിക്കപ്പെടും. മുൻഗണനകൾ മനസ്സിലാക്കാൻ അനുയോജ്യമായ തെളിച്ചത്തിനെ സഹായിക്കുന്നതിന് നിങ്ങൾക്ക് സ്ലൈഡർ നേരിട്ട് നീക്കാം."</string>
     <string name="night_display_title" msgid="2626451512200357686">"നൈറ്റ് ലൈറ്റ്"</string>
     <string name="night_display_text" msgid="1837277457033025056">"\'നൈറ്റ് ലൈറ്റ്\' നിങ്ങളുടെ സ്ക്രീനിന് ചെറിയ ആംബർ നിറം നൽകുന്നു. മങ്ങിയ വെളിച്ചത്തിൽ സ്ക്രീനിൽ നോക്കുന്നതും വായിക്കുന്നതും ഈ ഡിസ്പ്ലേ എളുപ്പമാക്കുന്നു, പെട്ടെന്ന് ഉറങ്ങാനും ഇത് നിങ്ങളെ സഹായിച്ചേക്കാം."</string>
-    <string name="night_display_auto_mode_title" msgid="6574111412154833409">"സമയക്രമം"</string>
+    <string name="night_display_auto_mode_title" msgid="6574111412154833409">"ഷെഡ്യൂള്‍‌"</string>
     <string name="night_display_auto_mode_never" msgid="2483761922928753400">"ഒന്നുമില്ല"</string>
     <string name="night_display_auto_mode_custom" msgid="2379394568898721765">"ഇഷ്ടാനുസൃത സമയത്ത് ഓണാക്കുന്നു"</string>
-    <string name="night_display_auto_mode_twilight" msgid="589042813708244059">"സൂര്യോദയം മുതൽ അസ്തമയം വരെ ഓണാക്കുന്നു"</string>
+    <string name="night_display_auto_mode_twilight" msgid="589042813708244059">"സൂര്യാസ്തമയം മുതൽ ഉദയം വരെ ഓണാക്കുന്നു"</string>
     <string name="night_display_start_time_title" msgid="8918016772613689584">"ആരംഭിക്കുന്ന സമയം"</string>
     <string name="night_display_end_time_title" msgid="8286061578083519350">"അവസാനിക്കുന്ന സമയം"</string>
     <string name="night_display_status_title" msgid="1784041143360286267">"നില"</string>
@@ -3633,7 +3633,7 @@
     <string name="memory_maximum_usage" msgid="6513785462055278341">"പരമാവധി ഉപയോഗം"</string>
     <string name="no_data_usage" msgid="9131454024293628063">"ഡാറ്റയൊന്നും ഉപയോഗിച്ചില്ല"</string>
     <string name="zen_access_warning_dialog_title" msgid="1198189958031157142">"\'ശല്യപ്പെടുത്തരുത്\' എന്നതിലേക്ക് <xliff:g id="APP">%1$s</xliff:g>-ന് ആക്സസ് അനുവദിക്കണോ?"</string>
-    <string name="zen_access_warning_dialog_summary" msgid="4015885767653010873">"\'ശല്യപ്പെടുത്തരുത്\' ഓണാക്കാനും/ഓഫാക്കാനും ബന്ധപ്പെട്ട ക്രമീകരണത്തിലേക്ക് മാറ്റങ്ങൾ വരുത്താനും ആപ്പിന് കഴിയും."</string>
+    <string name="zen_access_warning_dialog_summary" msgid="4015885767653010873">"\'ശല്യപ്പെടുത്തരുത്\' ഓൺ/ഓഫ് ആക്കാനും ബന്ധപ്പെട്ട ക്രമീകരണത്തിലേക്ക് മാറ്റങ്ങൾ വരുത്താനും ആപ്പിന് കഴിയും."</string>
     <string name="zen_access_disabled_package_warning" msgid="302820100078584431">"അറിയിപ്പ് ആക്സസ്സ് ഓണായിരിക്കുന്നതിനാൽ ഇതും ഓണായി തുടരണം"</string>
     <string name="zen_access_revoke_warning_dialog_title" msgid="558779234015793950">"\'ശല്യപ്പെടുത്തരുത്\' എന്നതിലേക്ക് <xliff:g id="APP">%1$s</xliff:g> ആപ്പിനുള്ള ആക്സസ് പിൻവലിക്കണോ?"</string>
     <string name="zen_access_revoke_warning_dialog_summary" msgid="5518216907304930148">"ഈ ആപ്പ് സൃഷ്ടിച്ചിട്ടുള്ള എല്ലാ \'ശല്യപ്പെടുത്തരുത്\' നിയമങ്ങളും നീക്കംചെയ്യപ്പെടും."</string>
@@ -4150,4 +4150,24 @@
     <string name="high_frequency_display_device_summary" msgid="1476189143535389304">"വെർച്വലായ ഉയർന്ന ആവൃത്തി പാനൽ പ്രവർത്തനക്ഷമമാക്കൂ"</string>
     <string name="homepage_all_settings" msgid="1245540304900512919">"എല്ലാ ക്രമീകരണവും"</string>
     <string name="homepage_personal_settings" msgid="3998213046366125494">"നിങ്ങളുടെ ക്രമീകരണം"</string>
+    <!-- no translation found for cbrs_data_switch (2438108549734702331) -->
+    <skip />
+    <!-- no translation found for cbrs_data_switch_summary (1359701543634843588) -->
+    <skip />
+    <!-- no translation found for choose_network_title (5702586742615861037) -->
+    <skip />
+    <!-- no translation found for network_disconnected (2933191767567503504) -->
+    <skip />
+    <!-- no translation found for network_connected (4943925032253989621) -->
+    <skip />
+    <!-- no translation found for network_connecting (76404590784733557) -->
+    <skip />
+    <!-- no translation found for network_could_not_connect (1113813392274155369) -->
+    <skip />
+    <!-- no translation found for empty_networks_list (2578752112731781190) -->
+    <skip />
+    <!-- no translation found for network_query_error (7487714485362598410) -->
+    <skip />
+    <!-- no translation found for forbidden_network (4626592887509826545) -->
+    <skip />
 </resources>
diff --git a/res/values-mn/strings.xml b/res/values-mn/strings.xml
index fb253ab..2f3964a 100644
--- a/res/values-mn/strings.xml
+++ b/res/values-mn/strings.xml
@@ -4148,4 +4148,24 @@
     <string name="high_frequency_display_device_summary" msgid="1476189143535389304">"Виртуал өндөр давтамжтай самбарыг идэвхжүүлэх"</string>
     <string name="homepage_all_settings" msgid="1245540304900512919">"Бүх тохиргоо"</string>
     <string name="homepage_personal_settings" msgid="3998213046366125494">"Таны тохиргоо"</string>
+    <!-- no translation found for cbrs_data_switch (2438108549734702331) -->
+    <skip />
+    <!-- no translation found for cbrs_data_switch_summary (1359701543634843588) -->
+    <skip />
+    <!-- no translation found for choose_network_title (5702586742615861037) -->
+    <skip />
+    <!-- no translation found for network_disconnected (2933191767567503504) -->
+    <skip />
+    <!-- no translation found for network_connected (4943925032253989621) -->
+    <skip />
+    <!-- no translation found for network_connecting (76404590784733557) -->
+    <skip />
+    <!-- no translation found for network_could_not_connect (1113813392274155369) -->
+    <skip />
+    <!-- no translation found for empty_networks_list (2578752112731781190) -->
+    <skip />
+    <!-- no translation found for network_query_error (7487714485362598410) -->
+    <skip />
+    <!-- no translation found for forbidden_network (4626592887509826545) -->
+    <skip />
 </resources>
diff --git a/res/values-mr/arrays.xml b/res/values-mr/arrays.xml
index 6e63d0b..3e015b2 100644
--- a/res/values-mr/arrays.xml
+++ b/res/values-mr/arrays.xml
@@ -168,7 +168,7 @@
     <item msgid="8926455723452645935">"AKA\'"</item>
   </string-array>
   <string-array name="wifi_phase2_entries">
-    <item msgid="1818786254010764570">"काहीही नाही"</item>
+    <item msgid="1818786254010764570">"नको"</item>
     <item msgid="6189918678874123056">"PAP"</item>
     <item msgid="1524112260493662517">"MSCHAP"</item>
     <item msgid="5923246669412752932">"MSCHAPV2"</item>
diff --git a/res/values-mr/strings.xml b/res/values-mr/strings.xml
index 9e18cbd..1e85f38 100644
--- a/res/values-mr/strings.xml
+++ b/res/values-mr/strings.xml
@@ -1124,13 +1124,13 @@
     <string name="auto_brightness_disclaimer" msgid="871436423746343406">"उपलब्ध प्रकाशासाठी उज्ज्वलता स्तर अनुकूल करा. हे वैशिष्ट्य चालू असताना, तुम्ही तरीही उज्ज्वलता तात्पुरती समायोजित करू शकता."</string>
     <string name="auto_brightness_description" msgid="7310335517128283729">"तुमच्या स्क्रीनची चमक तुमच्या वातावरण आणि अॅक्टिव्हिटीशी आपोआप समायोजित होईल. अनुकूलित चमकेला तुमची प्राधान्ये जाणून घेण्यात मदत करण्यासाठी तुम्ही स्लाइडर व्यक्तिचलितपणे हलवू शकता."</string>
     <string name="night_display_title" msgid="2626451512200357686">"रात्रीचा प्रकाश"</string>
-    <string name="night_display_text" msgid="1837277457033025056">"रात्रीचा प्रकाश तुमच्या स्क्रीनला पिवळसर तपकिरी रंगछटा देतो. यामुळे मंद प्रकाशात तुमचा स्क्रीन पाहणे किंवा वाचणे सोपे होते आणि तुम्हाला झोप येण्यात मदत होऊ शकते."</string>
-    <string name="night_display_auto_mode_title" msgid="6574111412154833409">"शेड्यूल"</string>
+    <string name="night_display_text" msgid="1837277457033025056">"रात्रीचा प्रकाश तुमच्या स्क्रीनला पिवळसर तपकिरी छटा देतो. यामुळे मंद प्रकाशात तुमची स्क्रीन पाहणे किंवा वाचणे सोपे होते आणि तुम्हाला झोप येण्यात मदत होऊ शकते."</string>
+    <string name="night_display_auto_mode_title" msgid="6574111412154833409">"शेड्युल"</string>
     <string name="night_display_auto_mode_never" msgid="2483761922928753400">"काहीही नाही"</string>
-    <string name="night_display_auto_mode_custom" msgid="2379394568898721765">"कस्टम वेळी चालू होते"</string>
-    <string name="night_display_auto_mode_twilight" msgid="589042813708244059">"सूर्योदय ते सूर्यास्तादरम्यान चालू होते"</string>
+    <string name="night_display_auto_mode_custom" msgid="2379394568898721765">"ठराविक वेळी चालू होतो"</string>
+    <string name="night_display_auto_mode_twilight" msgid="589042813708244059">"सूर्यास्त-सूर्योदय चालू राहतो"</string>
     <string name="night_display_start_time_title" msgid="8918016772613689584">"प्रारंभ वेळ"</string>
-    <string name="night_display_end_time_title" msgid="8286061578083519350">"समाप्ती वेळ"</string>
+    <string name="night_display_end_time_title" msgid="8286061578083519350">"संपण्याची वेळ"</string>
     <string name="night_display_status_title" msgid="1784041143360286267">"स्थिती"</string>
     <string name="night_display_temperature_title" msgid="1435292789272017136">"तीव्रता"</string>
     <string name="night_display_summary_off" msgid="1792750041697946539">"बंद / <xliff:g id="ID_1">%1$s</xliff:g>"</string>
@@ -3375,7 +3375,7 @@
     <string name="zen_mode_when_never" msgid="8809494351918405602">"कधीही नाही"</string>
     <string name="zen_mode_when_every_night" msgid="3122486110091921009">"प्रत्येक रात्री"</string>
     <string name="zen_mode_when_weeknights" msgid="8354070633893273783">"आठवड्याच्या रात्री"</string>
-    <string name="zen_mode_start_time" msgid="8102602297273744441">"प्रारंभ वेळ"</string>
+    <string name="zen_mode_start_time" msgid="8102602297273744441">"सुरू होण्याची वेळ"</string>
     <string name="zen_mode_end_time" msgid="8774327885892705505">"समाप्ती वेळ"</string>
     <string name="zen_mode_end_time_next_day_summary_format" msgid="4201521691238728701">"<xliff:g id="FORMATTED_TIME">%s</xliff:g> पुढील दिवशी"</string>
     <string name="zen_mode_summary_alarms_only_indefinite" msgid="2061973221027570123">"अनिश्चितपणे केवळ अलार्म वर बदला"</string>
@@ -3633,7 +3633,7 @@
     <string name="running_frequency" msgid="6622624669948277693">"वारंवारता"</string>
     <string name="memory_maximum_usage" msgid="6513785462055278341">"कमाल वापर"</string>
     <string name="no_data_usage" msgid="9131454024293628063">"कोणताही डेटा वापरला नाही"</string>
-    <string name="zen_access_warning_dialog_title" msgid="1198189958031157142">"<xliff:g id="APP">%1$s</xliff:g> साठी व्यत्यय आणू नका ला प्रवेशाची अनुमती द्यायची?"</string>
+    <string name="zen_access_warning_dialog_title" msgid="1198189958031157142">"<xliff:g id="APP">%1$s</xliff:g> वर व्यत्यय आणू नका ला अॅक्सेस द्यायचा का?"</string>
     <string name="zen_access_warning_dialog_summary" msgid="4015885767653010873">"व्यत्यय आणू नका चालू/बंद करण्‍यात आणि संबंधित स्‍ट्रिंगमध्‍ये बदल करण्‍यात अ‍ॅप सक्षम असेल."</string>
     <string name="zen_access_disabled_package_warning" msgid="302820100078584431">"सूचना प्रवेश चालू असल्याने चालू केलेले ठेवणे आवश्यक आहे"</string>
     <string name="zen_access_revoke_warning_dialog_title" msgid="558779234015793950">"<xliff:g id="APP">%1$s</xliff:g> साठी व्यत्यय आणू नका मध्‍ये प्रवेश करणे रद्द करायचे?"</string>
@@ -4151,4 +4151,24 @@
     <string name="high_frequency_display_device_summary" msgid="1476189143535389304">"व्हर्च्युअल उच्च अचूकता पॅनल सुरू करा"</string>
     <string name="homepage_all_settings" msgid="1245540304900512919">"सर्व सेटिंग्ज"</string>
     <string name="homepage_personal_settings" msgid="3998213046366125494">"तुमच्या सेटिंग्ज"</string>
+    <!-- no translation found for cbrs_data_switch (2438108549734702331) -->
+    <skip />
+    <!-- no translation found for cbrs_data_switch_summary (1359701543634843588) -->
+    <skip />
+    <!-- no translation found for choose_network_title (5702586742615861037) -->
+    <skip />
+    <!-- no translation found for network_disconnected (2933191767567503504) -->
+    <skip />
+    <!-- no translation found for network_connected (4943925032253989621) -->
+    <skip />
+    <!-- no translation found for network_connecting (76404590784733557) -->
+    <skip />
+    <!-- no translation found for network_could_not_connect (1113813392274155369) -->
+    <skip />
+    <!-- no translation found for empty_networks_list (2578752112731781190) -->
+    <skip />
+    <!-- no translation found for network_query_error (7487714485362598410) -->
+    <skip />
+    <!-- no translation found for forbidden_network (4626592887509826545) -->
+    <skip />
 </resources>
diff --git a/res/values-ms/strings.xml b/res/values-ms/strings.xml
index 6d8832d..d6f5438 100644
--- a/res/values-ms/strings.xml
+++ b/res/values-ms/strings.xml
@@ -4150,4 +4150,24 @@
     <string name="high_frequency_display_device_summary" msgid="1476189143535389304">"Dayakan Panel Kekerapan Tinggi Maya"</string>
     <string name="homepage_all_settings" msgid="1245540304900512919">"Semua Tetapan"</string>
     <string name="homepage_personal_settings" msgid="3998213046366125494">"Tetapan Anda"</string>
+    <!-- no translation found for cbrs_data_switch (2438108549734702331) -->
+    <skip />
+    <!-- no translation found for cbrs_data_switch_summary (1359701543634843588) -->
+    <skip />
+    <!-- no translation found for choose_network_title (5702586742615861037) -->
+    <skip />
+    <!-- no translation found for network_disconnected (2933191767567503504) -->
+    <skip />
+    <!-- no translation found for network_connected (4943925032253989621) -->
+    <skip />
+    <!-- no translation found for network_connecting (76404590784733557) -->
+    <skip />
+    <!-- no translation found for network_could_not_connect (1113813392274155369) -->
+    <skip />
+    <!-- no translation found for empty_networks_list (2578752112731781190) -->
+    <skip />
+    <!-- no translation found for network_query_error (7487714485362598410) -->
+    <skip />
+    <!-- no translation found for forbidden_network (4626592887509826545) -->
+    <skip />
 </resources>
diff --git a/res/values-my/strings.xml b/res/values-my/strings.xml
index 61ef188..9774987 100644
--- a/res/values-my/strings.xml
+++ b/res/values-my/strings.xml
@@ -3633,7 +3633,7 @@
     <string name="memory_maximum_usage" msgid="6513785462055278341">"အများဆုံး အသုံးပြုမှု"</string>
     <string name="no_data_usage" msgid="9131454024293628063">"မည်သည့်ဒေတာမျှ အသုံးမပြုပါ"</string>
     <string name="zen_access_warning_dialog_title" msgid="1198189958031157142">"<xliff:g id="APP">%1$s</xliff:g>အတွက် မနှောင့်ယှက်ရန်ကို အသုံးပြုခွင့်ပေးမလား?"</string>
-    <string name="zen_access_warning_dialog_summary" msgid="4015885767653010873">"အပ်ဖ်သည် မနှောင့်ယှက်ရန်ကို အဖွင့်/အပိတ်ပြုလုပ်နိုင်ကာ သက်ဆိုင်ရာ ချိန်ညှိချက်များကို ပြောင်းလဲနိုင်ပါသည်။"</string>
+    <string name="zen_access_warning_dialog_summary" msgid="4015885767653010873">"အက်ပ်သည် မနှောင့်ယှက်ရန်ကို အဖွင့်/အပိတ်ပြုလုပ်နိုင်ကာ သက်ဆိုင်ရာ ချိန်ညှိချက်များကို ပြောင်းလဲနိုင်ပါသည်။"</string>
     <string name="zen_access_disabled_package_warning" msgid="302820100078584431">"အကြောင်းကြားချက် အသုံးပြုခွင့်ကိုဖွင့်ထားသောကြောင့် ဆက်လက်ဖွင့်ထားရပါမည်"</string>
     <string name="zen_access_revoke_warning_dialog_title" msgid="558779234015793950">"<xliff:g id="APP">%1$s</xliff:g>အတွက် Do Not Disturb အား သုံးခွင့်ကို ပြန်ရုပ်သိမ်းမလား။"</string>
     <string name="zen_access_revoke_warning_dialog_summary" msgid="5518216907304930148">"ဤအက်ပ်မှ ဖန်တီးခဲ့သည့် Do Not Disturb စည်းမျဉ်းများ အားလုံးကို ဖယ်ရှားပစ်ပါမည်။"</string>
@@ -4150,4 +4150,24 @@
     <string name="high_frequency_display_device_summary" msgid="1476189143535389304">"ပကတိအသွင် ကြိမ်နှုန်းမြင့် အကန့်ကို အသုံးပြုသည်"</string>
     <string name="homepage_all_settings" msgid="1245540304900512919">"ဆက်တင်အားလုံး"</string>
     <string name="homepage_personal_settings" msgid="3998213046366125494">"သင့်ဆက်တင်များ"</string>
+    <!-- no translation found for cbrs_data_switch (2438108549734702331) -->
+    <skip />
+    <!-- no translation found for cbrs_data_switch_summary (1359701543634843588) -->
+    <skip />
+    <!-- no translation found for choose_network_title (5702586742615861037) -->
+    <skip />
+    <!-- no translation found for network_disconnected (2933191767567503504) -->
+    <skip />
+    <!-- no translation found for network_connected (4943925032253989621) -->
+    <skip />
+    <!-- no translation found for network_connecting (76404590784733557) -->
+    <skip />
+    <!-- no translation found for network_could_not_connect (1113813392274155369) -->
+    <skip />
+    <!-- no translation found for empty_networks_list (2578752112731781190) -->
+    <skip />
+    <!-- no translation found for network_query_error (7487714485362598410) -->
+    <skip />
+    <!-- no translation found for forbidden_network (4626592887509826545) -->
+    <skip />
 </resources>
diff --git a/res/values-nb/strings.xml b/res/values-nb/strings.xml
index 0cd9b10..1bef26c 100644
--- a/res/values-nb/strings.xml
+++ b/res/values-nb/strings.xml
@@ -4150,4 +4150,24 @@
     <string name="high_frequency_display_device_summary" msgid="1476189143535389304">"Slå på virtuelt høyfrekvenspanel"</string>
     <string name="homepage_all_settings" msgid="1245540304900512919">"Alle innstillinger"</string>
     <string name="homepage_personal_settings" msgid="3998213046366125494">"Innstillingene dine"</string>
+    <!-- no translation found for cbrs_data_switch (2438108549734702331) -->
+    <skip />
+    <!-- no translation found for cbrs_data_switch_summary (1359701543634843588) -->
+    <skip />
+    <!-- no translation found for choose_network_title (5702586742615861037) -->
+    <skip />
+    <!-- no translation found for network_disconnected (2933191767567503504) -->
+    <skip />
+    <!-- no translation found for network_connected (4943925032253989621) -->
+    <skip />
+    <!-- no translation found for network_connecting (76404590784733557) -->
+    <skip />
+    <!-- no translation found for network_could_not_connect (1113813392274155369) -->
+    <skip />
+    <!-- no translation found for empty_networks_list (2578752112731781190) -->
+    <skip />
+    <!-- no translation found for network_query_error (7487714485362598410) -->
+    <skip />
+    <!-- no translation found for forbidden_network (4626592887509826545) -->
+    <skip />
 </resources>
diff --git a/res/values-ne/strings.xml b/res/values-ne/strings.xml
index ef3d0d9..b016c23 100644
--- a/res/values-ne/strings.xml
+++ b/res/values-ne/strings.xml
@@ -1130,7 +1130,7 @@
     <string name="night_display_auto_mode_custom" msgid="2379394568898721765">"आफू अनुकूल समयमा सक्रिय गर्छ"</string>
     <string name="night_display_auto_mode_twilight" msgid="589042813708244059">"सूर्यास्तदेखि सूर्योदयसम्म सक्रिय गर्छ"</string>
     <string name="night_display_start_time_title" msgid="8918016772613689584">"सुरु समय"</string>
-    <string name="night_display_end_time_title" msgid="8286061578083519350">"समय समाप्ति"</string>
+    <string name="night_display_end_time_title" msgid="8286061578083519350">"समाप्ति समय"</string>
     <string name="night_display_status_title" msgid="1784041143360286267">"स्थिति"</string>
     <string name="night_display_temperature_title" msgid="1435292789272017136">"तीव्रता"</string>
     <string name="night_display_summary_off" msgid="1792750041697946539">"निष्क्रिय / <xliff:g id="ID_1">%1$s</xliff:g>"</string>
@@ -3375,7 +3375,7 @@
     <string name="zen_mode_when_every_night" msgid="3122486110091921009">"हरेक रात"</string>
     <string name="zen_mode_when_weeknights" msgid="8354070633893273783">"सप्ताहरात"</string>
     <string name="zen_mode_start_time" msgid="8102602297273744441">"सुरु हुने समय"</string>
-    <string name="zen_mode_end_time" msgid="8774327885892705505">"समाप्ती समय"</string>
+    <string name="zen_mode_end_time" msgid="8774327885892705505">"समाप्ति समय"</string>
     <string name="zen_mode_end_time_next_day_summary_format" msgid="4201521691238728701">"<xliff:g id="FORMATTED_TIME">%s</xliff:g> अर्को दिन"</string>
     <string name="zen_mode_summary_alarms_only_indefinite" msgid="2061973221027570123">"अलार्महरूलाई अनिश्चितकालीन मात्र परिवर्तन गर्नुहोस्"</string>
     <plurals name="zen_mode_summary_alarms_only_by_minute" formatted="false" msgid="6122003583875424601">
@@ -4150,4 +4150,24 @@
     <string name="high_frequency_display_device_summary" msgid="1476189143535389304">"भर्चुअल उच्च आवृत्ति प्यानल सक्षम पार्नुहोस्‌"</string>
     <string name="homepage_all_settings" msgid="1245540304900512919">"सबै सेटिङहरू"</string>
     <string name="homepage_personal_settings" msgid="3998213046366125494">"तपाईंका सेटिङहरू"</string>
+    <!-- no translation found for cbrs_data_switch (2438108549734702331) -->
+    <skip />
+    <!-- no translation found for cbrs_data_switch_summary (1359701543634843588) -->
+    <skip />
+    <!-- no translation found for choose_network_title (5702586742615861037) -->
+    <skip />
+    <!-- no translation found for network_disconnected (2933191767567503504) -->
+    <skip />
+    <!-- no translation found for network_connected (4943925032253989621) -->
+    <skip />
+    <!-- no translation found for network_connecting (76404590784733557) -->
+    <skip />
+    <!-- no translation found for network_could_not_connect (1113813392274155369) -->
+    <skip />
+    <!-- no translation found for empty_networks_list (2578752112731781190) -->
+    <skip />
+    <!-- no translation found for network_query_error (7487714485362598410) -->
+    <skip />
+    <!-- no translation found for forbidden_network (4626592887509826545) -->
+    <skip />
 </resources>
diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml
index fd85850..34d2e90 100644
--- a/res/values-nl/strings.xml
+++ b/res/values-nl/strings.xml
@@ -4150,4 +4150,24 @@
     <string name="high_frequency_display_device_summary" msgid="1476189143535389304">"Virtueel venster voor hoge frequentie inschakelen"</string>
     <string name="homepage_all_settings" msgid="1245540304900512919">"Alle instellingen"</string>
     <string name="homepage_personal_settings" msgid="3998213046366125494">"Je instellingen"</string>
+    <!-- no translation found for cbrs_data_switch (2438108549734702331) -->
+    <skip />
+    <!-- no translation found for cbrs_data_switch_summary (1359701543634843588) -->
+    <skip />
+    <!-- no translation found for choose_network_title (5702586742615861037) -->
+    <skip />
+    <!-- no translation found for network_disconnected (2933191767567503504) -->
+    <skip />
+    <!-- no translation found for network_connected (4943925032253989621) -->
+    <skip />
+    <!-- no translation found for network_connecting (76404590784733557) -->
+    <skip />
+    <!-- no translation found for network_could_not_connect (1113813392274155369) -->
+    <skip />
+    <!-- no translation found for empty_networks_list (2578752112731781190) -->
+    <skip />
+    <!-- no translation found for network_query_error (7487714485362598410) -->
+    <skip />
+    <!-- no translation found for forbidden_network (4626592887509826545) -->
+    <skip />
 </resources>
diff --git a/res/values-or/strings.xml b/res/values-or/strings.xml
index 999aa7a..1770f2a 100644
--- a/res/values-or/strings.xml
+++ b/res/values-or/strings.xml
@@ -4152,4 +4152,24 @@
     <string name="high_frequency_display_device_summary" msgid="1476189143535389304">"ଭର୍ଚୁଆଲ୍‌ ଉଚ୍ଚମାନର ଫ୍ରିକ୍ୟୁଏନ୍ସି ପ୍ୟାନେଲ୍‍ ସକ୍ଷମ କରନ୍ତୁ"</string>
     <string name="homepage_all_settings" msgid="1245540304900512919">"ସମସ୍ତ ସେଟିଂସ୍‌"</string>
     <string name="homepage_personal_settings" msgid="3998213046366125494">"ଆପଣଙ୍କ ସେଟିଂସ୍‌"</string>
+    <!-- no translation found for cbrs_data_switch (2438108549734702331) -->
+    <skip />
+    <!-- no translation found for cbrs_data_switch_summary (1359701543634843588) -->
+    <skip />
+    <!-- no translation found for choose_network_title (5702586742615861037) -->
+    <skip />
+    <!-- no translation found for network_disconnected (2933191767567503504) -->
+    <skip />
+    <!-- no translation found for network_connected (4943925032253989621) -->
+    <skip />
+    <!-- no translation found for network_connecting (76404590784733557) -->
+    <skip />
+    <!-- no translation found for network_could_not_connect (1113813392274155369) -->
+    <skip />
+    <!-- no translation found for empty_networks_list (2578752112731781190) -->
+    <skip />
+    <!-- no translation found for network_query_error (7487714485362598410) -->
+    <skip />
+    <!-- no translation found for forbidden_network (4626592887509826545) -->
+    <skip />
 </resources>
diff --git a/res/values-pa/strings.xml b/res/values-pa/strings.xml
index e2778bf..c1343de 100644
--- a/res/values-pa/strings.xml
+++ b/res/values-pa/strings.xml
@@ -1123,11 +1123,11 @@
     <string name="auto_brightness_very_high_summary" msgid="4551003097086220709">"ਬੈਟਰੀ ਵਰਤੋਂ ਵਧ ਜਾਵੇਗੀ"</string>
     <string name="auto_brightness_disclaimer" msgid="871436423746343406">"ਉਪਲਬਧ ਲਾਈਟ ਲਈ ਚਮਕ ਦੇ ਪੱਧਰ ਨੂੰ ਸੁਯੋਗ ਬਣਾਓ। ਇਸ ਵਿਸ਼ੇਸ਼ਤਾ ਦੇ ਚਾਲੂ ਹੋਣ \'ਤੇ ਵੀ ਤੁਸੀਂ ਚਮਕ ਨੂੰ ਅਸਥਾਈ ਤੌਰ \'ਤੇ ਵਿਵਸਥਿਤ ਕਰ ਸਕਦੇ ਹੋ।"</string>
     <string name="auto_brightness_description" msgid="7310335517128283729">"ਤੁਹਾਡੇ ਸਕ੍ਰੀਨ ਦੀ ਚਮਕ ਸਵੈਚਲਿਤ ਤੌਰ \'ਤੇ ਵਾਤਾਵਰਣ ਅਤੇ ਤੁਹਾਡੇ ਵੱਲੋਂ ਕੀਤੀਆਂ ਜਾਣ ਵਾਲੀਆਂ ਸਰਗਰਮੀ ਦੇ ਮੁਤਾਬਕ ਵੱਧ-ਘੱਟ ਹੋਵੇਗੀ। ਢਲਨਹਾਰ ਚਮਕ ਨੂੰ ਤੁਹਾਡੀਆਂ ਤਰਜੀਹਾਂ ਬਾਰੇ ਸਿੱਖਣ ਵਿੱਚ ਮਦਦ ਕਰਨ ਲਈ ਤੁਸੀਂ ਸਲਾਈਡਰ ਨੂੰ ਹੱਥੀਂ ਹਿਲਾ ਸਕਦੇ ਹੋ।"</string>
-    <string name="night_display_title" msgid="2626451512200357686">"ਰਾਤਰੀ ਲਾਈਟ"</string>
-    <string name="night_display_text" msgid="1837277457033025056">"ਰਾਤਰੀ ਲਾਈਟ ਤੁਹਾਡੀ ਸਕ੍ਰੀਨ ਨੂੰ ਭੂਰੇ ਪੀਲੇ ਰੰਗ ਦੀ ਭਾਹ ਦਿੰਦੀ ਹੈ। ਇਸ ਨਾਲ ਮੱਧਮ ਰੋਸ਼ਨੀ ਵਿੱਚ ਤੁਹਾਡੀ ਸਕ੍ਰੀਨ ਨੂੰ ਦੇਖਣਾ ਜਾਂ ਪੜ੍ਹਨਾ ਵਧੇਰੇ ਆਸਾਨ ਹੋ ਜਾਂਦਾ ਹੈ ਅਤੇ ਤੁਹਾਨੂੰ ਵਧੇਰੇ ਆਸਾਨੀ ਨਾਲ ਸੌਣ ਵਿੱਚ ਮਦਦ ਮਿਲ ਸਕਦੀ ਹੈ।"</string>
+    <string name="night_display_title" msgid="2626451512200357686">"ਰਾਤ ਦੀ ਰੋਸ਼ਨੀ"</string>
+    <string name="night_display_text" msgid="1837277457033025056">"\'ਰਾਤ ਦੀ ਰੋਸ਼ਨੀ\' ਤੁਹਾਡੀ ਸਕ੍ਰੀਨ ਨੂੰ ਭੂਰੇ ਪੀਲੇ ਰੰਗ ਦੀ ਭਾਹ ਦਿੰਦੀ ਹੈ। ਇਸ ਨਾਲ ਮੱਧਮ ਰੋਸ਼ਨੀ ਵਿੱਚ ਤੁਹਾਡੀ ਸਕ੍ਰੀਨ ਨੂੰ ਦੇਖਣਾ ਜਾਂ ਪੜ੍ਹਨਾ ਵਧੇਰੇ ਆਸਾਨ ਹੋ ਜਾਂਦਾ ਹੈ ਅਤੇ ਤੁਹਾਨੂੰ ਵਧੇਰੇ ਆਸਾਨੀ ਨਾਲ ਸੌਣ ਵਿੱਚ ਮਦਦ ਮਿਲ ਸਕਦੀ ਹੈ।"</string>
     <string name="night_display_auto_mode_title" msgid="6574111412154833409">"ਸਮਾਂ-ਸੂਚੀ"</string>
     <string name="night_display_auto_mode_never" msgid="2483761922928753400">"ਕੋਈ ਨਹੀਂ"</string>
-    <string name="night_display_auto_mode_custom" msgid="2379394568898721765">"ਵਿਉਂਂਤੀ ਸਮੇਂ ਤੇ ਚਾਲੂ ਹੋ ਜਾਂਦੀ ਹੈ"</string>
+    <string name="night_display_auto_mode_custom" msgid="2379394568898721765">"ਵਿਉਂਂਤੇ ਸਮੇਂ \'ਤੇ ਚਾਲੂ ਹੋ ਜਾਂਦੀ ਹੈ"</string>
     <string name="night_display_auto_mode_twilight" msgid="589042813708244059">"ਸੂਰਜ ਡੁੱਬਣ ਤੋਂ ਲੈਕੇ ਸੂਰਜ ਚੜ੍ਹਨ ਤੱਕ ਚਾਲੂ ਰਹਿੰਦੀ ਹੈ"</string>
     <string name="night_display_start_time_title" msgid="8918016772613689584">"ਸ਼ੁਰੂੂਆਤ ਦਾ ਸਮਾਂ"</string>
     <string name="night_display_end_time_title" msgid="8286061578083519350">"ਸਮਾਪਤੀ ਦਾ ਸਮਾਂ"</string>
@@ -3633,7 +3633,7 @@
     <string name="memory_maximum_usage" msgid="6513785462055278341">"ਅਧਿਕਤਮ ਵਰਤੋਂ"</string>
     <string name="no_data_usage" msgid="9131454024293628063">"ਕੋਈ  ਡਾਟਾ  ਨਹੀਂ ਵਰਤਿਆ"</string>
     <string name="zen_access_warning_dialog_title" msgid="1198189958031157142">"ਕੀ <xliff:g id="APP">%1$s</xliff:g> ਨੂੰ ਪਰੇਸ਼ਾਨ ਨਾ ਕਰੋ ਤੱਕ ਪਹੁੰਚ ਦੀ ਆਗਿਆ ਦੇਣੀ ਹੈ?"</string>
-    <string name="zen_access_warning_dialog_summary" msgid="4015885767653010873">"ਐਪ ਪਰੇਸ਼ਾਨ ਨਾ ਕਰੋ ਨੂੰ ਚਾਲੂ/ਬੰਦ ਕਰਨ ਅਤੇ ਸੰਬੰਧਿਤ ਸੈਟਿੰਗਾਂ ਵਿੱਚ ਬਦਲਾਵ ਕਰਨ ਵਿੱਚ ਸਮਰੱਥ ਹੋਵੇਗਾ।"</string>
+    <string name="zen_access_warning_dialog_summary" msgid="4015885767653010873">"ਐਪ \'ਪਰੇਸ਼ਾਨ ਨਾ ਕਰੋ\' ਨੂੰ ਚਾਲੂ/ਬੰਦ ਕਰਨ ਅਤੇ ਸੰਬੰਧਿਤ ਸੈਟਿੰਗਾਂ ਵਿੱਚ ਬਦਲਾਵ ਕਰਨ ਵਿੱਚ ਸਮਰੱਥ ਹੋਵੇਗੀ।"</string>
     <string name="zen_access_disabled_package_warning" msgid="302820100078584431">"ਸੂਚਨਾ ਪਹੁੰਚ ਦੇ ਚਾਲੂ ਹੋਣ ਕਾਰਨ ਇਸ ਦਾ ਚਾਲੂ ਰਹਿਣਾ ਲਾਜ਼ਮੀ ਹੈ"</string>
     <string name="zen_access_revoke_warning_dialog_title" msgid="558779234015793950">"ਕੀ <xliff:g id="APP">%1$s</xliff:g> ਲਈ \'ਪਰੇਸ਼ਾਨ ਨਾ ਕਰੋ\' \'ਤੇ ਪਹੁੰਚ ਰੱਦ ਕਰਨੀ ਹੈ?"</string>
     <string name="zen_access_revoke_warning_dialog_summary" msgid="5518216907304930148">"ਇਸ ਐਪ ਵੱਲੋਂ ਬਣਾਏ ਸਾਰੇ \'ਪਰੇਸ਼ਾਨ ਨਾ ਕਰੋ\' ਨਿਯਮ ਹਟਾ ਦਿੱਤੇ ਜਾਣਗੇ।"</string>
@@ -4150,4 +4150,24 @@
     <string name="high_frequency_display_device_summary" msgid="1476189143535389304">"ਆਭਾਸੀ ਉੱਚ ਬਾਰੰਬਾਰਤਾ ਪੈਨਲ ਨੂੰ ਚਾਲੂ ਕਰੋ"</string>
     <string name="homepage_all_settings" msgid="1245540304900512919">"ਸਾਰੀਆਂ ਸੈਟਿੰਗਾਂ"</string>
     <string name="homepage_personal_settings" msgid="3998213046366125494">"ਤੁਹਾਡੀਆਂ ਸੈਟਿੰਗਾਂ"</string>
+    <!-- no translation found for cbrs_data_switch (2438108549734702331) -->
+    <skip />
+    <!-- no translation found for cbrs_data_switch_summary (1359701543634843588) -->
+    <skip />
+    <!-- no translation found for choose_network_title (5702586742615861037) -->
+    <skip />
+    <!-- no translation found for network_disconnected (2933191767567503504) -->
+    <skip />
+    <!-- no translation found for network_connected (4943925032253989621) -->
+    <skip />
+    <!-- no translation found for network_connecting (76404590784733557) -->
+    <skip />
+    <!-- no translation found for network_could_not_connect (1113813392274155369) -->
+    <skip />
+    <!-- no translation found for empty_networks_list (2578752112731781190) -->
+    <skip />
+    <!-- no translation found for network_query_error (7487714485362598410) -->
+    <skip />
+    <!-- no translation found for forbidden_network (4626592887509826545) -->
+    <skip />
 </resources>
diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml
index a74b406..a2f0c89 100644
--- a/res/values-pl/strings.xml
+++ b/res/values-pl/strings.xml
@@ -4296,4 +4296,24 @@
     <string name="high_frequency_display_device_summary" msgid="1476189143535389304">"Włącz wirtualny panel wys. częstotliwości"</string>
     <string name="homepage_all_settings" msgid="1245540304900512919">"Wszystkie ustawienia"</string>
     <string name="homepage_personal_settings" msgid="3998213046366125494">"Twoje ustawienia"</string>
+    <!-- no translation found for cbrs_data_switch (2438108549734702331) -->
+    <skip />
+    <!-- no translation found for cbrs_data_switch_summary (1359701543634843588) -->
+    <skip />
+    <!-- no translation found for choose_network_title (5702586742615861037) -->
+    <skip />
+    <!-- no translation found for network_disconnected (2933191767567503504) -->
+    <skip />
+    <!-- no translation found for network_connected (4943925032253989621) -->
+    <skip />
+    <!-- no translation found for network_connecting (76404590784733557) -->
+    <skip />
+    <!-- no translation found for network_could_not_connect (1113813392274155369) -->
+    <skip />
+    <!-- no translation found for empty_networks_list (2578752112731781190) -->
+    <skip />
+    <!-- no translation found for network_query_error (7487714485362598410) -->
+    <skip />
+    <!-- no translation found for forbidden_network (4626592887509826545) -->
+    <skip />
 </resources>
diff --git a/res/values-pt-rBR/strings.xml b/res/values-pt-rBR/strings.xml
index b1a2e71..cec8a45 100644
--- a/res/values-pt-rBR/strings.xml
+++ b/res/values-pt-rBR/strings.xml
@@ -4150,4 +4150,24 @@
     <string name="high_frequency_display_device_summary" msgid="1476189143535389304">"Ativar o Painel de alta frequência virtual"</string>
     <string name="homepage_all_settings" msgid="1245540304900512919">"Todas as configurações"</string>
     <string name="homepage_personal_settings" msgid="3998213046366125494">"Suas configurações"</string>
+    <!-- no translation found for cbrs_data_switch (2438108549734702331) -->
+    <skip />
+    <!-- no translation found for cbrs_data_switch_summary (1359701543634843588) -->
+    <skip />
+    <!-- no translation found for choose_network_title (5702586742615861037) -->
+    <skip />
+    <!-- no translation found for network_disconnected (2933191767567503504) -->
+    <skip />
+    <!-- no translation found for network_connected (4943925032253989621) -->
+    <skip />
+    <!-- no translation found for network_connecting (76404590784733557) -->
+    <skip />
+    <!-- no translation found for network_could_not_connect (1113813392274155369) -->
+    <skip />
+    <!-- no translation found for empty_networks_list (2578752112731781190) -->
+    <skip />
+    <!-- no translation found for network_query_error (7487714485362598410) -->
+    <skip />
+    <!-- no translation found for forbidden_network (4626592887509826545) -->
+    <skip />
 </resources>
diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml
index 33535a8..e2f62b8 100644
--- a/res/values-pt-rPT/strings.xml
+++ b/res/values-pt-rPT/strings.xml
@@ -4150,4 +4150,24 @@
     <string name="high_frequency_display_device_summary" msgid="1476189143535389304">"Ativar painel virtual de alta frequência"</string>
     <string name="homepage_all_settings" msgid="1245540304900512919">"Todas as definições"</string>
     <string name="homepage_personal_settings" msgid="3998213046366125494">"As suas definições"</string>
+    <!-- no translation found for cbrs_data_switch (2438108549734702331) -->
+    <skip />
+    <!-- no translation found for cbrs_data_switch_summary (1359701543634843588) -->
+    <skip />
+    <!-- no translation found for choose_network_title (5702586742615861037) -->
+    <skip />
+    <!-- no translation found for network_disconnected (2933191767567503504) -->
+    <skip />
+    <!-- no translation found for network_connected (4943925032253989621) -->
+    <skip />
+    <!-- no translation found for network_connecting (76404590784733557) -->
+    <skip />
+    <!-- no translation found for network_could_not_connect (1113813392274155369) -->
+    <skip />
+    <!-- no translation found for empty_networks_list (2578752112731781190) -->
+    <skip />
+    <!-- no translation found for network_query_error (7487714485362598410) -->
+    <skip />
+    <!-- no translation found for forbidden_network (4626592887509826545) -->
+    <skip />
 </resources>
diff --git a/res/values-pt/strings.xml b/res/values-pt/strings.xml
index b1a2e71..cec8a45 100644
--- a/res/values-pt/strings.xml
+++ b/res/values-pt/strings.xml
@@ -4150,4 +4150,24 @@
     <string name="high_frequency_display_device_summary" msgid="1476189143535389304">"Ativar o Painel de alta frequência virtual"</string>
     <string name="homepage_all_settings" msgid="1245540304900512919">"Todas as configurações"</string>
     <string name="homepage_personal_settings" msgid="3998213046366125494">"Suas configurações"</string>
+    <!-- no translation found for cbrs_data_switch (2438108549734702331) -->
+    <skip />
+    <!-- no translation found for cbrs_data_switch_summary (1359701543634843588) -->
+    <skip />
+    <!-- no translation found for choose_network_title (5702586742615861037) -->
+    <skip />
+    <!-- no translation found for network_disconnected (2933191767567503504) -->
+    <skip />
+    <!-- no translation found for network_connected (4943925032253989621) -->
+    <skip />
+    <!-- no translation found for network_connecting (76404590784733557) -->
+    <skip />
+    <!-- no translation found for network_could_not_connect (1113813392274155369) -->
+    <skip />
+    <!-- no translation found for empty_networks_list (2578752112731781190) -->
+    <skip />
+    <!-- no translation found for network_query_error (7487714485362598410) -->
+    <skip />
+    <!-- no translation found for forbidden_network (4626592887509826545) -->
+    <skip />
 </resources>
diff --git a/res/values-ro/strings.xml b/res/values-ro/strings.xml
index af02523..646cb67 100644
--- a/res/values-ro/strings.xml
+++ b/res/values-ro/strings.xml
@@ -4223,4 +4223,24 @@
     <string name="high_frequency_display_device_summary" msgid="1476189143535389304">"Activați panoul virtual de frecvență înaltă"</string>
     <string name="homepage_all_settings" msgid="1245540304900512919">"Toate setările"</string>
     <string name="homepage_personal_settings" msgid="3998213046366125494">"Setări"</string>
+    <!-- no translation found for cbrs_data_switch (2438108549734702331) -->
+    <skip />
+    <!-- no translation found for cbrs_data_switch_summary (1359701543634843588) -->
+    <skip />
+    <!-- no translation found for choose_network_title (5702586742615861037) -->
+    <skip />
+    <!-- no translation found for network_disconnected (2933191767567503504) -->
+    <skip />
+    <!-- no translation found for network_connected (4943925032253989621) -->
+    <skip />
+    <!-- no translation found for network_connecting (76404590784733557) -->
+    <skip />
+    <!-- no translation found for network_could_not_connect (1113813392274155369) -->
+    <skip />
+    <!-- no translation found for empty_networks_list (2578752112731781190) -->
+    <skip />
+    <!-- no translation found for network_query_error (7487714485362598410) -->
+    <skip />
+    <!-- no translation found for forbidden_network (4626592887509826545) -->
+    <skip />
 </resources>
diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml
index a4d77f1..fa17617 100644
--- a/res/values-ru/strings.xml
+++ b/res/values-ru/strings.xml
@@ -4296,4 +4296,24 @@
     <string name="high_frequency_display_device_summary" msgid="1476189143535389304">"Включить виртуальную High Frequency Panel"</string>
     <string name="homepage_all_settings" msgid="1245540304900512919">"Все настройки"</string>
     <string name="homepage_personal_settings" msgid="3998213046366125494">"Ваши настройки"</string>
+    <!-- no translation found for cbrs_data_switch (2438108549734702331) -->
+    <skip />
+    <!-- no translation found for cbrs_data_switch_summary (1359701543634843588) -->
+    <skip />
+    <!-- no translation found for choose_network_title (5702586742615861037) -->
+    <skip />
+    <!-- no translation found for network_disconnected (2933191767567503504) -->
+    <skip />
+    <!-- no translation found for network_connected (4943925032253989621) -->
+    <skip />
+    <!-- no translation found for network_connecting (76404590784733557) -->
+    <skip />
+    <!-- no translation found for network_could_not_connect (1113813392274155369) -->
+    <skip />
+    <!-- no translation found for empty_networks_list (2578752112731781190) -->
+    <skip />
+    <!-- no translation found for network_query_error (7487714485362598410) -->
+    <skip />
+    <!-- no translation found for forbidden_network (4626592887509826545) -->
+    <skip />
 </resources>
diff --git a/res/values-si/strings.xml b/res/values-si/strings.xml
index 49491f0..669d725 100644
--- a/res/values-si/strings.xml
+++ b/res/values-si/strings.xml
@@ -4150,4 +4150,24 @@
     <string name="high_frequency_display_device_summary" msgid="1476189143535389304">"අතථ්‍ය අධිසංඛ්‍යාත පුවරුව සබල කරන්න"</string>
     <string name="homepage_all_settings" msgid="1245540304900512919">"සියලු සැකසීම්"</string>
     <string name="homepage_personal_settings" msgid="3998213046366125494">"ඔබගේ සැකසීම්"</string>
+    <!-- no translation found for cbrs_data_switch (2438108549734702331) -->
+    <skip />
+    <!-- no translation found for cbrs_data_switch_summary (1359701543634843588) -->
+    <skip />
+    <!-- no translation found for choose_network_title (5702586742615861037) -->
+    <skip />
+    <!-- no translation found for network_disconnected (2933191767567503504) -->
+    <skip />
+    <!-- no translation found for network_connected (4943925032253989621) -->
+    <skip />
+    <!-- no translation found for network_connecting (76404590784733557) -->
+    <skip />
+    <!-- no translation found for network_could_not_connect (1113813392274155369) -->
+    <skip />
+    <!-- no translation found for empty_networks_list (2578752112731781190) -->
+    <skip />
+    <!-- no translation found for network_query_error (7487714485362598410) -->
+    <skip />
+    <!-- no translation found for forbidden_network (4626592887509826545) -->
+    <skip />
 </resources>
diff --git a/res/values-sk/strings.xml b/res/values-sk/strings.xml
index 8956a20..97d5717 100644
--- a/res/values-sk/strings.xml
+++ b/res/values-sk/strings.xml
@@ -3744,8 +3744,8 @@
     <string name="running_frequency" msgid="6622624669948277693">"Frekvencia"</string>
     <string name="memory_maximum_usage" msgid="6513785462055278341">"Maximálne využitie"</string>
     <string name="no_data_usage" msgid="9131454024293628063">"Neboli využité žiadne údaje"</string>
-    <string name="zen_access_warning_dialog_title" msgid="1198189958031157142">"Povoliť prístup k nastaveniu Nerušiť pre aplikáciu <xliff:g id="APP">%1$s</xliff:g>?"</string>
-    <string name="zen_access_warning_dialog_summary" msgid="4015885767653010873">"Aplikácia bude môcť vypnúť alebo zapnúť nastavenie Nerušiť a meniť súvisiace nastavenia."</string>
+    <string name="zen_access_warning_dialog_title" msgid="1198189958031157142">"Povoliť aplikácii <xliff:g id="APP">%1$s</xliff:g> prístup k režimu Nerušiť?"</string>
+    <string name="zen_access_warning_dialog_summary" msgid="4015885767653010873">"Aplikácia bude môcť vypínať a zapínať režim Nerušiť a meniť súvisiace nastavenia."</string>
     <string name="zen_access_disabled_package_warning" msgid="302820100078584431">"Musí zostať zapnuté, pretože je zapnutý prístup k upozorneniam"</string>
     <string name="zen_access_revoke_warning_dialog_title" msgid="558779234015793950">"Odvolať prístup k nastaveniu Nerušiť pre aplikáciu <xliff:g id="APP">%1$s</xliff:g>?"</string>
     <string name="zen_access_revoke_warning_dialog_summary" msgid="5518216907304930148">"Všetky pravidlá typu Nerušiť vytvorené touto aplikáciou budú odstránené."</string>
@@ -4296,4 +4296,24 @@
     <string name="high_frequency_display_device_summary" msgid="1476189143535389304">"Povoliť virtuálny vysokofrekvenčný panel"</string>
     <string name="homepage_all_settings" msgid="1245540304900512919">"Všetky nastavenia"</string>
     <string name="homepage_personal_settings" msgid="3998213046366125494">"Vaše nastavenia"</string>
+    <!-- no translation found for cbrs_data_switch (2438108549734702331) -->
+    <skip />
+    <!-- no translation found for cbrs_data_switch_summary (1359701543634843588) -->
+    <skip />
+    <!-- no translation found for choose_network_title (5702586742615861037) -->
+    <skip />
+    <!-- no translation found for network_disconnected (2933191767567503504) -->
+    <skip />
+    <!-- no translation found for network_connected (4943925032253989621) -->
+    <skip />
+    <!-- no translation found for network_connecting (76404590784733557) -->
+    <skip />
+    <!-- no translation found for network_could_not_connect (1113813392274155369) -->
+    <skip />
+    <!-- no translation found for empty_networks_list (2578752112731781190) -->
+    <skip />
+    <!-- no translation found for network_query_error (7487714485362598410) -->
+    <skip />
+    <!-- no translation found for forbidden_network (4626592887509826545) -->
+    <skip />
 </resources>
diff --git a/res/values-sl/strings.xml b/res/values-sl/strings.xml
index 8fad49e..0532447 100644
--- a/res/values-sl/strings.xml
+++ b/res/values-sl/strings.xml
@@ -4296,4 +4296,24 @@
     <string name="high_frequency_display_device_summary" msgid="1476189143535389304">"Omogoči navidezno ploščo za hitro osveževanje"</string>
     <string name="homepage_all_settings" msgid="1245540304900512919">"Vse nastavitve"</string>
     <string name="homepage_personal_settings" msgid="3998213046366125494">"Vaše nastavitve"</string>
+    <!-- no translation found for cbrs_data_switch (2438108549734702331) -->
+    <skip />
+    <!-- no translation found for cbrs_data_switch_summary (1359701543634843588) -->
+    <skip />
+    <!-- no translation found for choose_network_title (5702586742615861037) -->
+    <skip />
+    <!-- no translation found for network_disconnected (2933191767567503504) -->
+    <skip />
+    <!-- no translation found for network_connected (4943925032253989621) -->
+    <skip />
+    <!-- no translation found for network_connecting (76404590784733557) -->
+    <skip />
+    <!-- no translation found for network_could_not_connect (1113813392274155369) -->
+    <skip />
+    <!-- no translation found for empty_networks_list (2578752112731781190) -->
+    <skip />
+    <!-- no translation found for network_query_error (7487714485362598410) -->
+    <skip />
+    <!-- no translation found for forbidden_network (4626592887509826545) -->
+    <skip />
 </resources>
diff --git a/res/values-sq/strings.xml b/res/values-sq/strings.xml
index 1f40370..d11c728 100644
--- a/res/values-sq/strings.xml
+++ b/res/values-sq/strings.xml
@@ -1144,7 +1144,7 @@
     <string name="night_display_activation_on_manual" msgid="277343561277625826">"Aktivizo tani"</string>
     <string name="night_display_activation_off_manual" msgid="4074557720918572883">"Çaktivizo tani"</string>
     <string name="night_display_activation_on_twilight" msgid="6976051971534953845">"Aktivizo deri në lindjen e diellit"</string>
-    <string name="night_display_activation_off_twilight" msgid="7196227685059907233">"Çaktivizo deri në perëndimin e diellit"</string>
+    <string name="night_display_activation_off_twilight" msgid="7196227685059907233">"Çaktivizo deri në perëndim të diellit"</string>
     <string name="night_display_activation_on_custom" msgid="5472029024427933598">"Çaktivizo deri në <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="night_display_activation_off_custom" msgid="6169984658293744715">"Çaktivizo deri në <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="screen_timeout" msgid="4351334843529712571">"Në gjendje gjumi"</string>
@@ -1933,7 +1933,7 @@
     <string name="usage_time_label" msgid="295954901452833058">"Koha e përdorimit"</string>
     <string name="accessibility_settings" msgid="3975902491934816215">"Qasshmëria"</string>
     <string name="accessibility_settings_title" msgid="2130492524656204459">"Cilësimet e qasjes"</string>
-    <string name="accessibility_settings_summary" msgid="981260486011624939">"Lexues ekrani, ekran, kontrolle interaktive"</string>
+    <string name="accessibility_settings_summary" msgid="981260486011624939">"Lexues ekrani, ekran, kontrolle ndërveprimi"</string>
     <string name="vision_settings_title" msgid="4204111425716868288">"Cilësimet e shikimit"</string>
     <string name="vision_settings_description" msgid="5679491180156408260">"Mund ta personalizosh këtë pajisje për t\'iu përshtatur nevojave të tua. Këto funksione të qasjes mund të ndryshohen më vonë te \"Cilësimet\"."</string>
     <string name="vision_settings_suggestion_title" msgid="8058794060304707004">"Ndrysho madhësinë e shkrimit"</string>
@@ -3632,7 +3632,7 @@
     <string name="running_frequency" msgid="6622624669948277693">"Frekuenca"</string>
     <string name="memory_maximum_usage" msgid="6513785462055278341">"Përdorimi maksimal"</string>
     <string name="no_data_usage" msgid="9131454024293628063">"Nuk janë përdorur të dhëna"</string>
-    <string name="zen_access_warning_dialog_title" msgid="1198189958031157142">"Të lejohet qasja te \"Mos shqetëso\" për <xliff:g id="APP">%1$s</xliff:g>?"</string>
+    <string name="zen_access_warning_dialog_title" msgid="1198189958031157142">"Të lejohet qasja te \"Mos shqetëso\" për \"<xliff:g id="APP">%1$s</xliff:g>\"?"</string>
     <string name="zen_access_warning_dialog_summary" msgid="4015885767653010873">"Aplikacioni do të jetë në gjendje të aktivizojë/çaktivizojë opsionin \"Mos shqetëso\", si dhe të bëjë ndryshimet në cilësimet përkatëse."</string>
     <string name="zen_access_disabled_package_warning" msgid="302820100078584431">"Duhet të qëndrojë e aktivizuar sepse qasja e njoftimeve është e aktivizuar"</string>
     <string name="zen_access_revoke_warning_dialog_title" msgid="558779234015793950">"Të anulohet qasja te \"Mos shqetëso\" për <xliff:g id="APP">%1$s</xliff:g>?"</string>
@@ -4150,4 +4150,24 @@
     <string name="high_frequency_display_device_summary" msgid="1476189143535389304">"Aktivizo panelin virtual me frekuencë të lartë"</string>
     <string name="homepage_all_settings" msgid="1245540304900512919">"Të gjitha cilësimet"</string>
     <string name="homepage_personal_settings" msgid="3998213046366125494">"Cilësimet e tua"</string>
+    <!-- no translation found for cbrs_data_switch (2438108549734702331) -->
+    <skip />
+    <!-- no translation found for cbrs_data_switch_summary (1359701543634843588) -->
+    <skip />
+    <!-- no translation found for choose_network_title (5702586742615861037) -->
+    <skip />
+    <!-- no translation found for network_disconnected (2933191767567503504) -->
+    <skip />
+    <!-- no translation found for network_connected (4943925032253989621) -->
+    <skip />
+    <!-- no translation found for network_connecting (76404590784733557) -->
+    <skip />
+    <!-- no translation found for network_could_not_connect (1113813392274155369) -->
+    <skip />
+    <!-- no translation found for empty_networks_list (2578752112731781190) -->
+    <skip />
+    <!-- no translation found for network_query_error (7487714485362598410) -->
+    <skip />
+    <!-- no translation found for forbidden_network (4626592887509826545) -->
+    <skip />
 </resources>
diff --git a/res/values-sr/strings.xml b/res/values-sr/strings.xml
index 3814789..8b6f92e 100644
--- a/res/values-sr/strings.xml
+++ b/res/values-sr/strings.xml
@@ -4223,4 +4223,24 @@
     <string name="high_frequency_display_device_summary" msgid="1476189143535389304">"Омогућите виртуелну плочу високе фреквенције"</string>
     <string name="homepage_all_settings" msgid="1245540304900512919">"Сва подешавања"</string>
     <string name="homepage_personal_settings" msgid="3998213046366125494">"Подешавања"</string>
+    <!-- no translation found for cbrs_data_switch (2438108549734702331) -->
+    <skip />
+    <!-- no translation found for cbrs_data_switch_summary (1359701543634843588) -->
+    <skip />
+    <!-- no translation found for choose_network_title (5702586742615861037) -->
+    <skip />
+    <!-- no translation found for network_disconnected (2933191767567503504) -->
+    <skip />
+    <!-- no translation found for network_connected (4943925032253989621) -->
+    <skip />
+    <!-- no translation found for network_connecting (76404590784733557) -->
+    <skip />
+    <!-- no translation found for network_could_not_connect (1113813392274155369) -->
+    <skip />
+    <!-- no translation found for empty_networks_list (2578752112731781190) -->
+    <skip />
+    <!-- no translation found for network_query_error (7487714485362598410) -->
+    <skip />
+    <!-- no translation found for forbidden_network (4626592887509826545) -->
+    <skip />
 </resources>
diff --git a/res/values-sv/strings.xml b/res/values-sv/strings.xml
index 7dd182b..ba0e216 100644
--- a/res/values-sv/strings.xml
+++ b/res/values-sv/strings.xml
@@ -4150,4 +4150,24 @@
     <string name="high_frequency_display_device_summary" msgid="1476189143535389304">"Aktivera den virtuella panelen för hög frekvens"</string>
     <string name="homepage_all_settings" msgid="1245540304900512919">"Alla inställningar"</string>
     <string name="homepage_personal_settings" msgid="3998213046366125494">"Dina inställningar"</string>
+    <!-- no translation found for cbrs_data_switch (2438108549734702331) -->
+    <skip />
+    <!-- no translation found for cbrs_data_switch_summary (1359701543634843588) -->
+    <skip />
+    <!-- no translation found for choose_network_title (5702586742615861037) -->
+    <skip />
+    <!-- no translation found for network_disconnected (2933191767567503504) -->
+    <skip />
+    <!-- no translation found for network_connected (4943925032253989621) -->
+    <skip />
+    <!-- no translation found for network_connecting (76404590784733557) -->
+    <skip />
+    <!-- no translation found for network_could_not_connect (1113813392274155369) -->
+    <skip />
+    <!-- no translation found for empty_networks_list (2578752112731781190) -->
+    <skip />
+    <!-- no translation found for network_query_error (7487714485362598410) -->
+    <skip />
+    <!-- no translation found for forbidden_network (4626592887509826545) -->
+    <skip />
 </resources>
diff --git a/res/values-sw/strings.xml b/res/values-sw/strings.xml
index 7d22850..05a164d 100644
--- a/res/values-sw/strings.xml
+++ b/res/values-sw/strings.xml
@@ -20,7 +20,7 @@
     <string name="no" msgid="6731231425810196216">"Hapana"</string>
     <string name="create" msgid="3578857613172647409">"Unda"</string>
     <string name="allow" msgid="3349662621170855910">"Ruhusu"</string>
-    <string name="deny" msgid="6947806159746484865">"Kana"</string>
+    <string name="deny" msgid="6947806159746484865">"Kataa"</string>
     <string name="dlg_close" msgid="7471087791340790015">"Funga"</string>
     <string name="device_info_default" msgid="7847265875578739287">"Haijulikani"</string>
     <plurals name="show_dev_countdown" formatted="false" msgid="7201398282729229649">
@@ -1124,7 +1124,7 @@
     <string name="auto_brightness_disclaimer" msgid="871436423746343406">"Imarisha kiwango cha ung\'avu kulingana na mwangaza uliopo. Kipengele hiki kikiwa kimewashwa, bado unaweza kubadilisha ung\'avu kwa muda."</string>
     <string name="auto_brightness_description" msgid="7310335517128283729">"Itarekebisha mwangaza wa skrini kiotomatiki ili uendane na mazingira na shughuli zako. Unaweza kusogeza kitelezi mwenyewe ili kusaidia kipengele cha mwangaza unaojirekebisha kijifunze mapendeleo yako."</string>
     <string name="night_display_title" msgid="2626451512200357686">"Mwanga wa Usiku"</string>
-    <string name="night_display_text" msgid="1837277457033025056">"Mwanga wa Usiku hugeuza rangi ya skrini yako kuwa manjano. Hali hii hufanya iwa rahisi kuangalia skrini yako au kusoma katika mwangaza hafifu na inaweza kukusaidia ulale kwa urahisi sana."</string>
+    <string name="night_display_text" msgid="1837277457033025056">"Mwanga wa Usiku hugeuza rangi ya skrini yako kuwa manjano. Hali hii hufanya iwe rahisi kuangalia skrini yako au kusoma katika mwangaza hafifu na inaweza kukusaidia ulale kwa urahisi zaidi."</string>
     <string name="night_display_auto_mode_title" msgid="6574111412154833409">"Ratiba"</string>
     <string name="night_display_auto_mode_never" msgid="2483761922928753400">"Hamna"</string>
     <string name="night_display_auto_mode_custom" msgid="2379394568898721765">"Huwashwa wakati maalum"</string>
@@ -2941,7 +2941,7 @@
     <string name="app_and_notification_dashboard_summary" msgid="2363314178802548682">"Ruhusa, programu chaguomsingi"</string>
     <string name="notification_settings_work_profile" msgid="3186757479243373003">"Programu zilizo katika wasifu wa kazini haziwezi kufungua arifa."</string>
     <string name="account_dashboard_title" msgid="5895948991491438911">"Akaunti"</string>
-    <string name="account_dashboard_default_summary" msgid="3998347400161811075">"Hakuna akaunti zilizizoongezwa"</string>
+    <string name="account_dashboard_default_summary" msgid="3998347400161811075">"Hakuna akaunti zilizoongezwa"</string>
     <string name="app_default_dashboard_title" msgid="7342549305933047317">"Programu chaguomsingi"</string>
     <string name="system_dashboard_summary" msgid="5797743225249766685">"Lugha, saa, hifadhi rudufu, masasisho"</string>
     <string name="search_results_title" msgid="1796252422574886932">"Mipangilio"</string>
@@ -3632,7 +3632,7 @@
     <string name="running_frequency" msgid="6622624669948277693">"Masafa"</string>
     <string name="memory_maximum_usage" msgid="6513785462055278341">"Upeo wa matumizi"</string>
     <string name="no_data_usage" msgid="9131454024293628063">"Hakuna data iliyotumika"</string>
-    <string name="zen_access_warning_dialog_title" msgid="1198189958031157142">"Je, ungependa kuruhusu ufikiaji kwa Usinisumbue kwenye <xliff:g id="APP">%1$s</xliff:g>?"</string>
+    <string name="zen_access_warning_dialog_title" msgid="1198189958031157142">"Je, programu ya <xliff:g id="APP">%1$s</xliff:g> ifikie kipengele cha Usinisumbue?"</string>
     <string name="zen_access_warning_dialog_summary" msgid="4015885767653010873">"Programu itaweza kuzima na kuwasha kipengee cha Usinisumbue na kufanya mabadiliko katika mipangilio inayohusiana."</string>
     <string name="zen_access_disabled_package_warning" msgid="302820100078584431">"Lazima kiwe kimewashwa kwa sababu kipengele cha ufikiaji wa arifa kimewashwa"</string>
     <string name="zen_access_revoke_warning_dialog_title" msgid="558779234015793950">"Ungependa kubatilisha idhini ya <xliff:g id="APP">%1$s</xliff:g> ya kufikia kipengele cha Usinisumbue?"</string>
@@ -4150,4 +4150,24 @@
     <string name="high_frequency_display_device_summary" msgid="1476189143535389304">"Washa Kidirisha cha Masafa Pepe ya Juu"</string>
     <string name="homepage_all_settings" msgid="1245540304900512919">"Mipangilio Yote"</string>
     <string name="homepage_personal_settings" msgid="3998213046366125494">"Mipangilio Yako"</string>
+    <!-- no translation found for cbrs_data_switch (2438108549734702331) -->
+    <skip />
+    <!-- no translation found for cbrs_data_switch_summary (1359701543634843588) -->
+    <skip />
+    <!-- no translation found for choose_network_title (5702586742615861037) -->
+    <skip />
+    <!-- no translation found for network_disconnected (2933191767567503504) -->
+    <skip />
+    <!-- no translation found for network_connected (4943925032253989621) -->
+    <skip />
+    <!-- no translation found for network_connecting (76404590784733557) -->
+    <skip />
+    <!-- no translation found for network_could_not_connect (1113813392274155369) -->
+    <skip />
+    <!-- no translation found for empty_networks_list (2578752112731781190) -->
+    <skip />
+    <!-- no translation found for network_query_error (7487714485362598410) -->
+    <skip />
+    <!-- no translation found for forbidden_network (4626592887509826545) -->
+    <skip />
 </resources>
diff --git a/res/values-ta/strings.xml b/res/values-ta/strings.xml
index a643dd0..fcaca40 100644
--- a/res/values-ta/strings.xml
+++ b/res/values-ta/strings.xml
@@ -1123,12 +1123,12 @@
     <string name="auto_brightness_very_high_summary" msgid="4551003097086220709">"பேட்டரியை அதிகமாகப் பயன்படுத்தும்"</string>
     <string name="auto_brightness_disclaimer" msgid="871436423746343406">"கிடைக்கும் ஒளிக்கேற்ப ஒளிர்வை மேம்படுத்து. இதை இயக்கியிருந்தால், தற்காலிகமாக ஒளிர்வைச் சரிசெய்யலாம்."</string>
     <string name="auto_brightness_description" msgid="7310335517128283729">"நீங்கள் இருக்கும் சூழலுக்கும், செய்யும் வேலைகளுக்கும் ஏற்றவாறு, தானாகவே உங்களின் திரை ஒளிர்வு கூடும், குறையும். நீங்கள் எவ்வளவு வெளிச்சத்தை விரும்புகிறீர்கள் என்பதைச் சூழலுக்கேற்ற ஒளிர்வு தெரிந்துகொள்ள, ஸ்லைடரைக் கைமுறையாக நகர்த்தலாம்."</string>
-    <string name="night_display_title" msgid="2626451512200357686">"இரவு ஒளி"</string>
-    <string name="night_display_text" msgid="1837277457033025056">"இரவு ஒளி அம்சமானது உங்கள் திரையை மஞ்சளும் ஆரஞ்சும் கலந்த நிறத்திற்கு மாற்றும். இது மங்கலான ஒளியில் திரையைப் பார்ப்பதை அல்லது படிப்பதை எளிதாக்குவதோடு, விரைவாக உறங்க உதவக்கூடும்."</string>
+    <string name="night_display_title" msgid="2626451512200357686">"நைட் லைட்"</string>
+    <string name="night_display_text" msgid="1837277457033025056">"நைட் லைட் அம்சமானது உங்கள் திரையை மஞ்சளும் ஆரஞ்சும் கலந்த நிறத்திற்கு மாற்றும். இது மங்கலான ஒளியில் திரையைப் பார்ப்பதை அல்லது படிப்பதை எளிதாக்குவதோடு, விரைவாக உறங்க உதவக்கூடும்."</string>
     <string name="night_display_auto_mode_title" msgid="6574111412154833409">"திட்டமிடு"</string>
     <string name="night_display_auto_mode_never" msgid="2483761922928753400">"ஏதுமில்லை"</string>
     <string name="night_display_auto_mode_custom" msgid="2379394568898721765">"தனிப்பயன் நேரத்தில் இயக்கும்"</string>
-    <string name="night_display_auto_mode_twilight" msgid="589042813708244059">"இயக்கும்: சூரிய அஸ்தமனம் - உதயம்"</string>
+    <string name="night_display_auto_mode_twilight" msgid="589042813708244059">"மாலை முதல் காலை வரை ஆன் செய்யும்"</string>
     <string name="night_display_start_time_title" msgid="8918016772613689584">"தொடக்க நேரம்"</string>
     <string name="night_display_end_time_title" msgid="8286061578083519350">"முடிவு நேரம்"</string>
     <string name="night_display_status_title" msgid="1784041143360286267">"நிலை"</string>
@@ -1143,8 +1143,8 @@
     <string name="night_display_summary_on_auto_mode_twilight" msgid="852270120144683507">"சூரிய உதயத்தின் போது தானாக முடக்கப்படும்"</string>
     <string name="night_display_activation_on_manual" msgid="277343561277625826">"இப்போது ஆன் செய்"</string>
     <string name="night_display_activation_off_manual" msgid="4074557720918572883">"இப்போது ஆஃப் செய்"</string>
-    <string name="night_display_activation_on_twilight" msgid="6976051971534953845">"சூரிய உதயம் வரை ஆன் செய்"</string>
-    <string name="night_display_activation_off_twilight" msgid="7196227685059907233">"சூரிய அஸ்தமனம் வரை ஆஃப் செய்"</string>
+    <string name="night_display_activation_on_twilight" msgid="6976051971534953845">"காலை வரை ஆன் செய்"</string>
+    <string name="night_display_activation_off_twilight" msgid="7196227685059907233">"மாலை வரை ஆஃப் செய்"</string>
     <string name="night_display_activation_on_custom" msgid="5472029024427933598">"<xliff:g id="ID_1">%1$s</xliff:g> வரை ஆஃப் செய்"</string>
     <string name="night_display_activation_off_custom" msgid="6169984658293744715">"<xliff:g id="ID_1">%1$s</xliff:g> வரை ஆஃப் செய்"</string>
     <string name="screen_timeout" msgid="4351334843529712571">"உறங்கு"</string>
@@ -4150,4 +4150,24 @@
     <string name="high_frequency_display_device_summary" msgid="1476189143535389304">"விரிச்சுவல் உயர் அதிர்வெண் பேனலை இயக்கு"</string>
     <string name="homepage_all_settings" msgid="1245540304900512919">"அனைத்து அமைப்புகளும்"</string>
     <string name="homepage_personal_settings" msgid="3998213046366125494">"உங்கள் அமைப்புகள்"</string>
+    <!-- no translation found for cbrs_data_switch (2438108549734702331) -->
+    <skip />
+    <!-- no translation found for cbrs_data_switch_summary (1359701543634843588) -->
+    <skip />
+    <!-- no translation found for choose_network_title (5702586742615861037) -->
+    <skip />
+    <!-- no translation found for network_disconnected (2933191767567503504) -->
+    <skip />
+    <!-- no translation found for network_connected (4943925032253989621) -->
+    <skip />
+    <!-- no translation found for network_connecting (76404590784733557) -->
+    <skip />
+    <!-- no translation found for network_could_not_connect (1113813392274155369) -->
+    <skip />
+    <!-- no translation found for empty_networks_list (2578752112731781190) -->
+    <skip />
+    <!-- no translation found for network_query_error (7487714485362598410) -->
+    <skip />
+    <!-- no translation found for forbidden_network (4626592887509826545) -->
+    <skip />
 </resources>
diff --git a/res/values-te/strings.xml b/res/values-te/strings.xml
index 05edd1f..dfd0d47 100644
--- a/res/values-te/strings.xml
+++ b/res/values-te/strings.xml
@@ -4152,4 +4152,24 @@
     <string name="high_frequency_display_device_summary" msgid="1476189143535389304">"వర్చువల్ హై ఫ్రీక్వెన్సీ ప్యానెల్‌ను ప్రారంభించండి"</string>
     <string name="homepage_all_settings" msgid="1245540304900512919">"అన్ని సెట్టింగ్‌లు"</string>
     <string name="homepage_personal_settings" msgid="3998213046366125494">"మీ సెట్టింగ్‌లు"</string>
+    <!-- no translation found for cbrs_data_switch (2438108549734702331) -->
+    <skip />
+    <!-- no translation found for cbrs_data_switch_summary (1359701543634843588) -->
+    <skip />
+    <!-- no translation found for choose_network_title (5702586742615861037) -->
+    <skip />
+    <!-- no translation found for network_disconnected (2933191767567503504) -->
+    <skip />
+    <!-- no translation found for network_connected (4943925032253989621) -->
+    <skip />
+    <!-- no translation found for network_connecting (76404590784733557) -->
+    <skip />
+    <!-- no translation found for network_could_not_connect (1113813392274155369) -->
+    <skip />
+    <!-- no translation found for empty_networks_list (2578752112731781190) -->
+    <skip />
+    <!-- no translation found for network_query_error (7487714485362598410) -->
+    <skip />
+    <!-- no translation found for forbidden_network (4626592887509826545) -->
+    <skip />
 </resources>
diff --git a/res/values-th/strings.xml b/res/values-th/strings.xml
index 3a9c4fe..ae7546c 100644
--- a/res/values-th/strings.xml
+++ b/res/values-th/strings.xml
@@ -4150,4 +4150,24 @@
     <string name="high_frequency_display_device_summary" msgid="1476189143535389304">"เปิดใช้แผงความถี่สูงเสมือน"</string>
     <string name="homepage_all_settings" msgid="1245540304900512919">"การตั้งค่าทั้งหมด"</string>
     <string name="homepage_personal_settings" msgid="3998213046366125494">"การตั้งค่าของคุณ"</string>
+    <!-- no translation found for cbrs_data_switch (2438108549734702331) -->
+    <skip />
+    <!-- no translation found for cbrs_data_switch_summary (1359701543634843588) -->
+    <skip />
+    <!-- no translation found for choose_network_title (5702586742615861037) -->
+    <skip />
+    <!-- no translation found for network_disconnected (2933191767567503504) -->
+    <skip />
+    <!-- no translation found for network_connected (4943925032253989621) -->
+    <skip />
+    <!-- no translation found for network_connecting (76404590784733557) -->
+    <skip />
+    <!-- no translation found for network_could_not_connect (1113813392274155369) -->
+    <skip />
+    <!-- no translation found for empty_networks_list (2578752112731781190) -->
+    <skip />
+    <!-- no translation found for network_query_error (7487714485362598410) -->
+    <skip />
+    <!-- no translation found for forbidden_network (4626592887509826545) -->
+    <skip />
 </resources>
diff --git a/res/values-tl/strings.xml b/res/values-tl/strings.xml
index 0a71848..12b41d7 100644
--- a/res/values-tl/strings.xml
+++ b/res/values-tl/strings.xml
@@ -4150,4 +4150,24 @@
     <string name="high_frequency_display_device_summary" msgid="1476189143535389304">"I-enable ang High Frequency na Virtual Panel"</string>
     <string name="homepage_all_settings" msgid="1245540304900512919">"Lahat ng Setting"</string>
     <string name="homepage_personal_settings" msgid="3998213046366125494">"Ang Iyong Mga Setting"</string>
+    <!-- no translation found for cbrs_data_switch (2438108549734702331) -->
+    <skip />
+    <!-- no translation found for cbrs_data_switch_summary (1359701543634843588) -->
+    <skip />
+    <!-- no translation found for choose_network_title (5702586742615861037) -->
+    <skip />
+    <!-- no translation found for network_disconnected (2933191767567503504) -->
+    <skip />
+    <!-- no translation found for network_connected (4943925032253989621) -->
+    <skip />
+    <!-- no translation found for network_connecting (76404590784733557) -->
+    <skip />
+    <!-- no translation found for network_could_not_connect (1113813392274155369) -->
+    <skip />
+    <!-- no translation found for empty_networks_list (2578752112731781190) -->
+    <skip />
+    <!-- no translation found for network_query_error (7487714485362598410) -->
+    <skip />
+    <!-- no translation found for forbidden_network (4626592887509826545) -->
+    <skip />
 </resources>
diff --git a/res/values-tr/strings.xml b/res/values-tr/strings.xml
index f286637..cb0143f 100644
--- a/res/values-tr/strings.xml
+++ b/res/values-tr/strings.xml
@@ -4150,4 +4150,24 @@
     <string name="high_frequency_display_device_summary" msgid="1476189143535389304">"Sanal Yüksek Frekans Panelini Etkinleştir"</string>
     <string name="homepage_all_settings" msgid="1245540304900512919">"Tüm Ayarlar"</string>
     <string name="homepage_personal_settings" msgid="3998213046366125494">"Ayarlarınız"</string>
+    <!-- no translation found for cbrs_data_switch (2438108549734702331) -->
+    <skip />
+    <!-- no translation found for cbrs_data_switch_summary (1359701543634843588) -->
+    <skip />
+    <!-- no translation found for choose_network_title (5702586742615861037) -->
+    <skip />
+    <!-- no translation found for network_disconnected (2933191767567503504) -->
+    <skip />
+    <!-- no translation found for network_connected (4943925032253989621) -->
+    <skip />
+    <!-- no translation found for network_connecting (76404590784733557) -->
+    <skip />
+    <!-- no translation found for network_could_not_connect (1113813392274155369) -->
+    <skip />
+    <!-- no translation found for empty_networks_list (2578752112731781190) -->
+    <skip />
+    <!-- no translation found for network_query_error (7487714485362598410) -->
+    <skip />
+    <!-- no translation found for forbidden_network (4626592887509826545) -->
+    <skip />
 </resources>
diff --git a/res/values-uk/strings.xml b/res/values-uk/strings.xml
index 3c2542c..1b034ad 100644
--- a/res/values-uk/strings.xml
+++ b/res/values-uk/strings.xml
@@ -4296,4 +4296,24 @@
     <string name="high_frequency_display_device_summary" msgid="1476189143535389304">"Увімкнути віртуальну панель високих частот"</string>
     <string name="homepage_all_settings" msgid="1245540304900512919">"Усі налаштування"</string>
     <string name="homepage_personal_settings" msgid="3998213046366125494">"Ваші налаштування"</string>
+    <!-- no translation found for cbrs_data_switch (2438108549734702331) -->
+    <skip />
+    <!-- no translation found for cbrs_data_switch_summary (1359701543634843588) -->
+    <skip />
+    <!-- no translation found for choose_network_title (5702586742615861037) -->
+    <skip />
+    <!-- no translation found for network_disconnected (2933191767567503504) -->
+    <skip />
+    <!-- no translation found for network_connected (4943925032253989621) -->
+    <skip />
+    <!-- no translation found for network_connecting (76404590784733557) -->
+    <skip />
+    <!-- no translation found for network_could_not_connect (1113813392274155369) -->
+    <skip />
+    <!-- no translation found for empty_networks_list (2578752112731781190) -->
+    <skip />
+    <!-- no translation found for network_query_error (7487714485362598410) -->
+    <skip />
+    <!-- no translation found for forbidden_network (4626592887509826545) -->
+    <skip />
 </resources>
diff --git a/res/values-ur/strings.xml b/res/values-ur/strings.xml
index c46a94f..a01ba8a 100644
--- a/res/values-ur/strings.xml
+++ b/res/values-ur/strings.xml
@@ -1145,8 +1145,8 @@
     <string name="night_display_activation_off_manual" msgid="4074557720918572883">"ابھی آف کریں"</string>
     <string name="night_display_activation_on_twilight" msgid="6976051971534953845">"طلوع آفتاب تک آن کریں"</string>
     <string name="night_display_activation_off_twilight" msgid="7196227685059907233">"غروب آفتاب تک بند کریں"</string>
-    <string name="night_display_activation_on_custom" msgid="5472029024427933598">"<xliff:g id="ID_1">%1$s</xliff:g> تک آن کریں"</string>
-    <string name="night_display_activation_off_custom" msgid="6169984658293744715">"<xliff:g id="ID_1">%1$s</xliff:g> تک بند کریں"</string>
+    <string name="night_display_activation_on_custom" msgid="5472029024427933598">"‫<xliff:g id="ID_1">%1$s</xliff:g> تک آن کریں"</string>
+    <string name="night_display_activation_off_custom" msgid="6169984658293744715">"‫<xliff:g id="ID_1">%1$s</xliff:g> تک بند کریں"</string>
     <string name="screen_timeout" msgid="4351334843529712571">"سلیپ"</string>
     <string name="screen_timeout_title" msgid="5130038655092628247">"اسکرین آف ہوجاتی ہے"</string>
     <string name="screen_timeout_summary" msgid="327761329263064327">"غیر فعالیت کے <xliff:g id="TIMEOUT_DESCRIPTION">%1$s</xliff:g> بعد"</string>
@@ -4148,4 +4148,24 @@
     <string name="high_frequency_display_device_summary" msgid="1476189143535389304">"ورچوئل اعلی فریکوئنسی پینل فعال کریں"</string>
     <string name="homepage_all_settings" msgid="1245540304900512919">"تمام ترتیبات"</string>
     <string name="homepage_personal_settings" msgid="3998213046366125494">"آپ کی ترتیبات"</string>
+    <!-- no translation found for cbrs_data_switch (2438108549734702331) -->
+    <skip />
+    <!-- no translation found for cbrs_data_switch_summary (1359701543634843588) -->
+    <skip />
+    <!-- no translation found for choose_network_title (5702586742615861037) -->
+    <skip />
+    <!-- no translation found for network_disconnected (2933191767567503504) -->
+    <skip />
+    <!-- no translation found for network_connected (4943925032253989621) -->
+    <skip />
+    <!-- no translation found for network_connecting (76404590784733557) -->
+    <skip />
+    <!-- no translation found for network_could_not_connect (1113813392274155369) -->
+    <skip />
+    <!-- no translation found for empty_networks_list (2578752112731781190) -->
+    <skip />
+    <!-- no translation found for network_query_error (7487714485362598410) -->
+    <skip />
+    <!-- no translation found for forbidden_network (4626592887509826545) -->
+    <skip />
 </resources>
diff --git a/res/values-uz/strings.xml b/res/values-uz/strings.xml
index 953ee9e..294d50a 100644
--- a/res/values-uz/strings.xml
+++ b/res/values-uz/strings.xml
@@ -1128,11 +1128,11 @@
     <string name="night_display_auto_mode_title" msgid="6574111412154833409">"Jadval"</string>
     <string name="night_display_auto_mode_never" msgid="2483761922928753400">"Hech qachon"</string>
     <string name="night_display_auto_mode_custom" msgid="2379394568898721765">"Muayyan vaqtda yoqiladi"</string>
-    <string name="night_display_auto_mode_twilight" msgid="589042813708244059">"Quyosh chiqishidan botishigacha"</string>
+    <string name="night_display_auto_mode_twilight" msgid="589042813708244059">"Quyosh botishidan to chiqishigacha"</string>
     <string name="night_display_start_time_title" msgid="8918016772613689584">"Boshlanish vaqti"</string>
     <string name="night_display_end_time_title" msgid="8286061578083519350">"Tugash vaqti"</string>
     <string name="night_display_status_title" msgid="1784041143360286267">"Holati"</string>
-    <string name="night_display_temperature_title" msgid="1435292789272017136">"Yorqinlik"</string>
+    <string name="night_display_temperature_title" msgid="1435292789272017136">"Intensivlik"</string>
     <string name="night_display_summary_off" msgid="1792750041697946539">"O‘chiq / <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="night_display_summary_off_auto_mode_never" msgid="3583590137322963513">"Hech qachon avtomatik yoqilmaydi"</string>
     <string name="night_display_summary_off_auto_mode_custom" msgid="6365668239253173208">"<xliff:g id="ID_1">%1$s</xliff:g> da avtomatik yoqiladi"</string>
@@ -1143,10 +1143,10 @@
     <string name="night_display_summary_on_auto_mode_twilight" msgid="852270120144683507">"Quyosh chiqishi bilan avtomatik tugaydi"</string>
     <string name="night_display_activation_on_manual" msgid="277343561277625826">"Yoqish"</string>
     <string name="night_display_activation_off_manual" msgid="4074557720918572883">"O‘chirish"</string>
-    <string name="night_display_activation_on_twilight" msgid="6976051971534953845">"Quyosh chiqqunicha yoqish"</string>
-    <string name="night_display_activation_off_twilight" msgid="7196227685059907233">"Quyosh botguncha o‘chirish"</string>
-    <string name="night_display_activation_on_custom" msgid="5472029024427933598">"<xliff:g id="ID_1">%1$s</xliff:g> gacha yoqish"</string>
-    <string name="night_display_activation_off_custom" msgid="6169984658293744715">"<xliff:g id="ID_1">%1$s</xliff:g> gacha o‘chirish"</string>
+    <string name="night_display_activation_on_twilight" msgid="6976051971534953845">"Quyosh chiqqunicha yoniq tursin"</string>
+    <string name="night_display_activation_off_twilight" msgid="7196227685059907233">"Quyosh botguncha yoqilmasin"</string>
+    <string name="night_display_activation_on_custom" msgid="5472029024427933598">"<xliff:g id="ID_1">%1$s</xliff:g> gacha yoniq tursin"</string>
+    <string name="night_display_activation_off_custom" msgid="6169984658293744715">"<xliff:g id="ID_1">%1$s</xliff:g> gacha yoqilmasin"</string>
     <string name="screen_timeout" msgid="4351334843529712571">"Uyqu rejimi"</string>
     <string name="screen_timeout_title" msgid="5130038655092628247">"Ekranning o‘chishi"</string>
     <string name="screen_timeout_summary" msgid="327761329263064327">"<xliff:g id="TIMEOUT_DESCRIPTION">%1$s</xliff:g> harakatsizlikdan keyin"</string>
@@ -1503,7 +1503,7 @@
     <string name="erase_esim_storage" msgid="5684858600215441932">"eSIM kartani tozalash"</string>
     <string name="erase_esim_storage_description" product="default" msgid="708691303677321598">"Telefondan barcha eSIM kartalarni tozalash. Bunda mobil xizmat tarif rejalari bekor qilinmaydi."</string>
     <string name="erase_esim_storage_description" product="tablet" msgid="1780953956941209107">"Planshetdan barcha eSIM kartalarni tozalash. Bunda mobil xizmat tarif rejalari bekor qilinmaydi."</string>
-    <string name="master_clear_button_text" product="tablet" msgid="3130786116528304116">"Planshetni dastlabki sozlamarga qaytarish"</string>
+    <string name="master_clear_button_text" product="tablet" msgid="3130786116528304116">"Planshet sozlamalarini asliga qaytarish"</string>
     <string name="master_clear_button_text" product="default" msgid="7550632653343157971">"Telefon sozlamalarini tiklash"</string>
     <string name="master_clear_final_desc" msgid="7318683914280403086">"Barcha shaxsiy ma’lumotlaringiz va yuklab olingan ilovalar o‘chirib tashlansinmi? Ularni keyin qayta tiklab bo‘lmaydi."</string>
     <string name="master_clear_final_button_text" msgid="5390908019019242910">"Barchasini o‘chirish"</string>
@@ -2957,7 +2957,7 @@
     <string name="app_and_notification_dashboard_summary" msgid="2363314178802548682">"Ruxsatlar, birlamchi ilovalar"</string>
     <string name="notification_settings_work_profile" msgid="3186757479243373003">"Ishchi profildagi ilovalarga bildirishnomalar ruxsati berilmagan."</string>
     <string name="account_dashboard_title" msgid="5895948991491438911">"Hisoblar"</string>
-    <string name="account_dashboard_default_summary" msgid="3998347400161811075">"Hech qanday hisob qo‘shilmagan"</string>
+    <string name="account_dashboard_default_summary" msgid="3998347400161811075">"Hech qanday hisobga kirilmagan"</string>
     <string name="app_default_dashboard_title" msgid="7342549305933047317">"Birlamchi ilovalar"</string>
     <string name="system_dashboard_summary" msgid="5797743225249766685">"Tillar, vaqt, zaxira, yangilanishlar"</string>
     <string name="search_results_title" msgid="1796252422574886932">"Sozlamalar"</string>
@@ -3648,8 +3648,8 @@
     <string name="running_frequency" msgid="6622624669948277693">"Yuz berish oralig‘i"</string>
     <string name="memory_maximum_usage" msgid="6513785462055278341">"Maksimal foydalanish"</string>
     <string name="no_data_usage" msgid="9131454024293628063">"Trafik sarflanmagan"</string>
-    <string name="zen_access_warning_dialog_title" msgid="1198189958031157142">"<xliff:g id="APP">%1$s</xliff:g> ilovasiga “Bezovta qilinmasin” rejimidan foydalanishga ruxsat berilsinmi?"</string>
-    <string name="zen_access_warning_dialog_summary" msgid="4015885767653010873">"Bu ilova “Bezovta qilinmasin” rejimini yoqishi/o‘chirishi hamda unga aloqador sozlamalarni o‘zgartirishi mumkin."</string>
+    <string name="zen_access_warning_dialog_title" msgid="1198189958031157142">"<xliff:g id="APP">%1$s</xliff:g> uchun Bezovta qilinmasin rejimiga ruxsat berilsinmi?"</string>
+    <string name="zen_access_warning_dialog_summary" msgid="4015885767653010873">"Bu ilova Bezovta qilinmasin rejimini yoqishi/o‘chirishi hamda unga aloqador sozlamalarni o‘zgartirish imkoniga ega bo‘ladi."</string>
     <string name="zen_access_disabled_package_warning" msgid="302820100078584431">"Yoniq turishi shart, sababi bildirishnomalardan foydalanishga ruxsat berilgan"</string>
     <string name="zen_access_revoke_warning_dialog_title" msgid="558779234015793950">"<xliff:g id="APP">%1$s</xliff:g> ilovasi uchun “Bezovta qilinmasin” rejimiga ruxsati bekor qilinsinmi?"</string>
     <string name="zen_access_revoke_warning_dialog_summary" msgid="5518216907304930148">"Ushbu ilova tomonidan yaratilgan barcha “Bezovta qilinmasin” rejimi qoidalari o‘chirib tashlanadi."</string>
@@ -4166,4 +4166,24 @@
     <string name="high_frequency_display_device_summary" msgid="1476189143535389304">"Virtual yuqori chastota panelini yoqish"</string>
     <string name="homepage_all_settings" msgid="1245540304900512919">"Barcha sozlamalar"</string>
     <string name="homepage_personal_settings" msgid="3998213046366125494">"Sozlamalaringiz"</string>
+    <!-- no translation found for cbrs_data_switch (2438108549734702331) -->
+    <skip />
+    <!-- no translation found for cbrs_data_switch_summary (1359701543634843588) -->
+    <skip />
+    <!-- no translation found for choose_network_title (5702586742615861037) -->
+    <skip />
+    <!-- no translation found for network_disconnected (2933191767567503504) -->
+    <skip />
+    <!-- no translation found for network_connected (4943925032253989621) -->
+    <skip />
+    <!-- no translation found for network_connecting (76404590784733557) -->
+    <skip />
+    <!-- no translation found for network_could_not_connect (1113813392274155369) -->
+    <skip />
+    <!-- no translation found for empty_networks_list (2578752112731781190) -->
+    <skip />
+    <!-- no translation found for network_query_error (7487714485362598410) -->
+    <skip />
+    <!-- no translation found for forbidden_network (4626592887509826545) -->
+    <skip />
 </resources>
diff --git a/res/values-vi/strings.xml b/res/values-vi/strings.xml
index 68e174f..9b372e2 100644
--- a/res/values-vi/strings.xml
+++ b/res/values-vi/strings.xml
@@ -4150,4 +4150,24 @@
     <string name="high_frequency_display_device_summary" msgid="1476189143535389304">"Bật Bảng ảo tần suất làm mới cao"</string>
     <string name="homepage_all_settings" msgid="1245540304900512919">"Tất cả tùy chọn cài đặt"</string>
     <string name="homepage_personal_settings" msgid="3998213046366125494">"Tùy chọn cài đặt của bạn"</string>
+    <!-- no translation found for cbrs_data_switch (2438108549734702331) -->
+    <skip />
+    <!-- no translation found for cbrs_data_switch_summary (1359701543634843588) -->
+    <skip />
+    <!-- no translation found for choose_network_title (5702586742615861037) -->
+    <skip />
+    <!-- no translation found for network_disconnected (2933191767567503504) -->
+    <skip />
+    <!-- no translation found for network_connected (4943925032253989621) -->
+    <skip />
+    <!-- no translation found for network_connecting (76404590784733557) -->
+    <skip />
+    <!-- no translation found for network_could_not_connect (1113813392274155369) -->
+    <skip />
+    <!-- no translation found for empty_networks_list (2578752112731781190) -->
+    <skip />
+    <!-- no translation found for network_query_error (7487714485362598410) -->
+    <skip />
+    <!-- no translation found for forbidden_network (4626592887509826545) -->
+    <skip />
 </resources>
diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml
index 3d04351..0a5d339 100644
--- a/res/values-zh-rCN/strings.xml
+++ b/res/values-zh-rCN/strings.xml
@@ -4150,4 +4150,24 @@
     <string name="high_frequency_display_device_summary" msgid="1476189143535389304">"启用虚拟高频面板"</string>
     <string name="homepage_all_settings" msgid="1245540304900512919">"所有设置"</string>
     <string name="homepage_personal_settings" msgid="3998213046366125494">"您的设置"</string>
+    <!-- no translation found for cbrs_data_switch (2438108549734702331) -->
+    <skip />
+    <!-- no translation found for cbrs_data_switch_summary (1359701543634843588) -->
+    <skip />
+    <!-- no translation found for choose_network_title (5702586742615861037) -->
+    <skip />
+    <!-- no translation found for network_disconnected (2933191767567503504) -->
+    <skip />
+    <!-- no translation found for network_connected (4943925032253989621) -->
+    <skip />
+    <!-- no translation found for network_connecting (76404590784733557) -->
+    <skip />
+    <!-- no translation found for network_could_not_connect (1113813392274155369) -->
+    <skip />
+    <!-- no translation found for empty_networks_list (2578752112731781190) -->
+    <skip />
+    <!-- no translation found for network_query_error (7487714485362598410) -->
+    <skip />
+    <!-- no translation found for forbidden_network (4626592887509826545) -->
+    <skip />
 </resources>
diff --git a/res/values-zh-rHK/strings.xml b/res/values-zh-rHK/strings.xml
index 5ef1bc2..77756c1 100644
--- a/res/values-zh-rHK/strings.xml
+++ b/res/values-zh-rHK/strings.xml
@@ -3633,7 +3633,7 @@
     <string name="running_frequency" msgid="6622624669948277693">"頻率"</string>
     <string name="memory_maximum_usage" msgid="6513785462055278341">"最高用量"</string>
     <string name="no_data_usage" msgid="9131454024293628063">"並未使用數據"</string>
-    <string name="zen_access_warning_dialog_title" msgid="1198189958031157142">"允許「<xliff:g id="APP">%1$s</xliff:g>」存取「請勿騷擾」？"</string>
+    <string name="zen_access_warning_dialog_title" msgid="1198189958031157142">"允許「<xliff:g id="APP">%1$s</xliff:g>」存取「請勿騷擾」嗎？"</string>
     <string name="zen_access_warning_dialog_summary" msgid="4015885767653010873">"應用程式能開啟或關閉「請勿騷擾」，並變更有關設定。"</string>
     <string name="zen_access_disabled_package_warning" msgid="302820100078584431">"請啟用功能，通知存取權已開放"</string>
     <string name="zen_access_revoke_warning_dialog_title" msgid="558779234015793950">"要撤銷「<xliff:g id="APP">%1$s</xliff:g>」存取「請勿騷擾」的權限嗎？"</string>
@@ -4151,4 +4151,24 @@
     <string name="high_frequency_display_device_summary" msgid="1476189143535389304">"啟用虛擬高頻率面板"</string>
     <string name="homepage_all_settings" msgid="1245540304900512919">"所有設定"</string>
     <string name="homepage_personal_settings" msgid="3998213046366125494">"您的設定"</string>
+    <!-- no translation found for cbrs_data_switch (2438108549734702331) -->
+    <skip />
+    <!-- no translation found for cbrs_data_switch_summary (1359701543634843588) -->
+    <skip />
+    <!-- no translation found for choose_network_title (5702586742615861037) -->
+    <skip />
+    <!-- no translation found for network_disconnected (2933191767567503504) -->
+    <skip />
+    <!-- no translation found for network_connected (4943925032253989621) -->
+    <skip />
+    <!-- no translation found for network_connecting (76404590784733557) -->
+    <skip />
+    <!-- no translation found for network_could_not_connect (1113813392274155369) -->
+    <skip />
+    <!-- no translation found for empty_networks_list (2578752112731781190) -->
+    <skip />
+    <!-- no translation found for network_query_error (7487714485362598410) -->
+    <skip />
+    <!-- no translation found for forbidden_network (4626592887509826545) -->
+    <skip />
 </resources>
diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml
index c634321..7e51076 100644
--- a/res/values-zh-rTW/strings.xml
+++ b/res/values-zh-rTW/strings.xml
@@ -4150,4 +4150,24 @@
     <string name="high_frequency_display_device_summary" msgid="1476189143535389304">"啟用虛擬高頻率面板"</string>
     <string name="homepage_all_settings" msgid="1245540304900512919">"所有設定"</string>
     <string name="homepage_personal_settings" msgid="3998213046366125494">"你的設定"</string>
+    <!-- no translation found for cbrs_data_switch (2438108549734702331) -->
+    <skip />
+    <!-- no translation found for cbrs_data_switch_summary (1359701543634843588) -->
+    <skip />
+    <!-- no translation found for choose_network_title (5702586742615861037) -->
+    <skip />
+    <!-- no translation found for network_disconnected (2933191767567503504) -->
+    <skip />
+    <!-- no translation found for network_connected (4943925032253989621) -->
+    <skip />
+    <!-- no translation found for network_connecting (76404590784733557) -->
+    <skip />
+    <!-- no translation found for network_could_not_connect (1113813392274155369) -->
+    <skip />
+    <!-- no translation found for empty_networks_list (2578752112731781190) -->
+    <skip />
+    <!-- no translation found for network_query_error (7487714485362598410) -->
+    <skip />
+    <!-- no translation found for forbidden_network (4626592887509826545) -->
+    <skip />
 </resources>
diff --git a/res/values-zu/strings.xml b/res/values-zu/strings.xml
index 4901d36..1431b95 100644
--- a/res/values-zu/strings.xml
+++ b/res/values-zu/strings.xml
@@ -4151,4 +4151,24 @@
     <string name="high_frequency_display_device_summary" msgid="1476189143535389304">"Nika amandla iphaneli ebonakalayo yemvamisa ephezulu"</string>
     <string name="homepage_all_settings" msgid="1245540304900512919">"Zonke izilungiselelo"</string>
     <string name="homepage_personal_settings" msgid="3998213046366125494">"Izilungiselelo zakho"</string>
+    <!-- no translation found for cbrs_data_switch (2438108549734702331) -->
+    <skip />
+    <!-- no translation found for cbrs_data_switch_summary (1359701543634843588) -->
+    <skip />
+    <!-- no translation found for choose_network_title (5702586742615861037) -->
+    <skip />
+    <!-- no translation found for network_disconnected (2933191767567503504) -->
+    <skip />
+    <!-- no translation found for network_connected (4943925032253989621) -->
+    <skip />
+    <!-- no translation found for network_connecting (76404590784733557) -->
+    <skip />
+    <!-- no translation found for network_could_not_connect (1113813392274155369) -->
+    <skip />
+    <!-- no translation found for empty_networks_list (2578752112731781190) -->
+    <skip />
+    <!-- no translation found for network_query_error (7487714485362598410) -->
+    <skip />
+    <!-- no translation found for forbidden_network (4626592887509826545) -->
+    <skip />
 </resources>
diff --git a/res/values/aliases.xml b/res/values/aliases.xml
index 1be4350..060ba1d 100644
--- a/res/values/aliases.xml
+++ b/res/values/aliases.xml
@@ -23,6 +23,5 @@
      <item name="fingerprint_enroll_enrolling" type="layout">@layout/fingerprint_enroll_enrolling_base</item>
      <item name="fingerprint_enroll_finish" type="layout">@layout/fingerprint_enroll_finish_base</item>
      <item name="choose_lock_pattern" type="layout">@layout/choose_lock_pattern_common</item>
-     <item name="ic_search_floating_24dp" type="drawable">@drawable/ic_search_24dp</item>
 </resources>
 
diff --git a/res/values/dimens.xml b/res/values/dimens.xml
index 37b3c4b..4d16851 100755
--- a/res/values/dimens.xml
+++ b/res/values/dimens.xml
@@ -22,7 +22,6 @@
     <dimen name="action_bar_switch_padding">16dip</dimen>
 
     <dimen name="app_icon_size">40dip</dimen>
-    <dimen name="secondary_app_icon_size">32dp</dimen>
     <dimen name="min_tap_target_size">48dp</dimen>
     <dimen name="screen_margin_sides">64dip</dimen>
     <dimen name="screen_margin_top">72dip</dimen>
@@ -351,4 +350,7 @@
     <dimen name="homepage_card_padding_top">6dp</dimen>
     <dimen name="homepage_card_padding_bottom">6dp</dimen>
 
+    <!-- Signal icon in NetworkSelectSetting -->
+    <dimen name="signal_strength_icon_size">24dp</dimen>
+
 </resources>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 0c3caf6..d612e81 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -8301,7 +8301,7 @@
     <!-- Label for showing apps with blocked notifications in list [CHAR LIMIT=30] -->
     <string name="filter_notif_all_apps">Apps: All</string>
     <!-- Label for showing apps with blocked notifications in list [CHAR LIMIT=30] -->
-    <string name="filter_notif_blocked_apps">Apps: Turned off</string>
+    <string name="filter_notif_blocked_apps">Turned off</string>
     <!-- Label for showing categories with urgent notifications in list [CHAR LIMIT=30] -->
     <string name="filter_notif_urgent_channels">Categories: Urgent importance</string>
     <!-- Label for showing categories with low importance notifications in list [CHAR LIMIT=30] -->
@@ -10074,4 +10074,20 @@
     <!-- Title of implications of enabling CBRS Data -->
     <string name="cbrs_data_switch_summary">CBRS Data</string>
 
+    <!-- Available networks screen, name of button when user wants to select network manually [CHAR LIMIT=60] -->
+    <string name="choose_network_title">Choose network</string>
+    <!-- Available networks screen, text when no networks connected [CHAR LIMIT=60] -->
+    <string name="network_disconnected">Disconnected</string>
+    <!-- Available networks screen, text when network connected [CHAR LIMIT=60] -->
+    <string name="network_connected">Connected</string>
+    <!-- Available networks screen, text when a network is connecting [CHAR LIMIT=60] -->
+    <string name="network_connecting">Connecting\u2026</string>
+    <!-- Available networks screen, text when a network cannot be connected [CHAR LIMIT=60] -->
+    <string name="network_could_not_connect">Couldn\u2019t connect</string>
+    <!-- Available networks screen, text when no networks are found [CHAR LIMIT=NONE] -->
+    <string name="empty_networks_list">No networks found.</string>
+    <!-- Available networks screen, toast when an error is encountered when searching for networks [CHAR LIMIT=NONE] -->
+    <string name="network_query_error">Couldn\u2019t find networks. Try again.</string>
+    <!-- Text to show this network is forbidden [CHAR LIMIT=NONE] -->
+    <string name="forbidden_network">(forbidden)</string>
 </resources>
diff --git a/res/xml/app_default_settings.xml b/res/xml/app_default_settings.xml
index 5467667..a993aa1 100644
--- a/res/xml/app_default_settings.xml
+++ b/res/xml/app_default_settings.xml
@@ -21,59 +21,59 @@
     android:key="app_default_settings_screen"
     android:title="@string/app_default_dashboard_title">
 
-    <com.android.settings.widget.AppPreference
+    <com.android.settingslib.widget.apppreference.AppPreference
         android:key="assist_and_voice_input"
         android:title="@string/assist_and_voice_input_title"
         android:fragment="com.android.settings.applications.assist.ManageAssist"
         settings:searchable="false"/>
 
-    <com.android.settings.widget.AppPreference
+    <com.android.settingslib.widget.apppreference.AppPreference
         android:key="default_browser"
         android:title="@string/default_browser_title"
         android:fragment="com.android.settings.applications.defaultapps.DefaultBrowserPicker"
         settings:keywords="@string/keywords_default_browser">
         <extra android:name="for_work" android:value="false" />
-    </com.android.settings.widget.AppPreference>
+    </com.android.settingslib.widget.apppreference.AppPreference>
 
-    <com.android.settings.widget.GearPreference
+    <com.android.settingslib.widget.apppreference.AppPreference
         android:key="default_home"
         android:title="@string/home_app"
         android:fragment="com.android.settings.applications.defaultapps.DefaultHomePicker"
         settings:keywords="@string/keywords_home" />
 
-    <com.android.settings.widget.AppPreference
+    <com.android.settingslib.widget.apppreference.AppPreference
         android:key="default_phone_app"
         android:title="@string/default_phone_title"
         android:fragment="com.android.settings.applications.defaultapps.DefaultPhonePicker"
         settings:keywords="@string/keywords_default_phone_app" />
 
-    <com.android.settings.widget.AppPreference
+    <com.android.settingslib.widget.apppreference.AppPreference
         android:key="default_sms_app"
         android:title="@string/sms_application_title"
         android:fragment="com.android.settings.applications.defaultapps.DefaultSmsPicker"
         settings:keywords="@string/keywords_more_default_sms_app" />
 
-    <com.android.settings.widget.AppPreference
+    <com.android.settingslib.widget.apppreference.AppPreference
         android:key="default_payment_app"
         android:title="@string/nfc_payment_settings_title"
         android:summary="@string/summary_placeholder"
         android:fragment="com.android.settings.nfc.PaymentSettings"
         settings:keywords="@string/keywords_default_payment_app"/>
 
-    <com.android.settings.widget.AppPreference
+    <com.android.settingslib.widget.apppreference.AppPreference
         android:key="default_emergency_app"
         android:title="@string/default_emergency_app"
         settings:keywords="@string/keywords_emergency_app" />
 
     <!--
-    <com.android.settings.widget.AppPreference
+    <com.android.settingslib.widget.apppreference.AppPreference
         android:key="default_notification_asst_app"
         android:title="@string/default_notification_assistant"
         android:fragment="com.android.settings.applications.defaultapps.DefaultNotificationAssistantPicker"
         />
      -->
 
-    <com.android.settings.widget.AppPreference
+    <com.android.settingslib.widget.apppreference.AppPreference
         android:key="domain_urls"
         android:title="@string/domain_urls_title"
         android:fragment="com.android.settings.applications.managedomainurls.ManageDomainUrls"
@@ -83,21 +83,21 @@
         android:key="work_app_defaults"
         android:title="@string/default_for_work">
 
-        <com.android.settings.widget.AppPreference
+        <com.android.settingslib.widget.apppreference.AppPreference
             android:key="work_default_browser"
             android:title="@string/default_browser_title"
             android:fragment="com.android.settings.applications.defaultapps.DefaultBrowserPicker"
             settings:searchable="false">
             <extra android:name="for_work" android:value="true" />
-        </com.android.settings.widget.AppPreference>
+        </com.android.settingslib.widget.apppreference.AppPreference>
 
-        <com.android.settings.widget.AppPreference
+        <com.android.settingslib.widget.apppreference.AppPreference
             android:key="work_default_phone_app"
             android:title="@string/default_phone_title"
             android:fragment="com.android.settings.applications.defaultapps.DefaultPhonePicker"
             settings:searchable="false">
             <extra android:name="for_work" android:value="true" />
-        </com.android.settings.widget.AppPreference>
+        </com.android.settingslib.widget.apppreference.AppPreference>
 
     </com.android.settings.widget.WorkOnlyCategory>
 
diff --git a/res/xml/choose_network.xml b/res/xml/choose_network.xml
new file mode 100644
index 0000000..97ea9be
--- /dev/null
+++ b/res/xml/choose_network.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2018 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:key="mobile_choose_network_pref_screen"
+    android:title="@string/choose_network_title">
+
+    <PreferenceCategory
+        android:key="connected_network_operator_preference"/>
+
+    <PreferenceCategory
+        android:key="network_operators_preference"/>
+
+</PreferenceScreen>
\ No newline at end of file
diff --git a/src/com/android/settings/Settings.java b/src/com/android/settings/Settings.java
index 94de8da..952c519 100644
--- a/src/com/android/settings/Settings.java
+++ b/src/com/android/settings/Settings.java
@@ -68,6 +68,7 @@
     public static class AccessibilityDaltonizerSettingsActivity extends SettingsActivity { /* empty */ }
     public static class SecurityDashboardActivity extends SettingsActivity { /* empty */ }
     public static class UsageAccessSettingsActivity extends SettingsActivity { /* empty */ }
+    public static class AppUsageAccessSettingsActivity extends SettingsActivity { /* empty */ }
     public static class LocationSettingsActivity extends SettingsActivity { /* empty */ }
     public static class ScanningSettingsActivity extends SettingsActivity { /* empty */ }
     public static class PrivacySettingsActivity extends SettingsActivity { /* empty */ }
diff --git a/src/com/android/settings/accounts/AccountDetailDashboardFragment.java b/src/com/android/settings/accounts/AccountDetailDashboardFragment.java
index f98aee1..18e9906 100644
--- a/src/com/android/settings/accounts/AccountDetailDashboardFragment.java
+++ b/src/com/android/settings/accounts/AccountDetailDashboardFragment.java
@@ -16,6 +16,7 @@
 package com.android.settings.accounts;
 
 import android.accounts.Account;
+import android.accounts.AccountManager;
 import android.app.Activity;
 import android.content.Context;
 import android.os.Bundle;
@@ -89,6 +90,28 @@
         updateUi();
     }
 
+    @VisibleForTesting
+    void finishIfAccountMissing() {
+        AccountManager accountManager = (AccountManager) getContext().getSystemService(
+                Context.ACCOUNT_SERVICE);
+        boolean accountExists = false;
+        for (Account account : accountManager.getAccountsByType(mAccount.type)) {
+            if (account.equals(mAccount)) {
+                accountExists = true;
+                break;
+            }
+        }
+        if (!accountExists) {
+            finish();
+        }
+    }
+
+    @Override
+    public void onResume() {
+        super.onResume();
+        finishIfAccountMissing();
+    }
+
     @Override
     public int getMetricsCategory() {
         return MetricsEvent.ACCOUNT;
diff --git a/src/com/android/settings/accounts/AccountTypePreference.java b/src/com/android/settings/accounts/AccountTypePreference.java
index 54866ee..c82a599 100644
--- a/src/com/android/settings/accounts/AccountTypePreference.java
+++ b/src/com/android/settings/accounts/AccountTypePreference.java
@@ -30,7 +30,7 @@
 
 import com.android.settings.Utils;
 import com.android.settings.core.SubSettingLauncher;
-import com.android.settings.widget.AppPreference;
+import com.android.settingslib.widget.apppreference.AppPreference;
 
 public class AccountTypePreference extends AppPreference implements OnPreferenceClickListener {
     /**
diff --git a/src/com/android/settings/accounts/RemoveAccountPreferenceController.java b/src/com/android/settings/accounts/RemoveAccountPreferenceController.java
index 2494664..9770332 100644
--- a/src/com/android/settings/accounts/RemoveAccountPreferenceController.java
+++ b/src/com/android/settings/accounts/RemoveAccountPreferenceController.java
@@ -157,10 +157,6 @@
                     new AccountManagerCallback<Bundle>() {
                         @Override
                         public void run(AccountManagerFuture<Bundle> future) {
-                            // If already out of this screen, don't proceed.
-                            if (!getTargetFragment().isResumed()) {
-                                return;
-                            }
                             boolean failed = true;
                             try {
                                 if (future.getResult()
diff --git a/src/com/android/settings/applications/AppInfoBase.java b/src/com/android/settings/applications/AppInfoBase.java
index fd870d6..7fb5787f 100644
--- a/src/com/android/settings/applications/AppInfoBase.java
+++ b/src/com/android/settings/applications/AppInfoBase.java
@@ -60,8 +60,7 @@
     public static final String ARG_PACKAGE_NAME = "package";
     public static final String ARG_PACKAGE_UID = "uid";
 
-    protected static final String TAG = AppInfoBase.class.getSimpleName();
-    protected static final boolean localLOGV = false;
+    private static final String TAG = "AppInfoBase";
 
     protected EnforcedAdmin mAppsControlDisallowedAdmin;
     protected boolean mAppsControlDisallowedBySystem;
@@ -113,7 +112,7 @@
                 getActivity(), UserManager.DISALLOW_APPS_CONTROL, mUserId);
 
         if (!refreshUi()) {
-            setIntentAndFinish(true, true);
+            setIntentAndFinish(true /* appChanged */);
         }
     }
 
@@ -159,8 +158,8 @@
         return mPackageName;
     }
 
-    protected void setIntentAndFinish(boolean finish, boolean appChanged) {
-        if (localLOGV) Log.i(TAG, "appChanged=" + appChanged);
+    protected void setIntentAndFinish(boolean appChanged) {
+        Log.i(TAG, "appChanged=" + appChanged);
         Intent intent = new Intent();
         intent.putExtra(ManageApplications.APP_CHG, appChanged);
         SettingsActivity sa = (SettingsActivity) getActivity();
@@ -216,7 +215,7 @@
     @Override
     public void onPackageListChanged() {
         if (!refreshUi()) {
-            setIntentAndFinish(true, true);
+            setIntentAndFinish(true /* appChanged */);
         }
     }
 
diff --git a/src/com/android/settings/applications/AppInfoWithHeader.java b/src/com/android/settings/applications/AppInfoWithHeader.java
index 863cfd3..9e3842e 100644
--- a/src/com/android/settings/applications/AppInfoWithHeader.java
+++ b/src/com/android/settings/applications/AppInfoWithHeader.java
@@ -30,6 +30,8 @@
 
 public abstract class AppInfoWithHeader extends AppInfoBase {
 
+    private static final String TAG = "AppInfoWithHeader";
+
     private boolean mCreated;
 
     @Override
diff --git a/src/com/android/settings/applications/AppStateNotificationBridge.java b/src/com/android/settings/applications/AppStateNotificationBridge.java
index d06aeb1..fc9e14f 100644
--- a/src/com/android/settings/applications/AppStateNotificationBridge.java
+++ b/src/com/android/settings/applications/AppStateNotificationBridge.java
@@ -100,18 +100,20 @@
     }
 
     public static CharSequence getSummary(Context context, NotificationsSentState state,
-            boolean sortByRecency) {
-        if (sortByRecency) {
+            int sortOrder) {
+        if (sortOrder == R.id.sort_order_recent_notification) {
             if (state.lastSent == 0) {
                 return context.getString(R.string.notifications_sent_never);
             }
             return StringUtil.formatRelativeTime(
                     context, System.currentTimeMillis() - state.lastSent, true);
-        } else {
+        } else if (sortOrder == R.id.sort_order_frequent_notification) {
             if (state.avgSentWeekly > 0) {
                 return context.getString(R.string.notifications_sent_weekly, state.avgSentWeekly);
             }
             return context.getString(R.string.notifications_sent_daily, state.avgSentDaily);
+        } else {
+            return "";
         }
     }
 
@@ -267,6 +269,21 @@
         }
     };
 
+    public static final AppFilter FILTER_APP_NOTIFICATION_BLOCKED = new AppFilter() {
+        @Override
+        public void init() {
+        }
+
+        @Override
+        public boolean filterApp(AppEntry info) {
+            NotificationsSentState state = getNotificationsSentState(info);
+            if (state != null) {
+                return state.blocked;
+            }
+            return false;
+        }
+    };
+
     public static final Comparator<AppEntry> RECENT_NOTIFICATION_COMPARATOR
             = new Comparator<AppEntry>() {
         @Override
diff --git a/src/com/android/settings/applications/AppStorageSettings.java b/src/com/android/settings/applications/AppStorageSettings.java
index eaae948..e24a210 100644
--- a/src/com/android/settings/applications/AppStorageSettings.java
+++ b/src/com/android/settings/applications/AppStorageSettings.java
@@ -510,7 +510,7 @@
                             public void onClick(DialogInterface dialog, int which) {
                                 mButtonsPref.setButton1Enabled(false);
                                 //force to recompute changed value
-                                setIntentAndFinish(false, false);
+                                setIntentAndFinish(false  /* appChanged */);
                             }
                         })
                         .create();
diff --git a/src/com/android/settings/applications/ProcessStatsPreference.java b/src/com/android/settings/applications/ProcessStatsPreference.java
index 6452198..4249381 100644
--- a/src/com/android/settings/applications/ProcessStatsPreference.java
+++ b/src/com/android/settings/applications/ProcessStatsPreference.java
@@ -22,7 +22,7 @@
 import android.text.format.Formatter;
 import android.util.Log;
 
-import com.android.settings.widget.AppPreference;
+import com.android.settingslib.widget.apppreference.AppPreference;
 
 public class ProcessStatsPreference extends AppPreference {
     static final String TAG = "ProcessStatsPreference";
diff --git a/src/com/android/settings/applications/RecentAppsPreferenceController.java b/src/com/android/settings/applications/RecentAppsPreferenceController.java
index b3c8bc4..b6e8f4c 100644
--- a/src/com/android/settings/applications/RecentAppsPreferenceController.java
+++ b/src/com/android/settings/applications/RecentAppsPreferenceController.java
@@ -25,6 +25,7 @@
 import android.content.Context;
 import android.content.Intent;
 import android.content.pm.PackageManager;
+import android.os.PowerManager;
 import android.os.UserHandle;
 import android.text.TextUtils;
 import android.util.ArrayMap;
@@ -41,11 +42,11 @@
 import com.android.settings.R;
 import com.android.settings.applications.appinfo.AppInfoDashboardFragment;
 import com.android.settings.core.PreferenceControllerMixin;
-import com.android.settings.widget.AppPreference;
 import com.android.settingslib.applications.AppUtils;
 import com.android.settingslib.applications.ApplicationsState;
 import com.android.settingslib.core.AbstractPreferenceController;
 import com.android.settingslib.utils.StringUtil;
+import com.android.settingslib.widget.apppreference.AppPreference;
 
 import java.util.ArrayList;
 import java.util.Arrays;
@@ -78,6 +79,7 @@
     private final ApplicationsState mApplicationsState;
     private final int mUserId;
     private final IconDrawableFactory mIconDrawableFactory;
+    private final PowerManager mPowerManager;
 
     private Calendar mCal;
     private List<UsageStats> mStats;
@@ -108,6 +110,8 @@
         mIconDrawableFactory = IconDrawableFactory.newInstance(context);
         mUserId = UserHandle.myUserId();
         mPm = context.getPackageManager();
+        mPowerManager = context.getSystemService(PowerManager.class);
+
         mHost = host;
         mUsageStatsManager =
                 (UsageStatsManager) context.getSystemService(Context.USAGE_STATS_SERVICE);
@@ -183,9 +187,11 @@
     void reloadData() {
         mCal = Calendar.getInstance();
         mCal.add(Calendar.DAY_OF_YEAR, -1);
-        mStats = mUsageStatsManager.queryUsageStats(
-                UsageStatsManager.INTERVAL_BEST, mCal.getTimeInMillis(),
-                System.currentTimeMillis());
+        mStats = mPowerManager.isPowerSaveMode()
+                ? new ArrayList<>()
+                : mUsageStatsManager.queryUsageStats(
+                        UsageStatsManager.INTERVAL_BEST, mCal.getTimeInMillis(),
+                        System.currentTimeMillis());
     }
 
     private void displayOnlyAppInfo() {
@@ -244,8 +250,8 @@
             pref.setOrder(i);
             pref.setOnPreferenceClickListener(preference -> {
                 AppInfoBase.startAppInfoFragment(AppInfoDashboardFragment.class,
-                    R.string.application_info_label, pkgName, appEntry.info.uid, mHost,
-                    1001 /*RequestCode*/, SETTINGS_APP_NOTIF_CATEGORY);
+                        R.string.application_info_label, pkgName, appEntry.info.uid, mHost,
+                        1001 /*RequestCode*/, SETTINGS_APP_NOTIF_CATEGORY);
                 return true;
             });
             if (!rebindPref) {
@@ -301,7 +307,8 @@
     private boolean shouldIncludePkgInRecents(UsageStats stat) {
         final String pkgName = stat.getPackageName();
         if (stat.getLastTimeUsed() < mCal.getTimeInMillis()) {
-            Log.d(TAG, "Invalid timestamp, skipping " + pkgName);
+            Log.d(TAG, "Invalid timestamp (usage time is more than 24 hours ago), skipping "
+                    + pkgName);
             return false;
         }
 
diff --git a/src/com/android/settings/applications/manageapplications/AppFilterRegistry.java b/src/com/android/settings/applications/manageapplications/AppFilterRegistry.java
index 2e4a640..7d1e159 100644
--- a/src/com/android/settings/applications/manageapplications/AppFilterRegistry.java
+++ b/src/com/android/settings/applications/manageapplications/AppFilterRegistry.java
@@ -49,6 +49,7 @@
             FILTER_APPS_WITH_OVERLAY,
             FILTER_APPS_WRITE_SETTINGS,
             FILTER_APPS_INSTALL_SOURCES,
+            FILTER_APPS_BLOCKED,
     })
     @interface FilterType {
     }
@@ -71,14 +72,15 @@
     public static final int FILTER_APPS_INSTALL_SOURCES = 13;
     public static final int FILTER_APP_HAS_DIRECTORY_ACCESS = 14;
     public static final int FILTER_APP_CAN_CHANGE_WIFI_STATE = 15;
-    // Next id: 16
+    public static final int FILTER_APPS_BLOCKED = 16;
+    // Next id: 17
 
     private static AppFilterRegistry sRegistry;
 
     private final AppFilterItem[] mFilters;
 
     private AppFilterRegistry() {
-        mFilters = new AppFilterItem[16];
+        mFilters = new AppFilterItem[17];
 
         // High power whitelist, on
         mFilters[FILTER_APPS_POWER_WHITELIST] = new AppFilterItem(
@@ -178,6 +180,12 @@
                 AppStateChangeWifiStateBridge.FILTER_CHANGE_WIFI_STATE,
                 FILTER_APP_CAN_CHANGE_WIFI_STATE,
                 R.string.filter_write_settings_apps);
+
+        // Blocked Notifications
+        mFilters[FILTER_APPS_BLOCKED] = new AppFilterItem(
+                AppStateNotificationBridge.FILTER_APP_NOTIFICATION_BLOCKED,
+                FILTER_APPS_BLOCKED,
+                R.string.filter_notif_blocked_apps);
     }
 
     public static AppFilterRegistry getInstance() {
diff --git a/src/com/android/settings/applications/manageapplications/ManageApplications.java b/src/com/android/settings/applications/manageapplications/ManageApplications.java
index 35c6d1c..1f577b4 100644
--- a/src/com/android/settings/applications/manageapplications/ManageApplications.java
+++ b/src/com/android/settings/applications/manageapplications/ManageApplications.java
@@ -21,6 +21,8 @@
 import static com.android.settings.applications.manageapplications.AppFilterRegistry
         .FILTER_APPS_ALL;
 import static com.android.settings.applications.manageapplications.AppFilterRegistry
+        .FILTER_APPS_BLOCKED;
+import static com.android.settings.applications.manageapplications.AppFilterRegistry
         .FILTER_APPS_DISABLED;
 import static com.android.settings.applications.manageapplications.AppFilterRegistry
         .FILTER_APPS_ENABLED;
@@ -409,6 +411,7 @@
         if (mListType == LIST_TYPE_NOTIFICATION) {
             mFilterAdapter.enableFilter(FILTER_APPS_RECENT);
             mFilterAdapter.enableFilter(FILTER_APPS_FREQUENT);
+            mFilterAdapter.enableFilter(FILTER_APPS_BLOCKED);
             mFilterAdapter.disableFilter(FILTER_APPS_ALL);
         }
         if (mListType == LIST_TYPE_HIGH_POWER) {
@@ -955,6 +958,8 @@
                 rebuild(R.id.sort_order_frequent_notification);
             } else if (FILTER_APPS_RECENT == appFilter.getFilterType()) {
                 rebuild(R.id.sort_order_recent_notification);
+            } else if (FILTER_APPS_BLOCKED == appFilter.getFilterType()) {
+                rebuild(R.id.sort_order_alpha);
             } else {
                 rebuild();
             }
@@ -1111,16 +1116,7 @@
 
         @VisibleForTesting
         static boolean shouldUseStableItemHeight(int listType) {
-            switch (listType) {
-                case LIST_TYPE_NOTIFICATION:
-                    // Most entries in notification type has no summary. Don't use stable height
-                    // so height is short for most entries.
-                    return false;
-                default:
-                    // Other types have non-empty summary, so keep the height as we expect summary
-                    // to fill in.
-                    return true;
-            }
+            return true;
         }
 
         private static boolean packageNameEquals(PackageItemInfo info1, PackageItemInfo info2) {
@@ -1338,8 +1334,7 @@
                     if (entry.extraInfo != null
                             && entry.extraInfo instanceof NotificationsSentState) {
                         holder.setSummary(AppStateNotificationBridge.getSummary(mContext,
-                                (NotificationsSentState) entry.extraInfo,
-                                (mLastSortMode == R.id.sort_order_recent_notification)));
+                                (NotificationsSentState) entry.extraInfo, mLastSortMode));
                     } else {
                         holder.setSummary(null);
                     }
@@ -1388,8 +1383,7 @@
                     if (entry.extraInfo != null
                             && entry.extraInfo instanceof NotificationsSentState) {
                         holder.setSummary(AppStateNotificationBridge.getSummary(mContext,
-                                (NotificationsSentState) entry.extraInfo,
-                                (mLastSortMode == R.id.sort_order_recent_notification)));
+                                (NotificationsSentState) entry.extraInfo, mLastSortMode));
                     } else {
                         holder.setSummary(null);
                     }
diff --git a/src/com/android/settings/applications/managedomainurls/DomainAppPreference.java b/src/com/android/settings/applications/managedomainurls/DomainAppPreference.java
index ef9d5d4..94d2818 100644
--- a/src/com/android/settings/applications/managedomainurls/DomainAppPreference.java
+++ b/src/com/android/settings/applications/managedomainurls/DomainAppPreference.java
@@ -27,8 +27,8 @@
 
 import com.android.settings.R;
 import com.android.settings.Utils;
-import com.android.settings.widget.AppPreference;
 import com.android.settingslib.applications.ApplicationsState.AppEntry;
+import com.android.settingslib.widget.apppreference.AppPreference;
 
 public class DomainAppPreference extends AppPreference {
 
diff --git a/src/com/android/settings/applications/specialaccess/pictureinpicture/PictureInPictureSettings.java b/src/com/android/settings/applications/specialaccess/pictureinpicture/PictureInPictureSettings.java
index d6734b7..d2cb2a7 100644
--- a/src/com/android/settings/applications/specialaccess/pictureinpicture/PictureInPictureSettings.java
+++ b/src/com/android/settings/applications/specialaccess/pictureinpicture/PictureInPictureSettings.java
@@ -42,9 +42,9 @@
 import com.android.settings.applications.AppInfoBase;
 import com.android.settings.search.BaseSearchIndexProvider;
 import com.android.settings.search.Indexable;
-import com.android.settings.widget.AppPreference;
 import com.android.settings.widget.EmptyTextSettings;
 import com.android.settingslib.search.SearchIndexable;
+import com.android.settingslib.widget.apppreference.AppPreference;
 
 import java.text.Collator;
 import java.util.ArrayList;
diff --git a/src/com/android/settings/bluetooth/BluetoothNameDialogFragment.java b/src/com/android/settings/bluetooth/BluetoothNameDialogFragment.java
index 260b4a8..74c39b6 100644
--- a/src/com/android/settings/bluetooth/BluetoothNameDialogFragment.java
+++ b/src/com/android/settings/bluetooth/BluetoothNameDialogFragment.java
@@ -34,6 +34,7 @@
 import android.widget.EditText;
 import android.widget.TextView;
 
+import androidx.annotation.VisibleForTesting;
 import androidx.appcompat.app.AlertDialog;
 
 import com.android.settings.R;
@@ -43,8 +44,14 @@
  * Dialog fragment for renaming a Bluetooth device.
  */
 abstract class BluetoothNameDialogFragment extends InstrumentedDialogFragment
-        implements TextWatcher {
-    private AlertDialog mAlertDialog;
+        implements TextWatcher, TextView.OnEditorActionListener {
+
+    // Key to save the edited name and edit status for restoring after rotation
+    private static final String KEY_NAME = "device_name";
+    private static final String KEY_NAME_EDITED = "device_name_edited";
+
+    @VisibleForTesting
+    AlertDialog mAlertDialog;
     private Button mOkButton;
 
     EditText mDeviceNameView;
@@ -55,10 +62,6 @@
     // This flag is set when the user edits the name (preserved on rotation)
     private boolean mDeviceNameEdited;
 
-    // Key to save the edited name and edit status for restoring after rotation
-    private static final String KEY_NAME = "device_name";
-    private static final String KEY_NAME_EDITED = "device_name_edited";
-
     /**
      * @return the title to use for the dialog.
      */
@@ -123,22 +126,24 @@
         }
         mDeviceNameView.addTextChangedListener(this);
         com.android.settings.Utils.setEditTextCursorPosition(mDeviceNameView);
-        mDeviceNameView.setOnEditorActionListener(new TextView.OnEditorActionListener() {
-            @Override
-            public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
-                if (actionId == EditorInfo.IME_ACTION_DONE) {
-                    setDeviceName(v.getText().toString());
-                    mAlertDialog.dismiss();
-                    return true;    // action handled
-                } else {
-                    return false;   // not handled
-                }
-            }
-        });
+        mDeviceNameView.setOnEditorActionListener(this);
         return view;
     }
 
     @Override
+    public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
+        if (actionId == EditorInfo.IME_ACTION_DONE) {
+            setDeviceName(v.getText().toString());
+            if (mAlertDialog != null && mAlertDialog.isShowing()) {
+                mAlertDialog.dismiss();
+            }
+            return true;    // action handled
+        } else {
+            return false;   // not handled
+        }
+    }
+
+    @Override
     public void onDestroy() {
         super.onDestroy();
         mAlertDialog = null;
diff --git a/src/com/android/settings/bluetooth/BluetoothPairingController.java b/src/com/android/settings/bluetooth/BluetoothPairingController.java
index c39f1d9..94bdfe8 100644
--- a/src/com/android/settings/bluetooth/BluetoothPairingController.java
+++ b/src/com/android/settings/bluetooth/BluetoothPairingController.java
@@ -54,8 +54,7 @@
 
     // Bluetooth dependencies for the connection we are trying to establish
     private LocalBluetoothManager mBluetoothManager;
-    @VisibleForTesting
-    BluetoothDevice mDevice;
+    private BluetoothDevice mDevice;
     @VisibleForTesting
     int mType;
     private String mUserInput;
@@ -189,16 +188,16 @@
      *
      */
      public void  setContactSharingState() {
-        if ((mDevice.getPhonebookAccessPermission() != BluetoothDevice.ACCESS_ALLOWED)
-                && (mDevice.getPhonebookAccessPermission() != BluetoothDevice.ACCESS_REJECTED)) {
-                 if (mDevice.getBluetoothClass().getDeviceClass()
-                        == BluetoothClass.Device.AUDIO_VIDEO_HANDSFREE) {
-                    onCheckedChanged(null, true);
-            } else {
-                onCheckedChanged(null, false);
-            }
-        }
-    }
+         final int permission = mDevice.getPhonebookAccessPermission();
+         if (permission == BluetoothDevice.ACCESS_ALLOWED
+                 || (permission == BluetoothDevice.ACCESS_UNKNOWN && mDevice.getBluetoothClass().
+                        getDeviceClass() == BluetoothClass.Device.AUDIO_VIDEO_HANDSFREE)) {
+             onCheckedChanged(null, true);
+         } else {
+             onCheckedChanged(null, false);
+         }
+
+     }
 
     /**
      * A method for querying if the provided editable is a valid passkey/pin format for this device.
diff --git a/src/com/android/settings/dashboard/suggestions/SuggestionFeatureProvider.java b/src/com/android/settings/dashboard/suggestions/SuggestionFeatureProvider.java
index 92744ae..0011177 100644
--- a/src/com/android/settings/dashboard/suggestions/SuggestionFeatureProvider.java
+++ b/src/com/android/settings/dashboard/suggestions/SuggestionFeatureProvider.java
@@ -23,11 +23,8 @@
 
 import androidx.annotation.NonNull;
 
-import com.android.settingslib.drawer.Tile;
 import com.android.settingslib.suggestions.SuggestionControllerMixinCompat;
 
-import java.util.List;
-
 /** Interface should be implemented if you have added new suggestions */
 public interface SuggestionFeatureProvider {
 
@@ -50,11 +47,6 @@
     SharedPreferences getSharedPrefs(Context context);
 
     /**
-     * Only keep top few suggestions from exclusive suggestions.
-     */
-    void filterExclusiveSuggestions(List<Tile> suggestions);
-
-    /**
      * Dismisses a suggestion.
      */
     void dismissSuggestion(Context context, SuggestionControllerMixinCompat suggestionMixin,
diff --git a/src/com/android/settings/dashboard/suggestions/SuggestionFeatureProviderImpl.java b/src/com/android/settings/dashboard/suggestions/SuggestionFeatureProviderImpl.java
index 4dd0a5c..39d0299 100644
--- a/src/com/android/settings/dashboard/suggestions/SuggestionFeatureProviderImpl.java
+++ b/src/com/android/settings/dashboard/suggestions/SuggestionFeatureProviderImpl.java
@@ -45,7 +45,6 @@
 public class SuggestionFeatureProviderImpl implements SuggestionFeatureProvider {
 
     private static final String TAG = "SuggestionFeature";
-    private static final int EXCLUSIVE_SUGGESTION_MAX_COUNT = 3;
 
     private static final String SHARED_PREF_FILENAME = "suggestions";
 
@@ -98,17 +97,6 @@
     }
 
     @Override
-    public void filterExclusiveSuggestions(List<Tile> suggestions) {
-        if (suggestions == null) {
-            return;
-        }
-        for (int i = suggestions.size() - 1; i >= EXCLUSIVE_SUGGESTION_MAX_COUNT; i--) {
-            Log.d(TAG, "Removing exclusive suggestion");
-            suggestions.remove(i);
-        }
-    }
-
-    @Override
     public void dismissSuggestion(Context context, SuggestionControllerMixinCompat mixin,
             Suggestion suggestion) {
         if (mixin == null || suggestion == null || context == null) {
diff --git a/src/com/android/settings/datausage/AppDataUsagePreference.java b/src/com/android/settings/datausage/AppDataUsagePreference.java
index 0eab5ab..f5a204a 100644
--- a/src/com/android/settings/datausage/AppDataUsagePreference.java
+++ b/src/com/android/settings/datausage/AppDataUsagePreference.java
@@ -20,11 +20,11 @@
 
 import androidx.preference.PreferenceViewHolder;
 
-import com.android.settings.widget.AppPreference;
 import com.android.settingslib.AppItem;
 import com.android.settingslib.net.UidDetail;
 import com.android.settingslib.net.UidDetailProvider;
 import com.android.settingslib.utils.ThreadUtils;
+import com.android.settingslib.widget.apppreference.AppPreference;
 
 public class AppDataUsagePreference extends AppPreference {
 
diff --git a/src/com/android/settings/enterprise/ApplicationListPreferenceController.java b/src/com/android/settings/enterprise/ApplicationListPreferenceController.java
index 3170dac..2719818 100644
--- a/src/com/android/settings/enterprise/ApplicationListPreferenceController.java
+++ b/src/com/android/settings/enterprise/ApplicationListPreferenceController.java
@@ -27,8 +27,8 @@
 import com.android.settings.applications.ApplicationFeatureProvider;
 import com.android.settings.applications.UserAppInfo;
 import com.android.settings.core.PreferenceControllerMixin;
-import com.android.settings.widget.AppPreference;
 import com.android.settingslib.core.AbstractPreferenceController;
+import com.android.settingslib.widget.apppreference.AppPreference;
 
 import java.util.List;
 
@@ -80,6 +80,7 @@
 
     /**
      * Simple interface for building application list within {
+     *
      * @link ApplicationListPreferenceController}
      */
     public interface ApplicationListBuilder {
diff --git a/src/com/android/settings/fuelgauge/PowerGaugePreference.java b/src/com/android/settings/fuelgauge/PowerGaugePreference.java
index 7c21774..8cac2b2 100644
--- a/src/com/android/settings/fuelgauge/PowerGaugePreference.java
+++ b/src/com/android/settings/fuelgauge/PowerGaugePreference.java
@@ -17,7 +17,6 @@
 package com.android.settings.fuelgauge;
 
 import android.content.Context;
-import android.graphics.drawable.ColorDrawable;
 import android.graphics.drawable.Drawable;
 import android.util.AttributeSet;
 import android.widget.TextView;
@@ -26,7 +25,7 @@
 
 import com.android.settings.R;
 import com.android.settings.Utils;
-import com.android.settings.widget.AppPreference;
+import com.android.settingslib.widget.apppreference.AppPreference;
 
 /**
  * Custom preference for displaying battery usage info as a bar and an icon on
diff --git a/src/com/android/settings/homepage/conditional/AirplaneModeConditionCard.java b/src/com/android/settings/homepage/conditional/AirplaneModeConditionCard.java
index f56fcc3..2fbe80a 100644
--- a/src/com/android/settings/homepage/conditional/AirplaneModeConditionCard.java
+++ b/src/com/android/settings/homepage/conditional/AirplaneModeConditionCard.java
@@ -47,7 +47,7 @@
 
     @Override
     public Drawable getIcon() {
-        return mAppContext.getDrawable(R.drawable.ic_airplane);
+        return mAppContext.getDrawable(R.drawable.ic_airplanemode_active);
     }
 
     @Override
diff --git a/src/com/android/settings/location/AppSettingsInjector.java b/src/com/android/settings/location/AppSettingsInjector.java
index b8111f2..8120821 100644
--- a/src/com/android/settings/location/AppSettingsInjector.java
+++ b/src/com/android/settings/location/AppSettingsInjector.java
@@ -21,10 +21,10 @@
 
 import androidx.preference.Preference;
 
-import com.android.settings.widget.AppPreference;
 import com.android.settings.widget.RestrictedAppPreference;
 import com.android.settingslib.location.InjectedSetting;
 import com.android.settingslib.location.SettingsInjector;
+import com.android.settingslib.widget.apppreference.AppPreference;
 
 /**
  * Adds the preferences specified by the {@link InjectedSetting} objects to a preference group.
diff --git a/src/com/android/settings/location/RecentLocationRequestPreferenceController.java b/src/com/android/settings/location/RecentLocationRequestPreferenceController.java
index 7660312..60374eb 100644
--- a/src/com/android/settings/location/RecentLocationRequestPreferenceController.java
+++ b/src/com/android/settings/location/RecentLocationRequestPreferenceController.java
@@ -26,9 +26,9 @@
 import com.android.settings.applications.appinfo.AppInfoDashboardFragment;
 import com.android.settings.core.SubSettingLauncher;
 import com.android.settings.dashboard.DashboardFragment;
-import com.android.settings.widget.AppPreference;
 import com.android.settingslib.core.lifecycle.Lifecycle;
 import com.android.settingslib.location.RecentLocationApps;
+import com.android.settingslib.widget.apppreference.AppPreference;
 
 import java.util.List;
 
@@ -43,7 +43,7 @@
     private PreferenceCategory mCategoryRecentLocationRequests;
     private Preference mSeeAllButton;
 
-    /** Used in this class and {@link RecentLocationRequestSeeAllPreferenceController}*/
+    /** Used in this class and {@link RecentLocationRequestSeeAllPreferenceController} */
     static class PackageEntryClickedListener implements Preference.OnPreferenceClickListener {
         private final DashboardFragment mFragment;
         private final String mPackage;
@@ -111,7 +111,7 @@
 
         if (recentLocationRequests.size() > 3) {
             // Display the top 3 preferences to container in original order.
-            for (int i = 0; i < 3; i ++) {
+            for (int i = 0; i < 3; i++) {
                 mCategoryRecentLocationRequests.addPreference(
                         createAppPreference(prefContext, recentLocationRequests.get(i)));
             }
diff --git a/src/com/android/settings/location/RecentLocationRequestSeeAllPreferenceController.java b/src/com/android/settings/location/RecentLocationRequestSeeAllPreferenceController.java
index 6a1ebd9..3fa0f00 100644
--- a/src/com/android/settings/location/RecentLocationRequestSeeAllPreferenceController.java
+++ b/src/com/android/settings/location/RecentLocationRequestSeeAllPreferenceController.java
@@ -23,9 +23,9 @@
 import androidx.preference.PreferenceCategory;
 import androidx.preference.PreferenceScreen;
 
-import com.android.settings.widget.AppPreference;
 import com.android.settingslib.core.lifecycle.Lifecycle;
 import com.android.settingslib.location.RecentLocationApps;
+import com.android.settingslib.widget.apppreference.AppPreference;
 
 import java.util.List;
 
diff --git a/src/com/android/settings/mobilenetwork/CellInfoUtil.java b/src/com/android/settings/mobilenetwork/CellInfoUtil.java
new file mode 100644
index 0000000..3d6cb28
--- /dev/null
+++ b/src/com/android/settings/mobilenetwork/CellInfoUtil.java
@@ -0,0 +1,135 @@
+/*
+ * Copyright (C) 2018 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.mobilenetwork;
+
+import android.telephony.CellIdentity;
+import android.telephony.CellIdentityCdma;
+import android.telephony.CellIdentityGsm;
+import android.telephony.CellIdentityLte;
+import android.telephony.CellIdentityWcdma;
+import android.telephony.CellInfo;
+import android.telephony.CellInfoCdma;
+import android.telephony.CellInfoGsm;
+import android.telephony.CellInfoLte;
+import android.telephony.CellInfoWcdma;
+import android.text.BidiFormatter;
+import android.text.TextDirectionHeuristics;
+import android.text.TextUtils;
+import android.util.Log;
+
+import com.android.internal.telephony.OperatorInfo;
+
+import java.util.List;
+
+/**
+ * Add static Utility functions to get information from the CellInfo object.
+ * TODO: Modify {@link CellInfo} for simplify those functions
+ */
+public final class CellInfoUtil {
+    private static final String TAG = "NetworkSelectSetting";
+
+    private CellInfoUtil() {
+    }
+
+    /**
+     * Wrap a CellIdentity into a CellInfo.
+     */
+    public static CellInfo wrapCellInfoWithCellIdentity(CellIdentity cellIdentity) {
+        if (cellIdentity instanceof CellIdentityLte) {
+            CellInfoLte cellInfo = new CellInfoLte();
+            cellInfo.setCellIdentity((CellIdentityLte) cellIdentity);
+            return cellInfo;
+        } else if (cellIdentity instanceof CellIdentityCdma) {
+            CellInfoCdma cellInfo = new CellInfoCdma();
+            cellInfo.setCellIdentity((CellIdentityCdma) cellIdentity);
+            return cellInfo;
+        }  else if (cellIdentity instanceof CellIdentityWcdma) {
+            CellInfoWcdma cellInfo = new CellInfoWcdma();
+            cellInfo.setCellIdentity((CellIdentityWcdma) cellIdentity);
+            return cellInfo;
+        } else if (cellIdentity instanceof CellIdentityGsm) {
+            CellInfoGsm cellInfo = new CellInfoGsm();
+            cellInfo.setCellIdentity((CellIdentityGsm) cellIdentity);
+            return cellInfo;
+        } else {
+            Log.e(TAG, "Invalid CellInfo type");
+            return null;
+        }
+    }
+
+    /**
+     * Returns the title of the network obtained in the manual search.
+     *
+     * @param cellInfo contains the information of the network.
+     * @return Long Name if not null/empty, otherwise Short Name if not null/empty,
+     * else MCCMNC string.
+     */
+    public static String getNetworkTitle(CellInfo cellInfo) {
+        OperatorInfo oi = getOperatorInfoFromCellInfo(cellInfo);
+
+        if (!TextUtils.isEmpty(oi.getOperatorAlphaLong())) {
+            return oi.getOperatorAlphaLong();
+        } else if (!TextUtils.isEmpty(oi.getOperatorAlphaShort())) {
+            return oi.getOperatorAlphaShort();
+        } else {
+            BidiFormatter bidiFormatter = BidiFormatter.getInstance();
+            return bidiFormatter.unicodeWrap(oi.getOperatorNumeric(), TextDirectionHeuristics.LTR);
+        }
+    }
+
+    /**
+     * Wrap a cell info into an operator info.
+     */
+    public static OperatorInfo getOperatorInfoFromCellInfo(CellInfo cellInfo) {
+        OperatorInfo oi;
+        if (cellInfo instanceof CellInfoLte) {
+            CellInfoLte lte = (CellInfoLte) cellInfo;
+            oi = new OperatorInfo(
+                    (String) lte.getCellIdentity().getOperatorAlphaLong(),
+                    (String) lte.getCellIdentity().getOperatorAlphaShort(),
+                    lte.getCellIdentity().getMobileNetworkOperator());
+        } else if (cellInfo instanceof CellInfoWcdma) {
+            CellInfoWcdma wcdma = (CellInfoWcdma) cellInfo;
+            oi = new OperatorInfo(
+                    (String) wcdma.getCellIdentity().getOperatorAlphaLong(),
+                    (String) wcdma.getCellIdentity().getOperatorAlphaShort(),
+                    wcdma.getCellIdentity().getMobileNetworkOperator());
+        } else if (cellInfo instanceof CellInfoGsm) {
+            CellInfoGsm gsm = (CellInfoGsm) cellInfo;
+            oi = new OperatorInfo(
+                    (String) gsm.getCellIdentity().getOperatorAlphaLong(),
+                    (String) gsm.getCellIdentity().getOperatorAlphaShort(),
+                    gsm.getCellIdentity().getMobileNetworkOperator());
+        } else if (cellInfo instanceof CellInfoCdma) {
+            CellInfoCdma cdma = (CellInfoCdma) cellInfo;
+            oi = new OperatorInfo(
+                    (String) cdma.getCellIdentity().getOperatorAlphaLong(),
+                    (String) cdma.getCellIdentity().getOperatorAlphaShort(),
+                    "" /* operator numeric */);
+        } else {
+            Log.e(TAG, "Invalid CellInfo type");
+            oi = new OperatorInfo("", "", "");
+        }
+        return oi;
+    }
+
+    /** Checks whether the network operator is forbidden. */
+    public static boolean isForbidden(CellInfo cellInfo, List<String> forbiddenPlmns) {
+        String plmn = CellInfoUtil.getOperatorInfoFromCellInfo(cellInfo).getOperatorNumeric();
+        return forbiddenPlmns != null && forbiddenPlmns.contains(plmn);
+    }
+}
diff --git a/src/com/android/settings/mobilenetwork/NetworkOperatorPreference.java b/src/com/android/settings/mobilenetwork/NetworkOperatorPreference.java
new file mode 100644
index 0000000..b11d52c
--- /dev/null
+++ b/src/com/android/settings/mobilenetwork/NetworkOperatorPreference.java
@@ -0,0 +1,135 @@
+/*
+ * Copyright (C) 2018 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.mobilenetwork;
+
+import android.content.Context;
+import android.graphics.Color;
+import android.graphics.drawable.ColorDrawable;
+import android.graphics.drawable.Drawable;
+import android.graphics.drawable.LayerDrawable;
+import android.telephony.CellInfo;
+import android.telephony.SignalStrength;
+import android.util.Log;
+import android.view.Gravity;
+
+import com.android.settings.R;
+import com.android.settingslib.graph.SignalDrawable;
+
+import java.util.List;
+
+import androidx.preference.Preference;
+
+/**
+ * A Preference represents a network operator in the NetworkSelectSetting fragment.
+ */
+public class NetworkOperatorPreference extends Preference {
+
+    private static final String TAG = "NetworkOperatorPref";
+    private static final boolean DBG = false;
+    // number of signal strength level
+    public static final int NUMBER_OF_LEVELS = SignalStrength.NUM_SIGNAL_STRENGTH_BINS;
+    private CellInfo mCellInfo;
+    private List<String> mForbiddenPlmns;
+    private int mLevel = -1;
+
+    // The following constants are used to draw signal icon.
+    private static final Drawable EMPTY_DRAWABLE = new ColorDrawable(Color.TRANSPARENT);
+    private static final int NO_CELL_DATA_CONNECTED_ICON = 0;
+
+    public NetworkOperatorPreference(
+            CellInfo cellinfo, Context context, List<String> forbiddenPlmns) {
+        super(context);
+        mCellInfo = cellinfo;
+        mForbiddenPlmns = forbiddenPlmns;
+        refresh();
+    }
+
+    public CellInfo getCellInfo() {
+        return mCellInfo;
+    }
+
+    /**
+     * Refresh the NetworkOperatorPreference by updating the title and the icon.
+     */
+    public void refresh() {
+        if (DBG) Log.d(TAG, "refresh the network: " + CellInfoUtil.getNetworkTitle(mCellInfo));
+        String networkTitle = CellInfoUtil.getNetworkTitle(mCellInfo);
+        if (CellInfoUtil.isForbidden(mCellInfo, mForbiddenPlmns)) {
+            networkTitle += " " + getContext().getResources().getString(R.string.forbidden_network);
+        }
+        setTitle(networkTitle);
+        int level = mCellInfo.getCellSignalStrength().getLevel();
+        if (DBG) Log.d(TAG, "refresh level: " + String.valueOf(level));
+        if (mLevel != level) {
+            mLevel = level;
+            updateIcon(mLevel);
+        }
+    }
+
+    /**
+     * Update the icon according to the input signal strength level.
+     */
+    public void setIcon(int level) {
+        updateIcon(level);
+    }
+
+    private static int getIconIdForCell(CellInfo ci) {
+        final int type = ci.getCellIdentity().getType();
+        switch (type) {
+            case CellInfo.TYPE_GSM: return R.drawable.signal_strength_g;
+            case CellInfo.TYPE_WCDMA: // fall through
+            case CellInfo.TYPE_TDSCDMA: return R.drawable.signal_strength_3g;
+            case CellInfo.TYPE_LTE: return R.drawable.signal_strength_lte;
+            case CellInfo.TYPE_CDMA: return R.drawable.signal_strength_1x;
+            default: return 0;
+        }
+    }
+
+    private void updateIcon(int level) {
+        if (level < 0 || level >= NUMBER_OF_LEVELS) return;
+        Context context = getContext();
+        // Make the signal strength drawable
+        int iconId = 0;
+        if (DBG) Log.d(TAG, "updateIcon level: " + String.valueOf(level));
+        iconId = SignalDrawable.getState(level, NUMBER_OF_LEVELS, false /* cutOut */);
+
+        SignalDrawable signalDrawable = new SignalDrawable(getContext());
+        signalDrawable.setLevel(iconId);
+        signalDrawable.setDarkIntensity(0);
+
+        // Make the network type drawable
+        int iconType = getIconIdForCell(mCellInfo);
+        Drawable networkDrawable =
+                iconType == NO_CELL_DATA_CONNECTED_ICON
+                        ? EMPTY_DRAWABLE
+                        : getContext()
+                        .getResources().getDrawable(iconType, getContext().getTheme());
+
+        // Overlay the two drawables
+        Drawable[] layers = {networkDrawable, signalDrawable};
+        final int iconSize =
+                context.getResources().getDimensionPixelSize(R.dimen.signal_strength_icon_size);
+
+        LayerDrawable icons = new LayerDrawable(layers);
+        // Set the network type icon at the top left
+        icons.setLayerGravity(0 /* index of networkDrawable */, Gravity.TOP | Gravity.LEFT);
+        // Set the signal strength icon at the bottom right
+        icons.setLayerGravity(1 /* index of SignalDrawable */, Gravity.BOTTOM | Gravity.RIGHT);
+        icons.setLayerSize(1 /* index of SignalDrawable */, iconSize, iconSize);
+        setIcon(icons);
+    }
+}
diff --git a/src/com/android/settings/mobilenetwork/NetworkSelectSettings.java b/src/com/android/settings/mobilenetwork/NetworkSelectSettings.java
new file mode 100644
index 0000000..f04eae7
--- /dev/null
+++ b/src/com/android/settings/mobilenetwork/NetworkSelectSettings.java
@@ -0,0 +1,557 @@
+/*
+ * Copyright (C) 2018 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.mobilenetwork;
+
+import android.content.Context;
+import android.os.AsyncTask;
+import android.os.Bundle;
+import android.os.Handler;
+import android.os.Message;
+import android.provider.SearchIndexableResource;
+import android.telephony.AccessNetworkConstants;
+import android.telephony.CellIdentity;
+import android.telephony.CellInfo;
+import android.telephony.NetworkRegistrationState;
+import android.telephony.ServiceState;
+import android.telephony.SubscriptionManager;
+import android.telephony.TelephonyManager;
+import android.util.Log;
+import android.view.View;
+
+import com.android.internal.logging.MetricsLogger;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
+import com.android.internal.telephony.OperatorInfo;
+import com.android.settings.R;
+import com.android.settings.dashboard.DashboardFragment;
+import com.android.settings.search.BaseSearchIndexProvider;
+import com.android.settings.search.Indexable;
+import com.android.settingslib.search.SearchIndexable;
+import com.android.settingslib.utils.ThreadUtils;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import androidx.preference.Preference;
+import androidx.preference.PreferenceCategory;
+import androidx.preference.PreferenceScreen;
+
+/**
+ * "Choose network" settings UI for the Phone app.
+ */
+//TODO(b/115429509): Add test for this file once b/115429509 is not blocked anymore
+@SearchIndexable(forTarget = SearchIndexable.ALL & ~SearchIndexable.ARC)
+public class NetworkSelectSettings extends DashboardFragment {
+
+    private static final String TAG = "NetworkSelectSetting";
+    private static final boolean DBG = true;
+
+    public static final String KEY_SUBSCRIPTION_ID = "subscription_id";
+
+    private static final int EVENT_SET_NETWORK_SELECTION_MANUALLY_DONE = 1;
+    private static final int EVENT_NETWORK_SCAN_RESULTS = 2;
+    private static final int EVENT_NETWORK_SCAN_ERROR = 3;
+    private static final int EVENT_NETWORK_SCAN_COMPLETED = 4;
+
+    private static final String PREF_KEY_CONNECTED_NETWORK_OPERATOR =
+            "connected_network_operator_preference";
+    private static final String PREF_KEY_NETWORK_OPERATORS = "network_operators_preference";
+
+    // used to add/remove NetworkOperatorsPreference.
+    private PreferenceCategory mNetworkOperatorsPreferences;
+    // used to add/remove connected NetworkOperatorPreference.
+    private PreferenceCategory mConnectedNetworkOperatorsPreference;
+    // manage the progress bar on the top of the page.
+    private View mProgressHeader;
+    private Preference mStatusMessagePreference;
+    private List<CellInfo> mCellInfoList;
+    private int mSubId = SubscriptionManager.INVALID_SUBSCRIPTION_ID;
+    private NetworkOperatorPreference mSelectedNetworkOperatorPreference;
+    private TelephonyManager mTelephonyManager;
+    private List<String> mForbiddenPlmns;
+    //Flag indicating whether we have called bind on the service.
+    private boolean mShouldUnbind;
+
+    private final Runnable mUpdateNetworkOperatorsRunnable = () -> {
+        updateNetworkOperatorsPreferenceCategory();
+    };
+
+    /**
+     * Create a new instance of this fragment.
+     */
+    public static NetworkSelectSettings newInstance(int subId) {
+        Bundle args = new Bundle();
+        args.putInt(KEY_SUBSCRIPTION_ID, subId);
+        NetworkSelectSettings
+                fragment = new NetworkSelectSettings();
+        fragment.setArguments(args);
+
+        return fragment;
+    }
+
+    @Override
+    public void onCreate(Bundle icicle) {
+        if (DBG) logd("onCreate");
+        super.onCreate(icicle);
+
+        mSubId = getArguments().getInt(KEY_SUBSCRIPTION_ID);
+
+        mConnectedNetworkOperatorsPreference =
+                (PreferenceCategory) findPreference(PREF_KEY_CONNECTED_NETWORK_OPERATOR);
+        mNetworkOperatorsPreferences =
+                (PreferenceCategory) findPreference(PREF_KEY_NETWORK_OPERATORS);
+        mStatusMessagePreference = new Preference(getContext());
+        mSelectedNetworkOperatorPreference = null;
+        mTelephonyManager = TelephonyManager.from(getContext()).createForSubscriptionId(mSubId);
+        setRetainInstance(true);
+    }
+
+    @Override
+    public void onViewCreated(View view, Bundle savedInstanceState) {
+        super.onViewCreated(view, savedInstanceState);
+
+        mProgressHeader = setPinnedHeaderView(R.layout.wifi_progress_header)
+                .findViewById(R.id.progress_bar_animation);
+        setProgressBarVisible(false);
+        forceConfigConnectedNetworkOperatorsPreferenceCategory();
+    }
+
+    @Override
+    public void onStart() {
+        super.onStart();
+        new AsyncTask<Void, Void, List<String>>() {
+            @Override
+            protected List<String> doInBackground(Void... voids) {
+                String[] forbiddenPlmns = mTelephonyManager.getForbiddenPlmns();
+                return forbiddenPlmns != null ? Arrays.asList(forbiddenPlmns) : null;
+            }
+
+            @Override
+            protected void onPostExecute(List<String> result) {
+                mForbiddenPlmns = result;
+                bindNetworkQueryService();
+            }
+        }.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
+    }
+
+    /**
+     * Invoked on each preference click in this hierarchy, overrides
+     * PreferenceActivity's implementation.  Used to make sure we track the
+     * preference click events.
+     * Since the connected network operator is either faked (when no data connection) or already
+     * connected, we do not allow user to click the connected network operator.
+     */
+    @Override
+    public boolean onPreferenceTreeClick(Preference preference) {
+        if (DBG) logd("User clicked the screen");
+        stopNetworkQuery();
+        setProgressBarVisible(false);
+        if (preference instanceof NetworkOperatorPreference) {
+            // Refresh the last selected item in case users reselect network.
+            if (mSelectedNetworkOperatorPreference != null) {
+                mSelectedNetworkOperatorPreference.setSummary("");
+            }
+
+            mSelectedNetworkOperatorPreference = (NetworkOperatorPreference) preference;
+            CellInfo cellInfo = mSelectedNetworkOperatorPreference.getCellInfo();
+            if (DBG) logd("User click a NetworkOperatorPreference: " + cellInfo.toString());
+
+            // Send metrics event
+            MetricsLogger.action(getContext(),
+                    MetricsEvent.ACTION_MOBILE_NETWORK_MANUAL_SELECT_NETWORK);
+
+            // Connect to the network
+            if (SubscriptionManager.isValidSubscriptionId(mSubId)) {
+                if (DBG) {
+                    logd("Connect to the network: " + CellInfoUtil.getNetworkTitle(cellInfo));
+                }
+                // Set summary as "Connecting" to the selected network.
+                mSelectedNetworkOperatorPreference.setSummary(R.string.network_connecting);
+
+                // Set summary as "Disconnected" to the previously connected network
+                if (mConnectedNetworkOperatorsPreference.getPreferenceCount() > 0) {
+                    NetworkOperatorPreference connectedNetworkOperator = (NetworkOperatorPreference)
+                            (mConnectedNetworkOperatorsPreference.getPreference(0));
+                    if (!CellInfoUtil.getNetworkTitle(cellInfo).equals(
+                            CellInfoUtil.getNetworkTitle(connectedNetworkOperator.getCellInfo()))) {
+                        connectedNetworkOperator.setSummary(R.string.network_disconnected);
+                    }
+                }
+
+                OperatorInfo operatorInfo = CellInfoUtil.getOperatorInfoFromCellInfo(cellInfo);
+                if (DBG) logd("manually selected network operator: " + operatorInfo.toString());
+
+                ThreadUtils.postOnBackgroundThread(() -> {
+                    Message msg = mHandler.obtainMessage(EVENT_SET_NETWORK_SELECTION_MANUALLY_DONE);
+                    msg.obj = mTelephonyManager.setNetworkSelectionModeManual(
+                            operatorInfo.getOperatorNumeric(), true /* persistSelection */);
+                    msg.sendToTarget();
+                });
+
+                setProgressBarVisible(true);
+                return true;
+            } else {
+                loge("Error selecting network. Subscription Id is invalid.");
+                mSelectedNetworkOperatorPreference = null;
+                return false;
+            }
+
+        } else {
+            getPreferenceScreen().setEnabled(false);
+            return false;
+        }
+    }
+
+    @Override
+    public void onStop() {
+        super.onStop();
+        if (DBG) logd("onStop");
+        getView().removeCallbacks(mUpdateNetworkOperatorsRunnable);
+        stopNetworkQuery();
+        // Unbind the NetworkQueryService
+        unbindNetworkQueryService();
+    }
+
+    @Override
+    protected int getPreferenceScreenResId() {
+        return R.xml.choose_network;
+    }
+
+    @Override
+    protected String getLogTag() {
+        return TAG;
+    }
+
+    @Override
+    public int getMetricsCategory() {
+        //TODO(b/114749736): add metrics id for this page
+        return 0;
+    }
+
+    private final Handler mHandler = new Handler() {
+        @Override
+        public void handleMessage(Message msg) {
+            switch (msg.what) {
+                case EVENT_SET_NETWORK_SELECTION_MANUALLY_DONE:
+                    if (DBG) logd("network selection done: hide the progress header");
+                    setProgressBarVisible(false);
+
+                    boolean isSuccessed = (boolean) msg.obj;
+                    if (isSuccessed) {
+                        if (DBG) logd("manual network selection: succeeded! ");
+                        // Set summary as "Connected" to the selected network.
+                        mSelectedNetworkOperatorPreference.setSummary(R.string.network_connected);
+                    } else {
+                        if (DBG) logd("manual network selection: failed! ");
+                        updateNetworkSelection();
+                        // Set summary as "Couldn't connect" to the selected network.
+                        mSelectedNetworkOperatorPreference.setSummary(
+                                R.string.network_could_not_connect);
+                    }
+                    break;
+
+                case EVENT_NETWORK_SCAN_RESULTS:
+                    List<CellInfo> results = aggregateCellInfoList((List<CellInfo>) msg.obj);
+                    mCellInfoList = new ArrayList<>(results);
+                    if (DBG) logd("after aggregate: " + mCellInfoList.toString());
+                    if (mCellInfoList != null && mCellInfoList.size() != 0) {
+                        updateNetworkOperators();
+                    } else {
+                        addMessagePreference(R.string.empty_networks_list);
+                    }
+
+                    break;
+
+                case EVENT_NETWORK_SCAN_ERROR:
+                    int error = msg.arg1;
+                    if (DBG) logd("error while querying available networks " + error);
+                    stopNetworkQuery();
+                    addMessagePreference(R.string.network_query_error);
+                    break;
+
+                case EVENT_NETWORK_SCAN_COMPLETED:
+                    stopNetworkQuery();
+                    if (DBG) logd("scan complete");
+                    if (mCellInfoList == null) {
+                        // In case the scan timeout before getting any results
+                        addMessagePreference(R.string.empty_networks_list);
+                    }
+                    break;
+            }
+            return;
+        }
+    };
+
+    private void updateNetworkOperators() {
+        if (DBG) logd("updateNetworkOperators");
+        if (getActivity() != null) {
+            final View view = getView();
+            final Handler handler = view.getHandler();
+            if (handler != null && handler.hasCallbacks(mUpdateNetworkOperatorsRunnable)) {
+                return;
+            }
+            view.post(mUpdateNetworkOperatorsRunnable);
+        }
+    }
+
+    /**
+     * Update the currently available network operators list, which only contains the unregistered
+     * network operators. So if the device has no data and the network operator in the connected
+     * network operator category shows "Disconnected", it will also exist in the available network
+     * operator category for user to select. On the other hand, if the device has data and the
+     * network operator in the connected network operator category shows "Connected", it will not
+     * exist in the available network category.
+     */
+    private void updateNetworkOperatorsPreferenceCategory() {
+        mNetworkOperatorsPreferences.removeAll();
+
+        configConnectedNetworkOperatorsPreferenceCategory();
+        for (int index = 0; index < mCellInfoList.size(); index++) {
+            if (!mCellInfoList.get(index).isRegistered()) {
+                NetworkOperatorPreference pref = new NetworkOperatorPreference(
+                        mCellInfoList.get(index), getContext(), mForbiddenPlmns);
+                pref.setKey(CellInfoUtil.getNetworkTitle(mCellInfoList.get(index)));
+                pref.setOrder(index);
+                mNetworkOperatorsPreferences.addPreference(pref);
+            }
+        }
+    }
+
+    /**
+     * Config the connected network operator preference when the page was created. When user get
+     * into this page, the device might or might not have data connection.
+     * - If the device has data:
+     * 1. use {@code ServiceState#getNetworkRegistrationStates()} to get the currently
+     * registered cellIdentity, wrap it into a CellInfo;
+     * 2. set the signal strength level as strong;
+     * 3. use {@link TelephonyManager#getNetworkOperatorName()} to get the title of the
+     * previously connected network operator, since the CellIdentity got from step 1 only has
+     * PLMN.
+     * - If the device has no data, we will remove the connected network operators list from the
+     * screen.
+     */
+    private void forceConfigConnectedNetworkOperatorsPreferenceCategory() {
+        if (DBG) logd("Force config ConnectedNetworkOperatorsPreferenceCategory");
+        if (mTelephonyManager.getDataState() == mTelephonyManager.DATA_CONNECTED) {
+            // Try to get the network registration states
+            ServiceState ss = mTelephonyManager.getServiceState();
+            List<NetworkRegistrationState> networkList =
+                    ss.getNetworkRegistrationStates(AccessNetworkConstants.TransportType.WWAN);
+            if (networkList == null || networkList.size() == 0) {
+                loge("getNetworkRegistrationStates return null");
+                // Remove the connected network operators category
+                removeConnectedNetworkOperatorPreference();
+                return;
+            }
+            CellIdentity cellIdentity = networkList.get(0).getCellIdentity();
+            CellInfo cellInfo = CellInfoUtil.wrapCellInfoWithCellIdentity(cellIdentity);
+            if (cellInfo != null) {
+                if (DBG) logd("Currently registered cell: " + cellInfo.toString());
+                NetworkOperatorPreference pref =
+                        new NetworkOperatorPreference(cellInfo, getContext(), mForbiddenPlmns);
+                pref.setTitle(mTelephonyManager.getNetworkOperatorName());
+                pref.setSummary(R.string.network_connected);
+                // Update the signal strength icon, since the default signalStrength value would be
+                // zero (it would be quite confusing why the connected network has no signal)
+                pref.setIcon(NetworkOperatorPreference.NUMBER_OF_LEVELS - 1);
+
+                mConnectedNetworkOperatorsPreference.addPreference(pref);
+            } else {
+                loge("Invalid CellIfno: " + cellInfo.toString());
+                // Remove the connected network operators category
+                removeConnectedNetworkOperatorPreference();
+            }
+        } else {
+            if (DBG) logd("No currently registered cell");
+            // Remove the connected network operators category
+            removeConnectedNetworkOperatorPreference();
+        }
+    }
+
+    /**
+     * Configure the ConnectedNetworkOperatorsPreferenceCategory. The category only need to be
+     * configured if the category is currently empty or the operator network title of the previous
+     * connected network is different from the new one.
+     */
+    private void configConnectedNetworkOperatorsPreferenceCategory() {
+        if (DBG) logd("config ConnectedNetworkOperatorsPreferenceCategory");
+        // Remove the category if the CellInfo list is empty or does not have registered cell.
+        if (mCellInfoList.size() == 0) {
+            if (DBG) logd("empty cellinfo list");
+            removeConnectedNetworkOperatorPreference();
+        }
+        CellInfo connectedNetworkOperator = null;
+        for (CellInfo cellInfo : mCellInfoList) {
+            if (cellInfo.isRegistered()) {
+                connectedNetworkOperator = cellInfo;
+                break;
+            }
+        }
+        if (connectedNetworkOperator == null) {
+            if (DBG) logd("no registered network");
+            removeConnectedNetworkOperatorPreference();
+            return;
+        }
+
+        // config the category if it is empty.
+        if (mConnectedNetworkOperatorsPreference.getPreferenceCount() == 0) {
+            if (DBG) logd("ConnectedNetworkSelectList is empty, add one");
+            addConnectedNetworkOperatorPreference(connectedNetworkOperator);
+            return;
+        }
+        NetworkOperatorPreference previousConnectedNetworkOperator = (NetworkOperatorPreference)
+                (mConnectedNetworkOperatorsPreference.getPreference(0));
+
+        // config the category if the network title of the previous connected network is different
+        // from the new one.
+        String cTitle = CellInfoUtil.getNetworkTitle(connectedNetworkOperator);
+        String pTitle = CellInfoUtil.getNetworkTitle(
+                previousConnectedNetworkOperator.getCellInfo());
+        if (!cTitle.equals(pTitle)) {
+            if (DBG) logd("reconfig the category: connected network changed");
+            addConnectedNetworkOperatorPreference(connectedNetworkOperator);
+            return;
+        }
+        if (DBG) logd("same network operator is connected, only refresh the connected network");
+        // Otherwise same network operator is connected, only refresh the connected network
+        // operator preference (first and the only one in this category).
+        ((NetworkOperatorPreference) mConnectedNetworkOperatorsPreference.getPreference(0))
+                .refresh();
+        return;
+    }
+
+    /**
+     * Creates a Preference for the given {@link CellInfo} and adds it to the
+     * {@link #mConnectedNetworkOperatorsPreference}.
+     */
+    private void addConnectedNetworkOperatorPreference(CellInfo cellInfo) {
+        if (DBG) logd("addConnectedNetworkOperatorPreference");
+        // Remove the current ConnectedNetworkOperatorsPreference
+        removeConnectedNetworkOperatorPreference();
+        final NetworkOperatorPreference pref =
+                new NetworkOperatorPreference(cellInfo, getContext(), mForbiddenPlmns);
+        pref.setSummary(R.string.network_connected);
+        mConnectedNetworkOperatorsPreference.addPreference(pref);
+        PreferenceScreen preferenceScreen = getPreferenceScreen();
+        preferenceScreen.addPreference(mConnectedNetworkOperatorsPreference);
+    }
+
+    /** Removes all preferences and hide the {@link #mConnectedNetworkOperatorsPreference}. */
+    private void removeConnectedNetworkOperatorPreference() {
+        mConnectedNetworkOperatorsPreference.removeAll();
+        PreferenceScreen preferenceScreen = getPreferenceScreen();
+        preferenceScreen.removePreference(mConnectedNetworkOperatorsPreference);
+    }
+
+    protected void setProgressBarVisible(boolean visible) {
+        if (mProgressHeader != null) {
+            mProgressHeader.setVisibility(visible ? View.VISIBLE : View.GONE);
+        }
+    }
+
+    private void addMessagePreference(int messageId) {
+        if (DBG) logd("remove callback");
+        getView().removeCallbacks(mUpdateNetworkOperatorsRunnable);
+        setProgressBarVisible(false);
+        if (DBG) logd("addMessagePreference");
+        mStatusMessagePreference.setTitle(messageId);
+        removeConnectedNetworkOperatorPreference();
+        mNetworkOperatorsPreferences.removeAll();
+        mNetworkOperatorsPreferences.addPreference(mStatusMessagePreference);
+    }
+
+    /**
+     * The Scan results may contains several cell infos with different radio technologies and signal
+     * strength for one network operator. Aggregate the CellInfoList by retaining only the cell info
+     * with the strongest signal strength.
+     */
+    private List<CellInfo> aggregateCellInfoList(List<CellInfo> cellInfoList) {
+        if (DBG) logd("before aggregate: " + cellInfoList.toString());
+        Map<String, CellInfo> map = new HashMap<>();
+        for (CellInfo cellInfo : cellInfoList) {
+            String plmn = CellInfoUtil.getOperatorInfoFromCellInfo(cellInfo).getOperatorNumeric();
+            if (cellInfo.isRegistered() || !map.containsKey(plmn)) {
+                map.put(plmn, cellInfo);
+            } else {
+                if (map.get(plmn).isRegistered()
+                        || map.get(plmn).getCellSignalStrength().getLevel()
+                        > cellInfo.getCellSignalStrength().getLevel()) {
+                    // Skip if the stored cellInfo is registered or has higher signal strength level
+                    continue;
+                }
+                // Otherwise replace it with the new CellInfo
+                map.put(plmn, cellInfo);
+            }
+        }
+        return new ArrayList<>(map.values());
+    }
+
+    private void loadNetworksList() {
+        if (DBG) logd("load networks list...");
+        setProgressBarVisible(true);
+        //TODO(b/114749736): load network list once b/115401728 is done
+    }
+
+    private void bindNetworkQueryService() {
+        if (DBG) logd("bindNetworkQueryService");
+        //TODO(b/114749736): bind service/manager once b/115401728 is done
+        mShouldUnbind = true;
+    }
+
+    private void unbindNetworkQueryService() {
+        if (DBG) logd("unbindNetworkQueryService");
+        if (mShouldUnbind) {
+            if (DBG) logd("mShouldUnbind is true");
+            // unbind the service.
+            //TODO(b/114749736): unbind service/manager once b/115401728 is done
+            mShouldUnbind = false;
+        }
+    }
+
+    private void updateNetworkSelection() {
+        if (DBG) logd("Update notification about no service of user selected operator");
+        //TODO(b/114749736): update network selection once b/115429509 is done
+    }
+
+    private void stopNetworkQuery() {
+        // Stop the network query process
+        //TODO(b/114749736): stop service/manager query once b/115401728 is done
+    }
+
+    private void logd(String msg) {
+        Log.d(TAG, msg);
+    }
+
+    private void loge(String msg) {
+        Log.e(TAG, msg);
+    }
+
+    public static final Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+            new BaseSearchIndexProvider() {
+                @Override
+                public List<SearchIndexableResource> getXmlResourcesToIndex(Context context,
+                        boolean enabled) {
+                    final ArrayList<SearchIndexableResource> result = new ArrayList<>();
+
+                    final SearchIndexableResource sir = new SearchIndexableResource(context);
+                    sir.xmlResId = R.xml.choose_network;
+                    result.add(sir);
+                    return result;
+                }
+            };
+}
diff --git a/src/com/android/settings/network/ApnEditor.java b/src/com/android/settings/network/ApnEditor.java
index 47a75c3..6b99e1f 100644
--- a/src/com/android/settings/network/ApnEditor.java
+++ b/src/com/android/settings/network/ApnEditor.java
@@ -241,7 +241,7 @@
         CarrierConfigManager configManager = (CarrierConfigManager)
                 getSystemService(Context.CARRIER_CONFIG_SERVICE);
         if (configManager != null) {
-            PersistableBundle b = configManager.getConfig();
+            PersistableBundle b = configManager.getConfigForSubId(mSubId);
             if (b != null) {
                 mReadOnlyApnTypes = b.getStringArray(
                         CarrierConfigManager.KEY_READ_ONLY_APN_TYPES_STRING_ARRAY);
diff --git a/src/com/android/settings/network/ApnSettings.java b/src/com/android/settings/network/ApnSettings.java
index df0b1b4..beeaab3 100755
--- a/src/com/android/settings/network/ApnSettings.java
+++ b/src/com/android/settings/network/ApnSettings.java
@@ -186,7 +186,7 @@
 
         CarrierConfigManager configManager = (CarrierConfigManager)
                 getSystemService(Context.CARRIER_CONFIG_SERVICE);
-        PersistableBundle b = configManager.getConfig();
+        PersistableBundle b = configManager.getConfigForSubId(mSubId);
         mHideImsApn = b.getBoolean(CarrierConfigManager.KEY_HIDE_IMS_APN_BOOL);
         mAllowAddingApns = b.getBoolean(CarrierConfigManager.KEY_ALLOW_ADDING_APNS_BOOL);
         if (mAllowAddingApns) {
diff --git a/src/com/android/settings/print/PrintSettingsFragment.java b/src/com/android/settings/print/PrintSettingsFragment.java
index 2f1f63d..63ffe87 100644
--- a/src/com/android/settings/print/PrintSettingsFragment.java
+++ b/src/com/android/settings/print/PrintSettingsFragment.java
@@ -55,8 +55,8 @@
 import com.android.settings.R;
 import com.android.settings.search.BaseSearchIndexProvider;
 import com.android.settings.search.Indexable;
-import com.android.settings.widget.AppPreference;
 import com.android.settingslib.search.SearchIndexable;
+import com.android.settingslib.widget.apppreference.AppPreference;
 
 import java.text.DateFormat;
 import java.util.ArrayList;
@@ -356,7 +356,7 @@
                                     printJob.getCreationTime(), printJob.getCreationTime(),
                                     DateFormat.SHORT, DateFormat.SHORT)));
 
-                    TypedArray a = getActivity().obtainStyledAttributes(new int[] {
+                    TypedArray a = getActivity().obtainStyledAttributes(new int[]{
                             android.R.attr.colorControlNormal});
                     int tintColor = a.getColor(0, 0);
                     a.recycle();
diff --git a/src/com/android/settings/widget/AppPreference.java b/src/com/android/settings/widget/AppPreference.java
deleted file mode 100644
index 91e700a..0000000
--- a/src/com/android/settings/widget/AppPreference.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * Copyright (C) 2017 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.settings.widget;
-
-import android.content.Context;
-import android.text.TextUtils;
-import android.util.AttributeSet;
-import android.view.View;
-import android.widget.ProgressBar;
-
-import androidx.preference.Preference;
-import androidx.preference.PreferenceViewHolder;
-
-import com.android.settings.R;
-
-public class AppPreference extends Preference {
-
-    private int mProgress;
-    private boolean mProgressVisible;
-
-    public AppPreference(Context context) {
-        super(context);
-        setLayoutResource(R.layout.preference_app);
-    }
-
-    public AppPreference(Context context, AttributeSet attrs) {
-        super(context, attrs);
-        setLayoutResource(R.layout.preference_app);
-    }
-
-    public void setProgress(int amount) {
-        mProgress = amount;
-        mProgressVisible = true;
-        notifyChanged();
-    }
-
-    @Override
-    public void onBindViewHolder(PreferenceViewHolder view) {
-        super.onBindViewHolder(view);
-
-        view.findViewById(R.id.summary_container)
-                .setVisibility(TextUtils.isEmpty(getSummary()) ? View.GONE : View.VISIBLE);
-        final ProgressBar progress = (ProgressBar) view.findViewById(android.R.id.progress);
-        if (mProgressVisible) {
-            progress.setProgress(mProgress);
-            progress.setVisibility(View.VISIBLE);
-        } else {
-            progress.setVisibility(View.GONE);
-        }
-    }
-}
diff --git a/src/com/android/settings/widget/RestrictedAppPreference.java b/src/com/android/settings/widget/RestrictedAppPreference.java
index e33c342..8a2cc91 100644
--- a/src/com/android/settings/widget/RestrictedAppPreference.java
+++ b/src/com/android/settings/widget/RestrictedAppPreference.java
@@ -28,6 +28,7 @@
 import com.android.settings.R;
 import com.android.settingslib.RestrictedLockUtils;
 import com.android.settingslib.RestrictedPreferenceHelper;
+import com.android.settingslib.widget.apppreference.AppPreference;
 
 /**
  * {@link AppPreference} that implements user restriction utilities using
diff --git a/tests/robotests/src/com/android/settings/accounts/AccountDetailDashboardFragmentTest.java b/tests/robotests/src/com/android/settings/accounts/AccountDetailDashboardFragmentTest.java
index f2fb121..a4d1567 100644
--- a/tests/robotests/src/com/android/settings/accounts/AccountDetailDashboardFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/accounts/AccountDetailDashboardFragmentTest.java
@@ -23,9 +23,13 @@
 import static org.mockito.Matchers.any;
 import static org.mockito.Matchers.anyInt;
 import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
 import android.accounts.Account;
+import android.accounts.AccountManager;
 import android.content.Context;
 import android.content.Intent;
 import android.content.pm.ActivityInfo;
@@ -49,6 +53,8 @@
 import org.robolectric.Robolectric;
 import org.robolectric.RuntimeEnvironment;
 import org.robolectric.Shadows;
+import org.robolectric.annotation.Config;
+import org.robolectric.shadows.ShadowAccountManager;
 import org.robolectric.util.ReflectionHelpers;
 
 @RunWith(SettingsRobolectricTestRunner.class)
@@ -73,10 +79,11 @@
         final Bundle args = new Bundle();
         args.putParcelable(METADATA_USER_HANDLE, UserHandle.CURRENT);
 
-        mFragment = new AccountDetailDashboardFragment();
+        mFragment = spy(new AccountDetailDashboardFragment());
         mFragment.setArguments(args);
         mFragment.mAccountType = "com.abc";
         mFragment.mAccount = new Account("name1@abc.com", "com.abc");
+        when(mFragment.getContext()).thenReturn(mContext);
     }
 
     @Test
@@ -143,4 +150,20 @@
 
         assertThat(intent.getStringExtra("extra.accountName")).isEqualTo("name1@abc.com");
     }
+
+    @Test
+    @Config(shadows = {ShadowAccountManager.class})
+    public void onResume_accountMissing_shouldFinish() {
+        mFragment.finishIfAccountMissing();
+        verify(mFragment).finish();
+    }
+
+    @Test
+    @Config(shadows = {ShadowAccountManager.class})
+    public void onResume_accountPresent_shouldNotFinish() {
+        AccountManager mgr = mContext.getSystemService(AccountManager.class);
+        Shadows.shadowOf(mgr).addAccount(mFragment.mAccount);
+        mFragment.finishIfAccountMissing();
+        verify(mFragment, never()).finish();
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/accounts/RemoveAccountPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accounts/RemoveAccountPreferenceControllerTest.java
index de67bd2..3bebd66 100644
--- a/tests/robotests/src/com/android/settings/accounts/RemoveAccountPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/accounts/RemoveAccountPreferenceControllerTest.java
@@ -15,6 +15,8 @@
  */
 package com.android.settings.accounts;
 
+import static com.google.common.truth.Truth.assertThat;
+
 import static org.mockito.Answers.RETURNS_DEEP_STUBS;
 import static org.mockito.ArgumentMatchers.nullable;
 import static org.mockito.Matchers.any;
@@ -28,7 +30,10 @@
 import android.accounts.Account;
 import android.accounts.AccountManager;
 import android.accounts.AccountManagerCallback;
+import android.accounts.AccountManagerFuture;
 import android.accounts.AuthenticatorDescription;
+import android.accounts.AuthenticatorException;
+import android.accounts.OperationCanceledException;
 import android.app.Activity;
 import android.content.ComponentName;
 import android.content.Context;
@@ -56,12 +61,14 @@
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
+import org.mockito.ArgumentCaptor;
 import org.mockito.Mock;
 import org.mockito.MockitoAnnotations;
 import org.robolectric.RuntimeEnvironment;
 import org.robolectric.annotation.Config;
 import org.robolectric.shadows.ShadowApplication;
 
+import java.io.IOException;
 import java.util.ArrayList;
 import java.util.List;
 
@@ -157,7 +164,8 @@
 
     @Test
     @Config(shadows = {ShadowAccountManager.class, ShadowContentResolver.class})
-    public void confirmRemove_shouldRemoveAccount() {
+    public void confirmRemove_shouldRemoveAccount()
+            throws AuthenticatorException, OperationCanceledException, IOException {
         when(mFragment.isAdded()).thenReturn(true);
         FragmentActivity activity = mock(FragmentActivity.class);
         when(activity.getSystemService(Context.ACCOUNT_SERVICE)).thenReturn(mAccountManager);
@@ -170,7 +178,18 @@
                         mFragment, account, userHandle);
         dialog.onCreate(new Bundle());
         dialog.onClick(null, 0);
+        ArgumentCaptor<AccountManagerCallback<Bundle>> callbackCaptor = ArgumentCaptor.forClass(
+                AccountManagerCallback.class);
         verify(mAccountManager).removeAccountAsUser(eq(account), nullable(Activity.class),
-                nullable(AccountManagerCallback.class), nullable(Handler.class), eq(userHandle));
+                callbackCaptor.capture(), nullable(Handler.class), eq(userHandle));
+
+        AccountManagerCallback<Bundle> callback = callbackCaptor.getValue();
+        assertThat(callback).isNotNull();
+        AccountManagerFuture<Bundle> future = mock(AccountManagerFuture.class);
+        Bundle resultBundle = new Bundle();
+        resultBundle.putBoolean(AccountManager.KEY_BOOLEAN_RESULT, true);
+        when(future.getResult()).thenReturn(resultBundle);
+        callback.run(future);
+        verify(activity).finish();
     }
 }
diff --git a/tests/robotests/src/com/android/settings/applications/AppStateNotificationBridgeTest.java b/tests/robotests/src/com/android/settings/applications/AppStateNotificationBridgeTest.java
index 8e3bb42..cb50486 100644
--- a/tests/robotests/src/com/android/settings/applications/AppStateNotificationBridgeTest.java
+++ b/tests/robotests/src/com/android/settings/applications/AppStateNotificationBridgeTest.java
@@ -19,6 +19,8 @@
 import static android.text.format.DateUtils.DAY_IN_MILLIS;
 
 import static com.android.settings.applications.AppStateNotificationBridge
+        .FILTER_APP_NOTIFICATION_BLOCKED;
+import static com.android.settings.applications.AppStateNotificationBridge
         .FILTER_APP_NOTIFICATION_FREQUENCY;
 import static com.android.settings.applications.AppStateNotificationBridge
         .FILTER_APP_NOTIFICATION_RECENCY;
@@ -379,10 +381,11 @@
         NotificationsSentState sent = new NotificationsSentState();
         sent.lastSent = System.currentTimeMillis() - (2 * DAY_IN_MILLIS);
 
-        assertThat(AppStateNotificationBridge.getSummary(mContext, neverSent, true)).isEqualTo(
-                mContext.getString(R.string.notifications_sent_never));
-        assertThat(AppStateNotificationBridge.getSummary(mContext, sent, true).toString())
-                .contains("2");
+        assertThat(AppStateNotificationBridge.getSummary(
+                mContext, neverSent, R.id.sort_order_recent_notification)).isEqualTo(
+                        mContext.getString(R.string.notifications_sent_never));
+        assertThat(AppStateNotificationBridge.getSummary(
+                mContext, sent, R.id.sort_order_recent_notification).toString()).contains("2");
     }
 
     @Test
@@ -392,13 +395,24 @@
         NotificationsSentState sentOften = new NotificationsSentState();
         sentOften.avgSentDaily = 8;
 
-        assertThat(AppStateNotificationBridge.getSummary(mContext, sentRarely, false).toString())
+        assertThat(AppStateNotificationBridge.getSummary(
+                mContext, sentRarely, R.id.sort_order_frequent_notification).toString())
                 .contains("1");
-        assertThat(AppStateNotificationBridge.getSummary(mContext, sentOften, false).toString())
+        assertThat(AppStateNotificationBridge.getSummary(
+                mContext, sentOften, R.id.sort_order_frequent_notification).toString())
                 .contains("8");
     }
 
     @Test
+    public void testSummary_alpha() {
+        NotificationsSentState sentRarely = new NotificationsSentState();
+        sentRarely.avgSentWeekly = 1;
+        assertThat(AppStateNotificationBridge.getSummary(
+                mContext, sentRarely, R.id.sort_order_alpha).toString())
+                .isEqualTo("");
+    }
+
+    @Test
     public void testFilterRecency() {
         NotificationsSentState allowState = new NotificationsSentState();
         allowState.lastSent = 1;
@@ -433,6 +447,23 @@
     }
 
     @Test
+    public void testFilterBlocked() {
+        NotificationsSentState allowState = new NotificationsSentState();
+        allowState.blocked = true;
+        AppEntry allow = mock(AppEntry.class);
+        allow.extraInfo = allowState;
+
+        assertTrue(FILTER_APP_NOTIFICATION_BLOCKED.filterApp(allow));
+
+        NotificationsSentState denyState = new NotificationsSentState();
+        denyState.blocked = false;
+        AppEntry deny = mock(AppEntry.class);
+        deny.extraInfo = denyState;
+
+        assertFalse(FILTER_APP_NOTIFICATION_BLOCKED.filterApp(deny));
+    }
+
+    @Test
     public void testComparators_nullsNoCrash() {
         List<AppEntry> entries = new ArrayList<>();
         AppEntry a = mock(AppEntry.class);
diff --git a/tests/robotests/src/com/android/settings/applications/RecentAppsPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/applications/RecentAppsPreferenceControllerTest.java
index e3e45fb..6ff0dba 100644
--- a/tests/robotests/src/com/android/settings/applications/RecentAppsPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/applications/RecentAppsPreferenceControllerTest.java
@@ -40,6 +40,7 @@
 import android.content.pm.ApplicationInfo;
 import android.content.pm.PackageManager;
 import android.content.pm.ResolveInfo;
+import android.os.PowerManager;
 import android.os.UserHandle;
 import android.os.UserManager;
 import android.text.TextUtils;
@@ -50,6 +51,7 @@
 
 import com.android.settings.R;
 import com.android.settings.testutils.SettingsRobolectricTestRunner;
+import com.android.settings.testutils.shadow.ShadowPowerManager;
 import com.android.settingslib.applications.AppUtils;
 import com.android.settingslib.applications.ApplicationsState;
 import com.android.settingslib.applications.instantapps.InstantAppDataProvider;
@@ -196,6 +198,35 @@
     }
 
     @Test
+    public void display_powerSaverMode_showNoRecents() {
+        mContext.getSystemService(PowerManager.class).setPowerSaveMode(true);
+
+        final List<UsageStats> stats = new ArrayList<>();
+        final UsageStats stat1 = new UsageStats();
+
+        stat1.mLastTimeUsed = System.currentTimeMillis();
+        stat1.mPackageName = "pkg.class";
+        stats.add(stat1);
+
+        // stat1, stat2 are valid apps. stat3 is invalid.
+        when(mAppState.getEntry(stat1.mPackageName, UserHandle.myUserId()))
+                .thenReturn(mAppEntry);
+        when(mPackageManager.resolveActivity(any(Intent.class), anyInt()))
+                .thenReturn(new ResolveInfo());
+        when(mUsageStatsManager.queryUsageStats(anyInt(), anyLong(), anyLong()))
+                .thenReturn(stats);
+        mAppEntry.info = mApplicationInfo;
+
+        mController.displayPreference(mScreen);
+
+        verify(mCategory, never()).addPreference(any(Preference.class));
+        verify(mCategory).setTitle(null);
+        verify(mSeeAllPref).setTitle(R.string.applications_settings);
+        verify(mSeeAllPref).setIcon(null);
+        verify(mDivider).setVisible(false);
+    }
+
+    @Test
     public void display_showRecentsWithInstantApp() {
         // Regular app.
         final List<UsageStats> stats = new ArrayList<>();
diff --git a/tests/robotests/src/com/android/settings/applications/manageapplications/ManageApplicationsTest.java b/tests/robotests/src/com/android/settings/applications/manageapplications/ManageApplicationsTest.java
index c9ab7c0..b3f5b5e 100644
--- a/tests/robotests/src/com/android/settings/applications/manageapplications/ManageApplicationsTest.java
+++ b/tests/robotests/src/com/android/settings/applications/manageapplications/ManageApplicationsTest.java
@@ -200,13 +200,13 @@
     }
 
     @Test
-    public void shouldUseStableItemHeight_mainType_yes() {
+    public void shouldUseStableItemHeight() {
         assertThat(ManageApplications.ApplicationsAdapter.shouldUseStableItemHeight(
                 LIST_TYPE_MAIN))
                 .isTrue();
         assertThat(ManageApplications.ApplicationsAdapter.shouldUseStableItemHeight(
                 LIST_TYPE_NOTIFICATION))
-                .isFalse();
+                .isTrue();
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/bluetooth/BluetoothNameDialogFragmentTest.java b/tests/robotests/src/com/android/settings/bluetooth/BluetoothNameDialogFragmentTest.java
new file mode 100644
index 0000000..350ec9e
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/bluetooth/BluetoothNameDialogFragmentTest.java
@@ -0,0 +1,82 @@
+/*
+ * Copyright (C) 2018 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.settings.bluetooth;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import android.view.inputmethod.EditorInfo;
+import android.widget.TextView;
+
+import com.android.settings.testutils.SettingsRobolectricTestRunner;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.MockitoAnnotations;
+import org.robolectric.RuntimeEnvironment;
+
+@RunWith(SettingsRobolectricTestRunner.class)
+public class BluetoothNameDialogFragmentTest {
+
+    private TestBluetoothNameDialogFragment mBluetoothNameDialogFragment;
+    private TextView mTextView;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+
+        mBluetoothNameDialogFragment = new TestBluetoothNameDialogFragment();
+        mTextView = new TextView(RuntimeEnvironment.application);
+    }
+
+    @Test
+    public void onEditorAction_dialogNull_shouldNotCrash() {
+        mBluetoothNameDialogFragment.mAlertDialog = null;
+
+        // Should not crash
+        assertThat(
+                mBluetoothNameDialogFragment.onEditorAction(mTextView, EditorInfo.IME_ACTION_DONE,
+                        null)).isTrue();
+    }
+
+
+    /**
+     * Test fragment for {@link BluetoothNameDialogFragment} to test common methods
+     */
+    public static class TestBluetoothNameDialogFragment extends BluetoothNameDialogFragment {
+
+        @Override
+        protected int getDialogTitle() {
+            return 0;
+        }
+
+        @Override
+        protected String getDeviceName() {
+            return null;
+        }
+
+        @Override
+        protected void setDeviceName(String deviceName) {
+
+        }
+
+        @Override
+        public int getMetricsCategory() {
+            return 0;
+        }
+    }
+
+}
diff --git a/tests/robotests/src/com/android/settings/bluetooth/BluetoothPairingControllerTest.java b/tests/robotests/src/com/android/settings/bluetooth/BluetoothPairingControllerTest.java
index b28a8b2..5233d84 100644
--- a/tests/robotests/src/com/android/settings/bluetooth/BluetoothPairingControllerTest.java
+++ b/tests/robotests/src/com/android/settings/bluetooth/BluetoothPairingControllerTest.java
@@ -17,9 +17,10 @@
 
 import static android.bluetooth.BluetoothDevice.PAIRING_VARIANT_CONSENT;
 
-import static org.mockito.Mockito.spy;
 import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
 
+import android.bluetooth.BluetoothClass;
 import android.bluetooth.BluetoothDevice;
 import android.content.Context;
 import android.content.Intent;
@@ -39,6 +40,8 @@
 @RunWith(SettingsRobolectricTestRunner.class)
 @Config(shadows = {ShadowBluetoothPan.class, ShadowBluetoothAdapter.class})
 public class BluetoothPairingControllerTest {
+    private final BluetoothClass mBluetoothClass =
+            new BluetoothClass(BluetoothClass.Device.AUDIO_VIDEO_HANDSFREE);
     @Mock
     private BluetoothDevice mBluetoothDevice;
     private Context mContext;
@@ -51,7 +54,7 @@
         mContext = RuntimeEnvironment.application;
         final Intent intent = new Intent();
         intent.putExtra(BluetoothDevice.EXTRA_DEVICE, mBluetoothDevice);
-        mBluetoothPairingController = spy(new BluetoothPairingController(intent, mContext));
+        mBluetoothPairingController = new BluetoothPairingController(intent, mContext);
     }
 
     @Test
@@ -63,4 +66,36 @@
 
         verify(mBluetoothDevice).setPhonebookAccessPermission(BluetoothDevice.ACCESS_ALLOWED);
     }
+
+    @Test
+    public void onSetContactSharingState_permissionAllowed_setPBAPAllowed() {
+        when(mBluetoothDevice.getPhonebookAccessPermission()).thenReturn(
+                BluetoothDevice.ACCESS_ALLOWED);
+        mBluetoothPairingController.setContactSharingState();
+        mBluetoothPairingController.onDialogPositiveClick(null);
+
+        verify(mBluetoothDevice).setPhonebookAccessPermission(BluetoothDevice.ACCESS_ALLOWED);
+    }
+
+    @Test
+    public void onSetContactSharingState_permissionUnknown_audioVideoHandsfree_setPBAPAllowed() {
+        when(mBluetoothDevice.getPhonebookAccessPermission()).thenReturn(
+                BluetoothDevice.ACCESS_UNKNOWN);
+        when(mBluetoothDevice.getBluetoothClass()).thenReturn(mBluetoothClass);
+        mBluetoothPairingController.setContactSharingState();
+        mBluetoothPairingController.onDialogPositiveClick(null);
+
+        verify(mBluetoothDevice).setPhonebookAccessPermission(BluetoothDevice.ACCESS_ALLOWED);
+    }
+
+    @Test
+    public void onSetContactSharingState_permissionRejected_setPBAPRejected() {
+        when(mBluetoothDevice.getPhonebookAccessPermission()).thenReturn(
+                BluetoothDevice.ACCESS_REJECTED);
+        when(mBluetoothDevice.getBluetoothClass()).thenReturn(mBluetoothClass);
+        mBluetoothPairingController.setContactSharingState();
+        mBluetoothPairingController.onDialogPositiveClick(null);
+
+        verify(mBluetoothDevice).setPhonebookAccessPermission(BluetoothDevice.ACCESS_REJECTED);
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/dashboard/suggestions/SuggestionFeatureProviderImplTest.java b/tests/robotests/src/com/android/settings/dashboard/suggestions/SuggestionFeatureProviderImplTest.java
index 5fdf458..f9a7379 100644
--- a/tests/robotests/src/com/android/settings/dashboard/suggestions/SuggestionFeatureProviderImplTest.java
+++ b/tests/robotests/src/com/android/settings/dashboard/suggestions/SuggestionFeatureProviderImplTest.java
@@ -143,20 +143,4 @@
                 anyString());
         verify(mSuggestionControllerMixin).dismissSuggestion(mSuggestion);
     }
-
-    @Test
-    public void filterExclusiveSuggestions_shouldOnlyKeepFirst3() {
-        final List<Tile> suggestions = new ArrayList<>();
-        suggestions.add(new Tile(mActivityInfo, CategoryKey.CATEGORY_APPS));
-        suggestions.add(new Tile(mActivityInfo, CategoryKey.CATEGORY_APPS));
-        suggestions.add(new Tile(mActivityInfo, CategoryKey.CATEGORY_APPS));
-        suggestions.add(new Tile(mActivityInfo, CategoryKey.CATEGORY_APPS));
-        suggestions.add(new Tile(mActivityInfo, CategoryKey.CATEGORY_APPS));
-        suggestions.add(new Tile(mActivityInfo, CategoryKey.CATEGORY_APPS));
-        suggestions.add(new Tile(mActivityInfo, CategoryKey.CATEGORY_APPS));
-
-        mProvider.filterExclusiveSuggestions(suggestions);
-
-        assertThat(suggestions).hasSize(3);
-    }
 }
diff --git a/tests/robotests/src/com/android/settings/location/RecentLocationRequestPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/location/RecentLocationRequestPreferenceControllerTest.java
index 3d3dd28..10e5681 100644
--- a/tests/robotests/src/com/android/settings/location/RecentLocationRequestPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/location/RecentLocationRequestPreferenceControllerTest.java
@@ -42,10 +42,10 @@
 import com.android.settings.R;
 import com.android.settings.applications.appinfo.AppInfoDashboardFragment;
 import com.android.settings.testutils.SettingsRobolectricTestRunner;
-import com.android.settings.widget.AppPreference;
 import com.android.settingslib.core.lifecycle.Lifecycle;
 import com.android.settingslib.location.RecentLocationApps;
 import com.android.settingslib.location.RecentLocationApps.Request;
+import com.android.settingslib.widget.apppreference.AppPreference;
 
 import org.junit.Before;
 import org.junit.Test;
@@ -173,7 +173,7 @@
 
     @Test
     public void onPreferenceClick_shouldLaunchAppDetails() {
-        final Context context= mock(Context.class);
+        final Context context = mock(Context.class);
         when(mFragment.getContext()).thenReturn(context);
 
         final List<RecentLocationApps.Request> requests = new ArrayList<>();
@@ -210,7 +210,7 @@
             AppPreference appPreference = mock(AppPreference.class, "AppPreference" + i);
             doReturn(title).when(appPreference).getTitle();
             doReturn(appPreference)
-                .when(mController).createAppPreference(any(Context.class), eq(req));
+                    .when(mController).createAppPreference(any(Context.class), eq(req));
         }
         return requests;
     }
diff --git a/tests/robotests/src/com/android/settings/location/RecentLocationRequestSeeAllPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/location/RecentLocationRequestSeeAllPreferenceControllerTest.java
index a012c51..be56f96 100644
--- a/tests/robotests/src/com/android/settings/location/RecentLocationRequestSeeAllPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/location/RecentLocationRequestSeeAllPreferenceControllerTest.java
@@ -32,10 +32,10 @@
 import androidx.preference.PreferenceScreen;
 
 import com.android.settings.testutils.SettingsRobolectricTestRunner;
-import com.android.settings.widget.AppPreference;
 import com.android.settingslib.core.lifecycle.Lifecycle;
 import com.android.settingslib.location.RecentLocationApps;
 import com.android.settingslib.location.RecentLocationApps.Request;
+import com.android.settingslib.widget.apppreference.AppPreference;
 
 import org.junit.Before;
 import org.junit.Test;
diff --git a/tests/robotests/src/com/android/settings/testutils/SettingsRobolectricTestRunner.java b/tests/robotests/src/com/android/settings/testutils/SettingsRobolectricTestRunner.java
index 2e3a140..008d7f7 100644
--- a/tests/robotests/src/com/android/settings/testutils/SettingsRobolectricTestRunner.java
+++ b/tests/robotests/src/com/android/settings/testutils/SettingsRobolectricTestRunner.java
@@ -76,6 +76,8 @@
             paths.add(new ResourcePath(null,
                 Fs.fromURL(new URL("file:frameworks/base/packages/SettingsLib/res")), null));
             paths.add(new ResourcePath(null,
+                    Fs.fromURL(new URL("file:frameworks/base/packages/SettingsLib/AppPreference/res/")), null));
+            paths.add(new ResourcePath(null,
                     Fs.fromURL(new URL("file:frameworks/base/packages/SettingsLib/HelpUtils/res/")), null));
             paths.add(new ResourcePath(null,
                     Fs.fromURL(new URL("file:frameworks/base/packages/SettingsLib/RestrictedLockUtils/res/")), null));
diff --git a/tests/robotests/src/com/android/settings/widget/AppPreferenceTest.java b/tests/robotests/src/com/android/settings/widget/AppPreferenceTest.java
deleted file mode 100644
index c75d8fd..0000000
--- a/tests/robotests/src/com/android/settings/widget/AppPreferenceTest.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * Copyright (C) 2017 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.widget;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import android.content.Context;
-import android.view.View;
-
-import androidx.preference.PreferenceViewHolder;
-
-import com.android.settings.R;
-import com.android.settings.testutils.SettingsRobolectricTestRunner;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.robolectric.RuntimeEnvironment;
-
-@RunWith(SettingsRobolectricTestRunner.class)
-public class AppPreferenceTest {
-
-    private Context mContext;
-    private View mRootView;
-    private AppPreference mPref;
-    private PreferenceViewHolder mHolder;
-
-    @Before
-    public void setUp() {
-        mContext = RuntimeEnvironment.application;
-        mRootView = View.inflate(mContext, R.layout.preference_app, null /* parent */);
-        mHolder = PreferenceViewHolder.createInstanceForTests(mRootView);
-        mPref = new AppPreference(mContext);
-    }
-
-    @Test
-    public void setProgress_showProgress() {
-        mPref.setProgress(1);
-        mPref.onBindViewHolder(mHolder);
-
-        assertThat(mHolder.findViewById(android.R.id.progress).getVisibility())
-                .isEqualTo(View.VISIBLE);
-    }
-
-    @Test
-    public void setSummary_showSummaryContainer() {
-        mPref.setSummary("test");
-        mPref.onBindViewHolder(mHolder);
-
-        assertThat(mHolder.findViewById(R.id.summary_container).getVisibility())
-                .isEqualTo(View.VISIBLE);
-    }
-
-    @Test
-    public void noSummary_hideSummaryContainer() {
-        mPref.setSummary(null);
-        mPref.onBindViewHolder(mHolder);
-
-        assertThat(mHolder.findViewById(R.id.summary_container).getVisibility())
-                .isEqualTo(View.GONE);
-    }
-
-    @Test
-    public void foobar_testName() {
-        float iconSize = mContext.getResources().getDimension(R.dimen.secondary_app_icon_size);
-        assertThat(Float.floatToIntBits(iconSize)).isEqualTo(Float.floatToIntBits(32));
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/widget/EntityHeaderControllerTest.java b/tests/robotests/src/com/android/settings/widget/EntityHeaderControllerTest.java
index ff93b7e..cc9bee0 100644
--- a/tests/robotests/src/com/android/settings/widget/EntityHeaderControllerTest.java
+++ b/tests/robotests/src/com/android/settings/widget/EntityHeaderControllerTest.java
@@ -125,7 +125,7 @@
         mController.setLabel(testString);
         mController.setSummary(testString);
         mController.setSecondSummary(testString);
-        mController.setIcon(mShadowContext.getDrawable(R.drawable.ic_add));
+        mController.setIcon(mShadowContext.getDrawable(R.drawable.ic_add_24dp));
         mController.done(mActivity);
 
         assertThat(label).isNotNull();
@@ -238,7 +238,7 @@
         when(mFragment.getActivity()).thenReturn(mock(FragmentActivity.class));
         mController = EntityHeaderController.newInstance(mActivity, mFragment, view);
         String description = "Fake Description";
-        mController.setIcon(mShadowContext.getDrawable(R.drawable.ic_add));
+        mController.setIcon(mShadowContext.getDrawable(R.drawable.ic_add_24dp));
         mController.setIconContentDescription(description);
         mController.done(mActivity);
         assertThat(view.findViewById(R.id.entity_header_icon).getContentDescription().toString())
diff --git a/tests/uitests/src/com/android/settings/search/SearchData.java b/tests/uitests/src/com/android/settings/search/SearchData.java
deleted file mode 100644
index 201841b..0000000
--- a/tests/uitests/src/com/android/settings/search/SearchData.java
+++ /dev/null
@@ -1,81 +0,0 @@
-package uitests.src.com.android.settings.search;
-
-import android.text.TextUtils;
-import java.util.Objects;
-
-
-/**
- * Data class for {@link com.android.settings.search.SettingsSearchResultRegressionTest}
- */
-public class SearchData {
-  public final String title;
-  public final String key;
-
-  public String getTitle() {
-    return title;
-  }
-
-  public String getKey() {
-    return key;
-  }
-  public static final String DELIM = ";";
-
-  public static SearchData from(String searchDataString) {
-    String[] split = searchDataString.trim().split(DELIM, -1);
-
-    if (split.length != 2) {
-      throw new IllegalArgumentException("Arg is invalid: " + searchDataString);
-    }
-
-    return new SearchData.Builder()
-        .setTitle(split[0])
-        .setKey(split[1])
-        .build();
-  }
-
-  @Override
-  public String toString() {
-    return title + DELIM + key;
-  }
-
-  @Override
-  public boolean equals(Object obj) {
-    if (!(obj instanceof SearchData)) {
-      return false;
-    }
-
-    SearchData other = (SearchData) obj;
-    return TextUtils.equals(this.title, other.title)
-        && TextUtils.equals(this.key, other.key);
-  }
-
-  @Override
-  public int hashCode() {
-    return Objects.hash(title, key);
-  }
-
-  private SearchData(
-      SearchData.Builder builder) {
-    this.title = builder.title;
-    this.key = builder.key;
-  }
-
-  public static class Builder {
-    protected String title = "";
-    protected String key = "";
-
-    public SearchData build() {
-      return new SearchData(this);
-    }
-
-    public SearchData.Builder setTitle(String title) {
-      this.title = title;
-      return this;
-    }
-
-    public SearchData.Builder setKey(String key) {
-      this.key = key;
-      return this;
-    }
-  }
-}
diff --git a/tests/uitests/src/com/android/settings/search/SettingsSearchResultRegressionTest.java b/tests/uitests/src/com/android/settings/search/SettingsSearchResultRegressionTest.java
deleted file mode 100644
index 31900e4..0000000
--- a/tests/uitests/src/com/android/settings/search/SettingsSearchResultRegressionTest.java
+++ /dev/null
@@ -1,210 +0,0 @@
-
-/*
- * Copyright (C) 2018 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-package com.android.settings.search;
-
-import static com.google.common.truth.Truth.assertThat;
-import static com.google.common.truth.Truth.assertWithMessage;
-
-import android.content.ContentResolver;
-import android.content.Context;
-import android.database.Cursor;
-import android.net.Uri;
-
-import android.platform.test.annotations.Presubmit;
-import android.support.test.InstrumentationRegistry;
-import android.support.test.filters.SmallTest;
-import android.support.test.runner.AndroidJUnit4;
-import android.text.TextUtils;
-
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.HashSet;
-import java.util.Set;
-import org.junit.Before;
-import org.junit.Ignore;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
-import java.io.BufferedReader;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.util.ArrayList;
-import java.util.List;
-import uitests.src.com.android.settings.search.SearchData;
-
-@SmallTest
-@RunWith(AndroidJUnit4.class)
-public class SettingsSearchResultRegressionTest {
-
-  private Context mContext;
-
-  public interface IndexColumns {
-    String DATA_TITLE = "data_title";
-    String DATA_KEY_REF = "data_key_reference";
-  }
-
-  private static final String ERROR_RESULTS_MISSING =
-      "\nSettings search results missing. \n"
-          + "If the changes are intentional, we want to update the master-list.\n";
-
-  private static final String ERROR_NEW_RESULTS =
-      "\nNew settings search results have been found.\nIf the changes are intentional, we want to"
-      + "prevent the new results from regressing.\n";
-
-  private static final String ERROR_RERUN_TEST =
-      "Please re-run the test \"generate_search_result_list\" by removing the '@Ignore' annotation above 'generate_search_result_list' test, and run: \n"
-      + "$ runtest --path packages/apps/Settings/tests/uitests/src/com/android/settings/search/SettingsSearchResultRegressionTest.java \n"
-      + "and copy the output into 'packages/apps/Settings/tests/uitests/assets/search_result_list'\n";
-
-
-  @Before
-  public void setUp() {
-    mContext = InstrumentationRegistry.getContext();
-  }
-
-  /**
-   * Tests that the set of search results does not regress.
-   * <p>
-   *     The data set used here (/tests/unit/assets/search_results_list) needs to be updated
-   *     every once in a while so that we can check newly added results.
-   * </p>
-   */
-  @Test
-  @Presubmit
-  public void searchResultsDoNotRegress() {
-    final ContentResolver resolver = mContext.getContentResolver();
-    final Uri uri = getTestProviderUri();
-    final Cursor cursor = resolver.query(uri, null, null, null, null);
-
-    if (cursor == null) {
-      // Assume Settings Intelligence is wrong.
-      return;
-    }
-
-    final Set<SearchData> availableSearchResults = getSearchDataFromCursor(cursor);
-    final Set<SearchData> registeredSearchResults = getRegisteredResults();
-
-    // Seed with results that we expect
-    final Set<SearchData> missingSearchResults = new HashSet<>(registeredSearchResults);
-    // Seed with results that are available
-    final Set<SearchData> newSearchResults = new HashSet<>(availableSearchResults);
-
-    // Remove all available results, leaving results that have been removed.
-    missingSearchResults.removeAll(availableSearchResults);
-    // Remove all results we expect, leaving results that have not yet been registered.
-    newSearchResults.removeAll(registeredSearchResults);
-
-    assertWithMessage(ERROR_RESULTS_MISSING + ERROR_RERUN_TEST)
-        .that(missingSearchResults).isEmpty();
-    assertWithMessage(ERROR_NEW_RESULTS + ERROR_RERUN_TEST).that(newSearchResults).isEmpty();
-  }
-
-  // TODO (b/113907111) add a test to catch duplicate title search results.
-
-  /**
-   * Test to generate a new list of search results. Uncomment the Test annotation and run the
-   * test to generate the list.
-   */
-  @Ignore
-  @Test
-  public void generate_search_result_list() {
-    final ContentResolver resolver = mContext.getContentResolver();
-    final Uri uri = getTestProviderUri();
-    final Cursor cursor = resolver.query(uri, null, null, null, null);
-    final List<SearchData> availableSearchResults =
-        new ArrayList<>(getSearchDataFromCursor(cursor));
-
-    Collections.sort(availableSearchResults, Comparator.comparing(SearchData::getTitle)
-        .thenComparing(SearchData::getKey));
-
-    assertThat(generateListFromSearchData(availableSearchResults)).isNull();
-  }
-
-  private Set<SearchData> getSearchDataFromCursor(Cursor cursor) {
-    final Set<SearchData> searchData = new HashSet<>();
-
-    final int titleIndex = cursor.getColumnIndex(
-        IndexColumns.DATA_TITLE);
-    final int keyIndex = cursor.getColumnIndex(
-        IndexColumns.DATA_KEY_REF);
-
-    while (cursor.moveToNext()) {
-      String title = cursor.getString(titleIndex);
-      String key = cursor.getString(keyIndex);
-
-      if (TextUtils.isEmpty(title)) {
-        title = "";
-      }
-
-      if (TextUtils.isEmpty(key)) {
-        key = "";
-      }
-
-      searchData.add(new SearchData.Builder()
-          .setTitle(title)
-          .setKey(key)
-          .build());
-    }
-
-    return searchData;
-  }
-
-  /**
-   * Utility method to generate the list of search results that this class uses to validate
-   * results.
-   */
-  private String generateListFromSearchData(List<SearchData> searchData) {
-    StringBuilder builder = new StringBuilder();
-    for (SearchData searchResult : searchData) {
-      builder.append(searchResult.title)
-          .append(
-              SearchData.DELIM)
-          .append(searchResult.key)
-          .append("\n");
-    }
-    return builder.toString();
-  }
-
-  private Uri getTestProviderUri() {
-    return new Uri.Builder()
-        .scheme(ContentResolver.SCHEME_CONTENT)
-        .authority("com.google.android.settings.intelligence.modules.search.regression")
-        .build();
-  }
-
-  private Set<SearchData> getRegisteredResults() {
-    final String filename = "search_results_list";
-    final Set<SearchData> registeredResults = new HashSet<>();
-
-    try {
-      final InputStream in = mContext.getAssets().open(filename);
-      BufferedReader reader = new BufferedReader(new InputStreamReader(in));
-      String line;
-      while ((line = reader.readLine()) != null) {
-        registeredResults.add(
-            SearchData.from(line));
-      }
-    } catch (Exception e) {
-      throw new IllegalArgumentException("Error initializing registered result list "
-          + filename, e);
-    }
-
-    return registeredResults;
-  }
-}
\ No newline at end of file
diff --git a/tests/uitests/src/com/android/settings/ui/search/SearchData.java b/tests/uitests/src/com/android/settings/ui/search/SearchData.java
new file mode 100644
index 0000000..6a898bb
--- /dev/null
+++ b/tests/uitests/src/com/android/settings/ui/search/SearchData.java
@@ -0,0 +1,99 @@
+/*
+ * Copyright (C) 2018 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.ui.search;
+
+import android.text.TextUtils;
+
+import java.util.Objects;
+
+
+/**
+ * Data class for {@link SettingsSearchResultRegressionTest}
+ */
+public class SearchData {
+    public final String title;
+    public final String key;
+
+    public String getTitle() {
+        return title;
+    }
+
+    public String getKey() {
+        return key;
+    }
+
+    public static final String DELIM = ";";
+
+    public static SearchData from(String searchDataString) {
+        String[] split = searchDataString.trim().split(DELIM, -1);
+
+        if (split.length != 2) {
+            throw new IllegalArgumentException("Arg is invalid: " + searchDataString);
+        }
+
+        return new SearchData.Builder()
+                .setTitle(split[0])
+                .setKey(split[1])
+                .build();
+    }
+
+    @Override
+    public String toString() {
+        return title + DELIM + key;
+    }
+
+    @Override
+    public boolean equals(Object obj) {
+        if (!(obj instanceof SearchData)) {
+            return false;
+        }
+
+        SearchData other = (SearchData) obj;
+        return TextUtils.equals(this.title, other.title)
+                && TextUtils.equals(this.key, other.key);
+    }
+
+    @Override
+    public int hashCode() {
+        return Objects.hash(title, key);
+    }
+
+    private SearchData(
+            SearchData.Builder builder) {
+        this.title = builder.title;
+        this.key = builder.key;
+    }
+
+    public static class Builder {
+        protected String title = "";
+        protected String key = "";
+
+        public SearchData build() {
+            return new SearchData(this);
+        }
+
+        public SearchData.Builder setTitle(String title) {
+            this.title = title;
+            return this;
+        }
+
+        public SearchData.Builder setKey(String key) {
+            this.key = key;
+            return this;
+        }
+    }
+}
diff --git a/tests/uitests/src/com/android/settings/ui/search/SettingsSearchResultRegressionTest.java b/tests/uitests/src/com/android/settings/ui/search/SettingsSearchResultRegressionTest.java
new file mode 100644
index 0000000..73cfb3e
--- /dev/null
+++ b/tests/uitests/src/com/android/settings/ui/search/SettingsSearchResultRegressionTest.java
@@ -0,0 +1,234 @@
+
+/*
+ * Copyright (C) 2018 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.ui.search;
+
+import static com.google.common.truth.Truth.assertThat;
+import static com.google.common.truth.Truth.assertWithMessage;
+
+import android.content.ContentResolver;
+import android.content.Context;
+import android.content.Intent;
+import android.content.pm.ResolveInfo;
+import android.database.Cursor;
+import android.net.Uri;
+import android.platform.test.annotations.Presubmit;
+import android.support.test.InstrumentationRegistry;
+import android.support.test.filters.SmallTest;
+import android.support.test.runner.AndroidJUnit4;
+import android.text.TextUtils;
+import android.util.Log;
+
+import org.junit.Before;
+import org.junit.Ignore;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+import java.io.BufferedReader;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+
+@SmallTest
+@RunWith(AndroidJUnit4.class)
+public class SettingsSearchResultRegressionTest {
+
+    private static final String TAG = "SearchRegressionTest";
+
+    private Context mContext;
+
+    public interface IndexColumns {
+        String DATA_TITLE = "data_title";
+        String DATA_KEY_REF = "data_key_reference";
+    }
+
+    private static final String ERROR_RESULTS_MISSING =
+            "\nSettings search results missing. \n"
+                    + "If the changes are intentional, we want to update the master-list.\n";
+
+    private static final String ERROR_NEW_RESULTS =
+            "\nNew settings search results have been found.\nIf the changes are intentional, we "
+                    + "want to"
+                    + "prevent the new results from regressing.\n";
+
+    private static final String ERROR_RERUN_TEST =
+            "Please re-run the test \"generate_search_result_list\" by removing the '@Ignore' "
+                    + "annotation above 'generate_search_result_list' test, and run: \n"
+                    + "$ runtest --path "
+                    + "packages/apps/Settings/tests/uitests/src/com/android/settings/search"
+                    + "/SettingsSearchResultRegressionTest.java \n"
+                    + "and copy the output into "
+                    + "'packages/apps/Settings/tests/uitests/assets/search_result_list'\n";
+
+
+    @Before
+    public void setUp() {
+        mContext = InstrumentationRegistry.getContext();
+    }
+
+    /**
+     * Tests that the set of search results does not regress.
+     * <p>
+     * The data set used here (/tests/unit/assets/search_results_list) needs to be updated
+     * every once in a while so that we can check newly added results.
+     * </p>
+     */
+    @Test
+    @Presubmit
+    public void searchResultsDoNotRegress() {
+        final ContentResolver resolver = mContext.getContentResolver();
+        final Uri uri = getTestProviderUri();
+        if (uri == null) {
+            Log.e(TAG, "Something is wrong getting test provider uri, skipping");
+            return;
+        }
+        final Cursor cursor = resolver.query(uri, null, null, null, null);
+
+        if (cursor == null) {
+            // Assume Settings Intelligence is wrong.
+            return;
+        }
+
+        final Set<SearchData> availableSearchResults = getSearchDataFromCursor(cursor);
+        final Set<SearchData> registeredSearchResults = getRegisteredResults();
+
+        // Seed with results that we expect
+        final Set<SearchData> missingSearchResults = new HashSet<>(registeredSearchResults);
+        // Seed with results that are available
+        final Set<SearchData> newSearchResults = new HashSet<>(availableSearchResults);
+
+        // Remove all available results, leaving results that have been removed.
+        missingSearchResults.removeAll(availableSearchResults);
+        // Remove all results we expect, leaving results that have not yet been registered.
+        newSearchResults.removeAll(registeredSearchResults);
+
+        assertWithMessage(ERROR_RESULTS_MISSING + ERROR_RERUN_TEST)
+                .that(missingSearchResults).isEmpty();
+        assertWithMessage(ERROR_NEW_RESULTS + ERROR_RERUN_TEST).that(newSearchResults).isEmpty();
+    }
+
+    // TODO (b/113907111) add a test to catch duplicate title search results.
+
+    /**
+     * Test to generate a new list of search results. Uncomment the Test annotation and run the
+     * test to generate the list.
+     */
+    @Ignore
+    @Test
+    public void generate_search_result_list() {
+        final ContentResolver resolver = mContext.getContentResolver();
+        final Uri uri = getTestProviderUri();
+        if (uri == null) {
+            Log.e(TAG, "Something is wrong getting test provider uri, skipping");
+            return;
+        }
+        final Cursor cursor = resolver.query(uri, null, null, null, null);
+        final List<SearchData> availableSearchResults =
+                new ArrayList<>(getSearchDataFromCursor(cursor));
+
+        Collections.sort(availableSearchResults, Comparator.comparing(SearchData::getTitle)
+                .thenComparing(SearchData::getKey));
+
+        assertThat(generateListFromSearchData(availableSearchResults)).isNull();
+    }
+
+    private Set<SearchData> getSearchDataFromCursor(Cursor cursor) {
+        final Set<SearchData> searchData = new HashSet<>();
+
+        final int titleIndex = cursor.getColumnIndex(
+                IndexColumns.DATA_TITLE);
+        final int keyIndex = cursor.getColumnIndex(
+                IndexColumns.DATA_KEY_REF);
+
+        while (cursor.moveToNext()) {
+            String title = cursor.getString(titleIndex);
+            String key = cursor.getString(keyIndex);
+
+            if (TextUtils.isEmpty(title)) {
+                title = "";
+            }
+
+            if (TextUtils.isEmpty(key)) {
+                key = "";
+            }
+
+            searchData.add(new SearchData.Builder()
+                    .setTitle(title)
+                    .setKey(key)
+                    .build());
+        }
+
+        return searchData;
+    }
+
+    /**
+     * Utility method to generate the list of search results that this class uses to validate
+     * results.
+     */
+    private String generateListFromSearchData(List<SearchData> searchData) {
+        StringBuilder builder = new StringBuilder();
+        for (SearchData searchResult : searchData) {
+            builder.append(searchResult.title)
+                    .append(
+                            SearchData.DELIM)
+                    .append(searchResult.key)
+                    .append("\n");
+        }
+        return builder.toString();
+    }
+
+    private Uri getTestProviderUri() {
+        final Intent providerIntent = new Intent("com.android.settings.intelligence.DUMP_INDEX");
+
+        final List<ResolveInfo> info = mContext.getPackageManager().queryIntentContentProviders(
+                providerIntent, 0 /* flags */);
+        if (info.size() != 1) {
+            Log.e(TAG, "Unexpected number of DUMP_INDEX providers, skipping. Expected 1, Found "
+                    + info.size());
+            return null;
+        }
+        return new Uri.Builder()
+                .scheme(ContentResolver.SCHEME_CONTENT)
+                .authority(info.get(0).providerInfo.authority)
+                .build();
+    }
+
+    private Set<SearchData> getRegisteredResults() {
+        final String filename = "search_results_list";
+        final Set<SearchData> registeredResults = new HashSet<>();
+
+        try {
+            final InputStream in = mContext.getAssets().open(filename);
+            BufferedReader reader = new BufferedReader(new InputStreamReader(in));
+            String line;
+            while ((line = reader.readLine()) != null) {
+                registeredResults.add(
+                        SearchData.from(line));
+            }
+        } catch (Exception e) {
+            throw new IllegalArgumentException("Error initializing registered result list "
+                    + filename, e);
+        }
+
+        return registeredResults;
+    }
+}
\ No newline at end of file
