diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 9b2cf24..97de9a5 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -273,10 +273,6 @@
                 <action android:name="android.settings.WIFI_SETTINGS" />
                 <category android:name="android.intent.category.DEFAULT" />
             </intent-filter>
-            <intent-filter android:priority="1">
-                <action android:name="android.intent.action.MAIN" />
-                <category android:name="com.android.settings.SHORTCUT" />
-            </intent-filter>
             <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
                 android:value="com.android.settings.wifi.WifiSettings" />
             <meta-data android:name="com.android.settings.PRIMARY_PROFILE_CONTROLLED"
@@ -285,7 +281,7 @@
 
         <activity
             android:name="Settings$NetworkProviderSettingsActivity"
-            android:label="@string/network_dashboard_title"
+            android:label="@string/provider_internet_settings"
             android:icon="@drawable/ic_homepage_network"
             android:exported="true"
             android:configChanges="orientation|keyboardHidden|screenSize">
@@ -304,6 +300,26 @@
         </activity>
 
         <activity
+            android:name="Settings$WifiDetailsSettingsActivity"
+            android:label="@string/wifi_details_title"
+            android:icon="@drawable/ic_homepage_network"
+            android:exported="true"
+            android:permission="android.permission.CHANGE_WIFI_STATE"
+            android:configChanges="orientation|keyboardHidden|screenSize">
+            <!-- The intent action is only public to OEM, because a special library is required. -->
+            <intent-filter android:priority="1">
+                <action android:name="android.settings.WIFI_DETAILS_SETTINGS" />
+                <category android:name="android.intent.category.DEFAULT" />
+            </intent-filter>
+            <meta-data
+                android:name="com.android.settings.FRAGMENT_CLASS"
+                android:value="com.android.settings.wifi.details.WifiNetworkDetailsFragment" />
+            <meta-data
+                android:name="com.android.settings.PRIMARY_PROFILE_CONTROLLED"
+                android:value="true" />
+        </activity>
+
+        <activity
             android:name=".wifi.WifiPickerActivity"
             android:exported="true">
             <intent-filter android:priority="1">
diff --git a/res/drawable-nodpi/color_mode_preview.jpg b/res/drawable-nodpi/color_mode_preview.jpg
deleted file mode 100644
index 804bcf1..0000000
--- a/res/drawable-nodpi/color_mode_preview.jpg
+++ /dev/null
Binary files differ
diff --git a/res/drawable-nodpi/color_mode_preview1.jpg b/res/drawable-nodpi/color_mode_preview1.jpg
new file mode 100644
index 0000000..71bcb7e
--- /dev/null
+++ b/res/drawable-nodpi/color_mode_preview1.jpg
Binary files differ
diff --git a/res/drawable-nodpi/color_mode_preview2.jpg b/res/drawable-nodpi/color_mode_preview2.jpg
new file mode 100644
index 0000000..4153d8e
--- /dev/null
+++ b/res/drawable-nodpi/color_mode_preview2.jpg
Binary files differ
diff --git a/res/drawable-nodpi/color_mode_preview3.jpg b/res/drawable-nodpi/color_mode_preview3.jpg
new file mode 100644
index 0000000..ab83f08
--- /dev/null
+++ b/res/drawable-nodpi/color_mode_preview3.jpg
Binary files differ
diff --git a/res/drawable/ic_color_arrow_left_lt.xml b/res/drawable/ic_color_arrow_left_lt.xml
new file mode 100644
index 0000000..237a1a3
--- /dev/null
+++ b/res/drawable/ic_color_arrow_left_lt.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+    Copyright 2021 The Android Open Source Project
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="24dp"
+    android:height="24dp"
+    android:viewportWidth="24"
+    android:viewportHeight="24">
+  <path
+      android:pathData="M0,0h24v24h-24z"/>
+  <path
+      android:pathData="M16.41,18.59L15,20L7,12L15,4L16.41,5.41L9.83,12"
+      android:fillColor="?android:attr/colorAccent"
+      android:fillType="evenOdd"/>
+</vector>
diff --git a/res/drawable/ic_color_arrow_right_lt.xml b/res/drawable/ic_color_arrow_right_lt.xml
new file mode 100644
index 0000000..5107243
--- /dev/null
+++ b/res/drawable/ic_color_arrow_right_lt.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+    Copyright 2021 The Android Open Source Project
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="24dp"
+    android:height="24dp"
+    android:viewportWidth="24"
+    android:viewportHeight="24">
+  <path
+      android:pathData="M0,0h24v24h-24z"/>
+  <path
+      android:pathData="M7.59,5.41L9,4L17,12L9,20L7.59,18.59L14.17,12"
+      android:fillColor="?android:attr/colorAccent"
+      android:fillType="evenOdd"/>
+</vector>
diff --git a/res/drawable/ic_color_page_indicator_focused.xml b/res/drawable/ic_color_page_indicator_focused.xml
new file mode 100644
index 0000000..6173358
--- /dev/null
+++ b/res/drawable/ic_color_page_indicator_focused.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+    Copyright 2021 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="6dp"
+    android:height="6dp"
+    android:viewportWidth="6"
+    android:viewportHeight="6">
+  <path
+      android:pathData="M3,0C4.65686,0 6,1.34315 6,3C6,4.65686 4.65685,6 3,6C1.34315,6 0,4.65685 0,3C0,1.34315 1.34315,0 3,0Z"
+      android:fillColor="?android:attr/colorAccent"
+      android:fillType="evenOdd"/>
+</vector>
diff --git a/res/drawable/ic_color_page_indicator_unfocused.xml b/res/drawable/ic_color_page_indicator_unfocused.xml
new file mode 100644
index 0000000..57a13d8
--- /dev/null
+++ b/res/drawable/ic_color_page_indicator_unfocused.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+    Copyright 2021 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="6dp"
+    android:height="6dp"
+    android:viewportWidth="6"
+    android:viewportHeight="6">
+  <path
+      android:pathData="M3,0C4.65686,0 6,1.34315 6,3C6,4.65686 4.65685,6 3,6C1.34315,6 0,4.65685 0,3C0,1.34315 1.34315,0 3,0Z"
+      android:fillColor="?android:attr/colorAccent"
+      android:fillAlpha="0.24"
+      android:fillType="evenOdd"/>
+</vector>
diff --git a/res/layout/battery_chart_graph.xml b/res/layout/battery_chart_graph.xml
index db86693..e89c912 100644
--- a/res/layout/battery_chart_graph.xml
+++ b/res/layout/battery_chart_graph.xml
@@ -40,12 +40,14 @@
         android:contentDescription="@string/battery_usage_chart"
         android:textAppearance="?android:attr/textAppearanceSmall"
         settings:textColor="?android:attr/textColorSecondary" />
+    <!-- Use non-scalable text size from text_size_small_material -->
     <TextView
         android:id="@+id/companion_text"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:visibility="gone"
         android:textAppearance="?android:attr/textAppearanceSmall"
-        android:textColor="?android:attr/textColorSecondary"/>
+        android:textColor="?android:attr/textColorSecondary"
+        android:textSize="14dp" />
 
 </LinearLayout>
diff --git a/res/layout/color_mode_preview.xml b/res/layout/color_mode_preview.xml
index 88b8281..b8601c9 100644
--- a/res/layout/color_mode_preview.xml
+++ b/res/layout/color_mode_preview.xml
@@ -14,16 +14,55 @@
      limitations under the License.
 -->
 
-<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="wrap_content">
-
-    <ImageView
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+        android:orientation="vertical"
         android:layout_width="match_parent"
-        android:layout_height="@dimen/color_mode_preview_height"
-        android:scaleType="centerCrop"
-        android:cropToPadding="true"
-        android:src="@drawable/color_mode_preview"
-        android:contentDescription="@null" />
+        android:layout_height="wrap_content">
 
-</FrameLayout>
+    <androidx.viewpager.widget.ViewPager
+        android:id="@+id/viewpager"
+        android:layout_width="match_parent"
+        android:layout_height="@dimen/color_mode_preview_height"/>
+
+    <FrameLayout
+        android:layout_width="match_parent"
+        android:layout_height="48dp">
+
+        <FrameLayout
+            android:id="@+id/arrow_previous"
+            android:layout_width="wrap_content"
+            android:layout_height="48dp"
+            android:paddingLeft="24dp"
+            android:layout_gravity="center_vertical|left"
+            android:contentDescription="@string/previous_page_content_description">
+
+            <ImageView
+                android:layout_width="24dp"
+                android:layout_height="24dp"
+                android:layout_gravity="center"
+                android:src="@drawable/ic_color_arrow_left_lt"/>
+        </FrameLayout>
+
+        <LinearLayout
+            android:id="@+id/viewGroup"
+            android:layout_width="fill_parent"
+            android:layout_height="48dp"
+            android:gravity="center"/>
+
+        <FrameLayout
+            android:id="@+id/arrow_next"
+            android:layout_width="wrap_content"
+            android:layout_height="48dp"
+            android:paddingRight="24dp"
+            android:layout_gravity="center_vertical|right"
+            android:contentDescription="@string/next_page_content_description">
+
+            <ImageView
+                android:layout_width="24dp"
+                android:layout_height="24dp"
+                android:layout_gravity="center"
+                android:src="@drawable/ic_color_arrow_right_lt"/>
+        </FrameLayout>
+    </FrameLayout>
+
+</LinearLayout>
diff --git a/res/layout/color_mode_view1.xml b/res/layout/color_mode_view1.xml
new file mode 100644
index 0000000..4bdaec1
--- /dev/null
+++ b/res/layout/color_mode_view1.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2021 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<LinearLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:orientation="vertical">
+
+    <FrameLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:foregroundGravity="center_horizontal">
+
+        <ImageView
+            android:id="@+id/image1"
+            android:layout_width="match_parent"
+            android:layout_height="@dimen/color_mode_preview_height"
+            android:scaleType="centerCrop"
+            android:cropToPadding="true"
+            android:src="@drawable/color_mode_preview1"
+            android:contentDescription="@null" />
+
+    </FrameLayout>
+</LinearLayout>
diff --git a/res/layout/color_mode_view2.xml b/res/layout/color_mode_view2.xml
new file mode 100644
index 0000000..c70fa75
--- /dev/null
+++ b/res/layout/color_mode_view2.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2021 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<LinearLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:orientation="vertical">
+
+    <FrameLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:foregroundGravity="center_horizontal">
+
+        <ImageView
+            android:id="@+id/image2"
+            android:layout_width="match_parent"
+            android:layout_height="@dimen/color_mode_preview_height"
+            android:scaleType="centerCrop"
+            android:cropToPadding="true"
+            android:src="@drawable/color_mode_preview2"
+            android:contentDescription="@null" />
+
+    </FrameLayout>
+</LinearLayout>
diff --git a/res/layout/color_mode_view3.xml b/res/layout/color_mode_view3.xml
new file mode 100644
index 0000000..430e3b2
--- /dev/null
+++ b/res/layout/color_mode_view3.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2021 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<LinearLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:orientation="vertical">
+
+    <FrameLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:foregroundGravity="center_horizontal">
+
+        <ImageView
+            android:id="@+id/image3"
+            android:layout_width="match_parent"
+            android:layout_height="@dimen/color_mode_preview_height"
+            android:scaleType="centerCrop"
+            android:cropToPadding="true"
+            android:src="@drawable/color_mode_preview3"
+            android:contentDescription="@null" />
+
+    </FrameLayout>
+</LinearLayout>
diff --git a/res/layout/notification_history_app_layout.xml b/res/layout/notification_history_app_layout.xml
index 8f66628..24a43c6 100644
--- a/res/layout/notification_history_app_layout.xml
+++ b/res/layout/notification_history_app_layout.xml
@@ -78,13 +78,14 @@
         android:layout_height="1dp"
         android:background="?android:attr/listDivider"/>
 
-        <com.android.settings.notification.history.NotificationHistoryRecyclerView
-            android:id="@+id/notification_list"
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:clipChildren="true"
-            android:clipToPadding="true"
-            android:importantForAccessibility="yes"
-            android:scrollbars="none"/>
+    <com.android.settings.notification.history.NotificationHistoryRecyclerView
+        android:id="@+id/notification_list"
+        android:layout_width="match_parent"
+        android:layout_height="500dp"
+        android:clipChildren="true"
+        android:clipToPadding="true"
+        android:clipToOutline="true"
+        android:importantForAccessibility="yes"
+        android:scrollbars="none"/>
 
 </LinearLayout>
\ No newline at end of file
diff --git a/res/layout/preference_labeled_slider.xml b/res/layout/preference_labeled_slider.xml
index 75902cf..f120a44 100644
--- a/res/layout/preference_labeled_slider.xml
+++ b/res/layout/preference_labeled_slider.xml
@@ -37,9 +37,18 @@
         android:textAppearance="?android:attr/textAppearanceListItem"
         android:textColor="?android:attr/textColorPrimary" />
 
+    <TextView
+        android:id="@android:id/summary"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_below="@android:id/title"
+        android:textAppearance="?android:attr/textAppearanceSmall"
+        android:textAlignment="viewStart"
+        android:textColor="?android:attr/textColorSecondary" />
+
     <SeekBar
         android:id="@*android:id/seekbar"
-        android:layout_below="@android:id/title"
+        android:layout_below="@android:id/summary"
         android:layout_gravity="center_vertical"
         android:layout_width="match_parent"
         android:layout_height="48dp"
diff --git a/res/values-af/strings.xml b/res/values-af/strings.xml
index 3f5644a..9c959e9 100644
--- a/res/values-af/strings.xml
+++ b/res/values-af/strings.xml
@@ -5397,6 +5397,10 @@
     <string name="power_menu_long_press_for_assist_summary" msgid="8251928804984560312">"Aktiveer die Assistent deur die aan/af-skakelaar te hou"</string>
     <string name="power_menu_power_volume_up_hint" msgid="1733051433583045623">"Aan/af- en noodkieslys:\nDruk tegelyk aan/af-skakelaar en volume harder."</string>
     <string name="power_menu_power_prevent_ringing_hint" msgid="5786494894009727654">"Keer dat dit lui:\nKortpad in die volumekieslys beskikbaar."</string>
+    <string name="power_menu_long_press_for_assist_sensitivity_title" msgid="1626808509158422185">"Hoe lank om te druk en hou"</string>
+    <string name="power_menu_long_press_for_assist_sensitivity_summary" msgid="7550610071666801935">"Verstel sensitiwiteit deur te kies hoe lank jy die aan/af-skakelaar moet druk en hou"</string>
+    <string name="power_menu_long_press_for_assist_sensitivity_low_label" msgid="3430099983480845635">"Kort"</string>
+    <string name="power_menu_long_press_for_assist_sensitivity_high_label" msgid="2059686170350829156">"Lank"</string>
     <string name="lockscreen_privacy_wallet_setting_toggle" msgid="4188327143734192000">"Wys beursie"</string>
     <string name="lockscreen_privacy_wallet_summary" msgid="5388868513484652431">"Laat toegang tot beursie vanaf sluitskerm en kitsinstellings toe"</string>
     <string name="lockscreen_privacy_controls_setting_toggle" msgid="7445725343949588613">"Wys toestelkontroles"</string>
@@ -5537,6 +5541,9 @@
     <string name="sensor_toggle_description" msgid="8248823248606795411">"Vir alle programme en dienste"</string>
     <string name="game_settings_title" msgid="1028178627743422090">"Speletjie-instellings"</string>
     <string name="game_settings_summary" msgid="2548056479103747555">"Skakel Spelkontroleskerm-kortpad ensovoorts aan"</string>
+    <string name="previous_page_content_description" msgid="6438292457923282991">"Vorige"</string>
+    <string name="next_page_content_description" msgid="1641835099813416294">"Volgende"</string>
+    <string name="colors_viewpager_content_description" msgid="2591751086138259565">"Kleurvoorskou"</string>
     <string name="bluetooth_sim_card_access_notification_title" msgid="5217037846900908318">"Versoek vir toegang tot SIM-kaart"</string>
     <string name="bluetooth_sim_card_access_notification_content" msgid="6759306429895300286">"\'n Toestel wil toegang tot jou SIM-kaart hê. Tik vir besonderhede."</string>
     <string name="bluetooth_sim_card_access_dialog_title" msgid="4486768729352090174">"Laat toegang tot SIM-kaart toe?"</string>
diff --git a/res/values-am/strings.xml b/res/values-am/strings.xml
index 1a33883..f9276de 100644
--- a/res/values-am/strings.xml
+++ b/res/values-am/strings.xml
@@ -5397,6 +5397,14 @@
     <string name="power_menu_long_press_for_assist_summary" msgid="8251928804984560312">"የኃይል አዝራሩን በመያዝ ረዳቱን ያስነሱ"</string>
     <string name="power_menu_power_volume_up_hint" msgid="1733051433583045623">"የኃይል እና ድንገተኛ አደጋ ምናሌ፦\nበተመሳሳይ ጊዜ ኃይልን እና ድምፅ ጨምርን ይጫኑ።"</string>
     <string name="power_menu_power_prevent_ringing_hint" msgid="5786494894009727654">"መደወልን ይከላከሉ፦\nበድምጽ ምናሌው ውስጥ አቋራጭ ይገኛል።"</string>
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_title (1626808509158422185) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_summary (7550610071666801935) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_low_label (3430099983480845635) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_high_label (2059686170350829156) -->
+    <skip />
     <string name="lockscreen_privacy_wallet_setting_toggle" msgid="4188327143734192000">"የኪስ ቦርሳን አሳይ"</string>
     <string name="lockscreen_privacy_wallet_summary" msgid="5388868513484652431">"ከማያ ገጽ ቁልፍ እና ፈጣን ቅንብሮች ሆነው የኪስ ቦርሳ መድረሻን ይፍቀዱ"</string>
     <string name="lockscreen_privacy_controls_setting_toggle" msgid="7445725343949588613">"የመሣሪያ መቆጣጠሪያዎችን አሳይ"</string>
@@ -5537,6 +5545,9 @@
     <string name="sensor_toggle_description" msgid="8248823248606795411">"ለሁሉም መተግበሪያዎች እና አገልግሎቶች"</string>
     <string name="game_settings_title" msgid="1028178627743422090">"የጨዋታ ቅንብሮች"</string>
     <string name="game_settings_summary" msgid="2548056479103747555">"የጨዋታ ዳሽቦርድ አቋራጭን ያብሩ ወዘተ"</string>
+    <string name="previous_page_content_description" msgid="6438292457923282991">"ቀዳሚ"</string>
+    <string name="next_page_content_description" msgid="1641835099813416294">"ቀጣይ"</string>
+    <string name="colors_viewpager_content_description" msgid="2591751086138259565">"የቀለም ቅድመ-እይታ"</string>
     <string name="bluetooth_sim_card_access_notification_title" msgid="5217037846900908318">"የሲም ካርድ መዳረሻ ጥያቄ"</string>
     <string name="bluetooth_sim_card_access_notification_content" msgid="6759306429895300286">"አንድ መሣሪያ ሲም ካርድዎን መድረስ ይፈልጋል። ዝርዝሮችን ለማግኘት መታ ያድርጉ።"</string>
     <string name="bluetooth_sim_card_access_dialog_title" msgid="4486768729352090174">"የሲም ካርድ መዳረሻ ይፈቀድ?"</string>
diff --git a/res/values-ar/strings.xml b/res/values-ar/strings.xml
index 1408066..37a3caa 100644
--- a/res/values-ar/strings.xml
+++ b/res/values-ar/strings.xml
@@ -5753,6 +5753,14 @@
     <string name="power_menu_long_press_for_assist_summary" msgid="8251928804984560312">"‏تشغيل \"مساعد Google\" عن طريق الضغط مع الاستمرار على زر التشغيل"</string>
     <string name="power_menu_power_volume_up_hint" msgid="1733051433583045623">"قائمة زر التشغيل وحالات الطوارئ:\nاضغط على زرَّي التشغيل ورفع الصوت في آنٍ واحد."</string>
     <string name="power_menu_power_prevent_ringing_hint" msgid="5786494894009727654">"منع الرنين:\nالاختصار متاح في قائمة مفتاح مستوى الصوت."</string>
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_title (1626808509158422185) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_summary (7550610071666801935) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_low_label (3430099983480845635) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_high_label (2059686170350829156) -->
+    <skip />
     <string name="lockscreen_privacy_wallet_setting_toggle" msgid="4188327143734192000">"إظهار المحفظة"</string>
     <string name="lockscreen_privacy_wallet_summary" msgid="5388868513484652431">"السماح بالوصول إلى المحفظة من شاشة القفل والإعدادات السريعة"</string>
     <string name="lockscreen_privacy_controls_setting_toggle" msgid="7445725343949588613">"إظهار عناصر التحكّم في الجهاز"</string>
@@ -5893,6 +5901,9 @@
     <string name="sensor_toggle_description" msgid="8248823248606795411">"لكل التطبيقات والخدمات"</string>
     <string name="game_settings_title" msgid="1028178627743422090">"إعدادات الألعاب"</string>
     <string name="game_settings_summary" msgid="2548056479103747555">"تفعيل \"اختصار لوحة بيانات الألعاب\" إلخ"</string>
+    <string name="previous_page_content_description" msgid="6438292457923282991">"السابق"</string>
+    <string name="next_page_content_description" msgid="1641835099813416294">"التالي"</string>
+    <string name="colors_viewpager_content_description" msgid="2591751086138259565">"معاينة اللون"</string>
     <string name="bluetooth_sim_card_access_notification_title" msgid="5217037846900908318">"‏طلب الوصول إلى شريحة SIM"</string>
     <string name="bluetooth_sim_card_access_notification_content" msgid="6759306429895300286">"‏يريد أحد الأجهزة الوصول إلى شريحة SIM. انقر للحصول على التفاصيل."</string>
     <string name="bluetooth_sim_card_access_dialog_title" msgid="4486768729352090174">"‏هل تريد السماح بالوصول إلى شريحة SIM؟"</string>
diff --git a/res/values-as/strings.xml b/res/values-as/strings.xml
index ed85a35..d18fe9f 100644
--- a/res/values-as/strings.xml
+++ b/res/values-as/strings.xml
@@ -5397,6 +5397,14 @@
     <string name="power_menu_long_press_for_assist_summary" msgid="8251928804984560312">"পাৱাৰ বুটাম টিপি ধৰি ৰাখি Assistant সক্ৰিয় কৰক"</string>
     <string name="power_menu_power_volume_up_hint" msgid="1733051433583045623">"পাৱাৰ আৰু জৰুৰীকালীন মেনু:\nপাৱাৰ আৰু ভলিউম বঢ়োৱা বুটাম একেলগে টিপক।"</string>
     <string name="power_menu_power_prevent_ringing_hint" msgid="5786494894009727654">"ৰিং কৰাত বাধা দিয়ক:\nভলিউমৰ মেনুখনত শ্বৰ্টকাট উপলব্ধ।"</string>
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_title (1626808509158422185) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_summary (7550610071666801935) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_low_label (3430099983480845635) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_high_label (2059686170350829156) -->
+    <skip />
     <string name="lockscreen_privacy_wallet_setting_toggle" msgid="4188327143734192000">"ৱালেট দেখুৱাওক"</string>
     <string name="lockscreen_privacy_wallet_summary" msgid="5388868513484652431">"লক স্ক্ৰীন আৰু ক্ষিপ্ৰ ছেটিঙৰ পৰা ৱালেটৰ এক্সেছ দিয়ক"</string>
     <string name="lockscreen_privacy_controls_setting_toggle" msgid="7445725343949588613">"ডিভাইচৰ নিয়ন্ত্ৰণ দেখুৱাওক"</string>
@@ -5537,6 +5545,9 @@
     <string name="sensor_toggle_description" msgid="8248823248606795411">"আটাইবোৰ এপ্‌ আৰু সেৱাৰ বাবে"</string>
     <string name="game_settings_title" msgid="1028178627743422090">"গে’ম ছেটিং"</string>
     <string name="game_settings_summary" msgid="2548056479103747555">"গে’ম ডেশ্বব’ৰ্ডৰ শ্বৰ্টকাট ইত্যাদি অন কৰক"</string>
+    <string name="previous_page_content_description" msgid="6438292457923282991">"পূৰ্বৱৰ্তী"</string>
+    <string name="next_page_content_description" msgid="1641835099813416294">"পৰৱৰ্তী"</string>
+    <string name="colors_viewpager_content_description" msgid="2591751086138259565">"ৰঙৰ পূৰ্বদৰ্শন"</string>
     <string name="bluetooth_sim_card_access_notification_title" msgid="5217037846900908318">"ছিম কাৰ্ড এক্সেছ কৰাৰ অনুৰোধ"</string>
     <string name="bluetooth_sim_card_access_notification_content" msgid="6759306429895300286">"এটা ডিভাইচে আপোনাৰ ছিম কাৰ্ড এক্সেছ কৰিব বিচাৰিছে। সবিশেষ জানিবলৈ টিপক।"</string>
     <string name="bluetooth_sim_card_access_dialog_title" msgid="4486768729352090174">"ছিম কাৰ্ড এক্সেছ কৰিবলৈ দিবনে?"</string>
diff --git a/res/values-az/strings.xml b/res/values-az/strings.xml
index b8453c2..498bf7b 100644
--- a/res/values-az/strings.xml
+++ b/res/values-az/strings.xml
@@ -5397,6 +5397,10 @@
     <string name="power_menu_long_press_for_assist_summary" msgid="8251928804984560312">"Qidalanma düyməsini basıb saxlayaraq Assistenti işə salın"</string>
     <string name="power_menu_power_volume_up_hint" msgid="1733051433583045623">"Qidalanma &amp; Fövqəladə Hal Menyusu:\nQidalanma və Səsin artırılması düymələrini eyni anda basın."</string>
     <string name="power_menu_power_prevent_ringing_hint" msgid="5786494894009727654">"Zəng çalmanın qarşısını alın:\nSəs səviyyəsi menyusunda qısayol verilmişdir."</string>
+    <string name="power_menu_long_press_for_assist_sensitivity_title" msgid="1626808509158422185">"Basıb saxlama müddəti"</string>
+    <string name="power_menu_long_press_for_assist_sensitivity_summary" msgid="7550610071666801935">"Qidalanma düyməsinə nə qədər basıb saxlamağı seçərək həssaslığı tənzimləyin"</string>
+    <string name="power_menu_long_press_for_assist_sensitivity_low_label" msgid="3430099983480845635">"Qısa"</string>
+    <string name="power_menu_long_press_for_assist_sensitivity_high_label" msgid="2059686170350829156">"Uzun"</string>
     <string name="lockscreen_privacy_wallet_setting_toggle" msgid="4188327143734192000">"Pulqabını göstərin"</string>
     <string name="lockscreen_privacy_wallet_summary" msgid="5388868513484652431">"Kilid ekranından və sürətli ayarlardan pulqabına girişə icazə verin"</string>
     <string name="lockscreen_privacy_controls_setting_toggle" msgid="7445725343949588613">"Cihaz nizamlayıcılarını göstərin"</string>
@@ -5537,6 +5541,9 @@
     <string name="sensor_toggle_description" msgid="8248823248606795411">"Bütün tətbiqlər və xidmətlər üçün"</string>
     <string name="game_settings_title" msgid="1028178627743422090">"Oyun ayarları"</string>
     <string name="game_settings_summary" msgid="2548056479103747555">"Oyun Paneli qısayolunu aktiv edin və s."</string>
+    <string name="previous_page_content_description" msgid="6438292457923282991">"Öncəki"</string>
+    <string name="next_page_content_description" msgid="1641835099813416294">"Sonrakı"</string>
+    <string name="colors_viewpager_content_description" msgid="2591751086138259565">"Rəng önizləməsi"</string>
     <string name="bluetooth_sim_card_access_notification_title" msgid="5217037846900908318">"SİM karta giriş sorğusu"</string>
     <string name="bluetooth_sim_card_access_notification_content" msgid="6759306429895300286">"Cihaz SİM kartınıza giriş etmək istəyir. Detallar üçün toxunun."</string>
     <string name="bluetooth_sim_card_access_dialog_title" msgid="4486768729352090174">"SİM karta girişə icazə verilsin?"</string>
diff --git a/res/values-b+sr+Latn/strings.xml b/res/values-b+sr+Latn/strings.xml
index 8d499e0..aa49c07 100644
--- a/res/values-b+sr+Latn/strings.xml
+++ b/res/values-b+sr+Latn/strings.xml
@@ -5486,6 +5486,14 @@
     <string name="power_menu_long_press_for_assist_summary" msgid="8251928804984560312">"Pokrenite Pomoćnik tako što ćete zadržati dugme za uključivanje"</string>
     <string name="power_menu_power_volume_up_hint" msgid="1733051433583045623">"Meni dugmeta za uključivanje i za hitne slučajeve:\nIstovremeno pritisnite dugme za uključivanje i dugme za pojačavanje zvuka."</string>
     <string name="power_menu_power_prevent_ringing_hint" msgid="5786494894009727654">"Spreči zvonjenje:\nPrečica je dostupna u meniju dugmeta za jačinu zvuka."</string>
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_title (1626808509158422185) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_summary (7550610071666801935) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_low_label (3430099983480845635) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_high_label (2059686170350829156) -->
+    <skip />
     <string name="lockscreen_privacy_wallet_setting_toggle" msgid="4188327143734192000">"Prikaži novčanik"</string>
     <string name="lockscreen_privacy_wallet_summary" msgid="5388868513484652431">"Dozvolite pristup novčaniku sa zaključanog ekrana i iz brzih podešavanja"</string>
     <string name="lockscreen_privacy_controls_setting_toggle" msgid="7445725343949588613">"Prikaži kontrole uređaja"</string>
@@ -5626,6 +5634,9 @@
     <string name="sensor_toggle_description" msgid="8248823248606795411">"Za sve aplikacije i usluge"</string>
     <string name="game_settings_title" msgid="1028178627743422090">"Podešavanja igara"</string>
     <string name="game_settings_summary" msgid="2548056479103747555">"Uključite prečicu za kontrolnu tablu igre itd."</string>
+    <string name="previous_page_content_description" msgid="6438292457923282991">"Prethodna"</string>
+    <string name="next_page_content_description" msgid="1641835099813416294">"Sledeća"</string>
+    <string name="colors_viewpager_content_description" msgid="2591751086138259565">"Pregled boje"</string>
     <string name="bluetooth_sim_card_access_notification_title" msgid="5217037846900908318">"Zahtev za pristup SIM kartici"</string>
     <string name="bluetooth_sim_card_access_notification_content" msgid="6759306429895300286">"Uređaj želi da pristupa SIM kartici. Dodirnite za detalje."</string>
     <string name="bluetooth_sim_card_access_dialog_title" msgid="4486768729352090174">"Želite da dozvolite pristup SIM kartici?"</string>
diff --git a/res/values-be/strings.xml b/res/values-be/strings.xml
index baecaf2..759ebf3 100644
--- a/res/values-be/strings.xml
+++ b/res/values-be/strings.xml
@@ -5577,6 +5577,14 @@
     <string name="power_menu_long_press_for_assist_summary" msgid="8251928804984560312">"Для выкліку Памочніка ўтрымлівайце націснутай кнопку сілкавання"</string>
     <string name="power_menu_power_volume_up_hint" msgid="1733051433583045623">"Меню кнопкі сілкавання і экстранных выклікаў:\nадначасова націсніце кнопку сілкавання і павелічэння гучнасці."</string>
     <string name="power_menu_power_prevent_ringing_hint" msgid="5786494894009727654">"Прадухіліць званок:\nярлык даступны ў меню гучнасці."</string>
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_title (1626808509158422185) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_summary (7550610071666801935) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_low_label (3430099983480845635) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_high_label (2059686170350829156) -->
+    <skip />
     <string name="lockscreen_privacy_wallet_setting_toggle" msgid="4188327143734192000">"Паказ кашалька"</string>
     <string name="lockscreen_privacy_wallet_summary" msgid="5388868513484652431">"Дазволіць доступ да кашалька з заблакіраванага экрана і хуткіх налад"</string>
     <string name="lockscreen_privacy_controls_setting_toggle" msgid="7445725343949588613">"Паказ элементаў кіравання прыладай"</string>
@@ -5717,6 +5725,9 @@
     <string name="sensor_toggle_description" msgid="8248823248606795411">"Для ўсіх праграм і сэрвісаў"</string>
     <string name="game_settings_title" msgid="1028178627743422090">"Налады гульні"</string>
     <string name="game_settings_summary" msgid="2548056479103747555">"Уключэнне ярлыка гульнявой панэлі і г. д."</string>
+    <string name="previous_page_content_description" msgid="6438292457923282991">"Назад"</string>
+    <string name="next_page_content_description" msgid="1641835099813416294">"Далей"</string>
+    <string name="colors_viewpager_content_description" msgid="2591751086138259565">"Перадпрагляд колеру"</string>
     <string name="bluetooth_sim_card_access_notification_title" msgid="5217037846900908318">"Запыт на доступ да SIM-карты"</string>
     <string name="bluetooth_sim_card_access_notification_content" msgid="6759306429895300286">"Прылада запытвае доступ да SIM-карты. Націсніце, каб убачыць больш інфармацыі."</string>
     <string name="bluetooth_sim_card_access_dialog_title" msgid="4486768729352090174">"Дазволіць доступ да SIM-карты?"</string>
diff --git a/res/values-bg/strings.xml b/res/values-bg/strings.xml
index eef706b..07cfa7d 100644
--- a/res/values-bg/strings.xml
+++ b/res/values-bg/strings.xml
@@ -5399,6 +5399,14 @@
     <string name="power_menu_long_press_for_assist_summary" msgid="8251928804984560312">"Задействайте Асистент, като задържите бутона за включване/изключване"</string>
     <string name="power_menu_power_volume_up_hint" msgid="1733051433583045623">"Меню за включване/изключване и при спешни случаи:\nНатиснете едновременно бутона за включване/изключване и този за увеличаване на силата на звука."</string>
     <string name="power_menu_power_prevent_ringing_hint" msgid="5786494894009727654">"Предотвратяване на звъненето:\nВ менюто за силата на звука е налице пряк път."</string>
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_title (1626808509158422185) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_summary (7550610071666801935) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_low_label (3430099983480845635) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_high_label (2059686170350829156) -->
+    <skip />
     <string name="lockscreen_privacy_wallet_setting_toggle" msgid="4188327143734192000">"Показване на портфейла"</string>
     <string name="lockscreen_privacy_wallet_summary" msgid="5388868513484652431">"Разрешаване на достъп до портфейла от заключения екран и от бързите настройки"</string>
     <string name="lockscreen_privacy_controls_setting_toggle" msgid="7445725343949588613">"Показване на контролите за устройството"</string>
@@ -5539,6 +5547,9 @@
     <string name="sensor_toggle_description" msgid="8248823248606795411">"За всички приложения и услуги"</string>
     <string name="game_settings_title" msgid="1028178627743422090">"Настройки за игри"</string>
     <string name="game_settings_summary" msgid="2548056479103747555">"Включване на прекия път в таблото за управление на играта и др."</string>
+    <string name="previous_page_content_description" msgid="6438292457923282991">"Назад"</string>
+    <string name="next_page_content_description" msgid="1641835099813416294">"Напред"</string>
+    <string name="colors_viewpager_content_description" msgid="2591751086138259565">"Визуализация на цвета"</string>
     <string name="bluetooth_sim_card_access_notification_title" msgid="5217037846900908318">"Заявка за достъп до SIM картата"</string>
     <string name="bluetooth_sim_card_access_notification_content" msgid="6759306429895300286">"Устройство иска да осъществи достъп до SIM картата ви. Докоснете за подробности."</string>
     <string name="bluetooth_sim_card_access_dialog_title" msgid="4486768729352090174">"Да се разреши ли достъпът до SIM картата?"</string>
diff --git a/res/values-bn/strings.xml b/res/values-bn/strings.xml
index 77a84c2..fb72347 100644
--- a/res/values-bn/strings.xml
+++ b/res/values-bn/strings.xml
@@ -5397,6 +5397,14 @@
     <string name="power_menu_long_press_for_assist_summary" msgid="8251928804984560312">"পাওয়ার বোতাম প্রেস করে ধরে রেখে Assistant চালু করুন"</string>
     <string name="power_menu_power_volume_up_hint" msgid="1733051433583045623">"পাওয়ার &amp; ইমারজেন্সি মেনু:\nএকসাথে \'পাওয়ার\' এবং \'ভলিউম বাড়ানোর বোতাম\' প্রেস করুন।"</string>
     <string name="power_menu_power_prevent_ringing_hint" msgid="5786494894009727654">"রিং হওয়া বন্ধ করতে:\n\'ভলিউম\' মেনুতে শর্টকাট রয়েছে।"</string>
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_title (1626808509158422185) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_summary (7550610071666801935) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_low_label (3430099983480845635) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_high_label (2059686170350829156) -->
+    <skip />
     <string name="lockscreen_privacy_wallet_setting_toggle" msgid="4188327143734192000">"ওয়ালেট দেখুন"</string>
     <string name="lockscreen_privacy_wallet_summary" msgid="5388868513484652431">"লক স্ক্রিন এবং দ্রুত সেটিংস থেকে ওয়ালেটে অ্যাক্সেসের অনুরোধ করুন"</string>
     <string name="lockscreen_privacy_controls_setting_toggle" msgid="7445725343949588613">"ডিভাইস কন্ট্রোল দেখুন"</string>
@@ -5537,6 +5545,9 @@
     <string name="sensor_toggle_description" msgid="8248823248606795411">"সমস্ত অ্যাপ ও পরিষেবার জন্য"</string>
     <string name="game_settings_title" msgid="1028178627743422090">"গেম সেটিংস"</string>
     <string name="game_settings_summary" msgid="2548056479103747555">"গেম ড্যাশবোর্ড শর্টকাট ইত্যাদি চালু করুন"</string>
+    <string name="previous_page_content_description" msgid="6438292457923282991">"আগের"</string>
+    <string name="next_page_content_description" msgid="1641835099813416294">"পরের"</string>
+    <string name="colors_viewpager_content_description" msgid="2591751086138259565">"রঙের এক ঝলক"</string>
     <string name="bluetooth_sim_card_access_notification_title" msgid="5217037846900908318">"সিম কার্ড অ্যাক্সেস করার অনুমতি"</string>
     <string name="bluetooth_sim_card_access_notification_content" msgid="6759306429895300286">"একটি ডিভাইস আপনার সিম কার্ড অ্যাক্সেস করতে চাইছে। বিশদ বিবরণের জন্য ট্যাপ করুন।"</string>
     <string name="bluetooth_sim_card_access_dialog_title" msgid="4486768729352090174">"সিম কার্ড অ্যাক্সেস করার অনুমতি দিতে চান?"</string>
diff --git a/res/values-bs/strings.xml b/res/values-bs/strings.xml
index 4e2e62b..7dfe3dd 100644
--- a/res/values-bs/strings.xml
+++ b/res/values-bs/strings.xml
@@ -5486,6 +5486,14 @@
     <string name="power_menu_long_press_for_assist_summary" msgid="8251928804984560312">"Aktivirajte Asistenta držanjem dugmeta za uključivanje"</string>
     <string name="power_menu_power_volume_up_hint" msgid="1733051433583045623">"Meni napajanja i hitnih službi:\nIstovremeno pritisnite dugme za uključivanje i dugme za pojačavanje zvuka."</string>
     <string name="power_menu_power_prevent_ringing_hint" msgid="5786494894009727654">"Sprječavanje zvonjenja:\nPrečica je dostupna u meniju jačine zvuka."</string>
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_title (1626808509158422185) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_summary (7550610071666801935) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_low_label (3430099983480845635) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_high_label (2059686170350829156) -->
+    <skip />
     <string name="lockscreen_privacy_wallet_setting_toggle" msgid="4188327143734192000">"Prikaži novčanik"</string>
     <string name="lockscreen_privacy_wallet_summary" msgid="5388868513484652431">"Dozvolite pristup novčaniku sa zaključanog ekrana i iz brzih postavki"</string>
     <string name="lockscreen_privacy_controls_setting_toggle" msgid="7445725343949588613">"Prikaži kontrole uređaja"</string>
@@ -5626,6 +5634,9 @@
     <string name="sensor_toggle_description" msgid="8248823248606795411">"Za sve aplikacije i usluge"</string>
     <string name="game_settings_title" msgid="1028178627743422090">"Postavke igre"</string>
     <string name="game_settings_summary" msgid="2548056479103747555">"Uključite prečicu za kontrolnu tablu igre, itd."</string>
+    <string name="previous_page_content_description" msgid="6438292457923282991">"Nazad"</string>
+    <string name="next_page_content_description" msgid="1641835099813416294">"Naprijed"</string>
+    <string name="colors_viewpager_content_description" msgid="2591751086138259565">"Pregled boje"</string>
     <string name="bluetooth_sim_card_access_notification_title" msgid="5217037846900908318">"Zahtjev za pristup SIM kartici"</string>
     <string name="bluetooth_sim_card_access_notification_content" msgid="6759306429895300286">"Uređaj želi pristupiti vašoj SIM kartici. Dodirnite za detalje."</string>
     <string name="bluetooth_sim_card_access_dialog_title" msgid="4486768729352090174">"Dozvoliti pristup SIM kartici?"</string>
diff --git a/res/values-ca/strings.xml b/res/values-ca/strings.xml
index 2dd6152..09ee1d8 100644
--- a/res/values-ca/strings.xml
+++ b/res/values-ca/strings.xml
@@ -5397,6 +5397,14 @@
     <string name="power_menu_long_press_for_assist_summary" msgid="8251928804984560312">"Activa l\'Assistent mantenint premut el botó d\'engegada"</string>
     <string name="power_menu_power_volume_up_hint" msgid="1733051433583045623">"Menú d\'engegada i emergència:\nPrem els botons d\'engegada i d\'apujar el volum al mateix temps."</string>
     <string name="power_menu_power_prevent_ringing_hint" msgid="5786494894009727654">"Impedeix els sons:\nDrecera disponible al menú de volum."</string>
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_title (1626808509158422185) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_summary (7550610071666801935) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_low_label (3430099983480845635) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_high_label (2059686170350829156) -->
+    <skip />
     <string name="lockscreen_privacy_wallet_setting_toggle" msgid="4188327143734192000">"Mostra la cartera"</string>
     <string name="lockscreen_privacy_wallet_summary" msgid="5388868513484652431">"Permet l\'accés a la cartera des de la pantalla de bloqueig i la configuració ràpida"</string>
     <string name="lockscreen_privacy_controls_setting_toggle" msgid="7445725343949588613">"Mostra el control de dispositius"</string>
@@ -5537,6 +5545,9 @@
     <string name="sensor_toggle_description" msgid="8248823248606795411">"Per a tots els serveis i aplicacions"</string>
     <string name="game_settings_title" msgid="1028178627743422090">"Configuració de jocs"</string>
     <string name="game_settings_summary" msgid="2548056479103747555">"Activa la drecera al tauler de joc, etc."</string>
+    <string name="previous_page_content_description" msgid="6438292457923282991">"Anterior"</string>
+    <string name="next_page_content_description" msgid="1641835099813416294">"Següent"</string>
+    <string name="colors_viewpager_content_description" msgid="2591751086138259565">"Previsualització del color"</string>
     <string name="bluetooth_sim_card_access_notification_title" msgid="5217037846900908318">"Sol·licitud d\'accés a la targeta SIM"</string>
     <string name="bluetooth_sim_card_access_notification_content" msgid="6759306429895300286">"Un dispositiu vol accedir a la teva targeta SIM. Toca per obtenir informació."</string>
     <string name="bluetooth_sim_card_access_dialog_title" msgid="4486768729352090174">"Vols permetre l\'accés a la targeta SIM?"</string>
diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml
index cbf89ad..fc58f83 100644
--- a/res/values-cs/strings.xml
+++ b/res/values-cs/strings.xml
@@ -5575,6 +5575,14 @@
     <string name="power_menu_long_press_for_assist_summary" msgid="8251928804984560312">"Asistenta aktivujete podržením vypínače"</string>
     <string name="power_menu_power_volume_up_hint" msgid="1733051433583045623">"Nabídka napájení a tísňového volání:\nStiskněte současně vypínač a tlačítko zvýšení hlasitosti."</string>
     <string name="power_menu_power_prevent_ringing_hint" msgid="5786494894009727654">"Zabránit vyzvánění:\nZkratka je k dispozici v nabídce hlasitosti."</string>
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_title (1626808509158422185) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_summary (7550610071666801935) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_low_label (3430099983480845635) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_high_label (2059686170350829156) -->
+    <skip />
     <string name="lockscreen_privacy_wallet_setting_toggle" msgid="4188327143734192000">"Zobrazit peněženku"</string>
     <string name="lockscreen_privacy_wallet_summary" msgid="5388868513484652431">"Povolit přístup k peněžence z obrazovky uzamčení a rychlého nastavení"</string>
     <string name="lockscreen_privacy_controls_setting_toggle" msgid="7445725343949588613">"Zobrazit ovládací prvky zařízení"</string>
@@ -5715,6 +5723,9 @@
     <string name="sensor_toggle_description" msgid="8248823248606795411">"Pro všechny aplikace a služby"</string>
     <string name="game_settings_title" msgid="1028178627743422090">"Nastavení her"</string>
     <string name="game_settings_summary" msgid="2548056479103747555">"Zapnout zkratku Herního panelu atd."</string>
+    <string name="previous_page_content_description" msgid="6438292457923282991">"Předchozí"</string>
+    <string name="next_page_content_description" msgid="1641835099813416294">"Další"</string>
+    <string name="colors_viewpager_content_description" msgid="2591751086138259565">"Náhled barvy"</string>
     <string name="bluetooth_sim_card_access_notification_title" msgid="5217037846900908318">"Žádost o přístup k SIM kartě"</string>
     <string name="bluetooth_sim_card_access_notification_content" msgid="6759306429895300286">"Zařízení žádá o přístup k vaší SIM kartě. Podrobnosti zobrazíte klepnutím."</string>
     <string name="bluetooth_sim_card_access_dialog_title" msgid="4486768729352090174">"Povolit přístup k SIM kartě?"</string>
diff --git a/res/values-da/strings.xml b/res/values-da/strings.xml
index ca3b731..b2e37fd 100644
--- a/res/values-da/strings.xml
+++ b/res/values-da/strings.xml
@@ -5397,6 +5397,14 @@
     <string name="power_menu_long_press_for_assist_summary" msgid="8251928804984560312">"Aktivér Assistent ved at holde afbryderknappen nede"</string>
     <string name="power_menu_power_volume_up_hint" msgid="1733051433583045623">"Menu for afbryderknappen og menu for nødsituationer:\nTryk på afbryderknappen og knappen Lydstyrke op samtidig."</string>
     <string name="power_menu_power_prevent_ringing_hint" msgid="5786494894009727654">"Deaktiver ringetoner:\nGenvejen findes i lydstyrkemenuen."</string>
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_title (1626808509158422185) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_summary (7550610071666801935) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_low_label (3430099983480845635) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_high_label (2059686170350829156) -->
+    <skip />
     <string name="lockscreen_privacy_wallet_setting_toggle" msgid="4188327143734192000">"Vis Wallet"</string>
     <string name="lockscreen_privacy_wallet_summary" msgid="5388868513484652431">"Tillad adgang til Wallet fra låseskærmen og kvikmenuen"</string>
     <string name="lockscreen_privacy_controls_setting_toggle" msgid="7445725343949588613">"Vis enhedsstyring"</string>
@@ -5537,6 +5545,9 @@
     <string name="sensor_toggle_description" msgid="8248823248606795411">"I alle apps og tjenester"</string>
     <string name="game_settings_title" msgid="1028178627743422090">"Spilindstillinger"</string>
     <string name="game_settings_summary" msgid="2548056479103747555">"Aktivér genvejen til Spilpanel osv."</string>
+    <string name="previous_page_content_description" msgid="6438292457923282991">"Forrige"</string>
+    <string name="next_page_content_description" msgid="1641835099813416294">"Næste"</string>
+    <string name="colors_viewpager_content_description" msgid="2591751086138259565">"Forhåndsvisning af farve"</string>
     <string name="bluetooth_sim_card_access_notification_title" msgid="5217037846900908318">"Anmodning om adgang til SIM-kort"</string>
     <string name="bluetooth_sim_card_access_notification_content" msgid="6759306429895300286">"En enhed vil gerne have adgang til dit SIM-kort. Tryk for at få flere oplysninger."</string>
     <string name="bluetooth_sim_card_access_dialog_title" msgid="4486768729352090174">"Vil du give adgang til SIM-kortet?"</string>
diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml
index 6959b7c..e706c47 100644
--- a/res/values-de/strings.xml
+++ b/res/values-de/strings.xml
@@ -5400,6 +5400,14 @@
     <string name="power_menu_long_press_for_assist_summary" msgid="8251928804984560312">"Halte die Ein-/Aus-Taste gedrückt, um Assistant zu aktivieren"</string>
     <string name="power_menu_power_volume_up_hint" msgid="1733051433583045623">"„Ein-/Aus- und Notfall-Menü“:\nEin-/Aus-Taste und Lautertaste gleichzeitig drücken."</string>
     <string name="power_menu_power_prevent_ringing_hint" msgid="5786494894009727654">"„Klingeln verhindern“:\nVerknüpfung im Lautstärke-Menü verfügbar."</string>
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_title (1626808509158422185) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_summary (7550610071666801935) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_low_label (3430099983480845635) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_high_label (2059686170350829156) -->
+    <skip />
     <string name="lockscreen_privacy_wallet_setting_toggle" msgid="4188327143734192000">"Geldbörse anzeigen"</string>
     <string name="lockscreen_privacy_wallet_summary" msgid="5388868513484652431">"Zugriff auf Geldbörse aus Sperrbildschirm und Schnelleinstellungen erlauben"</string>
     <string name="lockscreen_privacy_controls_setting_toggle" msgid="7445725343949588613">"Gerätesteuerung anzeigen"</string>
@@ -5540,6 +5548,9 @@
     <string name="sensor_toggle_description" msgid="8248823248606795411">"Für alle Apps und Dienste"</string>
     <string name="game_settings_title" msgid="1028178627743422090">"Spieleinstellungen"</string>
     <string name="game_settings_summary" msgid="2548056479103747555">"„Dashboard für Spiele“-Schaltfläche aktivieren usw."</string>
+    <string name="previous_page_content_description" msgid="6438292457923282991">"Zurück"</string>
+    <string name="next_page_content_description" msgid="1641835099813416294">"Weiter"</string>
+    <string name="colors_viewpager_content_description" msgid="2591751086138259565">"Farbvorschau"</string>
     <string name="bluetooth_sim_card_access_notification_title" msgid="5217037846900908318">"Anfrage nach Zugriff auf SIM-Karte"</string>
     <string name="bluetooth_sim_card_access_notification_content" msgid="6759306429895300286">"Ein Gerät möchte auf deine SIM-Karte zugreifen. Weitere Informationen."</string>
     <string name="bluetooth_sim_card_access_dialog_title" msgid="4486768729352090174">"Zugriff auf SIM-Karte erlauben?"</string>
diff --git a/res/values-el/strings.xml b/res/values-el/strings.xml
index 7f9e6fb..9ef8f7d 100644
--- a/res/values-el/strings.xml
+++ b/res/values-el/strings.xml
@@ -5397,6 +5397,14 @@
     <string name="power_menu_long_press_for_assist_summary" msgid="8251928804984560312">"Ενεργοποιήστε τον Βοηθό πατώντας παρατεταμένα το κουμπί λειτουργίας"</string>
     <string name="power_menu_power_volume_up_hint" msgid="1733051433583045623">"Μενού λειτουργίας και έκτακτης ανάγκης:\nΠατήστε το κουμπί λειτουργίας και το κουμπί αύξησης έντασης ήχου ταυτόχρονα."</string>
     <string name="power_menu_power_prevent_ringing_hint" msgid="5786494894009727654">"Αποτροπή ήχου κλήσης:\nΗ συντόμευση είναι διαθέσιμη στο μενού έντασης ήχου."</string>
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_title (1626808509158422185) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_summary (7550610071666801935) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_low_label (3430099983480845635) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_high_label (2059686170350829156) -->
+    <skip />
     <string name="lockscreen_privacy_wallet_setting_toggle" msgid="4188327143734192000">"Εμφάνιση πορτοφολιού"</string>
     <string name="lockscreen_privacy_wallet_summary" msgid="5388868513484652431">"Επιτρέψτε την πρόσβαση στο πορτοφόλι από την οθόνη κλειδώματος και τις γρήγορες ρυθμίσεις"</string>
     <string name="lockscreen_privacy_controls_setting_toggle" msgid="7445725343949588613">"Εμφάνιση στοιχείων ελέγχου συσκευής"</string>
@@ -5537,6 +5545,9 @@
     <string name="sensor_toggle_description" msgid="8248823248606795411">"Για όλες τις εφαρμογές και τις υπηρεσίες"</string>
     <string name="game_settings_title" msgid="1028178627743422090">"Ρυθμίσεις παιχνιδιών"</string>
     <string name="game_settings_summary" msgid="2548056479103747555">"Ενεργοποίηση συντόμευσης Πίνακα ελέγχου παιχνιδιού κ.λπ."</string>
+    <string name="previous_page_content_description" msgid="6438292457923282991">"Προηγούμενο"</string>
+    <string name="next_page_content_description" msgid="1641835099813416294">"Επόμενο"</string>
+    <string name="colors_viewpager_content_description" msgid="2591751086138259565">"Προεπισκόπηση χρώματος"</string>
     <string name="bluetooth_sim_card_access_notification_title" msgid="5217037846900908318">"Αίτημα πρόσβασης στην κάρτα SIM"</string>
     <string name="bluetooth_sim_card_access_notification_content" msgid="6759306429895300286">"Μια συσκευή θέλει να αποκτήσει πρόσβαση στην κάρτα SIM. Πατήστε για λεπτομέρειες."</string>
     <string name="bluetooth_sim_card_access_dialog_title" msgid="4486768729352090174">"Να επιτρέπεται η πρόσβαση στην κάρτα SIM;"</string>
diff --git a/res/values-en-rAU/strings.xml b/res/values-en-rAU/strings.xml
index 7e686e6..3422b39 100644
--- a/res/values-en-rAU/strings.xml
+++ b/res/values-en-rAU/strings.xml
@@ -5397,6 +5397,10 @@
     <string name="power_menu_long_press_for_assist_summary" msgid="8251928804984560312">"Trigger Assistant by holding the power button"</string>
     <string name="power_menu_power_volume_up_hint" msgid="1733051433583045623">"Power &amp; emergency menu:\nPress power and volume up at the same time."</string>
     <string name="power_menu_power_prevent_ringing_hint" msgid="5786494894009727654">"Prevent ringing:\nShortcut available in the volume menu."</string>
+    <string name="power_menu_long_press_for_assist_sensitivity_title" msgid="1626808509158422185">"Press &amp; hold duration"</string>
+    <string name="power_menu_long_press_for_assist_sensitivity_summary" msgid="7550610071666801935">"Adjust sensitivity by choosing how long to press &amp; hold the power button"</string>
+    <string name="power_menu_long_press_for_assist_sensitivity_low_label" msgid="3430099983480845635">"Short"</string>
+    <string name="power_menu_long_press_for_assist_sensitivity_high_label" msgid="2059686170350829156">"Long"</string>
     <string name="lockscreen_privacy_wallet_setting_toggle" msgid="4188327143734192000">"Show wallet"</string>
     <string name="lockscreen_privacy_wallet_summary" msgid="5388868513484652431">"Allow access to wallet from lock screen and Quick Settings"</string>
     <string name="lockscreen_privacy_controls_setting_toggle" msgid="7445725343949588613">"Show device controls"</string>
@@ -5537,6 +5541,9 @@
     <string name="sensor_toggle_description" msgid="8248823248606795411">"For all apps and services"</string>
     <string name="game_settings_title" msgid="1028178627743422090">"Game settings"</string>
     <string name="game_settings_summary" msgid="2548056479103747555">"Turn on Game Dashboard shortcut, etc."</string>
+    <string name="previous_page_content_description" msgid="6438292457923282991">"Previous"</string>
+    <string name="next_page_content_description" msgid="1641835099813416294">"Next"</string>
+    <string name="colors_viewpager_content_description" msgid="2591751086138259565">"Colour preview"</string>
     <string name="bluetooth_sim_card_access_notification_title" msgid="5217037846900908318">"SIM card access request"</string>
     <string name="bluetooth_sim_card_access_notification_content" msgid="6759306429895300286">"A device wants to access your SIM card. Tap for details."</string>
     <string name="bluetooth_sim_card_access_dialog_title" msgid="4486768729352090174">"Allow access to SIM card?"</string>
diff --git a/res/values-en-rCA/strings.xml b/res/values-en-rCA/strings.xml
index 4a594b4..c638694 100644
--- a/res/values-en-rCA/strings.xml
+++ b/res/values-en-rCA/strings.xml
@@ -5397,6 +5397,10 @@
     <string name="power_menu_long_press_for_assist_summary" msgid="8251928804984560312">"Trigger Assistant by holding the power button"</string>
     <string name="power_menu_power_volume_up_hint" msgid="1733051433583045623">"Power &amp; emergency menu:\nPress power and volume up at the same time."</string>
     <string name="power_menu_power_prevent_ringing_hint" msgid="5786494894009727654">"Prevent ringing:\nShortcut available in the volume menu."</string>
+    <string name="power_menu_long_press_for_assist_sensitivity_title" msgid="1626808509158422185">"Press &amp; hold duration"</string>
+    <string name="power_menu_long_press_for_assist_sensitivity_summary" msgid="7550610071666801935">"Adjust sensitivity by choosing how long to press &amp; hold the power button"</string>
+    <string name="power_menu_long_press_for_assist_sensitivity_low_label" msgid="3430099983480845635">"Short"</string>
+    <string name="power_menu_long_press_for_assist_sensitivity_high_label" msgid="2059686170350829156">"Long"</string>
     <string name="lockscreen_privacy_wallet_setting_toggle" msgid="4188327143734192000">"Show wallet"</string>
     <string name="lockscreen_privacy_wallet_summary" msgid="5388868513484652431">"Allow access to wallet from lock screen and Quick Settings"</string>
     <string name="lockscreen_privacy_controls_setting_toggle" msgid="7445725343949588613">"Show device controls"</string>
@@ -5537,6 +5541,9 @@
     <string name="sensor_toggle_description" msgid="8248823248606795411">"For all apps and services"</string>
     <string name="game_settings_title" msgid="1028178627743422090">"Game settings"</string>
     <string name="game_settings_summary" msgid="2548056479103747555">"Turn on Game Dashboard shortcut, etc."</string>
+    <string name="previous_page_content_description" msgid="6438292457923282991">"Previous"</string>
+    <string name="next_page_content_description" msgid="1641835099813416294">"Next"</string>
+    <string name="colors_viewpager_content_description" msgid="2591751086138259565">"Colour preview"</string>
     <string name="bluetooth_sim_card_access_notification_title" msgid="5217037846900908318">"SIM card access request"</string>
     <string name="bluetooth_sim_card_access_notification_content" msgid="6759306429895300286">"A device wants to access your SIM card. Tap for details."</string>
     <string name="bluetooth_sim_card_access_dialog_title" msgid="4486768729352090174">"Allow access to SIM card?"</string>
diff --git a/res/values-en-rGB/strings.xml b/res/values-en-rGB/strings.xml
index 907b891..ecf7dc9 100644
--- a/res/values-en-rGB/strings.xml
+++ b/res/values-en-rGB/strings.xml
@@ -5397,6 +5397,10 @@
     <string name="power_menu_long_press_for_assist_summary" msgid="8251928804984560312">"Trigger Assistant by holding the power button"</string>
     <string name="power_menu_power_volume_up_hint" msgid="1733051433583045623">"Power &amp; emergency menu:\nPress power and volume up at the same time."</string>
     <string name="power_menu_power_prevent_ringing_hint" msgid="5786494894009727654">"Prevent ringing:\nShortcut available in the volume menu."</string>
+    <string name="power_menu_long_press_for_assist_sensitivity_title" msgid="1626808509158422185">"Press &amp; hold duration"</string>
+    <string name="power_menu_long_press_for_assist_sensitivity_summary" msgid="7550610071666801935">"Adjust sensitivity by choosing how long to press &amp; hold the power button"</string>
+    <string name="power_menu_long_press_for_assist_sensitivity_low_label" msgid="3430099983480845635">"Short"</string>
+    <string name="power_menu_long_press_for_assist_sensitivity_high_label" msgid="2059686170350829156">"Long"</string>
     <string name="lockscreen_privacy_wallet_setting_toggle" msgid="4188327143734192000">"Show wallet"</string>
     <string name="lockscreen_privacy_wallet_summary" msgid="5388868513484652431">"Allow access to wallet from lock screen and Quick Settings"</string>
     <string name="lockscreen_privacy_controls_setting_toggle" msgid="7445725343949588613">"Show device controls"</string>
@@ -5537,6 +5541,9 @@
     <string name="sensor_toggle_description" msgid="8248823248606795411">"For all apps and services"</string>
     <string name="game_settings_title" msgid="1028178627743422090">"Game settings"</string>
     <string name="game_settings_summary" msgid="2548056479103747555">"Turn on Game Dashboard shortcut, etc."</string>
+    <string name="previous_page_content_description" msgid="6438292457923282991">"Previous"</string>
+    <string name="next_page_content_description" msgid="1641835099813416294">"Next"</string>
+    <string name="colors_viewpager_content_description" msgid="2591751086138259565">"Colour preview"</string>
     <string name="bluetooth_sim_card_access_notification_title" msgid="5217037846900908318">"SIM card access request"</string>
     <string name="bluetooth_sim_card_access_notification_content" msgid="6759306429895300286">"A device wants to access your SIM card. Tap for details."</string>
     <string name="bluetooth_sim_card_access_dialog_title" msgid="4486768729352090174">"Allow access to SIM card?"</string>
diff --git a/res/values-en-rIN/strings.xml b/res/values-en-rIN/strings.xml
index 11bc52c..6c3516f 100644
--- a/res/values-en-rIN/strings.xml
+++ b/res/values-en-rIN/strings.xml
@@ -5397,6 +5397,10 @@
     <string name="power_menu_long_press_for_assist_summary" msgid="8251928804984560312">"Trigger Assistant by holding the power button"</string>
     <string name="power_menu_power_volume_up_hint" msgid="1733051433583045623">"Power &amp; emergency menu:\nPress power and volume up at the same time."</string>
     <string name="power_menu_power_prevent_ringing_hint" msgid="5786494894009727654">"Prevent ringing:\nShortcut available in the volume menu."</string>
+    <string name="power_menu_long_press_for_assist_sensitivity_title" msgid="1626808509158422185">"Press &amp; hold duration"</string>
+    <string name="power_menu_long_press_for_assist_sensitivity_summary" msgid="7550610071666801935">"Adjust sensitivity by choosing how long to press &amp; hold the power button"</string>
+    <string name="power_menu_long_press_for_assist_sensitivity_low_label" msgid="3430099983480845635">"Short"</string>
+    <string name="power_menu_long_press_for_assist_sensitivity_high_label" msgid="2059686170350829156">"Long"</string>
     <string name="lockscreen_privacy_wallet_setting_toggle" msgid="4188327143734192000">"Show wallet"</string>
     <string name="lockscreen_privacy_wallet_summary" msgid="5388868513484652431">"Allow access to wallet from lock screen and Quick Settings"</string>
     <string name="lockscreen_privacy_controls_setting_toggle" msgid="7445725343949588613">"Show device controls"</string>
@@ -5537,6 +5541,9 @@
     <string name="sensor_toggle_description" msgid="8248823248606795411">"For all apps and services"</string>
     <string name="game_settings_title" msgid="1028178627743422090">"Game settings"</string>
     <string name="game_settings_summary" msgid="2548056479103747555">"Turn on Game Dashboard shortcut, etc."</string>
+    <string name="previous_page_content_description" msgid="6438292457923282991">"Previous"</string>
+    <string name="next_page_content_description" msgid="1641835099813416294">"Next"</string>
+    <string name="colors_viewpager_content_description" msgid="2591751086138259565">"Colour preview"</string>
     <string name="bluetooth_sim_card_access_notification_title" msgid="5217037846900908318">"SIM card access request"</string>
     <string name="bluetooth_sim_card_access_notification_content" msgid="6759306429895300286">"A device wants to access your SIM card. Tap for details."</string>
     <string name="bluetooth_sim_card_access_dialog_title" msgid="4486768729352090174">"Allow access to SIM card?"</string>
diff --git a/res/values-en-rXC/strings.xml b/res/values-en-rXC/strings.xml
index 9af2e04..5af8955 100644
--- a/res/values-en-rXC/strings.xml
+++ b/res/values-en-rXC/strings.xml
@@ -5397,6 +5397,10 @@
     <string name="power_menu_long_press_for_assist_summary" msgid="8251928804984560312">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‎‏‎‏‎‎‎‎‏‎‎‏‎‏‏‏‏‎‏‏‎‎‎‎‏‏‏‎‎‎‎‏‏‎‎‏‏‏‎‏‎‏‏‎‎‎‏‏‎‏‎‏‎‏‏‏‎‎‎‎Trigger the Assistant by holding the power button‎‏‎‎‏‎"</string>
     <string name="power_menu_power_volume_up_hint" msgid="1733051433583045623">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‎‎‎‎‎‎‎‏‏‎‏‎‎‎‎‏‎‎‏‎‎‎‏‏‎‎‎‏‏‎‎‎‏‎‎‎‎‏‏‎‎‏‎‏‏‏‎‏‎‏‏‏‏‏‏‎‏‏‏‎Power &amp; Emergency Menu:‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎Press Power and Volume up at the same time.‎‏‎‎‏‎"</string>
     <string name="power_menu_power_prevent_ringing_hint" msgid="5786494894009727654">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‎‎‎‎‏‎‎‏‏‎‏‏‏‎‎‎‎‏‎‎‏‏‏‎‎‏‎‏‎‏‎‏‏‎‎‎‎‎‎‏‏‏‏‏‎‏‏‏‎‏‎‏‎‏‎‎‏‏‎‎Prevent ringing:‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎Shortcut available in the volume menu.‎‏‎‎‏‎"</string>
+    <string name="power_menu_long_press_for_assist_sensitivity_title" msgid="1626808509158422185">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‏‏‎‏‎‎‏‎‎‏‏‏‎‎‏‎‏‎‏‏‎‏‏‏‎‎‎‎‏‎‎‏‎‎‏‏‏‏‏‏‎‎‎‎‏‏‏‎‏‏‎‏‎‏‎‏‎‎‏‎Press &amp; hold duration‎‏‎‎‏‎"</string>
+    <string name="power_menu_long_press_for_assist_sensitivity_summary" msgid="7550610071666801935">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‎‎‎‏‏‎‎‏‎‎‏‎‎‏‎‎‏‏‏‏‏‎‏‏‎‏‎‏‏‏‏‎‏‏‏‎‎‏‎‏‏‏‏‏‎‏‏‏‏‎‏‎‎‎‎‏‏‏‏‎Adjust sensitivity by choosing how long to press &amp; hold the power button‎‏‎‎‏‎"</string>
+    <string name="power_menu_long_press_for_assist_sensitivity_low_label" msgid="3430099983480845635">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‏‏‏‏‎‎‏‏‎‏‎‎‎‏‎‏‎‎‏‏‏‎‎‎‎‏‎‏‏‏‏‎‎‏‏‎‏‏‏‎‎‏‎‏‏‏‏‎‏‎‏‎‏‎‎‎‎‏‏‎Short‎‏‎‎‏‎"</string>
+    <string name="power_menu_long_press_for_assist_sensitivity_high_label" msgid="2059686170350829156">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‏‎‎‏‎‎‏‎‏‎‏‎‏‏‏‏‎‎‏‏‎‏‎‏‎‎‎‏‏‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‏‏‏‏‎‎‏‏‎‎‏‎‎‎Long‎‏‎‎‏‎"</string>
     <string name="lockscreen_privacy_wallet_setting_toggle" msgid="4188327143734192000">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‎‏‎‎‎‎‏‏‏‏‏‏‏‏‎‏‏‎‏‎‏‎‏‏‎‎‎‏‎‏‏‎‏‎‏‎‏‏‎‎‏‏‏‎‎‏‎‎‏‏‏‏‎‎‎‎‎‎‎‎Show wallet‎‏‎‎‏‎"</string>
     <string name="lockscreen_privacy_wallet_summary" msgid="5388868513484652431">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‎‏‎‏‏‎‎‏‎‎‏‎‎‎‏‏‎‏‏‎‏‎‏‏‏‎‎‏‎‎‎‏‏‏‏‏‎‎‎‏‎‏‎‎‎‏‏‏‏‏‏‏‎‎‎‏‏‏‏‎Allow access to wallet from lock screen and quick settings‎‏‎‎‏‎"</string>
     <string name="lockscreen_privacy_controls_setting_toggle" msgid="7445725343949588613">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‏‏‏‎‏‎‏‎‏‎‎‏‎‎‎‎‏‏‏‏‏‎‎‎‎‎‎‎‏‎‎‏‏‎‏‎‎‏‏‏‏‎‏‎‎‎‎‏‎‎‎‏‎‎‎‎‏‎‏‎Show device controls‎‏‎‎‏‎"</string>
@@ -5537,6 +5541,9 @@
     <string name="sensor_toggle_description" msgid="8248823248606795411">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‎‏‎‎‏‏‏‏‎‎‏‏‎‏‏‎‏‎‏‎‎‎‎‏‎‏‎‎‏‎‏‏‏‎‎‎‎‏‏‎‎‎‏‎‎‎‏‎‏‏‎‏‎‎‏‎‎‏‏‎For all apps and services‎‏‎‎‏‎"</string>
     <string name="game_settings_title" msgid="1028178627743422090">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‏‏‎‎‏‎‎‎‏‎‎‏‏‎‏‎‎‏‏‎‎‎‎‎‎‏‏‏‎‏‏‎‎‎‎‎‏‎‎‏‎‏‏‏‎‎‏‎‏‏‎‏‎‎‎‏‎‏‎‎Game settings‎‏‎‎‏‎"</string>
     <string name="game_settings_summary" msgid="2548056479103747555">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‎‏‏‎‏‎‏‏‏‎‎‏‎‎‎‎‎‏‏‏‏‎‏‏‏‏‎‎‎‎‏‏‎‎‎‏‎‎‏‏‏‎‎‏‎‎‎‎‏‎‏‏‏‏‎‎‎‏‏‎Turn on Game Dashboard shortcut, etc‎‏‎‎‏‎"</string>
+    <string name="previous_page_content_description" msgid="6438292457923282991">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‎‎‏‎‏‎‏‏‎‎‏‎‏‏‎‏‎‎‎‏‏‏‎‎‎‎‏‎‎‎‎‎‎‏‎‏‎‎‏‏‎‎‎‎‎‎‎‏‎‎‎‎‎‏‎‏‏‏‏‎Previous‎‏‎‎‏‎"</string>
+    <string name="next_page_content_description" msgid="1641835099813416294">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‏‏‎‏‏‎‎‏‎‎‎‏‏‏‏‏‎‎‎‎‏‎‏‎‎‏‏‎‎‎‏‎‎‎‎‎‎‏‎‎‏‎‏‏‎‎‎‏‏‎‏‎‏‏‎‎‏‏‎‎Next‎‏‎‎‏‎"</string>
+    <string name="colors_viewpager_content_description" msgid="2591751086138259565">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‎‏‏‏‏‏‏‎‏‏‏‏‎‏‏‏‏‏‏‏‏‏‎‎‎‎‏‏‎‎‏‎‎‏‏‏‎‎‎‎‎‎‎‏‏‏‏‏‎‎‎‎‏‏‎‏‏‎‏‎Color preview‎‏‎‎‏‎"</string>
     <string name="bluetooth_sim_card_access_notification_title" msgid="5217037846900908318">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‎‎‎‎‏‏‎‎‏‏‎‏‎‏‎‎‏‎‎‎‏‎‎‎‏‏‏‏‏‎‏‏‏‎‎‎‏‎‎‏‏‎‎‎‎‏‎‎‎‎‏‎‎‎‏‏‏‏‎‎SIM card access request‎‏‎‎‏‎"</string>
     <string name="bluetooth_sim_card_access_notification_content" msgid="6759306429895300286">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‏‎‏‏‏‎‎‏‏‎‏‏‏‏‎‎‎‎‏‎‏‏‎‎‎‏‎‏‎‏‏‏‎‎‏‏‏‏‎‏‏‎‎‎‏‎‏‎‏‎‎‏‎‏‏‏‏‏‎‎A device wants to access your SIM card. Tap for details.‎‏‎‎‏‎"</string>
     <string name="bluetooth_sim_card_access_dialog_title" msgid="4486768729352090174">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‏‏‎‎‏‎‎‎‏‎‎‎‎‏‏‎‏‎‎‎‏‏‎‎‎‏‏‎‎‏‎‏‏‏‎‎‏‎‏‏‏‎‎‏‎‏‏‎‎‏‎‎‎‏‏‏‏‏‎‎Allow access to SIM card?‎‏‎‎‏‎"</string>
diff --git a/res/values-es-rUS/strings.xml b/res/values-es-rUS/strings.xml
index 763b15e..01b946d 100644
--- a/res/values-es-rUS/strings.xml
+++ b/res/values-es-rUS/strings.xml
@@ -5399,6 +5399,10 @@
     <string name="power_menu_long_press_for_assist_summary" msgid="8251928804984560312">"Mantén presionado el botón de encendido para activar Asistente"</string>
     <string name="power_menu_power_volume_up_hint" msgid="1733051433583045623">"Menú de encendido y emergencia:\nPresiona los botones de encendido y de subir volumen al mismo tiempo."</string>
     <string name="power_menu_power_prevent_ringing_hint" msgid="5786494894009727654">"Impedir hacer sonar:\nEl acceso directo está disponible en el menú de volumen."</string>
+    <string name="power_menu_long_press_for_assist_sensitivity_title" msgid="1626808509158422185">"Duración de presión"</string>
+    <string name="power_menu_long_press_for_assist_sensitivity_summary" msgid="7550610071666801935">"Elige durante cuánto tiempo quieres mantener presionado el botón de encendido para ajustar la sensibilidad"</string>
+    <string name="power_menu_long_press_for_assist_sensitivity_low_label" msgid="3430099983480845635">"Corta"</string>
+    <string name="power_menu_long_press_for_assist_sensitivity_high_label" msgid="2059686170350829156">"Larga"</string>
     <string name="lockscreen_privacy_wallet_setting_toggle" msgid="4188327143734192000">"Mostrar billetera"</string>
     <string name="lockscreen_privacy_wallet_summary" msgid="5388868513484652431">"Permite el acceso a la billetera desde la pantalla de bloqueo y la Configuración rápida"</string>
     <string name="lockscreen_privacy_controls_setting_toggle" msgid="7445725343949588613">"Mostrar controles del dispositivo"</string>
@@ -5539,6 +5543,9 @@
     <string name="sensor_toggle_description" msgid="8248823248606795411">"Para todas las apps y servicios"</string>
     <string name="game_settings_title" msgid="1028178627743422090">"Configuración de juegos"</string>
     <string name="game_settings_summary" msgid="2548056479103747555">"Activa el acceso directo al Panel de juego, etc."</string>
+    <string name="previous_page_content_description" msgid="6438292457923282991">"Anterior"</string>
+    <string name="next_page_content_description" msgid="1641835099813416294">"Siguiente"</string>
+    <string name="colors_viewpager_content_description" msgid="2591751086138259565">"Vista previa de color"</string>
     <string name="bluetooth_sim_card_access_notification_title" msgid="5217037846900908318">"Solicitud de acceso a la tarjeta SIM"</string>
     <string name="bluetooth_sim_card_access_notification_content" msgid="6759306429895300286">"Un dispositivo quiere acceder a tu tarjeta SIM. Presiona para ver más detalles."</string>
     <string name="bluetooth_sim_card_access_dialog_title" msgid="4486768729352090174">"¿Permitir acceso a la tarjeta SIM?"</string>
diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml
index dd50816..b34bd96 100644
--- a/res/values-es/strings.xml
+++ b/res/values-es/strings.xml
@@ -5397,6 +5397,14 @@
     <string name="power_menu_long_press_for_assist_summary" msgid="8251928804984560312">"Activa el Asistente manteniendo pulsado el botón de encendido"</string>
     <string name="power_menu_power_volume_up_hint" msgid="1733051433583045623">"Menú de encendido y de emergencias:\nPulsa las teclas de encendido y de subir volumen al mismo tiempo."</string>
     <string name="power_menu_power_prevent_ringing_hint" msgid="5786494894009727654">"Evitar sonar:\nAcceso directo disponible en el menú de volumen."</string>
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_title (1626808509158422185) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_summary (7550610071666801935) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_low_label (3430099983480845635) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_high_label (2059686170350829156) -->
+    <skip />
     <string name="lockscreen_privacy_wallet_setting_toggle" msgid="4188327143734192000">"Mostrar cartera"</string>
     <string name="lockscreen_privacy_wallet_summary" msgid="5388868513484652431">"Permite el acceso a la cartera desde la pantalla de bloqueo y los ajustes rápidos"</string>
     <string name="lockscreen_privacy_controls_setting_toggle" msgid="7445725343949588613">"Mostrar controles del dispositivo"</string>
@@ -5537,6 +5545,9 @@
     <string name="sensor_toggle_description" msgid="8248823248606795411">"Para todas las aplicaciones y servicios"</string>
     <string name="game_settings_title" msgid="1028178627743422090">"Ajustes de juego"</string>
     <string name="game_settings_summary" msgid="2548056479103747555">"Activa el acceso directo al Panel de juego, etc."</string>
+    <string name="previous_page_content_description" msgid="6438292457923282991">"Anterior"</string>
+    <string name="next_page_content_description" msgid="1641835099813416294">"Siguiente"</string>
+    <string name="colors_viewpager_content_description" msgid="2591751086138259565">"Vista previa de color"</string>
     <string name="bluetooth_sim_card_access_notification_title" msgid="5217037846900908318">"Solicitud de acceso a la tarjeta SIM"</string>
     <string name="bluetooth_sim_card_access_notification_content" msgid="6759306429895300286">"Un dispositivo quiere acceder a la tarjeta SIM. Toca para consultar más información."</string>
     <string name="bluetooth_sim_card_access_dialog_title" msgid="4486768729352090174">"¿Permitir acceso a la tarjeta SIM?"</string>
diff --git a/res/values-et/strings.xml b/res/values-et/strings.xml
index a985a94..1aba4f3 100644
--- a/res/values-et/strings.xml
+++ b/res/values-et/strings.xml
@@ -5399,6 +5399,14 @@
     <string name="power_menu_long_press_for_assist_summary" msgid="8251928804984560312">"Assistent aktiveeritakse toitenupu allhoidmisel"</string>
     <string name="power_menu_power_volume_up_hint" msgid="1733051433583045623">"Menüüd Toide ja Hädaolukord:\nvajutage samal ajal toitenuppu ja helitugevuse suurendamise nuppu."</string>
     <string name="power_menu_power_prevent_ringing_hint" msgid="5786494894009727654">"Helisemise vältimine:\notsetee asub helitugevuse menüüs."</string>
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_title (1626808509158422185) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_summary (7550610071666801935) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_low_label (3430099983480845635) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_high_label (2059686170350829156) -->
+    <skip />
     <string name="lockscreen_privacy_wallet_setting_toggle" msgid="4188327143734192000">"Kuva rahakott"</string>
     <string name="lockscreen_privacy_wallet_summary" msgid="5388868513484652431">"Rahakotile juurdepääsu lubamine lukustuskuvalt ja kiirseadetest"</string>
     <string name="lockscreen_privacy_controls_setting_toggle" msgid="7445725343949588613">"Kuva seadmete juhtimisvidinad"</string>
@@ -5539,6 +5547,9 @@
     <string name="sensor_toggle_description" msgid="8248823248606795411">"Kõikide rakenduste ja teenuste jaoks"</string>
     <string name="game_settings_title" msgid="1028178627743422090">"Mängude seaded"</string>
     <string name="game_settings_summary" msgid="2548056479103747555">"Mängu juhtpaneeli otsetee sisselülitamine jm"</string>
+    <string name="previous_page_content_description" msgid="6438292457923282991">"Eelmine"</string>
+    <string name="next_page_content_description" msgid="1641835099813416294">"Järgmine"</string>
+    <string name="colors_viewpager_content_description" msgid="2591751086138259565">"Värvi eelvaade"</string>
     <string name="bluetooth_sim_card_access_notification_title" msgid="5217037846900908318">"SIM-kaardile juurdepääsu taotlus"</string>
     <string name="bluetooth_sim_card_access_notification_content" msgid="6759306429895300286">"Seade soovib teie SIM-kaardile juurde pääseda. Puudutage üksikasjade nägemiseks."</string>
     <string name="bluetooth_sim_card_access_dialog_title" msgid="4486768729352090174">"Kas lubada juurdepääs SIM-kaardile?"</string>
diff --git a/res/values-eu/strings.xml b/res/values-eu/strings.xml
index fda17ff..b0d1f73 100644
--- a/res/values-eu/strings.xml
+++ b/res/values-eu/strings.xml
@@ -5397,6 +5397,14 @@
     <string name="power_menu_long_press_for_assist_summary" msgid="8251928804984560312">"Abiarazi Laguntzailea etengailua sakatuta edukiz"</string>
     <string name="power_menu_power_volume_up_hint" msgid="1733051433583045623">"Itzaltzeko eta larrialdietarako menua:\nSakatu etengailua eta bolumena igotzeko tekla aldi berean."</string>
     <string name="power_menu_power_prevent_ringing_hint" msgid="5786494894009727654">"Saihestu tonua jotzea:\nBolumenaren menuan dago lasterbidea."</string>
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_title (1626808509158422185) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_summary (7550610071666801935) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_low_label (3430099983480845635) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_high_label (2059686170350829156) -->
+    <skip />
     <string name="lockscreen_privacy_wallet_setting_toggle" msgid="4188327143734192000">"Erakutsi diru-zorroa"</string>
     <string name="lockscreen_privacy_wallet_summary" msgid="5388868513484652431">"Eman diru-zorroa atzitzeko baimena pantaila blokeatuan eta ezarpen bizkorretan"</string>
     <string name="lockscreen_privacy_controls_setting_toggle" msgid="7445725343949588613">"Erakutsi gailuak kontrolatzeko widgetak"</string>
@@ -5537,6 +5545,9 @@
     <string name="sensor_toggle_description" msgid="8248823248606795411">"Aplikazio eta zerbitzu guztietarako"</string>
     <string name="game_settings_title" msgid="1028178627743422090">"Jokoen ezarpenak"</string>
     <string name="game_settings_summary" msgid="2548056479103747555">"Aktibatu joko-paneleko lasterbidea, etab."</string>
+    <string name="previous_page_content_description" msgid="6438292457923282991">"Aurrekoa"</string>
+    <string name="next_page_content_description" msgid="1641835099813416294">"Hurrengoa"</string>
+    <string name="colors_viewpager_content_description" msgid="2591751086138259565">"Kolorearen aurrebista"</string>
     <string name="bluetooth_sim_card_access_notification_title" msgid="5217037846900908318">"SIM txartela atzitzeko eskaera"</string>
     <string name="bluetooth_sim_card_access_notification_content" msgid="6759306429895300286">"Gailu bat SIM txartela atzitu nahian dabil. Sakatu hau xehetasunak ikusteko."</string>
     <string name="bluetooth_sim_card_access_dialog_title" msgid="4486768729352090174">"SIM txartela atzitzeko baimena eman nahi duzu?"</string>
diff --git a/res/values-fa/strings.xml b/res/values-fa/strings.xml
index 5f97a4d..bfb0c08 100644
--- a/res/values-fa/strings.xml
+++ b/res/values-fa/strings.xml
@@ -5397,6 +5397,14 @@
     <string name="power_menu_long_press_for_assist_summary" msgid="8251928804984560312">"راه‌اندازی «دستیار»‌با نگه داشتن دکمه روشن/خاموش"</string>
     <string name="power_menu_power_volume_up_hint" msgid="1733051433583045623">"منوی روشن/خاموش و اضطراری:\nدکمه روشن/خاموش و افزایش صدا را هم‌زمان فشار دهید."</string>
     <string name="power_menu_power_prevent_ringing_hint" msgid="5786494894009727654">"جلوگیری از زنگ زدن:\nمیان‌بر در منوی میزان صدا دردسترس است."</string>
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_title (1626808509158422185) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_summary (7550610071666801935) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_low_label (3430099983480845635) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_high_label (2059686170350829156) -->
+    <skip />
     <string name="lockscreen_privacy_wallet_setting_toggle" msgid="4188327143734192000">"نمایش کیف پول"</string>
     <string name="lockscreen_privacy_wallet_summary" msgid="5388868513484652431">"مجاز کردن دسترسی به کیف پول از صفحه قفل و تنظیمات فوری"</string>
     <string name="lockscreen_privacy_controls_setting_toggle" msgid="7445725343949588613">"نمایش کنترل‌های دستگاه"</string>
@@ -5537,6 +5545,9 @@
     <string name="sensor_toggle_description" msgid="8248823248606795411">"برای همه برنامه‌ها و سرویس‌ها"</string>
     <string name="game_settings_title" msgid="1028178627743422090">"تنظیمات بازی"</string>
     <string name="game_settings_summary" msgid="2548056479103747555">"روشن کردن میان‌بر «داشبورد بازی‌ها» و غیره"</string>
+    <string name="previous_page_content_description" msgid="6438292457923282991">"قبلی"</string>
+    <string name="next_page_content_description" msgid="1641835099813416294">"بعدی"</string>
+    <string name="colors_viewpager_content_description" msgid="2591751086138259565">"پیش‌دید رنگ"</string>
     <string name="bluetooth_sim_card_access_notification_title" msgid="5217037846900908318">"درخواست دسترسی به سیم‌کارت"</string>
     <string name="bluetooth_sim_card_access_notification_content" msgid="6759306429895300286">"دستگاهی می‌خواهد به سیم‌کارتتان دسترسی داشته باشد. برای دیدن جزئیات، ضربه بزنید."</string>
     <string name="bluetooth_sim_card_access_dialog_title" msgid="4486768729352090174">"دسترسی به سیم‌کارت مجاز شود؟"</string>
diff --git a/res/values-fi/strings.xml b/res/values-fi/strings.xml
index 56d8d46..f1fae7d 100644
--- a/res/values-fi/strings.xml
+++ b/res/values-fi/strings.xml
@@ -5397,6 +5397,14 @@
     <string name="power_menu_long_press_for_assist_summary" msgid="8251928804984560312">"Käynnistä Assistant painamalla virtapainiketta pitkään"</string>
     <string name="power_menu_power_volume_up_hint" msgid="1733051433583045623">"Virta‑ ja Hätätilannevalikko:\nPaina virta‑ ja äänenvoimakkuuspainiketta yhtä aikaa."</string>
     <string name="power_menu_power_prevent_ringing_hint" msgid="5786494894009727654">"Soittamisen esto:\nPikanäppäin näkyy äänenvoimakkuusvalikossa."</string>
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_title (1626808509158422185) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_summary (7550610071666801935) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_low_label (3430099983480845635) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_high_label (2059686170350829156) -->
+    <skip />
     <string name="lockscreen_privacy_wallet_setting_toggle" msgid="4188327143734192000">"Näytä Wallet"</string>
     <string name="lockscreen_privacy_wallet_summary" msgid="5388868513484652431">"Salli Walletin käyttö lukitusnäytöltä ja pika-asetuksista"</string>
     <string name="lockscreen_privacy_controls_setting_toggle" msgid="7445725343949588613">"Näytä laitteiden hallinta"</string>
@@ -5537,6 +5545,9 @@
     <string name="sensor_toggle_description" msgid="8248823248606795411">"Kaikki sovellukset ja palvelut"</string>
     <string name="game_settings_title" msgid="1028178627743422090">"Peliasetukset"</string>
     <string name="game_settings_summary" msgid="2548056479103747555">"Laita päälle esim. Pelipaneelin pikakuvake"</string>
+    <string name="previous_page_content_description" msgid="6438292457923282991">"Edellinen"</string>
+    <string name="next_page_content_description" msgid="1641835099813416294">"Seuraava"</string>
+    <string name="colors_viewpager_content_description" msgid="2591751086138259565">"Värin esikatselu"</string>
     <string name="bluetooth_sim_card_access_notification_title" msgid="5217037846900908318">"SIM-kortin pääsyoikeuspyyntö"</string>
     <string name="bluetooth_sim_card_access_notification_content" msgid="6759306429895300286">"Laite haluaa pääsyn SIM-korttiisi. Katso lisätietoja napauttamalla."</string>
     <string name="bluetooth_sim_card_access_dialog_title" msgid="4486768729352090174">"Sallitaanko pääsy SIM-korttiin?"</string>
diff --git a/res/values-fr-rCA/strings.xml b/res/values-fr-rCA/strings.xml
index 8b4bd33..86f4186 100644
--- a/res/values-fr-rCA/strings.xml
+++ b/res/values-fr-rCA/strings.xml
@@ -5397,6 +5397,14 @@
     <string name="power_menu_long_press_for_assist_summary" msgid="8251928804984560312">"Activez l\'Assistant en maintenant l\'interrupteur enfoncé"</string>
     <string name="power_menu_power_volume_up_hint" msgid="1733051433583045623">"Menu d\'alimentation et d\'urgence :\nAppuyez simultanément sur l\'interrupteur et le bouton d\'augmentation du volume."</string>
     <string name="power_menu_power_prevent_ringing_hint" msgid="5786494894009727654">"Bloquer la sonnerie :\nRaccourci proposé dans le menu du volume."</string>
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_title (1626808509158422185) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_summary (7550610071666801935) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_low_label (3430099983480845635) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_high_label (2059686170350829156) -->
+    <skip />
     <string name="lockscreen_privacy_wallet_setting_toggle" msgid="4188327143734192000">"Afficher le portefeuille"</string>
     <string name="lockscreen_privacy_wallet_summary" msgid="5388868513484652431">"Autorisez l\'accès au portefeuille à partir de l\'écran de verrouillage et du menu Paramètres rapides"</string>
     <string name="lockscreen_privacy_controls_setting_toggle" msgid="7445725343949588613">"Afficher les commandes des appareils"</string>
@@ -5537,6 +5545,9 @@
     <string name="sensor_toggle_description" msgid="8248823248606795411">"Toutes les applications et tous les services"</string>
     <string name="game_settings_title" msgid="1028178627743422090">"Paramètres de jeu"</string>
     <string name="game_settings_summary" msgid="2548056479103747555">"Activer le raccourci vers le tableau de bord de jeu, etc."</string>
+    <string name="previous_page_content_description" msgid="6438292457923282991">"Précédent"</string>
+    <string name="next_page_content_description" msgid="1641835099813416294">"Suivant"</string>
+    <string name="colors_viewpager_content_description" msgid="2591751086138259565">"Aperçu de la couleur"</string>
     <string name="bluetooth_sim_card_access_notification_title" msgid="5217037846900908318">"Demande d\'accès à la carte SIM"</string>
     <string name="bluetooth_sim_card_access_notification_content" msgid="6759306429895300286">"Un appareil veut accéder à votre carte SIM. Touchez l\'écran pour en savoir plus."</string>
     <string name="bluetooth_sim_card_access_dialog_title" msgid="4486768729352090174">"Autoriser l\'accès à la carte SIM?"</string>
diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml
index 6284b66..219a3d2 100644
--- a/res/values-fr/strings.xml
+++ b/res/values-fr/strings.xml
@@ -5397,6 +5397,14 @@
     <string name="power_menu_long_press_for_assist_summary" msgid="8251928804984560312">"Appuyer de manière prolongée sur le bouton Marche/Arrêt pour déclencher l\'Assistant"</string>
     <string name="power_menu_power_volume_up_hint" msgid="1733051433583045623">"Menu Marche/Arrêt et d\'urgence :\nAppuyez simultanément sur Marche/Arrêt et Volume+."</string>
     <string name="power_menu_power_prevent_ringing_hint" msgid="5786494894009727654">"Bloquer la sonnerie :\nRaccourci disponible dans le menu du volume."</string>
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_title (1626808509158422185) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_summary (7550610071666801935) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_low_label (3430099983480845635) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_high_label (2059686170350829156) -->
+    <skip />
     <string name="lockscreen_privacy_wallet_setting_toggle" msgid="4188327143734192000">"Afficher le portefeuille"</string>
     <string name="lockscreen_privacy_wallet_summary" msgid="5388868513484652431">"Autoriser l\'accès au portefeuille depuis l\'écran de verrouillage et les Réglages rapides"</string>
     <string name="lockscreen_privacy_controls_setting_toggle" msgid="7445725343949588613">"Afficher les commandes de contrôle des appareils"</string>
@@ -5537,6 +5545,9 @@
     <string name="sensor_toggle_description" msgid="8248823248606795411">"Pour tous les services et applis"</string>
     <string name="game_settings_title" msgid="1028178627743422090">"Paramètres de jeu"</string>
     <string name="game_settings_summary" msgid="2548056479103747555">"Activer le raccourci Tableau de bord Jeux, etc."</string>
+    <string name="previous_page_content_description" msgid="6438292457923282991">"Précédent"</string>
+    <string name="next_page_content_description" msgid="1641835099813416294">"Suivant"</string>
+    <string name="colors_viewpager_content_description" msgid="2591751086138259565">"Aperçu de la couleur"</string>
     <string name="bluetooth_sim_card_access_notification_title" msgid="5217037846900908318">"Demande d\'accès à la carte SIM"</string>
     <string name="bluetooth_sim_card_access_notification_content" msgid="6759306429895300286">"Un appareil souhaite accéder à votre carte SIM. Appuyez ici pour plus de détails."</string>
     <string name="bluetooth_sim_card_access_dialog_title" msgid="4486768729352090174">"Autoriser l\'accès à la carte SIM ?"</string>
diff --git a/res/values-gl/strings.xml b/res/values-gl/strings.xml
index d63687f..2f279dd 100644
--- a/res/values-gl/strings.xml
+++ b/res/values-gl/strings.xml
@@ -5397,6 +5397,14 @@
     <string name="power_menu_long_press_for_assist_summary" msgid="8251928804984560312">"Activa o Asistente ao manter premido o botón de acendido"</string>
     <string name="power_menu_power_volume_up_hint" msgid="1733051433583045623">"Menú de acendido e emerxencia:\nPreme as teclas de acendido e de subir volume ao mesmo tempo."</string>
     <string name="power_menu_power_prevent_ringing_hint" msgid="5786494894009727654">"Evitar que soe:\nAtallo dispoñible no menú de volume."</string>
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_title (1626808509158422185) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_summary (7550610071666801935) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_low_label (3430099983480845635) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_high_label (2059686170350829156) -->
+    <skip />
     <string name="lockscreen_privacy_wallet_setting_toggle" msgid="4188327143734192000">"Mostrar moedeiro"</string>
     <string name="lockscreen_privacy_wallet_summary" msgid="5388868513484652431">"Permite o acceso ao moedeiro desde a pantalla de bloqueo e o menú Configuración rápida"</string>
     <string name="lockscreen_privacy_controls_setting_toggle" msgid="7445725343949588613">"Mostrar control de dispositivos"</string>
@@ -5537,6 +5545,9 @@
     <string name="sensor_toggle_description" msgid="8248823248606795411">"Para todas as aplicacións e servizos"</string>
     <string name="game_settings_title" msgid="1028178627743422090">"Configuración para xogos"</string>
     <string name="game_settings_summary" msgid="2548056479103747555">"Activa o atallo ao panel de xogo etc."</string>
+    <string name="previous_page_content_description" msgid="6438292457923282991">"Anterior"</string>
+    <string name="next_page_content_description" msgid="1641835099813416294">"Seguinte"</string>
+    <string name="colors_viewpager_content_description" msgid="2591751086138259565">"Vista previa da cor"</string>
     <string name="bluetooth_sim_card_access_notification_title" msgid="5217037846900908318">"Solicitude de acceso á tarxeta SIM"</string>
     <string name="bluetooth_sim_card_access_notification_content" msgid="6759306429895300286">"Un dispositivo quere acceder á túa tarxeta SIM. Toca para obter información."</string>
     <string name="bluetooth_sim_card_access_dialog_title" msgid="4486768729352090174">"Queres permitir o acceso á tarxeta SIM?"</string>
diff --git a/res/values-gu/strings.xml b/res/values-gu/strings.xml
index f79b702..bba066c 100644
--- a/res/values-gu/strings.xml
+++ b/res/values-gu/strings.xml
@@ -5397,6 +5397,14 @@
     <string name="power_menu_long_press_for_assist_summary" msgid="8251928804984560312">"પાવર બટનને દબાવી રાખીને Assistantનો ઉપયોગ કરો"</string>
     <string name="power_menu_power_volume_up_hint" msgid="1733051433583045623">"પાવર અને ઇમર્જન્સી મેનૂ:\nએક જ સમયે અને વૉલ્યૂમ વધારવાનું બટન દબાવો."</string>
     <string name="power_menu_power_prevent_ringing_hint" msgid="5786494894009727654">"રિંગ વાગતી અટકાવો:\nવૉલ્યૂમ મેનૂમાં શૉર્ટકટ ઉપલબ્ધ છે."</string>
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_title (1626808509158422185) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_summary (7550610071666801935) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_low_label (3430099983480845635) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_high_label (2059686170350829156) -->
+    <skip />
     <string name="lockscreen_privacy_wallet_setting_toggle" msgid="4188327143734192000">"વૉલેટ બતાવો"</string>
     <string name="lockscreen_privacy_wallet_summary" msgid="5388868513484652431">"લૉક સ્ક્રીન અને ઝડપી સેટિંગથી વૉલેટ ઍક્સેસ કરવાની મંજૂરી આપો"</string>
     <string name="lockscreen_privacy_controls_setting_toggle" msgid="7445725343949588613">"ડિવાઇસનાં નિયંત્રણો બતાવો"</string>
@@ -5537,6 +5545,9 @@
     <string name="sensor_toggle_description" msgid="8248823248606795411">"બધી ઍપ અને સેવાઓ માટે"</string>
     <string name="game_settings_title" msgid="1028178627743422090">"ગેમ સેટિંગ"</string>
     <string name="game_settings_summary" msgid="2548056479103747555">"ગેમ ડૅશબોર્ડનો શૉર્ટકટ, વગેરે ચાલુ કરો"</string>
+    <string name="previous_page_content_description" msgid="6438292457923282991">"પાછળ"</string>
+    <string name="next_page_content_description" msgid="1641835099813416294">"આગળ"</string>
+    <string name="colors_viewpager_content_description" msgid="2591751086138259565">"રંગનો પ્રીવ્યૂ"</string>
     <string name="bluetooth_sim_card_access_notification_title" msgid="5217037846900908318">"સિમ કાર્ડને ઍક્સેસ કરવાની વિનંતી"</string>
     <string name="bluetooth_sim_card_access_notification_content" msgid="6759306429895300286">"કોઈ ડિવાઇસ તમારા સિમ કાર્ડને ઍક્સેસ કરવા માગે છે. વિગતો માટે ટૅપ કરો."</string>
     <string name="bluetooth_sim_card_access_dialog_title" msgid="4486768729352090174">"સિમ કાર્ડના ઍક્સેસની મંજૂરી આપીએ?"</string>
diff --git a/res/values-hi/strings.xml b/res/values-hi/strings.xml
index efad3ac..d5558ba 100644
--- a/res/values-hi/strings.xml
+++ b/res/values-hi/strings.xml
@@ -5397,6 +5397,14 @@
     <string name="power_menu_long_press_for_assist_summary" msgid="8251928804984560312">"पावर बटन को कुछ देर तक दबाकर, Assistant का इस्तेमाल करें"</string>
     <string name="power_menu_power_volume_up_hint" msgid="1733051433583045623">"पावर &amp; आपातकालीन मेन्यू:\nपावर बटन और आवाज़ तेज़ करने वाले बटन को एक साथ दबाएं."</string>
     <string name="power_menu_power_prevent_ringing_hint" msgid="5786494894009727654">"घंटी बजने से रोकना:\nइसका शॉर्टकट, वॉल्यूम मेन्यू में मौजूद है."</string>
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_title (1626808509158422185) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_summary (7550610071666801935) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_low_label (3430099983480845635) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_high_label (2059686170350829156) -->
+    <skip />
     <string name="lockscreen_privacy_wallet_setting_toggle" msgid="4188327143734192000">"वॉलेट दिखाएं"</string>
     <string name="lockscreen_privacy_wallet_summary" msgid="5388868513484652431">"लॉक स्क्रीन और फटाफट सेटिंग से वॉलेट ऐक्सेस करने की अनुमति दें"</string>
     <string name="lockscreen_privacy_controls_setting_toggle" msgid="7445725343949588613">"डिवाइस कंट्रोल दिखाएं"</string>
@@ -5537,6 +5545,9 @@
     <string name="sensor_toggle_description" msgid="8248823248606795411">"सभी ऐप्लिकेशन और सेवाओं के लिए"</string>
     <string name="game_settings_title" msgid="1028178627743422090">"गेम की सेटिंग"</string>
     <string name="game_settings_summary" msgid="2548056479103747555">"गेम डैशबोर्ड का शॉर्टकट और दूसरी सुविधाएं चालू करें"</string>
+    <string name="previous_page_content_description" msgid="6438292457923282991">"पीछे जाएं"</string>
+    <string name="next_page_content_description" msgid="1641835099813416294">"आगे बढ़ें"</string>
+    <string name="colors_viewpager_content_description" msgid="2591751086138259565">"रंग की झलक"</string>
     <string name="bluetooth_sim_card_access_notification_title" msgid="5217037846900908318">"सिम कार्ड को ऐक्सेस करने का अनुरोध"</string>
     <string name="bluetooth_sim_card_access_notification_content" msgid="6759306429895300286">"डिवाइस आपके सिम कार्ड को ऐक्सेस करना चाहता है. जानकारी पाने के लिए टैप करें."</string>
     <string name="bluetooth_sim_card_access_dialog_title" msgid="4486768729352090174">"क्या आप सिम कार्ड का ऐक्सेस देना चाहते हैं?"</string>
diff --git a/res/values-hr/strings.xml b/res/values-hr/strings.xml
index 1b88649..814dbde 100644
--- a/res/values-hr/strings.xml
+++ b/res/values-hr/strings.xml
@@ -5488,6 +5488,14 @@
     <string name="power_menu_long_press_for_assist_summary" msgid="8251928804984560312">"Pokrenite Asistenta zadržavajući tipku za uključivanje/isključivanje"</string>
     <string name="power_menu_power_volume_up_hint" msgid="1733051433583045623">"Izbornik tipke za uključivanje i hitnih službi:\nistovremeno pritisnite tipku za uključivanje/isključivanje i tipku za glasnoću."</string>
     <string name="power_menu_power_prevent_ringing_hint" msgid="5786494894009727654">"Sprječavanje zvonjenja:\nprečac je dostupan u izborniku glasnoće."</string>
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_title (1626808509158422185) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_summary (7550610071666801935) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_low_label (3430099983480845635) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_high_label (2059686170350829156) -->
+    <skip />
     <string name="lockscreen_privacy_wallet_setting_toggle" msgid="4188327143734192000">"Prikaži novčanik"</string>
     <string name="lockscreen_privacy_wallet_summary" msgid="5388868513484652431">"Omogućite pristup novčaniku sa zaključanog zaslona i iz brzih postavki"</string>
     <string name="lockscreen_privacy_controls_setting_toggle" msgid="7445725343949588613">"Prikaži kontrole uređaja"</string>
@@ -5628,6 +5636,9 @@
     <string name="sensor_toggle_description" msgid="8248823248606795411">"Za sve aplikacije i usluge"</string>
     <string name="game_settings_title" msgid="1028178627743422090">"Postavke igara"</string>
     <string name="game_settings_summary" msgid="2548056479103747555">"Uključite prečac za nadzornu ploču igre itd."</string>
+    <string name="previous_page_content_description" msgid="6438292457923282991">"Prethodno"</string>
+    <string name="next_page_content_description" msgid="1641835099813416294">"Dalje"</string>
+    <string name="colors_viewpager_content_description" msgid="2591751086138259565">"Pregled boje"</string>
     <string name="bluetooth_sim_card_access_notification_title" msgid="5217037846900908318">"Zahtjev za pristup SIM kartici"</string>
     <string name="bluetooth_sim_card_access_notification_content" msgid="6759306429895300286">"Uređaj želi pristupiti vašoj SIM kartici. Dodirnite da biste vidjeli pojedinosti."</string>
     <string name="bluetooth_sim_card_access_dialog_title" msgid="4486768729352090174">"Želite li dopustiti pristup SIM kartici?"</string>
diff --git a/res/values-hu/strings.xml b/res/values-hu/strings.xml
index 1129952..3b70081 100644
--- a/res/values-hu/strings.xml
+++ b/res/values-hu/strings.xml
@@ -5397,6 +5397,14 @@
     <string name="power_menu_long_press_for_assist_summary" msgid="8251928804984560312">"A bekapcsológombot lenyomva tartva aktiválhatja a Segédet"</string>
     <string name="power_menu_power_volume_up_hint" msgid="1733051433583045623">"Bekapcsológombhoz és vészhelyzethez tartozó menü:\nNyomja le egyszerre a bekapcsológombot és a hangerő növelése gombot."</string>
     <string name="power_menu_power_prevent_ringing_hint" msgid="5786494894009727654">"Csörgés megakadályozása:\nA gyorsparancs a hangerő menüben áll rendelkezésre."</string>
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_title (1626808509158422185) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_summary (7550610071666801935) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_low_label (3430099983480845635) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_high_label (2059686170350829156) -->
+    <skip />
     <string name="lockscreen_privacy_wallet_setting_toggle" msgid="4188327143734192000">"Tárca mutatása"</string>
     <string name="lockscreen_privacy_wallet_summary" msgid="5388868513484652431">"Hozzáférés a tárcához a lezárási képernyőről és a Gyorsbeállításokból"</string>
     <string name="lockscreen_privacy_controls_setting_toggle" msgid="7445725343949588613">"Eszközvezérlők megjelenítése"</string>
@@ -5537,6 +5545,9 @@
     <string name="sensor_toggle_description" msgid="8248823248606795411">"Minden alkalmazásnál és szolgáltatásnál"</string>
     <string name="game_settings_title" msgid="1028178627743422090">"Játékbeállítások"</string>
     <string name="game_settings_summary" msgid="2548056479103747555">"Játékok irányítópultja-gyorsparancs bekapcsolása stb."</string>
+    <string name="previous_page_content_description" msgid="6438292457923282991">"Előző"</string>
+    <string name="next_page_content_description" msgid="1641835099813416294">"Következő"</string>
+    <string name="colors_viewpager_content_description" msgid="2591751086138259565">"Szín előnézete"</string>
     <string name="bluetooth_sim_card_access_notification_title" msgid="5217037846900908318">"SIM-kártyához való hozzáférés kérése"</string>
     <string name="bluetooth_sim_card_access_notification_content" msgid="6759306429895300286">"Egy eszköz szeretne hozzáférni a SIM-kártyájához. Koppintson a részletekért."</string>
     <string name="bluetooth_sim_card_access_dialog_title" msgid="4486768729352090174">"Engedélyezi a SIM-kártyához való hozzáférést?"</string>
diff --git a/res/values-hy/strings.xml b/res/values-hy/strings.xml
index 1d9db86..8335804 100644
--- a/res/values-hy/strings.xml
+++ b/res/values-hy/strings.xml
@@ -5397,6 +5397,14 @@
     <string name="power_menu_long_press_for_assist_summary" msgid="8251928804984560312">"Ակտիվացրեք Օգնականը՝ երկար սեղմած պահելով սնուցման կոճակը"</string>
     <string name="power_menu_power_volume_up_hint" msgid="1733051433583045623">"Սնուցման կոճակի և արտակարգ իրավիճակների տեղեկությունների ընտրացանկ\nՄիաժամանակ սեղմեք սնուցման և ձայնի բարձրացման կոճակները։"</string>
     <string name="power_menu_power_prevent_ringing_hint" msgid="5786494894009727654">"Զանգի ձայնի անջատում\nԴյուրանցումը հասանելի է ձայնի ուժգնության ընտրացանկում։"</string>
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_title (1626808509158422185) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_summary (7550610071666801935) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_low_label (3430099983480845635) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_high_label (2059686170350829156) -->
+    <skip />
     <string name="lockscreen_privacy_wallet_setting_toggle" msgid="4188327143734192000">"Ցուցադրել դրամապանակը"</string>
     <string name="lockscreen_privacy_wallet_summary" msgid="5388868513484652431">"Հասանելի դարձնել դրամապանակը կողպէկրանին և արագ կարգավորումներում"</string>
     <string name="lockscreen_privacy_controls_setting_toggle" msgid="7445725343949588613">"Ցուցադրել սարքերի կառավարման տարրերը"</string>
@@ -5537,6 +5545,9 @@
     <string name="sensor_toggle_description" msgid="8248823248606795411">"Բոլոր հավելվածների և ծառայությունների համար"</string>
     <string name="game_settings_title" msgid="1028178627743422090">"Խաղերի կարգավորումներ"</string>
     <string name="game_settings_summary" msgid="2548056479103747555">"Խաղային վահանակի դյուրանցման և այլ գործառույթների ակտիվացում"</string>
+    <string name="previous_page_content_description" msgid="6438292457923282991">"Հետ"</string>
+    <string name="next_page_content_description" msgid="1641835099813416294">"Առաջ"</string>
+    <string name="colors_viewpager_content_description" msgid="2591751086138259565">"Գույնի նախադիտում"</string>
     <string name="bluetooth_sim_card_access_notification_title" msgid="5217037846900908318">"SIM քարտի հասանելիության հարցում"</string>
     <string name="bluetooth_sim_card_access_notification_content" msgid="6759306429895300286">"Սարքն ուզում է հասանելիություն ստանալ ձեր SIM քարտին։ Հպեք՝ ավելին իմանալու համար։"</string>
     <string name="bluetooth_sim_card_access_dialog_title" msgid="4486768729352090174">"Հասանելի դարձնե՞լ SIM քարտը"</string>
diff --git a/res/values-in/strings.xml b/res/values-in/strings.xml
index 6b96f6f..b05f9af 100644
--- a/res/values-in/strings.xml
+++ b/res/values-in/strings.xml
@@ -5397,6 +5397,14 @@
     <string name="power_menu_long_press_for_assist_summary" msgid="8251928804984560312">"Picu Asisten dengan menekan lama tombol daya"</string>
     <string name="power_menu_power_volume_up_hint" msgid="1733051433583045623">"Menu Daya &amp; Darurat:\nTekan tombol Daya dan Naikkan volume bersamaan."</string>
     <string name="power_menu_power_prevent_ringing_hint" msgid="5786494894009727654">"Cegah berdering:\nPintasan tersedia di menu volume."</string>
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_title (1626808509158422185) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_summary (7550610071666801935) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_low_label (3430099983480845635) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_high_label (2059686170350829156) -->
+    <skip />
     <string name="lockscreen_privacy_wallet_setting_toggle" msgid="4188327143734192000">"Tampilkan dompet"</string>
     <string name="lockscreen_privacy_wallet_summary" msgid="5388868513484652431">"Izinkan akses ke dompet dari layar kunci dan setelan cepat"</string>
     <string name="lockscreen_privacy_controls_setting_toggle" msgid="7445725343949588613">"Tampilkan kontrol perangkat"</string>
@@ -5537,6 +5545,9 @@
     <string name="sensor_toggle_description" msgid="8248823248606795411">"Untuk semua aplikasi dan layanan"</string>
     <string name="game_settings_title" msgid="1028178627743422090">"Setelan game"</string>
     <string name="game_settings_summary" msgid="2548056479103747555">"Aktifkan pintasan Dasbor Game, dsb."</string>
+    <string name="previous_page_content_description" msgid="6438292457923282991">"Sebelumnya"</string>
+    <string name="next_page_content_description" msgid="1641835099813416294">"Berikutnya"</string>
+    <string name="colors_viewpager_content_description" msgid="2591751086138259565">"Pratinjau warna"</string>
     <string name="bluetooth_sim_card_access_notification_title" msgid="5217037846900908318">"Permintaan akses kartu SIM"</string>
     <string name="bluetooth_sim_card_access_notification_content" msgid="6759306429895300286">"Sebuah perangkat ingin mengakses kartu SIM Anda. Ketuk untuk melihat detailnya."</string>
     <string name="bluetooth_sim_card_access_dialog_title" msgid="4486768729352090174">"Izinkan akses ke kartu SIM?"</string>
diff --git a/res/values-is/strings.xml b/res/values-is/strings.xml
index 95eefa0..fddd8a1 100644
--- a/res/values-is/strings.xml
+++ b/res/values-is/strings.xml
@@ -5397,6 +5397,14 @@
     <string name="power_menu_long_press_for_assist_summary" msgid="8251928804984560312">"Ræstu Hjálparann með því að halda aflrofanum inni"</string>
     <string name="power_menu_power_volume_up_hint" msgid="1733051433583045623">"Aflrofa- og neyðarvalmynd:\nÝttu samtímis á aflrofann og hnappinn til að hækka hljóðstyrk."</string>
     <string name="power_menu_power_prevent_ringing_hint" msgid="5786494894009727654">"Koma í veg fyrir hringingu:\nFlýtileið í boði á hljóðvalmyndinni."</string>
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_title (1626808509158422185) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_summary (7550610071666801935) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_low_label (3430099983480845635) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_high_label (2059686170350829156) -->
+    <skip />
     <string name="lockscreen_privacy_wallet_setting_toggle" msgid="4188327143734192000">"Sýna veski"</string>
     <string name="lockscreen_privacy_wallet_summary" msgid="5388868513484652431">"Leyfa aðgang að veski af lásskjá og úr flýtistillingum"</string>
     <string name="lockscreen_privacy_controls_setting_toggle" msgid="7445725343949588613">"Sýna tækjastjórnun"</string>
@@ -5537,6 +5545,9 @@
     <string name="sensor_toggle_description" msgid="8248823248606795411">"Fyrir öll forrit og þjónustur"</string>
     <string name="game_settings_title" msgid="1028178627743422090">"Leikjastillingar"</string>
     <string name="game_settings_summary" msgid="2548056479103747555">"Kveikja á leikjastjórnborðsflýtileið o.s.frv."</string>
+    <string name="previous_page_content_description" msgid="6438292457923282991">"Til baka"</string>
+    <string name="next_page_content_description" msgid="1641835099813416294">"Áfram"</string>
+    <string name="colors_viewpager_content_description" msgid="2591751086138259565">"Forskoðun litar"</string>
     <string name="bluetooth_sim_card_access_notification_title" msgid="5217037846900908318">"Beiðni um aðgang að SIM-korti"</string>
     <string name="bluetooth_sim_card_access_notification_content" msgid="6759306429895300286">"Tæki vill fá aðgang að SIM-kortinu þínu. Ýttu til að fá frekari upplýsingar."</string>
     <string name="bluetooth_sim_card_access_dialog_title" msgid="4486768729352090174">"Leyfa aðgang að SIM-korti?"</string>
diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml
index 7755784..e11cd2a 100644
--- a/res/values-it/strings.xml
+++ b/res/values-it/strings.xml
@@ -5397,6 +5397,14 @@
     <string name="power_menu_long_press_for_assist_summary" msgid="8251928804984560312">"Attiva l\'assistente tenendo premuto il tasto di accensione"</string>
     <string name="power_menu_power_volume_up_hint" msgid="1733051433583045623">"Menu accensione ed emergenze:\npremi contemporaneamente il tasto di accensione e il tasto alza il volume"</string>
     <string name="power_menu_power_prevent_ringing_hint" msgid="5786494894009727654">"Disattiva suoneria:\nscorciatoia disponibile nel menu del volume."</string>
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_title (1626808509158422185) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_summary (7550610071666801935) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_low_label (3430099983480845635) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_high_label (2059686170350829156) -->
+    <skip />
     <string name="lockscreen_privacy_wallet_setting_toggle" msgid="4188327143734192000">"Mostra portafoglio"</string>
     <string name="lockscreen_privacy_wallet_summary" msgid="5388868513484652431">"Consenti l\'accesso al portafoglio dalla schermata di blocco e dalle impostazioni rapide"</string>
     <string name="lockscreen_privacy_controls_setting_toggle" msgid="7445725343949588613">"Mostra controlli dei dispositivi"</string>
@@ -5537,6 +5545,9 @@
     <string name="sensor_toggle_description" msgid="8248823248606795411">"Per tutte le app e tutti i servizi"</string>
     <string name="game_settings_title" msgid="1028178627743422090">"Impostazioni di gioco"</string>
     <string name="game_settings_summary" msgid="2548056479103747555">"Viene attivata la scorciatoia del Pannello di gioco e non solo"</string>
+    <string name="previous_page_content_description" msgid="6438292457923282991">"Indietro"</string>
+    <string name="next_page_content_description" msgid="1641835099813416294">"Avanti"</string>
+    <string name="colors_viewpager_content_description" msgid="2591751086138259565">"Anteprima colore"</string>
     <string name="bluetooth_sim_card_access_notification_title" msgid="5217037846900908318">"Richiesta di accesso alla scheda SIM"</string>
     <string name="bluetooth_sim_card_access_notification_content" msgid="6759306429895300286">"Un dispositivo vuole accedere alla tua scheda SIM. Tocca per conoscere i dettagli."</string>
     <string name="bluetooth_sim_card_access_dialog_title" msgid="4486768729352090174">"Consentire l\'accesso alla scheda SIM?"</string>
diff --git a/res/values-iw/strings.xml b/res/values-iw/strings.xml
index 2d888c1..839b244 100644
--- a/res/values-iw/strings.xml
+++ b/res/values-iw/strings.xml
@@ -5577,6 +5577,14 @@
     <string name="power_menu_long_press_for_assist_summary" msgid="8251928804984560312">"‏כדי להפעיל את Assistant, לוחצים לחיצה ארוכה על לחצן ההפעלה"</string>
     <string name="power_menu_power_volume_up_hint" msgid="1733051433583045623">"תפריט הפעלה וחירום:\nלוחצים על לחצן ההפעלה ועל הלחצן להגברת עוצמת הקול בו-זמנית."</string>
     <string name="power_menu_power_prevent_ringing_hint" msgid="5786494894009727654">"מניעת השמעה של צלצול:\nקיצור דרך זמין בתפריט עוצמת הקול."</string>
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_title (1626808509158422185) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_summary (7550610071666801935) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_low_label (3430099983480845635) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_high_label (2059686170350829156) -->
+    <skip />
     <string name="lockscreen_privacy_wallet_setting_toggle" msgid="4188327143734192000">"הצגת הארנק"</string>
     <string name="lockscreen_privacy_wallet_summary" msgid="5388868513484652431">"אישור גישה אל הארנק ממסך הנעילה ומההגדרות המהירות"</string>
     <string name="lockscreen_privacy_controls_setting_toggle" msgid="7445725343949588613">"הצגת פקדי המכשיר"</string>
@@ -5717,6 +5725,9 @@
     <string name="sensor_toggle_description" msgid="8248823248606795411">"לכל האפליקציות והשירותים"</string>
     <string name="game_settings_title" msgid="1028178627743422090">"הגדרות משחקים"</string>
     <string name="game_settings_summary" msgid="2548056479103747555">"הפעלת הלחצן המהיר למרכז בקרת המשחקים, וכו\'"</string>
+    <string name="previous_page_content_description" msgid="6438292457923282991">"הקודם"</string>
+    <string name="next_page_content_description" msgid="1641835099813416294">"הבא"</string>
+    <string name="colors_viewpager_content_description" msgid="2591751086138259565">"תצוגה מקדימה של הצבע"</string>
     <string name="bluetooth_sim_card_access_notification_title" msgid="5217037846900908318">"‏בקשת גישה לכרטיס ה-SIM"</string>
     <string name="bluetooth_sim_card_access_notification_content" msgid="6759306429895300286">"‏מכשיר מבקש גישה לכרטיס SIM שלך. יש להקיש לקבלת פרטים."</string>
     <string name="bluetooth_sim_card_access_dialog_title" msgid="4486768729352090174">"‏להעניק גישה לכרטיס ה-SIM?"</string>
diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml
index 9fbad6b..42851e7 100644
--- a/res/values-ja/strings.xml
+++ b/res/values-ja/strings.xml
@@ -5397,6 +5397,14 @@
     <string name="power_menu_long_press_for_assist_summary" msgid="8251928804984560312">"電源ボタンを長押ししてアシスタントを呼び出します"</string>
     <string name="power_menu_power_volume_up_hint" msgid="1733051433583045623">"電源ボタンと緊急通報のメニュー:\n電源ボタンと音量大ボタンを同時に押してください。"</string>
     <string name="power_menu_power_prevent_ringing_hint" msgid="5786494894009727654">"着信音のミュート:\n音量メニューでショートカットを利用できます。"</string>
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_title (1626808509158422185) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_summary (7550610071666801935) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_low_label (3430099983480845635) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_high_label (2059686170350829156) -->
+    <skip />
     <string name="lockscreen_privacy_wallet_setting_toggle" msgid="4188327143734192000">"ウォレットを表示"</string>
     <string name="lockscreen_privacy_wallet_summary" msgid="5388868513484652431">"ロック画面とクイック設定からウォレットへのアクセスを許可します"</string>
     <string name="lockscreen_privacy_controls_setting_toggle" msgid="7445725343949588613">"デバイス コントロールを表示"</string>
@@ -5537,6 +5545,9 @@
     <string name="sensor_toggle_description" msgid="8248823248606795411">"すべてのアプリとサービス"</string>
     <string name="game_settings_title" msgid="1028178627743422090">"ゲームの設定"</string>
     <string name="game_settings_summary" msgid="2548056479103747555">"ゲーム ダッシュボード ショートカットやその他の機能を有効にします"</string>
+    <string name="previous_page_content_description" msgid="6438292457923282991">"前へ"</string>
+    <string name="next_page_content_description" msgid="1641835099813416294">"次へ"</string>
+    <string name="colors_viewpager_content_description" msgid="2591751086138259565">"色のプレビュー"</string>
     <string name="bluetooth_sim_card_access_notification_title" msgid="5217037846900908318">"SIM カードへのアクセスのリクエスト"</string>
     <string name="bluetooth_sim_card_access_notification_content" msgid="6759306429895300286">"デバイスが SIM カードにアクセスしようとしています。タップして詳細をご確認ください。"</string>
     <string name="bluetooth_sim_card_access_dialog_title" msgid="4486768729352090174">"SIM カードへのアクセスを許可しますか？"</string>
diff --git a/res/values-ka/strings.xml b/res/values-ka/strings.xml
index e911c98..8a3ca58 100644
--- a/res/values-ka/strings.xml
+++ b/res/values-ka/strings.xml
@@ -5397,6 +5397,14 @@
     <string name="power_menu_long_press_for_assist_summary" msgid="8251928804984560312">"ასისტენტის გაშვება ჩართვის ღილაკზე ხანგრძლივად დაჭერით"</string>
     <string name="power_menu_power_volume_up_hint" msgid="1733051433583045623">"ჩართვის და საგანგებო მენიუ:\nერთდროულად დააჭირეთ ჩართვას და ხმის აწევას."</string>
     <string name="power_menu_power_prevent_ringing_hint" msgid="5786494894009727654">"დარეკვის თავიდან აცილება:\nმალსახმობი ხმის სიმძლავრის მენიუშია."</string>
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_title (1626808509158422185) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_summary (7550610071666801935) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_low_label (3430099983480845635) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_high_label (2059686170350829156) -->
+    <skip />
     <string name="lockscreen_privacy_wallet_setting_toggle" msgid="4188327143734192000">"საფულის ჩვენება"</string>
     <string name="lockscreen_privacy_wallet_summary" msgid="5388868513484652431">"დაუშვით საფულეზე წვდომა ჩაკეტილი ეკრანიდან და სწრაფი პარამეტრებიდან"</string>
     <string name="lockscreen_privacy_controls_setting_toggle" msgid="7445725343949588613">"მოწყობილობის მართვის საშუალებების ჩვენება"</string>
@@ -5537,6 +5545,9 @@
     <string name="sensor_toggle_description" msgid="8248823248606795411">"ყველა აპისა და სერვისისთვის"</string>
     <string name="game_settings_title" msgid="1028178627743422090">"თამაშის პარამეტრები"</string>
     <string name="game_settings_summary" msgid="2548056479103747555">"თამაშების დაფის მალსახმობის ჩართვა და სხვა"</string>
+    <string name="previous_page_content_description" msgid="6438292457923282991">"წინა"</string>
+    <string name="next_page_content_description" msgid="1641835099813416294">"შემდეგი"</string>
+    <string name="colors_viewpager_content_description" msgid="2591751086138259565">"ფერის გადახედვა"</string>
     <string name="bluetooth_sim_card_access_notification_title" msgid="5217037846900908318">"SIM ბარათზე წვდომის მოთხოვნა"</string>
     <string name="bluetooth_sim_card_access_notification_content" msgid="6759306429895300286">"მოწყობილობას სურს წვდომა თქვენს SIM ბარათზე. შეეხეთ დეტალების სანახავად."</string>
     <string name="bluetooth_sim_card_access_dialog_title" msgid="4486768729352090174">"დაუშვებთ SIM ბარათზე წვდომას?"</string>
diff --git a/res/values-kk/strings.xml b/res/values-kk/strings.xml
index ad1f7ae..3b33898 100644
--- a/res/values-kk/strings.xml
+++ b/res/values-kk/strings.xml
@@ -5397,6 +5397,14 @@
     <string name="power_menu_long_press_for_assist_summary" msgid="8251928804984560312">"Assistant-ті қуат түймесін басып тұру арқылы іске қосыңыз."</string>
     <string name="power_menu_power_volume_up_hint" msgid="1733051433583045623">"Қуат және төтенше жағдай мәзірі:\nҚуат түймесі мен дыбысты арттыру түймесін бір уақытта басыңыз."</string>
     <string name="power_menu_power_prevent_ringing_hint" msgid="5786494894009727654">"Қоңырау дыбысын өшіру:\nДыбыс деңгейі мәзірінде таңбаша бар."</string>
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_title (1626808509158422185) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_summary (7550610071666801935) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_low_label (3430099983480845635) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_high_label (2059686170350829156) -->
+    <skip />
     <string name="lockscreen_privacy_wallet_setting_toggle" msgid="4188327143734192000">"Әмиянды көрсету"</string>
     <string name="lockscreen_privacy_wallet_summary" msgid="5388868513484652431">"Құлыптаулы экран мен жылдам параметрлерден әмиянды пайдалануға рұқсат беру"</string>
     <string name="lockscreen_privacy_controls_setting_toggle" msgid="7445725343949588613">"Құрылғыны басқару элементтерін көрсету"</string>
@@ -5537,6 +5545,9 @@
     <string name="sensor_toggle_description" msgid="8248823248606795411">"Барлық қолданба мен қызмет үшін"</string>
     <string name="game_settings_title" msgid="1028178627743422090">"Ойын параметрлері"</string>
     <string name="game_settings_summary" msgid="2548056479103747555">"Ойын тақтасының таңбашасын қосу және т.б."</string>
+    <string name="previous_page_content_description" msgid="6438292457923282991">"Алдыңғы"</string>
+    <string name="next_page_content_description" msgid="1641835099813416294">"Келесі"</string>
+    <string name="colors_viewpager_content_description" msgid="2591751086138259565">"Түсті алдын ала қарау"</string>
     <string name="bluetooth_sim_card_access_notification_title" msgid="5217037846900908318">"SIM картасын пайдалануға рұқсат сұрау"</string>
     <string name="bluetooth_sim_card_access_notification_content" msgid="6759306429895300286">"Құрылғы SIM картаңызды пайдалануға рұқсат сұрайды. Толық мәлімет алу үшін түртіңіз."</string>
     <string name="bluetooth_sim_card_access_dialog_title" msgid="4486768729352090174">"SIM картасын пайдалануға рұқсат берілсін бе?"</string>
diff --git a/res/values-km/strings.xml b/res/values-km/strings.xml
index be0e180..cb1dffc 100644
--- a/res/values-km/strings.xml
+++ b/res/values-km/strings.xml
@@ -5397,6 +5397,14 @@
     <string name="power_menu_long_press_for_assist_summary" msgid="8251928804984560312">"បើកដំណើរការ​ជំនួយការ​ដោយចុច​ប៊ូតុងថាមពលឱ្យជាប់"</string>
     <string name="power_menu_power_volume_up_hint" msgid="1733051433583045623">"ម៉ឺនុយថាមពល និងពេលមានអាសន្ន៖\nចុចប៊ូតុងថាមពល និងដំឡើងកម្រិត​សំឡេងក្នុងពេលតែមួយ។"</string>
     <string name="power_menu_power_prevent_ringing_hint" msgid="5786494894009727654">"ទប់ស្កាត់ការរោទ៍៖\nអាចប្រើផ្លូវកាត់បាន​នៅក្នុងម៉ឺនុយ​កម្រិតសំឡេង។"</string>
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_title (1626808509158422185) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_summary (7550610071666801935) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_low_label (3430099983480845635) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_high_label (2059686170350829156) -->
+    <skip />
     <string name="lockscreen_privacy_wallet_setting_toggle" msgid="4188327143734192000">"បង្ហាញកាបូប"</string>
     <string name="lockscreen_privacy_wallet_summary" msgid="5388868513484652431">"អនុញ្ញាតឱ្យចូលប្រើ​កាបូបពីអេក្រង់​ចាក់សោ និងការកំណត់រហ័ស"</string>
     <string name="lockscreen_privacy_controls_setting_toggle" msgid="7445725343949588613">"បង្ហាញ​ផ្ទាំងគ្រប់គ្រង​ឧបករណ៍"</string>
@@ -5537,6 +5545,9 @@
     <string name="sensor_toggle_description" msgid="8248823248606795411">"សម្រាប់កម្មវិធី និងសេវាកម្មទាំងអស់"</string>
     <string name="game_settings_title" msgid="1028178627743422090">"ការកំណត់​ហ្គេម"</string>
     <string name="game_settings_summary" msgid="2548056479103747555">"បើក​ផ្លូវកាត់ផ្ទាំងគ្រប់គ្រងហ្គេម ។ល។"</string>
+    <string name="previous_page_content_description" msgid="6438292457923282991">"មុន"</string>
+    <string name="next_page_content_description" msgid="1641835099813416294">"បន្ទាប់"</string>
+    <string name="colors_viewpager_content_description" msgid="2591751086138259565">"ការមើល​ពណ៌សាកល្បង"</string>
     <string name="bluetooth_sim_card_access_notification_title" msgid="5217037846900908318">"សំណើ​ចូលប្រើ​ស៊ីមកាត"</string>
     <string name="bluetooth_sim_card_access_notification_content" msgid="6759306429895300286">"មានឧបករណ៍មួយចង់​ចូលប្រើ​ស៊ីមកាត​របស់អ្នក។ សូមចុច ដើម្បី​មើល​ព័ត៌មាន​លម្អិត។"</string>
     <string name="bluetooth_sim_card_access_dialog_title" msgid="4486768729352090174">"អនុញ្ញាតឱ្យ​ចូលប្រើ​ស៊ីមកាតឬ?"</string>
diff --git a/res/values-kn/strings.xml b/res/values-kn/strings.xml
index 56dc3bef5..2e9980a 100644
--- a/res/values-kn/strings.xml
+++ b/res/values-kn/strings.xml
@@ -5397,6 +5397,14 @@
     <string name="power_menu_long_press_for_assist_summary" msgid="8251928804984560312">"ಪವರ್ ಬಟನ್ ಹಿಡಿದಿಟ್ಟುಕೊಳ್ಳುವ ಮೂಲಕ Assistant ಅನ್ನು ಬಳಸಿ"</string>
     <string name="power_menu_power_volume_up_hint" msgid="1733051433583045623">"ಪವರ್ ಮತ್ತು ತುರ್ತು ಮೆನು:\nಪವರ್ ಮತ್ತು ವಾಲ್ಯೂಮ್ ಬಟನ್ ಅನ್ನು ಒಟ್ಟಿಗೆ ಒತ್ತಿರಿ."</string>
     <string name="power_menu_power_prevent_ringing_hint" msgid="5786494894009727654">"ರಿಂಗ್ ಆಗುವುದನ್ನು ತಡೆಯಿರಿ:\nವಾಲ್ಯೂಮ್ ಮೆನುವಿನಲ್ಲಿ ಶಾರ್ಟ್‌ಕಟ್ ಲಭ್ಯವಿದೆ."</string>
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_title (1626808509158422185) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_summary (7550610071666801935) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_low_label (3430099983480845635) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_high_label (2059686170350829156) -->
+    <skip />
     <string name="lockscreen_privacy_wallet_setting_toggle" msgid="4188327143734192000">"ವಾಲೆಟ್ ತೋರಿಸಿ"</string>
     <string name="lockscreen_privacy_wallet_summary" msgid="5388868513484652431">"ಲಾಕ್ ಸ್ಕ್ರೀನ್ ಮತ್ತು ತ್ವರಿತ ಸೆಟ್ಟಿಂಗ್‍ಗಳ ಮೂಲಕ ವಾಲೆಟ್ ಅನ್ನು ಪ್ರವೇಶಿಸಲು ಅನುಮತಿಸಿ."</string>
     <string name="lockscreen_privacy_controls_setting_toggle" msgid="7445725343949588613">"ಸಾಧನ ನಿಯಂತ್ರಣಗಳನ್ನು ತೋರಿಸಿ"</string>
@@ -5537,6 +5545,9 @@
     <string name="sensor_toggle_description" msgid="8248823248606795411">"ಎಲ್ಲಾ ಆ್ಯಪ್‌ಗಳು ಮತ್ತು ಸೇವೆಗಳಿಗಾಗಿ"</string>
     <string name="game_settings_title" msgid="1028178627743422090">"ಗೇಮ್ ಸೆಟ್ಟಿಂಗ್‌ಗಳು"</string>
     <string name="game_settings_summary" msgid="2548056479103747555">"ಗೇಮ್ ಡ್ಯಾಶ್‌ಬೋರ್ಡ್ ಶಾರ್ಟ್‌ಕಟ್, ಇತ್ಯಾದಿ ಆನ್ ಮಾಡಿ"</string>
+    <string name="previous_page_content_description" msgid="6438292457923282991">"ಹಿಂದಿನದು"</string>
+    <string name="next_page_content_description" msgid="1641835099813416294">"ಮುಂದಿನದು"</string>
+    <string name="colors_viewpager_content_description" msgid="2591751086138259565">"ಬಣ್ಣ ಪೂರ್ವವೀಕ್ಷಣೆ"</string>
     <string name="bluetooth_sim_card_access_notification_title" msgid="5217037846900908318">"SIM ಕಾರ್ಡ್ ಪ್ರವೇಶ ವಿನಂತಿ"</string>
     <string name="bluetooth_sim_card_access_notification_content" msgid="6759306429895300286">"ಸಾಧನವು ನಿಮ್ಮ SIM ಕಾರ್ಡ್ ಅನ್ನು ಪ್ರವೇಶಿಸಲು ಬಯಸುತ್ತದೆ. ವಿವರಗಳಿಗಾಗಿ ಟ್ಯಾಪ್ ಮಾಡಿ."</string>
     <string name="bluetooth_sim_card_access_dialog_title" msgid="4486768729352090174">"SIM ಕಾರ್ಡ್‌ಗೆ ಪ್ರವೇಶವನ್ನು ಅನುಮತಿಸುವುದೇ?"</string>
diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml
index ab1c7f1..a522d65 100644
--- a/res/values-ko/strings.xml
+++ b/res/values-ko/strings.xml
@@ -5399,6 +5399,14 @@
     <string name="power_menu_long_press_for_assist_summary" msgid="8251928804984560312">"전원 버튼을 길게 눌러 어시스턴트 실행"</string>
     <string name="power_menu_power_volume_up_hint" msgid="1733051433583045623">"전원 및 비상 메뉴:\n전원 버튼과 볼륨 업 버튼을 동시에 누릅니다."</string>
     <string name="power_menu_power_prevent_ringing_hint" msgid="5786494894009727654">"벨 울림 방지:\n볼륨 메뉴에서 바로가기를 사용할 수 있습니다."</string>
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_title (1626808509158422185) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_summary (7550610071666801935) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_low_label (3430099983480845635) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_high_label (2059686170350829156) -->
+    <skip />
     <string name="lockscreen_privacy_wallet_setting_toggle" msgid="4188327143734192000">"월렛 표시"</string>
     <string name="lockscreen_privacy_wallet_summary" msgid="5388868513484652431">"잠금 화면 및 빠른 설정에서 월렛 액세스 허용"</string>
     <string name="lockscreen_privacy_controls_setting_toggle" msgid="7445725343949588613">"기기 제어 표시"</string>
@@ -5539,6 +5547,9 @@
     <string name="sensor_toggle_description" msgid="8248823248606795411">"모든 앱 및 서비스"</string>
     <string name="game_settings_title" msgid="1028178627743422090">"게임 설정"</string>
     <string name="game_settings_summary" msgid="2548056479103747555">"게임 대시보드 바로가기 사용 설정 등"</string>
+    <string name="previous_page_content_description" msgid="6438292457923282991">"이전"</string>
+    <string name="next_page_content_description" msgid="1641835099813416294">"다음"</string>
+    <string name="colors_viewpager_content_description" msgid="2591751086138259565">"색상 미리보기"</string>
     <string name="bluetooth_sim_card_access_notification_title" msgid="5217037846900908318">"SIM 카드 액세스 요청"</string>
     <string name="bluetooth_sim_card_access_notification_content" msgid="6759306429895300286">"기기에서 SIM 카드에 액세스하려고 합니다. 탭하여 세부정보를 확인하세요."</string>
     <string name="bluetooth_sim_card_access_dialog_title" msgid="4486768729352090174">"SIM 카드 액세스를 허용하시겠습니까?"</string>
diff --git a/res/values-ky/strings.xml b/res/values-ky/strings.xml
index e078a3b..bc2ee1f 100644
--- a/res/values-ky/strings.xml
+++ b/res/values-ky/strings.xml
@@ -5397,6 +5397,14 @@
     <string name="power_menu_long_press_for_assist_summary" msgid="8251928804984560312">"Кубат баскычын көпкө басып, Жардамчыны иштетесиз"</string>
     <string name="power_menu_power_volume_up_hint" msgid="1733051433583045623">"Кубат баскычы жана Шашылыш билдирүү менюсу:\nКубат менен Үндү катуулатуу баскычтарын чогуу басыңыз."</string>
     <string name="power_menu_power_prevent_ringing_hint" msgid="5786494894009727654">"Шыңгыратуунун алдын алуу:\nЫкчам баскыч үндү катуулатуу менюсунда жеткиликтүү."</string>
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_title (1626808509158422185) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_summary (7550610071666801935) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_low_label (3430099983480845635) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_high_label (2059686170350829156) -->
+    <skip />
     <string name="lockscreen_privacy_wallet_setting_toggle" msgid="4188327143734192000">"Капчыкты көрсөтүү"</string>
     <string name="lockscreen_privacy_wallet_summary" msgid="5388868513484652431">"Капчыкка кулпуланган экрандан жана ыкчам жөндөөлөрдөн өтөсүз"</string>
     <string name="lockscreen_privacy_controls_setting_toggle" msgid="7445725343949588613">"Түзмөктү башкаруу элементтерин көрсөтүү"</string>
@@ -5537,6 +5545,9 @@
     <string name="sensor_toggle_description" msgid="8248823248606795411">"Бардык колдонмолор жана кызматтар үчүн"</string>
     <string name="game_settings_title" msgid="1028178627743422090">"Оюндун жөндөөлөрү"</string>
     <string name="game_settings_summary" msgid="2548056479103747555">"Оюн тактасынын ыкчам баскычын ж.б. күйгүзүү"</string>
+    <string name="previous_page_content_description" msgid="6438292457923282991">"Мурунку"</string>
+    <string name="next_page_content_description" msgid="1641835099813416294">"Кийинки"</string>
+    <string name="colors_viewpager_content_description" msgid="2591751086138259565">"Түстү алдын ала көрүү"</string>
     <string name="bluetooth_sim_card_access_notification_title" msgid="5217037846900908318">"SIM картага кирүүгө уруксат суралды"</string>
     <string name="bluetooth_sim_card_access_notification_content" msgid="6759306429895300286">"Түзмөк SIM картаңызга мүмкүнчүлүк алгысы келет. Чоо-жайын көрүү үчүн таптап коюңуз."</string>
     <string name="bluetooth_sim_card_access_dialog_title" msgid="4486768729352090174">"SIM картага кирүүгө уруксат бересизби?"</string>
diff --git a/res/values-lo/strings.xml b/res/values-lo/strings.xml
index 15a6ec7..13a2788 100644
--- a/res/values-lo/strings.xml
+++ b/res/values-lo/strings.xml
@@ -5397,6 +5397,14 @@
     <string name="power_menu_long_press_for_assist_summary" msgid="8251928804984560312">"ເອີ້ນຜູ້ຊ່ວຍໂດຍການກົດປຸ່ມເປີດປິດຄ້າງໄວ້"</string>
     <string name="power_menu_power_volume_up_hint" msgid="1733051433583045623">"ເມນູເປີດປິດ ແລະ ເມນູສຸກເສີນ:\nກົດປຸ່ມເປີດປິດ ແລະ ປຸ່ມເພີ່ມສຽງຂຶ້ນພ້ອມກັນ."</string>
     <string name="power_menu_power_prevent_ringing_hint" msgid="5786494894009727654">"ປ້ອງກັນບໍ່ໃຫ້ເຕືອນດ້ວຍສຽງ:\nມີທາງລັດໃນເມນູລະດັບສຽງ."</string>
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_title (1626808509158422185) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_summary (7550610071666801935) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_low_label (3430099983480845635) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_high_label (2059686170350829156) -->
+    <skip />
     <string name="lockscreen_privacy_wallet_setting_toggle" msgid="4188327143734192000">"ສະແດງກະເປົາ"</string>
     <string name="lockscreen_privacy_wallet_summary" msgid="5388868513484652431">"ອະນຸຍາດໃຫ້ເຂົ້າເຖິງກະເປົາໄດ້ຈາກໜ້າຈໍລັອກ ແລະ ການ​ຕັ້ງ​ຄ່າ​ດ່ວນ"</string>
     <string name="lockscreen_privacy_controls_setting_toggle" msgid="7445725343949588613">"ສະແດງການຄວບຄຸມອຸປະກອນ"</string>
@@ -5537,6 +5545,9 @@
     <string name="sensor_toggle_description" msgid="8248823248606795411">"ສຳລັບແອັບ ແລະ ບໍລິການທັງໝົດ"</string>
     <string name="game_settings_title" msgid="1028178627743422090">"ການຕັ້ງຄ່າເກມ"</string>
     <string name="game_settings_summary" msgid="2548056479103747555">"ເປີດໃຊ້ທາງລັດແຜງໜ້າປັດເກມ ແລະ ອື່ນໆ"</string>
+    <string name="previous_page_content_description" msgid="6438292457923282991">"ກ່ອນໜ້າ"</string>
+    <string name="next_page_content_description" msgid="1641835099813416294">"ຕໍ່ໄປ"</string>
+    <string name="colors_viewpager_content_description" msgid="2591751086138259565">"ຕົວຢ່າງສີ"</string>
     <string name="bluetooth_sim_card_access_notification_title" msgid="5217037846900908318">"ຄຳຮ້ອງຂໍການເຂົ້າເຖິງຊິມກາດ"</string>
     <string name="bluetooth_sim_card_access_notification_content" msgid="6759306429895300286">"ມີອຸປະກອນຕ້ອງການເຂົ້າເຖິງຊິມກາດຂອງທ່ານ. ແຕະເພື່ອເບິ່ງລາຍລະອຽດ."</string>
     <string name="bluetooth_sim_card_access_dialog_title" msgid="4486768729352090174">"ອະນຸຍາດການເຂົ້າເຖິງຊິມກາດບໍ?"</string>
diff --git a/res/values-lt/strings.xml b/res/values-lt/strings.xml
index aaac8c9..5f867e9 100644
--- a/res/values-lt/strings.xml
+++ b/res/values-lt/strings.xml
@@ -5575,6 +5575,10 @@
     <string name="power_menu_long_press_for_assist_summary" msgid="8251928804984560312">"Padėjėją suaktyvinti laikant nuspaustą maitinimo mygtuką"</string>
     <string name="power_menu_power_volume_up_hint" msgid="1733051433583045623">"Maitinimo ir kritinės padėties meniu:\npaspauskite maitinimo ir garsumo didinimo mygtukus tuo pačiu metu."</string>
     <string name="power_menu_power_prevent_ringing_hint" msgid="5786494894009727654">"Skambėjimo išjungimas:\nspartusis klavišas pasiekiamas garsumo meniu."</string>
+    <string name="power_menu_long_press_for_assist_sensitivity_title" msgid="1626808509158422185">"Laikymo paspaudus trukmė"</string>
+    <string name="power_menu_long_press_for_assist_sensitivity_summary" msgid="7550610071666801935">"Koreguokite jautrumą nustatydami, kaip ilgai reikia laikyti paspaudus maitinimo mygtuką"</string>
+    <string name="power_menu_long_press_for_assist_sensitivity_low_label" msgid="3430099983480845635">"Trumpai"</string>
+    <string name="power_menu_long_press_for_assist_sensitivity_high_label" msgid="2059686170350829156">"Ilgai"</string>
     <string name="lockscreen_privacy_wallet_setting_toggle" msgid="4188327143734192000">"Rodyti piniginę"</string>
     <string name="lockscreen_privacy_wallet_summary" msgid="5388868513484652431">"Leiskite pasiekti piniginę iš užrakinimo ekrano ir sparčiųjų nustatymų"</string>
     <string name="lockscreen_privacy_controls_setting_toggle" msgid="7445725343949588613">"Rodyti įrenginio valdiklius"</string>
@@ -5715,6 +5719,9 @@
     <string name="sensor_toggle_description" msgid="8248823248606795411">"Visoms programoms ir paslaugoms"</string>
     <string name="game_settings_title" msgid="1028178627743422090">"Žaidimų nustatymai"</string>
     <string name="game_settings_summary" msgid="2548056479103747555">"Įjunkite žaidimų informacijos suvestinės spartųjį klavišą ir t. t."</string>
+    <string name="previous_page_content_description" msgid="6438292457923282991">"Ankstesnis"</string>
+    <string name="next_page_content_description" msgid="1641835099813416294">"Kitas"</string>
+    <string name="colors_viewpager_content_description" msgid="2591751086138259565">"Spalvos peržiūra"</string>
     <string name="bluetooth_sim_card_access_notification_title" msgid="5217037846900908318">"SIM kortelės prieigos užklausa"</string>
     <string name="bluetooth_sim_card_access_notification_content" msgid="6759306429895300286">"Įrenginys nori pasiekti jūsų SIM kortelę. Palieskite, jei reikia išsamios informacijos."</string>
     <string name="bluetooth_sim_card_access_dialog_title" msgid="4486768729352090174">"Leisti pasiekti SIM kortelę?"</string>
diff --git a/res/values-lv/strings.xml b/res/values-lv/strings.xml
index 0bddf12..d8a423b 100644
--- a/res/values-lv/strings.xml
+++ b/res/values-lv/strings.xml
@@ -5486,6 +5486,14 @@
     <string name="power_menu_long_press_for_assist_summary" msgid="8251928804984560312">"Aktivizējiet Asistentu, turot barošanas pogu."</string>
     <string name="power_menu_power_volume_up_hint" msgid="1733051433583045623">"Barošanas un ārkārtas izvēlne:\nvienlaikus nospiediet barošanas un skaļuma palielināšanas pogu."</string>
     <string name="power_menu_power_prevent_ringing_hint" msgid="5786494894009727654">"Zvana signāla novēršana:\nsaīsne ir pieejama skaļuma izvēlnē."</string>
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_title (1626808509158422185) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_summary (7550610071666801935) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_low_label (3430099983480845635) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_high_label (2059686170350829156) -->
+    <skip />
     <string name="lockscreen_privacy_wallet_setting_toggle" msgid="4188327143734192000">"Rādīt maku"</string>
     <string name="lockscreen_privacy_wallet_summary" msgid="5388868513484652431">"Atļaut piekļuvi makam no bloķēšanas ekrāna un ātrajiem iestatījumiem"</string>
     <string name="lockscreen_privacy_controls_setting_toggle" msgid="7445725343949588613">"Rādīt ierīču vadīklas"</string>
@@ -5626,6 +5634,9 @@
     <string name="sensor_toggle_description" msgid="8248823248606795411">"Visām lietotnēm un pakalpojumiem"</string>
     <string name="game_settings_title" msgid="1028178627743422090">"Spēļu iestatījumi"</string>
     <string name="game_settings_summary" msgid="2548056479103747555">"Spēļu informācijas paneļa saīsnes ieslēgšana u.c."</string>
+    <string name="previous_page_content_description" msgid="6438292457923282991">"Iepriekšējā"</string>
+    <string name="next_page_content_description" msgid="1641835099813416294">"Nākamā"</string>
+    <string name="colors_viewpager_content_description" msgid="2591751086138259565">"Krāsas priekšskatījums"</string>
     <string name="bluetooth_sim_card_access_notification_title" msgid="5217037846900908318">"SIM kartes piekļuves pieprasījums"</string>
     <string name="bluetooth_sim_card_access_notification_content" msgid="6759306429895300286">"Kāda ierīce pieprasa piekļuvi jūsu SIM kartei. Pieskarieties, lai skatītu detalizētu informāciju."</string>
     <string name="bluetooth_sim_card_access_dialog_title" msgid="4486768729352090174">"Vai atļaut piekļuvi SIM kartei?"</string>
diff --git a/res/values-mk/strings.xml b/res/values-mk/strings.xml
index c092c55..0554e56 100644
--- a/res/values-mk/strings.xml
+++ b/res/values-mk/strings.xml
@@ -5399,6 +5399,14 @@
     <string name="power_menu_long_press_for_assist_summary" msgid="8251928804984560312">"Стартувајте го „Помошникот“ со задржување на копчето за вклучување"</string>
     <string name="power_menu_power_volume_up_hint" msgid="1733051433583045623">"Мени на копчето за вклучување и за итни случаи:\nпритиснете ги копчињата за вклучување и зголемување на звукот истовремено."</string>
     <string name="power_menu_power_prevent_ringing_hint" msgid="5786494894009727654">"Спречете ѕвонење:\nкратенката е достапна во менито за јачина на звук."</string>
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_title (1626808509158422185) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_summary (7550610071666801935) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_low_label (3430099983480845635) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_high_label (2059686170350829156) -->
+    <skip />
     <string name="lockscreen_privacy_wallet_setting_toggle" msgid="4188327143734192000">"Прикажувај паричник"</string>
     <string name="lockscreen_privacy_wallet_summary" msgid="5388868513484652431">"Овозможете пристап до паричникот од заклучен екран и „Брзи поставки“"</string>
     <string name="lockscreen_privacy_controls_setting_toggle" msgid="7445725343949588613">"Прикажувај контроли за уреди"</string>
@@ -5539,6 +5547,9 @@
     <string name="sensor_toggle_description" msgid="8248823248606795411">"За сите апликации и услуги"</string>
     <string name="game_settings_title" msgid="1028178627743422090">"Поставки за игри"</string>
     <string name="game_settings_summary" msgid="2548056479103747555">"Вклучете ја кратенката за „Контролната табла за игри“ итн."</string>
+    <string name="previous_page_content_description" msgid="6438292457923282991">"Претходна"</string>
+    <string name="next_page_content_description" msgid="1641835099813416294">"Следна"</string>
+    <string name="colors_viewpager_content_description" msgid="2591751086138259565">"Преглед на бојата"</string>
     <string name="bluetooth_sim_card_access_notification_title" msgid="5217037846900908318">"Барање за пристап до SIM-картичката"</string>
     <string name="bluetooth_sim_card_access_notification_content" msgid="6759306429895300286">"Даден уред сака да пристапи до вашата SIM-картичка. Допрете за детали."</string>
     <string name="bluetooth_sim_card_access_dialog_title" msgid="4486768729352090174">"Да се дозволи пристап до SIM-картичката?"</string>
diff --git a/res/values-ml/arrays.xml b/res/values-ml/arrays.xml
index 5ac71ec..f953767 100644
--- a/res/values-ml/arrays.xml
+++ b/res/values-ml/arrays.xml
@@ -254,7 +254,7 @@
     <item msgid="3275060808384314406">"ക്രമീകരണങ്ങൾ പരിഷ്‌ക്കരിക്കുക"</item>
     <item msgid="8672921438869137431">"മുകളിൽ ഡ്രോ ചെയ്യുക"</item>
     <item msgid="346101114322879720">"അറിയിപ്പുകൾ ആക്‌സസ്സുചെയ്യുക"</item>
-    <item msgid="4760681822601767255">"ക്യാമറ"</item>
+    <item msgid="4760681822601767255">"Camera"</item>
     <item msgid="2172823594140104317">"ഓഡിയോ റെക്കോർഡുചെയ്യുക"</item>
     <item msgid="5612873260709742213">"ഓഡിയോ പ്ലേ ചെയ്യുക"</item>
     <item msgid="2027206403725749996">"ക്ലിപ്പ്ബോർഡ് റീഡുചെയ്യുക"</item>
diff --git a/res/values-ml/strings.xml b/res/values-ml/strings.xml
index 34f290b..424e2b2 100644
--- a/res/values-ml/strings.xml
+++ b/res/values-ml/strings.xml
@@ -5397,6 +5397,14 @@
     <string name="power_menu_long_press_for_assist_summary" msgid="8251928804984560312">"പവർ ബട്ടൺ അമർത്തിപ്പിടിച്ച് Assistant സജീവമാക്കുക"</string>
     <string name="power_menu_power_volume_up_hint" msgid="1733051433583045623">"പവർ, അടിയന്തര മെനു:\nപവർ, ശബ്‌ദം കൂട്ടുക എന്നീ ബട്ടണുകൾ ഒരേസമയം അമർത്തുക."</string>
     <string name="power_menu_power_prevent_ringing_hint" msgid="5786494894009727654">"റിംഗ് ചെയ്യുന്നത് തടയുക:\nശബ്‌ദ മെനുവിൽ കുറുക്കുവഴി ലഭ്യമാണ്."</string>
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_title (1626808509158422185) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_summary (7550610071666801935) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_low_label (3430099983480845635) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_high_label (2059686170350829156) -->
+    <skip />
     <string name="lockscreen_privacy_wallet_setting_toggle" msgid="4188327143734192000">"Wallet കാണിക്കുക"</string>
     <string name="lockscreen_privacy_wallet_summary" msgid="5388868513484652431">"ലോക്ക് സ്‌ക്രീനിൽ നിന്നും ദ്രുത ക്രമീകരണത്തിൽ നിന്നും Wallet-ലേക്ക് ആക്‌സസ് അനുവദിക്കുക"</string>
     <string name="lockscreen_privacy_controls_setting_toggle" msgid="7445725343949588613">"ഉപകരണ നിയന്ത്രണങ്ങൾ കാണിക്കുക"</string>
@@ -5537,6 +5545,9 @@
     <string name="sensor_toggle_description" msgid="8248823248606795411">"എല്ലാ ആപ്പുകൾക്കും സേവനങ്ങൾക്കും"</string>
     <string name="game_settings_title" msgid="1028178627743422090">"ഗെയിം ക്രമീകരണം"</string>
     <string name="game_settings_summary" msgid="2548056479103747555">"ഗെയിം ഡാഷ്ബോർഡ് ഷോർട്ട്കട്ട് മുതലായവ ഓണാക്കുക"</string>
+    <string name="previous_page_content_description" msgid="6438292457923282991">"മുമ്പത്തേത്"</string>
+    <string name="next_page_content_description" msgid="1641835099813416294">"അടുത്തത്"</string>
+    <string name="colors_viewpager_content_description" msgid="2591751086138259565">"വർണ്ണ പ്രിവ്യു"</string>
     <string name="bluetooth_sim_card_access_notification_title" msgid="5217037846900908318">"സിം കാർഡ് ആക്സസ് ചെയ്യാനുള്ള അഭ്യർത്ഥന"</string>
     <string name="bluetooth_sim_card_access_notification_content" msgid="6759306429895300286">"ഒരു ഉപകരണത്തിന് നിങ്ങളുടെ സിം കാർഡ് ആക്സസ് ചെയ്യണമെന്നുണ്ട്. വിശദാംശങ്ങൾക്ക് ടാപ്പ് ചെയ്യുക."</string>
     <string name="bluetooth_sim_card_access_dialog_title" msgid="4486768729352090174">"സിം കാർഡിലേക്ക് ആക്സസ് അനുവദിക്കണോ?"</string>
diff --git a/res/values-mn/strings.xml b/res/values-mn/strings.xml
index 019db4e..d6c0675 100644
--- a/res/values-mn/strings.xml
+++ b/res/values-mn/strings.xml
@@ -5397,6 +5397,14 @@
     <string name="power_menu_long_press_for_assist_summary" msgid="8251928804984560312">"Асаах/унтраах товчийг удаан дарснаар Туслахыг идэвхжүүлнэ үү"</string>
     <string name="power_menu_power_volume_up_hint" msgid="1733051433583045623">"Асаах/унтраах болон яаралтай тусламжийн цэс:\nАсаах/унтраах болон дууны түвшнийг нэмэх товчийг зэрэг дарна уу."</string>
     <string name="power_menu_power_prevent_ringing_hint" msgid="5786494894009727654">"Хонх дуугаргахаас сэргийлэх:\nДууны түвшний цэсэд товчлол боломжтой байна."</string>
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_title (1626808509158422185) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_summary (7550610071666801935) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_low_label (3430099983480845635) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_high_label (2059686170350829156) -->
+    <skip />
     <string name="lockscreen_privacy_wallet_setting_toggle" msgid="4188327143734192000">"Түрийвч харуулах"</string>
     <string name="lockscreen_privacy_wallet_summary" msgid="5388868513484652431">"Түгжигдсэн дэлгэц болон шуурхай тохиргооноос түрийвчид хандахыг зөвшөөрнө"</string>
     <string name="lockscreen_privacy_controls_setting_toggle" msgid="7445725343949588613">"Төхөөрөмжийн хяналтыг харуулах"</string>
@@ -5537,6 +5545,9 @@
     <string name="sensor_toggle_description" msgid="8248823248606795411">"Бүх апп болон үйлчилгээнд"</string>
     <string name="game_settings_title" msgid="1028178627743422090">"Тоглоомын тохиргоо"</string>
     <string name="game_settings_summary" msgid="2548056479103747555">"Тоглоомын хяналтын самбарын товчлолыг асаах гэх мэт"</string>
+    <string name="previous_page_content_description" msgid="6438292457923282991">"Өмнөх"</string>
+    <string name="next_page_content_description" msgid="1641835099813416294">"Дараах"</string>
+    <string name="colors_viewpager_content_description" msgid="2591751086138259565">"Өнгийг урьдчилан үзэх"</string>
     <string name="bluetooth_sim_card_access_notification_title" msgid="5217037846900908318">"SIM картад хандах хүсэлт"</string>
     <string name="bluetooth_sim_card_access_notification_content" msgid="6759306429895300286">"Төхөөрөмж таны SIM картад хандахыг хүсэж байна. Дэлгэрэнгүйг харахын тулд товшино уу."</string>
     <string name="bluetooth_sim_card_access_dialog_title" msgid="4486768729352090174">"SIM картад хандахыг зөвшөөрөх үү?"</string>
diff --git a/res/values-mr/arrays.xml b/res/values-mr/arrays.xml
index 140c163..0e6c43a 100644
--- a/res/values-mr/arrays.xml
+++ b/res/values-mr/arrays.xml
@@ -254,7 +254,7 @@
     <item msgid="3275060808384314406">"सेटिंग्ज सुधारित करा"</item>
     <item msgid="8672921438869137431">"शीर्षस्थानी रेखांकित करा"</item>
     <item msgid="346101114322879720">"सूचना अ‍ॅक्सेस करा"</item>
-    <item msgid="4760681822601767255">"camera"</item>
+    <item msgid="4760681822601767255">"कॅमेरा"</item>
     <item msgid="2172823594140104317">"ऑडिओ रेकॉर्ड करा"</item>
     <item msgid="5612873260709742213">"ऑडिओ प्ले करा"</item>
     <item msgid="2027206403725749996">"क्लिपबोर्ड वाचा"</item>
@@ -321,7 +321,7 @@
     <item msgid="8997371825401751421">"सेटिंग्ज सुधारित करा"</item>
     <item msgid="7005755175240764443">"शीर्षस्थानी रेखांकित करा"</item>
     <item msgid="8267704990417682222">"सूचना अ‍ॅक्सेस करा"</item>
-    <item msgid="3180676986290096851">"Camera"</item>
+    <item msgid="3180676986290096851">"कॅमेरा"</item>
     <item msgid="9174072114281872917">"ऑडिओ रेकॉर्ड करा"</item>
     <item msgid="1444183972646890539">"ऑडिओ प्ले करा"</item>
     <item msgid="4337542044275236638">"क्लिपबोर्ड वाचा"</item>
diff --git a/res/values-mr/strings.xml b/res/values-mr/strings.xml
index 6c4df2f..bced50a 100644
--- a/res/values-mr/strings.xml
+++ b/res/values-mr/strings.xml
@@ -5398,6 +5398,14 @@
     <string name="power_menu_long_press_for_assist_summary" msgid="8251928804984560312">"पॉवर बटण धरून ठेवून Assistant ट्रिगर करा"</string>
     <string name="power_menu_power_volume_up_hint" msgid="1733051433583045623">"पॉवर आणि आणीबाणीशी संबंधित मेनू:\nपॉवर आणि व्‍हॉल्‍यूम जास्‍त ही बटण एकाच वेळी दाबा."</string>
     <string name="power_menu_power_prevent_ringing_hint" msgid="5786494894009727654">"रिंग होणे थांबवणे:\nव्‍हॉल्‍यूम मेनूमध्ये शॉर्टकट उपलब्ध आहे."</string>
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_title (1626808509158422185) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_summary (7550610071666801935) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_low_label (3430099983480845635) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_high_label (2059686170350829156) -->
+    <skip />
     <string name="lockscreen_privacy_wallet_setting_toggle" msgid="4188327143734192000">"वॉलेट दाखवा"</string>
     <string name="lockscreen_privacy_wallet_summary" msgid="5388868513484652431">"लॉक स्‍क्रीन आणि क्विक सेटिंग्जमधून वॉलेट ॲक्सेस करण्याची अनुमती द्या"</string>
     <string name="lockscreen_privacy_controls_setting_toggle" msgid="7445725343949588613">"डिव्हाइस नियंत्रणे दाखवा"</string>
@@ -5538,6 +5546,9 @@
     <string name="sensor_toggle_description" msgid="8248823248606795411">"सर्व अ‍ॅप्स आणि सेवांसाठी"</string>
     <string name="game_settings_title" msgid="1028178627743422090">"गेम सेटिंग्ज"</string>
     <string name="game_settings_summary" msgid="2548056479103747555">"गेम डॅशबोर्ड शॉर्टकट इ. सुरू करा"</string>
+    <string name="previous_page_content_description" msgid="6438292457923282991">"मागील"</string>
+    <string name="next_page_content_description" msgid="1641835099813416294">"पुढील"</string>
+    <string name="colors_viewpager_content_description" msgid="2591751086138259565">"रंगाचे पूर्वावलोकन"</string>
     <string name="bluetooth_sim_card_access_notification_title" msgid="5217037846900908318">"सिम कार्डच्या अ‍ॅक्सेसची विनंती"</string>
     <string name="bluetooth_sim_card_access_notification_content" msgid="6759306429895300286">"डिव्हाइसला तुमचे सिम कार्ड अ‍ॅक्सेस करायचे आहे. तपशीलांसाठी टॅप करा."</string>
     <string name="bluetooth_sim_card_access_dialog_title" msgid="4486768729352090174">"सिम कार्डच्या अ‍ॅक्सेसला अनुमती द्यायची आहे का?"</string>
diff --git a/res/values-ms/strings.xml b/res/values-ms/strings.xml
index 6073fad..7110015 100644
--- a/res/values-ms/strings.xml
+++ b/res/values-ms/strings.xml
@@ -5397,6 +5397,14 @@
     <string name="power_menu_long_press_for_assist_summary" msgid="8251928804984560312">"Cetuskan Assistant dengan menahan butang kuasa"</string>
     <string name="power_menu_power_volume_up_hint" msgid="1733051433583045623">"Menu Kuasa &amp; Kecemasan:\nTekan Kuasa dan Naikkan kelantangan pada masa yang sama."</string>
     <string name="power_menu_power_prevent_ringing_hint" msgid="5786494894009727654">"Halang deringan:\nPintasan tersedia pada menu kelantangan."</string>
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_title (1626808509158422185) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_summary (7550610071666801935) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_low_label (3430099983480845635) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_high_label (2059686170350829156) -->
+    <skip />
     <string name="lockscreen_privacy_wallet_setting_toggle" msgid="4188327143734192000">"Tunjukkan wallet"</string>
     <string name="lockscreen_privacy_wallet_summary" msgid="5388868513484652431">"Benarkan akses kepada wallet daripada skrin kunci dan tetapan pantas"</string>
     <string name="lockscreen_privacy_controls_setting_toggle" msgid="7445725343949588613">"Tunjukkan kawalan peranti"</string>
@@ -5537,6 +5545,9 @@
     <string name="sensor_toggle_description" msgid="8248823248606795411">"Untuk semua apl dan perkhidmatan"</string>
     <string name="game_settings_title" msgid="1028178627743422090">"Tetapan permainan"</string>
     <string name="game_settings_summary" msgid="2548056479103747555">"Hidupkan pintasan Papan Pemuka Permainan, dll"</string>
+    <string name="previous_page_content_description" msgid="6438292457923282991">"Sebelumnya"</string>
+    <string name="next_page_content_description" msgid="1641835099813416294">"Seterusnya"</string>
+    <string name="colors_viewpager_content_description" msgid="2591751086138259565">"Pratonton warna"</string>
     <string name="bluetooth_sim_card_access_notification_title" msgid="5217037846900908318">"Permintaan akses kad SIM"</string>
     <string name="bluetooth_sim_card_access_notification_content" msgid="6759306429895300286">"Peranti ingin mengakses kad SIM anda. Ketik untuk mendapatkan butiran."</string>
     <string name="bluetooth_sim_card_access_dialog_title" msgid="4486768729352090174">"Benarkan akses kepada kad SIM?"</string>
diff --git a/res/values-my/strings.xml b/res/values-my/strings.xml
index de79423..f2b35f9 100644
--- a/res/values-my/strings.xml
+++ b/res/values-my/strings.xml
@@ -5397,6 +5397,14 @@
     <string name="power_menu_long_press_for_assist_summary" msgid="8251928804984560312">"ဖွင့်ပိတ်ခလုတ်ကို ဖိထားခြင်းဖြင့် Assistant ကိုဖွင့်ပါ"</string>
     <string name="power_menu_power_volume_up_hint" msgid="1733051433583045623">"ပါဝါနှင့် အရေးပေါ် မီနူး-\n‘ဖွင့်ပိတ်ခလုတ်’ နှင့် ‘အသံချဲ့ခလုတ်’ ကို တစ်ပြိုင်တည်းနှိပ်ပါ။"</string>
     <string name="power_menu_power_prevent_ringing_hint" msgid="5786494894009727654">"အသံမြည်ခြင်းကို ပိတ်ရန်-\nအသံထိန်း မီနူးတွင် ဖြတ်လမ်းလင့်ခ် ရနိုင်သည်။"</string>
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_title (1626808509158422185) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_summary (7550610071666801935) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_low_label (3430099983480845635) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_high_label (2059686170350829156) -->
+    <skip />
     <string name="lockscreen_privacy_wallet_setting_toggle" msgid="4188327143734192000">"Wallet ပြရန်"</string>
     <string name="lockscreen_privacy_wallet_summary" msgid="5388868513484652431">"လော့ခ်မျက်နှာပြင်နှင့် အမြန် ဆက်တင်များမှ Wallet သို့ ဝင်သုံးခွင့်ပြုသည်"</string>
     <string name="lockscreen_privacy_controls_setting_toggle" msgid="7445725343949588613">"စက်ထိန်းစနစ် ပြရန်"</string>
@@ -5537,6 +5545,9 @@
     <string name="sensor_toggle_description" msgid="8248823248606795411">"အက်ပ်နှင့် ဝန်ဆောင်မှုအားလုံးအတွက်"</string>
     <string name="game_settings_title" msgid="1028178627743422090">"ဂိမ်း ဆက်တင်များ"</string>
     <string name="game_settings_summary" msgid="2548056479103747555">"ဂိမ်းဒက်ရှ်ဘုတ် ဖြတ်လမ်းလင့်ခ်ကို ဖွင့်ခြင်း စသည်"</string>
+    <string name="previous_page_content_description" msgid="6438292457923282991">"ယခင်"</string>
+    <string name="next_page_content_description" msgid="1641835099813416294">"ရှေ့သို့"</string>
+    <string name="colors_viewpager_content_description" msgid="2591751086138259565">"အရောင် အစမ်းကြည့်ရှုခြင်း"</string>
     <string name="bluetooth_sim_card_access_notification_title" msgid="5217037846900908318">"ဆင်းမ်ကတ်သုံးခွင့် တောင်းဆိုချက်"</string>
     <string name="bluetooth_sim_card_access_notification_content" msgid="6759306429895300286">"စက်တစ်ခုက သင့်ဆင်းမ်ကတ်ကို သုံးခွင့်ရလိုသည်။ အသေးစိတ်အချက်အလက်များအတွက် တို့ပါ။"</string>
     <string name="bluetooth_sim_card_access_dialog_title" msgid="4486768729352090174">"ဆင်းမ်ကတ်ကို သုံးခွင့်ပြုမလား။"</string>
diff --git a/res/values-nb/strings.xml b/res/values-nb/strings.xml
index 14b248e..0ea4759 100644
--- a/res/values-nb/strings.xml
+++ b/res/values-nb/strings.xml
@@ -5397,6 +5397,14 @@
     <string name="power_menu_long_press_for_assist_summary" msgid="8251928804984560312">"Start assistenten ved å holde inne av/på-knappen"</string>
     <string name="power_menu_power_volume_up_hint" msgid="1733051433583045623">"Av/på- og nødmeny:\nTrykk på av/på og volum opp samtidig."</string>
     <string name="power_menu_power_prevent_ringing_hint" msgid="5786494894009727654">"Forhindre ringing:\nEn snarvei er tilgjengelig i volummenyen."</string>
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_title (1626808509158422185) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_summary (7550610071666801935) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_low_label (3430099983480845635) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_high_label (2059686170350829156) -->
+    <skip />
     <string name="lockscreen_privacy_wallet_setting_toggle" msgid="4188327143734192000">"Vis Wallet"</string>
     <string name="lockscreen_privacy_wallet_summary" msgid="5388868513484652431">"Gi tilgang til Wallet fra låseskjermen og hurtiginnstillingene"</string>
     <string name="lockscreen_privacy_controls_setting_toggle" msgid="7445725343949588613">"Vis enhetsstyring"</string>
@@ -5537,6 +5545,9 @@
     <string name="sensor_toggle_description" msgid="8248823248606795411">"For alle apper og tjenester"</string>
     <string name="game_settings_title" msgid="1028178627743422090">"Spillinnstillinger"</string>
     <string name="game_settings_summary" msgid="2548056479103747555">"Slå på Spilloversikt-snarvei osv."</string>
+    <string name="previous_page_content_description" msgid="6438292457923282991">"Forrige"</string>
+    <string name="next_page_content_description" msgid="1641835099813416294">"Neste"</string>
+    <string name="colors_viewpager_content_description" msgid="2591751086138259565">"Forhåndsvisning av farge"</string>
     <string name="bluetooth_sim_card_access_notification_title" msgid="5217037846900908318">"Forespørsel om tilgang til SIM-kort"</string>
     <string name="bluetooth_sim_card_access_notification_content" msgid="6759306429895300286">"En enhet vil ha tilgang til SIM-kortet ditt. Trykk for å se mer informasjon."</string>
     <string name="bluetooth_sim_card_access_dialog_title" msgid="4486768729352090174">"Vil du gi tilgang til SIM-kortet?"</string>
diff --git a/res/values-ne/strings.xml b/res/values-ne/strings.xml
index f041353..c1b2046 100644
--- a/res/values-ne/strings.xml
+++ b/res/values-ne/strings.xml
@@ -5397,6 +5397,14 @@
     <string name="power_menu_long_press_for_assist_summary" msgid="8251928804984560312">"पावर बटन थिच्दा सहायक खुलोस्"</string>
     <string name="power_menu_power_volume_up_hint" msgid="1733051433583045623">"पावर र आपत्‌कालीन मेनु:\nपावर र भोल्युम बढाउने बटन एकै पटक थिच्नुहोस्।"</string>
     <string name="power_menu_power_prevent_ringing_hint" msgid="5786494894009727654">"डिभाइसको घण्टी म्युट गरियोस्:\nसर्टकट भोल्युम मेनुमा छ।"</string>
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_title (1626808509158422185) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_summary (7550610071666801935) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_low_label (3430099983480845635) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_high_label (2059686170350829156) -->
+    <skip />
     <string name="lockscreen_privacy_wallet_setting_toggle" msgid="4188327143734192000">"वालेट देखाइयोस्"</string>
     <string name="lockscreen_privacy_wallet_summary" msgid="5388868513484652431">"लक स्क्रिन र द्रुत सेटिङमार्फत वालेट प्रयोग गर्ने अनुमति दिनुहोस्"</string>
     <string name="lockscreen_privacy_controls_setting_toggle" msgid="7445725343949588613">"डिभाइस नियन्त्रण गर्ने विजेटहरू देखाइयोस्"</string>
@@ -5537,6 +5545,9 @@
     <string name="sensor_toggle_description" msgid="8248823248606795411">"सबै एप र सेवाहरूका लागि"</string>
     <string name="game_settings_title" msgid="1028178627743422090">"गेमका सेटिङ"</string>
     <string name="game_settings_summary" msgid="2548056479103747555">"गेम ड्यासबोर्डको सर्टकटलगायतका सुविधाहरू अन गर्नुहोस्"</string>
+    <string name="previous_page_content_description" msgid="6438292457923282991">"अघिल्लो"</string>
+    <string name="next_page_content_description" msgid="1641835099813416294">"अर्को"</string>
+    <string name="colors_viewpager_content_description" msgid="2591751086138259565">"रङको प्रिभ्यू"</string>
     <string name="bluetooth_sim_card_access_notification_title" msgid="5217037846900908318">"SIM कार्डमा भएका डेटा हेर्ने तथा प्रयोग गर्ने अनुमति"</string>
     <string name="bluetooth_sim_card_access_notification_content" msgid="6759306429895300286">"कुनै डिभाइसले तपाईंको SIM कार्डमा भएका डेटा हेर्ने तथा प्रयोग गर्ने अनुमति माग्दै छ। विवरणहरू हेर्न ट्याप गर्नुहोस्।"</string>
     <string name="bluetooth_sim_card_access_dialog_title" msgid="4486768729352090174">"SIM कार्डमा भएका डेटा हेर्न तथा प्रयोग गर्न दिने हो?"</string>
diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml
index 728243f..8f09030 100644
--- a/res/values-nl/strings.xml
+++ b/res/values-nl/strings.xml
@@ -5397,6 +5397,14 @@
     <string name="power_menu_long_press_for_assist_summary" msgid="8251928804984560312">"Houd de aan/uit-knop ingedrukt om de Assistent te activeren"</string>
     <string name="power_menu_power_volume_up_hint" msgid="1733051433583045623">"Aan/uit- en noodmenu:\ndruk tegelijkertijd op de aan/uit-knop en de knop Volume omhoog."</string>
     <string name="power_menu_power_prevent_ringing_hint" msgid="5786494894009727654">"Ringtone uitzetten:\nsnelkoppeling beschikbaar in het volumemenu."</string>
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_title (1626808509158422185) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_summary (7550610071666801935) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_low_label (3430099983480845635) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_high_label (2059686170350829156) -->
+    <skip />
     <string name="lockscreen_privacy_wallet_setting_toggle" msgid="4188327143734192000">"Portemonnee tonen"</string>
     <string name="lockscreen_privacy_wallet_summary" msgid="5388868513484652431">"Toegang tot portemonnee toestaan via vergrendelscherm en snelle instellingen"</string>
     <string name="lockscreen_privacy_controls_setting_toggle" msgid="7445725343949588613">"Apparaatbediening tonen"</string>
@@ -5537,6 +5545,9 @@
     <string name="sensor_toggle_description" msgid="8248823248606795411">"Voor alle apps en services"</string>
     <string name="game_settings_title" msgid="1028178627743422090">"Game-instellingen"</string>
     <string name="game_settings_summary" msgid="2548056479103747555">"Game Dashboard-snelkoppeling aanzetten, enzovoort"</string>
+    <string name="previous_page_content_description" msgid="6438292457923282991">"Vorige"</string>
+    <string name="next_page_content_description" msgid="1641835099813416294">"Volgende"</string>
+    <string name="colors_viewpager_content_description" msgid="2591751086138259565">"Kleurvoorbeeld"</string>
     <string name="bluetooth_sim_card_access_notification_title" msgid="5217037846900908318">"Verzoek voor toegang tot simkaart"</string>
     <string name="bluetooth_sim_card_access_notification_content" msgid="6759306429895300286">"Een apparaat wil toegang tot je simkaart. Tik voor informatie."</string>
     <string name="bluetooth_sim_card_access_dialog_title" msgid="4486768729352090174">"Toegang tot simkaart toestaan?"</string>
diff --git a/res/values-or/strings.xml b/res/values-or/strings.xml
index b5aec38..fa48d9c 100644
--- a/res/values-or/strings.xml
+++ b/res/values-or/strings.xml
@@ -5397,6 +5397,14 @@
     <string name="power_menu_long_press_for_assist_summary" msgid="8251928804984560312">"ପାୱାର ବଟନକୁ ଧରି ରଖି Assistantକୁ ଟ୍ରିଗର୍ କରନ୍ତୁ"</string>
     <string name="power_menu_power_volume_up_hint" msgid="1733051433583045623">"ପାୱାର ଏବଂ ଜରୁରୀକାଳୀନ ମେନୁ:\nସମାନ ସମୟରେ \"ପାୱାର\" ଏବଂ \"ଭଲ୍ୟୁମ୍ ବଢ଼ାନ୍ତୁ\"କୁ ଦବାନ୍ତୁ।"</string>
     <string name="power_menu_power_prevent_ringing_hint" msgid="5786494894009727654">"ରିଙ୍ଗ ହେବାକୁ ପ୍ରତିରୋଧ କରନ୍ତୁ:\nଭଲ୍ୟୁମ୍ ମେନୁରେ ସର୍ଟକଟ୍ ଉପଲବ୍ଧ ଅଛି।"</string>
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_title (1626808509158422185) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_summary (7550610071666801935) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_low_label (3430099983480845635) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_high_label (2059686170350829156) -->
+    <skip />
     <string name="lockscreen_privacy_wallet_setting_toggle" msgid="4188327143734192000">"ୱାଲେଟ୍ ଦେଖାନ୍ତୁ"</string>
     <string name="lockscreen_privacy_wallet_summary" msgid="5388868513484652431">"ଲକ୍ ସ୍କ୍ରିନ୍ ଏବଂ କ୍ୱିକ୍ ସେଟିଂସରୁ ୱାଲେଟକୁ ଆକ୍ସେସ୍ କରିବା ପାଇଁ ଅନୁମତି ଦିଅନ୍ତୁ"</string>
     <string name="lockscreen_privacy_controls_setting_toggle" msgid="7445725343949588613">"ଡିଭାଇସ୍ ନିୟନ୍ତ୍ରଣଗୁଡ଼ିକୁ ଦେଖାନ୍ତୁ"</string>
@@ -5537,6 +5545,9 @@
     <string name="sensor_toggle_description" msgid="8248823248606795411">"ସମସ୍ତ ଆପ୍ ଓ ସେବା ପାଇଁ"</string>
     <string name="game_settings_title" msgid="1028178627743422090">"ଗେମ୍ ସେଟିଂସ୍"</string>
     <string name="game_settings_summary" msgid="2548056479103747555">"ଗେମ୍ ଡ୍ୟାସବୋର୍ଡ ସର୍ଟକଟ୍ ଇତ୍ୟାଦି ଚାଲୁ କରନ୍ତୁ"</string>
+    <string name="previous_page_content_description" msgid="6438292457923282991">"ପୂର୍ବବର୍ତ୍ତୀ"</string>
+    <string name="next_page_content_description" msgid="1641835099813416294">"ପରବର୍ତ୍ତୀ"</string>
+    <string name="colors_viewpager_content_description" msgid="2591751086138259565">"ରଙ୍ଗ ପ୍ରିଭ୍ୟୁ"</string>
     <string name="bluetooth_sim_card_access_notification_title" msgid="5217037846900908318">"SIM କାର୍ଡ ଆକ୍ସେସ୍ କରିବାର ଅନୁରୋଧ"</string>
     <string name="bluetooth_sim_card_access_notification_content" msgid="6759306429895300286">"ଏକ ଡିଭାଇସ୍ ଆପଣଙ୍କ SIM କାର୍ଡକୁ ଆକ୍ସେସ୍ କରିବାକୁ ଚାହୁଁଛି। ବିବରଣୀ ପାଇଁ ଟାପ୍ କରନ୍ତୁ।"</string>
     <string name="bluetooth_sim_card_access_dialog_title" msgid="4486768729352090174">"SIM କାର୍ଡକୁ ଆକ୍ସେସ୍ କରିବା ପାଇଁ ଅନୁମତି ଦେବେ?"</string>
diff --git a/res/values-pa/strings.xml b/res/values-pa/strings.xml
index 0e5195e..f03f940 100644
--- a/res/values-pa/strings.xml
+++ b/res/values-pa/strings.xml
@@ -5397,6 +5397,14 @@
     <string name="power_menu_long_press_for_assist_summary" msgid="8251928804984560312">"ਪਾਵਰ ਬਟਨ ਨੂੰ ਕੁਝ ਸਮਾਂ ਦਬਾਈ ਰੱਖ ਕੇ Assistant ਨੂੰ ਟ੍ਰਿਗਰ ਕਰੋ"</string>
     <string name="power_menu_power_volume_up_hint" msgid="1733051433583045623">"ਪਾਵਰ ਅਤੇ ਸੰਕਟਕਾਲੀਨ ਮੀਨੂ:\nਪਾਵਰ ਬਟਨ ਅਤੇ \'ਅਵਾਜ਼ ਵਧਾਓ\' ਬਟਨ ਨੂੰ ਇੱਕੋ ਸਮੇਂ ਦਬਾਓ।"</string>
     <string name="power_menu_power_prevent_ringing_hint" msgid="5786494894009727654">"ਘੰਟੀ ਵੱਜਣ ਤੋਂ ਰੋਕੋ:\nਸ਼ਾਰਟਕੱਟ ਅਵਾਜ਼ ਮੀਨੂ ਵਿੱਚ ਉਪਲਬਧ ਹੈ।"</string>
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_title (1626808509158422185) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_summary (7550610071666801935) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_low_label (3430099983480845635) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_high_label (2059686170350829156) -->
+    <skip />
     <string name="lockscreen_privacy_wallet_setting_toggle" msgid="4188327143734192000">"ਵਾਲੇਟ ਦਿਖਾਓ"</string>
     <string name="lockscreen_privacy_wallet_summary" msgid="5388868513484652431">"ਲਾਕ ਸਕ੍ਰੀਨ ਅਤੇ ਤਤਕਾਲ ਸੈਟਿੰਗਾਂ ਤੋਂ ਵਾਲੇਟ ਤੱਕ ਪਹੁੰਚ ਕਰਨ ਦਿਓ"</string>
     <string name="lockscreen_privacy_controls_setting_toggle" msgid="7445725343949588613">"ਡੀਵਾਈਸ ਕੰਟਰੋਲ ਦਿਖਾਓ"</string>
@@ -5537,6 +5545,9 @@
     <string name="sensor_toggle_description" msgid="8248823248606795411">"ਸਾਰੀਆਂ ਐਪਾਂ ਅਤੇ ਸੇਵਾਵਾਂ ਲਈ"</string>
     <string name="game_settings_title" msgid="1028178627743422090">"ਗੇਮ ਸੈਟਿੰਗਾਂ"</string>
     <string name="game_settings_summary" msgid="2548056479103747555">"ਗੇਮ ਡੈਸ਼ਬੋਰਡ ਸ਼ਾਰਟਕੱਟ, ਆਦਿ ਨੂੰ ਚਾਲੂ ਕਰੋ"</string>
+    <string name="previous_page_content_description" msgid="6438292457923282991">"ਪਿੱਛੇ"</string>
+    <string name="next_page_content_description" msgid="1641835099813416294">"ਅੱਗੇ"</string>
+    <string name="colors_viewpager_content_description" msgid="2591751086138259565">"ਰੰਗ ਦੀ ਪੂਰਵ-ਝਲਕ"</string>
     <string name="bluetooth_sim_card_access_notification_title" msgid="5217037846900908318">"ਸਿਮ ਕਾਰਡ ਤੱਕ ਪਹੁੰਚ ਕਰਨ ਦੀ ਬੇਨਤੀ"</string>
     <string name="bluetooth_sim_card_access_notification_content" msgid="6759306429895300286">"ਕੋਈ ਡੀਵਾਈਸ ਤੁਹਾਡੇ ਸਿਮ ਕਾਰਡ ਤੱਕ ਪਹੁੰਚ ਕਰਨਾ ਚਾਹੁੰਦਾ ਹੈ। ਵੇਰਵਿਆਂ ਲਈ ਟੈਪ ਕਰੋ।"</string>
     <string name="bluetooth_sim_card_access_dialog_title" msgid="4486768729352090174">"ਕੀ ਸਿਮ ਕਾਰਡ ਤੱਕ ਪਹੁੰਚ ਦੀ ਇਜਾਜ਼ਤ ਦੇਣੀ ਹੈ?"</string>
diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml
index 96df84e..e9a3292 100644
--- a/res/values-pl/strings.xml
+++ b/res/values-pl/strings.xml
@@ -5575,6 +5575,14 @@
     <string name="power_menu_long_press_for_assist_summary" msgid="8251928804984560312">"Przytrzymaj przycisk zasilania, aby uaktywnić Asystenta"</string>
     <string name="power_menu_power_volume_up_hint" msgid="1733051433583045623">"Menu zasilania i alarmowe:\nNaciśnij jednocześnie przyciski zasilania i zwiększania głośności."</string>
     <string name="power_menu_power_prevent_ringing_hint" msgid="5786494894009727654">"Zapobiegaj włączeniu się dzwonka:\nSkrót dostępny w menu głośności."</string>
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_title (1626808509158422185) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_summary (7550610071666801935) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_low_label (3430099983480845635) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_high_label (2059686170350829156) -->
+    <skip />
     <string name="lockscreen_privacy_wallet_setting_toggle" msgid="4188327143734192000">"Pokazuj portfel"</string>
     <string name="lockscreen_privacy_wallet_summary" msgid="5388868513484652431">"Zezwalaj na dostęp do portfela na ekranie blokady i w szybkich ustawieniach"</string>
     <string name="lockscreen_privacy_controls_setting_toggle" msgid="7445725343949588613">"Pokazuj sterowanie urządzeniami"</string>
@@ -5715,6 +5723,9 @@
     <string name="sensor_toggle_description" msgid="8248823248606795411">"Dla wszystkich aplikacji i usług"</string>
     <string name="game_settings_title" msgid="1028178627743422090">"Ustawienia gier"</string>
     <string name="game_settings_summary" msgid="2548056479103747555">"Włączanie skrótu do panelu gier i inne ustawienia"</string>
+    <string name="previous_page_content_description" msgid="6438292457923282991">"Wstecz"</string>
+    <string name="next_page_content_description" msgid="1641835099813416294">"Dalej"</string>
+    <string name="colors_viewpager_content_description" msgid="2591751086138259565">"Podgląd koloru"</string>
     <string name="bluetooth_sim_card_access_notification_title" msgid="5217037846900908318">"Prośba o dostęp do karty SIM"</string>
     <string name="bluetooth_sim_card_access_notification_content" msgid="6759306429895300286">"Urządzenie chce uzyskać dostęp do Twojej karty SIM. Kliknij, by wyświetlić szczegóły."</string>
     <string name="bluetooth_sim_card_access_dialog_title" msgid="4486768729352090174">"Zezwolić na dostęp do karty SIM?"</string>
diff --git a/res/values-pt-rBR/strings.xml b/res/values-pt-rBR/strings.xml
index 1936f92..50f977e 100644
--- a/res/values-pt-rBR/strings.xml
+++ b/res/values-pt-rBR/strings.xml
@@ -5399,6 +5399,10 @@
     <string name="power_menu_long_press_for_assist_summary" msgid="8251928804984560312">"Mantenha o botão liga/desliga pressionado para acionar o Google Assistente"</string>
     <string name="power_menu_power_volume_up_hint" msgid="1733051433583045623">"Menu liga/desliga e de emergência:\nPressione os botões liga/desliga e aumentar volume ao mesmo tempo."</string>
     <string name="power_menu_power_prevent_ringing_hint" msgid="5786494894009727654">"Impedir o toque:\nAtalho disponível no menu de volumes."</string>
+    <string name="power_menu_long_press_for_assist_sensitivity_title" msgid="1626808509158422185">"Duração do pressionamento"</string>
+    <string name="power_menu_long_press_for_assist_sensitivity_summary" msgid="7550610071666801935">"Ajuste a sensibilidade escolhendo por quanto tempo manter o botão liga/desliga pressionado"</string>
+    <string name="power_menu_long_press_for_assist_sensitivity_low_label" msgid="3430099983480845635">"Curto"</string>
+    <string name="power_menu_long_press_for_assist_sensitivity_high_label" msgid="2059686170350829156">"Longo"</string>
     <string name="lockscreen_privacy_wallet_setting_toggle" msgid="4188327143734192000">"Mostrar carteira"</string>
     <string name="lockscreen_privacy_wallet_summary" msgid="5388868513484652431">"Permitir acesso à carteira pela tela de bloqueio e pelas Configurações rápidas"</string>
     <string name="lockscreen_privacy_controls_setting_toggle" msgid="7445725343949588613">"Mostrar controles do dispositivo"</string>
@@ -5539,6 +5543,9 @@
     <string name="sensor_toggle_description" msgid="8248823248606795411">"Para todos os apps e serviços"</string>
     <string name="game_settings_title" msgid="1028178627743422090">"Configurações de jogos"</string>
     <string name="game_settings_summary" msgid="2548056479103747555">"Ativar o atalho do Painel de jogo etc."</string>
+    <string name="previous_page_content_description" msgid="6438292457923282991">"Anterior"</string>
+    <string name="next_page_content_description" msgid="1641835099813416294">"Próxima"</string>
+    <string name="colors_viewpager_content_description" msgid="2591751086138259565">"Visualização da cor"</string>
     <string name="bluetooth_sim_card_access_notification_title" msgid="5217037846900908318">"Solicitação de acesso ao chip"</string>
     <string name="bluetooth_sim_card_access_notification_content" msgid="6759306429895300286">"Um dispositivo quer acessar seu chip. Toque para ver detalhes."</string>
     <string name="bluetooth_sim_card_access_dialog_title" msgid="4486768729352090174">"Permitir acesso ao chip?"</string>
diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml
index fe4a3a1..0efb970 100644
--- a/res/values-pt-rPT/strings.xml
+++ b/res/values-pt-rPT/strings.xml
@@ -5397,6 +5397,10 @@
     <string name="power_menu_long_press_for_assist_summary" msgid="8251928804984560312">"Acione o Assistente ao manter premido o botão ligar/desligar"</string>
     <string name="power_menu_power_volume_up_hint" msgid="1733051433583045623">"Menu ligar/desligar e de emergência:\nprima os botões ligar/desligar e aumentar volume em simultâneo."</string>
     <string name="power_menu_power_prevent_ringing_hint" msgid="5786494894009727654">"Impedir o toque:\natalho disponível no menu do volume."</string>
+    <string name="power_menu_long_press_for_assist_sensitivity_title" msgid="1626808509158422185">"Duração de premir sem soltar"</string>
+    <string name="power_menu_long_press_for_assist_sensitivity_summary" msgid="7550610071666801935">"Ajuste a sensibilidade ao escolher durante quanto tempo o botão ligar/desligar deve ser premido sem soltar"</string>
+    <string name="power_menu_long_press_for_assist_sensitivity_low_label" msgid="3430099983480845635">"Curta"</string>
+    <string name="power_menu_long_press_for_assist_sensitivity_high_label" msgid="2059686170350829156">"Longa"</string>
     <string name="lockscreen_privacy_wallet_setting_toggle" msgid="4188327143734192000">"Mostrar carteira"</string>
     <string name="lockscreen_privacy_wallet_summary" msgid="5388868513484652431">"Permita o acesso à carteira a partir do ecrã de bloqueio e das Definições rápidas"</string>
     <string name="lockscreen_privacy_controls_setting_toggle" msgid="7445725343949588613">"Mostrar controlos de dispositivos"</string>
@@ -5537,6 +5541,9 @@
     <string name="sensor_toggle_description" msgid="8248823248606795411">"Para todas as apps e serviços"</string>
     <string name="game_settings_title" msgid="1028178627743422090">"Definições de jogos"</string>
     <string name="game_settings_summary" msgid="2548056479103747555">"Ative o atalho do Painel de jogo, etc."</string>
+    <string name="previous_page_content_description" msgid="6438292457923282991">"Anterior"</string>
+    <string name="next_page_content_description" msgid="1641835099813416294">"Seguinte"</string>
+    <string name="colors_viewpager_content_description" msgid="2591751086138259565">"Pré-visualização da cor"</string>
     <string name="bluetooth_sim_card_access_notification_title" msgid="5217037846900908318">"Pedido de acesso ao cartão SIM"</string>
     <string name="bluetooth_sim_card_access_notification_content" msgid="6759306429895300286">"Um dispositivo pretende aceder ao seu cartão SIM. Toque para obter detalhes."</string>
     <string name="bluetooth_sim_card_access_dialog_title" msgid="4486768729352090174">"Pretende permitir o acesso ao cartão SIM?"</string>
diff --git a/res/values-pt/strings.xml b/res/values-pt/strings.xml
index 1936f92..50f977e 100644
--- a/res/values-pt/strings.xml
+++ b/res/values-pt/strings.xml
@@ -5399,6 +5399,10 @@
     <string name="power_menu_long_press_for_assist_summary" msgid="8251928804984560312">"Mantenha o botão liga/desliga pressionado para acionar o Google Assistente"</string>
     <string name="power_menu_power_volume_up_hint" msgid="1733051433583045623">"Menu liga/desliga e de emergência:\nPressione os botões liga/desliga e aumentar volume ao mesmo tempo."</string>
     <string name="power_menu_power_prevent_ringing_hint" msgid="5786494894009727654">"Impedir o toque:\nAtalho disponível no menu de volumes."</string>
+    <string name="power_menu_long_press_for_assist_sensitivity_title" msgid="1626808509158422185">"Duração do pressionamento"</string>
+    <string name="power_menu_long_press_for_assist_sensitivity_summary" msgid="7550610071666801935">"Ajuste a sensibilidade escolhendo por quanto tempo manter o botão liga/desliga pressionado"</string>
+    <string name="power_menu_long_press_for_assist_sensitivity_low_label" msgid="3430099983480845635">"Curto"</string>
+    <string name="power_menu_long_press_for_assist_sensitivity_high_label" msgid="2059686170350829156">"Longo"</string>
     <string name="lockscreen_privacy_wallet_setting_toggle" msgid="4188327143734192000">"Mostrar carteira"</string>
     <string name="lockscreen_privacy_wallet_summary" msgid="5388868513484652431">"Permitir acesso à carteira pela tela de bloqueio e pelas Configurações rápidas"</string>
     <string name="lockscreen_privacy_controls_setting_toggle" msgid="7445725343949588613">"Mostrar controles do dispositivo"</string>
@@ -5539,6 +5543,9 @@
     <string name="sensor_toggle_description" msgid="8248823248606795411">"Para todos os apps e serviços"</string>
     <string name="game_settings_title" msgid="1028178627743422090">"Configurações de jogos"</string>
     <string name="game_settings_summary" msgid="2548056479103747555">"Ativar o atalho do Painel de jogo etc."</string>
+    <string name="previous_page_content_description" msgid="6438292457923282991">"Anterior"</string>
+    <string name="next_page_content_description" msgid="1641835099813416294">"Próxima"</string>
+    <string name="colors_viewpager_content_description" msgid="2591751086138259565">"Visualização da cor"</string>
     <string name="bluetooth_sim_card_access_notification_title" msgid="5217037846900908318">"Solicitação de acesso ao chip"</string>
     <string name="bluetooth_sim_card_access_notification_content" msgid="6759306429895300286">"Um dispositivo quer acessar seu chip. Toque para ver detalhes."</string>
     <string name="bluetooth_sim_card_access_dialog_title" msgid="4486768729352090174">"Permitir acesso ao chip?"</string>
diff --git a/res/values-ro/strings.xml b/res/values-ro/strings.xml
index 87cf7eb..2c1cb26 100644
--- a/res/values-ro/strings.xml
+++ b/res/values-ro/strings.xml
@@ -5488,6 +5488,14 @@
     <string name="power_menu_long_press_for_assist_summary" msgid="8251928804984560312">"Declanșați Asistentul apăsând lung butonul de pornire"</string>
     <string name="power_menu_power_volume_up_hint" msgid="1733051433583045623">"Meniul Pornire și urgențe:\napăsați simultan pe butonul de pornire și pe cel de creștere a volumului"</string>
     <string name="power_menu_power_prevent_ringing_hint" msgid="5786494894009727654">"Împiedicați sunatul:\ncomandă rapidă disponibilă în meniul de volum"</string>
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_title (1626808509158422185) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_summary (7550610071666801935) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_low_label (3430099983480845635) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_high_label (2059686170350829156) -->
+    <skip />
     <string name="lockscreen_privacy_wallet_setting_toggle" msgid="4188327143734192000">"Afișați Wallet"</string>
     <string name="lockscreen_privacy_wallet_summary" msgid="5388868513484652431">"Permiteți accesul la Wallet din ecranul de blocare și setările rapide"</string>
     <string name="lockscreen_privacy_controls_setting_toggle" msgid="7445725343949588613">"Afișați comenzile dispozitivului"</string>
@@ -5628,6 +5636,9 @@
     <string name="sensor_toggle_description" msgid="8248823248606795411">"Pentru toate aplicațiile și serviciile"</string>
     <string name="game_settings_title" msgid="1028178627743422090">"Setări de joc"</string>
     <string name="game_settings_summary" msgid="2548056479103747555">"Activați comanda rapidă din Tabloul de bord al jocului, etc."</string>
+    <string name="previous_page_content_description" msgid="6438292457923282991">"Înapoi"</string>
+    <string name="next_page_content_description" msgid="1641835099813416294">"Înainte"</string>
+    <string name="colors_viewpager_content_description" msgid="2591751086138259565">"Previzualizarea culorii"</string>
     <string name="bluetooth_sim_card_access_notification_title" msgid="5217037846900908318">"Solicitare de acces la cardul SIM"</string>
     <string name="bluetooth_sim_card_access_notification_content" msgid="6759306429895300286">"Un dispozitiv solicită acces la cardul SIM. Atingeți pentru detalii."</string>
     <string name="bluetooth_sim_card_access_dialog_title" msgid="4486768729352090174">"Permiteți accesul la cardul SIM?"</string>
diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml
index e99129a..6103934 100644
--- a/res/values-ru/strings.xml
+++ b/res/values-ru/strings.xml
@@ -5575,6 +5575,14 @@
     <string name="power_menu_long_press_for_assist_summary" msgid="8251928804984560312">"Нажмите и удерживайте кнопку питания для запуска Ассистента"</string>
     <string name="power_menu_power_volume_up_hint" msgid="1733051433583045623">"Меню кнопки питания и экстренных вызовов\nЧтобы его открыть, одновременно нажмите кнопки питания и увеличения громкости."</string>
     <string name="power_menu_power_prevent_ringing_hint" msgid="5786494894009727654">"Отключение звука звонка\nБыстрый запуск функции доступен в меню регулировки громкости."</string>
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_title (1626808509158422185) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_summary (7550610071666801935) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_low_label (3430099983480845635) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_high_label (2059686170350829156) -->
+    <skip />
     <string name="lockscreen_privacy_wallet_setting_toggle" msgid="4188327143734192000">"Показывать кошелек"</string>
     <string name="lockscreen_privacy_wallet_summary" msgid="5388868513484652431">"Разрешить доступ к кошельку на заблокированном экране и в быстрых настройках"</string>
     <string name="lockscreen_privacy_controls_setting_toggle" msgid="7445725343949588613">"Показывать виджеты управления устройством"</string>
@@ -5715,6 +5723,9 @@
     <string name="sensor_toggle_description" msgid="8248823248606795411">"Для всех приложений и сервисов"</string>
     <string name="game_settings_title" msgid="1028178627743422090">"Настройки игр"</string>
     <string name="game_settings_summary" msgid="2548056479103747555">"Включение ярлыков игровой панели и т. п."</string>
+    <string name="previous_page_content_description" msgid="6438292457923282991">"Назад"</string>
+    <string name="next_page_content_description" msgid="1641835099813416294">"Далее"</string>
+    <string name="colors_viewpager_content_description" msgid="2591751086138259565">"Предпросмотр цвета"</string>
     <string name="bluetooth_sim_card_access_notification_title" msgid="5217037846900908318">"Запрос на доступ к SIM-карте"</string>
     <string name="bluetooth_sim_card_access_notification_content" msgid="6759306429895300286">"Устройство запрашивает доступ к вашей SIM-карте. Нажмите, чтобы узнать больше."</string>
     <string name="bluetooth_sim_card_access_dialog_title" msgid="4486768729352090174">"Предоставить доступ к SIM-карте?"</string>
diff --git a/res/values-si/strings.xml b/res/values-si/strings.xml
index b5c3055..37eadd4 100644
--- a/res/values-si/strings.xml
+++ b/res/values-si/strings.xml
@@ -5397,6 +5397,14 @@
     <string name="power_menu_long_press_for_assist_summary" msgid="8251928804984560312">"බල බොත්තම තද කර ගෙන සිටීමෙන් සහායක ප්‍රේරණය කරන්න"</string>
     <string name="power_menu_power_volume_up_hint" msgid="1733051433583045623">"බලය සහ හදිසි අවස්ථා මෙනුව:\nඑකම අවස්ථාවේදී බලය සහ හඬ පරිමාව ඉහළට බොත්තම ඔබන්න."</string>
     <string name="power_menu_power_prevent_ringing_hint" msgid="5786494894009727654">"නාද වීම වළක්වන්න:\nකෙටි මග හඬ පරිමා මෙනුවෙහි තිබේ."</string>
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_title (1626808509158422185) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_summary (7550610071666801935) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_low_label (3430099983480845635) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_high_label (2059686170350829156) -->
+    <skip />
     <string name="lockscreen_privacy_wallet_setting_toggle" msgid="4188327143734192000">"පසුම්බිය පෙන්වන්න"</string>
     <string name="lockscreen_privacy_wallet_summary" msgid="5388868513484652431">"තිර අගුල සහ ඉක්මන් සැකසීම් වෙතින් පසුම්බිය වෙත ප්‍රවේශය ඉඩ දෙන්න"</string>
     <string name="lockscreen_privacy_controls_setting_toggle" msgid="7445725343949588613">"උපාංග පාලන පෙන්වන්න"</string>
@@ -5537,6 +5545,9 @@
     <string name="sensor_toggle_description" msgid="8248823248606795411">"සියලු යෙදුම් සහ සේවා සඳහා"</string>
     <string name="game_settings_title" msgid="1028178627743422090">"ක්‍රීඩා සැකසීම්"</string>
     <string name="game_settings_summary" msgid="2548056479103747555">"ක්‍රීඩා උපකරණ පුවරු කෙටි මං ආදිය ක්‍රියාත්මක කරන්න"</string>
+    <string name="previous_page_content_description" msgid="6438292457923282991">"පෙර"</string>
+    <string name="next_page_content_description" msgid="1641835099813416294">"ඊළඟ"</string>
+    <string name="colors_viewpager_content_description" msgid="2591751086138259565">"වර්ණ පෙරදසුන"</string>
     <string name="bluetooth_sim_card_access_notification_title" msgid="5217037846900908318">"SIM කාඩ්පත් ප්‍රවේශ ඉල්ලීම"</string>
     <string name="bluetooth_sim_card_access_notification_content" msgid="6759306429895300286">"උපාංගයකට ඔබගේ SIM කාඩ්පත වෙත ප්‍රවේශ වීමට අවශ්‍යයි. විස්තර සඳහා තට්ටු කරන්න."</string>
     <string name="bluetooth_sim_card_access_dialog_title" msgid="4486768729352090174">"SIM කාඩ්පත වෙත ප්‍රවේශය ඉඩ දෙන්නද?"</string>
diff --git a/res/values-sk/strings.xml b/res/values-sk/strings.xml
index 70a698c..5df020e 100644
--- a/res/values-sk/strings.xml
+++ b/res/values-sk/strings.xml
@@ -5577,6 +5577,10 @@
     <string name="power_menu_long_press_for_assist_summary" msgid="8251928804984560312">"Spustiť Asistenta pridržaním vypínača"</string>
     <string name="power_menu_power_volume_up_hint" msgid="1733051433583045623">"Ponuka vypínača a stavu tiesne:\nnaraz stlačte vypínač a tlačidlo zvýšenia hlasitosti."</string>
     <string name="power_menu_power_prevent_ringing_hint" msgid="5786494894009727654">"Nezvoniť:\nskratka v ponuke hlasitosti."</string>
+    <string name="power_menu_long_press_for_assist_sensitivity_title" msgid="1626808509158422185">"Trvanie pridržania"</string>
+    <string name="power_menu_long_press_for_assist_sensitivity_summary" msgid="7550610071666801935">"Upravte citlivosť tak, že vyberiete, ako dlho treba pridržať vypínač"</string>
+    <string name="power_menu_long_press_for_assist_sensitivity_low_label" msgid="3430099983480845635">"Krátke"</string>
+    <string name="power_menu_long_press_for_assist_sensitivity_high_label" msgid="2059686170350829156">"Dlhé"</string>
     <string name="lockscreen_privacy_wallet_setting_toggle" msgid="4188327143734192000">"Zobraziť peňaženku"</string>
     <string name="lockscreen_privacy_wallet_summary" msgid="5388868513484652431">"Povoľte prístup k peňaženke z uzamknutej obrazovky a rýchlych nastavení"</string>
     <string name="lockscreen_privacy_controls_setting_toggle" msgid="7445725343949588613">"Zobraziť ovládanie zariadení"</string>
@@ -5717,6 +5721,9 @@
     <string name="sensor_toggle_description" msgid="8248823248606795411">"Pre všetky aplikácie a služby"</string>
     <string name="game_settings_title" msgid="1028178627743422090">"Nastavenia hier"</string>
     <string name="game_settings_summary" msgid="2548056479103747555">"Zapnutie odkazu na herný panel a podobne"</string>
+    <string name="previous_page_content_description" msgid="6438292457923282991">"Naspäť"</string>
+    <string name="next_page_content_description" msgid="1641835099813416294">"Ďalej"</string>
+    <string name="colors_viewpager_content_description" msgid="2591751086138259565">"Ukážka farby"</string>
     <string name="bluetooth_sim_card_access_notification_title" msgid="5217037846900908318">"Žiadosť o prístup k SIM karte"</string>
     <string name="bluetooth_sim_card_access_notification_content" msgid="6759306429895300286">"Zariadenie požaduje prístup k vašej SIM karte. Klepnutím zobrazíte podrobnosti."</string>
     <string name="bluetooth_sim_card_access_dialog_title" msgid="4486768729352090174">"Chcete povoliť prístup k SIM karte?"</string>
diff --git a/res/values-sl/strings.xml b/res/values-sl/strings.xml
index 3fa78d6..63d7832 100644
--- a/res/values-sl/strings.xml
+++ b/res/values-sl/strings.xml
@@ -5577,6 +5577,14 @@
     <string name="power_menu_long_press_for_assist_summary" msgid="8251928804984560312">"Sprožite Pomočnika tako, da pridržite gumb za vklop."</string>
     <string name="power_menu_power_volume_up_hint" msgid="1733051433583045623">"Meni za vklop/izklop in nujne primere:\nSočasno pritisnite gumba za vklop in povečanje glasnosti."</string>
     <string name="power_menu_power_prevent_ringing_hint" msgid="5786494894009727654">"Preprečevanje zvonjenja:\nBližnjica je na voljo v meniju za glasnost."</string>
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_title (1626808509158422185) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_summary (7550610071666801935) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_low_label (3430099983480845635) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_high_label (2059686170350829156) -->
+    <skip />
     <string name="lockscreen_privacy_wallet_setting_toggle" msgid="4188327143734192000">"Prikaži denarnico"</string>
     <string name="lockscreen_privacy_wallet_summary" msgid="5388868513484652431">"Dovolite dostop do denarnice prek zaklenjenega zaslona in hitrih nastavitev."</string>
     <string name="lockscreen_privacy_controls_setting_toggle" msgid="7445725343949588613">"Prikaži kontrolnike naprave"</string>
@@ -5717,6 +5725,9 @@
     <string name="sensor_toggle_description" msgid="8248823248606795411">"Za vse aplikacije in storitve"</string>
     <string name="game_settings_title" msgid="1028178627743422090">"Nastavitve iger"</string>
     <string name="game_settings_summary" msgid="2548056479103747555">"Vklop bližnjice na nadzorni plošči igre itd."</string>
+    <string name="previous_page_content_description" msgid="6438292457923282991">"Nazaj"</string>
+    <string name="next_page_content_description" msgid="1641835099813416294">"Naprej"</string>
+    <string name="colors_viewpager_content_description" msgid="2591751086138259565">"Predogled barve"</string>
     <string name="bluetooth_sim_card_access_notification_title" msgid="5217037846900908318">"Zahteva za dostop do kartice SIM"</string>
     <string name="bluetooth_sim_card_access_notification_content" msgid="6759306429895300286">"Naprava želi dostopati do kartice SIM. Dotaknite se za podrobnosti."</string>
     <string name="bluetooth_sim_card_access_dialog_title" msgid="4486768729352090174">"Želite dovoliti dostop do kartice SIM?"</string>
diff --git a/res/values-sq/strings.xml b/res/values-sq/strings.xml
index a2d967e..07951d6 100644
--- a/res/values-sq/strings.xml
+++ b/res/values-sq/strings.xml
@@ -5397,6 +5397,14 @@
     <string name="power_menu_long_press_for_assist_summary" msgid="8251928804984560312">"Aktivizo \"Asistentin\" duke mbajtur shtypur butonin e energjisë"</string>
     <string name="power_menu_power_volume_up_hint" msgid="1733051433583045623">"Menyja \"Energjia dhe urgjenca\":\nShtyp njëherësh \"Energjinë\" dhe \"Volumin lart\"."</string>
     <string name="power_menu_power_prevent_ringing_hint" msgid="5786494894009727654">"Parandalo rënien e ziles:\nKa shkurtore në menynë e volumit."</string>
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_title (1626808509158422185) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_summary (7550610071666801935) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_low_label (3430099983480845635) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_high_label (2059686170350829156) -->
+    <skip />
     <string name="lockscreen_privacy_wallet_setting_toggle" msgid="4188327143734192000">"Shfaq portofolin"</string>
     <string name="lockscreen_privacy_wallet_summary" msgid="5388868513484652431">"Lejo qasjen te portofoli nga ekrani i kyçjes dhe cilësimet e shpejta"</string>
     <string name="lockscreen_privacy_controls_setting_toggle" msgid="7445725343949588613">"Shfaq kontrollet e pajisjes"</string>
@@ -5537,6 +5545,9 @@
     <string name="sensor_toggle_description" msgid="8248823248606795411">"Për të gjitha aplikacionet dhe shërbimet"</string>
     <string name="game_settings_title" msgid="1028178627743422090">"Cilësimet e lojërave"</string>
     <string name="game_settings_summary" msgid="2548056479103747555">"Aktivizo shkurtoren e \"Panelit të lojës\" etj."</string>
+    <string name="previous_page_content_description" msgid="6438292457923282991">"Prapa"</string>
+    <string name="next_page_content_description" msgid="1641835099813416294">"Para"</string>
+    <string name="colors_viewpager_content_description" msgid="2591751086138259565">"Pamja paraprake e ngjyrave"</string>
     <string name="bluetooth_sim_card_access_notification_title" msgid="5217037846900908318">"Kërkesë për qasje te karta SIM"</string>
     <string name="bluetooth_sim_card_access_notification_content" msgid="6759306429895300286">"Një pajisje dëshiron të ketë qasje te karta jote SIM. Trokit për detaje."</string>
     <string name="bluetooth_sim_card_access_dialog_title" msgid="4486768729352090174">"Të lejohet qasja te karta SIM?"</string>
diff --git a/res/values-sr/strings.xml b/res/values-sr/strings.xml
index bb8fac2..f9666a4 100644
--- a/res/values-sr/strings.xml
+++ b/res/values-sr/strings.xml
@@ -5486,6 +5486,14 @@
     <string name="power_menu_long_press_for_assist_summary" msgid="8251928804984560312">"Покрените Помоћник тако што ћете задржати дугме за укључивање"</string>
     <string name="power_menu_power_volume_up_hint" msgid="1733051433583045623">"Мени дугмета за укључивање и за хитне случајеве:\nИстовремено притисните дугме за укључивање и дугме за појачавање звука."</string>
     <string name="power_menu_power_prevent_ringing_hint" msgid="5786494894009727654">"Спречи звоњење:\nПречица је доступна у менију дугмета за јачину звука."</string>
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_title (1626808509158422185) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_summary (7550610071666801935) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_low_label (3430099983480845635) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_high_label (2059686170350829156) -->
+    <skip />
     <string name="lockscreen_privacy_wallet_setting_toggle" msgid="4188327143734192000">"Прикажи новчаник"</string>
     <string name="lockscreen_privacy_wallet_summary" msgid="5388868513484652431">"Дозволите приступ новчанику са закључаног екрана и из брзих подешавања"</string>
     <string name="lockscreen_privacy_controls_setting_toggle" msgid="7445725343949588613">"Прикажи контроле уређаја"</string>
@@ -5626,6 +5634,9 @@
     <string name="sensor_toggle_description" msgid="8248823248606795411">"За све апликације и услуге"</string>
     <string name="game_settings_title" msgid="1028178627743422090">"Подешавања игара"</string>
     <string name="game_settings_summary" msgid="2548056479103747555">"Укључите пречицу за контролну таблу игре итд."</string>
+    <string name="previous_page_content_description" msgid="6438292457923282991">"Претходна"</string>
+    <string name="next_page_content_description" msgid="1641835099813416294">"Следећа"</string>
+    <string name="colors_viewpager_content_description" msgid="2591751086138259565">"Преглед боје"</string>
     <string name="bluetooth_sim_card_access_notification_title" msgid="5217037846900908318">"Захтев за приступ SIM картици"</string>
     <string name="bluetooth_sim_card_access_notification_content" msgid="6759306429895300286">"Уређај жели да приступа SIM картици. Додирните за детаље."</string>
     <string name="bluetooth_sim_card_access_dialog_title" msgid="4486768729352090174">"Желите да дозволите приступ SIM картици?"</string>
diff --git a/res/values-sv/strings.xml b/res/values-sv/strings.xml
index cd1bb0b..0a2b2f4 100644
--- a/res/values-sv/strings.xml
+++ b/res/values-sv/strings.xml
@@ -5397,6 +5397,14 @@
     <string name="power_menu_long_press_for_assist_summary" msgid="8251928804984560312">"Öppna assistenten genom att hålla ned strömbrytaren"</string>
     <string name="power_menu_power_volume_up_hint" msgid="1733051433583045623">"Startmenyn och menyn för nödsituationer:\nTryck på strömbrytaren + höj volymen samtidigt"</string>
     <string name="power_menu_power_prevent_ringing_hint" msgid="5786494894009727654">"Inaktivera ringsignal:\nEn genväg finns i volymmenyn."</string>
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_title (1626808509158422185) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_summary (7550610071666801935) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_low_label (3430099983480845635) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_high_label (2059686170350829156) -->
+    <skip />
     <string name="lockscreen_privacy_wallet_setting_toggle" msgid="4188327143734192000">"Visa Wallet"</string>
     <string name="lockscreen_privacy_wallet_summary" msgid="5388868513484652431">"Tillåt åtkomst till Wallet från låsskärmen och snabbinställningar"</string>
     <string name="lockscreen_privacy_controls_setting_toggle" msgid="7445725343949588613">"Visa enhetsstyrning"</string>
@@ -5537,6 +5545,9 @@
     <string name="sensor_toggle_description" msgid="8248823248606795411">"För alla appar och tjänster"</string>
     <string name="game_settings_title" msgid="1028178627743422090">"Spelinställningar"</string>
     <string name="game_settings_summary" msgid="2548056479103747555">"Aktivera genväg i Spelöversikt med mera"</string>
+    <string name="previous_page_content_description" msgid="6438292457923282991">"Föregående"</string>
+    <string name="next_page_content_description" msgid="1641835099813416294">"Nästa"</string>
+    <string name="colors_viewpager_content_description" msgid="2591751086138259565">"Förhandsgranska färger"</string>
     <string name="bluetooth_sim_card_access_notification_title" msgid="5217037846900908318">"Begäran om åtkomst till SIM-kort"</string>
     <string name="bluetooth_sim_card_access_notification_content" msgid="6759306429895300286">"En enhet vill få åtkomst till ditt SIM-kort. Tryck här för mer information."</string>
     <string name="bluetooth_sim_card_access_dialog_title" msgid="4486768729352090174">"Vill du tillåta åtkomst till SIM-kortet?"</string>
diff --git a/res/values-sw/strings.xml b/res/values-sw/strings.xml
index 45f3256..3184c68 100644
--- a/res/values-sw/strings.xml
+++ b/res/values-sw/strings.xml
@@ -5398,6 +5398,14 @@
     <string name="power_menu_long_press_for_assist_summary" msgid="8251928804984560312">"Anzisha programu ya Mratibu kwa kushikilia kitufe cha kuwasha/kuzima"</string>
     <string name="power_menu_power_volume_up_hint" msgid="1733051433583045623">"Menyu ya Dharura na ya Kuzima/Kuwasha:\nBonyeza Kuongeza Sauti na Kuzima/Kuwasha kwa wakati mmoja."</string>
     <string name="power_menu_power_prevent_ringing_hint" msgid="5786494894009727654">"Zuia mlio:\nNjia ya mkato inapatikana katika menyu ya sauti."</string>
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_title (1626808509158422185) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_summary (7550610071666801935) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_low_label (3430099983480845635) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_high_label (2059686170350829156) -->
+    <skip />
     <string name="lockscreen_privacy_wallet_setting_toggle" msgid="4188327143734192000">"Onyesha kipochi"</string>
     <string name="lockscreen_privacy_wallet_summary" msgid="5388868513484652431">"Ruhusu kipochi kifikiwe kwenye skrini iliyofungwa na mipangilio ya haraka"</string>
     <string name="lockscreen_privacy_controls_setting_toggle" msgid="7445725343949588613">"Onyesha vidhibiti vya vifaa"</string>
@@ -5538,6 +5546,9 @@
     <string name="sensor_toggle_description" msgid="8248823248606795411">"Kwa ajili ya programu na huduma zote"</string>
     <string name="game_settings_title" msgid="1028178627743422090">"Mipangilio ya michezo"</string>
     <string name="game_settings_summary" msgid="2548056479103747555">"Washa Njia ya mkato ya Dashibodi ya michezo, n.k."</string>
+    <string name="previous_page_content_description" msgid="6438292457923282991">"Uliotangulia"</string>
+    <string name="next_page_content_description" msgid="1641835099813416294">"Unaofuata"</string>
+    <string name="colors_viewpager_content_description" msgid="2591751086138259565">"Onyesho la kukagua rangi"</string>
     <string name="bluetooth_sim_card_access_notification_title" msgid="5217037846900908318">"Ombi la kufikia SIM kadi"</string>
     <string name="bluetooth_sim_card_access_notification_content" msgid="6759306429895300286">"Kifaa kinataka kufikia SIM kadi yako. Gusa ili upate maelezo."</string>
     <string name="bluetooth_sim_card_access_dialog_title" msgid="4486768729352090174">"Ungependa kuruhusu ifikie SIM kadi?"</string>
diff --git a/res/values-ta/strings.xml b/res/values-ta/strings.xml
index 823bf85..c49a6af 100644
--- a/res/values-ta/strings.xml
+++ b/res/values-ta/strings.xml
@@ -5397,6 +5397,14 @@
     <string name="power_menu_long_press_for_assist_summary" msgid="8251928804984560312">"பவர் பட்டனை அழுத்திப் பிடித்து Assistantடைத் தொடங்கலாம்"</string>
     <string name="power_menu_power_volume_up_hint" msgid="1733051433583045623">"பவர் மற்றும் அவசரகால மெனு:\nபவர் பட்டனையும் ஒலியளவை அதிகரிக்கும் பட்டனையும் ஒன்றாக அழுத்தவும்."</string>
     <string name="power_menu_power_prevent_ringing_hint" msgid="5786494894009727654">"ஒலிப்பதைத் தடுத்தல்:\nஇதற்கான ஷார்ட்கட் ஒலியளவு மெனுவில் உள்ளது."</string>
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_title (1626808509158422185) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_summary (7550610071666801935) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_low_label (3430099983480845635) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_high_label (2059686170350829156) -->
+    <skip />
     <string name="lockscreen_privacy_wallet_setting_toggle" msgid="4188327143734192000">"வாலட்டைக் காட்டு"</string>
     <string name="lockscreen_privacy_wallet_summary" msgid="5388868513484652431">"பூட்டுத் திரை, விரைவு அமைப்புகள் ஆகியவற்றில் இருந்து வாலட்டை அணுகலாம்"</string>
     <string name="lockscreen_privacy_controls_setting_toggle" msgid="7445725343949588613">"சாதனக் கட்டுப்பாடுகளைக் காட்டு"</string>
@@ -5537,6 +5545,9 @@
     <string name="sensor_toggle_description" msgid="8248823248606795411">"அனைத்து ஆப்ஸுக்கும் சேவைகளுக்கும்"</string>
     <string name="game_settings_title" msgid="1028178627743422090">"கேம் அமைப்புகள்"</string>
     <string name="game_settings_summary" msgid="2548056479103747555">"கேம் டாஷ்போர்டு ஷார்ட்கட்டை ஆன் செய்யும் மற்றும் பல"</string>
+    <string name="previous_page_content_description" msgid="6438292457923282991">"முந்தையது"</string>
+    <string name="next_page_content_description" msgid="1641835099813416294">"அடுத்து"</string>
+    <string name="colors_viewpager_content_description" msgid="2591751086138259565">"வண்ண மாதிரிக்காட்சி"</string>
     <string name="bluetooth_sim_card_access_notification_title" msgid="5217037846900908318">"SIM கார்டை அணுகுவதற்கான கோரிக்கை"</string>
     <string name="bluetooth_sim_card_access_notification_content" msgid="6759306429895300286">"ஒரு சாதனம் உங்கள் SIM கார்டை அணுக விரும்புகிறது. விவரங்களைப் பார்க்கத் தட்டவும்."</string>
     <string name="bluetooth_sim_card_access_dialog_title" msgid="4486768729352090174">"SIM கார்டை அணுக அனுமதிக்கவா?"</string>
diff --git a/res/values-te/arrays.xml b/res/values-te/arrays.xml
index 84a7295..37e18f2 100644
--- a/res/values-te/arrays.xml
+++ b/res/values-te/arrays.xml
@@ -228,12 +228,12 @@
     <item msgid="1822578131647724167">"పరికరం"</item>
   </string-array>
   <string-array name="app_ops_summaries">
-    <item msgid="8837238583601420163">"స్థూల లొకేషన్"</item>
-    <item msgid="3205182755091629995">"ఖచ్చితమైన లొకేషన్"</item>
+    <item msgid="8837238583601420163">"స్థూల స్థానం"</item>
+    <item msgid="3205182755091629995">"ఖచ్చితమైన స్థానం"</item>
     <item msgid="8952113542524604064">"GPS"</item>
     <item msgid="50701215019227883">"వైబ్రేట్"</item>
-    <item msgid="2690144000353492014">"కాంటాక్ట్‌లను చదవండి"</item>
-    <item msgid="3858029424955955625">"కాంటాక్ట్‌లను ఎడిట్ చేయండి"</item>
+    <item msgid="2690144000353492014">"పరిచయాలను చదవండి"</item>
+    <item msgid="3858029424955955625">"పరిచయాలను ఎడిట్ చేయండి"</item>
     <item msgid="3439658954936709507">"కాల్ లాగ్‌ను చదవండి"</item>
     <item msgid="1908944516631132130">"కాల్ లాగ్‌ను ఎడిట్ చేయండి"</item>
     <item msgid="9066115715905100138">"క్యాలెండర్‌ను చదవండి"</item>
@@ -269,8 +269,8 @@
     <item msgid="4422070755065530548">"నోటిఫికేషన్ వాల్యూమ్"</item>
     <item msgid="3250654589277825306">"బ్లూటూత్ వాల్యూమ్"</item>
     <item msgid="4212187233638382465">"సక్రియంగా ఉంచండి"</item>
-    <item msgid="5099026183238335900">"లొకేషన్‌ను పర్యవేక్షించండి"</item>
-    <item msgid="2297727967385895059">"అధిక శక్తివంతమైన లొకేషన్‌ను పర్యవేక్షించండి"</item>
+    <item msgid="5099026183238335900">"స్థానాన్ని పర్యవేక్షించండి"</item>
+    <item msgid="2297727967385895059">"అధిక శక్తివంతమైన స్థానాన్ని పర్యవేక్షించండి"</item>
     <item msgid="8700593962030471569">"వినియోగ గణాంకాలను పొందండి"</item>
     <item msgid="4140820386622184831">"మైక్రోఫోన్‌ను మ్యూట్ చేయండి/అన్‌మ్యూట్ చేయండి"</item>
     <item msgid="317746827951691657">"టోస్ట్‌ను చూపడం"</item>
@@ -286,7 +286,7 @@
     <item msgid="2702338156976571452">"వేలిముద్ర"</item>
     <item msgid="7925495329948404955">"శరీర సెన్సార్‌లు"</item>
     <item msgid="8163066895749904470">"సెల్ ప్రసారాలను చదవడం"</item>
-    <item msgid="7621394050624063528">"డమ్మీ లొకేషన్"</item>
+    <item msgid="7621394050624063528">"స్థానాన్ని నకిలీ చేయడం"</item>
     <item msgid="37519917674959757">"నిల్వను చదవడం"</item>
     <item msgid="3868809525697401379">"నిల్వలో వ్రాయడం"</item>
     <item msgid="2504191192460059817">"స్క్రీన్‌ను ఆన్ చేయడం"</item>
@@ -299,8 +299,8 @@
     <item msgid="364182753727575631">"లొకేషన్"</item>
     <item msgid="5728662879095632194">"లొకేషన్"</item>
     <item msgid="4104617224667554750">"వైబ్రేట్"</item>
-    <item msgid="1623646715189708947">"కాంటాక్ట్‌లను చదవండి"</item>
-    <item msgid="5060760609109972207">"కాంటాక్ట్‌లను సవరించండి"</item>
+    <item msgid="1623646715189708947">"పరిచయాలను చదవండి"</item>
+    <item msgid="5060760609109972207">"పరిచయాలను ఎడిట్ చేయండి"</item>
     <item msgid="7451260062940797278">"కాల్ లాగ్‌ను చదవండి"</item>
     <item msgid="2348589304974534308">"కాల్ లాగ్‌ను ఎడిట్ చేయండి"</item>
     <item msgid="4089146706115315300">"క్యాలెండర్‌ను చదవండి"</item>
@@ -353,7 +353,7 @@
     <item msgid="4480721672278100858">"వేలిముద్ర"</item>
     <item msgid="7883743426029759112">"శరీర సెన్సార్‌లు"</item>
     <item msgid="2546206711741159825">"సెల్ ప్రసారాలను చదవడం"</item>
-    <item msgid="2363460595607829243">"డమ్మీ లొకేషన్"</item>
+    <item msgid="2363460595607829243">"స్థానాన్ని నకిలీ చేయడం"</item>
     <item msgid="3778165903878569143">"నిల్వను చదవడం"</item>
     <item msgid="555939881912035315">"నిల్వలో వ్రాయడం"</item>
     <item msgid="4281352581602735717">"స్క్రీన్‌ను ఆన్ చేయడం"</item>
diff --git a/res/values-te/strings.xml b/res/values-te/strings.xml
index f4c5332..fee9628 100644
--- a/res/values-te/strings.xml
+++ b/res/values-te/strings.xml
@@ -5398,6 +5398,14 @@
     <string name="power_menu_long_press_for_assist_summary" msgid="8251928804984560312">"పవర్ బటన్‌ను హోల్డ్ చేయడం ద్వారా Assistantను ట్రిగ్గర్ చేయండి"</string>
     <string name="power_menu_power_volume_up_hint" msgid="1733051433583045623">"పవర్ &amp; ఎమర్జెన్సీ మెనూ:\nపవర్ బటన్‌ను, అలాగే వాల్యూమ్ పెంపు బటన్‌ను ఒకే సమయంలో నొక్కండి."</string>
     <string name="power_menu_power_prevent_ringing_hint" msgid="5786494894009727654">"రింగ్ అవ్వడాన్ని నిరోధించండి:\nవాల్యూమ్ మెనూలో షార్ట్‌కట్ అందుబాటులో ఉంది."</string>
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_title (1626808509158422185) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_summary (7550610071666801935) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_low_label (3430099983480845635) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_high_label (2059686170350829156) -->
+    <skip />
     <string name="lockscreen_privacy_wallet_setting_toggle" msgid="4188327143734192000">"వాలెట్‌ను చూపించండి"</string>
     <string name="lockscreen_privacy_wallet_summary" msgid="5388868513484652431">"లాక్ స్క్రీన్, త్వరిత సెట్టింగ్‌లు నుండి వాలెట్‌కు యాక్సెస్‌ను అనుమతించండి"</string>
     <string name="lockscreen_privacy_controls_setting_toggle" msgid="7445725343949588613">"డివైజ్ కంట్రోల్స్‌ను చూపించండి"</string>
@@ -5538,6 +5546,9 @@
     <string name="sensor_toggle_description" msgid="8248823248606795411">"అన్ని యాప్‌లు, సర్వీస్‌ల కోసం"</string>
     <string name="game_settings_title" msgid="1028178627743422090">"గేమ్ సెట్టింగ్‌లు"</string>
     <string name="game_settings_summary" msgid="2548056479103747555">"గేమ్ డ్యాష్‌బోర్డ్ షార్ట్‌కట్ మొదలైనవాటిని ఆన్ చేయండి"</string>
+    <string name="previous_page_content_description" msgid="6438292457923282991">"మునుపటి"</string>
+    <string name="next_page_content_description" msgid="1641835099813416294">"తర్వాత"</string>
+    <string name="colors_viewpager_content_description" msgid="2591751086138259565">"రంగు ప్రివ్యూ"</string>
     <string name="bluetooth_sim_card_access_notification_title" msgid="5217037846900908318">"SIM కార్డ్ యాక్సెస్ రిక్వెస్ట్"</string>
     <string name="bluetooth_sim_card_access_notification_content" msgid="6759306429895300286">"పరికరం మీ SIM కార్డ్‌ను యాక్సెస్ చేయాలనుకుంటోంది. వివరాల కోసం ట్యాప్ చేయండి."</string>
     <string name="bluetooth_sim_card_access_dialog_title" msgid="4486768729352090174">"SIM కార్డ్‌కు యాక్సెస్‌ను అనుమతించాలా?"</string>
diff --git a/res/values-th/strings.xml b/res/values-th/strings.xml
index 5414118..8820ba2 100644
--- a/res/values-th/strings.xml
+++ b/res/values-th/strings.xml
@@ -5397,6 +5397,14 @@
     <string name="power_menu_long_press_for_assist_summary" msgid="8251928804984560312">"เรียกให้ Assistant ทำงานโดยกดปุ่มเปิด/ปิดค้างไว้"</string>
     <string name="power_menu_power_volume_up_hint" msgid="1733051433583045623">"เมนูเปิด/ปิดและกรณีฉุกเฉิน\nกดปุ่มเปิด/ปิดและปุ่มเพิ่มระดับเสียงพร้อมกัน"</string>
     <string name="power_menu_power_prevent_ringing_hint" msgid="5786494894009727654">"ป้องกันการส่งเสียง\nมีทางลัดให้ใช้ในเมนูระดับเสียง"</string>
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_title (1626808509158422185) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_summary (7550610071666801935) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_low_label (3430099983480845635) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_high_label (2059686170350829156) -->
+    <skip />
     <string name="lockscreen_privacy_wallet_setting_toggle" msgid="4188327143734192000">"แสดง Wallet"</string>
     <string name="lockscreen_privacy_wallet_summary" msgid="5388868513484652431">"อนุญาตให้เข้าถึง Wallet จากหน้าจอล็อกและการตั้งค่าด่วน"</string>
     <string name="lockscreen_privacy_controls_setting_toggle" msgid="7445725343949588613">"แสดงระบบควบคุมอุปกรณ์"</string>
@@ -5537,6 +5545,9 @@
     <string name="sensor_toggle_description" msgid="8248823248606795411">"สำหรับแอปและบริการทั้งหมด"</string>
     <string name="game_settings_title" msgid="1028178627743422090">"การตั้งค่าเกม"</string>
     <string name="game_settings_summary" msgid="2548056479103747555">"เปิดทางลัดสำหรับแดชบอร์ดเกม ฯลฯ"</string>
+    <string name="previous_page_content_description" msgid="6438292457923282991">"ก่อนหน้า"</string>
+    <string name="next_page_content_description" msgid="1641835099813416294">"ถัดไป"</string>
+    <string name="colors_viewpager_content_description" msgid="2591751086138259565">"พรีวิวสี"</string>
     <string name="bluetooth_sim_card_access_notification_title" msgid="5217037846900908318">"คำขอเข้าถึงซิมการ์ด"</string>
     <string name="bluetooth_sim_card_access_notification_content" msgid="6759306429895300286">"อุปกรณ์หนึ่งต้องการเข้าถึงซิมการ์ดของคุณ แตะเพื่อดูรายละเอียด"</string>
     <string name="bluetooth_sim_card_access_dialog_title" msgid="4486768729352090174">"อนุญาตให้เข้าถึงซิมการ์ดไหม"</string>
diff --git a/res/values-tl/strings.xml b/res/values-tl/strings.xml
index 16db14f..042f4e5 100644
--- a/res/values-tl/strings.xml
+++ b/res/values-tl/strings.xml
@@ -5397,6 +5397,14 @@
     <string name="power_menu_long_press_for_assist_summary" msgid="8251928804984560312">"I-trigger ang Assistant sa pamamagitan ng pagpindot nang matagal sa power button"</string>
     <string name="power_menu_power_volume_up_hint" msgid="1733051433583045623">"Menu ng Power at Emergency:\nPindutin nang magkasabay ang Power at Pataas na volume."</string>
     <string name="power_menu_power_prevent_ringing_hint" msgid="5786494894009727654">"Pigilan ang pag-ring:\nNasa menu ng volume ang shortcut."</string>
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_title (1626808509158422185) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_summary (7550610071666801935) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_low_label (3430099983480845635) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_high_label (2059686170350829156) -->
+    <skip />
     <string name="lockscreen_privacy_wallet_setting_toggle" msgid="4188327143734192000">"Ipakita ang wallet"</string>
     <string name="lockscreen_privacy_wallet_summary" msgid="5388868513484652431">"Payagan ang pag-access sa wallet mula sa lock screen at mga mabilisang setting"</string>
     <string name="lockscreen_privacy_controls_setting_toggle" msgid="7445725343949588613">"Ipakita ang mga kontrol ng device"</string>
@@ -5537,6 +5545,9 @@
     <string name="sensor_toggle_description" msgid="8248823248606795411">"Para sa lahat ng app at serbisyo"</string>
     <string name="game_settings_title" msgid="1028178627743422090">"Mga setting ng laro"</string>
     <string name="game_settings_summary" msgid="2548056479103747555">"I-on ang shortcut ng Game Dashboard, atbp."</string>
+    <string name="previous_page_content_description" msgid="6438292457923282991">"Nakaraan"</string>
+    <string name="next_page_content_description" msgid="1641835099813416294">"Susunod"</string>
+    <string name="colors_viewpager_content_description" msgid="2591751086138259565">"Preview ng kulay"</string>
     <string name="bluetooth_sim_card_access_notification_title" msgid="5217037846900908318">"Kahilingan sa pag-access sa SIM card"</string>
     <string name="bluetooth_sim_card_access_notification_content" msgid="6759306429895300286">"Gustong i-access ng isang device ang iyong SIM card. I-tap para sa mga detalye."</string>
     <string name="bluetooth_sim_card_access_dialog_title" msgid="4486768729352090174">"Payagan ang access sa SIM card?"</string>
diff --git a/res/values-tr/strings.xml b/res/values-tr/strings.xml
index e46a3c9..4b1d13f 100644
--- a/res/values-tr/strings.xml
+++ b/res/values-tr/strings.xml
@@ -5397,6 +5397,14 @@
     <string name="power_menu_long_press_for_assist_summary" msgid="8251928804984560312">"Asistan\'ı güç düğmesine uzun basarak açın"</string>
     <string name="power_menu_power_volume_up_hint" msgid="1733051433583045623">"Güç ve Acil Durum Menüsü:\nGüç ve sesi artırma tuşlarına aynı anda basın."</string>
     <string name="power_menu_power_prevent_ringing_hint" msgid="5786494894009727654">"Zili çaldırmayı engelle:\nKısayol, ses düzeyi menüsünde mevcut."</string>
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_title (1626808509158422185) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_summary (7550610071666801935) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_low_label (3430099983480845635) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_high_label (2059686170350829156) -->
+    <skip />
     <string name="lockscreen_privacy_wallet_setting_toggle" msgid="4188327143734192000">"Cüzdanı göster"</string>
     <string name="lockscreen_privacy_wallet_summary" msgid="5388868513484652431">"Kilit ekranından ve hızlı ayarlardan cüzdana erişime izin verin"</string>
     <string name="lockscreen_privacy_controls_setting_toggle" msgid="7445725343949588613">"Cihaz denetimlerini göster"</string>
@@ -5537,6 +5545,9 @@
     <string name="sensor_toggle_description" msgid="8248823248606795411">"Tüm uygulamalar ve hizmetler için"</string>
     <string name="game_settings_title" msgid="1028178627743422090">"Oyun ayarları"</string>
     <string name="game_settings_summary" msgid="2548056479103747555">"Oyun Paneli kısayolu gibi işlevleri açın"</string>
+    <string name="previous_page_content_description" msgid="6438292457923282991">"Önceki"</string>
+    <string name="next_page_content_description" msgid="1641835099813416294">"Sonraki"</string>
+    <string name="colors_viewpager_content_description" msgid="2591751086138259565">"Renk önizleme"</string>
     <string name="bluetooth_sim_card_access_notification_title" msgid="5217037846900908318">"SIM karta erişim isteği"</string>
     <string name="bluetooth_sim_card_access_notification_content" msgid="6759306429895300286">"Bir cihaz SIM kartınıza erişmek istiyor. Ayrıntılar için dokunun."</string>
     <string name="bluetooth_sim_card_access_dialog_title" msgid="4486768729352090174">"SIM karta erişime izin verilsin mi?"</string>
diff --git a/res/values-uk/strings.xml b/res/values-uk/strings.xml
index 6a1cd3d..8c8ad4b 100644
--- a/res/values-uk/strings.xml
+++ b/res/values-uk/strings.xml
@@ -5575,6 +5575,14 @@
     <string name="power_menu_long_press_for_assist_summary" msgid="8251928804984560312">"Асистент активується, коли ви утримуєте кнопку живлення"</string>
     <string name="power_menu_power_volume_up_hint" msgid="1733051433583045623">"Меню кнопки живлення й екстрених викликів:\nНатисніть одночасно кнопки живлення й збільшення гучності."</string>
     <string name="power_menu_power_prevent_ringing_hint" msgid="5786494894009727654">"Вимкнути звук дзвінка:\nШвидкий запуск функції доступний у меню налаштування гучності."</string>
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_title (1626808509158422185) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_summary (7550610071666801935) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_low_label (3430099983480845635) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_high_label (2059686170350829156) -->
+    <skip />
     <string name="lockscreen_privacy_wallet_setting_toggle" msgid="4188327143734192000">"Показати гаманець"</string>
     <string name="lockscreen_privacy_wallet_summary" msgid="5388868513484652431">"Дозволити доступ до гаманця із заблокованого екрана та швидких налаштувань"</string>
     <string name="lockscreen_privacy_controls_setting_toggle" msgid="7445725343949588613">"Показувати елементи керування пристроями"</string>
@@ -5715,6 +5723,9 @@
     <string name="sensor_toggle_description" msgid="8248823248606795411">"Для всіх додатків і сервісів"</string>
     <string name="game_settings_title" msgid="1028178627743422090">"Налаштування ігор"</string>
     <string name="game_settings_summary" msgid="2548056479103747555">"Увімкнути ярлик ігрової панелі тощо"</string>
+    <string name="previous_page_content_description" msgid="6438292457923282991">"Назад"</string>
+    <string name="next_page_content_description" msgid="1641835099813416294">"Далі"</string>
+    <string name="colors_viewpager_content_description" msgid="2591751086138259565">"Попередній перегляд кольору"</string>
     <string name="bluetooth_sim_card_access_notification_title" msgid="5217037846900908318">"Запити на доступ до SIM-карти"</string>
     <string name="bluetooth_sim_card_access_notification_content" msgid="6759306429895300286">"Пристрій хоче отримати доступ до SIM-карти. Натисніть, щоб дізнатися більше."</string>
     <string name="bluetooth_sim_card_access_dialog_title" msgid="4486768729352090174">"Дозволити доступ до SIM-карти?"</string>
diff --git a/res/values-ur/strings.xml b/res/values-ur/strings.xml
index 5f5c929..196a21c 100644
--- a/res/values-ur/strings.xml
+++ b/res/values-ur/strings.xml
@@ -5397,6 +5397,14 @@
     <string name="power_menu_long_press_for_assist_summary" msgid="8251928804984560312">"پاور بٹن کو دبائے رکھ کر اسسٹنٹ کو متحرک کریں"</string>
     <string name="power_menu_power_volume_up_hint" msgid="1733051433583045623">"پاور اور ایمرجنسی مینو:\nایک ہی وقت میں پاور اور والیوم بڑھانے کا بٹن دبائیں۔"</string>
     <string name="power_menu_power_prevent_ringing_hint" msgid="5786494894009727654">"گھنٹی بجنے کو روکیں:\nوالیوم مینو میں شارٹ کٹ دستیاب ہے۔"</string>
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_title (1626808509158422185) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_summary (7550610071666801935) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_low_label (3430099983480845635) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_high_label (2059686170350829156) -->
+    <skip />
     <string name="lockscreen_privacy_wallet_setting_toggle" msgid="4188327143734192000">"والٹ دکھائیں"</string>
     <string name="lockscreen_privacy_wallet_summary" msgid="5388868513484652431">"مقفل اسکرین اور فوری ترتیبات سے بٹوے تک رسائی کی اجازت دیں"</string>
     <string name="lockscreen_privacy_controls_setting_toggle" msgid="7445725343949588613">"آلے کے کنٹرولز دکھائیں"</string>
@@ -5537,6 +5545,9 @@
     <string name="sensor_toggle_description" msgid="8248823248606795411">"تمام ایپس اور سروسز کے لیے"</string>
     <string name="game_settings_title" msgid="1028178627743422090">"گیم کی ترتیبات"</string>
     <string name="game_settings_summary" msgid="2548056479103747555">"گیم ڈیش بورڈ شارٹ کٹ آن کریں، وغیرہ"</string>
+    <string name="previous_page_content_description" msgid="6438292457923282991">"پچھلا"</string>
+    <string name="next_page_content_description" msgid="1641835099813416294">"اگلا"</string>
+    <string name="colors_viewpager_content_description" msgid="2591751086138259565">"رنگ کا پیش منظر"</string>
     <string name="bluetooth_sim_card_access_notification_title" msgid="5217037846900908318">"‏SIM کارڈ تک رسائی کی درخواست"</string>
     <string name="bluetooth_sim_card_access_notification_content" msgid="6759306429895300286">"‏ایک آلہ آپ کے SIM کارڈ تک رسائی حاصل کرنا چاہتا ہے۔ تفصیلات کے ليے تھپتھپائيں۔"</string>
     <string name="bluetooth_sim_card_access_dialog_title" msgid="4486768729352090174">"‏SIM کارڈ تک رسائی کی اجازت دیں؟"</string>
diff --git a/res/values-uz/strings.xml b/res/values-uz/strings.xml
index c61d49a..fbebf3a 100644
--- a/res/values-uz/strings.xml
+++ b/res/values-uz/strings.xml
@@ -5399,6 +5399,14 @@
     <string name="power_menu_long_press_for_assist_summary" msgid="8251928804984560312">"Assistentni ochish uchun quvvat tugmasini bosib turing"</string>
     <string name="power_menu_power_volume_up_hint" msgid="1733051433583045623">"Quvvat va favqulodda chaqiruvlar tugmasi menyusi:\nBir vaqtda quvvat va tovushni balandlatish.tugmalarini bosib turing."</string>
     <string name="power_menu_power_prevent_ringing_hint" msgid="5786494894009727654">"Chaqiruv ovozini oʻchirish:\nTovush menyusida tezkor ishga tushirish funksiyasi mavjud."</string>
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_title (1626808509158422185) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_summary (7550610071666801935) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_low_label (3430099983480845635) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_high_label (2059686170350829156) -->
+    <skip />
     <string name="lockscreen_privacy_wallet_setting_toggle" msgid="4188327143734192000">"Hamyonni chiqarish"</string>
     <string name="lockscreen_privacy_wallet_summary" msgid="5388868513484652431">"Ekran qulfi va tezkor sozlamalardan hamyonga kirish uchun ruxsat bering"</string>
     <string name="lockscreen_privacy_controls_setting_toggle" msgid="7445725343949588613">"Qurilma boshqaruv elementlarini chiqarish"</string>
@@ -5539,6 +5547,9 @@
     <string name="sensor_toggle_description" msgid="8248823248606795411">"Barcha ilovalar va xizmatlar uchun"</string>
     <string name="game_settings_title" msgid="1028178627743422090">"Oʻyin sozlamalari"</string>
     <string name="game_settings_summary" msgid="2548056479103747555">"Oʻyinlar boshqaruv paneli va boshqa yorliqlarni yoqish"</string>
+    <string name="previous_page_content_description" msgid="6438292457923282991">"Avvalgisi"</string>
+    <string name="next_page_content_description" msgid="1641835099813416294">"Keyingisi"</string>
+    <string name="colors_viewpager_content_description" msgid="2591751086138259565">"Ranglarga razm solish"</string>
     <string name="bluetooth_sim_card_access_notification_title" msgid="5217037846900908318">"SIM kartaga ruxsat soʻrovi"</string>
     <string name="bluetooth_sim_card_access_notification_content" msgid="6759306429895300286">"Qurilma SIM kartangizga ruxsat olmoqchi. Batafsil."</string>
     <string name="bluetooth_sim_card_access_dialog_title" msgid="4486768729352090174">"SIM kartaga ruxsat berilsinmi?"</string>
diff --git a/res/values-vi/strings.xml b/res/values-vi/strings.xml
index eb1c907..f744688 100644
--- a/res/values-vi/strings.xml
+++ b/res/values-vi/strings.xml
@@ -5399,6 +5399,14 @@
     <string name="power_menu_long_press_for_assist_summary" msgid="8251928804984560312">"Giữ nút nguồn để kích hoạt Trợ lý"</string>
     <string name="power_menu_power_volume_up_hint" msgid="1733051433583045623">"Trình đơn nguồn và Trình đơn khẩn cấp:\nNhấn đồng thời Nút nguồn và Nút tăng âm lượng."</string>
     <string name="power_menu_power_prevent_ringing_hint" msgid="5786494894009727654">"Ngăn đổ chuông:\nPhím tắt có sẵn trong trình đơn âm lượng."</string>
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_title (1626808509158422185) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_summary (7550610071666801935) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_low_label (3430099983480845635) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_high_label (2059686170350829156) -->
+    <skip />
     <string name="lockscreen_privacy_wallet_setting_toggle" msgid="4188327143734192000">"Hiện ví"</string>
     <string name="lockscreen_privacy_wallet_summary" msgid="5388868513484652431">"Cho phép truy cập vào ví từ màn hình khóa và phần cài đặt nhanh"</string>
     <string name="lockscreen_privacy_controls_setting_toggle" msgid="7445725343949588613">"Hiện các nút điều khiển thiết bị"</string>
@@ -5539,6 +5547,9 @@
     <string name="sensor_toggle_description" msgid="8248823248606795411">"Đối với tất cả các ứng dụng và dịch vụ"</string>
     <string name="game_settings_title" msgid="1028178627743422090">"Cài đặt trò chơi"</string>
     <string name="game_settings_summary" msgid="2548056479103747555">"Bật lối tắt trên Trang tổng quan trò chơi, v.v."</string>
+    <string name="previous_page_content_description" msgid="6438292457923282991">"Trước"</string>
+    <string name="next_page_content_description" msgid="1641835099813416294">"Tiếp theo"</string>
+    <string name="colors_viewpager_content_description" msgid="2591751086138259565">"Xem trước màu"</string>
     <string name="bluetooth_sim_card_access_notification_title" msgid="5217037846900908318">"Yêu cầu truy cập vào thẻ SIM"</string>
     <string name="bluetooth_sim_card_access_notification_content" msgid="6759306429895300286">"Một thiết bị muốn truy cập vào thẻ SIM của bạn. Hãy nhấn để xem thông tin chi tiết."</string>
     <string name="bluetooth_sim_card_access_dialog_title" msgid="4486768729352090174">"Cho phép truy cập vào thẻ SIM?"</string>
diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml
index 28431a8..f2373aa 100644
--- a/res/values-zh-rCN/strings.xml
+++ b/res/values-zh-rCN/strings.xml
@@ -5397,6 +5397,14 @@
     <string name="power_menu_long_press_for_assist_summary" msgid="8251928804984560312">"长按电源按钮即可启动 Google 助理"</string>
     <string name="power_menu_power_volume_up_hint" msgid="1733051433583045623">"“电源和急救信息”菜单：\n同时按电源按钮和音量调高按钮。"</string>
     <string name="power_menu_power_prevent_ringing_hint" msgid="5786494894009727654">"阻止响铃：\n音量菜单中提供了快捷方式。"</string>
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_title (1626808509158422185) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_summary (7550610071666801935) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_low_label (3430099983480845635) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_high_label (2059686170350829156) -->
+    <skip />
     <string name="lockscreen_privacy_wallet_setting_toggle" msgid="4188327143734192000">"显示电子钱包"</string>
     <string name="lockscreen_privacy_wallet_summary" msgid="5388868513484652431">"允许从锁定屏幕和快捷设置使用电子钱包"</string>
     <string name="lockscreen_privacy_controls_setting_toggle" msgid="7445725343949588613">"显示设备控制器"</string>
@@ -5537,6 +5545,9 @@
     <string name="sensor_toggle_description" msgid="8248823248606795411">"适用于所有应用和服务"</string>
     <string name="game_settings_title" msgid="1028178627743422090">"游戏设置"</string>
     <string name="game_settings_summary" msgid="2548056479103747555">"开启游戏信息中心快捷方式等"</string>
+    <string name="previous_page_content_description" msgid="6438292457923282991">"上一页"</string>
+    <string name="next_page_content_description" msgid="1641835099813416294">"下一页"</string>
+    <string name="colors_viewpager_content_description" msgid="2591751086138259565">"颜色预览"</string>
     <string name="bluetooth_sim_card_access_notification_title" msgid="5217037846900908318">"SIM 卡访问请求"</string>
     <string name="bluetooth_sim_card_access_notification_content" msgid="6759306429895300286">"有一部设备想访问您的 SIM 卡。点按可了解详情。"</string>
     <string name="bluetooth_sim_card_access_dialog_title" msgid="4486768729352090174">"要允许访问 SIM 卡吗？"</string>
diff --git a/res/values-zh-rHK/strings.xml b/res/values-zh-rHK/strings.xml
index 55f8db2..5ec0387 100644
--- a/res/values-zh-rHK/strings.xml
+++ b/res/values-zh-rHK/strings.xml
@@ -5400,6 +5400,14 @@
     <string name="power_menu_long_press_for_assist_summary" msgid="8251928804984560312">"按住開關按鈕即可啟動「Google 助理」"</string>
     <string name="power_menu_power_volume_up_hint" msgid="1733051433583045623">"電源和緊急選單：\n同時按下「電源」和「調高音量」。"</string>
     <string name="power_menu_power_prevent_ringing_hint" msgid="5786494894009727654">"暫停響鈴：\n音量選單提供快速鍵。"</string>
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_title (1626808509158422185) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_summary (7550610071666801935) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_low_label (3430099983480845635) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_high_label (2059686170350829156) -->
+    <skip />
     <string name="lockscreen_privacy_wallet_setting_toggle" msgid="4188327143734192000">"顯示電子錢包"</string>
     <string name="lockscreen_privacy_wallet_summary" msgid="5388868513484652431">"允許在上鎖畫面和快速設定使用電子錢包"</string>
     <string name="lockscreen_privacy_controls_setting_toggle" msgid="7445725343949588613">"顯示裝置控制"</string>
@@ -5540,6 +5548,9 @@
     <string name="sensor_toggle_description" msgid="8248823248606795411">"所有應用程式和服務"</string>
     <string name="game_settings_title" msgid="1028178627743422090">"遊戲設定"</string>
     <string name="game_settings_summary" msgid="2548056479103747555">"開啟遊戲資訊主頁捷徑等等"</string>
+    <string name="previous_page_content_description" msgid="6438292457923282991">"返回"</string>
+    <string name="next_page_content_description" msgid="1641835099813416294">"繼續"</string>
+    <string name="colors_viewpager_content_description" msgid="2591751086138259565">"顏色預覽"</string>
     <string name="bluetooth_sim_card_access_notification_title" msgid="5217037846900908318">"SIM 卡存取要求"</string>
     <string name="bluetooth_sim_card_access_notification_content" msgid="6759306429895300286">"有裝置想存取 SIM 卡。輕按即可瞭解詳情。"</string>
     <string name="bluetooth_sim_card_access_dialog_title" msgid="4486768729352090174">"要允許存取 SIM 卡嗎？"</string>
diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml
index 894a63c..1b4ef12 100644
--- a/res/values-zh-rTW/strings.xml
+++ b/res/values-zh-rTW/strings.xml
@@ -5399,6 +5399,14 @@
     <string name="power_menu_long_press_for_assist_summary" msgid="8251928804984560312">"按住電源按鈕一段時間即可啟動 Google 助理"</string>
     <string name="power_menu_power_volume_up_hint" msgid="1733051433583045623">"電源按鈕和緊急功能選單：\n同時按下電源鍵和調高音量鍵。"</string>
     <string name="power_menu_power_prevent_ringing_hint" msgid="5786494894009727654">"暫停響鈴：\n音量按鈕選單裡有這項功能的捷徑。"</string>
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_title (1626808509158422185) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_summary (7550610071666801935) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_low_label (3430099983480845635) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_high_label (2059686170350829156) -->
+    <skip />
     <string name="lockscreen_privacy_wallet_setting_toggle" msgid="4188327143734192000">"顯示電子錢包"</string>
     <string name="lockscreen_privacy_wallet_summary" msgid="5388868513484652431">"允許從螢幕鎖定畫面和快速設定選單中使用電子錢包"</string>
     <string name="lockscreen_privacy_controls_setting_toggle" msgid="7445725343949588613">"顯示裝置控制"</string>
@@ -5539,6 +5547,9 @@
     <string name="sensor_toggle_description" msgid="8248823248606795411">"適用於所有應用程式和服務"</string>
     <string name="game_settings_title" msgid="1028178627743422090">"遊戲設定"</string>
     <string name="game_settings_summary" msgid="2548056479103747555">"開啟遊戲資訊主頁捷徑等等"</string>
+    <string name="previous_page_content_description" msgid="6438292457923282991">"返回"</string>
+    <string name="next_page_content_description" msgid="1641835099813416294">"繼續"</string>
+    <string name="colors_viewpager_content_description" msgid="2591751086138259565">"顏色預覽"</string>
     <string name="bluetooth_sim_card_access_notification_title" msgid="5217037846900908318">"SIM 卡存取要求"</string>
     <string name="bluetooth_sim_card_access_notification_content" msgid="6759306429895300286">"有裝置想要存取 SIM 卡。輕觸即可瞭解詳情。"</string>
     <string name="bluetooth_sim_card_access_dialog_title" msgid="4486768729352090174">"要允許存取 SIM 卡嗎？"</string>
diff --git a/res/values-zu/strings.xml b/res/values-zu/strings.xml
index 8ac190d..f7f22b5 100644
--- a/res/values-zu/strings.xml
+++ b/res/values-zu/strings.xml
@@ -5398,6 +5398,14 @@
     <string name="power_menu_long_press_for_assist_summary" msgid="8251928804984560312">"Cupha Umsizi ngokubamba inkinobho yamandla"</string>
     <string name="power_menu_power_volume_up_hint" msgid="1733051433583045623">"Imenyu Yamandla Nesimo Esiphuthumayo:\nCindezela Amandla Nevolumu Phezulu ngesikhathi esifanayo."</string>
     <string name="power_menu_power_prevent_ringing_hint" msgid="5786494894009727654">"Nqabela ukukhalisa:\nIsifushaniso sitholakala kwimenyu yevulumu."</string>
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_title (1626808509158422185) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_summary (7550610071666801935) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_low_label (3430099983480845635) -->
+    <skip />
+    <!-- no translation found for power_menu_long_press_for_assist_sensitivity_high_label (2059686170350829156) -->
+    <skip />
     <string name="lockscreen_privacy_wallet_setting_toggle" msgid="4188327143734192000">"Bonisa i-wallet"</string>
     <string name="lockscreen_privacy_wallet_summary" msgid="5388868513484652431">"Vumela ukufinyelela ku-wallet kusikrini sokukhiya namasethingi asheshayo"</string>
     <string name="lockscreen_privacy_controls_setting_toggle" msgid="7445725343949588613">"Bonisa izilawuli zensiza"</string>
@@ -5538,6 +5546,9 @@
     <string name="sensor_toggle_description" msgid="8248823248606795411">"Kwawo wonke ama-app namasevisi"</string>
     <string name="game_settings_title" msgid="1028178627743422090">"Amasethingi egeyimu"</string>
     <string name="game_settings_summary" msgid="2548056479103747555">"Vula isinqamuleli Sedeshibhodi Yegeyimu, njjl."</string>
+    <string name="previous_page_content_description" msgid="6438292457923282991">"Okwangaphambilini"</string>
+    <string name="next_page_content_description" msgid="1641835099813416294">"Okulandelayo"</string>
+    <string name="colors_viewpager_content_description" msgid="2591751086138259565">"Ukubuka kuqala umbala"</string>
     <string name="bluetooth_sim_card_access_notification_title" msgid="5217037846900908318">"Isicelo sokufinyelela se-SIM card"</string>
     <string name="bluetooth_sim_card_access_notification_content" msgid="6759306429895300286">"Idivayisi ifuna ukufinyelela i-SIM card yakho. Thepha ukuze uthole imininingwane"</string>
     <string name="bluetooth_sim_card_access_dialog_title" msgid="4486768729352090174">"Vumela ukufinyelela ku-SIM card?"</string>
diff --git a/res/values/dimens.xml b/res/values/dimens.xml
index 1b8179a..7a75883 100755
--- a/res/values/dimens.xml
+++ b/res/values/dimens.xml
@@ -437,7 +437,7 @@
     <dimen name="chartview_text_padding">6dp</dimen>
     <dimen name="chartview_divider_width">1dp</dimen>
     <dimen name="chartview_divider_height">4dp</dimen>
-    <dimen name="chartview_trapezoid_radius">3dp</dimen>
+    <dimen name="chartview_trapezoid_radius">5dp</dimen>
     <dimen name="chartview_trapezoid_margin_start">1dp</dimen>
     <dimen name="chartview_trapezoid_margin_bottom">2dp</dimen>
 </resources>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index df409db..1951718 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -6614,10 +6614,6 @@
     <string name="battery_system_usage_for">System usage for <xliff:g id="slot">%s</xliff:g></string>
     <!-- [CHAR_LIMIT=NONE] Battery app usage section header -->
     <string name="battery_app_usage_for">App usage for <xliff:g id="slot">%s</xliff:g></string>
-    <!-- [CHAR_LIMIT=NONE] Battery usage section header for a specific time slot -->
-    <string name="battery_usage_time_am">am</string>
-    <!-- [CHAR_LIMIT=NONE] Battery usage section header for a specific time slot -->
-    <string name="battery_usage_time_pm">pm</string>
     <!-- [CHAR_LIMIT=NONE] Battery usage item for total usage time less than a minute -->
     <string name="battery_usage_total_less_than_one_minute">Total: less than a min</string>
     <!-- [CHAR_LIMIT=NONE] Battery usage item for total background time less than a minute -->
@@ -13220,6 +13216,15 @@
     <!-- Power menu explanation where to find prevent ringing option. [CHAR LIMIT=NONE] -->
     <string name="power_menu_power_prevent_ringing_hint">Prevent ringing:\nShortcut available in the volume menu.</string>
 
+    <!-- Power menu title of the seekbar setting controlling duration of how long the power button must be held to invoke assistant. [CHAR LIMIT=NONE]-->
+    <string name="power_menu_long_press_for_assist_sensitivity_title">Press &amp; hold duration</string>
+    <!-- Power menu summary of the seekbar setting controlling duration of how long the power button must be held to invoke assistant. [CHAR LIMIT=NONE]-->
+    <string name="power_menu_long_press_for_assist_sensitivity_summary">Adjust sensitivity by choosing how long to press &amp; hold the power button</string>
+    <!-- Label at the lowest end of duration slider for long press power invocation of assistant. [CHAR LIMIT=30] -->
+    <string name="power_menu_long_press_for_assist_sensitivity_low_label">Short</string>
+    <!-- Label at the highest end of duration slider for long press power invocation of assistant. [CHAR LIMIT=30] -->
+    <string name="power_menu_long_press_for_assist_sensitivity_high_label">Long</string>
+
     <!-- Wallet (formerly Cards and passes) toggle name [CHAR LIMIT=60] -->
     <string name="lockscreen_privacy_wallet_setting_toggle">Show wallet</string>
     <!-- Wallet (formerly Cards and passes) summary [CHAR LIMIT=NONE] -->
@@ -13323,8 +13328,6 @@
     <string name="calls_sms_no_sim">No SIM</string>
     <!-- Network & internet preferences title [CHAR LIMIT=NONE] -->
     <string name="network_and_internet_preferences_title">Network preferences</string>
-    <!-- Network & internet preferences summary [CHAR LIMIT=NONE] -->
-    <string name="network_and_internet_preferences_summary">Connect to public networks</string>
     <!-- Search keywords for "Internet" settings [CHAR_LIMIT=NONE] -->
     <string name="keywords_internet">network connection, internet, wireless, data, wifi, wi-fi, wi fi, cellular, mobile, cell carrier, 4g, 3g, 2g, lte</string>
     <!-- Slice title text for turning on the Wi-Fi networks. [CHAR LIMIT=40] -->
@@ -13357,8 +13360,10 @@
     <string name="carrier_wifi_network_title">W+ network</string>
     <!-- Provider Model: title of SIM category -->
     <string name="sim_category_title">SIM</string>
-    <!-- Provider Model: title of Downloaded category. [CHAR LIMIT=50] -->
+    <!-- Provider Model: title of Downloaded SIM category. [CHAR LIMIT=50] -->
     <string name="downloaded_sim_category_title">DOWNLOADED SIM</string>
+    <!-- Provider Model: title of Downloaded SIMs category. [CHAR LIMIT=50] -->
+    <string name="downloaded_sims_category_title">DOWNLOADED SIMS</string>
     <!-- Provider Model: summary of Active in SIM category. [CHAR LIMIT=50] -->
     <string name="sim_category_active_sim">Active</string>
     <!-- Provider Model: summary of Inactive in SIM category. [CHAR LIMIT=50] -->
@@ -13542,6 +13547,15 @@
     <!-- Summary for Game settings entry. [CHAR_LIMIT=NONE] -->
     <string name="game_settings_summary">Turn on Game Dashboard shortcut, etc</string>
 
+    <!-- Content description of the previous button to bring user to the previous preview page. -->
+    <string name="previous_page_content_description">Previous</string>
+
+    <!-- Content description of the next button to bring user to the next preview page. -->
+    <string name="next_page_content_description">Next</string>
+
+    <!-- Content description of preview pager in colors preview -->
+    <string name="colors_viewpager_content_description">Color preview</string>
+
     <!-- Bluetooth sim card permission alert for notification title [CHAR LIMIT=none] -->
     <string name="bluetooth_sim_card_access_notification_title">SIM card access request</string>
     <!-- Bluetooth sim card permission alert for notification content [CHAR LIMIT=none] -->
diff --git a/res/xml/connected_devices_advanced.xml b/res/xml/connected_devices_advanced.xml
index 3ff7d99..85e4a76 100644
--- a/res/xml/connected_devices_advanced.xml
+++ b/res/xml/connected_devices_advanced.xml
@@ -65,6 +65,13 @@
         android:icon="@drawable/ic_folder_vd_theme_24"
         android:title="@string/bluetooth_show_files_received_via_bluetooth"/>
 
+    <SwitchPreference
+        android:key="uwb_settings"
+        android:title="@string/uwb_settings_title"
+        android:order="100"
+        android:summary="@string/summary_placeholder"
+        settings:controller="com.android.settings.uwb.UwbPreferenceController"/>
+
     <PreferenceCategory
         android:key="dashboard_tile_placeholder"
         android:order="-8"/>
diff --git a/res/xml/development_settings.xml b/res/xml/development_settings.xml
index 6213516..a0d670f 100644
--- a/res/xml/development_settings.xml
+++ b/res/xml/development_settings.xml
@@ -109,11 +109,6 @@
             android:title="@string/color_temperature"
             android:summary="@string/color_temperature_desc" />
 
-        <SwitchPreference
-            android:key="ota_disable_automatic_update"
-            android:title="@string/ota_disable_automatic_update"
-            android:summary="@string/ota_disable_automatic_update_summary" />
-
         <Preference android:key="dsu_loader"
                     android:title="@string/dsu_loader_title" />
 
diff --git a/res/xml/network_provider_settings.xml b/res/xml/network_provider_settings.xml
index 9e8befa..9cab924 100644
--- a/res/xml/network_provider_settings.xml
+++ b/res/xml/network_provider_settings.xml
@@ -70,7 +70,6 @@
     <Preference
         android:key="configure_wifi_settings"
         android:title="@string/network_and_internet_preferences_title"
-        android:summary="@string/network_and_internet_preferences_summary"
         settings:allowDividerAbove="true"
         android:fragment="com.android.settings.wifi.ConfigureWifiSettings"/>
 
diff --git a/res/xml/power_menu_settings.xml b/res/xml/power_menu_settings.xml
index caaeb97..121a2da 100644
--- a/res/xml/power_menu_settings.xml
+++ b/res/xml/power_menu_settings.xml
@@ -22,11 +22,21 @@
         android:title="@string/power_menu_long_press_for_assist"
         android:summary="@string/power_menu_long_press_for_assist_summary"
         settings:controller="com.android.settings.gestures.LongPressPowerButtonPreferenceController"
-        />
+    />
+
+    <com.android.settings.widget.LabeledSeekBarPreference
+        android:key="gesture_power_menu_long_press_for_assist_sensitivity"
+        android:title="@string/power_menu_long_press_for_assist_sensitivity_title"
+        android:summary="@string/power_menu_long_press_for_assist_sensitivity_summary"
+        android:selectable="true"
+        settings:textStart="@string/power_menu_long_press_for_assist_sensitivity_low_label"
+        settings:textEnd="@string/power_menu_long_press_for_assist_sensitivity_high_label"
+        settings:controller="com.android.settings.gestures.LongPressPowerSensitivityPreferenceController"
+    />
 
     <com.android.settingslib.widget.FooterPreference
         android:key="power_menu_power_volume_up_hint"
         android:title="@string/power_menu_power_volume_up_hint"
         android:selectable="false"
-        settings:searchable="false" />
+        settings:searchable="false"/>
 </PreferenceScreen>
diff --git a/res/xml/system_dashboard_fragment.xml b/res/xml/system_dashboard_fragment.xml
index 9228ddd..21a5c15 100644
--- a/res/xml/system_dashboard_fragment.xml
+++ b/res/xml/system_dashboard_fragment.xml
@@ -65,6 +65,14 @@
         <intent android:action="android.settings.SYSTEM_UPDATE_SETTINGS"/>
     </Preference>
 
+    <SwitchPreference
+        android:key="ota_disable_automatic_update"
+        android:title="@string/ota_disable_automatic_update"
+        android:summary="@string/ota_disable_automatic_update_summary"
+        android:icon="@drawable/ic_system_update"
+        android:order="-57"
+        settings:controller="com.android.settings.system.DisableAutomaticUpdatesPreferenceController"/>
+
     <Preference
         android:key="reset_dashboard"
         android:title="@string/reset_dashboard_title"
diff --git a/src/com/android/settings/Settings.java b/src/com/android/settings/Settings.java
index 404207d..cc9542b 100644
--- a/src/com/android/settings/Settings.java
+++ b/src/com/android/settings/Settings.java
@@ -90,6 +90,8 @@
     public static class WifiSettingsActivity extends SettingsActivity { /* empty */ }
     public static class WifiSettings2Activity extends SettingsActivity { /* empty */ }
     public static class NetworkProviderSettingsActivity extends SettingsActivity { /* empty */ }
+    /** Activity for the Wi-Fi network details settings. */
+    public static class WifiDetailsSettingsActivity extends SettingsActivity { /* empty */ }
     public static class WifiP2pSettingsActivity extends SettingsActivity { /* empty */ }
     public static class AvailableVirtualKeyboardActivity extends SettingsActivity { /* empty */ }
     public static class KeyboardLayoutPickerActivity extends SettingsActivity { /* empty */ }
diff --git a/src/com/android/settings/core/gateway/SettingsGateway.java b/src/com/android/settings/core/gateway/SettingsGateway.java
index d0fb7ab..458aadb 100644
--- a/src/com/android/settings/core/gateway/SettingsGateway.java
+++ b/src/com/android/settings/core/gateway/SettingsGateway.java
@@ -159,6 +159,7 @@
 import com.android.settings.wifi.WifiSettings;
 import com.android.settings.wifi.calling.WifiCallingDisclaimerFragment;
 import com.android.settings.wifi.calling.WifiCallingSettings;
+import com.android.settings.wifi.details.WifiNetworkDetailsFragment;
 import com.android.settings.wifi.p2p.WifiP2pSettings;
 import com.android.settings.wifi.savedaccesspoints2.SavedAccessPointsWifiSettings2;
 import com.android.settings.wifi.tether.WifiTetherSettings;
@@ -173,6 +174,7 @@
             AdvancedConnectedDeviceDashboardFragment.class.getName(),
             CreateShortcut.class.getName(),
             WifiSettings.class.getName(),
+            WifiNetworkDetailsFragment.class.getName(),
             ConfigureWifiSettings.class.getName(),
             SavedAccessPointsWifiSettings2.class.getName(),
             AllInOneTetherSettings.class.getName(),
diff --git a/src/com/android/settings/development/DevelopmentSettingsDashboardFragment.java b/src/com/android/settings/development/DevelopmentSettingsDashboardFragment.java
index fbab1fd..10160a7 100644
--- a/src/com/android/settings/development/DevelopmentSettingsDashboardFragment.java
+++ b/src/com/android/settings/development/DevelopmentSettingsDashboardFragment.java
@@ -481,7 +481,6 @@
         controllers.add(new PictureColorModePreferenceController(context, lifecycle));
         controllers.add(new WebViewAppPreferenceController(context));
         controllers.add(new CoolColorTemperaturePreferenceController(context));
-        controllers.add(new DisableAutomaticUpdatesPreferenceController(context));
         controllers.add(new SelectDSUPreferenceController(context));
         controllers.add(new AdbPreferenceController(context, fragment));
         controllers.add(new ClearAdbKeysPreferenceController(context, fragment));
diff --git a/src/com/android/settings/development/DisableAutomaticUpdatesPreferenceController.java b/src/com/android/settings/development/DisableAutomaticUpdatesPreferenceController.java
deleted file mode 100644
index f10e171..0000000
--- a/src/com/android/settings/development/DisableAutomaticUpdatesPreferenceController.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * Copyright (C) 2017 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.development;
-
-import android.content.Context;
-import android.provider.Settings;
-
-import androidx.annotation.VisibleForTesting;
-import androidx.preference.Preference;
-import androidx.preference.SwitchPreference;
-
-import com.android.settings.core.PreferenceControllerMixin;
-import com.android.settingslib.development.DeveloperOptionsPreferenceController;
-
-public class DisableAutomaticUpdatesPreferenceController extends
-        DeveloperOptionsPreferenceController implements
-        Preference.OnPreferenceChangeListener, PreferenceControllerMixin {
-
-    private static final String OTA_DISABLE_AUTOMATIC_UPDATE_KEY = "ota_disable_automatic_update";
-
-    // We use the "disabled status" in code, but show the opposite text
-    // "Automatic system updates" on screen. So a value 0 indicates the
-    // automatic update is enabled.
-    @VisibleForTesting
-    final static int DISABLE_UPDATES_SETTING = 1;
-    @VisibleForTesting
-    final static int ENABLE_UPDATES_SETTING = 0;
-
-    public DisableAutomaticUpdatesPreferenceController(Context context) {
-        super(context);
-    }
-
-    @Override
-    public String getPreferenceKey() {
-        return OTA_DISABLE_AUTOMATIC_UPDATE_KEY;
-    }
-
-    @Override
-    public boolean onPreferenceChange(Preference preference, Object newValue) {
-        final boolean updatesEnabled = (Boolean) newValue;
-        Settings.Global.putInt(mContext.getContentResolver(),
-                Settings.Global.OTA_DISABLE_AUTOMATIC_UPDATE,
-                updatesEnabled ? ENABLE_UPDATES_SETTING : DISABLE_UPDATES_SETTING);
-        return true;
-    }
-
-    @Override
-    public void updateState(Preference preference) {
-        final int updatesEnabled = Settings.Global.getInt(mContext.getContentResolver(),
-                Settings.Global.OTA_DISABLE_AUTOMATIC_UPDATE, 0 /* default */);
-
-        ((SwitchPreference) mPreference).setChecked(updatesEnabled != DISABLE_UPDATES_SETTING);
-    }
-
-    @Override
-    protected void onDeveloperOptionsSwitchDisabled() {
-        super.onDeveloperOptionsSwitchDisabled();
-        Settings.Global.putInt(mContext.getContentResolver(),
-                Settings.Global.OTA_DISABLE_AUTOMATIC_UPDATE, DISABLE_UPDATES_SETTING);
-        ((SwitchPreference) mPreference).setChecked(false);
-    }
-}
diff --git a/src/com/android/settings/display/ColorModePreferenceFragment.java b/src/com/android/settings/display/ColorModePreferenceFragment.java
index b8fa0b9..ce33e67 100644
--- a/src/com/android/settings/display/ColorModePreferenceFragment.java
+++ b/src/com/android/settings/display/ColorModePreferenceFragment.java
@@ -28,12 +28,18 @@
 import android.graphics.drawable.Drawable;
 import android.hardware.display.ColorDisplayManager;
 import android.net.Uri;
+import android.os.Bundle;
 import android.os.Handler;
 import android.os.Looper;
 import android.provider.Settings.Secure;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.ImageView;
 
 import androidx.annotation.VisibleForTesting;
 import androidx.preference.PreferenceScreen;
+import androidx.viewpager.widget.PagerAdapter;
+import androidx.viewpager.widget.ViewPager;
 
 import com.android.settings.R;
 import com.android.settings.search.BaseSearchIndexProvider;
@@ -43,6 +49,7 @@
 import com.android.settingslib.widget.LayoutPreference;
 
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.List;
 import java.util.Map;
 
@@ -54,10 +61,25 @@
 
     private static final int COLOR_MODE_FALLBACK = COLOR_MODE_NATURAL;
 
+    static final String PAGE_VIEWER_SELECTION_INDEX = "page_viewer_selection_index";
+
+    private static final int DOT_INDICATOR_SIZE = 12;
+    private static final int DOT_INDICATOR_LEFT_PADDING = 6;
+    private static final int DOT_INDICATOR_RIGHT_PADDING = 6;
+
     private ContentObserver mContentObserver;
     private ColorDisplayManager mColorDisplayManager;
     private Resources mResources;
 
+    private View mViewArrowPrevious;
+    private View mViewArrowNext;
+    private ViewPager mViewPager;
+
+    private ArrayList<View> mPageList;
+
+    private ImageView[] mDotIndicators;
+    private View[] mViewPagerImages;
+
     @Override
     public void onAttach(Context context) {
         super.onAttach(context);
@@ -86,6 +108,16 @@
     }
 
     @Override
+    public void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        if (savedInstanceState != null) {
+            final int selectedPosition = savedInstanceState.getInt(PAGE_VIEWER_SELECTION_INDEX);
+            mViewPager.setCurrentItem(selectedPosition);
+            updateIndicator(selectedPosition);
+        }
+    }
+
+    @Override
     public void onDetach() {
         if (mContentObserver != null) {
             getContext().getContentResolver().unregisterContentObserver(mContentObserver);
@@ -95,6 +127,12 @@
     }
 
     @Override
+    public void onSaveInstanceState(Bundle outState){
+        super.onSaveInstanceState(outState);
+        outState.putInt(PAGE_VIEWER_SELECTION_INDEX, mViewPager.getCurrentItem());
+    }
+
+    @Override
     protected int getPreferenceScreenResId() {
         return R.xml.color_mode_settings;
     }
@@ -105,11 +143,69 @@
         screen.addPreference(preview);
     }
 
+    @VisibleForTesting
+    public ArrayList<Integer> getViewPagerResource() {
+        return new ArrayList<Integer>(
+                Arrays.asList(
+                        R.layout.color_mode_view1,
+                        R.layout.color_mode_view2,
+                        R.layout.color_mode_view3));
+    }
+
+    void addViewPager(LayoutPreference preview) {
+        final ArrayList<Integer> tmpviewPagerList = getViewPagerResource();
+        mViewPager = preview.findViewById(R.id.viewpager);
+
+        mViewPagerImages = new View[3];
+        for (int idx = 0; idx < tmpviewPagerList.size(); idx++) {
+            mViewPagerImages[idx] =
+                    getLayoutInflater().inflate(tmpviewPagerList.get(idx), null /* root */);
+        }
+
+        mPageList = new ArrayList<View>();
+        mPageList.add(mViewPagerImages[0]);
+        mPageList.add(mViewPagerImages[1]);
+        mPageList.add(mViewPagerImages[2]);
+
+        mViewPager.setAdapter(new ColorPagerAdapter(mPageList));
+
+        mViewArrowPrevious = preview.findViewById(R.id.arrow_previous);
+        mViewArrowPrevious.setOnClickListener(v -> {
+            final int previousPos = mViewPager.getCurrentItem() - 1;
+            mViewPager.setCurrentItem(previousPos, true);
+        });
+
+        mViewArrowNext = preview.findViewById(R.id.arrow_next);
+        mViewArrowNext.setOnClickListener(v -> {
+            final int nextPos = mViewPager.getCurrentItem() + 1;
+            mViewPager.setCurrentItem(nextPos, true);
+        });
+
+        mViewPager.addOnPageChangeListener(createPageListener());
+
+        final ViewGroup viewGroup = (ViewGroup) preview.findViewById(R.id.viewGroup);
+        mDotIndicators = new ImageView[mPageList.size()];
+        for (int i = 0; i < mPageList.size(); i++) {
+            final ImageView imageView = new ImageView(getContext());
+            final ViewGroup.MarginLayoutParams lp =
+                    new ViewGroup.MarginLayoutParams(DOT_INDICATOR_SIZE, DOT_INDICATOR_SIZE);
+            lp.setMargins(DOT_INDICATOR_LEFT_PADDING, 0, DOT_INDICATOR_RIGHT_PADDING, 0);
+            imageView.setLayoutParams(lp);
+            mDotIndicators[i] = imageView;
+
+            viewGroup.addView(mDotIndicators[i]);
+        }
+
+        updateIndicator(mViewPager.getCurrentItem());
+    }
+
     @Override
     protected void addStaticPreferences(PreferenceScreen screen) {
         final LayoutPreference preview = new LayoutPreference(screen.getContext(),
                 R.layout.color_mode_preview);
         configureAndInstallPreview(preview, screen);
+
+        addViewPager(preview);
     }
 
     @Override
@@ -207,6 +303,88 @@
         }
     }
 
+    private ViewPager.OnPageChangeListener createPageListener() {
+        return new ViewPager.OnPageChangeListener() {
+            @Override
+            public void onPageScrolled(
+                    int position, float positionOffset, int positionOffsetPixels) {
+                if (positionOffset != 0) {
+                    for (int idx = 0; idx < mPageList.size(); idx++) {
+                        mViewPagerImages[idx].setVisibility(View.VISIBLE);
+                    }
+                } else {
+                    mViewPagerImages[position].setContentDescription(
+                            getContext().getString(R.string.colors_viewpager_content_description));
+                    updateIndicator(position);
+                }
+            }
+
+            @Override
+            public void onPageSelected(int position) {}
+
+            @Override
+            public void onPageScrollStateChanged(int state) {}
+        };
+    }
+
+    private void updateIndicator(int position) {
+        for (int i = 0; i < mPageList.size(); i++) {
+            if (position == i) {
+                mDotIndicators[i].setBackgroundResource(
+                        R.drawable.ic_color_page_indicator_focused);
+
+                mViewPagerImages[i].setVisibility(View.VISIBLE);
+            } else {
+                mDotIndicators[i].setBackgroundResource(
+                        R.drawable.ic_color_page_indicator_unfocused);
+
+                mViewPagerImages[i].setVisibility(View.INVISIBLE);
+            }
+        }
+
+        if (position == 0) {
+            mViewArrowPrevious.setVisibility(View.INVISIBLE);
+            mViewArrowNext.setVisibility(View.VISIBLE);
+        } else if (position == (mPageList.size() - 1)) {
+            mViewArrowPrevious.setVisibility(View.VISIBLE);
+            mViewArrowNext.setVisibility(View.INVISIBLE);
+        } else {
+            mViewArrowPrevious.setVisibility(View.VISIBLE);
+            mViewArrowNext.setVisibility(View.VISIBLE);
+        }
+    }
+
+    static class ColorPagerAdapter extends PagerAdapter {
+        private final ArrayList<View> mPageViewList;
+
+        ColorPagerAdapter(ArrayList<View> pageViewList) {
+            mPageViewList = pageViewList;
+        }
+
+        @Override
+        public void destroyItem(ViewGroup container, int position, Object object) {
+            if (mPageViewList.get(position) != null) {
+                container.removeView(mPageViewList.get(position));
+            }
+        }
+
+        @Override
+        public Object instantiateItem(ViewGroup container, int position) {
+            container.addView(mPageViewList.get(position));
+            return mPageViewList.get(position);
+        }
+
+        @Override
+        public int getCount() {
+            return mPageViewList.size();
+        }
+
+        @Override
+        public boolean isViewFromObject(View view, Object object) {
+            return object == view;
+        }
+    }
+
     public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
             new BaseSearchIndexProvider(R.xml.color_mode_settings) {
 
diff --git a/src/com/android/settings/fuelgauge/BatteryChartView.java b/src/com/android/settings/fuelgauge/BatteryChartView.java
index a98c644..7bc60b2 100644
--- a/src/com/android/settings/fuelgauge/BatteryChartView.java
+++ b/src/com/android/settings/fuelgauge/BatteryChartView.java
@@ -57,7 +57,8 @@
         Arrays.asList("SwitchAccessService", "TalkBackService", "JustSpeakService");
 
     private static final int DEFAULT_TRAPEZOID_COUNT = 12;
-    private static final int DEFAULT_TIMESTAMP_COUNT = 5;
+    private static final int DEFAULT_TIMESTAMP_COUNT = 4;
+    private static final int TIMESTAMP_GAPS_COUNT = DEFAULT_TIMESTAMP_COUNT - 1;
     private static final int DIVIDER_COLOR = Color.parseColor("#CDCCC5");
     private static final long UPDATE_STATE_DELAYED_TIME = 500L;
 
@@ -91,7 +92,7 @@
         new Rect[] {new Rect(), new Rect(), new Rect()};
     // For drawing the timestamp information.
     private final Rect[] mTimestampsBounds =
-        new Rect[] {new Rect(), new Rect(), new Rect(), new Rect(), new Rect()};
+        new Rect[] {new Rect(), new Rect(), new Rect(), new Rect()};
 
     @VisibleForTesting
     Handler mHandler = new Handler();
@@ -198,13 +199,14 @@
         if (mTimestamps == null) {
             mTimestamps = new String[DEFAULT_TIMESTAMP_COUNT];
         }
-        final long timeSlotOffset = DateUtils.HOUR_IN_MILLIS * 6;
+        final long timeSlotOffset =
+            DateUtils.HOUR_IN_MILLIS * (/*total 24 hours*/ 24 / TIMESTAMP_GAPS_COUNT);
         final boolean is24HourFormat = DateFormat.is24HourFormat(getContext());
         for (int index = 0; index < DEFAULT_TIMESTAMP_COUNT; index++) {
             mTimestamps[index] =
                 ConvertUtils.utcToLocalTimeHour(
                     getContext(),
-                    latestTimestamp - (4 - index) * timeSlotOffset,
+                    latestTimestamp - (TIMESTAMP_GAPS_COUNT - index) * timeSlotOffset,
                     is24HourFormat);
         }
         requestLayout();
@@ -426,8 +428,9 @@
             final float[] xOffsets = new float[DEFAULT_TIMESTAMP_COUNT];
             final float baselineX = mDividerWidth * .5f;
             final float offsetX = mDividerWidth + unitWidth;
+            final int slotBarOffset = (/*total 12 bars*/ 12) / TIMESTAMP_GAPS_COUNT;
             for (int index = 0; index < DEFAULT_TIMESTAMP_COUNT; index++) {
-                xOffsets[index] = baselineX + index * offsetX * 3;
+                xOffsets[index] = baselineX + index * offsetX * slotBarOffset;
             }
             drawTimestamp(canvas, xOffsets);
         }
@@ -439,13 +442,15 @@
             mTimestamps[0],
             xOffsets[0] - mTimestampsBounds[0].left,
             getTimestampY(0), mTextPaint);
+        final int latestIndex = DEFAULT_TIMESTAMP_COUNT - 1;
         // Draws the last timestamp info.
         canvas.drawText(
-            mTimestamps[4],
-            xOffsets[4] - mTimestampsBounds[4].width() - mTimestampsBounds[4].left,
-            getTimestampY(4), mTextPaint);
+            mTimestamps[latestIndex],
+            xOffsets[latestIndex] - mTimestampsBounds[latestIndex].width()
+                    - mTimestampsBounds[latestIndex].left,
+            getTimestampY(latestIndex), mTextPaint);
         // Draws the rest of timestamp info since it is located in the center.
-        for (int index = 1; index <= 3; index++) {
+        for (int index = 1; index <= DEFAULT_TIMESTAMP_COUNT - 2; index++) {
             canvas.drawText(
                 mTimestamps[index],
                 xOffsets[index] -
diff --git a/src/com/android/settings/fuelgauge/ConvertUtils.java b/src/com/android/settings/fuelgauge/ConvertUtils.java
index 001e9e9..827ac92 100644
--- a/src/com/android/settings/fuelgauge/ConvertUtils.java
+++ b/src/com/android/settings/fuelgauge/ConvertUtils.java
@@ -19,6 +19,7 @@
 import android.os.BatteryUsageStats;
 import android.os.LocaleList;
 import android.os.UserHandle;
+import android.text.format.DateFormat;
 import android.text.format.DateUtils;
 import android.util.Log;
 
@@ -26,10 +27,8 @@
 
 import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
-import java.text.SimpleDateFormat;
 import java.time.Duration;
 import java.util.ArrayList;
-import java.util.Date;
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.Iterator;
@@ -76,19 +75,6 @@
     public static final int CONSUMER_TYPE_USER_BATTERY = 2;
     public static final int CONSUMER_TYPE_SYSTEM_BATTERY = 3;
 
-    // For language is changed.
-    @VisibleForTesting static Locale sLocale;
-    @VisibleForTesting static Locale sLocaleForHour;
-    // For time zone is changed.
-    @VisibleForTesting static String sZoneId;
-    @VisibleForTesting static String sZoneIdForHour;
-    private static boolean sIs24HourFormat;
-
-    @VisibleForTesting
-    static SimpleDateFormat sSimpleDateFormat;
-    @VisibleForTesting
-    static SimpleDateFormat sSimpleDateFormatForHour;
-
     private ConvertUtils() {}
 
     public static ContentValues convert(
@@ -136,36 +122,21 @@
 
     /** Converts UTC timestamp to human readable local time string. */
     public static String utcToLocalTime(Context context, long timestamp) {
-        final Locale currentLocale = getLocale(context);
-        final String currentZoneId = TimeZone.getDefault().getID();
-        if (!currentZoneId.equals(sZoneId)
-                || !currentLocale.equals(sLocale)
-                || sSimpleDateFormat == null) {
-            sLocale = currentLocale;
-            sZoneId = currentZoneId;
-            sSimpleDateFormat =
-                new SimpleDateFormat("MMM dd,yyyy HH:mm:ss", currentLocale);
-        }
-        return sSimpleDateFormat.format(new Date(timestamp));
+        final Locale locale = getLocale(context);
+        final String pattern =
+            DateFormat.getBestDateTimePattern(locale, "MMM dd,yyyy HH:mm:ss");
+        return DateFormat.format(pattern, timestamp).toString();
     }
 
     /** Converts UTC timestamp to local time hour data. */
     public static String utcToLocalTimeHour(
             Context context, long timestamp, boolean is24HourFormat) {
-        final Locale currentLocale = getLocale(context);
-        final String currentZoneId = TimeZone.getDefault().getID();
-        if (!currentZoneId.equals(sZoneIdForHour)
-                || !currentLocale.equals(sLocaleForHour)
-                || sIs24HourFormat != is24HourFormat
-                || sSimpleDateFormatForHour == null) {
-            sLocaleForHour = currentLocale;
-            sZoneIdForHour = currentZoneId;
-            sIs24HourFormat = is24HourFormat;
-            sSimpleDateFormatForHour = new SimpleDateFormat(
-                    sIs24HourFormat ? "HH" : "h", currentLocale);
-        }
-        return sSimpleDateFormatForHour.format(new Date(timestamp))
-            .toLowerCase(currentLocale);
+        final Locale locale = getLocale(context);
+        // e.g. for 12-hour format: 9 pm
+        // e.g. for 24-hour format: 09:00
+        final String skeleton = is24HourFormat ? "HHm" : "ha";
+        final String pattern = DateFormat.getBestDateTimePattern(locale, skeleton);
+        return DateFormat.format(pattern, timestamp).toString().toLowerCase(locale);
     }
 
     /** Gets indexed battery usage data for each corresponding time slot. */
diff --git a/src/com/android/settings/fuelgauge/RequestIgnoreBatteryOptimizations.java b/src/com/android/settings/fuelgauge/RequestIgnoreBatteryOptimizations.java
index f75fccc..7caad60 100644
--- a/src/com/android/settings/fuelgauge/RequestIgnoreBatteryOptimizations.java
+++ b/src/com/android/settings/fuelgauge/RequestIgnoreBatteryOptimizations.java
@@ -32,10 +32,11 @@
 
 public class RequestIgnoreBatteryOptimizations extends AlertActivity implements
         DialogInterface.OnClickListener {
-    static final String TAG = "RequestIgnoreBatteryOptimizations";
+    private static final String TAG = "RequestIgnoreBatteryOptimizations";
+    private static final boolean DEBUG = false;
 
     private PowerWhitelistManager mPowerWhitelistManager;
-    String mPackageName;
+    private String mPackageName;
 
     @Override
     public void onCreate(Bundle savedInstanceState) {
@@ -45,14 +46,14 @@
 
         Uri data = getIntent().getData();
         if (data == null) {
-            Log.w(TAG, "No data supplied for IGNORE_BATTERY_OPTIMIZATION_SETTINGS in: "
+            debugLog("No data supplied for IGNORE_BATTERY_OPTIMIZATION_SETTINGS in: "
                     + getIntent());
             finish();
             return;
         }
         mPackageName = data.getSchemeSpecificPart();
         if (mPackageName == null) {
-            Log.w(TAG, "No data supplied for IGNORE_BATTERY_OPTIMIZATION_SETTINGS in: "
+            debugLog("No data supplied for IGNORE_BATTERY_OPTIMIZATION_SETTINGS in: "
                     + getIntent());
             finish();
             return;
@@ -60,7 +61,7 @@
 
         PowerManager power = getSystemService(PowerManager.class);
         if (power.isIgnoringBatteryOptimizations(mPackageName)) {
-            Log.i(TAG, "Not should prompt, already ignoring optimizations: " + mPackageName);
+            debugLog("Not should prompt, already ignoring optimizations: " + mPackageName);
             finish();
             return;
         }
@@ -69,7 +70,7 @@
         try {
             ai = getPackageManager().getApplicationInfo(mPackageName, 0);
         } catch (PackageManager.NameNotFoundException e) {
-            Log.w(TAG, "Requested package doesn't exist: " + mPackageName);
+            debugLog("Requested package doesn't exist: " + mPackageName);
             finish();
             return;
         }
@@ -77,7 +78,7 @@
         if (getPackageManager().checkPermission(
                 Manifest.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS, mPackageName)
                 != PackageManager.PERMISSION_GRANTED) {
-            Log.w(TAG, "Requested package " + mPackageName + " does not hold permission "
+            debugLog("Requested package " + mPackageName + " does not hold permission "
                     + Manifest.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS);
             finish();
             return;
@@ -105,10 +106,13 @@
         switch (which) {
             case BUTTON_POSITIVE:
                 mPowerWhitelistManager.addToWhitelist(mPackageName);
-                setResult(RESULT_OK);
                 break;
             case BUTTON_NEGATIVE:
                 break;
         }
     }
+
+    private static void debugLog(String debugContent) {
+        if (DEBUG) Log.w(TAG, debugContent);
+    }
 }
diff --git a/src/com/android/settings/gestures/LongPressPowerButtonPreferenceController.java b/src/com/android/settings/gestures/LongPressPowerButtonPreferenceController.java
index a52be15..44494ee 100644
--- a/src/com/android/settings/gestures/LongPressPowerButtonPreferenceController.java
+++ b/src/com/android/settings/gestures/LongPressPowerButtonPreferenceController.java
@@ -16,6 +16,11 @@
 
 package com.android.settings.gestures;
 
+import static com.android.settings.gestures.PowerMenuSettingsUtils.LONG_PRESS_POWER_ASSISTANT_VALUE;
+import static com.android.settings.gestures.PowerMenuSettingsUtils.LONG_PRESS_POWER_GLOBAL_ACTIONS;
+import static com.android.settings.gestures.PowerMenuSettingsUtils.POWER_BUTTON_LONG_PRESS_DEFAULT_VALUE_RESOURCE;
+import static com.android.settings.gestures.PowerMenuSettingsUtils.POWER_BUTTON_LONG_PRESS_SETTING;
+
 import android.content.Context;
 import android.provider.Settings;
 
@@ -33,8 +38,6 @@
  */
 public class LongPressPowerButtonPreferenceController extends TogglePreferenceController {
 
-    private static final String POWER_BUTTON_LONG_PRESS_SETTING =
-            Settings.Global.POWER_BUTTON_LONG_PRESS;
     private static final String KEY_CHORD_POWER_VOLUME_UP_SETTING =
             Settings.Global.KEY_CHORD_POWER_VOLUME_UP;
 
@@ -42,19 +45,6 @@
     private static final String ASSIST_SWITCH_KEY = "gesture_power_menu_long_press_for_assist";
 
     /**
-     * Values used for long press power button behaviour when Assist setting is enabled.
-     *
-     * {@link com.android.server.policy.PhoneWindowManager#LONG_PRESS_POWER_GLOBAL_ACTIONS} for
-     * source of the value.
-     */
-    @VisibleForTesting
-    static final int LONG_PRESS_POWER_NO_ACTION = 0;
-    @VisibleForTesting
-    static final int LONG_PRESS_POWER_GLOBAL_ACTIONS = 1;
-    @VisibleForTesting
-    static final int LONG_PRESS_POWER_ASSISTANT_VALUE = 5; // Settings.Secure.ASSISTANT
-
-    /**
      * Values used for volume key chord behaviour when Assist setting is enabled.
      *
      * Values based on config_keyChordPowerVolumeUp in
@@ -67,15 +57,6 @@
     @VisibleForTesting
     static final int KEY_CHORD_POWER_VOLUME_UP_GLOBAL_ACTIONS = 2;
 
-    /**
-     * Value used for long press power button behaviour when the Assist setting is disabled.
-     *
-     * If this value matches Assist setting, then it falls back to Global Actions panel or
-     * power menu, depending on their respective settings.
-     */
-    private static final int POWER_BUTTON_LONG_PRESS_DEFAULT_VALUE_RESOURCE =
-            com.android.internal.R.integer.config_longPressOnPowerBehavior;
-
     private static final int KEY_CHORD_POWER_VOLUME_UP_DEFAULT_VALUE_RESOURCE =
             com.android.internal.R.integer.config_keyChordPowerVolumeUp;
 
@@ -101,7 +82,7 @@
 
     @Override
     public CharSequence getSummary() {
-        final int powerButtonValue = getPowerButtonValue();
+        final int powerButtonValue = PowerMenuSettingsUtils.getPowerButtonSettingValue(mContext);
         if (powerButtonValue == LONG_PRESS_POWER_ASSISTANT_VALUE) {
             return mContext.getString(R.string.power_menu_summary_long_press_for_assist_enabled);
         } else if (powerButtonValue == LONG_PRESS_POWER_GLOBAL_ACTIONS) {
@@ -122,7 +103,7 @@
 
     @Override
     public boolean isChecked() {
-        return getPowerButtonValue() == LONG_PRESS_POWER_ASSISTANT_VALUE;
+        return PowerMenuSettingsUtils.isLongPressPowerForAssistEnabled(mContext);
     }
 
     @Override
@@ -159,12 +140,6 @@
         }
     }
 
-    private int getPowerButtonValue() {
-        return Settings.Global.getInt(mContext.getContentResolver(),
-                POWER_BUTTON_LONG_PRESS_SETTING,
-                mContext.getResources().getInteger(POWER_BUTTON_LONG_PRESS_DEFAULT_VALUE_RESOURCE));
-    }
-
     private static boolean isPowerMenuKeyChordEnabled(Context context) {
         return Settings.Global.getInt(context.getContentResolver(),
                 KEY_CHORD_POWER_VOLUME_UP_SETTING,
diff --git a/src/com/android/settings/gestures/LongPressPowerSensitivityPreferenceController.java b/src/com/android/settings/gestures/LongPressPowerSensitivityPreferenceController.java
new file mode 100644
index 0000000..a1d681c
--- /dev/null
+++ b/src/com/android/settings/gestures/LongPressPowerSensitivityPreferenceController.java
@@ -0,0 +1,155 @@
+/*
+ * Copyright (C) 2021 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.gestures;
+
+import android.content.Context;
+import android.database.ContentObserver;
+import android.os.Handler;
+import android.provider.Settings;
+
+import androidx.annotation.Nullable;
+import androidx.preference.Preference;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.core.SliderPreferenceController;
+import com.android.settings.widget.LabeledSeekBarPreference;
+import com.android.settingslib.core.lifecycle.LifecycleObserver;
+import com.android.settingslib.core.lifecycle.events.OnStart;
+import com.android.settingslib.core.lifecycle.events.OnStop;
+
+/** Handles changes to the long press power button sensitivity slider. */
+public class LongPressPowerSensitivityPreferenceController extends
+        SliderPreferenceController implements
+        LifecycleObserver, OnStart, OnStop {
+
+    private final ContentObserver mPowerButtonObserver = new ContentObserver(Handler.getMain()) {
+        @Override
+        public void onChange(boolean selfChange) {
+            if (mPreference != null) {
+                updateState(mPreference);
+            }
+        }
+    };
+
+    @Nullable
+    private final int[] mSensitivityValues;
+
+    @Nullable
+    private LabeledSeekBarPreference mPreference;
+
+    public LongPressPowerSensitivityPreferenceController(Context context, String preferenceKey) {
+        super(context, preferenceKey);
+        mSensitivityValues = context.getResources().getIntArray(
+                com.android.internal.R.array.config_longPressOnPowerDurationSettings);
+    }
+
+    @Override
+    public void onStart() {
+        mContext.getContentResolver().registerContentObserver(
+                Settings.Global.getUriFor(PowerMenuSettingsUtils.POWER_BUTTON_LONG_PRESS_SETTING),
+                false, mPowerButtonObserver);
+    }
+
+    @Override
+    public void onStop() {
+        mContext.getContentResolver().unregisterContentObserver(mPowerButtonObserver);
+    }
+
+    @Override
+    public void displayPreference(PreferenceScreen screen) {
+        super.displayPreference(screen);
+        mPreference = screen.findPreference(getPreferenceKey());
+        if (mPreference != null) {
+            mPreference.setContinuousUpdates(false);
+            mPreference.setHapticFeedbackMode(
+                    LabeledSeekBarPreference.HAPTIC_FEEDBACK_MODE_ON_TICKS);
+            mPreference.setMin(getMin());
+            mPreference.setMax(getMax());
+        }
+    }
+
+    @Override
+    public void updateState(Preference preference) {
+        super.updateState(preference);
+        final LabeledSeekBarPreference pref = (LabeledSeekBarPreference) preference;
+        pref.setEnabled(
+                isAvailable() && PowerMenuSettingsUtils.isLongPressPowerForAssistEnabled(mContext));
+        pref.setProgress(getSliderPosition());
+    }
+
+    @Override
+    public int getAvailabilityStatus() {
+        if (mSensitivityValues == null || mSensitivityValues.length < 2) {
+            return UNSUPPORTED_ON_DEVICE;
+        }
+
+        if (!PowerMenuSettingsUtils.isLongPressPowerForAssistEnabled(mContext)) {
+            return DISABLED_DEPENDENT_SETTING;
+        }
+
+        return AVAILABLE;
+    }
+
+    @Override
+    public int getSliderPosition() {
+        return mSensitivityValues == null ? 0 : closestValueIndex(mSensitivityValues,
+                getCurrentSensitivityValue());
+    }
+
+    @Override
+    public boolean setSliderPosition(int position) {
+        if (mSensitivityValues == null || position < 0 || position >= mSensitivityValues.length) {
+            return false;
+        }
+        return Settings.Global.putInt(mContext.getContentResolver(),
+                Settings.Global.POWER_BUTTON_LONG_PRESS_DURATION_MS,
+                mSensitivityValues[position]);
+    }
+
+    @Override
+    public int getMax() {
+        if (mSensitivityValues == null || mSensitivityValues.length == 0) {
+            return 0;
+        }
+        return mSensitivityValues.length - 1;
+    }
+
+    @Override
+    public int getMin() {
+        return 0;
+    }
+
+    private int getCurrentSensitivityValue() {
+        return Settings.Global.getInt(mContext.getContentResolver(),
+                Settings.Global.POWER_BUTTON_LONG_PRESS_DURATION_MS,
+                mContext.getResources().getInteger(
+                        com.android.internal.R.integer.config_longPressOnPowerDurationMs));
+    }
+
+    private static int closestValueIndex(int[] values, int needle) {
+        int minDistance = Integer.MAX_VALUE;
+        int valueIndex = 0;
+        for (int i = 0; i < values.length; i++) {
+            int diff = Math.abs(values[i] - needle);
+            if (diff < minDistance) {
+                minDistance = diff;
+                valueIndex = i;
+            }
+        }
+        return valueIndex;
+    }
+}
diff --git a/src/com/android/settings/gestures/PowerMenuPreferenceController.java b/src/com/android/settings/gestures/PowerMenuPreferenceController.java
index 0d5f810..b4f97aa 100644
--- a/src/com/android/settings/gestures/PowerMenuPreferenceController.java
+++ b/src/com/android/settings/gestures/PowerMenuPreferenceController.java
@@ -16,30 +16,23 @@
 
 package com.android.settings.gestures;
 
-import android.content.Context;
-import android.provider.Settings;
+import static com.android.settings.gestures.PowerMenuSettingsUtils.LONG_PRESS_POWER_ASSISTANT_VALUE;
+import static com.android.settings.gestures.PowerMenuSettingsUtils.LONG_PRESS_POWER_GLOBAL_ACTIONS;
 
-import com.android.internal.annotations.VisibleForTesting;
+import android.content.Context;
+
 import com.android.settings.R;
 import com.android.settings.core.BasePreferenceController;
 
 public class PowerMenuPreferenceController extends BasePreferenceController {
 
-    private static final String POWER_BUTTON_LONG_PRESS_SETTING =
-            Settings.Global.POWER_BUTTON_LONG_PRESS;
-
-    @VisibleForTesting
-    static final int LONG_PRESS_POWER_GLOBAL_ACTIONS = 1;
-    @VisibleForTesting
-    static final int LONG_PRESS_POWER_ASSISTANT_VALUE = 5;
-
     public PowerMenuPreferenceController(Context context, String key) {
         super(context, key);
     }
 
     @Override
     public CharSequence getSummary() {
-        final int powerButtonValue = getPowerButtonLongPressValue(mContext);
+        final int powerButtonValue = PowerMenuSettingsUtils.getPowerButtonSettingValue(mContext);
         if (powerButtonValue == LONG_PRESS_POWER_ASSISTANT_VALUE) {
             return mContext.getText(R.string.power_menu_summary_long_press_for_assist_enabled);
         } else if (powerButtonValue == LONG_PRESS_POWER_GLOBAL_ACTIONS) {
@@ -60,11 +53,4 @@
         return mContext.getResources().getBoolean(
                 com.android.internal.R.bool.config_longPressOnPowerForAssistantSettingAvailable);
     }
-
-    private static int getPowerButtonLongPressValue(Context context) {
-        return Settings.Global.getInt(context.getContentResolver(),
-                POWER_BUTTON_LONG_PRESS_SETTING,
-                context.getResources().getInteger(
-                        com.android.internal.R.integer.config_longPressOnPowerBehavior));
-    }
 }
diff --git a/src/com/android/settings/gestures/PowerMenuSettingsUtils.java b/src/com/android/settings/gestures/PowerMenuSettingsUtils.java
new file mode 100644
index 0000000..444b7c1
--- /dev/null
+++ b/src/com/android/settings/gestures/PowerMenuSettingsUtils.java
@@ -0,0 +1,68 @@
+/*
+ * Copyright (C) 2021 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.gestures;
+
+import android.content.Context;
+import android.provider.Settings;
+
+/** Common code for long press power settings shared between controllers. */
+final class PowerMenuSettingsUtils {
+
+    /**
+     * Setting storing the current behaviour of long press power.
+     */
+    public static final String POWER_BUTTON_LONG_PRESS_SETTING =
+            Settings.Global.POWER_BUTTON_LONG_PRESS;
+
+    /**
+     * Value used for long press power button behaviour when the Assist setting is disabled.
+     *
+     * If this value matches Assist setting, then it falls back to Global Actions panel or
+     * power menu, depending on their respective settings.
+     */
+    public static final int POWER_BUTTON_LONG_PRESS_DEFAULT_VALUE_RESOURCE =
+            com.android.internal.R.integer.config_longPressOnPowerBehavior;
+
+    /**
+     * Values used for long press power button behaviour when Assist setting is enabled.
+     *
+     * {@link com.android.server.policy.PhoneWindowManager#LONG_PRESS_POWER_GLOBAL_ACTIONS} for
+     * source of the value.
+     */
+    static final int LONG_PRESS_POWER_NO_ACTION = 0;
+    static final int LONG_PRESS_POWER_GLOBAL_ACTIONS = 1;
+    static final int LONG_PRESS_POWER_ASSISTANT_VALUE = 5; // Settings.Secure.ASSISTANT
+
+    /**
+     * @return current value of power button behaviour.
+     */
+    public static int getPowerButtonSettingValue(Context context) {
+        return Settings.Global.getInt(context.getContentResolver(),
+                POWER_BUTTON_LONG_PRESS_SETTING,
+                context.getResources().getInteger(POWER_BUTTON_LONG_PRESS_DEFAULT_VALUE_RESOURCE));
+    }
+
+    /**
+     * @return true if long press power for assist is currently enabled.
+     */
+    public static boolean isLongPressPowerForAssistEnabled(Context context) {
+        return getPowerButtonSettingValue(context) == LONG_PRESS_POWER_ASSISTANT_VALUE;
+    }
+
+    private PowerMenuSettingsUtils() {
+    }
+}
diff --git a/src/com/android/settings/network/NetworkProviderCallsSmsController.java b/src/com/android/settings/network/NetworkProviderCallsSmsController.java
index f83418b..c8b1c49 100644
--- a/src/com/android/settings/network/NetworkProviderCallsSmsController.java
+++ b/src/com/android/settings/network/NetworkProviderCallsSmsController.java
@@ -24,6 +24,7 @@
 import android.telephony.SubscriptionInfo;
 import android.telephony.SubscriptionManager;
 import android.telephony.TelephonyManager;
+import android.view.View;
 
 import androidx.annotation.VisibleForTesting;
 import androidx.lifecycle.LifecycleObserver;
@@ -44,12 +45,14 @@
 
     private static final String TAG = "NetworkProviderCallsSmsController";
     private static final String KEY = "calls_and_sms";
+    private static final String RTL_MARK = "\u200F";
 
     private UserManager mUserManager;
     private SubscriptionManager mSubscriptionManager;
     private SubscriptionsChangeListener mSubscriptionsChangeListener;
     private TelephonyManager mTelephonyManager;
     private RestrictedPreference mPreference;
+    private boolean mIsRtlMode;
 
     /**
      * The summary text and click behavior of the "Calls & SMS" item on the
@@ -61,6 +64,8 @@
         mUserManager = context.getSystemService(UserManager.class);
         mSubscriptionManager = context.getSystemService(SubscriptionManager.class);
         mTelephonyManager = mContext.getSystemService(TelephonyManager.class);
+        mIsRtlMode = context.getResources().getConfiguration().getLayoutDirection()
+                == View.LAYOUT_DIRECTION_RTL;
         if (lifecycle != null) {
             mSubscriptionsChangeListener = new SubscriptionsChangeListener(context, this);
             lifecycle.addObserver(this);
@@ -121,6 +126,10 @@
                 if (subInfo != subs.get(subs.size() - 1)) {
                     summary.append(", ");
                 }
+
+                if (mIsRtlMode) {
+                    summary.insert(0, RTL_MARK).insert(summary.length(), RTL_MARK);
+                }
             }
             return summary;
         }
@@ -152,12 +161,12 @@
     }
 
     @VisibleForTesting
-    protected int getDefaultVoiceSubscriptionId(){
+    protected int getDefaultVoiceSubscriptionId() {
         return SubscriptionManager.getDefaultVoiceSubscriptionId();
     }
 
     @VisibleForTesting
-    protected int getDefaultSmsSubscriptionId(){
+    protected int getDefaultSmsSubscriptionId() {
         return SubscriptionManager.getDefaultSmsSubscriptionId();
     }
 
diff --git a/src/com/android/settings/network/NetworkProviderDownloadedSimsCategoryController.java b/src/com/android/settings/network/NetworkProviderDownloadedSimsCategoryController.java
index 199740f..f7c70f2 100644
--- a/src/com/android/settings/network/NetworkProviderDownloadedSimsCategoryController.java
+++ b/src/com/android/settings/network/NetworkProviderDownloadedSimsCategoryController.java
@@ -3,9 +3,11 @@
 import android.content.Context;
 
 import androidx.annotation.VisibleForTesting;
+import androidx.preference.Preference;
 import androidx.preference.PreferenceCategory;
 import androidx.preference.PreferenceScreen;
 
+import com.android.settings.R;
 import com.android.settings.widget.PreferenceCategoryController;
 import com.android.settingslib.core.lifecycle.Lifecycle;
 import com.android.settingslib.core.lifecycle.LifecycleObserver;
@@ -15,6 +17,7 @@
 
     private static final String KEY_PREFERENCE_CATEGORY_DOWNLOADED_SIM =
             "provider_model_downloaded_sim_category";
+    private PreferenceCategory mPreferenceCategory;
     private NetworkProviderDownloadedSimListController mNetworkProviderDownloadedSimListController;
 
     public NetworkProviderDownloadedSimsCategoryController(Context context, String key) {
@@ -44,9 +47,19 @@
     @Override
     public void displayPreference(PreferenceScreen screen) {
         super.displayPreference(screen);
-        PreferenceCategory preferenceCategory = screen.findPreference(
+        mPreferenceCategory = screen.findPreference(
                 KEY_PREFERENCE_CATEGORY_DOWNLOADED_SIM);
-        preferenceCategory.setVisible(isAvailable());
+        mPreferenceCategory.setVisible(isAvailable());
         mNetworkProviderDownloadedSimListController.displayPreference(screen);
     }
+
+    @Override
+    public void updateState(Preference preference) {
+        super.updateState(preference);
+        int count = mPreferenceCategory.getPreferenceCount();
+        String title = mContext.getString(count > 1
+                ? R.string.downloaded_sims_category_title
+                : R.string.downloaded_sim_category_title);
+        mPreferenceCategory.setTitle(title);
+    }
 }
diff --git a/src/com/android/settings/network/NetworkProviderSettings.java b/src/com/android/settings/network/NetworkProviderSettings.java
index 35a34d4..88211ad 100644
--- a/src/com/android/settings/network/NetworkProviderSettings.java
+++ b/src/com/android/settings/network/NetworkProviderSettings.java
@@ -71,7 +71,7 @@
 import com.android.settings.wifi.WifiDialog2;
 import com.android.settings.wifi.WifiPickerTrackerHelper;
 import com.android.settings.wifi.WifiUtils;
-import com.android.settings.wifi.details2.WifiNetworkDetailsFragment2;
+import com.android.settings.wifi.details.WifiNetworkDetailsFragment;
 import com.android.settings.wifi.dpp.WifiDppUtils;
 import com.android.settingslib.HelpUtils;
 import com.android.settingslib.RestrictedLockUtils;
@@ -710,6 +710,11 @@
             Log.i(TAG, "onWifiStateChanged called with wifi state: " + wifiState);
         }
 
+        if (isFinishingOrDestroyed()) {
+            Log.w(TAG, "onWifiStateChanged shouldn't run when fragment is finishing or destroyed");
+            return;
+        }
+
         switch (wifiState) {
             case WifiManager.WIFI_STATE_ENABLED:
                 updateWifiEntryPreferences();
@@ -924,11 +929,11 @@
                         : context.getText(R.string.pref_title_network_details);
 
         final Bundle bundle = new Bundle();
-        bundle.putString(WifiNetworkDetailsFragment2.KEY_CHOSEN_WIFIENTRY_KEY, wifiEntry.getKey());
+        bundle.putString(WifiNetworkDetailsFragment.KEY_CHOSEN_WIFIENTRY_KEY, wifiEntry.getKey());
 
         new SubSettingLauncher(context)
                 .setTitleText(title)
-                .setDestination(WifiNetworkDetailsFragment2.class.getName())
+                .setDestination(WifiNetworkDetailsFragment.class.getName())
                 .setArguments(bundle)
                 .setSourceMetricsCategory(getMetricsCategory())
                 .launch();
@@ -961,12 +966,10 @@
 
     @VisibleForTesting
     void setAdditionalSettingsSummaries() {
-        if (!FeatureFlagUtils.isEnabled(getContext(), FeatureFlagUtils.SETTINGS_PROVIDER_MODEL)) {
-            mConfigureWifiSettingsPreference.setSummary(getString(
-                    isWifiWakeupEnabled()
-                            ? R.string.wifi_configure_settings_preference_summary_wakeup_on
-                            : R.string.wifi_configure_settings_preference_summary_wakeup_off));
-        }
+        mConfigureWifiSettingsPreference.setSummary(getString(
+                isWifiWakeupEnabled()
+                        ? R.string.wifi_configure_settings_preference_summary_wakeup_on
+                        : R.string.wifi_configure_settings_preference_summary_wakeup_off));
 
         final int numSavedNetworks = mWifiPickerTracker.getNumSavedNetworks();
         final int numSavedSubscriptions = mWifiPickerTracker.getNumSavedSubscriptions();
@@ -981,6 +984,11 @@
 
     private String getSavedNetworkSettingsSummaryText(
             int numSavedNetworks, int numSavedSubscriptions) {
+        if (getResources() == null) {
+            Log.w(TAG, "getSavedNetworkSettingsSummaryText shouldn't run if resource is not ready");
+            return null;
+        }
+
         if (numSavedSubscriptions == 0) {
             return getResources().getQuantityString(R.plurals.wifi_saved_access_points_summary,
                     numSavedNetworks, numSavedNetworks);
@@ -1174,7 +1182,7 @@
 
     private void launchConfigNewNetworkFragment(WifiEntry wifiEntry) {
         final Bundle bundle = new Bundle();
-        bundle.putString(WifiNetworkDetailsFragment2.KEY_CHOSEN_WIFIENTRY_KEY,
+        bundle.putString(WifiNetworkDetailsFragment.KEY_CHOSEN_WIFIENTRY_KEY,
                 wifiEntry.getKey());
         new SubSettingLauncher(getContext())
                 .setTitleText(wifiEntry.getTitle())
diff --git a/src/com/android/settings/network/telephony/CallsDefaultSubscriptionController.java b/src/com/android/settings/network/telephony/CallsDefaultSubscriptionController.java
index 36b19ba..16ac8f7 100644
--- a/src/com/android/settings/network/telephony/CallsDefaultSubscriptionController.java
+++ b/src/com/android/settings/network/telephony/CallsDefaultSubscriptionController.java
@@ -46,7 +46,7 @@
     @Override
     public CharSequence getSummary() {
         if (Utils.isProviderModelEnabled(mContext)) {
-            return MobileNetworkUtils.getPreferredStatus(mContext, mManager, true);
+            return MobileNetworkUtils.getPreferredStatus(isRtlMode(), mContext, mManager, true);
         } else {
             return super.getSummary();
         }
diff --git a/src/com/android/settings/network/telephony/DefaultSubscriptionController.java b/src/com/android/settings/network/telephony/DefaultSubscriptionController.java
index 4fb6cff7..d21d584 100644
--- a/src/com/android/settings/network/telephony/DefaultSubscriptionController.java
+++ b/src/com/android/settings/network/telephony/DefaultSubscriptionController.java
@@ -26,6 +26,7 @@
 import android.telecom.TelecomManager;
 import android.telephony.SubscriptionInfo;
 import android.telephony.SubscriptionManager;
+import android.view.View;
 
 import androidx.lifecycle.Lifecycle;
 import androidx.lifecycle.LifecycleObserver;
@@ -62,11 +63,14 @@
     private static final ComponentName PSTN_CONNECTION_SERVICE_COMPONENT =
             new ComponentName("com.android.phone",
                     "com.android.services.telephony.TelephonyConnectionService");
+    private boolean mIsRtlMode;
 
     public DefaultSubscriptionController(Context context, String preferenceKey) {
         super(context, preferenceKey);
         mManager = context.getSystemService(SubscriptionManager.class);
         mChangeListener = new SubscriptionsChangeListener(context, this);
+        mIsRtlMode = context.getResources().getConfiguration().getLayoutDirection()
+                == View.LAYOUT_DIRECTION_RTL;
     }
 
     public void init(Lifecycle lifecycle) {
@@ -285,4 +289,8 @@
             refreshSummary(mPreference);
         }
     }
+
+    boolean isRtlMode() {
+        return mIsRtlMode;
+    }
 }
diff --git a/src/com/android/settings/network/telephony/MobileNetworkUtils.java b/src/com/android/settings/network/telephony/MobileNetworkUtils.java
index 1898484..6e5d4b7 100644
--- a/src/com/android/settings/network/telephony/MobileNetworkUtils.java
+++ b/src/com/android/settings/network/telephony/MobileNetworkUtils.java
@@ -99,6 +99,7 @@
             "esim.enable_esim_system_ui_by_default";
     private static final String LEGACY_ACTION_CONFIGURE_PHONE_ACCOUNT =
             "android.telecom.action.CONNECTION_SERVICE_CONFIGURE";
+    private static final String RTL_MARK = "\u200F";
 
     // The following constants are used to draw signal icon.
     public static final int NO_CELL_DATA_TYPE_ICON = 0;
@@ -922,7 +923,7 @@
     /**
      * Returns preferred status of Calls & SMS separately when Provider Model is enabled.
      */
-    public static CharSequence getPreferredStatus(Context context,
+    public static CharSequence getPreferredStatus(boolean isRtlMode, Context context,
             SubscriptionManager subscriptionManager, boolean isPreferredCallStatus) {
         final List<SubscriptionInfo> subs = SubscriptionUtil.getActiveSubscriptions(
                 subscriptionManager);
@@ -956,6 +957,10 @@
                 if (subInfo != subs.get(subs.size() - 1)) {
                     summary.append(", ");
                 }
+
+                if (isRtlMode) {
+                    summary.insert(0, RTL_MARK).insert(summary.length(), RTL_MARK);
+                }
             }
             return summary;
         } else {
diff --git a/src/com/android/settings/network/telephony/SmsDefaultSubscriptionController.java b/src/com/android/settings/network/telephony/SmsDefaultSubscriptionController.java
index ca8c0f6..a73c621 100644
--- a/src/com/android/settings/network/telephony/SmsDefaultSubscriptionController.java
+++ b/src/com/android/settings/network/telephony/SmsDefaultSubscriptionController.java
@@ -62,7 +62,7 @@
     @Override
     public CharSequence getSummary() {
         if (Utils.isProviderModelEnabled(mContext)) {
-            return MobileNetworkUtils.getPreferredStatus(mContext, mManager, false);
+            return MobileNetworkUtils.getPreferredStatus(isRtlMode(), mContext, mManager, false);
         } else {
             return super.getSummary();
         }
diff --git a/src/com/android/settings/notification/app/RecentConversationsPreferenceController.java b/src/com/android/settings/notification/app/RecentConversationsPreferenceController.java
index 4984fad..1ceb45c 100644
--- a/src/com/android/settings/notification/app/RecentConversationsPreferenceController.java
+++ b/src/com/android/settings/notification/app/RecentConversationsPreferenceController.java
@@ -233,8 +233,13 @@
                 private final Collator sCollator = Collator.getInstance();
                 @Override
                 public int compare(ConversationChannel o1, ConversationChannel o2) {
-                    int labelComparison = sCollator.compare(o1.getShortcutInfo().getLabel(),
-                            o2.getShortcutInfo().getLabel());
+                    int labelComparison = 0;
+                    if (o1.getShortcutInfo().getLabel() != null
+                            && o2.getShortcutInfo().getLabel() != null) {
+                        labelComparison = sCollator.compare(
+                                o1.getShortcutInfo().getLabel().toString(),
+                                o2.getShortcutInfo().getLabel().toString());
+                    }
 
                     if (labelComparison == 0) {
                         return o1.getNotificationChannel().getId().compareTo(
diff --git a/src/com/android/settings/notification/history/NotificationHistoryAdapter.java b/src/com/android/settings/notification/history/NotificationHistoryAdapter.java
index 0683ef7..dfa8a30 100644
--- a/src/com/android/settings/notification/history/NotificationHistoryAdapter.java
+++ b/src/com/android/settings/notification/history/NotificationHistoryAdapter.java
@@ -72,6 +72,11 @@
     }
 
     @Override
+    public long getItemId(int position) {
+        return mValues.get(position).hashCode();
+    }
+
+    @Override
     public void onBindViewHolder(final @NonNull NotificationHistoryViewHolder holder,
             int position) {
         final HistoricalNotification hn = mValues.get(position);
diff --git a/src/com/android/settings/notification/history/NotificationHistoryRecyclerView.java b/src/com/android/settings/notification/history/NotificationHistoryRecyclerView.java
index 06c74bc..224c31d 100644
--- a/src/com/android/settings/notification/history/NotificationHistoryRecyclerView.java
+++ b/src/com/android/settings/notification/history/NotificationHistoryRecyclerView.java
@@ -40,7 +40,6 @@
         ItemTouchHelper touchHelper = new ItemTouchHelper(
                 new DismissTouchHelper(0, ItemTouchHelper.START | ItemTouchHelper.END));
         touchHelper.attachToRecyclerView(this);
-        setNestedScrollingEnabled(false);
     }
 
     public void setOnItemSwipeDeleteListener(OnItemSwipeDeleteListener listener) {
diff --git a/src/com/android/settings/panel/InternetConnectivityPanel.java b/src/com/android/settings/panel/InternetConnectivityPanel.java
deleted file mode 100644
index ae6f2e0..0000000
--- a/src/com/android/settings/panel/InternetConnectivityPanel.java
+++ /dev/null
@@ -1,425 +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.panel;
-
-import static androidx.lifecycle.Lifecycle.Event.ON_PAUSE;
-import static androidx.lifecycle.Lifecycle.Event.ON_RESUME;
-
-import android.app.settings.SettingsEnums;
-import android.content.BroadcastReceiver;
-import android.content.Context;
-import android.content.Intent;
-import android.content.IntentFilter;
-import android.net.Uri;
-import android.net.wifi.ScanResult;
-import android.net.wifi.WifiManager;
-import android.os.Handler;
-import android.os.HandlerExecutor;
-import android.os.Looper;
-import android.provider.Settings;
-import android.telephony.ServiceState;
-import android.telephony.SubscriptionManager;
-import android.telephony.TelephonyCallback;
-import android.telephony.TelephonyManager;
-import android.text.TextUtils;
-import android.util.Log;
-
-import androidx.annotation.VisibleForTesting;
-import androidx.lifecycle.LifecycleObserver;
-import androidx.lifecycle.OnLifecycleEvent;
-
-import com.android.settings.R;
-import com.android.settings.Utils;
-import com.android.settings.network.AirplaneModePreferenceController;
-import com.android.settings.network.InternetUpdater;
-import com.android.settings.network.ProviderModelSliceHelper;
-import com.android.settings.network.SubscriptionsChangeListener;
-import com.android.settings.network.telephony.DataConnectivityListener;
-import com.android.settings.slices.CustomSliceRegistry;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * Represents the Internet Connectivity Panel.
- */
-public class InternetConnectivityPanel implements PanelContent, LifecycleObserver,
-        InternetUpdater.InternetChangeListener, DataConnectivityListener.Client,
-        SubscriptionsChangeListener.SubscriptionsChangeListenerClient {
-    private static final String TAG = "InternetConnectivityPanel";
-    private static final int SUBTITLE_TEXT_NONE = -1;
-    private static final int SUBTITLE_TEXT_WIFI_IS_OFF = R.string.wifi_is_off;
-    private static final int SUBTITLE_TEXT_TAP_A_NETWORK_TO_CONNECT =
-            R.string.tap_a_network_to_connect;
-    private static final int SUBTITLE_TEXT_SEARCHING_FOR_NETWORKS =
-            R.string.wifi_empty_list_wifi_on;
-    private static final int SUBTITLE_TEXT_NON_CARRIER_NETWORK_UNAVAILABLE =
-            R.string.non_carrier_network_unavailable;
-    private static final int SUBTITLE_TEXT_ALL_CARRIER_NETWORK_UNAVAILABLE =
-            R.string.all_network_unavailable;
-
-    private final Context mContext;
-    private final WifiManager mWifiManager;
-    private final IntentFilter mWifiStateFilter;
-    private final NetworkProviderTelephonyCallback mTelephonyCallback;
-    private final BroadcastReceiver mWifiStateReceiver = new BroadcastReceiver() {
-        @Override
-        public void onReceive(Context context, Intent intent) {
-            if (intent == null) {
-                return;
-            }
-
-            if (TextUtils.equals(intent.getAction(), WifiManager.SCAN_RESULTS_AVAILABLE_ACTION)) {
-                updateProgressBar();
-                updatePanelTitle();
-                return;
-            }
-
-            if (TextUtils.equals(intent.getAction(), WifiManager.NETWORK_STATE_CHANGED_ACTION)) {
-                updateProgressBar();
-                updatePanelTitle();
-            }
-        }
-    };
-
-    @VisibleForTesting
-    boolean mIsProviderModelEnabled;
-    @VisibleForTesting
-    InternetUpdater mInternetUpdater;
-    @VisibleForTesting
-    ProviderModelSliceHelper mProviderModelSliceHelper;
-
-    private int mSubtitle = SUBTITLE_TEXT_NONE;
-    private PanelContentCallback mCallback;
-    private TelephonyManager mTelephonyManager;
-    private SubscriptionsChangeListener mSubscriptionsListener;
-    private DataConnectivityListener mConnectivityListener;
-    private int mDefaultDataSubid = SubscriptionManager.INVALID_SUBSCRIPTION_ID;
-
-    // Wi-Fi scanning progress bar
-    protected HandlerInjector mHandlerInjector;
-    protected boolean mIsProgressBarVisible;
-    protected boolean mIsScanningSubTitleShownOnce;
-    protected Runnable mHideProgressBarRunnable = () -> {
-        setProgressBarVisible(false);
-    };
-    protected Runnable mHideScanningSubTitleRunnable = () -> {
-        mIsScanningSubTitleShownOnce = true;
-        updatePanelTitle();
-    };
-
-    /**
-     * Wrapper for testing compatibility.
-     */
-    @VisibleForTesting
-    static class HandlerInjector {
-        protected final Handler mHandler;
-
-        HandlerInjector(Context context) {
-            mHandler = context.getMainThreadHandler();
-        }
-
-        public void postDelay(Runnable runnable) {
-            mHandler.postDelayed(runnable, 2000 /* delay millis */);
-        }
-
-        public void removeCallbacks(Runnable runnable) {
-            mHandler.removeCallbacks(runnable);
-        }
-    }
-
-    private InternetConnectivityPanel(Context context) {
-        mContext = context.getApplicationContext();
-        mHandlerInjector = new HandlerInjector(context);
-        mIsProviderModelEnabled = Utils.isProviderModelEnabled(mContext);
-        mInternetUpdater = new InternetUpdater(context, null /* Lifecycle */, this);
-
-        mSubscriptionsListener = new SubscriptionsChangeListener(context, this);
-        mConnectivityListener = new DataConnectivityListener(context, this);
-        mTelephonyCallback = new NetworkProviderTelephonyCallback();
-        mDefaultDataSubid = getDefaultDataSubscriptionId();
-        mTelephonyManager = mContext.getSystemService(TelephonyManager.class);
-
-        mWifiManager = mContext.getSystemService(WifiManager.class);
-        mWifiStateFilter = new IntentFilter(WifiManager.NETWORK_STATE_CHANGED_ACTION);
-        mWifiStateFilter.addAction(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION);
-
-        mProviderModelSliceHelper = new ProviderModelSliceHelper(mContext, null);
-    }
-
-    /** create the panel */
-    public static InternetConnectivityPanel create(Context context) {
-        return new InternetConnectivityPanel(context);
-    }
-
-    /** @OnLifecycleEvent(ON_RESUME) */
-    @OnLifecycleEvent(ON_RESUME)
-    public void onResume() {
-        if (!mIsProviderModelEnabled) {
-            return;
-        }
-        mInternetUpdater.onResume();
-        mSubscriptionsListener.start();
-        mConnectivityListener.start();
-        mTelephonyManager.registerTelephonyCallback(
-                new HandlerExecutor(new Handler(Looper.getMainLooper())), mTelephonyCallback);
-        mContext.registerReceiver(mWifiStateReceiver, mWifiStateFilter);
-        updateProgressBar();
-        updatePanelTitle();
-    }
-
-    /** @OnLifecycleEvent(ON_PAUSE) */
-    @OnLifecycleEvent(ON_PAUSE)
-    public void onPause() {
-        if (!mIsProviderModelEnabled) {
-            return;
-        }
-        mInternetUpdater.onPause();
-        mSubscriptionsListener.stop();
-        mConnectivityListener.stop();
-        mTelephonyManager.unregisterTelephonyCallback(mTelephonyCallback);
-        mContext.unregisterReceiver(mWifiStateReceiver);
-        mHandlerInjector.removeCallbacks(mHideProgressBarRunnable);
-        mHandlerInjector.removeCallbacks(mHideScanningSubTitleRunnable);
-    }
-
-    /**
-     * @return a string for the title of the Panel.
-     */
-    @Override
-    public CharSequence getTitle() {
-        if (mIsProviderModelEnabled) {
-            return mContext.getText(mInternetUpdater.isAirplaneModeOn()
-                    ? R.string.airplane_mode : R.string.provider_internet_settings);
-        }
-        return mContext.getText(R.string.internet_connectivity_panel_title);
-    }
-
-    /**
-     * @return a string for the subtitle of the Panel.
-     */
-    @Override
-    public CharSequence getSubTitle() {
-        if (mIsProviderModelEnabled && mSubtitle != SUBTITLE_TEXT_NONE) {
-            return mContext.getText(mSubtitle);
-        }
-        return null;
-    }
-
-    @Override
-    public List<Uri> getSlices() {
-        final List<Uri> uris = new ArrayList<>();
-        if (mIsProviderModelEnabled) {
-            uris.add(CustomSliceRegistry.PROVIDER_MODEL_SLICE_URI);
-        } else {
-            uris.add(CustomSliceRegistry.WIFI_SLICE_URI);
-            uris.add(CustomSliceRegistry.MOBILE_DATA_SLICE_URI);
-            uris.add(AirplaneModePreferenceController.SLICE_URI);
-        }
-        return uris;
-    }
-
-    @Override
-    public Intent getSeeMoreIntent() {
-        // Disable the see more button for provider model design.
-        if (mIsProviderModelEnabled) {
-            return null;
-        }
-
-        // Don't remove the see more intent for non-provider model design. This intent will be
-        // used when isCustomizedButtonUsed() returns false.
-        return new Intent(Settings.ACTION_WIRELESS_SETTINGS)
-                .addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
-    }
-
-    @Override
-    public boolean isProgressBarVisible() {
-        return mIsProgressBarVisible;
-    }
-
-    @Override
-    public int getMetricsCategory() {
-        return SettingsEnums.PANEL_INTERNET_CONNECTIVITY;
-    }
-
-    @Override
-    public void registerCallback(PanelContentCallback callback) {
-        mCallback = callback;
-    }
-
-    /**
-     * Called when airplane mode state is changed.
-     */
-    @Override
-    public void onAirplaneModeChanged(boolean isAirplaneModeOn) {
-        log("onAirplaneModeChanged: isAirplaneModeOn:" + isAirplaneModeOn);
-        updatePanelTitle();
-    }
-
-    /**
-     * Called when Wi-Fi enabled is changed.
-     */
-    @Override
-    public void onWifiEnabledChanged(boolean enabled) {
-        log("onWifiEnabledChanged: enabled:" + enabled);
-        updatePanelTitle();
-    }
-
-    @Override
-    public void onSubscriptionsChanged() {
-        final int defaultDataSubId = getDefaultDataSubscriptionId();
-        log("onSubscriptionsChanged: defaultDataSubId:" + defaultDataSubId);
-        if (mDefaultDataSubid == defaultDataSubId) {
-            return;
-        }
-        if (SubscriptionManager.isUsableSubscriptionId(defaultDataSubId)) {
-            mTelephonyManager.unregisterTelephonyCallback(mTelephonyCallback);
-            mTelephonyManager.registerTelephonyCallback(
-                    new HandlerExecutor(new Handler(Looper.getMainLooper())), mTelephonyCallback);
-        }
-        updatePanelTitle();
-    }
-
-    @Override
-    public void onDataConnectivityChange() {
-        log("onDataConnectivityChange");
-        updatePanelTitle();
-    }
-
-    @VisibleForTesting
-    void updatePanelTitle() {
-        if (mCallback == null) {
-            return;
-        }
-        updateSubtitleText();
-        mCallback.onHeaderChanged();
-    }
-
-    @VisibleForTesting
-    int getDefaultDataSubscriptionId() {
-        return SubscriptionManager.getDefaultDataSubscriptionId();
-    }
-
-    private void updateSubtitleText() {
-        mSubtitle = SUBTITLE_TEXT_NONE;
-        if (!mInternetUpdater.isWifiEnabled()) {
-            if (!mInternetUpdater.isAirplaneModeOn()) {
-                // When the airplane mode is off and Wi-Fi is disabled.
-                //   Sub-Title: Wi-Fi is off
-                log("Airplane mode off + Wi-Fi off.");
-                mSubtitle = SUBTITLE_TEXT_WIFI_IS_OFF;
-            }
-            return;
-        }
-
-        if (mInternetUpdater.isAirplaneModeOn()) {
-            return;
-        }
-
-        final List<ScanResult> wifiList = mWifiManager.getScanResults();
-        if (wifiList != null && wifiList.size() != 0) {
-            // When the Wi-Fi scan result is not empty
-            //   Sub-Title: Tap a network to connect
-            mSubtitle = SUBTITLE_TEXT_TAP_A_NETWORK_TO_CONNECT;
-            return;
-        }
-
-        if (!mIsScanningSubTitleShownOnce && mIsProgressBarVisible) {
-            // When the Wi-Fi scan result callback is received
-            //   Sub-Title: Searching for networks...
-            mSubtitle = SUBTITLE_TEXT_SEARCHING_FOR_NETWORKS;
-            return;
-        }
-
-        // Sub-Title:
-        // show non_carrier_network_unavailable
-        //   - while Wi-Fi on + no Wi-Fi item
-        //   - while Wi-Fi on + no Wi-Fi item + mobile data off
-        // show all_network_unavailable:
-        //   - while Wi-Fi on + no Wi-Fi item + no carrier item
-        //   - while Wi-Fi on + no Wi-Fi item + service is out of service
-        //   - while Wi-Fi on + no Wi-Fi item + mobile data on + no carrier data.
-        log("No Wi-Fi item.");
-        if (!mProviderModelSliceHelper.hasCarrier()
-                || (!mProviderModelSliceHelper.isVoiceStateInService()
-                && !mProviderModelSliceHelper.isDataStateInService())) {
-            log("no carrier or service is out of service.");
-            mSubtitle = SUBTITLE_TEXT_ALL_CARRIER_NETWORK_UNAVAILABLE;
-            return;
-        }
-        if (!mProviderModelSliceHelper.isMobileDataEnabled()) {
-            log("mobile data off");
-            mSubtitle = SUBTITLE_TEXT_NON_CARRIER_NETWORK_UNAVAILABLE;
-            return;
-        }
-        if (!mProviderModelSliceHelper.isDataSimActive()) {
-            log("no carrier data.");
-            mSubtitle = SUBTITLE_TEXT_ALL_CARRIER_NETWORK_UNAVAILABLE;
-            return;
-        }
-        mSubtitle = SUBTITLE_TEXT_NON_CARRIER_NETWORK_UNAVAILABLE;
-    }
-
-    protected void updateProgressBar() {
-        if (mWifiManager == null || !mInternetUpdater.isWifiEnabled()) {
-            setProgressBarVisible(false);
-            return;
-        }
-
-        setProgressBarVisible(true);
-        List<ScanResult> wifiScanResults = mWifiManager.getScanResults();
-        if (wifiScanResults != null && wifiScanResults.size() > 0) {
-            mHandlerInjector.postDelay(mHideProgressBarRunnable);
-        } else if (!mIsScanningSubTitleShownOnce) {
-            mHandlerInjector.postDelay(mHideScanningSubTitleRunnable);
-        }
-    }
-
-    protected void setProgressBarVisible(boolean visible) {
-        if (mIsProgressBarVisible == visible) {
-            return;
-        }
-        mIsProgressBarVisible = visible;
-
-        if (mCallback == null) {
-            return;
-        }
-        mCallback.onProgressBarVisibleChanged();
-        updatePanelTitle();
-    }
-
-    private class NetworkProviderTelephonyCallback extends TelephonyCallback implements
-            TelephonyCallback.DataConnectionStateListener,
-            TelephonyCallback.ServiceStateListener {
-        @Override
-        public void onServiceStateChanged(ServiceState state) {
-            log("onServiceStateChanged voiceState=" + state.getState()
-                    + " dataState=" + state.getDataRegistrationState());
-            updatePanelTitle();
-        }
-
-        @Override
-        public void onDataConnectionStateChanged(int state, int networkType) {
-            log("onDataConnectionStateChanged: networkType=" + networkType + " state=" + state);
-            updatePanelTitle();
-        }
-    }
-
-    private static void log(String s) {
-        Log.d(TAG, s);
-    }
-}
diff --git a/src/com/android/settings/panel/PanelFeatureProviderImpl.java b/src/com/android/settings/panel/PanelFeatureProviderImpl.java
index ca30952..a73881b 100644
--- a/src/com/android/settings/panel/PanelFeatureProviderImpl.java
+++ b/src/com/android/settings/panel/PanelFeatureProviderImpl.java
@@ -17,11 +17,14 @@
 package com.android.settings.panel;
 
 import android.content.Context;
+import android.content.Intent;
 import android.os.Bundle;
 import android.provider.Settings;
 
 public class PanelFeatureProviderImpl implements PanelFeatureProvider {
 
+    private static final String SYSTEMUI_PACKAGE_NAME = "com.android.systemui";
+
     @Override
     public PanelContent getPanel(Context context, Bundle bundle) {
         if (context == null) {
@@ -35,7 +38,12 @@
 
         switch (panelType) {
             case Settings.Panel.ACTION_INTERNET_CONNECTIVITY:
-                return InternetConnectivityPanel.create(context);
+                // Redirect to the internet dialog in SystemUI.
+                Intent intent = new Intent(Settings.Panel.ACTION_INTERNET_CONNECTIVITY);
+                intent.addFlags(Intent.FLAG_RECEIVER_FOREGROUND)
+                        .setPackage(SYSTEMUI_PACKAGE_NAME);
+                context.sendBroadcast(intent);
+                return null;
             case Settings.Panel.ACTION_NFC:
                 return NfcPanel.create(context);
             case Settings.Panel.ACTION_WIFI:
diff --git a/src/com/android/settings/sim/smartForwarding/DisableSmartForwardingTask.java b/src/com/android/settings/sim/smartForwarding/DisableSmartForwardingTask.java
index 45333ec..7826522 100644
--- a/src/com/android/settings/sim/smartForwarding/DisableSmartForwardingTask.java
+++ b/src/com/android/settings/sim/smartForwarding/DisableSmartForwardingTask.java
@@ -43,9 +43,8 @@
             }
 
             if (callForwardingInfo != null
-                    && callForwardingInfo[i] != null
-                    && callForwardingInfo[i].getTimeoutSeconds() > 0) {
-                Log.d(TAG, "Restore call waiting to " + callForwardingInfo);
+                    && callForwardingInfo[i] != null) {
+                Log.d(TAG, "Restore call forwarding to " + callForwardingInfo[i]);
                 tm.setCallForwarding(callForwardingInfo[i], null, null);
             }
         }
diff --git a/src/com/android/settings/system/DisableAutomaticUpdatesPreferenceController.java b/src/com/android/settings/system/DisableAutomaticUpdatesPreferenceController.java
new file mode 100644
index 0000000..a8f7fb1
--- /dev/null
+++ b/src/com/android/settings/system/DisableAutomaticUpdatesPreferenceController.java
@@ -0,0 +1,59 @@
+/*
+ * Copyright (C) 2017 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.system;
+
+import android.content.Context;
+import android.provider.Settings;
+
+import androidx.annotation.VisibleForTesting;
+
+import com.android.settings.core.TogglePreferenceController;
+
+/** A controller maintains the state of Automatic System Update feature. */
+public class DisableAutomaticUpdatesPreferenceController extends TogglePreferenceController {
+
+    // We use the "disabled status" in code, but show the opposite text
+    // "Automatic system updates" on screen. So a value 0 indicates the
+    // automatic update is enabled.
+    @VisibleForTesting
+    static final int DISABLE_UPDATES_SETTING = 1;
+    @VisibleForTesting
+    static final int ENABLE_UPDATES_SETTING = 0;
+
+    public DisableAutomaticUpdatesPreferenceController(Context context, String key) {
+        super(context, key);
+    }
+
+    @Override
+    public int getAvailabilityStatus() {
+        return AVAILABLE;
+    }
+
+    @Override
+    public boolean isChecked() {
+        return Settings.Global.getInt(mContext.getContentResolver(),
+                Settings.Global.OTA_DISABLE_AUTOMATIC_UPDATE, ENABLE_UPDATES_SETTING /* default */)
+                == ENABLE_UPDATES_SETTING;
+    }
+
+    @Override
+    public boolean setChecked(boolean isChecked) {
+        return Settings.Global.putInt(mContext.getContentResolver(),
+                Settings.Global.OTA_DISABLE_AUTOMATIC_UPDATE,
+                isChecked ? ENABLE_UPDATES_SETTING : DISABLE_UPDATES_SETTING);
+    }
+}
diff --git a/src/com/android/settings/uwb/UwbPreferenceController.java b/src/com/android/settings/uwb/UwbPreferenceController.java
index 15979b5..877c9f2 100644
--- a/src/com/android/settings/uwb/UwbPreferenceController.java
+++ b/src/com/android/settings/uwb/UwbPreferenceController.java
@@ -57,7 +57,9 @@
     public UwbPreferenceController(Context context, String key) {
         super(context, key);
         mExecutor = Executors.newSingleThreadExecutor();
-        mUwbManager = context.getSystemService(UwbManager.class);
+        if (isUwbSupportedOnDevice()) {
+            mUwbManager = context.getSystemService(UwbManager.class);
+        }
         mAirplaneModeOn = Settings.Global.getInt(mContext.getContentResolver(),
                 Settings.Global.AIRPLANE_MODE_ON, 0) == 1;
         mAirplaneModeChangedReceiver = new BroadcastReceiver() {
diff --git a/src/com/android/settings/widget/LabeledSeekBarPreference.java b/src/com/android/settings/widget/LabeledSeekBarPreference.java
index 3a9ac18..b34ea19 100644
--- a/src/com/android/settings/widget/LabeledSeekBarPreference.java
+++ b/src/com/android/settings/widget/LabeledSeekBarPreference.java
@@ -20,9 +20,11 @@
 import android.content.res.TypedArray;
 import android.graphics.drawable.Drawable;
 import android.util.AttributeSet;
+import android.view.View;
 import android.widget.SeekBar;
 import android.widget.TextView;
 
+import androidx.annotation.Nullable;
 import androidx.core.content.res.TypedArrayUtils;
 import androidx.preference.PreferenceViewHolder;
 
@@ -35,6 +37,8 @@
     private final int mTextEndId;
     private final int mTickMarkId;
     private OnPreferenceChangeListener mStopListener;
+    @Nullable
+    private CharSequence mSummary;
 
     public LabeledSeekBarPreference(Context context, AttributeSet attrs, int defStyleAttr,
             int defStyleRes) {
@@ -52,6 +56,7 @@
                 R.string.summary_placeholder);
         mTickMarkId = styledAttrs.getResourceId(
                 R.styleable.LabeledSeekBarPreference_tickMark, /* defValue= */ 0);
+        mSummary = styledAttrs.getText(R.styleable.Preference_android_summary);
         styledAttrs.recycle();
     }
 
@@ -76,6 +81,15 @@
                     com.android.internal.R.id.seekbar);
             seekBar.setTickMark(tickMark);
         }
+
+        final TextView summary = (TextView) holder.findViewById(android.R.id.summary);
+        if (mSummary != null) {
+            summary.setText(mSummary);
+            summary.setVisibility(View.VISIBLE);
+        } else {
+            summary.setText(null);
+            summary.setVisibility(View.GONE);
+        }
     }
 
     public void setOnPreferenceChangeStopListener(OnPreferenceChangeListener listener) {
@@ -90,5 +104,24 @@
             mStopListener.onPreferenceChange(this, seekBar.getProgress());
         }
     }
+
+    @Override
+    public void setSummary(CharSequence summary) {
+        super.setSummary(summary);
+        mSummary = summary;
+        notifyChanged();
+    }
+
+    @Override
+    public void setSummary(int summaryResId) {
+        super.setSummary(summaryResId);
+        mSummary = getContext().getText(summaryResId);
+        notifyChanged();
+    }
+
+    @Override
+    public CharSequence getSummary() {
+        return mSummary;
+    }
 }
 
diff --git a/src/com/android/settings/wifi/ConfigureWifiEntryFragment.java b/src/com/android/settings/wifi/ConfigureWifiEntryFragment.java
index d2f5090..469ca1d 100644
--- a/src/com/android/settings/wifi/ConfigureWifiEntryFragment.java
+++ b/src/com/android/settings/wifi/ConfigureWifiEntryFragment.java
@@ -38,7 +38,7 @@
 import com.android.settings.R;
 import com.android.settings.core.InstrumentedFragment;
 import com.android.settings.overlay.FeatureFactory;
-import com.android.settings.wifi.details2.WifiNetworkDetailsFragment2;
+import com.android.settings.wifi.details.WifiNetworkDetailsFragment;
 import com.android.wifitrackerlib.NetworkDetailsTracker;
 import com.android.wifitrackerlib.WifiEntry;
 
@@ -238,6 +238,6 @@
                         MAX_SCAN_AGE_MILLIS,
                         SCAN_INTERVAL_MILLIS,
                         getArguments().getString(
-                                WifiNetworkDetailsFragment2.KEY_CHOSEN_WIFIENTRY_KEY));
+                                WifiNetworkDetailsFragment.KEY_CHOSEN_WIFIENTRY_KEY));
     }
 }
diff --git a/src/com/android/settings/wifi/WifiConnectionPreferenceController.java b/src/com/android/settings/wifi/WifiConnectionPreferenceController.java
index 3b2669c..fc2f8f1 100644
--- a/src/com/android/settings/wifi/WifiConnectionPreferenceController.java
+++ b/src/com/android/settings/wifi/WifiConnectionPreferenceController.java
@@ -34,7 +34,7 @@
 import com.android.settings.R;
 import com.android.settings.core.SubSettingLauncher;
 import com.android.settings.overlay.FeatureFactory;
-import com.android.settings.wifi.details2.WifiNetworkDetailsFragment2;
+import com.android.settings.wifi.details.WifiNetworkDetailsFragment;
 import com.android.settingslib.core.AbstractPreferenceController;
 import com.android.settingslib.core.lifecycle.Lifecycle;
 import com.android.settingslib.wifi.WifiEntryPreference;
@@ -165,11 +165,11 @@
         mPreference.setOrder(order);
         mPreference.setOnPreferenceClickListener(pref -> {
             final Bundle args = new Bundle();
-            args.putString(WifiNetworkDetailsFragment2.KEY_CHOSEN_WIFIENTRY_KEY,
+            args.putString(WifiNetworkDetailsFragment.KEY_CHOSEN_WIFIENTRY_KEY,
                     wifiEntry.getKey());
             new SubSettingLauncher(mPrefContext)
                     .setTitleRes(R.string.pref_title_network_details)
-                    .setDestination(WifiNetworkDetailsFragment2.class.getName())
+                    .setDestination(WifiNetworkDetailsFragment.class.getName())
                     .setArguments(args)
                     .setSourceMetricsCategory(mMetricsCategory)
                     .launch();
diff --git a/src/com/android/settings/wifi/WifiDialog2.java b/src/com/android/settings/wifi/WifiDialog2.java
index dc546f3..05dad3f 100644
--- a/src/com/android/settings/wifi/WifiDialog2.java
+++ b/src/com/android/settings/wifi/WifiDialog2.java
@@ -21,6 +21,8 @@
 import android.content.DialogInterface;
 import android.os.Bundle;
 import android.view.View;
+import android.view.Window;
+import android.view.WindowManager;
 import android.widget.Button;
 import android.widget.ImageButton;
 import android.widget.TextView;
@@ -108,6 +110,8 @@
 
     @Override
     protected void onCreate(Bundle savedInstanceState) {
+        setWindowsOverlay();
+
         mView = getLayoutInflater().inflate(R.layout.wifi_dialog, /* root */ null);
         setView(mView);
         mController = new WifiConfigController2(this, mView, mWifiEntry, mMode);
@@ -126,6 +130,13 @@
         }
     }
 
+    private void setWindowsOverlay() {
+        final Window window = getWindow();
+        final WindowManager.LayoutParams lp = window.getAttributes();
+        window.setType(WindowManager.LayoutParams.TYPE_KEYGUARD_DIALOG);
+        window.setAttributes(lp);
+    }
+
     @Override
     protected void onStart() {
         final ImageButton ssidScannerButton = findViewById(R.id.ssid_scanner_button);
diff --git a/src/com/android/settings/wifi/WifiSettings.java b/src/com/android/settings/wifi/WifiSettings.java
index 59f6504..c4b4d59 100644
--- a/src/com/android/settings/wifi/WifiSettings.java
+++ b/src/com/android/settings/wifi/WifiSettings.java
@@ -67,7 +67,7 @@
 import com.android.settings.overlay.FeatureFactory;
 import com.android.settings.search.BaseSearchIndexProvider;
 import com.android.settings.widget.MainSwitchBarController;
-import com.android.settings.wifi.details2.WifiNetworkDetailsFragment2;
+import com.android.settings.wifi.details.WifiNetworkDetailsFragment;
 import com.android.settings.wifi.dpp.WifiDppUtils;
 import com.android.settingslib.HelpUtils;
 import com.android.settingslib.RestrictedLockUtils;
@@ -844,11 +844,11 @@
                         : context.getText(R.string.pref_title_network_details);
 
         final Bundle bundle = new Bundle();
-        bundle.putString(WifiNetworkDetailsFragment2.KEY_CHOSEN_WIFIENTRY_KEY, wifiEntry.getKey());
+        bundle.putString(WifiNetworkDetailsFragment.KEY_CHOSEN_WIFIENTRY_KEY, wifiEntry.getKey());
 
         new SubSettingLauncher(context)
                 .setTitleText(title)
-                .setDestination(WifiNetworkDetailsFragment2.class.getName())
+                .setDestination(WifiNetworkDetailsFragment.class.getName())
                 .setArguments(bundle)
                 .setSourceMetricsCategory(getMetricsCategory())
                 .launch();
@@ -1121,7 +1121,7 @@
 
     private void launchConfigNewNetworkFragment(WifiEntry wifiEntry) {
         final Bundle bundle = new Bundle();
-        bundle.putString(WifiNetworkDetailsFragment2.KEY_CHOSEN_WIFIENTRY_KEY,
+        bundle.putString(WifiNetworkDetailsFragment.KEY_CHOSEN_WIFIENTRY_KEY,
                 wifiEntry.getKey());
         new SubSettingLauncher(getContext())
                 .setTitleText(wifiEntry.getTitle())
diff --git a/src/com/android/settings/wifi/details2/WifiNetworkDetailsFragment2.java b/src/com/android/settings/wifi/details/WifiNetworkDetailsFragment.java
similarity index 92%
rename from src/com/android/settings/wifi/details2/WifiNetworkDetailsFragment2.java
rename to src/com/android/settings/wifi/details/WifiNetworkDetailsFragment.java
index 6bc510d..dd0c20a 100644
--- a/src/com/android/settings/wifi/details2/WifiNetworkDetailsFragment2.java
+++ b/src/com/android/settings/wifi/details/WifiNetworkDetailsFragment.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2019 The Android Open Source Project
+ * Copyright (C) 2021 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.
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package com.android.settings.wifi.details2;
+package com.android.settings.wifi.details;
 
 import static com.android.settings.wifi.WifiSettings.WIFI_DIALOG_ID;
 
@@ -45,6 +45,13 @@
 import com.android.settings.overlay.FeatureFactory;
 import com.android.settings.wifi.WifiConfigUiBase2;
 import com.android.settings.wifi.WifiDialog2;
+import com.android.settings.wifi.details2.AddDevicePreferenceController2;
+import com.android.settings.wifi.details2.WifiAutoConnectPreferenceController2;
+import com.android.settings.wifi.details2.WifiDetailPreferenceController2;
+import com.android.settings.wifi.details2.WifiMeteredPreferenceController2;
+import com.android.settings.wifi.details2.WifiPrivacyPreferenceController2;
+import com.android.settings.wifi.details2.WifiSecondSummaryController2;
+import com.android.settings.wifi.details2.WifiSubscriptionDetailPreferenceController2;
 import com.android.settingslib.RestrictedLockUtils;
 import com.android.settingslib.RestrictedLockUtils.EnforcedAdmin;
 import com.android.settingslib.RestrictedLockUtilsInternal;
@@ -63,10 +70,10 @@
  * <p>The key of {@link WifiEntry} should be saved to the intent Extras when launching this class
  * in order to properly render this page.
  */
-public class WifiNetworkDetailsFragment2 extends RestrictedDashboardFragment implements
+public class WifiNetworkDetailsFragment extends RestrictedDashboardFragment implements
         WifiDialog2.WifiDialog2Listener {
 
-    private static final String TAG = "WifiNetworkDetailsFrg2";
+    private static final String TAG = "WifiNetworkDetailsFrg";
 
     // Key of a Bundle to save/restore the selected WifiEntry
     public static final String KEY_CHOSEN_WIFIENTRY_KEY = "key_chosen_wifientry_key";
@@ -86,7 +93,7 @@
     @VisibleForTesting
     List<AbstractPreferenceController> mControllers;
 
-    public WifiNetworkDetailsFragment2() {
+    public WifiNetworkDetailsFragment() {
         super(UserManager.DISALLOW_CONFIG_WIFI);
     }
 
diff --git a/src/com/android/settings/wifi/details2/WifiDetailPreferenceController2.java b/src/com/android/settings/wifi/details2/WifiDetailPreferenceController2.java
index 7bf680d..f9d0db0 100644
--- a/src/com/android/settings/wifi/details2/WifiDetailPreferenceController2.java
+++ b/src/com/android/settings/wifi/details2/WifiDetailPreferenceController2.java
@@ -76,6 +76,7 @@
 import com.android.settings.wifi.WifiDialog2;
 import com.android.settings.wifi.WifiDialog2.WifiDialog2Listener;
 import com.android.settings.wifi.WifiUtils;
+import com.android.settings.wifi.details.WifiNetworkDetailsFragment;
 import com.android.settings.wifi.dpp.WifiDppUtils;
 import com.android.settingslib.core.AbstractPreferenceController;
 import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
@@ -1099,7 +1100,7 @@
         refreshPage();
 
         // Refresh the Preferences in fragment.
-        ((WifiNetworkDetailsFragment2) mFragment).refreshPreferences();
+        ((WifiNetworkDetailsFragment) mFragment).refreshPreferences();
     }
 
     /**
diff --git a/src/com/android/settings/wifi/savedaccesspoints2/SavedAccessPointsWifiSettings2.java b/src/com/android/settings/wifi/savedaccesspoints2/SavedAccessPointsWifiSettings2.java
index e579ad7..1443e32 100644
--- a/src/com/android/settings/wifi/savedaccesspoints2/SavedAccessPointsWifiSettings2.java
+++ b/src/com/android/settings/wifi/savedaccesspoints2/SavedAccessPointsWifiSettings2.java
@@ -39,7 +39,7 @@
 import com.android.settings.core.SubSettingLauncher;
 import com.android.settings.dashboard.DashboardFragment;
 import com.android.settings.wifi.WifiSettings;
-import com.android.settings.wifi.details2.WifiNetworkDetailsFragment2;
+import com.android.settings.wifi.details.WifiNetworkDetailsFragment;
 import com.android.wifitrackerlib.SavedNetworkTracker;
 
 import java.time.Clock;
@@ -126,7 +126,7 @@
     }
 
     /**
-     * Shows {@link WifiNetworkDetailsFragment2} for assigned key of {@link WifiEntry}.
+     * Shows {@link WifiNetworkDetailsFragment} for assigned key of {@link WifiEntry}.
      */
     public void showWifiPage(@NonNull String key, CharSequence title) {
         removeDialog(WifiSettings.WIFI_DIALOG_ID);
@@ -137,11 +137,11 @@
         }
 
         final Bundle bundle = new Bundle();
-        bundle.putString(WifiNetworkDetailsFragment2.KEY_CHOSEN_WIFIENTRY_KEY, key);
+        bundle.putString(WifiNetworkDetailsFragment.KEY_CHOSEN_WIFIENTRY_KEY, key);
 
         new SubSettingLauncher(getContext())
                 .setTitleText(title)
-                .setDestination(WifiNetworkDetailsFragment2.class.getName())
+                .setDestination(WifiNetworkDetailsFragment.class.getName())
                 .setArguments(bundle)
                 .setSourceMetricsCategory(getMetricsCategory())
                 .launch();
diff --git a/src/com/android/settings/wifi/slice/WifiSlice.java b/src/com/android/settings/wifi/slice/WifiSlice.java
index 75d2c66..f6604dd 100644
--- a/src/com/android/settings/wifi/slice/WifiSlice.java
+++ b/src/com/android/settings/wifi/slice/WifiSlice.java
@@ -50,7 +50,7 @@
 import com.android.settings.wifi.WifiDialogActivity;
 import com.android.settings.wifi.WifiSettings;
 import com.android.settings.wifi.WifiUtils;
-import com.android.settings.wifi.details2.WifiNetworkDetailsFragment2;
+import com.android.settings.wifi.details.WifiNetworkDetailsFragment;
 import com.android.wifitrackerlib.WifiEntry;
 
 import java.util.Arrays;
@@ -200,11 +200,11 @@
 
         if (wifiSliceItem.getConnectedState() != WifiEntry.CONNECTED_STATE_DISCONNECTED) {
             final Bundle bundle = new Bundle();
-            bundle.putString(WifiNetworkDetailsFragment2.KEY_CHOSEN_WIFIENTRY_KEY,
+            bundle.putString(WifiNetworkDetailsFragment.KEY_CHOSEN_WIFIENTRY_KEY,
                     wifiSliceItem.getKey());
             final Intent intent = new SubSettingLauncher(mContext)
                     .setTitleRes(R.string.pref_title_network_details)
-                    .setDestination(WifiNetworkDetailsFragment2.class.getName())
+                    .setDestination(WifiNetworkDetailsFragment.class.getName())
                     .setArguments(bundle)
                     .setSourceMetricsCategory(SettingsEnums.WIFI)
                     .toIntent();
diff --git a/tests/robotests/src/com/android/settings/development/DisableAutomaticUpdatesPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/DisableAutomaticUpdatesPreferenceControllerTest.java
deleted file mode 100644
index d5c0b5d..0000000
--- a/tests/robotests/src/com/android/settings/development/DisableAutomaticUpdatesPreferenceControllerTest.java
+++ /dev/null
@@ -1,108 +0,0 @@
-/*
- * Copyright (C) 2017 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.development;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
-import android.content.Context;
-import android.provider.Settings;
-
-import androidx.preference.PreferenceScreen;
-import androidx.preference.SwitchPreference;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
-import org.robolectric.RobolectricTestRunner;
-import org.robolectric.RuntimeEnvironment;
-
-@RunWith(RobolectricTestRunner.class)
-public class DisableAutomaticUpdatesPreferenceControllerTest {
-
-    @Mock
-    private PreferenceScreen mPreferenceScreen;
-    @Mock
-    private SwitchPreference mPreference;
-
-    private Context mContext;
-    private DisableAutomaticUpdatesPreferenceController mController;
-
-    @Before
-    public void setup() {
-        MockitoAnnotations.initMocks(this);
-        mContext = RuntimeEnvironment.application;
-        mController = new DisableAutomaticUpdatesPreferenceController(mContext);
-        when(mPreferenceScreen.findPreference(mController.getPreferenceKey())).thenReturn(
-                mPreference);
-        mController.displayPreference(mPreferenceScreen);
-    }
-
-    @Test
-    public void onPreferenceChanged_turnOnAutomaticUpdates() {
-        mController.onPreferenceChange(null, true);
-
-        final int mode = Settings.Global.getInt(mContext.getContentResolver(),
-                Settings.Global.OTA_DISABLE_AUTOMATIC_UPDATE, -1);
-
-        assertThat(mode).isEqualTo(
-                DisableAutomaticUpdatesPreferenceController.ENABLE_UPDATES_SETTING);
-    }
-
-    @Test
-    public void onPreferenceChanged_turnOffAutomaticUpdates() {
-        mController.onPreferenceChange(null, false);
-
-        final int mode = Settings.Global.getInt(mContext.getContentResolver(),
-                Settings.Global.OTA_DISABLE_AUTOMATIC_UPDATE, -1);
-
-        assertThat(mode).isEqualTo(
-                DisableAutomaticUpdatesPreferenceController.DISABLE_UPDATES_SETTING);
-    }
-
-    @Test
-    public void updateState_preferenceShouldBeChecked() {
-        Settings.Global
-                .putInt(mContext.getContentResolver(), Settings.Global.OTA_DISABLE_AUTOMATIC_UPDATE,
-                        DisableAutomaticUpdatesPreferenceController.ENABLE_UPDATES_SETTING);
-        mController.updateState(mPreference);
-
-        verify(mPreference).setChecked(true);
-    }
-
-    @Test
-    public void updateState_preferenceShouldNotBeChecked() {
-        Settings.Global
-                .putInt(mContext.getContentResolver(), Settings.Global.OTA_DISABLE_AUTOMATIC_UPDATE,
-                        DisableAutomaticUpdatesPreferenceController.DISABLE_UPDATES_SETTING);
-        mController.updateState(mPreference);
-
-        verify(mPreference).setChecked(false);
-    }
-
-    @Test
-    public void onDeveloperOptionsDisabled_shouldDisablePreference() {
-        mController.onDeveloperOptionsDisabled();
-
-        verify(mPreference).setEnabled(false);
-        verify(mPreference).setChecked(false);
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/BatteryChartPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/fuelgauge/BatteryChartPreferenceControllerTest.java
index fd4e82d..43fbe81 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/BatteryChartPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/BatteryChartPreferenceControllerTest.java
@@ -50,7 +50,6 @@
 import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
 
 import org.junit.Before;
-import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.ArgumentCaptor;
@@ -65,7 +64,6 @@
 import java.util.Locale;
 import java.util.List;
 import java.util.Map;
-import java.util.TimeZone;
 
 @RunWith(RobolectricTestRunner.class)
 public final class BatteryChartPreferenceControllerTest {
@@ -125,37 +123,6 @@
             createBatteryHistoryMap());
     }
 
-    @Ignore
-    @Test
-    public void testOnResume_uiModeIsChanged_clearBatteryDiffEntryCache() {
-        doReturn(mResources).when(mContext).getResources();
-        doReturn(mConfiguration).when(mResources).getConfiguration();
-        mConfiguration.uiMode = Configuration.UI_MODE_NIGHT_UNDEFINED;
-        // Ensures the testing environment is correct.
-        assertThat(BatteryDiffEntry.sResourceCache).hasSize(1);
-        mBatteryChartPreferenceController.onResume();
-        // Changes the uiMode in the configuration.
-        mConfiguration.uiMode = Configuration.UI_MODE_NIGHT_YES;
-
-        mBatteryChartPreferenceController.onResume();
-        assertThat(BatteryDiffEntry.sResourceCache).isEmpty();
-    }
-
-    @Ignore
-    @Test
-    public void testOnResume_uiModeIsNotChanged_notClearBatteryDiffEntryCache() {
-        doReturn(mResources).when(mContext).getResources();
-        doReturn(mConfiguration).when(mResources).getConfiguration();
-        mConfiguration.uiMode = Configuration.UI_MODE_NIGHT_UNDEFINED;
-        // Ensures the testing environment is correct.
-        assertThat(BatteryDiffEntry.sResourceCache).hasSize(1);
-
-        mBatteryChartPreferenceController.onResume();
-        assertThat(BatteryDiffEntry.sResourceCache).isNotEmpty();
-        verify(mMetricsFeatureProvider)
-                .action(mContext, SettingsEnums.OPEN_BATTERY_USAGE);
-    }
-
     @Test
     public void testOnDestroy_activityIsChanging_clearBatteryEntryCache() {
         doReturn(true).when(mSettingsActivity).isChangingConfigurations();
@@ -579,12 +546,12 @@
         // Verifies the title in the preference group.
         verify(mBatteryChartPreferenceController.mAppListPrefGroup)
             .setTitle(captor.capture());
-        assertThat(captor.getValue()).isEqualTo("App usage for 4 - 7");
+        assertThat(captor.getValue()).isNotEqualTo("App usage for past 24 hr");
         // Verifies the title in the expandable divider.
         captor = ArgumentCaptor.forClass(String.class);
         verify(mBatteryChartPreferenceController.mExpandDividerPreference)
             .setTitle(captor.capture());
-        assertThat(captor.getValue()).isEqualTo("System usage for 4 - 7");
+        assertThat(captor.getValue()).isNotEqualTo("System usage for past 24 hr");
     }
 
     @Test
@@ -722,9 +689,6 @@
             new long[] {1619196786769L, 0L, 1619247636826L};
         ConvertUtils.utcToLocalTimeHour(
             mContext, /*timestamp=*/ 0, /*is24HourFormat=*/ false);
-        // Simulates the locale in GMT.
-        ConvertUtils.sSimpleDateFormatForHour
-             .setTimeZone(TimeZone.getTimeZone("GMT"));
     }
 
     private BatteryChartPreferenceController createController() {
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/BatteryChartViewTest.java b/tests/robotests/src/com/android/settings/fuelgauge/BatteryChartViewTest.java
index d19a012..0b75e79 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/BatteryChartViewTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/BatteryChartViewTest.java
@@ -33,7 +33,6 @@
 import com.android.settings.testutils.FakeFeatureFactory;
 
 import org.junit.Before;
-import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
@@ -44,7 +43,6 @@
 import java.util.Arrays;
 import java.util.ArrayList;
 import java.util.Locale;
-import java.util.TimeZone;
 
 @RunWith(RobolectricTestRunner.class)
 public final class BatteryChartViewTest {
@@ -233,21 +231,4 @@
         verify(mBatteryChartView.mHandler)
             .postDelayed(mBatteryChartView.mUpdateClickableStateRun, 500L);
     }
-
-    @Ignore
-    @Test
-    public void testSetLatestTimestamp_generateExpectedTimestamps() {
-        final long timestamp = 1619196786769L;
-        ConvertUtils.sSimpleDateFormatForHour = null;
-        // Invokes the method first to create the SimpleDateFormat.
-        ConvertUtils.utcToLocalTimeHour(
-            mContext, /*timestamp=*/ 0, /*is24HourFormat=*/ false);
-        ConvertUtils.sSimpleDateFormatForHour
-            .setTimeZone(TimeZone.getTimeZone("America/Los_Angeles"));
-        final String[] expectedTimestamps = new String[] {"00", "06", "12", "18", "00"};
-
-        mBatteryChartView.setLatestTimestamp(timestamp);
-
-        assertThat(mBatteryChartView.mTimestamps).isEqualTo(expectedTimestamps);
-    }
 }
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/ConvertUtilsTest.java b/tests/robotests/src/com/android/settings/fuelgauge/ConvertUtilsTest.java
index 0b1a1e3..8ae5048 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/ConvertUtilsTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/ConvertUtilsTest.java
@@ -30,7 +30,6 @@
 import com.android.settings.testutils.FakeFeatureFactory;
 
 import org.junit.Before;
-import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
@@ -317,71 +316,6 @@
             .isEqualTo(entry.mConsumePower * ratio);
     }
 
-    @Ignore
-    @Test
-    public void testUtcToLocalTime_returnExpectedResult() {
-        ConvertUtils.sZoneId = null;
-        ConvertUtils.sLocale = null;
-        final long timestamp = 1619196786769L;
-        final String expectedZoneId = "America/Los_Angeles";
-        ConvertUtils.sSimpleDateFormat = null;
-        // Invokes the method first to create the SimpleDateFormat.
-        ConvertUtils.utcToLocalTime(mContext, /*timestamp=*/ 0);
-        ConvertUtils.sSimpleDateFormat
-            .setTimeZone(TimeZone.getTimeZone(expectedZoneId));
-        mContext.getResources().getConfiguration().setLocales(
-            new LocaleList(new Locale("en_US")));
-
-        assertThat(ConvertUtils.utcToLocalTime(mContext, timestamp))
-            .isEqualTo("Apr 24,2021 00:53:06");
-        assertThat(ConvertUtils.sZoneId).isNotEqualTo(expectedZoneId);
-        assertThat(ConvertUtils.sLocale).isEqualTo(new Locale("en_US"));
-    }
-
-    @Ignore
-    @Test
-    public void testUtcToLocalTimeHour_12HourFormat_returnExpectedResult() {
-        ConvertUtils.sZoneIdForHour = null;
-        ConvertUtils.sLocaleForHour = null;
-        final long timestamp = 1619000086769L;
-        final String expectedZoneId = "America/Los_Angeles";
-        ConvertUtils.sSimpleDateFormatForHour = null;
-        // Invokes the method first to create the SimpleDateFormat.
-        ConvertUtils.utcToLocalTimeHour(
-            mContext, /*timestamp=*/ 0, /*is24HourFormat=*/ false);
-        ConvertUtils.sSimpleDateFormatForHour
-            .setTimeZone(TimeZone.getTimeZone(expectedZoneId));
-        mContext.getResources().getConfiguration().setLocales(
-            new LocaleList(new Locale("en_US")));
-
-        assertThat(ConvertUtils.utcToLocalTimeHour(
-            mContext, timestamp, /*is24HourFormat=*/ false)).isEqualTo("6");
-        assertThat(ConvertUtils.sZoneIdForHour).isNotEqualTo(expectedZoneId);
-        assertThat(ConvertUtils.sLocaleForHour).isEqualTo(new Locale("en_US"));
-    }
-
-    @Ignore
-    @Test
-    public void testUtcToLocalTimeHour_24HourFormat_returnExpectedResult() {
-        ConvertUtils.sZoneIdForHour = null;
-        ConvertUtils.sLocaleForHour = null;
-        final long timestamp = 1619000086769L;
-        final String expectedZoneId = "America/Los_Angeles";
-        ConvertUtils.sSimpleDateFormatForHour = null;
-        // Invokes the method first to create the SimpleDateFormat.
-        ConvertUtils.utcToLocalTimeHour(
-            mContext, /*timestamp=*/ 0, /*is24HourFormat=*/ false);
-        ConvertUtils.sSimpleDateFormatForHour
-            .setTimeZone(TimeZone.getTimeZone(expectedZoneId));
-        mContext.getResources().getConfiguration().setLocales(
-            new LocaleList(new Locale("en_US")));
-
-        assertThat(ConvertUtils.utcToLocalTimeHour(
-            mContext, timestamp, /*is24HourFormat=*/ true)).isEqualTo("18");
-        assertThat(ConvertUtils.sZoneIdForHour).isNotEqualTo(expectedZoneId);
-        assertThat(ConvertUtils.sLocaleForHour).isEqualTo(new Locale("en_US"));
-    }
-
     @Test
     public void getLocale_nullContext_returnDefaultLocale() {
         assertThat(ConvertUtils.getLocale(/*context=*/ null))
diff --git a/tests/robotests/src/com/android/settings/gestures/LabeledSeekBarPreferenceTest.java b/tests/robotests/src/com/android/settings/gestures/LabeledSeekBarPreferenceTest.java
index 4fb94f8..3d83d58 100644
--- a/tests/robotests/src/com/android/settings/gestures/LabeledSeekBarPreferenceTest.java
+++ b/tests/robotests/src/com/android/settings/gestures/LabeledSeekBarPreferenceTest.java
@@ -16,6 +16,8 @@
 
 package com.android.settings.gestures;
 
+import static com.google.common.truth.Truth.assertThat;
+
 import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.verify;
 
@@ -24,9 +26,12 @@
 import android.view.View;
 import android.widget.LinearLayout;
 import android.widget.SeekBar;
+import android.widget.TextView;
 
 import androidx.preference.Preference;
+import androidx.preference.PreferenceViewHolder;
 
+import com.android.internal.R;
 import com.android.settings.widget.LabeledSeekBarPreference;
 
 import org.junit.Before;
@@ -41,7 +46,9 @@
 public class LabeledSeekBarPreferenceTest {
 
     private Context mContext;
+    private PreferenceViewHolder mViewHolder;
     private SeekBar mSeekBar;
+    private TextView mSummary;
     private LabeledSeekBarPreference mSeekBarPreference;
 
     @Mock
@@ -57,7 +64,9 @@
         final View view =
                 inflater.inflate(mSeekBarPreference.getLayoutResource(),
                         new LinearLayout(mContext), false);
-        mSeekBar = view.findViewById(com.android.internal.R.id.seekbar);
+        mViewHolder = PreferenceViewHolder.createInstanceForTests(view);
+        mSeekBar = (SeekBar) mViewHolder.findViewById(R.id.seekbar);
+        mSummary = (TextView) mViewHolder.findViewById(R.id.summary);
     }
 
     @Test
@@ -69,4 +78,23 @@
 
         verify(mListener, times(1)).onPreferenceChange(mSeekBarPreference, 2);
     }
+
+    @Test
+    public void seekBarPreferenceSummarySet_returnsValue() {
+        final String summary = "this is a summary";
+        mSeekBarPreference.setSummary(summary);
+        mSeekBarPreference.onBindViewHolder(mViewHolder);
+
+        assertThat(mSeekBarPreference.getSummary()).isEqualTo(summary);
+        assertThat(mSummary.getText()).isEqualTo(summary);
+    }
+
+    @Test
+    public void seekBarPreferenceSummaryNull_hidesView() {
+        mSeekBarPreference.setSummary(null);
+        mSeekBarPreference.onBindViewHolder(mViewHolder);
+
+        assertThat(mSummary.getText()).isEqualTo("");
+        assertThat(mSummary.getVisibility()).isEqualTo(View.GONE);
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/gestures/LongPressPowerButtonPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/gestures/LongPressPowerButtonPreferenceControllerTest.java
index 8ff50ab..fa97754 100644
--- a/tests/robotests/src/com/android/settings/gestures/LongPressPowerButtonPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/gestures/LongPressPowerButtonPreferenceControllerTest.java
@@ -137,7 +137,7 @@
         when(mResources.getInteger(
                 com.android.internal.R.integer.config_keyChordPowerVolumeUp))
                 .thenReturn(
-                      LongPressPowerButtonPreferenceController.KEY_CHORD_POWER_VOLUME_UP_NO_ACTION);
+                     LongPressPowerButtonPreferenceController.KEY_CHORD_POWER_VOLUME_UP_NO_ACTION);
 
         verify(mController.mFooterHint).setVisible(false);
     }
@@ -148,7 +148,7 @@
 
         assertThat(Settings.Global.getInt(mContext.getContentResolver(),
                 Settings.Global.POWER_BUTTON_LONG_PRESS, -1)).isEqualTo(
-                LongPressPowerButtonPreferenceController.LONG_PRESS_POWER_ASSISTANT_VALUE);
+                PowerMenuSettingsUtils.LONG_PRESS_POWER_ASSISTANT_VALUE);
         assertThat(Settings.Global.getInt(mContext.getContentResolver(),
                 Settings.Global.KEY_CHORD_POWER_VOLUME_UP, -1)).isEqualTo(
                 LongPressPowerButtonPreferenceController.KEY_CHORD_POWER_VOLUME_UP_GLOBAL_ACTIONS);
@@ -162,19 +162,19 @@
         when(mResources.getInteger(
                 com.android.internal.R.integer.config_longPressOnPowerBehavior))
                 .thenReturn(
-                        LongPressPowerButtonPreferenceController.LONG_PRESS_POWER_GLOBAL_ACTIONS);
+                        PowerMenuSettingsUtils.LONG_PRESS_POWER_GLOBAL_ACTIONS);
 
         mController.onPreferenceChange(null, false);
 
         assertThat(Settings.Global.getInt(mContext.getContentResolver(),
                 Settings.Global.POWER_BUTTON_LONG_PRESS, -1)).isEqualTo(
-                LongPressPowerButtonPreferenceController.LONG_PRESS_POWER_GLOBAL_ACTIONS);
+                PowerMenuSettingsUtils.LONG_PRESS_POWER_GLOBAL_ACTIONS);
         assertThat(Settings.Global.getInt(mContext.getContentResolver(),
                 Settings.Global.KEY_CHORD_POWER_VOLUME_UP, -1)).isEqualTo(
                 LongPressPowerButtonPreferenceController.KEY_CHORD_POWER_VOLUME_UP_NO_ACTION);
         verify(mController.mAssistSwitch).setSummary(
                 getString(
-                       R.string.power_menu_summary_long_press_for_assist_disabled_with_power_menu));
+                      R.string.power_menu_summary_long_press_for_assist_disabled_with_power_menu));
     }
 
     @Test
@@ -203,13 +203,13 @@
         when(mResources.getInteger(
                 com.android.internal.R.integer.config_longPressOnPowerBehavior))
                 .thenReturn(
-                        LongPressPowerButtonPreferenceController.LONG_PRESS_POWER_ASSISTANT_VALUE);
+                        PowerMenuSettingsUtils.LONG_PRESS_POWER_ASSISTANT_VALUE);
 
         mController.onPreferenceChange(null, false);
 
         assertThat(Settings.Global.getInt(mContext.getContentResolver(),
                 Settings.Global.POWER_BUTTON_LONG_PRESS, -1)).isEqualTo(
-                LongPressPowerButtonPreferenceController.LONG_PRESS_POWER_GLOBAL_ACTIONS);
+                PowerMenuSettingsUtils.LONG_PRESS_POWER_GLOBAL_ACTIONS);
         assertThat(Settings.Global.getInt(mContext.getContentResolver(),
                 Settings.Global.KEY_CHORD_POWER_VOLUME_UP, -1)).isEqualTo(
                 LongPressPowerButtonPreferenceController.KEY_CHORD_POWER_VOLUME_UP_NO_ACTION);
diff --git a/tests/robotests/src/com/android/settings/gestures/LongPressPowerSensitivityPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/gestures/LongPressPowerSensitivityPreferenceControllerTest.java
new file mode 100644
index 0000000..9c99092
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/gestures/LongPressPowerSensitivityPreferenceControllerTest.java
@@ -0,0 +1,143 @@
+/*
+ * Copyright (C) 2021 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.gestures;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.when;
+
+import android.app.Application;
+import android.content.res.Resources;
+import android.provider.Settings;
+
+import androidx.test.core.app.ApplicationProvider;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.robolectric.RobolectricTestRunner;
+
+@RunWith(RobolectricTestRunner.class)
+public class LongPressPowerSensitivityPreferenceControllerTest {
+
+    private static final String KEY_LONG_PRESS_SENSITIVITY =
+            "gesture_power_menu_long_press_for_assist_sensitivity";
+
+    private static final int[] SENSITIVITY_VALUES = {250, 350, 500, 750, 850};
+
+    private Application mContext;
+    private Resources mResources;
+    private LongPressPowerSensitivityPreferenceController mController;
+
+    @Before
+    public void setUp() {
+        mContext = spy(ApplicationProvider.getApplicationContext());
+        mResources = mock(Resources.class);
+        when(mContext.getResources()).thenReturn(mResources);
+
+        when(mResources.getIntArray(
+                com.android.internal.R.array.config_longPressOnPowerDurationSettings))
+                .thenReturn(SENSITIVITY_VALUES);
+
+        mController = new LongPressPowerSensitivityPreferenceController(mContext,
+                KEY_LONG_PRESS_SENSITIVITY);
+    }
+
+    @Test
+    public void getSliderPosition_returnsDefaultValue() {
+        when(mResources.getInteger(
+                com.android.internal.R.integer.config_longPressOnPowerDurationMs))
+                .thenReturn(750);
+        assertThat(mController.getSliderPosition()).isEqualTo(3);
+    }
+
+    @Test
+    public void getSliderPosition_returnsSetValue() {
+        Settings.Global.putInt(mContext.getContentResolver(),
+                Settings.Global.POWER_BUTTON_LONG_PRESS_DURATION_MS, 350);
+        assertThat(mController.getSliderPosition()).isEqualTo(1);
+    }
+
+    @Test
+    public void setSliderPosition_setsValue() {
+        mController.setSliderPosition(4);
+        assertThat(Settings.Global.getInt(mContext.getContentResolver(),
+                Settings.Global.POWER_BUTTON_LONG_PRESS_DURATION_MS, 0)).isEqualTo(850);
+    }
+
+    @Test
+    public void setSliderPositionOutOfBounds_returnsFalse() {
+        assertThat(mController.setSliderPosition(-1)).isFalse();
+        assertThat(mController.setSliderPosition(10)).isFalse();
+    }
+
+    @Test
+    public void getMin_isZero() {
+        assertThat(mController.getMin()).isEqualTo(0);
+    }
+
+    @Test
+    public void getMax_isEqualToLastValueIndex() {
+        assertThat(mController.getMax()).isEqualTo(4);
+    }
+
+    @Test
+    public void longPressForAssistEnabled_isAvailable() {
+        Settings.Global.putInt(mContext.getContentResolver(),
+                Settings.Global.POWER_BUTTON_LONG_PRESS,
+                PowerMenuSettingsUtils.LONG_PRESS_POWER_ASSISTANT_VALUE);
+
+        assertThat(mController.getAvailabilityStatus()).isEqualTo(
+                LongPressPowerSensitivityPreferenceController.AVAILABLE);
+    }
+
+    @Test
+    public void longPressForAssistDisabled_isNotAvailableDueToDependentSetting() {
+        Settings.Global.putInt(mContext.getContentResolver(),
+                Settings.Global.POWER_BUTTON_LONG_PRESS,
+                PowerMenuSettingsUtils.LONG_PRESS_POWER_NO_ACTION);
+
+        assertThat(mController.getAvailabilityStatus()).isEqualTo(
+                LongPressPowerSensitivityPreferenceController.DISABLED_DEPENDENT_SETTING);
+    }
+
+    @Test
+    public void sensitivityValuesAreNull_notAvailable() {
+        when(mResources.getIntArray(
+                com.android.internal.R.array.config_longPressOnPowerDurationSettings))
+                .thenReturn(null);
+        mController = new LongPressPowerSensitivityPreferenceController(mContext,
+                KEY_LONG_PRESS_SENSITIVITY);
+
+        assertThat(mController.getAvailabilityStatus()).isEqualTo(
+                LongPressPowerSensitivityPreferenceController.UNSUPPORTED_ON_DEVICE);
+    }
+
+    @Test
+    public void sensitivityValuesArrayTooShort_notAvailable() {
+        when(mResources.getIntArray(
+                com.android.internal.R.array.config_longPressOnPowerDurationSettings))
+                .thenReturn(new int[]{200});
+        mController = new LongPressPowerSensitivityPreferenceController(mContext,
+                KEY_LONG_PRESS_SENSITIVITY);
+
+        assertThat(mController.getAvailabilityStatus()).isEqualTo(
+                LongPressPowerSensitivityPreferenceController.UNSUPPORTED_ON_DEVICE);
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/gestures/PowerMenuSettingsUtilsTest.java b/tests/robotests/src/com/android/settings/gestures/PowerMenuSettingsUtilsTest.java
new file mode 100644
index 0000000..25f0320
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/gestures/PowerMenuSettingsUtilsTest.java
@@ -0,0 +1,91 @@
+/*
+ * Copyright (C) 2021 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.gestures;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.when;
+
+import android.content.Context;
+import android.content.res.Resources;
+import android.provider.Settings;
+
+import androidx.test.core.app.ApplicationProvider;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.robolectric.RobolectricTestRunner;
+
+@RunWith(RobolectricTestRunner.class)
+public class PowerMenuSettingsUtilsTest {
+
+    private Context mContext;
+    private Resources mResources;
+
+    @Before
+    public void setUp() {
+        mContext = spy(ApplicationProvider.getApplicationContext());
+        mResources = mock(Resources.class);
+        when(mContext.getResources()).thenReturn(mResources);
+    }
+
+    @Test
+    public void longPressBehaviourValuePresent_returnsValue() {
+        when(mResources.getInteger(
+                com.android.internal.R.integer.config_longPressOnPowerBehavior))
+                .thenReturn(0);
+        Settings.Global.putInt(mContext.getContentResolver(),
+                Settings.Global.POWER_BUTTON_LONG_PRESS, 1);
+
+        assertThat(PowerMenuSettingsUtils.getPowerButtonSettingValue(mContext)).isEqualTo(1);
+    }
+
+    @Test
+    public void longPressBehaviourValueNotPresent_returnsDefault() {
+        when(mResources.getInteger(
+                com.android.internal.R.integer.config_longPressOnPowerBehavior))
+                .thenReturn(2);
+
+        assertThat(PowerMenuSettingsUtils.getPowerButtonSettingValue(mContext)).isEqualTo(2);
+    }
+
+    @Test
+    public void longPressBehaviourValueSetToAssistant_isAssistEnabledReturnsTrue() {
+        Settings.Global.putInt(mContext.getContentResolver(),
+                Settings.Global.POWER_BUTTON_LONG_PRESS, 5);
+        assertThat(PowerMenuSettingsUtils.isLongPressPowerForAssistEnabled(mContext)).isTrue();
+    }
+
+    @Test
+    public void longPressBehaviourValueNotSetToAssistant_isAssistEnabledReturnsFalse() {
+        Settings.Global.putInt(mContext.getContentResolver(),
+                Settings.Global.POWER_BUTTON_LONG_PRESS, 3);
+        assertThat(PowerMenuSettingsUtils.isLongPressPowerForAssistEnabled(mContext)).isFalse();
+    }
+
+    @Test
+    public void longPressBehaviourDefaultSetToAssistant_isAssistEnabledReturnsFalse() {
+        when(mResources.getInteger(
+                com.android.internal.R.integer.config_longPressOnPowerBehavior))
+                .thenReturn(3);
+
+        assertThat(PowerMenuSettingsUtils.isLongPressPowerForAssistEnabled(mContext)).isFalse();
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/notification/app/RecentConversationsPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/app/RecentConversationsPreferenceControllerTest.java
index f0ae7ab..1688d63 100644
--- a/tests/robotests/src/com/android/settings/notification/app/RecentConversationsPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/notification/app/RecentConversationsPreferenceControllerTest.java
@@ -36,6 +36,7 @@
 import android.os.Bundle;
 import android.os.UserHandle;
 import android.provider.Settings;
+import android.text.SpannedString;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.widget.LinearLayout;
@@ -338,4 +339,36 @@
         // one for the preference, none for 'clear all'
         verify(outerContainer, times(1)).addPreference(any());
     }
+
+    @Test
+    public void testSpans() {
+        ShortcutInfo si = mock(ShortcutInfo.class);
+        when(si.getLabel()).thenReturn(new SpannedString("hello"));
+        ConversationChannel ccw = new ConversationChannel(si, 6,
+                new NotificationChannel("hi", "hi", 4),
+                null, 7,
+                true /* hasactivenotifs */);
+        ShortcutInfo si2 = mock(ShortcutInfo.class);
+        when(si2.getLabel()).thenReturn("hello");
+        ConversationChannel ccw2 = new ConversationChannel(si2, 6,
+                new NotificationChannel("hi2", "hi2", 4),
+                null, 7,
+                true /* hasactivenotifs */);
+        // no crash
+        mController.mConversationComparator.compare(ccw, ccw2);
+    }
+
+    @Test
+    public void testNullSpans() {
+        ConversationChannel ccw = new ConversationChannel(mock(ShortcutInfo.class), 6,
+                new NotificationChannel("hi", "hi", 4),
+                null, 7,
+                true /* hasactivenotifs */);
+        ConversationChannel ccw2 = new ConversationChannel(mock(ShortcutInfo.class), 6,
+                new NotificationChannel("hi2", "hi2", 4),
+                null, 7,
+                true /* hasactivenotifs */);
+        // no crash
+        mController.mConversationComparator.compare(ccw, ccw2);
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/system/DisableAutomaticUpdatesPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/system/DisableAutomaticUpdatesPreferenceControllerTest.java
new file mode 100644
index 0000000..db8486e
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/system/DisableAutomaticUpdatesPreferenceControllerTest.java
@@ -0,0 +1,102 @@
+/*
+ * Copyright (C) 2021 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.system;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import android.content.Context;
+import android.provider.Settings;
+
+import androidx.preference.PreferenceScreen;
+import androidx.preference.SwitchPreference;
+
+import com.android.settings.core.BasePreferenceController;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.RuntimeEnvironment;
+
+@RunWith(RobolectricTestRunner.class)
+public class DisableAutomaticUpdatesPreferenceControllerTest {
+
+    @Mock
+    private PreferenceScreen mPreferenceScreen;
+    @Mock
+    private SwitchPreference mPreference;
+
+    private Context mContext;
+    private DisableAutomaticUpdatesPreferenceController mController;
+
+    @Before
+    public void setup() {
+        MockitoAnnotations.initMocks(this);
+        mContext = RuntimeEnvironment.application;
+        mController = new DisableAutomaticUpdatesPreferenceController(mContext, "test");
+    }
+
+    @Test
+    public void getAvailabilityStatus_shouldReturnAVAILABLE() {
+        assertThat(mController.getAvailabilityStatus()).isEqualTo(
+                BasePreferenceController.AVAILABLE);
+    }
+
+    @Test
+    public void isChecked_valueIsZeroInProvider_shouldReturnTrue() {
+        Settings.Global.putInt(mContext.getContentResolver(),
+                Settings.Global.OTA_DISABLE_AUTOMATIC_UPDATE,
+                DisableAutomaticUpdatesPreferenceController.ENABLE_UPDATES_SETTING);
+
+        assertThat(mController.isChecked()).isTrue();
+    }
+
+    @Test
+    public void isChecked_valueIsOneInProvider_shouldReturnFalse() {
+        Settings.Global.putInt(mContext.getContentResolver(),
+                Settings.Global.OTA_DISABLE_AUTOMATIC_UPDATE,
+                DisableAutomaticUpdatesPreferenceController.DISABLE_UPDATES_SETTING);
+
+        assertThat(mController.isChecked()).isFalse();
+    }
+
+    @Test
+    public void setChecked_true_providerValueIsZero() {
+        mController.setChecked(true);
+
+        int value = Settings.Global.getInt(mContext.getContentResolver(),
+                Settings.Global.OTA_DISABLE_AUTOMATIC_UPDATE,
+                DisableAutomaticUpdatesPreferenceController.ENABLE_UPDATES_SETTING /* default */);
+
+        assertThat(value).isEqualTo(
+                DisableAutomaticUpdatesPreferenceController.ENABLE_UPDATES_SETTING);
+    }
+
+    @Test
+    public void setChecked_false_providerValueIsOne() {
+        mController.setChecked(false);
+
+        int value = Settings.Global.getInt(mContext.getContentResolver(),
+                Settings.Global.OTA_DISABLE_AUTOMATIC_UPDATE,
+                DisableAutomaticUpdatesPreferenceController.ENABLE_UPDATES_SETTING /* default */);
+
+        assertThat(value).isEqualTo(
+                DisableAutomaticUpdatesPreferenceController.DISABLE_UPDATES_SETTING);
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/wifi/details2/WifiNetworkDetailsFragment2Test.java b/tests/robotests/src/com/android/settings/wifi/details/WifiNetworkDetailsFragmentTest.java
similarity index 91%
rename from tests/robotests/src/com/android/settings/wifi/details2/WifiNetworkDetailsFragment2Test.java
rename to tests/robotests/src/com/android/settings/wifi/details/WifiNetworkDetailsFragmentTest.java
index fdd6295a..4f74254 100644
--- a/tests/robotests/src/com/android/settings/wifi/details2/WifiNetworkDetailsFragment2Test.java
+++ b/tests/robotests/src/com/android/settings/wifi/details/WifiNetworkDetailsFragmentTest.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2020 The Android Open Source Project
+ * Copyright (C) 2021 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.settings.wifi.details2;
+package com.android.settings.wifi.details;
 
 import static com.android.settings.wifi.WifiSettings.WIFI_DIALOG_ID;
 
@@ -54,9 +54,9 @@
 import java.util.ArrayList;
 
 @RunWith(RobolectricTestRunner.class)
-public class WifiNetworkDetailsFragment2Test {
+public class WifiNetworkDetailsFragmentTest {
 
-    final String TEST_PREFERENCE_KEY = "TEST_PREFERENCE_KEY";
+    private static final String TEST_PREFERENCE_KEY = "TEST_PREFERENCE_KEY";
 
     @Mock
     WifiEntry mWifiEntry;
@@ -64,7 +64,7 @@
     NetworkDetailsTracker mNetworkDetailsTracker;
     @Mock
     Menu mMenu;
-    private WifiNetworkDetailsFragment2 mFragment;
+    private WifiNetworkDetailsFragment mFragment;
 
     @Before
     public void setUp() {
@@ -72,7 +72,7 @@
         doReturn(mWifiEntry).when(mNetworkDetailsTracker).getWifiEntry();
         doReturn(true).when(mWifiEntry).isSaved();
 
-        mFragment = new WifiNetworkDetailsFragment2();
+        mFragment = new WifiNetworkDetailsFragment();
         mFragment.mNetworkDetailsTracker = mNetworkDetailsTracker;
     }
 
@@ -165,8 +165,8 @@
         verify(controller).displayPreference(screen);
     }
 
-    // Fake WifiNetworkDetailsFragment2 to override the protected method as public.
-    public class FakeFragment extends WifiNetworkDetailsFragment2 {
+    // Fake WifiNetworkDetailsFragment to override the protected method as public.
+    public static class FakeFragment extends WifiNetworkDetailsFragment {
 
         @Override
         public void addPreferenceController(AbstractPreferenceController controller) {
@@ -179,7 +179,7 @@
         }
     }
 
-    public class TestController extends BasePreferenceController {
+    public static class TestController extends BasePreferenceController {
 
         public TestController() {
             super(RuntimeEnvironment.application, TEST_PREFERENCE_KEY);
diff --git a/tests/robotests/src/com/android/settings/wifi/details2/WifiDetailPreferenceController2Test.java b/tests/robotests/src/com/android/settings/wifi/details2/WifiDetailPreferenceController2Test.java
index 7354d85..6a098bc 100644
--- a/tests/robotests/src/com/android/settings/wifi/details2/WifiDetailPreferenceController2Test.java
+++ b/tests/robotests/src/com/android/settings/wifi/details2/WifiDetailPreferenceController2Test.java
@@ -76,6 +76,7 @@
 import com.android.settings.testutils.shadow.ShadowDevicePolicyManager;
 import com.android.settings.testutils.shadow.ShadowEntityHeaderController;
 import com.android.settings.widget.EntityHeaderController;
+import com.android.settings.wifi.details.WifiNetworkDetailsFragment;
 import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
 import com.android.settingslib.core.lifecycle.Lifecycle;
 import com.android.settingslib.utils.StringUtil;
@@ -145,7 +146,7 @@
     @Mock
     private WifiInfo mMockWifiInfo;
     @Mock
-    private WifiNetworkDetailsFragment2 mMockFragment;
+    private WifiNetworkDetailsFragment mMockFragment;
     @Mock
     private WifiManager mMockWifiManager;
     @Mock
diff --git a/tests/unit/src/com/android/settings/display/ColorModePreferenceFragmentTest.java b/tests/unit/src/com/android/settings/display/ColorModePreferenceFragmentTest.java
index cfdedc7..450525c 100644
--- a/tests/unit/src/com/android/settings/display/ColorModePreferenceFragmentTest.java
+++ b/tests/unit/src/com/android/settings/display/ColorModePreferenceFragmentTest.java
@@ -39,6 +39,7 @@
 import org.junit.Test;
 import org.junit.runner.RunWith;
 
+import java.util.ArrayList;
 import java.util.List;
 
 @RunWith(AndroidJUnit4.class)
@@ -232,4 +233,15 @@
 
         verify(mFragment).setColorMode(ColorDisplayManager.COLOR_MODE_AUTOMATIC);
     }
+
+    @Test
+    @UiThreadTest
+    public void checkViewPagerTotalCount() throws Throwable {
+        final ArrayList<Integer> viewPagerResList = mFragment.getViewPagerResource();
+
+        assertThat(viewPagerResList.size()).isEqualTo(3);
+        for (int idx = 0; idx < viewPagerResList.size(); idx++) {
+            assertThat(viewPagerResList.get(idx) > 0).isTrue();
+        }
+    }
 }
diff --git a/tests/unit/src/com/android/settings/panel/InternetConnectivityPanelTest.java b/tests/unit/src/com/android/settings/panel/InternetConnectivityPanelTest.java
deleted file mode 100644
index 30a2729..0000000
--- a/tests/unit/src/com/android/settings/panel/InternetConnectivityPanelTest.java
+++ /dev/null
@@ -1,341 +0,0 @@
-/*
- * Copyright (C) 2021 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.panel;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import static org.mockito.Mockito.clearInvocations;
-import static org.mockito.Mockito.doReturn;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.spy;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
-import android.content.Context;
-import android.net.Uri;
-import android.net.wifi.ScanResult;
-import android.net.wifi.WifiManager;
-import android.os.Handler;
-
-import androidx.test.core.app.ApplicationProvider;
-import androidx.test.ext.junit.runners.AndroidJUnit4;
-
-import com.android.settings.network.AirplaneModePreferenceController;
-import com.android.settings.network.InternetUpdater;
-import com.android.settings.network.ProviderModelSliceHelper;
-import com.android.settings.slices.CustomSliceRegistry;
-import com.android.settings.testutils.ResourcesUtils;
-
-import org.junit.Before;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.Mock;
-import org.mockito.junit.MockitoJUnit;
-import org.mockito.junit.MockitoRule;
-
-import java.util.ArrayList;
-import java.util.List;
-
-@RunWith(AndroidJUnit4.class)
-public class InternetConnectivityPanelTest {
-
-    public static final String TITLE_INTERNET = ResourcesUtils.getResourcesString(
-            ApplicationProvider.getApplicationContext(), "provider_internet_settings");
-    public static final String TITLE_APM = ResourcesUtils.getResourcesString(
-            ApplicationProvider.getApplicationContext(), "airplane_mode");
-    public static final String SUBTITLE_TEXT_WIFI_IS_OFF =
-            ResourcesUtils.getResourcesString(ApplicationProvider.getApplicationContext(),
-                    "wifi_is_off");
-    public static final String SUBTITLE_TEXT_TAP_A_NETWORK_TO_CONNECT =
-            ResourcesUtils.getResourcesString(ApplicationProvider.getApplicationContext(),
-                    "tap_a_network_to_connect");
-    public static final String SUBTITLE_NON_CARRIER_NETWORK_UNAVAILABLE =
-            ResourcesUtils.getResourcesString(ApplicationProvider.getApplicationContext(),
-                    "non_carrier_network_unavailable");
-    public static final String SUBTITLE_ALL_NETWORK_UNAVAILABLE =
-            ResourcesUtils.getResourcesString(ApplicationProvider.getApplicationContext(),
-                    "all_network_unavailable");
-    public static final String BUTTON_TURN_ON_WIFI = ResourcesUtils.getResourcesString(
-            ApplicationProvider.getApplicationContext(), "turn_on_wifi");
-    public static final String BUTTON_TURN_OFF_WIFI = ResourcesUtils.getResourcesString(
-            ApplicationProvider.getApplicationContext(), "turn_off_wifi");
-
-    @Rule
-    public final MockitoRule mMocks = MockitoJUnit.rule();
-    @Mock
-    Handler mMainThreadHandler;
-    @Mock
-    PanelContentCallback mPanelContentCallback;
-    @Mock
-    InternetUpdater mInternetUpdater;
-    @Mock
-    private WifiManager mWifiManager;
-    @Mock
-    private ProviderModelSliceHelper mProviderModelSliceHelper;
-
-    private Context mContext;
-    private FakeHandlerInjector mFakeHandlerInjector;
-    private InternetConnectivityPanel mPanel;
-
-    private class FakeHandlerInjector extends InternetConnectivityPanel.HandlerInjector {
-
-        private Runnable mRunnable;
-
-        FakeHandlerInjector(Context context) {
-            super(context);
-        }
-
-        @Override
-        public void postDelay(Runnable runnable) {
-            mRunnable = runnable;
-        }
-
-        public Runnable getRunnable() {
-            return mRunnable;
-        }
-    }
-
-    @Before
-    public void setUp() {
-        mContext = spy(ApplicationProvider.getApplicationContext());
-        mFakeHandlerInjector = new FakeHandlerInjector(mContext);
-        when(mContext.getApplicationContext()).thenReturn(mContext);
-        when(mContext.getMainThreadHandler()).thenReturn(mMainThreadHandler);
-        when(mContext.getSystemService(WifiManager.class)).thenReturn(mWifiManager);
-
-        mPanel = InternetConnectivityPanel.create(mContext);
-        mPanel.registerCallback(mPanelContentCallback);
-        mPanel.mIsProviderModelEnabled = true;
-        mPanel.mInternetUpdater = mInternetUpdater;
-        mPanel.mProviderModelSliceHelper = mProviderModelSliceHelper;
-        mPanel.mHandlerInjector = mFakeHandlerInjector;
-    }
-
-    @Test
-    public void getTitle_apmOff_shouldBeInternet() {
-        doReturn(false).when(mInternetUpdater).isAirplaneModeOn();
-
-        assertThat(mPanel.getTitle()).isEqualTo(TITLE_INTERNET);
-    }
-
-    @Test
-    public void getTitle_apmOn_shouldBeApm() {
-        doReturn(true).when(mInternetUpdater).isAirplaneModeOn();
-
-        assertThat(mPanel.getTitle()).isEqualTo(TITLE_APM);
-    }
-
-    @Test
-    public void getSubTitle_apmOnWifiOff_shouldBeNull() {
-        doReturn(true).when(mInternetUpdater).isAirplaneModeOn();
-        doReturn(false).when(mInternetUpdater).isWifiEnabled();
-
-        assertThat(mPanel.getSubTitle()).isNull();
-    }
-
-    @Test
-    public void getSubTitle_apmOnWifiOn_shouldBeNull() {
-        doReturn(true).when(mInternetUpdater).isAirplaneModeOn();
-        doReturn(true).when(mInternetUpdater).isWifiEnabled();
-
-        assertThat(mPanel.getSubTitle()).isNull();
-    }
-
-    @Test
-    public void getSubTitle_apmOffWifiOff_wifiIsOn() {
-        doReturn(false).when(mInternetUpdater).isAirplaneModeOn();
-        doReturn(false).when(mInternetUpdater).isWifiEnabled();
-
-        mPanel.updatePanelTitle();
-
-        assertThat(mPanel.getSubTitle()).isEqualTo(SUBTITLE_TEXT_WIFI_IS_OFF);
-    }
-
-    @Test
-    public void getSubTitle_apmOffWifiOnNoWifiListHasCarrierData_NonCarrierNetworkUnavailable() {
-        List wifiList = new ArrayList<ScanResult>();
-        mockCondition(false, true, true, true, true, true, wifiList);
-
-        mPanel.updatePanelTitle();
-
-        assertThat(mPanel.getSubTitle()).isEqualTo(SUBTITLE_NON_CARRIER_NETWORK_UNAVAILABLE);
-    }
-
-    @Test
-    public void getSubTitle_apmOffWifiOnNoWifiListNoCarrierItem_AllNetworkUnavailable() {
-        List wifiList = new ArrayList<ScanResult>();
-        mockCondition(false, false, false, false, false, true, wifiList);
-
-        mPanel.updatePanelTitle();
-
-        assertThat(mPanel.getSubTitle()).isEqualTo(SUBTITLE_ALL_NETWORK_UNAVAILABLE);
-    }
-
-    @Test
-    public void getSubTitle_apmOffWifiOnNoWifiListNoDataSimActive_AllNetworkUnavailable() {
-        List wifiList = new ArrayList<ScanResult>();
-        mockCondition(false, true, false, true, true, true, wifiList);
-
-        mPanel.updatePanelTitle();
-
-        assertThat(mPanel.getSubTitle()).isEqualTo(SUBTITLE_ALL_NETWORK_UNAVAILABLE);
-    }
-
-    @Test
-    public void getSubTitle_apmOffWifiOnNoWifiListNoService_AllNetworkUnavailable() {
-        List wifiList = new ArrayList<ScanResult>();
-        mockCondition(false, true, false, true, false, true, wifiList);
-
-        mPanel.updatePanelTitle();
-
-        assertThat(mPanel.getSubTitle()).isEqualTo(SUBTITLE_ALL_NETWORK_UNAVAILABLE);
-    }
-
-    @Test
-    public void getSubTitle_apmOffWifiOnTwoWifiItemsNoCarrierData_tapANetworkToConnect() {
-        List wifiList = new ArrayList<ScanResult>();
-        wifiList.add(new ScanResult());
-        wifiList.add(new ScanResult());
-        mockCondition(false, true, false, true, true, true, wifiList);
-
-        mPanel.updatePanelTitle();
-
-        assertThat(mPanel.getSubTitle()).isEqualTo(SUBTITLE_TEXT_TAP_A_NETWORK_TO_CONNECT);
-    }
-
-    @Test
-    public void getSlices_providerModelDisabled_containsNecessarySlices() {
-        mPanel.mIsProviderModelEnabled = false;
-        List<Uri> uris = mPanel.getSlices();
-
-        assertThat(uris).containsExactly(
-                AirplaneModePreferenceController.SLICE_URI,
-                CustomSliceRegistry.MOBILE_DATA_SLICE_URI,
-                CustomSliceRegistry.WIFI_SLICE_URI);
-    }
-
-    @Test
-    public void getSlices_providerModelEnabled_containsNecessarySlices() {
-        List<Uri> uris = mPanel.getSlices();
-
-        assertThat(uris).containsExactly(CustomSliceRegistry.PROVIDER_MODEL_SLICE_URI);
-    }
-
-    @Test
-    public void getSeeMoreIntent_providerModelDisabled_shouldNotNull() {
-        mPanel.mIsProviderModelEnabled = false;
-
-        assertThat(mPanel.getSeeMoreIntent()).isNotNull();
-    }
-
-    @Test
-    public void getSeeMoreIntent_providerModelEnabled_shouldBeNull() {
-        mPanel.mIsProviderModelEnabled = true;
-
-        assertThat(mPanel.getSeeMoreIntent()).isNull();
-    }
-
-    @Test
-    public void updatePanelTitle_onHeaderChanged() {
-        clearInvocations(mPanelContentCallback);
-
-        mPanel.updatePanelTitle();
-
-        verify(mPanelContentCallback).onHeaderChanged();
-    }
-
-    @Test
-    public void updateProgressBar_wifiDisabled_hideProgress() {
-        mPanel.mIsProgressBarVisible = true;
-        doReturn(false).when(mInternetUpdater).isWifiEnabled();
-        clearInvocations(mPanelContentCallback);
-
-        mPanel.updateProgressBar();
-
-        assertThat(mPanel.isProgressBarVisible()).isFalse();
-        verify(mPanelContentCallback).onProgressBarVisibleChanged();
-    }
-
-    @Test
-    public void updateProgressBar_noWifiScanResults_showProgressForever() {
-        mPanel.mIsScanningSubTitleShownOnce = false;
-        mPanel.mIsProgressBarVisible = false;
-        doReturn(true).when(mInternetUpdater).isWifiEnabled();
-        List<ScanResult> noWifiScanResults = new ArrayList<>();
-        doReturn(noWifiScanResults).when(mWifiManager).getScanResults();
-        clearInvocations(mPanelContentCallback);
-
-        mPanel.updateProgressBar();
-
-        assertThat(mPanel.mIsProgressBarVisible).isTrue();
-        verify(mPanelContentCallback).onProgressBarVisibleChanged();
-        verify(mPanelContentCallback).onHeaderChanged();
-
-        assertThat(mFakeHandlerInjector.getRunnable())
-                .isEqualTo(mPanel.mHideScanningSubTitleRunnable);
-        mFakeHandlerInjector.getRunnable().run();
-        assertThat(mPanel.mIsScanningSubTitleShownOnce).isTrue();
-        assertThat(mPanel.mIsProgressBarVisible).isTrue();
-    }
-
-    @Test
-    public void updateProgressBar_hasWifiScanResults_showProgressDelayedHide() {
-        mPanel.mIsProgressBarVisible = false;
-        doReturn(true).when(mInternetUpdater).isWifiEnabled();
-        List<ScanResult> hasWifiScanResults = mock(ArrayList.class);
-        doReturn(1).when(hasWifiScanResults).size();
-        doReturn(hasWifiScanResults).when(mWifiManager).getScanResults();
-        clearInvocations(mPanelContentCallback);
-
-        mPanel.updateProgressBar();
-
-        assertThat(mPanel.isProgressBarVisible()).isTrue();
-        verify(mPanelContentCallback).onProgressBarVisibleChanged();
-
-        assertThat(mFakeHandlerInjector.getRunnable())
-                .isEqualTo(mPanel.mHideProgressBarRunnable);
-        mFakeHandlerInjector.getRunnable().run();
-        assertThat(mPanel.mIsProgressBarVisible).isFalse();
-    }
-
-    @Test
-    public void setProgressBarVisible_onProgressBarVisibleChanged() {
-        mPanel.mIsProgressBarVisible = false;
-        doReturn(true).when(mInternetUpdater).isWifiEnabled();
-        clearInvocations(mPanelContentCallback);
-
-        mPanel.setProgressBarVisible(true);
-
-        assertThat(mPanel.mIsProgressBarVisible).isTrue();
-        verify(mPanelContentCallback).onProgressBarVisibleChanged();
-        verify(mPanelContentCallback).onHeaderChanged();
-    }
-
-    private void mockCondition(boolean airplaneMode, boolean hasCarrier,
-            boolean isDataSimActive, boolean isMobileDataEnabled, boolean isServiceInService,
-            boolean isWifiEnabled, List<ScanResult> wifiItems) {
-        doReturn(airplaneMode).when(mInternetUpdater).isAirplaneModeOn();
-        when(mProviderModelSliceHelper.hasCarrier()).thenReturn(hasCarrier);
-        when(mProviderModelSliceHelper.isDataSimActive()).thenReturn(isDataSimActive);
-        when(mProviderModelSliceHelper.isMobileDataEnabled()).thenReturn(isMobileDataEnabled);
-        when(mProviderModelSliceHelper.isDataStateInService()).thenReturn(isServiceInService);
-        when(mProviderModelSliceHelper.isVoiceStateInService()).thenReturn(isServiceInService);
-        doReturn(isWifiEnabled).when(mInternetUpdater).isWifiEnabled();
-        doReturn(wifiItems).when(mWifiManager).getScanResults();
-    }
-}
diff --git a/tests/unit/src/com/android/settings/panel/PanelFeatureProviderImplTest.java b/tests/unit/src/com/android/settings/panel/PanelFeatureProviderImplTest.java
index 3b61a73..a02c054 100644
--- a/tests/unit/src/com/android/settings/panel/PanelFeatureProviderImplTest.java
+++ b/tests/unit/src/com/android/settings/panel/PanelFeatureProviderImplTest.java
@@ -20,7 +20,12 @@
 
 import static com.google.common.truth.Truth.assertThat;
 
+import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.verify;
+
 import android.content.Context;
+import android.content.Intent;
 import android.os.Bundle;
 import android.provider.Settings;
 
@@ -36,25 +41,28 @@
 
     private static final String TEST_PACKAGENAME = "com.test.packagename";
 
+    private static final String SYSTEMUI_PACKAGE_NAME = "com.android.systemui";
     private Context mContext;
     private PanelFeatureProviderImpl mProvider;
     private Bundle mBundle;
 
     @Before
     public void setUp() {
-        mContext = ApplicationProvider.getApplicationContext();
+        mContext = spy(ApplicationProvider.getApplicationContext());
         mProvider = new PanelFeatureProviderImpl();
         mBundle = new Bundle();
         mBundle.putString(KEY_MEDIA_PACKAGE_NAME, TEST_PACKAGENAME);
     }
 
     @Test
-    public void getPanel_internetConnectivityKey_returnsCorrectPanel() {
+    public void getPanel_internetConnectivityKey_sendsCorrectBroadcast() {
         mBundle.putString(KEY_PANEL_TYPE_ARGUMENT, Settings.Panel.ACTION_INTERNET_CONNECTIVITY);
+        mProvider.getPanel(mContext, mBundle);
+        Intent intent = new Intent(Settings.Panel.ACTION_INTERNET_CONNECTIVITY);
+        intent.addFlags(Intent.FLAG_RECEIVER_FOREGROUND)
+                .setPackage(SYSTEMUI_PACKAGE_NAME);
 
-        final PanelContent panel = mProvider.getPanel(mContext, mBundle);
-
-        assertThat(panel).isInstanceOf(InternetConnectivityPanel.class);
+        verify(mContext, never()).sendBroadcast(intent);
     }
 
     @Test
