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/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_volume_slider.xml b/res/layout/preference_volume_slider.xml
index 5e5d595..da3a028 100644
--- a/res/layout/preference_volume_slider.xml
+++ b/res/layout/preference_volume_slider.xml
@@ -45,8 +45,8 @@
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:orientation="vertical"
-        android:layout_marginTop="16dip"
-        android:layout_marginBottom="16dip">
+        android:layout_marginTop="8dp"
+        android:layout_marginBottom="8dp">
 
         <LinearLayout
             android:layout_width="match_parent"
@@ -75,15 +75,14 @@
         <LinearLayout
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
-            android:orientation="vertical"
-            android:layout_marginTop="6dp">
+            android:orientation="vertical">
 
             <SeekBar
                 android:id="@*android:id/seekbar"
                 android:layout_gravity="center_vertical"
                 android:paddingStart="12dp"
                 android:layout_width="match_parent"
-                android:layout_height="wrap_content"/>
+                android:layout_height="48dp"/>
 
             <TextView
                 android:id="@+id/suppression_text"
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/dimens.xml b/res/values/dimens.xml
index 37b3c4b..e28bc98 100755
--- a/res/values/dimens.xml
+++ b/res/values/dimens.xml
@@ -351,4 +351,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..04852e0 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -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/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/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/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/RecentAppsPreferenceController.java b/src/com/android/settings/applications/RecentAppsPreferenceController.java
index b3c8bc4..c866474 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;
@@ -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/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/homepage/slices/SliceContextualCardRenderer.java b/src/com/android/settings/homepage/slices/SliceContextualCardRenderer.java
index 983b4aa..705b990 100644
--- a/src/com/android/settings/homepage/slices/SliceContextualCardRenderer.java
+++ b/src/com/android/settings/homepage/slices/SliceContextualCardRenderer.java
@@ -84,7 +84,7 @@
 
         cardHolder.sliceView.setTag(uri);
         //TODO(b/114009676): We will soon have a field to decide what slice mode we should set.
-        cardHolder.sliceView.setMode(SliceView.MODE_SHORTCUT);
+        cardHolder.sliceView.setMode(SliceView.MODE_LARGE);
         LiveData<Slice> sliceLiveData = mSliceLiveDataMap.get(uri.toString());
 
         if (sliceLiveData == null) {
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/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/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/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/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
